{"version":3,"sources":["webpack:///./src/stories/Components/Content/WYSIWYG/WYSIWYG.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Shared.styles.ts","webpack:///./src/hooks/useMedia.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/InfoIcon/InfoIcon.styles.ts","webpack:///./src/hoc/withMotionMax.tsx","webpack:///./src/stories/Components/Global/Typography/Heading.styles.ts","webpack:///./src/helpers/mediaComponent.tsx","webpack:///./src/stories/Components/Global/Typography/Paragraph.styles.ts","webpack:///./src/img/ysp/ys-no-strapline.png","webpack:///./src/helpers/global.ts","webpack:///./src/img/icons/chevron-down.svg","webpack:///./src/stories/Components/Misc/Loader/Loader.styles.ts","webpack:///./src/img/icons/chevron-right.svg","webpack:///./src/hoc/withMotion.tsx","webpack:///./src/helpers/fonts.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Context/types.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Context/reducer.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Context/YSContext.tsx","webpack:///./src/img/ysp/icon-cross.svg","webpack:///./src/img/ysp/ysp-header-logo.png","webpack:///./src/stories/Widgets/YourSolution/YS/Components/StepFooter/StepFooter.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Modal/EngineerCheck/EngineerCheck.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Modal/EngineerCheck/EngineerCheck.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Modal/Modal.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Modal/Modal.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/StepHeader/StepHeader.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/StepHeader/StepHeader.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/StepPicker/StepPicker.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/StepPicker/StepPicker.tsx","webpack:///./src/img/ysp/icon-info.svg","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Loading/Loading.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Loading/Loading.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/StepLoading/StepLoading.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/StepLoading/StepLoading.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Controls/Radios/Radios.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Controls/Radios/Radios.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Shared/Form.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/InfoIcon/InfoIcon.tsx","webpack:///./src/img/ysp/groundwater-ground.svg","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Conditions/Groundwater/Groundwater.styles.ts","webpack:///./src/img/ysp/groundwater-water.svg","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Conditions/Groundwater/Groundwater.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Conditions/GroundwaterDepth/GroundwaterDepth.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/SoilProfiles/InlineNumericalInput/InlineNumericalInput.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/SoilProfiles/InlineNumericalInput/InlineNumericalInput.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Conditions/GroundwaterDepth/GroundwaterDepth.tsx","webpack:///./src/img/ysp/materials/loose-ground.png","webpack:///./src/img/ysp/materials/soft-clay.png","webpack:///./src/img/ysp/materials/loose-sand.png","webpack:///./src/img/ysp/materials/peat.png","webpack:///./src/img/ysp/materials/silt.png","webpack:///./src/img/ysp/materials/loose-gravel.png","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Conditions/ProblematicGround/ProblematicGround.tsx","webpack:///./src/img/ysp/materials/road.png","webpack:///./src/img/ysp/materials/dense-sand.png","webpack:///./src/img/ysp/materials/rock.png","webpack:///./src/img/ysp/materials/cohesive-fill.png","webpack:///./src/img/ysp/materials/stiff-clay.png","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Conditions/SoilTypes/SoilTypes.tsx","webpack:///./src/img/ysp/icon-point.svg","webpack:///./src/img/ysp/icon-check.svg","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Depth/Depth.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Controls/Checkbox/Checkbox.styles.ts","webpack:///./src/img/icons/close-white.svg","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Controls/Checkbox/Checkbox.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Controls/Toggle/Toggle.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Controls/Toggle/Toggle.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/SoilProfiles/SoilInfoTable/SoilInfoTable.styles.ts","webpack:///./src/img/ysp/reset-thick.svg","webpack:///./src/img/icons/plus-thick.svg","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Shared/YSButton/YSButton.styles.ts","webpack:///./src/img/ysp/icon-check-circle-fill.svg","webpack:///./src/img/ysp/icon-phone.svg","webpack:///./src/img/ysp/icon-mail.svg","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Shared/YSButton/YSButton.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Shared/NumberInput/NumberInput.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Shared/NumberInput/NumberInput.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/SoilProfiles/SoilInfoTable/SoilInfoTable.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Depth/Depth.tsx","webpack:///./src/img/ysp/icon-avatar.svg","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Controls/Textbox/Textbox.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Details/Details.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Details/Details.tsx","webpack:///./src/img/ysp/icon-grass.svg","webpack:///./src/img/icons/map.svg","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Dimensions/Dimensions.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Dimensions/Dimensions.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Landing/Landing.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Landing/Landing.tsx","webpack:///./src/img/ysp/icon-watercourse.svg","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Location/Location.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/NoSolutions/NoSolutions.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/NoSolutions/NoSolutions.tsx","webpack:///./src/helpers/ysToYsp.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Solutions/Solutions.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Solutions/Solutions.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Controls/Boxes/Boxes.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Controls/Boxes/Boxes.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Support/SheetedSolution/SheetedSolution.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Support/System/System.tsx","webpack:///./src/img/ysp/icon-slope.svg","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Surcharges/AdjacentWater/AdjacentWater.tsx","webpack:///./src/img/ysp/surcharges/embankments.png","webpack:///./src/img/ysp/surcharges/building.png","webpack:///./src/img/ysp/surcharges/crane.png","webpack:///./src/img/ysp/surcharges/railway.png","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Surcharges/LargeSurcharges/LargeSurcharges.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Surcharges/SlopingGround/SlopingGround.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Type/Type.tsx","webpack:///./src/img/ysp/endsafe.png","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/EndSafePanels/EndSafePanels.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/EndSafeSides/EndSafeSides.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Modal/ConfirmModal.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/SoilProfiles/SoilTypeDropdown/SoilTypeDropdown.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/SoilProfiles/SoilProfiles.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/SoilProfiles/SoilTypeDropdown/SoilTypeDropdown.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/SoilProfiles/SoilVisualiser/SoilVisualiser.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/SoilProfiles/SoilVisualiser/SoilVisualiser.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/SoilProfiles/SoilProfiles.tsx","webpack:///./src/img/ysp/tick-unbound.svg","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Controls/Dropdown/Dropdown.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/SoilProfiles/SoilSource/SoilSource.styles.ts","webpack:///./src/img/ysp/warning-unbound.svg","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Controls/Dropdown/Dropdown.tsx","webpack:///./src/img/icons/caret.svg","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/SoilProfiles/SoilSource/SoilSource.tsx","webpack:///./src/img/ysp/icon-check-circle.svg","webpack:///./src/img/ysp/restart.svg","webpack:///./src/img/ysp/tick.svg","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Solutions/YSP/Graph/Graph.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Solutions/YSP/Chart/Chart.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Solutions/YSP/Chart/Chart.tsx","webpack:///./src/img/ysp/zoom.svg","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Solutions/YSP/Graph/Graph.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Solutions/YSP/ZoomImage/ZoomImage.styles.ts","webpack:///./src/img/ysp/zoom-out.svg","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Solutions/YSP/ZoomImage/ZoomImage.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Solutions/YSP/Solution/Solution.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Solutions/YSP/Summary/Summary.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Solutions/YSP/Solution/Solution.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Solutions/YSP/Summary/Summary.tsx","webpack:///./src/img/ysp/warning.svg","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Solutions/YSP/YSPSolutions.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Solutions/YSP/YSPSolutions.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Surcharges/SurchargeDetails/SurchargeDetails.styles.ts","webpack:///./src/img/ysp/edit.svg","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Surcharges/SurchargeDetails/SurchargesTable/SurchargesTable.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Surcharges/SurchargeDetails/SurchargesTable/SurchargesTable.tsx","webpack:///./src/img/ysp/surcharges/road.svg","webpack:///./src/img/ysp/surcharges/building.svg","webpack:///./src/img/ysp/surcharges/crane.svg","webpack:///./src/img/ysp/surcharges/material.svg","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/Surcharges/SurchargeDetails/SurchargeDetails.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/TermsAndConditions/TermsAndConditions.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Steps/TermsAndConditions/TermsAndConditions.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/Components/StepRouter/dummy.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/StepRouter/StepRouter.tsx","webpack:///./src/img/ysp/ysp-bg.svg","webpack:///./src/img/icons/restart.svg","webpack:///./src/stories/Widgets/YourSolution/YS/YourSolution.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/BackToMainSite/BackToMainSite.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/BackToMainSite/BackToMainSite.tsx","webpack:///./src/img/ysp/home.svg","webpack:///./src/stories/Widgets/YourSolution/YS/Components/StepFooter/StepFooter.tsx","webpack:///./src/img/ysp/ys-strapline.png","webpack:///./src/img/ysp/ysp-header-logo-crop.png","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Tabs/Tabs.styles.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Tabs/Tabs.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/YourSolution.tsx","webpack:///./src/stories/Widgets/YourSolution/YS/YourSolutionRoot.widget.tsx","webpack:///./src/stories/Components/Misc/Loader/Loader.tsx","webpack:///./src/helpers/cloudinary.ts","webpack:///./src/stories/Widgets/YourSolution/YS/Components/Shared/Step.styles.ts","webpack:///./src/helpers/srOnly.ts"],"names":["WYSIWYGStyles","Wrapper","styled","div","HeadingStyles","H5Styles","brand","primary","alt","ParagraphStyles","RegularStyles","grey","grey35","grey96","from","Device","DesktopLarge","black","grey44","fonts","DaxPro","Bold","white","Box","figure","Tablet","invalid","css","BoxInner","red","base","active","light","BoxState","BoxMedia","BoxLabel","label","grey20","ButtonStyles","Regular","TabletLarge","until","grey40","Button","button","attrs","type","restart","prev","next","Question","m","section","initial","animate","exit","variants","hidden","opacity","visible","transition","duration","Avatar","BoxInfo","Materials","desktop","mobile","MaterialContainer","Material","MaterialMedia","large","MaterialLabel","MaterialTitle","Icon","CenterText","p","TitleWithInfoIcon","InfoIconStyles","Container","SharedStyles","useMedia","queries","values","defaultValue","isSSR","mediaQueryLists","map","query","window","matchMedia","getValue","index","findIndex","mql","matches","useState","value","setValue","useEffect","handler","forEach","addListener","removeListener","InfoIcon","whileTap","whileHover","tap","scale","hover","withMotionMax","WrappedComponent","displayName","name","ComponentWithMotionMax","props","React","createElement","LazyMotion","features","domMax","strict","H1Styles","H2Styles","H3Styles","H4Styles","DesktopSmall","H6Styles","Heading","h1","visual","MediaComponentStyles","$mobile","$desktop","MediaComponent","children","rest","LargeStyles","SmallStyles","Paragraph","isLatestNewsWidget","align","size","ButtonReset","_path","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","SvgChevronDown","xmlns","viewBox","d","fill","stroke","strokeLinecap","strokeLinejoin","strokeWidth","loadAnimation","keyframes","Loader","LoaderStyles","ContainerInner","SvgChevronRight","withMotion","ComponentWithMotion","domAnimation","BoldItalic","Medium","SlightlyLessThanMedium","RegularItalic","Light","SupportType","SolutionType","SolutionSubType","SoilType","StepID","SupportStepID","ConditionStepID","SurchargeStepID","DimensionsStepID","SoilGroundConditionsStepID","OptionalType","Tab","EndSafeSide","SoilInfoSource","YourSolutionProgression","id","step","Landing","title","Details","Location","Depth","Dimensions","System","SheetedSolution","optional","Type","ProblematicGround","GroundWater","GroundWaterDepth","Groundwater","LargeSurcharge","SlopingGround","AdjacentWater","Solutions","YourSolutionPlusProgression","TermsAndConditions","Size","EndSafePanels","EndSafeSides","EndSafe","SoilProfiles","SoilInformationSource","GroundwaterDepth","ZoneOfInfluence","Surcharges","SelectedSolution","getInitialState","initialState","cultureCode","technicalLibraryUrl","yourSolutionUrl","modal","undefined","steps","conditionStep","surchargeStep","supportStep","dimensionsStep","soilGroundConditionsStep","loading","labels","form","depth","width","subType","None","groundwaterDepth","soilDisclaimer","surchargeProfiles","errors","stepFooter","nextDisabled","tab","YourSolution","globalStep","progress","scrollLocked","soilProfiles","surcharges","loadingResults","formDirtyAfterSolutionsFetch","hasChangedSelectedSolution","zoomModalOpen","soilModalOpen","hasAddedDefaultSurcharge","fetchingNewSolutions","email","authenticatedUser","userName","telephone","companyName","phoneRegex","RegExp","emailRegex","postcodeRegex","determineStep","state","direction","currentStep","checkStep","groundwaterPresent","endSafePanelsRequired","largeSurcharges","filter","x","surchargePreselected","surcharge","push","supportType","Frame","newStep","Support","Conditions","SoilsGroundConditions","reducer","action","newState","keys","beforeNext","results","selectedSolutionName","selectedSolutionIterator","targetStep","payload","copy","foundSteps","indexOf","resetStepsIfNeeded","selectedSolution","stepsWithTitles","slice","YourSolutionPlus","responseAny","result","isEqual","field","invalidatedFields","match","confirmEmail","toLowerCase","schemeName","siteName","recaptchaToken","postCode","soilType","problematicGround","slopingGround","adjacentWater","sheetedSolutionType","yspResults","_g","YSContext","createContext","YSContextProvider","useReducer","dispatch","Provider","useYSPContext","contextValue","useContext","setFormField","SvgIconCross","isLandingPage","ButtonMotionWrapper","y","footerPrevious","footerNext","inverse","ButtonSmall","MobileButton","StepFooterStyles","h3","EngineerCheckStyles","SuccessText","EngineerCheck","comment","setComment","file","setFile","submitting","setSubmitting","success","setSuccess","handleSubmit","ApiService","request","controller","slug","method","isMultipartFormData","files","params","designRef","designReference","response","S","dangerouslySetInnerHTML","__html","Fragment","htmlFor","onChange","e","currentTarget","rows","accept","disabled","onClick","BoxModal","delay","small","BoxModalInner","fullWidth","BoxModalClose","BoxModalMedia","BoxModalCopy","ResetButton","ConfirmText","Buttons","divisionTags","sandhurst","ModalStyles","Modal","modalScrollable","ref","Close","imageUrl","src","style","objectFit","engineerCheckLabels","heading","content","description","display","StepHeaderStyles","Step","hideEnd","StepBackground","ease","dark","StepHeader","stepsWithTitle","useMemo","AnimatePresence","Items","BlurLine","SelectedStep","isOpen","height","overflow","ItemsInner","completed","grey89","StepPickerStyles","_path2","StepPicker","setIsOpen","filteredSteps","currentGlobalStep","current","handleWindowClick","addEventListener","removeEventListener","stopPropagation","preventDefault","Chevron","Text","FadeTextWrapper","TopText","LoadingStyles","Letter","animation","repeat","Infinity","colour","last","split","StepLoadingStyles","StepLoading","layout","Item","Value","MobileMedium","BottomEffect","Label","RadiosStyles","defaultOptions","error","options","AnimateSharedLayout","layoutId","Form","FormRow","wide","xCentered","FormControl","restrictWidth","center","FormError","FormErrorHidden","FormSub","span","FormSplit","FormStyles","SvgIconInfo","Info","GroundwaterStyles","Ground","Water","hasAnimatedIn","ripple","ExcavationOverlay","Arrow","SvgGroundwaterGround","strokeMiterlimit","SvgGroundwaterWater","setHasAnimatedIn","setTimeout","Radios","GroundwaterDepthStyles","Input","input","grey55","InlineNumericalInputStyles","EndSection","InlineNumericalInput","unit","min","max","lock","absoluteBounds","hasFocus","setHasFocus","onFocus","onBlur","toString","includes","Decimal","add","toNumber","sub","readOnly","Math","v","floatValue","parseFloat","backgroundImage","LooseGround","SoftClay","LooseSand","Peat","Silt","LooseGravel","SoilTypes","Granular","Cohesive","Road","DenseSand","Rock","CohesiveFill","StiffClay","DepthStyles","Indicator","Point","CheckboxStyles","Check","SvgIconCheck","ToggleStyles","ToggleWrapper","ToggleBall","Toggle","ColumnWrapper","WideColumnWrapper","HeaderWrapper","Header","bold","HeaderInner","SmallHeader","LargeHeader","FieldRow","FieldInput","bg","ysp","TopSection","Title","Disclaimer","ModalInner","ModalTitle","ModalText","BlankRows","Reset","LastRowWrapper","SoilInfoTableStyles","SvgCloseWhite","SvgResetThick","fillRule","YSButtonStyles","lighten","darken","accent","orange","LinkWrapper","a","SvgPlusThick","SvgIconCheckCircleFill","SvgIconPhone","SvgIconMail","YSButton","icon","hideOnDesktop","hideOnMobile","iconPosition","Plus","CheckCircle","Email","Phone","getIcon","YSLinkButton","href","NumberInputStyles","NumberInput","n","alignment","onKeyPress","event","charCode","SoilInfoTable","layers","update","setTargetedLayer","acceptedSoilModification","editSoilParameters","setEditSoilParameters","showEditModal","setShowEditModal","hasAccepted","setHasAccepted","determineClick","changeHandler","callback","toggleLocked","b","Checkbox","layer","bgl","soilDensity","saturatedDensity","angleOfFriction","wallFrictionFactor","soilCohesion","wallAdhesion","number","svgDepth","_svgDepth","transform","SvgIconAvatar","Textbox","placeholder","uniqueId","DetailsStyles","TechnicalLibraryLogin","FullWidth","setField","nextActive","setNextActive","recaptcha","setRecaptcha","handleNext","checkContinue","StepStyles","Grid","Containers","Default","User","encodeURI","marginTop","className","Recaptcha","shouldLoad","siteKey","token","DimensionsStyles","Grass","Outer","Inner","handleSet","isWidth","isNaN","ratio","actualHeight","actualWidth","toFixed","Intro","IntroTitleWrapper","TitleAndPlusWrapper","LandingStyles","PleaseSelectText","WelcomeText","CenteredDiv","tooltipText","centered","SvgMap","Map","NoSolutionsStyles","SwapToYSP","OrLabel","NoSolutions","responseMessage","telNo","emailAddress","SolutionsStyles","Copy","CopyInner","Media","MediaInner","solutions","url","tableData","media","srcSet","desktopImage","mobileImage","technicalMessage","BoxesStyles","singleQuestion","Boxes","boxes","activeBox","find","handleSetModalActive","SingleFrame","TwoFrame","SvgIconWatercourse","Watercourse","LargeSurcharges","hasTooltip","Embankments","Building","Crane","Railway","SvgIconSlope","Slope","TrenchBox","ManholeBox","Lightweight","SheetsAndManholeBrace","SheetsAndWalers","endSafeSides","One","Both","text","noText","yesText","onNo","onYes","onClose","DropdownWrapper","BorderWrapper","Dropdown","DropdownOption","SoilImage","background","SelectedOption","SoilTypeDropdownStyles","SoilProfilesStyles","TopStep","LayerOptions","LayerWrapper","LayerName","ButtonWrapper","DeleteWrapper","ResetAllWrapper","GridWrapper","offsetPadding","SoilTypeDropdown","expanded","setExpanded","useRef","useClickAway","option","SoilVisualiserStyles","SoilVisualiser","SoilLayer","minHeight","isLast","containerRef","excavationRef","soilLayersToDisplay","soilLayers","excavationHeight","lastPopulatedLayer","soilProfileOptions","reduce","acc","cur","image","getHeightForLayer","l","layerPercentage","getBoundingClientRect","soilTypeId","clientHeight","Layer","position","previousDepth","nextDepth","updatedValue","soilLayer","Cross","contentRef","targetedLayer","modalMode","setModalMode","modalOpen","setModalOpen","isOverflown","scrollHeight","modalLabels","yes","no","setLayers","mergedLayers","merged","modifyLayer","clone","matchingSoil","omit","layersClone","splice","pos","some","addLayer","checked","ConfirmModal","soilInfo","resetLayer","resetAll","DropdownStyles","short","SoilSourceStyles","Centered","SvgTickUnbound","SvgWarningUnbound","selectable","Tick","Warning","SoilSource","soilInfoSource","soilInfoSourceRef","soilInfoSourceCompany","Verbal","BoreholeLog","SvgCaret","SvgIconCheckCircle","SvgRestart","SvgTick","ActualDesktop","GraphWrapper","GraphContainer","Graph","ground","ProportionalContent","excavation","offset","GraphStyles","LeftContent","RightContent","BGLLabel","side","SoilContainer","top","GroundwaterLevel","ChartStyles","ChartJS","register","LinearScale","PointElement","LineElement","Chart","chart","chartData","Scatter","responsive","padding","left","scales","data","datasets","showLine","pointStyle","borderColor","colorHex","borderWidth","contentOffset","solution","graphs","boxHeading","toDecimalPlaces","graphic","ZoomIcon","ZoomImageStyles","Image","img","ModalBackground","ModalContent","ZoomedImage","ControlsBar","Control","SvgZoom","SvgZoomOut","zoomRef","Zoom","TransformWrapper","centerOnInit","TransformComponent","zoomIn","zoomOut","ZoomOut","resetTransform","selected","LeftSection","RightSection","Description","SolutionTag","LongSmallButton","Scrollbars","TableContainer","Column","isPassFailColumn","HeaderSection","grey75","Cell","SolutionStyles","PassFail","pass","TableHeader","StrutsTableWrapper","Blank","FailText","FailBoxWrapper","FailTopRow","FailNumber","FailDescription","MobileImage","DescriptionAndTable","TopContent","BackButton","ButtonContainer","RestartButton","Solution","DesignReference","Table","Row","MobileSolutionTag","SummaryStyles","TableContainers","TableWrapper","GraphsWrapper","Wide","ImageWrapper","MomentsTable","moments","moment","allowable","actual","StrutsTable","struts","strut","level","loadAllow","loadActual","useInView","threshold","inView","isSelected","ZoomImage","boxInfo","info","item1","item2","Summary","setLoading","sendToEngineer","replaceAll","Caret","confirm","Restart","designDoc","horizontalPressure","shearForce","kickingMoments","YSPSolutionsStyles","NoSolutionsTitle","NoSolutionsSubtitle","NoSolutionsGetInTouch","NoSolutionsDetails","SvgWarning","setSelectedSolution","matchingSolution","document","querySelector","scrollIntoView","behavior","dropdownOptions","s","territoryManager","noSolutionHeading","noSolutionText","contactText","DimensionsWrapper","SurchargesWrapper","IconContainer","IconWrapper","SurchargeWrapper","SurchargeName","getIconAnimation","SurchargeIcon","Rail","BaseHidden","BaseVisible","SurchargeDetailsStyles","MotionWrapper","SvgEdit","DescriptionWrapper","lightBackground","VariableHeader","isNull","FieldBase","SurchargesTableStyles","SurchargesTable","typeOptions","SurchargeType","Number","t","k","Blanket","Strip","Area","Line","Trap","Edit","surchargeDescription","surchargeType","surchargeMagnitude","surchargeDepth","surchargeOffset","surchargeWidth","surchargeLength","surchargeMagnitudeB","_style","SvgBuilding","shapeRendering","textRendering","_g2","_g3","SvgCrane","SvgMaterial","offsetPath","offsetRotate","SurchargeSource","Surcharge","removeSurcharge","dropdownPlaceholder","iconSrc","Plant","surchargeIcon","CraneAnimated","BuildingAnimated","MaterialAnimated","preselectedSurcharges","setSurcharges","surchargeOptions","valIndex","retypedClone","matchingSurchargeType","surchargesClone","TermsAndConditionsStyles","TextContainer","textboxRef","attachedListener","setAttachedListener","hasScrolledToBottom","setHasScrolledToBottom","debouncedTrackScroll","debounce","el","inRange","scrollTop","trackScrollHandler","ev","acceptedTs","Thin","dummyData","surchargeSource","getYSPStep","StepRouter","initialLoad","setInitialLoad","culture","soilRequest","status","surchargeRequest","questionnaireID","firstReason","message","successful","returnNoResults","fetchStep","submit","selectSolution","exitBeforeEnter","SurchargeDetails","Loading","YSPSolutions","getComponent","MainHeaderContentWrapper","YourSolutionStyles","ModalHeader","Content","locked","BackgroundImage","BackgroundImageSVG","MobileHeader","BackToMainSiteStyles","Return","BackToMainSite","closeModal","history","back","SvgHome","StepFooter","nextStep","isLoadingSolutions","isNotOnYSSolutions","hasYSPSolutions","Home","BottomLine","TabsStyles","BackgroundEffect","TabEnum","BackToMainSiteMobile","Tabs","YSLogoNoText","YSPLogo","YSLogo","stateRef","scrollableArea","modalKey","JSON","stringify","isMobile","URLSearchParams","location","search","get","bodyElement","existingStyleAttribute","getAttribute","setAttribute","replace","handleUnload","controllerName","stepId","lastStep","useLayoutEffect","disableBodyScroll","enableBodyScroll","withWidget","hydrate","HydrateOption","Always","showLoader","setShowLoader","handle","clearTimeout","container","cl","Cloudinary","cloud","cloudName","secure","publicId","rawTransformation","transformation","addTransformation","FormatRegEx","test","toURL","delivery","format","fAuto","quality","qAuto","MotionBase","srOnly"],"mappings":"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","file":"default~SiteHeader~YourSolutionRoot-12921cdceba4c59201f8.js","sourcesContent":["import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport { Device, from } from '@helpers/media';\r\nimport HeadingStyles from '@stories/Components/Global/Typography/Heading.styles';\r\nimport ParagraphStyles from '@stories/Components/Global/Typography/Paragraph.styles';\r\nimport styled from 'styled-components';\r\nconst Wrapper = styled.div `\r\n // Needed for the horizontal scroll table\r\n overflow: auto;\r\n line-height: normal;\r\n\r\n h1,\r\n h2 {\r\n ${HeadingStyles.H5Styles};\r\n color: ${brand.primary.alt};\r\n }\r\n\r\n p {\r\n ${ParagraphStyles.RegularStyles};\r\n }\r\n\r\n a {\r\n color: ${brand.primary.alt};\r\n }\r\n\r\n table {\r\n table-layout: fixed;\r\n min-width: 700px;\r\n width: 100%;\r\n\r\n thead {\r\n tr {\r\n background: ${brand.grey.grey35};\r\n }\r\n }\r\n\r\n tbody {\r\n tr {\r\n background-color: ${brand.grey.grey96};\r\n\r\n &:nth-child(odd) {\r\n background-color: rgba(102, 153, 0, 0.12);\r\n }\r\n }\r\n }\r\n\r\n th,\r\n td {\r\n padding: 12px 20px;\r\n width: 216px;\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n padding: 12px 34px;\r\n }\r\n }\r\n\r\n td {\r\n color: ${brand.black};\r\n\r\n border-right: 1px solid ${brand.grey.grey44};\r\n &:last-child {\r\n border-right: none;\r\n }\r\n }\r\n\r\n th {\r\n ${fonts.DaxPro.Bold};\r\n color: ${brand.white};\r\n font-size: 20px;\r\n }\r\n }\r\n\r\n &[data-hidden=\"true\"]{\r\n display: none;\r\n }\r\n`;\r\nexport const WYSIWYGStyles = {\r\n Wrapper,\r\n};\r\n","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport { Device, from, until } from '@helpers/media';\r\nimport { m } from 'framer-motion';\r\nimport styled, { css } from 'styled-components';\r\nimport { InfoIconStyles } from './InfoIcon/InfoIcon.styles';\r\nconst Box = styled.figure `\r\n flex: 0 0 auto;\r\n padding: 8px 8px 8px 40px;\r\n position: relative;\r\n\r\n @media ${from(Device.Tablet)} {\r\n padding: 8px 8px 60px 8px;\r\n width: 33%;\r\n }\r\n\r\n ${({ invalid }) => invalid &&\r\n css `\r\n ${() => BoxInner} {\r\n border: 1px solid ${brand.red.base};\r\n }\r\n `}\r\n\r\n ${({ active }) => active &&\r\n css `\r\n ${() => BoxInner} {\r\n border: 1px solid ${brand.primary.light};\r\n border-bottom: 7px solid ${brand.primary.light};\r\n }\r\n\r\n ${() => BoxState}:before {\r\n content: '';\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n width: 14px;\r\n height: 14px;\r\n border-radius: 50%;\r\n transform: translate(-50%, -50%);\r\n background-color: ${brand.primary.light};\r\n\r\n @media ${from(Device.Tablet)} {\r\n width: 20px;\r\n height: 20px;\r\n }\r\n }\r\n `}\r\n`;\r\nconst BoxInner = styled.div `\r\n border: 1px solid #d5d5d5;\r\n padding: 20px 12px;\r\n cursor: pointer;\r\n display: flex;\r\n flex-direction: row;\r\n flex-wrap: nowrap;\r\n align-items: center;\r\n height: 100%;\r\n\r\n @media ${from(Device.Tablet)} {\r\n flex-direction: column;\r\n padding: 12px;\r\n }\r\n`;\r\nconst BoxMedia = styled.div `\r\n position: relative;\r\n flex: 0 0 auto;\r\n max-width: 40%;\r\n\r\n @media ${from(Device.Tablet)} {\r\n margin-bottom: 16px;\r\n max-width: 100%;\r\n }\r\n\r\n img {\r\n width: 100%;\r\n height: 100%;\r\n object-fit: cover;\r\n font-family: 'object-fit: cover';\r\n }\r\n`;\r\nconst BoxLabel = styled.label `\r\n text-align: center;\r\n font-weight: normal;\r\n font-size: 17px;\r\n display: block;\r\n flex: 1 1 auto;\r\n\r\n @media ${from(Device.Tablet)} {\r\n flex: 1 0 auto;\r\n margin-bottom: 50px;\r\n }\r\n`;\r\nconst BoxState = styled.div `\r\n width: 24px;\r\n height: 24px;\r\n border: 1px solid ${brand.grey.grey20};\r\n border-radius: 50%;\r\n position: relative;\r\n flex: 0 0 auto;\r\n\r\n @media ${from(Device.Tablet)} {\r\n margin: 0 auto 20px auto;\r\n width: 30px;\r\n height: 30px;\r\n }\r\n`;\r\nconst ButtonStyles = css `\r\n outline: none;\r\n border: none;\r\n padding: 8px 28px 8px 28px;\r\n background-color: ${brand.primary.light};\r\n display: inline-block;\r\n font-size: 20px;\r\n color: ${brand.white};\r\n ${fonts.DaxPro.Regular};\r\n border-radius: 8px;\r\n position: relative;\r\n cursor: pointer;\r\n user-select: none;\r\n transition: background-color 0.25s ease-in-out;\r\n z-index: 10;\r\n\r\n &:hover {\r\n color: ${brand.white};\r\n background-color: ${brand.primary.light};\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n font-size: 22px;\r\n }\r\n\r\n &:disabled {\r\n @media ${until(Device.TabletLarge)} {\r\n opacity: 0.4;\r\n }\r\n @media ${from(Device.TabletLarge)} {\r\n background-color: ${brand.grey.grey40};\r\n }\r\n cursor: not-allowed;\r\n }\r\n`;\r\nconst Button = styled.button.attrs(() => ({\r\n type: 'button',\r\n})) `\r\n ${ButtonStyles}\r\n\r\n ${({ restart }) => restart &&\r\n css `\r\n padding: 8px 50px 8px 28px;\r\n\r\n svg {\r\n position: absolute;\r\n right: 16px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n width: 19px;\r\n height: 19px;\r\n fill: ${brand.white};\r\n stroke: ${brand.white};\r\n }\r\n `};\r\n\r\n ${({ prev }) => prev &&\r\n css `\r\n padding: 8px 28px 8px 50px;\r\n\r\n svg {\r\n position: absolute;\r\n left: 16px;\r\n top: 50%;\r\n transform: translateY(-50%) rotate(180deg);\r\n width: 25px;\r\n height: 20px;\r\n }\r\n `}\r\n\r\n ${({ next }) => next &&\r\n css `\r\n padding: 8px 50px 8px 28px;\r\n\r\n svg {\r\n position: absolute;\r\n right: 16px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n width: 25px;\r\n height: 20px;\r\n }\r\n `}\r\n`;\r\nexport const WYSIWYGStyles = css `\r\n // Need to do h3 because thats what HTML comes out of api..\r\n h2,\r\n h3 {\r\n font-size: 25px;\r\n text-align: center;\r\n color: ${brand.grey.grey20};\r\n ${fonts.DaxPro.Bold};\r\n margin: 0 0 20px 0;\r\n line-height: 1.1;\r\n margin-bottom: 20px;\r\n }\r\n\r\n ol,\r\n ul {\r\n list-style: inside;\r\n }\r\n\r\n a {\r\n color: ${brand.primary.light};\r\n text-decoration: underline;\r\n }\r\n\r\n strong {\r\n ${fonts.DaxPro.Bold};\r\n }\r\n\r\n p {\r\n font-size: 17px;\r\n margin-bottom: 0px;\r\n color: #333333;\r\n }\r\n`;\r\nconst Question = styled(m.section).attrs(() => ({\r\n initial: 'hidden',\r\n animate: 'visible',\r\n exit: 'hidden',\r\n variants: {\r\n hidden: {\r\n opacity: 0,\r\n },\r\n visible: {\r\n opacity: 1,\r\n },\r\n },\r\n transition: {\r\n duration: 0.35,\r\n },\r\n})) `\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: flex-start;\r\n align-items: center;\r\n min-height: 100%;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n margin-right: 15px;\r\n }\r\n\r\n ${WYSIWYGStyles};\r\n`;\r\nconst Avatar = styled.div `\r\n svg {\r\n fill: ${brand.primary.light};\r\n width: 60px;\r\n height: 60px;\r\n display: block;\r\n align-self: center;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n width: 45px;\r\n height: 45px;\r\n }\r\n }\r\n`;\r\nconst BoxInfo = styled.div `\r\n position: absolute;\r\n left: 15px;\r\n bottom: 50%;\r\n transform: translate(-50%, 50%);\r\n\r\n @media ${from(Device.Tablet)} {\r\n left: 50%;\r\n bottom: 30px;\r\n }\r\n`;\r\nconst Materials = styled.div `\r\n width: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n margin-bottom: 30px;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n border-top: 1px solid ${brand.grey.grey44};\r\n padding-top: 25px;\r\n margin-top: 20px;\r\n }\r\n\r\n ${({ desktop }) => desktop &&\r\n css `\r\n @media ${until(Device.Tablet)} {\r\n display: none;\r\n }\r\n `}\r\n\r\n ${({ mobile }) => mobile &&\r\n css `\r\n display: flex;\r\n @media ${from(Device.Tablet)} {\r\n display: none;\r\n }\r\n `}\r\n\r\n\r\n @media ${from(Device.Tablet)} {\r\n flex-direction: row;\r\n flex-wrap: wrap;\r\n justify-content: space-between;\r\n }\r\n`;\r\nconst MaterialContainer = styled.div `\r\n ${() => Material} {\r\n width: 100%;\r\n }\r\n`;\r\nconst Material = styled.div `\r\n display: flex;\r\n flex-direction: row;\r\n flex-wrap: nowrap;\r\n align-items: center;\r\n margin-bottom: 12px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n width: 45%;\r\n }\r\n`;\r\nconst MaterialMedia = styled.div `\r\n width: 32px;\r\n height: 32px;\r\n background-repeat: no-repeat;\r\n background-size: cover;\r\n background-position: 50% 50%;\r\n margin-right: 17px;\r\n flex: 0 0 32px;\r\n\r\n ${({ large }) => large &&\r\n css `\r\n width: 80px;\r\n height: auto;\r\n flex: 0 0 auto;\r\n `}\r\n`;\r\nconst MaterialLabel = styled.div `\r\n font-size: 15px;\r\n`;\r\nconst MaterialTitle = styled.div `\r\n font-size: 15px;\r\n color: ${brand.black};\r\n font-weight: 700;\r\n padding-bottom: 10px;\r\n`;\r\nconst Icon = styled.div `\r\n width: 300px;\r\n margin-bottom: 25px;\r\n\r\n svg {\r\n width: 100%;\r\n }\r\n`;\r\nconst CenterText = styled.p `\r\n text-align: center;\r\n`;\r\nconst TitleWithInfoIcon = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n gap: 15px;\r\n margin-bottom: 15px;\r\n align-items: center;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n margin-bottom: 25px;\r\n ${() => InfoIconStyles.Container} {\r\n margin-bottom: 15px;\r\n }\r\n }\r\n\r\n h2 {\r\n margin-bottom: 0 !important;\r\n }\r\n`;\r\nexport const SharedStyles = {\r\n Box,\r\n BoxInner,\r\n BoxMedia,\r\n BoxLabel,\r\n BoxState,\r\n Button,\r\n Question,\r\n Avatar,\r\n BoxInfo,\r\n Materials,\r\n Material,\r\n MaterialMedia,\r\n MaterialLabel,\r\n MaterialContainer,\r\n MaterialTitle,\r\n Icon,\r\n CenterText,\r\n TitleWithInfoIcon,\r\n};\r\n","import { isSSR } from '@helpers/ssr';\r\nimport { useEffect, useState } from 'react';\r\n/**\r\n * Store a value in state based on the specified media queries.\r\n * @param {Array} queries\r\n * @param {Array} values\r\n * @param {T} defaultValue\r\n */\r\nfunction useMedia(queries, values, defaultValue) {\r\n // Avoid error with SSR.\r\n if (isSSR()) {\r\n return defaultValue;\r\n }\r\n // Array containing a media query list for each query\r\n const mediaQueryLists = queries.map((query) => window.matchMedia(query));\r\n // Function that gets value based on matching media query\r\n const getValue = () => {\r\n // Get index of first media query that matches\r\n const index = mediaQueryLists.findIndex((mql) => mql.matches);\r\n // Return related value or defaultValue if none\r\n return typeof values[index] !== 'undefined' ? values[index] : defaultValue;\r\n };\r\n // State and setter for matched value\r\n const [value, setValue] = useState(getValue);\r\n useEffect(() => {\r\n // Event listener callback\r\n // Note: By defining getValue outside of useEffect we ensure that it has ...\r\n // ... current values of hook args (as this hook callback is created once on mount).\r\n const handler = () => setValue(getValue);\r\n // Set a listener for each media query with above handler as callback.\r\n mediaQueryLists.forEach((mql) => mql.addListener(handler));\r\n // Remove listeners on cleanup\r\n return () => mediaQueryLists.forEach((mql) => mql.removeListener(handler));\r\n }, []); // Empty array ensures effect is only run on mount and unmount\r\n return value;\r\n}\r\nexport default useMedia;\r\n","import brand from '@helpers/brand';\r\nimport { m } from 'framer-motion';\r\nimport styled from 'styled-components';\r\nconst Container = styled.div ``;\r\nconst InfoIcon = styled(m.div).attrs(() => ({\r\n whileTap: 'tap',\r\n whileHover: 'hover',\r\n variants: {\r\n tap: {\r\n scale: 0.95,\r\n },\r\n hover: {\r\n scale: 1.05,\r\n },\r\n },\r\n transition: {\r\n duration: 0.25,\r\n },\r\n})) `\r\n position: relative;\r\n width: 25px;\r\n height: 25px;\r\n cursor: pointer;\r\n color: ${brand.grey.grey35};\r\n\r\n svg {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n`;\r\nexport const InfoIconStyles = {\r\n Container,\r\n InfoIcon,\r\n};\r\n","import { domMax, LazyMotion } from 'framer-motion';\r\nimport React from 'react';\r\nexport function withMotionMax(WrappedComponent) {\r\n const displayName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\r\n const ComponentWithMotionMax = (props) => {\r\n return (React.createElement(LazyMotion, { features: domMax, strict: true },\r\n React.createElement(WrappedComponent, { ...props })));\r\n };\r\n ComponentWithMotionMax.displayName = `withMotionMax(${displayName})`;\r\n return ComponentWithMotionMax;\r\n}\r\n","import { fonts } from '@helpers/fonts';\r\nimport { Device, from } from '@helpers/media';\r\nimport styled, { css } from 'styled-components';\r\nconst H1Styles = css `\r\n ${fonts.DaxPro.Bold};\r\n font-size: 45px;\r\n letter-spacing: 0.02em;\r\n line-height: 48px;\r\n margin-bottom: 16px;\r\n text-transform: uppercase;\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 70px;\r\n line-height: 70px;\r\n }\r\n`;\r\nconst H2Styles = css `\r\n ${fonts.DaxPro.Bold};\r\n font-size: 38px;\r\n letter-spacing: 0.02em;\r\n line-height: 40px;\r\n margin-bottom: 16px;\r\n text-transform: uppercase;\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 60px;\r\n line-height: 60px;\r\n }\r\n`;\r\nconst H3Styles = css `\r\n ${fonts.DaxPro.Bold};\r\n font-size: 35px;\r\n letter-spacing: 0.02em;\r\n line-height: 42px;\r\n margin-bottom: 16px;\r\n text-transform: uppercase;\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 50px;\r\n line-height: 60px;\r\n }\r\n`;\r\nconst H4Styles = css `\r\n ${fonts.DaxPro.Bold};\r\n font-size: 22px;\r\n letter-spacing: 0.02em;\r\n line-height: 24px;\r\n margin-bottom: 16px;\r\n text-transform: uppercase;\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 40px;\r\n line-height: 40px;\r\n }\r\n`;\r\nconst H5Styles = css `\r\n ${fonts.DaxPro.Regular};\r\n font-size: 24px;\r\n margin-bottom: 12px;\r\n line-height: 22px;\r\n\r\n @media ${from(Device.DesktopSmall)} {\r\n font-size: 35px;\r\n line-height: 38px;\r\n margin-bottom: 16px;\r\n }\r\n`;\r\nconst H6Styles = css `\r\n ${fonts.DaxPro.Bold};\r\n font-size: 16px;\r\n letter-spacing: 0.02em;\r\n line-height: 20px;\r\n margin-bottom: 16px;\r\n text-transform: uppercase;\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 20px;\r\n line-height: 28px;\r\n }\r\n`;\r\nconst Heading = styled.h1 `\r\n ${({ visual }) => {\r\n switch (visual) {\r\n case 'h1':\r\n return H1Styles;\r\n case 'h2':\r\n return H2Styles;\r\n case 'h3':\r\n return H3Styles;\r\n case 'h4':\r\n return H4Styles;\r\n case 'h5':\r\n return H5Styles;\r\n case 'h6':\r\n return H6Styles;\r\n default:\r\n break;\r\n }\r\n}}\r\n`;\r\nexport default {\r\n // H1Styles,\r\n // H2Styles,\r\n H3Styles,\r\n H4Styles,\r\n H5Styles,\r\n // H6Styles,\r\n Heading,\r\n};\r\n","import React from \"react\";\r\nimport styled, { css } from \"styled-components\";\r\nimport { Device, from, until } from \"./media\";\r\nconst MediaComponentStyles = styled.div `\r\n display: contents;\r\n\r\n ${({ $mobile: mobile }) => mobile &&\r\n css `\r\n @media ${from(Device.TabletLarge)} {\r\n display: none;\r\n }\r\n `}\r\n\r\n ${({ $desktop: desktop }) => desktop &&\r\n css `\r\n @media ${until(Device.TabletLarge)} {\r\n display: none;\r\n }\r\n `}\r\n`;\r\nexport const MediaComponent = ({ children, ...rest }) => {\r\n return (React.createElement(MediaComponentStyles, { \"$desktop\": rest.desktop, \"$mobile\": rest.mobile }, children));\r\n};\r\n","import { fonts } from '@helpers/fonts';\r\nimport styled, { css } from 'styled-components';\r\n/**\r\n * 20px / 28px\r\n */\r\nexport const LargeStyles = css `\r\n ${fonts.DaxPro.Regular};\r\n font-size: 20px;\r\n letter-spacing: normal;\r\n line-height: 28px;\r\n margin-bottom: 16px;\r\n`;\r\n/**\r\n * 18px / 28px\r\n */\r\nexport const RegularStyles = css `\r\n ${fonts.DaxPro.Regular};\r\n font-size: 18px;\r\n letter-spacing: normal;\r\n line-height: 28px;\r\n margin-bottom: 16px;\r\n`;\r\n/**\r\n * 16px / 26px\r\n */\r\nexport const SmallStyles = css `\r\n ${fonts.DaxPro.Regular};\r\n font-size: 16px;\r\n letter-spacing: normal;\r\n line-height: 26px;\r\n margin-bottom: 16px;\r\n`;\r\nconst Paragraph = styled.p `\r\n ${({ isLatestNewsWidget }) => isLatestNewsWidget\r\n ? css `\r\n min-height: 104px;\r\n `\r\n : null}\r\n \r\n ${({ align }) => align\r\n ? css `\r\n text-align: ${align};\r\n `\r\n : null}\r\n\r\n ${({ size }) => {\r\n switch (size) {\r\n case 'large':\r\n return LargeStyles;\r\n case 'regular':\r\n return RegularStyles;\r\n case 'small':\r\n return SmallStyles;\r\n default:\r\n break;\r\n }\r\n}}\r\n`;\r\nexport default {\r\n Paragraph,\r\n SmallStyles,\r\n RegularStyles,\r\n LargeStyles,\r\n};\r\n","export default __webpack_public_path__ + \"20d3e6ef96e5a405f30429d6d92b83e2.png\";","import { css } from 'styled-components';\r\nexport default {\r\n navHeight: 107,\r\n navHeightTablet: 80,\r\n navHeightMobile: 59,\r\n};\r\nexport const ButtonReset = css `\r\n border: none;\r\n outline: none;\r\n padding: 0px;\r\n background: none;\r\n border-radius: 0px;\r\n`;\r\n","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgChevronDown(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 13.953 7.977\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 460\",\n d: \"M12.539 1.415L6.977 6.977 1.415 1.415\",\n fill: \"none\",\n stroke: \"currentcolor\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2\n })));\n}\n\nexport default __webpack_public_path__ + \"ab65ba123437ec9096ced875de645192.svg\";\nexport { SvgChevronDown as ReactComponent };","import brand from '@helpers/brand';\r\nimport { from, Device } from '@helpers/media';\r\nimport styled, { keyframes } from 'styled-components';\r\nconst width = 10;\r\nconst size = 70;\r\nconst loadAnimation = keyframes `\r\n 0% {\r\n -webkit-transform: rotate(0deg);\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n -webkit-transform: rotate(360deg);\r\n transform: rotate(360deg);\r\n }\r\n`;\r\nconst Loader = styled.div `\r\n margin: 60px auto;\r\n font-size: 10px;\r\n position: relative;\r\n text-indent: -9999em;\r\n border-top: ${width}px solid rgba(0, 0, 0, 0.1);\r\n border-right: ${width}px solid rgba(0, 0, 0, 0.1);\r\n border-bottom: ${width}px solid rgba(0, 0, 0, 0.1);\r\n border-left: ${width}px solid ${brand.grey['grey20']};\r\n transform: translateZ(0);\r\n animation: ${loadAnimation} 1.1s infinite linear;\r\n border-radius: 50%;\r\n width: ${size}px;\r\n height: ${size}px;\r\n\r\n &:after {\r\n content: '';\r\n border-radius: 50%;\r\n width: ${size}px;\r\n height: ${size}px;\r\n }\r\n`;\r\nconst Wrapper = styled.div ``;\r\nconst Container = styled.section `\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n align-items: center;\r\n background: rgba(0, 0, 0, 0.4);\r\n height: 100vh;\r\n justify-content: center;\r\n text-align: center;\r\n width: 100%;\r\n /* Higher index than header container */\r\n z-index: 8002;\r\n display: flex;\r\n`;\r\nconst ContainerInner = styled.div `\r\n position: relative;\r\n display: block;\r\n background: #fff;\r\n border: 1px solid #b9b9b9;\r\n max-height: 100%;\r\n max-width: 665px;\r\n overflow-y: auto;\r\n padding: 24px 16px 24px;\r\n width: 100%;\r\n\r\n @media ${from(Device.Tablet)} {\r\n padding: 32px 108px 48px;\r\n }\r\n`;\r\nexport const LoaderStyles = {\r\n Wrapper,\r\n Loader,\r\n Container,\r\n ContainerInner,\r\n};\r\n","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgChevronRight(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 7.257 11.686\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 48\",\n d: \"M.707.707l5.136 5.136-5.136 5.136\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2\n })));\n}\n\nexport default __webpack_public_path__ + \"6973e4a6f707c58d2376f688ccfb4a95.svg\";\nexport { SvgChevronRight as ReactComponent };","import { domAnimation, LazyMotion } from 'framer-motion';\r\nimport React from 'react';\r\nexport function withMotion(WrappedComponent) {\r\n const displayName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\r\n const ComponentWithMotion = (props) => {\r\n return (React.createElement(LazyMotion, { features: domAnimation, strict: true },\r\n React.createElement(WrappedComponent, { ...props })));\r\n };\r\n ComponentWithMotion.displayName = `withMotion(${displayName})`;\r\n return ComponentWithMotion;\r\n}\r\n","import { css } from 'styled-components';\r\nexport const fonts = {\r\n DaxPro: {\r\n Bold: css `\r\n font-family: 'ff-dax-pro', Arial, sans-serif;\r\n font-style: normal;\r\n font-weight: 700;\r\n `,\r\n BoldItalic: css `\r\n font-family: 'ff-dax-pro', Arial, sans-serif;\r\n font-style: italic;\r\n font-weight: 700;\r\n `,\r\n Medium: css `\r\n font-family: 'ff-dax-pro', Arial, sans-serif;\r\n font-style: normal;\r\n font-weight: 600;\r\n `,\r\n SlightlyLessThanMedium: css `\r\n font-family: 'ff-dax-pro', Arial, sans-serif;\r\n font-style: normal;\r\n font-weight: 500;\r\n `,\r\n Regular: css `\r\n font-family: 'ff-dax-pro', Arial, sans-serif;\r\n font-style: normal;\r\n font-weight: 400;\r\n `,\r\n RegularItalic: css `\r\n font-family: 'ff-dax-pro', Arial, sans-serif;\r\n font-style: italic;\r\n font-weight: 400;\r\n `,\r\n Light: css `\r\n font-family: 'ff-dax-pro', Arial, sans-serif;\r\n font-style: normal;\r\n font-weight: 200;\r\n `,\r\n },\r\n};\r\n","export var SupportType;\r\n(function (SupportType) {\r\n SupportType[\"Box\"] = \"BOX\";\r\n SupportType[\"Frame\"] = \"FRAME\";\r\n})(SupportType || (SupportType = {}));\r\nexport var SolutionType;\r\n(function (SolutionType) {\r\n SolutionType[\"SheetsAndManholeBrace\"] = \"B\";\r\n SolutionType[\"SheetsAndWalers\"] = \"W\";\r\n SolutionType[\"ManholeBox\"] = \"MB\";\r\n SolutionType[\"TrenchBox\"] = \"TB\";\r\n SolutionType[\"Lightweight\"] = \"LW\";\r\n})(SolutionType || (SolutionType = {}));\r\nexport var SolutionSubType;\r\n(function (SolutionSubType) {\r\n SolutionSubType[\"None\"] = \"\";\r\n SolutionSubType[\"SingleFrame\"] = \"1F\";\r\n SolutionSubType[\"TwoFrame\"] = \"2F\";\r\n SolutionSubType[\"BackhoeManholeBox\"] = \"BH\";\r\n SolutionSubType[\"BackHoeManholeBoxAndTop\"] = \"BH\";\r\n SolutionSubType[\"MultiManholeBox\"] = \"MB\";\r\n SolutionSubType[\"MultiManholeBoxAndTop\"] = \"MB\";\r\n SolutionSubType[\"BackhoeTrenchBox\"] = \"BH\";\r\n SolutionSubType[\"BackhoeTrenchBoxAndTop\"] = \"BH\";\r\n SolutionSubType[\"MiniTrenchBox\"] = \"MI\";\r\n SolutionSubType[\"MiniTrenchBoxAndTop\"] = \"MI\";\r\n SolutionSubType[\"StandardTrenchBox\"] = \"SD\";\r\n SolutionSubType[\"StandardTrenchBoxAndTop\"] = \"SD\";\r\n SolutionSubType[\"PremierTrenchBox\"] = \"PR\";\r\n SolutionSubType[\"RollingStrutTrenchBox\"] = \"PS\";\r\n SolutionSubType[\"MapBox\"] = \"MAP\";\r\n SolutionSubType[\"QuickAccessBox\"] = \"QAB\";\r\n})(SolutionSubType || (SolutionSubType = {}));\r\nexport var SoilType;\r\n(function (SoilType) {\r\n SoilType[\"Cohesive\"] = \"CO\";\r\n SoilType[\"Granular\"] = \"GR\";\r\n})(SoilType || (SoilType = {}));\r\nexport var StepID;\r\n(function (StepID) {\r\n StepID[StepID[\"Landing\"] = 0] = \"Landing\";\r\n StepID[StepID[\"Details\"] = 1] = \"Details\";\r\n StepID[StepID[\"Location\"] = 2] = \"Location\";\r\n StepID[StepID[\"Depth\"] = 3] = \"Depth\";\r\n StepID[StepID[\"Dimensions\"] = 4] = \"Dimensions\";\r\n StepID[StepID[\"Support\"] = 5] = \"Support\";\r\n StepID[StepID[\"Type\"] = 6] = \"Type\";\r\n StepID[StepID[\"Conditions\"] = 7] = \"Conditions\";\r\n StepID[StepID[\"Surcharges\"] = 8] = \"Surcharges\";\r\n StepID[StepID[\"Solutions\"] = 9] = \"Solutions\";\r\n StepID[StepID[\"TermsAndConditions\"] = 10] = \"TermsAndConditions\";\r\n StepID[StepID[\"SoilsGroundConditions\"] = 11] = \"SoilsGroundConditions\";\r\n StepID[StepID[\"SelectedSolution\"] = 12] = \"SelectedSolution\";\r\n})(StepID || (StepID = {}));\r\nexport var SupportStepID;\r\n(function (SupportStepID) {\r\n SupportStepID[SupportStepID[\"System\"] = 0] = \"System\";\r\n SupportStepID[SupportStepID[\"SheetedSolution\"] = 1] = \"SheetedSolution\";\r\n})(SupportStepID || (SupportStepID = {}));\r\nexport var ConditionStepID;\r\n(function (ConditionStepID) {\r\n ConditionStepID[ConditionStepID[\"ProblematicGround\"] = 0] = \"ProblematicGround\";\r\n ConditionStepID[ConditionStepID[\"SoilType\"] = 1] = \"SoilType\";\r\n ConditionStepID[ConditionStepID[\"GroundWater\"] = 2] = \"GroundWater\";\r\n ConditionStepID[ConditionStepID[\"GroundWaterDepth\"] = 3] = \"GroundWaterDepth\";\r\n})(ConditionStepID || (ConditionStepID = {}));\r\nexport var SurchargeStepID;\r\n(function (SurchargeStepID) {\r\n SurchargeStepID[SurchargeStepID[\"LargeSurcharge\"] = 0] = \"LargeSurcharge\";\r\n SurchargeStepID[SurchargeStepID[\"SlopingGround\"] = 1] = \"SlopingGround\";\r\n SurchargeStepID[SurchargeStepID[\"AdjacentWater\"] = 2] = \"AdjacentWater\";\r\n SurchargeStepID[SurchargeStepID[\"ZoneOfInfluence\"] = 3] = \"ZoneOfInfluence\";\r\n})(SurchargeStepID || (SurchargeStepID = {}));\r\nexport var DimensionsStepID;\r\n(function (DimensionsStepID) {\r\n DimensionsStepID[DimensionsStepID[\"Size\"] = 0] = \"Size\";\r\n DimensionsStepID[DimensionsStepID[\"Type\"] = 1] = \"Type\";\r\n DimensionsStepID[DimensionsStepID[\"EndSafePanels\"] = 2] = \"EndSafePanels\";\r\n DimensionsStepID[DimensionsStepID[\"EndSafeSides\"] = 3] = \"EndSafeSides\";\r\n})(DimensionsStepID || (DimensionsStepID = {}));\r\nexport var SoilGroundConditionsStepID;\r\n(function (SoilGroundConditionsStepID) {\r\n SoilGroundConditionsStepID[SoilGroundConditionsStepID[\"SoilProfiles\"] = 0] = \"SoilProfiles\";\r\n SoilGroundConditionsStepID[SoilGroundConditionsStepID[\"SoilInformationSource\"] = 1] = \"SoilInformationSource\";\r\n SoilGroundConditionsStepID[SoilGroundConditionsStepID[\"Groundwater\"] = 2] = \"Groundwater\";\r\n SoilGroundConditionsStepID[SoilGroundConditionsStepID[\"GroundwaterDepth\"] = 3] = \"GroundwaterDepth\";\r\n})(SoilGroundConditionsStepID || (SoilGroundConditionsStepID = {}));\r\nexport var OptionalType;\r\n(function (OptionalType) {\r\n OptionalType[OptionalType[\"Groundwater\"] = 0] = \"Groundwater\";\r\n OptionalType[OptionalType[\"EndSafe\"] = 1] = \"EndSafe\";\r\n OptionalType[OptionalType[\"Surcharges\"] = 2] = \"Surcharges\";\r\n OptionalType[OptionalType[\"SheetedSolution\"] = 3] = \"SheetedSolution\";\r\n})(OptionalType || (OptionalType = {}));\r\nexport const YourSolutionProgression = [\r\n { id: 0, type: 'default', step: StepID.Landing, title: 'Home' },\r\n { id: 1, type: 'default', step: StepID.Details, title: 'Your Details' },\r\n { id: 2, type: 'default', step: StepID.Location, title: 'Location' },\r\n { id: 3, type: 'default', step: StepID.Depth, title: 'Depth' },\r\n { id: 4, type: 'default', step: StepID.Dimensions, title: 'Plan Dimensions' },\r\n { id: 5, type: 'support', step: SupportStepID.System, title: 'Support System' },\r\n {\r\n id: 6,\r\n type: 'support',\r\n step: SupportStepID.SheetedSolution,\r\n optional: OptionalType.SheetedSolution,\r\n },\r\n { id: 7, type: 'default', step: StepID.Type, title: 'Product Type' },\r\n {\r\n id: 8,\r\n type: 'conditions',\r\n step: ConditionStepID.ProblematicGround,\r\n title: 'Soils / Ground Conditions',\r\n },\r\n { id: 9, type: 'conditions', step: ConditionStepID.SoilType },\r\n { id: 10, type: 'conditions', step: ConditionStepID.GroundWater },\r\n {\r\n id: 11,\r\n type: 'conditions',\r\n step: ConditionStepID.GroundWaterDepth,\r\n optional: OptionalType.Groundwater,\r\n },\r\n {\r\n id: 12,\r\n type: 'surcharges',\r\n step: SurchargeStepID.LargeSurcharge,\r\n title: 'Surcharges & Site Risks',\r\n },\r\n { id: 13, type: 'surcharges', step: SurchargeStepID.SlopingGround },\r\n { id: 14, type: 'surcharges', step: SurchargeStepID.AdjacentWater },\r\n { id: 15, type: 'default', step: StepID.Solutions, title: 'Solution Selection Assessment' },\r\n];\r\nexport const YourSolutionPlusProgression = [\r\n { id: 0, type: 'default', step: StepID.Landing, title: 'Home' },\r\n { id: 1, type: 'default', step: StepID.TermsAndConditions, title: 'Terms & Conditions' },\r\n { id: 2, type: 'default', step: StepID.Details, title: 'Your Details' },\r\n { id: 3, type: 'default', step: StepID.Location, title: 'Location' },\r\n { id: 4, type: 'default', step: StepID.Depth, title: 'Depth' },\r\n { id: 5, type: 'dimensions', step: DimensionsStepID.Size, title: 'Plan Dimensions' },\r\n { id: 6, type: 'dimensions', step: DimensionsStepID.Type, title: 'Product Type' },\r\n { id: 7, type: 'dimensions', step: DimensionsStepID.EndSafePanels },\r\n {\r\n id: 8,\r\n type: 'dimensions',\r\n step: DimensionsStepID.EndSafeSides,\r\n optional: OptionalType.EndSafe,\r\n },\r\n {\r\n id: 9,\r\n type: 'soil-ground-conditions',\r\n step: SoilGroundConditionsStepID.SoilProfiles,\r\n title: 'Soils/Ground Conditions',\r\n },\r\n {\r\n id: 10,\r\n type: 'soil-ground-conditions',\r\n step: SoilGroundConditionsStepID.SoilInformationSource,\r\n },\r\n { id: 11, type: 'soil-ground-conditions', step: SoilGroundConditionsStepID.Groundwater },\r\n {\r\n id: 12,\r\n type: 'soil-ground-conditions',\r\n step: SoilGroundConditionsStepID.GroundwaterDepth,\r\n optional: OptionalType.Groundwater,\r\n },\r\n {\r\n id: 13,\r\n type: 'surcharges',\r\n step: SurchargeStepID.LargeSurcharge,\r\n title: 'Surcharges & Site Risks',\r\n },\r\n {\r\n id: 14,\r\n type: 'surcharges',\r\n step: SurchargeStepID.ZoneOfInfluence,\r\n optional: OptionalType.Surcharges,\r\n },\r\n {\r\n id: 15,\r\n type: 'default',\r\n step: StepID.Solutions,\r\n title: 'Solution Selection Assessment',\r\n },\r\n {\r\n id: 16,\r\n type: 'default',\r\n step: StepID.SelectedSolution,\r\n },\r\n];\r\n// DEV PURPOSES ONLY //\r\nexport const YSPQuickProgress = [\r\n { id: 0, type: 'default', step: StepID.Landing, title: 'Home' },\r\n {\r\n id: 1,\r\n type: 'soil-ground-conditions',\r\n step: SoilGroundConditionsStepID.SoilProfiles,\r\n title: 'Soils/Ground Conditions',\r\n },\r\n];\r\nexport var Tab;\r\n(function (Tab) {\r\n Tab[Tab[\"YourSolution\"] = 0] = \"YourSolution\";\r\n Tab[Tab[\"YourSolutionPlus\"] = 1] = \"YourSolutionPlus\";\r\n})(Tab || (Tab = {}));\r\nexport var EndSafeSide;\r\n(function (EndSafeSide) {\r\n EndSafeSide[EndSafeSide[\"None\"] = 0] = \"None\";\r\n EndSafeSide[EndSafeSide[\"One\"] = 1] = \"One\";\r\n EndSafeSide[EndSafeSide[\"Both\"] = 2] = \"Both\";\r\n})(EndSafeSide || (EndSafeSide = {}));\r\nexport var SoilInfoSource;\r\n(function (SoilInfoSource) {\r\n SoilInfoSource[SoilInfoSource[\"Verbal\"] = 0] = \"Verbal\";\r\n SoilInfoSource[SoilInfoSource[\"BoreholeLog\"] = 2] = \"BoreholeLog\";\r\n})(SoilInfoSource || (SoilInfoSource = {}));\r\nexport function getInitialState(props) {\r\n const initialState = {\r\n cultureCode: props.cultureCode,\r\n technicalLibraryUrl: props.technicalLibraryUrl,\r\n yourSolutionUrl: props.yourSolutionUrl,\r\n modal: undefined,\r\n step: StepID.Landing,\r\n steps: YourSolutionProgression,\r\n conditionStep: ConditionStepID.ProblematicGround,\r\n surchargeStep: SurchargeStepID.LargeSurcharge,\r\n supportStep: SupportStepID.System,\r\n dimensionsStep: DimensionsStepID.Size,\r\n soilGroundConditionsStep: SoilGroundConditionsStepID.SoilProfiles,\r\n loading: false,\r\n labels: {},\r\n form: {\r\n depth: 1.5,\r\n width: 3.0,\r\n length: 3.0,\r\n subType: SolutionSubType.None,\r\n groundwaterDepth: 0,\r\n soilDisclaimer: false,\r\n surchargeProfiles: props?.form?.surchargeProfiles ? props?.form?.surchargeProfiles : [],\r\n },\r\n errors: {},\r\n stepFooter: {\r\n nextDisabled: false,\r\n type: 'default',\r\n },\r\n tab: Tab.YourSolution,\r\n globalStep: 0,\r\n progress: 0,\r\n scrollLocked: false,\r\n soilProfiles: [],\r\n surcharges: [],\r\n loadingResults: false,\r\n mobile: false,\r\n formDirtyAfterSolutionsFetch: true,\r\n hasChangedSelectedSolution: true,\r\n zoomModalOpen: false,\r\n soilModalOpen: false,\r\n hasAddedDefaultSurcharge: false,\r\n fetchingNewSolutions: true\r\n };\r\n // Populate the authenicated user\r\n if (props.email) {\r\n initialState.authenticatedUser = {\r\n email: props.email ? props.email : '',\r\n userName: props.userName ? props.userName : '',\r\n telephone: props.telephone ? props.telephone : '',\r\n companyName: props.companyName ? props.companyName : '',\r\n };\r\n // Populate form fields\r\n initialState.form['name'] = props.userName;\r\n initialState.form['email'] = props.email;\r\n initialState.form['telephone'] = props.telephone;\r\n initialState.form['companyName'] = props.companyName;\r\n }\r\n return initialState;\r\n}\r\n","import { ConditionStepID, DimensionsStepID, getInitialState, OptionalType, SoilGroundConditionsStepID, SolutionSubType, StepID, SupportStepID, SupportType, SurchargeStepID, Tab, \r\n// YSPQuickProgress,\r\nYourSolutionPlusProgression, YourSolutionProgression, } from './types';\r\nimport isEqual from 'lodash/isEqual';\r\nconst phoneRegex = new RegExp(/^[0-9 )(+#]{10,}$/);\r\nconst emailRegex = new RegExp(\r\n// eslint-disable-next-line no-useless-escape\r\n/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/);\r\nconst postcodeRegex = new RegExp(/^([A-PR-Z](([0-9](([0-9]|[A-HJKSTUWX])?)?)|([A-HK-Y][0-9]([0-9]|[ABEHMNPRVWXY])?)) ([0-9][ABD-HJLNP-UW-Z]{2}|[0-9AC-FHKNPRTV-Y]{4}))$/, 'i');\r\nconst determineStep = (state, direction) => {\r\n if (direction === 'next'\r\n ? state.globalStep + 1 <= state.steps.length - 1\r\n : state.globalStep - 1 >= StepID.Landing) {\r\n const currentStep = state.steps[state.globalStep];\r\n const checkStep = state.steps[direction === 'next' ? state.globalStep + 1 : state.globalStep - 1];\r\n if (checkStep.optional !== undefined) {\r\n // There's an optional condition, check it //\r\n switch (checkStep.optional) {\r\n case OptionalType.Groundwater:\r\n if (!state.form.groundwaterPresent) {\r\n // Skip groundwater question //\r\n state.globalStep = direction === 'next' ? state.globalStep + 1 : state.globalStep - 1;\r\n }\r\n break;\r\n case OptionalType.EndSafe:\r\n if (!state.form.endSafePanelsRequired) {\r\n // Skip sides question //\r\n state.globalStep = direction === 'next' ? state.globalStep + 1 : state.globalStep - 1;\r\n }\r\n break;\r\n case OptionalType.Surcharges:\r\n if (!state.form.largeSurcharges) {\r\n if (!state.hasAddedDefaultSurcharge) {\r\n // Skip surcharges question, but preselect any options that come preselected from the CMS //\r\n const preselectedSurcharges = state.surcharges.filter((x) => x.surchargePreselected);\r\n preselectedSurcharges.forEach((surcharge) => {\r\n if (!state.form.surchargeProfiles) {\r\n state.form.surchargeProfiles = [];\r\n }\r\n state.form.surchargeProfiles.push(surcharge);\r\n });\r\n state.hasAddedDefaultSurcharge = true;\r\n }\r\n state.globalStep = direction === 'next' ? state.globalStep + 1 : state.globalStep - 1;\r\n }\r\n break;\r\n case OptionalType.SheetedSolution:\r\n if (state.form.supportType !== SupportType.Frame) {\r\n // Skip sheeted solution question //\r\n state.globalStep = direction === 'next' ? state.globalStep + 1 : state.globalStep - 1;\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n // Will have been adjusted due to optional conditions, or not //\r\n const newStep = state.steps[direction === 'next' ? state.globalStep + 1 : state.globalStep - 1];\r\n // Progress logic //\r\n // Quite fiddly and probably needs rewriting somepoint, but determines if it should progress the top bar or not //\r\n if (currentStep.type === newStep.type) {\r\n // Titles almost always define a point to progress, so if we're going from a type of question to the same type //\r\n // and both of them have titles, modify progress //\r\n // We also don't want to count the Landing page as a step, so ignore it in the logic //\r\n if ((currentStep.title && newStep.title && currentStep.id !== StepID.Landing) ||\r\n (direction === 'next'\r\n ? currentStep.step === StepID.TermsAndConditions\r\n : newStep.step === StepID.TermsAndConditions) // A bit hacky but also want to apply this logic to the T&C step\r\n ) {\r\n state.progress = direction === 'next' ? state.progress + 1 : state.progress - 1;\r\n }\r\n }\r\n else {\r\n // Going between two different types of question - always modify, luckily factors in optional questions too //\r\n state.progress = direction === 'next' ? state.progress + 1 : state.progress - 1;\r\n }\r\n switch (newStep.type) {\r\n default:\r\n case 'default':\r\n // Normal step //\r\n state.step = newStep.step;\r\n break;\r\n case 'support':\r\n // Support step //\r\n state.step = StepID.Support;\r\n state.supportStep = newStep.step;\r\n break;\r\n case 'conditions':\r\n // Conditions step //\r\n state.step = StepID.Conditions;\r\n state.conditionStep = newStep.step;\r\n break;\r\n case 'surcharges':\r\n // Surcharges step //\r\n state.step = StepID.Surcharges;\r\n state.surchargeStep = newStep.step;\r\n break;\r\n case 'dimensions':\r\n // Dimensions step //\r\n state.step = StepID.Dimensions;\r\n state.dimensionsStep = newStep.step;\r\n break;\r\n case 'soil-ground-conditions':\r\n // Dimensions step //\r\n state.step = StepID.SoilsGroundConditions;\r\n state.soilGroundConditionsStep = newStep.step;\r\n break;\r\n }\r\n state.globalStep = direction === 'next' ? state.globalStep + 1 : state.globalStep - 1;\r\n if (state.progress < 0) {\r\n state.progress = 0;\r\n }\r\n }\r\n};\r\nexport default function reducer(state, action) {\r\n switch (action.type) {\r\n /**\r\n * Initial setup\r\n */\r\n default:\r\n case 'init': {\r\n return state;\r\n }\r\n /**\r\n * Traversing the steps\r\n */\r\n case 'next-step': {\r\n const newState = { ...state };\r\n if (Object.keys(state.errors).length === 0) {\r\n determineStep(newState, 'next');\r\n // Clear any blocking conditions on the footer //\r\n newState.stepFooter.nextDisabled = false;\r\n newState.stepFooter.beforeNext = undefined;\r\n }\r\n return newState;\r\n }\r\n /**\r\n * Reversing through the steps\r\n */\r\n case 'previous-step': {\r\n const newState = { ...state };\r\n // As of right now, the final step is ALWAYS the solutions //\r\n // Meaning if you've come into this reducer, you have to clear the solutions //\r\n newState.results = undefined;\r\n // if a solution has been selected, clear this to prevent invalid solution still being selected after changes to parameters\r\n newState.form.selectedSolutionName = undefined;\r\n newState.form.selectedSolutionIterator = undefined;\r\n determineStep(newState, 'previous');\r\n // Clear any blocking conditions on the footer //\r\n newState.stepFooter.nextDisabled = false;\r\n newState.stepFooter.beforeNext = undefined;\r\n return newState;\r\n }\r\n /**\r\n * Navigates to a specific step\r\n */\r\n case 'go-to-step': {\r\n const newState = { ...state };\r\n const targetStep = newState.steps[action.payload];\r\n const resetStepsIfNeeded = () => {\r\n const copy = [...newState.steps];\r\n const foundSteps = [targetStep.type];\r\n for (let i = state.globalStep; i >= action.payload; i--) {\r\n if (foundSteps.indexOf(copy[i].type) === -1) {\r\n foundSteps.push(copy[i].type);\r\n }\r\n }\r\n foundSteps.forEach((x) => {\r\n switch (x) {\r\n default:\r\n case 'support':\r\n newState.supportStep = SupportStepID.System;\r\n break;\r\n case 'conditions':\r\n newState.conditionStep = ConditionStepID.ProblematicGround;\r\n break;\r\n case 'surcharges':\r\n newState.surchargeStep = SurchargeStepID.LargeSurcharge;\r\n break;\r\n case 'dimensions':\r\n newState.dimensionsStep = DimensionsStepID.Size;\r\n break;\r\n case 'soil-ground-conditions':\r\n newState.soilGroundConditionsStep = SoilGroundConditionsStepID.SoilProfiles;\r\n break;\r\n }\r\n });\r\n };\r\n // e.g. if we're going back past the Support step, reset support to the first step //\r\n resetStepsIfNeeded();\r\n newState.globalStep = action.payload;\r\n newState.stepFooter.nextDisabled = false;\r\n newState.stepFooter.beforeNext = undefined;\r\n // If you're on the final step and go back to change some stuff, we should unselect the solution //\r\n // as you may end up having a (now) failing solution selected when you get back to the solutions list //\r\n newState.selectedSolution = undefined;\r\n newState.selectedSolutionIterator = undefined;\r\n newState.form.selectedSolutionName = undefined;\r\n newState.form.selectedSolutionIterator = undefined;\r\n // Modify the progress too to update the header - find all the steps up until the new point that have titles //\r\n const stepsWithTitles = newState.steps\r\n .slice(0, newState.globalStep)\r\n .filter((x) => x.title && x.title !== 'Home').length;\r\n newState.progress = stepsWithTitles;\r\n switch (targetStep.type) {\r\n default:\r\n case 'default':\r\n // Normal step //\r\n newState.step = targetStep.step;\r\n break;\r\n case 'support':\r\n // Support step //\r\n newState.step = StepID.Support;\r\n newState.supportStep = targetStep.step;\r\n break;\r\n case 'conditions':\r\n // Conditions step //\r\n newState.step = StepID.Conditions;\r\n newState.conditionStep = targetStep.step;\r\n break;\r\n case 'surcharges':\r\n // Surcharges step //\r\n newState.step = StepID.Surcharges;\r\n newState.surchargeStep = targetStep.step;\r\n break;\r\n case 'dimensions':\r\n // Surcharges step //\r\n newState.step = StepID.Dimensions;\r\n newState.dimensionsStep = targetStep.step;\r\n break;\r\n case 'soil-ground-conditions':\r\n // Soils and Ground Conditions steps //\r\n newState.step = StepID.SoilsGroundConditions;\r\n newState.soilGroundConditionsStep = targetStep.step;\r\n break;\r\n }\r\n return newState;\r\n }\r\n /**\r\n * Goes back to the start and clears any data\r\n */\r\n case 'restart': {\r\n const newState = getInitialState({\r\n cultureCode: state.cultureCode,\r\n technicalLibraryUrl: state.technicalLibraryUrl,\r\n yourSolutionUrl: state.yourSolutionUrl,\r\n email: state.authenticatedUser?.email,\r\n userName: state.authenticatedUser?.userName,\r\n telephone: state.authenticatedUser?.telephone,\r\n companyName: state.authenticatedUser?.companyName,\r\n });\r\n return newState;\r\n }\r\n /**\r\n * Submit\r\n */\r\n case 'submit': {\r\n const newState = { ...state };\r\n newState.loadingResults = true;\r\n return newState;\r\n }\r\n /**\r\n * Submit success\r\n */\r\n case 'submit-success': {\r\n const newState = { ...state };\r\n newState.results = action.payload;\r\n newState.loadingResults = false;\r\n return newState;\r\n }\r\n /**\r\n * Initial get step action used for loaders\r\n */\r\n case 'get-step': {\r\n const newState = { ...state };\r\n newState.loading = true;\r\n if (newState.step < StepID.Solutions) {\r\n newState.fetchingNewSolutions = true;\r\n }\r\n return newState;\r\n }\r\n /**\r\n * Get step action used for handling errors\r\n */\r\n case 'get-step-error': {\r\n const newState = { ...state };\r\n return newState;\r\n }\r\n /**\r\n * Get step action used for handling success\r\n */\r\n case 'get-step-success': {\r\n const newState = { ...state };\r\n // YSP responses are wrapped in an additional layer //\r\n // TODO : Make this less hacky //\r\n if (newState.tab === Tab.YourSolutionPlus) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const responseAny = action.payload;\r\n if (responseAny.result) {\r\n newState.labels = responseAny.result.labels;\r\n }\r\n }\r\n else {\r\n newState.labels = action.payload.labels;\r\n }\r\n newState.loading = false;\r\n return newState;\r\n }\r\n /**\r\n * Set a form field to the given value\r\n */\r\n case 'set-form-field': {\r\n const newState = { ...state };\r\n const initialState = getInitialState({\r\n cultureCode: state.cultureCode,\r\n technicalLibraryUrl: state.technicalLibraryUrl,\r\n yourSolutionUrl: state.yourSolutionUrl,\r\n email: state.authenticatedUser?.email,\r\n userName: state.authenticatedUser?.userName,\r\n telephone: state.authenticatedUser?.telephone,\r\n companyName: state.authenticatedUser?.companyName,\r\n });\r\n // Only change if there's an actual change //\r\n if (!isEqual(newState.form[action.payload.field], action.payload.value)) {\r\n newState.form[action.payload.field] = action.payload.value;\r\n if (action.payload.invalidatedFields && action.payload.invalidatedFields.length > 0) {\r\n for (const field of action.payload.invalidatedFields) {\r\n newState.form[field] = initialState.form[field];\r\n }\r\n }\r\n // If we've updated a form field, and we're not on solutions (i.e. a change that will affect the solutions) //\r\n // set the form to dirty so we can trigger a re-fetch when the solutions step is reached again //\r\n if (!newState.formDirtyAfterSolutionsFetch && newState.progress < StepID.Solutions) {\r\n newState.formDirtyAfterSolutionsFetch = true;\r\n }\r\n if (action.payload.field === 'selectedSolutionName' &&\r\n !newState.hasChangedSelectedSolution) {\r\n newState.hasChangedSelectedSolution = true;\r\n }\r\n }\r\n return newState;\r\n }\r\n /**\r\n * Validates the user details\r\n */\r\n case 'validate-details': {\r\n const newState = { ...state };\r\n // Reset the errors before recalculating them\r\n newState.errors = {};\r\n // First Name\r\n if (newState.form.name === undefined || newState.form.name.length === 0) {\r\n newState.errors['name'] = 'custom.ism.details.name.empty';\r\n }\r\n // Email\r\n if (newState.form.email === undefined || newState.form.email.length === 0) {\r\n newState.errors['email'] = 'custom.ism.details.email.empty';\r\n }\r\n else if (newState.form.email.match(emailRegex) === null) {\r\n newState.errors['email'] = 'custom.ism.details.email.invalid';\r\n }\r\n // Confirm Email\r\n if (state.authenticatedUser === undefined &&\r\n (newState.form.confirmEmail?.toLowerCase() !== newState.form.email?.toLowerCase() ||\r\n newState.errors['email'] !== undefined)) {\r\n newState.errors['confirmEmail'] = 'custom.ism.details.email.mismatch';\r\n }\r\n // Scheme Name\r\n if (newState.form.schemeName === undefined || newState.form.schemeName.length === 0) {\r\n newState.errors['schemeName'] = 'custom.ism.details.scheme.empty';\r\n }\r\n // Site Name\r\n if (newState.form.siteName === undefined || newState.form.siteName.length === 0) {\r\n newState.errors['siteName'] = 'custom.ism.details.site.empty';\r\n }\r\n // Company Name\r\n if (newState.form.companyName === undefined || newState.form.companyName.length === 0) {\r\n newState.errors['companyName'] = 'custom.ism.details.company.empty';\r\n }\r\n // Telephone\r\n if (newState.form.telephone === undefined || newState.form.telephone?.length === 0) {\r\n newState.errors['telephone'] = 'custom.ism.details.telephone.empty';\r\n }\r\n else if (newState.form.telephone?.match(phoneRegex) === null) {\r\n newState.errors['telephone'] = 'custom.ism.details.telephone.invalid';\r\n }\r\n // Recaptcha\r\n if (newState.form.recaptchaToken === undefined ||\r\n newState.form.recaptchaToken === null ||\r\n newState.form.recaptchaToken.length === 0) {\r\n newState.errors['recaptchaToken'] = 'custom.ism.details.recaptcha.empty';\r\n }\r\n return newState;\r\n }\r\n case 'validate-depth': {\r\n const newState = { ...state };\r\n // Reset the errors before recalculating them\r\n newState.errors = {};\r\n if (newState.form.depth === undefined || newState.form.depth === 0) {\r\n newState.errors['depth'] = 'invalid';\r\n }\r\n return newState;\r\n }\r\n case 'validate-dimensions': {\r\n const newState = { ...state };\r\n // Reset the errors before recalculating them\r\n newState.errors = {};\r\n if (newState.form.width === undefined || newState.form.width === 0) {\r\n newState.errors['width'] = 'invalid';\r\n }\r\n if (newState.form.length === undefined || newState.form.length === 0) {\r\n newState.errors['length'] = 'invalid';\r\n }\r\n return newState;\r\n }\r\n /**\r\n * Validates the postcode\r\n */\r\n case 'validate-postcode': {\r\n const newState = { ...state };\r\n // Reset the errors before recalculating them\r\n newState.errors = {};\r\n // Check for a valid postcode\r\n if (newState.form.postCode === undefined) {\r\n newState.errors['postCode'] = 'custom.ism.postcode.empty';\r\n }\r\n else if (newState.form.postCode.indexOf(' ') === -1) {\r\n newState.errors['postCode'] = 'custom.ism.postcode.missingspace';\r\n }\r\n else if (newState.form.postCode.match(postcodeRegex) === null) {\r\n newState.errors['postCode'] = 'custom.ism.postcode.invalid';\r\n }\r\n return newState;\r\n }\r\n /**\r\n * Validates the selected type\r\n */\r\n case 'validate-type': {\r\n const newState = { ...state };\r\n // Reset the errors before recalculating them\r\n newState.errors = {};\r\n // Check for a valid postcode\r\n if (newState.form.type === undefined) {\r\n newState.errors['type'] = 'invalid';\r\n }\r\n return newState;\r\n }\r\n /**\r\n * Validates the selected type\r\n */\r\n case 'validate-sub-type': {\r\n const newState = { ...state };\r\n // Reset the errors before recalculating them\r\n newState.errors = {};\r\n // Check for a valid postcode\r\n if (newState.form.subType === undefined ||\r\n (newState.form.supportType === SupportType.Frame &&\r\n newState.form.subType === SolutionSubType.None)) {\r\n newState.errors['subType'] = 'invalid';\r\n }\r\n return newState;\r\n }\r\n /**\r\n * Validates groundwater\r\n */\r\n case 'validate-groundwater': {\r\n const newState = { ...state };\r\n // Reset the errors before recalculating them\r\n newState.errors = {};\r\n // Check for a valid postcode\r\n if (newState.form.groundwaterPresent === undefined) {\r\n newState.errors['groundwaterPresent'] = 'invalid';\r\n }\r\n return newState;\r\n }\r\n /**\r\n * Validates groundwater\r\n */\r\n case 'validate-groundwater-depth': {\r\n const newState = { ...state };\r\n // Reset the errors before recalculating them\r\n newState.errors = {};\r\n // Check for a valid Depth\r\n if (newState.form.groundwaterDepth === undefined || newState.form.groundwaterDepth < 0) {\r\n newState.errors['groundwaterDepth'] = 'invalid';\r\n }\r\n return newState;\r\n }\r\n /**\r\n * Validates soil type\r\n */\r\n case 'validate-soil-type': {\r\n const newState = { ...state };\r\n // Reset the errors before recalculating them\r\n newState.errors = {};\r\n // Check for a valid postcode\r\n if (newState.form.soilType === undefined) {\r\n newState.errors['soilType'] = 'invalid';\r\n }\r\n return newState;\r\n }\r\n /**\r\n * Validates support\r\n */\r\n case 'validate-support': {\r\n const newState = { ...state };\r\n // Reset the errors before recalculating them\r\n newState.errors = {};\r\n // Check for a valid postcode\r\n if (newState.form.supportType === undefined) {\r\n newState.errors['supportType'] = 'invalid';\r\n }\r\n return newState;\r\n }\r\n /**\r\n * Validates problematic ground\r\n */\r\n case 'validate-problematic-ground': {\r\n const newState = { ...state };\r\n // Reset the errors before recalculating them\r\n newState.errors = {};\r\n // Check for a valid postcode\r\n if (newState.form.problematicGround === undefined) {\r\n newState.errors['problematicGround'] = 'invalid';\r\n }\r\n return newState;\r\n }\r\n /**\r\n * Validates problematic ground\r\n */\r\n case 'validate-large-surcharges': {\r\n const newState = { ...state };\r\n // Reset the errors before recalculating them\r\n newState.errors = {};\r\n // Check for a valid postcode\r\n if (newState.form.largeSurcharges === undefined) {\r\n newState.errors['largeSurcharges'] = 'invalid';\r\n }\r\n return newState;\r\n }\r\n /**\r\n * Validates problematic ground\r\n */\r\n case 'validate-sloping-ground': {\r\n const newState = { ...state };\r\n // Reset the errors before recalculating them\r\n newState.errors = {};\r\n // Check for a valid postcode\r\n if (newState.form.slopingGround === undefined) {\r\n newState.errors['slopingGround'] = 'invalid';\r\n }\r\n return newState;\r\n }\r\n /**\r\n * Validates problematic ground\r\n */\r\n case 'validate-adjacent-water': {\r\n const newState = { ...state };\r\n // Reset the errors before recalculating them\r\n newState.errors = {};\r\n // Check for a valid postcode\r\n if (newState.form.adjacentWater === undefined) {\r\n newState.errors['adjacentWater'] = 'invalid';\r\n }\r\n return newState;\r\n }\r\n /**\r\n * Validates the sheeted solution type\r\n */\r\n case 'validate-sheeted-solution-type': {\r\n const newState = { ...state };\r\n // Reset the errors before recalculating them\r\n newState.errors = {};\r\n // Check for a valid postcode\r\n if (newState.form.sheetedSolutionType === undefined) {\r\n newState.errors['sheetedSolutionType'] = 'invalid';\r\n }\r\n return newState;\r\n }\r\n case 'set-modal': {\r\n const newState = { ...state };\r\n newState.modal = action.payload;\r\n return newState;\r\n }\r\n case 'set-footer': {\r\n const newState = { ...state };\r\n newState.stepFooter = { ...newState.stepFooter, ...action.payload };\r\n if (!action.payload.type) {\r\n newState.stepFooter.type = 'default';\r\n }\r\n return newState;\r\n }\r\n case 'set-tab': {\r\n const newState = { ...state };\r\n newState.tab = action.payload;\r\n if (newState.tab === Tab.YourSolution) {\r\n newState.steps = YourSolutionProgression;\r\n }\r\n else {\r\n newState.steps = YourSolutionPlusProgression;\r\n }\r\n return newState;\r\n }\r\n case 'toggle-locked': {\r\n const newState = { ...state };\r\n newState.scrollLocked = !newState.scrollLocked;\r\n return newState;\r\n }\r\n case 'set-locked': {\r\n const newState = { ...state };\r\n newState.scrollLocked = action.payload;\r\n return newState;\r\n }\r\n case 'set-soil-profiles': {\r\n const newState = { ...state };\r\n newState.soilProfiles = action.payload;\r\n return newState;\r\n }\r\n case 'set-surcharges': {\r\n const newState = { ...state };\r\n newState.surcharges = action.payload;\r\n return newState;\r\n }\r\n /**\r\n * Submit YSP success\r\n */\r\n case 'submit-ysp-success': {\r\n const newState = { ...state };\r\n newState.yspResults = action.payload;\r\n newState.loadingResults = false;\r\n newState.formDirtyAfterSolutionsFetch = false;\r\n return newState;\r\n }\r\n /**\r\n * Submit Solution success\r\n */\r\n case 'submit-solution-success': {\r\n const newState = { ...state };\r\n newState.selectedSolution = action.payload;\r\n newState.loadingResults = false;\r\n newState.hasChangedSelectedSolution = false;\r\n newState.fetchingNewSolutions = false;\r\n return newState;\r\n }\r\n case 'set-mobile': {\r\n const newState = { ...state };\r\n newState.mobile = action.payload;\r\n return newState;\r\n }\r\n case 'set-zoom-modal': {\r\n const newState = { ...state };\r\n newState.zoomModalOpen = action.payload;\r\n return newState;\r\n }\r\n case 'set-soil-modal': {\r\n const newState = { ...state };\r\n newState.soilModalOpen = action.payload;\r\n return newState;\r\n }\r\n case 'swap-to-ys-plus': {\r\n // This will swap the user over from YS to YS+ //\r\n const newState = { ...state };\r\n newState.step = StepID.TermsAndConditions;\r\n newState.tab = Tab.YourSolutionPlus;\r\n newState.steps = YourSolutionPlusProgression;\r\n newState.progress = 0;\r\n newState.globalStep = 0;\r\n return newState;\r\n }\r\n case 'set-has-added-default-surcharge': {\r\n const newState = { ...state };\r\n newState.hasAddedDefaultSurcharge = action.payload;\r\n return newState;\r\n }\r\n }\r\n}\r\n","import React, { createContext, useContext, useReducer } from 'react';\r\nimport reducer from './reducer';\r\nimport { getInitialState } from './types';\r\nconst YSContext = createContext({});\r\nexport const YSContextProvider = (props) => {\r\n const [state, dispatch] = useReducer(reducer, getInitialState(props));\r\n return React.createElement(YSContext.Provider, { value: { state, dispatch } }, props.children);\r\n};\r\nexport const useYSPContext = () => {\r\n const contextValue = useContext(YSContext);\r\n contextValue.setFormField = (field, value, invalidatedFields) => {\r\n contextValue.dispatch({\r\n type: 'set-form-field',\r\n payload: {\r\n field,\r\n value,\r\n invalidatedFields,\r\n },\r\n });\r\n };\r\n return contextValue;\r\n};\r\n","var _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgIconCross(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 21.735 21.735\"\n }, props), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"Group 88\",\n fill: \"none\",\n stroke: \"currentcolor\",\n strokeLinecap: \"round\",\n strokeWidth: 2\n }, /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Line 14\",\n d: \"M1.414 1.414L20.32 20.32\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Line 15\",\n d: \"M1.414 20.32L20.32 1.414\"\n }))));\n}\n\nexport default __webpack_public_path__ + \"43cb74bed28e93deaa6712f1d4e50996.svg\";\nexport { SvgIconCross as ReactComponent };","export default __webpack_public_path__ + \"f8761a1b4e54a86d536ffc13b4135b36.png\";","import brand from '@helpers/brand';\r\nimport { Device, from, until } from '@helpers/media';\r\nimport styled, { css } from 'styled-components';\r\nimport { SharedStyles } from '@ys/Components/Shared.styles';\r\nimport { m } from 'framer-motion';\r\nconst Container = styled.div `\r\n position: fixed;\r\n height: var(--ysp-footer-height-mobile);\r\n background-color: ${brand.primary.light};\r\n display: flex;\r\n justify-content: space-between;\r\n pointer-events: none;\r\n\r\n left: 0px;\r\n bottom: 0px;\r\n z-index: 101;\r\n width: 100%;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n transition: opacity 0.25s ease-in-out;\r\n\r\n ${({ isLandingPage }) => isLandingPage &&\r\n css `\r\n justify-content: flex-end;\r\n `};\r\n\r\n ${({ zoomModalOpen }) => zoomModalOpen &&\r\n css `\r\n opacity: 0;\r\n pointer-events: none;\r\n `}\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n background-color: transparent;\r\n width: calc(100% - 120px);\r\n height: var(--ysp-footer-height);\r\n left: 60px;\r\n bottom: 60px;\r\n }\r\n`;\r\nconst ButtonMotionWrapper = styled(m.div).attrs(() => ({\r\n initial: 'hidden',\r\n animate: 'visible',\r\n exit: 'hidden',\r\n variants: {\r\n hidden: {\r\n y: 55,\r\n opacity: 0,\r\n },\r\n visible: {\r\n opacity: 1,\r\n y: 0,\r\n },\r\n },\r\n transition: {\r\n duration: 0.75,\r\n },\r\n})) `\r\n pointer-events: all;\r\n height: 100%;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n display: flex;\r\n width: 100%;\r\n\r\n a {\r\n margin-left: auto;\r\n padding-right: 5px;\r\n }\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n width: max-content;\r\n }\r\n`;\r\nexport const Button = styled(SharedStyles.Button) `\r\n width: max-content;\r\n\r\n ${({ footerPrevious, footerNext }) => (footerPrevious || footerNext) &&\r\n css `\r\n top: 50%;\r\n transform: translateY(-50%);\r\n `};\r\n\r\n ${({ footerPrevious }) => footerPrevious &&\r\n css `\r\n &:disabled {\r\n background-color: unset;\r\n }\r\n\r\n background-color: unset;\r\n @media ${from(Device.TabletLarge)} {\r\n color: ${brand.primary.alt};\r\n }\r\n left: 20px;\r\n `};\r\n\r\n ${({ footerNext }) => footerNext &&\r\n css `\r\n right: 20px;\r\n `}\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n height: 100%;\r\n left: 0;\r\n right: 0;\r\n width: 100%;\r\n border-radius: 0px;\r\n\r\n ${({ footerNext }) => footerNext &&\r\n css `\r\n padding: 0px 25px 0px 10px;\r\n text-align: right;\r\n justify-content: flex-end;\r\n\r\n svg {\r\n right: 0;\r\n }\r\n `};\r\n\r\n ${({ footerPrevious }) => footerPrevious &&\r\n css `\r\n text-align: left;\r\n padding: 0px 10px 0px 25px;\r\n svg {\r\n left: 0;\r\n }\r\n `};\r\n\r\n svg {\r\n top: calc(50% + 1px); // Idk why but it seems to be about 1px off and it annoys me //\r\n height: 16px;\r\n }\r\n }\r\n\r\n ${({ inverse }) => inverse &&\r\n css `\r\n background-color: ${brand.white} !important;\r\n border-color: ${brand.primary.alt} !important;\r\n color: ${brand.primary.alt} !important;\r\n `};\r\n`;\r\nconst ButtonSmall = styled(Button) `\r\n padding: 4px 15px;\r\n font-size: 20px;\r\n`;\r\nconst MobileButton = styled.div ``;\r\nexport const StepFooterStyles = {\r\n Container,\r\n Button,\r\n ButtonMotionWrapper,\r\n ButtonSmall,\r\n MobileButton,\r\n};\r\n","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport styled from 'styled-components';\r\nconst Container = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n gap: 5px;\r\n font-size: 17px;\r\n\r\n p {\r\n margin-bottom: 10px;\r\n color: ${brand.black}\r\n }\r\n\r\n label {\r\n ${fonts.DaxPro.Medium};\r\n }\r\n\r\n textarea {\r\n ${fonts.DaxPro.Regular};\r\n font-size: 17px;\r\n }\r\n\r\n small {\r\n font-size: 13px;\r\n }\r\n`;\r\nconst Heading = styled.h3 `\r\n color: ${brand.primary.alt};\r\n font-size: 30px;\r\n font-weight: bold;\r\n`;\r\nconst SuccessText = styled.div `\r\n color: ${brand.black};\r\n`;\r\nexport const EngineerCheckStyles = {\r\n Container,\r\n SuccessText,\r\n Heading,\r\n};\r\n","import ApiService from '@core/api/services/ApiService';\r\nimport React, { useState } from 'react';\r\nimport { useYSPContext } from '../../../Context/YSContext';\r\nimport { Button } from '../../StepFooter/StepFooter.styles';\r\nimport { EngineerCheckStyles as S } from './EngineerCheck.styles';\r\nconst EngineerCheck = (props) => {\r\n const [comment, setComment] = useState();\r\n const [file, setFile] = useState();\r\n const [submitting, setSubmitting] = useState(false);\r\n const [success, setSuccess] = useState();\r\n const { state: { selectedSolution }, } = useYSPContext();\r\n const handleSubmit = async () => {\r\n if (selectedSolution) {\r\n setSubmitting(true);\r\n const response = await ApiService.request({\r\n controller: 'YSP',\r\n slug: 'engineer',\r\n method: 'POST',\r\n isMultipartFormData: true,\r\n files: file ? [file] : null,\r\n params: {\r\n comment,\r\n designRef: selectedSolution.designReference,\r\n },\r\n });\r\n setSuccess(response.result);\r\n setSubmitting(false);\r\n }\r\n };\r\n return (React.createElement(S.Container, null, success === true ? (React.createElement(S.SuccessText, { dangerouslySetInnerHTML: { __html: props.labels['engineer.modal.success'] } })) : (React.createElement(React.Fragment, null,\r\n React.createElement(S.Heading, null, props.labels['engineer.modal.heading']),\r\n React.createElement(\"div\", { dangerouslySetInnerHTML: { __html: props.labels['engineer.modal.content'] } }),\r\n React.createElement(\"label\", { htmlFor: \"engineercheck-comment\" }, \"Comments*:\"),\r\n React.createElement(\"textarea\", { value: comment, onChange: (e) => setComment(e.currentTarget.value), id: \"engineercheck-comment\", rows: 4 }),\r\n React.createElement(\"br\", null),\r\n React.createElement(\"label\", { htmlFor: \"engineercheck-file\" }, \"File:\"),\r\n React.createElement(\"input\", { onChange: (e) => e.currentTarget.files && setFile(e.currentTarget.files[0]), type: \"file\", id: \"engineercheck-file\", accept: \".pdf, .docx\" }),\r\n React.createElement(\"small\", null, \"Please upload a PDF or Word document (.docx).\"),\r\n React.createElement(\"hr\", null),\r\n React.createElement(Button, { disabled: submitting || !comment, onClick: () => handleSubmit() }, \"Submit\")))));\r\n};\r\nexport default EngineerCheck;\r\n","import brand from '@helpers/brand';\r\nimport { Device, from } from '@helpers/media';\r\nimport { m } from 'framer-motion';\r\nimport styled, { css } from 'styled-components';\r\nimport { WYSIWYGStyles } from '../Shared.styles';\r\nimport { fonts } from '@helpers/fonts';\r\nconst BoxModal = styled(m.div).attrs(() => ({\r\n initial: 'hidden',\r\n animate: 'visible',\r\n exit: 'hidden',\r\n variants: {\r\n hidden: {\r\n opacity: 0,\r\n transition: {\r\n delay: 0.15,\r\n },\r\n },\r\n visible: {\r\n opacity: 1,\r\n },\r\n },\r\n transition: {\r\n duration: 0.35,\r\n },\r\n})) `\r\n position: fixed;\r\n background-color: rgba(255, 255, 255, 0.84);\r\n top: 18px;\r\n left: 0;\r\n width: 100%;\r\n height: calc(100% - 50px - 18px);\r\n padding: 16px;\r\n\r\n z-index: 103;\r\n flex-direction: column;\r\n align-items: center;\r\n display: none;\r\n\r\n @media ${from(Device.Tablet)} {\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n overflow-y: unset;\r\n }\r\n\r\n ${({ active }) => active &&\r\n css `\r\n display: flex;\r\n `}\r\n\r\n ${({ small }) => small &&\r\n css `\r\n ${() => BoxModalInner} {\r\n max-width: 460px;\r\n }\r\n `};\r\n`;\r\nconst BoxModalInner = styled(m.div).attrs(() => ({\r\n initial: 'hidden',\r\n animate: 'visible',\r\n exit: 'hidden',\r\n variants: {\r\n hidden: {\r\n y: 100,\r\n opacity: 0,\r\n },\r\n visible: {\r\n y: 0,\r\n opacity: 1,\r\n transition: {\r\n delay: 0.15,\r\n },\r\n },\r\n },\r\n transition: {\r\n duration: 0.35,\r\n },\r\n})) `\r\n max-width: 760px;\r\n width: 100%;\r\n background-color: ${brand.white};\r\n padding: 20px;\r\n border-bottom: 7px solid ${brand.primary.light};\r\n margin: auto;\r\n display: flex;\r\n box-shadow: 0px 3px 6px 2px rgb(0 0 0 / 25%);\r\n flex-direction: column;\r\n flex-wrap: nowrap;\r\n position: relative;\r\n max-height: 100%;\r\n overflow-y: auto;\r\n\r\n ${({ fullWidth }) => fullWidth &&\r\n css `\r\n flex-direction: column !important;\r\n `}\r\n`;\r\nconst BoxModalClose = styled.div `\r\n position: absolute;\r\n top: 12px;\r\n right: 12px;\r\n cursor: pointer;\r\n\r\n svg {\r\n width: 18px;\r\n height: 18px;\r\n }\r\n`;\r\nconst BoxModalMedia = styled.div `\r\n max-width: 260px;\r\n flex: 0 0 auto;\r\n\r\n @media ${from(Device.Tablet)} {\r\n margin: 0 auto;\r\n }\r\n\r\n ${({ fullWidth }) => fullWidth &&\r\n css `\r\n width: 100%;\r\n max-width: 700px;\r\n `}\r\n`;\r\nconst BoxModalCopy = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n gap: 20px;\r\n\r\n ${WYSIWYGStyles}\r\n\r\n padding: 25px 0px;\r\n color: #666666;\r\n line-height: 20px;\r\n`;\r\nconst ResetButton = styled.div ``;\r\nconst ConfirmText = styled.div `\r\n ${fonts.DaxPro.Medium};\r\n font-size: 20px;\r\n margin: 20px 0px 30px;\r\n text-align: center;\r\n`;\r\nconst Buttons = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n gap: 10px;\r\n\r\n button:last-of-type {\r\n background-color: ${brand.divisionTags.sandhurst};\r\n }\r\n`;\r\nexport const ModalStyles = {\r\n BoxModal,\r\n BoxModalInner,\r\n BoxModalClose,\r\n BoxModalMedia,\r\n BoxModalCopy,\r\n ResetButton,\r\n Buttons,\r\n ConfirmText,\r\n};\r\n","import { ReactComponent as Close } from '@img/ysp/icon-cross.svg';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport React from 'react';\r\nimport EngineerCheck from './EngineerCheck/EngineerCheck';\r\nimport { ModalStyles as S } from './Modal.styles';\r\nconst Modal = ({ modalScrollable, modal }) => {\r\n const { dispatch } = useYSPContext();\r\n return (React.createElement(S.BoxModal, { small: modal.size === 'small', active: true },\r\n React.createElement(S.BoxModalInner, { fullWidth: modal.fullWidth, ref: modalScrollable },\r\n React.createElement(S.BoxModalClose, { onClick: () => dispatch({ type: 'set-modal', payload: undefined }) },\r\n React.createElement(Close, null)),\r\n modal.imageUrl && (React.createElement(S.BoxModalMedia, { fullWidth: modal.fullWidth },\r\n React.createElement(\"img\", { src: modal.imageUrl, alt: modal.title, style: { objectFit: 'cover' } }))),\r\n modal.engineerCheckLabels ? (React.createElement(EngineerCheck, { labels: {\r\n 'engineer.modal.heading': modal.engineerCheckLabels.heading,\r\n 'engineer.modal.content': modal.engineerCheckLabels.content,\r\n 'engineer.modal.success': modal.engineerCheckLabels.success,\r\n } })) : (React.createElement(S.BoxModalCopy, null,\r\n modal.title && modal.title.length && React.createElement(\"h2\", null, modal.title),\r\n modal.description && (React.createElement(\"div\", { style: { display: 'contents' }, dangerouslySetInnerHTML: { __html: modal.description } })))))));\r\n};\r\nexport default Modal;\r\n","import brand from '@helpers/brand';\r\nimport { m } from 'framer-motion';\r\nimport styled, { css } from 'styled-components';\r\nconst Container = styled.div `\r\n display: flex;\r\n flex-direction: row;\r\n flex-wrap: nowrap;\r\n height: var(--ysp-steps-height);\r\n position: relative;\r\n`;\r\nconst Step = styled.div `\r\n flex: 1 1 auto;\r\n background-color: #ccddab;\r\n width: 100%;\r\n height: 100%;\r\n margin-right: 4px;\r\n position: relative;\r\n\r\n &::after {\r\n content: '';\r\n position: absolute;\r\n z-index: 20;\r\n width: 4px;\r\n height: 100%;\r\n top: 0;\r\n left: 100%;\r\n background-color: ${brand.white};\r\n }\r\n\r\n ${({ hideEnd }) => hideEnd &&\r\n css `\r\n margin-right: 0px;\r\n &::after {\r\n display: none;\r\n }\r\n `}\r\n`;\r\nconst StepBackground = styled(m.div).attrs(({ step, steps }) => ({\r\n initial: 'hidden',\r\n animate: 'visible',\r\n exit: 'hidden',\r\n variants: {\r\n hidden: {\r\n width: 0,\r\n },\r\n visible: {\r\n width: `calc((100dvw / ${steps}) * ${step})`,\r\n },\r\n },\r\n transition: {\r\n type: 'tween',\r\n duration: 1,\r\n ease: 'easeInOut',\r\n },\r\n})) `\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n height: 100%;\r\n overflow: hidden;\r\n background-color: ${brand.primary.dark};\r\n cursor: pointer;\r\n`;\r\nexport const StepHeaderStyles = {\r\n Container,\r\n Step,\r\n StepBackground,\r\n};\r\n","import React, { useMemo } from 'react';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport { StepHeaderStyles as S } from './StepHeader.styles';\r\nimport { AnimatePresence } from 'framer-motion';\r\nconst StepHeader = () => {\r\n const { state } = useYSPContext();\r\n const stepsWithTitle = useMemo(() => {\r\n return state.steps.filter((x) => x.title && x.title !== 'Home');\r\n }, [state.steps]);\r\n return (React.createElement(S.Container, null,\r\n stepsWithTitle.map((x, i) => (React.createElement(S.Step, { key: x.id, hideEnd: i === stepsWithTitle.length - 1 }))),\r\n React.createElement(AnimatePresence, null,\r\n React.createElement(S.StepBackground, { steps: stepsWithTitle.length, step: state.progress + 1 }))));\r\n};\r\nexport default StepHeader;\r\n","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport { Device, from, until } from '@helpers/media';\r\nimport { m } from 'framer-motion';\r\nimport styled, { css } from 'styled-components';\r\nconst Container = styled.div `\r\n align-self: center;\r\n cursor: pointer;\r\n user-select: none;\r\n position: relative;\r\n z-index: 103;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n justify-content: center;\r\n flex-direction: column;\r\n align-items: center;\r\n width: 100%;\r\n display: flex;\r\n transition: opacity 0.25s ease-in-out;\r\n\r\n ${({ zoomModalOpen }) => zoomModalOpen &&\r\n css `\r\n opacity: 0;\r\n pointer-events: none;\r\n `}\r\n }\r\n\r\n ${({ active }) => active &&\r\n css `\r\n ${() => Items} {\r\n display: block;\r\n }\r\n `}\r\n`;\r\nconst BlurLine = styled.div `\r\n box-shadow: 0px 5px 4px -3px rgba(0, 0, 0, 0.75);\r\n height: 7px;\r\n width: 100%;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n display: none;\r\n }\r\n`;\r\nconst SelectedStep = styled.div `\r\n font-size: 15px;\r\n padding-top: 25px;\r\n ${fonts.DaxPro.Regular};\r\n display: flex;\r\n align-items: center;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n padding-top: 10px;\r\n font-size: 18px;\r\n }\r\n\r\n svg {\r\n width: 22px;\r\n height: 15px;\r\n color: ${brand.primary.light};\r\n margin-left: 8px;\r\n transform: rotate(90deg);\r\n transition: transform 0.15s ease-in-out;\r\n\r\n ${({ isOpen }) => isOpen &&\r\n css `\r\n transform: rotate(-90deg);\r\n `}\r\n }\r\n`;\r\nconst Items = styled(m.div).attrs(({ active }) => ({\r\n initial: 'hidden',\r\n animate: active ? 'visible' : 'hidden',\r\n variants: {\r\n hidden: {\r\n height: 0,\r\n overflow: 'hidden',\r\n },\r\n visible: {\r\n height: 'auto',\r\n },\r\n },\r\n transition: {\r\n type: 'tween',\r\n duration: 0.35,\r\n },\r\n})) `\r\n display: none;\r\n max-width: 415px;\r\n width: calc(100vw - 36px);\r\n max-height: 50vh;\r\n overflow-y: auto;\r\n position: absolute;\r\n top: calc(100% + 15px);\r\n left: 50%;\r\n transform: translateX(-50%);\r\n background-color: ${brand.white};\r\n`;\r\nconst ItemsInner = styled.div `\r\n border: 1px solid #c7c7c7;\r\n`;\r\nconst Step = styled.div `\r\n padding: 12px 10px;\r\n opacity: 0.5;\r\n transition: opacity 0.15s ease-in-out, background-color 0.1s ease-in-out;\r\n background-color: ${brand.grey.grey96};\r\n\r\n ${({ active }) => active &&\r\n css `\r\n opacity: 1;\r\n text-decoration: underline;\r\n `};\r\n\r\n ${({ completed }) => completed &&\r\n css `\r\n opacity: 1;\r\n `};\r\n\r\n &:hover {\r\n opacity: 1;\r\n background-color: ${brand.grey.grey89};\r\n }\r\n`;\r\nexport const StepPickerStyles = {\r\n Container,\r\n SelectedStep,\r\n Items,\r\n Step,\r\n ItemsInner,\r\n BlurLine,\r\n};\r\n","import { isSSR } from '@helpers/ssr';\r\nimport React, { useEffect, useMemo, useState } from 'react';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport { StepPickerStyles as S } from './StepPicker.styles';\r\nimport { ReactComponent as Chevron } from '@img/icons/chevron-right.svg';\r\nimport { StepID } from '@ys/Context/types';\r\nimport { AnimatePresence } from 'framer-motion';\r\nconst StepPicker = () => {\r\n const [isOpen, setIsOpen] = useState(false);\r\n const { state, dispatch } = useYSPContext();\r\n const filteredSteps = state.steps.filter((x) => x.title !== undefined);\r\n const currentStep = useMemo(() => {\r\n const currentGlobalStep = state.steps[state.globalStep];\r\n if (currentGlobalStep.title) {\r\n return currentGlobalStep;\r\n }\r\n else {\r\n let step = undefined;\r\n let i = state.globalStep - 1;\r\n do {\r\n const current = state.steps[i];\r\n if (current.title) {\r\n step = current;\r\n }\r\n if (i <= 0 && !step) {\r\n // Should never reach here but just in case //\r\n step = {\r\n id: -1,\r\n step: StepID.Landing,\r\n type: 'default',\r\n title: '???',\r\n };\r\n }\r\n i--;\r\n } while (step === undefined);\r\n return step;\r\n }\r\n }, [state.globalStep]);\r\n const handleWindowClick = () => {\r\n setIsOpen(false);\r\n };\r\n useEffect(() => {\r\n if (!isSSR()) {\r\n window.addEventListener('click', handleWindowClick);\r\n }\r\n return () => window.removeEventListener('click', handleWindowClick);\r\n }, []);\r\n if (currentStep === undefined) {\r\n return null;\r\n }\r\n return (React.createElement(S.Container, { zoomModalOpen: state.zoomModalOpen, active: isOpen, onClick: (e) => {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n setIsOpen(!isOpen);\r\n } },\r\n React.createElement(S.BlurLine, null),\r\n React.createElement(S.SelectedStep, { isOpen: isOpen },\r\n currentStep.title,\r\n React.createElement(Chevron, null)),\r\n React.createElement(AnimatePresence, null,\r\n React.createElement(S.Items, { key: 'StepPicker', active: isOpen },\r\n React.createElement(S.ItemsInner, null, filteredSteps.map((step) => (React.createElement(S.Step, { key: step.id, active: step.id === currentStep.id, completed: step.id < currentStep.id, onClick: (e) => {\r\n e.preventDefault();\r\n if (step.id >= currentStep.id) {\r\n return;\r\n }\r\n dispatch({ type: 'go-to-step', payload: step.id });\r\n } }, step.title))))))));\r\n};\r\nexport default StepPicker;\r\n","var _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgIconInfo(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n stroke: \"currentColor\",\n fill: \"currentColor\",\n strokeWidth: 0,\n viewBox: \"0 0 1024 1024\",\n height: \"1em\",\n width: \"1em\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\",\n stroke: \"none\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M464 336a48 48 0 1096 0 48 48 0 10-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z\",\n stroke: \"none\"\n })));\n}\n\nexport default __webpack_public_path__ + \"0c8e59ac31abcea57eab2be80cdfc32e.svg\";\nexport { SvgIconInfo as ReactComponent };","import { fonts } from '@helpers/fonts';\r\nimport styled, { css } from 'styled-components';\r\nimport { m } from 'framer-motion';\r\nimport brand from '@helpers/brand';\r\nimport { Device, from } from '@helpers/media';\r\nconst Container = styled(m.div).attrs(() => ({\r\n initial: 'hidden',\r\n animate: 'visible',\r\n exit: 'hidden',\r\n variants: {\r\n hidden: {\r\n y: -25,\r\n opacity: 0,\r\n },\r\n visible: {\r\n y: 0,\r\n opacity: 1,\r\n },\r\n },\r\n transition: {\r\n duration: 1,\r\n },\r\n})) `\r\n height: 100%;\r\n width: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 15px;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n gap: 25px;\r\n }\r\n`;\r\nconst Text = styled(m.div) `\r\n font-size: 50px !important;\r\n line-height: 100% !important;\r\n user-select: none;\r\n ${fonts.DaxPro.Bold}\r\n\r\n @media ${from(Device.Tablet)} {\r\n font-size: 75px !important;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n font-size: 100px !important;\r\n }\r\n`;\r\nconst FadeTextWrapper = styled.div `\r\n display: flex;\r\n`;\r\nconst TopText = styled(Text) `\r\n font-size: 35px !important;\r\n\r\n @media ${from(Device.Tablet)} {\r\n font-size: 45px !important;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n font-size: 50px !important;\r\n }\r\n`;\r\nconst Letter = styled(Text).attrs(({ i }) => ({\r\n animate: 'animation',\r\n variants: {\r\n animation: {\r\n opacity: [0, 1, 0],\r\n transition: {\r\n type: 'tween',\r\n opacity: {\r\n delay: i / 15 + 0.6,\r\n duration: 2,\r\n repeat: Infinity,\r\n },\r\n },\r\n },\r\n },\r\n})) `\r\n ${({ colour }) => colour === 'green'\r\n ? css `\r\n color: ${brand.primary.alt};\r\n `\r\n : css `\r\n color: ${brand.grey.grey20};\r\n `}\r\n\r\n ${({ last }) => last &&\r\n css `\r\n color: ${brand.divisionTags.sandhurst};\r\n position: relative;\r\n top: -10px;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n top: -15px;\r\n }\r\n `};\r\n`;\r\nexport const LoadingStyles = {\r\n Container,\r\n Text,\r\n Letter,\r\n TopText,\r\n FadeTextWrapper,\r\n};\r\n","import { withMotion } from '@hoc/withMotion';\r\nimport React from 'react';\r\nimport { useYSPContext } from '../../Context/YSContext';\r\nimport { Tab } from '../../Context/types';\r\nimport { LoadingStyles as S } from './Loading.styles';\r\nconst Loading = () => {\r\n const { state } = useYSPContext();\r\n return (React.createElement(S.Container, null,\r\n React.createElement(S.TopText, null, \"Loading\"),\r\n React.createElement(S.FadeTextWrapper, null,\r\n 'Your'.split('').map((x, i) => (React.createElement(S.Letter, { colour: \"grey\", key: `Your_${i}`, i: i }, x))),\r\n (state.tab === Tab.YourSolution ? 'Solution' : 'Solution+').split('').map((x, i) => (React.createElement(S.Letter, { last: state.tab === Tab.YourSolutionPlus && x === '+', colour: \"green\", key: `Solution_${i}`, i: i + 4 }, x))))));\r\n};\r\nexport default withMotion(Loading);\r\n","import { m } from 'framer-motion';\r\nimport styled from 'styled-components';\r\nconst Container = styled(m.div).attrs(() => ({\r\n initial: 'hidden',\r\n animate: 'visible',\r\n exit: 'hidden',\r\n variants: {\r\n hidden: {\r\n opacity: 0,\r\n scale: 0.75,\r\n },\r\n visible: {\r\n opacity: 1,\r\n scale: 1,\r\n },\r\n },\r\n})) `\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n`;\r\nexport const StepLoadingStyles = {\r\n Container,\r\n};\r\n","import Loader from '@stories/Components/Misc/Loader/Loader';\r\nimport React from 'react';\r\nimport { StepLoadingStyles as S } from './StepLoading.styles';\r\nconst StepLoading = () => {\r\n return (React.createElement(S.Container, null,\r\n React.createElement(Loader, null)));\r\n};\r\nexport default StepLoading;\r\n","import brand from '@helpers/brand';\r\nimport { Device, from } from '@helpers/media';\r\nimport { m } from 'framer-motion';\r\nimport styled, { css } from 'styled-components';\r\nconst Container = styled(m.div).attrs(() => ({\r\n layout: true,\r\n})) `\r\n width: 100%;\r\n display: flex;\r\n flex-wrap: wrap;\r\n flex-direction: row;\r\n justify-content: center;\r\n`;\r\nconst Item = styled.div `\r\n border: 1px solid #c7c7c7;\r\n padding: 14px;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n cursor: pointer;\r\n user-select: none;\r\n margin-bottom: 18px;\r\n align-self: center;\r\n margin-right: 12px;\r\n position: relative;\r\n\r\n ${({ invalid }) => invalid &&\r\n css `\r\n border: 1px solid ${brand.red.base};\r\n `}\r\n\r\n ${({ active }) => active &&\r\n css `\r\n border: 1px solid ${brand.primary.light};\r\n\r\n ${() => Value}::after {\r\n opacity: 1;\r\n transform: translate(-50%, -50%) scale(1);\r\n }\r\n `};\r\n\r\n &:last-child {\r\n margin-right: 0px;\r\n }\r\n\r\n @media ${from(Device.MobileMedium)} {\r\n align-self: auto;\r\n padding: 20px;\r\n }\r\n`;\r\nconst BottomEffect = styled(m.div) `\r\n top: 100%;\r\n left: -1px;\r\n position: absolute;\r\n width: calc(100% + 2px);\r\n height: 6px;\r\n background-color: ${brand.primary.light};\r\n`;\r\nconst Value = styled.div `\r\n width: 24px;\r\n height: 24px;\r\n border: 1px solid ${brand.grey.grey20};\r\n border-radius: 50%;\r\n margin-right: 7px;\r\n position: relative;\r\n\r\n &::after {\r\n content: '';\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n width: 15px;\r\n height: 15px;\r\n background-color: ${brand.primary.light};\r\n border-radius: 50%;\r\n transform: translate(-50%, -50%) scale(0.5);\r\n opacity: 0;\r\n transition: opacity 0.15s ease-in-out, transform 0.25s ease-in-out;\r\n }\r\n`;\r\nconst Label = styled.div `\r\n font-size: 14px;\r\n font-weight: normal;\r\n\r\n @media ${from(Device.MobileMedium)} {\r\n font-size: 17px;\r\n }\r\n`;\r\nexport const RadiosStyles = {\r\n Container,\r\n Item,\r\n Value,\r\n Label,\r\n BottomEffect,\r\n};\r\n","import { withMotionMax } from '@hoc/withMotionMax';\r\nimport { AnimateSharedLayout } from 'framer-motion';\r\nimport React from 'react';\r\nimport { RadiosStyles as S } from './Radios.styles';\r\nconst defaultOptions = [\r\n {\r\n label: 'Yes',\r\n value: true,\r\n },\r\n {\r\n label: 'No',\r\n value: false,\r\n },\r\n];\r\nconst Radios = ({ error, value, options = defaultOptions, setValue, }) => {\r\n return (React.createElement(AnimateSharedLayout, null,\r\n React.createElement(S.Container, null, options.map((x) => {\r\n return (React.createElement(S.Item, { key: x.label, active: value !== undefined && x.value === value, invalid: error !== undefined, onClick: () => setValue(x.value) },\r\n React.createElement(S.Value, null),\r\n React.createElement(S.Label, null, x.label),\r\n value !== undefined && x.value === value && (React.createElement(S.BottomEffect, { layoutId: \"BottomEffect\" }))));\r\n }))));\r\n};\r\nexport default withMotionMax(Radios);\r\n","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport { Device, from } from '@helpers/media';\r\nimport styled, { css } from 'styled-components';\r\nimport { m } from 'framer-motion';\r\nconst Form = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n max-width: 750px;\r\n margin: 0 auto;\r\n width: 100%;\r\n line-height: 20px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n position: relative;\r\n z-index: 1;\r\n }\r\n`;\r\nconst FormRow = styled.div `\r\n width: 100%;\r\n max-width: 304px;\r\n margin: 5px 0px;\r\n\r\n ${({ wide }) => wide &&\r\n css `\r\n max-width: 420px;\r\n `}\r\n\r\n ${({ split }) => split &&\r\n css `\r\n display: flex;\r\n flex-direction: row;\r\n flex-wrap: wrap;\r\n `};\r\n\r\n ${({ xCentered }) => xCentered &&\r\n css `\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n `};\r\n`;\r\nconst FormControl = styled.div `\r\n padding: 5px 0px;\r\n margin: 0 auto;\r\n position: relative;\r\n\r\n ${({ fullWidth }) => fullWidth &&\r\n css `\r\n margin: unset;\r\n `}\r\n\r\n ${({ restrictWidth }) => restrictWidth &&\r\n css `\r\n max-width: 300px;\r\n width: 100%;\r\n `}\r\n\r\n ${({ center }) => center &&\r\n css `\r\n align-items: center;\r\n `}\r\n\r\n label {\r\n display: block;\r\n font-weight: bold;\r\n ${fonts.DaxPro.Bold};\r\n color: ${brand.grey.grey20};\r\n max-width: 100%;\r\n margin-bottom: 5px;\r\n }\r\n\r\n ${() => FormError} {\r\n display: none;\r\n }\r\n\r\n input {\r\n display: inline-block;\r\n width: 100%;\r\n border-radius: 8px;\r\n padding: 10px;\r\n border: 1px solid ${brand.black};\r\n padding-bottom: 10px;\r\n position: relative;\r\n\r\n &[type='number'] {\r\n max-width: 100px;\r\n text-align: center;\r\n }\r\n\r\n &:focus,\r\n &:active {\r\n outline: none;\r\n }\r\n }\r\n\r\n iframe {\r\n border-radius: 4px;\r\n }\r\n\r\n ${({ invalid }) => invalid &&\r\n css `\r\n input {\r\n border: 1px solid ${brand.red.base};\r\n }\r\n\r\n ${() => FormError} {\r\n display: block;\r\n }\r\n `}\r\n`;\r\nconst FormErrorHidden = styled(m.div).attrs(() => ({\r\n initial: 'hidden',\r\n animate: 'visible',\r\n exit: 'exit',\r\n variants: {\r\n hidden: {\r\n y: 10,\r\n opacity: 0,\r\n },\r\n visible: {\r\n y: 0,\r\n opacity: 1,\r\n },\r\n },\r\n})) `\r\n position: absolute;\r\n left: 0;\r\n top: 100%;\r\n width: 100%;\r\n\r\n ${() => FormError} {\r\n line-height: 13px;\r\n font-size: 12px;\r\n }\r\n`;\r\nconst FormError = styled.label `\r\n display: block;\r\n font-weight: bold;\r\n ${fonts.DaxPro.Bold};\r\n color: ${brand.red.base} !important;\r\n font-size: 14px;\r\n`;\r\nconst FormSub = styled.span `\r\n display: inline-block;\r\n vertical-align: bottom;\r\n margin-left: 3px;\r\n`;\r\nconst FormSplit = styled(Form) `\r\n display: flex;\r\n flex-direction: column;\r\n gap: 10px;\r\n width: 100%;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n display: grid;\r\n grid-template-columns: 1fr 1fr;\r\n }\r\n\r\n ${() => FormRow} {\r\n max-width: unset;\r\n }\r\n`;\r\nexport const FormStyles = {\r\n Form,\r\n FormRow,\r\n FormControl,\r\n FormError,\r\n FormSub,\r\n FormSplit,\r\n FormErrorHidden,\r\n};\r\n","import React from 'react';\r\nimport { InfoIconStyles as S } from './InfoIcon.styles';\r\nimport { ReactComponent as Info } from '@img/ysp/icon-info.svg';\r\nconst InfoIcon = (props) => {\r\n return (React.createElement(S.Container, { ...props },\r\n React.createElement(S.InfoIcon, null,\r\n React.createElement(Info, null))));\r\n};\r\nexport default InfoIcon;\r\n","var _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgGroundwaterGround(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 398.424,\n height: 133.401\n }, props), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"Group 305\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 69\",\n d: \"M392.356.815c-3.852-.365-7.394 2.962-11.224 2.413-2.494-.357-4.629-2.327-7.148-2.29-2.48.037-4.616 2.028-7.1 2.053-2.415.025-4.532-1.817-6.946-1.879-2.8-.071-5.251 2.259-8.051 2.149-2.57-.1-4.646-2.219-7.176-2.681-3.973-.726-7.642 2.336-11.238 4.172-3.176-.325-5.62-3.511-8.812-3.405-2.831.094-4.924 2.745-7.68 3.392-4.281 1.005-8.37-3.05-12.745-2.581-2.148.23-4.013 1.524-6.073 2.165a10.31 10.31 0 01-6.722-.233c-2.6-1.011-5.273-3.121-7.851-2.053a19.951 19.951 0 00-2.348 1.507c-2.206 1.3-5.083.892-7.382-.239-1.845-.907-3.839-2.285-5.768-1.568-1.717.639-2.675 2.784-4.5 2.987-2.415.268-3.754-2.985-6.115-3.555-3.065-.74-5.544 3.32-8.686 3.043-1.849-.163-3.236-1.8-5.035-2.246a4.913 4.913 0 00-5.269 2.537l-78.6-.413 79.085.413-78.832-1.448c-3.38.058-3.47-1.893-6.311-2.162-3.852-.365-7.395 2.962-11.225 2.413-2.494-.358-4.628-2.327-7.147-2.29-2.48.037-4.616 2.027-7.1 2.053-2.415.025-4.532-1.818-6.946-1.879-2.8-.072-5.251 2.259-8.051 2.149-2.569-.1-4.646-2.22-7.175-2.681-3.973-.726-7.642 2.336-11.238 4.172-3.176-.325-5.621-3.512-8.812-3.405-2.831.094-4.924 2.745-7.679 3.392-4.281 1.005-8.37-3.05-12.745-2.581-2.147.23-4.013 1.524-6.074 2.164a10.3 10.3 0 01-6.721-.233c-2.6-1.01-5.273-3.121-7.852-2.053a20.235 20.235 0 00-2.347 1.507c-2.206 1.3-5.083.892-7.382-.238-1.845-.907-3.839-2.285-5.768-1.568-1.717.638-2.676 2.784-4.5 2.986-2.415.268-3.753-2.985-6.114-3.555-3.065-.74-5.544 3.321-8.686 3.044-1.849-.164-3.237-1.8-5.035-2.246A4.211 4.211 0 00.451 4.481v128.92h159.447l79.085-.158v.079h159.432V2.955c-3.381.06-3.218-1.872-6.059-2.14z\",\n fill: \"#c9c9c9\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 70\",\n d: \"M7.869 15.188a2.429 2.429 0 01.581-.4 5.3 5.3 0 012.665-.387 6.6 6.6 0 012.4.483c1.648.748 2.179 2.659 2.283 4.326.115 1.842-8.51 2.86-8.721-1.273a3.387 3.387 0 01.792-2.749z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 71\",\n d: \"M29.1 14.685a1.193 1.193 0 01-.042-.351 2.651 2.651 0 01.452-1.268 3.308 3.308 0 01.775-.948 2.392 2.392 0 012.446 0c.84.38-.727 4.429-2.6 3.557a1.7 1.7 0 01-1.031-.99z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 72\",\n d: \"M25.494 44.695a2.4 2.4 0 01.58-.4 5.3 5.3 0 012.665-.387 6.6 6.6 0 012.4.483c1.648.749 2.179 2.659 2.283 4.326.116 1.842-8.51 2.859-8.721-1.273a3.385 3.385 0 01.793-2.749z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 73\",\n d: \"M52.206 26.389a2.407 2.407 0 01.581-.4 5.3 5.3 0 012.664-.387 6.6 6.6 0 012.4.483c1.648.749 2.179 2.659 2.283 4.326.116 1.842-8.51 2.859-8.72-1.273a3.387 3.387 0 01.792-2.749z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 74\",\n d: \"M71.87 9.889a2.43 2.43 0 01.581-.4 5.3 5.3 0 012.664-.387 6.578 6.578 0 012.4.483c1.648.748 2.179 2.658 2.283 4.325.116 1.842-8.509 2.86-8.72-1.273a3.387 3.387 0 01.792-2.748z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 75\",\n d: \"M83.249 31.832a2.424 2.424 0 01.581-.4 5.3 5.3 0 012.665-.387 6.6 6.6 0 012.4.483c1.648.748 2.179 2.659 2.283 4.326.115 1.842-8.51 2.86-8.721-1.273a3.387 3.387 0 01.792-2.749z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 76\",\n d: \"M108.561 10.184a14.057 14.057 0 015.652-.457c2.4.461 2.68 3.745 2.581 5.854-.19 4.088-8.569 2.206-11.1 1.5-1.964-.544-.915-3.745-.146-4.863a5.009 5.009 0 013.013-2.034z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 77\",\n d: \"M126.009 28.616a1.81 1.81 0 01.4-.4 2.687 2.687 0 011.85-.387 3.416 3.416 0 011.666.483c1.144.749 1.513 2.659 1.585 4.326.08 1.842-5.908 2.859-6.055-1.273a4.478 4.478 0 01.554-2.749z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 78\",\n d: \"M134.247 9.889a2.432 2.432 0 01.581-.4 5.3 5.3 0 012.664-.387 6.582 6.582 0 012.4.483c1.648.748 2.179 2.658 2.283 4.325.115 1.842-8.51 2.86-8.72-1.273a3.387 3.387 0 01.792-2.748z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 79\",\n d: \"M.465 4.481a4.211 4.211 0 014.781-2.437c1.8.45 3.187 2.082 5.035 2.246 3.143.277 5.622-3.784 8.686-3.044 2.36.571 3.7 3.823 6.114 3.555 1.824-.2 2.782-2.348 4.5-2.986 1.929-.717 3.923.661 5.768 1.568 2.3 1.131 5.176 1.537 7.382.238a20.206 20.206 0 012.347-1.507c2.578-1.067 5.25 1.043 7.852 2.053a10.3 10.3 0 006.721.233c2.061-.64 3.926-1.934 6.074-2.164 4.374-.469 8.464 3.586 12.745 2.581 2.755-.647 4.848-3.3 7.679-3.392 3.191-.107 5.636 3.08 8.812 3.405 3.6-1.836 7.265-4.9 11.237-4.172 2.529.461 4.607 2.581 7.176 2.681 2.8.11 5.251-2.221 8.051-2.149 2.414.061 4.531 1.9 6.946 1.879 2.48-.026 4.615-2.016 7.1-2.053 2.519-.038 4.653 1.932 7.147 2.29 3.83.549 7.373-2.778 11.225-2.413 2.841.269 2.931 2.22 6.311 2.162\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 80\",\n d: \"M147.855 94.885a2.428 2.428 0 01.581-.4 5.308 5.308 0 012.664-.387 6.611 6.611 0 012.4.483c1.75.8 3.418 4.3 1.185 5.465-2.12 1.105-7.461.731-7.621-2.412a3.387 3.387 0 01.791-2.749z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 81\",\n d: \"M147.855 63.831a2.428 2.428 0 01.581-.4 5.308 5.308 0 012.664-.387 6.611 6.611 0 012.4.483c1.648.749 2.179 2.659 2.283 4.326.116 1.842-8.509 2.859-8.72-1.273a3.387 3.387 0 01.792-2.749z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 82\",\n d: \"M158.55 118.719a2.426 2.426 0 01.58-.4 5.312 5.312 0 012.665-.387 6.619 6.619 0 012.4.483c1.648.749 2.179 2.659 2.283 4.326.116 1.841-8.51 2.859-8.72-1.274a3.388 3.388 0 01.792-2.748z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 83\",\n d: \"M191.343 98.111a14.054 14.054 0 014.118 3.9c1.265 2.1-.993 4.5-2.628 5.833-3.168 2.591-7.369-4.9-8.54-7.249-.908-1.824 2.174-3.184 3.519-3.36a5.009 5.009 0 013.531.876z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 84\",\n d: \"M221.04 116.829a1.824 1.824 0 01.4-.4 2.679 2.679 0 011.85-.387 3.408 3.408 0 011.667.483c1.144.749 1.512 2.659 1.585 4.326.08 1.842-5.908 2.859-6.055-1.273a4.475 4.475 0 01.553-2.749z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 85\",\n d: \"M6.169 102.561a2.417 2.417 0 01.58-.4 5.3 5.3 0 012.665-.387 6.6 6.6 0 012.4.483c1.648.749 2.179 2.659 2.283 4.326.116 1.842-8.51 2.859-8.72-1.273a3.388 3.388 0 01.792-2.749z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 86\",\n d: \"M30.2 93.279a2.4 2.4 0 01.581-.4 5.3 5.3 0 012.664-.388 6.614 6.614 0 012.4.483c1.648.749 2.179 2.659 2.283 4.326.116 1.842-8.509 2.859-8.72-1.273a3.388 3.388 0 01.792-2.748z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 87\",\n d: \"M30.2 117.112a2.4 2.4 0 01.581-.4 5.3 5.3 0 012.664-.387 6.6 6.6 0 012.4.483c1.648.749 2.179 2.659 2.283 4.326.116 1.842-8.509 2.859-8.72-1.273a3.39 3.39 0 01.792-2.749z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 88\",\n d: \"M62.885 102.02a14.047 14.047 0 012.331 5.168c.376 2.419-2.624 3.784-4.643 4.4-3.914 1.2-4.961-7.327-5.153-9.946-.149-2.033 3.22-2.122 4.531-1.775a5.011 5.011 0 012.934 2.153z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 89\",\n d: \"M84.337 112.008a1.845 1.845 0 01.4-.4 2.685 2.685 0 011.85-.387 3.4 3.4 0 011.666.483c1.144.748 1.513 2.658 1.585 4.326.08 1.842-5.908 2.859-6.055-1.273a4.483 4.483 0 01.554-2.749z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 90\",\n d: \"M115.261 112.008a2.426 2.426 0 01.581-.4 5.3 5.3 0 012.665-.387 6.586 6.586 0 012.4.483c1.647.748 2.179 2.658 2.283 4.326.115 1.842-8.51 2.859-8.721-1.273a3.387 3.387 0 01.792-2.749z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 91\",\n d: \"M17.257 71.508a2.435 2.435 0 01.252.66 5.3 5.3 0 01-.26 2.68 6.584 6.584 0 01-1.042 2.216c-1.12 1.422-3.1 1.482-4.745 1.186-1.817-.328-.748-8.946 3.315-8.166a3.389 3.389 0 012.48 1.424z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 92\",\n d: \"M48.585 62.824a14.042 14.042 0 015.651-.456c2.405.46 2.68 3.744 2.582 5.854-.19 4.088-8.569 2.206-11.1 1.5-1.964-.544-.915-3.745-.146-4.863a5.01 5.01 0 013.013-2.035z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 93\",\n d: \"M78.386 78.259a1.826 1.826 0 01.4-.4 2.686 2.686 0 011.849-.387 3.417 3.417 0 011.666.484c1.144.749 1.513 2.659 1.585 4.326.08 1.842-5.908 2.859-6.055-1.273a4.479 4.479 0 01.555-2.75z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 94\",\n d: \"M107.443 47.909a2.411 2.411 0 01.58-.4 5.3 5.3 0 012.665-.387 6.6 6.6 0 012.4.483c1.648.749 2.179 2.659 2.283 4.326.116 1.842-8.51 2.859-8.72-1.273a3.389 3.389 0 01.792-2.749z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 95\",\n d: \"M119.628 70.313a2.426 2.426 0 01.581-.4 5.3 5.3 0 012.664-.387 6.594 6.594 0 012.4.483c1.648.748 2.179 2.659 2.283 4.326.116 1.842-8.509 2.86-8.72-1.273a3.387 3.387 0 01.792-2.749z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 96\",\n d: \"M83.114 61.467a16.758 16.758 0 01-1.106-1.185c-.787-.923-1.953-2.053-2.181-3.284a1.6 1.6 0 01.975-1.861 2.132 2.132 0 011.57.418 11.969 11.969 0 014.924 5.942 1.81 1.81 0 01.157.764c-.082 1.054-1.66 1.209-2.551.639a11.54 11.54 0 01-1.788-1.433z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 97\",\n d: \"M118.992 96.54c-.436.318-.891.612-1.358.887-1.044.617-2.357 1.572-3.609 1.585a1.6 1.6 0 01-1.666-1.28 2.129 2.129 0 01.681-1.475 11.964 11.964 0 016.7-3.832 1.813 1.813 0 01.779-.024c1.025.262.906 1.843.192 2.623a11.5 11.5 0 01-1.719 1.516z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 98\",\n d: \"M233.746 96.646a16.746 16.746 0 01-.431 1.563c-.373 1.153-.725 2.739-1.655 3.578a1.6 1.6 0 01-2.1.143 2.133 2.133 0 01-.467-1.556 11.965 11.965 0 012.484-7.307 1.8 1.8 0 01.568-.535c.941-.482 1.9.781 1.88 1.839a11.533 11.533 0 01-.279 2.275z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 99\",\n d: \"M208.861 67.047a2.431 2.431 0 01.581-.4 5.308 5.308 0 012.664-.387 6.614 6.614 0 012.4.483c1.75.8 3.418 4.3 1.185 5.465-2.12 1.105-7.461.731-7.621-2.412a3.387 3.387 0 01.791-2.749z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10,\n strokeWidth: 1.188\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 101\",\n d: \"M246.386 15.11a2.421 2.421 0 01.58-.4 5.313 5.313 0 012.665-.387 6.615 6.615 0 012.4.483c1.648.749 2.179 2.659 2.283 4.326.116 1.842-8.51 2.859-8.72-1.273a3.388 3.388 0 01.792-2.749z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 102\",\n d: \"M267.615 14.606a1.21 1.21 0 01-.042-.351 2.66 2.66 0 01.452-1.268 3.317 3.317 0 01.775-.948 2.39 2.39 0 012.446 0c.841.38-.726 4.429-2.6 3.556a1.693 1.693 0 01-1.031-.989z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 103\",\n d: \"M264.012 44.617a2.426 2.426 0 01.581-.4 5.3 5.3 0 012.664-.387 6.6 6.6 0 012.4.483c1.648.748 2.179 2.659 2.283 4.326.115 1.842-8.509 2.859-8.72-1.273a3.387 3.387 0 01.792-2.749z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 104\",\n d: \"M290.723 26.309a2.431 2.431 0 01.581-.4 5.3 5.3 0 012.664-.387 6.594 6.594 0 012.4.483c1.648.748 2.179 2.659 2.283 4.325.116 1.842-8.509 2.86-8.72-1.272a3.388 3.388 0 01.792-2.749z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 105\",\n d: \"M310.387 9.809a2.429 2.429 0 01.581-.4 5.311 5.311 0 012.665-.387 6.617 6.617 0 012.4.483c1.648.749 2.179 2.659 2.283 4.326.115 1.842-8.51 2.859-8.721-1.273a3.387 3.387 0 01.792-2.749z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 106\",\n d: \"M321.767 31.753a2.4 2.4 0 01.581-.4 5.3 5.3 0 012.664-.388 6.615 6.615 0 012.4.483c1.648.749 2.179 2.659 2.283 4.326.116 1.842-8.509 2.859-8.72-1.273a3.388 3.388 0 01.792-2.748z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 107\",\n d: \"M347.079 10.106a14.03 14.03 0 015.651-.457c2.4.461 2.68 3.745 2.582 5.854-.191 4.088-8.569 2.206-11.1 1.505-1.964-.545-.914-3.746-.146-4.864a5.008 5.008 0 013.013-2.038z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 108\",\n d: \"M364.526 28.537a1.805 1.805 0 01.4-.4 2.683 2.683 0 011.85-.387 3.412 3.412 0 011.667.483c1.144.749 1.512 2.659 1.584 4.326.08 1.842-5.908 2.859-6.054-1.273a4.475 4.475 0 01.553-2.749z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 109\",\n d: \"M372.764 9.809a2.429 2.429 0 01.581-.4 5.308 5.308 0 012.664-.387 6.613 6.613 0 012.4.483c1.648.749 2.179 2.659 2.283 4.326.115 1.842-8.509 2.859-8.72-1.273a3.387 3.387 0 01.792-2.749z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 110\",\n d: \"M238.983 4.403a4.211 4.211 0 014.781-2.437c1.8.45 3.187 2.083 5.035 2.246 3.143.277 5.622-3.784 8.686-3.043 2.36.57 3.7 3.823 6.115 3.555 1.824-.2 2.782-2.348 4.5-2.987 1.929-.717 3.923.661 5.768 1.568 2.3 1.131 5.176 1.537 7.382.239a19.951 19.951 0 012.348-1.507c2.577-1.068 5.25 1.042 7.851 2.053a10.31 10.31 0 006.722.233c2.06-.641 3.925-1.934 6.073-2.165 4.375-.469 8.464 3.586 12.745 2.581 2.756-.647 4.849-3.3 7.68-3.392 3.192-.106 5.636 3.08 8.812 3.405 3.6-1.836 7.265-4.9 11.238-4.172 2.529.462 4.606 2.581 7.176 2.681 2.8.11 5.25-2.22 8.05-2.149 2.414.062 4.531 1.9 6.946 1.879 2.48-.025 4.615-2.016 7.1-2.053 2.519-.038 4.653 1.933 7.148 2.29 3.83.549 7.372-2.778 11.224-2.413 2.841.269 2.678 2.2 6.059 2.141\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 111\",\n d: \"M386.372 94.806a2.4 2.4 0 01.581-.4 5.3 5.3 0 012.665-.387 6.6 6.6 0 012.4.483c1.75.8 3.418 4.3 1.185 5.466-2.121 1.1-7.461.73-7.622-2.412a3.389 3.389 0 01.791-2.75z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 112\",\n d: \"M386.372 63.752a2.4 2.4 0 01.581-.4 5.3 5.3 0 012.665-.387 6.6 6.6 0 012.4.483c1.648.749 2.179 2.659 2.283 4.326.115 1.842-8.509 2.859-8.721-1.273a3.389 3.389 0 01.792-2.749z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 113\",\n d: \"M244.686 102.483a2.425 2.425 0 01.581-.4 5.3 5.3 0 012.664-.387 6.582 6.582 0 012.4.483c1.648.748 2.179 2.658 2.283 4.326.116 1.842-8.509 2.86-8.72-1.272a3.387 3.387 0 01.792-2.75z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 114\",\n d: \"M268.717 93.2a2.425 2.425 0 01.581-.4 5.3 5.3 0 012.664-.387 6.6 6.6 0 012.4.483c1.648.749 2.18 2.659 2.283 4.326.115 1.842-8.509 2.86-8.72-1.273a3.387 3.387 0 01.792-2.749z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 115\",\n d: \"M268.717 117.035a2.427 2.427 0 01.581-.4 5.3 5.3 0 012.664-.387 6.6 6.6 0 012.4.483c1.648.748 2.18 2.659 2.283 4.325.115 1.842-8.509 2.86-8.72-1.273a3.387 3.387 0 01.792-2.748z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 116\",\n d: \"M301.402 101.94a14.04 14.04 0 012.331 5.168c.376 2.419-2.624 3.784-4.643 4.4-3.914 1.2-4.961-7.327-5.152-9.946-.149-2.032 3.219-2.122 4.53-1.774a5 5 0 012.934 2.152z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 117\",\n d: \"M322.856 111.928a1.83 1.83 0 01.4-.4 2.686 2.686 0 011.849-.387 3.415 3.415 0 011.667.483c1.145.748 1.513 2.659 1.585 4.325.08 1.842-5.908 2.86-6.055-1.273a4.478 4.478 0 01.554-2.748z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 118\",\n d: \"M353.779 111.928a2.421 2.421 0 01.58-.4 5.312 5.312 0 012.665-.387 6.614 6.614 0 012.4.483c1.648.748 2.179 2.659 2.283 4.325.116 1.842-8.509 2.86-8.72-1.273a3.387 3.387 0 01.792-2.748z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 119\",\n d: \"M255.774 71.429a2.425 2.425 0 01.251.66 5.3 5.3 0 01-.259 2.68 6.621 6.621 0 01-1.042 2.216c-1.121 1.422-3.1 1.482-4.746 1.186-1.817-.327-.748-8.946 3.315-8.165a3.386 3.386 0 012.481 1.423z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 120\",\n d: \"M287.103 62.745a14.034 14.034 0 015.651-.457c2.4.461 2.68 3.745 2.581 5.854-.19 4.088-8.569 2.206-11.1 1.505-1.963-.544-.915-3.746-.146-4.863a5.006 5.006 0 013.014-2.039z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 121\",\n d: \"M316.903 78.18a1.811 1.811 0 01.4-.4 2.682 2.682 0 011.85-.387 3.409 3.409 0 011.667.483c1.144.749 1.512 2.659 1.585 4.326.08 1.842-5.909 2.859-6.055-1.273a4.477 4.477 0 01.553-2.749z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 122\",\n d: \"M345.96 47.831a2.428 2.428 0 01.581-.4 5.3 5.3 0 012.664-.387 6.6 6.6 0 012.4.483c1.648.748 2.179 2.659 2.283 4.326.116 1.842-8.509 2.86-8.72-1.273a3.388 3.388 0 01.792-2.749z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 123\",\n d: \"M358.144 70.233a2.447 2.447 0 01.581-.4 5.311 5.311 0 012.665-.387 6.614 6.614 0 012.4.483c1.648.749 2.179 2.659 2.283 4.326.115 1.842-8.51 2.859-8.721-1.273a3.387 3.387 0 01.792-2.749z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 124\",\n d: \"M321.631 61.389a17.456 17.456 0 01-1.106-1.185c-.787-.923-1.953-2.053-2.181-3.284a1.6 1.6 0 01.975-1.861 2.139 2.139 0 011.571.418 11.963 11.963 0 014.924 5.943 1.8 1.8 0 01.158.763c-.082 1.054-1.661 1.209-2.551.639a11.576 11.576 0 01-1.79-1.433z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 125\",\n d: \"M357.509 96.461c-.436.318-.891.611-1.357.886-1.044.617-2.358 1.572-3.61 1.585a1.6 1.6 0 01-1.666-1.28 2.135 2.135 0 01.682-1.475 11.969 11.969 0 016.7-3.832 1.817 1.817 0 01.78-.024c1.024.262.906 1.843.191 2.623a11.55 11.55 0 01-1.72 1.517z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 126\",\n d: \"M172.32 41.4a2.421 2.421 0 01.58-.4 5.312 5.312 0 012.665-.387 6.6 6.6 0 012.4.483c1.648.748 2.179 2.659 2.283 4.326.116 1.842-8.51 2.86-8.721-1.273a3.384 3.384 0 01.793-2.749z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 127\",\n d: \"M230.461 35.921a14.039 14.039 0 014.118 3.9c1.265 2.1-.994 4.5-2.628 5.834-3.168 2.591-7.369-4.9-8.54-7.25-.908-1.824 2.174-3.184 3.519-3.36a5.006 5.006 0 013.531.876z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }))));\n}\n\nexport default __webpack_public_path__ + \"985706f9081b4c9b6cbf5c06fecec013.svg\";\nexport { SvgGroundwaterGround as ReactComponent };","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport { m } from 'framer-motion';\r\nimport styled, { css } from 'styled-components';\r\nconst Container = styled.div `\r\n width: min(400px, 90vw);\r\n position: relative;\r\n margin-bottom: 35px;\r\n overflow: hidden;\r\n\r\n svg {\r\n display: block;\r\n width: 100%;\r\n }\r\n`;\r\nconst Ground = styled.div ``;\r\nconst Water = styled(m.div).attrs(({ hasAnimatedIn }) => ({\r\n initial: 'hidden',\r\n animate: hasAnimatedIn ? 'ripple' : 'visible',\r\n variants: {\r\n hidden: {\r\n y: '100%',\r\n },\r\n visible: {\r\n y: ['100%', '75%', '45%', '25%', '15%', '10%', '5%', '0%'],\r\n },\r\n ripple: {\r\n y: ['0%', '5%', '2%', '3%', '4%', '2%', '-1%', '-2%', '1%', '0%'],\r\n transition: {\r\n duration: 10,\r\n repeat: Infinity,\r\n type: 'tween',\r\n },\r\n },\r\n },\r\n transition: {\r\n duration: 4,\r\n type: 'tween',\r\n },\r\n})) `\r\n position: absolute;\r\n left: 0;\r\n\r\n ${({ height }) => height * 20 > 100\r\n ? css `\r\n top: calc(100% - 50px);\r\n `\r\n : css `\r\n top: calc(${height * 20}px - 15px);\r\n `}\r\n\r\n width: 100%;\r\n`;\r\nconst ExcavationOverlay = styled.div `\r\n position: absolute;\r\n top: 0;\r\n left: 50%;\r\n transform: translateX(-50%);\r\n width: 75px;\r\n ${({ height }) => height !== undefined &&\r\n css `\r\n height: min(${height * 20}px, 100px);\r\n `};\r\n background-color: ${brand.white};\r\n border: 2px solid ${brand.black};\r\n border-top: none;\r\n padding: 5px 7px;\r\n z-index: 1;\r\n\r\n display: flex;\r\n align-items: center;\r\n gap: 5px;\r\n\r\n span {\r\n color: ${brand.primary.alt};\r\n ${fonts.DaxPro.Medium};\r\n font-size: 13px;\r\n }\r\n`;\r\nconst Arrow = styled.div `\r\n position: relative;\r\n height: calc(100% - 5px);\r\n width: 1px;\r\n background-color: ${brand.primary.alt};\r\n\r\n &::before {\r\n content: '';\r\n position: absolute;\r\n top: -5px;\r\n left: 35%;\r\n transform: translateX(-50%);\r\n background-color: ${brand.primary.alt};\r\n clip-path: polygon(50% 0%, 0% 100%, 100% 100%);\r\n width: 7px;\r\n height: 7px;\r\n }\r\n\r\n &::after {\r\n content: '';\r\n position: absolute;\r\n bottom: -5px;\r\n left: 35%;\r\n transform: translateX(-50%);\r\n background-color: ${brand.primary.alt};\r\n clip-path: polygon(50% 100%, 0 0, 100% 0);\r\n width: 7px;\r\n height: 7px;\r\n }\r\n`;\r\nexport const GroundwaterStyles = {\r\n Container,\r\n Ground,\r\n Water,\r\n ExcavationOverlay,\r\n Arrow,\r\n};\r\n","var _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgGroundwaterWater(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 397.991,\n height: 133.793\n }, props), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"Group 304\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Union 4\",\n d: \"M244.556 133.793h-94.675v-.162L0 133.793.055 1.006l159.166-.13v.1l79.518-.091V.862l159.252.04v132.891z\",\n fill: \"#72c6df\",\n opacity: 0.549\n }), /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"Group 303\",\n fill: \"none\",\n stroke: \"#137ff6\",\n strokeWidth: 2\n }, /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Line 39\",\n d: \"M.042 1h238.453\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Line 41\",\n d: \"M48.086 6.413h63.608\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Line 50\",\n d: \"M285.602 6.413h63.608\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Line 42\",\n d: \"M54.853 11.827h50.074\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Line 49\",\n d: \"M292.368 11.827h50.074\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Line 43\",\n d: \"M61.62 17.24h36.541\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Line 48\",\n d: \"M299.135 17.24h36.541\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Line 44\",\n d: \"M68.387 22.653h23.007\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Line 47\",\n d: \"M305.902 22.653h23.007\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Line 45\",\n d: \"M73.8 28.067h12.18\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Line 46\",\n d: \"M311.315 28.067h12.18\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Line 40\",\n d: \"M238.234 1h159.697\"\n })))));\n}\n\nexport default __webpack_public_path__ + \"6ab64ef77f5781d0245f7c0fc4c1707e.svg\";\nexport { SvgGroundwaterWater as ReactComponent };","import React, { useEffect, useState } from 'react';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport { SharedStyles } from '@ys/Components/Shared.styles';\r\nimport Radios from '@ys/Components/Steps/Controls/Radios/Radios';\r\nimport { FormStyles } from '@ys/Components/Shared/Form.styles';\r\nimport InfoIcon from '@ys/Components/InfoIcon/InfoIcon';\r\nimport { Tab } from '@stories/Widgets/YourSolution/YS/Context/types';\r\nimport { GroundwaterStyles as S } from './Groundwater.styles';\r\nimport { ReactComponent as Ground } from '@img/ysp/groundwater-ground.svg';\r\nimport { ReactComponent as Water } from '@img/ysp/groundwater-water.svg';\r\nimport { withMotion } from '@hoc/withMotion';\r\nconst Groundwater = () => {\r\n const { state, dispatch, setFormField } = useYSPContext();\r\n const [hasAnimatedIn, setHasAnimatedIn] = useState(false);\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setHasAnimatedIn(true);\r\n }, 5000);\r\n }, []);\r\n useEffect(() => {\r\n dispatch({\r\n type: 'set-footer',\r\n payload: {\r\n type: 'conditions',\r\n beforeNext: () => dispatch({ type: 'validate-groundwater' }),\r\n },\r\n });\r\n }, []);\r\n return (React.createElement(SharedStyles.Question, null,\r\n React.createElement(FormStyles.Form, null,\r\n state.tab === Tab.YourSolutionPlus ? (React.createElement(SharedStyles.TitleWithInfoIcon, null,\r\n React.createElement(\"h2\", null, state.labels['heading']),\r\n state.labels['tooltip'] && (React.createElement(InfoIcon, { onClick: () => dispatch({\r\n type: 'set-modal',\r\n payload: {\r\n description: state.labels['tooltip'],\r\n fullWidth: true,\r\n size: 'normal',\r\n },\r\n }) })))) : (React.createElement(\"h2\", null, state.labels['heading_groundWater'])),\r\n React.createElement(S.Container, null,\r\n React.createElement(S.Ground, null,\r\n React.createElement(Ground, null)),\r\n React.createElement(S.Water, { height: state.form.depth || 1.5, hasAnimatedIn: hasAnimatedIn },\r\n React.createElement(Water, null)),\r\n React.createElement(S.ExcavationOverlay, { height: state.form.depth || 1.5 },\r\n React.createElement(S.Arrow, null),\r\n React.createElement(\"span\", null,\r\n state.form.depth,\r\n \"m\"))),\r\n React.createElement(FormStyles.FormRow, { xCentered: true },\r\n React.createElement(Radios, { error: state.errors['groundwaterPresent'], value: state.form.groundwaterPresent, setValue: (value) => setFormField('groundwaterPresent', value) })))));\r\n};\r\nexport default withMotion(Groundwater);\r\n","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport styled, { css } from 'styled-components';\r\nconst Container = styled.div `\r\n position: relative;\r\n width: 100%;\r\n max-width: 400px;\r\n margin: 0 auto 45px auto;\r\n overflow: hidden;\r\n\r\n svg {\r\n display: block;\r\n width: 100%;\r\n }\r\n`;\r\nconst Ground = styled.div ``;\r\nconst Water = styled.div `\r\n position: absolute;\r\n left: 0;\r\n transition: top 0.2s ease-in-out;\r\n\r\n ${({ height }) => css `\r\n top: ${height * 20 <= 5 ? 5 : height * 20}px;\r\n `}\r\n\r\n width: 100%;\r\n`;\r\nconst ExcavationOverlay = styled.div `\r\n position: absolute;\r\n top: 0;\r\n left: 50%;\r\n transform: translateX(-50%);\r\n width: 75px;\r\n ${({ height }) => height !== undefined &&\r\n css `\r\n height: min(${height * 20}px, 100px);\r\n `};\r\n background-color: ${brand.white};\r\n border: 2px solid ${brand.black};\r\n border-top: none;\r\n padding: 5px 7px;\r\n z-index: 1;\r\n\r\n display: flex;\r\n align-items: center;\r\n gap: 5px;\r\n\r\n span {\r\n color: ${brand.primary.alt};\r\n ${fonts.DaxPro.Medium};\r\n font-size: 13px;\r\n }\r\n`;\r\nconst Arrow = styled.div `\r\n position: relative;\r\n height: calc(100% - 5px);\r\n width: 1px;\r\n background-color: ${brand.primary.alt};\r\n\r\n &::before {\r\n content: '';\r\n position: absolute;\r\n top: -5px;\r\n left: 35%;\r\n transform: translateX(-50%);\r\n background-color: ${brand.primary.alt};\r\n clip-path: polygon(50% 0%, 0% 100%, 100% 100%);\r\n width: 7px;\r\n height: 7px;\r\n }\r\n\r\n &::after {\r\n content: '';\r\n position: absolute;\r\n bottom: -5px;\r\n left: 35%;\r\n transform: translateX(-50%);\r\n background-color: ${brand.primary.alt};\r\n clip-path: polygon(50% 100%, 0 0, 100% 0);\r\n width: 7px;\r\n height: 7px;\r\n }\r\n`;\r\nexport const GroundwaterDepthStyles = {\r\n Container,\r\n Ground,\r\n Water,\r\n ExcavationOverlay,\r\n Arrow,\r\n};\r\n","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport styled from 'styled-components';\r\nconst Container = styled.div `\r\n border-radius: 5px;\r\n border: 2px solid ${brand.grey.grey35};\r\n display: grid;\r\n grid-template-columns: 1fr 25px;\r\n overflow: hidden;\r\n`;\r\nconst Input = styled.input `\r\n background-color: ${brand.white};\r\n transition: background-color 0.2s ease-in-out;\r\n width: 100%;\r\n && {\r\n border: none;\r\n }\r\n padding: 5px 7px;\r\n text-align: center;\r\n\r\n &:disabled {\r\n background-color: ${brand.grey.grey55};\r\n opacity: 0.7;\r\n cursor: help;\r\n }\r\n`;\r\nconst EndSection = styled.div `\r\n background-color: ${brand.grey.grey89};\r\n height: 100%;\r\n width: 100%;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n border-left: 2px solid ${brand.grey.grey55};\r\n font-size: 15px;\r\n ${fonts.DaxPro.Regular};\r\n user-select: none;\r\n`;\r\nexport const InlineNumericalInputStyles = {\r\n Container,\r\n EndSection,\r\n Input,\r\n};\r\n","import Decimal from 'decimal.js-light';\r\nimport React, { useState } from 'react';\r\nimport { InlineNumericalInputStyles as S } from './InlineNumericalInput.styles';\r\nconst InlineNumericalInput = ({ unit, value, onChange, min, max, disabled, lock, absoluteBounds, }) => {\r\n const [hasFocus, setHasFocus] = useState(false);\r\n return (React.createElement(S.Container, { title: disabled\r\n ? `You cannot change the value of the first entry.\\nValues are calculated as 'depth from top' - therefore, the first entry must be 0.`\r\n : undefined },\r\n React.createElement(S.Input, { onFocus: () => {\r\n lock && lock(true);\r\n setHasFocus(true);\r\n }, onBlur: () => {\r\n lock && lock(false);\r\n setHasFocus(false);\r\n if (value && !value.toString().includes('.')) {\r\n onChange(`${value}.0`);\r\n }\r\n else if (value === undefined) {\r\n onChange('0.0');\r\n }\r\n }, min: min !== undefined ? (absoluteBounds ? min : new Decimal(min).add(0.1).toNumber()) : 0.1, max: max !== undefined\r\n ? absoluteBounds\r\n ? max\r\n : new Decimal(max).sub(0.1).toNumber()\r\n : undefined, step: 0.1, type: \"number\", onChange: (e) => {\r\n onChange(e.currentTarget.value);\r\n }, readOnly: disabled, disabled: disabled, value: disabled\r\n ? 0\r\n : !hasFocus\r\n ? value && value.toString().includes('.')\r\n ? value\r\n : `${value}.0`\r\n : undefined }),\r\n React.createElement(S.EndSection, null, unit)));\r\n};\r\nexport default InlineNumericalInput;\r\n","import React, { useEffect } from 'react';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport { SharedStyles } from '@ys/Components/Shared.styles';\r\nimport { GroundwaterDepthStyles as S } from './GroundwaterDepth.styles';\r\nimport { FormStyles } from '@ys/Components/Shared/Form.styles';\r\nimport InlineNumericalInput from '../../SoilProfiles/InlineNumericalInput/InlineNumericalInput';\r\nimport { Tab } from '@stories/Widgets/YourSolution/YS/Context/types';\r\nimport InfoIcon from '@ys/Components/InfoIcon/InfoIcon';\r\nimport { ReactComponent as Ground } from '@img/ysp/groundwater-ground.svg';\r\nimport { ReactComponent as Water } from '@img/ysp/groundwater-water.svg';\r\nimport { withMotion } from '@hoc/withMotion';\r\nconst GroundwaterDepth = () => {\r\n const { state, dispatch, setFormField } = useYSPContext();\r\n useEffect(() => {\r\n //\r\n dispatch({\r\n type: 'set-footer',\r\n payload: {\r\n type: 'conditions',\r\n beforeNext: () => dispatch({ type: 'validate-groundwater-depth' }),\r\n },\r\n });\r\n }, []);\r\n const handleDepthChange = (value) => {\r\n let floatValue = parseFloat(value);\r\n if (floatValue > 99999) {\r\n floatValue = 99999;\r\n }\r\n if (value === '' || floatValue < 0) {\r\n setFormField('groundwaterDepth', undefined);\r\n }\r\n else {\r\n setFormField('groundwaterDepth', floatValue);\r\n }\r\n };\r\n return (React.createElement(SharedStyles.Question, null,\r\n React.createElement(FormStyles.Form, null,\r\n state.tab === Tab.YourSolutionPlus ? (React.createElement(SharedStyles.TitleWithInfoIcon, null,\r\n React.createElement(\"h2\", null, state.labels['groundwaterDepth.heading']),\r\n state.labels['groundwaterDepth.tooltip'] && (React.createElement(InfoIcon, { onClick: () => dispatch({\r\n type: 'set-modal',\r\n payload: {\r\n description: state.labels['groundwaterDepth.tooltip'],\r\n fullWidth: true,\r\n size: 'normal',\r\n },\r\n }) })))) : (React.createElement(\"h2\", null, state.labels['heading_groundwaterDepth'])),\r\n React.createElement(S.Container, null,\r\n React.createElement(S.Ground, null,\r\n React.createElement(Ground, null)),\r\n React.createElement(S.Water, { height: Math.min(state.form.groundwaterDepth || 0, 6.7) },\r\n React.createElement(Water, null)),\r\n React.createElement(S.ExcavationOverlay, { height: state.form.depth || 1.5 },\r\n React.createElement(S.Arrow, null),\r\n React.createElement(\"span\", null,\r\n state.form.depth,\r\n \"m\"))),\r\n React.createElement(FormStyles.FormControl, { center: true, invalid: state.errors['groundwaterDepth'] !== undefined },\r\n React.createElement(\"label\", { htmlFor: \"txtDepth\" }, \"Depth\"),\r\n React.createElement(FormStyles.FormError, null, \"Please enter a depth.\"),\r\n React.createElement(InlineNumericalInput, { unit: \"m\", onChange: (v) => handleDepthChange(v.toString()), value: state.form.groundwaterDepth === undefined ? 0 : state.form.groundwaterDepth, min: 0, absoluteBounds: true })))));\r\n};\r\nexport default withMotion(GroundwaterDepth);\r\n","export default __webpack_public_path__ + \"f2c28e70c46c000389e780b11a10dcaa.png\";","export default __webpack_public_path__ + \"bae9d79af8f5afaa09c08d99a15de707.png\";","export default __webpack_public_path__ + \"9f2440b1368818a66612257f3471592c.png\";","export default __webpack_public_path__ + \"ae80959b2fb3b0d88e0a3abc336e26be.png\";","export default __webpack_public_path__ + \"56cf6a53ea00ea83d8932e20f767ae2d.png\";","export default __webpack_public_path__ + \"ac32ac1cb5e2ef1b9003579d5bbedeea.png\";","import React, { useEffect } from 'react';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport Radios from '@ys/Components/Steps/Controls/Radios/Radios';\r\nimport { SharedStyles } from '@ys/Components/Shared.styles';\r\nimport { FormStyles } from '@ys/Components/Shared/Form.styles';\r\nimport LooseGround from '@img/ysp/materials/loose-ground.png';\r\nimport SoftClay from '@img/ysp/materials/soft-clay.png';\r\nimport LooseSand from '@img/ysp/materials/loose-sand.png';\r\nimport Peat from '@img/ysp/materials/peat.png';\r\nimport Silt from '@img/ysp/materials/silt.png';\r\nimport LooseGravel from '@img/ysp/materials/loose-gravel.png';\r\nconst ProblematicGround = () => {\r\n const { state, dispatch, setFormField } = useYSPContext();\r\n useEffect(() => {\r\n //\r\n dispatch({\r\n type: 'set-footer',\r\n payload: {\r\n type: 'conditions',\r\n beforeNext: () => dispatch({ type: 'validate-problematic-ground' }),\r\n },\r\n });\r\n }, []);\r\n return (React.createElement(SharedStyles.Question, null,\r\n React.createElement(FormStyles.Form, null,\r\n React.createElement(\"h2\", null, state.labels['heading_problematic']),\r\n React.createElement(FormStyles.FormRow, { xCentered: true },\r\n React.createElement(Radios, { value: state.form.problematicGround, error: state.errors['problematicGround'], setValue: (value) => setFormField('problematicGround', value) })),\r\n React.createElement(SharedStyles.Materials, null,\r\n React.createElement(SharedStyles.Material, null,\r\n React.createElement(SharedStyles.MaterialMedia, { style: { backgroundImage: `url('${LooseGround}')` } }),\r\n React.createElement(SharedStyles.MaterialLabel, null, \"Very Loose or Loose MADE GROUND\")),\r\n React.createElement(SharedStyles.Material, null,\r\n React.createElement(SharedStyles.MaterialMedia, { style: { backgroundImage: `url('${SoftClay}')` } }),\r\n React.createElement(SharedStyles.MaterialLabel, null, \"Very Soft or Soft CLAY\")),\r\n React.createElement(SharedStyles.Material, null,\r\n React.createElement(SharedStyles.MaterialMedia, { style: { backgroundImage: `url('${LooseSand}')` } }),\r\n React.createElement(SharedStyles.MaterialLabel, null, \"Very Loose or Loose SAND\")),\r\n React.createElement(SharedStyles.Material, null,\r\n React.createElement(SharedStyles.MaterialMedia, { style: { backgroundImage: `url('${Peat}')` } }),\r\n React.createElement(SharedStyles.MaterialLabel, null, \"PEAT\")),\r\n React.createElement(SharedStyles.Material, null,\r\n React.createElement(SharedStyles.MaterialMedia, { style: { backgroundImage: `url('${Silt}')` } }),\r\n React.createElement(SharedStyles.MaterialLabel, null, \"SILT\")),\r\n React.createElement(SharedStyles.Material, null,\r\n React.createElement(SharedStyles.MaterialMedia, { style: { backgroundImage: `url('${LooseGravel}')` } }),\r\n React.createElement(SharedStyles.MaterialLabel, null, \"Very Loose GRAVEL\"))))));\r\n};\r\nexport default ProblematicGround;\r\n","export default __webpack_public_path__ + \"f2c28e70c46c000389e780b11a10dcaa.png\";","export default __webpack_public_path__ + \"4585c93819279bdcb0ccf9289b3d07af.png\";","export default __webpack_public_path__ + \"4d657f2ac0e6c9a7ca068cdb2e02fe02.png\";","export default __webpack_public_path__ + \"f0c34a24874b905b5b7e22ad8fb2c92e.png\";","export default __webpack_public_path__ + \"5eec90be09103fd4c5f36e84cd099462.png\";","import React, { useEffect } from 'react';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport { SoilType } from '@ys/Context/types';\r\nimport Radios from '@ys/Components/Steps/Controls/Radios/Radios';\r\nimport { SharedStyles } from '@ys/Components/Shared.styles';\r\nimport { FormStyles } from '@ys/Components/Shared/Form.styles';\r\nimport Road from '@img/ysp/materials/road.png';\r\nimport DenseSand from '@img/ysp/materials/dense-sand.png';\r\nimport Rock from '@img/ysp/materials/rock.png';\r\nimport LooseGravel from '@img/ysp/materials/loose-gravel.png';\r\nimport CohesiveFill from '@img/ysp/materials/cohesive-fill.png';\r\nimport StiffClay from '@img/ysp/materials/stiff-clay.png';\r\nconst SoilTypes = () => {\r\n const { state, dispatch, setFormField } = useYSPContext();\r\n useEffect(() => {\r\n //\r\n dispatch({\r\n type: 'set-footer',\r\n payload: {\r\n type: 'conditions',\r\n beforeNext: () => dispatch({ type: 'validate-soil-type' }),\r\n },\r\n });\r\n }, []);\r\n return (React.createElement(SharedStyles.Question, null,\r\n React.createElement(FormStyles.Form, null,\r\n React.createElement(\"h2\", null, state.labels['heading_predominant']),\r\n React.createElement(FormStyles.FormRow, { xCentered: true },\r\n React.createElement(Radios, { value: state.form.soilType, error: state.errors['soilType'], setValue: (value) => setFormField('soilType', value), options: [\r\n {\r\n label: 'Granular',\r\n value: SoilType.Granular,\r\n },\r\n {\r\n label: 'Cohesive',\r\n value: SoilType.Cohesive,\r\n },\r\n ] })),\r\n React.createElement(SharedStyles.Materials, { desktop: true },\r\n React.createElement(SharedStyles.MaterialContainer, null,\r\n React.createElement(SharedStyles.Material, null,\r\n React.createElement(SharedStyles.MaterialMedia, { style: { backgroundImage: `url('${Road}')` } }),\r\n React.createElement(SharedStyles.MaterialLabel, null, \"Well Compacted MADE GROUND/ ROAD CONSTRUCTION\")),\r\n React.createElement(SharedStyles.Material, null,\r\n React.createElement(SharedStyles.MaterialMedia, { style: { backgroundImage: `url('${DenseSand}')` } }),\r\n React.createElement(SharedStyles.MaterialLabel, null, \"Medium Dense, Dense or Very Dense SAND\")),\r\n React.createElement(SharedStyles.Material, null,\r\n React.createElement(SharedStyles.MaterialMedia, { style: { backgroundImage: `url('${Rock}')` } }),\r\n React.createElement(SharedStyles.MaterialLabel, null, \"ROCK\")),\r\n React.createElement(SharedStyles.Material, null,\r\n React.createElement(SharedStyles.MaterialMedia, { style: { backgroundImage: `url('${LooseGravel}')` } }),\r\n React.createElement(SharedStyles.MaterialLabel, null, \"Loose, Medium Dense, Dense and Very Dense GRAVEL\"))),\r\n React.createElement(SharedStyles.MaterialContainer, null,\r\n React.createElement(SharedStyles.Material, null,\r\n React.createElement(SharedStyles.MaterialMedia, { style: { backgroundImage: `url('${CohesiveFill}')` } }),\r\n React.createElement(SharedStyles.MaterialLabel, null, \"Cohesive Fill\")),\r\n React.createElement(SharedStyles.Material, null,\r\n React.createElement(SharedStyles.MaterialMedia, { style: { backgroundImage: `url('${StiffClay}')` } }),\r\n React.createElement(SharedStyles.MaterialLabel, null, \"Soft-Firm, Firm, Stiff or Very Stiff CLAY\")))),\r\n React.createElement(SharedStyles.Materials, { mobile: true },\r\n React.createElement(SharedStyles.MaterialContainer, null,\r\n React.createElement(SharedStyles.MaterialTitle, null, \"Granular Soils:\"),\r\n React.createElement(SharedStyles.Material, null,\r\n React.createElement(SharedStyles.MaterialMedia, { style: { backgroundImage: `url('${Road}')` } }),\r\n React.createElement(SharedStyles.MaterialLabel, null, \"Well Compacted MADE GROUND/ ROAD CONSTRUCTION\")),\r\n React.createElement(SharedStyles.Material, null,\r\n React.createElement(SharedStyles.MaterialMedia, { style: { backgroundImage: `url('${DenseSand}')` } }),\r\n React.createElement(SharedStyles.MaterialLabel, null, \"Medium Dense, Dense or Very Dense SAND\")),\r\n React.createElement(SharedStyles.Material, null,\r\n React.createElement(SharedStyles.MaterialMedia, { style: { backgroundImage: `url('${Rock}')` } }),\r\n React.createElement(SharedStyles.MaterialLabel, null, \"ROCK\")),\r\n React.createElement(SharedStyles.Material, null,\r\n React.createElement(SharedStyles.MaterialMedia, { style: { backgroundImage: `url('${LooseGravel}')` } }),\r\n React.createElement(SharedStyles.MaterialLabel, null, \"Loose, Medium Dense, Dense and Very Dense GRAVEL\"))),\r\n React.createElement(SharedStyles.MaterialContainer, null,\r\n React.createElement(SharedStyles.MaterialTitle, null, \"Cohesive Soils:\"),\r\n React.createElement(SharedStyles.Material, null,\r\n React.createElement(SharedStyles.MaterialMedia, { style: { backgroundImage: `url('${CohesiveFill}')` } }),\r\n React.createElement(SharedStyles.MaterialLabel, null, \"Cohesive Fill\")),\r\n React.createElement(SharedStyles.Material, null,\r\n React.createElement(SharedStyles.MaterialMedia, { style: { backgroundImage: `url('${StiffClay}')` } }),\r\n React.createElement(SharedStyles.MaterialLabel, null, \"Soft-Firm, Firm, Stiff or Very Stiff CLAY\")))))));\r\n};\r\nexport default SoilTypes;\r\n","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgIconPoint(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 7 7\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Polygon 6\",\n d: \"M3.5 7L0 0h7z\",\n fill: \"#6f9d20\"\n })));\n}\n\nexport default __webpack_public_path__ + \"62c84f5566feadc0a39e0d716a7856ac.svg\";\nexport { SvgIconPoint as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgIconCheck(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n stroke: \"currentColor\",\n fill: \"none\",\n strokeWidth: 2,\n viewBox: \"0 0 24 24\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n height: \"1em\",\n width: \"1em\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 6L9 17l-5-5\"\n })));\n}\n\nexport default __webpack_public_path__ + \"0a595e8af8e9ec113af8f5951a69bf2e.svg\";\nexport { SvgIconCheck as ReactComponent };","import brand from '@helpers/brand';\r\nimport { Device, from } from '@helpers/media';\r\nimport styled from 'styled-components';\r\nimport Point from '@img/ysp/icon-point.svg';\r\nconst Container = styled.div `\r\n position: relative;\r\n width: 100%;\r\n max-width: 400px;\r\n margin: 0 auto 45px auto;\r\n`;\r\nconst Label = styled.div `\r\n position: absolute;\r\n top: -3px;\r\n left: 50%;\r\n transform: translateX(-50%);\r\n color: ${brand.primary.light};\r\n font-size: 14px;\r\n font-weight: bold;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n z-index: 2;\r\n padding: 7px 0px;\r\n top: -3px;\r\n user-select: none;\r\n\r\n @media ${from(Device.Tablet)} {\r\n top: 3px;\r\n }\r\n\r\n svg {\r\n display: block;\r\n fill: ${brand.primary.light};\r\n width: 7px;\r\n height: 16px;\r\n margin-right: 4px;\r\n }\r\n`;\r\nconst Indicator = styled.div `\r\n width: 1px;\r\n background-color: ${brand.primary.light};\r\n margin-right: 4px;\r\n position: relative;\r\n height: 100%;\r\n\r\n &:before,\r\n &:after {\r\n content: '';\r\n width: 7px;\r\n height: 7px;\r\n background-image: url(${Point});\r\n position: absolute;\r\n }\r\n\r\n &:before {\r\n content: '';\r\n bottom: 100%;\r\n left: 50%;\r\n transform: translateX(-50%) rotate(180deg);\r\n }\r\n\r\n &:after {\r\n content: '';\r\n top: 100%;\r\n left: 50%;\r\n transform: translateX(-50%);\r\n }\r\n`;\r\nexport const DepthStyles = {\r\n Container,\r\n Label,\r\n Indicator,\r\n};\r\n","import brand from '@helpers/brand';\r\nimport { m } from 'framer-motion';\r\nimport styled, { css } from 'styled-components';\r\nconst Container = styled.div `\r\n display: flex;\r\n gap: 15px;\r\n align-items: center;\r\n font-size: 14px;\r\n user-select: none;\r\n cursor: pointer;\r\n width: max-content;\r\n max-width: 100%;\r\n transition: opacity 0.3s ease-in-out;\r\n\r\n ${({ disabled }) => disabled &&\r\n css `\r\n opacity: 0.7;\r\n pointer-events: none;\r\n cursor: not-allowed;\r\n `}\r\n`;\r\nconst Box = styled.div `\r\n width: 25px;\r\n height: 25px;\r\n background-color: ${brand.white};\r\n border: 1px solid ${brand.black};\r\n position: relative;\r\n`;\r\nconst Check = styled(m.div).attrs(() => ({\r\n initial: 'hidden',\r\n animate: 'visible',\r\n exit: 'hidden',\r\n variants: {\r\n hidden: {\r\n y: 10,\r\n opacity: 0,\r\n },\r\n visible: {\r\n y: 0,\r\n opacity: 1,\r\n },\r\n },\r\n transition: {\r\n duration: 0.35,\r\n },\r\n})) `\r\n width: 100%;\r\n height: 100%;\r\n color: ${brand.primary.alt};\r\n\r\n svg {\r\n width: calc(100% + 10px);\r\n height: calc(100% + 10px);\r\n display: block;\r\n stroke-width: 3px;\r\n top: -7px;\r\n left: 0px;\r\n position: relative;\r\n }\r\n`;\r\nexport const CheckboxStyles = {\r\n Container,\r\n Box,\r\n Check,\r\n};\r\n","var _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgCloseWhite(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 22.628 22.627\"\n }, props), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"Group 32606\",\n opacity: 0.5,\n fill: \"none\",\n stroke: \"currentcolor\",\n strokeWidth: 2\n }, /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Line 3112\",\n d: \"M21.92.707L.707 21.92\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Line 3113\",\n d: \"M21.92 21.92L.707.707\"\n }))));\n}\n\nexport default __webpack_public_path__ + \"c905c30f36622bc4bedce26c1e2ace87.svg\";\nexport { SvgCloseWhite as ReactComponent };","import React from 'react';\r\nimport { CheckboxStyles as S } from './Checkbox.styles';\r\nimport { ReactComponent as Check } from '@img/ysp/icon-check.svg';\r\nimport { AnimatePresence } from 'framer-motion';\r\nimport { withMotion } from '@hoc/withMotion';\r\nconst Checkbox = ({ label, value, onChange, disabled = false, }) => {\r\n return (React.createElement(S.Container, { onClick: () => onChange(), disabled: disabled },\r\n React.createElement(S.Box, null,\r\n React.createElement(AnimatePresence, null, value && (React.createElement(S.Check, null,\r\n React.createElement(Check, null))))),\r\n label));\r\n};\r\nexport default withMotion(Checkbox);\r\n","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport styled, { css } from 'styled-components';\r\nconst Container = styled.div `\r\n display: flex;\r\n gap: 25px;\r\n align-items: center;\r\n`;\r\nconst Label = styled.div `\r\n font-size: 18px;\r\n ${fonts.DaxPro.Medium};\r\n`;\r\nconst ToggleWrapper = styled.div `\r\n background-color: ${brand.grey.grey89};\r\n border-radius: 15px;\r\n width: 75px;\r\n height: 31px;\r\n position: relative;\r\n cursor: pointer;\r\n transition: background-color 0.2s ease-in-out;\r\n\r\n ${({ active }) => active &&\r\n css `\r\n background-color: ${brand.divisionTags.sandhurst};\r\n `}\r\n`;\r\nconst ToggleBall = styled.div `\r\n width: 23px;\r\n height: 23px;\r\n border-radius: 50%;\r\n background-color: ${brand.white};\r\n position: absolute;\r\n top: 4px;\r\n transition: left 0.25s ease-in-out, background-color 0.2s ease-in-out;\r\n\r\n ${({ active }) => active\r\n ? css `\r\n left: calc(100% - 28px);\r\n `\r\n : css `\r\n left: 5px;\r\n `}\r\n`;\r\nexport const ToggleStyles = {\r\n Container,\r\n Label,\r\n ToggleWrapper,\r\n ToggleBall,\r\n};\r\n","import React from 'react';\r\nimport { ToggleStyles as S } from './Toggle.styles';\r\nconst Toggle = ({ label, value, onChange }) => {\r\n return (React.createElement(S.Container, null,\r\n React.createElement(S.Label, null, label),\r\n React.createElement(S.ToggleWrapper, { active: value, onClick: () => onChange(!value) },\r\n React.createElement(S.ToggleBall, { active: value }))));\r\n};\r\nexport default Toggle;\r\n","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport { Device, from, until } from '@helpers/media';\r\nimport { m } from 'framer-motion';\r\nimport styled, { css } from 'styled-components';\r\nimport { WYSIWYGStyles } from '../../../Shared.styles';\r\nconst Container = styled.div `\r\n display: grid;\r\n grid-template-columns: repeat(9, 1fr); // Description spans 2 so add an extra one //\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n overflow-x: auto;\r\n padding-bottom: 10px;\r\n margin-bottom: 10px;\r\n\r\n &::-webkit-scrollbar {\r\n height: 4px;\r\n }\r\n\r\n /* Track */\r\n &::-webkit-scrollbar-track {\r\n background: ${brand.grey.grey89};\r\n }\r\n\r\n /* Handle */\r\n &::-webkit-scrollbar-thumb {\r\n background: ${brand.primary.light};\r\n }\r\n\r\n ${() => ColumnWrapper} {\r\n min-width: 120px;\r\n }\r\n\r\n ${() => WideColumnWrapper} {\r\n min-width: 200px;\r\n }\r\n }\r\n`;\r\nconst ColumnWrapper = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n height: max-content;\r\n max-height: 100%;\r\n grid-column: span 1;\r\n`;\r\nconst WideColumnWrapper = styled(ColumnWrapper) `\r\n grid-column: span 2;\r\n`;\r\nconst HeaderWrapper = styled.div `\r\n display: grid;\r\n grid-template-rows: 1fr 1fr;\r\n height: 100%;\r\n min-height: 107px;\r\n\r\n ${({ last }) => last &&\r\n css `\r\n max-height: 78px;\r\n `};\r\n`;\r\nconst Header = styled.div `\r\n padding: 5px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n border: 1px solid ${brand.white};\r\n background-color: ${brand.primary.alt};\r\n font-size: 14px;\r\n color: ${brand.white};\r\n text-align: center;\r\n\r\n sub {\r\n font-size: 11px;\r\n position: relative;\r\n bottom: -3px;\r\n }\r\n\r\n ${({ bold }) => bold &&\r\n css `\r\n ${fonts.DaxPro.Medium};\r\n `};\r\n`;\r\nconst HeaderInner = styled.div ``;\r\nconst SmallHeader = styled(Header) `\r\n grid-row: span 1;\r\n`;\r\nconst LargeHeader = styled(Header) `\r\n grid-row: span 2;\r\n`;\r\nconst FieldRow = styled.div `\r\n width: 100%;\r\n border: 1px solid ${brand.white};\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n`;\r\nconst FieldInput = styled.input `\r\n padding: 6px;\r\n border: none;\r\n width: 100%;\r\n position: relative;\r\n transition: outline-color 0.1s ease-in-out;\r\n outline: 2px solid transparent;\r\n\r\n &::-webkit-outer-spin-button,\r\n &::-webkit-inner-spin-button {\r\n margin-left: 5px;\r\n }\r\n\r\n &::selection {\r\n color: ${brand.white};\r\n background-color: ${brand.divisionTags.sandhurst};\r\n }\r\n\r\n &:focus {\r\n outline-color: ${brand.divisionTags.sandhurst};\r\n }\r\n\r\n ${({ align }) => {\r\n switch (align) {\r\n default:\r\n case 'left':\r\n return css `\r\n text-align: start;\r\n `;\r\n case 'center':\r\n return css `\r\n text-align: center;\r\n `;\r\n case 'right':\r\n return css `\r\n text-align: end;\r\n `;\r\n }\r\n}}\r\n\r\n ${({ bg }) => {\r\n switch (bg) {\r\n default:\r\n case 'green':\r\n return css `\r\n background-color: ${brand.ysp.input};\r\n `;\r\n case 'white':\r\n return css `\r\n background-color: ${brand.white};\r\n `;\r\n case 'grey':\r\n return css `\r\n background-color: ${brand.grey.grey89};\r\n `;\r\n }\r\n}}\r\n`;\r\nconst TopSection = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n gap: 10px;\r\n margin-bottom: 25px;\r\n margin-top: 35px;\r\n`;\r\nconst Title = styled.div `\r\n ${fonts.DaxPro.Bold};\r\n font-size: 23px;\r\n`;\r\nconst Disclaimer = styled.div `\r\n font-size: 20px;\r\n line-height: 22px;\r\n\r\n p:last-child {\r\n margin-bottom: 0;\r\n }\r\n`;\r\nconst Wrapper = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n`;\r\nconst Modal = styled(m.div).attrs(({ active }) => ({\r\n initial: 'hidden',\r\n animate: active ? 'visible' : 'hidden',\r\n exit: 'hidden',\r\n variants: {\r\n hidden: {\r\n opacity: 0,\r\n },\r\n visible: {\r\n opacity: 1,\r\n },\r\n },\r\n})) `\r\n position: fixed;\r\n z-index: 1001;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n background-color: rgba(0, 0, 0, 0.2);\r\n opacity: 0;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n ${({ active }) => !active &&\r\n css `\r\n pointer-events: none;\r\n `}\r\n`;\r\nconst ModalInner = styled(m.div).attrs(() => ({\r\n variants: {\r\n hidden: {\r\n y: 50,\r\n opacity: 0,\r\n },\r\n visible: {\r\n y: 0,\r\n opacity: 1,\r\n },\r\n },\r\n transition: {\r\n duration: 0.5,\r\n },\r\n})) `\r\n ${WYSIWYGStyles}\r\n position: relative;\r\n margin-top: 20px; // For the close button\r\n background-color: ${brand.white};\r\n border-top: 4px solid ${brand.divisionTags.sandhurst};\r\n padding: 30px 20px;\r\n display: flex;\r\n flex-direction: column;\r\n max-width: 500px;\r\n max-height: 400px;\r\n gap: 15px;\r\n width: 100%;\r\n`;\r\nconst ModalTitle = styled.div `\r\n ${fonts.DaxPro.Medium};\r\n font-size: 18px;\r\n`;\r\nconst ModalText = styled.div `\r\n ${fonts.DaxPro.Light};\r\n font-size: 16px;\r\n line-height: 20px;\r\n overflow-y: auto;\r\n padding-right: 5px;\r\n\r\n /* width */\r\n &::-webkit-scrollbar {\r\n width: 8px;\r\n }\r\n\r\n /* Track */\r\n &::-webkit-scrollbar-track {\r\n background: ${brand.white};\r\n }\r\n\r\n /* Handle */\r\n &::-webkit-scrollbar-thumb {\r\n background: ${brand.primary.light};\r\n border-radius: 10px;\r\n }\r\n`;\r\nconst Close = styled.div `\r\n position: absolute;\r\n right: 0;\r\n top: -24px;\r\n display: flex;\r\n cursor: pointer;\r\n\r\n svg {\r\n color: ${brand.white};\r\n width: 15px;\r\n height: 15px;\r\n\r\n g {\r\n stroke-width: 4px;\r\n opacity: 1;\r\n }\r\n }\r\n`;\r\nconst BlankRows = styled.div `\r\n grid-row: span 2;\r\n border: 1px solid ${brand.white};\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n max-height: 80px;\r\n }\r\n`;\r\nconst Reset = styled.div `\r\n display: flex;\r\n height: 100%;\r\n cursor: pointer;\r\n position: absolute;\r\n top: 0;\r\n left: 100%;\r\n width: 25px;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n opacity: 0.5;\r\n transition: opacity 0.25s ease-in-out;\r\n\r\n &:hover {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n height: 30px;\r\n width: max-content;\r\n }\r\n\r\n svg {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n`;\r\nconst LastRowWrapper = styled.div `\r\n position: relative;\r\n`;\r\nexport const SoilInfoTableStyles = {\r\n Container,\r\n ColumnWrapper,\r\n HeaderWrapper,\r\n Header,\r\n SmallHeader,\r\n LargeHeader,\r\n WideColumnWrapper,\r\n HeaderInner,\r\n FieldRow,\r\n FieldInput,\r\n TopSection,\r\n Title,\r\n Wrapper,\r\n Disclaimer,\r\n Modal,\r\n ModalInner,\r\n ModalTitle,\r\n ModalText,\r\n Close,\r\n Reset,\r\n BlankRows,\r\n LastRowWrapper,\r\n};\r\n","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgResetThick(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 25 20\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.5 11.25h-5V10a7.5 7.5 0 117.5 7.5h-1.25V20H15A10 10 0 105 10v1.25H0l6.25 6.25z\",\n fill: \"currentcolor\",\n fillRule: \"evenodd\"\n })));\n}\n\nexport default __webpack_public_path__ + \"92c8bfefcf6aa4b3e1b3a536bbe0747c.svg\";\nexport { SvgResetThick as ReactComponent };","var _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgPlusThick(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n \"data-name\": \"Group 238\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 15 15\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Line 53\",\n fill: \"none\",\n stroke: \"currentcolor\",\n strokeWidth: 3,\n d: \"M7.5 0v15\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Line 54\",\n fill: \"none\",\n stroke: \"currentcolor\",\n strokeWidth: 3,\n d: \"M15 7.5H0\"\n })));\n}\n\nexport default __webpack_public_path__ + \"ec8f44fbe85df1f906767b175f594b8b.svg\";\nexport { SvgPlusThick as ReactComponent };","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport { ButtonReset } from '@helpers/global';\r\nimport { from, Device, until } from '@helpers/media';\r\nimport { darken, lighten } from 'polished';\r\nimport styled from 'styled-components';\r\nconst Container = styled.button `\r\n ${ButtonReset}\r\n display: flex;\r\n gap: 15px;\r\n align-items: center;\r\n user-select: none;\r\n\r\n padding: 10px 15px;\r\n &[data-size='wide'] {\r\n padding: 10px 25px;\r\n }\r\n\r\n border-radius: 8px;\r\n width: max-content;\r\n max-width: 100%;\r\n\r\n ${fonts.DaxPro.Medium};\r\n font-size: 20px;\r\n\r\n transition: all 0.1s ease-in-out;\r\n &[data-hide='desktop'] {\r\n @media ${from(Device.TabletLarge)} {\r\n display: none;\r\n }\r\n }\r\n\r\n &[data-hide='mobile'] {\r\n @media ${until(Device.TabletLarge)} {\r\n display: none;\r\n }\r\n }\r\n\r\n &[data-colour='green'] {\r\n --bg: ${brand.primary.light};\r\n --bgHover: ${lighten(0.02, brand.primary.light)};\r\n --bgFocus: ${darken(0.01, brand.primary.light)};\r\n --fg: ${brand.white};\r\n }\r\n\r\n &[data-colour='orange'] {\r\n --bg: ${brand.accent.orange};\r\n --bgHover: ${lighten(0.02, brand.accent.orange)};\r\n --bgFocus: ${darken(0.01, brand.accent.orange)};\r\n --fg: ${brand.white};\r\n }\r\n\r\n &:disabled {\r\n --bg: ${brand.grey.grey40};\r\n --bgHover: ${lighten(0.02, brand.grey.grey40)};\r\n --bgFocus: ${darken(0.01, brand.grey.grey40)};\r\n cursor: not-allowed;\r\n }\r\n\r\n // !important for legacy overrides //\r\n border: 2px solid transparent;\r\n background-color: var(--bg) !important;\r\n color: var(--fg) !important;\r\n\r\n &:hover {\r\n background-color: var(--bgHover) !important;\r\n }\r\n\r\n &:active {\r\n background-color: var(--bgFocus) !important;\r\n }\r\n\r\n &[data-fill='outline'] {\r\n border-color: var(--bg);\r\n background-color: transparent !important;\r\n color: var(--bg) !important;\r\n ${fonts.DaxPro.Bold};\r\n\r\n &:hover {\r\n background-color: transparent !important;\r\n }\r\n\r\n &:focus {\r\n background-color: transparent !important;\r\n }\r\n }\r\n\r\n &[data-center='true'] {\r\n margin: auto;\r\n }\r\n`;\r\nconst Icon = styled.div `\r\n display: flex;\r\n align-items: center;\r\n\r\n [data-icon-position='left'] & {\r\n order: -1;\r\n }\r\n\r\n [data-icon='none'] & {\r\n display: none;\r\n }\r\n\r\n svg {\r\n width: 12px;\r\n color: var(--fg);\r\n [data-fill='outline'] & {\r\n color: var(--bg);\r\n }\r\n\r\n [data-icon='plus'] & {\r\n width: 15px;\r\n }\r\n\r\n [data-icon='check'] & {\r\n width: 19px;\r\n }\r\n\r\n [data-icon='phone'] &,\r\n [data-icon='email'] & {\r\n width: 20px;\r\n }\r\n }\r\n`;\r\nconst LinkWrapper = styled.a `\r\n text-decoration: none !important;\r\n`;\r\nexport const YSButtonStyles = {\r\n Container,\r\n Icon,\r\n LinkWrapper,\r\n};\r\n","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgIconCheckCircleFill(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n stroke: \"currentColor\",\n fill: \"currentColor\",\n strokeWidth: 0,\n viewBox: \"0 0 16 16\",\n height: \"1em\",\n width: \"1em\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 8A8 8 0 110 8a8 8 0 0116 0zm-3.97-3.03a.75.75 0 00-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 00-1.06 1.06L6.97 11.03a.75.75 0 001.079-.02l3.992-4.99a.75.75 0 00-.01-1.05z\",\n stroke: \"none\"\n })));\n}\n\nexport default __webpack_public_path__ + \"9b0dc0df312a7e5d3be9b120eefe213e.svg\";\nexport { SvgIconCheckCircleFill as ReactComponent };","var _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgIconPhone(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 18.371 18.362\"\n }, props), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"Group 1\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 2\",\n d: \"M13.902 18.362a6.132 6.132 0 01-2.147-.448 19.632 19.632 0 01-3.22-1.356 19.187 19.187 0 01-3.907-3.151 21.577 21.577 0 01-2.23-2.644A13.908 13.908 0 01.613 7.047a14.82 14.82 0 01-.541-1.871 4.515 4.515 0 01.475-2.933c.075-.149.165-.29.236-.441A3.231 3.231 0 013.82.002a.622.622 0 01.619.343c.234.408.457.822.694 1.227.428.733.863 1.462 1.295 2.193l.126.216a.706.706 0 01-.088.92c-.3.31-.625.6-.946.886s-.631.546-.938.829a.63.63 0 00-.154.843c.48.807.937 1.632 1.477 2.4a12.25 12.25 0 004.1 3.585c.316.179.635.353.958.52a.577.577 0 00.728-.128c.279-.289.543-.592.812-.891.294-.327.569-.674.885-.977a.753.753 0 011.087-.106l3.286 1.9c.61.353.687.51.552 1.2-.067.341-.153.679-.238 1.016a1.918 1.918 0 01-.592.951 5.681 5.681 0 01-3.581 1.433z\",\n fill: \"currentColor\"\n }))));\n}\n\nexport default __webpack_public_path__ + \"38c345360d88e8b4d2c3cf6334a6233f.svg\";\nexport { SvgIconPhone as ReactComponent };","var _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgIconMail(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 19 13.538\"\n }, props), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"Group 2\",\n fill: \"currentColor\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 3\",\n d: \"M18.371.207L9.522 8.725.51.325a1.271 1.271 0 01.691-.31 2.477 2.477 0 01.311-.013h16.037a1.376 1.376 0 01.822.205z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 4\",\n d: \"M6.742 7.829l.783.725 1.528 1.422a.625.625 0 00.962-.011q1.1-1.051 2.19-2.1l.125-.114 6.009 5.605a1.273 1.273 0 01-.713.186H1.517c-.192 0-.384-.034-.576-.053l-.009-.055z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 5\",\n d: \"M5.821 6.984L.048 12.538a3.116 3.116 0 01-.046-.361v-10.5c0-.025 0-.049.007-.1z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 6\",\n d: \"M18.997 12.287l-5.789-5.4 5.789-5.574z\"\n }))));\n}\n\nexport default __webpack_public_path__ + \"cf472edd49267d98c469404c181750b2.svg\";\nexport { SvgIconMail as ReactComponent };","import React from 'react';\r\nimport { YSButtonStyles as S } from './YSButton.styles';\r\nimport { ReactComponent as Chevron } from '@img/icons/chevron-right.svg';\r\nimport { ReactComponent as Plus } from '@img/icons/plus-thick.svg';\r\nimport { ReactComponent as CheckCircle } from '@img/ysp/icon-check-circle-fill.svg';\r\nimport { ReactComponent as Phone } from '@img/ysp/icon-phone.svg';\r\nimport { ReactComponent as Email } from '@img/ysp/icon-mail.svg';\r\nconst YSButton = ({ children, icon, hideOnDesktop, hideOnMobile, colour = 'green', iconPosition = 'right', size = 'normal', fill = 'solid', center, ...rest }) => {\r\n const getIcon = () => {\r\n switch (icon) {\r\n case 'arrow':\r\n return React.createElement(Chevron, null);\r\n case 'plus':\r\n return React.createElement(Plus, null);\r\n case 'check':\r\n return React.createElement(CheckCircle, null);\r\n case 'email':\r\n return React.createElement(Email, null);\r\n case 'phone':\r\n return React.createElement(Phone, null);\r\n default:\r\n return React.createElement(React.Fragment, null);\r\n }\r\n };\r\n return (React.createElement(S.Container, { type: \"button\", \"data-colour\": colour, \"data-icon\": icon, \"data-icon-position\": iconPosition, \"data-fill\": fill, \"data-size\": size, \"data-hide\": hideOnDesktop ? 'desktop' : hideOnMobile ? 'mobile' : undefined, \"data-center\": center, ...rest },\r\n children,\r\n \" \",\r\n icon && React.createElement(S.Icon, null, getIcon())));\r\n};\r\nexport default YSButton;\r\nexport const YSLinkButton = ({ href, target, ...rest }) => {\r\n return (React.createElement(S.LinkWrapper, { href: href, target: target },\r\n React.createElement(YSButton, { ...rest })));\r\n};\r\n","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport styled from 'styled-components';\r\nconst Input = styled.input `\r\n display: inline-block;\r\n width: 100%;\r\n border-radius: 8px;\r\n padding: 10px;\r\n border: 1px solid ${brand.black};\r\n padding-bottom: 10px;\r\n position: relative;\r\n transition: all 0.25s;\r\n\r\n &[type='number'] {\r\n max-width: 100px;\r\n text-align: center;\r\n }\r\n\r\n &[data-layout='soil-table'] {\r\n padding: 6px;\r\n max-width: unset;\r\n border: none;\r\n border-radius: 0;\r\n width: 100%;\r\n position: relative;\r\n transition: outline-color 0.1s ease-in-out;\r\n outline: 2px solid transparent;\r\n\r\n &::-webkit-outer-spin-button,\r\n &::-webkit-inner-spin-button {\r\n margin-left: 5px;\r\n }\r\n\r\n &::selection {\r\n color: ${brand.white};\r\n background-color: ${brand.divisionTags.sandhurst};\r\n }\r\n\r\n &:focus {\r\n outline-color: ${brand.divisionTags.sandhurst};\r\n }\r\n }\r\n\r\n &[data-layout='surcharges-table'] {\r\n padding: 6px 10px;\r\n border: none;\r\n border-radius: 0;\r\n width: 100%;\r\n height: 100%;\r\n position: relative;\r\n transition: outline-color 0.1s ease-in-out;\r\n outline: 2px solid transparent;\r\n ${fonts.DaxPro.Medium};\r\n\r\n &::selection {\r\n color: ${brand.white};\r\n background-color: ${brand.divisionTags.sandhurst};\r\n }\r\n\r\n &:focus {\r\n outline-color: ${brand.divisionTags.sandhurst};\r\n }\r\n }\r\n\r\n &[data-layout='default'] {\r\n &:focus,\r\n &:active {\r\n outline: none;\r\n }\r\n }\r\n\r\n &[data-bg='green'] {\r\n background-color: ${brand.ysp.input};\r\n }\r\n\r\n &[data-bg='white'] {\r\n background-color: ${brand.white};\r\n }\r\n\r\n &[data-bg='grey'] {\r\n background-color: ${brand.grey.grey89};\r\n }\r\n\r\n &[data-alignment='left'] {\r\n text-align: left;\r\n }\r\n\r\n &[data-alignment='center'] {\r\n text-align: center;\r\n }\r\n\r\n &[data-alignment='right'] {\r\n text-align: right;\r\n }\r\n`;\r\nexport const NumberInputStyles = {\r\n Input,\r\n};\r\n","import React from 'react';\r\nimport { NumberInputStyles as S } from './NumberInput.styles';\r\nconst NumberInput = ({ value, defaultValue, onChange, step = 0.1, min = 0, id, layout = 'default', bg = 'default', alignment = 'center', onFocus, onBlur, onClick, }) => {\r\n const [hasFocus, setHasFocus] = React.useState(false);\r\n const padNumber = (n) => n ? (n.toString().includes('.') ? n.toString() : `${n}.0`) : hasFocus ? undefined : '0.0';\r\n const handleKeyPress = (event) => {\r\n if (event.charCode == 13) {\r\n event.preventDefault();\r\n }\r\n };\r\n return (React.createElement(S.Input, { \"data-layout\": layout, \"data-bg\": bg, \"data-alignment\": alignment, type: \"number\", id: id, step: step, min: min, \"data-has-focus\": hasFocus, defaultValue: defaultValue, value: hasFocus ? value : padNumber(value), onChange: (e) => {\r\n onChange(e.currentTarget.value, e);\r\n }, onClick: () => onClick && onClick(), onFocus: () => {\r\n setHasFocus(true);\r\n onFocus && onFocus();\r\n }, onBlur: (e) => {\r\n setHasFocus(false);\r\n if (value && !value.toString().includes('.')) {\r\n onChange(`${value}.0`, e);\r\n }\r\n else if (value === undefined) {\r\n onChange('0.0', e);\r\n }\r\n onBlur && onBlur();\r\n }, onKeyPress: (e) => handleKeyPress(e) }));\r\n};\r\nexport default NumberInput;\r\n","import { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport { AnimatePresence } from 'framer-motion';\r\nimport React, { useEffect, useState } from 'react';\r\nimport Checkbox from '@ys/Components/Steps/Controls/Checkbox/Checkbox';\r\nimport Toggle from '@ys/Components/Steps/Controls/Toggle/Toggle';\r\nimport { SoilInfoTableStyles as S } from './SoilInfoTable.styles';\r\nimport { ReactComponent as Close } from '@img/icons/close-white.svg';\r\nimport { ReactComponent as Reset } from '@img/ysp/reset-thick.svg';\r\nimport YSButton from '../../../Shared/YSButton/YSButton';\r\nimport NumberInput from '../../../Shared/NumberInput/NumberInput';\r\nexport const padNumber = (number) => number ? (number.toString().includes('.') ? number.toString() : `${number}.0`) : '0.0';\r\nconst SoilInfoTable = ({ layers, update, setTargetedLayer, }) => {\r\n const { state: { labels, form }, dispatch, setFormField, } = useYSPContext();\r\n const [editSoilParameters, setEditSoilParameters] = useState(form.acceptedSoilModification ? form.acceptedSoilModification : false);\r\n const [showEditModal, setShowEditModal] = useState(false);\r\n const [hasAccepted, setHasAccepted] = useState(form.acceptedSoilModification ? form.acceptedSoilModification : false);\r\n useEffect(() => {\r\n if (editSoilParameters && !hasAccepted) {\r\n setShowEditModal(true);\r\n }\r\n else if (!editSoilParameters) {\r\n setHasAccepted(false);\r\n }\r\n }, [editSoilParameters]);\r\n useEffect(() => {\r\n setFormField('acceptedSoilModification', editSoilParameters && hasAccepted);\r\n }, [editSoilParameters, hasAccepted]);\r\n useEffect(() => {\r\n // If they've opened the modal box, but not accepted and closed, reset the toggle //\r\n if (!showEditModal && !hasAccepted) {\r\n setEditSoilParameters(false);\r\n }\r\n dispatch({ type: 'set-soil-modal', payload: showEditModal });\r\n }, [showEditModal]);\r\n const determineClick = () => {\r\n if (!hasAccepted) {\r\n setShowEditModal(true);\r\n }\r\n };\r\n const changeHandler = (e, callback) => {\r\n hasAccepted && callback(e);\r\n };\r\n const toggleLocked = (b) => {\r\n dispatch({ type: 'set-locked', payload: b });\r\n };\r\n return (React.createElement(S.Wrapper, null,\r\n React.createElement(S.TopSection, null,\r\n React.createElement(S.Title, { dangerouslySetInnerHTML: { __html: labels['heading_soil'] || 'Soil Parameters' } }),\r\n React.createElement(S.Disclaimer, { dangerouslySetInnerHTML: {\r\n __html: labels['soiltable.heading'] ||\r\n `

If the soil doesn't match what our default parameters state, you can change these to get a more accurate result for which Solution to use. Click on the toggle below to enable Profile editing

\\r\\n`,\r\n } }),\r\n React.createElement(Toggle, { value: hasAccepted && !showEditModal, label: 'Edit Soil Parameters', onChange: (v) => v && setEditSoilParameters(v) }),\r\n React.createElement(AnimatePresence, null,\r\n React.createElement(S.Modal, { active: showEditModal, key: 'SoilProfileModal' },\r\n React.createElement(S.ModalInner, null,\r\n React.createElement(S.Close, { onClick: () => {\r\n setHasAccepted(false);\r\n setShowEditModal(false);\r\n } },\r\n React.createElement(Close, null)),\r\n React.createElement(S.ModalTitle, null, \"Edit Soil Parameters\"),\r\n React.createElement(S.ModalText, { dangerouslySetInnerHTML: {\r\n __html: labels['soilmodal.content'] ||\r\n 'Lorem ipsum, blah blah, words and some more words
'.repeat(50),\r\n } }),\r\n React.createElement(Checkbox, { label: \"I confirm I have read the Terms & Conditions\", value: hasAccepted, onChange: () => setHasAccepted(!hasAccepted) }),\r\n React.createElement(YSButton, { colour: \"orange\", disabled: !hasAccepted, onClick: () => setShowEditModal(false) }, \"Accept\"))))),\r\n React.createElement(S.Container, null,\r\n React.createElement(S.ColumnWrapper, null,\r\n React.createElement(S.HeaderWrapper, null,\r\n React.createElement(S.SmallHeader, { bold: true },\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.soilprofile.table.layerlabel'] || 'Layer Start Depth',\r\n } })),\r\n React.createElement(S.SmallHeader, null,\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.soilprofile.table.layerunits'] || 'mBGL',\r\n } }))),\r\n layers.map((layer, i) => (React.createElement(S.FieldRow, { key: `${layer.id}_${i}` },\r\n React.createElement(NumberInput, { bg: 'green', alignment: \"center\", step: 0.1, min: 0, value: layer.bgl, onChange: (e) => update(i, 'bgl', e), layout: \"soil-table\", onFocus: () => toggleLocked(true), onBlur: () => toggleLocked(false) }))))),\r\n React.createElement(S.WideColumnWrapper, null,\r\n React.createElement(S.HeaderWrapper, null,\r\n React.createElement(S.LargeHeader, { bold: true },\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.soilprofile.table.descriptionlabel'] || 'Description',\r\n } }))),\r\n layers.map((layer, i) => (React.createElement(S.FieldRow, { key: `${layer.id}_${i}` },\r\n React.createElement(S.FieldInput, { bg: 'green', type: \"text\", align: 'left', value: layer.description || '', onChange: (e) => update(i, 'description', e.currentTarget.value) }))))),\r\n React.createElement(S.ColumnWrapper, null,\r\n React.createElement(S.HeaderWrapper, null,\r\n React.createElement(S.SmallHeader, null,\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.soilprofile.table.soildensitylabel'] || 'Soil Density γ',\r\n } })),\r\n React.createElement(S.SmallHeader, null,\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.soilprofile.table.soildensityunits'] || 'kN/m3',\r\n } }))),\r\n layers.map((layer, i) => (React.createElement(S.FieldRow, { key: `${layer.id}_${i}` },\r\n React.createElement(NumberInput, { bg: i % 2 === 0 ? 'white' : 'grey', alignment: \"right\", step: 0.1, min: 0, layout: \"soil-table\", value: layer.soilDensity, onChange: (e, event) => changeHandler(event, (e) => update(i, 'soilDensity', e.currentTarget.value)), onFocus: () => toggleLocked(true), onBlur: () => toggleLocked(false), onClick: determineClick }))))),\r\n React.createElement(S.ColumnWrapper, null,\r\n React.createElement(S.HeaderWrapper, null,\r\n React.createElement(S.SmallHeader, null,\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.soilprofile.table.saturateddensitylabel'] ||\r\n 'Saturated Density, γsat',\r\n } })),\r\n React.createElement(S.SmallHeader, null,\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.soilprofile.table.saturateddensityunits'] || 'kN/m3',\r\n } }))),\r\n layers.map((layer, i) => (React.createElement(S.FieldRow, { key: `${layer.id}_${i}` },\r\n React.createElement(NumberInput, { bg: i % 2 === 0 ? 'white' : 'grey', alignment: \"right\", step: 0.1, min: 0, layout: \"soil-table\", value: layer.saturatedDensity, onChange: (e, event) => changeHandler(event, (e) => update(i, 'saturatedDensity', e.currentTarget.value)), onFocus: () => toggleLocked(true), onBlur: () => toggleLocked(false), onClick: determineClick }))))),\r\n React.createElement(S.ColumnWrapper, null,\r\n React.createElement(S.HeaderWrapper, null,\r\n React.createElement(S.SmallHeader, null,\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.soilprofile.table.anglefrictionlabel'] || 'Angle of friction, φ',\r\n } })),\r\n React.createElement(S.SmallHeader, null,\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.soilprofile.table.anglefrictionunits'] || '°',\r\n } }))),\r\n layers.map((layer, i) => (React.createElement(S.FieldRow, { key: `${layer.id}_${i}` },\r\n React.createElement(NumberInput, { bg: i % 2 === 0 ? 'white' : 'grey', alignment: \"right\", step: 0.1, min: 0, layout: \"soil-table\", value: layer.angleOfFriction, onChange: (e, event) => changeHandler(event, (e) => update(i, 'angleOfFriction', e.currentTarget.value)), onFocus: () => toggleLocked(true), onBlur: () => toggleLocked(false), onClick: determineClick }))))),\r\n React.createElement(S.ColumnWrapper, null,\r\n React.createElement(S.HeaderWrapper, null,\r\n React.createElement(S.SmallHeader, null,\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.soilprofile.table.wallfrictionlabel'] || 'Wall Friction Factor',\r\n } })),\r\n React.createElement(S.SmallHeader, null,\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.soilprofile.table.wallfrictionunits'] || 'tan𝛿 / tanφ',\r\n } }))),\r\n layers.map((layer, i) => (React.createElement(S.FieldRow, { key: `${layer.id}_${i}` },\r\n React.createElement(NumberInput, { bg: i % 2 === 0 ? 'white' : 'grey', alignment: \"right\", step: 0.1, min: 0, layout: \"soil-table\", value: layer.wallFrictionFactor, onChange: (e, event) => changeHandler(event, (e) => update(i, 'wallFrictionFactor', e.currentTarget.value)), onFocus: () => toggleLocked(true), onBlur: () => toggleLocked(false), onClick: determineClick }))))),\r\n React.createElement(S.ColumnWrapper, null,\r\n React.createElement(S.HeaderWrapper, null,\r\n React.createElement(S.SmallHeader, null,\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.soilprofile.table.soilcohesionlabel'] ||\r\n 'Soil cohesion, c or cu',\r\n } })),\r\n React.createElement(S.SmallHeader, null,\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.soilprofile.table.soilcohesionunits'] || 'kN/m2',\r\n } }))),\r\n layers.map((layer, i) => (React.createElement(S.FieldRow, { key: `${layer.id}_${i}` },\r\n React.createElement(NumberInput, { bg: i % 2 === 0 ? 'white' : 'grey', alignment: \"right\", step: 0.1, min: 0, layout: \"soil-table\", value: layer.soilCohesion, onChange: (e, event) => changeHandler(event, (e) => update(i, 'soilCohesion', e.currentTarget.value)), onFocus: () => toggleLocked(true), onBlur: () => toggleLocked(false), onClick: determineClick }))))),\r\n React.createElement(S.ColumnWrapper, null,\r\n React.createElement(S.HeaderWrapper, null,\r\n React.createElement(S.SmallHeader, null,\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.soilprofile.table.walladhesionlabel'] || 'Wall adhesion factor',\r\n } })),\r\n React.createElement(S.SmallHeader, null,\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.soilprofile.table.walladhesionunits'] ||\r\n 'aw/cw',\r\n } }))),\r\n layers.map((layer, i) => (React.createElement(S.LastRowWrapper, { key: `${layer.id}_${i}` },\r\n React.createElement(S.FieldRow, null,\r\n React.createElement(NumberInput, { bg: i % 2 === 0 ? 'white' : 'grey', alignment: \"right\", step: 0.1, min: 0, layout: \"soil-table\", value: layer.wallAdhesion, onChange: (e, event) => changeHandler(event, (e) => update(i, 'wallAdhesion', e.currentTarget.value)), onFocus: () => toggleLocked(true), onBlur: () => toggleLocked(false), onClick: determineClick })),\r\n React.createElement(S.Reset, { key: `Reset_${i}`, title: 'Reset this row to default values?', onClick: () => {\r\n setTargetedLayer(i);\r\n } },\r\n React.createElement(Reset, null)))))))));\r\n};\r\nexport default SoilInfoTable;\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport { SharedStyles } from '@ys/Components/Shared.styles';\r\nimport { DepthStyles as S } from './Depth.styles';\r\nimport { FormStyles } from '@ys/Components/Shared/Form.styles';\r\nimport InfoIcon from '../../InfoIcon/InfoIcon';\r\nimport { padNumber } from '../SoilProfiles/SoilInfoTable/SoilInfoTable';\r\nconst Depth = () => {\r\n const { state, dispatch, setFormField } = useYSPContext();\r\n const [hasFocus, setHasFocus] = useState(false);\r\n useEffect(() => {\r\n //\r\n dispatch({\r\n type: 'set-footer',\r\n payload: {\r\n beforeNext: () => dispatch({ type: 'validate-depth' }),\r\n },\r\n });\r\n }, []);\r\n const svgDepth = useMemo(() => {\r\n let _svgDepth = 17;\r\n if (state.form.depth) {\r\n const factor = state.form.depth > 5 ? 5 : state.form.depth;\r\n _svgDepth = 17 * factor;\r\n if (_svgDepth < 17) {\r\n _svgDepth = 17;\r\n }\r\n }\r\n return _svgDepth;\r\n }, [state.form.depth]);\r\n const handleDepthChange = (value) => {\r\n let floatValue = parseFloat(value);\r\n if (floatValue > 99999) {\r\n floatValue = 99999;\r\n }\r\n if (value === '' || floatValue < 0) {\r\n setFormField('depth', undefined);\r\n }\r\n else {\r\n setFormField('depth', floatValue);\r\n }\r\n };\r\n const handleKeyPress = (event) => {\r\n if (event.charCode == 13) {\r\n event.preventDefault();\r\n }\r\n };\r\n return (React.createElement(SharedStyles.Question, null,\r\n React.createElement(FormStyles.Form, null,\r\n React.createElement(SharedStyles.TitleWithInfoIcon, null,\r\n React.createElement(\"h2\", null, state.labels['heading']),\r\n state.labels['tooltip'] && (React.createElement(InfoIcon, { onClick: () => {\r\n dispatch({\r\n type: 'set-modal',\r\n payload: {\r\n description: state.labels['tooltip'],\r\n fullWidth: true,\r\n size: 'normal',\r\n },\r\n });\r\n } }))),\r\n React.createElement(S.Container, null,\r\n state.form.depth !== undefined && (React.createElement(S.Label, { style: { height: `${svgDepth}px` } },\r\n React.createElement(S.Indicator, null),\r\n state.form.depth,\r\n \"m\")),\r\n React.createElement(\"svg\", { id: \"icon\", xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 294.928 102.119\" },\r\n React.createElement(\"g\", { id: \"Group_44\", \"data-name\": \"Group 44\", transform: \"translate(-102.872 -342.491)\" },\r\n React.createElement(\"path\", { id: \"Path_69\", \"data-name\": \"Path 69\", d: \"M393.309,349.21c-2.85-.27-5.471,2.191-8.305,1.786-1.845-.264-3.425-1.722-5.289-1.694-1.835.027-3.415,1.5-5.25,1.519-1.787.019-3.354-1.345-5.14-1.391-2.072-.052-3.886,1.672-5.957,1.59-1.9-.074-3.438-1.642-5.309-1.984-2.939-.537-5.654,1.729-8.315,3.087-2.35-.241-4.158-2.6-6.52-2.52-2.094.07-3.643,2.031-5.682,2.51-3.167.744-6.193-2.257-9.43-1.909-1.589.17-2.969,1.128-4.493,1.6a7.629,7.629,0,0,1-4.974-.172c-1.924-.748-3.9-2.31-5.809-1.519a14.769,14.769,0,0,0-1.737,1.115,5.885,5.885,0,0,1-5.462-.177c-1.365-.671-2.841-1.691-4.268-1.16-1.27.473-1.979,2.06-3.329,2.21-1.787.2-2.778-2.209-4.524-2.631-2.268-.548-4.1,2.457-6.427,2.252-1.368-.12-2.394-1.328-3.726-1.662a3.635,3.635,0,0,0-3.9,1.877l.023,5.975H221.493v-7.046c-2.5.043-2.568-1.4-4.67-1.6-2.85-.27-5.472,2.191-8.306,1.786-1.845-.265-3.424-1.722-5.289-1.694-1.835.027-3.415,1.5-5.25,1.519-1.787.019-3.354-1.345-5.14-1.391-2.072-.053-3.886,1.672-5.957,1.59-1.9-.074-3.438-1.642-5.309-1.984-2.939-.537-5.654,1.729-8.315,3.087-2.35-.241-4.159-2.6-6.52-2.52-2.095.07-3.644,2.031-5.682,2.51-3.167.744-6.193-2.257-9.43-1.909-1.589.17-2.969,1.128-4.494,1.6a7.619,7.619,0,0,1-4.973-.172c-1.925-.747-3.9-2.309-5.81-1.519a14.964,14.964,0,0,0-1.737,1.115,5.885,5.885,0,0,1-5.462-.176c-1.365-.671-2.841-1.691-4.268-1.16-1.271.472-1.98,2.06-3.329,2.21-1.787.2-2.777-2.208-4.524-2.631-2.268-.547-4.1,2.457-6.427,2.253-1.368-.121-2.4-1.328-3.726-1.662a3.116,3.116,0,0,0-3.537,1.8v95.391H221.307l58.517-.117v.058H397.792V350.794C395.291,350.837,395.411,349.409,393.309,349.21Z\", transform: \"translate(0 -2.705)\", fill: \"#c9c9c9\" }),\r\n React.createElement(\"path\", { id: \"Path_70\", \"data-name\": \"Path 70\", d: \"M112.329,367.252a1.794,1.794,0,0,1,.43-.3,3.924,3.924,0,0,1,1.972-.286,4.884,4.884,0,0,1,1.776.358,3.539,3.539,0,0,1,1.69,3.2c.085,1.363-6.3,2.116-6.453-.942A2.506,2.506,0,0,1,112.329,367.252Z\", transform: \"translate(-3.513 -10.111)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_71\", \"data-name\": \"Path 71\", d: \"M139.745,365.494a.882.882,0,0,1-.031-.259,1.961,1.961,0,0,1,.334-.938,2.447,2.447,0,0,1,.573-.7,1.77,1.77,0,0,1,1.81,0c.622.281-.538,3.277-1.926,2.632A1.254,1.254,0,0,1,139.745,365.494Z\", transform: \"translate(-15.219 -8.725)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_72\", \"data-name\": \"Path 72\", d: \"M134.752,404.79a1.776,1.776,0,0,1,.429-.3,3.924,3.924,0,0,1,1.972-.286,4.881,4.881,0,0,1,1.776.357,3.539,3.539,0,0,1,1.69,3.2c.085,1.363-6.3,2.115-6.453-.942A2.5,2.5,0,0,1,134.752,404.79Z\", transform: \"translate(-12.895 -25.816)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_73\", \"data-name\": \"Path 73\", d: \"M168.736,381.5a1.78,1.78,0,0,1,.43-.3,3.922,3.922,0,0,1,1.971-.286,4.883,4.883,0,0,1,1.776.357,3.539,3.539,0,0,1,1.69,3.2c.085,1.363-6.3,2.115-6.452-.942A2.506,2.506,0,0,1,168.736,381.5Z\", transform: \"translate(-27.114 -16.072)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_74\", \"data-name\": \"Path 74\", d: \"M193.753,360.509a1.8,1.8,0,0,1,.43-.3,3.921,3.921,0,0,1,1.971-.286,4.868,4.868,0,0,1,1.776.358,3.537,3.537,0,0,1,1.69,3.2c.085,1.363-6.3,2.116-6.452-.942A2.506,2.506,0,0,1,193.753,360.509Z\", transform: \"translate(-37.581 -7.289)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_75\", \"data-name\": \"Path 75\", d: \"M208.229,388.426a1.8,1.8,0,0,1,.43-.3,3.924,3.924,0,0,1,1.972-.286,4.883,4.883,0,0,1,1.776.358,3.538,3.538,0,0,1,1.69,3.2c.085,1.363-6.3,2.116-6.453-.942A2.506,2.506,0,0,1,208.229,388.426Z\", transform: \"translate(-43.637 -18.97)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_76\", \"data-name\": \"Path 76\", d: \"M238.735,361a10.4,10.4,0,0,1,4.182-.338c1.779.341,1.983,2.771,1.91,4.332-.141,3.025-6.34,1.633-8.213,1.113-1.453-.4-.677-2.771-.108-3.6A3.707,3.707,0,0,1,238.735,361Z\", transform: \"translate(-55.414 -7.562)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_77\", \"data-name\": \"Path 77\", d: \"M262.76,384.335a1.339,1.339,0,0,1,.3-.3,1.987,1.987,0,0,1,1.368-.286,2.528,2.528,0,0,1,1.233.358c.847.554,1.12,1.968,1.173,3.2.059,1.363-4.371,2.115-4.48-.942A3.313,3.313,0,0,1,262.76,384.335Z\", transform: \"translate(-66.529 -17.258)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_78\", \"data-name\": \"Path 78\", d: \"M273.11,360.509a1.8,1.8,0,0,1,.43-.3,3.921,3.921,0,0,1,1.971-.286,4.871,4.871,0,0,1,1.776.358,3.537,3.537,0,0,1,1.69,3.2c.085,1.363-6.3,2.116-6.452-.942A2.506,2.506,0,0,1,273.11,360.509Z\", transform: \"translate(-70.783 -7.289)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_79\", \"data-name\": \"Path 79\", d: \"M103.338,351.966a3.116,3.116,0,0,1,3.537-1.8c1.331.333,2.358,1.541,3.726,1.662,2.325.2,4.16-2.8,6.427-2.253,1.747.422,2.737,2.829,4.524,2.631,1.349-.149,2.058-1.737,3.329-2.21,1.427-.53,2.9.489,4.268,1.16a5.883,5.883,0,0,0,5.462.176,14.952,14.952,0,0,1,1.737-1.115c1.908-.79,3.885.772,5.81,1.519a7.619,7.619,0,0,0,4.973.172c1.525-.473,2.905-1.431,4.494-1.6,3.237-.347,6.263,2.653,9.43,1.909,2.039-.479,3.587-2.44,5.682-2.51,2.361-.079,4.17,2.279,6.52,2.52,2.661-1.359,5.376-3.625,8.315-3.087,1.872.341,3.409,1.909,5.309,1.984,2.072.081,3.885-1.643,5.957-1.59,1.786.045,3.353,1.409,5.14,1.391,1.835-.019,3.415-1.492,5.25-1.519,1.864-.028,3.443,1.43,5.289,1.694,2.834.406,5.455-2.055,8.306-1.786,2.1.2,2.169,1.642,4.67,1.6\", transform: \"translate(0 -2.747)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_80\", \"data-name\": \"Path 80\", d: \"M290.422,468.643a1.8,1.8,0,0,1,.43-.3,3.928,3.928,0,0,1,1.971-.286,4.893,4.893,0,0,1,1.776.358c1.3.589,2.529,3.183.876,4.044-1.569.818-5.521.541-5.639-1.785A2.506,2.506,0,0,1,290.422,468.643Z\", transform: \"translate(-78.027 -52.532)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_81\", \"data-name\": \"Path 81\", d: \"M290.422,429.136a1.8,1.8,0,0,1,.43-.3,3.928,3.928,0,0,1,1.971-.286,4.892,4.892,0,0,1,1.776.358,3.539,3.539,0,0,1,1.69,3.2c.086,1.363-6.3,2.115-6.452-.942A2.506,2.506,0,0,1,290.422,429.136Z\", transform: \"translate(-78.027 -36.003)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_82\", \"data-name\": \"Path 82\", d: \"M304.029,498.965a1.8,1.8,0,0,1,.429-.3,3.931,3.931,0,0,1,1.972-.286,4.9,4.9,0,0,1,1.776.358,3.539,3.539,0,0,1,1.69,3.2c.085,1.363-6.3,2.115-6.452-.942A2.507,2.507,0,0,1,304.029,498.965Z\", transform: \"translate(-83.72 -65.219)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_83\", \"data-name\": \"Path 83\", d: \"M342.336,472.686a10.4,10.4,0,0,1,3.047,2.884c.936,1.551-.735,3.327-1.944,4.316-2.344,1.918-5.453-3.624-6.319-5.364-.672-1.35,1.609-2.356,2.6-2.486A3.707,3.707,0,0,1,342.336,472.686Z\", transform: \"translate(-97.762 -54.188)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_84\", \"data-name\": \"Path 84\", d: \"M383.661,496.561a1.349,1.349,0,0,1,.3-.3,1.982,1.982,0,0,1,1.368-.286,2.523,2.523,0,0,1,1.234.357c.847.554,1.119,1.968,1.173,3.2.059,1.363-4.371,2.115-4.48-.942A3.311,3.311,0,0,1,383.661,496.561Z\", transform: \"translate(-117.114 -64.213)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_85\", \"data-name\": \"Path 85\", d: \"M110.167,478.409a1.785,1.785,0,0,1,.429-.3,3.919,3.919,0,0,1,1.972-.286,4.882,4.882,0,0,1,1.776.357,3.539,3.539,0,0,1,1.69,3.2c.085,1.363-6.3,2.115-6.452-.942A2.507,2.507,0,0,1,110.167,478.409Z\", transform: \"translate(-2.609 -56.619)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_86\", \"data-name\": \"Path 86\", d: \"M140.739,466.6a1.778,1.778,0,0,1,.43-.3,3.922,3.922,0,0,1,1.971-.287,4.895,4.895,0,0,1,1.776.358,3.539,3.539,0,0,1,1.69,3.2c.085,1.363-6.3,2.115-6.452-.942A2.507,2.507,0,0,1,140.739,466.6Z\", transform: \"translate(-15.4 -51.677)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_87\", \"data-name\": \"Path 87\", d: \"M140.739,496.923a1.777,1.777,0,0,1,.43-.3,3.921,3.921,0,0,1,1.971-.286,4.882,4.882,0,0,1,1.776.357,3.539,3.539,0,0,1,1.69,3.2c.085,1.363-6.3,2.115-6.452-.942A2.508,2.508,0,0,1,140.739,496.923Z\", transform: \"translate(-15.4 -64.364)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_88\", \"data-name\": \"Path 88\", d: \"M178.773,476.92a10.394,10.394,0,0,1,1.725,3.824c.278,1.79-1.941,2.8-3.436,3.256-2.9.885-3.671-5.421-3.813-7.36-.11-1.5,2.382-1.57,3.352-1.313A3.708,3.708,0,0,1,178.773,476.92Z\", transform: \"translate(-29.249 -55.53)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_89\", \"data-name\": \"Path 89\", d: \"M209.746,490.427a1.363,1.363,0,0,1,.3-.3,1.987,1.987,0,0,1,1.369-.286,2.515,2.515,0,0,1,1.233.358c.847.554,1.12,1.967,1.173,3.2.059,1.363-4.371,2.116-4.48-.942A3.317,3.317,0,0,1,209.746,490.427Z\", transform: \"translate(-44.348 -61.647)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_90\", \"data-name\": \"Path 90\", d: \"M248.956,490.427a1.794,1.794,0,0,1,.43-.3,3.924,3.924,0,0,1,1.972-.286,4.874,4.874,0,0,1,1.776.358,3.538,3.538,0,0,1,1.69,3.2c.085,1.363-6.3,2.116-6.453-.942A2.506,2.506,0,0,1,248.956,490.427Z\", transform: \"translate(-60.678 -61.647)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_91\", \"data-name\": \"Path 91\", d: \"M121.16,438.546a1.8,1.8,0,0,1,.186.488,3.923,3.923,0,0,1-.193,1.983,4.872,4.872,0,0,1-.771,1.64,3.539,3.539,0,0,1-3.511.878c-1.344-.243-.554-6.619,2.453-6.042A2.508,2.508,0,0,1,121.16,438.546Z\", transform: \"translate(-5.398 -39.733)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_92\", \"data-name\": \"Path 92\", d: \"M162.432,427.97a10.391,10.391,0,0,1,4.181-.337c1.78.34,1.983,2.77,1.911,4.331-.141,3.025-6.341,1.633-8.213,1.113-1.453-.4-.677-2.771-.108-3.6A3.706,3.706,0,0,1,162.432,427.97Z\", transform: \"translate(-23.489 -35.582)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_93\", \"data-name\": \"Path 93\", d: \"M202.173,447.487a1.353,1.353,0,0,1,.3-.3,1.988,1.988,0,0,1,1.368-.286,2.528,2.528,0,0,1,1.233.358c.847.554,1.12,1.968,1.173,3.2.059,1.363-4.371,2.115-4.48-.942A3.315,3.315,0,0,1,202.173,447.487Z\", transform: \"translate(-41.18 -43.681)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_94\", \"data-name\": \"Path 94\", d: \"M239.009,408.881a1.785,1.785,0,0,1,.429-.3,3.924,3.924,0,0,1,1.972-.286,4.881,4.881,0,0,1,1.776.357,3.539,3.539,0,0,1,1.69,3.2c.086,1.363-6.3,2.115-6.452-.942A2.507,2.507,0,0,1,239.009,408.881Z\", transform: \"translate(-56.516 -27.528)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_95\", \"data-name\": \"Path 95\", d: \"M254.511,437.381a1.8,1.8,0,0,1,.43-.3,3.921,3.921,0,0,1,1.971-.286,4.879,4.879,0,0,1,1.776.358,3.538,3.538,0,0,1,1.69,3.2c.086,1.363-6.3,2.116-6.452-.942A2.506,2.506,0,0,1,254.511,437.381Z\", transform: \"translate(-63.002 -39.452)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_96\", \"data-name\": \"Path 96\", d: \"M206.72,423.169c-.287-.277-.559-.572-.818-.876a6.115,6.115,0,0,1-1.614-2.43,1.18,1.18,0,0,1,.722-1.377,1.577,1.577,0,0,1,1.162.309,8.857,8.857,0,0,1,3.644,4.4,1.339,1.339,0,0,1,.116.565c-.061.78-1.228.895-1.887.473A8.536,8.536,0,0,1,206.72,423.169Z\", transform: \"translate(-42.228 -31.784)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_97\", \"data-name\": \"Path 97\", d: \"M250.6,468.957c-.323.236-.66.452-1,.656a6.11,6.11,0,0,1-2.671,1.173,1.18,1.18,0,0,1-1.232-.947,1.576,1.576,0,0,1,.5-1.092,8.853,8.853,0,0,1,4.957-2.835,1.341,1.341,0,0,1,.576-.018c.758.194.671,1.364.142,1.941A8.507,8.507,0,0,1,250.6,468.957Z\", transform: \"translate(-59.558 -51.621)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_98\", \"data-name\": \"Path 98\", d: \"M397.648,469.067c-.087.39-.195.776-.319,1.156a6.11,6.11,0,0,1-1.224,2.647,1.18,1.18,0,0,1-1.551.106,1.578,1.578,0,0,1-.345-1.152,8.854,8.854,0,0,1,1.838-5.407,1.33,1.33,0,0,1,.421-.4c.7-.357,1.405.578,1.391,1.36A8.533,8.533,0,0,1,397.648,469.067Z\", transform: \"translate(-121.699 -51.652)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_99\", \"data-name\": \"Path 99\", d: \"M368.035,433.227a1.8,1.8,0,0,1,.43-.3,3.928,3.928,0,0,1,1.971-.286,4.894,4.894,0,0,1,1.776.358c1.3.589,2.529,3.183.876,4.044-1.569.818-5.521.541-5.639-1.785A2.506,2.506,0,0,1,368.035,433.227Z\", transform: \"translate(-110.5 -37.714)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1.188\" }),\r\n React.createElement(\"path\", { id: \"Path_101\", \"data-name\": \"Path 101\", d: \"M415.776,367.151a1.793,1.793,0,0,1,.429-.3,3.931,3.931,0,0,1,1.972-.286,4.9,4.9,0,0,1,1.776.358,3.539,3.539,0,0,1,1.69,3.2c.085,1.363-6.3,2.115-6.452-.942A2.507,2.507,0,0,1,415.776,367.151Z\", transform: \"translate(-130.474 -10.068)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_102\", \"data-name\": \"Path 102\", d: \"M443.191,365.393a.894.894,0,0,1-.031-.259,1.967,1.967,0,0,1,.334-.938,2.455,2.455,0,0,1,.573-.7,1.769,1.769,0,0,1,1.81,0c.622.281-.537,3.277-1.925,2.631A1.253,1.253,0,0,1,443.191,365.393Z\", transform: \"translate(-142.18 -8.683)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_103\", \"data-name\": \"Path 103\", d: \"M438.2,404.689a1.8,1.8,0,0,1,.43-.3,3.921,3.921,0,0,1,1.971-.286,4.883,4.883,0,0,1,1.776.358,3.538,3.538,0,0,1,1.69,3.2c.085,1.363-6.3,2.116-6.452-.942A2.506,2.506,0,0,1,438.2,404.689Z\", transform: \"translate(-139.856 -25.774)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_104\", \"data-name\": \"Path 104\", d: \"M472.182,381.4a1.8,1.8,0,0,1,.43-.3,3.921,3.921,0,0,1,1.971-.286,4.879,4.879,0,0,1,1.776.358,3.538,3.538,0,0,1,1.69,3.2c.085,1.363-6.3,2.116-6.452-.942A2.506,2.506,0,0,1,472.182,381.4Z\", transform: \"translate(-154.074 -16.03)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_105\", \"data-name\": \"Path 105\", d: \"M497.2,360.408a1.8,1.8,0,0,1,.43-.3,3.93,3.93,0,0,1,1.972-.286,4.9,4.9,0,0,1,1.776.358,3.539,3.539,0,0,1,1.69,3.2c.085,1.363-6.3,2.115-6.453-.942A2.506,2.506,0,0,1,497.2,360.408Z\", transform: \"translate(-164.541 -7.247)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_106\", \"data-name\": \"Path 106\", d: \"M511.676,388.325a1.778,1.778,0,0,1,.43-.3,3.922,3.922,0,0,1,1.971-.287,4.9,4.9,0,0,1,1.776.358,3.539,3.539,0,0,1,1.69,3.2c.086,1.363-6.3,2.115-6.452-.942A2.507,2.507,0,0,1,511.676,388.325Z\", transform: \"translate(-170.598 -18.928)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_107\", \"data-name\": \"Path 107\", d: \"M542.182,360.9a10.382,10.382,0,0,1,4.182-.338c1.779.341,1.983,2.771,1.911,4.331-.141,3.025-6.341,1.633-8.214,1.114-1.453-.4-.676-2.772-.108-3.6A3.7,3.7,0,0,1,542.182,360.9Z\", transform: \"translate(-182.375 -7.52)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_108\", \"data-name\": \"Path 108\", d: \"M566.206,384.235a1.337,1.337,0,0,1,.3-.3,1.985,1.985,0,0,1,1.369-.286,2.524,2.524,0,0,1,1.234.357c.846.554,1.119,1.968,1.172,3.2.059,1.363-4.371,2.115-4.479-.942A3.312,3.312,0,0,1,566.206,384.235Z\", transform: \"translate(-193.49 -17.216)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_109\", \"data-name\": \"Path 109\", d: \"M576.556,360.408a1.8,1.8,0,0,1,.43-.3,3.928,3.928,0,0,1,1.971-.286,4.893,4.893,0,0,1,1.776.358,3.539,3.539,0,0,1,1.69,3.2c.086,1.363-6.3,2.115-6.452-.942A2.506,2.506,0,0,1,576.556,360.408Z\", transform: \"translate(-197.744 -7.247)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_110\", \"data-name\": \"Path 110\", d: \"M406.784,351.865a3.116,3.116,0,0,1,3.537-1.8c1.331.333,2.358,1.541,3.726,1.662,2.325.2,4.16-2.8,6.427-2.252,1.747.422,2.737,2.829,4.524,2.631,1.349-.15,2.058-1.737,3.329-2.21,1.427-.53,2.9.489,4.268,1.16a5.885,5.885,0,0,0,5.462.177,14.769,14.769,0,0,1,1.737-1.115c1.907-.79,3.885.771,5.809,1.519a7.629,7.629,0,0,0,4.974.172c1.524-.474,2.9-1.431,4.493-1.6,3.237-.347,6.263,2.653,9.43,1.909,2.039-.479,3.588-2.44,5.682-2.51,2.362-.079,4.17,2.279,6.52,2.52,2.661-1.359,5.376-3.624,8.315-3.087,1.872.342,3.408,1.909,5.309,1.984,2.071.081,3.885-1.642,5.957-1.59,1.786.046,3.353,1.409,5.14,1.391,1.835-.019,3.415-1.492,5.25-1.519,1.864-.028,3.443,1.43,5.289,1.694,2.834.406,5.455-2.055,8.305-1.786,2.1.2,1.982,1.627,4.483,1.584\", transform: \"translate(-126.961 -2.705)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_111\", \"data-name\": \"Path 111\", d: \"M593.868,468.543a1.777,1.777,0,0,1,.43-.3,3.924,3.924,0,0,1,1.972-.286,4.884,4.884,0,0,1,1.776.357c1.3.589,2.529,3.184.876,4.044-1.569.817-5.521.54-5.64-1.785A2.507,2.507,0,0,1,593.868,468.543Z\", transform: \"translate(-204.987 -52.49)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_112\", \"data-name\": \"Path 112\", d: \"M593.868,429.036a1.777,1.777,0,0,1,.43-.3,3.924,3.924,0,0,1,1.972-.286,4.885,4.885,0,0,1,1.776.357,3.54,3.54,0,0,1,1.69,3.2c.085,1.363-6.3,2.115-6.453-.942A2.508,2.508,0,0,1,593.868,429.036Z\", transform: \"translate(-204.987 -35.961)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_113\", \"data-name\": \"Path 113\", d: \"M413.613,478.309a1.8,1.8,0,0,1,.43-.3,3.921,3.921,0,0,1,1.971-.286,4.869,4.869,0,0,1,1.776.358,3.537,3.537,0,0,1,1.69,3.2c.085,1.363-6.3,2.116-6.452-.942A2.506,2.506,0,0,1,413.613,478.309Z\", transform: \"translate(-129.569 -56.576)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_114\", \"data-name\": \"Path 114\", d: \"M444.185,466.5a1.794,1.794,0,0,1,.43-.3,3.922,3.922,0,0,1,1.971-.286,4.881,4.881,0,0,1,1.776.357,3.538,3.538,0,0,1,1.69,3.2c.086,1.363-6.3,2.116-6.452-.942A2.506,2.506,0,0,1,444.185,466.5Z\", transform: \"translate(-142.36 -51.636)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_115\", \"data-name\": \"Path 115\", d: \"M444.185,496.822a1.8,1.8,0,0,1,.43-.3,3.921,3.921,0,0,1,1.971-.286,4.881,4.881,0,0,1,1.776.358,3.537,3.537,0,0,1,1.69,3.2c.086,1.363-6.3,2.116-6.452-.942A2.506,2.506,0,0,1,444.185,496.822Z\", transform: \"translate(-142.36 -64.322)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_116\", \"data-name\": \"Path 116\", d: \"M482.219,476.82a10.389,10.389,0,0,1,1.725,3.824c.278,1.79-1.941,2.8-3.436,3.256-2.9.885-3.671-5.421-3.812-7.36-.11-1.5,2.382-1.57,3.352-1.313A3.7,3.7,0,0,1,482.219,476.82Z\", transform: \"translate(-156.21 -55.488)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_117\", \"data-name\": \"Path 117\", d: \"M513.192,490.326a1.352,1.352,0,0,1,.3-.3,1.987,1.987,0,0,1,1.368-.286,2.527,2.527,0,0,1,1.233.358c.847.554,1.12,1.968,1.173,3.2.059,1.363-4.371,2.116-4.48-.942A3.314,3.314,0,0,1,513.192,490.326Z\", transform: \"translate(-171.309 -61.604)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_118\", \"data-name\": \"Path 118\", d: \"M552.4,490.326a1.792,1.792,0,0,1,.429-.3,3.931,3.931,0,0,1,1.972-.286,4.895,4.895,0,0,1,1.776.358,3.538,3.538,0,0,1,1.69,3.2c.086,1.363-6.3,2.116-6.452-.942A2.506,2.506,0,0,1,552.4,490.326Z\", transform: \"translate(-187.638 -61.604)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_119\", \"data-name\": \"Path 119\", d: \"M424.606,438.446a1.792,1.792,0,0,1,.186.489,3.923,3.923,0,0,1-.192,1.983,4.9,4.9,0,0,1-.771,1.64,3.539,3.539,0,0,1-3.512.878c-1.344-.242-.553-6.619,2.453-6.042A2.505,2.505,0,0,1,424.606,438.446Z\", transform: \"translate(-132.359 -39.691)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_120\", \"data-name\": \"Path 120\", d: \"M465.878,427.87a10.383,10.383,0,0,1,4.182-.338c1.779.341,1.983,2.771,1.91,4.331-.141,3.025-6.34,1.633-8.213,1.114-1.453-.4-.677-2.772-.108-3.6A3.7,3.7,0,0,1,465.878,427.87Z\", transform: \"translate(-150.45 -35.54)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_121\", \"data-name\": \"Path 121\", d: \"M505.619,447.387a1.339,1.339,0,0,1,.3-.3,1.985,1.985,0,0,1,1.369-.286,2.523,2.523,0,0,1,1.234.357c.847.554,1.119,1.968,1.173,3.2.059,1.363-4.372,2.115-4.48-.942A3.312,3.312,0,0,1,505.619,447.387Z\", transform: \"translate(-168.14 -43.639)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_122\", \"data-name\": \"Path 122\", d: \"M542.455,408.78a1.8,1.8,0,0,1,.43-.3,3.921,3.921,0,0,1,1.971-.286,4.881,4.881,0,0,1,1.776.358,3.538,3.538,0,0,1,1.69,3.2c.086,1.363-6.3,2.116-6.452-.942A2.506,2.506,0,0,1,542.455,408.78Z\", transform: \"translate(-183.476 -27.486)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_123\", \"data-name\": \"Path 123\", d: \"M557.957,437.28a1.807,1.807,0,0,1,.43-.3,3.93,3.93,0,0,1,1.972-.286,4.895,4.895,0,0,1,1.776.358,3.539,3.539,0,0,1,1.69,3.2c.085,1.363-6.3,2.115-6.453-.942A2.507,2.507,0,0,1,557.957,437.28Z\", transform: \"translate(-189.962 -39.41)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_124\", \"data-name\": \"Path 124\", d: \"M510.166,423.069c-.287-.278-.559-.573-.818-.877a6.116,6.116,0,0,1-1.614-2.43,1.181,1.181,0,0,1,.722-1.377,1.583,1.583,0,0,1,1.162.309,8.852,8.852,0,0,1,3.644,4.4,1.33,1.33,0,0,1,.117.565c-.06.78-1.229.895-1.888.473A8.566,8.566,0,0,1,510.166,423.069Z\", transform: \"translate(-169.188 -31.742)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_125\", \"data-name\": \"Path 125\", d: \"M554.043,468.856c-.323.235-.66.452-1,.655a6.112,6.112,0,0,1-2.671,1.173,1.18,1.18,0,0,1-1.232-.947,1.579,1.579,0,0,1,.5-1.092,8.856,8.856,0,0,1,4.957-2.835,1.344,1.344,0,0,1,.577-.018c.758.194.67,1.364.141,1.941A8.546,8.546,0,0,1,554.043,468.856Z\", transform: \"translate(-186.519 -51.578)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_126\", \"data-name\": \"Path 126\", d: \"M321.547,400.6a1.792,1.792,0,0,1,.429-.3,3.93,3.93,0,0,1,1.972-.286,4.882,4.882,0,0,1,1.776.358,3.538,3.538,0,0,1,1.69,3.2c.086,1.363-6.3,2.116-6.453-.942A2.5,2.5,0,0,1,321.547,400.6Z\", transform: \"translate(-91.049 -24.063)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_127\", \"data-name\": \"Path 127\", d: \"M392.1,393.566a10.388,10.388,0,0,1,3.047,2.884c.936,1.551-.735,3.327-1.944,4.317-2.344,1.917-5.453-3.624-6.319-5.364-.672-1.35,1.609-2.356,2.6-2.486A3.7,3.7,0,0,1,392.1,393.566Z\", transform: \"translate(-118.585 -21.084)\", fill: \"none\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" }),\r\n React.createElement(\"path\", { id: \"Path_100\", \"data-name\": \"Path 100\", d: `M306.492,342.491v${svgDepth}H364.6V342.491`, transform: \"translate(-84.999)\", fill: \"#fff\", stroke: \"#040405\", strokeMiterlimit: \"10\", strokeWidth: \"1\" })))),\r\n React.createElement(FormStyles.FormControl, { center: true, invalid: state.errors['depth'] !== undefined },\r\n React.createElement(\"label\", { htmlFor: \"txtDepth\" }, \"Depth\"),\r\n React.createElement(FormStyles.FormError, null, \"Please enter a depth.\"),\r\n React.createElement(\"input\", { type: \"number\", id: \"txtDepth\", value: hasFocus ? state.form.depth : padNumber(state.form.depth), onChange: (e) => handleDepthChange(e.currentTarget.value), onKeyPress: (e) => handleKeyPress(e), onFocus: () => setHasFocus(true), onBlur: () => setHasFocus(false), step: \"0.25\", min: 0 }),\r\n React.createElement(FormStyles.FormSub, null, \"m\")))));\r\n};\r\nexport default Depth;\r\n","var _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgIconAvatar(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n \"data-name\": \"Group 33\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 69.235 69.567\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 56\",\n d: \"M.012 69.568c-.344-10.667 6.8-24.837 19.181-30.836 9.523 7.381 21.273 7.419 30.835 0 12.906 6.255 19.549 20.783 19.194 30.836z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 57\",\n d: \"M34.63 0a20.28 20.28 0 11-20.301 20.208A20.073 20.073 0 0134.63 0z\"\n })));\n}\n\nexport default __webpack_public_path__ + \"3322d59a29c5395f22f56c6e25e420c7.svg\";\nexport { SvgIconAvatar as ReactComponent };","import React from 'react';\r\nimport uniqueId from 'lodash/uniqueId';\r\nimport { FormStyles } from '../../../Shared/Form.styles';\r\nimport { AnimatePresence } from 'framer-motion';\r\nconst Textbox = ({ value, label, onChange, readOnly = false, restrictWidth = false, error, fullWidth, placeholder, }) => {\r\n const id = uniqueId('textbox_');\r\n return (React.createElement(FormStyles.FormControl, { fullWidth: fullWidth, restrictWidth: restrictWidth, invalid: error !== undefined },\r\n React.createElement(\"label\", { htmlFor: id }, label),\r\n React.createElement(\"input\", { placeholder: placeholder, id: id, value: value, onChange: onChange, onKeyPress: (e) => e.key === 'Enter' && e.preventDefault(), readOnly: readOnly }),\r\n React.createElement(AnimatePresence, null, error && (React.createElement(FormStyles.FormErrorHidden, null,\r\n React.createElement(FormStyles.FormError, { htmlFor: id }, error))))));\r\n};\r\nexport default Textbox;\r\n","import brand from '@helpers/brand';\r\nimport { Device, from, until } from '@helpers/media';\r\nimport styled from 'styled-components';\r\nconst TechnicalLibraryLogin = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n width: 100%;\r\n gap: 15px;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n svg {\r\n margin-bottom: 15px;\r\n }\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n margin-bottom: 15px;\r\n border-bottom: 2px solid ${brand.grey.grey89};\r\n padding-bottom: 15px;\r\n }\r\n`;\r\nconst FullWidth = styled.div `\r\n grid-column: 1 / -1;\r\n`;\r\nconst Disclaimer = styled.div `\r\n p {\r\n margin-bottom: 0px;\r\n }\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n p {\r\n font-size: 13px;\r\n line-height: 16px;\r\n }\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n p {\r\n line-height: 26px;\r\n }\r\n }\r\n`;\r\nexport const DetailsStyles = {\r\n TechnicalLibraryLogin,\r\n FullWidth,\r\n Disclaimer,\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport { SharedStyles } from '@ys/Components/Shared.styles';\r\nimport { ReactComponent as User } from '@img/ysp/icon-avatar.svg';\r\nimport Textbox from '@ys/Components/Steps/Controls/Textbox/Textbox';\r\nimport Recaptcha from '@stories/Components/Forms/Recaptcha/Recaptcha';\r\nimport { FormStyles } from '@ys/Components/Shared/Form.styles';\r\nimport { DetailsStyles as S } from './Details.styles';\r\nimport { Containers, StepStyles } from '@ys/Components/Shared/Step.styles';\r\nimport { YSLinkButton } from '../../Shared/YSButton/YSButton';\r\nimport InfoIcon from '../../InfoIcon/InfoIcon';\r\nconst Details = () => {\r\n const { state, dispatch, setFormField: setField } = useYSPContext();\r\n const [nextActive, setNextActive] = useState(true);\r\n const [recaptcha, setRecaptcha] = useState('');\r\n useEffect(() => {\r\n //\r\n dispatch({\r\n type: 'set-footer',\r\n payload: {\r\n beforeNext: handleNext,\r\n },\r\n });\r\n }, []);\r\n useEffect(() => {\r\n dispatch({\r\n type: 'set-footer',\r\n payload: {\r\n nextDisabled: nextActive,\r\n },\r\n });\r\n }, [nextActive]);\r\n const checkContinue = () => {\r\n if (state.authenticatedUser === undefined) {\r\n if (state.form.name != undefined &&\r\n state.form.name.length > 0 &&\r\n state.form.email != undefined &&\r\n state.form.email.length > 0 &&\r\n state.form.confirmEmail != undefined &&\r\n state.form.confirmEmail.length > 0 &&\r\n state.form.telephone != undefined &&\r\n state.form.telephone.length > 0 &&\r\n state.form.companyName != undefined &&\r\n state.form.companyName.length > 0 &&\r\n state.form.schemeName != undefined &&\r\n state.form.schemeName.length > 0 &&\r\n state.form.siteName != undefined &&\r\n state.form.siteName.length > 0 &&\r\n state.form.recaptchaToken != undefined &&\r\n state.form.recaptchaToken.length > 0) {\r\n setNextActive(false);\r\n }\r\n }\r\n else {\r\n if (state.form.name != undefined &&\r\n state.form.name.length > 0 &&\r\n state.form.email != undefined &&\r\n state.form.email.length > 0 &&\r\n state.form.telephone != undefined &&\r\n state.form.telephone.length > 0 &&\r\n state.form.companyName != undefined &&\r\n state.form.companyName.length > 0 &&\r\n state.form.schemeName != undefined &&\r\n state.form.schemeName.length > 0 &&\r\n state.form.siteName != undefined &&\r\n state.form.siteName.length > 0 &&\r\n state.form.recaptchaToken != undefined &&\r\n state.form.recaptchaToken.length > 0) {\r\n setNextActive(false);\r\n }\r\n }\r\n };\r\n const handleRecaptcha = (token) => {\r\n setField('recaptchaToken', token);\r\n if (token) {\r\n setRecaptcha(token);\r\n }\r\n checkContinue();\r\n };\r\n const handleNext = () => {\r\n dispatch({ type: 'validate-details' });\r\n };\r\n return (React.createElement(StepStyles.Grid, null,\r\n React.createElement(Containers.Default, null,\r\n React.createElement(SharedStyles.TitleWithInfoIcon, null,\r\n React.createElement(\"h2\", null, state.labels['heading']),\r\n state.labels['tooltip'] && (React.createElement(InfoIcon, { onClick: () => dispatch({\r\n type: 'set-modal',\r\n payload: {\r\n description: state.labels['tooltip'],\r\n fullWidth: true,\r\n size: 'normal',\r\n },\r\n }) }))),\r\n React.createElement(FormStyles.FormSplit, null,\r\n state.authenticatedUser === undefined && (React.createElement(S.FullWidth, null,\r\n React.createElement(S.TechnicalLibraryLogin, null,\r\n React.createElement(SharedStyles.Avatar, null,\r\n React.createElement(User, null)),\r\n React.createElement(YSLinkButton, { href: `${state.technicalLibraryUrl}?ReturnUrl=${encodeURI(state.yourSolutionUrl)}` }, \"Log in to Technical Library\")))),\r\n React.createElement(FormStyles.FormRow, null,\r\n React.createElement(Textbox, { value: state.form.name, label: \"Name*\", error: state.labels[state.errors['name'] || ''], onChange: (e) => {\r\n setField('name', e.currentTarget.value);\r\n checkContinue();\r\n } })),\r\n React.createElement(FormStyles.FormRow, null,\r\n React.createElement(Textbox, { value: state.form.companyName, label: \"Company Name*\", error: state.labels[state.errors['companyName'] || ''], onChange: (e) => {\r\n setField('companyName', e.currentTarget.value);\r\n checkContinue();\r\n } })),\r\n React.createElement(FormStyles.FormRow, null,\r\n React.createElement(Textbox, { value: state.form.email, label: \"Email Address*\", error: state.labels[state.errors['email'] || ''], onChange: (e) => {\r\n setField('email', e.currentTarget.value);\r\n checkContinue();\r\n } })),\r\n state.authenticatedUser === undefined && (React.createElement(FormStyles.FormRow, null,\r\n React.createElement(Textbox, { value: state.form.confirmEmail, label: \"Confirm Email Address*\", error: state.labels[state.errors['confirmEmail'] || ''], onChange: (e) => {\r\n setField('confirmEmail', e.currentTarget.value);\r\n checkContinue();\r\n } }))),\r\n React.createElement(FormStyles.FormRow, null,\r\n React.createElement(Textbox, { value: state.form.schemeName, label: \"Scheme Name*\", error: state.labels[state.errors['schemeName'] || ''], onChange: (e) => {\r\n setField('schemeName', e.currentTarget.value);\r\n checkContinue();\r\n } })),\r\n React.createElement(FormStyles.FormRow, null,\r\n React.createElement(Textbox, { value: state.form.siteName, label: \"Site Name*\", error: state.labels[state.errors['siteName'] || ''], onChange: (e) => {\r\n setField('siteName', e.currentTarget.value);\r\n checkContinue();\r\n } })),\r\n React.createElement(FormStyles.FormRow, null,\r\n React.createElement(Textbox, { value: state.form.telephone, label: \"Telephone Number*\", error: state.labels[state.errors['telephone'] || ''], onChange: (e) => {\r\n setField('telephone', e.currentTarget.value);\r\n checkContinue();\r\n } })),\r\n React.createElement(S.FullWidth, null,\r\n React.createElement(FormStyles.FormRow, { style: { marginTop: 15 } },\r\n state.errors['recaptchaToken'] && (React.createElement(FormStyles.FormError, null, state.labels[state.errors['recaptchaToken']])),\r\n React.createElement(\"div\", { className: `${state.errors['recaptchaToken'] ? 'invalid' : ''}` },\r\n React.createElement(Recaptcha, { shouldLoad: true, siteKey: '6Ld_N5wUAAAAANALiCT8yvJYZ8NRnNKut0MEvxdW', value: recaptcha, onChange: handleRecaptcha })))),\r\n React.createElement(S.FullWidth, null, state.labels['disclaimer'] !== undefined && state.labels['disclaimer'].length > 0 && (React.createElement(FormStyles.FormRow, { wide: true },\r\n React.createElement(FormStyles.FormControl, null,\r\n React.createElement(S.Disclaimer, { dangerouslySetInnerHTML: { __html: state.labels['disclaimer'] } })))))))));\r\n};\r\nexport default Details;\r\n","var _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgIconGrass(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 252 226\"\n }, props), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"Group 88\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Rectangle 203\",\n fill: \"#6f9d20\",\n d: \"M0 0h252v226H0z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 334\",\n d: \"M27.003 132.467a1.317 1.317 0 01.932-.71 2.645 2.645 0 011.2.059c.694.171 1.347.476 2.033.676a3.289 3.289 0 002.1.03c.983-.385 1.672-1.489 2.728-1.522\",\n fill: \"none\",\n stroke: \"#333\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 335\",\n d: \"M9.003 172.467a1.317 1.317 0 01.932-.71 2.645 2.645 0 011.2.059c.694.171 1.347.476 2.033.676a3.289 3.289 0 002.1.03c.983-.385 1.672-1.489 2.728-1.522\",\n fill: \"none\",\n stroke: \"#333\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 336\",\n d: \"M225.003 64.467a1.317 1.317 0 01.932-.71 2.645 2.645 0 011.2.059c.694.171 1.347.476 2.033.676a3.289 3.289 0 002.1.03c.983-.385 1.672-1.489 2.728-1.522\",\n fill: \"none\",\n stroke: \"#333\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 337\",\n d: \"M205.003 30.967a1.317 1.317 0 01.932-.71 2.645 2.645 0 011.2.059c.694.171 1.347.476 2.033.676a3.289 3.289 0 002.1.03c.983-.385 1.672-1.489 2.728-1.522\",\n fill: \"none\",\n stroke: \"#333\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 338\",\n d: \"M222.003 172.467a1.317 1.317 0 01.932-.71 2.645 2.645 0 011.2.059c.694.171 1.347.476 2.033.676a3.289 3.289 0 002.1.03c.983-.385 1.672-1.489 2.728-1.522\",\n fill: \"none\",\n stroke: \"#333\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 339\",\n d: \"M186.003 192.467a1.317 1.317 0 01.932-.71 2.645 2.645 0 011.2.059c.694.171 1.347.476 2.033.676a3.289 3.289 0 002.1.03c.983-.385 1.672-1.489 2.728-1.522\",\n fill: \"none\",\n stroke: \"#333\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 340\",\n d: \"M11.003 99.467a1.317 1.317 0 01.932-.71 2.645 2.645 0 011.2.059c.694.171 1.347.476 2.033.676a3.289 3.289 0 002.1.03c.983-.385 1.672-1.489 2.728-1.522\",\n fill: \"none\",\n stroke: \"#333\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 341\",\n d: \"M43.003 56.467a1.317 1.317 0 01.932-.71 2.645 2.645 0 011.2.059c.694.171 1.347.476 2.033.676a3.289 3.289 0 002.1.03c.983-.385 1.672-1.489 2.728-1.522\",\n fill: \"none\",\n stroke: \"#333\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 342\",\n d: \"M9.003 30.967a1.317 1.317 0 01.932-.71 2.645 2.645 0 011.2.059c.694.171 1.347.476 2.033.676a3.289 3.289 0 002.1.03c.983-.385 1.672-1.489 2.728-1.522\",\n fill: \"none\",\n stroke: \"#333\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 343\",\n d: \"M65.003 30.967a1.317 1.317 0 01.932-.71 2.645 2.645 0 011.2.059c.694.171 1.347.476 2.033.676a3.289 3.289 0 002.1.03c.983-.385 1.672-1.489 2.728-1.522\",\n fill: \"none\",\n stroke: \"#333\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 344\",\n d: \"M53.003 190.467a1.317 1.317 0 01.932-.71 2.645 2.645 0 011.2.059c.694.171 1.347.476 2.033.676a3.289 3.289 0 002.1.03c.983-.385 1.672-1.489 2.728-1.522\",\n fill: \"none\",\n stroke: \"#333\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 345\",\n d: \"M234.003 8.967a1.317 1.317 0 01.932-.71 2.645 2.645 0 011.2.059c.694.171 1.347.476 2.033.676a3.289 3.289 0 002.1.03c.983-.385 1.672-1.489 2.728-1.522\",\n fill: \"none\",\n stroke: \"#333\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 346\",\n d: \"M43.003 9.967a1.317 1.317 0 01.932-.71 2.645 2.645 0 011.2.059c.694.171 1.347.476 2.033.676a3.289 3.289 0 002.1.03c.983-.385 1.672-1.489 2.728-1.522\",\n fill: \"none\",\n stroke: \"#333\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 347\",\n d: \"M102.003 8.967a1.317 1.317 0 01.932-.71 2.645 2.645 0 011.2.059c.694.171 1.347.476 2.033.676a3.289 3.289 0 002.1.03c.983-.385 1.672-1.489 2.728-1.522\",\n fill: \"none\",\n stroke: \"#333\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 348\",\n d: \"M171.003 8.967a1.317 1.317 0 01.932-.71 2.645 2.645 0 011.2.059c.694.171 1.347.476 2.033.676a3.289 3.289 0 002.1.03c.983-.385 1.672-1.489 2.728-1.522\",\n fill: \"none\",\n stroke: \"#333\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 349\",\n d: \"M216.003 214.967a1.317 1.317 0 01.932-.71 2.645 2.645 0 011.2.059c.694.171 1.347.476 2.033.676a3.289 3.289 0 002.1.03c.983-.385 1.672-1.489 2.728-1.522\",\n fill: \"none\",\n stroke: \"#333\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 350\",\n d: \"M18.003 214.967a1.317 1.317 0 01.932-.71 2.645 2.645 0 011.2.059c.694.171 1.347.476 2.033.676a3.289 3.289 0 002.1.03c.983-.385 1.672-1.489 2.728-1.522\",\n fill: \"none\",\n stroke: \"#333\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 352\",\n d: \"M82.003 215.467a1.317 1.317 0 01.932-.71 2.645 2.645 0 011.2.059c.694.171 1.347.476 2.033.676a3.289 3.289 0 002.1.03c.983-.385 1.672-1.489 2.728-1.522\",\n fill: \"none\",\n stroke: \"#333\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 353\",\n d: \"M69.003 94.467a1.317 1.317 0 01.932-.71 2.645 2.645 0 011.2.059c.694.171 1.347.476 2.033.676a3.289 3.289 0 002.1.03c.983-.385 1.672-1.489 2.728-1.522\",\n fill: \"none\",\n stroke: \"#333\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 138\",\n d: \"M177.003 90.467a1.317 1.317 0 01.932-.71 2.645 2.645 0 011.2.059c.694.171 1.347.476 2.033.676a3.289 3.289 0 002.1.03c.983-.385 1.672-1.489 2.728-1.522\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 354\",\n d: \"M96.003 57.467a1.317 1.317 0 01.932-.71 2.645 2.645 0 011.2.059c.694.171 1.347.476 2.033.676a3.289 3.289 0 002.1.03c.983-.385 1.672-1.489 2.728-1.522\",\n fill: \"none\",\n stroke: \"#333\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 355\",\n d: \"M162.003 57.467a1.317 1.317 0 01.932-.71 2.645 2.645 0 011.2.059c.694.171 1.347.476 2.033.676a3.289 3.289 0 002.1.03c.983-.385 1.672-1.489 2.728-1.522\",\n fill: \"none\",\n stroke: \"#333\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 356\",\n d: \"M134.003 30.967a1.317 1.317 0 01.932-.71 2.645 2.645 0 011.2.059c.694.171 1.347.476 2.033.676a3.289 3.289 0 002.1.03c.983-.385 1.672-1.489 2.728-1.522\",\n fill: \"none\",\n stroke: \"#333\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 357\",\n d: \"M144.003 215.467a1.317 1.317 0 01.932-.71 2.645 2.645 0 011.2.059c.694.171 1.347.476 2.033.676a3.289 3.289 0 002.1.03c.983-.385 1.672-1.489 2.728-1.522\",\n fill: \"none\",\n stroke: \"#333\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }))));\n}\n\nexport default __webpack_public_path__ + \"349e12c57fdb55c24885c68014b45e0f.svg\";\nexport { SvgIconGrass as ReactComponent };","var _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgMap(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 47.656 68.067\"\n }, props), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"Group 11\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 21\",\n d: \"M23.797 68.067c-1.44-1.735-2.852-3.386-4.209-5.08A130.02 130.02 0 015.761 42.4 56.176 56.176 0 01.642 29.259 23.845 23.845 0 0119.656.35a23.82 23.82 0 0127.562 18.83 26.379 26.379 0 01-1.171 13.63 77.937 77.937 0 01-9 17.842 152.01 152.01 0 01-12.814 16.95c-.101.119-.214.231-.436.465zm.109-52.736a8.424 8.424 0 00-8.535 8.436 8.43 8.43 0 008.556 8.5 8.429 8.429 0 008.374-8.438 8.42 8.42 0 00-8.395-8.497z\"\n }))));\n}\n\nexport default __webpack_public_path__ + \"6d653077d44aa1f90088cb9110657f8c.svg\";\nexport { SvgMap as ReactComponent };","import styled, { css } from 'styled-components';\r\nimport Grass from '@img/ysp/icon-grass.svg';\r\nimport { Device, from } from '@helpers/media';\r\nimport brand from '@helpers/brand';\r\nconst Container = styled.div `\r\n background-image: url(${Grass});\r\n background-repeat: no-repeat;\r\n background-size: cover;\r\n width: 300px;\r\n height: 230px;\r\n padding-bottom: 30px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n margin: 0 auto;\r\n\r\n @media ${from(Device.Tablet)} {\r\n height: 250px;\r\n padding-bottom: 0px;\r\n }\r\n`;\r\nconst Outer = styled.div `\r\n background-color: #fdc135;\r\n border: 1px solid black;\r\n width: 100%;\r\n height: 100%;\r\n padding: 5px;\r\n position: relative;\r\n margin-right: 20px;\r\n transition: width 300ms ease, height 300ms ease;\r\n`;\r\nconst Inner = styled.div `\r\n background-color: #c7c7c7;\r\n border: 1px solid black;\r\n width: 100%;\r\n height: 100%;\r\n`;\r\nconst Arrow = styled.div `\r\n position: absolute;\r\n background-color: ${brand.grey.grey20};\r\n\r\n span {\r\n position: relative;\r\n color: ${brand.black};\r\n }\r\n\r\n &:before {\r\n content: '';\r\n width: 0;\r\n height: 0;\r\n border-left: 5px solid transparent;\r\n border-right: 5px solid transparent;\r\n border-bottom: 5px solid ${brand.grey.grey20};\r\n position: absolute;\r\n }\r\n\r\n &:after {\r\n content: '';\r\n width: 0;\r\n height: 0;\r\n border-left: 5px solid transparent;\r\n border-right: 5px solid transparent;\r\n border-bottom: 5px solid ${brand.grey.grey20};\r\n position: absolute;\r\n }\r\n\r\n ${({ direction }) => direction === 'width'\r\n ? css `\r\n top: 50%;\r\n right: -15px;\r\n transform: translateY(-50%);\r\n width: 1px;\r\n transition: height 375ms ease;\r\n\r\n &:before {\r\n bottom: 0;\r\n left: 50%;\r\n transform: translateX(-50%) rotate(180deg);\r\n }\r\n\r\n &:after {\r\n top: 0;\r\n left: 50%;\r\n transform: translateX(-50%);\r\n }\r\n\r\n span {\r\n top: 50%;\r\n transform: translateY(-50%);\r\n left: 10px;\r\n }\r\n `\r\n : css `\r\n bottom: -15px;\r\n left: 50%;\r\n transform: translateX(-50%);\r\n height: 1px;\r\n transition: width 375ms ease;\r\n\r\n &:before {\r\n right: -2px;\r\n top: 50%;\r\n transform: translateY(-50%) rotate(90deg);\r\n }\r\n\r\n &:after {\r\n left: -2px;\r\n top: 50%;\r\n transform: translateY(-50%) rotate(-90deg);\r\n }\r\n\r\n span {\r\n left: 50%;\r\n transform: translateX(-50%);\r\n top: 10px;\r\n }\r\n `}\r\n`;\r\nexport const DimensionsStyles = {\r\n Container,\r\n Outer,\r\n Inner,\r\n Arrow,\r\n};\r\n","import React, { useEffect } from 'react';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport { SharedStyles } from '@ys/Components/Shared.styles';\r\nimport { DimensionsStyles as S } from './Dimensions.styles';\r\nimport { FormStyles } from '@ys/Components/Shared/Form.styles';\r\nimport InfoIcon from '@ys/Components/InfoIcon/InfoIcon';\r\nimport NumberInput from '../../Shared/NumberInput/NumberInput';\r\n// Visualizer settings.\r\nexport const MAX_SIZE = 140;\r\nconst Dimensions = () => {\r\n const { state, dispatch, setFormField } = useYSPContext();\r\n useEffect(() => {\r\n //\r\n dispatch({\r\n type: 'set-footer',\r\n payload: {\r\n beforeNext: () => dispatch({ type: 'validate-dimensions' }),\r\n },\r\n });\r\n }, []);\r\n const handleSet = (value, isWidth) => {\r\n if (value === undefined) {\r\n if (isWidth) {\r\n setFormField('width', undefined);\r\n }\r\n else {\r\n setFormField('length', undefined);\r\n }\r\n return;\r\n }\r\n let floatValue = parseFloat(value);\r\n if (floatValue > 99999) {\r\n floatValue = 99999;\r\n }\r\n if (value === '' || floatValue <= 0 || isNaN(floatValue)) {\r\n if (isWidth) {\r\n setFormField('width', undefined);\r\n }\r\n else {\r\n setFormField('length', undefined);\r\n }\r\n return;\r\n }\r\n if (isWidth) {\r\n setFormField('width', floatValue);\r\n }\r\n else {\r\n setFormField('length', floatValue);\r\n }\r\n };\r\n const ratio = (state.form.width || 1) / (state.form.length || 1);\r\n const actualHeight = ratio > 1 ? (1 / ratio) * MAX_SIZE : MAX_SIZE;\r\n const actualWidth = ratio < 1 ? ratio * MAX_SIZE : MAX_SIZE;\r\n return (React.createElement(SharedStyles.Question, null,\r\n React.createElement(FormStyles.Form, null,\r\n React.createElement(SharedStyles.TitleWithInfoIcon, null,\r\n React.createElement(\"h2\", null, state.labels['heading']),\r\n state.labels['tooltip'] && (React.createElement(InfoIcon, { onClick: () => {\r\n dispatch({\r\n type: 'set-modal',\r\n payload: {\r\n description: state.labels['tooltip'],\r\n fullWidth: true,\r\n size: 'normal',\r\n },\r\n });\r\n } }))),\r\n React.createElement(FormStyles.FormRow, null,\r\n React.createElement(S.Container, null,\r\n React.createElement(S.Outer, { style: { width: `${actualHeight}px`, height: `${actualWidth}px` } },\r\n React.createElement(S.Inner, null,\r\n React.createElement(S.Arrow, { direction: \"width\", style: { height: `${actualWidth}px` } }, !isNaN(state.form.width || 0) && (React.createElement(\"span\", null,\r\n (state.form.width || 0).toFixed(2),\r\n \"m\"))),\r\n React.createElement(S.Arrow, { direction: \"length\", style: { width: `${actualHeight}px` } }, !isNaN(state.form.width || 0) && (React.createElement(\"span\", null,\r\n (state.form.length || 0).toFixed(2),\r\n \"m\"))))))),\r\n React.createElement(FormStyles.FormRow, { split: true },\r\n React.createElement(FormStyles.FormControl, { invalid: state.errors['length'] !== undefined },\r\n React.createElement(\"label\", { htmlFor: \"txtLength\" }, \"Length\"),\r\n React.createElement(NumberInput, { id: \"txtLength\", value: state.form.length, onChange: (e) => handleSet(e, false), step: 0.25 }),\r\n React.createElement(FormStyles.FormSub, null, \"m\")),\r\n React.createElement(FormStyles.FormControl, { invalid: state.errors['width'] !== undefined },\r\n React.createElement(\"label\", { htmlFor: \"txtWidth\" }, \"Width\"),\r\n React.createElement(NumberInput, { id: \"txtWidth\", value: state.form.width, onChange: (e) => handleSet(e, true), step: 0.25 }),\r\n React.createElement(FormStyles.FormSub, null, \"m\"))))));\r\n};\r\nexport default Dimensions;\r\n","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport { Device, from } from '@helpers/media';\r\nimport { m } from 'framer-motion';\r\nimport styled from 'styled-components';\r\nimport { FormStyles } from '../../Shared/Form.styles';\r\nconst Intro = styled.div `\r\n text-align: center;\r\n color: ${brand.grey.grey20};\r\n overflow: hidden;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n\r\n ${FormStyles.Form} {\r\n margin-bottom: 15px;\r\n }\r\n\r\n img {\r\n margin-bottom: 50px;\r\n }\r\n\r\n p {\r\n max-width: 630px;\r\n font-size: 15px;\r\n line-height: 20px;\r\n margin: 0px auto 15px;\r\n\r\n &:last-of-type {\r\n margin-bottom: 5px;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n font-size: 19px;\r\n line-height: 25px;\r\n margin: 0px auto 20px;\r\n }\r\n }\r\n`;\r\nconst IntroTitleWrapper = styled.div `\r\n ${fonts.DaxPro.Medium};\r\n font-size: 25px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n margin-bottom: 5px;\r\n gap: 6px;\r\n h1 {\r\n font-size: 25px;\r\n color: rgb(51, 51, 51); \r\n }\r\n @media ${from(Device.TabletLarge)} {\r\n font-size: 35px;\r\n margin-bottom: 20px;\r\n gap: 10px;\r\n h1 {\r\n font-size: 35px; \r\n }\r\n }\r\n`;\r\nconst Title = styled.div `\r\n ${fonts.DaxPro.Bold};\r\n\r\n span {\r\n line-height: 30px;\r\n }\r\n\r\n span:last-child {\r\n color: ${brand.primary.alt};\r\n }\r\n`;\r\nconst TitleAndPlusWrapper = styled.div `\r\n display: flex;\r\n align-items: center;\r\n position: relative;\r\n`;\r\nconst PleaseSelectText = styled.div `\r\n ${fonts.DaxPro.Medium};\r\n font-size: 20px;\r\n\r\n margin-bottom: 15px;\r\n`;\r\nconst Plus = styled(m.div).attrs(() => ({\r\n initial: 'hidden',\r\n animate: 'visible',\r\n exit: 'hidden',\r\n variants: {\r\n hidden: {\r\n x: 15,\r\n opacity: 0,\r\n },\r\n visible: {\r\n x: 0,\r\n opacity: 1,\r\n },\r\n },\r\n transition: {\r\n duration: 0.5,\r\n },\r\n})) `\r\n font-size: 32px;\r\n color: #ec671a;\r\n ${fonts.DaxPro.Bold};\r\n position: absolute;\r\n left: 100%;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n font-size: 42px;\r\n }\r\n`;\r\nconst WelcomeText = styled.span `\r\n font-weight: 600;\r\n display: inline; \r\n margin-right: 10px;\r\n`;\r\nconst CenteredDiv = styled.div `\r\n display: flex;\r\n alignItems: center;\r\n @media (max-width: 768px) {\r\n flex-direction: column;\r\n }\r\n`;\r\nexport const LandingStyles = {\r\n Intro,\r\n IntroTitleWrapper,\r\n Title,\r\n PleaseSelectText,\r\n Plus,\r\n TitleAndPlusWrapper,\r\n WelcomeText,\r\n CenteredDiv,\r\n};\r\n","import React from 'react';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport InfoIcon from '@ys/Components/InfoIcon/InfoIcon';\r\nimport { FormStyles } from '@ys/Components/Shared/Form.styles';\r\nimport { LandingStyles as S } from './Landing.styles';\r\nimport { Tab } from '@ys/Context/types';\r\nimport { AnimatePresence } from 'framer-motion';\r\nimport { Containers, StepStyles } from '@ys/Components/Shared/Step.styles';\r\nimport YSButton from '../../Shared/YSButton/YSButton';\r\nconst Landing = () => {\r\n const { state, dispatch } = useYSPContext();\r\n const renderTooltip = () => {\r\n const tooltipText = state.labels['tooltip'];\r\n if (tooltipText === '' || tooltipText === undefined) {\r\n return null;\r\n }\r\n return (React.createElement(InfoIcon, { onClick: () => dispatch({\r\n type: 'set-modal',\r\n payload: {\r\n description: tooltipText,\r\n fullWidth: true,\r\n size: 'normal',\r\n },\r\n }) }));\r\n };\r\n return (React.createElement(StepStyles.Grid, { centered: true },\r\n React.createElement(Containers.FullWidth, null,\r\n React.createElement(S.Intro, null,\r\n React.createElement(S.IntroTitleWrapper, null,\r\n React.createElement(\"h1\", null,\r\n React.createElement(S.CenteredDiv, null,\r\n React.createElement(S.WelcomeText, null, state.labels['title'] || 'Welcome to '),\r\n React.createElement(S.TitleAndPlusWrapper, null,\r\n React.createElement(S.Title, null,\r\n React.createElement(\"span\", null, \" Your\"),\r\n React.createElement(\"span\", null, \"Solution\")),\r\n React.createElement(AnimatePresence, null, state.tab === Tab.YourSolutionPlus && React.createElement(S.Plus, null, \"+\")))))),\r\n React.createElement(FormStyles.Form, null,\r\n React.createElement(\"div\", { dangerouslySetInnerHTML: { __html: state.labels['content'] } }),\r\n renderTooltip()),\r\n React.createElement(YSButton, { onClick: () => dispatch({ type: 'next-step' }), icon: \"arrow\", hideOnMobile: true }, state.labels['next'])))));\r\n};\r\nexport default Landing;\r\n","var _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgIconWatercourse(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 589.157 503.239\"\n }, props), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"Group 87\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Rectangle 28\",\n fill: \"#6f9d20\",\n d: \"M0 0h503.239v503.239H0z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 129\",\n d: \"M104.332 35.186a4.04 4.04 0 012.861-2.18 8.117 8.117 0 013.694.182c2.129.523 4.134 1.46 6.237 2.075a10.094 10.094 0 006.455.093c3.017-1.182 5.13-4.568 8.37-4.671\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 131\",\n d: \"M168.772 121.105a4.04 4.04 0 012.861-2.18 8.117 8.117 0 013.694.182c2.129.523 4.134 1.46 6.237 2.075a10.094 10.094 0 006.455.093c3.017-1.182 5.13-4.568 8.37-4.671\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 132\",\n d: \"M239.348 32.117a4.04 4.04 0 012.861-2.18 8.117 8.117 0 013.694.182c2.129.523 4.134 1.46 6.237 2.075a10.094 10.094 0 006.455.093c3.017-1.182 5.13-4.568 8.37-4.671\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 133\",\n d: \"M392.774 29.049a4.04 4.04 0 012.861-2.18 8.117 8.117 0 013.694.182c2.129.523 4.134 1.46 6.237 2.075a10.094 10.094 0 006.455.093c3.017-1.182 5.13-4.568 8.37-4.671\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 134\",\n d: \"M328.335 124.173a4.04 4.04 0 012.861-2.18 8.117 8.117 0 013.694.182c2.129.523 4.134 1.46 6.237 2.075a10.094 10.094 0 006.455.093c3.017-1.182 5.13-4.568 8.37-4.671\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 135\",\n d: \"M104.332 213.161a4.04 4.04 0 012.861-2.18 8.117 8.117 0 013.694.182c2.129.523 4.134 1.46 6.237 2.075a10.094 10.094 0 006.455.093c3.017-1.182 5.13-4.568 8.37-4.671\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 136\",\n d: \"M257.759 210.092a4.04 4.04 0 012.861-2.18 8.117 8.117 0 013.694.182c2.129.523 4.134 1.46 6.237 2.075a10.094 10.094 0 006.455.093c3.017-1.182 5.13-4.568 8.37-4.671\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 137\",\n d: \"M417.322 213.161a4.04 4.04 0 012.861-2.18 8.117 8.117 0 013.694.182c2.129.523 4.134 1.46 6.237 2.075a10.094 10.094 0 006.455.093c3.017-1.182 5.13-4.568 8.37-4.671\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 138\",\n d: \"M438.802 124.173a4.04 4.04 0 012.861-2.18 8.117 8.117 0 013.694.182c2.129.523 4.134 1.46 6.237 2.075a10.094 10.094 0 006.455.093c3.017-1.182 5.13-4.568 8.37-4.671\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 140\",\n d: \"M168.772 299.079a4.04 4.04 0 012.861-2.18 8.117 8.117 0 013.694.182c2.129.523 4.134 1.46 6.237 2.075a10.094 10.094 0 006.455.093c3.017-1.182 5.13-4.568 8.37-4.671\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 141\",\n d: \"M328.335 302.148a4.04 4.04 0 012.861-2.18 8.117 8.117 0 013.694.182c2.129.523 4.134 1.46 6.237 2.075a10.094 10.094 0 006.455.093c3.017-1.182 5.13-4.568 8.37-4.671\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 142\",\n d: \"M104.332 391.135a4.04 4.04 0 012.861-2.18 8.117 8.117 0 013.694.182c2.129.523 4.134 1.46 6.237 2.075a10.094 10.094 0 006.455.093c3.017-1.182 5.13-4.568 8.37-4.671\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 143\",\n d: \"M257.759 388.067a4.04 4.04 0 012.861-2.18 8.117 8.117 0 013.694.182c2.129.523 4.134 1.46 6.237 2.075a10.094 10.094 0 006.455.093c3.017-1.182 5.13-4.568 8.37-4.671\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 144\",\n d: \"M417.322 391.135a4.04 4.04 0 012.861-2.18 8.117 8.117 0 013.694.182c2.129.523 4.134 1.46 6.237 2.075a10.094 10.094 0 006.455.093c3.017-1.182 5.13-4.568 8.37-4.671\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 145\",\n d: \"M438.802 302.148a4.04 4.04 0 012.861-2.18 8.117 8.117 0 013.694.182c2.129.523 4.134 1.46 6.237 2.075a10.094 10.094 0 006.455.093c3.017-1.182 5.13-4.568 8.37-4.671\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 146\",\n d: \"M61.373 473.985a4.04 4.04 0 012.861-2.18 8.117 8.117 0 013.694.182c2.129.523 4.134 1.46 6.237 2.075a10.094 10.094 0 006.455.093c3.017-1.182 5.13-4.568 8.37-4.671\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 147\",\n d: \"M239.348 480.123a4.04 4.04 0 012.861-2.18 8.117 8.117 0 013.694.182c2.129.523 4.134 1.46 6.237 2.075a10.094 10.094 0 006.455.093c3.017-1.182 5.13-4.568 8.37-4.671\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 148\",\n d: \"M392.774 477.054a4.04 4.04 0 012.861-2.18 8.117 8.117 0 013.694.182c2.129.523 4.134 1.46 6.237 2.075a10.094 10.094 0 006.455.093c3.017-1.182 5.13-4.568 8.37-4.671\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Rectangle 188\",\n fill: \"#85d0e6\",\n d: \"M497.101 0h92.056v503.239h-92.056z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 223\",\n d: \"M527.34 86.616c-1.031-.951-1.558-2.936-1.585-4.963a21.974 21.974 0 01.926-6.042c.948-3.431 2.282-6.608 3.317-9.987a27.153 27.153 0 001.393-10.587c-.566-5.097-3.503-8.98-2.95-14.31\",\n fill: \"none\",\n stroke: \"#06637e\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 224\",\n d: \"M564.162 151.055c-1.031-.951-1.558-2.936-1.585-4.963a21.974 21.974 0 01.926-6.042c.948-3.431 2.282-6.608 3.317-9.987a27.153 27.153 0 001.393-10.587c-.566-5.097-3.503-8.98-2.95-14.31\",\n fill: \"none\",\n stroke: \"#06637e\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 225\",\n d: \"M521.202 206.29c-1.031-.952-1.558-2.937-1.585-4.964a21.974 21.974 0 01.926-6.042c.948-3.431 2.282-6.608 3.317-9.987a27.153 27.153 0 001.393-10.587c-.566-5.097-3.503-8.98-2.95-14.31\",\n fill: \"none\",\n stroke: \"#06637e\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 226\",\n d: \"M564.162 264.591c-1.031-.951-1.558-2.936-1.585-4.963a21.974 21.974 0 01.926-6.042c.948-3.431 2.282-6.608 3.317-9.987a27.153 27.153 0 001.393-10.587c-.566-5.097-3.503-8.98-2.95-14.31\",\n fill: \"none\",\n stroke: \"#06637e\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 227\",\n d: \"M521.202 335.167c-1.031-.951-1.558-2.936-1.585-4.963a21.974 21.974 0 01.926-6.042c.948-3.431 2.282-6.608 3.317-9.987a27.153 27.153 0 001.393-10.587c-.566-5.097-3.503-8.98-2.95-14.31\",\n fill: \"none\",\n stroke: \"#06637e\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 228\",\n d: \"M558.025 405.743c-1.031-.951-1.558-2.936-1.585-4.963a21.974 21.974 0 01.926-6.042c.948-3.431 2.282-6.608 3.317-9.987a27.153 27.153 0 001.393-10.587c-.566-5.097-3.503-8.98-2.95-14.31\",\n fill: \"none\",\n stroke: \"#06637e\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 229\",\n d: \"M521.202 464.045c-1.031-.951-1.558-2.936-1.585-4.963a21.974 21.974 0 01.926-6.042c.948-3.431 2.282-6.608 3.317-9.987a27.153 27.153 0 001.393-10.587c-.566-5.097-3.503-8.98-2.95-14.31\",\n fill: \"none\",\n stroke: \"#06637e\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 230\",\n d: \"M33.756 118.036a4.04 4.04 0 012.861-2.18 8.117 8.117 0 013.694.182c2.129.523 4.134 1.46 6.237 2.075a10.094 10.094 0 006.455.093c3.017-1.182 5.13-4.568 8.37-4.671\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 231\",\n d: \"M33.756 296.011a4.04 4.04 0 012.861-2.18 8.117 8.117 0 013.694.182c2.129.523 4.134 1.46 6.237 2.075a10.094 10.094 0 006.455.093c3.017-1.182 5.13-4.568 8.37-4.671\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"Rectangle 205\",\n fill: \"#fdc135\",\n stroke: \"#000\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"none\",\n d: \"M146.52 461.815V32.221h211.728v429.594z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n d: \"M147.02 461.315V32.721h210.728v428.594z\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"Rectangle 233\",\n fill: \"#c7c7c7\",\n stroke: \"#000\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"none\",\n d: \"M167.613 440.721V53.314h169.541v387.407z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n d: \"M168.113 440.221V53.814h168.541v386.407z\"\n })))));\n}\n\nexport default __webpack_public_path__ + \"0d9b32d307982d5c7462135d4f6358d7.svg\";\nexport { SvgIconWatercourse as ReactComponent };","import React, { useEffect } from 'react';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport { SharedStyles } from '@ys/Components/Shared.styles';\r\nimport { ReactComponent as Map } from '@img/icons/map.svg';\r\nimport Textbox from '@ys/Components/Steps/Controls/Textbox/Textbox';\r\nimport { FormStyles } from '@ys/Components/Shared/Form.styles';\r\nimport InfoIcon from '../../InfoIcon/InfoIcon';\r\nconst Location = () => {\r\n const { state, dispatch, setFormField: setField } = useYSPContext();\r\n useEffect(() => {\r\n dispatch({\r\n type: 'set-footer',\r\n payload: {\r\n beforeNext: handleNext,\r\n },\r\n });\r\n }, []);\r\n const handleNext = () => {\r\n dispatch({ type: 'validate-postcode' });\r\n };\r\n const setPostCode = (value) => {\r\n setField('postCode', value);\r\n };\r\n return (React.createElement(SharedStyles.Question, null,\r\n React.createElement(FormStyles.Form, null,\r\n React.createElement(SharedStyles.TitleWithInfoIcon, null,\r\n React.createElement(\"h2\", null, state.labels['heading']),\r\n state.labels['tooltip'] && (React.createElement(InfoIcon, { onClick: () => dispatch({\r\n type: 'set-modal',\r\n payload: {\r\n description: state.labels['tooltip'],\r\n fullWidth: true,\r\n size: 'normal',\r\n },\r\n }) }))),\r\n React.createElement(SharedStyles.Avatar, null,\r\n React.createElement(Map, null)),\r\n React.createElement(Textbox, { restrictWidth: true, label: \"Postcode\", value: state.form.postCode, error: state.labels[state.errors['postCode'] || ''], onChange: (e) => setPostCode(e.currentTarget.value) }))));\r\n};\r\nexport default Location;\r\n","import brand from '@helpers/brand';\r\nimport styled from 'styled-components';\r\nconst SwapToYSP = styled.div `\r\n border-top: 1px solid ${brand.primary.light};\r\n position: relative;\r\n max-width: 720px;\r\n margin-top: 25px;\r\n padding: 25px 0px;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n gap: 15px;\r\n`;\r\nconst OrLabel = styled.div `\r\n position: absolute;\r\n top: 0;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n padding: 10px;\r\n background-color: ${brand.white};\r\n`;\r\nconst Buttons = styled.div `\r\n display: flex;\r\n gap: 15px;\r\n margin-top: 20px;\r\n`;\r\nexport const NoSolutionsStyles = {\r\n SwapToYSP,\r\n OrLabel,\r\n Buttons,\r\n};\r\n","import React, { useEffect } from 'react';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport { SharedStyles } from '@ys/Components/Shared.styles';\r\nimport { FormStyles } from '@ys/Components/Shared/Form.styles';\r\nimport { checkCanTransfer } from '@helpers/ysToYsp';\r\nimport { NoSolutionsStyles as S } from './NoSolutions.styles';\r\nimport YSButton, { YSLinkButton } from '../../Shared/YSButton/YSButton';\r\nconst NoSolutions = () => {\r\n const { state, dispatch } = useYSPContext();\r\n useEffect(() => {\r\n dispatch({\r\n type: 'set-footer',\r\n payload: {\r\n type: 'default',\r\n },\r\n });\r\n }, []);\r\n if (!state.results) {\r\n return null;\r\n }\r\n return (React.createElement(SharedStyles.Question, null,\r\n React.createElement(FormStyles.Form, null,\r\n React.createElement(SharedStyles.CenterText, { dangerouslySetInnerHTML: { __html: state.results.responseMessage } }),\r\n React.createElement(S.Buttons, null,\r\n state.results.telNo && (React.createElement(YSLinkButton, { href: `tel:${state.results.telNo}`, fill: \"outline\", colour: \"green\", icon: \"phone\", iconPosition: \"left\" }, \"Call\")),\r\n state.results.emailAddress && (React.createElement(YSLinkButton, { href: `mailto:${state.results.emailAddress}`, fill: \"outline\", colour: \"green\", icon: \"email\", iconPosition: \"left\" }, \"Email\"))),\r\n checkCanTransfer(state.form) && (React.createElement(S.SwapToYSP, null,\r\n React.createElement(S.OrLabel, null, \"or\"),\r\n React.createElement(\"p\", null,\r\n \"The parameters you entered have not yielded any results, however\",\r\n ' ',\r\n React.createElement(\"strong\", null, \"YourSolution+\"),\r\n \" may be able to find some using more in-depth questions.\",\r\n React.createElement(\"br\", null),\r\n \"All applicable answers entered on YourSolution will be carried over.\"),\r\n React.createElement(YSButton, { onClick: () => dispatch({ type: 'swap-to-ys-plus' }) }, \"Swap to YourSolution+\"))))));\r\n};\r\nexport default NoSolutions;\r\n","import { SupportType } from '@stories/Widgets/YourSolution/YS/Context/types';\r\n// Utilities for the transfer logic between the two //\r\nexport const checkCanTransfer = (form) => {\r\n return form.supportType === SupportType.Box;\r\n};\r\n","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport { Device, from } from '@helpers/media';\r\nimport styled from 'styled-components';\r\nimport { FormStyles } from '@ys/Components/Shared/Form.styles';\r\nconst Container = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n flex-wrap: nowrap;\r\n margin-top: 40px;\r\n max-width: 850px;\r\n width: 100%;\r\n\r\n ${() => FormStyles.FormRow} {\r\n @media ${from(Device.Tablet)} {\r\n position: relative;\r\n z-index: 1;\r\n }\r\n }\r\n\r\n @media ${from(Device.Tablet)} {\r\n position: relative;\r\n z-index: 1;\r\n }\r\n`;\r\nconst Item = styled.div `\r\n display: flex;\r\n flex-direction: column-reverse;\r\n width: 100%;\r\n box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);\r\n margin-bottom: 40px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n flex-direction: row;\r\n flex-wrap: nowrap;\r\n }\r\n\r\n h2 {\r\n font-size: 21px;\r\n text-align: left;\r\n margin-bottom: 18px;\r\n }\r\n\r\n ul {\r\n margin-bottom: 32px;\r\n padding: 0px;\r\n list-style-type: none;\r\n border: 1px solid ${brand.primary.light};\r\n list-style: disc;\r\n\r\n @media ${from(Device.Tablet)} {\r\n list-style-type: disc;\r\n padding-left: 18px;\r\n border: none;\r\n }\r\n\r\n li {\r\n color: ${brand.primary.light};\r\n padding: 5px 10px;\r\n border-bottom: 1px solid ${brand.primary.light};\r\n list-style-type: disc;\r\n\r\n @media ${from(Device.Tablet)} {\r\n padding: 0px;\r\n border-bottom: none;\r\n }\r\n\r\n &:before {\r\n display: none;\r\n }\r\n\r\n &:nth-child(even) {\r\n background-color: #e2f0d9;\r\n\r\n @media ${from(Device.Tablet)} {\r\n background: none;\r\n }\r\n }\r\n\r\n &:last-child {\r\n border-bottom: none;\r\n }\r\n\r\n strong {\r\n margin-right: auto;\r\n\r\n @media ${from(Device.Tablet)} {\r\n margin-right: 0px;\r\n }\r\n\r\n &:after {\r\n @media ${from(Device.Tablet)} {\r\n content: ':';\r\n display: inline-block;\r\n margin-right: 4px;\r\n }\r\n }\r\n }\r\n\r\n span {\r\n color: #333333;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: space-between;\r\n ${fonts.DaxPro.Bold};\r\n\r\n @media ${from(Device.Tablet)} {\r\n display: inline-block;\r\n }\r\n }\r\n }\r\n }\r\n`;\r\nconst Copy = styled.div `\r\n flex: 0 0 65%;\r\n`;\r\nconst CopyInner = styled.div `\r\n padding: 15px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n padding: 70px;\r\n }\r\n`;\r\nconst Media = styled.div `\r\n flex: 0 0 35%;\r\n background-color: ${brand.white};\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n picture {\r\n height: 100%;\r\n }\r\n\r\n img {\r\n flex: 0 0 auto;\r\n display: block;\r\n margin-left: auto;\r\n height: 100%;\r\n width: 100%;\r\n object-fit: contain;\r\n }\r\n`;\r\nconst MediaInner = styled.div `\r\n width: 100%;\r\n padding: 16px;\r\n flex: 1 0 1px;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n height: 100%;\r\n display: block;\r\n\r\n @media ${from(Device.Tablet)} {\r\n padding: 0;\r\n }\r\n`;\r\nexport const SolutionsStyles = {\r\n Container,\r\n Item,\r\n Copy,\r\n CopyInner,\r\n Media,\r\n MediaInner,\r\n};\r\n","import React from 'react';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport { SharedStyles } from '@ys/Components/Shared.styles';\r\nimport { SolutionsStyles as S } from './Solutions.styles';\r\nimport { FormStyles } from '@ys/Components/Shared/Form.styles';\r\nimport { YSLinkButton } from '../../Shared/YSButton/YSButton';\r\nconst Solutions = () => {\r\n const { state } = useYSPContext();\r\n if (state.results === undefined) {\r\n return null;\r\n }\r\n return (React.createElement(SharedStyles.Question, null,\r\n React.createElement(FormStyles.Form, null,\r\n React.createElement(SharedStyles.CenterText, { dangerouslySetInnerHTML: { __html: state.results.responseMessage } })),\r\n React.createElement(S.Container, null, state.results.solutions.map((x) => (React.createElement(S.Item, { key: x.url },\r\n React.createElement(S.Copy, null,\r\n React.createElement(S.CopyInner, null,\r\n React.createElement(\"h2\", null, x.displayName),\r\n React.createElement(\"ul\", null, Object.keys(x.tableData).map((key) => (React.createElement(\"li\", { key: key },\r\n React.createElement(\"span\", null,\r\n React.createElement(\"strong\", null, key),\r\n x.tableData[key]))))),\r\n React.createElement(YSLinkButton, { fill: \"outline\", target: \"_blank\", href: x.url }, \"Download Solution\"))),\r\n React.createElement(S.Media, null,\r\n React.createElement(S.MediaInner, null,\r\n React.createElement(\"picture\", null,\r\n React.createElement(\"source\", { media: \"(min-width: 996px)\", srcSet: x.desktopImage }),\r\n React.createElement(\"img\", { src: x.desktopImage, srcSet: x.mobileImage })))))))),\r\n state.authenticatedUser === undefined && (React.createElement(FormStyles.Form, null,\r\n React.createElement(SharedStyles.CenterText, null,\r\n React.createElement(\"div\", { dangerouslySetInnerHTML: { __html: state.results.technicalMessage } }),\r\n React.createElement(\"br\", null),\r\n React.createElement(YSLinkButton, { center: true, href: state.technicalLibraryUrl }, \"Create an Account\"))))));\r\n};\r\nexport default Solutions;\r\n","import { Device, from } from '@helpers/media';\r\nimport styled, { css } from 'styled-components';\r\nconst Container = styled.div `\r\n ${({ singleQuestion }) => !singleQuestion &&\r\n css `\r\n display: flex;\r\n flex-direction: column;\r\n max-width: 900px;\r\n width: 100%;\r\n justify-content: center;\r\n\r\n @media ${from(Device.Tablet)} {\r\n flex-direction: row;\r\n flex-wrap: wrap;\r\n width: auto;\r\n }\r\n `};\r\n`;\r\nexport const BoxesStyles = {\r\n Container,\r\n};\r\n","import React from 'react';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport InfoIcon from '@ys/Components/InfoIcon/InfoIcon';\r\nimport { SharedStyles } from '@ys/Components/Shared.styles';\r\nimport { BoxesStyles as S } from './Boxes.styles';\r\nconst Boxes = ({ boxes, error, value, setValue }) => {\r\n const { dispatch } = useYSPContext();\r\n const handleSetModalActive = (value) => {\r\n const activeBox = boxes.find((x) => x.id === value);\r\n if (activeBox !== undefined) {\r\n dispatch({\r\n type: 'set-modal',\r\n payload: {\r\n title: activeBox.title,\r\n description: activeBox.description,\r\n imageUrl: activeBox.imageUrl,\r\n fullWidth: false,\r\n size: 'normal',\r\n },\r\n });\r\n }\r\n };\r\n return (React.createElement(S.Container, null, boxes.map((x) => {\r\n return (React.createElement(SharedStyles.Box, { key: x.id, active: value !== undefined && value === x.id, invalid: error !== undefined },\r\n React.createElement(SharedStyles.BoxInner, { onClick: () => setValue(x.id) },\r\n React.createElement(SharedStyles.BoxMedia, null,\r\n React.createElement(\"img\", { src: x.imageUrl, alt: x.title, style: { objectFit: 'cover' } })),\r\n React.createElement(SharedStyles.BoxLabel, null, x.title),\r\n React.createElement(SharedStyles.BoxState, null)),\r\n x.description && x.description.length > 0 && (React.createElement(SharedStyles.BoxInfo, null,\r\n React.createElement(InfoIcon, { onClick: () => handleSetModalActive(x.id) })))));\r\n })));\r\n};\r\nexport default Boxes;\r\n","import React, { useEffect } from 'react';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport { SolutionSubType } from '@stories/Widgets/YourSolution/YS/Context/types';\r\nimport Boxes from '@ys/Components/Steps/Controls/Boxes/Boxes';\r\nimport { SharedStyles } from '@ys/Components/Shared.styles';\r\nimport { FormStyles } from '../../../Shared/Form.styles';\r\nconst SheetedSolution = () => {\r\n const { state, dispatch, setFormField } = useYSPContext();\r\n useEffect(() => {\r\n //\r\n dispatch({\r\n type: 'set-footer',\r\n payload: {\r\n type: 'support',\r\n beforeNext: () => dispatch({ type: 'validate-sub-type' }),\r\n },\r\n });\r\n }, []);\r\n return (React.createElement(SharedStyles.Question, null,\r\n React.createElement(FormStyles.Form, null,\r\n React.createElement(\"h2\", null, state.labels['heading_frameType']),\r\n React.createElement(Boxes, { error: state.errors['subType'], boxes: [\r\n {\r\n id: SolutionSubType.SingleFrame,\r\n title: 'Single frame Propped cantilever',\r\n description: state.labels['tooltip_singleFrame'],\r\n imageUrl: '/sitefiles/images/ism/products/B-1F-1Frame.png',\r\n },\r\n {\r\n id: SolutionSubType.TwoFrame,\r\n title: '2 frame, no toe solution',\r\n description: state.labels['tooltip_twoFrame'],\r\n imageUrl: '/sitefiles/images/ism/products/B-2F-2Frame.png',\r\n },\r\n ], value: state.form.subType, setValue: (value) => setFormField('subType', value) }))));\r\n};\r\nexport default SheetedSolution;\r\n","import React, { useEffect } from 'react';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport { SupportType } from '@stories/Widgets/YourSolution/YS/Context/types';\r\nimport Boxes from '@ys/Components/Steps/Controls/Boxes/Boxes';\r\nimport { SharedStyles } from '@ys/Components/Shared.styles';\r\nimport { FormStyles } from '../../../Shared/Form.styles';\r\nconst System = () => {\r\n const { state, dispatch, setFormField } = useYSPContext();\r\n useEffect(() => {\r\n //\r\n dispatch({\r\n type: 'set-footer',\r\n payload: {\r\n type: 'support',\r\n beforeNext: () => dispatch({ type: 'validate-support' }),\r\n },\r\n });\r\n }, []);\r\n return (React.createElement(SharedStyles.Question, null,\r\n React.createElement(FormStyles.Form, null,\r\n React.createElement(\"h2\", null, state.labels['heading']),\r\n React.createElement(Boxes, { error: state.errors['supportType'], boxes: [\r\n {\r\n id: SupportType.Box,\r\n title: 'Boxes',\r\n description: state.labels['tooltip_box'],\r\n imageUrl: '/sitefiles/images/ism/products/MB-BH-1-Backhoe(BaseOnly).png',\r\n },\r\n {\r\n id: SupportType.Frame,\r\n title: 'Sheets & Frames',\r\n description: state.labels['tooltip_frame'],\r\n imageUrl: '/sitefiles/images/ism/products/B-2F-2Frame.png',\r\n },\r\n ], value: state.form.supportType, setValue: (value) => setFormField('supportType', value, ['type', 'subType']) }))));\r\n};\r\nexport default System;\r\n","var _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgIconSlope(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 201.355 83.276\"\n }, props), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"Group 46\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 235\",\n d: \"M200.707 82.63c-4.248-1.669-3.355-4.152-6.761-5.951-4.62-2.44-10.754-.115-15.251-2.773-2.929-1.732-4.576-5.29-7.739-6.541-3.114-1.232-6.8.152-9.912-1.094-3.027-1.214-4.719-4.6-7.7-5.926-3.457-1.532-7.717.112-11.153-1.468-3.154-1.45-4.653-5.164-7.572-7.044-2.473-1.593-5.456-1.732-8.305-1.527-3.57.258-6.818 2.293-9.806-.518-2.5-2.35-3.9-6.055-7.3-7.331-3.581-1.341-7.559.887-11.331.275-5.86-.952-8.873-8.119-14.574-9.789-2.8-.82-5.793-.167-8.695-.43a13.909 13.909 0 01-8.268-3.755c-2.725-2.6-4.972-6.612-8.738-6.608a27.1 27.1 0 00-3.707.671c-3.422.483-6.8-1.507-9.089-4.1-1.834-2.082-3.612-4.83-6.389-4.929-2.472-.088-4.773 2.1-7.154 1.408-3.152-.911-3.145-5.66-5.8-7.588-3.444-2.5-8.63 1.287-12.409-.678-2.222-1.157-3.114-3.908-5.126-5.4a5.685 5.685 0 00-7.222.576v80.52z\",\n fill: \"#c9c9c9\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 236\",\n d: \"M200.707 82.63c-4.248-1.669-3.355-4.152-6.761-5.951-4.62-2.44-10.754-.115-15.251-2.773-2.929-1.732-4.576-5.29-7.739-6.541-3.114-1.232-6.8.152-9.912-1.094-3.027-1.214-4.719-4.6-7.7-5.926-3.457-1.532-7.717.112-11.153-1.468-3.154-1.45-4.653-5.164-7.572-7.044-2.473-1.593-5.456-1.732-8.305-1.527-3.57.258-6.818 2.293-9.806-.518-2.5-2.35-3.9-6.055-7.3-7.331-3.581-1.341-7.559.887-11.331.275-5.86-.952-8.873-8.119-14.574-9.789-2.8-.82-5.793-.167-8.695-.43a13.909 13.909 0 01-8.268-3.755c-2.725-2.6-4.972-6.612-8.738-6.608a27.1 27.1 0 00-3.707.671c-3.422.483-6.8-1.507-9.089-4.1-1.834-2.082-3.612-4.83-6.389-4.929-2.472-.088-4.773 2.1-7.154 1.408-3.152-.911-3.145-5.66-5.8-7.588-3.444-2.5-8.63 1.287-12.409-.678-2.222-1.157-3.114-3.908-5.126-5.4a5.685 5.685 0 00-7.222.576\",\n fill: \"none\",\n stroke: \"#161615\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 237\",\n d: \"M13.036 25.844a3.277 3.277 0 01.784-.542 7.159 7.159 0 013.6-.522 8.907 8.907 0 013.241.652c2.225 1.011 2.942 3.59 3.083 5.841.155 2.486-11.489 3.861-11.774-1.718a4.573 4.573 0 011.066-3.711z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 238\",\n d: \"M47.144 34.647a1.646 1.646 0 01-.056-.473 3.581 3.581 0 01.61-1.712 4.451 4.451 0 011.046-1.28 3.229 3.229 0 013.3 0c1.135.513-.981 5.98-3.513 4.8a2.285 2.285 0 01-1.387-1.335z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 239\",\n d: \"M34.857 53.172a3.291 3.291 0 01.783-.542 7.161 7.161 0 013.6-.522 8.886 8.886 0 013.241.653c2.225 1.01 2.942 3.589 3.083 5.84.156 2.488-11.489 3.861-11.773-1.718a4.573 4.573 0 011.066-3.711z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 240\",\n d: \"M72.86 46.116a3.277 3.277 0 01.784-.542 7.16 7.16 0 013.6-.522 8.887 8.887 0 013.241.653c2.225 1.01 2.942 3.59 3.083 5.84.155 2.487-11.489 3.861-11.774-1.718a4.573 4.573 0 011.066-3.711z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 241\",\n d: \"M57.642 75.232a1.646 1.646 0 01-.056-.473 3.581 3.581 0 01.61-1.712 4.451 4.451 0 011.046-1.28 3.229 3.229 0 013.3 0c1.136.513-.981 5.98-3.513 4.8a2.285 2.285 0 01-1.387-1.335z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 242\",\n d: \"M103.911 61.173a3.27 3.27 0 01.783-.542 7.159 7.159 0 013.6-.522 8.887 8.887 0 013.241.653c2.225 1.01 2.942 3.589 3.083 5.84.156 2.488-11.489 3.861-11.774-1.718a4.57 4.57 0 011.067-3.711z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 243\",\n d: \"M138.048 72.517a1.682 1.682 0 01-.056-.473 3.572 3.572 0 01.611-1.712 4.434 4.434 0 011.046-1.28 3.227 3.227 0 013.3 0c1.136.513-.981 5.98-3.513 4.8a2.285 2.285 0 01-1.388-1.335z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 244\",\n d: \"M8.285 50.577a1.6 1.6 0 01-.056-.473 3.589 3.589 0 01.61-1.712 4.465 4.465 0 011.046-1.28 3.227 3.227 0 013.3 0c1.135.513-.982 5.979-3.514 4.8a2.291 2.291 0 01-1.386-1.335z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 245\",\n d: \"M15.267 75.232a1.61 1.61 0 01-.056-.473 3.581 3.581 0 01.61-1.712 4.451 4.451 0 011.046-1.28 3.229 3.229 0 013.3 0c1.136.513-.982 5.98-3.514 4.8a2.286 2.286 0 01-1.386-1.335z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 246\",\n d: \"M87.632 71.415a1.684 1.684 0 01-.056-.473 3.571 3.571 0 01.611-1.712 4.433 4.433 0 011.046-1.28 3.227 3.227 0 013.3 0c1.136.513-.981 5.98-3.513 4.8a2.285 2.285 0 01-1.388-1.335z\",\n fill: \"none\",\n stroke: \"#040405\",\n strokeMiterlimit: 10\n }))));\n}\n\nexport default __webpack_public_path__ + \"3235067036ca3bf63b54cf509bf9a25a.svg\";\nexport { SvgIconSlope as ReactComponent };","import React, { useEffect } from 'react';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport { SharedStyles } from '@ys/Components/Shared.styles';\r\nimport { ReactComponent as Watercourse } from '@img/ysp/icon-watercourse.svg';\r\nimport Radios from '@ys/Components/Steps/Controls/Radios/Radios';\r\nimport { FormStyles } from '@ys/Components/Shared/Form.styles';\r\nconst AdjacentWater = () => {\r\n const { state, dispatch, setFormField } = useYSPContext();\r\n useEffect(() => {\r\n //\r\n dispatch({\r\n type: 'set-footer',\r\n payload: {\r\n type: 'surcharges',\r\n beforeNext: () => dispatch({ type: 'validate-adjacent-water' }),\r\n },\r\n });\r\n }, []);\r\n return (React.createElement(SharedStyles.Question, null,\r\n React.createElement(FormStyles.Form, null,\r\n React.createElement(\"h2\", null, state.labels['heading_adjacent']),\r\n state.labels['subheading_adjacent'] !== undefined &&\r\n state.labels['subheading_adjacent'].length > 0 && (React.createElement(SharedStyles.CenterText, null, state.labels['subheading_adjacent'])),\r\n React.createElement(SharedStyles.Icon, null,\r\n React.createElement(Watercourse, null)),\r\n React.createElement(FormStyles.FormRow, null,\r\n React.createElement(Radios, { error: state.errors['adjacentWater'], value: state.form.adjacentWater, setValue: (value) => setFormField('adjacentWater', value) })))));\r\n};\r\nexport default AdjacentWater;\r\n","export default __webpack_public_path__ + \"01f9b79c2f15f33d5089f29474ce3cb2.png\";","export default __webpack_public_path__ + \"270072563d074f6bd7cd0f917e328249.png\";","export default __webpack_public_path__ + \"e258fb1e69d5e7e12dddbed95bcde457.png\";","export default __webpack_public_path__ + \"34baad14557bad6b40020117915dc09a.png\";","import React, { useEffect } from 'react';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport InfoIcon from '@ys/Components/InfoIcon/InfoIcon';\r\nimport { SharedStyles } from '@ys/Components/Shared.styles';\r\nimport Radios from '@ys/Components/Steps/Controls/Radios/Radios';\r\nimport { FormStyles } from '@ys/Components/Shared/Form.styles';\r\nimport Embankments from '@img/ysp/surcharges/embankments.png';\r\nimport Building from '@img/ysp/surcharges/building.png';\r\nimport Crane from '@img/ysp/surcharges/crane.png';\r\nimport Railway from '@img/ysp/surcharges/railway.png';\r\nimport { Tab } from '@stories/Widgets/YourSolution/YS/Context/types';\r\nconst LargeSurcharges = () => {\r\n const { state, dispatch, setFormField } = useYSPContext();\r\n const hasTooltip = state.labels['tooltip_surcharges'] !== undefined &&\r\n state.labels['tooltip_surcharges'].length > 0;\r\n useEffect(() => {\r\n //\r\n dispatch({\r\n type: 'set-footer',\r\n payload: {\r\n type: 'surcharges',\r\n beforeNext: () => dispatch({ type: 'validate-large-surcharges' }),\r\n },\r\n });\r\n }, []);\r\n const handleSetModal = () => {\r\n dispatch({\r\n type: 'set-modal',\r\n payload: {\r\n fullWidth: true,\r\n title: '',\r\n description: state.labels['tooltip_surcharges'],\r\n imageUrl: '/sitefiles/images/ism/zone-of-influence-new.png',\r\n size: 'normal',\r\n },\r\n });\r\n };\r\n return (React.createElement(SharedStyles.Question, null,\r\n React.createElement(FormStyles.Form, null,\r\n state.tab === Tab.YourSolutionPlus ? (React.createElement(SharedStyles.TitleWithInfoIcon, null,\r\n React.createElement(\"h2\", null, state.labels['heading']),\r\n state.labels['tooltip'] && (React.createElement(InfoIcon, { onClick: () => dispatch({\r\n type: 'set-modal',\r\n payload: {\r\n description: state.labels['tooltip'],\r\n fullWidth: true,\r\n size: 'normal',\r\n },\r\n }) })))) : (React.createElement(React.Fragment, null,\r\n React.createElement(\"h2\", null, state.labels['heading']),\r\n hasTooltip && React.createElement(InfoIcon, { onClick: () => handleSetModal() }))),\r\n React.createElement(SharedStyles.Materials, null,\r\n React.createElement(SharedStyles.Material, null,\r\n React.createElement(SharedStyles.MaterialMedia, { large: true },\r\n React.createElement(\"img\", { src: Embankments, alt: \"Embankments, spoil heaps, stored material\" })),\r\n React.createElement(SharedStyles.MaterialLabel, null, \"Embankments, spoil heaps, stored material\")),\r\n React.createElement(SharedStyles.Material, null,\r\n React.createElement(SharedStyles.MaterialMedia, { large: true },\r\n React.createElement(\"img\", { src: Building, alt: \"Buildings or structures\" })),\r\n React.createElement(SharedStyles.MaterialLabel, null, \"Buildings or structures\")),\r\n React.createElement(SharedStyles.Material, null,\r\n React.createElement(SharedStyles.MaterialMedia, { large: true },\r\n React.createElement(\"img\", { src: Crane, alt: \"Plant exceeding 30t (Including cranes)\" })),\r\n React.createElement(SharedStyles.MaterialLabel, null, \"Plant exceeding 30t (Including cranes)\")),\r\n React.createElement(SharedStyles.Material, null,\r\n React.createElement(SharedStyles.MaterialMedia, { large: true },\r\n React.createElement(\"img\", { src: Railway, alt: \"Railways, motorways and trunk roads\" })),\r\n React.createElement(SharedStyles.MaterialLabel, null, \"Railways, motorways and trunk roads\"))),\r\n React.createElement(FormStyles.FormRow, null,\r\n React.createElement(Radios, { error: state.errors['largeSurcharges'], value: state.form.largeSurcharges, setValue: (value) => setFormField('largeSurcharges', value) })))));\r\n};\r\nexport default LargeSurcharges;\r\n","import React, { useEffect } from 'react';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport { SharedStyles } from '@ys/Components/Shared.styles';\r\nimport { ReactComponent as Slope } from '@img/ysp/icon-slope.svg';\r\nimport Radios from '@ys/Components/Steps/Controls/Radios/Radios';\r\nimport { FormStyles } from '../../../Shared/Form.styles';\r\nconst SlopingGround = () => {\r\n const { state, dispatch, setFormField } = useYSPContext();\r\n useEffect(() => {\r\n //\r\n dispatch({\r\n type: 'set-footer',\r\n payload: {\r\n type: 'surcharges',\r\n beforeNext: () => dispatch({ type: 'validate-sloping-ground' }),\r\n },\r\n });\r\n }, []);\r\n return (React.createElement(SharedStyles.Question, null,\r\n React.createElement(FormStyles.Form, null,\r\n React.createElement(\"h2\", null, state.labels['heading_sloping']),\r\n state.labels['subheading_sloping'] !== undefined &&\r\n state.labels['subheading_sloping'].length > 0 && (React.createElement(React.Fragment, null,\r\n React.createElement(SharedStyles.CenterText, null, state.labels['subheading_sloping']),\r\n React.createElement(\"br\", null))),\r\n React.createElement(SharedStyles.Icon, null,\r\n React.createElement(Slope, null)),\r\n React.createElement(FormStyles.FormRow, null,\r\n React.createElement(Radios, { error: state.errors['slopingGround'], value: state.form.slopingGround, setValue: (value) => setFormField('slopingGround', value) })))));\r\n};\r\nexport default SlopingGround;\r\n","import React, { useEffect } from 'react';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport { SolutionType, SupportType, Tab } from '@ys/Context/types';\r\nimport Boxes from '@ys/Components/Steps/Controls/Boxes/Boxes';\r\nimport InfoIcon from '@ys/Components/InfoIcon/InfoIcon';\r\nimport { SharedStyles } from '@ys/Components/Shared.styles';\r\nimport { FormStyles } from '@ys/Components/Shared/Form.styles';\r\nconst Type = () => {\r\n const { state, dispatch, setFormField } = useYSPContext();\r\n useEffect(() => {\r\n //\r\n dispatch({\r\n type: 'set-footer',\r\n payload: {\r\n beforeNext: () => dispatch({ type: 'validate-type' }),\r\n },\r\n });\r\n }, []);\r\n return (React.createElement(SharedStyles.Question, null,\r\n React.createElement(FormStyles.Form, null,\r\n state.form.supportType === SupportType.Box && (React.createElement(React.Fragment, null,\r\n React.createElement(\"h2\", null, state.labels['heading_boxType']),\r\n React.createElement(Boxes, { error: state.errors['type'], boxes: [\r\n {\r\n id: SolutionType.TrenchBox,\r\n title: 'Trench Box',\r\n description: state.labels['tooltip_trench'],\r\n imageUrl: '/sitefiles/images/ism/products/TB-BH-1-Backhoe(BaseOnly).png',\r\n },\r\n {\r\n id: SolutionType.ManholeBox,\r\n title: 'Manhole Box',\r\n description: state.labels['tooltip_manholeBox'],\r\n imageUrl: '/sitefiles/images/ism/products/MB-BH-1-Backhoe(BaseOnly).png',\r\n },\r\n {\r\n id: SolutionType.Lightweight,\r\n title: 'Lightweight box',\r\n description: state.labels['tooltip_lightDuty'],\r\n imageUrl: '/sitefiles/images/ism/products/LW-MAP.png',\r\n },\r\n ], value: state.form.type, setValue: (value) => setFormField('type', value) }))),\r\n state.form.supportType === SupportType.Frame && (React.createElement(React.Fragment, null,\r\n React.createElement(\"h2\", null, state.labels['heading_frameType']),\r\n React.createElement(Boxes, { error: state.errors['type'], boxes: [\r\n {\r\n id: SolutionType.SheetsAndManholeBrace,\r\n title: 'Manhole Brace',\r\n description: state.labels['tooltip_manholeBrace'],\r\n imageUrl: '/sitefiles/images/ism/products/B-1F-1Frame.png',\r\n },\r\n {\r\n id: SolutionType.SheetsAndWalers,\r\n title: 'Walers',\r\n description: state.labels['tooltip_walers'],\r\n imageUrl: '/sitefiles/images/ism/products/W-1F-1Frame.png',\r\n },\r\n ], value: state.form.type, setValue: (value) => setFormField('type', value) }))),\r\n state.tab === Tab.YourSolutionPlus &&\r\n React.createElement(React.Fragment, null,\r\n React.createElement(\"h2\", null, state.labels['heading_frameType']),\r\n state.labels['tooltip_frameType'] && (React.createElement(InfoIcon, { onClick: () => {\r\n dispatch({\r\n type: 'set-modal',\r\n payload: {\r\n description: state.labels['tooltip_frameType'],\r\n fullWidth: true,\r\n size: 'normal',\r\n },\r\n });\r\n } })),\r\n React.createElement(Boxes, { error: state.errors['type'], boxes: [\r\n {\r\n id: SolutionType.TrenchBox,\r\n title: 'Trench Box',\r\n description: state.labels['tooltip_trench'],\r\n imageUrl: '/sitefiles/images/ism/products/TB-BH-1-Backhoe(BaseOnly).png',\r\n },\r\n {\r\n id: SolutionType.ManholeBox,\r\n title: 'Manhole Box',\r\n description: state.labels['tooltip_manholeBox'],\r\n imageUrl: '/sitefiles/images/ism/products/MB-BH-1-Backhoe(BaseOnly).png',\r\n },\r\n ], value: state.form.type, setValue: (value) => setFormField('type', value) })))));\r\n};\r\nexport default Type;\r\n","export default __webpack_public_path__ + \"af4fdf63c0584fc31888b183213176c7.png\";","import React, { useEffect } from 'react';\r\nimport { SharedStyles } from '@ys/Components/Shared.styles';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport InfoIcon from '@ys/Components/InfoIcon/InfoIcon';\r\nimport { FormStyles } from '@ys/Components/Shared/Form.styles';\r\nimport EndSafe from '@img/ysp/endsafe.png';\r\nimport Radios from '../Controls/Radios/Radios';\r\nconst EndSafePanels = () => {\r\n const { state, dispatch, setFormField } = useYSPContext();\r\n useEffect(() => {\r\n dispatch({\r\n type: 'set-footer',\r\n payload: {\r\n nextDisabled: state.form.endSafePanelsRequired === undefined,\r\n },\r\n });\r\n }, [state.form.endSafePanelsRequired]);\r\n return (React.createElement(SharedStyles.Question, null,\r\n React.createElement(FormStyles.Form, null,\r\n React.createElement(SharedStyles.TitleWithInfoIcon, null,\r\n React.createElement(\"h2\", null, state.labels['heading']),\r\n state.labels['tooltip'] && (React.createElement(InfoIcon, { onClick: () => {\r\n dispatch({\r\n type: 'set-modal',\r\n payload: {\r\n description: state.labels['tooltip'],\r\n fullWidth: true,\r\n size: 'normal',\r\n },\r\n });\r\n } }))),\r\n React.createElement(FormStyles.FormRow, null,\r\n React.createElement(\"img\", { src: EndSafe, alt: \"EndSafe Panels\" })),\r\n React.createElement(FormStyles.FormRow, { xCentered: true, style: { marginTop: 25 } },\r\n React.createElement(Radios, { value: state.form.endSafePanelsRequired, error: state.errors['endSafePanelsRequired'], setValue: (value) => setFormField('endSafePanelsRequired', value) })))));\r\n};\r\nexport default EndSafePanels;\r\n","import React, { useEffect } from 'react';\r\nimport { SharedStyles } from '@ys/Components/Shared.styles';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport InfoIcon from '@ys/Components/InfoIcon/InfoIcon';\r\nimport { FormStyles } from '@ys/Components/Shared/Form.styles';\r\nimport EndSafe from '@img/ysp/endsafe.png';\r\nimport Radios from '../Controls/Radios/Radios';\r\nimport { EndSafeSide } from '../../../Context/types';\r\nconst EndSafeSides = () => {\r\n const { state, dispatch, setFormField } = useYSPContext();\r\n useEffect(() => {\r\n dispatch({\r\n type: 'set-footer',\r\n payload: {\r\n nextDisabled: state.form.endSafeSides === undefined,\r\n },\r\n });\r\n }, [state.form.endSafeSides]);\r\n return (React.createElement(SharedStyles.Question, null,\r\n React.createElement(FormStyles.Form, null,\r\n React.createElement(SharedStyles.TitleWithInfoIcon, null,\r\n React.createElement(\"h2\", null, state.labels['sides.heading']),\r\n state.labels['tooltip'] && (React.createElement(InfoIcon, { onClick: () => {\r\n dispatch({\r\n type: 'set-modal',\r\n payload: {\r\n description: state.labels['tooltip'],\r\n fullWidth: true,\r\n size: 'normal',\r\n },\r\n });\r\n } }))),\r\n React.createElement(FormStyles.FormRow, null,\r\n React.createElement(\"img\", { src: EndSafe, alt: \"EndSafe Panels\" })),\r\n React.createElement(FormStyles.FormRow, { xCentered: true, style: { marginTop: 25 } },\r\n React.createElement(Radios, { options: [\r\n {\r\n label: 'One',\r\n value: EndSafeSide.One,\r\n },\r\n {\r\n label: 'Both',\r\n value: EndSafeSide.Both,\r\n },\r\n ], value: state.form.endSafeSides, error: state.errors['endSafeSides'], setValue: (value) => {\r\n setFormField('endSafeSides', value);\r\n } })))));\r\n};\r\nexport default EndSafeSides;\r\n","import React from 'react';\r\nimport { ModalStyles as S } from './Modal.styles';\r\nimport { ReactComponent as Close } from '@img/ysp/icon-cross.svg';\r\nimport { AnimatePresence } from 'framer-motion';\r\nimport { withMotion } from '@hoc/withMotion';\r\nimport YSButton from '../Shared/YSButton/YSButton';\r\nconst ConfirmModal = ({ text, noText, yesText, onNo, onYes, onClose, visible, }) => {\r\n return (React.createElement(AnimatePresence, null, visible && (React.createElement(S.BoxModal, { key: 'ConfirmModal', small: true, active: true },\r\n React.createElement(S.BoxModalInner, null,\r\n React.createElement(S.BoxModalClose, { onClick: () => onClose() },\r\n React.createElement(Close, null)),\r\n React.createElement(S.ConfirmText, null, text),\r\n React.createElement(S.Buttons, null,\r\n React.createElement(YSButton, { colour: \"green\", onClick: () => onYes() }, yesText),\r\n React.createElement(YSButton, { colour: \"orange\", onClick: () => onNo() }, noText)))))));\r\n};\r\nexport default withMotion(ConfirmModal);\r\n","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport { Device, from, until } from '@helpers/media';\r\nimport { m } from 'framer-motion';\r\nimport styled from 'styled-components';\r\nconst Container = styled.div `\r\n border-radius: 5px;\r\n border: 2px solid ${brand.grey.grey35};\r\n background-color: ${brand.white};\r\n position: relative;\r\n height: 100%;\r\n transition: background-color 0.2s ease-in-out;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n grid-column: 1 / -1;\r\n }\r\n`;\r\nconst TopSection = styled.div `\r\n ${fonts.DaxPro.Regular};\r\n display: grid;\r\n grid-template-columns: 1fr 25px;\r\n cursor: pointer;\r\n padding: 0px 10px;\r\n height: 100%;\r\n user-select: none;\r\n max-height: 42px;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n max-height: 30px;\r\n }\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n min-height: 30px;\r\n }\r\n\r\n span {\r\n margin: auto 0;\r\n }\r\n\r\n svg {\r\n margin: auto;\r\n color: ${brand.primary.alt};\r\n width: 15px;\r\n }\r\n`;\r\nconst DropdownWrapper = styled(m.div).attrs(({ active }) => ({\r\n initial: 'hidden',\r\n animate: active ? 'visible' : 'hidden',\r\n variants: {\r\n hidden: {\r\n height: 0,\r\n opacity: 0,\r\n transition: {\r\n opacity: {\r\n duration: 0.1,\r\n delay: 0.2,\r\n },\r\n },\r\n },\r\n visible: {\r\n height: 'auto',\r\n opacity: 1,\r\n transition: {\r\n opacity: {\r\n duration: 0.1,\r\n },\r\n },\r\n },\r\n },\r\n})) `\r\n position: absolute;\r\n top: calc(100% + 2px);\r\n left: 0;\r\n width: 100%;\r\n z-index: ${({ i }) => 20 - i};\r\n background-color: ${brand.white};\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n z-index: ${({ i }) => 6 - i};\r\n }\r\n`;\r\nconst BorderWrapper = styled.div `\r\n overflow-y: auto;\r\n height: 100%;\r\n border: 2px solid ${brand.grey.grey35};\r\n border-top: none;\r\n max-height: 450px;\r\n\r\n /* width */\r\n &::-webkit-scrollbar {\r\n width: 8px;\r\n }\r\n\r\n /* Handle */\r\n &::-webkit-scrollbar-thumb {\r\n background: ${brand.primary.light};\r\n border-radius: 10px;\r\n }\r\n`;\r\nconst Dropdown = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n`;\r\nconst DropdownOption = styled.div `\r\n display: grid;\r\n grid-template-columns: 30px 1fr;\r\n gap: 10px;\r\n align-items: center;\r\n padding: 5px;\r\n cursor: pointer;\r\n transition: background-color 0.1s ease-in-out;\r\n user-select: none;\r\n\r\n &:hover {\r\n background-color: ${brand.grey.grey89};\r\n }\r\n`;\r\nconst SoilImage = styled.div `\r\n aspect-ratio: 1 / 1;\r\n border-radius: 3px;\r\n background-image: url('${({ background }) => background}');\r\n`;\r\nconst SelectedOption = styled.div `\r\n display: grid;\r\n grid-template-columns: 24px 1fr;\r\n gap: 5px;\r\n align-items: center;\r\n padding: 3px 0px;\r\n margin-left: -5px;\r\n white-space: nowrap;\r\n\r\n span {\r\n text-overflow: ellipsis;\r\n overflow: hiddne;\r\n }\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n min-height: 30px;\r\n }\r\n\r\n ${() => SoilImage} {\r\n aspect-ratio: unset;\r\n width: 24px;\r\n height: 100%;\r\n background-size: contain;\r\n border: 2px solid ${brand.black};\r\n }\r\n`;\r\nexport const SoilTypeDropdownStyles = {\r\n Container,\r\n TopSection,\r\n DropdownWrapper,\r\n Dropdown,\r\n DropdownOption,\r\n SoilImage,\r\n BorderWrapper,\r\n SelectedOption,\r\n};\r\n","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport { Device, from, until } from '@helpers/media';\r\nimport styled, { css } from 'styled-components';\r\nimport { Containers, StepStyles } from '../../Shared/Step.styles';\r\nimport { YSButtonStyles } from './../../Shared/YSButton/YSButton.styles';\r\nimport { InlineNumericalInputStyles } from './InlineNumericalInput/InlineNumericalInput.styles';\r\nimport { SoilTypeDropdownStyles } from './SoilTypeDropdown/SoilTypeDropdown.styles';\r\nconst Container = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n gap: 15px;\r\n width: 100%;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n padding-bottom: 25px;\r\n }\r\n`;\r\nconst TopStep = styled.div `\r\n display: grid;\r\n gap: 20px;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n grid-template-columns: repeat(12, 1fr);\r\n }\r\n`;\r\nconst LayerOptions = styled.div `\r\n grid-column: 6 / -1;\r\n display: flex;\r\n flex-direction: column;\r\n`;\r\nconst LayerWrapper = styled.div `\r\n display: grid;\r\n grid-template-columns: 55px 110px 1fr 13px;\r\n gap: 15px;\r\n align-items: center;\r\n margin-bottom: 15px;\r\n\r\n &[data-last='true'] {\r\n ${SoilTypeDropdownStyles.Container}, ${InlineNumericalInputStyles.Input}:not(:disabled) {\r\n background-color: ${brand.ysp.input};\r\n }\r\n }\r\n`;\r\nconst LayerName = styled.div `\r\n ${fonts.DaxPro.Medium};\r\n font-size: 17px;\r\n`;\r\nconst ButtonWrapper = styled.div `\r\n padding-top: 25px;\r\n margin-top: auto;\r\n display: flex;\r\n gap: 16px;\r\n flex-direction: column;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n align-items: center;\r\n flex-direction: row;\r\n }\r\n\r\n ${YSButtonStyles.Container} {\r\n white-space: nowrap;\r\n }\r\n`;\r\nconst DeleteWrapper = styled.div `\r\n cursor: pointer;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n grid-column: 4;\r\n grid-row: 1;\r\n }\r\n`;\r\nconst ResetAllWrapper = styled.div `\r\n display: flex;\r\n gap: 7px;\r\n align-items: center;\r\n cursor: pointer;\r\n user-select: none;\r\n width: max-content;\r\n\r\n span {\r\n font-size: 17px;\r\n ${fonts.DaxPro.Medium};\r\n }\r\n\r\n svg {\r\n width: 20px;\r\n height: 20px;\r\n }\r\n`;\r\nconst GridWrapper = styled(StepStyles.Grid) `\r\n @media ${until(Device.TabletLarge)} {\r\n ${() => Containers.Default} {\r\n grid-column: 1 / -1;\r\n }\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n ${({ offsetPadding }) => offsetPadding &&\r\n css `\r\n padding-right: 8px;\r\n max-width: calc(75vw + 8px);\r\n `}\r\n }\r\n`;\r\nexport const SoilProfilesStyles = {\r\n Container,\r\n TopStep,\r\n LayerOptions,\r\n LayerWrapper,\r\n LayerName,\r\n ButtonWrapper,\r\n DeleteWrapper,\r\n ResetAllWrapper,\r\n GridWrapper,\r\n};\r\n","import React, { useRef, useState } from 'react';\r\nimport { SoilTypeDropdownStyles as S } from './SoilTypeDropdown.styles';\r\nimport { ReactComponent as Chevron } from '@img/icons/chevron-down.svg';\r\nimport uniqueId from 'lodash/uniqueId';\r\nimport { useClickAway } from 'react-use';\r\nconst SoilTypeDropdown = ({ value, options, onChange, i, }) => {\r\n const [expanded, setExpanded] = useState(false);\r\n const ref = useRef();\r\n useClickAway(ref, () => expanded && setExpanded(false), ['click']);\r\n return (React.createElement(S.Container, null,\r\n React.createElement(S.TopSection, { onClick: () => !expanded && setExpanded(true) },\r\n !value ? (React.createElement(\"span\", null, \"Please Select Soil Type\")) : (React.createElement(S.SelectedOption, null,\r\n React.createElement(S.SoilImage, { background: value.icon }),\r\n React.createElement(\"span\", null, value.name))),\r\n React.createElement(Chevron, null)),\r\n React.createElement(S.DropdownWrapper, { i: i, ref: ref, active: expanded },\r\n React.createElement(S.BorderWrapper, null,\r\n React.createElement(S.Dropdown, null, options.map((option, i) => (React.createElement(S.DropdownOption, { key: `SoilTypeDropdown_${i}_${uniqueId()}`, onClick: () => {\r\n onChange(option);\r\n setExpanded(false);\r\n } },\r\n React.createElement(S.SoilImage, { background: option.icon }),\r\n React.createElement(\"span\", null, option.name)))))))));\r\n};\r\nexport default SoilTypeDropdown;\r\n","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport { Device, until } from '@helpers/media';\r\nimport { m } from 'framer-motion';\r\nimport styled, { css } from 'styled-components';\r\nconst Container = styled.div `\r\n grid-column: 1 / 6;\r\n overflow-y: auto;\r\n height: 270px;\r\n\r\n /* width */\r\n &::-webkit-scrollbar {\r\n width: 8px;\r\n }\r\n\r\n /* Track */\r\n &::-webkit-scrollbar-track {\r\n background: ${brand.white};\r\n }\r\n\r\n /* Handle */\r\n &::-webkit-scrollbar-thumb {\r\n background: ${brand.primary.light};\r\n border-radius: 10px;\r\n }\r\n`;\r\nconst SoilVisualiser = styled(m.div) `\r\n background-color: powderblue;\r\n display: flex;\r\n flex-direction: column;\r\n position: relative;\r\n height: 100%;\r\n\r\n /* width */\r\n &::-webkit-scrollbar {\r\n width: 8px;\r\n }\r\n\r\n /* Track */\r\n &::-webkit-scrollbar-track {\r\n background: ${brand.white};\r\n }\r\n\r\n /* Handle */\r\n &::-webkit-scrollbar-thumb {\r\n background: ${brand.primary.light};\r\n border-radius: 10px;\r\n }\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n overflow-y: auto;\r\n }\r\n`;\r\nconst ExcavationOverlay = styled.div `\r\n position: absolute;\r\n top: 0;\r\n left: 50%;\r\n transform: translateX(-50%);\r\n width: 75px;\r\n height: ${({ height }) => `${height}%`};\r\n background-color: ${brand.white};\r\n border: 2px solid ${brand.black};\r\n border-top: none;\r\n padding: 5px 7px;\r\n z-index: 1;\r\n\r\n display: flex;\r\n align-items: center;\r\n gap: 5px;\r\n\r\n span {\r\n color: ${brand.primary.alt};\r\n ${fonts.DaxPro.Medium};\r\n font-size: 13px;\r\n }\r\n`;\r\nconst Arrow = styled.div `\r\n position: relative;\r\n height: calc(100% - 5px);\r\n width: 1px;\r\n background-color: ${brand.primary.alt};\r\n\r\n &::before {\r\n content: '';\r\n position: absolute;\r\n top: -5px;\r\n left: 35%;\r\n transform: translateX(-50%);\r\n background-color: ${brand.primary.alt};\r\n clip-path: polygon(50% 0%, 0% 100%, 100% 100%);\r\n width: 7px;\r\n height: 7px;\r\n }\r\n\r\n &::after {\r\n content: '';\r\n position: absolute;\r\n bottom: -5px;\r\n left: 35%;\r\n transform: translateX(-50%);\r\n background-color: ${brand.primary.alt};\r\n clip-path: polygon(50% 100%, 0 0, 100% 0);\r\n width: 7px;\r\n height: 7px;\r\n }\r\n`;\r\nconst SoilLayer = styled(m.div).attrs(({ height }) => ({\r\n initial: 'hidden',\r\n animate: height === 0 ? 'hidden' : 'visible',\r\n exit: 'hidden',\r\n variants: {\r\n hidden: {\r\n height: 0,\r\n minHeight: 0,\r\n },\r\n visible: {\r\n height: `${height}px`,\r\n minHeight: `${height}px`,\r\n },\r\n },\r\n transition: {\r\n type: 'tween',\r\n ease: 'easeInOut',\r\n duration: 0.35,\r\n },\r\n})) `\r\n position: relative;\r\n width: 100%;\r\n background-image: ${({ background }) => `url('${background}')`};\r\n transform-origin: bottom;\r\n\r\n ${({ isLast, height }) => height === -1 && isLast\r\n ? css `\r\n flex-grow: 1;\r\n `\r\n : null}\r\n\r\n &::after {\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n height: 50%;\r\n width: 100%;\r\n background: rgb(255, 255, 255);\r\n background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);\r\n }\r\n`;\r\nexport const SoilVisualiserStyles = {\r\n Container,\r\n SoilVisualiser,\r\n ExcavationOverlay,\r\n Arrow,\r\n SoilLayer,\r\n};\r\n","import { imageUrl } from '@helpers/cloudinary';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport { AnimatePresence } from 'framer-motion';\r\nimport React, { useMemo, useRef } from 'react';\r\nimport { SoilVisualiserStyles as S } from './SoilVisualiser.styles';\r\nconst SoilVisualiser = () => {\r\n const { state } = useYSPContext();\r\n const containerRef = useRef(null);\r\n const excavationRef = useRef(null);\r\n const soilLayersToDisplay = useMemo(() => {\r\n if (state.form.soilLayers) {\r\n const layers = state.form.soilLayers;\r\n return layers.filter((layer, i) => {\r\n // We always want to show the top layer //\r\n if (i === 0) {\r\n return true;\r\n }\r\n // If a new layer has just been added it will have the same BGL as the previous layer. //\r\n // Ignore this layer if it matches the previous one //\r\n if (i > 0 && layers[i - 1].bgl === layer.bgl) {\r\n return false;\r\n }\r\n return true;\r\n });\r\n }\r\n return [];\r\n }, [state.form.soilLayers]);\r\n const excavationHeight = useMemo(() => {\r\n if (soilLayersToDisplay.length < 1 || !state.form.depth) {\r\n return 90;\r\n }\r\n const lastPopulatedLayer = soilLayersToDisplay[soilLayersToDisplay.length - 1].bgl;\r\n if (lastPopulatedLayer >= state.form.depth) {\r\n const percentage = (state.form.depth / lastPopulatedLayer) * 100;\r\n return percentage - 10;\r\n }\r\n return 90;\r\n }, [soilLayersToDisplay]);\r\n const soilProfileOptions = useMemo(() => state.soilProfiles.reduce((acc, cur) => {\r\n acc.push({\r\n id: cur.id,\r\n icon: imageUrl(cur.image, `c_fill,w_30,h_30`),\r\n name: cur.description,\r\n });\r\n return acc;\r\n }, []), [state.soilProfiles]);\r\n if (state.soilProfiles.length === 0) {\r\n return React.createElement(React.Fragment, null);\r\n }\r\n const getHeightForLayer = (l, i) => {\r\n if (containerRef.current && excavationRef.current && state.form.depth) {\r\n if (i < soilLayersToDisplay.length - 1) {\r\n const height = soilLayersToDisplay[i + 1].bgl - l;\r\n // What % of the excavation is this //\r\n const layerPercentage = height / state.form.depth;\r\n const excavationBoundingBox = excavationRef.current.getBoundingClientRect();\r\n const layerHeight = excavationBoundingBox.height * layerPercentage;\r\n return layerHeight;\r\n }\r\n }\r\n return -1;\r\n };\r\n return (React.createElement(S.Container, { ref: containerRef },\r\n React.createElement(S.SoilVisualiser, null,\r\n React.createElement(S.ExcavationOverlay, { ref: excavationRef, height: excavationHeight },\r\n React.createElement(S.Arrow, null),\r\n React.createElement(\"span\", null,\r\n state.form.depth,\r\n \"m\")),\r\n React.createElement(AnimatePresence, null, soilLayersToDisplay\r\n .filter((x) => x.soilTypeId >= 0)\r\n .map((layer, i) => (React.createElement(S.SoilLayer, { isLast: i === soilLayersToDisplay.length - 1, key: `SoilLayer_${layer.id}`, background: soilProfileOptions.find((x) => x.id === layer.soilTypeId)?.icon || '', height: soilLayersToDisplay.length === 1\r\n ? containerRef.current?.clientHeight\r\n : getHeightForLayer(layer.bgl, i) })))))));\r\n};\r\nexport default SoilVisualiser;\r\n","import { imageUrl } from '@helpers/cloudinary';\r\nimport { withMotion } from '@hoc/withMotion';\r\nimport { ReactComponent as Cross } from '@img/ysp/icon-cross.svg';\r\nimport { ReactComponent as Reset } from '@img/ysp/reset-thick.svg';\r\nimport Checkbox from '@stories/Components/Forms/Checkbox/Checkbox';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport InfoIcon from '@ys/Components/InfoIcon/InfoIcon';\r\nimport { SharedStyles } from '@ys/Components/Shared.styles';\r\nimport { Containers } from '@ys/Components/Shared/Step.styles';\r\nimport omit from 'lodash/omit';\r\nimport uniqueId from 'lodash/uniqueId';\r\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\r\nimport ConfirmModal from '../../Modal/ConfirmModal';\r\nimport YSButton from '../../Shared/YSButton/YSButton';\r\nimport InlineNumericalInput from './InlineNumericalInput/InlineNumericalInput';\r\nimport SoilInfoTable from './SoilInfoTable/SoilInfoTable';\r\nimport { SoilProfilesStyles as S } from './SoilProfiles.styles';\r\nimport SoilTypeDropdown from './SoilTypeDropdown/SoilTypeDropdown';\r\nimport SoilVisualiser from './SoilVisualiser/SoilVisualiser';\r\nconst Layer = ({ position, layer, update, soilProfileOptions, previousDepth, nextDepth, lock, setTargetedLayer, ...rest }) => {\r\n return (React.createElement(S.LayerWrapper, { ...rest },\r\n React.createElement(S.LayerName, null,\r\n \"Layer \",\r\n position + 1),\r\n React.createElement(InlineNumericalInput, { lock: lock, unit: \"m\", value: layer.bgl || undefined, disabled: position === 0, onChange: (depth) => {\r\n update(position, 'bgl', depth);\r\n }, min: previousDepth ? (isNaN(previousDepth) ? undefined : previousDepth) : undefined, max: nextDepth ? (isNaN(nextDepth) ? undefined : nextDepth) : undefined }),\r\n React.createElement(SoilTypeDropdown, { i: position, onChange: (value) => {\r\n const updatedValue = update(position, 'soilLayer', value);\r\n update(position, 'soilTypeId', value.id, updatedValue);\r\n }, value: layer.soilLayer, options: soilProfileOptions }),\r\n position > 0 && (React.createElement(S.DeleteWrapper, { onClick: () => setTargetedLayer(position) },\r\n React.createElement(Cross, null)))));\r\n};\r\nconst SoilProfiles = () => {\r\n const { state, dispatch, setFormField } = useYSPContext();\r\n const contentRef = useRef(null);\r\n const [targetedLayer, setTargetedLayer] = useState(-1);\r\n const [modalMode, setModalMode] = useState();\r\n const [modalOpen, setModalOpen] = useState(false);\r\n const isOverflown = useMemo(() => {\r\n if (contentRef.current) {\r\n return contentRef.current.scrollHeight > contentRef.current.clientHeight;\r\n }\r\n return false;\r\n }, [contentRef.current?.clientHeight, contentRef.current?.scrollHeight]);\r\n const modalLabels = useMemo(() => {\r\n switch (modalMode) {\r\n default:\r\n case 'reset-layer':\r\n return {\r\n text: 'Are you sure you want to reset this layer to its default values?',\r\n yes: 'Yes, reset the layer',\r\n no: 'No, keep my values',\r\n };\r\n case 'delete-layer':\r\n return {\r\n text: 'Are you sure you want to delete this layer? This cannot be undone.',\r\n yes: 'Yes, delete the layer',\r\n no: 'No, keep the layer',\r\n };\r\n case 'reset-all':\r\n return {\r\n text: 'Are you sure you want to reset the soil parameters to the default values?',\r\n yes: 'Yes, reset to default',\r\n no: 'No, keep my parameters',\r\n };\r\n }\r\n }, [modalMode]);\r\n useEffect(() => {\r\n dispatch({\r\n type: 'set-footer',\r\n payload: {\r\n nextDisabled: state.form.soilLayers?.length === 0 || !state.form.soilDisclaimer,\r\n },\r\n });\r\n }, [state.form.soilLayers, state.form.soilDisclaimer]);\r\n const [layers, setLayers] = useState(state.form.soilLayers !== undefined && state.form.soilLayers.length !== 0\r\n ? state.form.soilLayers\r\n : [\r\n {\r\n id: uniqueId(),\r\n bgl: 0,\r\n soilTypeId: -1,\r\n },\r\n ]);\r\n useEffect(() => {\r\n const mergedLayers = layers.reduce((acc, cur) => {\r\n const layer = state.soilProfiles.find((x) => x.id === cur.soilTypeId);\r\n if (layer) {\r\n const merged = {\r\n ...cur,\r\n };\r\n acc.push(merged);\r\n }\r\n return acc;\r\n }, []);\r\n setFormField('soilLayers', mergedLayers);\r\n }, [layers]);\r\n const resetAll = () => {\r\n // Moans about the 'id' not being the right type, but it's being omitted via Lodash //\r\n const clone = [...layers];\r\n clone.map((l, i) => {\r\n const soilInfo = state.soilProfiles.find((x) => x.id === l.soilTypeId);\r\n if (soilInfo) {\r\n clone[i] = { ...l, ...omit(soilInfo, 'id', 'bgl') };\r\n }\r\n });\r\n setLayers(clone);\r\n setFormField('soilDisclaimer', false);\r\n };\r\n const resetLayer = (position) => {\r\n const clone = [...layers];\r\n // Moans about the 'id' not being the right type, but it's being omitted via Lodash //\r\n let layer = clone[position];\r\n const soilInfo = state.soilProfiles.find((x) => x.id === layer.soilTypeId);\r\n if (soilInfo) {\r\n layer = { ...layer, ...omit(soilInfo, 'id', 'bgl') };\r\n clone.splice(position, 1, layer);\r\n }\r\n setLayers(clone);\r\n };\r\n const addLayer = () => {\r\n if (layers.length < 6) {\r\n const clone = [...layers];\r\n clone.push({\r\n id: uniqueId(),\r\n bgl: layers[layers.length - 1].bgl,\r\n soilTypeId: -1,\r\n });\r\n setLayers(clone);\r\n }\r\n };\r\n const modifyLayer = (position, type, value, updatedValue) => {\r\n const layer = updatedValue ? updatedValue : layers[position];\r\n if (layer) {\r\n // Moans about the 'id' not being the right type, but it's being omitted via Lodash //\r\n let clone = { ...layer };\r\n clone[type] = value;\r\n if (type === 'soilTypeId') {\r\n // Also update the table data with the corresponding soil information //\r\n const matchingSoil = state.soilProfiles.find((x) => x.id === value);\r\n if (matchingSoil) {\r\n clone = { ...clone, ...omit(matchingSoil, 'id', 'bgl') };\r\n }\r\n }\r\n const layersClone = [...layers];\r\n layersClone.splice(position, 1, clone);\r\n setLayers(layersClone);\r\n return clone;\r\n }\r\n return layer;\r\n };\r\n const soilProfileOptions = useMemo(() => {\r\n return state.soilProfiles.reduce((acc, cur) => {\r\n acc.push({\r\n id: cur.id,\r\n icon: imageUrl(cur.image, `c_fill,w_30,h_30`),\r\n name: cur.description,\r\n });\r\n return acc;\r\n }, []);\r\n }, [state.soilProfiles]);\r\n return (React.createElement(S.GridWrapper, { ref: contentRef, offsetPadding: state.scrollLocked && isOverflown },\r\n React.createElement(Containers.Default, null,\r\n React.createElement(SharedStyles.TitleWithInfoIcon, null,\r\n React.createElement(\"h2\", null, state.labels['heading']),\r\n state.labels['tooltip'] && (React.createElement(InfoIcon, { onClick: () => dispatch({\r\n type: 'set-modal',\r\n payload: {\r\n description: state.labels['tooltip'],\r\n fullWidth: true,\r\n size: 'normal',\r\n },\r\n }) }))),\r\n React.createElement(S.Container, null,\r\n React.createElement(S.TopStep, null,\r\n React.createElement(SoilVisualiser, null),\r\n soilProfileOptions.length > 0 && (React.createElement(S.LayerOptions, null,\r\n layers.map((layer, i) => (React.createElement(Layer, { \"data-last\": i === layers.length - 1, key: `SoilProfile_${i}_${soilProfileOptions.length}`, layer: layer, soilProfileOptions: soilProfileOptions, update: modifyLayer, position: i, previousDepth: i > 0 ? layers[i - 1].bgl : undefined, nextDepth: i < layers.length - 1 ? layers[i + 1].bgl : undefined, lock: (b) => !state.mobile && dispatch({ type: 'set-locked', payload: b }), setTargetedLayer: (pos) => {\r\n if (modalMode !== 'delete-layer') {\r\n setModalMode('delete-layer');\r\n }\r\n setTargetedLayer(pos);\r\n setModalOpen(true);\r\n } }))),\r\n React.createElement(S.ButtonWrapper, null,\r\n React.createElement(YSButton, { icon: \"plus\", disabled: layers.length === 6 || layers.some((x) => x.soilTypeId === -1), onClick: () => addLayer() }, \"Add new layer\"),\r\n React.createElement(Checkbox, { id: \"disclaimer\", name: \"disclaimer\", type: \"checkbox\", value: state.form.soilDisclaimer, onChange: (e) => {\r\n setFormField('soilDisclaimer', e.target.checked);\r\n }, label: state.labels['disclaimer'] ||\r\n 'The above soil profile sufficiently represents the full depth of the excavation' }))))),\r\n React.createElement(SoilInfoTable, { layers: layers.filter((x) => x.soilTypeId > -1), update: modifyLayer, setTargetedLayer: (pos) => {\r\n if (modalMode !== 'reset-layer') {\r\n setModalMode('reset-layer');\r\n }\r\n setTargetedLayer(pos);\r\n setModalOpen(true);\r\n } }),\r\n layers.length > 1 && (React.createElement(S.ResetAllWrapper, { onClick: () => {\r\n setModalMode('reset-all');\r\n setModalOpen(true);\r\n } },\r\n React.createElement(Reset, null),\r\n React.createElement(\"span\", null, \"Reset to default values\"))))),\r\n React.createElement(ConfirmModal, { visible: modalOpen, text: modalLabels.text, yesText: modalLabels.yes, noText: modalLabels.no, onYes: () => {\r\n if (modalMode === 'delete-layer' && targetedLayer > -1) {\r\n const clone = [...layers];\r\n clone.splice(targetedLayer, 1);\r\n setLayers(clone);\r\n }\r\n else if (modalMode === 'reset-layer') {\r\n resetLayer(targetedLayer);\r\n }\r\n else if (modalMode === 'reset-all') {\r\n resetAll();\r\n }\r\n setModalOpen(false);\r\n }, onNo: () => setModalOpen(false), onClose: () => setModalOpen(false) })));\r\n};\r\nexport default withMotion(SoilProfiles);\r\n","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgTickUnbound(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 54.182 50\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.49 50a3.552 3.552 0 01-2.531-1.024L1.168 32.703a3.709 3.709 0 115.123-5.364l11.571 8.257a1.509 1.509 0 002.23-.241L47.514 1.484a3.7 3.7 0 015.906 4.46l-30.977 42.55a3.693 3.693 0 01-2.652 1.446.544.544 0 01-.3.06z\",\n fill: \"#6f9d20\"\n })));\n}\n\nexport default __webpack_public_path__ + \"c49b89a4ee32c0fda8136c4450c65d4e.svg\";\nexport { SvgTickUnbound as ReactComponent };","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport { m } from 'framer-motion';\r\nimport styled, { css } from 'styled-components';\r\nconst Container = styled.div `\r\n border-radius: 5px;\r\n border: 2px solid ${brand.grey.grey35};\r\n background-color: ${brand.white};\r\n position: relative;\r\n height: 100%;\r\n padding: 3px 0px;\r\n transition: background-color 0.2s ease-in-out;\r\n\r\n ${({ short }) => short &&\r\n css `\r\n max-width: 350px;\r\n `}\r\n\r\n ${({ i }) => i !== undefined\r\n ? css `\r\n z-index: ${i};\r\n `\r\n : css `\r\n z-index: 11;\r\n `}\r\n`;\r\nconst TopSection = styled.div `\r\n ${fonts.DaxPro.Regular};\r\n display: grid;\r\n grid-template-columns: 1fr 25px;\r\n cursor: pointer;\r\n padding: 6px 10px;\r\n height: 100%;\r\n user-select: none;\r\n\r\n span {\r\n margin: auto 0;\r\n }\r\n\r\n svg {\r\n margin: auto;\r\n color: ${brand.primary.alt};\r\n width: 15px;\r\n }\r\n`;\r\nconst DropdownWrapper = styled(m.div).attrs(({ active }) => ({\r\n initial: 'hidden',\r\n animate: active ? 'visible' : 'hidden',\r\n variants: {\r\n hidden: {\r\n height: 0,\r\n opacity: 0,\r\n transition: {\r\n opacity: {\r\n duration: 0.1,\r\n delay: 0.2,\r\n },\r\n },\r\n },\r\n visible: {\r\n height: 'auto',\r\n opacity: 1,\r\n transition: {\r\n opacity: {\r\n duration: 0.1,\r\n },\r\n },\r\n },\r\n },\r\n})) `\r\n position: absolute;\r\n top: calc(100% + 2px);\r\n left: 0;\r\n width: 100%;\r\n background-color: ${brand.white};\r\n`;\r\nconst BorderWrapper = styled.div `\r\n overflow-y: auto;\r\n height: 100%;\r\n border: 2px solid ${brand.grey.grey35};\r\n border-top: none;\r\n max-height: 450px;\r\n\r\n margin-left: -2px;\r\n margin-top: -3px;\r\n width: calc(100% + 4px);\r\n\r\n /* width */\r\n &::-webkit-scrollbar {\r\n width: 8px;\r\n }\r\n\r\n /* Handle */\r\n &::-webkit-scrollbar-thumb {\r\n background: ${brand.primary.light};\r\n border-radius: 10px;\r\n }\r\n`;\r\nconst Dropdown = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n padding-top: 6px;\r\n`;\r\nconst DropdownOption = styled.div `\r\n align-items: center;\r\n padding: 8px 10px;\r\n cursor: pointer;\r\n transition: background-color 0.1s ease-in-out;\r\n\r\n span {\r\n svg {\r\n width: 15px;\r\n margin-right: 8px;\r\n }\r\n }\r\n\r\n &:hover {\r\n background-color: ${brand.grey.grey89};\r\n }\r\n`;\r\nconst SelectedOption = styled.div `\r\n align-items: center;\r\n`;\r\nexport const DropdownStyles = {\r\n Container,\r\n TopSection,\r\n DropdownWrapper,\r\n BorderWrapper,\r\n Dropdown,\r\n DropdownOption,\r\n SelectedOption,\r\n};\r\n","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport { Device, from, until } from '@helpers/media';\r\nimport styled from 'styled-components';\r\nimport { DropdownStyles } from '../../Controls/Dropdown/Dropdown.styles';\r\nimport { SoilVisualiserStyles } from '../SoilVisualiser/SoilVisualiser.styles';\r\nconst Container = styled.div `\r\n display: grid;\r\n grid-template-columns: repeat(12, 1fr);\r\n height: max-content;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n padding-bottom: 25px;\r\n }\r\n\r\n ${() => DropdownStyles.Container} {\r\n background-color: ${brand.ysp.input};\r\n }\r\n\r\n ${SoilVisualiserStyles.Container} {\r\n grid-column: 1 / -1;\r\n @media ${from(Device.TabletLarge)} {\r\n grid-column: 4 / 10;\r\n }\r\n }\r\n`;\r\nconst Centered = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n\r\n > span {\r\n ${fonts.DaxPro.Medium};\r\n margin-bottom: 8px;\r\n }\r\n\r\n grid-column: 1 / -1;\r\n\r\n @media ${from(Device.Tablet)} {\r\n grid-column: 4 / span 6;\r\n }\r\n`;\r\nexport const SoilSourceStyles = {\r\n Container,\r\n Centered,\r\n};\r\n","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgWarningUnbound(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 45.93 40.456\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.053 31.079L28.282 2.998a6.215 6.215 0 00-10.634 0L.876 31.079a6.218 6.218 0 005.317 9.377h33.544a6.042 6.042 0 005.365-3.142 6.13 6.13 0 00-.048-6.235zm-22.089 2.8a2.61 2.61 0 112.61-2.61 2.6 2.6 0 01-2.609 2.614zm2.8-19.866l-.911 10.785a1.885 1.885 0 01-2.03 1.692 1.859 1.859 0 01-1.692-1.692l-.918-10.779a2.814 2.814 0 015.607-.483 1.641 1.641 0 00-.048.483z\",\n fill: \"#f60\"\n })));\n}\n\nexport default __webpack_public_path__ + \"ab8beafaa5ab70db680886fb310b610e.svg\";\nexport { SvgWarningUnbound as ReactComponent };","import { ReactComponent as Chevron } from '@img/icons/chevron-down.svg';\r\nimport { ReactComponent as Tick } from '@img/ysp/tick-unbound.svg';\r\nimport { ReactComponent as Warning } from '@img/ysp/warning-unbound.svg';\r\nimport uniqueId from 'lodash/uniqueId';\r\nimport React, { useRef, useState } from 'react';\r\nimport { useClickAway } from 'react-use';\r\nimport { DropdownStyles as S } from './Dropdown.styles';\r\nconst Dropdown = ({ value, options, onChange, i, short, placeholder, }) => {\r\n const [expanded, setExpanded] = useState(false);\r\n const ref = useRef(null);\r\n useClickAway(ref, () => expanded && setExpanded(false), ['click']);\r\n return (React.createElement(S.Container, { i: i, short: short },\r\n React.createElement(S.TopSection, { onClick: () => !expanded && setExpanded(true) },\r\n value < 0 || value === undefined ? (React.createElement(\"span\", null, placeholder ? placeholder : 'Please Select....')) : (React.createElement(S.SelectedOption, null,\r\n React.createElement(\"span\", null, options.find((x) => x.id === value)?.text))),\r\n React.createElement(Chevron, null)),\r\n React.createElement(S.DropdownWrapper, { ref: ref, active: expanded },\r\n React.createElement(S.BorderWrapper, null,\r\n React.createElement(S.Dropdown, null, options.map((option, i) => (React.createElement(S.DropdownOption, { key: `Dropdown_${i}_${uniqueId()}`, onClick: () => {\r\n onChange(option.id);\r\n setExpanded(false);\r\n } },\r\n option.selectable !== null && (React.createElement(\"span\", null,\r\n option.selectable && React.createElement(Tick, null),\r\n \" \",\r\n option.selectable === false && React.createElement(Warning, null))),\r\n React.createElement(\"span\", null, option.text)))))))));\r\n};\r\nexport default Dropdown;\r\n","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgCaret(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n stroke: \"currentColor\",\n fill: \"currentColor\",\n strokeWidth: 0,\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.14 8.753l-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 011.659-.753l5.48 4.796a1 1 0 010 1.506z\",\n stroke: \"none\"\n })));\n}\n\nexport default __webpack_public_path__ + \"1b58cde4b8d8e84f80b2a07c5b49e399.svg\";\nexport { SvgCaret as ReactComponent };","import { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport React, { useEffect } from 'react';\r\nimport InfoIcon from '@ys/Components/InfoIcon/InfoIcon';\r\nimport { SharedStyles } from '@ys/Components/Shared.styles';\r\nimport { Containers, StepStyles } from '@ys/Components/Shared/Step.styles';\r\nimport SoilVisualiser from '@ys/Components/Steps/SoilProfiles/SoilVisualiser/SoilVisualiser';\r\nimport { SoilSourceStyles as S } from './SoilSource.styles';\r\nimport Dropdown from '@ys/Components/Steps/Controls/Dropdown/Dropdown';\r\nimport { SoilInfoSource } from '@stories/Widgets/YourSolution/YS/Context/types';\r\nimport Textbox from '../../Controls/Textbox/Textbox';\r\nconst SoilSource = () => {\r\n const { state, dispatch, setFormField } = useYSPContext();\r\n useEffect(() => {\r\n dispatch({\r\n type: 'set-footer',\r\n payload: {\r\n nextDisabled: state.form.soilInfoSource === undefined ||\r\n state.form.soilInfoSourceRef === undefined ||\r\n state.form.soilInfoSourceCompany === undefined,\r\n },\r\n });\r\n }, [state.form.soilInfoSource, state.form.soilInfoSourceRef, state.form.soilInfoSourceCompany]);\r\n return (React.createElement(StepStyles.Grid, null,\r\n React.createElement(Containers.Default, null,\r\n React.createElement(SharedStyles.TitleWithInfoIcon, null,\r\n React.createElement(\"h2\", null, state.labels['heading']),\r\n state.labels['tooltip'] && (React.createElement(InfoIcon, { onClick: () => dispatch({\r\n type: 'set-modal',\r\n payload: {\r\n description: state.labels['tooltip'],\r\n fullWidth: true,\r\n size: 'normal',\r\n },\r\n }) }))),\r\n React.createElement(S.Container, null,\r\n React.createElement(SoilVisualiser, null)),\r\n React.createElement(\"br\", null),\r\n React.createElement(S.Container, null,\r\n React.createElement(S.Centered, null,\r\n React.createElement(\"span\", null, state.labels['soilsource.label']),\r\n React.createElement(Dropdown, { onChange: (option) => setFormField('soilInfoSource', option), value: state.form.soilInfoSource !== undefined ? state.form.soilInfoSource : -1, options: [\r\n {\r\n id: SoilInfoSource.Verbal,\r\n text: state.labels['soilsource.verbal'],\r\n },\r\n {\r\n id: SoilInfoSource.BoreholeLog,\r\n text: state.labels['soilsource.boreholelog'],\r\n },\r\n ] }),\r\n state.form.soilInfoSource !== undefined && (React.createElement(React.Fragment, null,\r\n React.createElement(\"br\", null),\r\n React.createElement(Textbox, { fullWidth: true, placeholder: state.labels['typeHere'], label: state.form.soilInfoSource === SoilInfoSource.Verbal\r\n ? state.labels['verbalName'] ?? 'Their name'\r\n : state.labels['boreLogRef'] ?? 'Document reference', value: state.form.soilInfoSourceRef, error: state.labels[state.errors['soilInfoSourceRef'] || ''], onChange: (e) => setFormField('soilInfoSourceRef', e.currentTarget.value) }),\r\n React.createElement(Textbox, { fullWidth: true, placeholder: state.labels['typeHere'], label: state.labels['soilInfoSourceCompany'] ?? 'Company', value: state.form.soilInfoSourceCompany, error: state.labels[state.errors['soilInfoSourceCompany'] || ''], onChange: (e) => setFormField('soilInfoSourceCompany', e.currentTarget.value) }))))))));\r\n};\r\nexport default SoilSource;\r\n","var _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgIconCheckCircle(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n stroke: \"currentColor\",\n fill: \"currentColor\",\n strokeWidth: 0,\n viewBox: \"0 0 16 16\",\n height: \"1em\",\n width: \"1em\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 15A7 7 0 118 1a7 7 0 010 14zm0 1A8 8 0 108 0a8 8 0 000 16z\",\n stroke: \"none\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.97 4.97a.235.235 0 00-.02.022L7.477 9.417 5.384 7.323a.75.75 0 00-1.06 1.06L6.97 11.03a.75.75 0 001.079-.02l3.992-4.99a.75.75 0 00-1.071-1.05z\",\n stroke: \"none\"\n })));\n}\n\nexport default __webpack_public_path__ + \"cefb9a375c32a1323cb228a212825d43.svg\";\nexport { SvgIconCheckCircle as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgRestart(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n stroke: \"currentColor\",\n fill: \"currentColor\",\n strokeWidth: 0,\n viewBox: \"0 0 24 24\",\n height: \"1em\",\n width: \"1em\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n stroke: \"#000\",\n strokeWidth: 2,\n d: \"M20 8c-1.403-2.96-4.463-5-8-5a9 9 0 100 18h0a9 9 0 009-9m0-9v6h-6\"\n })));\n}\n\nexport default __webpack_public_path__ + \"6b0c150b4af3bd8dbe1759b3cb66ea49.svg\";\nexport { SvgRestart as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgTick(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 54.182,\n height: 50\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.49 50a3.552 3.552 0 01-2.531-1.024L1.168 32.703a3.709 3.709 0 115.123-5.364l11.571 8.257a1.509 1.509 0 002.23-.241L47.514 1.484a3.7 3.7 0 015.906 4.46l-30.977 42.55a3.693 3.693 0 01-2.652 1.446.544.544 0 01-.3.06z\",\n fill: \"#6f9d20\"\n })));\n}\n\nexport default __webpack_public_path__ + \"5995e22123af5881b6655b051af52afc.svg\";\nexport { SvgTick as ReactComponent };","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport { Device, from } from '@helpers/media';\r\nimport styled, { css } from 'styled-components';\r\nconst Container = styled.div `\r\n padding: 10px;\r\n background-color: ${brand.white};\r\n overflow: auto;\r\n\r\n @media ${from(Device.ActualDesktop)} {\r\n padding: 25px;\r\n }\r\n`;\r\nconst GraphWrapper = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n gap: 15px;\r\n\r\n width: max-content;\r\n @media ${from(Device.ActualDesktop)} {\r\n width: 100%;\r\n }\r\n`;\r\nconst GraphContainer = styled.div `\r\n display: grid;\r\n grid-template-columns: 1fr 2fr 1fr;\r\n min-height: 500px;\r\n min-width: 440px;\r\n position: relative;\r\n margin-top: 35px;\r\n`;\r\nconst Title = styled.div `\r\n ${fonts.DaxPro.Medium};\r\n`;\r\nconst Graph = styled.div `\r\n display: grid;\r\n grid-template-columns: 0.5fr 1fr 0.5fr;\r\n`;\r\nconst Box = styled.div `\r\n display: grid;\r\n grid-template-columns: 1fr 1fr;\r\n height: inherit;\r\n border-bottom: 3px solid ${brand.ysp.ground};\r\n align-items: flex-end;\r\n\r\n img {\r\n display: flex;\r\n max-height: 500px;\r\n width: 100%;\r\n height: inherit;\r\n object-fit: contain;\r\n object-position: center right;\r\n\r\n &:first-of-type {\r\n transform: rotateY(180deg);\r\n }\r\n }\r\n`;\r\nconst ProportionalContent = styled.div `\r\n border-top: 3px solid ${brand.ysp.ground}; // Ground level\r\n border-bottom: 3px dashed ${brand.ysp.excavation}; // Dig level\r\n position: relative;\r\n\r\n ${({ offset }) => css `\r\n top: ${offset}%;\r\n height: calc(100% - ${offset}%);\r\n `};\r\n`;\r\nconst LeftContent = styled(ProportionalContent) `\r\n border-right: 3px solid ${brand.ysp.ground};\r\n`;\r\nconst RightContent = styled(ProportionalContent) `\r\n border-left: 3px solid ${brand.ysp.ground};\r\n`;\r\nconst BGLLabel = styled.div `\r\n position: absolute;\r\n\r\n ${({ side }) => side === 'left'\r\n ? css `\r\n left: 0;\r\n `\r\n : css `\r\n right: 0;\r\n `}\r\n bottom: calc(100% + 15px);\r\n width: max-content;\r\n`;\r\nconst Label = styled.div `\r\n padding: 3px;\r\n background-color: ${brand.white};\r\n position: absolute;\r\n z-index: 1;\r\n\r\n ${({ x }) => x === 'left'\r\n ? css `\r\n right: 10px;\r\n `\r\n : css `\r\n right: 0px;\r\n color: ${brand.ysp.ground};\r\n `}\r\n\r\n ${({ y }) => y === 'top'\r\n ? css `\r\n top: 0;\r\n transform: translateY(calc(-50% - 2px)); // Offset the border too //\r\n `\r\n : css `\r\n bottom: 0;\r\n transform: translateY(calc(50% + 2px)); // Offset the border too //\r\n `}\r\n`;\r\nconst SoilContainer = styled.div `\r\n position: relative;\r\n height: 100%;\r\n`;\r\nconst SoilLayer = styled.div `\r\n width: 100%;\r\n position: absolute;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n overflow: hidden;\r\n\r\n background-image: url('${({ image }) => image}');\r\n background-size: 20px;\r\n\r\n ${({ top }) => css `\r\n top: ${top}%;\r\n `};\r\n ${({ height }) => css `\r\n height: ${height}%;\r\n `};\r\n\r\n span {\r\n padding: 5px;\r\n font-size: 13px;\r\n border-radius: 2px;\r\n background-color: ${brand.white};\r\n max-width: 80%;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n }\r\n`;\r\nconst GroundwaterLevel = styled.div `\r\n position: absolute;\r\n background-color: #b2e0ed;\r\n border-top: 3px dashed #137ff6;\r\n width: 100%;\r\n\r\n &::before {\r\n content: 'GWL';\r\n position: absolute;\r\n bottom: calc(100% + 13px);\r\n font-size: 14px;\r\n left: 0;\r\n color: #137ff6;\r\n }\r\n\r\n ${({ top }) => css `\r\n top: ${top}%;\r\n height: calc(100% - ${top}%);\r\n `};\r\n`;\r\nexport const GraphStyles = {\r\n Container,\r\n GraphWrapper,\r\n Title,\r\n Graph,\r\n GraphContainer,\r\n Box,\r\n ProportionalContent,\r\n LeftContent,\r\n RightContent,\r\n BGLLabel,\r\n Label,\r\n SoilContainer,\r\n SoilLayer,\r\n GroundwaterLevel,\r\n};\r\n","import brand from '@helpers/brand';\r\nimport styled from 'styled-components';\r\nconst Container = styled.div `\r\n background-color: ${brand.white};\r\n padding: 25px;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 15px;\r\n\r\n canvas {\r\n margin: auto;\r\n max-height: 600px;\r\n }\r\n`;\r\nexport const ChartStyles = {\r\n Container,\r\n};\r\n","import { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport { Chart as ChartJS, LineElement, LinearScale, PointElement } from 'chart.js';\r\nimport React, { useMemo } from 'react';\r\nimport { Scatter } from 'react-chartjs-2';\r\nimport { GraphStyles } from '../Graph/Graph.styles';\r\nimport { ChartStyles as S } from './Chart.styles';\r\nChartJS.register([LinearScale, PointElement, LineElement]);\r\nconst Chart = ({ chart, title }) => {\r\n const { state } = useYSPContext();\r\n const chartData = useMemo(() => {\r\n return chart.values.map((values) => ({\r\n x: values[1],\r\n y: -values[0],\r\n }));\r\n }, [state.form.depth]);\r\n return (React.createElement(S.Container, null,\r\n React.createElement(GraphStyles.Title, null, title),\r\n React.createElement(Scatter, { height: 600, width: 440, options: {\r\n responsive: true,\r\n animation: false,\r\n layout: {\r\n padding: {\r\n left: 10,\r\n },\r\n },\r\n scales: {\r\n y: {\r\n position: {\r\n x: 0,\r\n },\r\n },\r\n x: {\r\n position: {\r\n y: 0,\r\n },\r\n },\r\n },\r\n }, data: {\r\n datasets: [\r\n {\r\n showLine: true,\r\n pointStyle: false,\r\n borderColor: chart.colorHex,\r\n borderWidth: 2,\r\n data: chartData,\r\n },\r\n ],\r\n } })));\r\n};\r\nexport default Chart;\r\n","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgZoom(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n stroke: \"currentColor\",\n fill: \"currentColor\",\n strokeWidth: 0,\n viewBox: \"0 0 1024 1024\",\n height: \"1em\",\n width: \"1em\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M637 443H519V309c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v134H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h118v134c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V519h118c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z\",\n stroke: \"none\"\n })));\n}\n\nexport default __webpack_public_path__ + \"b13587de7dd2ca6f974887fe7f74cfb0.svg\";\nexport { SvgZoom as ReactComponent };","import React, { useMemo } from 'react';\r\nimport { GraphStyles as S } from './Graph.styles';\r\nimport Decimal from 'decimal.js-light';\r\n// import { frozenState } from './Graph.data';\r\nimport { imageUrl } from '@helpers/cloudinary';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nconst Graph = () => {\r\n const { state } = useYSPContext();\r\n if (!state.form.soilLayers || !state.form.depth || !state.selectedSolution) {\r\n return React.createElement(React.Fragment, null);\r\n }\r\n const contentOffset = useMemo(() => {\r\n if (state.form.depth && state.selectedSolution) {\r\n return 100 - (state.form.depth / state.selectedSolution.solution.height) * 100;\r\n }\r\n return 0;\r\n }, [state.selectedSolution.solution.height - state.form.depth, state.form.depth]);\r\n // If you're at this point, these values are populated. I don't want to have to do 5 inline checks for undefined stuff just to shut eslint up //\r\n // when it's never going to cause an issue cos it'll never be undefined. Just casting them here to Required and moving on //\r\n const soilLayers = state.form.soilLayers;\r\n const form = state.form;\r\n return (React.createElement(S.Container, null,\r\n React.createElement(S.GraphWrapper, null,\r\n React.createElement(S.Title, null, state.selectedSolution.graphs.boxHeading),\r\n React.createElement(S.GraphContainer, null,\r\n React.createElement(S.LeftContent, { offset: contentOffset },\r\n React.createElement(S.BGLLabel, { side: \"left\" }, \"m BGL\"),\r\n React.createElement(S.Label, { x: \"left\", y: \"top\" }, \"0.00\"),\r\n state.form.groundwaterPresent &&\r\n state.form.groundwaterDepth &&\r\n state.form.groundwaterDepth <= state.form.depth && (React.createElement(S.GroundwaterLevel, { top: (state.form.groundwaterDepth / state.form.depth) * 100 })),\r\n React.createElement(S.Label, { x: \"left\", y: \"bottom\" }, new Decimal(state.form.depth || 2).toDecimalPlaces(2).toString())),\r\n React.createElement(S.Box, null,\r\n React.createElement(\"img\", { src: state.selectedSolution.solution.graphic }),\r\n React.createElement(\"img\", { src: state.selectedSolution.solution.graphic })),\r\n React.createElement(S.RightContent, { offset: contentOffset },\r\n React.createElement(S.BGLLabel, { side: \"right\" }, \"m BGL\"),\r\n React.createElement(S.Label, { x: \"right\", y: \"top\" }, \"0.00\"),\r\n state.soilProfiles && soilLayers.length > 0 && (React.createElement(S.SoilContainer, null, soilLayers\r\n .filter((x) => x.bgl <= form.depth)\r\n .map((layer, i) => {\r\n // This is horrible, TODO to fix it //\r\n const height = i < soilLayers.filter((x) => x.bgl <= form.depth).length - 1\r\n ? (soilLayers[i + 1].bgl / form.depth) * 100 -\r\n (layer.bgl / form.depth) * 100\r\n : 100 - (layer.bgl / form.depth) * 100;\r\n return (React.createElement(S.SoilLayer, { title: layer.description, height: height, top: (layer.bgl / form.depth) * 100, key: `SoilLayer_${i}`, image: imageUrl(layer.image, 'c_fill,w_35') },\r\n React.createElement(\"span\", null, layer.description)));\r\n }))),\r\n React.createElement(S.Label, { x: \"right\", y: \"bottom\" }, new Decimal(state.form.depth || 2).toDecimalPlaces(2).toString()))))));\r\n};\r\nexport default Graph;\r\n","import brand from '@helpers/brand';\r\nimport { Device, from, until } from '@helpers/media';\r\nimport { m } from 'framer-motion';\r\nimport styled, { css } from 'styled-components';\r\nconst Container = styled.div `\r\n display: flex;\r\n position: relative;\r\n width: max-content;\r\n max-width: 100%;\r\n cursor: pointer;\r\n aspect-ratio: 1 / 1;\r\n max-height: 165px;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n display: none;\r\n }\r\n`;\r\nconst ZoomIcon = styled.div `\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n padding: 10px;\r\n background-color: ${brand.grey.grey89};\r\n color: ${brand.grey.grey20};\r\n border-radius: 6px;\r\n\r\n svg {\r\n display: flex;\r\n width: 20px;\r\n height: 20px;\r\n }\r\n`;\r\nconst Image = styled.img `\r\n width: 100%;\r\n padding: 7px;\r\n border: 2px solid ${brand.grey.grey89};\r\n border-radius: 5px;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n object-fit: contain;\r\n }\r\n`;\r\nconst ModalBackground = styled(m.div).attrs(({ visible }) => ({\r\n initial: 'hidden',\r\n animate: visible ? 'visible' : 'hidden',\r\n exit: 'hidden',\r\n variants: {\r\n hidden: {\r\n opacity: 0,\r\n y: 25,\r\n },\r\n visible: {\r\n opacity: 1,\r\n y: 0,\r\n },\r\n },\r\n})) `\r\n position: fixed;\r\n width: 100%;\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n z-index: 1000;\r\n background-color: rgba(0, 0, 0, 0.8);\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n ${({ visible }) => !visible &&\r\n css `\r\n pointer-events: none;\r\n `}\r\n`;\r\nconst ModalContent = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n gap: 10px;\r\n max-width: 90vw;\r\n max-height: 85dvh;\r\n width: 100%;\r\n height: 100%;\r\n`;\r\nconst Close = styled.div `\r\n margin-left: auto;\r\n width: 25px;\r\n height: 25px;\r\n color: ${brand.white};\r\n cursor: pointer;\r\n`;\r\nconst ZoomedImage = styled.div `\r\n padding: 10px;\r\n background-color: ${brand.white};\r\n flex-grow: 1;\r\n\r\n .react-transform-wrapper {\r\n height: 100%;\r\n width: 100%;\r\n }\r\n`;\r\nconst ControlsBar = styled.div `\r\n display: flex;\r\n gap: 10px;\r\n justify-content: center;\r\n`;\r\nconst Control = styled.div `\r\n width: 35px;\r\n height: 35px;\r\n padding: 5px;\r\n background-color: ${brand.grey.grey89};\r\n color: ${brand.black};\r\n border-radius: 5px;\r\n cursor: pointer;\r\n\r\n svg {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n`;\r\nexport const ZoomImageStyles = {\r\n Container,\r\n Image,\r\n ZoomIcon,\r\n ModalBackground,\r\n ModalContent,\r\n Close,\r\n ZoomedImage,\r\n ControlsBar,\r\n Control,\r\n};\r\n","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgZoomOut(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n stroke: \"currentColor\",\n fill: \"currentColor\",\n strokeWidth: 0,\n viewBox: \"0 0 1024 1024\",\n height: \"1em\",\n width: \"1em\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M637 443H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h312c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z\",\n stroke: \"none\"\n })));\n}\n\nexport default __webpack_public_path__ + \"95a39e54340d709dbfaf2b307ca443e7.svg\";\nexport { SvgZoomOut as ReactComponent };","import React, { useEffect, useRef, useState } from 'react';\r\nimport { ZoomImageStyles as S } from './ZoomImage.styles';\r\nimport { ReactComponent as Zoom } from '@img/ysp/zoom.svg';\r\nimport { ReactComponent as ZoomOut } from '@img/ysp/zoom-out.svg';\r\nimport { ReactComponent as Close } from '@img/ysp/icon-cross.svg';\r\nimport { ReactComponent as Reset } from '@img/ysp/restart.svg';\r\nimport { AnimatePresence } from 'framer-motion';\r\nimport { withMotion } from '@hoc/withMotion';\r\nimport { TransformComponent, TransformWrapper } from 'react-zoom-pan-pinch';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nconst ZoomImage = ({ imageUrl }) => {\r\n const { dispatch } = useYSPContext();\r\n const [modalOpen, setModalOpen] = useState(false);\r\n const zoomRef = useRef(null);\r\n useEffect(() => {\r\n dispatch({ type: 'set-zoom-modal', payload: modalOpen });\r\n }, [modalOpen]);\r\n return (React.createElement(React.Fragment, null,\r\n React.createElement(S.Container, { onClick: () => setModalOpen(true) },\r\n React.createElement(S.Image, { src: imageUrl }),\r\n React.createElement(S.ZoomIcon, null,\r\n React.createElement(Zoom, null))),\r\n React.createElement(AnimatePresence, null,\r\n React.createElement(S.ModalBackground, { key: `ZoomImageModal`, visible: modalOpen, onClick: () => setModalOpen(false) },\r\n React.createElement(S.ModalContent, { onClick: (e) => e.stopPropagation() },\r\n React.createElement(S.Close, { onClick: () => setModalOpen(false) },\r\n React.createElement(Close, null)),\r\n React.createElement(S.ZoomedImage, null,\r\n React.createElement(TransformWrapper, { ref: zoomRef, centerOnInit: true },\r\n React.createElement(TransformComponent, null,\r\n React.createElement(\"img\", { src: imageUrl })))),\r\n React.createElement(S.ControlsBar, null,\r\n React.createElement(S.Control, { title: \"Zoom In\", onClick: () => zoomRef.current && zoomRef.current.zoomIn() },\r\n React.createElement(Zoom, null)),\r\n React.createElement(S.Control, { title: \"Zoom Out\", onClick: () => zoomRef.current && zoomRef.current.zoomOut() },\r\n React.createElement(ZoomOut, null)),\r\n React.createElement(S.Control, { title: \"Reset Zoom\", onClick: () => zoomRef.current && zoomRef.current.resetTransform() },\r\n React.createElement(Reset, null))))))));\r\n};\r\nexport default withMotion(ZoomImage);\r\n","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport { Device, from, until } from '@helpers/media';\r\nimport { m } from 'framer-motion';\r\nimport styled, { css } from 'styled-components';\r\nimport { StepFooterStyles } from '../../../../StepFooter/StepFooter.styles';\r\nconst Container = styled(m.div).attrs(({ visible }) => ({\r\n initial: 'hidden',\r\n animate: visible ? 'visible' : 'hidden',\r\n variants: {\r\n hidden: {\r\n opacity: 0,\r\n y: 25,\r\n },\r\n visible: {\r\n opacity: 1,\r\n y: 0,\r\n },\r\n },\r\n transition: {\r\n duration: 0.5,\r\n },\r\n})) `\r\n box-shadow: 0px 0px 6px 0px ${brand.grey.grey89};\r\n background-color: ${brand.white};\r\n padding: 25px;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 35px;\r\n scroll-margin-top: 25px; // Avoid top being cut off when scrolling to it on the dropdown //\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n padding-top: 60px;\r\n }\r\n\r\n border: 2px solid transparent;\r\n ${({ selected }) => selected &&\r\n css `\r\n border-color: ${brand.primary.alt};\r\n `};\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n display: grid;\r\n grid-template-columns: 1fr 350px;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n gap: 100px;\r\n }\r\n\r\n position: relative;\r\n\r\n max-width: 1300px;\r\n width: 100%;\r\n margin: auto;\r\n`;\r\nconst LeftSection = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n gap: 15px;\r\n overflow-x: hidden;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n gap: 25px;\r\n }\r\n`;\r\nconst RightSection = styled.div `\r\n padding-top: 70px; // Offset the floating tag //\r\n display: flex;\r\n justify-content: center;\r\n\r\n img {\r\n height: max-content;\r\n }\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n display: none;\r\n }\r\n`;\r\nconst Title = styled.div `\r\n ${fonts.DaxPro.Bold};\r\n font-size: 25px;\r\n`;\r\nconst Description = styled.div `\r\n ${fonts.DaxPro.Regular};\r\n font-size: 16px;\r\n line-height: 18px;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n font-size: 17px;\r\n line-height: 20px;\r\n }\r\n`;\r\nconst SolutionTag = styled.div `\r\n position: absolute;\r\n right: 20px;\r\n top: 0;\r\n padding: 12px 15px;\r\n user-select: none;\r\n border-radius: 0px 0px 10px 10px;\r\n background-color: ${brand.primary.alt};\r\n color: ${brand.white};\r\n ${fonts.DaxPro.Medium};\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n font-size: 20px;\r\n gap: 10px;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n right: 50px;\r\n }\r\n`;\r\nconst LongSmallButton = styled(StepFooterStyles.ButtonSmall) `\r\n background-color: ${brand.primary.alt};\r\n padding: 6px 35px;\r\n font-size: 18px;\r\n ${fonts.DaxPro.Bold};\r\n border: 2px solid transparent;\r\n transition: border-color 0.15s ease-in-out, background-color 0.25s ease-in-out;\r\n display: flex;\r\n gap: 10px;\r\n\r\n ${({ inverse }) => inverse &&\r\n css `\r\n border-color: ${brand.primary.alt};\r\n color: ${brand.primary.alt};\r\n background-color: ${brand.white};\r\n\r\n }\r\n \r\n svg {\r\n color: ${brand.primary.alt};\r\n fill: ${brand.primary.alt};\r\n }\r\n &:hover {\r\n color: ${brand.primary.alt} !important;\r\n }\r\n `};\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n justify-content: center;\r\n padding: 6px 12px;\r\n }\r\n\r\n align-items: center;\r\n\r\n svg {\r\n width: 22px;\r\n }\r\n\r\n ${({ orange }) => orange &&\r\n css `\r\n background-color: ${brand.divisionTags.sandhurst};\r\n\r\n &:hover {\r\n background-color: ${brand.divisionTags.sandhurst} !important;\r\n }\r\n `}\r\n`;\r\nconst Scrollbars = css `\r\n &::-webkit-scrollbar {\r\n width: 4px;\r\n height: 4px;\r\n }\r\n\r\n /* Track */\r\n &::-webkit-scrollbar-track {\r\n background: ${brand.grey.grey89};\r\n }\r\n\r\n /* Handle */\r\n &::-webkit-scrollbar-thumb {\r\n background: ${brand.primary.light};\r\n }\r\n`;\r\nconst TableContainer = styled.div `\r\n display: grid;\r\n grid-template-columns: repeat(5, 150px);\r\n --rows: ${({ rows }) => rows};\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n grid-template-columns: repeat(5, 125px);\r\n }\r\n\r\n overflow-x: auto;\r\n padding-bottom: 15px;\r\n ${Scrollbars}\r\n`;\r\nconst Column = styled.div `\r\n grid-column: span ${({ span }) => span};\r\n\r\n display: grid;\r\n grid-template-rows: repeat(var(--rows), 40px);\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n ${({ isPassFailColumn }) => isPassFailColumn &&\r\n css `\r\n order: -1;\r\n `};\r\n }\r\n`;\r\nconst HeaderSection = styled.div `\r\n // Always spans two //\r\n grid-row: span 2;\r\n\r\n display: grid;\r\n grid-template-rows: 1fr 1fr;\r\n`;\r\nconst Header = styled.div `\r\n grid-row: span ${({ span }) => span};\r\n background-color: ${brand.grey.grey75};\r\n color: ${brand.black};\r\n ${fonts.DaxPro.Medium};\r\n padding: 10px 15px;\r\n display: flex;\r\n align-items: center;\r\n border: 1px solid ${brand.white};\r\n font-size: 15px;\r\n position: relative;\r\n\r\n sub {\r\n font-size: 12px;\r\n position: relative;\r\n top: 2px;\r\n left: 2px;\r\n }\r\n\r\n ${({ center }) => center &&\r\n css `\r\n justify-content: center;\r\n text-align: center;\r\n `}\r\n`;\r\nconst Cell = styled.div `\r\n grid-row: span 1;\r\n justify-content: center;\r\n display: flex;\r\n align-items: center;\r\n background-color: ${brand.grey.grey96};\r\n text-align: center;\r\n color: ${brand.black};\r\n border: 1px solid ${brand.white};\r\n ${fonts.DaxPro.Regular};\r\n font-size: 17px;\r\n`;\r\nconst PassFail = styled(Cell) `\r\n color: ${brand.white};\r\n ${fonts.DaxPro.Bold};\r\n\r\n ${({ pass }) => pass\r\n ? css `\r\n background-color: ${brand.primary.alt};\r\n `\r\n : css `\r\n background-color: ${brand.divisionTags.sandhurst};\r\n `}\r\n`;\r\nconst TableHeader = styled.div `\r\n ${fonts.DaxPro.Medium};\r\n font-size: 17px;\r\n`;\r\nconst StrutsTableWrapper = styled.div `\r\n display: grid;\r\n grid-template-columns: repeat(10, 50px);\r\n --rows: ${({ rows }) => rows};\r\n\r\n overflow-x: auto;\r\n padding-bottom: 15px;\r\n ${Scrollbars};\r\n`;\r\nconst Blank = styled.div `\r\n grid-row: span 2;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n background-color: ${brand.grey.grey75};\r\n margin: 1px;\r\n }\r\n`;\r\nconst FailText = styled.div `\r\n ${fonts.DaxPro.Bold};\r\n color: ${brand.divisionTags.sandhurst};\r\n`;\r\nconst FailBoxWrapper = styled.div `\r\n padding: 15px;\r\n border: 2px solid ${brand.divisionTags.sandhurst};\r\n border-radius: 5px;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 15px;\r\n`;\r\nconst FailTopRow = styled.div `\r\n display: flex;\r\n gap: 7px;\r\n`;\r\nconst FailNumber = styled.div `\r\n padding: 10px 20px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n text-transform: uppercase;\r\n user-select: none;\r\n color: ${brand.divisionTags.sandhurst};\r\n ${fonts.DaxPro.Bold};\r\n border: 2px solid ${brand.divisionTags.sandhurst};\r\n`;\r\nconst FailDescription = styled.div `\r\n ${fonts.DaxPro.Regular};\r\n`;\r\nconst MobileImage = styled.div `\r\n @media ${from(Device.TabletLarge)} {\r\n display: none;\r\n }\r\n`;\r\nconst DescriptionAndTable = styled.div `\r\n display: flex;\r\n gap: 10px;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n flex-direction: column;\r\n }\r\n`;\r\nexport const SolutionStyles = {\r\n Container,\r\n LeftSection,\r\n Title,\r\n Description,\r\n SolutionTag,\r\n RightSection,\r\n LongSmallButton,\r\n TableContainer,\r\n Column,\r\n HeaderSection,\r\n Header,\r\n Cell,\r\n PassFail,\r\n TableHeader,\r\n StrutsTableWrapper,\r\n Blank,\r\n FailText,\r\n FailBoxWrapper,\r\n FailTopRow,\r\n FailNumber,\r\n FailDescription,\r\n MobileImage,\r\n DescriptionAndTable,\r\n};\r\n","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport { Device, from, until } from '@helpers/media';\r\nimport styled from 'styled-components';\r\nimport { Containers, StepStyles } from '../../../../Shared/Step.styles';\r\nimport { StepFooterStyles } from '../../../../StepFooter/StepFooter.styles';\r\nimport { SolutionStyles } from '../Solution/Solution.styles';\r\nconst Container = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n\r\n ${SolutionStyles.LongSmallButton} {\r\n font-size: 17px;\r\n padding: 6px 25px;\r\n }\r\n`;\r\nconst TopContent = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n text-align: center;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 25px;\r\n`;\r\nconst BackButton = styled.div `\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 10px;\r\n color: ${brand.primary.alt};\r\n cursor: pointer;\r\n width: max-content;\r\n ${fonts.DaxPro.Medium};\r\n margin-top: 15px;\r\n\r\n svg {\r\n width: 20px;\r\n transform: rotate(180deg);\r\n }\r\n`;\r\nconst ButtonContainer = styled.div `\r\n display: flex;\r\n gap: 5px;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n flex-direction: column;\r\n }\r\n`;\r\nconst RestartButton = styled(StepFooterStyles.ButtonSmall) `\r\n ${fonts.DaxPro.Medium}\r\n background-color: ${brand.white} !important;\r\n border: 2px solid ${brand.primary.alt};\r\n color: ${brand.black};\r\n display: flex;\r\n align-items: center;\r\n font-size: 17px !important;\r\n\r\n &:hover {\r\n color: ${brand.black} !important;\r\n }\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n justify-content: center;\r\n }\r\n\r\n svg {\r\n margin-right: 10px;\r\n }\r\n\r\n span {\r\n color: ${brand.primary.alt};\r\n\r\n &:last-of-type {\r\n position: relative;\r\n bottom: 4px;\r\n font-size: 20px;\r\n }\r\n }\r\n`;\r\nconst Solution = styled.div `\r\n box-shadow: 0px 0px 6px 0px ${brand.grey.grey89};\r\n display: flex;\r\n padding: 25px;\r\n flex-direction: column;\r\n gap: 35px;\r\n max-width: 1300px;\r\n width: 100%;\r\n margin: auto;\r\n margin-top: 45px;\r\n background-color: ${brand.white};\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n position: relative;\r\n padding: 10px;\r\n }\r\n`;\r\nconst TopSection = styled.div `\r\n @media ${until(Device.TabletLarge)} {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 15px;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n display: grid;\r\n grid-template-columns: 250px 1fr auto;\r\n position: relative;\r\n }\r\n`;\r\nconst Details = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n gap: 15px;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n padding-top: 10px;\r\n }\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n order: 1;\r\n }\r\n`;\r\nconst Title = styled.div `\r\n font-size: 22px;\r\n ${fonts.DaxPro.Bold};\r\n`;\r\nconst DesignReference = styled.div `\r\n font-size: 17px;\r\n color: ${brand.primary.alt};\r\n ${fonts.DaxPro.Medium};\r\n`;\r\nconst Table = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n gap: 10px;\r\n margin-top: 5px;\r\n\r\n &[data-solution-mode='true'] {\r\n min-width: 265px;\r\n margin-top: 0;\r\n }\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n border-top: 1px solid ${brand.grey.grey75};\r\n padding-top: 20px;\r\n }\r\n`;\r\nconst Row = styled.div `\r\n display: flex;\r\n gap: 5px;\r\n\r\n [data-solution-mode='true'] & {\r\n padding-left: 15px;\r\n position: relative;\r\n\r\n &::before {\r\n content: '';\r\n position: absolute;\r\n width: 5px;\r\n height: 5px;\r\n background-color: ${brand.primary.alt};\r\n border-radius: 50%;\r\n left: 0;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n }\r\n }\r\n\r\n strong {\r\n ${fonts.DaxPro.Medium};\r\n }\r\n`;\r\nconst SolutionTag = styled.div `\r\n position: absolute;\r\n top: -25px;\r\n right: 20px;\r\n padding: 12px 15px;\r\n user-select: none;\r\n border-radius: 0px 0px 10px 10px;\r\n background-color: ${brand.primary.alt};\r\n color: ${brand.white};\r\n ${fonts.DaxPro.Medium};\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n font-size: 20px;\r\n gap: 10px;\r\n width: max-content;\r\n max-width: 100%;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n display: none;\r\n }\r\n`;\r\nconst MobileSolutionTag = styled(SolutionTag) `\r\n top: 0;\r\n right: 15px;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n display: none;\r\n }\r\n`;\r\nconst EndSection = styled.div `\r\n position: relative;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 10px;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n padding: 35px 20px 0px;\r\n }\r\n\r\n ${StepFooterStyles.ButtonSmall} {\r\n @media ${from(Device.TabletLarge)} {\r\n margin-top: 45px;\r\n }\r\n font-size: 17px;\r\n border: 1px solid ${brand.primary.alt};\r\n }\r\n`;\r\nconst TableContainers = styled.div `\r\n display: flex;\r\n gap: 10px;\r\n justify-content: space-between;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n flex-direction: column;\r\n }\r\n\r\n ${SolutionStyles.TableHeader} {\r\n margin-bottom: 15px;\r\n }\r\n`;\r\nconst TableWrapper = styled.div `\r\n overflow: hidden;\r\n width: 100%;\r\n\r\n ${SolutionStyles.TableContainer} {\r\n grid-template-columns: repeat(5, 125px);\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n grid-template-columns: repeat(5, auto);\r\n }\r\n\r\n ${SolutionStyles.Header} {\r\n font-size: 14px;\r\n }\r\n\r\n ${SolutionStyles.Cell} {\r\n font-size: 15px;\r\n }\r\n }\r\n\r\n ${SolutionStyles.StrutsTableWrapper} {\r\n grid-template-columns: repeat(10, auto);\r\n }\r\n`;\r\nconst GraphsWrapper = styled.div `\r\n gap: 15px;\r\n padding: 15px;\r\n background-color: ${brand.grey.grey89};\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n display: grid;\r\n grid-template-columns: 1fr 1fr;\r\n padding: 35px;\r\n gap: 35px;\r\n }\r\n`;\r\nconst GridWrapper = styled(StepStyles.Grid) `\r\n max-width: unset;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n ${() => Containers.Wide} {\r\n grid-column: 1 / -1;\r\n }\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n max-width: 83vw;\r\n }\r\n`;\r\nconst ImageWrapper = styled.div `\r\n @media ${until(Device.TabletLarge)} {\r\n display: none;\r\n }\r\n\r\n display: flex;\r\n justify-content: flex-start;\r\n align-items: center;\r\n\r\n img {\r\n width: auto;\r\n aspect-ratio: 1 /1;\r\n object-fit: contain;\r\n }\r\n`;\r\nexport const SummaryStyles = {\r\n Container,\r\n TopContent,\r\n BackButton,\r\n ButtonContainer,\r\n RestartButton,\r\n Solution,\r\n TopSection,\r\n Details,\r\n Title,\r\n DesignReference,\r\n Table,\r\n Row,\r\n SolutionTag,\r\n EndSection,\r\n TableContainers,\r\n TableWrapper,\r\n GraphsWrapper,\r\n GridWrapper,\r\n MobileSolutionTag,\r\n ImageWrapper,\r\n};\r\n","import { imageUrl } from '@helpers/cloudinary';\r\nimport { useInView } from '@hooks/useInView';\r\nimport { ReactComponent as Check } from '@img/ysp/icon-check-circle.svg';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport YSButton from '@ys/Components/Shared/YSButton/YSButton';\r\nimport React, { useEffect, useMemo } from 'react';\r\nimport ZoomImage from '../ZoomImage/ZoomImage';\r\nimport { SolutionStyles as S } from './Solution.styles';\r\nimport { SummaryStyles } from '../Summary/Summary.styles';\r\nexport const MomentsTable = ({ solution, labels }) => {\r\n return (React.createElement(React.Fragment, null,\r\n React.createElement(S.TableHeader, null, \"Moments\"),\r\n React.createElement(S.TableContainer, { rows: 3 },\r\n React.createElement(S.Column, { span: 2 },\r\n React.createElement(S.HeaderSection, null,\r\n React.createElement(S.Header, { span: 2, dangerouslySetInnerHTML: { __html: labels['ysp.moment.table.corner'] } })),\r\n solution.moments.map((moment, i) => (React.createElement(S.Header, { key: `Solution_${i}_Name`, span: 1 }, moment.name)))),\r\n React.createElement(S.Column, { span: 1 },\r\n React.createElement(S.HeaderSection, null,\r\n React.createElement(S.Header, { center: true, span: 2 }, labels['ysp.moment.table.allowable'])),\r\n solution.moments.map((moment, i) => (React.createElement(S.Cell, { key: `Solution_${i}_Allowable` }, moment.allowable)))),\r\n React.createElement(S.Column, { span: 1 },\r\n React.createElement(S.HeaderSection, null,\r\n React.createElement(S.Header, { center: true, span: 2 }, labels['ysp.moment.table.actual'])),\r\n solution.moments.map((moment, i) => (React.createElement(S.Cell, { key: `Solution_${i}_Actual` }, moment.actual)))),\r\n React.createElement(S.Column, { isPassFailColumn: true, span: 1 },\r\n React.createElement(S.HeaderSection, null,\r\n React.createElement(S.Header, { center: true, span: 2 }, labels['ysp.moment.table.passheading'])),\r\n solution.moments.map((moment, i) => moment.pass === undefined ? (React.createElement(S.Cell, { key: `Solution_${i}_Pass` }, \"N/A\")) : (React.createElement(S.PassFail, { pass: moment.pass, key: `Solution_${i}_Pass` }, moment.pass\r\n ? labels['ysp.momentstruts.table.pass']\r\n : labels['ysp.momentstruts.table.fail'])))))));\r\n};\r\nexport const StrutsTable = ({ solution, labels }) => {\r\n return (React.createElement(React.Fragment, null,\r\n React.createElement(S.TableHeader, null, \"Struts\"),\r\n React.createElement(S.StrutsTableWrapper, { rows: 4 },\r\n React.createElement(S.Column, { span: 1 },\r\n React.createElement(S.HeaderSection, null,\r\n React.createElement(S.Blank, null)),\r\n solution.struts.map((strut, i) => (React.createElement(S.Header, { center: true, key: `Solution_Struts_${i}_Name`, span: 1 }, strut.name)))),\r\n React.createElement(S.Column, { span: 2 },\r\n React.createElement(S.HeaderSection, null,\r\n React.createElement(S.Header, { center: true, span: 1 }, labels['ysp.struts.table.levellabel']),\r\n React.createElement(S.Header, { center: true, span: 1 }, labels['ysp.struts.table.levelunits'])),\r\n solution.struts.map((strut, i) => (React.createElement(S.Cell, { key: `Solution_Struts_${i}_Level` }, strut.level)))),\r\n React.createElement(S.Column, { span: 2 },\r\n React.createElement(S.HeaderSection, null,\r\n React.createElement(S.Header, { center: true, span: 1, dangerouslySetInnerHTML: { __html: labels['ysp.struts.table.loadallowlabel'] } }),\r\n React.createElement(S.Header, { center: true, span: 1, dangerouslySetInnerHTML: { __html: labels['ysp.struts.table.loadunits'] } })),\r\n solution.struts.map((strut, i) => (React.createElement(S.Cell, { key: `Solution_Struts_${i}_LoadAllow` }, strut.loadAllow)))),\r\n React.createElement(S.Column, { span: 2 },\r\n React.createElement(S.HeaderSection, null,\r\n React.createElement(S.Header, { center: true, span: 1, dangerouslySetInnerHTML: { __html: labels['ysp.struts.table.loadactuallabel'] } }),\r\n React.createElement(S.Header, { center: true, span: 1, dangerouslySetInnerHTML: { __html: labels['ysp.struts.table.loadunits'] } })),\r\n solution.struts.map((strut, i) => (React.createElement(S.Cell, { key: `Solution_Struts_${i}_LoadActual` }, strut.loadActual)))),\r\n React.createElement(S.Column, { isPassFailColumn: true, span: 3 },\r\n React.createElement(S.HeaderSection, null,\r\n React.createElement(S.Header, { center: true, span: 2 }, labels['ysp.struts.table.passheading'])),\r\n solution.struts.map((strut, i) => strut.pass === undefined ? (React.createElement(S.Cell, { key: `Solution_Strut_${i}_Pass` }, \"N/A\")) : (React.createElement(S.PassFail, { pass: strut.pass, key: `Solution_Strut_${i}_Pass` }, strut.pass ? 'PASS' : 'FAIL')))))));\r\n};\r\nconst Solution = ({ solution, i }) => {\r\n const [ref, inView] = useInView({ threshold: 0.15 });\r\n const { state, dispatch, setFormField } = useYSPContext();\r\n const isSelected = useMemo(() => !!state.form.selectedSolutionName && state.form.selectedSolutionName === solution.name, [state.form.selectedSolutionName, solution.name]);\r\n useEffect(() => {\r\n dispatch({\r\n type: 'set-footer',\r\n payload: {\r\n nextDisabled: state.form.selectedSolutionName === undefined,\r\n },\r\n });\r\n }, [state.form.selectedSolutionName]);\r\n const handleSelectSolutionClick = () => {\r\n if (isSelected) {\r\n setFormField('selectedSolutionName', undefined);\r\n setFormField('selectedSolutionIterator', undefined);\r\n }\r\n else {\r\n setFormField('selectedSolutionName', solution.name);\r\n setFormField('selectedSolutionIterator', i);\r\n }\r\n dispatch({ type: 'next-step' });\r\n };\r\n return (React.createElement(S.Container, { selected: isSelected, \"data-solution-id\": solution.name, ref: ref, visible: inView },\r\n React.createElement(S.MobileImage, null,\r\n React.createElement(ZoomImage, { imageUrl: imageUrl(solution.image, `c_fill,w_360`) })),\r\n React.createElement(S.LeftSection, null,\r\n React.createElement(S.Title, null, solution.name),\r\n React.createElement(S.DescriptionAndTable, null,\r\n React.createElement(SummaryStyles.Table, { \"data-solution-mode\": \"true\" }, solution.boxInfo &&\r\n solution.boxInfo.map((info, i) => (React.createElement(SummaryStyles.Row, { key: `Summary_BoxInfo_${i}` },\r\n React.createElement(\"span\", null,\r\n React.createElement(\"strong\", null,\r\n info.item1,\r\n \":\"),\r\n \" \",\r\n info.item2))))),\r\n React.createElement(S.Description, null, solution.description)),\r\n React.createElement(S.SolutionTag, null,\r\n isSelected && React.createElement(Check, null),\r\n \" Solution \",\r\n i + 1),\r\n React.createElement(YSButton, { icon: isSelected ? 'check' : undefined, iconPosition: \"left\", fill: isSelected ? 'outline' : 'solid', disabled: !solution.selectable, onClick: handleSelectSolutionClick }, isSelected ? 'Solution Selected' : 'Select Solution'),\r\n !solution.selectable && (React.createElement(S.FailText, null, \"To be able to select this solution all parameters must pass the tests below.\")),\r\n React.createElement(MomentsTable, { solution: solution, labels: state.labels }),\r\n React.createElement(StrutsTable, { solution: solution, labels: state.labels }),\r\n !solution.selectable && (React.createElement(S.FailBoxWrapper, null,\r\n React.createElement(S.FailDescription, null, \"This solution failed in the above tests. You have the opportunity to change the parameters you have entered in order to make this solution pass and become available to you.\"),\r\n React.createElement(YSButton, { colour: \"orange\", size: \"wide\", onClick: () => {\r\n dispatch({ type: 'go-to-step', payload: 6 }); // ID of the first EndSafe panels question in the YSP steps //\r\n } }, \"Change parameters\")))),\r\n React.createElement(S.RightSection, null,\r\n React.createElement(\"img\", { src: imageUrl(solution.image, `c_fill,w_360`) }))));\r\n};\r\nexport default Solution;\r\n","import { imageUrl } from '@helpers/cloudinary';\r\nimport { ReactComponent as Caret } from '@img/icons/caret.svg';\r\nimport { ReactComponent as Check } from '@img/ysp/icon-check-circle.svg';\r\nimport { ReactComponent as Restart } from '@img/ysp/restart.svg';\r\nimport { ReactComponent as Tick } from '@img/ysp/tick.svg';\r\nimport { WYSIWYGStyles } from '@stories/Components/Content/WYSIWYG/WYSIWYG.styles';\r\nimport { StepID, Tab } from '@stories/Widgets/YourSolution/YS/Context/types';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport { SharedStyles } from '@ys/Components/Shared.styles';\r\nimport { Containers } from '@ys/Components/Shared/Step.styles';\r\nimport { YSLinkButton } from '@ys/Components/Shared/YSButton/YSButton';\r\nimport React, { useState } from 'react';\r\nimport Chart from '../Chart/Chart';\r\nimport Graph from '../Graph/Graph';\r\nimport { MomentsTable, StrutsTable } from '../Solution/Solution';\r\nimport { SolutionStyles } from '../Solution/Solution.styles';\r\nimport ZoomImage from '../ZoomImage/ZoomImage';\r\nimport { SummaryStyles as S } from './Summary.styles';\r\nconst Summary = () => {\r\n const { state, dispatch } = useYSPContext();\r\n const [loading, setLoading] = useState(false);\r\n if (!state.selectedSolution) {\r\n return React.createElement(React.Fragment, null);\r\n }\r\n const sendToEngineer = async () => {\r\n dispatch({\r\n type: 'set-modal',\r\n payload: {\r\n size: 'normal',\r\n fullWidth: false,\r\n engineerCheckLabels: {\r\n heading: state.labels['engineer.modal.heading'],\r\n content: state.labels['engineer.modal.content'],\r\n success: state.labels['engineer.modal.success'],\r\n },\r\n },\r\n });\r\n setLoading(false);\r\n };\r\n const data = state.selectedSolution;\r\n return (React.createElement(SharedStyles.Question, null,\r\n React.createElement(S.GridWrapper, null,\r\n React.createElement(Containers.Wide, null,\r\n React.createElement(S.Container, null,\r\n React.createElement(S.TopContent, null,\r\n React.createElement(Tick, null),\r\n state.labels['content'] && (React.createElement(WYSIWYGStyles.Wrapper, { dangerouslySetInnerHTML: {\r\n __html: state.labels['content'].replaceAll('{email}', state.form.email ?? ''),\r\n } })),\r\n React.createElement(S.BackButton, { onClick: () => dispatch({ type: 'previous-step' }) },\r\n React.createElement(Caret, null),\r\n \"Return to your solutions\"),\r\n React.createElement(S.ButtonContainer, null,\r\n React.createElement(SolutionStyles.LongSmallButton, { orange: true, disabled: loading, onClick: () => sendToEngineer() }, \"Request a check from Groundforce\"),\r\n React.createElement(S.RestartButton, { onClick: () => {\r\n if (confirm('Are you sure you want to restart? This will erase all your data entered thus far.')) {\r\n dispatch({ type: 'restart' });\r\n dispatch({ type: 'set-tab', payload: Tab.YourSolutionPlus });\r\n dispatch({ type: 'go-to-step', payload: StepID.Landing });\r\n }\r\n } },\r\n React.createElement(Restart, null),\r\n \"Restart Your\",\r\n React.createElement(\"span\", null, \"Solution\"),\r\n React.createElement(\"span\", null, \"+\")))),\r\n React.createElement(S.Solution, null,\r\n React.createElement(S.TopSection, null,\r\n React.createElement(ZoomImage, { imageUrl: imageUrl(data.solution.image, 'c_fill,w_300') }),\r\n React.createElement(S.ImageWrapper, null,\r\n React.createElement(\"img\", { src: imageUrl(data.solution.image, 'c_fill,w_300'), alt: data.solution.name })),\r\n React.createElement(S.Details, null,\r\n React.createElement(S.Title, null, data.solution.name),\r\n React.createElement(S.DesignReference, null,\r\n \"Design reference \",\r\n data.designReference),\r\n React.createElement(S.Table, null, data.boxInfo.map((info, i) => (React.createElement(S.Row, { key: `Summary_BoxInfo_${i}` },\r\n React.createElement(\"span\", null,\r\n info.item1,\r\n \":\"),\r\n \" \",\r\n React.createElement(\"span\", null, info.item2)))))),\r\n React.createElement(S.SolutionTag, null,\r\n React.createElement(Check, null),\r\n \" Solution Generated\"),\r\n React.createElement(S.EndSection, null,\r\n React.createElement(YSLinkButton, { fill: \"outline\", href: data.designDoc, target: \"_blank\" }, \"Download Solution\"))),\r\n React.createElement(S.TableContainers, null,\r\n React.createElement(S.TableWrapper, null,\r\n React.createElement(MomentsTable, { solution: data.solution, labels: state.labels })),\r\n React.createElement(S.TableWrapper, null,\r\n React.createElement(StrutsTable, { solution: data.solution, labels: state.labels }))),\r\n React.createElement(S.GraphsWrapper, null,\r\n React.createElement(Graph, null),\r\n React.createElement(Chart, { chart: data.graphs.horizontalPressure, title: data.graphs.horizontalPressure.heading }),\r\n React.createElement(Chart, { chart: data.graphs.shearForce, title: data.graphs.shearForce.heading }),\r\n React.createElement(Chart, { chart: data.graphs.kickingMoments, title: data.graphs.kickingMoments.heading }))))))));\r\n};\r\nexport default Summary;\r\n","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgWarning(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 45.93,\n height: 40.456\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.053 31.079L28.282 2.998a6.215 6.215 0 00-10.634 0L.876 31.079a6.218 6.218 0 005.317 9.377h33.544a6.042 6.042 0 005.365-3.142 6.13 6.13 0 00-.048-6.235zm-22.089 2.8a2.61 2.61 0 112.61-2.61 2.6 2.6 0 01-2.609 2.614zm2.8-19.866l-.911 10.785a1.885 1.885 0 01-2.03 1.692 1.859 1.859 0 01-1.692-1.692l-.918-10.779a2.814 2.814 0 015.607-.483 1.641 1.641 0 00-.048.483z\",\n fill: \"#f60\"\n })));\n}\n\nexport default __webpack_public_path__ + \"a7fafd51a8415bcac84b8748533cb5d1.svg\";\nexport { SvgWarning as ReactComponent };","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport styled from 'styled-components';\r\nimport { DropdownStyles } from '../../Controls/Dropdown/Dropdown.styles';\r\nconst Container = styled.div ``;\r\nconst Solutions = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n gap: 25px;\r\n`;\r\nconst NoSolutions = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n gap: 25px;\r\n padding: 25px 45px;\r\n align-items: center;\r\n justify-content: center;\r\n box-shadow: 0px 0px 17px -6px rgba(0, 0, 0, 0.75);\r\n max-width: 750px;\r\n margin: auto;\r\n text-align: center;\r\n background-color: ${brand.white};\r\n`;\r\nconst NoSolutionsTitle = styled.div `\r\n font-size: 25px;\r\n ${fonts.DaxPro.Bold};\r\n`;\r\nconst NoSolutionsSubtitle = styled.div `\r\n font-size: 20px;\r\n ${fonts.DaxPro.Regular};\r\n\r\n span {\r\n color: ${brand.primary.alt};\r\n }\r\n`;\r\nconst NoSolutionsGetInTouch = styled.div `\r\n font-size: 20px;\r\n ${fonts.DaxPro.Medium};\r\n margin-top: 15px;\r\n`;\r\nconst NoSolutionsDetails = styled.div `\r\n font-size: 20px;\r\n ${fonts.DaxPro.Regular};\r\n display: flex;\r\n flex-direction: column;\r\n gap: 25px;\r\n\r\n a {\r\n color: ${brand.primary.base};\r\n }\r\n`;\r\nconst DropdownWrapper = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n gap: 15px;\r\n max-width: 1300px;\r\n margin: auto;\r\n margin-bottom: 25px;\r\n\r\n ${DropdownStyles.Container} {\r\n background-color: ${brand.ysp.input};\r\n }\r\n`;\r\nexport const YSPSolutionsStyles = {\r\n Container,\r\n Solutions,\r\n NoSolutions,\r\n NoSolutionsTitle,\r\n NoSolutionsSubtitle,\r\n NoSolutionsGetInTouch,\r\n NoSolutionsDetails,\r\n DropdownWrapper,\r\n};\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\nimport { SharedStyles } from '@ys/Components/Shared.styles';\r\nimport { FormStyles } from '@ys/Components/Shared/Form.styles';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport Solution from './Solution/Solution';\r\nimport { Containers, StepStyles } from '@ys/Components/Shared/Step.styles';\r\nimport { StepID } from '@stories/Widgets/YourSolution/YS/Context/types';\r\nimport { YSPSolutionsStyles as S } from './YSPSolutions.styles';\r\nimport { withMotion } from '@hoc/withMotion';\r\nimport { ReactComponent as Warning } from '@img/ysp/warning.svg';\r\nimport { SolutionStyles } from './Solution/Solution.styles';\r\nimport Dropdown from '../../Controls/Dropdown/Dropdown';\r\nimport { isSSR } from '@helpers/ssr';\r\nconst YSPSolutions = () => {\r\n const { state, dispatch } = useYSPContext();\r\n const [selectedSolution, setSelectedSolution] = useState();\r\n useEffect(() => {\r\n if (selectedSolution !== undefined && !isSSR()) {\r\n const matchingSolution = document.querySelector(`div[data-solution-id='${selectedSolution.name}']`);\r\n if (matchingSolution) {\r\n matchingSolution.scrollIntoView({ behavior: 'smooth' });\r\n }\r\n }\r\n }, [selectedSolution]);\r\n const dropdownOptions = useMemo(() => {\r\n if (state.yspResults) {\r\n if (state.yspResults.solutions && state.yspResults.solutions.length > 0) {\r\n return state.yspResults.solutions.map((s, i) => ({\r\n id: i,\r\n text: s.name,\r\n selectable: s.selectable,\r\n }));\r\n }\r\n }\r\n return [];\r\n }, [state.yspResults]);\r\n if (!state.yspResults) {\r\n return React.createElement(React.Fragment, null);\r\n }\r\n return (React.createElement(SharedStyles.Question, null,\r\n React.createElement(StepStyles.Grid, null,\r\n React.createElement(Containers.Wide, null,\r\n React.createElement(FormStyles.Form, null,\r\n React.createElement(\"h2\", null, state.labels['heading'] || 'Proposed Solutions for your excavation')),\r\n state.yspResults.solutions && (React.createElement(React.Fragment, null,\r\n React.createElement(S.DropdownWrapper, null,\r\n React.createElement(\"span\", { dangerouslySetInnerHTML: {\r\n __html: state.labels['content'] ||\r\n 'Please select your preferred box type from the dropdown or select from the list below.',\r\n } }),\r\n React.createElement(Dropdown, { short: true, options: dropdownOptions, onChange: (s) => state.yspResults && setSelectedSolution(state.yspResults.solutions[s]), value: selectedSolution ? state.yspResults.solutions.indexOf(selectedSolution) : -1 })),\r\n React.createElement(S.Solutions, null, state.yspResults.solutions.map((solution, i) => (React.createElement(Solution, { solution: solution, key: `Solution_${i}`, i: i })))))),\r\n state.yspResults.territoryManager && (React.createElement(S.NoSolutions, null,\r\n React.createElement(Warning, null),\r\n React.createElement(S.NoSolutionsTitle, { dangerouslySetInnerHTML: { __html: state.yspResults.noSolutionHeading || '' } }),\r\n React.createElement(S.NoSolutionsSubtitle, { dangerouslySetInnerHTML: { __html: state.yspResults.noSolutionText || '' } }),\r\n React.createElement(SolutionStyles.LongSmallButton, { orange: true, onClick: () => dispatch({ type: 'go-to-step', payload: StepID.Dimensions }) }, \"Change parameters\"),\r\n React.createElement(S.NoSolutionsGetInTouch, { dangerouslySetInnerHTML: { __html: state.yspResults.contactText || '' } }),\r\n React.createElement(S.NoSolutionsDetails, null,\r\n React.createElement(\"span\", null, state.yspResults.territoryManager.name),\r\n React.createElement(\"a\", { href: `mailto:${state.yspResults.territoryManager.email}` },\r\n React.createElement(\"span\", null, state.yspResults.territoryManager.email)),\r\n React.createElement(\"a\", { href: `tel:${state.yspResults.territoryManager.telephone}` },\r\n React.createElement(\"span\", null, state.yspResults.territoryManager.telephone)))))))));\r\n};\r\nexport default withMotion(YSPSolutions);\r\n","import { fonts } from '@helpers/fonts';\r\nimport { Device, from, until } from '@helpers/media';\r\nimport { m } from 'framer-motion';\r\nimport styled from 'styled-components';\r\nimport { DropdownStyles } from '../../Controls/Dropdown/Dropdown.styles';\r\nimport { DimensionsStyles } from '../../Dimensions/Dimensions.styles';\r\nimport { SurchargeIcon } from './SurchargeDetails';\r\nimport brand from '@helpers/brand';\r\nconst Container = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n gap: 15px;\r\n width: 100%;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n ${() => DropdownStyles.Container} {\r\n grid-column: 1 / -1;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n width: 100%;\r\n }\r\n }\r\n }\r\n`;\r\nconst TopStep = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n gap: 20px;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n display: grid;\r\n grid-template-columns: repeat(12, 1fr);\r\n }\r\n`;\r\nconst DimensionsWrapper = styled(DimensionsStyles.Container) `\r\n grid-column: 1 / 5;\r\n width: 100%;\r\n`;\r\nconst SurchargesWrapper = styled.div `\r\n grid-column: 5 / -1;\r\n display: flex;\r\n flex-direction: column;\r\n`;\r\nconst IconContainer = styled.div `\r\n overflow: hidden;\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n max-width: 45px;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n min-height: 40px;\r\n grid-row: 1;\r\n grid-column: 2;\r\n }\r\n`;\r\nconst IconWrapper = styled.div ``;\r\nconst SurchargeWrapper = styled.div `\r\n @media ${until(Device.TabletLarge)} {\r\n display: flex;\r\n flex-wrap: wrap;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n display: grid;\r\n }\r\n\r\n gap: 5px 10px;\r\n align-items: center;\r\n margin-bottom: 15px;\r\n\r\n &[data-last='true'] {\r\n ${DropdownStyles.Container} {\r\n background-color: ${brand.ysp.input};\r\n }\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n gap: 15px;\r\n grid-template-columns: 45px 100px 1fr 13px;\r\n }\r\n`;\r\nconst SurchargeName = styled.div `\r\n ${fonts.DaxPro.Medium};\r\n font-size: 17px;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n order: -1;\r\n width: 100px;\r\n }\r\n`;\r\nconst getIconAnimation = (i) => {\r\n switch (i) {\r\n default:\r\n case SurchargeIcon.None:\r\n return 'default';\r\n case SurchargeIcon.Building:\r\n return 'building';\r\n case SurchargeIcon.Rail:\r\n return 'rail';\r\n case SurchargeIcon.Slope:\r\n return 'embankments';\r\n case SurchargeIcon.Road:\r\n return 'road';\r\n }\r\n};\r\nconst BaseHidden = {\r\n opacity: 0,\r\n transition: {\r\n opacity: {\r\n delay: 0.5,\r\n },\r\n },\r\n};\r\nconst BaseVisible = {\r\n opacity: 1,\r\n};\r\nconst MotionWrapper = styled(m.div).attrs(({ icon }) => ({\r\n initial: `${getIconAnimation(icon)}-hidden`,\r\n animate: `${getIconAnimation(icon)}-visible`,\r\n exit: `${getIconAnimation(icon)}-exit`,\r\n variants: {\r\n 'default-hidden': {\r\n ...BaseHidden,\r\n x: -50,\r\n },\r\n 'default-visible': {\r\n ...BaseVisible,\r\n x: 0,\r\n },\r\n 'default-exit': {\r\n ...BaseVisible,\r\n x: 50,\r\n },\r\n 'building-hidden': {\r\n ...BaseHidden,\r\n y: 50,\r\n },\r\n 'building-visible': {\r\n ...BaseVisible,\r\n y: 0,\r\n },\r\n 'building-exit': {\r\n ...BaseVisible,\r\n y: 50,\r\n },\r\n 'embankments-hidden': {\r\n ...BaseHidden,\r\n y: -50,\r\n },\r\n 'embankments-visible': {\r\n ...BaseVisible,\r\n y: 0,\r\n },\r\n 'embankments-exit': {\r\n ...BaseVisible,\r\n y: 50,\r\n },\r\n 'rail-hidden': {\r\n ...BaseHidden,\r\n scale: 0,\r\n },\r\n 'rail-visible': {\r\n ...BaseVisible,\r\n scale: 1,\r\n },\r\n 'rail-exit': {\r\n ...BaseVisible,\r\n scale: 0,\r\n },\r\n 'road-hidden': {\r\n ...BaseHidden,\r\n y: -50,\r\n x: -50,\r\n },\r\n 'road-visible': {\r\n ...BaseVisible,\r\n y: 0,\r\n x: 0,\r\n },\r\n 'road-exit': {\r\n ...BaseVisible,\r\n y: 50,\r\n x: 50,\r\n },\r\n },\r\n transition: {\r\n duration: 1,\r\n },\r\n})) `\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n margin: auto;\r\n max-width: 45px;\r\n\r\n img {\r\n width: 100%;\r\n height: 100%;\r\n object-fit: contain;\r\n max-width: 45px;\r\n }\r\n`;\r\nconst ButtonWrapper = styled.div `\r\n @media ${from(Device.TabletLarge)} {\r\n padding-top: 25px;\r\n padding-left: 60px; // To offset the first grid column of the surcharges which houses the icon //\r\n }\r\n`;\r\nconst DeleteWrapper = styled.div `\r\n cursor: pointer;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n grid-row: 1;\r\n grid-column: 4;\r\n }\r\n`;\r\nexport const SurchargeDetailsStyles = {\r\n Container,\r\n TopStep,\r\n DimensionsWrapper,\r\n SurchargesWrapper,\r\n SurchargeWrapper,\r\n SurchargeName,\r\n IconWrapper,\r\n IconContainer,\r\n MotionWrapper,\r\n ButtonWrapper,\r\n DeleteWrapper,\r\n};\r\n","var _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgEdit(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32.001 31\"\n }, props), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"Group 449\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.795 5.172L26.829.206a.7.7 0 00-.993 0l-3 3-11.371 11.37a.7.7 0 00-.192.357l-1.258 6.225a.7.7 0 00.689.842.682.682 0 00.139-.014l6.225-1.258a.7.7 0 00.357-.192l14.37-14.37a.7.7 0 000-.993zm-12.88 11.887l-1.49-1.49 8.394-8.394 1.49 1.49zm-2.483-2.483l-1.49-1.49 8.394-8.394 1.49 1.49zm.15 4.817l-4.98 1.007 1.006-4.98 1.341-1.341 3.974 3.974zm11.72-11.721l-3.973-3.973 2-2 3.973 3.973z\",\n fill: \"#f60\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 661\",\n d: \"M27.798 13.202a.789.789 0 00-.789.789v13.673a1.761 1.761 0 01-1.759 1.759H3.337a1.761 1.761 0 01-1.759-1.759V6.77a1.761 1.761 0 011.759-1.759h13.676a.789.789 0 000-1.578H3.337A3.342 3.342 0 000 6.77v20.894a3.341 3.341 0 003.337 3.337H25.25a3.341 3.341 0 003.337-3.337V13.991a.789.789 0 00-.789-.789z\",\n fill: \"#f60\"\n }))));\n}\n\nexport default __webpack_public_path__ + \"c50ec45bb8a94304d94d1084eb0ee732.svg\";\nexport { SvgEdit as ReactComponent };","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport { Device, until } from '@helpers/media';\r\nimport { lighten } from 'polished';\r\nimport styled, { css } from 'styled-components';\r\nimport { DropdownStyles } from '../../../Controls/Dropdown/Dropdown.styles';\r\nimport { NumberInputStyles } from '../../../../Shared/NumberInput/NumberInput.styles';\r\nconst Container = styled.div `\r\n margin-top: 25px;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n padding-bottom: 25px;\r\n }\r\n`;\r\nconst TopSection = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n gap: 15px;\r\n margin-bottom: 20px;\r\n`;\r\nconst Title = styled.div `\r\n ${fonts.DaxPro.Bold};\r\n font-size: 23px;\r\n`;\r\nconst DescriptionWrapper = styled.div `\r\n display: grid;\r\n grid-template-columns: 40px 1fr;\r\n align-items: center;\r\n gap: 10px;\r\n\r\n p {\r\n margin-bottom: 0;\r\n }\r\n\r\n svg {\r\n width: 100%;\r\n }\r\n`;\r\nconst Description = styled.div ``;\r\nconst TableContainer = styled.div `\r\n display: grid;\r\n grid-template-columns: repeat(10, 1fr); // Surcharge spans 3 //\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n padding-bottom: 25px;\r\n }\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n overflow: auto;\r\n\r\n &::-webkit-scrollbar {\r\n width: 4px;\r\n height: 4px;\r\n }\r\n\r\n /* Track */\r\n &::-webkit-scrollbar-track {\r\n background: ${brand.grey.grey89};\r\n }\r\n\r\n /* Handle */\r\n &::-webkit-scrollbar-thumb {\r\n background: ${brand.primary.light};\r\n }\r\n }\r\n`;\r\nconst ColumnWrapper = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n height: 100%;\r\n grid-column: span 1;\r\n`;\r\nconst WideColumnWrapper = styled(ColumnWrapper) `\r\n grid-column: span 3;\r\n font-size: 18px;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n min-width: 200px;\r\n }\r\n`;\r\nconst HeaderWrapper = styled.div `\r\n display: grid;\r\n grid-template-rows: repeat(4, 1fr);\r\n height: 100%;\r\n min-height: 107px;\r\n`;\r\nconst Header = styled.div `\r\n padding: 5px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n border: 1px solid ${brand.white};\r\n background-color: ${brand.primary.alt};\r\n font-size: 14px;\r\n color: ${brand.white};\r\n text-align: center;\r\n ${fonts.DaxPro.Medium};\r\n\r\n ${({ lightBackground }) => lightBackground &&\r\n css `\r\n background-color: ${brand.ysp.input};\r\n color: ${brand.black};\r\n `};\r\n\r\n sub {\r\n font-size: 11px;\r\n position: relative;\r\n bottom: -3px;\r\n }\r\n`;\r\nconst HeaderInner = styled.div ``;\r\nconst VariableHeader = styled(Header) `\r\n grid-row: span ${({ span }) => span};\r\n`;\r\nconst FieldRow = styled.div `\r\n width: 100%;\r\n border: 1px solid ${brand.white};\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n font-size: 14px;\r\n min-height: 30px;\r\n height: 100%;\r\n\r\n ${({ isNull }) => isNull &&\r\n css `\r\n cursor: not-allowed;\r\n user-select: none;\r\n pointer-events: none;\r\n background-color: ${lighten(0.2, brand.grey.grey55)};\r\n position: relative;\r\n\r\n ${() => NumberInputStyles.Input} {\r\n display: none;\r\n }\r\n\r\n &::after {\r\n content: 'NULL';\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n }\r\n `};\r\n`;\r\nconst FieldBase = css `\r\n padding: 6px 10px;\r\n border: none;\r\n width: 100%;\r\n height: 100%;\r\n position: relative;\r\n transition: outline-color 0.1s ease-in-out;\r\n outline: 2px solid transparent;\r\n ${fonts.DaxPro.Medium};\r\n\r\n &::selection {\r\n color: ${brand.white};\r\n background-color: ${brand.divisionTags.sandhurst};\r\n }\r\n\r\n &:focus {\r\n outline-color: ${brand.divisionTags.sandhurst};\r\n }\r\n`;\r\nconst DropdownWrapper = styled.div `\r\n ${FieldBase}\r\n padding: unset;\r\n height: 100%;\r\n\r\n ${() => DropdownStyles.Container} {\r\n padding: unset;\r\n border: none;\r\n border-radius: none;\r\n background-color: unset;\r\n\r\n ${() => DropdownStyles.TopSection} {\r\n padding: unset;\r\n }\r\n\r\n ${() => DropdownStyles.SelectedOption} {\r\n padding: 0px 6px;\r\n display: flex;\r\n ${fonts.DaxPro.Medium};\r\n }\r\n }\r\n\r\n ${({ bg }) => {\r\n switch (bg) {\r\n default:\r\n case 'green':\r\n return css `\r\n background-color: ${brand.ysp.input};\r\n `;\r\n case 'white':\r\n return css `\r\n background-color: ${brand.white};\r\n `;\r\n case 'grey':\r\n return css `\r\n background-color: ${brand.grey.grey89};\r\n `;\r\n }\r\n}}\r\n`;\r\nconst FieldInput = styled.input `\r\n ${FieldBase}\r\n\r\n ${({ align }) => {\r\n switch (align) {\r\n default:\r\n case 'left':\r\n return css `\r\n text-align: start;\r\n `;\r\n case 'center':\r\n return css `\r\n text-align: center;\r\n `;\r\n case 'right':\r\n return css `\r\n text-align: end;\r\n `;\r\n }\r\n}}\r\n \r\n ${({ bg }) => {\r\n switch (bg) {\r\n default:\r\n case 'green':\r\n return css `\r\n background-color: ${brand.ysp.input};\r\n `;\r\n case 'white':\r\n return css `\r\n background-color: ${brand.white};\r\n `;\r\n case 'grey':\r\n return css `\r\n background-color: ${brand.grey.grey89};\r\n `;\r\n }\r\n}}\r\n`;\r\nexport const SurchargesTableStyles = {\r\n Container,\r\n TopSection,\r\n Title,\r\n DescriptionWrapper,\r\n Description,\r\n TableContainer,\r\n ColumnWrapper,\r\n WideColumnWrapper,\r\n HeaderWrapper,\r\n Header,\r\n HeaderInner,\r\n VariableHeader,\r\n FieldRow,\r\n FieldInput,\r\n DropdownWrapper,\r\n};\r\n","import { ReactComponent as Edit } from '@img/ysp/edit.svg';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport React, { useMemo } from 'react';\r\nimport NumberInput from '../../../../Shared/NumberInput/NumberInput';\r\nimport Dropdown from '../../../Controls/Dropdown/Dropdown';\r\nimport { SurchargeType } from '../SurchargeDetails';\r\nimport { SurchargesTableStyles as S } from './SurchargesTable.styles';\r\nconst SurchargesTable = ({ surcharges, update }) => {\r\n const { state: { labels }, } = useYSPContext();\r\n const typeOptions = useMemo(() => {\r\n return Object.keys(SurchargeType)\r\n .filter((n) => isNaN(Number(n)))\r\n .map((t, i) => ({\r\n id: i,\r\n text: t,\r\n }));\r\n }, []);\r\n const isNull = (k, t) => {\r\n switch (t) {\r\n case SurchargeType.Blanket:\r\n switch (k) {\r\n default:\r\n case 'surchargeMagnitude':\r\n return false;\r\n case 'surchargeDepth':\r\n case 'surchargeOffset':\r\n case 'surchargeWidth':\r\n case 'surchargeLength':\r\n case 'surchargeMagnitudeB':\r\n return true;\r\n }\r\n case SurchargeType.Strip:\r\n switch (k) {\r\n default:\r\n case 'surchargeMagnitude':\r\n case 'surchargeDepth':\r\n case 'surchargeOffset':\r\n case 'surchargeWidth':\r\n return false;\r\n case 'surchargeLength':\r\n case 'surchargeMagnitudeB':\r\n return true;\r\n }\r\n case SurchargeType.Area:\r\n switch (k) {\r\n default:\r\n case 'surchargeMagnitude':\r\n case 'surchargeDepth':\r\n case 'surchargeOffset':\r\n case 'surchargeWidth':\r\n case 'surchargeLength':\r\n return false;\r\n case 'surchargeMagnitudeB':\r\n return true;\r\n }\r\n case SurchargeType.Line:\r\n case SurchargeType.Point:\r\n switch (k) {\r\n default:\r\n case 'surchargeMagnitude':\r\n case 'surchargeDepth':\r\n case 'surchargeOffset':\r\n return false;\r\n case 'surchargeWidth':\r\n case 'surchargeLength':\r\n case 'surchargeMagnitudeB':\r\n return true;\r\n }\r\n case SurchargeType.Trap:\r\n default:\r\n return false;\r\n }\r\n };\r\n return (React.createElement(S.Container, null,\r\n React.createElement(S.TopSection, null,\r\n React.createElement(S.Title, { dangerouslySetInnerHTML: { __html: labels['surchargeTable.heading'] || 'Surcharges' } }),\r\n React.createElement(S.DescriptionWrapper, null,\r\n React.createElement(Edit, null),\r\n React.createElement(S.Description, { dangerouslySetInnerHTML: {\r\n __html: labels['surchargeProfile.prompt'] ||\r\n `

Use the below table to fill in the types of Surcharges that are present in the zone of influence, including revelant dimensions and location relative to the dig

\\r\\n`,\r\n } }))),\r\n React.createElement(S.TableContainer, null,\r\n React.createElement(S.WideColumnWrapper, null,\r\n React.createElement(S.HeaderWrapper, null,\r\n React.createElement(S.VariableHeader, { span: 4 },\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.surchage.table.surchargelabel'] || 'Surcharge',\r\n } }))),\r\n surcharges.map((s, i) => (React.createElement(S.FieldRow, { key: `Surcharge_${s.id}_${i}` },\r\n React.createElement(S.FieldInput, { align: 'left', type: \"text\", bg: i % 2 === 0 ? 'grey' : 'white', value: s.surchargeDescription, onChange: (e) => update(i, 'surchargeDescription', e.currentTarget.value) }))))),\r\n React.createElement(S.ColumnWrapper, null,\r\n React.createElement(S.HeaderWrapper, null,\r\n React.createElement(S.VariableHeader, { span: 4 },\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.surchage.table.surchargetypelabel'] || 'Surcharge Type',\r\n } }))),\r\n surcharges.map((s, i) => (React.createElement(S.FieldRow, { key: `Surcharge_${s.id}_${i}` },\r\n React.createElement(S.DropdownWrapper, { bg: i % 2 === 0 ? 'grey' : 'white' },\r\n React.createElement(Dropdown, { i: 6 - i, options: typeOptions, onChange: (v) => update(i, 'surchargeType', v), value: s.surchargeType ?? SurchargeType.Area })))))),\r\n React.createElement(S.ColumnWrapper, null,\r\n React.createElement(S.HeaderWrapper, null,\r\n React.createElement(S.VariableHeader, { span: 2 },\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.surchage.table.magnitudelabel'] || 'Magnitude',\r\n } })),\r\n React.createElement(S.VariableHeader, { span: 1 },\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.surchage.table.magnitudeunits'] || '(kN/m2)',\r\n } })),\r\n React.createElement(S.VariableHeader, { lightBackground: true, span: 1 },\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.surchage.table.magnitudecalclabel'] || 'qsur',\r\n } }))),\r\n surcharges.map((s, i) => (React.createElement(S.FieldRow, { key: `Surcharge_${s.id}_${i}` },\r\n React.createElement(NumberInput, { layout: \"surcharges-table\", alignment: \"center\", min: 0, bg: i % 2 === 0 ? 'grey' : 'white', value: s.surchargeMagnitude ?? 0, onChange: (e) => update(i, 'surchargeMagnitude', e) }))))),\r\n React.createElement(S.ColumnWrapper, null,\r\n React.createElement(S.HeaderWrapper, null,\r\n React.createElement(S.VariableHeader, { span: 2 },\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.surchage.table.depthlabel'] || 'Surcharge Depth',\r\n } })),\r\n React.createElement(S.VariableHeader, { span: 1 },\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.surchage.table.depthunits'] || '(m)',\r\n } })),\r\n React.createElement(S.VariableHeader, { lightBackground: true, span: 1 },\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.surchage.table.depthcalclabel'] || 'X',\r\n } }))),\r\n surcharges.map((s, i) => (React.createElement(S.FieldRow, { isNull: isNull('surchargeDepth', s.surchargeType), key: `Surcharge_${s.id}_${i}` },\r\n React.createElement(NumberInput, { layout: \"surcharges-table\", alignment: \"center\", min: 0, bg: i % 2 === 0 ? 'grey' : 'white', value: s.surchargeDepth ?? 0, onChange: (e) => update(i, 'surchargeDepth', e) }))))),\r\n React.createElement(S.ColumnWrapper, null,\r\n React.createElement(S.HeaderWrapper, null,\r\n React.createElement(S.VariableHeader, { span: 2 },\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.surchage.table.offsetlabel'] || 'Surcharge Offset',\r\n } })),\r\n React.createElement(S.VariableHeader, { span: 1 },\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.surchage.table.offsetunits'] || '(m)',\r\n } })),\r\n React.createElement(S.VariableHeader, { lightBackground: true, span: 1 },\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.surchage.table.offsetcalclabel'] || 'A',\r\n } }))),\r\n surcharges.map((s, i) => (React.createElement(S.FieldRow, { isNull: isNull('surchargeOffset', s.surchargeType), key: `Surcharge_${s.id}_${i}` },\r\n React.createElement(NumberInput, { layout: \"surcharges-table\", alignment: \"center\", min: 0, bg: i % 2 === 0 ? 'grey' : 'white', value: s.surchargeOffset ?? 0, onChange: (e) => update(i, 'surchargeOffset', e) }))))),\r\n React.createElement(S.ColumnWrapper, null,\r\n React.createElement(S.HeaderWrapper, null,\r\n React.createElement(S.VariableHeader, { span: 2 },\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.surchage.table.widthlabel'] || 'Surcharge Width',\r\n } })),\r\n React.createElement(S.VariableHeader, { span: 1 },\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.surchage.table.widthunits'] || '(m)',\r\n } })),\r\n React.createElement(S.VariableHeader, { lightBackground: true, span: 1 },\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.surchage.table.widthcalclabel'] || 'B',\r\n } }))),\r\n surcharges.map((s, i) => (React.createElement(S.FieldRow, { isNull: isNull('surchargeWidth', s.surchargeType), key: `Surcharge_${s.id}_${i}` },\r\n React.createElement(NumberInput, { layout: \"surcharges-table\", alignment: \"center\", min: 0, bg: i % 2 === 0 ? 'grey' : 'white', value: s.surchargeWidth ?? 0, onChange: (e) => update(i, 'surchargeWidth', e) }))))),\r\n React.createElement(S.ColumnWrapper, null,\r\n React.createElement(S.HeaderWrapper, null,\r\n React.createElement(S.VariableHeader, { span: 2 },\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.surchage.table.lengthlabel'] || 'Surcharge Length',\r\n } })),\r\n React.createElement(S.VariableHeader, { span: 1 },\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.surchage.table.lengthunits'] || '(m)',\r\n } })),\r\n React.createElement(S.VariableHeader, { lightBackground: true, span: 1 },\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.surchage.table.lengthcalclabel'] || 'Lsur',\r\n } }))),\r\n surcharges.map((s, i) => (React.createElement(S.FieldRow, { isNull: isNull('surchargeLength', s.surchargeType), key: `Surcharge_${s.id}_${i}` },\r\n React.createElement(NumberInput, { layout: \"surcharges-table\", alignment: \"center\", min: 0, bg: i % 2 === 0 ? 'grey' : 'white', value: s.surchargeLength ?? 0, onChange: (e) => update(i, 'surchargeLength', e) }))))),\r\n React.createElement(S.ColumnWrapper, null,\r\n React.createElement(S.HeaderWrapper, null,\r\n React.createElement(S.VariableHeader, { span: 2 },\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.surchage.table.magnitude2label'] || 'Surcharge Magnitude 2',\r\n } })),\r\n React.createElement(S.VariableHeader, { span: 1 },\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.surchage.table.magnitude2units'] || '(kN/m2)',\r\n } })),\r\n React.createElement(S.VariableHeader, { lightBackground: true, span: 1 },\r\n React.createElement(S.HeaderInner, { dangerouslySetInnerHTML: {\r\n __html: labels['ysp.surchage.table.magnitude2calclabel'] || 'q2,sur',\r\n } }))),\r\n surcharges.map((s, i) => (React.createElement(S.FieldRow, { isNull: isNull('surchargeMagnitudeB', s.surchargeType), key: `Surcharge_${s.id}_${i}` },\r\n React.createElement(NumberInput, { layout: \"surcharges-table\", alignment: \"center\", min: 0, bg: i % 2 === 0 ? 'grey' : 'white', value: s.surchargeMagnitudeB ?? 0, onChange: (e) => update(i, 'surchargeMagnitudeB', e) }))))))));\r\n};\r\nexport default SurchargesTable;\r\n","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgRoad(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 77.26 81.32\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M63 10.9c4.01-3.17 8.63-5.31 13.19-7.53.31-.15.61-.3 1.06-.53-3.24-.97-6.29-1.89-9.35-2.8-.17-.05-.38-.04-.56 0-5.65 1.18-11.33 2.24-16.94 3.59-4.94 1.18-9.7 2.97-14.01 5.74-2.69 1.73-5.01 3.82-6.46 6.74-1.79 3.62-1.58 7.32-.2 10.98.83 2.2 1.92 4.3 2.83 6.48 1.08 2.6 1.77 5.3 1.6 8.16-.23 3.87-2.11 6.88-4.94 9.39-2.94 2.6-6.35 4.45-9.88 6.08-5.1 2.35-10.24 4.59-15.36 6.9-1.3.59-2.57 1.26-3.97 1.96.33.11.49.18.67.23 9.2 2.22 18.39 4.44 27.59 6.64.34.08.81-.02 1.13-.2 1.25-.71 2.47-1.48 3.69-2.24 4.02-2.52 8.13-4.93 11.51-8.34.13-.13.39-.23.57-.2 1.48.25 2.96.54 4.57.84-3.56 5.03-8.46 8.39-13.21 12.1.22.08.32.12.42.15 8.75 2.11 17.5 4.23 26.25 6.31.23.06.63-.1.8-.3a73.52 73.52 0 002.69-3.16c4.28-5.43 7.68-11.32 9-18.2 1.34-6.98 0-13.42-4.1-19.26-2.15-3.06-4.93-5.47-7.74-7.88-2.44-2.09-4.8-4.26-6.61-6.94-2.41-3.56-2.33-6.76.53-9.95 1.56-1.74 3.41-3.26 5.25-4.72zm-17.92 2.5c1.14-.75 1.25-.73 2.48.15-3.35 1.81-4.5 4.71-4.13 8.38h-2.18c-.38-3.66.77-6.53 3.83-8.53zm-.05 20.36c-.91-2.46-1.81-4.92-2.74-7.37-.2-.53-.14-.8.47-.89.53-.08 1.05-.25 1.65-.4 1.59 3.37 3.14 6.67 4.74 10.08-1.09.36-2.1.7-3.18 1.06-.33-.86-.65-1.66-.94-2.47zm8.42 18.51c-.07.96-.38 1.9-.65 2.83-.06.2-.48.45-.69.41-1.28-.22-2.54-.51-3.93-.81 1.95-4.79.27-9.3-.8-13.96 1.01-.2 1.97-.41 2.95-.56.14-.02.4.17.46.31 1.52 3.78 2.96 7.59 2.67 11.77zm2.42-43.88c-1.78.92-3.53 1.9-5.35 2.72-.42.19-1.09-.19-1.65-.31v-.4c1.27-.58 2.54-1.18 3.81-1.75.86-.39 1.75-.73 2.62-1.1q.74-.31 1.42.38c-.29.16-.56.32-.84.46zm1.51-2.09c1.7-.68 3.39-1.38 5.11-2.01.25-.09.64.16.96.25 0 .08 0 .17-.01.25-1.71.7-3.41 1.42-5.14 2.06-.23.09-.61-.21-.91-.33V6.3z\",\n fill: \"#333\"\n })));\n}\n\nexport default __webpack_public_path__ + \"cea0b200511f583fad0e9e72ce778b22.svg\";\nexport { SvgRoad as ReactComponent };","var _style, _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgBuilding(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"building_svg__buildings\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 550 550\",\n shapeRendering: \"geometricPrecision\",\n textRendering: \"geometricPrecision\"\n }, props), _style || (_style = /*#__PURE__*/React.createElement(\"style\", null, \"@keyframes buildings-s-path1_to__to{0%{transform:translate(377.629116px,816.849979px);animation-timing-function:cubic-bezier(.42,0,.58,1)}to{transform:translate(377.63px,325.861734px)}}@keyframes buildings-s-path2_to__to{0%{transform:translate(159.87909px,869.350009px)}18.181818%{transform:translate(159.87909px,869.350009px);animation-timing-function:cubic-bezier(.42,0,.58,1)}to{transform:translate(160.199989px,377.061764px)}}\")), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(377.63 816.85)\",\n style: {\n animation: \"buildings-s-path1_to__to 2200ms linear 1 normal forwards\"\n }\n }, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"building_svg__buildings-s-path1\",\n d: \"M271.5 194.9v-49.3l69.5-27.4v384.3h210.4V132.8l-204.9-64L233.1 120v61.9M411 334.7l-38.4-9.7v-56.3l38.4 9.7v56.3zm0-72l-38.4-9.7v-56.3l38.4 9.7v56.3zm0-71l-38.4-9.7v-56.3l38.4 9.7v56.3zm57.7 156.2l-34.4-8.9v-56.1l34.4 8.9v56.1zm0-72.8l-34.4-8.9v-51.6l34.4 8.9v51.6zm0-72.8l-34.4-8.9v-51.6l34.4 8.9v51.6zm57.7 159.8l-34.4-8.9v-56.1l34.4 8.9v56.1zm0-72.8l-34.4-8.9v-51.6l34.4 8.9v51.6zm0-72.8l-34.4-8.9V156l34.4 8.9v51.6z\",\n transform: \"translate(-392.25 -285.65)\",\n fill: \"#707070\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(159.88 869.35)\",\n style: {\n animation: \"buildings-s-path2_to__to 2200ms linear 1 normal forwards\"\n }\n }, _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n id: \"building_svg__buildings-s-path2\",\n d: \"M157.6 172.5L71 211.7v102l-36.3 37.7v152.4h28.7V357l37-37.7v-88.1l53.1-21v293.5h160.8V221.4l-156.7-48.9zm49.3 203.2l-29.4-7.4v-43l29.4 7.4v43zm0-55l-29.4-7.4v-43l29.4 7.4v43zm0-54.2l-29.4-7.4v-43l29.4 7.4v43zM251 385.8l-26.3-6.8v-42.8L251 343v42.8zm0-55.6l-26.3-6.8V284l26.3 6.8v39.4zm0-55.7l-26.3-6.8v-39.4l26.3 6.8v39.4zm44 122.1l-26.3-6.8V347l26.3 6.8v42.8zm0-55.6l-26.3-6.8v-39.4l26.3 6.8V341zm0-55.6l-26.3-6.8v-39.4L295 246v39.4z\",\n transform: \"translate(-174.5 -338.15)\",\n fill: \"#690\"\n }))));\n}\n\nexport default __webpack_public_path__ + \"82664cca0270bfeb977d063e46686fb4.svg\";\nexport { SvgBuilding as ReactComponent };","var _style, _g, _g2, _g3;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgCrane(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"crane_svg__vymnmh\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 75.999 65.348\",\n shapeRendering: \"geometricPrecision\",\n textRendering: \"geometricPrecision\"\n }, props), _style || (_style = /*#__PURE__*/React.createElement(\"style\", null, \"@keyframes vymnmh-u-long-bit_tr__tr{0%,to{transform:translate(221.510809px,683.090016px) rotate(0deg)}48.333333%{transform:translate(221.510809px,683.090016px) rotate(-5.959664deg)}}@keyframes vymnmh-u-dangly-bit_to__to{0%{transform:translate(257.868961px,662.938528px)}48.333333%{transform:translate(256.868961px,659.316316px)}to{transform:translate(257.868961px,662.94px)}}@keyframes vymnmh-u-dangly-bit_tr__tr{0%{transform:rotate(-85.023582deg);animation-timing-function:cubic-bezier(.42,0,.58,1)}26.666667%{transform:rotate(-96.341063deg);animation-timing-function:cubic-bezier(.42,0,.58,1)}51.666667%{transform:rotate(-62.115695deg);animation-timing-function:cubic-bezier(.42,0,.58,1)}75%{transform:rotate(-98.321067deg);animation-timing-function:cubic-bezier(.42,0,.58,1)}to{transform:rotate(-85.02deg)}}\")), /*#__PURE__*/React.createElement(\"g\", {\n id: \"crane_svg__vymnmh-u-vymnmh\",\n transform: \"matrix(.92821 0 0 .92822 -177.79 -599.042)\"\n }, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"crane_svg__vymnmh-u-base\",\n transform: \"translate(193.868 650.416)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"crane_svg__vymnmh-u-path-51\",\n d: \"M203.476 689.752h-2.9c-.009-.186-.024-.34-.024-.494v-15.82a1.425 1.425 0 011.578-1.608q6.787-.013 13.575.009a.983.983 0 01.6.3q3.157 3.129 6.286 6.287.292.3 2.737 9.97a.716.716 0 00-.346.716c.02.188 0 .379 0 .625h-2.023v5.028H247.134a10.21 10.21 0 018.985 4.726 10.441 10.441 0 01-6.369 15.961c-.853.193-1.725.29-2.6.287q-21.294.026-42.588.01a10.49 10.49 0 01-2.605-20.7 5.576 5.576 0 011.031-.184c.35-.015.461-.133.461-.484 0-1.386.034-2.772.052-4.158-.001-.123-.013-.266-.025-.471zm6.826 15.506a5.566 5.566 0 10-5.582 5.571 5.534 5.534 0 005.58-5.571zm42.833 0a5.566 5.566 0 10-5.586 5.567 5.534 5.534 0 005.586-5.562zm-28.682 0a5.471 5.471 0 10-5.466 5.567 5.486 5.486 0 005.465-5.563zm3.4-.01a5.471 5.471 0 105.484-5.55 5.487 5.487 0 00-5.484 5.555zm-10.094-20.066c0-1.244.01-2.436-.011-3.628a.809.809 0 00-.255-.475c-1.084-1.1-2.171-2.2-3.279-3.271a1.049 1.049 0 00-.654-.278c-2.165-.021-4.33-.014-6.5-.011-.634 0-.817.19-.818.829v6.4c0 .138.017.277.027.436zM206.3 689.78v4.952h13.8v-4.952z\",\n transform: \"translate(-193.865 -650.405)\",\n fill: \"#595959\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(221.51 683.09)\",\n style: {\n animation: \"vymnmh-u-long-bit_tr__tr 2500ms linear normal forwards\"\n }\n }, _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"crane_svg__vymnmh-u-long-bit\",\n transform: \"translate(-28.883 -31.674)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"crane_svg__vymnmh-u-path-512\",\n d: \"M222.591 678.426c.292.3.476.326.821.07q10.172-7.54 20.362-15.056l17.369-12.829c.076-.056.156-.108.288-.2l5.414 7.325c-.9.669-1.768 1.312-2.635 1.954-.819.606-1.651 1.2-2.451 1.828-.184.157-2.854 2.088-2.989 2.187q-16.72 12.348-33.442 24.691m29.743-24.272l7.895-5.835-.056-.126-6.871-1.148zm-9.327.764l-.906 6.666.118.044 7.42-5.488-.067-.12zm-13.286 15.232l.889-6.523-.119-.051-7.263 5.367.032.123zm1.99-.9l.1.065 7.09-5.238-.043-.118-6.284-1.053zm8.424-6.954l.888-6.494-7.2 5.319.043.126zm10.313-8l.829-6.073-6.726 4.972.04.117zM225 686.334l6.166-4.558-6.166-1.03zm32.886-31l.044.126 5.425.908.066-.105-2.4-3.249z\",\n transform: \"translate(-193.708 -650.411)\",\n fill: \"#595959\"\n })))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n animation: \"vymnmh-u-dangly-bit_to__to 2500ms linear normal forwards\"\n }\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"rotate(-85.024 490.52 190.82)\",\n style: {\n animation: \"vymnmh-u-dangly-bit_tr__tr 2500ms linear normal forwards\"\n }\n }, _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"crane_svg__vymnmh-u-dangly-bit\",\n transform: \"translate(-120.47 -33.157)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"crane_svg__vymnmh-u-path-513\",\n d: \"M261.441 662.14c-.05 5.608-.078 11.215-.116 16.823a.468.468 0 00.372.547 4.159 4.159 0 01-.053 7.928.442.442 0 00-.368.5 21.83 21.83 0 000 2.769 4.572 4.572 0 001.4 3.212 3.087 3.087 0 004.986-1.977c.048-.249.077-.5.119-.783h2.087c-.02.42-.068.839-.14 1.253a5.208 5.208 0 01-10.171.448c-.103-.448-.181-.9-.234-1.357a34.618 34.618 0 01-.166-3.724c-.012-.288-.157-.368-.375-.464a4.024 4.024 0 01-2.49-3.049 4.085 4.085 0 012.45-4.629.648.648 0 00.452-.707c.026-7.551.06-15.343.044-15.544\",\n transform: \"matrix(0 .99648 -.9971 0 780.988 -226.754)\",\n fill: \"#595959\"\n })))))));\n}\n\nexport default __webpack_public_path__ + \"6629751bd52ac32d6ddbb127d4f90d7c.svg\";\nexport { SvgCrane as ReactComponent };","var _style, _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgMaterial(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"material_svg__material\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 600 600\",\n shapeRendering: \"geometricPrecision\",\n textRendering: \"geometricPrecision\"\n }, props), _style || (_style = /*#__PURE__*/React.createElement(\"style\", null, \"@keyframes material-s-g1_to__to{0%{offset-distance:0;animation-timing-function:cubic-bezier(.63,-.045,1,1)}5.555556%{offset-distance:95.398538%}12.962963%,9.259259%,to{offset-distance:100%}}@keyframes material-s-g1_ts__ts{0%,5.555556%{transform:scale(.82748,.82748)}12.962963%,9.259259%{transform:scale(1.056784,.685574)}20.37037%,to{transform:scale(1,1)}}\")), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n offsetPath: \"path('M300.000012,-159.194218C300.000012,36.028089,300,465.88047,300,546.245804C300.000001,533.021342,300.000002,521.688124,300,512.219543Q300.000002,521.688124,300,512.219543')\",\n offsetRotate: \"0deg\",\n animation: \"material-s-g1_to__to 5400ms linear 1 normal forwards\"\n }\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"scale(.82748)\",\n style: {\n animation: \"material-s-g1_ts__ts 5400ms linear 1 normal forwards\"\n }\n }, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"material_svg__material-s-g1\",\n transform: \"translate(-299.095 -495.3)\",\n fill: \"#707070\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"material_svg__material-s-path1\",\n d: \"M323.2 442c-45.2 0-89.2-2.6-131.2-5.4-56.4-3.8-110.8-9.4-157.5-36.7-10.9-6.3-17.6-15.2-19-25-1.3-8.9 2.1-16.9 5.1-21.9 8.4-14 20.3-26.5 31.8-38.7 3.7-3.9 7.4-7.8 10.9-11.6 15.2-16.8 31-33.5 47-49.4 18.3-18.2 34.7-24.1 48.9-17.4 7 3.3 12 8.5 16.8 13.6 2.8 2.9 5.4 5.7 8.3 7.9 3.1 2.4 3.7 7 1.3 10.1s-7 3.7-10.1 1.3c-3.7-2.9-6.9-6.2-9.9-9.4-4.1-4.3-7.9-8.3-12.5-10.5-10-4.8-23.3 5.3-32.6 14.6-15.8 15.8-31.5 32.2-46.5 48.9-3.5 3.9-7.3 7.9-11.1 11.9-11 11.6-22.3 23.6-29.9 36.2-2.6 4.3-3.7 8.8-3.2 12.5 1.1 7.5 8.8 12.8 12 14.7 44 25.7 96.6 31.1 151.2 34.7 58.3 3.9 120.4 7.4 183.7 4 11.1-.6 22.1-1.3 33.1-2.2 27.2-2.2 56.2-5.2 83.8-12.4 14.6-3.8 27.4-8.2 39.2-13.7l3.3-1.5c9.1-4.1 20.5-9.3 23.2-17 1.4-4 .9-8.2.3-11.1-2-8.4-8.2-16.8-18.9-25.4-31.4-25.5-61.8-52.7-91.2-79.1-9.7-8.7-19.5-17.4-29.3-26.1-14.8-13.1-28.8-27.6-42.3-41.5-19.7-20.3-40-41.3-62.8-58.1-8-5.9-17.6-12.1-27.8-13.2-9.4-1.1-20 2.2-29.9 9.1-10.8 7.5-68.1 69.7-84.3 92.7-2.3 3.3-6.8 4-10 1.7s-4-6.8-1.7-10c16.3-23.1 74.6-87 87.8-96.2 12.8-8.9 26.9-13 39.7-11.6 13.7 1.5 25.3 8.9 34.8 15.9 23.8 17.5 44.5 38.9 64.6 59.6 13.3 13.8 27.1 28 41.5 40.7 9.8 8.7 19.6 17.4 29.3 26.2 29.3 26.2 59.6 53.4 90.7 78.6 13.3 10.8 21 21.7 23.8 33.3 1.6 6.7 1.4 13.4-.7 19.2-4.8 13.5-19.9 20.3-30.9 25.3l-3.2 1.4c-12.6 5.9-26.2 10.6-41.7 14.6-28.7 7.4-58.4 10.5-86.3 12.8-11.2.9-22.3 1.7-33.5 2.3-18.1.9-36.2 1.3-54.1 1.3z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"material_svg__material-s-path2\",\n d: \"M344.5 220.7c3.1.4 6.3 1.8 8 4.5 2.2 3.4 1.5 8.1-1 11.3s-6.4 4.9-10.4 5.6c-.8.1-1.5.2-2.3-.1-.6-.2-1.1-.8-1.6-1.2-1.1-1.1-2.2-2.3-3.3-3.4-1.2-1.2-2.4-2.9-1.7-4.4.3-.7 1.1-1.2 1.4-1.8 1.6-3-2.6-6.2.2-9.1 1.9-2.1 8.4-1.7 10.7-1.4z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"material_svg__material-s-path3\",\n d: \"M246 356.4c-1.1-2.9-1.3-6.4.3-9.1 2-3.5 6.5-5.1 10.5-4.3 4 .7 7.3 3.4 9.8 6.6.5.6.9 1.3 1 2s-.1 1.4-.4 2l-1.5 4.5c-.5 1.6-1.4 3.5-3.1 3.6-.8 0-1.5-.4-2.3-.4-3.4-.1-4.3 5.2-8.2 4-2.7-.8-5.3-6.8-6.1-8.9z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"material_svg__material-s-path4\",\n d: \"M368.1 263c3.4-1.3 7.5-.2 9.9 2.5 1.8 2.1 2.6 5.1 2.1 7.8-.3 1.3-.8 2.5-1.8 3.4-1.1 1-2.5 1.4-4 1.9-2.1.6-4.2 1.3-6.3 1.3-2.2 0-4.4-.6-5.8-2.3-1.2-1.3-1.6-3.1-1.6-4.9.1-2.3.8-4.8 2.3-6.6l5.2-3.1z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"material_svg__material-s-path5\",\n d: \"M102.2 340.3c3.4-1.3 7.5-.2 9.9 2.5 1.8 2.1 2.6 5.1 2.1 7.8-.3 1.3-.8 2.5-1.8 3.4-1.1 1-2.5 1.4-4 1.9-2.1.6-4.2 1.3-6.3 1.3s-4.4-.6-5.8-2.3c-1.2-1.3-1.6-3.1-1.6-4.9.1-2.3.8-4.8 2.3-6.6l5.2-3.1z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"material_svg__material-s-path6\",\n d: \"M375.9 332.2c3 2.2 4.3 6.1 3.4 9.7-.7 2.7-2.8 5-5.4 6-1.2.5-2.5.7-3.8.4-1.4-.4-2.6-1.3-3.7-2.3-1.7-1.4-3.3-2.8-4.6-4.6-1.2-1.8-1.9-4-1.3-6.1.5-1.7 1.7-3.1 3.2-4 2-1.2 4.5-2 6.8-1.8l5.4 2.7z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"material_svg__material-s-path7\",\n d: \"M135.5 306.2c3 2.2 4.3 6.1 3.4 9.7-.7 2.7-2.8 5-5.4 6-1.2.5-2.5.7-3.8.4-1.4-.4-2.6-1.3-3.7-2.3-1.7-1.4-3.3-2.8-4.6-4.6s-1.9-4-1.3-6.1c.5-1.7 1.7-3.1 3.2-4 2-1.2 4.5-2 6.8-1.8l5.4 2.7z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"material_svg__material-s-path8\",\n d: \"M421.5 368.9c3 2.2 4.3 6.1 3.4 9.7-.7 2.7-2.8 5-5.4 6-1.2.5-2.5.7-3.8.4-1.4-.4-2.6-1.3-3.7-2.3-1.7-1.4-3.3-2.8-4.6-4.6-1.2-1.8-1.9-4-1.3-6.1.5-1.7 1.7-3.1 3.2-4 2-1.2 4.5-2 6.8-1.8l5.4 2.7z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"material_svg__material-s-path9\",\n d: \"M155.5 341.2c-.2 3-2.4 5.7-5.3 6.6-2.2.7-4.7.2-6.6-1.1-.9-.6-1.6-1.5-1.9-2.5-.4-1.2-.2-2.4 0-3.6.2-1.8.5-3.5 1.2-5.2.7-1.6 2-3.1 3.7-3.6 1.4-.4 2.9-.1 4.2.5 1.7.8 3.4 2.2 4.2 4l.5 4.9z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"material_svg__material-s-path10\",\n d: \"M350.2 371.6c3.6-.7 7.4 1.1 9.3 4.2 1.5 2.4 1.7 5.5.7 8.1-.5 1.2-1.2 2.3-2.3 3-1.2.8-2.8 1-4.2 1.1-2.1.2-4.3.5-6.4.2s-4.2-1.4-5.4-3.2c-.9-1.5-1.1-3.4-.7-5.1.5-2.3 1.6-4.6 3.4-6.1l5.6-2.2z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"material_svg__material-s-path11\",\n d: \"M324.5 461.9c5.1-.4 10.7 1.7 13.7 5 2.3 2.5 2.9 5.7 1.6 8.2-.6 1.2-1.6 2.3-3.1 2.9-1.7.7-3.9.8-6 .8-3 .1-6.1.2-9.2-.3s-6.2-1.7-7.9-3.7c-1.4-1.6-1.8-3.5-1.4-5.2.5-2.3 1.9-4.6 4.4-6l7.9-1.7z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"material_svg__material-s-path12\",\n d: \"M494.8 453.4c5.1-.4 10.7 1.7 13.7 5 2.3 2.5 2.9 5.7 1.6 8.2-.6 1.2-1.6 2.3-3.1 2.9-1.7.7-3.9.8-6 .8-3 .1-6.1.2-9.2-.3s-6.2-1.7-7.9-3.7c-1.4-1.6-1.8-3.5-1.4-5.2.5-2.3 1.9-4.6 4.4-6l7.9-1.7z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"material_svg__material-s-path13\",\n d: \"M538.7 426.4c5.1-.4 10.7 1.7 13.7 5 2.3 2.5 2.9 5.7 1.6 8.2-.6 1.2-1.6 2.3-3.1 2.9-1.7.7-3.9.8-6 .8-3 .1-6.1.2-9.2-.3s-6.2-1.7-7.9-3.7c-1.4-1.6-1.8-3.5-1.4-5.2.5-2.3 1.9-4.6 4.4-6l7.9-1.7z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"material_svg__material-s-path14\",\n d: \"M567 475.1c5.1-.4 10.7 1.7 13.7 5 2.3 2.5 2.9 5.7 1.6 8.2-.6 1.2-1.6 2.3-3.1 2.9-1.7.7-3.9.8-6 .8-3 .1-6.1.2-9.2-.3s-6.2-1.7-7.9-3.7c-1.4-1.6-1.8-3.5-1.4-5.2.5-2.3 1.9-4.6 4.4-6l7.9-1.7z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"material_svg__material-s-path15\",\n d: \"M415.8 292.8c3 2.2 4.3 6.1 3.4 9.7-.7 2.7-2.8 5-5.4 6-1.2.5-2.5.7-3.8.4-1.4-.4-2.6-1.3-3.7-2.3-1.7-1.4-3.3-2.8-4.6-4.6-1.2-1.8-1.9-4-1.3-6.1.5-1.7 1.7-3.1 3.2-4 2-1.2 4.5-2 6.8-1.8l5.4 2.7z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"material_svg__material-s-path16\",\n d: \"M462 329c3 2.2 4.3 6.1 3.4 9.7-.7 2.7-2.8 5-5.4 6-1.2.5-2.5.7-3.8.4-1.4-.4-2.6-1.3-3.7-2.3-1.7-1.4-3.3-2.8-4.6-4.6-1.2-1.8-1.9-4-1.3-6.1.5-1.7 1.7-3.1 3.2-4 2-1.2 4.5-2 6.8-1.8l5.4 2.7z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"material_svg__material-s-path17\",\n d: \"M415.5 495.3c-3.1 0-6.3-.3-9.5-1.1-3.1-.8-6.2-2-9.2-3.8-2.2-1.3-5.3-3.3-7.4-6.6-4.6-7.5-1-17 4.8-22 10-8.7 27.4-13.6 39.2-6.5 6.4 3.8 10.7 10.2 11.5 17.1.9 7.6-2.8 15.2-9 18.9-3.6 2.2-7.8 2.9-11.7 3.4-2.6.3-5.6.6-8.7.6zm4.6-36.2c-7.5 0-15.8 3.4-21.2 8.2-3.5 3.1-5.8 8.9-3.4 12.9.9 1.4 2.4 2.7 4.8 4.1 2.5 1.4 5 2.5 7.4 3.1 5.2 1.3 10.8.9 15.5.3 2.9-.4 6.3-.9 8.9-2.4 3.8-2.3 6.1-7.2 5.6-12-.5-4.6-3.6-9.1-8-11.8-2.8-1.7-6.1-2.4-9.6-2.4z\"\n }))))));\n}\n\nexport default __webpack_public_path__ + \"ad0c6e7640223310520080d4ad993892.svg\";\nexport { SvgMaterial as ReactComponent };","import { withMotionMax as withMotion } from '@hoc/withMotionMax';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport { Containers, StepStyles } from '@ys/Components/Shared/Step.styles';\r\nimport YSButton from '@ys/Components/Shared/YSButton/YSButton';\r\nimport Dropdown from '@ys/Components/Steps/Controls/Dropdown/Dropdown';\r\nimport { MAX_SIZE } from '@ys/Components/Steps/Dimensions/Dimensions';\r\nimport { DimensionsStyles } from '@ys/Components/Steps/Dimensions/Dimensions.styles';\r\nimport { AnimatePresence } from 'framer-motion';\r\nimport React, { useEffect, useMemo, useState } from 'react';\r\nimport { SurchargeDetailsStyles as S } from './SurchargeDetails.styles';\r\nimport SurchargesTable from './SurchargesTable/SurchargesTable';\r\nimport Building from '@img/ysp/surcharges/building.png';\r\nimport Crane from '@img/ysp/surcharges/crane.png';\r\nimport Embankments from '@img/ysp/surcharges/embankments.png';\r\nimport Railway from '@img/ysp/surcharges/railway.png';\r\nimport Road from '@img/ysp/surcharges/road.svg';\r\nimport { ReactComponent as Cross } from '@img/ysp/icon-cross.svg';\r\nimport { ReactComponent as BuildingAnimated } from '@img/ysp/surcharges/building.svg';\r\nimport { ReactComponent as CraneAnimated } from '@img/ysp/surcharges/crane.svg';\r\nimport { ReactComponent as MaterialAnimated } from '@img/ysp/surcharges/material.svg';\r\nimport InfoIcon from '../../../InfoIcon/InfoIcon';\r\nimport { SharedStyles } from '../../../Shared.styles';\r\nexport var SurchargeIcon;\r\n(function (SurchargeIcon) {\r\n SurchargeIcon[SurchargeIcon[\"None\"] = 0] = \"None\";\r\n SurchargeIcon[SurchargeIcon[\"Building\"] = 1] = \"Building\";\r\n SurchargeIcon[SurchargeIcon[\"Plant\"] = 2] = \"Plant\";\r\n SurchargeIcon[SurchargeIcon[\"Slope\"] = 3] = \"Slope\";\r\n SurchargeIcon[SurchargeIcon[\"Rail\"] = 4] = \"Rail\";\r\n SurchargeIcon[SurchargeIcon[\"Road\"] = 5] = \"Road\";\r\n})(SurchargeIcon || (SurchargeIcon = {}));\r\nexport var SurchargeSource;\r\n(function (SurchargeSource) {\r\n SurchargeSource[SurchargeSource[\"General\"] = 0] = \"General\";\r\n SurchargeSource[SurchargeSource[\"FixedPlant\"] = 1] = \"FixedPlant\";\r\n SurchargeSource[SurchargeSource[\"MovingPlant\"] = 2] = \"MovingPlant\";\r\n SurchargeSource[SurchargeSource[\"Road\"] = 3] = \"Road\";\r\n SurchargeSource[SurchargeSource[\"Rail\"] = 4] = \"Rail\";\r\n SurchargeSource[SurchargeSource[\"SmallBuilding\"] = 5] = \"SmallBuilding\";\r\n SurchargeSource[SurchargeSource[\"LargeBuilding\"] = 6] = \"LargeBuilding\";\r\n SurchargeSource[SurchargeSource[\"Slope\"] = 7] = \"Slope\";\r\n SurchargeSource[SurchargeSource[\"Other\"] = 8] = \"Other\";\r\n})(SurchargeSource || (SurchargeSource = {}));\r\nexport var SurchargeType;\r\n(function (SurchargeType) {\r\n SurchargeType[SurchargeType[\"Blanket\"] = 0] = \"Blanket\";\r\n SurchargeType[SurchargeType[\"Strip\"] = 1] = \"Strip\";\r\n SurchargeType[SurchargeType[\"Area\"] = 2] = \"Area\";\r\n SurchargeType[SurchargeType[\"Trap\"] = 3] = \"Trap\";\r\n SurchargeType[SurchargeType[\"Line\"] = 4] = \"Line\";\r\n SurchargeType[SurchargeType[\"Point\"] = 5] = \"Point\";\r\n})(SurchargeType || (SurchargeType = {}));\r\nconst getIcon = (icon) => {\r\n switch (icon) {\r\n default:\r\n case SurchargeIcon.None:\r\n return '';\r\n case SurchargeIcon.Building:\r\n return Building;\r\n case SurchargeIcon.Plant:\r\n return Crane;\r\n case SurchargeIcon.Rail:\r\n return Railway;\r\n case SurchargeIcon.Slope:\r\n return Embankments;\r\n case SurchargeIcon.Road:\r\n return Road;\r\n }\r\n};\r\nconst Surcharge = ({ i, value, surcharges, onChange, removeSurcharge, dropdownPlaceholder, ...rest }) => {\r\n const iconSrc = useMemo(() => getIcon(value.surchargeIcon), [value.surchargeIcon]);\r\n return (React.createElement(S.SurchargeWrapper, { ...rest },\r\n React.createElement(S.IconContainer, null,\r\n React.createElement(AnimatePresence, null,\r\n React.createElement(S.MotionWrapper, { icon: value.surchargeIcon, key: value.surchargeIcon },\r\n value.surchargeIcon === SurchargeIcon.Plant && React.createElement(CraneAnimated, null),\r\n value.surchargeIcon === SurchargeIcon.Building && React.createElement(BuildingAnimated, null),\r\n value.surchargeIcon === SurchargeIcon.Slope && React.createElement(MaterialAnimated, null),\r\n (value.surchargeIcon === SurchargeIcon.None ||\r\n value.surchargeIcon === SurchargeIcon.Road ||\r\n value.surchargeIcon === SurchargeIcon.Rail) && (React.createElement(React.Fragment, null, iconSrc && React.createElement(\"img\", { src: iconSrc })))))),\r\n React.createElement(S.SurchargeName, null,\r\n \"Surcharge \",\r\n i + 1),\r\n React.createElement(Dropdown, { i: 6 - i + 10, onChange: (id) => onChange(id), value: value.id, options: surcharges, placeholder: dropdownPlaceholder }),\r\n i > 0 && (React.createElement(S.DeleteWrapper, { onClick: () => confirm('Are you sure you want to delete this surcharge?') && removeSurcharge(i) },\r\n React.createElement(Cross, null)))));\r\n};\r\nconst SurchargeDetails = () => {\r\n const { state, dispatch, setFormField } = useYSPContext();\r\n const determinePreselectedSurcharges = () => {\r\n const preselectedSurcharges = state.surcharges.filter((x) => x.surchargePreselected);\r\n if (preselectedSurcharges.length > 0 && !state.hasAddedDefaultSurcharge) {\r\n // Some are preselected, return those //\r\n dispatch({ type: 'set-has-added-default-surcharge', payload: true });\r\n return preselectedSurcharges;\r\n }\r\n if (state.form.surchargeProfiles) {\r\n return state.form.surchargeProfiles;\r\n }\r\n return [\r\n {\r\n id: -1,\r\n surchargeDescription: 'Please select a surcharge...',\r\n surchargeIcon: SurchargeIcon.None,\r\n },\r\n ];\r\n };\r\n const [surcharges, setSurcharges] = useState(determinePreselectedSurcharges());\r\n useEffect(() => {\r\n dispatch({\r\n type: 'set-footer',\r\n payload: {\r\n nextDisabled: surcharges.length === 0 ||\r\n surcharges.some((x) => x.id === -1) ||\r\n surcharges.some((x) => !Number(x.surchargeMagnitude)),\r\n },\r\n });\r\n }, [surcharges, surcharges.map((x) => x.surchargeMagnitude).toString()]);\r\n useEffect(() => {\r\n dispatch({\r\n type: 'set-footer',\r\n payload: {\r\n nextDisabled: surcharges.length === 0 ||\r\n surcharges.some((x) => x.id === -1) ||\r\n surcharges.some((x) => !Number(x.surchargeMagnitude)),\r\n },\r\n });\r\n }, [surcharges, surcharges.map((x) => x.surchargeMagnitude).toString()]);\r\n useEffect(() => {\r\n setFormField('surchargeProfiles', surcharges);\r\n }, [surcharges]);\r\n const addSurcharge = () => {\r\n const copy = [...surcharges];\r\n copy.push({\r\n id: -1,\r\n surchargeDescription: 'Please select a surcharge...',\r\n surchargeIcon: SurchargeIcon.None,\r\n });\r\n setSurcharges(copy);\r\n };\r\n const [actualHeight, actualWidth] = useMemo(() => {\r\n const ratio = state.form.width / state.form.length;\r\n const actualHeight = ratio > 1 ? (1 / ratio) * MAX_SIZE : MAX_SIZE;\r\n const actualWidth = ratio < 1 ? ratio * MAX_SIZE : MAX_SIZE;\r\n return [actualHeight, actualWidth];\r\n }, []);\r\n const surchargeOptions = useMemo(() => {\r\n if (state.surcharges.length === 0) {\r\n return [];\r\n }\r\n return state.surcharges.map((s) => ({\r\n id: s.id,\r\n text: s.surchargeDescription,\r\n }));\r\n }, [state.surcharges]);\r\n if (state.surcharges.length === 0) {\r\n return React.createElement(React.Fragment, null);\r\n }\r\n const modifyLayer = (position, type, value) => {\r\n const surcharge = surcharges[position];\r\n if (surcharge) {\r\n // Moans about the 'id' not being the right type, but it's being omitted via Lodash //\r\n let clone = { ...surcharge };\r\n clone[type] = value;\r\n if (type === 'surchargeType') {\r\n const retypedClone = clone;\r\n // Depending on the type we need to reset some values back to undefined //\r\n switch (value) {\r\n default:\r\n case SurchargeType.Trap:\r\n break;\r\n case SurchargeType.Blanket:\r\n retypedClone.surchargeDepth = undefined;\r\n retypedClone.surchargeOffset = undefined;\r\n retypedClone.surchargeWidth = undefined;\r\n retypedClone.surchargeLength = undefined;\r\n retypedClone.surchargeMagnitudeB = undefined;\r\n break;\r\n case SurchargeType.Strip:\r\n retypedClone.surchargeLength = undefined;\r\n retypedClone.surchargeMagnitudeB = undefined;\r\n break;\r\n case SurchargeType.Area:\r\n retypedClone.surchargeMagnitudeB = undefined;\r\n break;\r\n case SurchargeType.Line:\r\n case SurchargeType.Point:\r\n retypedClone.surchargeWidth = undefined;\r\n retypedClone.surchargeLength = undefined;\r\n retypedClone.surchargeMagnitudeB = undefined;\r\n break;\r\n }\r\n const matchingSurchargeType = state.surcharges.find((x) => x.surchargeType === value);\r\n if (matchingSurchargeType && matchingSurchargeType?.surchargeMagnitude) {\r\n // If a default magnitude has been set, add it here //\r\n retypedClone.surchargeMagnitude = matchingSurchargeType.surchargeMagnitude;\r\n }\r\n clone = retypedClone;\r\n }\r\n const surchargesClone = [...surcharges];\r\n surchargesClone.splice(position, 1, clone);\r\n setSurcharges(surchargesClone);\r\n }\r\n };\r\n const removeSurcharge = (p) => {\r\n const clone = [...surcharges];\r\n clone.splice(p, 1);\r\n setSurcharges(clone);\r\n };\r\n return (React.createElement(StepStyles.Grid, null,\r\n React.createElement(Containers.Default, null,\r\n React.createElement(SharedStyles.TitleWithInfoIcon, null,\r\n React.createElement(\"h2\", null, state.labels['surchargeProfile.heading']),\r\n state.labels['surchargeProfile.tooltip'] && (React.createElement(InfoIcon, { onClick: () => {\r\n dispatch({\r\n type: 'set-modal',\r\n payload: {\r\n description: state.labels['surchargeProfile.tooltip'],\r\n fullWidth: true,\r\n size: 'normal',\r\n },\r\n });\r\n } }))),\r\n React.createElement(S.Container, null,\r\n React.createElement(S.TopStep, null,\r\n React.createElement(S.DimensionsWrapper, null,\r\n React.createElement(DimensionsStyles.Outer, { style: { width: `${actualHeight}px`, height: `${actualWidth}px` } },\r\n React.createElement(DimensionsStyles.Inner, null,\r\n React.createElement(DimensionsStyles.Arrow, { direction: \"width\", style: { height: `${actualWidth}px` } }, !isNaN(state.form.width) && (React.createElement(\"span\", null,\r\n state.form.width.toFixed(2),\r\n \"m\"))),\r\n React.createElement(DimensionsStyles.Arrow, { direction: \"length\", style: { width: `${actualHeight}px` } }, !isNaN(state.form.length) && (React.createElement(\"span\", null,\r\n state.form.length.toFixed(2),\r\n \"m\")))))),\r\n React.createElement(S.SurchargesWrapper, null,\r\n surcharges.map((s, i) => (React.createElement(Surcharge, { \"data-last\": i === surcharges.length - 1, key: `Surcharges_${i}_${surchargeOptions.length}`, i: i, surcharges: surchargeOptions, onChange: (id) => {\r\n const copy = [...surcharges];\r\n const valIndex = state.surcharges.findIndex((x) => x.id === id);\r\n copy.splice(i, 1, state.surcharges[valIndex]);\r\n setSurcharges(copy);\r\n }, removeSurcharge: removeSurcharge, dropdownPlaceholder: state.labels['ysp.surchage.table.please-select-surcharge'], value: s }))),\r\n React.createElement(S.ButtonWrapper, null,\r\n React.createElement(YSButton, { icon: \"plus\", disabled: surcharges.length === 6, onClick: () => addSurcharge() }, \"Add surcharge\")))),\r\n React.createElement(SurchargesTable, { surcharges: surcharges.filter((x) => x.id !== -1), update: modifyLayer })))));\r\n};\r\nexport default withMotion(SurchargeDetails);\r\n","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport { Device, from, until } from '@helpers/media';\r\nimport styled from 'styled-components';\r\nimport { WYSIWYGStyles } from '../../Shared.styles';\r\nconst Container = styled.div `\r\n width: 100%;\r\n height: max-content;\r\n max-height: 100%;\r\n\r\n padding: 20px 15px;\r\n background-color: ${brand.grey.grey96};\r\n display: flex;\r\n flex-direction: column;\r\n gap: 20px;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n max-height: 55vh;\r\n height: 100%;\r\n padding: 35px 30px;\r\n }\r\n`;\r\nconst Title = styled.div `\r\n ${fonts.DaxPro.Bold};\r\n color: ${brand.primary.alt};\r\n font-size: 22px;\r\n`;\r\nconst TextContainer = styled.div `\r\n ${fonts.DaxPro.Regular};\r\n display: flex;\r\n flex-direction: column;\r\n gap: 20px;\r\n height: 32dvh;\r\n\r\n user-select: none;\r\n\r\n ${WYSIWYGStyles}\r\n font-size: 15px;\r\n line-height: 21px;\r\n white-space: pre-line;\r\n padding-right: 20px;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n max-height: 45dvh;\r\n }\r\n\r\n overflow: auto;\r\n -webkit-overflow-scrolling: touch;\r\n &::-webkit-scrollbar-track {\r\n background-color: ${brand.white};\r\n }\r\n\r\n &::-webkit-scrollbar {\r\n height: 6px;\r\n width: 12px;\r\n }\r\n\r\n &::-webkit-scrollbar-thumb {\r\n background-color: ${brand.grey.grey89};\r\n border-radius: 0;\r\n cursor: pointer;\r\n }\r\n\r\n p {\r\n font-size: 14px;\r\n margin-bottom: 0;\r\n }\r\n\r\n a {\r\n word-break: break-word;\r\n }\r\n\r\n li {\r\n font-size: 14px;\r\n margin-bottom: 5px;\r\n padding-left: 26px;\r\n position: relative;\r\n list-style: none;\r\n\r\n &:before {\r\n content: '';\r\n display: block;\r\n border-radius: 50%;\r\n width: 10px;\r\n height: 10px;\r\n background-color: ${brand.primary.base};\r\n position: absolute;\r\n top: calc(0.5em - 3px);\r\n left: 0px;\r\n }\r\n }\r\n`;\r\nexport const TermsAndConditionsStyles = {\r\n Container,\r\n Title,\r\n TextContainer,\r\n};\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport Checkbox from '@ys/Components/Steps/Controls/Checkbox/Checkbox';\r\nimport { TermsAndConditionsStyles as S } from './TermsAndConditions.styles';\r\nimport debounce from 'lodash/debounce';\r\nimport inRange from 'lodash/inRange';\r\nimport { Containers, StepStyles } from '@ys/Components/Shared/Step.styles';\r\nimport YSButton from '../../Shared/YSButton/YSButton';\r\nconst TermsAndConditions = () => {\r\n const { state, dispatch, setFormField } = useYSPContext();\r\n const textboxRef = useRef(null);\r\n const [attachedListener, setAttachedListener] = useState(false);\r\n const [hasScrolledToBottom, setHasScrolledToBottom] = useState(false);\r\n const trackScroll = (el) => {\r\n setHasScrolledToBottom(inRange(el.scrollTop + el.clientHeight, el.scrollHeight - 50, el.scrollHeight + 50));\r\n };\r\n const debouncedTrackScroll = debounce(trackScroll, 250);\r\n const trackScrollHandler = (ev) => {\r\n ev.target && debouncedTrackScroll(ev.target);\r\n };\r\n useEffect(() => {\r\n if (textboxRef.current && !attachedListener) {\r\n textboxRef.current.addEventListener('scroll', trackScrollHandler);\r\n setAttachedListener(true);\r\n }\r\n }, [textboxRef]);\r\n useEffect(() => {\r\n dispatch({\r\n type: 'set-footer',\r\n payload: {\r\n nextDisabled: !hasScrolledToBottom || !state.form.acceptedTs,\r\n },\r\n });\r\n }, [hasScrolledToBottom, state.form.acceptedTs]);\r\n return (React.createElement(StepStyles.Grid, null,\r\n React.createElement(Containers.Thin, null,\r\n React.createElement(S.Container, null,\r\n React.createElement(S.Title, null, state.labels['terms-and-conditions'] || 'Terms & Conditions'),\r\n React.createElement(S.TextContainer, { ref: textboxRef, dangerouslySetInnerHTML: { __html: state.labels['terms.details'] } }),\r\n React.createElement(Checkbox, { value: state.form.acceptedTs || false, label: state.labels['terms.accept'], onChange: () => setFormField('acceptedTs', !state.form.acceptedTs) }),\r\n React.createElement(YSButton, { icon: \"arrow\", disabled: !hasScrolledToBottom || !state.form.acceptedTs, onClick: () => {\r\n if (hasScrolledToBottom && state.form.acceptedTs) {\r\n dispatch({ type: 'next-step' });\r\n }\r\n } }, state.labels['accept'] || 'Accept')))));\r\n};\r\nexport default TermsAndConditions;\r\n","import { SolutionSubType } from '../../Context/types';\r\nexport const dummyData = {\r\n depth: 2,\r\n width: 3,\r\n length: 3,\r\n subType: SolutionSubType.None,\r\n groundwaterDepth: 1.5,\r\n name: 'jakestringer',\r\n email: 'JakeStringer@netconstruct.co.uk',\r\n telephone: '07111111111',\r\n companyName: 'NetConstruct',\r\n acceptedTs: true,\r\n schemeName: '12',\r\n siteName: '12',\r\n recaptchaToken: '03AFY_a8V5nqCVQ0sT6Rf9SIsbL58nOl8a-_qXRiKFWaT9dGT2Vp4lvs8q4ZkrIZbeAI72eUlN4YjRPfj76Ctk5qCEv5lG9nop4u6aIxbgU-k-wkRsgGEFw_aIO8Nk-HsV9CtKuDOiBJXXg6_DLFUlbJUWkB5px7-0l2tCDRSyTVB0UPzYCCfYNXUba_URwJX3EVzWoaCM_VQkQjhhIX0sxsgURTKPUms0rdkVLbfU7nMRoRZi2nDHJcu8zw43CSEkCGD_aXHxog_Mdeu-yQPip9CMcoVaBKWoNYn5JRDqqMUQ3b7iIOu63oxUddkkNaVbWfhm3NVf1VV7oBfzg1CWMgHdqKD5fNP2CzwTv3o-hzsbQ3YBnwul65du-oC14dDwdt5luZD3LuOVBPBqMCSTeegdBRgE0Q72bl3Bcru53xuSDlW5cBunSgYNdcxjku_TSC3UfaROiT5NmtXhdQVynni9hsUeoX1nacV9FLTF-eUs4_fEC6CHppYhB63f5GKCmUoxKPzrGFQV3ywiwcFTKz_asgM--QfMy_KQuIAthBY1vbJJHtdJMfY',\r\n postCode: 'ls15 7qp',\r\n endSafePanelsRequired: false,\r\n acceptedSoilModification: false,\r\n soilLayers: [\r\n {\r\n id: '3633',\r\n soilTypeId: 4,\r\n bgl: 0,\r\n description: 'Silt (Firm)',\r\n soilDensity: 19,\r\n saturatedDensity: 19,\r\n angleOfFriction: 28,\r\n wallFrictionFactor: 0,\r\n soilCohesion: 0,\r\n wallAdhesion: 0,\r\n },\r\n {\r\n id: '3889',\r\n soilTypeId: 2,\r\n bgl: 0.25,\r\n description: 'Road Construction',\r\n soilDensity: 21,\r\n saturatedDensity: 21,\r\n angleOfFriction: 40,\r\n wallFrictionFactor: 0,\r\n soilCohesion: 0,\r\n wallAdhesion: 0,\r\n },\r\n {\r\n id: '3889',\r\n soilTypeId: 2,\r\n bgl: 0.75,\r\n description: 'Peat',\r\n soilDensity: 21,\r\n saturatedDensity: 21,\r\n angleOfFriction: 40,\r\n wallFrictionFactor: 0,\r\n soilCohesion: 0,\r\n wallAdhesion: 0,\r\n },\r\n {\r\n id: '3835',\r\n soilTypeId: 2,\r\n bgl: 1.25,\r\n description: 'Clay (Soft)',\r\n soilDensity: 21,\r\n saturatedDensity: 21,\r\n angleOfFriction: 40,\r\n wallFrictionFactor: 0,\r\n soilCohesion: 0,\r\n wallAdhesion: 0,\r\n },\r\n {\r\n id: '3835',\r\n soilTypeId: 2,\r\n bgl: 1.47,\r\n description: 'Clay (Hard)',\r\n soilDensity: 21,\r\n saturatedDensity: 21,\r\n angleOfFriction: 40,\r\n wallFrictionFactor: 0,\r\n soilCohesion: 0,\r\n wallAdhesion: 0,\r\n },\r\n {\r\n id: '3890',\r\n soilTypeId: 5,\r\n bgl: 3,\r\n description: 'Ash',\r\n soilDensity: 21,\r\n saturatedDensity: 21,\r\n angleOfFriction: 40,\r\n wallFrictionFactor: 0,\r\n soilCohesion: 0,\r\n wallAdhesion: 0,\r\n },\r\n ],\r\n soilDisclaimer: true,\r\n soilInfoSource: 0,\r\n soilInfoSourceRef: '2',\r\n soilInfoSourceCompany: '2',\r\n groundwaterPresent: true,\r\n largeSurcharges: true,\r\n surchargeProfiles: [\r\n {\r\n surchargeDescription: 'Moving Plant up to 45Te',\r\n surchargeIcon: 2,\r\n surchargeSource: 2,\r\n surchargeType: 0,\r\n id: 1,\r\n },\r\n ],\r\n cultureCode: 'en-GB',\r\n};\r\n","import ApiService from '@core/api/services/ApiService';\r\nimport Loading from '@ys/Components/Loading/Loading';\r\nimport StepLoading from '@ys/Components/StepLoading/StepLoading';\r\nimport Groundwater from '@ys/Components/Steps/Conditions/Groundwater/Groundwater';\r\nimport GroundwaterDepth from '@ys/Components/Steps/Conditions/GroundwaterDepth/GroundwaterDepth';\r\nimport ProblematicGround from '@ys/Components/Steps/Conditions/ProblematicGround/ProblematicGround';\r\nimport SoilTypes from '@ys/Components/Steps/Conditions/SoilTypes/SoilTypes';\r\nimport Depth from '@ys/Components/Steps/Depth/Depth';\r\nimport Details from '@ys/Components/Steps/Details/Details';\r\nimport Dimensions from '@ys/Components/Steps/Dimensions/Dimensions';\r\nimport Landing from '@ys/Components/Steps/Landing/Landing';\r\nimport Location from '@ys/Components/Steps/Location/Location';\r\nimport NoSolutions from '@ys/Components/Steps/NoSolutions/NoSolutions';\r\nimport Solutions from '@ys/Components/Steps/Solutions/Solutions';\r\nimport SheetedSolution from '@ys/Components/Steps/Support/SheetedSolution/SheetedSolution';\r\nimport System from '@ys/Components/Steps/Support/System/System';\r\nimport AdjacentWater from '@ys/Components/Steps/Surcharges/AdjacentWater/AdjacentWater';\r\nimport LargeSurcharges from '@ys/Components/Steps/Surcharges/LargeSurcharges/LargeSurcharges';\r\nimport SlopingGround from '@ys/Components/Steps/Surcharges/SlopingGround/SlopingGround';\r\nimport Type from '@ys/Components/Steps/Type/Type';\r\nimport { ConditionStepID, DimensionsStepID, SoilGroundConditionsStepID, StepID, SupportStepID, SurchargeStepID, Tab, } from '@ys/Context/types';\r\nimport { AnimatePresence } from 'framer-motion';\r\nimport React, { useEffect, useState } from 'react';\r\nimport EndSafePanels from '../Steps/EndSafePanels/EndSafePanels';\r\nimport EndSafeSides from '../Steps/EndSafeSides/EndSafeSides';\r\nimport SoilProfiles from '../Steps/SoilProfiles/SoilProfiles';\r\nimport SoilSource from '../Steps/SoilProfiles/SoilSource/SoilSource';\r\nimport Summary from '../Steps/Solutions/YSP/Summary/Summary';\r\nimport YSPSolutions from '../Steps/Solutions/YSP/YSPSolutions';\r\nimport SurchargeDetails from '../Steps/Surcharges/SurchargeDetails/SurchargeDetails';\r\nimport TermsAndConditions from '../Steps/TermsAndConditions/TermsAndConditions';\r\nimport { dummyData } from './dummy';\r\nconst getYSPStep = (state) => {\r\n // Because of the different steps on both YS and YS+ using the same enum, there's a difference in the enum values //\r\n // Need to have some kind of middle man function to reconcile this before sending it to the backend //\r\n /*\r\n Landing = 0,\r\n Details = 1,\r\n Location = 2,\r\n Depth = 3,\r\n Dimensions = 4,\r\n EndSafe = 5,\r\n SoilProfiles = 6,\r\n SoilInfo = 7,\r\n Groundwater = 8,\r\n Surcharges = 9,\r\n Solutions = 10,\r\n SelectedSolution = 11,\r\n */\r\n switch (state.step) {\r\n default:\r\n case StepID.Landing:\r\n case StepID.Details:\r\n case StepID.Location:\r\n case StepID.Depth:\r\n // These steps are fine and already match up //\r\n return state.step;\r\n case StepID.TermsAndConditions:\r\n return StepID.Landing; // Landing step returns Terms & Conditions content //\r\n case StepID.Dimensions:\r\n switch (state.dimensionsStep) {\r\n default:\r\n case DimensionsStepID.Size:\r\n return state.step;\r\n case DimensionsStepID.Type:\r\n case DimensionsStepID.EndSafePanels:\r\n case DimensionsStepID.EndSafeSides:\r\n return 5;\r\n }\r\n case StepID.SoilsGroundConditions:\r\n switch (state.soilGroundConditionsStep) {\r\n default:\r\n case SoilGroundConditionsStepID.SoilProfiles:\r\n return 6;\r\n case SoilGroundConditionsStepID.SoilInformationSource:\r\n return 7;\r\n case SoilGroundConditionsStepID.Groundwater:\r\n case SoilGroundConditionsStepID.GroundwaterDepth:\r\n return 8;\r\n }\r\n case StepID.Surcharges:\r\n return 9;\r\n case StepID.Solutions:\r\n return 10;\r\n case StepID.SelectedSolution:\r\n return 11;\r\n }\r\n};\r\nconst StepRouter = (props) => {\r\n const [initialLoad, setInitialLoad] = useState(true);\r\n const { state, dispatch } = props;\r\n useEffect(() => {\r\n setInitialLoad(false);\r\n }, []);\r\n useEffect(() => {\r\n async function fetchStep() {\r\n dispatch({ type: 'get-step' });\r\n const params = {\r\n culture: state.cultureCode,\r\n step: state.tab === Tab.YourSolutionPlus ? getYSPStep(state) : state.step,\r\n };\r\n const response = await ApiService.request({\r\n controller: state.tab === Tab.YourSolution ? 'ISM' : 'YSP',\r\n slug: 'step',\r\n method: 'GET',\r\n params,\r\n });\r\n // Check any additional data that needs to be loaded for this step //\r\n if (state.tab === Tab.YourSolutionPlus) {\r\n if (state.step === StepID.SoilsGroundConditions &&\r\n state.soilGroundConditionsStep === SoilGroundConditionsStepID.SoilProfiles &&\r\n state.soilProfiles.length === 0) {\r\n const soilRequest = await ApiService.request({\r\n controller: 'YSP',\r\n slug: 'soilall',\r\n method: 'GET',\r\n });\r\n if (soilRequest.status.success) {\r\n dispatch({ type: 'set-soil-profiles', payload: soilRequest.result });\r\n }\r\n }\r\n if (state.step === StepID.Surcharges &&\r\n state.surchargeStep === SurchargeStepID.LargeSurcharge &&\r\n state.surcharges.length === 0) {\r\n // Fetch the surcharges //\r\n if (state.surcharges.length === 0) {\r\n const surchargeRequest = await ApiService.request({\r\n controller: 'YSP',\r\n slug: 'surcharges',\r\n method: 'GET',\r\n });\r\n if (surchargeRequest.status.success) {\r\n dispatch({\r\n type: 'set-surcharges',\r\n payload: surchargeRequest.result,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n dispatch({ type: 'get-step-success', payload: response });\r\n }\r\n setTimeout(() => {\r\n // Always re-fetch step data\r\n fetchStep();\r\n }, initialLoad ? 0 : 350);\r\n async function submit() {\r\n if (state.tab === Tab.YourSolution) {\r\n try {\r\n dispatch({ type: 'submit' });\r\n const params = {\r\n ...state.form,\r\n cultureCode: state.cultureCode,\r\n };\r\n const response = await ApiService.request({\r\n controller: 'ISM',\r\n slug: 'submit',\r\n method: 'POST',\r\n params,\r\n });\r\n dispatch({ type: 'submit-success', payload: response });\r\n }\r\n catch (e) {\r\n dispatch({\r\n type: 'submit-success',\r\n payload: {\r\n questionnaireID: -1,\r\n firstReason: e.message,\r\n responseMessage: e.message,\r\n successful: false,\r\n technicalMessage: e.message,\r\n solutions: [],\r\n emailAddress: '',\r\n telNo: '',\r\n },\r\n });\r\n }\r\n }\r\n else {\r\n dispatch({ type: 'submit' });\r\n const params = state.globalStep === 1\r\n ? dummyData\r\n : {\r\n ...state.form,\r\n cultureCode: state.cultureCode,\r\n fetchingNewSolutions: state.fetchingNewSolutions,\r\n returnNoResults: false, // Flip to test the 'none of our boxes' screen on the results page //\r\n };\r\n const response = await ApiService.request({\r\n controller: 'YSP',\r\n slug: 'getsolutions',\r\n method: 'POST',\r\n params,\r\n });\r\n if (response.status.success) {\r\n // Wait a little bit just to show the animation, to not be jarring //\r\n setTimeout(() => {\r\n dispatch({ type: 'submit-ysp-success', payload: response.result });\r\n }, 2500);\r\n }\r\n }\r\n }\r\n async function selectSolution() {\r\n dispatch({ type: 'submit' });\r\n const params = {\r\n ...state.form,\r\n cultureCode: state.cultureCode,\r\n fetchingNewSolutions: false,\r\n };\r\n const response = await ApiService.request({\r\n controller: 'YSP',\r\n slug: 'submit',\r\n method: 'POST',\r\n params,\r\n });\r\n if (response.status.success) {\r\n // Wait a little bit just to show the animation, to not be jarring //\r\n setTimeout(() => {\r\n dispatch({ type: 'submit-solution-success', payload: response.result });\r\n }, 2500);\r\n }\r\n }\r\n // Submit our state data on the final step, this will automatically grab all of the solutions\r\n if (state.step === StepID.Solutions && state.formDirtyAfterSolutionsFetch) {\r\n submit();\r\n }\r\n // Used on YSP to submit the questionnaire with the selected solution to gain graph data etc. //\r\n if (state.step === StepID.SelectedSolution && state.hasChangedSelectedSolution) {\r\n selectSolution();\r\n }\r\n }, [\r\n state.step,\r\n state.tab,\r\n state.dimensionsStep,\r\n state.soilGroundConditionsStep,\r\n state.surchargeStep,\r\n ]);\r\n const getComponent = () => {\r\n // return ;\r\n if (state.loading) {\r\n return React.createElement(StepLoading, null);\r\n }\r\n switch (state.step) {\r\n default:\r\n case StepID.Landing:\r\n return React.createElement(Landing, null);\r\n case StepID.Details:\r\n return React.createElement(Details, null);\r\n case StepID.Location:\r\n return React.createElement(Location, null);\r\n case StepID.Depth:\r\n return React.createElement(Depth, null);\r\n case StepID.Dimensions:\r\n switch (state.dimensionsStep) {\r\n default:\r\n case DimensionsStepID.Size:\r\n return React.createElement(Dimensions, null);\r\n case DimensionsStepID.Type:\r\n return React.createElement(Type, null);\r\n case DimensionsStepID.EndSafePanels:\r\n return React.createElement(EndSafePanels, null);\r\n case DimensionsStepID.EndSafeSides:\r\n return React.createElement(EndSafeSides, null);\r\n }\r\n case StepID.Support:\r\n switch (state.supportStep) {\r\n default:\r\n case SupportStepID.System: {\r\n return React.createElement(System, null);\r\n }\r\n case SupportStepID.SheetedSolution: {\r\n return React.createElement(SheetedSolution, null);\r\n }\r\n }\r\n case StepID.Type:\r\n return React.createElement(Type, null);\r\n case StepID.Conditions:\r\n switch (state.conditionStep) {\r\n default:\r\n case ConditionStepID.ProblematicGround:\r\n return React.createElement(ProblematicGround, null);\r\n case ConditionStepID.SoilType:\r\n return React.createElement(SoilTypes, null);\r\n case ConditionStepID.GroundWater:\r\n return React.createElement(Groundwater, null);\r\n case ConditionStepID.GroundWaterDepth:\r\n return React.createElement(GroundwaterDepth, null);\r\n }\r\n case StepID.Surcharges:\r\n switch (state.surchargeStep) {\r\n default:\r\n case SurchargeStepID.LargeSurcharge:\r\n return React.createElement(LargeSurcharges, null);\r\n case SurchargeStepID.SlopingGround:\r\n return React.createElement(SlopingGround, null);\r\n case SurchargeStepID.AdjacentWater:\r\n return React.createElement(AdjacentWater, null);\r\n case SurchargeStepID.ZoneOfInfluence:\r\n return React.createElement(SurchargeDetails, null);\r\n }\r\n case StepID.Solutions: {\r\n if (state.loadingResults) {\r\n return React.createElement(Loading, null);\r\n }\r\n if (state.tab === Tab.YourSolution) {\r\n if (state.results !== undefined && state.results?.successful === false) {\r\n return React.createElement(NoSolutions, null);\r\n }\r\n return React.createElement(Solutions, null);\r\n }\r\n else {\r\n if (state.yspResults !== undefined && !state.yspResults?.success) {\r\n return React.createElement(\"h1\", null, \"API needs implementing for this\");\r\n }\r\n return React.createElement(YSPSolutions, null);\r\n }\r\n }\r\n case StepID.SelectedSolution: {\r\n if (state.loadingResults || !state.selectedSolution) {\r\n return React.createElement(Loading, null);\r\n }\r\n return React.createElement(Summary, null);\r\n }\r\n // YourSolution+ //\r\n case StepID.TermsAndConditions:\r\n return React.createElement(TermsAndConditions, null);\r\n case StepID.SoilsGroundConditions:\r\n switch (state.soilGroundConditionsStep) {\r\n default:\r\n case SoilGroundConditionsStepID.SoilProfiles:\r\n return React.createElement(SoilProfiles, null);\r\n case SoilGroundConditionsStepID.SoilInformationSource:\r\n return React.createElement(SoilSource, null);\r\n case SoilGroundConditionsStepID.Groundwater:\r\n return React.createElement(Groundwater, null);\r\n case SoilGroundConditionsStepID.GroundwaterDepth:\r\n return React.createElement(GroundwaterDepth, null);\r\n }\r\n }\r\n };\r\n return (React.createElement(AnimatePresence, { exitBeforeEnter: true },\r\n React.createElement(\"div\", { style: { height: '100%' }, \r\n // Need to have a unique key for every step to help Framer track new components - excuse the horrible long key but it's needed! //\r\n key: state.loading\r\n ? 'YourSolution_LoadingSpinner'\r\n : `YourSolution_Step_${state.step}_${state.conditionStep}_${state.supportStep}_${state.surchargeStep}_${state.dimensionsStep}_${state.soilGroundConditionsStep}_${state.loading}_${state.loadingResults}` }, getComponent())));\r\n};\r\nexport default StepRouter;\r\n","var _defs, _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgYspBg(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 1920,\n height: 1080\n }, props), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"ysp-bg_svg__a\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Rectangle 68\",\n transform: \"translate(-11478 -8295.74)\",\n fill: \"#fff\",\n d: \"M0 0h1920v1080H0z\"\n })))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"Mask Group 9\",\n transform: \"translate(11478 8295.74)\",\n opacity: 0.1,\n clipPath: \"url(#ysp-bg_svg__a)\"\n }, /*#__PURE__*/React.createElement(\"image\", {\n \"data-name\": \"MicrosoftTeams-image (3)\",\n width: 2130,\n height: 1458,\n transform: \"translate(-10831 -8001.74)\",\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAADT4AAAkRCAIAAABUVYAkAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAP+lSURBVHhe7N3rdqO6sgbQnfP+75xTphQt2oCjC3Z8mfMHG2TVZ7lbiRlNjbW/vr+//wcAAAAAAAAAAAA8yv+V/wUAAAAAAAAAAAAeQuseAAAAAAAAAAAAPJTWPQAAAAAAAAAAAHgorXsAAAAAAAAAAADwUFr3AAAAAAAAAAAA4KG07gEAAAAAAAAAAMBDad0DAAAAAAAAAACAh9K6BwAAAAAAAAAAAA+ldQ8AAAAAAAAAAAAeSuseAAAAAAAAAAAAPJTWPQAAAAAAAAAAAHgorXsAAAAAAAAAAADwUFr3AAAAAAAAAAAA4KG07gEAAAAAAAAAAMBDad0DAAAAAAAAAACAh9K6BwAAAAAAAAAAAA+ldQ8AAAAAAAAAAAAeSuseAAAAAAAAAAAAPJTWPQAAAAAAAAAAAHgorXsAAAAAAAAAAADwUFr3AAAAAAAAAAAA4KG07gEAAAAAAAAAAMBDad0DAAAAAAAAAACAh9K6BwAAAAAAAAAAAA+ldQ8AAAAAAAAAAAAeSuseAAAAAAAAAAAAPJTWPQAAAAAAAAAAAHior+/v73IKAAAAALyRr6+vcva///lnQAAAAAB4Klr3AAAAAOB9XLXrxWX+A2A9AQAAAACegX+wAwAAAIDXduO/rrdu3YujfwwEAAAAgCehdQ8AAAAAXs+Ndr219X9sT/ceAAAAADwPrXsAAAAA8DJqx17jP+ttW/eCfxIEAAAAgD/3f+V/AQAAAIAXMdl7V3v4AAAAAIC/onUPAAAAAF7D+j+hNywTdO8BAAAAwN/SugcAAAAAn6V272ngAwAAAIC/onUPAAAAAD7F9/d3tutl9169BAAAAAAeTOseAAAAAHyi2renew8AAAAAHk/rHgAAAAB8kPV/aS/OQ5zo3gMAAACAB9O6BwAAAAAfTfceAAAAADye1j0AAAAA+HS69wAAAADgwbTuAQAAAMBn+V79f+ZWuvcAAAAA4JG07gEAAAAAF7r3AAAAAOBhtO4BAAAAAIXuPQAAAAB4DK17AAAAAPBxdv8/c5PuPQAAAAB4AK17AAAAAMA/dO8BAAAAwL1p3QMAAACAT3TjP7wXaveeBj4AAAAAuAetewAAAADAjuzeu93hBwAAAACM0boHAAAAAOyrfXu69wAAAADgXFr3AAAAAOBDtfwX9WJOiBPdewAAAABwIq17AAAAAMAvdO8BAAAAwLm07gEAAAAAv9O9BwAAAAAn0roHAAAAAJ/ru+H/M7fSvQcAAAAAZ9G6BwAAAAC00r0HAAAAAKfQugcAAAAAH63rP7wXdO8BAAAAwDytewAAAABAH917AAAAADBJ6x4AAAAA0N2Hp3sPAAAAAGZo3QMAAAAALnTvAQAAAMDDaN0DAAAAAC6+v7917wEAAADAY2jdAwAAAACKme49DXwAAAAA0E7rHgAAAADwn+HuvYFCAAAAAPhYWvcAAAAAgH9kE15XH17t2+uqAgAAAICPpXUPAAAAALj2vejt3gtxonsPAAAAAH6ldQ8AAAAAuNi23PV27wXdewAAAADQQuseAAAAAHCx26inew8AAAAA7kHrHgAAAABQ6N4DAAAAgMfQugcAAAAA/Ef3HgAAAAA8gNY9AAAAAOAf2ah31XWnew8AAAAATqR1DwAAAAC49r3QvQcAAAAAd6J1DwAAAADYp3sPAAAAAO5E6x4AAAAAcEj3HgAAAADcg9Y9AAAAAOAW3XsAAAAAcDqtewAAAADAL46697pa8XTvAQAAAECldQ8AAAAA+N1u99528LaYH8dLx58GPgAAAAA+m9Y9AAAAAKDJbqPeWPdebxUAAAAAvBmtewAAAABAq7O693K+7j0AAAAAPpbWPQAAAACgw1ndeyFOdO8BAAAA8Jm07gEAAAAAfXYb9XYHb9O9BwAAAMDH0roHAAAAAHTLRr2rrjvdewAAAADQSOseAAAAADDie7HtutO9BwAAAAC/0roHAAAAAIzbdu/t9vPdpnsPAAAAgE+jdQ8AAAAAuBjunNO9BwAAAAC9tO4BAAAAABcD/XaV7j0AAAAA6KJ1DwAAAAC4+Pr6mu/ey/a7pHsPAAAAAI5o3QMAAAAALmrv3WT3XrlY5EhXoO49AAAAAD6B1j0AAAAAoJjp20u73Xu9sTE/jrr3AAAAAHhjWvcAAAAAgP/Mt83tNurp3gMAAACANa17AAAAAMA/nq17r6sKAAAAAF6C1j0AAAAA4NpTde/1VgEAAADA89O6BwAAAADsOKt77yphoHsv53dVAQAAAMCT07oHAAAAAOw7pXuv9t5V25HbMiROdO8BAAAA8Da07gEAAAAAh07pmYuQye69oHsPAAAAgHeidQ8AAAAAuEX3HgAAAACcTuseAAAAAPCL2jM30zanew8AAAAAKq17AAAAAMDvvhdxonsPAAAAAOZp3QMAAAAAWuneAwAAAIBTaN0DAAAAADro3gMAAACAeVr3AAAAAIA+9+ve68rUvQcAAADA69K6BwAAAAB0u1P33nbwtpgfR917AAAAALwcrXsAAAAAwIj5trndRj3dewAAAAB8Aq17AAAAAMAg3XsAAAAAMEbrHgAAAAAw7tm697qqAAAAAOCvaN0DAAAAAKac1b13lTDWvddbBQAAAAB/QuseAAAAADDrlO69bdfdduS2Ol/3HgAAAABPTuseAAAAAHCC7zP+L2tP6d4LcTKzDAAAAAC4N617AAAAAMA5Tmmbi4TJ7r0wvwwAAAAAuCutewAAAADAmXTvAQAAAMCvtO4BAAAAACfTvQcAAAAAt2ndAwAAAADOp3sPAAAAAG7QugcAAAAA3IXuPQAAAAA4onUPAAAAALiX+3XvdWXq3gMAAADg2WjdAwAAAADu6E7de9vB22J+HHXvAQAAAPAktO4BAAAAAPc13za326inew8AAACA16V1DwAAAAC4O917AAAAALCmdQ8AAAAAeITaNjfcOZeNelfluvcAAAAAeEVa9wAAAACAB8m2ud5mu7Wo3Zb3Bsb8OEZJVxUAAAAAnEjrHgAAAADwOLXNbqZt7qzuvd4qAAAAADiL1j0AAAAA4KG+F3Hy5917OV/3HgAAAACPp3UPAAAAAPgDT9K9F+JE9x4AAAAAD6Z1DwAAAAD4G/Ntc5Ew2b0XdO8BAAAA8Hha9wAAAACAP6N7DwAAAIDPpHUPAAAAAPhLuvcAAAAA+EBa9wAAAACAP3a/7r2uTN17AAAAADyM1j0AAAAA4O/dqXtvO3hbzI+j7j0AAAAA7k3rHgAAAADwFObb5nYb9XTvAQAAAPCEtO4BAAAAAM+its0Nd87p3gMAAADgJWjdAwAAAACeSLbN9TbbreneAwAAAOD5ad0DAAAAAJ5LbbOb7N67Kte9BwAAAMDz0LoHAAAAADyd70WcDHfOZYLuPQAAAACek9Y9AAAAAOBJzXfOndi911UFAAAAALdp3QMAAAAAntfzdO/1VgEAAADADVr3AAAAAICn9iTdezlf9x4AAAAAp9C6BwAAAAA8uyfp3gtxonsPAAAAgHla9wAAAACAFzDfNhcJk917QfceAAAAAKfQugcAAAAAvAbdewAAAAC8Da17AAAAAMDLqG1zw51zR917XYG69wAAAACYpHUPAAAAAHgl2Ta37cBrt9u91xsY8+Ooew8AAACAMVr3AAAAAIAXk212vc12a7u1uvcAAAAAeBitewAAAADA69G9BwAAAMBL07oHAAAAALyk2mY32b13Va57DwAAAIAH0LoHAAAAALyq70WcDHfOZYLuPQAAAAAeTOseAAAAAPDa5jvndO8BAAAA8GBa9wAAAACAl6d7DwAAAIDXonUPAAAAAHgHT9W911UFAAAAwAfSugcAAAAAvInn6d7rrQIAAADg02jdAwAAAADex5N07+V83XsAAAAAHNG6BwAAAAC8ldq9N9w5d0r3XoiT4TUAAAAA8N607gEAAAAA7ybb5uJ4evdeV6DuPQAAAACOaN0DAAAAAN5Qdtqd3r3XGxjz46h7DwAAAIArWvcAAAAAgPeUbXa9zXZru7W69wAAAACYp3UPAAAAAHhbtc1O9x4AAAAAT0XrHgAAAADwzr4XcaJ7DwAAAIDnoXUPAAAAAHh/p3TvXZXr3gMAAABgmNY9AAAAAOAjzHfvBd17AAAAAJxC6x4AAAAA8CnmO+d07wEAAABwCq17AAAAAMAH0b0HAAAAwDPQugcAAAAAfBbdewAAAAD8Oa17AAAAAMDHqZ1zw81zJ3bvdVUBAAAA8B607gEAAAAAnyg753r77dbO6t6bWQMAAAAAL0rrHgAAAADwobJnbqZzblvbm1bnD68BAAAAgFekdQ8AAAAA+Fz3695rD4z5IU7aSwAAAAB4dVr3AAAAAICPlp12eSxDnba1l168zsCYH0fdewAAAAAfQuseAAAAAPDpapvdid17QfceAAAAAEe07gEAAAAAXNrmJjvnolz3HgAAAACNtO4BAAAAABSndO9dleveAwAAAGBL6x4AAAAAwH/mu/eC7j0AAAAAbtO6BwAAAADwj/nOOd17AAAAANymdQ8AAAAA4FrtnBtuntO9BwAAAMANWvcAAAAAAHZk51xvv92a7j0AAAAAjmjdAwAAAADYl512uvcAAAAAOJ3WPQAAAACAQ7r3AAAAALgHrXsAAAAAALc8VfdeVxUAAAAAT0vrHgAAAADAL56ne29mDQAAAAA8D617AAAAAAC/qz1zp3fvtQfOrwEAAACAJ6F1DwAAAACgyfciToY752rvXZWZXd17IU507wEAAAC8NK17AAAAAAAdJjvnonxbuzt4g+49AAAAgFendQ8AAAAAoI/uPQAAAAAmad0DAAAAAOh2SvfeVbnuPQAAAIDPoXUPAAAAAGBE7Zwba56L8nBVux25LebHcWwBAAAAAPwhrXsAAAAAAIOyc663325N9x4AAADAZ9K6BwAAAAAwLjvtdO8BAAAA0EXrHgAAAADAFN17AAAAAPTSugcAAAAAMEv3HgAAAABdtO4BAAAAAJxA9x4AAAAA7bTuAQAAAACcQ/ceAAAAAI207gEAAAAAnKZ22p3evdceWLv32ksAAAAAeDCtewAAAAAAZ/pexMlw51yUX9VmZntgTM6j7j0AAACA56R1DwAAAADgfNk8d2L3Xujt3svJuvcAAAAAnpDWPQAAAACAu6jde2PNc6d074U4GVsAAAAAAPejdQ8AAAAA4F6ycy6OM917V7W9abr3AAAAAJ6Q1j0AAAAAgDvKTruZ7r1tbW9azI+j7j0AAACA56F1DwAAAADgvrLTrrffbk33HgAAAMCb0boHAAAAAHB3uvcAAAAAWNO6BwAAAADwCLr3AAAAAKi07gEAAAAAPIjuPQAAAACS1j0AAAAAgMfRvQcAAABA0LoHAAAAAPBQtdNO9x4AAADAx9K6BwAAAADwaN+LONG9BwAAAPCZtO4BAAAAAPyNO3XvtQfq3gMAAAD4K1r3AAAAAAD+TG2eG+uf2+3e2w7eEJPjuLy/Bj4AAACAx9G6BwAAAADwl7J5rqvfbm23cKB7b3gBAAAAAAzQugcAAAAA8MeybW64eW63sCutTh5bAAAAAAC9tO4BAAAAAPy9U7r3rmp7u/dCnLSXAAAAADBM6x4AAAAAwFPITrs8lqEeS+vddW1vWsyPo+49AAAAgHvTugcAAAAA8Cyy0663325N9x4AAADAS9C6BwAAAADwRHTvAQAAAHwCrXsAAAAAAM9F9x4AAADA29O6BwAAAADwdHTvAQAAALw3rXsAAAAAAM+odtrp3gMAAAB4P1r3AAAAAACe1PciTr4WOdglyq8KtyO31QXkJQAAAACn0LoHAAAAAPDUsnmut+WuOurea0/TvQcAAABwOq17AAAAAADPLpvtzu3e60qLyXHUvQcAAABwFq17AAAAAAAvIDvtuvrt1nYLde8BAAAA/BWtewAAAAAAr+F5uvfaSwAAAADYpXUPAAAAAOBlnNK9d1U70L03vAAAAAAAktY9AAAAAIBXkm1zw81zUbit7Uqrk8cWAAAAAEDQugcAAAAA8GKyea6r3+7KfPdeiBPdewAAAABjtO4BAAAAALye7LTLYxnqtK3tTdO9BwAAADBM6x4AAAAAwEvSvQcAAADwurTuAQAAAAC8qtppp3sPAAAA4LVo3QMAAAAAeGHfizj5WuRglyi/KtyO3FYXkJcAAAAA/ErrHgAAAADAy8vmud6Wu0r3HgAAAMCDad0DAAAAAHgH2Wynew8AAADgJWjdAwAAAAB4E3fq3mtP070HAAAA0EjrHgAAAADA+7hH915XWkyOo+49AAAAgNu07gEAAAAAvJXstOvqt1vbLdS9BwAAAHAurXsAAAAAAO/mlO69q1rdewAAAAAn0roHAAAAAPCG5rv3trVdaTE5jjG/vQQAAADgc2jdAwAAAAB4T9lp19Vvd+WU7r2ZBQAAAAC8K617AAAAAABvK9vmZprntrVdaXXy8AIAAAAA3pLWPQAAAACAd7Zunhvrn5vv3gtxMvbuAAAAAG9J6x4AAAAAwJurzXNx/JPuvZAL0L0HAAAAkLTuAQAAAAB8hGy2070HAAAA8Ay07gEAAAAAfArdewAAAABPQuseAAAAAMAH0b0HAAAA8Ay07gEAAAAAfBbdewAAAAB/TuseAAAAAMDHuVP3Xnua7j0AAADgw2ndAwAAAAD4RPfo3utKi8lx1L0HAAAAfCatewAAAAAAHyo77br67dZ2C3XvAQAAALTQugcAAAAA8LlO6d67qtW9BwAAAPArrXsAAAAAAB9tvntvW9uVFpPjqHsPAAAA+Cha9wAAAAAAPl122uVxrIXurO699hIAAACAl6Z1DwAAAACA/zrtulru1k7p3ht+dwAAAIDXonUPAAAAAICL78XX3P957mT3Xk4ee3cAAACAF6J1DwAAAACA//x5916IE917AAAAwHvTugcAAAAAwD+y2S6PZajHtrA3SvceAAAA8Pa07gEAAAAAcE33HgAAAMBdad0DAAAAAGCH7j0AAACA+9G6BwAAAADAvjt177Wn6d4DAAAA3pXWPQAAAAAADt2je68rLSbHUfceAAAA8Ga07gEAAAAAcEt22nX1263tFureAwAAAD6c1j0AAAAAAH5xSvfeVa3uPQAAAOCTad0DAAAAAOB36+69gRa6KMzacr3YjtwQk+M48NYAAAAAT0jrHgAAAAAATWqnXVfL3ZruPQAAAICkdQ8AAAAAgFbfi6/p//PccrHoiorJcdS9BwAAALw6rXsAAAAAAPR5ku699hIAAACAZ6N1DwAAAACAbs/QvTf87gAAAAB/TuseAAAAAAAjsnNuuH9uW9gVVSePvTsAAADA39K6BwAAAADAoD/v3gtxonsPAAAAeDla9wAAAAAAGJfNdnksQz22hb1RuvcAAACAV6R1DwAAAACAKbr3AAAAAHpp3QMAAAAAYNaduvfa03TvAQAAAK9F6x4AAAAAACdYd+8NtNDtdu9tB2+IyXEceGsAAACAx9O6BwAAAADAObLTbum462i5q3aruqJichx17wEAAADPT+seAAAAAACnqZ12M917V4W69wAAAID3o3UPAAAAAD7CWB8VDKjtd2O7Lqq2hV1RMTmOA28NAAAA8DBa9wAAAAAAONnSfXdptstjGe2xLeyKislx1L0HAAAAPC2tewAAAADwMrIRqlzA08tmu66Wu7VtYVdU/rCMvTUAAADAvWndAwAAAADgXnTvAQAAAOzSugcAAAAAwB09SfdeewkAAADAA2jdAwAAAADgvp6he2/43QEAAADuQeseAAAAAAB3l51zw/1z28KuqDp57N0BAAAATqd1DwAAAACAR/jz7r0QJ7r3AAAAgGegdQ8AAAAAuNDPxANks10eB7ZcFpaLRW+U7j0AAADgSWjdAwAAAAAutk1RcA+50+I4tuW2Vb1RMTmOdjsAAADwt7TuAQAAAAD/dVPFUUsT91Y77bpa7qrdqq6omBxHWx0AAAD4Q1r3AAAAAICLyW4q6JLbLIztt1perhddUTE5ju3zAQAAAM6ldQ8AAAAAKA1M34s4z2O+BHcyud9qebledEXF5Dja6gAAAMCf0LoHAAAAAPwjm5+6WqBg2OR+2xZ2RcXkONrqAAAAwONp3QMAAAAArk12U0GXyf22LeyKislxtNUBAACAB9O6BwAAAADsmOymgi6T+21b2BUVk+NoqwMAAACPpHUPAAAAAD5d9i1tZfNTHnU1cW/r/VaGemwLu6JichztcwAAAOBhtO4BAAAAAIdq89NwQxW0y202vNm2hV1RMTmO9jkAAADwGFr3AAAAAIBbvhczDVXQbr3ZBvbbdpd27duYHMflnW11AAAA4L607gEAAAAAv1s3VJUhuI+62cb227aqKycm59FWBwAAAO5K6x4AAAAA0CSbmbQ08QB1m43tt21VV06dPPDWAAAAAI207gEAAAAArbKlaaybCrrUbTa237ZVOdIYFZNDnDTOBwAAAOildQ8AAAAA6JD9T3GyNEHpauKO6marJ122VTHSFRWT42ifAwAAAPegdQ8AAAAA6JP9T3miq4m7yj0WxjbbblVXVEyO48BbAwAAANymdQ8AAAAAGJH9T2MNVdAu9tjMZsuqq8KuqJgcx/b5AAAAAC207gEAAAAAFwOdSTMNVdBlZrNF1bawKyomx9E+BwAAAE6kdQ8AAAAAuOjqZKqyaqwWukxutm1hV1RMjqN9DgAAAJxF6x4AAAAAUGQnU29zUlaN1UKX9WYrQz22hV1RMTmONjkAAABwCq17AAAAAMB/vhe9zUm1ZKAWuuQeG95p28KuqJgcR5scAAAAmKd1DwAAAAC4NtAXFSVZNVALXdY7bWCzbbdo16aNyXEceF8AAACANa17AAAAAMCOrmamKqvGaqFd3Wljm21b1ZUTk+NokwMAAAAztO4BAAAAAPtmmqLGaqFd3WMzG7VcLLpyYnIcbXIAAABgmNY9AAAAAOBitwkpm5l6+5OyqqsRCgbUPTa22bZVXTkxOY4xv70EAAAAoNK6BwAAAABcHDUtxfjRSzdkSR57a6Fd3ZwDuzRsq7pyYnIebXIAAACgl9Y9AAAAAKDIDqTdJqSB5qRaorGJu6r7dmynbatqYLm+qZY3zgcAAABIWvcAAAAAgP98L3abkI7Gb6hpA7XQbnKnbauWvNaonBwnNjkAAADQTuseAMDL+PpRrgEA4G6OmpaOxm/LqrFaaDez07LqqrArKibHsX0+AAAA8OG07gEAPLvl4dFFPgfafZ4EAACnO2pa6mpmqrJqrBbazey0qNoWdkXF5Dja5AAAAEALrXsAAE/q68fy8OiivOBpEAAAjxJ3nru3nTnee0eaVUeZcJbJnbYt7IqKyXG0yQEAAIBfad0DAHguXz++f5QX/pXjMS0vAQDgTuLOM29Qy/WP5V61uzWqliyR7ma5l9xpeRzYadu93bXbY3IcB94XAAAA+Cha9wAAnsXlgdJvHXtXYlpWlWsAALiDvEHdve08Gr8h0/LErSz3kxts2W4jO21b1ZUTk+NohwMAAAA3aN0DAHgK+UQnn+60q1UeCAEAcG9Ht51jt6NZ5VaWu6obbGaXlotFV05MjqMdDgAAABzRugcA8Nry0VEePRMCAOCujvqWuvqZqvWtbBmCs9UNNrNLy8WiKycmx9EOBwAAAHZp3QMAeGH50Kg+OsqTPAcAgHs46lsauxe9uqGFe6gbbGynbau6cmJyHO1wAAAAYEvrHgDAO/hefC1PPfOkvAAAAEPylnL3xjJvOLcvjd2LZslAIbSrG2xsp22runJichztcAAAAOCK1j0AgJfxtTzRLBc/1k+M8jyn5UmOAwDAueKGM+85y/XK0fgNteRyC+smlvuo22xgi4ZtVVdOTI6j7Q0AAACsad0DAHgr34uZJ1IAANDo6IZz4Eb0che79DYN1EKj3F1hbJttq2pgub4pJsexfT4AAADw9rTuAQC8vN0HSDmYx6tXAQDgLHnDWS5WjsZvW9/EliE4VeyumW22rVryWqNiZp7Y4QAAAEDQugcA8CzqU5wW+aipXByoD5DanyQBAECvo7vNsbvQrHIHy13NbLPdqvaomBnixA4HAAAAtO4BALyDowdF+VgoXsrj7hwAAEjDt4t5t1kuVsbuQtd3sGUIzjazzXY3dldUTI5j+3wAAADgLWndAwD4e/d+YFOfIY09lwIA4EPsNiQ1OqqN8XypXLfJkoFCaLfeZr07LaqysFwvtiM3xOQ49r4vAAAA8E607gEAvInbT4kuj5UmnksBAPAh4nYxjmO3i8st5/5N6dH4DbUkjr210Ci32WXj9m/RsK3qyonJcbS9AQAA4GNp3QMA+CD1MVKeeEQEAMBavVfMyzFHrUtH4zdEScgT967cSd1dY9tsW9WVE5PjaHsDAADAZ9K6BwDwPloeEcWcnFZPygsAAHy8vD/Me8UyNOToPnPs/jOrxmqhRd1dM1u0XCy6cmJyHG1vAAAA+EBa9wAAPlE+SQr1pLwAAMBni/vDvEUs16OOQnK8Nz+rTlkY7Kq7a2ybbau6cmJyHG1vAAAA+DRa9wAA3kr786GYWSe3VwEA8Ani/rCc3WwnypeOJuRN5vbVy21o//1nlgwUQqO6u8a22baqKycmx9H2BgAAgI+idQ8A4KN9L7785/cAADgwc6O43Gzudy8djd+QJXnsrYUWdVsO7M+wrerKiclxtLcBAADgc2jdAwB4NwMPmWrJQC0AAO8t7g8nO4qObjLduPKEcmuFsT22rerKiclxHHhfAAAA4BVp3QMA4OJ7UR9QeVYEAECVd4l5kiO98iazXKwcjd8QJVk1UAstJvfYtqorJybH0d4GAACAT6B1DwDgDY09YQq1cDgBAIA3UxuJJjuKju4wx+48s2qsFlrM7LFtVY40RsXkODZOBgAAAF6X1j0AAP7xvfj6eUblcREAAPUWMc+H7xJryJWxzKw6yoR56z3Wu822OzNGtoNHYmYcl7e1vQEAAOBtad0DAHgNX8sTo3LRZuYxT32klCfDOQAAvI3aS1RPluE+R7eXMZ4vles2WTJQCI3qHhvYZllyVdWeEzPzpHE+AAAA8HK07gEAvK3Lw6WJp5i1vJ6UFwAA+FRxWxjHvEXMkQHL3eX+7eXR+A21JI69tdCi7rGx/bmtas/J8jixtwEAAOAtad0DAHgK+TzmHiL5a1GuO9XyyRwAAN5DbSSqJ8twt7y9LBcrR+M3REnIE/er3EPdWmN7bFvVlROT42hvAwAAwPvRugcA8Hq+Ov8zJzE5DD/pWZfP5AAA8B6u7g9zcEANuXI0fltWjdXCr+rWmtmf5WLRlROT42hvAwAAwJvRugcA8Mce9vQlnwwNv12UZ8JkDgAA7yFuC8vZzXvafOloQt5blouVsXvO9f1qGYLz1K01tse2VV05MTmO9jYAAAC8E617AAAf5Hsx87Cnlk/mAADwTmZuDrN2Wx7jA7FZMlAILerWGttj26qunJgcR3sbAAAA3obWPQCAt/W1KBcr+XBo96UWUZ4JkzkAALyNenNYrjstN5j75QOxWTJQCC3q1hrbY9uqrpyYHEd7GwAAAN6D1j0AgDdUnyQdPQS68VKjWj6ZAwDAe4h7wrPuMK8MxNaSOPbWwq/qBhvb89uqrpyYHEcbGwAAAN6A1j0AgDeXD4F2n+vceKlFlGfCZA4AAK8ubgjjOH9nmOXlYuVo/IYoCXkyvB44kvsqjG2wbVVXTkyO48D7AgAAAE9F6x4AwPv7XnwtytCPGy81yvL1CQAAH2i5rzzhzvCodiwzq2bWA0diX81ssG1VV05MjqONDQAAAC9N6x4AwKf4Xuw+2rnxUotansfhHAAA/tb8jVzcEMYxcvLOMAd7Hd1Vjt1tZtXMeuCG9Qbr3WPbbdmVE5Pj2DgZAAAAeEJa9wAA3lM+xdm68Sio6ynRVpbXk+EcAAD+Sr2jmxEhcYycmbSo3S0/Gr8tSwYKoUXdYAN7bFvSlRMz42hjAwAAwIvSugcA8HFuPAq68VKLdflMDgAAf+WUu7gIiWPk1JNluNvRYgYWmSUDhdCibq3hzVkufrTnxMw42tgAAADwirTuAQB8qHwUtPuA58ZLLaI8EyZzAAB4sLxzy7u4HBm23BKek7MbMhBeS+LYWwu/qhtseHNeVbXnxMw4bhMAAACAJ6d1DwDgc30vdp/u3HipUS2fzAEA4GHyzi3ESRmakzl5vHFPmC8dTTi6nzwavyFKQp701sKv6r4a2GCXrbmpas+JmXliYwMAAMAL0boHAPDp8mnQ7gOeGy+1iPJMmMwBAOBh6i1cuT7PTOxRbY73xmbVnT4mH67uq7ENtq1qz4mZIU5sbAAAAHgVWvcAAF7AV/9/+KTraU0+49ktufFSo1o+mQMAwMPEnVs5O7UNaOaGMGu35TE+EJslA4Xwq7qvxjbYtqorJybH0cYGAACAl6B1DwDgPeXTna4HNjdKBtLWojwTJnMAAHi8vIUrFxMyZCbtck95UD4QmyUDhfCruq/GNti2qisnJsfRxgYAAIDnp3UPAODv5ZOVc409KIr5WbKtqi+V6361fDIHAIBHiju3U+7fMqSmhfJCp6PFDCwySwYK4Vd1X41tsG1VV05MjqONDQAAAE9O6x4AwIv5Wh4ulotjMSfko5o45kmjde1Wb9paTc7jcA4AAI9U79/K9ajlZrDcDeZJeaHTUe1AZi2JY28t3Ja7K4zt9m1VV05MjuPA+wIAAAAPo3UPAOAv3fs5yvciT+K9ut7uqGSJHHnyVNXyPJmJAgDg3uKeLY5xz3bWzdvV3WAO9jqqHciMkpAn858O1nJ3xb4a213bqq6cmBxHuxoAAACeltY9AID3V5/u9D4uivlHJTnelbZWk+tJeQEAgOezvmc75ebtlLSs3ZYfjd+WVTPrgSPr3dW7wbZ7smuXxuQ49r4pAAAA8Bha9wAAPsL3Ih/YxLHryU0Wbktq5valRrV8MgcAgAeIe7Y41pu3HBy2vhWMy7HAqM2ccv3jaPy2LBkohF/V3TWwwbYlXSExOY52NQAAADwhrXsAAO/mxiOZy2Oi5bFNHLue3GRhlMSxDP2oL5XrTuvymRwAAB4gbtjimLeF83dulxvBk3J2QwbCs+SUVcGVuq+Gd2a5WORIY05MjmPjZAAAAOBhtO4BAHyc+tRnedDT8fDmxsOhrudGW1GeCZM5AADcW9ywxTHv3PJkGR6XOb+m5UtHE/I2slysHI3fUEvi2FsLt9XdNbMzqxhpz4mZcbSlAQAA4Klo3QMA+ET5jCfPvxZ5/qss3J1/46VGtXwyBwCAu1ru++5ywzYTe1Q7kHn5eD8Nhe5LOVfdVAO7K0uuqtpzYmYcGycDAAAAD6B1DwDgc30v8rzr+U1UXZ4X7ZXceKnFsqJLwmQOAAD3Fjds9XjibVveB5aLTkf3kGP3llk1sx7YVTfVwO6Kkm1Ve07MjKMtDQAAAE9C6x4AwBvK5zGN6uSvRZ7/KqrCbkl9qVz3q+WTOQAAPMZZt23rm8CxwKjdXczR+G1ZMlAIt9VNNba7tlXtOTEzjjG5cT4AAABwP1r3AAC4PLzJ5zdx7Hp+k4W7JTnelbZWkydzAAB4gHrbVq5H1Xu/OInL4cCjxQwsMksGCuG2uqnGdte2qj0nZuaJXQ0AAAB/S+seAABFfdITx65HOFm4LYnxmjmmlufJTBQAAHcVt2qT937pcge55NST8kKno9qBzCyZWQzsqptqbHdtq9pzYmaIE7saAAAA/pDWPQAA/lOf34SvRZ7/Kgt35+d4e9SVmlxPygsAADyNuE+LY96zXe78pu/Z6o3fzB3gUe1AZi2JY28t3DC51bdVXTkxOY62NAAAAPwVrXsAAFz7XuRJ11OcnL8tWfL2X2pUyydzAAC4k+WOr9w91pMZp6Qd1Q5kRknIk/lPB1XuqFBPygttthuya4vG5Dj2vikAAABwCq17AADP7mt5hFMuHqg+74ljnrSIqlp45cZLLdblMzkAANxP3KfFMW7VTrlhy5BMK0P9aki5/nE0fltW5bEMwbTYUXVr5Ul5oc22pCskJsfRlgYAAIDH07oHAPDH8jHJc4q15fLi2PUgJ+fvltx4qcVlQUvCZA4AAFun3FzFfVocIypv2HJw2OXmbzrnKORo/LYsGSiE2+qmGt6W5WLRFRKT42hLAwAAwINp3QMA4Bf1kU8c25/lRFUWbkvqS+W6Xy2fzAEAYC1vrubvryInjpFTT5bhcZmTbqTlS0cTjm4dj8ZvyJKBQritbqrhbVkuFl0hMTmOtjQAAAA8ktY9AIA/M/BQJErygcqDxZvm+8axa9lZuFuS411pazV5MgcAgCpvrvL+qgyNOitnK2PHko+WNLDULLnTZ+ST1U01vC3LxaIrJCbH0ZYGAACAh9G6BwBAq/rUJ45dj3OycFsS4zVzTC2fzAEAIOQ9VYiTMjQnc/J41t1aXd5YYH7GcrFyNH5DLYljby3cULfWzLascqQxJybHsXEyAAAAMEnrHgAAHb4Xed7++Cdk4e78HG+PulKTJ3MAAAj15qpcn+fE2MiJtDzJkS65km3t0fgNURLypKsQbqs7amBrbUtipD0nZsbRfgYAAIAH0LoHAEC3fPCTJ11PdHL+tmTJ634itVbL82QmCgCAuKcqZ+d18ETO5C1fyrVl2nDgUe3R+G1ZMlAIN9QdNbwnr6rac2JmHBsnAwAAAMO07gEAvJVHPlypD37i2P6+UVULr+R4e9SVmlxPygsAAEw48c4qb9Xm05bbvXLrWE/Kaz2ytlysHI3fkCUDhXBD3VFje3Jb1Z4TM+NoPwMAAMBdad0DAGDc8jDoLv/5ve1LjWr5ZA4AAKneWZXrURESx5p2bmCeLMN9jj7a0fgNWTJQCDfUHTW2tbZV7TkxM472MwAAANyP1j0AAGbVZz9xbH+uE1VZuC2pL5XrTuvymRwAAFLcUJ1yW7Xcpp15nxYhcczl5ciAo5UMrLCWzH80qOq+GtiTYVvVnhMz4xiTG+cDAAAAXbTuAQBwgu9Fnnc91MnC3ZIc70pbq8mTOQAAHy7upuJ44m3VVWAODlun5ciAo5UMrDBKQpxEYW8tHMmtGOpJeaFNVpWLxXbkSO7n0PumAAAAwK+07gEAcJrvRZxcHiX1PNeJqt2SDOyKulLLJ3MAAD7ZclN25m1VhMQxcs5Km8/JhG3I0fhtUZXH3kI4Etspd1Q9KS+02S1pDMl3jBP7GQAAAM6ldQ8A4N3kM5U/VBfwtcjzXy0Pg/afP+V4e9SVmjyZAwDw4eJuKo71tioHh63T8mQZHpc56Sgtx49ejYSwffVo/LYsGSiEG+qOGt6T5WLRFRKT42g/AwAAwIm07gEAcL7vRZ50PdrJ+duSJa/70dRaLZ/MAQD4ZHErFce4mzrlnipCTsnZmok9qh3IzJI7fUY+Vt1Rp2ytrpCYHEf7GQAAAM6idQ8AgHupD4Hi2P50J6pq4ZUcb4+6UpMncwAAPlncSsUx76nyZBkelzlnpaVc3nDaUe1AZpbMLAa26o46ZWt1hcTkONrPAAAAcAqtewAA3NH3Ik+6nu7k/G3Jkrf/UqMsX58AANBluSO7y63UibGRk2ljgUcrGVhhLRlbCeyq23tgT251hcTkOM6/KQAAAKB1DwDgL+UzjxvySUy5eFn1OVAc86RFVGXhtqS+VK471fI8DucAAHyyuJWqx7NuqCIn79DK9ai6qjgZDszCbe3R+A3LKsqSugrhhtxUZ4m09v1Z93NeAgAAAGO07gEA8AiXZ5U/D5a6HvBk4W5JjnelrdXYyRwAAE68oYqQo9u/LhESx2VR44FRuFt7NH5blORxbDHwGI37M/ezzQwAAAAztO4BAPyNz3zCcXnCuXqGmoMtomq3JAO7otbW5TM5AAAfLu6j1ndWwyIhjpkWx1PSQg3My15HtQOZWTKzGLi39v0ZM+NoMwMAAMAwrXsAAC8jH/KVi1dWP0V8ovbHPFEVdufneHvUlZo8mQMA8MnyJipvqHJkzHJrVkLOSouTyMmTMVG7u5Kj8RuyZKAQHqZ9f8bMONrMAAAAMEbrHgAAf+B7kSddj3ly/rZkyZt6/FnLJ3MAAD5Q3EHF8cS7qRr4PGlHtQOZWTKzGLi39v0ZM+NoMwMAAMAArXsAAPyZ+jQoju1PeqKqFl7J8faoKzV5MgcA4APVW6mQJ+WFURESx9PT8vKGnLM7s37Acv1jYIW1ZMnrq4XHaN/Y7T9fAAAAwJrWPQCA9/GKT0q+F3nStf6cvy1Z8rofna7V8skcAIAPFHdQcYybqLyVmrybWqflyTI8KEMmo6I8bMtzsCs2o/KkqxAepn1z5ma2kwEAAKCL1j0AAP5efSAUx/aHPVGVhduSo/FGNXkyBwDgtZxy2xN3UHGMqOWW6nI+I0NyYfNpVWZm7IC6pLXLQvfGb8uSgUK4k6ut2L45Y2YcY3LjfAAAAEDrHgAAT+F7keddT3qycFtSx7vS1mpsPQEAeG+Tt09V5MSx5pwVmObTQoREZhhOO6odyMySmcXAibZbsX1zxsw8sZkBAACghdY9AACeyPciTr4WOdgiqnZLMrAraq2W53E4BwDgJeRtT975lKFRZ+VsZexkcg2ZWeRR7UBmlswsBk603YrtmzNmhjixmQEAAOBXWvcAAHg6+aQnfC3y/Ff5iGh3fo63R12psZM5AABPrt7txEkZmpM5eTzrJiqXFyYD66pmoo5qBzKzZGYxcKLtVuzanDE5jjYzAAAA3KZ1DwCAZ/S9yJOu5z05f1uy5I0/B63l9aS8AADwXu53t5OxpyRnzvw6IyGONWos7ah2ILN+ot5CuIe6IavtyA0xOY52MgAAANygdQ8A4K3k05G3MfbwMqpq4ZUcb4+6UssncwAAnlzc7ZSz8zpvIidi8z6qDA2pa8vA+bQMqSflhR5HtUfjN2RJnkx+NJiX+3C9Fbt2Zm7m9vkAAADwabTuAQDw1L4XedL1yCfnb0uWvPHnoOvymRwAgFdx4j3PWTdRlxuyn5agTJsPzJCMHZMh5WLlaPyGLBkohNPFPrzainnZuDljchwbJwMAAMCn0boHAMALqM+KlidErU99Lo+YDp4qHY03qsmTOQAAz6/e85TrURESx8w5NzBO5gNrWl6OOVrGwPKyZP5zwZGu3XU1OS7by2NmHO1kAAAA2NK6BwDAa8iHQ3ne9dQnC7clR+PtavlkDgDAk4tbnVNueC63X0vOiYFxrIE5eMPtN21JCJlwlHP0FrffeleWDBTCkZnttK1tT4uZcbSTAQAA4IrWPQCAP5NPL274ansA+VHiDyT/TOIPp+vBT1TtlhyNN1qWc0mYzAEAeFpxnxPHE294zg3MtDCZk2paGA48+lw5Xi7a1JLeQriH7R5u39UxM452MgAAAKxp3QMA+AMeV0zKpz4h/iTb/zCjKmzn1/H2qCs1tp4AALyT5XbpzBueCIlj5CzB/3XLjTklZCsyY4VjHzaXtK0dyMyoOOkthHvIPVwuFtuRI3Un5yUAAACgdQ8AgJd0eYC5PPiJY9ezn5y/LVny+qLWankeh3MAAJ5W3OfEsd7w5OCwmpbnZwWmU27G8pPmSY702v1cMbg7fluU5PGUjwa7cpv9arsP23dmvoVtDAAAAEnrHgDAa/j6eXDIWn1EFMc8aRFVtfBKjrdHXamxkzkAAM8pbnLiGDc5R3dTXSIkc+ajrpwSmyFxjPPhqAwpFytH4zfU9QwvBs6y3YftOzNmxtE2BgAAgKB1DwCA1/a9yPOuxz9RFfO3JRnYFbVWy+tJeQEA4C3EHU4c824nT5bhcZlzVlo662YsEyajjmoHMrNkZjFwlu0+bN+ZMTOOtjEAAABo3QMA4B18L+Lka5GDv8qq3ZKj8Ua1fDIHAOAJXW6hmnt0upx171Rz5td5FRXKCz2OageWlyUDhbyle+yH9qjt+7avJGbGMSY3zgcAAIC3pHUPAOBNeOAR8vFP6PrTiKqwLTkab7Qun8kBAHhOcYdTj2fd6kTO5RbqjHunmjOfto4qQ/1qSLn+kYPb8RtqTlcV3MN2V+/u810xM0/sZAAAAD6W1j0AAN7K9yJOvhY52CKqdkuOxhsty7kkTOYAADyzE291MicDy9CEE+/EalScD0ftfq4Y3B2/IUviJKq6CuF02927HTmybOSpnykAAAB4aVr3AAB4Q/n4J1yeZDY/BMrnRtv5dbw96kqNrScAAO8k7nCWO6bZW51IyJMMPOXGKXMuiztjeRlVroccLWNgebmSgUI4V27C9T7s2pa5k9vnAwAAwNvQugcAwHv6XuRJ10OgnL8tWfLGH4vW8jwO5wAAPKe8vclbnRwZs9w0lT6eTJsMDDUnk2dkVJ7Xk6186WjCOmTtaPyGLBkohBsGtlNswqt9mJeNUTE5jo2TAQAA4G1o3QMA4J3Vp0fLM6PW50CXh04Hjz9zvD3qSo09ygcAeEVxbxPHE+9zamCcnBV4Sk6KqDxG4Fjm0WIGFpklA4VwwykbOy7bd2bMjKNtDAAAwEfRugcAwJvLx0V53vUcKKpi/rYkA7ui1mp5HodzAACeSr3JCXlSXhgVIXGsgTk46ayclAsLcVKGemThtnYgMEuGVwJXYi/FcWw7bfdh+86ceV8AAAB4RVr3AADeRz7nYFf84dTnQO2PgrJqt+RovFGW15PhHACApxL3NnGMe5tTbnIyLdTAvJx3VtTlE06sLQp3a3OwK7PmdFXBkdhRcVy2YfeO2u7q3X2+q75vXgIAAMB707oHAMAHyedAoetRUFSFbcnReKNaXk/KCwAAf+SUG5K4sYljvcnJwWE1JANzcF5ERWAo10PqenJtw2m7tTHYm5klcRJVXYWwK7dTHAe207aqPadu47wEAACAN6Z1DwCAz/K9iJOvRQ62iKrdkqPxRrV8MgcAYN5ZNySRE8eac1Zgmk8LERKZYTItQ+IkA+M4Fpi15WLlaPyGXM9AIWzVjTSwnbabsH1b5ja2hwEAAHh7WvcAAP5GPorgr9Q//69Fnv8qqsJ2/tF4o3X5TA4AwKS4D1nfmcw4K2crYyeTa8gpi4yQOGbacOBR4UBglgyvBNZiI4U4GdhO2024HTky/KYAAADwQrTuAQA8qa/lYVu54A7ijzf/hOPY9UAo529LjsYbXVazJEzmAADMyPuQuCHJ8xwcljlnpaVcXpgMrCHzUSFC4hg5GZiDvXIloVz/GFhhlgwUwq7c1QPbabsJ27fl8JsCAADAq9C6BwDwaB48PJX63CiO7X81UVUL1+p4e9SVGltPAAAeZrmXuVevTN7ezCfXnDwpo6My5JS1RUiezORESC6mXP/Iwa7kmtNVBUdiR8VxYDttt/TuJt81/KYAAADwErTuAQDw6b4Xed71TCiqYv62JAO7otZqeR6HcwAAxuTdSJ7kyCny9ibM397UnLPSzlpbhpSLm/KNjt5udyUZ3rXCLImTqOoqhF11O+Vluyi8qtqOHBl+UwAAAHh+WvcAAF7A1/IosVxwH/EnXJ8JtT8WyqrdkqPxRlm+PgEA+BPLHc05dyOZc9btTeZM3nSlGhIncXk77df1Z0i6PfOGo3f59d23cj0DhbCV22lgL213YPuerG/aOB8AAABehdY9AAD4Tz4TCl2PhaIqbOcfjTeq5XkczgEAmFHvScr1qAiJY+acEhgy57K+6cBTQrZmMo9qBzKz5B4fkA8UGymOA3spd+C6sH1P5puGxvkAAADwErTuAQC8A08vTvS9yJOuP9icvy05Gm9Ul9G7HgCAU5x4KxIhmRNOCQzrwDI0IUPyeMrycmHDUUe1A5lZMrMYqGIjxXFgL0Xh1Sa8urwha+PEHgYAAOBtaN0DAIAd9QFSHNufDOXDpO38o/FGtTyPwzkAAAPqHcjRrUiOl4sGMT+OUXLWvU3kZFS5Pskpy8uQmaij2oGPvF5MGYJRsZHiOLaXrjZhXjZGzbwvAAAAPButewAAsO97kSddT4Zy/rbkaLxRXcZkDgBAr7j9yDuQelJeGBUhcayBOTjprJzqrM+bCTNRR7U52JVZc7qqYFdspzgue7B7O11t6bi8GrkhZsZx4E0BAADg2WjdAwCAW+oDpDi2PxxaHjztPEmt4+W607p8JgcAYMC59yEREsc73diclRY5YX55mTAZtVsbg72ZWRInlwWd9AfFx8q9FMeBvbStas+pezgvAQAA4EVp3QMAgF98L/K86+FQFm5LcrAraq3GTuYAAPTK24/1yYzLPc197mdux+ar5eJYTMuTmNxYckMkZMhM1FHtQGaU5HHyc0HdRQN7absD2/dk7mEbGAAAgJemdQ8AAJp8L+Lka5GDLaJqW5Jp2/F2Wb4+AQB4gHoPEydxOX8fkjk1bT4wREgEhsm0DImTDLwsbjowo+J8LCoTysXK0fgNdTFjK4EqdlGIk4G9tN2B25Ejw28KAAAAT0LrHgAAdMiHQ+Frkee/iqqwnX803qiW53E4BwCgy/omJC5PvAmpyeV6VIaEs9LimGnzgY0JOWd3ZiZsXxpYW5bMfygIsZHiOLCXtjuwfU8OvykAAAA8A617AADQ53uRJ12PiHL+tuRovFFdRu96AABm5L1HHEMZmnbiXU0uLFd4SlocIycDc3BYJtTMZaxP1IZtbQ52ZWbJbhr0io0Ux4G9tN2B7Xty+E0BAADgz2ndAwB4E/m4goepT5Li2P6UKKpq4drReKNansfhHACAYafchNSbmbPuak68R4qQPJnMuTKztqwtFz9icHf8hjp/bBmwFtspjgN7abtv23fy8JsCAADA39K6BwDwB/K5Aq8u/h7rX2XXU6KoivnbkqPxRlm+PgEAeIB6B3LKTUiExDFyTgw8Ky1DysVJfUK5tjzJkS5Ru1t4NH7k8sF+ltFVCFt1L+Vluyi8qtqOHBl+UwAAAPhDWvcAAGDK9yJOvhY5+Kus2pbU8XLdqZbncTgHAKBd3HiUs+V89w7kaHxXBub8rsIjGRIyeVINOWVtoS5sLO1oGQPLy2Wc9bn4ZMNberv92jfk8JsCAADAX9G6BwDwUI1PEWJaPnXgVdS/r64HRVEVtiU52BW1VjMncwAA2tW7jt3bm14RUnNODzxLpM1nRkIcM2o4LQu3tQOBWTK8EqhiF8VxYCNt93P7hhx+UwAAAPgTWvcAAOAc34s4WR4zdTwriqptSaZtxxvV8npSXgAAuI/1XcdZtx+ZE+IkLuczMyedkpZrm4yqn66mhXypXRRmbbn+sTt4W5YMFMKV2EVxPGU/X13eEDPjGJMb5wMAAMAf0roHAABnygdFoetZ0eXB1N6zqKPxRlkb6kl5AQDgPuqty1m3H5ETx8jJkxOdssIMmY+qny7T8nxArqRc/BhYXpbspkGX3M/LBuzeS1c7sH1D5puGgTcFAACAR9K6BwDw7L7u8JySu4q/r/wri2PXs6Kcvy05Gm9xWcrPMuoJAMCuU24V1vceIQdnZMjptzERmCucTM6E+ahMiJNMy5PllT5Ruy1csvuWV+ePLQOq2Et5HNhLV1V52ZITM0OctEwGAACAv6J1DwAA7iKfKsXJ8mip9XFRPmHazj8ab1TL8zicAwC8t7NuFa5yTgmsx/m0KqNytTkypn7eU6LimFE5MuBoGb3Li/khTqKqqxCu1L03sJFqbVp2ZetOjplxtHsBAAB4Wlr3AABenucQTyufKuV5119TVMX8bcnReKMsX58AAFyJ+4RTbhVqThzj8sR7j4ydD1wvLDOX4UGRkCGnRMXx15CccDTtaBkDy8v1zH8unsT6r/KRf63xXiFOBt5xu87tyJHhNwUAAIAH0LoHAAD3dXlC9fO4qP2JUVZtS+p4ue5Uy/M4nAMAvKV6bxC3Cnkyqd54nBUYauD8nUyuKnIyM0/ypTEZUmNzcEAmTOYcfaIcLxdtsmSgkJeTu+5+Mn9gI223X/uGHH5TAAAAuDetewAA8Aj1GVjXE6OoCtuSHOyKWquZu+EAwMe6usc48T4ho5bs2cy6yFPuZCIkTzKwXg6LhPlVrWXgWObygXbWM5CZJbtp0CV2URwHNtJ2+7VvyOE3BQAAgLvSugcAAA/yvYiTr0UOtoiqbUmmdeWs1fI8DucAAG+m3iTkeQ6eZR0+o+acmBYnNWoyM9OuModlQqQNR+3WxmBvZp0/vBJIsZfiOLCRtpu2fRsPvykAAADcj9Y9AAB4qHxiFL4Wef6rqArb+TnYnnOlZk7mAABvJu4NylnnTcuRDMycegdy5Wj8SM7PY1fhrrrCPDnL/PLWCxvOOartzYz5IU5mPhGE4Y0UhVdV25Ejdi8AAADPRuseAAA82vciT7qeG+X8q5IlbGe8US2vJ+UFAIDFuTcJmXNWYOYsCzwhMELieNYnTacsb50Qx7GoozUcjd8QJXFcFjL+oaBupLxst9207dt4+E0BAADgHrTuAQDA36iPl+LY/ugoqmrh2tF4o6wN9aS8AAB8vLwxmLnTqC73K//edZQXJqwD43IyM0NOiaoyZ/7z5qrSWFSuYVs7sLZczPyH4sPlRhrYRdu9174bh98UAAAATqd1DwAA/sz3Is+7Hh1FVczflhyNt1jWUh531RMAgKs7hPmbhMiJY+ScGJhR5fokt5fX+I4xLY45c36RmbY+6RWFYbuM3cHbsmSgkOf3yL/T2EJxHHjH3HvrwvbdOPymAAAAcC6tewAA7yAfPPCi4q+vPjpqf3qUVduSOl6uO9XyPA7nAADvJG8M8qSez4iQOEZOBubgpMzJ4yn3MHV5k2k1JAPzpLzWLxLimAnDObmMcvFjYG1ZspsG7equ7t1IUXi1/a4ub4iZcex9RwAAADiX1j0AgEfLJwRwpW6MrqdHURW2JTnYFbVWM3fDAYAPtL67OOUOIULieGLg2nq1w2rIuZ83TvJ8WGNCrvlo5ZGwfSmTuz5snd9VBVdiI+VxYCNdVbWH5JvaugAAAPwhrXsAAI/jkQC3fS/iJLZK126Jqm1JpnXlrNXyPA7nAABvo94e5Pn87UENzKj5wCqiangZGlJD5qNChMSx5twO/PUdMy3EtNszjxy9Re+HjfkhTpaFjKwEQm68PJahZldVedmSY+sCAADwt7TuAQA8na/lcUW54PPUv/2uB0hRFbbzc7A950rN3A0HAD7Q+vYgjr/eIfx6F5E5ccyTs245IidE5nxghuRxMu3yIX/SytC0jBpbWC5mW5vj5aJNLmOgkEnv9GdeP8vAJ7r6c4jLq5EjMS1P3uaPEQAAgBeidQ8AAJ5OPmfKk64HSDn/qmQJ68tZq+V5HM4BAN5G3hXkSY6combO32/UhUXUWYEZdWJauZg2ubCj2oHALBkoZN7b/LHHBwlxMvBxtn8I25Fdy3sOvikAAADM0LoHAABPqj5nimP7M6R87LSdn4PtOVdq5m44APBp1rcWZ90bRGY9mc+MkAyMqAyczKwhGTuvLi8vh60Xlifr8Tz/1e7kq8AWWdL11rAVWyiOA7tou/fad+PwmwIAAMAwrXsAAE/t67xHg7yi+NuvG6DrGVJUxfyrkkzbjjeq5TMhAMDbiFuCPObJWfcGeZsRmXlSRn/keLloUNd2WWVn7dYpIVcy8KyFxTEux9IyoVz8WIL7PnLO762CK7GF4jiwi7Z7r303Dr8pAAAAjNG6BwAAz+57ESdfixz8VVZtS+p4ue5Ua/NkOAcAeBvre4McmRE5cYyoODklswZmZg7e8OubrkNuz2yRCWd90voZ42Qg8GgZvcur8wfWAFXdzHnZbrtj2/fw8JsCAADAAK17AACvzROFz5HPkELXX3pUhW1JDnZFVevMegIAfKy4H4hj3BKcdWNQA/N8PjMDw+n3Lbm8mdj6Yc/6pBkVylCnTCgXK0fjR5YllI/WVQhrdRflZbsovKrajhwZflMAAADopXUPAABexvciTr4WOdgiqrYlmdaVs1bL8zicAwC8h3NvDC73GT83KvVkRgaWi/PEwjJ5ZoXrhFM+aYSEOClDnWpCuf5RF9ku1zBQCFXuooEttN147Vtx+E0BAACgi9Y9AAB4MfkYKXwt8vxXURW283OwPedKzdwNBwA+St4PxPGsG4PMycy4nM/MnDSfljJn/iPXtUXOfFTLenLC7rSjhJbYK1kyUAhV7J84Dmyh7cZr34rDbwoAAADttO4BAMDr+V7kedfDpKiK+VclmdaVs1bL8zicAwC8gXo/kCdldELkxDEDc+Qsp9y61OXl+SlpeTIZFWracNTuMnKwKzNLTvlQfKzcz8vW69tF243XvhXrm+YlAAAAnE7rHgAAvKrvRZxcnl81P0/Kqu38HGzPuVIzd8MBgM9xudVY7gfy2HJjkDPLxUa8Gsec0JLWKKIuC52+dakhGZgn5bV+kRDHmYStmVVlbbn4EYO74zfU+WPLgBC7KI+9uyhL1lXtIfmmjZMBAACgl9Y9AAB4bfkwKXQ9T9o+vgoxuDveqJbPhAAAf+jEr+96VxDK0IQMqWmnrDOiLvcrP7cuZXRUXdhliXMf+Sphfm25qjzJkS5Ru1t4NH7k8qnO++vjM+Wuy2MZarPsvn+q2kNiZhztWwAAAO5B6x4AALy85TlUeZ7U/kgpq7Yldbxcd6q1MyEAwJ/Ir++zvsHXaWdlZs5ZtxmRk1GnBEZIHGvO7cBf3zHT8mR+bZFwtbwuuYZt7cDa6jJ6CyHVXTewha52bPsGrvs2LwEAAOAsWvcAAOBN5POk0PVIKarCtiQHu6KqmjkTAgA8Xn595zd4GZqTaXmSI5NqTpwcLfLGS7tyfh67CrcipKaVoWmZNrOwXEzmDEcd1Q4ERkkeZz4Un+yyF392dY60u9p4edmSM/yOAAAAcIPWPQCAh8p/7oc7iQ1WHyl1PVWKqm1JpnXlrNXaPBnOAQAepn5rx0lcnv71neHlYkLmnHiPkVFxzJMyOqqmles5NW1mYVGeCTUqlNd6ZG25+DEQmCW7adAo9k8cB7bQ1caLy6uRIzEtjjGzZTIAAAC00LoHAPAg9/vH/Xx+AFXdEl1PlS4PrPYeWeVge87aOrOeAADPbP31fbqzwmtOPSkvTMiczCxDZzhxbXWFZbRffrSMypEBuYxy8SMGd8dvyPm9VbAW+yeOA1tou/Eat2K+Y7BvAQAAOIXWPQAAeEPfizzveqoUVTH/qiTTunLWankeh3MAgIeJb+16PPG7O6PyliBHZtScEwPPiqoy8Ciz/e1y5mV9cyuM8jhmVJ4sw32O1tC7tjp/bBkQhnfydrs2buCYFuLEvgUAAGCe1j0AgOfyNfffwIC19VOl9gdLWbWdn4PtOVdq5m44APC0Ju8B1mrUWfcD97jBiKg8OSXwxOVlSJhMi/JMiGMZOpDvsvtemVAuVo7Gj1yWoguKOcNbKAqvqrYjR+xbAAAATqF1DwAA3lw+VQpdD5byqdVVSQzmeLnuVMvzOJwDADxSfnfn13cZmlCjTgyMnAyMy1MyU00u10Pqqk75vBGSOfNp64SxqEzY1g6sLUriuJsGLeoWyst22+3avoGH3xQAAAAqrXsAAM/r6+cBJEyKjVQfLLU/W8qqbcnuYLssX58AAE/u9O/ujJq8qagiJ6Pycj4wRc5V8ph1yClry7Q4lusJGZKBA2uLwqwt1z92B2+LkjwOLANCbqGxbXxV1b4Ph98UAAAAktY9AAD4FPlgKXQ9W4qqsH2alYNdUVUtnwkBAB4jvq/jmN/X+d29DM+qNwONmb9Oiwl5zJNTxDuGCLz91i3qqjIzz4etlzSfFgm5vLGo3T+fHOwKzJLdNGhRt3HvFtruuvZ9WN80LwEAAKCL1j0AgBfm8QC9vhdxEpuna/9E1bYk07py1mrtTAgA8ADLd365GTjxi3udWYbOkMvL5BwZU1cVOad86hr4hGn5GfMkR7rsriEGd8dvyPm9VVDF5slj7xbalrSH5JvatAAAAAzQugcAAB8nny2Fr0We/yqqwnZ+DrbnrNXMmRAA4DHi+zqO535xX24F9m4w5p2SnCFxEjmZNh8Yx8mQK5GWayvX/dafcTjqqLA3sM4fWwbkFhrYyVmyrmoPiZlxbJwMAAAAldY9AAD4RN+LPO96whRVl8dZ/5ZkWlfOWq3Nk+EcAODe4ss6jvFlffnu/7mXmLeOmr8TyLTlnmK2py3VwDiZD8yQcnGS+U+aq4qEGhXKa82OCnO8XDS4LOXnzzxHoEvdcr1bKPfeuurq8oaYGUebFgAAgC5a9wAA4HMtT6b+e7adg7/Kqu38HGzPWauZ9aS8AAA8mfimjmN+Wd/jWzszz4qNnFMWWT91BubgjHXI5PLq2vKTzqSto3KkVxSG7Rp2B2+LkjhePs/0Xx8faNmJZQvlSLsoXFddXd4w/I4AAAB8LK17AADw6fIJU+h6yJRPsK5KYjDHy3WnmllPygsAwDNZvvD/+7I+9ys70mp+GRqSIXGSgXGcD8yTzJlMW8vllYt/3Xhpbf1JG0uOrKPyZBnus7uGHOwKzDXspkGL4W18tevad+/wOwIAAPCZtO4BAACXJ0z1IVP7c6as2pbsDjaqmXk+FgIAPEB8U+cxT0781r7cRvz025WhUXVtyzJnAzOknufJvFM+7LK0S8h8Wo2KYxk6kO+y+16ZUC5+LMF9a8v5vVXMiD/tcvYW8uMM7J+rXReXVyNHYloc7VgAAABaaN0DAACKfMgUup4zLc+wrh9i7Q62q+V5HM4BAB4gv6nzWztHZix3AaXx5ZTMmpaBOThjHTK/vJAfM4+TgfXDZloOjqmrivOxqKM19K6trmRsGTC8jbe7rnEfDr8jAAAAn0brHgAA8J/vRZx8LXKwRVRtS3YH22X5+gQAeEL15uHEr+yrzMnYTAuZM5m2dsryQubEMU/K6JBIiGOm5ciR9vcaXlUWbmt7A+v8riqODP+Fvq74yHEc+NTbP6vGP736ji2TAQAA+Fha9wAAHif/7R6eX92rXY+aoipcza+D7TlrtXwmBAB4jHO/spe7gHIbkCflhSEZUs/zZN5ZywsZkoGTacuKSsh8WhrOWdayU9sbmDlxElVdhdzW+xfxuur+yct22z+ixj+0fMdgxwIAAHBE6x4AALDje5HnXY+aoirmX5VkWlfOWq2dCQEA7mr5tr98U9eT8sKcjMrYMjRhHXLKCtfLmw+MkMw5K62cTX/YLM9VjUXtfqKBj5kfaqAQQu6fgc2z3XKNmzCmhTixYwEAANildQ8A4BHu98/0+RgA7mT9qKl9G2fVdn4Otues1cyZEADg3uo3dZ6U0TkRFcez0qqzbioiJ6PyWEYn1LRyfYbJtWV5rmo4arcwB7sCs2R4GXy42DlxXDZd3/7Zbrn2TVjfNC8BAACg0roHAAD8Ih81ha6nTfko66okBnO8XHeqtXkynAMA3E98TccxvqZP/L6OqIw9Ua4w7K7waPxIzs9jV+Gu3nf/VaRNZkZ5TRiO2i1cgvsCc35vFaTYOXns3T/bkvaQfFM7FgAAgCta9wAAnsjX8vypXMAziZ1Znza1P3DKqm3J7mCjmllPygsAwLSzvljjOzqO9fs6B090yjpjYZGTizwx8PKBz/jI65BTllc/6UxaJqxPeh0V9gbW+WPL4MPl/hnYxtuS9pCYGUc7FgAAgDWtewAAQKt82hS6HjhFVdg+4toOtsvaUE/KCwDAhBO/WCMqjmelXTlrnZGTUXksoxMy58TAdCOt8Y1iWhxzYY0lR7I8o+JyIKomlOsfvQuL+SFOuqog5X7LYxlqkyXrqvYQOxYAAIArWvcAAJ7U18/DMHgqsS3rA6euZ05RtS3ZHWy0LKQ8JKsnAMCM+D5df8NOyqhycarT15mBcZwPXNZ18p1JpM1n1oXNp9Wocn1sebedaUcJjbFrURLH5X3GPxGfqe633s1z2b7/7tWryxtiZhxtVwAAAJLWPQAAoNvyrKr7KWlWXc2vg+05a7V8JgQAqPL7NL5Y8zwHZ2RUOiUw5Pf++mRS5sTxxMA8Oesj5/LiOBmYC6tpOTgmo2rgMtZndw052BVYV9JVxW0f8ocZ2yb3z8DnvdpyV5c3DL8jAAAA70frHgDAq/IP/fy5fOYUunZjPtO6KonBHC/XnWrtTAgAEN+keRLfp/X8RPlNfcqX9enf/nVt537wUz5yLinXloE5PmadliNH2t9reFW7hTHYG5jze6sgxc6J48Dmudpy7Ttw+B0BAAB4M1r3AACAcd+LOPla5OCvsmo7Pwfbc9Zq5kwIAJBfqXGS36o5eJbMDKd8U2dOZuZJeWHUsrRz1lZF2imxNSQDz0rL88m0NJxzVNgbmPPP+jh8mtg5cRzYPFdbLi9bcobfEQAAgHeidQ8AAJiVj51C15On3cdaMZjj5bpTrZ0JAQDim7ScLd/vZ32r5hd0OOubOnIyKk/K6Jx1zimLvHzgkz5yru3ctDSZluW5qoGoo8Lej1nnd1VByp+Igc1ztVHj8mrkSEyLo+0KAADwybTuAQAAJ8gHVHHytcjBX2XVtmR3sFHNnAkBAKr63Vqu59S0czMz6sTMlIEzmZEQ4iRCMi3Hh63T8mQZnjW5tiwPcTIWdVTYm5Y5cTKwBhjePFF4VbUd2WW7AgAAfDitewAAwGnyyVPoevgUVWH7rGs72K7WzoQAACG+ScO5X6mZlsdTYtdRpwSmiIrkDC9DQyIhjpkWx/m0zMnzHJwUaTVzzLKo/1Y1FrVbOJAWJXGMqt5CGN48243auHXrO+YlAAAAH0XrHgAAcKbvRZxcHnb1PH+Kqm3J7mCjZSGX8pkQACC+SeN4+ldq/ZrOkzI6IXLymCeniKhcWz0ZtqzrzI8cIeXspKafXFscZ9LqRxv+jLuFAwuLkjx2VUEY3jzbksaQfMeY2TIZAACAd6J1DwAAON/3Ik66nj9l1dX83cF2tTZPhnMA4JMt38aXb9J6Ul6Yk1EZW4bOkMvL5ByZUT/vKR/8Th95fm25nlzYZFqWZ1QZ6rS7gMuyOheW83urIAxvnm1JY0hMyxPbFQAA4KNo3QMAAO5l7PlTPty6KtkdbBS1WZ7nYyEAQH6NhhO/Ty9f0vf5dj4xOXNCPSkvDImQOE6GXIm0+Q8bCRkyn1aj8vIoKsd3Xz1awNH4kZzfWwVhePNsSxpDYlqIE9sVAADgc2jdAwB4kPwnePg06+dP7Y+gsupqfh1sz1mr5TMhAPDhrr5Py+i0SCtnZ/SsZNrly/68dUZORuVJGR11FXLKCuuHnUzLhdW0HBxTP+NY1NHH6U2r87uqXsvYnzC/yj/YgT/ebUl7SMyMo79QAACAD6F1DwDg7vybO+Tzp9D145DPt65KYjDHy3WnWjsTAgAfLr9G4xjnp3+fZvh8bF3eiV/666izMsP8Ctcf9ty0HJmUUQOrunyYvcLetMyJk4E1vJDePxZa1D/V3j/bLFxXtf8FfcJ2BQAAIGndAwB4YfkP+vASYrvWR1DtT6GyaluyO9ioZs6EAMCHy6/RPD/3yzTSlu/q//KHRUgcMzCO84HhlIVdicD52EjIkHPT8nwyLcysarcwB7sCoySOvVUQO6dunhxplIXrqqvLG2JmHO1VAACAt6d1DwAAeJx8BBW6nkJdHnltnnLtDrartTMhAPDJlq/iyzd7Hk8UX80hYue/o5c1XnLqSXlhQuTU4ymBoX7eycC6qlM+bKalmbSrVQ1E7X6cGNwdvyHm53FgDXy43Dzzu7d9+w2/IwAAAC9E6x4AwLP4Wh5llQt4X7HP61OorgdRUbUt2R1stCzkUj4TAgDkd+hZX6bxvZwnkZbf0Xk5o37XZ/gpmemUu4i6qjjJwBwfs07Lk2V41uTC5ld1tIDeheX83ioIZ+3e9u03/I4AAAC8Cq17AADAH/hexMnXIgd/lVVX83cH29XamRAAIJz1ZXr5al91esVxPrYG5uVZInBZ7OwHryEZeFZauT7D/MKiPI6ZkyfLcIdcwLawd2F1flcVhMndWy56Nu3wOwIAAPAStO4BADyjr58HWvDe6j7vehaVD7quSnYHG0Vtls+EAMDHii/QPKlfpnk5KWMz85TYzMmTOJ61zsgJkbkN3B28oS6st3BXptXMZWxKXdhw2voD5kivKAzbBewO3pA5cTL8WfhYwzsnCtdVedmSY68CAAC8Ma17AAAvyb/a8za+F3GyPLdq3dhZdTV/d7Bdrc2T4RwAeF0zX3/xBRrHSJj5Or5SMzM2B2/oeuuc3D5/V4SEOImcDMzxYeu0PFmGZ82vbb2wmbRaHse4HMvJhHLxY3fwtpk18MnqzhnYcuuSuLwaORLT4tj7dgAAADw/rXsAAMDfy2dRoetxVD7ouirZHWwUtVme52MhAPDSlm/RwW/A+PaMY5YPh1zJzHBW4Nrli/+Mb/xcZORk2mTgsqiT70MibT4zEuKYIZNpWZ6BN+Rb7L7R7gJycHf+kVxDbxXkztndh7dtSxpD6l7NSwAAAN6D1j0AAOApfC/i5GuRg7/KqquS3cF2tXwmBABeUXz35cnw119NCGd9jV6+mFexZ6nLi/D5deYiI6eelBdGRUg9zqeFXFscZ9LW68nzYbmYmQ+YCeXiRwzujt8Q8/M4tgw+Vu6ZgZ2zLWkMiWlxtFEBAADeidY9AADgieTjqND1RCqqwvYB2HawXa2dCQGAl7N8f862ZNWEODnra7RmhlMyM/Dcr/vMCevVzqux5bpf/bBxkmk5PuAqITNnAkMmDIQcFfYuKefPfxA+zfDO2ZY0hsS0ONqoAAAAb0PrHgAA8Fy+F3HytcjBFlG1LdkdbLQs5FI+EwIAryi+++I48903n3DDWV/NkVOjTsyM43zOlWWllxWW6341IUxGhUyIY5xPRoWZqCgM28LdwRvq/IE18Mly5/Tut7AtaQyJaXGMmS2TAQAAeHJa9wAAgGf0vYiTrodSWXU1f3ewXa2dCQGAlxNffHky8x1azs4WS4rwcMpXc67zxMzMKRdnqEuaX14uLD/sfFTmhDI0IaPyJEe6RO22cHfwhssnmVgDH6vutN6dUwur7ciu3KjBXgUAAHh1WvcAAIDnNfZQKp94XZXsDjaK2iyfCQGAl5PfgHEy/N1XE9JZ36GRuXwhn9B/lnKRGbVe8CnmV1g/bz3P8TH1w64/9YxMmMlZLynEyUBaFpaLHwNpURLH3io+3GXjDv1ARdXVZsuRcnFsecNzfoQBAAD4Q1r3AACAp7Z+KNX+XCqrrubvDrartTMhAPBy4osvjqd89+V36FlRmZbHMjohcuK4rO7kb/lc4WTs5dP+fNL5wHXaWSYD65JCnMTIQFomlIsfS3Df2mJ+HgfWwCfLndO7bS4b9N/NdnV5Q8yMo40KAADwurTuAQA8Qv57OjCs/hB1PZfKh15XJbuDjaI2y2dCAOAB8nsqlOs58cUXx/nAKF++S1u7Un6VUXmcz1yWdv59e64wnLLCDMnAHByWCXmcWVtNiJM4nhWVI71yDeVi5Wj8SM7vrYLcugPb5mqzte+94XcEAADgGWjdAwC4L/+ADmf5XsRJ/Fi1/2Rl1VXJ7mC7rK0nYyEAcLr8VkrxJRUjeSxDi7y8zO6UUWGsPNWvzjwpo3MyKo5nZUZOOZv7sFUuLJyywpqWl/OB6ZS1RULkTEZFeRwzKkd65QK2a+hdWM7vrYLcugPb5mqzte+94XcEAADgz2ndAwAAXsn3Ik66Hk1l1VXJ7mCjWltPygsA8FjxHVTlt1IqL/98Z10pBStl9k1ZGyeN83dlSCTksYzOyajMLEMnqcnlelQuLFc4HxghmRPHMjQt02YWtizqv7+IU6LK9YGcsDvtKKEldq3O76p6A/HByxlD8g9wYNtcbdH2HTv8jgAAAPwtrXsAAMDrqY+mup5O5aOvq5LdwUa1diYEAAbk906I76CqvNagFKxEVIzn8baYHMflzce/+PId8ziTU10+w8+nOFEEnpUcIXE8NzDTyvW0TItjKEP9cj01KgeP3J6z/mhjS9rNb1nYWswPcTK2Bj5W3Ta9OycK1yV52RJiowIAALwirXsAAK8q/10ePlb8CNSnU+0PqLLqav7uYKN17XAIALSo3zJxkl9AIUfm1bSW77L6vjNffBFSP8hMzlpElbO5tVV1bacs8vJRl5wQJ2X0DJlZLobkenJhYSZtHZUjk2sLw0vaLczBrsD6obqq+HC5bQZ271VJXDaGxLQ42qUAAAAvROseAMBT+Dr76R18iPqD0/WAKh99XZXsDjaK2iyfCQGArfxaSfl1k8rLdxDh+Xbl+sApy6jvNR+1VcPL9ajMWZ9Myg+bUacEhsicX14NCZNpNapcT5tZ0m7hssC+wJifxxM/F28vN8zAttmWNIbEtDjapQAAAK9C6x4AAPDavhdx8rXIwV9l1dX83cF2tXYmBABCfI+k5aupKK+1ido8VjneIt+upSRX1RV+pf29ekXmWeEZkoF5Ul4YFTlXJ5NySWd92DhGznxaRtXAZWxcXdJA1FFh72fM+b1Vz+k9PsVLGN4225LGkJgWR3+/AAAAL0HrHgDA08l/1i8XQJv6U9P1jCqffl2V7A42itosnwkB4DPlF0fKL5RQXmtTihdZmyGpvLCRtVtZUi6OxbQ8aZl8pIaEmZwrGdX4QW6LkMzJkzI6YR1yyvIiJJeXJ+WFIbm2TMuRI/l25eKm9pm71ksaizoq7E3L+b1VfLjhbbMtaQyJaXG0SwEAAJ6f1j0AgNfj399h1/ciTuJnpP3HJKuuSupgue5Ua2dCAPgEl6+fH8uXT1FeblCKF6V4UV5eKS9slOJFmfqjvlquD8S0PPl1ZovGN/1VripzMnMZLrYjLWrVWPmRTJsMjJDMqSflhSGnhKzlwmYCozyOkTATtVvYm1bnj63hCQ3/edIu/5AH/qi3JY0hMS2O/mYBAACenNY9AADgrXwv4qTrMVVW7T4V68qpauBMCADvKr8aQn5fpPJag1K8KMWL8nKnUryIy8jM8ZTjV4NbOS1Ofp3ZItPmo2pOqCfltVFn5axF2rLScz5yhpyVVs7O+JvNjxnH4ai6nozK8167fzK9C4v5IU7aSyC3WZz0bptaWG1HdtmlAAAAz0/rHgAA8IbqY6quJ1X5DGxdEiPbwXZZW0/GQgB4D/lFkJavl4vyWoNSuSjFi/LyeSIz36VcL3KwXBzL9WzLu9Tyxjf9VV1VnOT5pAzJ41krvHzmn862MjpqnRaX84Fpcm11MXEyE5XlcZJRYzm7hUtwX2DMj2OUdFXxyXKbxUnvnomqq52WI+XiWH27lskAAAA8ntY9AADgPV0ei/U/qcqqq/m7g41qbT0pLwDwAeLXfpVfBKm8/JtSuSiVi/Ly3eS7xJuW60WOXA1uxbQ8+XXmkUzI8u0yxqwz1yfzGv9YflVXeMpHjpDMiWMZmja/tmVR5Y9rPiqOvyYsb7U/p66kXP/oXViuZPLj8GkaN/CVqLraaVeXR2JantilAAAAT0jrHgAA8M7GnlTlY7Crkt3BRrV2JgSAF5K/7ePXflVe+E0WplK5KC+3yfJ6kvKldvGmV1W5kl+jclqcDLxpyoTLos/76qyZcYzL+cCUgZlchkbVhWXaKYHzIWuRNr+2q4+ZgwMyp6YtY32iNmxrdwdvyPm9VXy42DBxHNgzVzutcePFtBAndikAAMCz0boHAAC8ufWTqvaHVVl1NX93sNG6djgEgJdQf9vn5a9ifrV8XRTl5TalflHq/1Ve2yj1e2pVuV7kYLk4FtPi2DLzSE2IkzATVdWcOMmRSRkYTllhhNScOMnBG+rkGzLnssS55dWcOAkzaeuovJxfWySMhey+e++S6vyxNfCZYtvEcWDPXO3P9u06/I4AAADcj9Y9AADgI+STqtD1sCqfhF2V7A42itosnwkB4A3kt0DKb4dUXm5T6helflFe/ld5baPUL8rUlTqnXC9qVbk+ENPi+Ou0G9YJeX6K+okun2FieSnSMrDGToqcOJ4YGC5LnE6rIWEyrUaV6zm5nuHA3cLetOX9Zzc8n6bumd5tE4XrkqvLG+xSAACAZ6N1DwDg7vIfx4E/Fz+M9WFV+/OqrLoqqYPlulOtnQkB4DnFL/b49V4u/hUvVZcvkh/l5TalflHqF+XlfqX+R8SWF1a24zcmr8WcPPl15pFMiPLhhBuWD3HOd3Hm5HE+MHLiOJ9TZdQpH7aubT4to9JMVK4kDC9pt7DGlusG+Ym6Sp7Z23yQZ5Z7ZmDrXpW0J7zZLgUAAHh1WvcAAO7Iv4bDE/pexEnXT2hWXZXkSFdOVQNnQgB4NvmLvVws8pd8Wn73F+XlNqV+UeoX5eVTRWy+Ubn+sTueg+XiwGWhc0udT9jKwPxEcf7rp2iROZe1nhEYIfV4SlqEhHpSXhhSV5Unp5hcWJRnwnBOFpaLH0vqzvgNMT+OyxKm/pD5HLnHendauCrJy5aQukvzEgAAgD+kdQ8AAPhE9XlV1yOr7fOwGMnBct2p1s6EAPBs8ld6HMPyRVHkq42yPJX6RXn5nvKN4n3L9Y/d8RzZTr4S0+LYMvNIJqThkF2Rtv1cY+qfxnq182psuR4SIZlTT8oLQ04JWTtlYVk+nJNV28LetJifx64qPlnuloE9c1USl40hMS2OtigAAMCf07oHAAB8qHyyFSdfixz8VVZdzc+R9pC1GjgTAsAzyN/hcczf7SlfarR8DxSlflFefqx431hGuVjZji9r3J+8FnPy5NeZv8q3OyUnVxVR52bO56xl2imxNeSstHI2/dd61sKyPKzX1i6qMqFc/9gdvCHn91bxyYb3zLakMSSmxdEWBQAA+Fta9wAAgI+Wj6xC11OrfB62LomR7WC7rF2fAPASll/8xfJVcFFea1OKF6V+UV6+m/KWizK0EcvYnbA7noPl4sDlg53RLBLlGTWZk+qS2jN/nRYTytn0hw2Zlis8JS1CMi0u5wPT/NpqQl1hjveK8hoVjnJyfPfVdXm1O3hDnd9VxSfLPdO708K2pDEkpsXRFgUAAPhDWvcAAF5S/gs7cIr4gapPrdofXGXV1fzdwUa1No9jIQA8QP6WTvnbO5WXG5TiRSlelJfvbPu+cVle2ziasDueI9vJV2JaHH+ddkN9o+0axtQlZWYOnqWutlwPiZDMifPJqFDT4liGpmXa/MeMhIwKZXTIunxgVVG+rcrB9rTLZ/jZWjkCt+Uei5PePVMLq+3ILlsUAADgb2ndAwD4e193eEAI9Ko/hl0PrvKR2FXJ7mCjrK0nYyEAnC5/J6f4FV2VlxuU4kUpXpSXHy6WcXVyQ6xzd9p2fPlM+5PXYk4cY9qvM4/UN8pjGZ0QOXmSaadkplzkKetcL/KUtPmQtUjLzJnY/Iw14UZU4/qvAtvt5sfg7vgNMT+OAwvgM+Uei5PePRNVVyXbkV1jbwcAAMAptO4BAAAUl6dkPw+u2p9dZdVVSR0s1z3WtcMhAMy7/Gb/kb+cU3m5QSlelOJFefmPlEX8fHnleXntWJ1frn/sjudguThQ3/TXmTfkGx2trVfkhHqeJ6fItUXmKYusJ7+mNc6JY0z7deZtNSdOwkzaOiovZ9JqzkBIvvW2sHdJdQFdVXyysU273bGNe3Xs7QAAAJindQ8A4Ll8/TxYAv5K/AwOPLvKqquSHOnKqWrgTAgAvfJXbspfxam83KAUL0rxorz8THoXlvPjc5XrH7vjObKdvJaFcXJ72m35RhnVkvPrtJhQzn7+NsvFqAzMnMZF3rYOPEtkzq9tvbDJtHXU/KoioQb2pkVhJpTrH7uDN8T8PPYugI+Ve2Z+x15dHolpcbQ/AQAAHkzrHgDAi/Ev6fAY9dlV1w9dPhhbl8RIDpbrTrV2JgSA2y6/uH8sv7aL8nKDUrwoxYvy8nuJzxUfs1ysbMeXP4Pfv79iTp78OvNIvkuoUWe5fIAzvoJrTi4yT8prQzKwXJwh15Nry5ExuaqatowNyvI4TuaESIgl1ZyBz5gJ5eLH7uANdRkDC+Az5aad37GNu66+XctkAAAATqF1DwAAYN/3Ik66Hl9l1dX8HGkPWauBMyEAXMnfqCl/06bycoNSvCjFi/LyW4uPmR+8XP/YHc/BcnFg/s8tElreqNfyaU7rtYqcOGZgnt8Wc26/bw2ZX16+V6gn5YV+kZAheTkTlTLhsqa5VUV5ri0uB6IyoVz82B28oc4fWACfqe7Y3j1ztTkb92q+Xeh9OwAAAMZo3QMAALhl7PFVPhtbl8TIdrBd1q5PAOi1/A4ult/KRXm5QSlelOJFefmT5AePP4dy/WN3PEe2k9eyME5uT7stE9JMTlWXFCeXDzCdefUZ5wPTKcuLkMypJ+WFIfMJVUTlcTIzy0OclKFOuwuoseX6NzE/xEl7CR8uN0wce/fMVUljQkwLcWKLAgAAPIDWPQAAgF+sH1+1P8HKqqv5u4ONam0ex0IAPk3+wkz5izSVlxuU4kUpXpSXP1v8OcQfS7lY2Y4vf2a/fwPGnDj+Oq1Fvt181LLwsvJ6kq4uGy15I4U37C5vTA2ZT4uEepxfWCSEyVVFeSbEsQx1yvJy8WNJ7VtYzI9jlHRV8bFyg/Vus3BV0p5Qt2heAgAAcCda9wAAXtLXolwAD/G9iJOun74o2f7A7g42ytr1CQBXll+xRfy2rMrLDUrxohQvysusxB9L/kGV6x+74zlYLg7kn/O2tleUR1TLO7aoq8rA+cwMrLHL2Lir5eVgtTt4Q84PZy0v1Mxy3S8SMuSUqF/Lc8LutKMFtMSuxfw8dlUdOSuHp5V/xQN/0VcledkSEjPj2DITAACAYVr3AABeVfs/uAMnqk+w2n/6omT7A1sHy3WPWpvHsRCA95O/EkP+nkzltQaleFGKF+VljuUfVPy5lesfR+O/iqo8Gahdu/xdDnW67MpVZWCenyXSlpVOLTJXlSGTUaGmxbEMzcmozCxDQzJhPirKy9nQH9fRAnYHb8j5vVV8rOENc1USl40hMS2O9icAAMD9aN0DAHg9639nryfAw+TPYJzET1/7D2BWXc3PkfaQtZo2EwLw6vIXYLr8nl2U1xqUykUpXpSX76a85aIMvb74c9v9OEfjty1/D1MtI+uEODnlj7oGnpJWRdqy2BMWmSsMyxpPSIuQzJxMy6hMOzGqDM0ZXtJuYW9anT+2hivDn4VXkX/FA3/R25LGkJgWR/sKAADgTrTuAQDcV/4z9z1Ecqj/au9f0uHB4kcvT7p++rY/sJef5LbHZlvr2uEQgJdz+TX6I38TpvLyb0rlolQuysv3d/W+cVleeH35cbaf6Gj8V1EYx7HaVBOG13AlcjLzXLm2XGQZGlWX15LW/o7za8uF1Y85kxYJGZLnM1EhyodDdgtzsD0w5oc4aS/hk+UGy2MZarMtaQyxPwEAAO5H6x4AwL085t+16z+158lj3hRI8XMX4qTrpy+rrubnSHvIWg2cCQF4cvn7LeXvvVRe/k2pXJTKRXn5gWIB5exN5R/s9mMejf8qqvJk+I+uvnU9KS9MiJxydsbfaS4sTnKRpwTG8ZRPWp2ytvXHPCstTUbVTzeQs/tBLh+v8wPG/DgOLIAPVHdX74bZbsvGjWp/AgAA3InWPQCAl/e9yH9DzxP/ng6PFD93edL1o7f9ab38JLc9OdtVa2dCAJ7K5bfkjzK0+q37q1K5uPyG/VFe/iO5hrKsxZ8v6R7yM5aLlbEPe/kjm/5TioQ7/YFncrmYkAvLFS4rncqMkAw80Slry4VlSJyU0QM5s1zcdDSzJSGXketpmb+VVdvC3rSYH8fdKLhy2aw/GyZHGkXVVcl2ZNfY2wEAAHCb1j0AgDdx+Wf7n39wryfAY+QPYJzEj177T19WXZVsR9rVwJkQgL+Vv75SjsTvtDzmSR3flYUpS1J5+WmUZS3K0NuJj5Z/EeV6Wv5ZzQSuE05cWETlhy3XEyIno+pJeWFUhJSz6Y+cUWetrabV46Rc2HBUXc9wTlTtFvamxfw8DqyBD5Qbpne35AZbVzVuubG3AwAA4AatewAAb+V78fXzwMk/qcMj5Q9gnHT96GXVuqSOdOVUNa2eADy55RdekSPLL8IiR1JermeGvExZksrL/J38i4i/l3L9YzvSqP61ziRkSB6Hc9YiKnPieGJgyEWepcaW636RUEPypLwwJBKuTiZNrqouI3PyJEfa7S6gd1U5v7eKjzW2XaPqao9dXR6JaXG0OQEAAM6idQ8A4JU0/vt4/Tf3PGmsAk5Rn2Z1/ehtf1pjJAfLdY9am8exEIC7yt9OKUfyd1fKkSM5pxQvv+uqMoOHKH8BizK0J/5eribkyO2qI/Vveay8yvLt2sbUVZ0bWKNOyYyQiN1d4e7gkZgcx0z7ter2nIxK7QvY1bWqI1G7zsnBXfkWu28Uhdvx3cEb6vyuKj5W3be9G+ZqZzZu1Pp2eQkAAMAMrXsAAH/s67fHQmMiM+Q/ptcT4DHyBzBO4kev/acvq67m50h7yFpN28YC/Inl91lRhpbfUfW4KydnVcjB8GshdxV/F/GHX63/arZywnpOS9WRrI2TsfIrw8u4Upd0YmBm5vl8ZoaE+bRcWEblyTI8pS6vXPdbr+qsnBzptbuAHNyOH4n5IU7aS86V786ryL+vOPZumKuSxoR8u7/anAAAAO9E6x4AwDv7Xnz9PL7yD+vwSPFzlyddP3rbn9bLj3HbI7StWpvHsRCAGfnLJ5Whn99OqQz9qxQs4rJM3fxejZE6hz93+y8i/wav5mxH2kVtHC9//UMJ6/JcRsiXhkVORsV5S1qd/KuY1j75hgiJY02bCYyEDCnX0yJqPjPK45hR8zlpLCcXcFUbgzlerhvE/Dh2lfCxcnf17rFwVdKYUDdny2QAAACOaN0DAHgiX8u/s5eLA79O2Kr/8p4neQ48QPzQhTjp+tHLqqv5OdIeslbTZkIA2uWvmhS/ecroz++3UK7/VQoWOZIz1/OX6n9+r+ZIXoZlFo+w/mMP+RdRXju2nRMjmVCue9S0sfKQCVEeJ2E4Zy0z0ymBKRc5H5jLO+sjZ1oe56MiIUyuKsozIY5xOROVMm0gZ1nIzmfZHbwh5sdxWcLsZ+Ht5e7q3WPhqqQxITdnsDkBAACGad0DAPgI34v89/R6AjxG/NDlSdePXv6orksuP8ajP7+1tp6UFwBOcvmF9SN+z5TRZTx/84QytJLz8yRHytRFjuzKCeuqPKkjPED+LaQy9Jv4C9pOzoSxv7usjZPhv/p1eZyfsoUy80R1kbnCyUVGSM2JkzJ6IGeWi5vaZx65LGsJyeNMWibkSY4Mi5zLskY/3W5hb1rMz+PYGvgouU8GdstVSWNCTAtxYnMCAACM0boHAPBB8l/V85/U4+jf1uFh8qcvTrp+9LLqqmQ70q7WzoQArOUvkxC/WMrQqtMlldEfOT/lSJm3yJFGMf8qJE7WyTyho7+d9d9mr8m/+mXvlHevJ5Mipx5PDIyoOAnzmTUwL+fl2k5Z2CkfM8rL2dzHrMsYXs9uYW9azh9eAx9leLdcleRlS0jMjGPLTAAAAK5o3QMA+Djfizxp/Id44BT1p6/r5y6r1iXbkXbr2uEQ4MPFr46qDP107YQ4z+NaTk45kpNTjoyJ8pK7qGlxnic8j/wLqn9lZXTlxku/itp6HFPfPUPGlrFr5nOtRU6NypPywqgIKWcnySUtC5xa2/pjlqE5NbBcd6p/2sM5NWGtN62GtJfwsXK37G68265K4rIxJKbF0eYEAADopXUPAOBD1X9/zxP/wg4PUx9rdf3cbX9UZ354ozbLZ0KAj5K/K1KO5G+StRyvyuxFjpR5ixw5RQ2ssXlS35dnEH8d67+gsPsXdOOlX9XC4b/6SIjjeqmnyPUMf64r60XOB64/6WTaOmp+bZFQQ+Y/ZiSsAwdkbc0poz0yoVz8yLTt+JGcHyftJXysurV6d0strLYju2xOAACAAVr3AABezNeiXMz5XmRaPQEeIH/64mT5gW790cuq9fw60h6yVtPqCcDa8tulWH7flG6V9fmVmJnHPAk5OeXIY+Q7rlfCH4q/he0GyL+gcvGvGy/ddvlbn9tpmbC74GEZlZljn+vKOjBHTpHLm1lhJOSScm0zUSnT8jijLmZmVVG7Lh/IyfJt4Tq2RcyPY1fJrt735eXEX/HYbtnuje3IrrG3AwAA+GRa9wAAXszln94PHvmMqYHnxgK/ih+6PPl/du1su3EchqLoqv//6OorXgTNaDIHKSU7Zz9okRQBkBpS3ba73rvtq7q8w23fpW1lrI9jSQB8Ev8pMP+JsDi9J2YXHomYwiP/iheQC7tPvX200w06unQ+FZ1Oed+HM6RLkoiWlDtaJczxLnVCuWSRSrJKm3YHj2iyjp5/ycJsMlVuwY3hbC2XwhN2pyl8N0NL2prm66iQrij8Tvm0uNto+0w2PqVj5QAAAADg1+KnewAAADfyZ9bX8ifgyixqX/WBuLNl46q0AM6VV7n7m1dHreZ7pD1JLbNt0wL4Dcofj7D8ffkSp/fE7MIjEVN45CG8nlznhbx9u6/Ku6uvz67liTn418fju6deUqwbY+GprO6yfxzrVV2SMxNeskgnkflsubALXbKqsr/4Qxej/Rzr49iSFLsN3B08kcsYWwN+lbHH1U9XHdX4vI2VAwAAAIDfiZ/uAQAA3OJnPqT+W1xVq852YVoAL+mNc6PrvfN7Wocs7/Doy5uxPo4lAfBG/Kab/wJYnD6lEDcipvDIM3mF3mwMTXAecVrzKTV8yt0f8JO12vkiWH19TvjSRafi8N1TLzlWjbFwW/bw9Y9jDM3xkty4KqdctUglcR4fZxI6VXSueFaV4apVZYaTVPW0E57WMnNlN39j0eT5vVG7LkmCJ9Mt1lF3uetGK2r1bKy6RzRNx65aAAAAAPA78dM9AACAt+ePzq/6THz5YL4kvDYtgHN+9dToeu8ctQrZjrRzbN0A8EnK34aw/Pn4EqdfUZQbDmkPfAgvOHfRpVyzsFyyIs5951OaFv3b5GLckDjxj8QiCl8Ei9MNNNnh0a/4VHQ6eQ1HmV/K8JPl9cqc7l5FCWcuVM15dJxPqAzZmE914aqcKtseH5B5BpLslvZge7ZM0h6CX8vP6u6Dd24V0pjB5XgyAQAAAOAcP90DAAB4P3+K6BR/i+34MGfLxlVpAZwrr3L3V1yOqkO2I+0y1sexJACewy+y+QW3OP1KRBbtUY/lLWgv7p7zrq1csxCn/yktSUcv5h+uyhfHLlmGkyhb9Cse3z31kmJ9HA7P2OEkK87p9lUJdVQqNXScz5l5cp2TnMo5Y6ifM9SNYZlhMo8og6/SQKrda6JBj0f/Fc+PDnDKj5aPMdRmFdKYwU9mby0AAAAA+FX46R4AAMD7+Vv8KWKoyPHoz6mzXZgWwEt643Rc3vCe987vaR2yHWm3ev3HkgD4V/zamt7iFKdficgiIgud8vGteS/eXQx951PimRbnHsOrioUWP7bIqFd4GeazbvisRwYoyW54qbN/6qUMHF6YMuiocKcazlNzTh/n1SuU+RVelcecaj6nw51qJo+V5Uxdf4d7PVKW1reqDIz+l93BE5qvY291/EJ+tHofMFmFNGbgyQQAAACAc/x0DwAA4F39Lf4UMVTsDg7LKmpfmBbAOb96anS9d46q5+dIe5KUsW4PZADwk8qLHvz+WpxuEMHH4T4bnTfnreV2vDXzxsWnniwWWsTQPeLSFFGviNPf5SlN9sgAZTgKPzl1rqxramEZnqku4fXo6MYML8yp3IgTE5RHx6tSOc/k2hTuDDqqO7k2h+s4nCfXI17SAGeIzpfdwRNZvSsKv5Afrd4HTFYhjRn8ZPJYAgAAAMAufroHAADw3v4Wqw/Bc/CqD8ed0I0L0wI45/dOul667Xu6vMBt36ttZayPY0kA3MRvpflttTjdIIKLCP4eHueK7dm35r3UWzOfha+MxaUp4vQrnqlYdwcog6tHv+JT0emUWxjLkPsaXsBWLmlmX7Vc5FUJJXO6OyyX5MZMwqt2563pOJnQeZQhG2W4w+4Celfl6r1R+IX8kAw8KquQxgyapqNmtkwGAAAAgF+Fn+4BAAD8S3++vtqZ5I/LVx+Ca3B3fJizZeOqtABOlPe4+4suR63me6Q9SS2zbdMC+CfK2zzygypzuERwEeeqsxLnijj9QT51X8Pirhe+OBanOznQ2TzSy9V3wz0+llmx0RpSFnXLY6PtKPN2U7uD57xCJ/TIJC/gZCXti/RMUUNidIjDfWysfiSXNJMnV3K+L5fYLbS7AA/uzt+VSdpD8Dv5Udl96s6tQhozaJobPJkAAAAAUOOnewAAAB/ib/GniKEix6M/p852YVoA5/zqqdH10vklrUOcpytJylgfx5IAuJBexmi18Ztr5YVexLmDsxKnP5q2qV1H5/fxTTffdIvTczKVkntkgDLshjv5WGbHqjG8MIebkgznSV6S88xnkzrhPKXKxrWblav2qzzDqXJJF+ZRdyCPw1eBJesyHv1XPF+N9pAj8xnwZPlc9d7oDDR3XyZZnsuLnkwAAAAA+Bj8dA8AAOAp/nx9wXPEn26fzymfhO98qePB7fiYrHJtWgDn9Mbp2PXSlZd1/Z5uR9o5tm4AeLLyroflz8GX1SmJE4VjfxXt2tch+p/OmzXfdIvTV3Nm1XJ3gDJ4tdGv+FR0OuXChjOY8swso+YlyfyqLBPKfEKvypuVGB3lPPUKZziVc8ZQP4e35Hk5IQ2s52gB7UVN83UcWAB+lfK4jTwqiqpDnKcliabpyJMJAAAAAMZP9wAAAD6QPzFffRRePkjfGR/mbNm4Ki2AE+U97v6uy1F1yHakXcb6OJYEwK38bopfWKvHJUa/OPA383XQlYn+x/F9N2/W4vTNXMjVPdLLq90N9/hYZsX6OBZujp1MkrwkNy5JmOYTKoOTZCNOjLokiTmVTOas88TQBCcZW8/uRnp3lwvoisIvNPasbh/Ixkd0rBwAAAAAfCR+ugcAAPCZ/hZ/ihgqcjz6c+psF6YFcE6vm47L693z0vklrUO2I+1494GnKW9z0ItpR+PiKKzoyuhCRecj+NaL77vFuZ+VpbUYjwxQht1wJx/LnIHDC3MGyUacGKU8Os7nWVHC4atUyySXZJOr9qs8XpKPwwkzj7vDeUSxmW0gT72MtDt4QvN9HFgAfhU/KsuT2vmAreY3PmxZzl0AAAAA+LX46R4AAMAn+1ssH73vfZi+GhyWVa5NC+CE3zs1ul46R9XztyPtMtbHsSQAZvjVM7+SFkNFDBURhlO6UL500X9DXr/51kuc+9e8Ei3M3QHK4K1Fv+JT0emxXKC5hWW4Uw3nSc4Tnet4hTpOrjCTeJGT2eyShYnz6CgxNMTh50l09nzBnuD1qHs+edduiZd1Vzy/Nwq/kB/UsQesDmnM4HItMwEAAADgg/HTPQAAgM/3t1h9IJ6DV31QniWuTQvghF43N7reuO1LOvPa8u4D/4peN713ySMWQ4Uno4svna5k9N+Bb715/Rann8Sr8lI90stb2w33+Fhmxeo4H+72WJIV57T5hLlCNWQyYSbRUd355V21MHES5znJ1lIrk7yceURVdFR4Nspwh9111ntskUnaQ/A7+VHZfepOaP4qpDGDpunIYwkAAADgN+OnewAAAG/mTxGdjZOz/uh8dXb5fH1vfExmc/uSnADO+b1To7zHrS+do+r5OdKeJGWs2wMZAPTSu6bj9nUrr+NyCvOefyWXP9lffOstTj9YrlMr98gAZdgNd/KxzAqM1pAsLU41toxdmTn6Q8oC/1/hZDZxkpJ19sFzKmfTMUZHlRVd8C44ibMNr8pJvDW3eylquTTfF+Bsq8ETnq9Gewh+Jz9XPsZQm1VIYwYeSwAAAAC/HD/dAwAAuIs/gL7JnyI6zbQk2cbmePTn1NlKKT6CB27n906NrjfOr2od4jxdSVLG+jiWBEC7fOmij9/Bf2DNz4DF6bfiZWsj7g5QhqPwk1Pnlqs5t7AMd+MqTijDC0temBPOZzPnmcxW9rcsycfJbKI80ZrjxXhVMdRp2djXps7z+NR2QmaI/pfzbFuar2NXCH4hP1e9T5esQhoz8FgCAAAA+M346R4AAMD1bv3E+W/htgoN1HKGbaAHBxLuchU3LkwL4IRfuq43rryp65d0O9LOsXUDwK1mXli8C99i0x1PcfqdeRfal7sDlMFXJvoVn4pOp7y8Yxnm97WVO93ua2CnuUI3rnK0kq4VerKOXVHnJvPkYnwczqZwHYfDxQuIzpfdwRO5jK4o/DZ+rnqfLlmFNGbIx9JdAAAAAPg9+OkeAADAm/lT/C3qEbfbKXwb6LTb8WHOlo2r0gI4Ul7i7u+9HFWHbEfaZayPY0kA9OJd+zD++2n+u2px+oN4U96pR3r5yuyGe3wss2J9nAzXcXgNK5nNq5rMqSTOE/05SqWjs5Wlza7NSeq0MzJh9Ic4iY5uxOiekwk6lcex9ewmf7mklXoZwBE/V71Pl6xCGjP4geytBQAAAADvjp/uAQAAvJm/xZ/CbY/niLstHO7AGCpyPPpz6mwXpgVwQu+ajsu73fPG+Q2tQ7Yj7XjxgbuVt3Oht8ziBN5W3NEibmoRpz9XblMb98gAZdgNd/KxzBk4szCZWcOK8uioVFfldEK7ZIU2v7ayv0iihgeHXXXFnMHZYmjC8Hp2A3Nt0X/F84fXgF9i+DlZhTRm0DQdeSYBAAAA/Cr8dA8AAOAt/S3+FP50e1idKoaK3cFhWeXatACO+KVTo+uNc1Q9fzvSLmN9HEsC4ITfsujgPfnPo/mGWpz+TbxrXQd3ByiDr2T0Kz4VnR7LzZheWFnUyG9fdnlJmTNGr5Bpo9+vLC0ul7N5fJiz2eTClo1dsSplmE9iM+tx4Cq2LK0jYU5uD8Ev5Oek69GyVUhjBk3TkWcSAAAAwO/BT/cAAADe2N/CH2rXH3Dr6Ea7OlXKwd5sR7LEtWkBHNG75kbX67Z9Q2fe2dWL70EA+M3KH9Sgv40pTv9ivgi+Mh7p5Su5G+7xscyK1XEm3NV9HEuyolQ6OtUlCUV5ykpn/73uWlt7Oc9snLy1bOy6u6Ak0Zq4/pPrUaBjo/9ld/CIk0QHOJAPVe+DmoHm7sskfiZbZgIAAADAB+CnewAAAG8vP9fOtg180r37SboGd8fHZDa3L8kJ4IRfOjXKS9z6xjmqnr8daZexPo4lAYAnyz9x0d8of/xC+aMY4jS+5GXRhfLIAGXYDXfyscwKdGN4YVl6eA0ruaRsTPLCZH6FqyVNZjMvbHJtDp/PUztK1VLCc5bVjK5nN7A323B1/B7LMzr0x3n1dDnPyySa4wZPJgAAAICPx0/3AAAAPoE//lbjT/nix4N29Em3x7dnnUrjq1M5Hv05dbZS6pq0AI74pVOj63Xze1qHbEfaOTYbY0kA4IH0B81/Y1d/39w2nUo+ixO+Srpu7g5QBl/56Fd8Kjo9lps3t7AMV2NZ3MQGzQltPptcuEJlcLYLeUleWwz1c7jzxNAcp9Ix+p3q9Ywl2Q3szab50QKO+TlZntfOp2s1v+X51BxRo6sWAAAAALwdfroHAADwz/y57uuimj/XrjNrxIPtyofkh98A9WY74ipuXJgWwBG/cV2vW3lNv72h25F2GZuNOAHgTfDavuS/b2rk3zrzWbTzRdNlHH7qfOV3w4/GWyhWx/lVuRGjV3Da4YUlrypXOJnQ2Xy8JJV4bToOJ1S4M0R/mlLNJMz16KjuQB6HR+fL7uC54S3g9/BT2vt0bec3ZnA5nkwAAAAAH4yf7gEAAHwUf64tfzZfBw582K1wRa0CnXY7PszZ6gaA+5Q3uPsLMEfVIduRdg6UbMQJAI/k99T02sYovmwvi0e4VvPyMuqSemSAMuyGe3wss1d1lDmdTJipfkTZlPakaLvM45wxesAzo3Mqc0a/37Ksr0ci28Pq8MlV6eglTeZ5Ge4Ju9N2wz24O39X73z8Tn5OWp7Y2nZ+YwZN05HHEgAAAMCn4qd7AAAAj+APvqOzx59Tn89JmiYKcVrxoEc8p5HDt4FH42Mym9pX5QRwQm+cjr2vm9/TOmQ70mh557/e+mwAeJTyci/8wlqcwxdfn+gU2xFM8vXUhXV3gDLshmv86NRLw4HJ1aNzBS9J3IjRCV7eJanMa9td3u7gEU3WUfMd0h54omsBW7mkPI5xnjpbF+9iFahBj0f/ld75+J38kPQ+Kp5fhzRm0DQdW2YCAAAAwNvhp3sAAAAf629RPhj//yP11YiOnnxO0zxfYqjI8ejPcTY3trUAXCvfuK7XzVH1/O1Iu4z1cSwJgAv5TTS/oRLnsOGrFJ1CI9HCpXydy4M5eIWV4Sjcp6LTQ4Gixlj4yiVJvCSl8nE+p/JE6wq5KjdidMi1C5P5VdVLOs/TWGhsPYraDezN5vk6Rh/YyIek99FahTRm0DQdu2oBAAAAwFvgp3sAAAAfLj/gXj4grz4TH/jIe5UheXAg4a4scW1aALv0ornR9a5tX8+ZF3b11nsQwA8rb3D814LFiYrnRAfHuEp3yMdy+PI6w264x8cyK1bH4fA0s4YVp9LRjRgdpSTRuuLZzlX5OJPQqaIzzevxcXhVZUWXLSnXE/0eu4G92Yar4/fwQzLwqKxCGjNomo48lgAAAAA+DD/dAwAA+Hx/iz+F23FiSKaKfuG02/Exmc3tS3ICOOI3To3yBre+bo6q529H2mWsj2NJALQ4esX8Gkbniyen3Tm/li9IdIq8RKJ2jOJSurY6zlzeo7tT7tv4v2JuzCxMsTNrWHEe51T3kpySaaM/ynl0dCNGhyiDG89ZlcKjdaqlitej48uZW7v5e7fmvQxUx+/hh6r30ZJVSGMGnkkAAAAAn4ef7gEAAPwW+Rm3qF13y/kODt/G5nj052Q2H69KC2CX3zg1ut617eu5HWnn2LoB4CrlvVzo/ZIYPRBTvyanOP27xaUpFyeGitWI2hqJDi7l61xuwuAV9t3ZDR++cQoUNcbCxaXFjRidUFZ08XPo5V2S1kmcMIbmZMLoD6lXNZOq3tRwHifxYmQgz26UB3uz9c7Hr+KHauApXYU0ZtA0HXkmAQAAAHwMfroHAADwi/wt1PhTuJ1dt7d8ajvB2XbHl3QXfZKeJa5NC2CXXjQdu941haxez+1Iu4wdzgAg+SUyv1wS5zZiXhFD+BLXpYjrWP5Gxemv/0wq5/8f9Jx6BFfxLVBj+PI6w264x8cyK1bHmXBX93EsyYpS5XFeLsyNGB2lJJfkMa9qN2FXlUyiYwzNcbbodCprWcK9noE8GR79omTtyKbJOm7zAMlPVNdzZauQxgz5TLoLAAAAAG+Nn+4BAABczB8f+6PkZ8q1aalq110vvovCt4FOux0fk9ncviQngCN+49ToetccVYdsR9ploBtjSYBfy2+NlLcwxLljMe8754kZv4+3L3E5ijh38AfKg9H5uqqrObiKrq2OM5f36O6U+zZ44xTo4/DCHLus4OqHR9nmE+bCfLwkYbTm5HrciNFRmWQ+1fySfImcxyNdFCXbBewOHnESNWY2gs+WT1TvQ5KBtuoe4YEEAAAA8DH46R4AAMCH+NP5XU5+0u3AjPWI240cvg08Gh+T2dS+KieAI3rddOx91/yS1iHbkUbLC19isxEnAJzKt0ZiqLK8jZ0vtXSFfBJvX6J/QNcn5n391Vpdse0IrqJrq+PM5fXd2c0wfOMycCxcclXzG6wpmzNHf4LzXJjQJlPlenycz5bHmVSXLKlxGSclvIDofNkdPNG4DPxaekLGHhJF1SGr7pGxWgAAAADwNPx0DwAA4KP8+fqGr5Emi6IcKB70iOc0cvg2MMejP8fZ3NjWAnChfN263jVH1fO3I+0cKNmIEwD26E2J1nd+fWR5G3v+O8EU4vDo/26+FObrKe7qrNv1iG1HcBVdWx1nLq8y+AZFv3I0/pJzRmeIMwxvapezXZXWeUSNGJqWOaM/xEl0dCNG50ymcnhZ0Xgeh0fn62522a2+O3jCaxjeBX6DfEh6H616vrsvM/BAAgAAAPgA/HQPAAAAy+fd+cm4Gx70iNo6qlvmvrAk+v6Zu3lwOz4mS+zWAnCh5ZXu/0rM72Ydsh1pVOrzygOt/Jr4TXFDPC5lygjHZrZfyHsXtX0xxafE3Ty7aliZwh+xW/jaqjFzeY/ujsfHMntVMhYuzjC/O8u9zGyqpjxOFf1pSnWUs6uQJ4saMTTHqXSMfr96Sed5GguNrWc3qjeV5us4UB2/hx+SgUernq9uSwbN0VHTXs4EAAAAgGfip3sAAADv5NbPo/Mj7/IJeXxE7sFeDneGVLLujI/JbGpflRPAEb1uOna9a/VLatuRdhnr41gS4JfQa6KjX5Py6oz8U77lPFdlezvlQi6iv0dn68uudo6k7Qiuomur48zlPbo7Gj869ZIC3Zi/717DZJ6ylSVPNuLEBOWJ1vQ2c0nza1u2d9EGTakmE+aSdIyhCcPrcdQqsDeVt9AVgt/GD9XAozXwcPqBFJ5JAAAAAO+In+4BAAC8k7/FnyKGLlXnz3ac65Thqww5Hv05zubGthaAC+Xr1vWibd/N7Ug7x9YNAEf8wm7x7tyq/hPndj1i2xFcxY/9zOU9uTs+FZ0eChQ1xsJrTnVJHie5JFttPuFqbfPZojV3/Z1HGS7c4LmWabmelzNXFLXNrxEd21Pl/PYQ/DZ+zLYP27ndh/NlBs0RNXggAQAAALwdfroHAADwTv4U/lTa7ThxqfzIW9zOrtvtykp3Pmf34EDCXVni2rQAtvSW6dj1oilk9W7miLtdMtbHsSTAr+V3Jzq4R/krFX/itg0rU76N4Cq+tmoMX15n2A33+Fhmxeo4HC4ZeLS8LrmXXJjHJznhZLZ6bRKj05w2Ov28EmeYySP1poZT5XrUkIE8u1FdqUrlK58ffB4/UT7GUAPPr0MaM/BAAgAAAHhH/HQPAADgnfwtyofY41/StHByNZzfbXdPKvrUdoLCS9y38VJhZ3xMZnP7kpwAdvl1U6PrRXNUHeKuxVCzTLXKCeCEXha9MtEZMhn+q9R/ptz20YO2HcFVdG11nLm2vjvRqWj86NRLCvRxOFyBjh1OUlOSS/KsKKHTzmRerW0mVVKSOucAhUfroiXJzJKWa/R1qcfy7Eb1ptJ8HQeq45fwEzXwXK1CGjNomo48kAAAAADeCD/dAwAA+Df84XV0OuWH0U7ihk9dS8mzVrbd7a3o8G3g0fiYzKb2VTkB7NK7pmPvi+Y3NEPKKxt5PNLOsQr0cSAD8Kn8XkSnsjuI+9R/nfLvlRueINsRXEUXVsflBoxeXt+a3fDhu5aBw+GZwY2xPDXlyeNV2ZRHDZlMWGeYX5t4YToOZyvb+v9v6XCepAxeUvT7eT3O45F5vUvKNbgLrPiJ6n2uZBXSmIEHEgAAAMB74ad7AAAAb8Afc0enUDc/j67b5eQL22wtFOVAx+roEZ9t5PBtYI5Hf46zubGtBeAq+a51vWiOWs33SHuSlKm2OQEkvSDRws/Slc+/Tm5IjqTtCC6xXP2vf6c80ssZdsM9PpDZOdUYiDWXdsOpWmTUiZY5L5VFxcWZT6gMProxwxm8KplZmFNdwivxcXhJXk+G7+bpTd57iVZrAFbqRz2G2qxCGjPwQAIAAAB4I/x0DwAA4N/zR9jRObA7RyOiUz4rGlTbZ885JDoNnL+U+v8D9xzxnEYl084H7mPZjmSJ3VoArrK8z1d8NzacxAtQoI8DGYBPpZciWtfhFRuQf52Wv1YHf6+2I7iKrq2OM9fWdyc6FY0fnXpJgToOr8p1M3w4z4ryDO9oJTfoxjyvSkc3xmgx4iRuxIl+Cs/jTB7xSnR0I0Y7OTw6o0taLWDVfckLUEhXFH4PP1G9z5WMPZn5QLoLAAAAAI/FT/cAAADeXn4kLWrLfR9P1/lXDbfb7UYt2Yey7cpsal+VE8AuvWs6Tr5o9TvbKwPdGEsCADcpf96+/ZmqG1amfBvBVXRhddS1Hb68vjW74cN3zauS4XCXzjyXcEIdJYZGeWGZ0IPDnE3H+WxO5YW5UYbHXbIkZZD5VOJ9XaL3EmXp+V3gI+UT3vuErF6NVfdI7wMMAAAAAP8EP90DAAD4BPV3JOIPssWDM5wtOl/yE3A1xIXqwWVSgxK9s9Qcj/4cZ3NjWwvAVfJdm3zLhl9VL8CB2QB+IT3/0cLD1H+j3M6RtB3BJcoln/pHyhl2w4/GX3LO6AxxaSeZf3Iyz7KsKx7Fq/IkpZJtzt4qmq+jU3lkxu6SeimDk+gYQ6NyPRJDc5wtOq8s27jogcRHGn5CFFWHrLpHxmoBAAAAwE/ip3sAAACfw59Ky5/ybY2ocdOH1HX+bMe5Thm+yrA7OMzZ6gaAx1r+KIy+qhnr41gSALv8ZkUHQ+o/TUd/rPjzdR8/wDPX1ncnOpWZu5arGgtPlzw5SpJ53IgTE5THjflsZXXLqnycSViniqFRmaes6IKbqMZMnlxPZpvXm0rzdbyqOj5PPiG9z1U9v/Gx5GkEAAAA8HD8dA8AAODT1B+Cqy1u++y1VrU86K7b7cpK15+85+BAwq3MpvZVOQHcavhVzZc9GwDwEOW/R9Z/o7JhZQp/vm6hC6vjzLU9ujXlpg3eNQX6OLMwxZYlXPDkKImOTjifLTnbfELn0dGNGJ0zmefCJSlDHo+0VPGE+fWk3lTewlXV8Xn8hAw8V/V8d19m4GkEAAAA8GT8dA8AAOB6/lz4H9IC8rNpcfemz6mdXI1V/lL5sKJPbSd4natxl9iOj3E2N67KCeAmfmHH3tOM9XEsCQDcxH+a3HDbRw+aR6KD6+jC6ri62l22NysN37UMHAu3ZU1fz1IMjcqrlI0yPMXZ5JLlKYkTxtCcTBj9fvWSZvKYM5R8g6muXY/1XiXN1/Gq6vg8fqJ6H9HVfHVbMmiOjjyNAAAAAB6In+4BAABc6VEfBPsjbDW0KlHbDZ+9Vtaq2zoOVHT4NjDHoz8nU7lxVVoAd5h5T1cvuweBX+WqJ1959B5FB1eo/7i5raMbniDu1iO4hC+1GsPX1hl2wz0+kNk51RiIlTpcjbEkNSecz5OcTS5JW1Z32fK8qsmEmUFHdSdT+SjDeTJcR3Vn1pMyZ/RfydKXVMfn8ePU9VDJdn5Lhnwa3QUAAACAh+CnewAAAJ/DH3lH50uO+Ky7t35areSulVU84nYjL3Ub5cHebLvqEtkA8Ez5wg68qhk7nAEAbpJ/oNz236gcsTLl2wiuogur48y1Pbo15aYN3jUF6qjYyXAvoD3J0YKdMNOWsXHKI8rj4yUJozUn1+NGjA6Zz5DKimaX5HAdo99vW71rSZrs6jO7wAfz4+RjDDXYzm/JkI/iy5kAAAAA8GP46R4AAMDn+1uo4U+o6245/4JDotPA+Z28Dlxqd34+7jyrqJJ+Z3xMZlP7qpwArrJ6K+sXtlcGDmcAgJvUf6Dc9tGDth3BJXRhdZy5tie3xqei08OrkuFwl3YjRo95cnROeWbj5BPOsyyuoXTLHJtcmArp6IXpOJPNqTJhGRtx1ZIcHp1+u+G9OXMv7gI1P04DD5Xm1yEtGfwoysuZAAAAAPAz+OkeAADAb/G3UKN8uN36VdmwOr8aHpRSvKNo5llFHY2PcTY3rsoJYJ7fzdUrOfyeZrbhDMBbWD3bfuCjM0oZlMcNj+Ba9d+lvGWre6fuagSX8IVVY/jaOsNu+NH4S84ZnSEu7epja9hSHi9sPmEuTw115xNK5ox+v1yMGm6f0ISWWo3TjpSFLBnciNEhM+GK3e5id/CEFzBzNfDB/DgNPFSrkJYMjlKDpxEAAADAE/DTPQAAgN/Fn1DLn0JdNzx4ufxAfPlo/Pt3RR6MzisOLyv9ttQcj/6cTHVhTgDz/ErWb+Xy5o++pxnoxlgSALhc+cP2/x8ot3MkbUdwCV1YHWeu7dGt8fhY5pZVnTwSDrexBazkXk6KtlOSS/IkL2wyZ2ZwtplUdkmeXJLak6mG1WtIvVvTfB27QvB7+HHqfahkFdKYgacRAAAAwEPw0z0AAIBP4A+4o9MgJztQ1BAPJp+Nzqg6/2S2TBX9Lx7cjg+oS1yVE8C8fDfrt3I70iizuT2QAfhV9I7oTakbuI//KEm26xHbjuASfrxnru3RrdG4T0W/hwJ9HA7PDDqOJak5ofL4eEnCPE5myyW5EaNDLlmPeTG5thjt5yXZTJ4ZWoM3Ev3CI+1L0nwd2+fjV/HjtH3MXlqFNGbgaQQAAADwBPx0DwAA4PfKz6lFbXHbZ6+VtbLt7kC53XUuq79u/c7mxlU5Aczzu1m/ktuRdhnr41gS4F/xoxudBmNPeHkz+gph3vK36esv27ZhZcq3EVzCF1aN4WvrDLvhR+MvZeDMHXfs8BpWnEfHqxLafDZl0NFr03Emm1NlwjI2yIvR0Y0Y7ecMbnhkS6dca3LNJ7bJNdJVUZN11Pz2EPwefpa6nihbhTRmyKfRXQAAAAD4efx0DwAA4Ff7W6jxp3D3po+tnVyNVf5S+bCiT60mOFWJ2x+P/pxMdWFOACt6ufSKRaeNX8n6rdyOtONNB47ojdB7IXXXbfwAXe386+S2jx40j0QH19GF1XHm2h7dmu1NbKRAUWMg1jJcjeEkNedxwhi6wvzy6p26fUITWsp52u7M3gyN8885Q8k3m2rM7i66tqbJosa/2gKeLJ+l3scjA23VPcKjCAAAAODf4qd7AAAA/8Cfq7/imqTF5KfVXpsbPnutrLVqD1R0+DbKg73ZdtUlrsoJQK+S3qzoDKnfTcuRerBRxg5nAJ7Pj3d0XvGLoJDoX/HaYkD9R8ltHd3wBHG3HsEldGF1nLm2qzuVllt4cOolBepYFjV+xxXrBcwksbKV2Mt8NnGS+eXlwsSNODHKeSZTZQYd1Z1fVSaM/s/aLd27Hs3X8V9tAU+2PNxDf/EUVc9fdY9kLXcBAAAA4Cfx0z0AAIB/7M/XlzdH8uNjNbJ9h1yGqqjtbntFR0WnzbKf71EeiU4bhW+jltXvjY9xNrevyglg3vY199s69pJm4HAG4OH8bL98vDVheZG+/+tcd/GTfC9819zw7fCIlSn84bqeL6waw9fW92U33Kei08NLkuHwLJ2NScqTx0lekqjhdpwYogw6TiYxL0YuWdVkBqm3NpmwJVwTduc4dnWqdz31XoAVPx4DD1U9vzGcRxEAAADAv8JP9wAAAN6JP3Te/TRZg/6seYYyOImr1N1y/gWHRKeB8zt5HbjU7vnEPPOsoo7GxzibG1flBD6M3gu/Jj+mvJfxZyR5ZDXYIrMNZwAeTs+2jkePt8c9x7Yj+Cf8R8kNt330oHkkOriOLqyOw9d2uWEHt8bjA5mdU42BWMtwNcoSmvJ4cnQONKY6seztq1BLxXPKkMf5VKIkPs5kU4Y8zuQRh88vaZhKu3r0i971aL6O7fPxq/hx2j5m51bzG8N5FAEAAAD8E/x0DwAA4J34Q2R/7nzfB8rKn59Zi7t3l3N+NTwopXhH0cyzisrx6M/JVBfmBDDJ72P9Si6v/ehLmoHDGYAnKy/H///Ke1DUzlPurkZqPhUd/AhdcN+UbC/35vufKXfrEVxCF1bHmWu7ulNpuYUHp15SoI5lUVPhZQmXvc5KNbykmvPUjXmXrM1JdHQjRve8nGCN03aVVcSm3I4TezwzOlfbJi/L6aioyTouO7ltkXhffpa6nihZzXf3ZYZ8FN0FAAAAgB/AT/cAAADew9/CbX+OrO6tHyjX5cTlxIOXczkX8kjaHTyimbJdpwe34wPqElflBLDS+4rli1nP3440ymzDGYAnOHl09Wy7kXPqEVnegeZ/fPEzfFN8y9zwnfKIlSnfRnAJX1g1hq+t78tuuE9Fp4eX5OOA3NFY9V1KpbQyn9NJnDCG5jiV08bQl93BI54sasTQBOfRMfr9vIzMMJNqxu4uuraW1/NfbQFP5mep64mS1Xx1WzJojo48hwAAAAB+DD/dAwAAeCf+rNnt/OS66zNlR0WnwaqclIK3fIqd+d324BjnWa2zpL9s/c7mxlU5gQ+gd8GvxoXa36/yXsafEduOtMtAN8aSAI9VXo5F9L/sDia9CCdn8QN0/f0XqdyopZ0jMYO/WrfRhdVx+MIuN6zcmuhXjsZfGg60sqJ4oy95YLwecSNGR5XVXZDHnErmc5Z1RZLJVJJLGk6lcB2dxyP/RF6T2u7gEU0WNYYvBT6YnyUfY6jBdn5LBp5DAAAAAD+Jn+4BAABczB/y3kol6o+SByoqsCsqyzlQ3PbZa2WtbLvbW64sc2edOR79OZnqwpwArLysC7WXN7n5FVPIav52pFGpv8RmI04AwL9T/0XaNqxM4a/W9XRVdZy5sEf3xeMDmZc7Pbcqh08mSWU5y158vCRhtKaXV5Z22dqUJI/DHO4lyfCSMlzHGPoXvIbVLjwYnQbeQlcIfol8yHufKM2vQ1oy8BwCAAAA+DH8dA8AAOAyP/yp7t9CDddVW4371lCXE3dvKufkaqzyl8qHFXfPOtXu+O78AXWJq3ICqOkVc6P9FatfTNuOtHOgZCNOAMC/k3/Tlr9upe2jB80j0cFFdFV1XF3qLts7ZRr3qej3UKCOu2kbOXB4ASvOs+ynIWHLHPPMxslHnGRZ2au6LyeIJ+j4cuaRXIm0VGxxSRLTkqLVpuxmvYvtyDnN1/HCXeBj+FkaeKJWIS0ZNEdHTXs5EwAAAABm8NM9AACA91Y+gv7/iw21b/1YuS4nLic+ey0Xsro9UHF3nRrcHR/jbG5clRNAyldM2t+v7fu4HWlU6i+xbg9kAIDL+c9R/adp+VP1/W+Uu/UI5vk6qzF8YZ1hN/xo/CUFujETrtjhBaw4jxPG0DRnc+YYGuIMzhZDc8qidla1O7hLM3XMJTVGnbskyZjtxj3SvqQLrwM+jJ+l7TP20iqkJYOfQ+FRBAAAAHAffroHAADwUfyBso63frJcf36ttnSVc1R0XvFM56+jeje4rLKscxV4ND7GqeoGgAuV9zX+JjS+Yg6pJ+dIY4Zaxg5nAIBr5d8lt/2nKUesTPk2gkvoquo4c2GP7ovHBzIvd3puVS7t43CSVJbz/x4vSegkddoxZWmRZCaVkuioDJIJx2Qqd+dNrqeF8+9W2VbXSNeSNFlHzW8PwS/hB6nrcbJVSEsGzRE1eA4BAAAA3ISf7gEAAHyO/EzZ7T+Fu5fLWq5Sd8v5FxwSnQbO7+QZuBTu3GDmWQXmePQn1KlKnQtyAqjpFXOj/f3yW1nPL2/q4FufgcMZAOBa9d8lt330oHkkOriIrqqOq0vd5ei+aPzo1EsK1LEsajDcgb0LOJrv9bgxtqTaanmTCb22XOEwZ9BiJlelcKfycSaPjgpXYzjJvN3qXUvSZFHjH+4Cz5QPUu+zkYG26h7hOQQAAABwH366BwAA8Gn+Fv5M2Y37Pl92LTVcxd1by+mYhTxYKi9y5CWHKyT6Xzy4HR/gEm5flRNAyles/f1yyGqyRxoz1DLbcAYAuFb95yj/QLnhCeJuPYJ5vs5qDF/Yk/viU9Hp4SVNhit2OMOuTDiZM5OoITF6wJOjc8ATSsrxhXklylAW9aLoywnWOO2Ew3WczCNjGXa30Lsvzddxfgv4MHow8tnofaLq+avukazlLgAAAABchZ/uAQAAvL0/5fuh6HzRiPhjZTfcvoPyu/ED5ZZdfeVXI0aHZJ7oFyX9Zet3Njeuygkg+f2S9pdr+zIub2kZjH6PDBzOAAAXKn/Pvv1dkhyxMoU/WdfTVdVx+MKe3Jej8ZcycDjcGXRUdyzJSiZ0I0aHrJJctbw654DMIGrE6ATn0TH6ncpyYhnZGKYMZWfdi9kN9GB0Gnj9XSH4JfxsDDxR9fzGcJ5DAAAAAHfgp3sAAACfrP5kufezbE12eKOs5UBx22evlfnd9uCAzLNaZ45Hf06mujAnACsv6/9/fDx4ziGr+duRRpltOAOAE365ooM2/nPkhts+etC2I5inq6rjzIX1fYlOZfh+KVCiM8Sl3R5YwJYTSp152CVJxFeprGtnYb1VMlseZ+SShlPV65mhDErlxcRQs91Aj7Rn03wd2+fj9/CztH3Gzq3mN4bzHAIAAAC4HD/dAwAA+HB/CzX8WbYb5UyTjGqUJRwobvvstbKWu26Uan3lcp3R/+LB3my76hJX5QSQ9H650f5+1W+lbUfaZeBwBgDt9JbpXYsO9vhvkf8cHf2BUnc1gnm+qmoMX1jflG24M4+lVaCOY7Hi0m54ZJITaj0+Di/MlCSPl6RSkvmFKYOz+TjM4V6SDC/JeSZ5AV7M2Eq2gRrpyqbJOo5Vx2fzg9T1OMlqfmM4zyEAAACAa/HTPQAAgF/hb+EPl+/+oNm11FAJcfemck6+auvo0h5f8fj27G5USXmWrYuzuXFVTgCW75e0v1zbl3E70qjUX2KHMwDAhfKPUt3OkbQdwTxdVR2HL+xytw7uy9H4Swp0Y+Z2O1bHmSTJe1m2et1D6FQz2ZRBR2Uo67psYWVRO6laSuRK5OX8kwk6Fa0Jy1JKCR+Pap1wYHS+7A4e0WQdS/Hu6vhs9cMZQw1W8xvD/RwCAAAAwCX46R4AAMBP86fJ0Xmla/JLTuVPov2RtNt3UP4fK5eFxIU86JEypYlCdqOOxsc4Vd0AcJXysv7/B8GD5xxST86Rxgy1TDWcAQAuVP8tcnv714m/V3fQVdVx5sL6vkSnMny/FChqDMTWnGcyiTmPqBFDc5zKaWOoX2Zwthid5pzR6eeVXLukYd6LjmOLcXh0vuwOHimV44J4BDA/SD7GUIPVfHfPM5yfBQAAAIAu/HQPAADgX/rzL759cUV/1tz7oXavrCVqd5VzSHQaeLLzZ6GuiqYQR60Cczz6E+pUpc4FOQEkvV9utL9cfiXr+eU1HXnl68CxDABm6KXTqxcdHPxRyoaVKfy9upivqhrDF9Y3ZRvuzGNpFajjbtqX6tjhBawsO7n02Sur21lebxXN17Er5NzuqrpcvqQZ3oucbMrju2czPPpF7/V51AXBc/hBGnic6vnq9mYAAAAAgGH8dA8AAODp/LlzdA60zFnxfH8YraMbd1g+8/6qJXW3nH/BIdFp4PxO7oaPHmlX0ux8WD+WbZdLuHFVTgCW71f7y+WQ1WSPNGaoZbbhDAC6+HWLDjb8t8gNt330oHkkOriIrqqOwxd2uVsH9+Vo/CUF+jhzuxU7maHmJc3LPLm8mRUqQyac5DzzqyorumZJvbzy6BRezORetjm7Emq+jsNrwKfygzTwOGl+HXKUQYN+9gAAAADgEvx0DwAA4Pf6W2S7fEx919ceWctV3L21nI7O76PLud1uN2pZ+nWXy6nqBoCr6LVyo/3l2r7dGvFg9Htk4HAGAA+0/I14wzfaf4i8crd1dMMTxN16BPN0VXWcuaqr25SG71cmHIsVNRTrPI1JPDk6BxpTnSir+395Mp/TJvPUi3m5qpcT7KqttXhZa2wx2516pD2b5uvYPh+/hB+kxlcpaf4qZJvBaaMDAAAAAFfgp3sAAAC/Xfl0Oj6PdsPtOyi/Gz9QbtnVVzkXcsMj7UqanXUejQ/IVGpfkhBA8vulRvvL5ZDV/O1Io8w2nAHA0+R7Hf33Ua/cDckRK1PecndPpkuqY7negxf26KaU2zVyvxyoxtiS6li3L6FUyjm2pFouT65a3iVry4VdsqpLlnSV4cU4MDqFRraDJzRZx1L8EZcCD+GnqOtZslVI3XVCtwEAAADgKvx0DwAA4A38KaJzD38A7Sq9n25rctfn11nLgeK2z14r87s9XKXOUzsaH+BUbivhJTkBWP1yufGSX8l6/nakXQYOZwDwNO/7Otd/kdz20YPmkejgCuVi///f2wN8U3bDfSo6PWaW5FhR+PACVpzkkmz18tyY5G3Or80Lu2RVVy3pEl6MGx5pt7uFrn25tDzhUuA58inqfTBWj1/X0wgAAAAAvfjpHgAAwDX8SW5+Z3AtpfWHxdvPizVyVVFXUSOrbMud6F1J1nKguO2z18pabrtRqvWVO1rkhYtXKnHjqpwAJF+urjdr+yZuRxqV+kvscAYAT/O+r3O98vzT5IYniLv1CObpquo4fFXLXfp2m9LR+EsKdGMgvCzn/x0N7ytlNjUuyeaEl/CSLllbWdfUk2BeibgRo/9IrmFsMbmX6BddqTRZ1GgPwW9QPxhdz4ai6vnuOhUAAAAAXIuf7gEAALyB8iHz/1+pSpy4gatEp7ivXNbypty9qZyTq1Hnd7mjih5fnXWeEtQ0Psap6gaAS5Q3te/bO4fUk7cj7TJwOAOARyl/D97yda5X7obkiJUp/LG6mC6pjuV6D17Yo5vi8YG0y23+/t//XRw7mSQ5j3cxtp2VelWT2ZxKSbzCyWySCd1dyetwQnM8zceX82+1WkyMNsvw6Be9qTRfx397HfBAfjAGHqecz0MFAAAA4D78dA8AAOAN/C3+FHU7Tt9AJaL19YH1feXKhv7/iuXWci5kLpSNrooK2Y3K8ehPqFOVOhfkBGB6udxof7P8PtbztyONlne7xA5nAPA07/s658qXP0wHf5q2I5hULvb///U74OimOPNYWgXquJu2kQNnMiQvxo2X2dq3PHxxUl4lNdyepzzzq7p2STNyMWoP7Mvh0Sk80p5quDQ+Wz6Z7c+GZ+oofq4AAAAA4A78dA8AAOBt/C3yg2O341wbB0angSe7isu5fYesJWpnt5x8wSHRaVAnV3vVaKeQ3SgP9mbb5RJuXJUTgOTL1f5mOaSenCONGWqZajgDgEcpfw++/Yl4F/XKtw0rU95yd0+mS6rj8FU9uSlH4y8p0MfJ8OEMNWfLPPMJRUnm11b2tyRxnslsogx1wjHzGcx5ojOqJUlZ7P6cbbhGWnImTdaxfT5+CT9F58+STqXlsfv6s+azK5oTLQAAAACYwE/3AAAA3ow/Ps6PkjXS+3lxBjaqq7h0Gb6ekmctqbvl/AsOiU6DOrnaDtfRI+12ozQ4lm2XU9UNAJfQO+VG+5u1fbU14sHoN6sDxzIA+CeWPwEHL+z7vsv1nyO3ffSgeSQ6uIIuqY6r69zl6KZsb1+jTDgQa6VsPD8xNEpJJDpXyFWVNU4tLxc2v8JcVTbGKFzcntzdvMnFKHYbtTt4xNU1vz0Ev4GfotWzVB6ToFMpTh94OQEAAAAAGvHTPQAAgLfkj5L/lI+b/ZGx2zdxOTVcZflI+7ZydS1x96ZyTq6GC7mKGzniCec0x5Mlhoqj8QGZSu1LEgIwv1xqtL9ZDlnN3440ymzDGQD8sHxto//d+77L9crdXvb5fafu1iOY5IusxvBVPbopzjyQ1oFq7KZ9yeEK9HEgw4ry5PGqbG5MZstUckkqJfGqJrNJvbZbNRYa2JEvRXS+7A4eybXNX098knyKdDSNJM8BAAAAgJ/ET/cAAADemD9Z/lM+d1bbnzuXM7coH2XHZ9l3l8tCLnFruWVXXx/fZ0N6y2WeVWCOR3+CU7m9LQRgWL5c7a+VQ+r525F2GTicAcCP0UsqJ2/r8rfgPd/leuVuSI5YmfKWu3syXVIdh6/qyU05Gn9JgT4OhytQx/YMLTM9pzHhESXRUUna1/bSfKp6VW7PyN1JDP1rAyvZ3YIHo/PKcinnXi58Kj8Y+YQAAAAAwD/ET/cAAADenj9r/tP53diwukpvOS8yOg08WVEOFLd99lpZK9s+9lpWuXdZPLgdH+ASblySEPhX9AD7YX4IL6a8qa1vll/Dev52pJECHTucAeDJ+RmNb+v52Sfzyt1w20cPmkeigyvokuq4us5djm7K9vY1yoQDsZJ1c2sen+FszhxDQ1ZJ5tfmhV21qsk84jyZMEb/Ka+kdzG7W9iOnNN8HXtLAwAAAADwM/jpHgAAwOdYvgnZ+271DvX3H73fnWiywxtlLQeK2z57ISdXw8nz6EaX3UU6/3Z8jFOpcVVCYJKeQz2W0TnWOO1fWd7S6m+OB885pJ68HWmXgcMZ8NvoOUnl0Vu4GzNwD1/nvOAx+t352Sfzsr1yt8tWvu3F3XoEk3yR1Ri+qr4p0ak480BaB0bn2FFyh1/4kDibXJJWSVaNYbmesrqpheViJvOIM1xyrc6dl/CONCEbZbjDNr9H2lMNlwYAAAAA4G78dA8AAOBD/C3U8BcSapfvMm78cmJVsW5crq4l7t5UzoUs267r9orHt2fLGnfuQo5Hf4JTub0tBGBY/Wa58ZJCVq/hdqTR8mKX2OEM+CX8ePiBsTjx/R8I3EcXOe+CG3HiO5+NzvtYnqGvlbshOWJlylvu7sl0SXUcvqq+I7vhwzdrfkl5HE6SlEeUx8fJhEoSrem1ZSovzO0xTuXjTCqvROaXZMNJtIB6DQN5tltY5XxJk3Uc3gIAAAAAADfhp3sAAAA/6k/54iQ6r3RNtuXri6/vJNxWQ3z2Di6Xbi3nHanhEmrfVM5VJAtlt7fcsuK9r5Q82Jttl0u4cVVOAPlmtb9WDqknb0faZeBwBnw2PRjRwj+1vOTlJc1GnPjOp47OPlmuvOwvduqRmMGfqRvokuq4us7tllt1cFOOxl9SoI9j4ckZJpOI8+joRozOcaqZbMqgozJcsipnOErVWELTPFNHdSdX5VTDSbyGurHrKL+rR+fL7uAR1102MHcdAAAAAAC4ED/dAwAA+Gf+fH2DcjmlFX8nUbfjdAMHRqdBPXmgXBfXcgm1s1tOvuCQ6LySM53cXR2Xwp27243S4Fi2XU5VN4D39ZxnWC+UG+1L2r7Xw2+6Ah07nAGfLZ+Q6OPfyZf05I6U2/WW96teuRv1iLlbj2CSL7Iaw1fVNyU6FY8PpM2EA7FJscvGDtbWxUmcMIbmOJXTxlC/VYbJVNlQnslUCs+Ew5zE2WKok9eQ4Sd5dk+59OpU13qW1c+9Wfi1up40AAAAAGjHT/cAAAA+lr+WWL7Z+PqKJU40c2B0GriKotx24w4upMayt2p3jRUdEp1XVsmzhBrZbuE826ij8QGZSu1LEgIQv1lqtL9WDqnnb0faOTAbAxnw2XgwHmJ5ycu9OL8j52efzCvPhqz2oq5H3MUldEl1HL6qviPb8HKvRm6WA9XYTdvIsWMLWPF65vNYpprPqQzRmqaVyLLPuVVNhpuTSHu27UyNSLYb8ySHb3N25dF8HXtLAwAAAABwB366BwAA8Gh/yvci0RmyfLNRvslwKh3jxG1URUcXKmXvqlh2FrXE3ZvKOXm23ZDecs5T1vstMMejP8Gp3NgWAjAm36z2d8oh9fztSKM6cCwDPlv9hODf8o04vyPnZ5/My5bcQjZiRjUn+pimS6rj8CUtt2j/eTsaf0mBPg6EO1YU6wwDSVbqnG4My03Nr82r8nEyjzhDNoYpQ7QqXWmX1ZT5PrYH7so80W+2jepdj+br2D4fv9bYIwoAAAAA7fjpHgAAwK/wt/Anzm7c+umzy0WnfCNyX7ks5BLq3leubOv/y+jBAXWemge34wMy/24h4Pn06EbrSbyq8pq2vlbb93o70kiBjh3OgM/Gg/EQeSPO74jPRud9aNm5cjckR6xMecvdPZaup47lYg9e1aM74vGBtJlwLFbUUKzbjUlaZmpCY7YjriJladf814hzRmdIZvCSJrPN83p09HpmOI+OEkNtG3RUdIqynI5Lrck6ts8HAAAAAOAO/HQPAADgAv643x/9P59WW77UWH9BcjlXyXZXLU3O2BaeXDZ0++6yVratt+LuIpelX7T4TKX2JQkBiN8sNdpfK4fUk7cj7TJwOAM+WHmyeDD+vbwR2YgT3/nU0dkny02V/cVOy1b+34tHooNp5Ur//5+gA3xHtuHOPJDWgWoMxErGittXUbaxJaVlY1WSyWziPc6vShmcKob+qVyP2j4O8F4Uno0y3MpriM6X3cEjWbc9BAAAAACAa/HTPQAAgDf2Z/SbG385oVhxO07cwCt0CZcrw0002eGNspYDxW2fvZCTq+HkdYmucs6zLPF7VI5Hf4JTub0tBGBM/Vq58ZJCVu/gdqTR8laX2OEM+Gw8GA+RN8KNGP1Op07OPpmX7ZW7XbbybS/u1iOYpEuq4/AlLbdo/3k7Gn9JgTrOxMpVD0kuZng7tUuSWKbScSan8tSpPHgkZ97H64nOKGfQUrNRhlspSiGrKA9G55XcQnsIAAAAAAAX4qd7AAAAb+/P1/ccjTTZ85evOPa+Z72cS6iRVe4rV9cSd28q5+TZdkNcOjqVo3Hn2Z7y4G5IL5dw45KEwC49XX7SfoPyVv3/18aD5xxST96OtMvA4Qz4YOXJ+i0v45P5RugN9fHoVT0/+1hlc9/+EEmOWJnybQSTdD11LBd78Koe3ZHhO+UljYUryuFXcTatRA0dB5ZUc7bMWcYG5Ta9MLdnXLKqaw0vJveSV6mLomRVfTtywhnUeNT1xH38ePgYQwAAAADw7/DTPQAAgF+qfD0R30/kx9bis3dwuXRrubK5/799UfvWcpKF3JXeiruLXLZx3eKdSo2rEgLQa+VG+zu1famHX3MFOnY4A4AfkO+pGzH63fnZJ8tl5xZ89KB5JDqYVq70//+hO+Dojnh8IO1Rwkbejs3kMWXL9WRjnlPNZFMGHZVhflXnG5zPP2amrmIdrmMM7XH+3SoOj06xHTnn0l0hAAAAAADM46d7AAAAT/eniM7V/hZqqITbveUcGJ0G9eSBcl1cyyXUzm45ecbzo9MgJzt5HdtSLi1L3LsmR+MDnMrtSxICyNeq/Z1ySD1/O9LOgXUDwNPkC37+pr/pW1xvym0d3fAEcbcewSRdUh2HL+nRHVnu3Pd718iBauymbefqMxksF+PGPKeSmbWtMkymyobyzKS6itYwuZj64gzYhveuR/N1bJ8PAAAAAMA8froHAADwdH+Lrq8cetUl3NZgVzkHRqeBq7iEG25fzoXUcIm6W86f8fzoNMjJq8ClcM/uliXuXZMcj/4Ep3JjWwjAgHyt2l8oh9TztyONMtDHgQwA7la/p27Eie986ujsY9Wbyi1kYzsHl9D11LG+yF1O7sjR+EsK9HEsXBS4LOuKR0VJdHSeS7IpiWzX1rtaL+wSZUWXXbEj7QvuWszuNA1Ga+iubXMuq+m5OJqs40BpAAAAAADG8NM9AACAp/tT5FcOEieuVpdwO07cxiW8I7XduEPZTdQSd+8o58xqOLnb5rrRaVAy7SzSg9vxAZl/txCAAXqbdCzvaOs7tX2ph1/z1Us9kAHA3fL1zBd2S6dOzj6Zly25hWzEjOovFS7hK6zG8FU9uiMeH0ibCQdiJeseLayLkogbHpnhbLm2meUpQx7n8ziDV1WG972cMEn5XUIuqTWWJNcQ/aIrlSbruE0CAAAAAMAd+OkeAADA0/0t/M1B3Y7TV1uVyMZNXE6NHyjnQuIS6t5Uruzp27doZXiEYreLLOmvWXymUvuShAD8WqnR/kI5pJ6/HWmUgdmIE/jF/DxEBw+Qr6ePEie+Oz/7WGVz8ccnt5AjluPRxzRdUh2HL+nRHdG4T0W/mQPVGIgVhyvWx7Ekuy7JlmuTGDrgmdE51jjtiJfhDHX7X8k1zC/GSXSsk9TtI4pyYPSL7cgJTXajPQQAAAAAgDH8dA8AAOA9lG8f4nuLbMe5e6hENlzX3TuUDUU56aqlyXVso7Kh/6+kxInr5KoyuRulWke5o0UejQ9wKrcvSQjA71TXC6WQ1fztSKMMHM4A4G5+PXV0I0a/Oz/7ZLns3IKPHqzH3cU8XU8d64vc5eSOHI2/pEAdy4oGwxW4LOvrP1PPeX50Djjb2HpqTuI889mUYXJVZVuxJDVi9N/xGmZ2ZN7UcDaHR6fYjpzQZFFjfiMAAAAAAJzgp3sAAADvxN8f/Cl6v0jIkF4ukXU9eId6eS4XnQaa3L47zfTksqElUNz2hKs4c3S+b/CknMdXZ51qG3I0PsCp3LgkIfDL5TulF6rxnXJIPXk70qgOHMsA4G5+NyUbceK7N32F6025raMbnmBlCn+gruErrMbwJd3eIPP4QFqvx8cBWfdoYb2cZHg7NSURt+dTKYOPM6m8npkMF1quTnXfh1elJI7NRpdtlEfaU3kX7fPx2/BsAAAAAJjHT/cAAADez9/CnxF3fZegaZ7frpT6v4Taarh9h91y5cz16lri7h3lnFkNJ3fbSuWOiordDTkaH+BUalyVEPjl8pVvf6G2b/TwO65Axw5nAHCr+iV1I05851NHZx+r3lRuIUesTDncOAboeuo4fEmPbke5USN3KqPGllTXHctQcyqp085QkjzO8GKWNTWs6mSOTuVxfncXatnXkdyOG722pTWyHTyhyTo+6nriIfxsAAAAAMAkfroHAADwc7q+b3g5Ob9CUEPUEJ+6nEuo4RIuV87cwrXEVZaNfcTWVoXK2KKr4rLcvdt9ND7Aqdy+JCHwy+U71f5COaSevB1pl4HDGfCOdK91x6ODZ/O76VumY4x+p1MnZ58sl51b8NGD5pHoYJqup47Dl3R7g9LYnVKUuD0QLg7PJDOcxMtQ++V6WuZ4go4vZ55wIWmp2KLe6T83ua+WveisRb+yW7prPY+6mAAAAACAD8NP9wAAAP6NP9d9oa5UziZux4mruYQaLtFbS5Md3mg1ubdcl9yX1Ht8yfMzqt0qv7qrkXMq57qrqByP/gSncmNbCECvfKfa36bt27cdaVSKL7HDGQDcqvElPT/7WPWyc5vis+Zxz8E8X97hS1ruz3JHol85Gn9JgT6OhYsDdRzOYF6Jk9TtSUolM6kyg47qTq4qN3jJ7mw4Ve5Lx7EkvibDdkt3XRwvYJsEAAAAAIBJ/HQPAADgveV3GP4WQV259esEl4hO0VXOi4xOg7qcGssm79ldFnL+bF9eLgttZTkdj+bUnMohNQ9uxwdk/t1CAHrpVdKxvKBNL5Tm++3L+duRdg6sGwAepeUl1amTs49VL9sNycZ2Dub5eqoxfEmPbofHB9JmwoFY8XZ0zDzDMomoEaOjnCGz6ehx246cy/mTC8tV9S7gxEyqel/nSbzyrXp8YBkKl1XgduSEJrsxUB0AAAAAgCP8dA8AAOC5/jR/k7R8C/H13Yyj3PDZO2TF9APlXCIbd3AhNbKW3FHOmaNTutHqp1itcLXIkv6axyBTqX1JQuCX8zulRvvb5JB6/nakUQb6OJABwK0aX1Kfjc77yE0tm/zaphsx42239li6njoOX1Lfjm34ctuG7pQD1RiItbKceEFiaNTkSlYym9c2k9apbCaPKcP8ksRJfIyhTt6Xk3hk2PCOtuvv2pEmixoDpQEAAAAA2MVP9wAAAK7hT/D/rfqLBLfVuPVLBZezHyvnEj9WS+7bWl5AJ89uLwXKdpFH4wOcyo1LEgK/nF+orrdp+/YNv48OrBsAHsXvpo4nL6lPHZ19rHpT24a5W49ghq6njsOXVOG+I9GvHI2/pEAdy4q6w8tylro+DmSoKUkeJ1NJ5lFDzhO+nGCN046UhcTlkhgd4mU41fCSvIbJJOIMbnik3ba0R9pTDZcGAAAAAGCLn+4BAADMetpH9n+L8tXD/18aSZy+gUro6BIuV4ZvUTb0/3dOXbU0uY5tV2/N7QuVDcWq6uQDtZxqG3U0PiDzXJUQ+M3Kqxl/PxtfKIfUk7cjjTLQx4EMAG6V76YbMfrd8hoP/QX453LZbkg2coJH3MUkX081hi/p0e3w+EBar+co7UsO1HE4w5ZTTWbLJYkaMTrBeXSM/pBcUvTnKM/MknxZJhfjBejoRow220b1ptJkHSd3AQAAAACA8NM9AACAz5TfJUj5GqLjeyOHRKeZQxTroxs3WS2vvZZmdm1Nk3O+Y2XZ29W7c+boVE5qeXx79miFR+O9ykrja61LEgK/nF4oN9rfJr+D9fztSKN8nYczALiPXky/m+dv6PnZx8plL5v82qYbMaP6G4VL6HrqOHxJfTu24cttG7pTGTUQKw4XNdQdS1JzhrG9rNRLmsxWX6WZVF7SvNzazIWqF3OU5GV+T5CxlWR49IuuVJqs4zYJAAAAAABd+OkeAADAx/pbqOGvE7JdTr6WIe1KwW9fw7SX67WqpfYP1PKO3L2jnKskd12rq9yyvoPvonbHBziV25ckBH6zfKHa3yaH1JO3I43qwLEMAG7V8oYur/Ebvr/1st2QHLEcjz7m6HrqOHxJFe47Ev3K0fg5J3R7OHxsL1teibJdkrMsbUno44zMoMbLhZ3MmV+JOU/LhWqp6CTneY4o1uE6xlCPDI9+sR05oclujK0fb6fr8QAAAACARvx0DwAA4MMtX0d8fbnirhq3ftycFe3WclnIJe6u5XIuoXZ7Lc10bIuc6fx1ObcbKWQ3KsejP8Gp3LgkIfCb5QvV/jb51avnb0caleJL7HAGAPdpfEN9NjrvI5e9bHJvmznuLib5eqoxfEmPbsfR+Etej48D6vDJ50RJxEl0nMxml2TL3eXy/q1ynZaV6BhDo5zE2WKok2N1jP6GMx/l35buWowmixrtIQAAAAAA1PjpHgAAwG+R3yj42wU1bv12weXM5aLTQJPr8JdWk8vO7tqaa7lEtsuZ1zKkxXZT2ch2C+WRbYgHu1IdyfxXJQR+M71QOra/Tcsb/v11zhF3u2TgcAYA9/GLubzhx2+oTx2dfax62W4vm/y+TXfrEczQ9dRx+Hqu7k4avk2ZcCC2dslz4ovjxmSqpFS72dpLHGX4hy5Zj5NIe7btzHqkMUntKGF7Ks3XsX0+3sv2CQEAAACAC/HTPQAAgHf1p+d3YLXlK4jqC1GJE1dzCTWyRFctTXZ4o9XkZWP3bK1s6/99uXtHOWeOzvcNupaO9eAJTSsL/LbCJftFK3cqty9JiLejm57PACblC9X+Kjmknu9ue4aUqYYzALhPvphuxOh3yzt8fPax6mW7IdnYzsE8XUwd6yvcxfdiG1vu0shtcqAaA7FJsc4zk0TmV5IylVy1sOeo1zO8NSWRvD4neTQhWsecJDrNtlEa6UqlyToOlAYAAAAA/HL8dA8AAOC9/SnfcESnQfkCIr5UcKy47QmXc4noFD9WS+37tpa1XMLdO2o5sxpO7raPXUqanQtyND7Aqdy4JCE+j54KPySrNrZ8ccqb1PoqrV49dVcj7RxYNwA8RHmzlxfTx6M39PzsY3nZbridDU+QVRczfHnVGLukDt+NPRp/SYE6KnYsXBw7vIC07K36D5X5bDrmwmayXbiqa3lr0enncB0lhoY4iY4SQ212ozwYnVe88vb5AAAAAAAIP90DAAD4jf4WapTvJna+E72cyyXXjc7VvB01XELt+2qlutYd5cqe/t9UlijVOso5zzbkaHxA5rkqIfBrlffy/7/VHjznkHrydqRRBvo4kAHAffxi1o2t5R0eev3/La/Zy871rzZSz8E8XU8dh6/n6u6k4dvk9RylPacohyvWGTKJu263czY3BsJr9cJeZns5wRqn/QxvbWY9Dp/JYMqgVG54pJGivIboF9uRE5qso+a3hwAAAAAAfjl+ugcAAPB7lS8m/v9qQW03fPYOLmd3l1v2Vn1h015IM702h7fIQo4St332Qi60dVLO46uzRyu8auXLJSip1L4kIfCb6W1yo/1V8gtYz9+ONMp3ORsAHkJvpV9MH4/eUJ+NzpsoO/v2x0eysZ2DebqYOtZXuIvvxTa23KWR25RRA7GicB0VW+rv//dz0gTPPK/VMuelZTUlibPF6ATn0TH6/1SuZNne6JKWC/R1+zzSqw5XeyDPNqorjxcgw1vADxh7NgAAAADgDvx0DwAA4NH+FNG5x99CDRWq2+XkCw7xMYYa1CUcXoZvofwul24ql4WUX9x12xOu4szR+bqY1lXOebYhR+MDnMrtSxICv1a+Te2vkkPqyduRRhno40AGAPfJ19ONGP3Op47OPlYuu2xuf5urLmb48qoxdkkdvht7NH7OCdVQ7HB4xg5kWHE2H2NolJLoeMnCcj06Tqa6hLfmxvl6cuaRlxNOZKzWMJZnu/7tyAlNFjWecFNwouu2AgAAAMBN+OkeAADAE+V3DOUz/+XT5Ls/UHY5F3JRd8vJ661KlLI3bjDLuX1fuSzkEu7eUctVxMmzK13lygJ3LkiOR3+CU7lxSUJ8PJ6TI/k2tV8iv3f1/O1IIwdmYyADgJvkW5nv6ZZOnZx9rHrZbkiOWI5HH3N0PXUcvp6ru5OGb5PX4+OAOnCg+krurmxlKptSeW0+zsgMakyu6hJej1YyuR7H6jiWRNVzJXncKukX0a9s1++R3cm76gUAAAAAAHCEn+4BAAD8kD/l24voNCtfDfz/CzCJEzdwFTVcyF23PeFyLhGdr7rRuY1LeGseuVzuq2wo7vt95WSVvJTtKOcFb0M82JXqSOa/KiHwa+lt0rH9VVpe7+/vco64264OHMsA4Cb5evp49Hqen30sL9sNt330YD3uLibpYuo4fD19L7bh5S6N3KaMGogV13XDIzMyiRpj61nJrc1k86qU4ZJVzSdRhkuS+DiTykmGbUuX5XSsR5N1nLwUAAAAAIDPxk/3AAAA/oE/Xz/neql8NbB8N+CQbMfpG6iEGy6URT14B5eITucXG15hdHq4io5u3CEX5hLutpTTnPZNaebR5GVvX9tsSag5GZJK+mueOqdy+5KEwK+Vb1P7e+SQer677RlSphrOAOAmfivrxtbyAh+ffSyv2ct2u+zj20ZWXczQxdRxueJDl7TcnP3bcTR+zgmjM8p1ly3NPSdeiZKoMZkqlf3tZGsvcZThH9J6ojVBO5Kura1m1stoT5JcepuzPZUX0D4fAAAAAPDb8NM9AACAN/C3KF8Z7HxP+ZKjotOp1IwvSyRGb1Cv8NYNauZqctnZLVura3mRckc5Z47O94vZxXm2KzwaH+BUbsxnw6fyQ4JzvkpdL6bfu5yv7mqknQPrBoAnKK/18lb6ePR6+mx03kTZ2be/PJIjluPRx4Tlcn/9Q+ORXr4d0akcjb+U6xkLt2VXowtIlyQx5dGx7Gn9PA9wNptMdYlcz/BilEHy4pzk0YRoHXuZZNeygs2t2Y6c0GQdS+XB6wAAAAAA+GD8dA8AAOCh/pTvJ6JT1J/4Z7ucaZJRjTQ557uQukvt275vyIp1uXLmelnLXOumclnI+UvlW7bmzGpkoTK86CrnPApZReV49CdknlLkgoTA7+S3Uo3298gh9fztSKMM9HEgA4Cb5LvpRox+51NHZx8rd1Q2F9ss+4iN5Li7mKSLqePw9Ty6Fx4fSOv1jN3i3IuMZVhxwkvk2rywmbXlqi5c3rnGQjP78mXRsbHWESdxwyPtFLiK2o6cyJUPlMbDcU8BAAAATOKnewAAAFP8Ke3kVwjtVMi16rq3flKcFSWLqnFf0VW5u2u5nEuo3VVLkx3eIgu5hGu5fa1c0ip5bznl8SKj/8WDXal2Ob/blyQEfi2/TV3v0XZ+b4bkwLoB4AnypT55N3Xq5Oxjec1etttlH9824m49gmG6mDoOX8+je7Hcs+93rVFGDcSKwnVUrPOMJUnOZpekUhI1ZDKbOJWO86kuMbmvei+TScpCRlayjfJIY6pSNu6yR/ABfE8BAAAAYAY/3QMAAHg/qw/91S7fF9z4BUBWFBVyt6uio6LTYDV52d5tGyy7+f961o3LZSFxXbd99irOHJ3vjsp5cHtqd4XOvx0f4FRuXJIQ+LX8KrW/R+Xl+/aXfDvSKAN9HMgA4A6N7+b52WcqO1uW7bbXn43tHEzyxVRj7Ho6fDf2aPycE6qh2LFwHRXoPC0ZWqY1pjpRlrMkETVidJRTlZSzC7tE2Va8pzHUyXuJzsTTWBYyuJJt1LKmnlSarONAaQAAAADAp+KnewAAAG+s/tzfXxjc+h3A8qXEV0XJdjnZJKMalYL/zy9l79rgqpbcVCsLeTvuuu0JV3Hm6JRuHrvKlTQ7KzwaH+A8dQPAgPJSxjvukZf80tXztyONHFg3ADxBy7upUydnH8trllx/NmIGf5EupYup4/D1PLoXHh9I6/WM3WJFOVDUiNE5TqVj9Ed5Pc4zn80ZXi6sfeXDS1IJV/HxZZ6XE5wnOj3KQmIlMXRgN79jV6c8GJ1XXLd9PgAAAADgs/HTPQAAgLdXf/S/+0XCtVRiVTHbN3EJU/vHaslyKe8pp0Ku5fzuttfSTIe3c/Is57a7LcoCd1Z4NN6rzrMsazoh8GvpVdKx/T3Kty/n54i77TLQx4EMAO7Q+G76bHTeRNlZLHvbMHfrEQzTxdRx+Hoe3QuN+1T0m41FJYXrOJOhlovRcTLncjnK2nycoQxejxsxOuEoT2N+T9NRYmjU5KYce7IMZ97Nv6x+U3o7ckKTddT89hAAAAAAwKfip3sAAACfoHx3EJ/+u333dwCuooYLueJ9RVflbq0lrmVq31erbOv/S6e2x1sopH1+qfP/ZJezUrx1g0qyO/9ovFdZZqzzkoT4Sbpfefvwb+Wr1P4SOaSe7257hpR5hjMAuINfSR3diNHvfOro7GPljnL9q42o6xF3McMXU42x6+nw3dij8XNOqMbMeqIzLVOpccnz5iQ6zmQrW1zWo6O6M6nEeSbXo/CZDElJZhZTxw4k2ZbuWowmuzG8fgAAAADAZ+CnewAAAJ/jb/GnyEacu40K6ehCdxddtld9tdZVSJPr2BYu5yrLru7cl44uUbfLySs5udVty+rnNEe2KzwaH+BUbsxnA34tv0ddb6Vfupy/vIpDr2EdOJYBwB38Pko24kRleXvf8LXNHeX6sxEz+HN0KV1MHYev59G98PhAWq9HBmJrk+GSV+ZojwOUaj6bM+gY/Qm5O4mhTst+pm+ZMzj8PElLLc0ZWMk2qiuPJosaA6UBAAAAAB+Dn+4BAAC8sT973774CwB/+p+Ndrs5GznWRSVGr+YS0en5nkMz68BGq1rt5bqUPS2FnN/dO8o5sxpZKI9dSpqdFeZ49CdknlLk4usA/BJ+JdVof4kcUs93tz1DylTDGYBneuvnuX4x3YgT3/nU0dlnqneU688Ry/HoY4Iupo7D1/PoXmjcp6LfTFE+DsQmh89kkGUD1TJmsimPjs5Q57TtyLne+btySWpcklCGk3gxNrkS70jH3jzbi9Cbx7tonw8AAAAA+DD8dA8AAOAz1V8AbL9OOKfJDm+n+Q5RrMNFDZ+9g0tE56tudK72w7V0dH7XvaOWM6vh5FlCjWy3cJ5tiAe7Uu1yfrcvSQj8Tn6Vul6i1fyBDMmBdQN4d+WFeO/n2euXk42UXb7fNnPNuX4fPViPu4sZvphqjF1Ph+/GHo2fy6jh+6vAsqgLnhAlWTVmeD1e2OTa5tejDLkSN+LEqJkkZS0XXGHxdtzwSCNFKaSOKovq2JQm69g+HwAAAADwSfjpHgAAwMfyFwZq+DsAtZfvE+78PqCuKD9QseZy0blB2Vx8LdRVSzMzsN1y4W6+cct+9hZ2Us7jq7O7K3Ty7fgAp3JjPhvwa/k9an8ry5v37aXbjjTKQB8HMgAP9O7Pc3kvX7+YPhudN1HvKPfohifIqosZupg6Dl/Po3sxdo8UJWoodizcgW7E6CivxGayLVuqFiZx4p/yMrwkN8rwCCdZtjeaZP6a1LvwYspwK4Vso7ryaLKOw1cAAAAAAPC++OkeAADAh/N3APJn72vLO7iKGi7UW9HrjE6DnOwqOrpxk+GtaWb7vjTTk5fNVDdOPOFCLmR1u6tcWeDOCo/GBziPGpdkA34nv5JqtL9EfvXq+duRRg6sG8C708P87s+z13++EZ86OvtM9Y5y/dnIOXUXM3QxdRy+mHmzVobvkddzlPacohzo40CGXc4WnSHKoGMmuWphM1ZLGpYX3I0Y7aTYaI0uKTN4MW532a6/a0cuqvntIfh5XfcUAAAAAFrw0z0AAIC39Kfz64T6awB/1iw+dRNVyaLudlXUZIc3Wk1etnfbBpeNVVurG9eqC4m7bnvCVVxFnDm70lWrLHDnRh+N93Iet5VtPiHwO/k9an+J/OrVk7cjjTLQx4EMwAP5eY7OG8r38eTF1Cmfjf6byB3l+rORE+ouZuhK6rhc7qHr6RuxjS23aOQeZdRArDi8FI99eXyYs03mycU0rmq+YnLFLY3Xp4bLKYlixY0YHTWcZNnM94u8y8l3SyhqNb4dOZFF20MAAAAAAO+On+4BAAA8zp/T7wlmKK34awA33L6PqrihQqX4jUWdPzrFfbXkx2rlvpw/uy0U0j45rTaybKxna6q4G3I03mvZf9nUVQmBXyjfo/Y3aPvGbUcaObBuAO9u+HV4CK3fW8hGnPjOp47OPlO9o23D3K1HMGa51p3/uNQcvht7NH7OCdUYXo8CxUkmOZsazunBAcuWvlKp4cHnyLUNKDtbwnWMoVFOoqPEUA8vYCxWXDo6RddiNFnUaJyPn+GbGB0AAAAAuBQ/3QMAAPgJfy76yucS5buA+NzZDbdv4nJquJC791V0/uj0b1Az6/AuvbW6eFWZP7vLuVOa074jzTyaXCov5VoSOk+GpKPxAc5TNwD00uujY3kjm16i5QX+/grniLvtMtDHgQzA0+RTHf03lO/jyUbKLt9vm7lmNyQbOcEj7mKGrqSOwxfz6EZ4fCCt1yNjsa6bSWZkEud0e1gm0XE+21W0ksndXXhxdGzPtpqmwGiNPjnbhNvBE5qs40BpAAAAAMDb4ad7AAAAP+1Pw3c/P/AZffnuIL48cOPuoqqiowvdXXHZW/Vth9vtFNUeUkp9q3XTvupC4q7bnnAVZ47O19WrRxqVNDsrzPHoj6rzlCK3XHbgs/k9UqP9DXJIPd/d9gwp8wxnAP6Jk8f13R9mrd9bON+Iz0bnTeSOlh1+7dGNmPGe+3omXUkdl8s9dD19I7axyw0bukeKyuOM3VV18RqUZGwju5TqwmyTvJLJ9Sg8Wj3/fbLiNcj5YupaR8a2kwuIftGVymtrnw8AAAAAeFP8dA8AAOCJfuxj+rpQ1xcJoskO77Kt6PYdcnlZ4tZaLucSy67uqVUXEnfd9oSruIo483D+XGH0v3hwOG1yfrcvSQj8Qn6Put6g1fzM4G67DMxGnAAe7PxxPT/7Frz+84341NHZZ6p3tG2Yu/UIxizXuvpv414O3409Gj+XUTM3tyxqpHptlWRyPTo6Q51TVt2flKUvWcDMRhTrcB1jaIgz6Cgx1KbUX69/O3JCk3XsrQsAAAAAeC/8dA8AAGCcP0P35+nXUublY/6hbwh6uZAaLuR2O0X1hpSC3youm7xnm1kr3VdLVuVurWXO77qX13La6FTKtvpqeXmrKOffjg9wKjfmswG/k1+i9leyvHbf3jh3G8NrGTicAfhJfkrPH9d3f5hb3kqd8tnov4lcsxuSjZzgEXcxQ1dSx+GLeXQjxm7Qcl87/6VbcZSrj2VIXkndmNG+MM+Jzm1yU/O1lGFyzfNbdgYdx1Jto7ryaLKOmt8eAgAAAAB4L/x0DwAA4KH86fzy/UD5ZF/ixBefjc40F1LDaUvBe78bcDlxxVuLZq10Xy3xdqJTtNfSzO1qj7hQ2cqSv25fyFWiUzmptXvKebanjsYHOI8al2QDfiG/j2q0v0F+73K+M9QjjTLQ7d5w4Cfl45qNOPHd+dnny/VnI05851NHZ58p11x2tr/HVRfDdCV1XC730PX0jdjGHo2/5PWM3d8sqsYqw6rbQiHR6vlnd6us5dvC4sQNXCg6p65ahiv62Fh6q17MWJJcgBsx2mwb1ZUn1z9QGid8F8buKQAAAABciJ/uAQAAPNTf4k9Rt+P0PVRFR1f5gYplW1FRstvIIdHpp1hliM4Nym5iedm4g5OXS3jjo+LM0al21FvLebYhR+O9nMftsrQbbzGSrnNednwA3832N6i8dt/e3+1Iowz0cSAD8GPyKXUjRjfOzz5fyzZ16uTsM9VrdkOykXPqLoYt1/rrXxaPdHH4NvZo/KWMGovN8GzMm0+lDDpmkqsWNsNLmnftBR9OokDH6qjuURKN755ybHQKj+xO3lpqT7xEAAAAAIAn46d7AAAAj+bP6P2Zft2O0w0cGJ0erjJQsVfZVnwPIa7oUy0cEp1XSqmY7CpLyZt3p+PdtXJfLuFuey2HRKfNKvlStWdrXt425Gi817L/siMn9CCAdvkStb9Bft3q+duRRg6sG8Az6RH1U+rj0eN6fvb5yi5btxmdN5FrXnb4tUc3ckLdxQxdSR2HL+bRjRi7Qct9nVhPFp1JUlOGzDnsqsVcyEuymYXl1uqEYyYv9XxsHa6RroSarGP7fAAAAADAW+CnewAAAG8gP9MXt+NEMwdGp0FWUaC7pfiNXxL8ZMWsle6rZXW5+2rlvpy/LvqSQtrnlzo7k8vOWrfmJNuQo/EBzqPGJdmAX0gvkY7tb1B5fb+9vznibrsM9HEgAyZx2dvls+pGjH53fvYt5PpPNuJTR2efqV7z0R5PtowuupI6Lpd76Hoe3QiPD+TM9bjbJYs6yaTcmnN6cIDyeD0+zqS6nJa02p0X2ejCHSmJFxP9V1YzvZKx9ShKtgnb82iyjr11AQAAAABPxk/3AAAA3kb5nD++8PiZj+xdUQ1XlB+o6IYLueJNRcuGopx1FdLkVXiXsq0b9+X8XqHbPnshJ7e63VVrWeveXc7x6I9yHre3VQC8lC9R++vjkHq+u+0ZUuZZJcStyr36/999iRMoF0eXJTqVvFbnF+3dL6nW7y2cbCTnRP8d1Gt2Q7KRc+ouhi3XuvOfldrRjXDagZyK8vEk9ujsUvLr1EDpFaXKxstsLXMkcz6BFqz1NK581yXbcRKv4XwlLeXGtrON6sqTW2gPwd24FwAAAABm8NM9AACAN/O38EfDblz4MbFSKWd0vpSCUSgbca6NA6PTICc7UErNWz4Nd/7oFDcVkt1a9+1LRyd33TtqObMaWagM/99oVNIsK4z+Fw9ux3s5v9uXJMQYXfn6RmQbz1feob73cTU/M7jbLgN9HMiAXr7m2zbO+Vr5WXUjTnx3fvYteP3nG/Gpo7PPlGsuO9vZ46qLGbqSOo5dzJMbcTR+biyqVlY0vqOUSdSYTGUXpprnlUwuyZfIjW2SPHuunja8Esvt9ObZrn93R0e8ha4Q3Me3AwAAAACG8dM9AACAN+ZP6v2R/d2f2quKC7k9UE4hCoxOA09eNlYCRQ2fupzzR2d0g41+rFZWWa5gdQ3F41dxZjUysxulVEet3eU5+XZ8gFO5MZ8N+IX8BrW/PuWd+/a6udueIWWeVULgafIhP3/ah9+Fh1htM0a/06mTs89Ur3nbMHfrEYzRldRx+GKu7ksau0GKEjUGYs1Rru6RMV5JJpnP5gw6TqaqDafK3fl4kkcTonXAsedJTpSFvCjRSAtwqt6VKGoV4pHGPBneOB8AAAAA8Fj8dA8AAODt+cP6rg/6h6lKfkmQjfu4nBplZ6+/45nkWuISj62lmRneziUUKGrE6HWcOTqVo1oeX511Eg02jg9wHjUuyQb8NgMv42r+QAbLwLHw30xXLFr4EeVRjWfVjTjx3fnZ58v1+3i0EZ+NzpvINefWVntU1yPuYpivpBpjF9N3YRvrtAM5FeXjcKwCHT6QoeZsdWPe2L52TaZyuI4SQ/0c6yTDi3GSGasF9K7EsXXUKuE5T1ajcT4AAAAA4Jn46R4AAMAbyw/rxZ/Xq7t89n/zZ/cu+mMVl03+YEXXSvfVKtv6Vqtd15LqQt6Oum548EJZSFZF3W6xLHfvK6uj8V7O43ZZ2vXXAcO4HW/Bb1D76+OXrp68HWmUUW4MZPg9dImihX8hH9HzZzUf6TeV6z/ZyPkVeKZcsxpuZyNmvP+9ew5dSR3HLma5Lfs34mj8XEYNr0eBy5q+V191WygkWtP/dVSWEwubTGXzqRw+k8GcZGYxio3WxHWuk/RSrKxKb0dOaLKOw4sHAAAAAPxz/HQPAADg7ZVP++PbAn9kr+7dn93vVry16LLJ6muJuv1SHdJoNXnZ2z27W3b1I7XqQsrv7n21dHRmt93tqnW0vKuWrTzixnw24LfJN6j99fG7Vs/fjrQoleO1zQbwQPmsZiNOfOdTR2efL3d3spGcE/13UK/ZDckRy/HoY5SupI7DV3J1X9LR+DlFiRpj63FRcSNGD7TMkcwZ/SGNtRop1eSqFC5uTyZRuI8neTQhWsecJDqdXuZ35qP829Jdi3H14cUDAAAAAP4tfroHAADwLH/KFw/RObA7RyM56E/tdXTjB7iQFnB3xXqPZcc3fkuR+U1tFbqvVrS+3L0p7yW7LTw/Os0UFa1i1T3n5S0L/R51ND7AedS4JBvw2+gN0rH99Snv7reXN0fcbZeBPg5kAH5GPqJuxOh3y9M89CI8h9d/vhGfOjr7TLmdsrPYY9lE7CLH3cUwXUYd62vbxXdhG3s0/tLMehTrupnE48OcyjljaIjXM895vJiXq2opOrk1h+soMTTESXSUGDrlydEpXXG7MUNtlU22IydcWvPbQwAAAAAAD8FP9wAAAD7K8nXB5huLro/vNXmb4URd0YWWrwvu/MIgK7qQu/dVdH41XKK3llcYnVdWMxXbVavdsqXv19DtcvJMTm5RiuxMLjU79uU826ij8V7O4/Z8NszL24G3kG9Q+7vjkHq+u+0ZUuZZJcRNuMhjlie+PKI+Hl3G87PPl+t3I0a/06mTs8/kBXvNbpdNfNvFqosxvrBqjF1Mh29jj8ZfUpSPw+u56qlwKpnP6U3NyzxeldvDjrbWvl/PbJx8xEl0dCNGhzhDb5Jt3a6VaLIbvXUBAAAAAP8WP90DAAC43Z8rvs/oonJ1Rbdv/QR/W1Hl7q7ohgvdXXHZXnUZewtpvsNbZC1bdnXPvrKQ86t9R62sYm7XI41Kmp3vro7GezmPG5dfBODj+Q1a/oI0vz6r+ZnB3XYZ6ONABuBn5IPqRox+d372+XL9Ph5txGej8w7KtmLNbkg2ck7dxTBdSR2Hr2TeqZWj8XMtUSdzdErUGN5Ocirl8fE8oedE5zZlRdfsTpxk2dhotlyPzCTxGtyI0Y3zs+IMbnik0TZzLin6pzRZ1GicDwAAAAB4An66BwAA8KP+fH2I/wNWH9yrvXzkf+eH+PMVNdkZernKQMUuq7XdV0hUqy633ddqMcMyj/KXmrdcQ2dWw5nr/KVaa7mj5R2N93IeNS7JBvw29WveQvPzpTN32zOkzLNKCDxKPuHnj/rwi/AQLe/jO+4x16yG29nICXUXw3QZdVyu9dDFPLoLHu/NudzU6r+W3ejlDMPhSXmUpKwolvTDtlu4ZCV1ErXPL5Qnv7yYw1db+b0GFxrjDG67UY+c88x6skbaw0WTdWyfDwAAAAD4t/jpHgAAwCB/FO6PxR+u/uz+5EN/jV+yHSVxnvoSHRXd1bWSUi0mZ0U13L5cXc7uqyWrcl2FNHm11JfKVuLrQLfjxEWcOTrft3NUy+P1WSfRSD0oR+O9nMft+WzAb+M3qOvdWc3PDO62y0AfBzIAP6B+UN2IE9+dn32+XL+PuxvJOdF/B/Watw1bdTFmudDlv8fGLqbvwjbWaQdyKsrHgVhx1HB4zUnm81zIF8eGF6YkzqMMasxvcDLJ/Bq8HTeUqiubQhwV/WI7ckKTdewqCgAAAAD4V/jpHgAAwOP8KV9XROdq/vheRzfus3zbUH1hcN+OLMuJKrpbdnnLNrOWuVZ0blCXu6/Qcsm+bpm4O1buPMqZo1MpZVvLOcl2/tF4L+dxu6xrNiHwq/j1aX93/MbVk91tDK9lnlVC4FHyCT9/1IdfhIfw+nV0I0a/86mjs8+U28nFr3bxjpt6Jl1JHceupGJ9I6JfORo/l1FjsToq0ElWGXrXo/kSnYfxXrq2U/O+hsNrTlLWMrUY60rii+CGjmrXqdplnrQdOZHV3cWFum4EAAAAALzET/cAAADe0sAXAJq/ClGSuz9xzqIudHfFupy4217RIdHp4RJLydt2571Ep7ipVhbydtR2w2dv4op13TL82tHyrlq28ogb89mAXyVfn/Z3xy9azneGeqRRBo6F44gvaXQwrTyn8aC6ESe+Oz/7fF68nOyibPHN9ugFSy4+Gzmh7mKYLqOOy7UeuphHd2Hs7iw3tfOftpqLOslYhl0Xppp3tMH2LWtmtC7a2svSdcUj7etfUeDLWJ/dnbONfZmtpsk6an57CE50XXwAAAAAaMdP9wAAAH6Xv0V0ip/5KL8uenfF3KML1aVbdIWUUj93PVfl7quVhZTf7TsKuYQ4uY8ebC9XVrcsbxVyND7AedS4JBvwq+j10bH93Skv7rc3N0fcbZdRbgxkAH5APp/nz/nYW/AQWrzX7+PRRnw2Ou+gbCvWvG2Yu/UIBiwXuvO/D2tHd+Fo/KVczFisA1uqe050jg1v5A6rDcZoJ8VKdCbuu5NMLsYyyVger2TMdvFdK8nSjfMBAAAAAD+Pn+4BAAD8Rn+L6BS9H+Vr/ipDiwxRY/m24c7vD7KWq9xaUcmznN1Xa+u+Qt6U95IbbCy3uiAnlmtXTXZ+jZSyS1vHesKukmPnFh+N93Iet+ezAb9Kvj7tL45D6vnutmewOk82fqFLNq4kuobRwaXKc7o8nz5KnPju/Ozzef11Y+sd97jal6x2oa5H3MUwXUYdx67k0V04Gn9JUT6OxTrQjRidkKkGFnOHXIyP86tynuh0UqyOV61BRzditIcC3RgId9E6sCykdSWerEbjfAAAAADAD+OnewAAAE9UPpnf/2Bd4/7kfV5+iG9qHxXdNbaSUjMKueH2HVzL7R+oWJezmwpZXesHNpX51b2jlqtYlqgHW2h+xtaOxns5jxt3XATgg/n10YvT/u6s5mcGd9tloI8DGeCrFx3cI59SN2L0u/Ozz5fr93F3Izkn+u8gt5OLz0bM+JoTHYzSZdRxudZDF/PoLozdnYyaWcxMhpSpxjayaz6VM+goMTQqtyYx1GN+AZZrcCNG95yfHduLorZ1tyMnNFnH3roAAAAAgB/AT/cAAACeqHwyP/KZ/gDXUsO1XLecuZGL1hXvK6r80fr64ufWis4fnc7rqZl17Eul1Lfdtdfqsiqk9h21soozu0o508eB29ij8V65sEuyAb9K/Y630Px848zd9gwp86wS4iVdLl206OBO+XifP+fnZ5/P69fRjRj9zqeOzj5QvZ1cfDZyTt3FmOVCd/5TUju6C0fj58pa4s9jb6xkeCYZ5lRag48Di7nDVYvJrbkRoz0c6/bMepzHi4mhfhk+sBJXj06xHTkxXBcAAAAAcCt+ugcAAPBEf4q/hdtx4jb+HF9c6yeLqlDZaN83MY6KThvPXzY2VLGL86uRJX6gli3bu/PeOb+Luh0nLuLMatSZews5yTbqaLyX87g9n+0z6CLkNQFO+PXpenFW8zODu+0y0MeBDL+QL1d0cL/ykMZT6kac+O787PN58XKyi7LFN9tjLjgXn42cUHcxTJdRx7EreXQXjsZfUlQex7iojgPVa17/so2hxTg8OhcZXsyK1+bdzS/SqaLTb3INDtdxLM82qiuPJuuo+e0hAAAAAIC78dM9AACAJ1o+yC8fwUvdjtO3UaFoFT9QtN6dq7dXzJB2pdr/X1eo7YbPXs610t216nLthTRztc5znly2cuPD6SorJ4V2Tx0tL8ejP8p53J7PBvwqfnfK29n07vh1qye72xheyzyrhNjS9dFVig5+UD7e58/5+dmH0+K9/vNd+Gx03kG9nVz8ahdvt6ln0mXUcfhKHt2FsbuTUTN3VknGqtecIZNMZmunutE6NbOecnmW3TXW2uXYkmnqUjvPbgafOufqMraMbVRXHq9wrPTn4ToAAAAAeAJ+ugcAAPBcf4s/RbbjXBsH+hhDDUqp/+cv5W/+ONvlXKVu36Ts71vFZYe3VXStdHetLKfGTYWyivfi7uW1nDY61WV0UbdbOM82xINdqXY5vxqXZAN+j/rd8chLml+/aM7QHp4y0MeBDB/Pl0XXJ/r4ceUhjafUjTjx3fnZ58vFn+zCp47OPtByS77vS7KRc+ouxugy6jh8JfM2rYzdHUWJGr2BkoGi9irDduTcso6vv97ZeI7dvbRvUDvquhq7lEHmUw1c3iyqhts6qnu0Eo3vnnJsfWo7csKT1Wic//HyggAAAADAP8FP9wAAAJ7ub7F8DP/q69truVZ0jr82eElRXnOdbatU+/97C7WXenfu1OUkK2b7JU3L8Eb1/Lt3t9rLTYVUpS6k9rKl2y7gKnMp1bGv3eUtG7joXiiPG5dkA34PvzvtL055a7+9tqtuOwfWDZiuxnKVO/9K4w5+OH1H3IgT3/lsdN7N8qiV9fu4u5GcE/13kNvJxWcjJ9RdjPFlVGPsSvoWbGOddiCnonTczflSxrr0QIYtJ7kk1aR6DcveJpbkC2VjeZTBF9nHkySaEK1j5xnOeQHR6bTs4Xv4duSEJ6sxvAAAAAAAwFX46R4AAMB78Gfrf4psx7k7uVZ0pr9oaecq3uZ9FevdZcVsn9OcjG1Uqv2fX+1btxatQoVuqlX29O3JjBMNHBKdU0eZXTc6rzjJNuRovJfzuD2fDfg98t1pf2sckvOz257BMnAs/FPpakQLD1Ae0nhK3YgT3/nU0dnn8/rLFj9nj/V2tg1bdTFGl1HHsSup2KO7cDR+TlE+DscqUI2xDLsuTDVJK8nGJUvqzVNPdqyOEkMThrdTVx9IovBV1HbkhKsPLx41LiMAAACAYfx0DwAA4EH+lC8PorMnP1v3TDd86lb1qlw3OvdQCVdUIbdvregSbv9ARedXwyV07KqlyQ4f0FurXe5I6nY5eZnlwu3tPYu2cJLt2o7GezmPG5dfAeCD+d3RW9P+4qzmZwZ322WUGwMZnuljNgLJh/PkIdepk7PP58XLyS7KFt9sj7lgNyQb9YTsYowuo47DVzJv08rR+LmMGot1uKgRo6Ocwamc0+OTZvKsluTBYZN5Lrks3pG05DmfM7aXbVRXHq9/oC5q+RgAAAAAwAB+ugcAAPB+6o/X/bn8D3zUrkJ13Vt5R1nObTc84Q4uJy50d0Xlz4rSVUiT69hzq0Jy06aykPO7e0ctV7G63cVr2y7vaLxX7v2SbMDv4Ze6/a3R/HzdzN32DFbnyQbwKPmU+nj0lJ6ffbiyxdY9Rucd5HaW7X1t0I2cUHcxxpdRjbEr6VuwjT0aP1fWMrUYHR07lqGmbEpSVnTNYzaZJ1eiYwxNcJ7h9ZS1xDJmkrihDMNJRLFKNZDEUdEptiMnvP5SdnzxAAAAAIBh/HQPAADgXn8u+k5iS2nFH6+74fatXDQ6F32+7yTm/OazbuuU257mU400X4HReSVnuspYxXbbhd1US4XqWj+wKZdQ2w2fukrZTVTxiBulVGstJ9mGHI33ch6357MBv4ffna63ZjU/M7jbLgN9HMgA3C0fUTdi9Lvzs8+Xiz/ZhU8dnX2g5ZZ835dkI+fUXYzRZdRx7DIq1nch+l+Oxl9SlI9jsRnukRlKojXIJdmcR8foD5nPIN6O88xnEyUZy6OVeDEzlEHVnap3GQ6po7YjJzTZjcb5AAAAAIAL8dM9AACAn/Pnoi9Lakoo/oTdDbdvpULRKgaKOsTKDkKc3vBZTXbbjXauEp0GObmu6PbllDzLiWtF52qrWl2b0sw6tpHzK7CUunhfZTfrJZ3U8uDqlJOUiP3x6I9yHjfmsz2T9uU9AhfyQ9X+1ixv2ve3zN32DCnzrBICD5HP9vlDPvwKPIEW7/Wf7CLnRP8d5IJz8dnICXUXY3QNddRlHLuSR7dg7NbM31CH6ziZJy9LHns5g2WeOlXvZrcJB1ySJCmbXLKYMa4uA8tYlv49ajtywpPV6K0LAAAAAJjET/cAAABG+ONsf7T9BP6cPVelhtvtNN+BOsZQp1LzrKgn2LLcL3G6gecr3G0d3b6Da7mdFZel31NxVeu+QlJ29u2yN9bStFXgibqK86u77OrqfWUVy/xdtcpi49GqebA9z5FMfkk24Jco72XfO7ianxncbZeBPg5kAG5VP6JuxInvzs8+nxd/vgufOjr7QPWCc1+rDZ7sF410DUWNsSvpW7CNPRo/V9YSi+mNFcc6yUB4zUmiM6FOovbkqsx5xlItu7piX+I1eDEx1ClXMpPBC8hUW8sqi+hXHBudYjtywkXb5wMAAAAA5vHTPQAAgGf5c/oZ/TkFij9nz8atXDE6hYrWdd320ZOtnHyhzlNzhsypxtHMea7ltqq4217OIdHpt2zszq1F607lgv3EBaynue3jcgWby3ltq/ka3B3v5Txuz2cDfg+/O+1vTc6P/sGr3SLzrBJCV0PXJDr4d/LZPn/I3/oBXu0xRr/TqZOzD1Qv2A3JRs6puxijy6jj2GVUrO9C9L8cjb+kKB/H1uOo4fCaVzJJSZxH61HDq5pZm/NkqgGKjdaEXIOP54s5P9uS4YTD3e5NUsfaduSEJus4vHIAAAAAQC9+ugcAAPBp/hb+qD0b11JOZY7OV8XoFJpgPmVx7lSEFY5yO05X8qzbu3Ou4lpqlLV823uLrpBSaudiRudSq1o/UMglsl1OXqnO7GNdV42XloXuPXVH472cx+3JVMCv4hen/a3R/PK+xvzy5o28whk4Fg7crX5E3YgT3/nU0dmHy62d78Jno/MOcjvL9r426EZOqLsYo2uo43Khh67k0S0YuzWOmonNRmYYy3YVVdfxkgWsNujBXl6PzazKa9CxTtgrMzSuZDtTI9no3c5utvYkLt1bFAAAAAAwhp/uAQAAfKa/RX7afvfH7nV+l7YYOqXYFGGFz7rtsx6p5dmTOVdxLTWyyn0Vs1a6r9bKfYVyU85fty+UVWyVX9367BEn2a7taLyX86ihVPPZgF/CL077W7OdnyPutsuosfBPou3rIkQHj+En03fHjThR0Smfjf67ycWf7MKnjs4+0HJLNvvKhq26GLBc5Yn/7Dy6BR7vzZnZegMlK6ohMfrjvIzolG60pjmzN1iXGJPZot9pMlxyF/PbUfhAkm1IVxJN1lHz20MAAAAAAGP46R4AAMBvccfH7s4pfytx7lSEFRFWxOkNn/X8GKr4VDZ251xFJaJV3FpRyetyrhWdVzSzjn2plPp/ftnTXZtyw/nVvaNW2U0UykYvBe6u7Wi8Vy7skmzPpz0O3wsg+Slqf2U0X+r57rZnsMwzFg7crX5E3YgT3/nU0dmHy62d7CLnRP8d5ILdkGzUE7KLMbqMOo5dxqNboHGfin4bR6mxm/OcYzOqN/wmXlV05lblVMpQJxzjJM4WQ50c7vZYElcXN2J0I6ucyCQneba2IV1JcmGN8wEAAAAAY/jpHgAAwDv5M/01RvmgfvyT9wzXUStJPnvOsRZhRZxu4PnOEENf8pTbu3OuovzRKpvS8daKWe6m/LV6a3L3jkQl1JU7atWZ1fCguu21MsMq5Gi8l/O4PZ/tjWinuXGgl1+crldmNT8zuNsuo8bCgbv5yZSTR1SnTs4+nxd/vgufOjr7QLngsq2dDa66GKNrqONyofuv5MktOBo/p6g89qorviw9trwZrjhT1BnGLk7KjV91BcaSqLoXoGMM9XNsJulayVL++xXYjpzwZDW6igIAAAAAuvDTPQAAgPeTn9o3yg/ckzJ0ffju+eJUFudORVgRYUWcHuIMzhlDX/KU27tzjmimQqLTJuc7VtrLdXHy6BTLxn6k1q2F3HAJdd3w4IVcaJX5qJYHV6eWK7K3vByP/ijncWM+G/BL+K1pf2XKe/btFXO3PYNlnrFw4G6Nj+j52YfLxbsRo9/p1MnZB6oXvGq4XY9j2HKVO//5qB3dgqPxcxk1FuujG2PbuYkW44XNrGoy3JxELswWnU7zC1AGJ9Exhno4NjrFduSEi05uAQAAAABwhJ/uAQAA/BZ/i+gUf4robPisOVbi3KmIKSKs8EhM2vNyQu0kZ55y24ONFNUVUkrFNxmOdcNnr5W10o/V6qrSNTkLOUrtZUtXbyqrrHTVcpLtfA+25zmSyS/J9qZ+7cYxpryUfS/gan5mcLddRrkxkAG4lZ/M5fk+fsLPzz5cLt7Ho134bHTeQS4496VGDtbj7mKMLqOOY5fx6BaM3RpFidu9seYoV/fIP5eLuWpV2yR50V7STC+jPeSIk+goMdSjXkBXBhet22N7qfPYduSEi3at/LN1XT0AAAAAOMdP9wAAAD7W7sf6GlkNalr9obO74pkW545FTBExRQwV6q5mrtQTStbXSpH9D81Xp9pzDnAtNVzFdbsqarIzDOit1a5s69uq7ivkhvK7aNnTvbcsWp0XcHdtZckXrNl53J7PBvwSfnHaX5mcH/2D9/qlOk82gOfwYynZiBPfnZ99uJZ38O02mAtWw+0czAl1F2N0DXUcu4xHt+Bo/CVF+Tgc64bCBzLcIRfzclO5/hNHW3uZPLXPPOck89lmMryM1dmjCdvYrpVoso4l/eDiP8DMvQMAAACAI/x0DwAA4HF+4NPwv0V0vqioxy1Gj3mdFjFFDBUxVDiqbou7Vo843CMvncx3NreP5lwla7lK3W6hmQ5pUUr9P1nt+7a2qqVCd9TKKs6f3Zc82ccYOlUS71yupWrbvjLDav7ReC/ncXsyFfB7+K1pf2U0v7ysMb+8djt/GV7KQB8HMgD3qZ9PN+LEd+dnHy4X7+PuLnJO9B+vXrAbko2cU3cxQNdQx+HLmPdo5Wj8XEaNLUZRoiRj1e+Qi9ExhkZdsrV6GWN5MsP8ppxBR4mhnlXN7GVbdztywqUd4hEAAAAAwDx+ugcAAPAs+UF8+wfoA+rkqpg8csKBFjFFfSqGCkdt+dT5BHHCGDp1Pt9n3TiacxUXEldx96aKy66q/MvG7txaUtHzQl7VgLKh2JGofV5omKvMKCvdWd7ReC/nUWO5ED9yW4F357em/ZXZzu8KrzmwbgDPkQ/2+RP+1k9vyzt4vv0HygWr4XY2ckLdxQBfQzXGLqOv/zb2aPxcWcvgYupAtVeNf8hr8PKGOYnz6BijB1pqZcLoN1Og8yvWjTGKdQY3YnRUb4Zt3e3IiZw5v3IAAAAAgPHTPQAAgGfxJ+B/v74JuPADcaVK5cP5EKePRUwRMcXRKUddwgmdP4ZOnc/3qWzszrlEWcX/d9DdnyknZWettTSzjm3k/KXOLZvKHTm/2nfUyiozjtZ2NN4rV3hJtrcwf1Pwy/kRan9fNF9yfnbbM1gGjoUDt6qfTzfixHc+dXT24XJrPsbodzkn+o9XL3jbsFUXA3QNdRy7jIrdvQVH4y8pSkcF9sZm4Kr9z9XXYXhJSuI8Pg7nMedxqhjqoUAdJ9fg6vJyGednrWTqW8+2bvsF0UxRo7coAAAAAGAXP90DAAB4Cn/w7c/Bs+1xdwc4cJth1d1yiHlJdn7qJs7vijF06mR+nnJ7d85VlN8NV/mBclnR7qi1W+WmTWUh5XfdO2o5c7bdkPZazrCdfzTey3ncnkwF/BJ+a7revtX8zOBuu4waCwdu5cdSshEnKjrls9F/N168j0e7eLsN5oJzX6sNnu8XLXQNdRy+jHmPVo7Gz3kxA7EKcZSoEaNP4uVFp5/Dl03O7c556kavXMBJhpeZFetwHWNoTu9eXD06xXbkhJfdWxQAAAAAsMVP9wAAAJ7ob1F/Dt7+mbhmWvS/smVD1F7NEY9YzCtWZ2O08Kmf4YpeQwydOpmfp9zeTjin+YqKzis5sy7n9h3qhbUvspcyr5J3bUoze9fm/K6rRoxep85c51+q7pXbjmeGxvFezqPGfCrgl8hXxt2X/JbV891tz2CZZywcuFX9fLoRJ77zqaOzD5f7+qQN5oLVcDsbOaHuYoCvoRpjl/Ho+h+Nn2uJOqmo49gu7qZVjV2Q5HBnuCTP5HocWzINJpm/IBKd/muyrb4dOeHSM+sHAAAAAAg/3QMAALjRn/JlQHT6KbYOP/lMXKeSRxxrHkmaEye+vrGwGCpyZooTE9u5hNfgJcXQqZP5eUrt7dlzmq/Y6DRwLTVcSG013L7cqtYPFEpdhTR5FX4kC5WtLFFu+OyFXGWrvVZZaTxUtaPxXkrixrL/G64A8GHy1Wt/X1bzM4O77TJqLBy4lR9LOXk+derk7MPl4n3c3UXOif7j1QveNmzVxQBdQx3HLqOv/zb2aPycokSN3kBx4HD4rbye5XKMLqxcmP83OMx5tIyZPBnrVG73qhewSnK+tix6Pi3trtBJ6lOZtoVLrzK8l679AgAAAMAd+OkeAABAN3+w2/j5eFLUy5DdCRqsx/NjZTWSRzxtNV9yTjbS0WTzWYvTz+AlaYXRf+Vkvk+53Z5wzKqQumrcVzTLyX2Flsv3I49HFvJG1L5pU66y0lXraG2XrFlJxO35bMBv4Lem/X3J+dEffXkzz1g4Husz7mbj83l+9uG8+Lqx9XYbXG1KVlt4ux09kK6hjmOXUbG+BdH/cjT+kqJ8HIg1ZxgOv5YXYy83VU/e5XAdz/Oc8zJe1nrJSc5X0lLlZZIjL5M77W5yxa7qurs7eUuTfWycDwAAAABY4ad7AAAA72H5NL36OD4/Fve4ecTKJ+1B3ZhR5NkyceFxD7ptcfoiTh6dKyib1xz9V07mL7v9WtvRnEusCrnbXs4h0WlTz182ds/Wyj5+qJAbyp9FW2p5fnR61FHLrtr2VZa287wdjfdyHjcmUwG/hF+Z9vfFL1fOX165odcto9wYyICnKc/Ch/zt9UbOd3R+9uFy8SdbyDnRfzyvVnLl2cgJdRcDfA3VGLuMR9f/aPxcRo0txlFjpU8MZ9NKRA1lmFyV85R8O3naM++Gd1EGHed3JJmkJc9qjgLF7ZbwFdeNzvGF3ZUzB+o+RPtmAQAAAOBy/HQPAADgDfz5Ev2vT9Il+oUnbGdG60sGrmbKdvLDeS/bjRw5n++zbhzNuUQWchW375PlzEWjc6nVRm4qlNvJ/Ku6R7oWU1fxSNJIY0Un2WY4Gu+VSXSczwZ8vHz1Gt+X7fyu8JR53O4NxzP5Vn7A3cyNnO/orR9dL/6TNqjV5oJXDbfrcQzTNdRx7DKubkc6Gj+nKFGjN1AyUI2B8COT2Ya3U3O4jnLV7oaTaAGXrMFJ5rONhW+j2vMsK77itr6v9msFAAAAACv8dA8AAOCh/lQ84k/DzSMSM4oYOpi55Qmr2J+hitu17Q62KPvo2Mj5fJ+qGzcpq/j/6w2Xu6+ia5lrRaeBJtfhXW7akdaTS/LydHxZK0MalSKDG0/KsLu2o/EuZYH/X4fJbMBv4Fem/WXxW5bzV912GejjQAY8Td7T6L+t3Eg24sR3PnV09uFyX5+0wdWmRI0crMfdxQBdQx3HLmO5G//fjnQ0/pKidCxrGYlVlI8D4VuZLfoNVvO9nXnK48w+1iVWNCFap04yvNRY4lxuxI0Y/e5lofPwE9uorjxe2EBdAAAAAPjN+OkeAADAg/ypeORv4YZHLCZVn4l7psVQG4fUqd5UbqRxLyfz85TauxMu5FpquIrr3lRxVeumKpKFrGzorh254Zbh8wsAAP/0SURBVPzq3lGr7GbntWqv5Qzb+UfjvZzH7clUwG/gV6br1VvN7w1PDqwbeHfDD8PT5EZOdqRTPhv9t5KL93F3Fzkn+o+Xe6lXng236y4G+BqqMXYZj67/0fg5r2Q4VlE6SgzNcTYdJYY61YsZTmJeSZ1wRtnT+KaidbApTXiZvOwjdhRDnTJcR4nRNo6KTrEdOeE19xYFAAAAgN+Mn+4BAAD8Y8tH6UX0vz6ptxgqYl7hkZhUeGTYfIaH8NWor9K5k/k+5fbuhDu4ytGSLlHvS26qIttCXbU0uQ4/kdMcIqXU4L6OAp3Z7XpOKbUTsh13hvbxXs6jxnwq4DfI98Xdl/yK5fzstmewDBwLxwPlPY3+28qNZCNOfOdTR2cfLvf1MRvUanMvufJs5JxsY4yuoY5jl3F1O9LR+Lm8m72BUlccCK/VFySXdMSTz9VrGzOfQeqlnqfyzJdzZtZzVfhAHofUUduRE5qsY/t8AAAAAPjl+OkeAADAFH8evRWnD8Sk4m/h8bptnuOGRzzHPIItX5+8ei+dzPcpt3cnHNHMDGxUFyplu79laef80encWpe6ity6Ix29kbK5W66eq2y5bnROHa3taLyXkrhRVnTX1QY+Q7537S/Lan5mcLddRo2F44F8Kz/gbuZGTh5OnTo5+3C5+JMt5JzoP55XK7nybKwmuIsBuoY6jl3Dcjd2nqij8XOOcvso9ihtxvo4IzOo0Hw2J5HVsrcjJ5whOqPqDO2ld3lTOg7nycWMZXC4Ygcui0KkrrsdOaGZbgzvHQAAAAB+D366BwAAMOhP4Y+ky4fY3/hsTpO6HZOKJdd3ManwSEwtPIIWvmJ5GV86me9T0emhbF2BWWi5/dNf9rRwObupVtnTt4tw046ykDeiths+eyFXWekqdzT5kjUribg9mQr4DfzKtL8s2/nutmewzDMWjgfKexr9t5Ub8fFoR+dnH659g9F5PK02F7xtuF13MUAXUEddw7HLeHT9x+6LF+Pjv6LqXsDYBakpz3JZv97KGJ0znKds64IL6704Wy5mbFV1hpfqyWrr6GV4ZMUzj5Jv67avRDNFjcb5AAAAAPBr8dM9AACAJn8q/gza4vTG9qxHLIY2nN/tmFp4BGN0AesL+9LJ/HI34nYczblEFnIJtbvKaabDB7hWdC61bOn7qu4u5OsgjYVmrpu4isu5fa4sbWfy0Xgv51FjPhXwG/S+d6v55YVbRtxtl1Fj4fh5y10/vVO+ledz3kLLw6lTJ2cfLld+sgWfOjr7QKtNyWoLb7ejp9EFFDXGrqGvf3QqR+PnMuonb+i2li/IPOXxjnzcFhqwTeLk0TmlmdGakHs5r/uyVmY4SXLEyQcCbbvy872sTFYHAAAAgN+An+4BAAAc+lP5W4nTByKgiIAiTp/ytPb5b0RXI1r/gi+pb0oMnTqf77NuNCYck4VcpW630EyHtCil/s+voxuXWy3p7kLOn0Uba60WeUTTtjMbSyQn2UYdjfdSEjeUaj4b8NnyvWt8Wbbzu8JT5hkLP+e00cEVyu1a7lT097TMeQu5ER+PduSz0XkrZX8vNphzov94uZdceTZyQt3FAF1AHceuoS/+NvZo/NxyLycWcxWvwSZXolTKULZ1zb6UoU7SldBrsK7Amvei8DrbAGdwqhhqVpdWeG+GbdGuZbh6b1EAAAAA+D346R4AAMA3y8fYX/5W4vSxiOmMMkVF6wZeUnS+bAd3p01SzrRcjvL5vsTpH9e7hpfzNd6VcIyXoYar1O3LZS0rO+sopMl1+InVtN5Cjcpuvl0udS8vlFVWdgePaHK5Buu1HY13Wdb3tZj5bLuUM0sA784Pc/ubUt6w//+2rLrtMsqNgQz4Gb47Lbdp7El4IG9Ex5Md+dTR2YfLfb3cYHQeT6vNBa8abtfjGKMLqGN9Sdspdvf6H42/pCgdy1qm7ulY9RUnmckzn8F8Wew8Wz3zyOTFmQ93BnmZ6vyswnXMOS+zWVaPfueOsmh7CAAAAAD8Hvx0DwAAID5Btr+VOH3MIW5ETEOUOda6Ap8vdrV3Md3WKXf/iVxD4zLO53uwK+EYlXBDVcqKbryMzh+drz028vKi88q2UFetRnUVL++OQnUVc4n2Ws6wnX803st53JhMBXw8vy9d791qfm+4lbLxhmYDT5O3KRtxYo8nnM95C7mRkx0tl+PVBXmsXPzJFnzq6OwD5V5y5WrkYD3uLnr5eqoxdg19/aNTORo/55WMxV5LC9AyeleymuwM0Rm9wnJJEvO+dBzOM78YZ1BsnapXlu5dg4pKHeVuYx5N9rFxPgAAAAD8Hvx0DwAA/FL+iNmWT6C/xOljEVOoG2FtH51HWBFhRZx+c7GxamtxouIJ0fmnvML29ezO96AaHtxOuJZriav8QLms6FpuXy6r2H2FTPnLzqau3lGgM0enclRrO+4M7eO9nESN+VSmJMoZHeCz+Nluf1OWt7T6a5nd9gyWgWPh+Bl5d17epuV2ljnRf1u5kWzEie986ujsw3nxJ1tYdn689wfKvdQrz4bbdRcDdAF1HLuGvvjb2KPxc3krewOvlYvP9cybSaVYic4Er8HZzhejCdE69jLJESefubC5PK+hN9Vq5equRk7kzN6iAAAAAPDZ+OkeAAD4Rf5U/BGzxeljEVOoG2GFJ5yIsCJiijj95mJjRWxsb2sxo7p6Hv/nvJhc20u78z2ohge3E17SZGdoNFmuS12rblxLVVzIyob6LmC0XsntiIu67bNXcZWt9lq5tuh/ORrv4iRulxVdvH3gk/h96XpTVvMzg7vtMmosXCEKjA7usdzacneyESf2eML5nLeQGznZ0XI5Xl2Qx8qVn2zBp47OPs1yM75vSrKRc7KNAbqAOtaXtJ1id6//0fg5R6kxsJKVgerJy1C4j8N5UqaKfj+FR2tCbmdyMZJJBvIoUKKzcXJKdNal1c5GLyeJTrEdOaKZosbAxgEAAADgU/HTPQAA8OH+VPwxscXpYxFTqBthhSeciLAiYoo4/RFe7s4TLGY89Qp4bV5qDJ3a3YiTqOEku3NOKKorpFT7Vm5Z/T3ff7hQurXQtla0rpNVvBF3byoUre9cNzqnvLDt5KPxLsu2v1Y4mQr4eH5f2t+U7Xx32zNY5hkLx8/Iu/PyNi23s8yJ/tvKjWQjTnznU0dnnyz3dbKFnBP9x8u95MqzsZrgLnr5eqoxdg19/aNTORo/55X4+A958TpeshKnGru8Vi9jOE/ZTewrhoZkEjdidIjCBzK0lD7JvI19ma2myTq2z3+U3GnXlgEAAADgBD/dAwAAH+tP8bcSJ445xNSNsMITTkRYETFFnP44u7uL/ReeYHH62bxUrTz6G96Xqbu7LydRw3N8vM+qnNrL4pqLaqbDW6xmdhXqsmxpUytax1YhL2UVb0TtlirzXFRc1+0TZZk7t/VovJfzqDGfCvh4vS/dan5520b+1GTUWDh+QLm3y93JRpzY4wnnc95CbuRky8vleHVBHitXfrKF99rdcjM2m8qG23UXA3QBdRy7hr7429ixm5JRA7EXOtpUr/rCzmeTo6vamHzspqzkxZnP1p5hNU2B0eqX649+52Vx6fb5AAAAAPDB+OkeAAD4ZC2fRJdPm4O6CkmecCLCiogp4nQ/54nOA3hr0TnmaeLtW5x7N1q59+Ku25b78vFEzjSHR+cGWateZDtHReeVVf6ys1u2tlrSfVVcKPO3F1qt8EiWMOdvjE1OotjV8nI8+qOUxI1tCQC1fOka35Tt/K7wlHnGwvEz8u68vE3L7Sxzov+2ciM+Hu3o/OyTlf39v8EY/c6njs4+UO4lV77awslm0UIXUMf6krZT7O7192BvQmeLzr+zWkbvLtIlSZIyKOFyTf/pepZLU5ZRZxvgDGPLyNIK782wrP57XXcb82iyju3zAQAAAOBT8dM9AADwmc4//PWnw6Zu+cA5eMKJCCsipojTo5wtOv+Ut2YnW4sZhUcesv553rW35rbF6VFOGJ2r5QpdRe37aolr2a216kJlZ7cUqqvY5bVUYrUXHbd1zznJdmEe3I53cXK3J1MBH88vS/ub4vcr56+67TJqLBw/oNzb5e5kI07s8YTzOW/BGyk7Ptzy+dmH88p93N1C2dw77S73kivPxmqCu+jl66nG2DX09Y/OF+ccSKgoHZfb+YwbOrYLK9eg77+fj3gZTni+Hk2I1rGXSc7Nh2cGHY9SaU60DnjCUfiJrG7Lapp3pJk+DtQFAAAAgI/BT/cAAMDH8qfA6U9F3eXj5C+ecCLCiogp4vSn6NpgzKg4PE6/v0s2pQzR+jKZ8JzXrIZLqH1fuVWt3kKa7PAW9czeQo3Kbv6v4u7lhZw2Ol+Xzo32Wl7Yar4zb8d7OY8a86mAz+aXpetNWc3vDbdSdgkcC8fPyLvz8jYtt7PMif7byp1mI058976bzZWfbOF870+j1eZeVo1s5zjG6ALqOHYNjy7+2E3xSu6+oa7yktYwuZLGQi95GfPrkUwynCc3dZThZebMkI1eWWJgF9truB05kjMH6gIAAADAZ+CnewAA4JP9qaj7t+IJJyKsiJgiTn+c+a35+viKxdABX9LoPFv7pk44SXSKyYTnspZLqHtfubKzn7iVq0K37khH51fbDZ+6StnKzkU7qrUdd4b28V5K4sZ8qqQ8mRb4GH6q21+T5RUtL+lut11GuTGQAXcr93a5O9mIE3s84XzO8+VOsxEnvvOpo7NPlvs62ULOif7j5WrdkLKD/7eQ4+6ily6gjmPX8Ojij92UvK29gXfQGiYfLV9YG04iyuOV1AkHZBI3YnSUMowlUXUdhxfg9bsxsAZHRafYjhxZCs8tHgAAAADeGj/dAwAAH8gf+ProT4GtnDyjkBQxRZz+dN5s7L+IE52cJDoVDepUdN5KuTAjX2DUnCQ6RW82zV9lOJEzXUXdZfUT6z+x3dd9hepa7VU0c7XIc57s/Gov+7l6R0fraa+lDF5b9L8cjXdxErfLiq7cvrJlcuDd+WXpek1W83vDrZSNNz0beBrfGslGnNhYbudH3MfcaTbiRKXs9V03mys/2cJ77c6rFTVy5dlwu+6ily+gGgPX0LHbwKPxc45SY+ZuOsOMeg1qny+mpZyTnOc593IZLXIZ59kad3Se5IRjo9MjK7oxmSRtR0646NjGAQAAAOCt8dM9AADwsf4W0Tn2p+IQi9O/T+y/iKEeitKVVMPHT5LXZGZrmcSWx+7OC5W1VMWlbyrn5NEpys7uqhWtOx+zrOIS6pYNXVxuddFSe62jhV2yYCURtydTAZ/NL0v7a7Kan932DJaBY+H4AfU9ciNO7PGE8znPlzvNRpz4zqeOzj5Z7svHGP3Op47OPk3ZUOxl1XC7HscYXUAdx67h0cUfuyleiUze0Jnweg3ZHuYkcsmSZDhPLqPO1sWBXoBTleFBCh/L8LK0z+7OcWx9qmsj9RUAAAAAgN+Dn+4BAIDfqHyYHP5W4vSlokwlTnw0X89/tVlf51qcuIK3Fp1RlyRplLV8KdR2w2dv5VrRuVTZ07cLeEehuoryu/szl85Uq6VcLmw1+Wi8l/OoMZ/q3K3JgR/Q+8at5pdXbeSPTEaNheMH+NZINuLEhiZ4TvTfVu40G3GiUvb6rpv1yn3c3ULZ3DvtLlfrhpQd/L+FHHcXvXQBdRy7gEcXf+ymeCXSG3ghrcHL0BpyPWMU7o1kY9JRnsbkdfjYepxBzneks9E6dp7hhAIzf28Gx9ZR7jbm0WQd2+dfYrVgAAAAAPhh/HQPAAD8Fv7w15bPkr/E6TtFpSKGPpq2qYscnR+3ur/2D9dzQguLVrE8mret09dBDZdQu72WZnq+M7y0VKpq6ejG5bKQ3VQoqzh/XfFc++RSYT2zMTY5iRcZQ8XReC8lcWM+FfDBet+4nB/9MtIenjLPWDh+QH2P3IgTezzhfM7z5U6zESe+86mjs0+Wm/qY3eVq1XA7B3NC3UUvXT0dl0vcfw2PLv7R+DlHqTGwkrRsoyd8O3l+DaY8ZS3xj2CMjso8w6m8LxtLklemTjXAGYY3YmNXY1VX3dXICc10o7fopPYVHpnPAAAAAOB34qd7AADgk/2pLB8Vf4nTP0LlYgVFjOIeusK799d3ITpPsjyO3xdcHpO7lprlXELtH6hlZVs/cQtuqpLbyfxlQ1fWyhLm5PVICyfZLuxovIuTuH3t3oEP4zel/TXRfE3O+eVVG3lhx6Lwk3yP5OXNWh6Cj7ih3oWcbKfs9S03myv3cXcLOSf6z1av1g3JRs7JNnot17fz34ja0cU/Gj+XK+mNdaAbA3VrmUpmUimPF1MnHJN53IjRPZoQrWMvk9TqmU4+syMFinPq6MaRk7M65TWcZ9jK6mk7cmRZ+lBRAAAAAHhH/HQPAAB8LH/EnGL0X4gVfInRj+Zt6tj+UbvvV3SGuNZnfLh/6y6Wp7D6IkRtNW6q6EKpvZCmrWLPLVv6mt9epVe9JFe8vJbTRqd6EroKHS3saLxLWeCywvlUwAfzm9L+mmznd4Un54kOHsn3SHfWx/Nb3DLn+cqOX2/ZZ6PzVnLlJ1t4r93lnVLD7WysJriLXrqAOo5dwKOLX9+gdl7JWKwoahs7lkqOttZueCMruZL5hJlkII8C6wXsZqgn7NKEVaOXSzi8dxfb5W1HTowVBQAAAIC3w0/3AADAx/LnvPi3fvguqJzsfrh/NH4T1VLF6LQpa/8/RBluXXDW8lLlpnJOHp1OXlt0GtSTl8t32450dP5lbzdcOqeNTsVFo1PZjjtD+3gvJYlWqR6taXVa4AOUF67jT8Rq/qrbSPMVFR08le9sucMvbnHLnLfgXZxvx6eOzj5Z7svHGP3Op47OPk3ZUOxl23C77qKXrp6OuoAD1/Do4nuwN2GmGgisY3vDt5ShztliO1kj0erfUa0sZEleJxyQSdyI0SHDGRSo4+TVcPjAGhxSR3UlmV88AAAAADwfP90DAAD4ZH/2vmzYHbzW7mfrtxatN6XG0QJ2x+8zcKk1vw5RhlvX7FquorYbPnWtsq1vl+JnCrXvSNNWKzznyc6vths+dZWj9bTXUgavLfpfjsa7OEl0ABzz69b+xq3md4VrGi/mu8g723KLux6Dx2rZsk75bPTfilfu4+4WyubeaXe5WjckG6sJGKCrJ2qMXcPdi++cvQkdpcbAShxYN4YpgxYgbsTogZZymTD6/VpW8lLXvk5khoEkCpTodHI5h6udjeXcdx7cnirFv+3d3e3MXZqsY/t8AAAAAHg7/HQPAAAAH2j13UA6Gh9Qvju468sDrVOi01lLM+vYFp7vEmqXardsbbWwWwtta0XrlKatAk9kFSdXe9nP1TtyiZWuWkeTL1mwkoga86mAD+Y3pf0dWc1fdY9ogqZFB+8g72w24sSeljnPl7vIRpz4zqeOzj5ZbupjdperVcPtbKwmuIteuoA6jl3A+kbUjsbPeSUDsTNbWFEqL8DHyZzO41Qx1E/h0ZrYYy6jzjbgkh2JwgcyZGkdY6iHY6NTZYv+Kc30cWDZAAAAAPB8/HQPAAB8Jn+2i3+u/mz9vs/Zlfnn77gqikrft6/tptpraeY2/ETZzTLfJdReNnbP1lwo3VpoVesOWUK7cMWbtlNzCddqKZcLW00+Gu+lJG7MpwI+WO/rtpp/yduKB8o723KLP+MxaNmyTvls9N9HrtzH3S3knOg/W73aVSPbOY4Buno65vXs4iu/DTwaP5f3cSBQotMfvuJlrHIOcB6n0jFGJ+zmaU8+uQyFO4NkKh8HZIZedWBvhm3R9mXMbxkAAAAAHouf7gEAAOC9/SlfXUTnB6muS/tbBIkTl3L+6Nwvy3k7arfvSzMd26iU+n/+cgVvu4bRuq1K7sX564rn2ieXCuuZCo9WGycpa/wWeDTexUncnkwFfDC/Ke0vyGp+drcZNKJT0cG7yTubjTixp2XO8+UushEnvvOpo7NPlpt6ubvoPN5qR6JGDtbj7qKLL6YaAxfQsdvAo/FzjorOKNftLV2bz2BlN0sqH2N0VOapU9XtlxTuRldUzRkUnqnGOMPwMlJvhm3R9mVopqgxv2wAAAAAeBR+ugcAAH6pPxtxAtN0Mf2R+r+lNRzd1ktud/niIL65qdtx+lLOH52vpzc6N8hyqpKNcuZ6WcvtWwtF67YLWLby7XJdXihLrOwOHnGS7cKOxrs4idvX7h34JH7X2t+R1fzynn17W9XWSHTwtnxbfTfdiBN7Vs/Am2rZsk75bPTfR678ZP0+dXT2aXK1y8a+NpUNt+sueunq6Th2AY+u/NgdmbyPilWGySTO4PZMHvFKMtuwzONGjI5ShrEkqq7jzAIyw/lGPO3cwKVwSB3VlcSrap8PAAAAAM/HT/cAAMAH2n4WvEvTUgz9U1rwc1YSrTk/sKPGEpqWrl2SsklmznacvtPdhbQXHV2ibt+hzr/sqrmQZjq2UT25q1A7lairqH15oVUJcf6uQkcLOxrvUhYY93QyFfCp/Jq0vyPb+dkVtT2Id1fu83JnsxEn9njC+Zzny51mI058d3Lq4XLlOu5uoez7bXZXr9YNyUbOyTZ66erpWF/PdqsbkY7Gz3klY/IZyMaJlkJjW6i1rKRFruQ8YeOmzpOccGx0vv5foIszeCMxNOTlpdhVin+L6kqiyTr2FgUAAACAx+KnewAA4DOVj4KXD3+PPs/Nsxaj/4gWoPVEB5fy/S2PQ9Cgjhr0hAFOGJ3C3VIqanm8xTbbuVV+F43O1bKWS6h9X7mslRoL9a5nVeim7STld0U1rq3ltNGp7BbyyGrcGcr0pvFeSuLGZB7gg+XrFv1XVvPddRufxHdZshEnNsoj0PEIPVbu9GQ7OSf672O5SeVV9RY8uOJT77K7XO2ysdLOxmqCu+jii6nGwAV07DbwaPycQ3qjLGMH6m45T2+q1WRncHtmSc7jJcVQJwd6DU5VhsftJmlJO78RZ1B7YBcZa+425tFkHdvnAwAAAMCT8dM9AADwyZYPko8///XZFKOYo0v9YxezpVa5tz+xnixUHrflefOxhWb2LjLLWal545cWruUSat9Xrmzr26VoKbQKaVEX6t2OJjdW9DTnLwW/fTt1CZfYai90tLCj8S5O4vblewc+ht+19neknq9jvmXDnG0rTuNfWP56lhudjTixxxPO5zxf7vRkOzkn+m/FK/dxdwtlc2+zu3q124bbdRe9dPV0HLuAR1d+4I4sd3H0PmasjjE0ynmcSscYPdBSLhNGv1/LSs41bqplO5nkJM+RunpXeAbWK9zNoEGLfqWuLuquRk5opo+N8wEAAADgsfjpHgAA+Hzl49/l81w+0r2brrAu9bZdOxrv1ZLH9z06P0IVc1VuaAH3rSFrWVctzVyFv5Q7crtUu2VrM/vqsi0UreuohKt4F2q74bNXcYmVrkJHC7tkwUoi0QGwx69J+7uW83WMoQnOtjX57mOe74JvtBtxYqPcsU+4Zd7F+XZ86ujsk+WmXu4uOo+32pFkYzUBA3T1dBy7gKsbkcbuyMx9dKz3MkMZMpWOEieGOI9TxVA/hUdrlDN4MR4ZdtWOxsIVGK1+26Lty8iZM7ueMXzFAAAAAKDGT/cAAMBv8bf4U8QQcA89aTr6Sbv7wXP+6PTTqrrCs5wD5aZ9iQvZfKGj8LKJb1fgjh1llYHr5pDonHLm6HxReGMth2/nH433uiQJ8Nm6XhNN0/zo3MPric6/8AN7fD5dAd+IbMSJPZ5wPuf5chcn21muxaur8Uy5ch93t3By6oFytcvGvrbmxmqCu+iiq6fj2AUs9+H/G5E82JtwLMpyGbvr6eIMOkoMjVo28/UmxtAEZ4tOD29EsTM7yiTZ3vWyhJex7KR/LwrM/L3hLhqdYjtypJT9f/s/o315AAAAANCCn+4BAIDfxR/s/iliCBvzn0QrXEmic4P5/PN7fMkrVBWv1hXFZ6/l/NG5/3sL1/J21HbDpy6XtXy8qVB99eTWKt5FVry81movvRQuXmQMFUfjXZxEjZkkwGfza/Kcd8SLedQ7q8VoVdH5NfJGvLwjmuA50X9PuYtsxInvfOro7JPlpo52t2z7eONPU6921ch2jqOXr54aYxdw98o7Z29CR6kxfCsdOBxuXvl8ktyLE3p8mBOO5VnFXpJkmDLMpxoId0gd1ZVEk3Vsnw8AAAAAj8JP9wAAwG/0tyifDPPZ7mV0MfMTczeewDc6Ov/C8qh9PWx1O05fyvmjU27ETYUka7lE3X5J0zy/USn1E/v6gSq5Fyd39/JCThudIc6wXdjReC8nmc8DfKqX74hOaU50buZCJ4vBz9CNEN96N+LEHk84n/N8uYuT7SzX4tXVeKZc+cn6fero7NPkRnLZauRgPQEDdPV0HLuAR1d+7I54JTJ8N+efBGXIZcxwEi1mPpuSOI+OMTRqJoljh7ejQGdwEh3jxHc6Fa0DGe4ML+ebpjkq+l/bqUdOaLKOjZMBAAAA4FH46R4AAPi9yifDHZ8F44ivYX5W7sbK0fiAC1P9GC1YlstUFu92nLuB8kfr6+5E52reixouUbcvl7WsbKupkKbVgS/VhdqrdMkSzq+2Gz57laxizt9V6GhhR+NdyurufRGAt5bvyPY10YhORafHNlUjlxsOx4XyqTh6PJImeE7031PuIhtx4jufOjr7ZF75yfqXbR9v/GlyI/Wys1FPcBdddPV0HLuAR1d+7I54JY71SKPcgo+94Udm8mhJAxvZyq0520zCyST1dnYzvNxvvRePDHC4nNfaWoV0JdFMHTW5cT4AAAAAPAQ/3QMAAL9dfhbMx7s1X5PonNI0X8Po45ivUnnWur+PcUh02tTzu2r1UiHXcgm17yuXtQZ0BdaTe7ejyV21PF9KnYuv23YlR4U8shov69qZfzTe65IkwAfLdy36/X9h0nBgmgz/GfPbfD5tULxTN+LEHk84n/N8uYuT7SzX4tXVeKZc9sn632hry23Y7MiNbOc4evnqqTFwAR27DTwaP5chM7dyoO6RrjzbusslmP63wxmU+WW2l6vNJF372hrOoEAdZ2JdWgbWsA1pT1JX9wgAAAAAPB8/3QMAAFj8Lfh4t+YLcn5NdFbTorPpPtw/ueMq6kvka+X2fVb5f2a/ubXJcifhP7Mv7yI6pcodhVzCyV3RbZ+9hEukulAMvXI0/2i8S51Ex8lswEfyOzLzdihWSaIzJN/TZ5rf4NvJp+Ll46EJnhP995S7yEac+O7k1JPlpnzc3cLJqQfK1dYNt1cT3EUXXT0dx65efRdqR+MnFCJqLDeyJ7YOVKMr9kRZRVOq82mNSXZ5a2Uh1yRxI070ywwDScoq4h/W3fCXOR2uaZlnZVlWEf2KQlbj25EjObNxPgAAAAD8c/x0DwAA4H/+kJdPeFd2L4gvVH4Kv+o+Svun/D9GS/Kq8qK57bPXcq3o9BfS5Dr8JZdzlWzEuUu5UHR+6gLWFS+UJbwLdy/fjktYFnIjRl85mt+bZ1cu75JswOfRq+G3Q8cYwq9XPxVuxIk9nnA+5/lyFyf7fd+d5qaOdqfxo1MPlKvNhgdz/fU4eunS6airN3ABfdm3gWO3wysZiM0tuDvDqeyShEoyk0frqZc0xhm0jMlUziCTOxoLV6COw7EKrGPbl6GZokbjfAAAAAD4t/jpHgAAwDf+kLd8RMyHvAtfkOgUvjj1+Kp7K9eKzpvzRdOO6ra7l3P+6PR/h6H5dfhLnuwqai+7+pEX6r5C9Y7qxoVUIquI2u1VPD86p0qRmOn86i712mo5fDv/aLyXk2RjMhvwYfRG6NWITo/hwJVLkuBy+Qfz5V9OTfCc6L+n3IWPu9vJOdF/H7nyk/X71NHZp8mN5LJX6z/ZKc7p0okaAxfQsdtAD/Ym3E3VQoHRKsaSWJ1qJk/tkjxKMpzHm8rwgTzKIGUJ//9V8bGmU9E6kOHb2JeWFXzl7w13bB216p7TZB0H1gwAAAAAP4yf7gEAAOwoHxEPfjb9HFq8P62u7Q52KdcmPgS3yYSQvJLidpy4lPNH5+avMbKWq6hdttVUUdMc26iU+ravxkJdfriKktftcvIyTmtOXo+8VNa1c0OPxrtkErdnUgGfRO+C3ojodBoOxLtY/m6WP5jZiBN7POF8zvN5F2W7h/v1qaOzT+aVn6x/2fbxxp8mN5LLzsZqgrvooqun49jVq+9CWu7N3vg5R0Vnz9HZVeDMY7BKNeyq9SQlHM5T9jS7HmdQbJ2ql8Nl5pqMha+i3G3Mo8k6tsyf3Fq6Kg8AAACAX4Wf7gEAABz6W5SPeV9/9upptTjxuXx9JPoPpkXu3pGj8UnK2XtZPH95bq74UuSc80en7ZuMYVnLJeq6Lbrml1IxX437NlUrF+/6Qt6Ik5dttf4haue00fm6QV2cYRt4NN4lk/g4mQ34hfTurBrzeBMfLv9gvvzLqQmeE/33lNvMRpyolI2+5U5z2Sfrf6OtLbdhsyM3sp3j6KVLp2NezC6+7NvAsdvhlchArPXW3V15tCYoSeYZ3ktSBmXTcT6V80SnZ7OeObwAhUvZQewlTnRyYEmzNJSqDL+2KrqspnkZmulj43wAAAAA+Hn8dA8AAOCF8rFwfE4dQxt5ypPdfmsnm72Dyn3Gdav1bqo8O8t8BTrWDZ+9g8vZrbXKzmJr2ShnrlfnX7bUU0iTHf7Ssp/vVy9a18kSZRPLwuTyQk4bnYbrlhPcFa+qHrGj8S5Oko3JbMD70sNfv6rAET0n/oOZjTixxxPO5zxcbjMbceI7nzo6+1i5qZP1n5x6IK82G6JGDtYT0MtXUo2BC+jYbaAHexMqysfeQFPUWN2a12BX5RmmJOJlZGOXzkbrmMKd5CTPkWUdr0qcp3W45rzMcyQD1ejdwjakPUnOfDl/YGEAAAAAMI+f7gEAADT5W/wpYqjis2rkBHeBXvWz5G4+VC000+Fj2gsNKDuL70LcuKmcC0Wn+IFCvdvR5NUizzm5Qkqdi7ezXUlXIU3enX803iWTuD2TCnhTeuz18EcHaOC/ln5y3IgTG5rgOdF/T7nNbMSJStnoW+40l320/rKzt9malyr1srNRT3AXXXT1dBy7evVdSBrcHT+XIQMrcWwp+63uQCpb5WlRz1d4tOY4j7fmkWFOIsPXxMbCvf7h0nkF3OjN45A6qj2JZooajfMBAAAA4Cfx0z0AAIAO/sC3fFy884Gvz1oMNVPCgSi00+XdvWtjyiNw44f+5SH6/6uFut1CMx3SopT6f/KysTu3Zi6huveVW+1L7isUrduunvfi5HU7Tl9BOaNVOLkLeeSlsq6d+Tnenmork6g9mQp4L3ra9fBHB2iWfzazESf2eML5nIfLbWYjTnx3curJclMn6/epo7OPUnYTG1k1sp3j6KVLp2NezC5Hl33gdiy3cHQlLiduxOiozDOcatnJ1z/Ew0nESZQhsw0oa3l9fXQqWqecJzrNyhL+zz+c4STQp3YnbGPPU61oso7t8wEAAADgZ/DTPQAAgG7l4+L4xDyGJiiJP0F+mmcuzFc+OlcYS6goB167mBWVcENVXNFtD14r81vZWUchTa7DG7mEAku1u/YVreKmQsu12xSK1nVcwltwRbd99hIukVyoq8rR/GW55VT0hziJG7tVgE/CQ455+dfy5Z/N5c/r9F/pfy63ebKXnBP99+GVn6xfp3w2+s+WS3VDyvL/X3/dRhdfSTUGLqAv+zbwaPycl+FYjzRSiKN0jKFRmceNGB3lJMN5LlyGjsrjxoz59QxnmFn8qqi7jctw3cbJAAAAAPAz+OkeAADAoL9F+2fE+CS+7z/wDLiEGq7irtuecC3nj86dX2nUhVxF3bKtu/YVra9C0bnUsqWq0B2yhK9Vdlt4fnRO1dMUpaNGSsGlreN5Hp2t59c8Hp1RmeSoCvDW/FSLnnB1fXyCXBLei+6a+Pa5ESf2eML5nIfLbZ7sJedE/33ksk/W/0Zb81JFjVx2NuoJ7qKLrp6OA1dvuRl7T9HR+LkMGVvJQNSW88h8Qod35TmZqVPteVa0Bh2HwyUzTF6WmQxegyi8N8OqqLqrkROaqWOpOb5xAAAAALgQP90DAACYkp8R74pJx1rmfBLt1x+Uv7v6vtftOH015XfDVbKiBy/n/NG58ymtC7mKuu3lfCmi06BUi/w6unG5ekk3VfFG1HD+bJeT18gS5uT1yEvOUBa4XtjuuLoaj84rJXfcymwAb215JQo/3uJ2nB6lJNHC7+Ynyg+VG3FiY3n43v/vqrdwvhefOjr7WLmpk/WfnHqaspu4R6tGtnMcvXTpdBy7ekeXfeB2LLdw9J+zOnDmMfAalKFOOMDhzjOznrTN055ZM8WNscU4g7cTQ/2cQY2xNZgXkBky57nttMZAccX2+QAAAABwK366BwAAcIG/B/68ojmRAs18YaPTYzjwyHKPv+5y3Y7TV1N+N1zlB8plRfmZQlnl1nLR+rqS0WmgyXX4iZkqjZarVqp4VXJ5IaeNTnVT2gs5w3by0XiXTOLjZDbgx+Sz6ufW/DxLnsr2EzxtPRhQnq/4m+lGnNjzcsLzeQuSjThRWS7Ee+40l320/rKzt9malyp1w+3VBHfRTpdOx7Grd3TZ61vTLlfi7oD5x2Bs5Su5kUuybfMM5HTI8GLmN+JrIsN5MrA3gxdfR7VvJ2c2zgcAAACA+/DTPQAAgBv9fSXm4Z/SjZj5vN73URmk3NWO76UcEp02Od8l1F0K/8j3DbcWWi7c5lLcVG5V6759/UAVl3Dysq3rnwenjU7h7lGh9urKc5SknZNkYzIbcBM/nJZdNfTcWpkF3E4Pmx+/bMSJjZcTnm95tcoushEnvvOpo7OPlZvyMUa/86mjs49SdhPbccODufh6HF186dQYuHqO3QZ6sDehonzsDTRFLauZewwUHq2hC2L1MuqEveo8OroxzKnGkig2WgeX5WXalxnOZfjALhTiqOh/JYnOKceq0VURAAAAAC7HT/cAAACw9qd8LxKdR9LyLvx4fT5V+cw/PvSX7Lbw/Oi0qfMr3COlcutGNDMzvLSa2VWo17Kxqpza95Vb1brJqkrXXjS5a4VO7oqXXzSndTsLuT1Ty2lnMkidZD4bcK3lDaleGSvP7CL6Fc/fPfWvPG09mFQeveVPZTbixMbLCW/BW5BsxIlK2ehb7tTL9nF3/WVnb7O1XKobko3VBPTSpdNx7OrtXnYN7o6fy5CBlWRsS13NidaxgfXX811iYCMrudSWNe/Klaghk0sazqDAaPXz4uvGLi9sd3mrZXftIku7CwAAAAA/j5/uAQAA4HfJT/zTydcDW57vwBj6onGn8tmjaVfJcuJy7rZXdFR0Xsn8tmzszq83XMsl1J4sdxJbb0pmqpz4gUunEpLJ6/ZNspC7M5xkcsHL/suu1Z5MBUzyE2jq5sOpoyeseKb9x665rteq40r0S7//O+8uXEotT9sYm0sCpMYPjqy7BFm9DxM6h+EMkDMkYzLwmOmRoxCGik2H+7P8UX3/DVIIwyc0rVlviybaHC0O90Z3AQJlCYUDj2YcrA7XfdtbW3t+awZBCIDQTNiH5QCF0O5FeXan4iBkdxKghfBYkxdaQ7NQCO08yrAjSd7nvnCWjvMkRSyPg9ngHJIxxhhjjDHG/Ab+dM8YY4wxxvwyg+/TC4681kcgwkVoZ2Dg8lNA1YMSqkrT7SxYAgKr5MdkPxnlJywahwHgnIcPwhIInKo1Tppp/1BN6gxFFXC8Sg2rpAnmHj/6x2GGkeTjsOE47CINvQzCVOe2Z0wHPm+EzyGAnlcqcc01YnH9BqYTOZ6Q7Umm8MdJN+0Nq0hP3PJYSghDxabDI+AIQEIYMtKgz5tUbfPa7L9juhtpmrgLhSBZejMFVwdhx/YYWwdSOZsQUbzuCGQUrqHai/JQCO1eDiZhG3HYCzMcXA5iT1nL7nAEhjRPUXSZYbgNeOJ6ZGRjjDHGGGOM2Y0/3TPGGGOMMb/AV4ZeqYMwj8GoOMyAwJC+2Zdq6Xulc+hxpanjdhYsAYFVePyBcmSqENuLwxZ5IVbBlcLVXFQon4hcVAVXjlBX7ED/OKxT50SghJEMHRC+9H1sLUwi4WA2Y5rw0RJ42IQcKFPIj5RFcr8j6tnk8K5hOXF+OJyF97o/lDzj/ECWO/f9x0ghDJ90THdGba/1v8z8nNHUKgWQ2v/Xfy6bKbA6XPdtr7n25cbM3w6F7OiEsbjGeS/Mw1S4hnYXDE/JhvL0K47nKeBOFLs7Sap/aMMMZ55QDaO6O8JZNA6JWrNGXpfCCOP5jTHGGGOMMWYNf7pnjDHGGGN+lK/EfxnUU6aVmhEYEoefomiy03luyuUwnw3yU2CVHyiniuDHCoHxueBWxPYpao0XmqJo6YoqGoTJJSfjOTCnYKE4HCP1fvTpVRLKR1IZI9JTGfAZE+FRQU9doUnuq/5XwLqzsOc4VEeDbWAnIM5PZnkis6e0M5Q84/xMNGZnFvnE+SEstyd1zmtoP6FpzXor1Ooy1fdEEnIHHs04WB2u+7aX34KcNX0HhIA4rLDmAD3LSdjH0kHKgGuodqFwZqPcZKQQfDbzrMFYyUeSHFwsw4/kSV38Cx9MRbfcczAQwJPCpv94TmOMMcYYY4zZxJ/uGWOMMcaYy/n6/i1Er8LXgAOA//h7cPrH4UdoNtlUktyUy2E+G+SnwBI/Vo5cWiivRXm8XB67SSr1z39qKDgP1ircrlhdmuPfoiBDOL0QS4iz8qfel4bjvAsl4fVgNvM34ZND+ESRMK9A5zj8NugE/cRhjLz/ZfI7jXMfsBOA5cT54XCWkaHo0Pe5ORqzM4t84vwc2Davzf7TZM8YLW+1ECRLb6bg6iDs2B53XgdSH4dh2MZuWDG1s/8x2Nd5gfZ5PNsyzEl5jiThRLvJF0LNLIhlOK6hGgMhRdR4EsZCmC1qjDHGGGOMMbvxp3vGGGOMMe+E77jj8E1T+cOkN+HLe3MS2k9yn1B12eEch12wVuqxrEslhFxJpAd0q33WYEgcxpB/Xg5QeS6qRa4rBDgLBJbI5dNhcpJmmquSh3c4WGUElWByHE8vhJyqAnYnrxs7pVsmkXAwm3k9fEjE8nB/Ex7DMLyWfx6URgNx6LLMXLWto6nBcri0OD8ZzbI51PJMDD9Ut4Uj9Gehac16WzTR5mhxuDe6C7lAOXegbKbA6nDdsb10Bxprp3I2IaJ4nQ0USzfHHgOEh7RrIeR4G0R5eD2S8GASxFJohjNzHFowHD7KMwWiAMNxBWEYg1Fx+D4OJoEzroPOxhhjjDHGGHMQf7pnjDHGGGN+gf8SEDpvw+mT3q5vvzGfcj5IXiuXw5xNVyA9/Zs+HWZDUrWPcoAyHTZhVBy2KDynCtX0Y9MoMRqPR2p1UCFxRaGiCkqMV4Fn0eEmTI6oVOfMcWY7qVkWsfIHVShnURLKR1KZV5Ker4BPiwiPGZgkDrv+Tq8APaCTOLRYhv8eXxrJpgOXhnXF+cloFglhaEGHvs/N0QidWZZFbK3ihqhtXpv9d0x3I00T41CgUs1T1tGMg9Xhum97+S0QUDb1fRSyIxBXRIGRuvTvM9t/4T9SYgSmxbWfcLNVJZkaqqAIxzGkLei5o7QqUsAV0FRAt2YJxsYhHQtNB3jiCudBf2OMMcYYY4zZjT/dM8YYY4wxvwlfnXfehqe36xs+Yso5B/4IjMMWzJ/XyuVwWh+NzhBkarqdRV4O5Mdk34ZRcdii8Ew1rxoN5LNcV2tZWTVXSOdRVLm6BPLzeHohpo3DLpgBjeW9NZWzKMnxVObp8AEQfDZIeByGaWv5Z0DFkDLQwzLtN6H93sYyfNYkNXEwA2Bd3GScn4xm2RwKDvSJ8wPRCBLC8AlNa9bboonWRltmXp/6bqhVCkAClTwmXzMBVwdhx/a48zqQ+jiMkbqINnbE4oooCDvCC2bz1G7shwwmaXJ8HGRQEgihreiYCHtgHmrGyZPvzrAvEDA2DolaswY7H/c3xhhjjDHGmH340z1jjDHGGNPgq/tm/1xQiG/DOy/ER3xE3xlKWOOwizz/mlx7UiNoyuWm21mwBARW0fEK6uTXzVXDAeNwKvVQBws1w4vtHSzRRCXSBMvDMFiFznG4ntRm2VtTOYsyUDiYzTwI3m6SHqV/hMcZMHkc7kdz3kKpFcXZDMNNYntxfjKaRUIYWtCh73NzNEJnlmURW6u4IWq70zxNa9ZboVaXqb7nolA48GjGwepw3bG6dAf+3QJB5WxCRPG6LxBRECjvBuHK028DDiGts5mkT+ri0DiAGQ62IaGTZ7NVOPQzrMFAyrPhrJhHUROHLvIc9DfGGGOMMcaYHfjTPWOMMcaY3+cr/TAQh78KNsDX4p134vKJcxc5D/rPkudvyuE30AlNm27HYQkIrHJpOdUiOwrl4X2KWpB3lBukLhSHU8mrgCuqoASrKPlFsxwETaKxoremcoo0fdy+49nMneHNJbzvJMx/lbUl5IsKlangluLQAtvb9HkKmmVzqOWh+f539aFoBAlh+KRjujNsm9dm/8vMDxktb7UQJEtvpsDecN23uubO062YvhcK2RHI2NnAGuWhENpdMDwlO9rVkSQYJKS9MAMaOLITBo5k6DjsaAAhRdR4EsZCmC1qjDHGGGOMMYP40z1jjDHGmN/kK734joPJXql3XotvOuSMJIQJPnGYJM9fyBTCr9tJbsrlME+yGYj8FOh5sFyfNM0PPeGqlc+VLNvAk7GD5IVwpXAuRT8/UwVcVOgIaBIUjTWVsygJ5SOpzH1ID8U/eJdJePwILE0B1x+uvpu0p2e0+otwS7yza4z4PAXNIiEMLejQ97k5GqEzy0PH1O2TUNMx3Y1iHABBytzBTIG94Zo2Or097rwO3HEvEAIgdALpUKNYMFs3h3mQQdn2oXBmo9xkpNBmkg6IZYndSZhBsTuSMBzkeWZhYEqzCOOpCs+pHuCM64j/kdGMMcYYY4wxfxN/umeMMcYYY26HXouvvfKGA1+IrzkUyJ8ylQTKQrODlD76kUw9lXQDshLIYVhJAsJ8NshP4axynVjmj0P3zh5HtVTioloqRNJMo4Xgmcd2KNymqgyS5vhXhcfTq8xST9psrKmcRUl4PZjN/Aq8cYQ3VITHT8EG4mBeip40CqFtMeLzFDTL5lBwoE+cH4hGkBCGjI7pzqhtXpv9d0x3Q60uU33fDgm5A49mkLTO5X/LdqyOsXUglbMJERXS79EcZxYOgjzHs52VRNcdjNyXTvJ8G9TsZscqihAeB5Oocx6NMcYYY4wx5iz86Z4xxhhjjLkp/yU6b9I3HQpyfwFNmA+T55csAYTftyeEXEloor/ksG3BkDiMQf9Urd3qibCWuK4Q4CxxSFw3VF5otkrR5BoHqwzCEstdSQ8DBZruQ7OxU7plEgkHs5kfgLeJ4K6JMBtzGXzS9OBBCEOLEZ+noFkkhKEFHfo+N0cjdIZ96JiaaG006NdMdyNvtRAkS2+mwN5w3be65s7TrZi+FwihsPsmInB3LFEPYHeqNP3RRzFPsky1ng1uIbWglak6STr082+CcFbfkYchvDJDZ4SmqQjBsZ8kB564wnnQ3xhjjDHGGGNG8Kd7xhhjjDHmg69dL9CvI71I771Jl0PHJ4f+IrTnwbTsJxckh9+3Zxw+oYn+9MkDN2HIIKlUlGA5QJkOl3JpIc4lrqvFpcVh8maNk1eZmgWeeXt96MnkkFOdq27QPpYtrPw1FcpZlITykVTmCtLt/QfvFwkPY34QPHh6FCmEocWIz1MYHxwO9InzA9EIvDZnkU+cH4La7jRP05r1VmgK9QxBytzBTIG94Zo2Or29tZ3vuBdsA+xoQxyJzTn4LGmWIyjJwWwYBBnAweXsDs9L70iCcFw7gTQ1HVg6N43vgXV5NcYYY4wxxphT8Kd7xhhjjDHmd/hKPxXEYYv63XoBHDZ9fhL1I6GQw687mvwp49p0OwXWgpB6iVZp2oT+EAZDUu4PT2QI6QLyWpDTfJeU+5mh8ipXl0B+yGBZ2ZX3SIxXaTbWVM6iJMdTmePwFhDeGhEexvwefBT1cEIIQ4sRn6egWSSEoQUd+j43hyOkWVeHpWnNels00VrzaejVqW8F+wR5zxJyBx7NIGmdy//m7ljd2s6pj8MYqYtoYzZWbAayRB8kgVvqYmcbeZWDSXaHEw1CIbS7YJ447GJfD/kyZ0FsUbQ4dpDnwamNMcYYY4wxhvjTPWOMMcYY8wzSq/XlFXnn/fiIz0+iZvLGclluhSYHJlxh6rudAktAYBWWo+l0VIuwYhwGgHMevgmdWQJyqnb+aEVL11XJC11agiPouAOGx2EAVYxzl9RX+ZQ2lbMoA4WD2cwUXDhJNzMIszE3Aw+nHlcKYWgx4vMUxgeHA33i/EA0o4QwZKQpnzcm26aw1nzHdCvSKNFqIUiW3kyBveG6Y3VrO6dyNiGieJ0KXDr4/q+IHUULWJ05+6ngENI6m0k6pBa2S/RhEk4UqnkYyzzU1GzmZw+4dpI0QZSSz8YCFo3D1hQ5qexSd0dRY4wxxhhjjCnwp3vGGGOMMeZJ6P145xU5X6Pf5B26mgFNOfw+PUOVIVPf7RSQnwJLXFouTfPvh5zZQnDOw/uoFktAvqhW4YbAqUKDLMN8ri6k81AJjgD5iioFrDgFGyt6ayqnQAYmoXwwm+nA3QpunoSHMfeGj6ueXghhaCGfvtsj0CwSwtCCDn2fO6MZJYThk47pzrBtXpv9d0x3Q63mAuXcgbIZB3vDNW10envNnS93Zf5eKGRHYEiHYQ9gR/8FDE/JhvJ03MaT1OSD7EvCDAcXwgybSTrWfQ0UUTwO5oFzSMYYY4wxxhhzAH+6Z4wxxhhjnsd/if4r9U2HnyRvuJAphN/AaDRtum3SD2R+yvDkMVW7ZJ/MH4eLUS3OMjsUnAdbVSEyW2gcVbmohAZBcsoXFSJ55vFCzcaaylmUREIYzDHSbQm4WxEexjwNPL16pCmEoUV62F/yT4rmlRCGijT0s6fWjBLCkNEx3RndmrV7BP2a6W6oVQlUQqhlM05aZ/w3ITXjrO2c+jiMkbrY0wajxGx4DntAhiLnLApnNsq7OZIkH2RfkoMjIJwZAITQTsJYJgnVGIyKQ9ZMnLvAMyRjjDHGGGOM2Ys/3TPGGGOMMU9Fr9TX3qpvOvwweT+SqaeSbkDWXAmoh0ATj5TpcDo/WY754/BdNA5nk9ei8GNDhbQFPPPAcZatXTALm2HyNFM8vReRJ081y1rUFHo1luubylmU4XiqPwv3JtJtCcLDmOfDR1pPOIQwrECfTbf7o3klhKHFpsPN0YwSwpDRMd0Ztd1pnqY1663QFOoZQq6UbKbA3nDdsbq1nVM5mxBRFKYCUwun/YcHUs22LRTIfnA8ko2ckgTsToJAEIcV+pkZvnsEhDNWwjh1yI4kxhhjjDHGGLMPf7pnjDHGGGNux1f61SEOW8CTb9XXXqxvOvwweT+SqaeSbiC34go511NJPYBA6yYMicMY9E/V/pUDtF7KpVU0C2VcLyrHQpSnSsBZgX3yEgCBU4UGYQkmz8udQppgIc4JHcfHYZLCv6mcIs9A4Ui2PwK3RLhAER5/DO4hDua94C7rsacQhhbL38Oxf53ug+aVEIaKTYf7MzLsQ8dk2xDWmoeDfG4O+wR5zxJyBx7NINgbrvtWl+9fQNnU90GIrvtIExy6+3n13amW4efHL8iTLFN1s21aj/cD9mVA6ZAmYc8Ml9AEVhCHDGbITdTEwRhjjDHGGGMuw5/uGWOMMcaYN/BfonjVnrPp8MPk/Uimnkq6AWhC+iQFxS8TQHIyDsGQQVK1j3Jgqhyj4tClcEsFL7xrLMcSHOqickjOWuAHSoCpWeCZx3agGzNDTkVOHkedqArl8ULNxo53iwxMQvlIqreSFhxwXSTMxvwN+Njjr4Ay/yJoajLi8wjS3MssEsJQselwfzSChDBkdEx3hm1TWGu+Y7oVaZRotRAkS2/G4d4g7FgdF14HUh+HMRQyG5hzJDZnR/853OdBlORItlO2SvZlQAPqf0cGhiNQScZRbJyzbRhjjDHGGGPMdfjTPWOMMcYY8x70qn3t9fqmQx9EITwOZ6B+clkC9blJGkETBJpy+QrycgDyD9QirBiHy2CJq+cK6bKh0ub+VbkClUD/lC+aheSZxws1G2sqZ1GS46leADcguBwSHsb8VfiHoL8LCGFoMeLzFDgIkBCGik2H+1MMG9pPHjom2+40/6C5dHfUMwQpcwczBfaG647VpfU3dt5U9mEqCAjcEUthM1CeHZAEbqmL6YWQ8X46aBs87uOUTsiyjmPj7AvfHQiK2COpjDHGGGOMMWYEf7pnjDHGGPNCvtLPBnH4pql8JRgTYF4Qqk82HX6YvBnJqcePJmuNoAkCTWtuZ1GUy4XTUS2Sxvqhua6uFdJlhTQOuG4QwP5V7sRaytmEReOwDpMUXTWVsygDhYPZngXnJWmX/wgPY8w3+LvQHwuFMLQY8XkEyz8HaRYJYajYdLg/GoHX5izyifNDUM9rzaexnjEX+wR5zxJyBx7NINgbrvtWl+9f7LsRbKOZsA8DwY6iBayOK4XQ7vpvY2bYEUjYA+UjSULaizJAWGtjswoCGb6WYYQd4UXPx3swxhhjjDHGmA7+dM8YY4wxxpR8pffjcTjMb2WDG+i8XpdDx+fHyJtZk2tPanJgwpWmjtspsBZZerqyHPPH4XvAQeCcx26S14KQZhotN1tLsFAcTiXvJ41yfhWWYHLI4NwqzBmHRHEcASHsMM6JpnKKpbPveY9nuzmcjnBwEmZjzDr8Y9HfDoQwtBjxeQocBEgIQ8Wmw/3hCLhSCO0nNK1Z74km4jW0n9C0Zr0PaZSYohAkS2/G4d4g7Fhdc+FMOJtNITsCQRyOwR4AhdDOw9jxJB3PI50gNqRdNxcgAxvIU03B8FzYzWx4URHH4z0YY4wxxhhjTBN/umeMMcYYY94MX6+TUH1yq1fwagY05fD79AxVBU2bbkdgGxBYgkfKdDgX5o/D3h+QBmEhloA8VQvOeZ8dlnmyQrhSuJQrquSDAMrnkudU/yxHuYAmEOfvJkeUsyiJhDA8nLSVf3A6Eh7GmBnwt6O/JgphaDHi8wiWfzLG/oXcdLg/7B9ICENGmvJ5Y6rnNNaz52KfIBco5w6UzTjYG647VseF14E7bgRCAITZQMBAsiNcsAdkyBPOwlgm6TezWUVJ+nnWyPMfSbIvkLAHZNgcdpPZNurVNWc5OKAxxhhjjDHG+NM9Y4wxxphf5uuMd9DvY3lBfuz1NzMAyNww5Sb1S/lfBM2on0KmEH6fnqFKUE+ZJrpRcwUslxr51zNNp8Na4tJCrMUSkC+qpUIEVQYLwS0P7FNXCek8NptZa3iwmTRBO3wwA2CSIqSpnEUZjqf6Rdg5SVv5R3iYSbg67JNH88fhX5P+vvoPxojPU+AgQEIYKjYdbs5yz9IIEsLwScd0WzgRhafPlUYpbxOFWjbjYG+47tjbchtaDw+VswkRFdIkuwNrmuNMwWaQ5HgqJjme50gSBIa08oT00zKcg1AzhaJ29I+QImpHEmOMMcYYY4zp40/3jDHGGGN+jd2vnv8OWNHUa3H6k3y3OtJEZQEcQMfhh8n7kUw9lXQDuTWHesq0prjR6eCp8EHozyqQKdB0LkVj1xUCqMVyLAH5oloqJAYLwa0I7JBXQeBgCTBeZdBtN2mCKJHXGp8FMEkR0lROkWegcCTbj8E+CUcgYTa7wAKxzzgY8wkfD/7FUQhDixGfR4BBOIuEMFRsOtwf9g8khCGjY7ozbPsdc7FVCQBCrpRsxsHScE3rnF5dc+HpPkzfCITouo80waG7n1cvUg02BjfA2MGQGiUBFMIwzylJwL4MiMJ1X2m2zbrM0wRWEIdPGBuHvSMYY4wxxhhjzBr+dM8YY4wxxtyR5c3691v19Ap99c04rUQhgEdBJQU6U1NA547DD5P3I5l6KukGoME115AU9G8tpHZbA551eAeVYwnIECifDguJ6woB1WKJ62ot65tZ+D7yKlOzwPMH2huHne+bBSCwDmkqp0AGJqF8JNVFpPn+wYZJeJi9YIdYaRyMWYd/cfoD7D82Iz5PgYMACWGo2HS4Ocs9SyNICENGx3Rn1PNa82msZ8zFPkHes4RCNoOkXS7/RbFjdVx4HUh9HMZQyGxgzpHYnB39i93LzFESCk06JgIHwCRH+tmdAVEhpST7MihqNrzomcfZJMYYY4wxxhjTxJ/uGWOMMcaYf3x13+b/PGhG/eRvximTvGEeRWgraGV4qD7ZdPhh8n4kU09l7gZBGiETWXM7C5VDCcpTtRgVhy2YPw4pdqrWFHkhyNfV+pmJlsUN7/mecIRiP9rYyHTKwBDSVM6iJMdTnQJ7IOxNhIcx5sfBH6D+KimEocWIzyNY/t35/ueRQhgqNh3uD/sHnUHkE+cnsNyY1Davof2EpjXrfUijxBSFUMtmHOwN1x17QyB3HudvqJxKyFQQZgMBA8FmoDw7IAncUhdDbRRueYnxJAVaBY+74SCdqTsmwgwQjjSDJMozBaIkzIYXIUsHu3owxhhjjDHGmAJ/umeMMcYYY+4O34nH4fuXjzh8H0VoB6A/wkGoPtl0+GHUTy5LoD43SSNogkDTmttZqBZIlaP5K2D+OHwXjcMW8MxjN2Et5qdA+XSQPKTJiaYoqoQ0AJzz2HOZSg7Pg50ww7LibANSxnkXykDhYLYpWE6kaYLwMMbcAP5V6o8UQhhajPg8BQ4CJIShYtPh5iz3LI3QGUQ+cX4I6jmN9ey51CcFkHr/p5RsxsHScE3rnF5dc+HpPkzfCITwui8QLAMcu/usjiuFXEl5nCLJFIyNQ5orpEl2NyDUxu48DDzSCQJ3hDMkjzq+DWOMMcYYY4zxp3vGGGOMMeYZ6P0+4MtxaAiV+2CG9Pp9IbQZuUOofpW8Gcmpx48ma00OTLjS1HEbZy08dRG1AI+U6XAuzB+H9a5OgbVYgsKl5chFVdB/SJMl4JnH/i7HO0EGUIxPTaGcIk97PFsfJiesK8LDGHNL8Eeqv1wKYWgx4vMIln+b0iwSwlCx6XB/2H9/EJrWrPeEE1HozxWHG8M+wTLSd88ScgcezQhpl8sTsmNvawunPg5jKGRHIIjDMdgDoBDaeWaTdNyOdIJYEIddHA9fFtFdRacETQpfy9AEIYyK8+FZjDHGGGOMMcaf7hljjDHGmF/gK70lj8MM6T35QpxPQjnX3tqfXvEI7Hb5hSGtsZbD79MzVBU0bbodgW1AYAkeL6oFWOtnYC3OMlWXe4hDF7gVnssSh7c3XihnqsR9KHbFEdZmkZVHgQwp4p+eaQvlFAqsheMsbX3DVkmYzQ3g7cAN4rED72MczB+Df7l4ACSEocWIz1PgIEBCGCo2HW7OyKQw0Rrnh8CeeW023zHdimX73/svBMnSm3GwNFx37G1t4U1lH6aCsK+NkHaFC/aADHnCWfIkuIIwzMPYg0nA7gwYIaRdMBylJST1BNwh5dnwzdgd/RhjjDHGGGP+LP50zxhjjDHGmA++ErlM/ktQfwfYT96bZArh9+kZqgT1lGmiGzVXwHKpkdN+bWqyDJbdrIOF+qgWS1xUSFXEFYWKKsvWLtvbdeRTUMB1apaUYPTvaA16EsYC6EP6TiUYNUIEfBPpEuFhfhXcCNyXXOiTbmOQbuNQlHkrfAD4MFAIQ4sRn0ewPPdpFglhqNh0uDnqX0IYPumYbot6Xmt+Gfghc7FPkAuUcwfKZhAsDde0zunVNRdO5Ww2trGD3YE1Gme2+RwmwRWEah7FQug0M1Kin6FDnryZoZ8W4Syd55liMxDJSZw/WTPt7scYY4wxxhjzN/Gne8YYY4wxxnywvP5PPwAAyiTMN4O95d1CoJ5KuoHcmkM9ZVpTXOMXiCbwVPgg9GcJyKnaaLkpisauKwRQS+UgXFQrr0J+oMp4CXgW7f06bEkjQJC8SVrD6N9REzqDOH8StkSo1mEbJGK+CQ/zKOJeJuJGJmiFAD1l8wfhw6Bno/8wjPg8BQ4CJIShYtPh5oxM+sQZ0TPb5jW0n9C0Zr0PaZSYhQKV6pyyjmaEtMvlf+l27I0Lj8M3TDibDSG67mO58cdu/fEeAGdnJ7v7YQ8IZzYqpzieQRzpgQ1A3pEBgYwdAfkFo6bCjTHGGGOMMaaJP90zxhhjjDF/Ar1bH+RZr+DZrX5CoEw9lXQD0OCaa0gKKuet3TrU4R1UDiUoL10Ol2NUHCaZKrQP5p8dapy0sI/xr65yRf6atK2hQoNu7J/OmgWkOqMTpTXEH5SgZjzJCHU2liBsg4TZPJPBGwo93OJg/iR8Bvi0UAhDixGfR4BBOIuEMFRsOtwc9S8hDBkd051Rz7g2m3/QXOqzECRLb8bB0nDdsTduuw7ccRcUMhuYcySWqIfdqTAIiMNemGR3D0QZ0jTtVPAJaQUEMs9ahhF2z6L28vBCBnATYTDGGGOMMcaYw/jTPWOMMcYYY14Cf0LIf1SAQD2VuRsEaYRMZM3tLFgutbb9I30ThITUhcnjkGDROAwA5/FaFJgfx1Tq/B0enGgQVFGhK/IXoNbpVdg/02qWWdhY3hs0tfIgzCZYgoSHeTK8j+M3FG54DOJg/iR8WvSvQf95GPF5ChwEbE4kzzg/jWJSEIaMJ86IngGFtc47plvBPkEuUM4dKJtBsDRc0zrnVpd231g4lVPZmArCbCBgINgMlGcTWpc+TnqK0ig787CZHaiiMuxOpT10FrKZHIGd8EEQTvJykPOjMcYYY4wxxpyIP90zxhhjjDF/iOL9+yvhjwqYtJaX3x++f8aQSRpBEwSa1tzOQrVAqvyv9LkouZitwg7j0EW1WALyFRMBVhGockWhvMpFJYC2lK/uFJBQOSXPwsBl+KwxKePchW4pwYd/fmRCEirzZHAfeX8lFHe/D6OmQsz70GMw8jy85pnBIJxlcyJ5xvlpqH8JYcjomO4Me+a12XzHdCuW7X/PQoHK1Hspm0HSLnf+9x4XHodvmHA2G0J43RcIEDgbW8DwzR5Usc/4LLVnPhSFWZhhdzhQBjUzi+bqtCGfEXZ3YowxxhhjjDHj+NM9Y4wxxhhzL468qTeCP0jwNwnIPBb63CRNDky40tRxO07qImoBHq+uRS6qQlSLVZbZrh8KwnVVQrpsb2mO6F/CWSg5gAAN81OTXEpqk5LEOUFNoSTUE8aSUCXoST1l83R4i+NwDD4Yu7MhEOFxMI8lfwwkrJE7Px0OMjLRpsPNYf+gM4h84vwENM7aXNCvme6G+qQAUu//lJLNOFgarjv2xm3XgTvugkJ2BII4HIANAAqh3cspeY5kQCygvC8JM3CQUE2iwF/cgzHGGGOMMcZM4U/3jDHGGGPMB0fekl9K3thtm7wVWBHArkB+lEA3IE2uLKCpCDwXtgEhNbL0SYHWc1EtclEVkteCMF4LngocIdWJ/LhSGAGeU4V+DI4zPsgInJQ586mnqtSNQVMrIVOvo6CGptzHvBjdZT0A4yB2R5R5GemfiuVJ4LX/SIz4PAINsjnR00dG/xyhM4h84vwE1HOnc5rWrPdBfS4jfY8joZDNIFgarjv2ttyD1sKpnErIVBCmoggDyY5wwgYQnmfbQZ6n0wysIa3AWFw7SQbZnaE/AuhbN2fsw3CU2GzDGGOMMcYYY07Bn+4ZY4wxxrwNvmKOwzdNpfkL4L4DPACAR8q5kiTHUgmop0xT7XMFLNFs6Szy0cB1hQBrMT+LXlSLyckVJdIcP7E0ZmY5ymE4DHNCYE7KPI5XYZIipFBCxrV2IDjCRMG8GNzi/BnYzVl5zNPRk7D5SMBh0+cRaBAJYajYdLg/7L8/SMd0W9Qzrs3m08QPmCvvsxBq2QyCpeG6b2+6CzlQNvV9EBLSJLsDC3b03IR5jnSFWIbjerwlZDiYZF84RzgCxz+exxhjjDHGGGM28ad7xhhjjDG/id8F34d33wuMBjAjx6RMPZV0A7k1h/o4JIrAPvAswvuoHANBqrbnZ5sRWItcXYizUL6oFqvEIU0U0nnk+cEVg3AKZs7lMJ8BcuLKnJR1HCT1VTaWpwL0IdQD6uNg3gjuL+5yHDJ435umTdZy1vgBeze4uXwYeAVhaDHi8wg0yOZETx95ZNInzoieAYW1zjumW6E+KQAIuVKyGYRLg7Bjb9x2HUh9HMZgD7zuo9nJOHnpg3mOhBMmOTFVHCryqdfY10OeeXeG4+MbY4wxxhhjzCb+dM8YY4wxxpjgK/04EYc3gun48wMnpUw9lXQD0OCaa0gK+reiNbc14JmHb5KqlQ2DMG/BqDgMkDuPV9kNS3Aoas5l2df1E+UlwOlVOAXSAslhOwnkxJX5qUnVFqTpowwCGkGfGrrFwbwa3Gjc7lzYzfEM5jUUz1XnwYCDnB+NBpEQhopNh5uj/iWEIaNjujPsmddm8x3TrVCfEChLSQeQ7A+7Qb8LFojrjqWlm/CxfNJU9lHI7nu3o2iTg3kQHtKvzsI2kOR4KoR3Mmzm390ARwD7wo0xxhhjjDFmBH+6Z4wxxhjzO3yl99dxeC9/ZMxngTsCcGt4dyhTT2XuBkEaUZjW3M5C+UGqfGE55QesSPk6WOLHal1RJV8auK4E+89r9Rl3phv8JY+Q2gkQlRMeK9A/Dua94C7jXschg3e/aRphLa35g+Bh4PMgIQwt6ND3eQQaZHOip488MukTZ2TPuVAA/ZrpVuR9FoJk6c0g2Biu2uEUzW1TOZVtuW0H2kAIi8Z5nb4PrbgWbsVxhMF+mqRlxH+17kvCDLsbAGrgSB4EMnx3BmOMMcYYY4y5Dn+6Z4wxxhhjAr7OjoN5O7jX+vVCMvVU1m7UCJog0LTmdgp5LaDjReT5WZHyCGwvDl3yKmS21iC/UuUKWILN5/IpIKFy5rKuBLKgGwmzMSvgIcEzkwtHOCWJeQ18HoCEMFTAgT5xfiwaREIYKjYdbo76lxCGjI7ptqjnTuc0rVnvg/rMBRDmb4c4mAG0wB17a26bCWezIYTXqcBUKkJwnYotQB4JR/IAhDPJYJ41tyOdaJx9IJzVd+dheC4YY4wxxhhjzH3wp3vGGGOMMcb84ysRhz/A8htI9jNGLqdNxCpkkiYHJlxp6rgdJ3URtcCltQBriYsKpZn+FYI8NRQ88/AOqc4/z6kq4xRVTkf52TzkcwdhfuakTD01gEpC0yxMwmuozHvhvY5DBu9+0zTIWuYfwE/vDcEd4SMhIQwt6ND3eQQaZHOip488MukTZ2TPENY6h4N87oz6lEDlMlUlm0GwNFx3LG1t27o14yhkR2BIx9ASdjRfwCQH8xzsBLEUkGFfkoP9swFkUCcFeYcUNjnYkjHGGGOMMcYQf7pnjDHGGGPMP/5LfCVC9QfIR9YGpE8uCzLlygKaisBzQXIKea2Lyi0Df/60c3Uh5i+KnogKkbS5q+7UD6B1nTiI8ignl0ZoMmYHeH70REE4/jgp4Y9xStvmOvhI8DZRCEMFHOgT58eiQSSEoWLT4eaofwlhyOiYbgt7prDWecd0K9RnLjRlMwg2hiuWNru3tW1TOZWNqSBMRQFGHYcNzFYvUBJwJBtjlSq0u9jdBgJDat2UzbRwyH0OTmGMMcYYY4wxZ+FP94wxxhhjjCnRO/2/8za/GFnHXElkivM31FOmNcVdtcC8FktfV061yKWFWEv5ry40BZrZETXL1MjshyGQd68LgYKaZUHfUHMKyH9uQnN/cMfz50oyKY6z1AnNHwePBJ8KCWFoQYe+zyPQIJsTPX3kYtLQfvLEGdlzp/OnDKU+84Yp5w6UzQjYGICwY2/NbTPhbDaEhDQDa1E+eN/7DfStgm7oREJSz4FYBkrYB9s4kgHszsANUDjYgzgxlTHGGGOMMeYP4k/3jDHGGGOMafNf4isRqrdTjExZAmVSa8gS//nrUdNtDXgW4X1YjiVyOcynguQhJS6qAjhIHCYXOEVe6LpxriYfAXLa1sTzpqtIW5l4CHeAileXMLcCt1uPGWVdqTwCU4E4G5M9FZuPBxzoE+fHokEkhKFi0+HmqH9em4PIJ85PQA2vdZ5mesBQ6lMClRBq2QyCpeG6Y2lr29atGYc98LqDtU7GyUvvzsMkR9oASrJ7G4ALgYArhZrN/AhUnn0cz2CMMcYYY4wxp+BP94wxxhhjzE/DV+RxuD1olS/0/847/XxkydRTmbtBkEbIlFO7NRl0y2G5pbOsYRDmLgyJwwDMT3m8ynGuq5WPf12VS9FNYfOQ+1OkKeNRAdDoSsGYn6T/uI7AR/d4HvMm9FRICEMLOvR9HoEG2Zzo6SOzf1wphPaTjumeaJxO5zStWe+DRlDDEHKlZDMINoZr2uXc3ta23VT2UchsIGDIjqJNjuRBLIjD3v8IYRLE5qlmUezuJOwBQmeKfnJmUB5jjDHGGGOM+S386Z4xxhhjjDHb/Jf4SoTq7eQjS6aeytwNgjRCJrLmVpNHjaP8YCk8k4QhcRggz8+KlEeYqpUXgjBbaxxVAddVuZS0qmUKNp/LIk328XjwyCs11/GTtczd4K3P5fxhkOkgZ+Uxr4GPGZAQhgo4bPo8Ag0iIQwVmw43h80DCWHI6Jhui27KWudwkM+dYZMgb1hCIZsR0iJ3/o9mc9tUTmVLLUQPU4GA5XgNVQvm78MMSwdZqs3MTfZFkTx2XxJkONIAQDiF41McacMYY4wxxhhjDuJP94wxxhhjjPnHVyIOFenHheXlfsfnZeQjS6aeytqNGkETBJrW3E4hrwVYi6YrYC3CinE4Gw1F+dJa4pQqyJBv6QdQOZYGaY5lEGnoAKjhNVTGXAYftlw+/fHLSxhD8FTwwZAQhhYjPo+AUwAJYajYdLgzy91K/UsIQ0bHdFvYM4W1zjum+5DmiD4LoZbNIFgarjuW1tw2lNTHeQyE8LojECE7AgvYAIVOKrl1UD+dPKLjc2Qo9bkvA8KPZ6CwewRjjDHGGGOMOYg/3TPGGGOMMeYffPX/lQhVxYjPy9DItZzWEHuQSZocmHClqeN2nNTFT9e6GhXKh0qWbeDJ2E1SkQ/PK6pcjdrQrsB92jN/GT6KuZxfqT8Ck5ySyrwMPmNAQhhajPjcH0zBQSSEoWLT4eaweSAhDBkd023RTVnr/ClD1TcIAmVaJZtBsDFc0y7n9ra27aayj0J2Bx4EeXBFqoMJFX4wjzo5kgTsDudCdnMw3BhjjDHGGGMO4k/3jDHGGGPMP77SO/c4vIjxuZZfG7Jf1EAYKkZ8XkY+r8aXPrksyJQrC2gqAs8FySmgROpoo6UjMH8cvqe7AhW6rgRQFZLWdmE5cUUVNg/yiQiVTZMxP4mew+VJPfxXgDwgDsZk8Nngw0YhDC1GfB4BpwASwlCx6XBnlruV+pcQhoyO6bawZwqPHkp9SqBSneeyGSEtcnk2duytuW0qp7KlFvb0oMCDMM9s9Ro2gzwUdsMM4GBLCD+eIaSMTeXB8ZscHMQYY4wxxhjzd/Cne8YYY4wxxvxDvzeAXA5zxYjPmyjm1RGylCQ35VBPmdYUV7qdC0uwNOUwnIrmAtdVAXmh6ybKq/wAKMdZ4jzASIdMG4dfBaPdpBPzu+Ax0HMumQKfkKm/AqEoCPsymD8CHzYgIQwtRnzuD6bgIBLCULHpcHPYPJAQhoyO6baw586tecpQGqEQatkMgqXhumNpugU5UDb1fRAS0l6Wu37gvquB40k6GTbHzDMc3wkyHGkG7NvG8c5zzs1mjDHGGGOMeTf+dM8YY4wxxpiS/xJfiVwOc8WIz5so5uWRgpQk1+BKN+olE7kNkmfro1oswSNlOlzHdVU4BQTmv2giVRFXVCHMXJQ7hU7aiyoa0wdPHZ69XOajyKs0dOhAN4IoaBgO6GBMEz4keGwoU1gjd340nAJICEPFpsOdWe5W6l9CGDI6ptuihnFtdv6UodgkyAXKtEo2g2BjuO5YGlddB+64BeyB133sKJqTN7A7z5H+CTKAfgObVeiAJJupNkH4kQzHGzDGGGOMMcaYcfzpnjHGGGOMuRFf6TV9HDLW9FPMJoEzQBQDJYe5YsTnTRTzUpZAmUdAuaAwrbmdgmqxNx7V5Ajjzkweh++KcbgG5udEp9cqxgH7SiCqyEOYjVUkS38Ra80Y8zPwaedDvjz66SilNID+gkpCNwITrlDSzZhN+OTwQUoPVO/hGfG5P2niGJlCGCo2HW4OmwedKR434HJLtv6t65juQ5pj6VMClRBq2YyAjeG6Y2nLDWg9M1ROZVOeqSiAQFwR1eykgM5rMHwkzxp5fiTZl+dIAwQZmATXUE2iQOahPAsbODiLMcYYY4wxxgziT/eMMcYYY36NI++j12jmvKLQL/LD46AWQFHWlRzmihGfN5HPK5l6Kms3agRNEGRqup1CXgsUdTeh/yCp1D9/VozDFvAcr6VCzA95vNBuLipRD3JRIWN+neXvNnvIKUugDCiLFBTQIQdKusXZmC34zOTCGsszt+XzCDgFkBCGik2HO7PcrdR/Z4qO6bawZwhrnT9lKA2ihiHkSslmBG4Mwo6lNVfNhFPZGAIBUVOBQLV2xApVVzaxI+cyzN6HEIEh7SpN8upH+sc1VPMwfPcIxhhjjDHGGDOOP90zxhhjjDELB99rv57l3X96cc9FSQ5zxYjPm8jnlUw9lbUbNYKmOFSB56JazJ/Lp6Na5KIqQIVYAtfBWnBDIK+hWicV+XAbrLIDZkY5CDuqsE8EFg2LHTmNOZ3lL+r7IZcctm+oJ6FaZ8THmBw+WnwC05PY+7dxxOf+pIljZAphqNh0uDlsvjNFx3Rb2DOFRw/FJkHesIRCNiNgY7juWBpXXQfuuAXsYXdgLuyDpXmd7SGH4YODdNwGMzRBbEh7/7v9SHXA8LwNY4wxxhhjjLkIf7pnjDHGGPML+BXw3Ri8I/ABcKa/5DBXyCfOb0fzAsnUU1m7UVNDE92oOR22ASGvdVE51SIXVQF5IQjXjRNSIq3t/EKswsyc5fQqxSDG/BZ4FJsPOfVxGGZHiJmivlMvAI8Nh5KwxvJQXva/Lz8JpwASwlDx6HlHxtzcwA1hz51b84ih0KRGKIRaNiNgY7juWBoCue04f9NU9lHIjkBcFTUbLtgArky4D4YzD64gDJ/AGtIKDOxkGIRtxGGGvMM8w2bnZHddY4wxxhhjjJnCn+4ZY4wxxhgzx3+J5feH7x9FKIe5YtPhZWgntZwvQaZcSWiCQFPT50TyWpCvK5fGav96dC4sxPyseLAWwpknp9acPtEyRnV3kuUQzXGM+RXwNIr0vH8QTuZm8O7glsX5LWguXvsDjvjcnzRxjEwhDBW0dhzujKaTEIaMjum2qGFcm50/ZSg1SQGkxv8pJZsRuDEIO5bWXDWVU9lSCxs90KFAgZSniuYwFijbPpgH134e+IRUoVhcO26bsI0jGcC+DMsA3+MfbMAYY4wxxhhj1vCne8YYY4wx5h96K/0H4e8BcRggvcP/96MI5bBVyKHj8zLyeTU+ZClJbiqgKQ5V4CZwzsMHYQkEpmoT5fZxaZW0v9jtdROxShy+F3guKsHkV5Qw5sdY/g4z+HiT8DAPAbeMNzHOb4Fz5cIay1O75fMIOAWQEIZP0rgPnlfTSQhDRsd0T5Zbkv7xZOdUFnRM94FNgmWe74YlFLIZARvDdcfSuOoiEErq4zwGQkLaBcrtKCpSyyc8NkxyMA+THOlHsZ0M8AlpBfXQSdJns4QxxhhjjDHG7MOf7hljjDHGGLOf/xL8AUBC2Cpy51C9mmJeHmmSkuRuBQoBHbfjLM1l7VEzVQvOyjDFMtI1Qwnmn52oD1Jp3n2DT1GXGJnlBxozZhM8qwLPZE54mGfCm8g7G6pXoLlGphvxuT9p4hiZQhgqaO043BlNJyEMGR3TbVHDuDY7p0PTdB/S4mOQQqhlMwI2huuOpSGQ247zN01lH4TougOUY9HZujVFkqmW4Dzl3wQZOlOM5JdPJ08f9dBvxhhjjDHGGGN+Hn+6Z4wxxhhjruIr/dgQh1eDMfUDAAXKTeTc8XkTxbw80iQlyPUFMilDUl+CagGUg5x6PP9O5YXIbCE4Fxk2Yf5UZ+dEjAXFEeBYD7WbZp4iP2SVrlnTk77VmOOkZzPgo0vCbF4E7yxudJzfgobanC4t4A0b4BRAQhg+SeM+eF5N15nicQMutyT9A7vWOR3uPxSbBLlAmVbJZgRuDMKOpTVXTeVUNuWZihKIWmY4477XSXakhf9siEhzHPoPoVMy4IoRDuYxxhhjjDHGmHPxp3vGGGOMMcacQ/opIX7/oEC5iZw7Pm+imJdHClJKn2sETRBoWnM7hbpWUp+PComrJyKQ0/I2atEHUKYSMFsB9HK+FNYCqMXSrJtDPd3uBhuOg3kRfPYEH0ISHubV4Ebz1sf5FfAB5vO8Od2Iz/1JE8fIFMJQQWvH4c5ous4UHdNtyYcK1SePGApNsk8JVKrtXDYjYGO47lhac9VQNvUdGAIBUTsCGUUhDLsYSQKHkNaZ6mTNE/rxJAVqcl8GhE+NYIwxxhhjjDE/gD/dM8YYY4wx5kz0Y4CEzg8DIz5vopiXsgTKPBYaAT0FmtbcTiF18e+nvutqqRC5ogRRIZaA3Ky1DJmgP6Epl8PpGyphzY9XU9fKO7wV3EwczFvgE0j47InwMH8J3no8DHF+CxqKQmfAtIA3bECTSgjDJ2ncB8+r5temSPM9bEA1jGuz86cMpSYLoZbNCNgYrjuWtrZq3Zdx2MPuQERR2AdiAUvjSmEfiFWqNeAQ0jqbSUbYnWGzw1PaM8YYY4wxxphB/OmeMcYYY4xZGHm9fgp81x+H98J3/RxWctgqRnzeRD6vZOqprN2oEdBToIlu1JxO6mIpl9e6opwKkStKEBVSiVwAdABUCmkKtxzo5UPhRFLZBchRL7WUX425lHgEv0nPYBAe5g/Aux+HCjwMfYcnwoccQ0kIQws69H3ujyaVEIYKWjsOd0bTdabomO5Jmin+w2Ct7Y7pPrBJkAuUaZVsRuDGIMwujYF1VFPZRyE7AnGdjaphnlyYBYFAUxxpCbFKdYTUxaE28nC0FFKLI4WMMcYYY4wxpoM/3TPGGGOMMdMUL7hNk/S7xvJrBMjlMFeM+LwJzVvLaQexBJmkETRBoKnpczossdbScTQUuagKKApBRqFCKWjK5aYboAlAPt45MuRAE9k/q8MEDa+hMuY80tMXpKfvH+Fh/hi8+3ge4lyx6fBQOBSQEIaKtIA3bECTSgjDJ2ncB8/L5jtTdEy3RQ3j2uycDk3TfUiLL+8OhVxOvmYIbAzXHUtrrjq/F4MgBEDoRNGhQIFgqmIBkzDD7jzqRMIsyzDfK8V1dydEqZrAGtI6RxroVzfGGGOMMcaYEfzpnjHGGGOMmeMr+/WIhMG0yHeVy2GuGPF5E/mwml365LKQmwpokrzkumx1KoQSqWy7pVNQLZBm2lMIUXmeGlk7nrlpM6GAGz13d65aSsVrzZq+w44Q86fgE0iW5++bMJu/jR4MCqGt2HR4IunvYJlLQhha0KHvc380qYQwVNDacbgzar4zxeMGRMOAwtpEa6ZboSYpgNR4qUy+ZhtsDNcdG2uuerkT3/diHIRQmA0krLgvFqSW40+Dmh0wdncPRA2sdbLZodqAsK8ZlTg4izHGGGOMMcYcwZ/uGWOMMcaYOfR2GwLxa+5NtCiQy2GuGPF5DcWwOkKWkkhfAxOutHbcmsCZ4SPAk86IYiAFWjdhSBwGyJ2nCs2y1tVswwWMHWk7DbeAEMGj9OGaAX1IxhyDj5lID2AQHn+DmP+b0JpP+GBgPxLWdiWHOL8FTS0hDBVpAW/YgCbtj5PGfeq8al5CGDI6ptvChjtt07RmvQlqEgJlKSlINiNgXbguC51c2tqqm8o+CNF1FtRa+jh80xm+Owl7iMPePMxwZBC2gQxMtQMFIsnBTo6EG2OMMcYYY/4y/nTPGGOMMca8nK8D7/HPBW3whT5bkhzmihGf11AMyyNNUgLqdcyhCQKta26n8Cu1yBWF8vwdUHrQM4cheduQc6hchkzw+EowHeeVYH6X9AAG6en7R3j8PWL+b7icsJlPtB8IOHYW9cpNLs9HmktCGFrQoe9zfzTp5jibDndGzXemeNyAbBjCWttwkM9tyZsshFo2myzb3PrXew2uOg7fUDmVTXmmoghD8k6aSTjjGrIitghvZuuTN7NJ7onAvBMKs+TV9zWvHowxxhhjjDHm5/Gne8YYY4wx5ih+zT0Ffxj4SuRymCtGfF5DMSyPNEkJqM81giYINK25nUKzVrKcj2qBNNBVhXJQJS8qeTep8XjsccyFZP+AnrhCbjoYM0t6AP+xPH/fhIf5hMvBruJsPsn3Q2FtV/Jcc3goGmpzurSA2NWj0RT9cdK4T51XzUsIQ0bHdE/YMIW1tjum+8AmQS5QplWyGQHrwnXHxrjnIjCtf27/DIFQZ+vDQoBCaA9wPM8pzRzJgNiQdt1TkGcwxhhjjDHGmJ/En+4ZY4wxxhjzC/yX+EpIDlsL+fTd3kExLI8UpJQ+1wjoKdC05nYKqYv4yY3HH6hFjldBhjzhiaQdBGxb0Erhr4GpMXsczI+QnsEgPYD/CA+zhXfVh4+THjAIYajYdHgi+VCb09Gh73N/0sTLIJvjbDrcGTVPIbSfdEz3RA0vg7U6f8QtQ5PsUwKVajuXzSZYF67Y2OzSlu23Vt1U9kEIr1OBS/kUgmuodsFw5pntPEfhR5Iow5EkYPcsWubBBowxxhhjjDFmCn+6Z4wxxhjzO3wdfsl+f14/4HGwIrD8NPH9YwkIW4vcP1TvpRiWsgTKPBYaAT0FmuhGzenktZaGVlo6BeaPw64fltgbiPMW8MwrrsGcBMfBkKYb9WtWYzosz18GHiERHsZcAB4wPXIUwlCx6fBElj+w73+0+9PJM86PhVNsjrPpcGfUPK/NKTqme5JmWv7ngJ1TmUOH+0+kJguhls0mWBeAsGNjXHUcvqFyKpvyTEWBZgOzIMlZeSjsTsVOKBzpB7HMsDsJ29gdbowxxhhjjDFT+NM9Y4wxxpj38JXeUMfhm6byB9jxmnut1d8a4cfAdIAbo0B5jdz/9WhYIJl6Kgs3HnOgpwArfZpup8BaLLE0tNJSH8byGqotlnqpEAVBK4jzN6m1JXmnBN3i0IU5QcoaaSlQpiDoGYdfBZ2EZB5OegCD9PT9Izz+GBr8z27gV0hPXPzrTSEMFZsOD0VDbU5Hh77P/dEUm+M8el42jyuF0GZ0TLeFDfPa7Lxjug9qMhco0yrZjIB14bpjY809p/XP7Z8hEGZ7YBQ5csfzPLs5KwkG4TVUkyi2k6TfKhvohA9yMNwYY4wxxhjzR/Cne8YYY4wxPw3fAsfhLfzYK+nd27v/2pdfBj5/Y6C8xojPa0i7+becXM43wKM0EKChngJNkJPXv8A+8GT4IKrFQAo0nUvRFcvF4RuWhj6HprOIpK3StdJgJ9zMRU/F3wELFMvz902Yjfkl8BDqsaQQhopNhyey/BFm/8p1ppNnnJ+JppAQhopNhzvDzoGEMGR0TPdEt2PtvkC/ZroPalIClWo7l80mWBeu2Njs0rjnOmrH/tnDbg7e8bx6GmhPqoMjkIODALaBJP1+1qqwAYav+WzSL22MMcYYY4wxwp/uGWOMMcYYcyP+S/DnAQqdnwrk3PF5E/mwmh2ylIW+gCYItK65nUKz1unlkJBVgMrlGkHND5A3YMy5LH9CGXy2SXgYcw/4WOop5RMbtk/kEOe3oKE2p6ND3+f+aIrNcZ47Lzpn8xLCkNEx3RM13Gm7Y7oPapICkJArk6/ZAOsCEGY3xsA6qqnsgxAKOwIZgutsbM0yz3zzBIEhHWiGDcRhF8ywr7pA+ME2jDHGGGOMMWYTf7pnjDHGGGP+Ojd8HZ9+ZYifGShQbiLnjs9rKIblkSYpgfTSiMK05nYKP1BLmSEo/1I1yR3kf3/Q57lLuwlvnetcsCKxPNYZ4WHMXcFTqkcXRwjU18gzzq9g+Sv9/t+m/nTyjPMz0RQSwlCx6XBn2DmQEIaMjume6Hastf2IifJbQ1kCrZLNCFgXrjs21twzlVPZ2ACYiiKMbXYyBcOLPPv6GW9mzQ363ISEIQ0g57XkHVLvS/NKYowxxhhjjDFX4E/3jDHGGGOMuSn6qYDy8nvF+u8Ncu74vIZiWB5pkhJQn2sETRBoWnObpZmhriV5N3k4EuLIK4/UnwWTx+Gn0Dh98sYGQwA9f34oMd7qHwSbycGuRHgY8xz46OJJpsynmqYCea45PBQOlQtrvGN8TbE5znPnRedsXkIYMjqme8KGKTx3orzJQiiUZgSsC1dtb5x85wJK6uM8AEMg1NlGQMhsxQKGH8/D2INJwPEMYF+GvPTxHowxxhhjjDGmxp/uGWOMMcaYo3ylF/pxMGeD3fLXAgkgbBUjPq+hGJZHmqQE1OeaHIbQRLekngaBTLXG0kRVi/IIdBZUMiGhMtcYLjkOK2w6XMpIh38BLEFgJznhYW4A7k5IZhI+zHy8cexsUp5xfgUaitfOdPKM8zPRFBLCULHpcGfYOZAQhozHTceGNydqmu6DmswFyrmVzqYPVwdhdmMMrKOayj4I4XUqkFHHb7TyUNgHm2cSXEM7z0iGkT6XVg60cWQVxhhjjDHGGLOGP90zxhhjjDHm6A8SPwB/qGCfksNWMeLzGopheaRJSkB9rqmhqe+ziaqvQQeUSB1FSzm08iroLJZE30lw5VH6TRgYh3lUsSBPe7DEFGv93Jn8xv1NML7ANkSYjXkdeLzxtEug3GTT4YkU41PZ5B3ja4rNcTYXclvQOZuXEIYM6pume6JBOhOtme6DmpRApQTJZgSsC9cdG2vumcqpbMozGwXicOC/lpkH4Xm2WRh7JMnSRLYHCrtRKmOMMcYYY4y5Cf50zxhjjDHGmGegXyxALoe5YsTnNRTD8khBSul1FNTHIZFHXYRKFKUJWxKh/STXr/nsA42dm/A6iiVwpZvQ8w4zjvf8dDBmDgYX4WHM2+EDr+cfQhgqNh2eiIbitTOdPOP8TDSFhDBU0NpxuDNqfm3GZfju+HdDDXfa7pjug5oshEJpRsC6cNX2xsl3LqCkPs4DMCQOLdas0kOoOxmH4XHYBTIwCa6hmkexu5MwkG30Jzo4rzHGGGOMMcZM4U/3jDHGGGNMsO/19MH372YWbJu/NHDzksNcMeLzGjSsjpRzJeAx15AlOHuY19xOhOVUItUPqGmStwS57/xboKvjqxtPcrzWz3PKim4OBhT3fFCN+Xn4t88/CgphqNh0eCL6p0/CGu8YX1P0x4GVDnF+FGqe1+YUHdM9YcMQ1tp+xERqMhco51Y6mz5cHYTZjTGwjmoq+yAkpHlQKzUyXbQGGfIkU13lDeRJxmG5fbFk2cIZezDGGGOMMcaYE/Gne8YYY4wxZj9f6TeAOJgfRD858BZQDlsL+fTd3kE+qQaHLKX0VFIjCtOa226UFtT9jCN/JJmNvQi0ceKicnZn7gRe1+0s9+nkOBgkB6MJWCXIk7K5jrOWjDy6d+Y4/FvgVimAsH0ihzi/Ag3Fa2c6eXZ87o+mkBCGClo7DneGzacR2zN2TPeEDVN47kRqUgKVEiSbEbAuXHdsrLlnKqeysYF9d40heWwzCUv02ddAwe4kCASUkWF3kpDWgc++5MYYY4wxxhgziz/dM8YYY4wxO/lKPwLF4ZM1UyfE7ADLBNgqF0shbC1y/1C9lGJSHmmSEkgvjShMa245m1Y5FNl4HERRAPJU7D3JJ8rBaGumgnwJ41Fk1v9cVP1329iHGoYgMEgOHQpkwhUhVBrzB+GfAP9wcOz8Ocgzzq9A/wJs/lMAh02f+8MRgIQwfJJmfeqwGk1CGDI6pnvChp8+EZushVo2m2BduO5Yl5afA2VT30H+sz0wEMxWrKmT1DmhCWkF+uNaBDZZ80GVuvQg6jC1sCeDMcYYY4wxxpyFP90zxhhjjDHT8O22Xnab3yX9YBG/WFCgvIb8+24voJiUR5qkBNTnGkETBJoKN8qEGhDnCuZRtkKzG+QJ6TlwjZIpbJJHTbE78Id5Sp8AfbJVCuhc0GEEOOdJqDT3BDdo6uaacdLfTfwtUKBcI881hyeioUZGG/G5OWncmJdCGCpo7TjcFo0mIQwZHdM9UbdrbaeB7j4ROwS5QJlWyWYT7ArXtMW5jXHJddTs8pe7tasHRVHYRyoeDaf6ISTjBOpB2XaQ6sdTHap5lnmOZTDGGGOMMcaYg/jTPWOMMcYYM0F6Nx6/9ITK3APeFP7kQIHyGvLvu72AYlIeaZISUJ9ramQq3JQwhwkFlYiijKvkWYqofUmeAhcVh3Vyt8EQQM9x/yv43erjoEmBnnOoDL8ZGE55dxJzNbgvuk3mIvi3oFV3/hbkGedXoIk2R0vTP358jgAkhOGTNOtTh9VoEsKQ8azplpuRGu603THdhDRETEGBSrWdy6ZPWuHGv9hNGFhHNZV9EMLrVOBS/owbjSSFsAPGopndSRAImAFXEIYZGMUM1NTAGpIxxhhjjDHGXIA/3TPGGGOMMRMsr8Yf9dr668AvAU+ENyj/+YHyGvLvu72AYlIeaZISUJ9rCugQh3TEFc5SJvsCj0I+FPKQcfKu9mW4J/lcOVxUHKrj+7jbgGhGoDcQhk9ogk+cJ2E4ZdaibH4d3g7dHXM1WDWffwqUm2w6PA5MxKFGRhvxuTlp3JiXQhgqaO043BaNJiEMGdQ3TfdEg6y1/YiJNIW6zdt+xAj3AevCdce6dBdydixfeaaiADsns7Fi9/g5SAKOJ0EGpgrVDAxnBlxDu8KmgzHGGGOMMcbswJ/uGWOMMcYY8zbSzxbxwwOF/m8M8u+7vYBiUh5pklJQA+hGqKeQy3KjvgBWXtcc7gb6ZM93YLCZ3K0I6WS4w6Sdzn8MFK1BMzDxSiADWkP1zZp+EGamsDuJOQveSt0U82Nw51w+jhCor5FnnF+BJqLQmS5N//jxNaaEMHySZn3qsBpNQhi+ScM9aTo2TKHZNh1uPhE7BOpWAq2SzSbYFa7LNic3xiUXUWn3c8tnSBx2MVsx53h1cjwJMqR17h8EV4SfMo4xxhhjjDHGzOJP94wxxhhjfgG/FDY/AJ4xwB8wKFBeI/d/N5qUw/JIE5XUCJoIrbzmGh3XyB0QEtIu8uq/AqqPjNBxy02bs3DekYo5UyE78p9LsZAfawaFSJwTaIDEuYLWtcBaPw7DIRxJYo7AzfNWhsr8OPpDoEC5yabD41ievDSUhDC0oEPf5+ZoTAlhqKC143BbNJqEMGRQ3zTdEw2y1vb9J1puxvcUhVAozSbLKtP/aM5ujIF1VFPZByG47rhlqoXrjvCCIxk4AtjdCTIoyQ4YjtJHkhhjjDHGGGPMPvzpnjHGGGPMS/BbZtMk/QYRP8lQoLzGiM87wKS4cliwrOkbOvRhCIRNf3iGNBNVk+c5CKqfmC1nd+a1qGJR/fwd6z7TT/JjbaCKCNU36AHXpqkGzs2epR9JUsNwyruTmN3k+ze/CG8Enn8JYajYdHginAhICENFmv7x42tMCWH4JM361GE12toIabgnTceGKTx3InYIcoFybqWz6YN14bpjXVp4zo7ls4FmtkH6scy/Ser6I0knZxMUyjvp111LvjSRmfpJcvLSeYY+isrDjTHGGGOMMWYcf7pnjDHGGPOjfKVfROJwPYPl7vx++Yc39lawQ8AbTYFyEzl3fB4KhxKclIRHF4bgCpnCYCCYch6EnTwUbZIyhTW4vcF587TjK5pyvgj1cFYzTIJrDpILuglYQ/qOisM6SNL0ZP6RDE0YTmF3kr+Ml/YO+PwDCWGo2HR4HJiIQ1Huj0aHvs/NSeMuU0gIQwWtHYfbotE6I3RM9ySfKFSfdEw3AR2ySQlUSpBsNsGucMW6ZjfGJRdRafdzy5f/VBRAIK6Imq1YwDz9JPTpgFhwsBNyMMNmq8YYY4wxxhhzFv50zxhjjDHGLPD9eBx+g19v4C+ADQOumgIIW8WIzyPgCIRDifB4FD/fNipidXH4pqmsGXQDHU+OLGs/Z8e5X6KT8ydhJ0BCGOZhLK/IJpKxpGNChjUTYezSa9Xtmn4QhkM4ksSYR5P+vJY/BAlrfwtyiPMr0FC8dqaTZ5yficaUEIZP0qxPHZadd0bomO6JusW12TYdmqb7oCkKoVCaTbArAGF2Ywyso5rKDswDAVE7AqdCmjDJkVSpkX9JduchR8IRe0oPxhhjjDHGGLOJP90zxhhjjDGPgW/P42D2ol8gIEgOW8WIzw1hw4QjkDDvgqlwhXww1YncpxOhLW1Se64FasyRzHSW55F+fgW0wU4k9LuSlZ4CsVDyOkgq+M9/Ryzqxvkb6WvTCAynvDuJMU9Hf0T8c+j8Icgzzq+AQ+XCGi8YHyNwCglhqKC143Bb1HlnhGdNh24BhbVx1kz3gR2CXKCcW+ls+mBduO5Ylxae01T2YQO7Aw+yo24Nk+AKQjVDHog8+/pBBgZKMMYYY4wxxpiL8Kd7xhhjjDHmbdQv1qHRu3sDlp8y0i8Q3AzlsLWQT9/t12GHgA2TsJ0Nq8RhHbiF9E2tOcK52a4AW+o0mVv7+6SV/v2cgM55ZsigEziYeQdL4YzQbpH3LBmEOUsrmZ6CbjtQLJNTkJxDZW5CbPItnVNH+3fLcMq7kxjzaPhXwOefwtrfgjzXHJ6IhtocTZ5xfiYaU0IYPkmzPnJYdS4hDBkd0z1Rt7g226ZD03QT0srL+5ILks0m2BWuWNfsxppLpnIq1ebNYoc10s9WzEGStfzjIMORHsDxHgh6OCuVMcYYY4wxxjTxp3vGGGOMMeY98OW+3vKDMAww5fwOsCjtSkLYWuT+oboB7IewQxC221C0dKRDjBnSeT9H7QPV82ZyOqY+/cDculkCDrjCh244boacDquztKAyPLo0/XkEcf4GniGdAUvH4Ztm3RrGNp3X9IMwM4QjSYx5NPwrwPOvvwXqa+QZ51egiTZHo0Pf5+Ys9+/7XlMIQwWtHYfbos47I/RnvxvoFlBYG2fNdB/UYSEUSrMJdgUgzG6MSy6imG0qFUPisIvZimvsTpKPUC8kpC6Dbh1SC4f2cMoOjTHGGGOMMe/Gn+4ZY4wxxpiX8JX9kk1hBDnzjTyg/u+AwTk75c0lyL/v9sOwqzhcAIbl1KwiYYp9Ub8F563lHfTDa2vfGVc4AAYCmmrgkPsD6iUUMCGvoToMG8hZevruHIS2Re7AqBpaQe58Fnl+MViI7dXOa/pxEE7hSBJjHg3/iCR0/hAO/rndEEzEoTZHk2ecn4nGlBCGT9KsjxxWnUsIQwb1TdM9YcNr44CO6SZo57lAObfS2fTBunCdXVfad+M5aSr7IITCjluGkB0Vm9RJdgyyrxMEAsrIsDtJSJOd54HGGGOMMcYYs4Y/3TPGGGOMMfdix/t0hvyX3uYvL+bT+3EJ4zCE2UL1Z9DslDeXIP++29WgOjuJ86u54Zhoae0BKEwdT5BbOWbfmVf6UOj7kzgn1vzhBhOvobqGoh+xTPKNfNacaxgYh7PJ2xgshBBQe0o/kqSG4ZR3JzHm0fCvAA8//xY6fwXyjPMr0ESbo9Gh73Nzlvv3fa8phKGC1o7DbVHnayMsk3dnvxvqNk3TaJsOTdNNSCtfmpRApQTJZhPsCtcd62oumcqpbGxgxy1TSCo43X/BwSSMHUyy5oOJ6j2MJMxBhpCMMcYYY4wx5iT86Z4xxhhjjLkLy2v47EdoQH0fhgAKoZ2hCEzJpn8ReQeanfLmEuTfdzsdVgSoHqqf4leKXgFvXByuYapE7gy5Hytr7gZBckFuSrl7d5A5eQ3VMVLxhTh/ErZvUndBeAxQ+CNPSCfB/LvTMrYOP54WUNidxJhHo4efQucPYdPhcWAiDrU5mjzj/Ew0poQwfJJmfeSw6lxCGDKob5puCAehsDbOmuk+sENQC7mVzqYDdoXrjnU1lwwl9XEeQP5TUQCBhbCDPMlsAwKxzHMkCQJBPwOrGGOMMcYYY8xP4k/3jDHGGGPMveDLdNJ5pU7onAtnkeovDYBQ/Rk0O+XNJci/77YJM4yAchHzg/xW3RpuOw5XMlJovJlNz8Kh7w+rHCgDyNDUhDmRohegD6kCbrR2fAZR9Ti3oAMJ1S7yDKg73vxg3Tz/LIxtdrWmH4ThEI4kMea5pL+t5a9Awtofghzi/Ao00eZodOj73Jzl/qUpJIShgtaOw21R52sDLpN3Z78b6naZamWiNdNNSCtfmqyF3Epn04G7gjC7LgbWUU1lB+aBgKgdgQqZihVKgmuodqEku9vA9UgGY4wxxhhjjLkCf7pnjDHGGPPXOf4C/SzUBlrim3RogI5rwKrYcxls4JVodsqbS5B/361JHYVUIX1nzqEzBDqYH0Brr9k0ydrxJIXDiD99SGiTnldCZU0eUtCJ2g2bBHG+hqLz08s186exGoUK/XIzPh8JsqYfhOGUdycx5tHoL4h/C52/AnnG+fksf/9pqM3R5BnnZ6IxJYThkzTrI4dV57w2R+iYbkgaaPnDZNtU5tDh5uOow0IolGYT7ArXHetqLjm/C4OwgR23jIEUZmPFkVhxMAkHQQZNtMbxVo0xxhhjjDFmEH+6Z4wxxhhjfoiR9+NwkA/8+bqcSso50Mj5IKnU6qt5NdDxeSuanfLmEuTfdxO5JwJ1hTJlWkjGkjX93wEb0Oqu43gV3qn8LvcTFg48NkOoBzzCk/A4ApwVXsNUeYlx8ijKqbWAGlpBcRRN5QisEofE7lRN8vx5oTTHdiGG155r+kEYTmF3EmOeC/8E+PBTWPtDkOeawxPhRLmwxgtmX+5fmkJCGCr61jvDztN87RE6pnvCbjs9338cdghygXJupbPpgF3humNd2nbOcg9a+g6z/gWIPZIBsSHtWgJZZs7yzMLwkdKDbsYYY4wxxhhzEH+6Z4wxxhhjTuYrvc2Pwy7Su/TIsLzOT6/LqdRR4Cjn3awlzxnxeSuanfLmEuTfccutcKaGV4YnS0kK6pX+g+xeCJY8Fdvx76cq7uZmXTrIB0dpcqCkwxGYOQ4VLJFXp74gbBl5b5DzI6g1gIFxOIOixEX565yDhRDe9FzTD8JwCEeSGPNc8CfAvwJccez8Fcgzzs9HE/HaGU2ecX4mGlNCGD7pW+/MyIA0xeH2qNs0zeo4TdNNQIdsUgKVEiSbPtwVhNl1ccN1FPVxGCDV39MAQRQr7gsXbONgkt1toHRIe/dgjDHGGGOMMWfhT/eMMcYYY8xN4at8ynojT6WOuMrnOEXyJiM+b0WzU95cgvzlRpnARCV9eFwCBm7oiM+J5N2C4jgOohAbhwOwAab64VV06E9HqxyKYw0c5EOopBVQTl6hlBtl6TeBpwJrcivlGugL6E/gwCuhMicPWfM5i0uT54wMwsFrzzX9IAynvDuJMY+Gf0ESOn8Fmw6Po5idyiYvmB0jcAoJYfikb70z6lxCGDKob5puCAehsDbOmuk+qMNCKJRmE+wK19l1Iaq55KayD0Io7LhlCEmNHLrdjC2S7Es4GLXmdnAQY4wxxhhjjDmIP90zxhhjjDG3Jv0iUH6EkStPQZkBk+eamhGft6LZKedLkFBDN8YSHmnKjx3gE9JfpVgR9xaHy8ir9CtuWnMHHQmVIM4JHOlG6FCTWxnVp/ZBeCrYjmV+0HSAPqR1EMgMINVZCNs3tFKurU3gppA+RfLB/OMUbRTHPqm1xv7X9IMwnPK+DMY8Gv4J4OHnH0Lnr0CecX4+mojXzmjyjPMz0Zj9WeQW5+dQDAjC8A30NMX59qjbNE2jbTo0TTdBHeYC5dxKZ9MBu8J1x7q07Zwdm2cDzWwd4K8QCFTugEmAsh3hSAb10ElyZFJjjDHGGGOM6eNP94wxxhhjfhq+F46DGQMb09L0Sp1KHWugV1SfOlWtqRnxeSuanUcuQdvIoSehM6Ce11C9GkwaUlpdfvxdTm9mMyEdSKgSoUpK+AhaRyj8mWochquHmlyfF9qEzswMqFnLID09zyUvqmbOIs300XxebhOG1y2t6QdhOIRl2gtWaszN0Z8Phc5fwabD4yhmp7LJC2bHCJyiP4vc4vwc1LmEMGRQ3zTdEA5CYW2cNdNNUIcSqJQg2fThriDMrosbLqKYbSqV/KeiwGyhJkiCK/JQ2AECFbu7H2RgrARjjDHGGGOM+Un86Z4xxhhjjPl9Bt+Pp9fy/97LM4pKHY9Qp6o1NSM+70PzcnxAZTL+UwJq1kAIfHgN1f1gh3Gojn2um0ttTPWzj9mR4TziLx+EEB6PoCQQRnooSF1E/wU0AbjhSGfJfRgoQrvCiM9uLk0O8vzazLK+1paoB3FO4YWGrOkHyVvancSYh7L8Taa/IP4hdP4K5Bnn56OJeO2MJs84PxOOsDkLrR2H26LO1wZcJu/OfjfYbafn+4+jDikACbnVbIJd4Tq7LkQ1l9xUdmAeCIiaDZzyb8LqB/MgQ0h7YQa0cTyVMcYYY4wxxsziT/eMMcYYY36O614ENzM/6L2zXpTz2AfOmgshjKJSxyPUqWpNzYjPfWCfNWHeQp4YmUfADRBa16Azr6Eyw3Bp2B6Px+G9iMMAI/7woVsTWkF4XwMK8UphCvXGPgk1QEdkprxWhW77yGPX8u8mdf2RP6STyJOLwSnYW+28ph+E4ZR3JzHmufDPhwKunT8BenYcHkc+e3+uF8yuEfqzwEqHOD8Hdc5rc4SO6YawWwhrPd9/HHUIgbKE3Epn0wG7wnXHurTtnB2bZwO8NmmacmVRsZOqZsq5ySkZAEY4nsoYY4wxxhhjpvCne8YYY4wx5kbk7/r78MU65fQbwRJIpY5HqFPVmpoRn9+CXREc2WqBrGvkDrk/ZCp3gAxT4Udq/SJcVy0fRKnOSrjGeM9wI3FOIFyE6mLyQnU/Z8HMnItyGC7g9OSXrog7iUPGYCGG155r+kEYTmF3EmMeCp9/PvkU1v4Kcs93kE+U5l4dLfd8KBpBQhgqaO043BZ2nuZrD9gx3RB2S+Gh4+QdNgXJpg93BWF2XdxwEcVsU6lm/Qt2VGyyTLIrCRugfCSJAvdlMMYYY4wxxphZ/OmeMcYYY4y5C3zPvvl+fHkH/+2TXs6Xb+eplM8RlErZak3NiM+PwTYAWqKG7VEuoIn+ocoyAAXSjUcpR0BUSEmeiv1dOHIcbkDezME1zo7W94e1JmwrINtUA4MUpa+owhLMLDlsF8BCcbiAq/OLwULabZy/WdMPott0JIkxD2X5dyr9CeCKY+dPgG4dh8eRRl+m3hxt0+H+aIT+LLDSIc7PQXNJCEPGs0ZTt2ma1XGapptQ35S8Zw1oNsGucJ1dF6KaS24qOzBPHCZBITBbsUmdZDZnmuNoJ8gQUsbx6YwxxhhjjDGmwJ/uGWOMMcaY5e1z8630j6EGeG2+DYeSyAfQBA2VINeDXN4N8+eZa03NiM9FsChhG4AmCR3oE/FZBsAjrflxijoP9X3gGdKT4exx2Is2pk0y59UrOqX5NcaTa/xB4J+HXDECSyAzkBC2LnAOqUtK/zHCYH4wUuJI/hGK/DlresHYuqU1/SAMp7w7iTHPhX8+Etb+BNIfyv4/tHvCiXKhSRq953B/NIKEMFTQ2nG4J5pLQhgyqG+abggHobA2zprpJqjDWqAVAmXTB7vCdce6tO2cprLPwQZ4XYtl8j6MXcswAmP7s292gth+BmOMMcYYY4w5BX+6Z4wxxhhj7gVfoDffj8PEV+cUAGR5UkM5V1I4DvPXFXNNzYjPuaAQi5LQfuvj0CL1GDCWhPl7q7Tmwp8CI3MPs+yL6pPnPHgvZufavQdRNM8jpziYuQkyMzllCufCtNcNsgyQdT6YHG55VId9+QeTgyL/FIxFS0VXa/pBGE5hXwZjnguffzz5EsJQsenwODQRr53RNh3uj0bozwIrHeL8HDSXhDB8kyZ70mjsttPz/cdRh4UAIEhp+nBXEGbX1dwwlVOpWL2ZrQ9DcAWhmiQPnK0ukGQZuPvXNAJjj2QwxhhjjDHGmE386Z4xxhhjjLkdfFmfvx/nO/c4ZEAJYJUzNZSvgPnrirmmZsTnOMyPQnHO6OhF6jEIcwVNdKZmCgSGdCDJ49CYELSBXN5BkfNgNjKSJPc5UpSByMAjoCw9BMrngsxMzuNaid2lmR8CM+TyWagEOTc5uDQ5yPMLFGrWKvRp9MZTt6YfRLFLsb1JjHkofP6BhDBUbDo8Dv3tS2gCa9/h/mgECWGooLXjcE80l4QwZFDfNN0QTbHW8/3HUYe5QDm30tl0wK5wnd1Vc8PLDfi+BYPIfyoKMHA2Kic12/iPximYAW3sTpUH9seBJx0kGGOMMcYYY8w4/nTPGGOMMcbcEb1n51EUb95xLDQEGirXHA7C/Ey+pqkZ8dkNcyI/jzkw1frUxaIXYViBzrzySP0OlORBaHYOLmGKI7EjXJc5J69yUcWrF5WDEqdXQecAAjNfMYhKkHPzF8nBdfnzzINVEAvP2nlNP0Lq6F9L+5IY81D4/OOxl7D2JyCHOD8fTcRrZ7RNh/ujEfqzwEqHOD8HzSUhDN+kyR4zGrul0OyZDnceRx1KoFKCZNMHi8J1dldrG24qOzAPBEStBdKhQIFgqmJOM/MUbAMNHEl1JNYYY4wxxhhjRvCne8YYY4wx5qbwFXn6jaDxql16AIEamkQdVcAMcZgnFV+qq3StqRnxmYWpkJbHTeDPNuI8A2Mh7Av/m1yxK+bk7dCVpt0MJsnddtSlPwJ5rIFJaXGlcC5F9UurMPOlJcDp+a9eUZGfDFZBLKid1/SDMJzyvgzGPBf97fAPofMnIM84Px/Nuzl43+H+aAQJYaigteNwTzSXhDBkUN803RBNsdbz/cfRCIVQKE0fLApX7W2c5obzWzAIG+B1B802BsmLzrYt8gb2JUGGvBNjjDHGGGOMORd/umeMMcYYY+5L8X78K/0URwFXWX/3NTqqg/QTQPwGUGtqRnymQLaQPkH+3MSKa85rIITX2cBXwhsXh0kYm1/DcBLHcw5myN0oj0QBuME/Dl1yt6n8IQ2AEvuq7ObqEo/Ln+9fDFbh7audpY/zJAyHUGc25t3w4eeTLyFsn8gzzs9HE/HaGW3T4f5ohP4ssNIhzs9Bc631nyZ7zGjslsJDx2F7IBco51Y6mzW4NAizu2pumNmmUs365zBwaWJvBtJsezZnM4kxxhhjjDHG/C7+dM8YY4wx5k/zlX47icMtYXvos/96/denWH4B+PxdpNbUjPhsglgkicMAU84ij5qt+Ep44+IwzJEbXcO7wNtRXOnwY6Ao6/ZLw0o3XEPVJWX9ePBCOpW8CoTTq+T5AUuMV8lj10gVPhY1nn+EOn9IXcZ7UPIdVVJrjbtG5WCSGoRTOJLEvJV3PxXpTyr+oaYQhgpaOw6PQ/NuDk6Hjs/N0QgSwlBBa8fhnmiuTv8d0w3JxwnVJx3THUB77FAClRIkmz5YFK6zu1rbcFPZgXkg7L5Z/YpM3oGx/SSbjCTZ7GSWIw0bY4wxxhhj/gL+dM8YY4wxxtwdvTrffE2/4504Qk58NY9UbFKd1JqaEZ81pkLgjEJxMJPwHvEaqhm0+YN51sjTHkw+GF67QUNlHU4lrbiGdoyU9V8IMoR0KixxUXKgKVjiinIqQU6fpUh+RfO7czK2CFfOQj8IwynvTmJeCZ+Ndz8VGrA/adrEq1ahiTbnkmecH4hmlBCGT9Kgj5yUbXf675huiFrFtdkzHZqmm6AOa0FWepoOWBSu2ts4zQ3nt2CQfQ0oqtnGIOr215NMgUIhGWOMMcYYY8wK/nTPGGOMMcb8BHw5Hod5GDv7bv1g0d2gKEB1NVxrakZ8miAqpAqk6ljNbnin4nCA43l4f5nkrK7AYCq6FZ5QSi+kxDX8vqk1TXI3pgJxPgmkzauA60owc1HuFFTiCurk566ozg+WO92qUugZWyjBmn4QhlPYl8G8FT4bL34qNKCEMFRsOjwOjbM5Fx36PndmuXNpBAlhqKC143BP1Han//7gtwKtAgprs6yZboI6rAVaIVA2Hbg0CLO7am6Y2aZSwZ/XHVFTITVKQmEfdZK1rg52a4wxxhhjjDGD+NM9Y4wxxhjzDMbfzt/kDTsaBmhG/dSamhEfMeIj4IzMcXgyU1NfCu9UHAbg/nkjdKXpCEqrI2VcpdzBYHtwo2fhTL2ABg4UdqNw1sKxKHoKRZPLYGdXQQlWQWYIl5YAp+fPk5PT84eUMTgFe6udpY/zJIpNic8c1jwdPhsvfio04OakL1sFxuFEm3PJM84PRDNKCMMnadDnTaq2JYQhg/qm6YZoirWe7z+ORigEAEFK0weLwnV2V2sbbio7yH82KqTEbPNkGSBVL7JNMZ6EbnEwxhhjjDHGmGvwp3vGGGOMMT/KwVfMfxyujq/Om+/QpcS1tv4KaIldqZ9aUzPiMwXyIGEcJjmrhxfAm8JrqA5zSjbeXPWGKzVUUtgHwkcysCKdQWi/w4laOojyICevFC7luipMq+1ReQWn5y9u6HXJc3lwCoSA2pPKkQw1zEl5dxLzSvhsvPiR0IAS1oaVQ5yfj8bZnIsOfZ87s9y5NIKEMFTQ2nG4J2p7rf9l7O7gt4LdUmj2TIc7j8P2QC5QlpWepgMWhWva39y6mhueXTv8AYR9UZRnOxd5LIR9eY40YIwxxhhjjDEn4k/3jDHGGGPMmXyl313icA3Mz5fsa6/ar+5hFvQD0K0arjU1gz4h/Qjo5Icrit+q24c3KA4DcAqusbjSYTdFZmmopDACnAUyMAlkWvvk/kQaXjcZdAOFJ8vF4TyW7r8LQbiiCvMz7UUlci7Nf1HyOudgoeY+oTyyZ4ZT3pfBvJUjz9Uj0IDpj2CRw1Ahzzg/HM27OZc84/xANKOEMHySBn3epGpbQhgyqG+abgi7XZsFdEx3AO2xQwlU5gJl0yEt799/TI7DDcfhGyqnUrE6r7OgULONWZDkeJ7jbRhjjDHGGGPMbvzpnjHGGGOMeRJ8KY9rfiS1CVdoeBXJ+DugJZC3UWtq1nw6IQQOCIzDYc7NdgRuIw4/jqrvboNrVCzznDKUMisbNVQSHgmP1AuECLoRWuPwCU1CsUWG01EhgeohbcE+47AFCzG5hBEGq6T0i1tegvIpKL8YT14ENinyn9s8KPJPwdi6JenjPAnDIdSZzV+GD8aLn4p8wP6k8ozz89E4m3PRoe9zZ5Y7l0aQEIaKvvW2sG0gIQzfLGM/ZzS1mkZp9EyHpukmaIRCABCkNH2wKFxnd8X1FlFp63Nrn/XPQSDDOxngENIKjC3aKBJuJgGdHowxxhhjjDHmUvzpnjHGGGPMD/GV3krHwRyAL+W5TL5eh8yjgJ4+BJqQvn8YIHT+YfI21jQ1Iz5PgYPEYZ47bCAfYfc4ReDBtRAkwRV5lI0aCVAKHpNxAQ5yrqGVgQWyEvr/GEXR6xpgZs7L67mkOf6VoLwJnAc9U/p/nghkobOo84fUBW55VAe5DfrnLJ21/r6orPWDIJzCkSTmWeBGbz42y9PWet5egwaUEIYKWjsOz0Lzbs4lzzg/EM0oIQyf9K23Zbk9qXMJYcigvmm6G5yCwtosa6abwPZALlDOrXQ2a2BRuM7uKm268Xg0lR2YB8JUFFAhCTtgLDiShDBPHCo4ozHGGGOMMcacjj/dM8YYY4x5PF/pJXUcvmkqXwNfynNAjZmPDEFyAU0kVF2QtkmY98IG8lS1pqbwgUy9+Ul4C3JhFt44xDLD7jxNlFxXaPol5NDxIXCTIKj5XdQJR4A8Ms4sqiKuK6HM55ZQ/ou4OjngQlQIx+aKaj1ja2VTPwjDKe/LYB4HbjTve3pqVm/6psPT0YD9SZdNvWsVHCcX1nj64MudSyNICMMnfeudYdtgrf802WNGU6vLSCvjrJnuQFr20qEEKiVINh24KAizu2qul8qpVKq+L4rCPo4nyQOn+jfGGGOMMcaY4/jTPWOMMcYY80j+S78l8Bqq80BOgSOq1Mh6hDpVrclZ0/dBCHLGYS/sKg5nsC/h8UHOIu9/xywcpMiwI88mSEji/InaAJDZAKAVUB+H26NWOQLHoeZEioUs+zq7Sl6CU5xb4tIRkLzOH9IZMHmRM02wXYW91c5r+kEYDmF3BvMg9Kjwvnfu+KbD09GAEsJQsenwLPJxcO3MlXs+FPYPJIThk771tiy3J3Xe6Z+mONybNM3yP0ZrPdPhzuOwPVALstLTdMCicJ3dVb5qASX1cR4A/rzORuUhU7FCSXAN1STMEAdjjDHGGGOM+UH86Z4xxhhjjHkq/32/msf1yDt6wAyCqXAl9Cmgif6h2kudCkdcqcmhJ33+IJgdS6As4RfhvdjdiW4lM3A6XqmZglEkVF1UHWgQABlQpvW5cIQfmOWKjSEnBaY9vYTyixOTgyL/6c3X/YPBKgyvnaWP8ySIpVBnNi9DjwqQELaKTYen82dXgXEAhf5QdHju4GnQZQQJYfikb70zbLvTP/VN0w1ht2uzgI7pDqA9dlgLtEKgbDpgUbjOLiptuvF4NJUd5L+jAQmzseJILFEbxhhjjDHGGPNj+NM9Y4wxxhjzYPhqPn+9XhwB390Xb/BxlIYCogQ0uNLaR/5McgRWZCogTaoQ0IHCr4DS7O0IHEEzHk/48+RtU943CKIo5NvAlQJNTWAtYBStlAGPJFTfICQMCSoh5NkKn4tgxTh0meqH44jxKqQIXyPtKRYl4Qp+oARA8ofmx2ZCGq6y3LnWPqkcyVDDnJR3JzFPgbcbd1lCGCrk0PF5NBpQQhgqNh0eh8bBtTPXCwZn/0BCGD7pW2/L5nTQ0xTne6NW0yiNnunQNN0EjdAUJJsO2BKuWNTsrprrpXI81XKTxv5bugkKsWKc97I7Q9788TaMMcYYY4wxZhN/umeMMcYY89fhm/E4/AYHG+Br/eLlPmQRqk8l/AH1uQxojcMYzIDAOE+SOlpgHmgoUEMfUmuexfHm7zO+bhCuuYbyOJoIsUBJKJDcgdAhhz6UCx+apCTU5xogfzo3fU6HRcerqLFNmDkOiWWqsULjVQALMXOqcObGmJzyVIkRH5KXAIP5x9mdP49ag8mZcMS/gLFFPyllQz8Iwynsy2AeBO8ykBCGiuWxePUjoQ1ICEPFpsOzWO7r2J88HZ47eBp0GUFCGD7pW2+L2pYQhgzqm6a7wSkorM2yZroJbA/Ugqz0NGtgSwDC7K643iKK2aZSwV/XKVhotlyT4xnY//E8xhhjjDHGGNPBn+4ZY4wxxpjHU7zcpwxoFVQSHOlM+RSQavCdPtxyUkcLNBWCgKYQfpIrimLAX5nlLNi/7pc0yTiBbrTCcaUADZU8CihDalFE8UiTlED6XAlyPY+Sz4U5l9qfazyXNE2MD3L5XPLMpw+ShviY4uoSV+QP6YL+U+87cyq2CJc+zpMoNiU+c1hzN/SoSOjc8U2HR6MNSFibVA5xfj4aJw3dewCePjj7BxLC8Enfels2p4OepjjfG7WaRmn0TIem6Q6kZS8d1gKtS+sPuRe/CBaF6+yi0qZj1TlNZQf5T0XBeSQQPiF1QYY8SZFwMwn9Zwc3xhhjjDHGmCn86Z4xxhhjjHkDfJmuN++QecyhKadW5kl2gFhkiENFamoBMqvgSoHAxKOEgqbyaq4uivzcySz7oq5Ad43yjsaUAQJlKqEpsuUOfeipDDzSJCWgHuRKQCUEKmuHs2AhVaF8eiFmhqBCp5cAqiLOraL8mkLyWTCnuLT/01HzElCoWYvK3JRaazx7TeUgzEl5dxLzFPSo8L53bvemw9PhdGBzUnnG+eFwXgr9oejw3MHToMsIEsLwSd96W9S2hDBkUN803Q1OQWFtljXTTVB7hQCW1u/d/E3AlnDl0qgZpLne2Z0vN+m7AWoGYRSYDRTKAA4mQTiE3UmMMcYYY4wxpo8/3TPGGGOMMS+BL9P5bh1XCk3g1nztrvATYS1CDXvDsaglTW16H5xRO5niVsvRFLp3uXIHCFRskQRpWWUKRiktjzRJSWgqlIJKxZ4OM7N6amS1kyMwMwRmvqIEUBXKp1dRfqY9vYTyixOTgyL/Fc0zoaqMl8jDhZSDSQoYTnlfBvMUeK/5qEgIW8Wmw6NJmxhahTzj/Hw0Thq69wA8fXD2DySE4ZO+9bZsTgc9TXG+N2p1reGbz8L2QC5QlpWeZg1uDMLsrprrpXIqlarPRjFwN8czECTJO5+awhhjjDHGGGM28ad7xhhjjDHmPRSv1HOWXwm+4ev74iW+9MdhFYKcBHoJ1CffoNYUwEFC3/MHQAPqZ5ai+SOpwJHYs9AIHA0yjxTA4lQRtgyE94nIXTADC+lIk5SEpkITUnLmMQW1RzsOk6dGDj0eg7BcHM6Gma8YBDkpXFRC+QmSPyg/kzNhvqjBElxm4QxlUz8IwyHszmCeAu817rKEMFTIoePzaDSghDBU0NpxeBacl0J/rk2Hm5MG3b7FfettUdsSwpCxpr8hnAICGu7M0jTdAfaP9iRQmQuUTQcsCtfZRTXXCyX1cR4A/rxORQEGgtlAoQxHOCWJMcYYY4wxxjTxp3vGGGOMMX+Xr/TjRxzeAifia31cBfQCx+R7GixBkB8aFgJ0yJFPE1hDquhE/QxooNPeEWYz//oqCtQ/G8OVAmWYauQm6H8pLFQ0QIEaQU2uTL6LM5U8Fj4CSjrvgJkhMDlkCrSOwPBNCrfZKoMsw3yv96IS5KISP7MlokWdS5EzTbBdJd23xrMnfZwnQSyFOrN5GXxOgIQwVCyP1DUP/03QBiSE4ZO0ho1dPQuOkwtN0tw9h/vD/oGEMHzSt96WYrrQZjxrLnTL69osa6aboPYKASyt37v5m4At4cqlUTPC2nqbyg6z/jW7w1E6pJOSGGOMMcYYY8yJ+NM9Y4wxxhjzNvhK/ev7JxxCk6g1UyB5jrJByI81TauUEHDthN8BzhiHXWjY46nA8QynwFmAhoIguQamkH6cojHJuEoJ6AahUFKgc9OngG5xGCbPTLlTomC8IjPH4XsVg4XywE1y58ESg22AZYbPZgZLgCJwjUvzL90nN+YcTD7iA5ScMgWCDIWmJkU3nj0qa/0IzEl5X4ZxkF+1nsjT+0+3enlUJICwVWw6PBptQEIYKjYdnoXG4bUz16bDzUmDxqQUwvBJ33pb1Davdf9yiPO9UatplEbPdGia7oDaywXKstLTrMGNQZjdVXO9VI6nSsUP/Y/7eK012HMczkNpL8pvjDHGGGOMeTH+dM8YY4wxxlzOV/pNJQ4/AspdURGDEMgsQaChQLcaOsRhHlbcDUofzFBzYk6mmk14ZJ8XgZY4Ba8kbJ/AIaTfQ01SVktSEplyJciV9CkcTkGZAYTQng2rQOAIFxVSFcJaJ1LkP506/7kjFPmvSL77/jK2aCmlbOgHYTiE3Rn+LFgXV/cU0C3vcrrn8Rw2kUPH59Fous0xX7YHjpMLTWDtO9wf9g8khOGTvvW2sG1cKYQ2g/qm6W5wCgprs6yZ7oDak0BlLlA2HbAoXGcX1VwvlNTHeQD481qnCqlLamG13GYSxh5MYowxxhhjjDEn4k/3jDHGGGN+jq/0A0MczC+x7y6kF/vx+xCOaxmayZvKg4wkhA9Kx+EYKndWTiY8mEpdndISktSEbYb+imBV278Om9GkPNIkJaGpr4RM/emoUC7zeCLMDEGZTy8BVIUyrudWyfNfwQ/kDylxxXLynJCbJajMTYrNlUD6OE+CWAp1ZvMm9JwACWGrkHOc34Wmk7A2qRzi/HA0Dq+duTYdbk4aNCalEIZP+tbbwp6BhDB8k8Z6zFxqda3hm8/C9kBToByuZgVsCVcujZoR1tbbVHaQ/2xUSJOBOUoy0vPuKsYYY4wxxhgzjj/dM8YYY4z56+Svv/8sX+k3njhU0EqHjmc/CWg6SAkB17UM/cw/AzsEaIZtS7ObPNWOhAihcKQTxAKkqqEp/HYRib4J7Z1gY5qUR5qkJLlJUJO7XYQKgdTICXenhpnjUG3gLFiCmSGfXiINceEUl+YvkkM+vfmQvhnvP7XWePCaykGYk/LuJOYR8F7jFkvo3O5Nh0ej6dImFjkMFfKM88PRsJtT9x3uD/sH/UHkFucnsNyb1LaEMGRQ3zTdDU4BYa3hm8/C/tFeLdC6tP6EG/GLcGMQZhfF9cbhm6ayQyo+XZ0hB2FpPx7GGGOMMcaYm+BP94wxxhhjTIOvFmF7Mphi9l1/PngzfEfOs/jJm3L6jEyoEXDcN44a2xfOqLXpoAfw6Seng2AUCY/bw27Zv440SUmobyp/DFZPPf7ET24sF4ezYeZLS5DTSxQ3/dz8Ss6cFyUHeaHBEggBhbOUg0kKGE5hX4YcZGC2P8j9Z+ctZp+Uw1Cx6fBoNB2QELZP5Bnnh6NxeO3Mtelwc9Kg25PKLc4PQUNJCMM3aazHzIVWeW02nEa59SxqrylINh2wJVxnF8XdFlFNZR9VH49CCKPIVLmcU5KMgEKX5jfGGGOMMcY8HX+6Z4wxxhjzE3yln3bi8ASWd+EVmKL/xvlxY5LNtmltum3GnruTX98wGyiuYdtLnuSUhLOgaEgrwIGN5b3xSOggwuOBsH8OpSNNUgLqgTTHmUql6kBC2LYY90TmkBJTVcZJozSWfBFXlzg3/w/cAiZkIVzHSzSdoZxKUsBYCLsz/FmwLmwvDrcnPSbxnEgIW8Wmw6NJm1gGlBCGClo7Ds9Cw25O3Xe4P+x/cxBaOw43RENJCEMG9U3T3dAIaw3ffBa1Vwuy0tOsgS3hqqUNgqh6vU1lH/jzuhZFhwIpZ8vlnJLEGGOMMcYYYw7iT/eMMcYYY8wofK/9laDm9WBSvc3vs+k5nqrD7C8Ks/4/DBfCzehK0xTMA3aEzxaFM0GgCNtb4FAcU0cK1IhaMwsz72Np67sBCoPNwDmkLVKFf86QB6vAJw/cJHceLxHSFssMn80MlhikmT+kdcYbKPKn3s9pXpmZkFdpKHRI0Y1HQvo4z8BYynVm8yZ4r3GLJYShQg4dn0ej6fpjpjW8Zw8aZ3OoTYebo/77g8BKhzg/BA211nwa6xlzsVUKT5xF7dUCrRAomzW4MQizi+J64/BNU9lh1j8HgUfCySlJjDHGGGOMMWYf/nTPGGOMMebZ8BVzHL5pKk+Baf1S+3Gccst49/l06UrTbphTqASP4yjPvlhEkVClPAVQwpPQITm+Fk6az05BGlK4/TyojiurUz6dNOLPVbmIIv9gLYw86JnS//M8/XnI8+eFjlNknu2c4YgqApvKQZiT8r4M5inoOZEQhor0UEw/n09B00kIQ8Wmw7PQLP2h0tAPnlr9SwhDBa0dhxuioTrN0xSHe6NW1xq++SxqrxAABClNB2wJ19lFNXdL5Xiq5Q7t/e8f+G+WU/I1RpIYY4wxxhhjzBX40z1jjDHGmL/L5svrJnydzWuoXko+IEeOwzdNZc6mw0HucBdO6YGLYh5ubEdOBB6MBYglhZ5QCXjMPd+KJpVMfTE7TYXyx2B1CKp+RSdFldPzE1W5COW/aIqi+YvyM21R6yDLXqp/hXgsaOrzcCFl7T8CwyHszmAeAW80brGEzu3edHg0mu5P7QGzcJzNoTYdbo767w8CKx3i/BDYc6d56pumu8EpIKw1fPNZ1F4uUJaVnmYNbAnX2UVxt0XUsvrJncOf19ko+s8G5pySxBhjjDHGGGN24E/3jDHGGGOMWeW/9MvBOzjlFwguBHlO/D2jzinNYp5kRyycBY7MQEHKJnDY9HkH+ZicmnopCU255idh9Vwu2jsFZo5DtYGzuLpEnh+cWyJt6CfyM+fpyXFlQsnj+RFS+y/tHvi7QCyFOrN5E3xIQHpeeg/MpsOj0XQS1iaVQ5wfjmbpD5WGfvDU6l9CGCr61nvCnoGEMHyzzPycudAqr82G0yj3nUXtSaAyFyibNbAlXGcXtay79WA0lR3kPxuFK0Io7OOUJMYYY4wxxhgziz/dM8YYY4wxO9ErdfMD1Kse3P+lt4nJj5dABlzzVNLwOAVimacTSyuhv4CVAkyU6ZbiGsi54/MCijF5pElKQn2h/GFYnU3+QBssF4drOL0Eb1POuSWa+UO6gBObV+d5wvH8yzPX+gehqRyEOSnvy2AeAW80nxMJYavYdHg0+R4oh6FCnnF+Mvmw/aGePrX67w/yxDHRM9uWEIYM6pumu6ER1hq++SxqrylQDlfTgluCMLuo5m6pHE+Vik9XZ5RCpmJFkcQYY4wxxhhjfgB/umeMMcYYY6b5a++yMSxGjkOLTYc3wUk5cnGlwz6UVldqpjLDUyhhE1gFY2tohTNlBtJUI+eOzwsoxuSRJikB9UCaH0bVgYSwbTHuicwhJaaqjJNXOb1EMQI4t8TPrEjcJz8GB4V/UzkOwyHszmAeAW80brGEMFTIoePzXPLp+mPKM84Ph+NQ6AxFt+dOrf4lhOGTvvW2sGcgIQzfpLGeMRdbpdBsmA63nUXt1QKtt+38PmBLuM4uirstopbVT+4c/rjWqQQdCqScLZfTzAzW9MYYY4wxxhhzBH+6Z4wxxhhjfpOv9AtKHO7EbRvLYYfjP0jAf/evFznFZpj2eHKm5ZWp8szU1NBE4ClgCqkFY0egP5JTZiGaauTc8XkBxZg80iQloT7XFBT+I6jWJqmv0Xu3D5aIw2SVPLBPKvLP+fQSRX7II/kHewBF/tT+aTeiSA7OSl5kLqqMwAxFP1Lu6xOxFHZnMI9AD8nm07I8T2N/s09E00kIQwWtHYdnoWH7Qz19avXfH+SJY6Jnti0hDBnUN013QyOsdbs2401Qe2sCZbMGtoTr7KIQxfXG+ZumsgP8dZ0FhWbLrXFKEmOMMcYYY4xZw5/uGWOMMcaYPegd+ovfYv/waJ0fJHLTjp1fdJuQs8h8vFCegYI0FGpoIkvYNTC/yql0Ezl3fF5AMSaPNEkJqM81NR3TcdgVS+TyiaQRyyqnoyoXofyc4oothTQMehiMSr3/8zyxeWUubi6OzSq1HiFNJfVxnoGxlOvM5jXwRuP+Sujc602HR6Pp+mMua0oOcX44HIdCZyi6PXdq9S8hDJ/0rbeFPQMJYfgmjfWMudgqhOYggIM0TXdA7TUFyuFqWnBLEGYX1dxtU9lh1l8wkNdOBjiEtM7uHowxxhhjjDFmBH+6Z4wxxhhj9qA31yNvup/IKXONvOIvfDr+TdNsnyMtjaC6THhWWoBUgDJyMjlo5qcpDtfDcuyEQrMrIueOzwsoxuSRQj449XITUIZ0JawOgdVz+USKKqfnJ6pyEXXyEwdpNn9p/rOSK3OREMeREgyvnZvKQZiT8r4M5hHoIeEd79xrOXR8noumkxCGClo7Ds9Cw/aHevrU6r8/yBPHRM9sW0IYMtb0NwSt8ro2yJrpDqi9WqD1tp3fB2wJ19lFcbdFVFPZAf4AwlQUPFkIsoR9MBbXI0mMMcYYY4wxZg1/umeMMcYYY06D79P/ICO/BBz8taDPr/yEwIlUmscrxkxFGjlRK6SfBXU1JoVme0TOHZ8XUIxJGYI0pHAjVMbhyp/EVIj5IV9RS1XIFSXApSWKEcC5JYr8kC/t/8Tmi8xisATDC08pRzLUMBzC7gzm/vAu8xZLCFuFnOP8LjS+hDB8knawsagHwXEodCai23OnVv8SwvBJ33pb2DNYa14Ocb4xGmGt4ZvPov7XBMpmDWwJ19lFIYrrjXOiqewDf153RCGEwj4UeySJMcYYY4wxxqzhT/eMMcYYY8wh8vfmU+/QTU3nl4DcBHl21XnIjvA11BUTMjOv1IzDEIEkIjy+Ce1v/2rCHtAqZbZNU42cOz4vQGNKpr4YnKZcU1OEnAsbQ351cl0t8sQS3JLgouJwKkyb2r9wRRflz7c0WKL5yEFJfZwnQSyFOrN5DXpIJHTu9abDc9H4EtbGlEOcH45mSRP3bv2jp2bzQEIYPulb78lyY1Lba83LIc43hq1SaDZMh9vOwt5AU6AcrqYFtwRhdlHN3TaVHeQ/G5UXmooVRRJjjDHGGGOMORF/umeMMcYYY/46a6/gf+vVfKeoTHlvkHGdavWK0ZiQmXHdLAFrDkNEOCVC9U1o7wFbQv+UOQtNNbnzi8n3wJGpl5JQXyiB/EFtPRfmTz2ef1/yQQBLnF4F5IWuKMH8THtF/pzT8+fL4S2Iw2HyteRVRoA/SLN+9NNUDsKccTDvRQ8J73jnadl0eDQcDWyOKc84PxkOS6E/ER0eOnWaculfQhg+6VtvC3vuNE9903Q3NMJat2sz3oHlBnzeCwm0QqBs1sCWcJ3dkpacM7tw+AMI4yGEURRmY4WS7M5gjDHGGGOMMTX+dM8YY4wx5of4Sj8JxOHhTM3ypsEvYvDHg/4aN5MUDoNFN0EeQBkJgTJTWIMOIiV4KhxBQ2nAJpsOLyDt49+YPNIkJaAeSEOojMNnSJ9BN6IqzA+ZAq0dRnxEXoXH2fCQuqQiHxsLaQt4jpSo84+X2KRIDgbzF1FrKD9zDiYfocg8C8OLfprKcRgeB/NSeJf5kEgIW8Wmw3NJaxjagzzj/HA0S5q4d+sfPTWbBxLC8Enfek82R4OepjjfGLYKoTkI4CBN0x1ge7UAIEhp1sCKcOXGqBmBiy1C0r7nFg5/XNdCaF0DUbPljDHGGGOMMeZS/OmeMcYYY4zZD996x8G0OP1XgWa2wSqF24m9IRWgwJy45snpAOKcNCG9BQ7IqSnkG8iR55rDOyjG5JEmKYn0Obk/yP1PRFWYP694IkWVq2cBV5RQ8nHQxmBU6v2f52DUOEX+E8kzS8DgzVtQ6xm+piz0xgg9JBLCUCGHjs9z0XQSwlBBa8fhQXBYCv2J6PDQqdOU2ze3b70n6llCGDKob5ruBlrldW2QNdMdYG8gFyjLSk/ThOuCMLUoRtUhTWUH+Os6BQvx2qm4I7MxxhhjjDHG7MOf7hljjDHG/EU6b6hNDl/ox6HLiOegD65rbrm1zjaS/1LUAPukQKAnUtLhfXA6TCqBU9dsOryDYkweaZISSC8Nkf5SVIXVc/lEVIWcnp/kVa4egZxYRfmV89wRiuaR/Kz8eduqMp4fIbUzlNTH2ZgKPTkSwlCRnqbXPk4aX0IYPkk7eM8SNEua+LW3ns0DCWH4pG+9J5ujQU9TnG+M+kxzNBqmQ9P066Q1L+1JoDIXKJs1sCVcZ7ekJec0lR3kPxUFZwXOVjTGGGOMMcaYK/Cne8YYY4wxl8NXw3EwL+LEF/15qvGnpYjik9ZvqXDY9B8BGQQSUlOYeISVDq8HY3JwjqwN1Mih4/MCijF5pCkfnHq5Ceop19azUBXmh3xFLVUhV5QAl5YoRoB8af5z+y+SQz4ruTIzIWUeR0owvHZuKo0RenIkdJ6WTYfnovElhKGC1o7Dg+CwFPpDbTrcmTTl9s3tW++JepYQhow1/d3gCBTWBlkz3QH2BpoC5XA1LbAiXGe3xMUWUU1lh+X2fFcfjwKKomCMMcYYY4wxv4g/3TPGGGOMMXM8+u02Op96oX8Kg0Vzt04Ilw8rHXZMVITwOJuEIQQZCPVxqKA1Rf8JOHXa0LITCmGryJ1D9UaKMXmEIA2hvlAW9K2nwPybnZzCo0sw7XX5yUX5mfOK5EiIhycOwyXSs18+ck2lMTl6QvS0hKFi0+HRcDQgIQyfpB30HJ4FZ8mFJmnonsPNYfNAQhg+6VvvyeZoDxqKrUJY61YONwS9sb1aoPW2nd8ErAhXbGlqUWnH5W6byj7w5/V49ZrZtGBHiDHGGGOMMeYv40/3jDHGGGPMBF/pN4xafjr9d+snvnk/JRXXzlTMRoGaHSUQMhK11PgG/tDwimOy/8sjTU7f+lY0NeX++HLu+LyAYkzI1EtDCjchf1BbT4f52Qk1Z5EPAprDHgdp80JXlMg5PX/ePOTB/IM9pN1cshxmZra8xCB5uGgqfx40gDbiYO6EnhDeIwphq9h0eC5pDct0EtbGlEOcn4xm4bUz1KbDnUlTxpgUwvBJ33pP1LOEMHyzpr8hbBUCum02zEGapjvA9joCZdMEKwIQZrfE3cbhm6ayg/x3VKcwG1gz27MxxhhjjDHGEH+6Z4wxxhjzYL7SDzxx+KapPIXrMt+Z/vv33Nr3FB23OtuIp6AG181Omg6quAYcRMSkKECHNU1O3/pWNDXl/vhy7vi8AI0pmfpicJqayjhUIZvAOQ9fI6/C/KnOaCF4TlVhZsjjJQBjN0lFwhPCSInxNvLkBLEj4UXUGsrPnJBHko/D5OTc5EXbSTcBmyn6aSp/BhTdMYX5YXCP+JBICEOFHDo+z0WjacwwVMgzzk9Gk26O3He4OWweSAjDJ33rPSlGC23Gg4ZCq7yuDbJmugPsDTQFyuFqWmBFuM5uiYstoprKDsvt6VantcN4LWOMMcYYY4w5EX+6Z4wxxhjzF/lv/icH+Odvuovjs5id/fik4wvPPSGvBRZKeoqRWnTr5ykIpwQCcw0d8oS1JqdvfSuamnJ/fDl3fF5APiNHpl5KkptEocz9T6SochGqwimumwXXi0poBJLLp6D86vzEEerkZ1FkltwsVOsZXuibSmNy9IRsPirpaVp84vwiNBqQELZP5BnnJ6NZeO0MtelwZ9KUMSaFMHzSt94T9cxr3bwc4nxj1Geao9EwHZqmXyetOW5EIdB6z7bvA1aEK7Y0tai043K3TWUf+IdUMZJnafqC+zs7hTHGGGOMMeZP4U/3jDHGGGPMNF/p14s4fNNUPoj+y/TBV+0dt9w0WwvHAvjkhN831MCNxzUYu+lWwwbikKGEyllrcvrWt6KpKffHl3PH5+kUM/JIk5SE+lop/+toVsnbOIW6yuNKKL/Snp4/pG9OzF8kR+azkqetfKwFjCdneGrnX0hTaYzQEyKh86hsOjwXjS8hDBW0dhwehCbdHLnvcHPYPJAQhk/61nvCnnGlENoM6pumW8ERKKwNsma6A+ptTaBsmmBFAMLslrjbOHzTVHZgabAvCvjmGmOMMcYYY34Sf7pnjDHGGPNHmXr9Dc/89Xf+UvtZXPEKfnyTuWc/ilYiTQ6VHeij8A7wHHETcO43sPT33f+aJqdvfSuamnJ/fDl3fJ5OMSOPNEkJqAfSECrjcM1fOiiqQE6tnVyrqPLEEpfmL5JDPjF/kRycmzykb3kqeWqt/eSPJzF/DT4eYPNR2XR4NBwNSAjDJ2kHL1lCPkuauHfr+w53RmNKCMMnfes9YcNAQhi+STM9Yyj1meZoNHznQdgbaAqUw9W0wIpwnd1Sc7FUjqdiaTAeAhC1L9AYY4wxxhhjjuBP94wxxhhj/jQj76Phk7+/lvwU0LNg87hCpnWKtag8YT957Vk750r4EB6nYFSdvwaeedE16DPYzNL0Z9pak9O3vhVNTbk/vpw7Pk+nmJFHmqQkuVuTvvUUmH+zk1N4QYmL8jMn7wI1p3PFLWY2Pt5MDnjs02zmig7Na8DjoSdk81HZdHguaQ3LdBLCUEFrx+FBcFgK/ZH7DjeHzQMJYfikb70hy11JPUsIQwb1TdOt4AgUHjdI6v3jRkig9Z5t3wesCFdsaWpRXGwRsux9ZuH0h6BUPK6hzH03Y4wxxhhjjDkdf7pnjDHGGPOn+a/77ju94l5+nNDxKW+x2TlBzwImXKGkW0HHBBg+Qj8PkJU5ccyBUtBtN8zAtNSswXL0JGHI2qNPaMdgCMPXNDl961vR1JT74+fOb0UzckweKeSDUy+3Jn3rKTB/0dsVXFQibTH+rq8ooeSA+UdKDLaxtP79rxyvI4EjPqBIDjmlH4rtk2eWPA5DimaaSmOEnhAJa4/KpsOj0Wj9GdMO3rMEzgKhP9GjR053bOlfQhg+6VvvCRsGEsLwTZrpGUOxz7Vu0xz3HYS9ATVZaAA9TQ1WBCBMbYlRdUhT2QH+vO6oHgdjjDHGGGOMuRh/umeMMcYY89ep32LjSPTCWkc6nMVFOZlWhOET6OEWh2E6UbWp40lnIo2g21koIWv1YQMAMtsDoTrQGMOZbU2T07e+FU1NuT/+psMLSPv4NyZlCNKQ2k3KZF+QdZA8tkNehfmnCsFzs9DBEuOw0I4Saq8Dk0NgWsjj+UdQfnJRcjWf1CfAzEgLmJYlqEku/5CJR6DwOCeojIMxFXxmAB+V4vnJ2XR4LhpNwtqYcojzk+EsFDoT0e25I7N5ICEMnzxuxuWupJ4lhCFjTX831CeuzYbp0DT9Osv2v28Em8w1FMLVtMCKcJ3dUnOxs9uW/757tC/KGGOMMcYYY8bxp3vGGGOMMSZeowscCY9f379G8Hhn+Fb9SKuI7b+a7zjQRCtkHQEd4pCQD6D1OlRFpZvQShhCwnwYZmP+NU1O3/pWNDXlzvjyXHN4B/mYlKmnhjKQqakkRUgHuOWBfYoqYLDKOD9QghRVzkVTqPlzp8ibz+VTSL1f0jwzMxtLkMH8jB10NgakJ+7fP6oUwlax6fBc8iVQDkOFPOP8ZDRpf6JHj7zcztS/hDB8QtOa9Z6o57XmnzIU+gQUmt3S4baDsLe8yUKgbJpgRbjObqm52Nltwx/EYR6Wi4MxxhhjjDHGnI0/3TPGGGOMMavwbfiRd9w/yXir/Tfvm+/lOw4w0UpCm/0+QQdAZTL+ECwK2EwNGyP0vALmZ8U1TU7f+lY0NeXO+PJcc3gHGlMy9cXgMjWVl9KskrdxnB8oAeoqV09xYn4lZ07IEM7NH9LZyYu2k245juSHPxh0NobosZEQhgo5dHweSj5af0Z5xvnJcBYKnYno9tyR2TyQEIaMNOLDZlTPEsLwzZr+hqhPXJsN33kQ9gaaAuVwNRVcEYSpLTGqCGkq+8Cfwuw9ov9slDHGGGOMMcYM4k/3jDHGGGP+IoMvnfk2PA6vA6Ptfvm+Fgul9Gl5H1BPqMn9fwAWXSOcfgRWzMevNTl961vR1BLWxt90eAf5jByZeikJTU1lHKqQsyiqQD69UFECnF4C5CUgn17i0hGUnDnZPzXHaSY/MT8osg3mRydXNGPejZ6ZzYcnPV9n/indB40mIQwVtHYcHoQm7U/06JGX2zlwZ2las94T9bw211OGQp+AwuMGSb0v7dUCrfds+z5gRbjObqm52Nlts/Tue+Q7a4wxxhhjjLkCf7pnjDHGGPMTfKW3+XEwF8ANj++5/7J+5FU+fQqgFOHXhZ6MDdVfoh6/1uT0rW9FI2v8MFTIoePzdIoZeaRJSkJTrgFyJoX1LFSF+dnGubWKQa4oIZiWJag5i3yK60ZgzkuTDy5nsIF8LbMg9ki4+YPwmcHDKaHzoG46PBeN1p9x2VFyiPOT4SwUOhPR7bkjs3kgIQwZacSHzaieea2bl0Ocb4z6bHZ780HU25pA2TTBinCd3VJzsbPb1m0aDwFsOBeMMcYYY4wx5iz86Z4xxhhjjLmQr/STUhwuY18Vhky9ry9AhoIwtOgUYiwcjjTzXOrxa01O3/pK8pE3Z8+dQ/U6ihl5pElKkrs16VtPgfnZCTUnwsGvLqHMuA6WGHQDSI4r/VXoLJicMPlm/sEGkE3JGZJyn9N8nlyCMdeBx4wPcHr0en+Gmw7PRaNJCEMFrR2HB6FJ+xM9euTldg7cWZrWrPeEPaex2nNR3zTdCo4AYa3bOw+i3poC5XA1FVwRhKktMaoIaSo70B8CQmaj5D8eaIwxxhhjjDF9/OmeMcYYY4x5Nl/pd5E4nEf+Uv4smHMt7fI7QNfh3dTj15qcvvWVaGTK/dnl3PF5OsWMPNIkJaCeGpArKYPcNEIe2yGvwvyzhUZQlakSIz45GgQMlhinHiGpz6FITvkslJycnhxXbUPLkUY0lcZMkZ7l+KdSQtgqNh2ey+ASYKVDnJ8MZ6HQmYhuzx2ZzYPOFGnEh83IhoGEMHyTZnrGUOiT12a3aY6bDqLeaoHWe7Z9H7AiXGe31Fzs7LZZmtcd7A40xhhjjDHGmAJ/umeMMcYYcy1f6d19HO7EbRv7SbiBtff7sE69+u+gPMjJtGuZNx3eTT1+rcnpW1+JRqbcn13OHZ+nU8zII4V8aulzCqWSnEtRBfxAlZ8Z5FyuTs783My5tYrkFCQfQZkLTkluTA0fOTxgEsJQIYeOz0PRaBLCUEFrx+FBaNL+RI8eebmd33e2M0XfekPSWDEXhTBkrOnvhvrEtdnwnQdhb0BNFgJl0wQrwnV2Rdpwzuy2m0mMMcYYY4wx5ofxp3vGGGOMMebBfKVfR+Kwl877+hNf5ee/IkDOjzWbDu+mHr/W5PStr0QjU+7PLueOz9MpZqQMQRpCNwhN5aU0q+RtnEJd5dISEJb9nlciTw6uy8+cFyUnkM9KXqSlcG7zZpy/sHY+vUBCGCrgQJ84vwjNLiEMn6QFbGzpKXAWCp1x6Pbcedl8f4q+9Z6wYSAhDN+s6e/Gsvruc0j9PQdJvS/tqclcoByupgL7wZXromYEbrUIScue2Db942CMMcYYY4wxv4E/3TPGGGOMMU/lK/0KEofqOAhCxl/rH2T5TSD7daE41mw6vJt6/FqT07e+Eo1MuT+7nDs+TyefkTL11FAGNDWVcZj/4XCQogrkKwoVVS4qgSvTQj43v5q/KH8Bkl+RnzlPTF7sPOlOyM8MOWEwK/CBfP2iMCYnldAZedPhoWh2CWszyiHOT0aDpHHfedPVfH+Kx82IhtmzhDB8s6a/Ieqz2e3NB2FvalKCTHQzNdwVhKktMaoOaSo7wB9XhDSjZrMZY4wxxhhjzBT+dM8YY4wx5ql8pV8C4vD3OHF8vabnseD4a/qiVcjMybTFsWbT4d3U49eanL71lWhkyv3Zc+e3ks9Imfq0mH+D01QrQ0oU1rNQFSav2zgdlojD2TBzmuCSElfnJ4P5B3vAwoHkweQjMC2zqcQRlkY/YbcgPExFvqhQvRSNqZHDULHp8Fw4F9icUZ5xfiyclEJ/3r7DnVHzEsLwSd96T9gwWOtcDnG+K8vqv/8nr9ntnQdRbx0hXE0FVoTr7Iq42Dh801R2YOnxKN9HY4wxxhhjzFn40z1jjDHGmFfxlX4PiMNf4uDgjF17+T7++n4c5GRaZi6ONZsO76Yev9bk9K2vRCNT7s++6fAC8hmX1Xz/+yAloSnX1BQhp8Pkm23sA2lxZeZljLNLpP39+7f39BK78+dRaxTJwenN48qcRaEjpK7/ZT6dPP9FJd4BF/X6FWlMICFsFZsODyXtYGgJ8ozzk9Egadx33nQ135/icTOiYfa81rkc4nxj0CevzW7THDcdRL11hHA1FdgPrljR1Ja41SKkqeygWzMeYowxxhhjjDHH8ad7xhhjjDF/jq/0g0EcnkkxwikTMcPaO3q9xJ+l3xtMzMzkxbFm0+Hd1OPXmpy+9ZVoZMqd2eW55vACihl5pElKkruR3BnQIQ5bwDOP7ZCK/GuJVwp9RnxEXgUMliB5YIe6REhd4DaeP6Qkj+SfSj7ouQMlz3se3E8fZRZIe0pmovznpn0f2NJfWBGfB4wpYW3kTYfnotEkhKGC1o7DU+CkFDoT0e2h86p5CWH4pG+9J2p4rXPqm6Zbof7Xur3zranvQi2YJtgPgDC1JUYVIU1lB/pDWAuh1RhjjDHGGGNOxJ/uGWOMMcaYh/H1+UFGcTzC5jv68Tf+AM5gpDf4MDmojzWbDu+mHr/W5PStr0QjU+7MLs81hxdQzMgjTVIC6nUkVEKgPrmfvyhVET9T5XTyEqfXUnIuJ5dPQfnFuclD+i50VvIiM67nPjzMeWLDrwT74YpevyWNqZHDULHp8Fw4F5AQhk/SAl6yAQ3Sn4jWjsOdUfP9KR43Ixpmz2udyyHOd4V9Umh2S/09B1FvHSFcTQVWhOvsirjYOHzTVHZgaWOMMcYYY4z5GfzpnjHGGGOMeRJf6UeOOFwDX+s33+x3TDn0gTMI1QD0Z2x9rNl0eDf1+LUmp299JRqZcmd2ea45vIBiRh5pyqeWvqkUufUs6irg9EJ1lYtKMK2Es2ByCNflDymB5GflV2bmZOeAyiPkmSHrWHCw1lpaI7j8U+7pndGYQELYKjYdHkrawTKahDBU0NpxeAr5pJ2JcrfHoeYlhOGTvvWesOFO52v6u6E+16a47SDqrSOEq6nAfnDFiqa2xK0WIU1lB5beje+sMcYYY4wxZhx/umeMMcYYY07gK/3wEIcf5PS6esO+9qodepo60CcCJmEs89THmk2Hd1OPX2ty+tZXopElrM2+6fACihl5hCANob6pjEMit55FUQVy0cYp/EAJwrSn51f/F+UvuCI/E56+/LVsUOY3fQo2GQfzfe/WuPQP6j5gTE4qIQwVmw7PhXMBCWH4JC2g5/AgOAuFzji0PnReNd+f4nEzbs71lInQJ4Cw1u2dB2FvHYGyqcF+AISpFTGqCGkqO9AfwlSIb6UxxhhjjDFmFn+6Z4wxxhhjHsPX58cHxfEsltfz3y/ccSU0CfrEIUENCdUBmEeli2PNpsO7qcevNTl96yvRvJuzbzq8gGJGyNRLQwo3ImdSWE+Hyes2TiQvQc1FpAmu3dW5+fN7PbifwQaQjcnpP56cUWukrA2HzUAzBZaJlYI4V6T7cOHf7H3QmJvzvnUhy51Oo0lYm1EOcX4yGiSN+8J51byEMHzSt94QNSwhDN+s6W8I+uS12W2a46aDsDHQFCiHq6nAfnCdXVFzq7OrZmlw8Ab5FhtjjDHGGGPW8Kd7xhhjjDHmGXylnzTicP23CEhelKuhDwm/U2Fm1qqPNZsO76Yev9bk9K3vI59Xctgq5NDxeTr5jJSpp4YyoKlQFvStx2FytkHNiSAtrsy8jDFWYtANpP2V/5bGoUsetUaRHAzmH0kOlJ85RzKPkyencAonphLIee7sT2e5c1v/LMgnzi9FY0pYG3nT4bloLs0Yhgp5xvmxcFIKb51XzfeneNyMm3M9ZSL2CWGtWzncDTTG3mqB1nu2fROwH1yxoqktNbc6u2qW9g0yxhhjjDHGXIQ/3TPGGGOMMb/DV/qhIg5bTDkD+OeEdp6iKI45ob0Y1tIgxbFm0+Hd1OPXmpy+9X3k824OnjuH6nVoRsnUF1PTVGvikChCOsCtiF0jr8Lkqch2FfgMlgB5FTBYYoq8BIRz8+fJQS6fQpH/XJicC2GVc5eDbExrzkI3KN26jYeZDn2fF6Ax00p6O9l0eCiaC0gI2yfyjPOT0SBp3I151xzujJqXEIZP+tYbooYlhOGbNf3dYJ8Umt1Sf89B1JuaLwTKpgb7ARCmVtTcalPZgf4QxkOMMcYYY4wxZhB/umeMMcYYY57HV/qdIw6fLG/fv3+LElSCcOoSrt9AE1l+9esHNlC0pGPNpsO7qcevNTl96/vQvJT7g8u54/N08gE5L/VSErrFIZE7g9rhFIoqF/EDVViCKzq9FpND0C04917kDUNG8hPz552fnvwU8vH/OMUN2rxfcNj0eQH5mJvzbjo8lLSDZTQJYaigtePwFDgphf68fYc7w86BhDB88rgBi7lCm9Gf9z6o/2arsMrhbqg3XguBcriaCuwH16kVNbfaVHagfxyMMcYYY4wx5jz86Z4xxhhjzOXw/XsczDzFAjf3WVuhobL5Xh7KHDoTWHm9CeyKfdbHmk2Hd1OPX2ty+tb3oXkp9weXc8fn0RQD8kiTlEB6aUCtzK1noSo5pxcqqiD/FSVwZdrT81/avzIzJ47n5icnJl92UT0z5jhcrG5QcWwinzi/FI0pIQwVcuj4PBTN1R8wLaC3ogehQdK4vZved7gt6V4tzUsIwyc0rVlviMZZ61wOcb4r7BNCcwrAKZqmX4e9pQk+BJnoZmqwH1xnV9Tc6uyqWZpXY4wxxhhjjDkFf7pnjDHGGGNuzVf6DSMO1XENuIE4fFPkEdAT6HklNMXhTqRmlx8YQH2s2XR4N/X4tSanb30fmpdyf3A5d3weTTEgjzRJCajPNYDKOCRy61kUVSAXbZxCXSIOJ5HnB1eMkHNRfua8Yj8AOZF5X3JEhXQeV8z4dIobVByb0KHv8wI05ua8y8q2lvZENJeEMFTQ2nF4CpyUQn/evsOdYedAQhgy0nwPG5ANdzqnvmm6FeiT17Up1ky/DhsDHSFczSfYD66zK2pudXbV9IcwHmKMMcYYY4wxHfzpnjHGGGOMuYqv9HtDHHaxL0M/ClY6COklPwI2z3HqY82mw7upx681OX3r+9C8lPuD586vRANyRh4p5FNTLzcCTUiJwno6TF63cSJMe11+cXqJ/F5Mrai4iU3gQzfmHE++SZ4ZQD4rs7kC3iDdo+JYs9zdK/9gb4LGlNCZd9PhoWiu/oDLgpJDnJ+MBknjvvCOp3u1NC8hDJ/QtGa9IWp4rfNl2vV574OaTEM0ur3tFGnBS28dIVzNJ9wPhKkVMaoIaSo70B+C744xxhhjjDHmOP50zxhjjDHmQr7S2/Y4mMPM7hP+IA7fpHfs20lma/0WHEeTFseaTYd3U49fa3JkjfPbyeel0Jl90+HppGX8m5EyBGlI4UagCSlRWE+EhZi8buM4y2zZLFP588A1ivyQR0pM9cD8DGH+ZDkH5adM4RSUOW/43ObNWfBm4e7wBhXHJvKJ80vRHjbn3XR4KJpLwtqMfeuD4KQUOuPQ7aHzsnMgIQwZab4nDaiGJYQhY01/K9g/hc4U9xxEPXcE0wT7wXV2Rc2tzq5apaeijDHGGGOMMabAn+4ZY4wxxvxFvp7wXVrR5FTPfHUOfwBZ0FoDU568ON6fNGhMWh9rNh3eTT1+rcnpmF6JtkG5M7s81xxeQD4jZeqpoQxoqpUhJQprnyK2Q6q8ODM55NOrpAr/PAfzw202v0aQfApF/lw4hTx5UeggqfElIYGMzM3kuZv5FdK9+vfXVxyb0KHv83S0B7A576bDQ8k3QDkMn8i65vAgNGZ/nOfOm+7V0ryEMHxC05r1hqjhtc6fMpFuSrNVWOVwN9gY6Ajhaj7BfnCdXVFzq7OrZmlGUWOMMcYYY4wxs/jTPWOMMcYYc0e+0u8TcRj4DGJ5uZ7gEbEKpwx4rEFUbi2ODyJN+e+XhuJYs+nwburxa43omN6KRqbcmV2eaw4vIJ+RMvXUUAYy0S3XiNz/RFRI+U8vpBIXofzs/PRayi9OXJGSq/lzk1NAzlTn5X9uj6a4O5s3K93P999QjSlhbd5Nh4eSz9UfUJ5xfiwchEJnHLo9dF52DiSEISPN96QB1bCEMHyzpr8b7BMCWm12e9sp2Dl66wjhaj7hfiBMrYhRRUhT2UHOvjvGGGOMMcaYffjTPWOMMcYYczu+0i8TcfiGL8TXoIMI7TfMAGAK6RtYa+WjSQuIDdTHmk2Hd1OPX2tEx/RWNDLlzuzyXHN4AZpRMvXF1NQXGjkDyLn1RIpC4PRCRYll8lNLKD/TXpE/pO8bcW5+wpxXJGfOtKSNp6hvnYIV42C20N3hLSiOTeQT55eiPWzOu+nwUDSXhDBU0NpxeAoasz/Oc+ddbuTAPaVpzXpD1PBa50+ZCH3y2mz1zlOoNzVfC6YJ9oPr7IqaW51aNZwBBN8dY4wxxhhjzA786Z4xxhhjzCP5Su/x4/B2NGx6H96GngUyIcPgxgbd7k8affmxAdTHmk2Hd1OPX2tEx/RWNDLlzuzyXHN4AfmAnJd6KQH1uQZQCYFKOiTLybAKYZWLCpGLBsmnOH0EJmfOq1c0njwfuQkc6MOckCnQam4Fb5buTnFsQoe+z9PRHsDmvJsOD2VwA7DSIc6PhYNQ6IxDt4fOy86BhDBkpPmeNKAalhCGb9b0d0NN4lp3e+cp1BuvTSFczSfYD66zK+JW4/BNU9mBpWejjDHGGGOMMcaf7hljjDHGvIev9B4/Do+lmGLfUAxBLMg1BUXy4vgCMA5Ia1j2UBxrNh3eTT1+rREd01vRyBLWZt90eDrFgDzSJCWgPteA3JPX3HoiLMTkdRsnwrQX5de6rhihXlFSb6CWOsAnd4M8khw+edQaKXd0nsvJaO4F7g5uje5OcaxJ9/P8R/1uaEwJYajYdHgomktCGCpo7Tg8BY3ZH+e58y43cuCe0rRmvSFqeG2oR0yEJgGFx03B3pYBVoTwM59wPxCmVsSVFiFNZQf6QxgPMcYYY4wxxhh/umeMMcYY87f4Si/643A/ivaOdIvAnNBmnFjr5qQF/PvJoTjWbDq8m3p8aXjMkalpfSWad3P2TYenUwzII035yNTLjciTFNYTYSEmr9s4zjLb5z+kI/mnemAJhkg4CyaHwLSXJj8XJkdmoCqA1hNRfrOPdKP+/ekVxybyifNL0R4khKFi0+GhDG4AVjrE+bFwEAqdcej20HnZOZAQhow035MGVMO81p3LIc53RU02W73zFGwMFAKt1FA2BVgUrlP7QUi+XtJUdqB/HIwxxhhjjDFmAH+6Z4wxxhhj7sJX+h0iDhdT1PrJ0r/F8gPC9+899bFm0+Hd1ON3tlE7v5t8Xslhq5BDx+fRFAPyCEEaQn1TGYcqZJM8toOqMDnkqSojqAQ5PT9giSsyAyaXfG6VPDk4Nz+TM2Euk4vWZXZQ3J3i2IQOfZ+noz1IWJt30+GhaC4JawP2rQ+Cg0Doj/PceZcb+XlPw/AJTWvWG8KG00ztodb0t4L9Q1hW/6gp2Dl6ywW1msumAMvBFfuZWlFzpbN7ZmljjDHGGGOMGcGf7hljjDHGmJvylX6TiIM5CawULL9dpB8eimPNpsO7KcYvjgV96/vI590cPHcO1bsoBoRMvTSEbhCglI8EkvufSKocpak5HZUQp9e6ND+TKyeEE/Orc+SEfG5ywpzFig5yesI/TnHrN58EOGz6vADNqHnDULHp8FA4FOgPKOuaw1PgIJQ7s9DtocOycyAhDBlpvicNqFkkhOGbNf3dQJ+8Nlu98xTqmQKuoDCZGi1qakVcaRHSVBpjjDHGGGPMcfzpnjHGGGOMuQVf6eeHOHwe0+vxM9+P58lBcfwLYF6Q9rostjjWbDq8m2L84ljQt74PzUu5P7icOz6PJh+QMvXUUAbU58rcmeT+J1IUyns4i7wEhCvyh5Q4d4QiOfs/MT9hwtOTs/kTEyKVFnJi2j8OVgqWG//9GOTHJvKJ8xvRjEBC2Co2HZ5IWsDQBuQZ58fCQSB0hgUctuNwWzggOpcQhk9oWrPeDc0iIQzfrOnvhprEte72zlOwMdARwtV8gv3gOrUfhHCrcU40lcYYY4wxxhhzEH+6Z4wxxhhjjvKVfiqIwy6KDDziSmiiTIcjKCEpjn8KDA7SXpfFFseaTYd3U4xfHAv61veheSn3B8+dX4kGBJSpp4Yy9UAaQE0cBja5m5+pApj2uvzk9BG0H+Zkfmo2yXe7Bn3y5OP5+yAbkxMmj8MkCFSqXDansNyn7O4UxyZ06Ps8He1BQhgqNh0eiuaSEIYKWjsOTwGDUOgPy3nj/CjYOZAQhow035MG1CwSwvDNmv5WLEtPjx+7pTKH+htOkRpfeusI4Wo+wXJwxX6mVtRcqfdsjDHGGGOMORd/umeMMcYYY36Zr/QzQxw+gZ6vxSkAyCDM8zBVHLo/E/4disXmR0CfnE2Hd5OPXx8L+tb3oXkp9wffdHg6aRn/tgGoL6amT6GhQGXtcC4/UwVckR9ts3PK55ZgcgjIeWlyHpP6LqArtZTL5lyw2OWp+n6uimMNHDZ9XoBm3Bz2rdsY3ACsdIjzY+EgEDrDAg7bcbgtHBCdSwjDJzStWe+GZpEQhm/W9HdDTTZbvfMUaqwjmBosB0CYWhFXWoRQGQdjjDHGGGOMOYY/3TPGGGOMMffi6/unSr5VL4CSVhCqY5yb7bnkiwU8Ah7DKSPMf3V7xezFsaBvfR+al3JncHmuObyAfEDOS72UgPpcA3JPHnPrWaTK/36/ZJXBQgzsk9J/uI3nh9tICcAqTCuhz1RyXJVc8ikgYZHzxOQE+adywhmwK/MDpEfg399dcWwinzi/kXxGCmvzynPN4aFoLglhqKC14/AUMAiFzjhpGb1t3Bl2DiSEISPN96QBNYuEMHyzpr8Vy9K//7e42SqniMOdYGOgI4Sr+QT7wXVqPwjhVuOcoGYqjzHGGGOMMcY08ad7xhhjjDHX8pVencfBfKO1FPup11U71D6D1Kl4xBWkxH/9tTtXAbSN4liz6fBiitmLY0Hf+j40L+XO4PJcc3g6xYA80iQloD7XACohUFlY+8CTsZsUVSCPVxlB+S+FJc7tnKh/7UfyKSg/ZWQ+MTkYzwmf1Mu/m0VNHMxlcO26R8WxCR36Pk9He5AQhopNh4fCoYCEMHySpn/D+ByEQmccWp84b5pvaV5CGD6hac16NzSLhDB8s6a/G2iS12ar1N9wimW5n/uvhXA1n2A5uM7up15pWnNvz74FxhhjjDHGmBH86Z4xxhhjjPk1vtKPCnHIjoWeQAkg6OU4r4PAuVlL4AigB6H6wxTbKI41mw4vppi9OBb0re9D81LuDC7PNYenUwzII4V8ZOmhpJArSe5/IipxXf58CnJuraIEkp+YX8mZE/KJyUWefHf+OjD13ms4VSv/V7LQmKvhPQLNYw0cNn1egGbcHPaV21jucZpLwtqAfeuD4CAQOuOkZYTb42DnQEIYMtJ8TxpQs6y1/Yhx1OQySdUtrLedgo0BdVgIlE0BloPr7H6025ymErBEzpqnMcYYY4wx5o/jT/eMMcYYY8zv8JV+XYhDCzjUPjz2A2uKPDiGVAE3kCr7lXq5jeJYs+nwYjR7cWyuom99H5qXcmdwea45PJ1iQMoQpCHQ49pU5uTWU1iay6pALno4TrNEHE6izn/6CLgy5+nJCXMONr/pIJoJqYEJ6AikMT8J185bUB+byCfOb0QzSlibd9PhoWgoDRiGT2Rdc3gKHIRCZxZanzhsmm9pXkIYPqFpzXo3NMta22v6W5GG6D171N9witT4x/5zgXK4mgwuB8LUfrjPIqSpNMYYY4wxxphB/OmeMcYYY8xVfKUX5XEwW2hdfN9dbI/KXLN7t0oFgXINrH2HP0WxjeJYs+nwYorB+6voW9+H5qXcGVyeaw5PJx+QMvXUUKYe1ErKJLeehUowM45XVCFMe3X+K0bIb8R48uL21cBBPsjJ42DyEeqE1EBYZviuCGg1vwJvgW5TcWxCh77P09GMaR+9hWw6PBENBSSE7RN5xvmxaIo06wuHZeegM0Ka70kDstu1ttf0d0NNNlu98xRsTB1KkIlupgDLwXVqP2m15UqbSmOMMcYYY4wZwZ/uGWOMMcaYS/hKvxbEoUVuLZyXd97piKvefeeyoKZfK7fmGaAE0OTKnE2HP0WxjeJYs+nwVurBa01O3/o+NK+EtcE3HZ5OPiBl6qmhDGgqNCElaM0dzoWZL6qSzzKVv1hCE/jQjWkhD+aHGwP7FD4jyccz0w3+gyFTNBOmmicXMkfA7eAD0DzWpBt47b8Gv04+4+awmw5PJC1gmUtCGCpo7Tg8Ao5J4ZXDpvnihnZGoDUOt0ezrA3VH/YmoEkAYa1VThGHO8HGQCHkJnqaHCwH19n9aLc5TaUxxhhjjDHG9PGne8YYY4wxf46v9AY/Djfg0n7q5DzqfTqOAEdpCjYd/hTFNopjzabDW6kHrzU5fev70LCbg286PJ18QMrUU0MZyCfOGVR2HGoG3UDq6N+/mVNVBlEJcl1+pr0ouTgxv5IzJ2QIJ+Y394fPgO57cWwinzi/Ec0oIQwVmw4PhUMBCWH4JE3/hvE1RZr1hcOy8/4INK1Z74ZmkRCGb9b0dwNNUmi2yhFuOEXa7sf+ec014WoyuBwIU/vhPouQptIYY4wxxhhjOvjTPWOMMcYY8zusvc7mm+44HAN5+P6d5GmL9+k4FpqCTYc/RbGN4liz6fBW6sFrTU7f+jLyYXM5zJ9sOjwdDSiZ+nxk6msNZSrpQM2JqJCqJPWZqMRF1PlPXFSRHPIVyZGTMoQT85v7o/vePDahQ9/n6WjGzWFfuQ0MxbkkhKGC1o7DI+CYFF45rDrvjAATrXG+PZpFQhi+WdPfimXp3/8rXLdK6z1HUGMUUqcfmuRlSrAcXKf2k1ZbrrSpNMYYY4wxxpg1/OmeMcYYY4z5HfQ6G9dQtZBP88X3mr6mLoQjw5Wh1hRsOvwpim0Ux5pNh7dSD15rcvrWl5EPKzlsFXLo+DyafDoOS72UINeTXEM3OZ+LCl1XRYOQ00toBMrIf2IJZUbO05MT5lxm6P6lmFdSPFTFsSY9Jpc8h/dBM0pYG3bT4aFoqP50afrFIc6PRVOkWd82rDqXEIZPaFqz3g3NIiEM36zp7waa5LXZKvU3nEKNdYRwNRlYDq6z++FK4/ANUxljjDHGGGPMJv50zxhjjDHmeXylt+1xeDhTgzRfiK8xuCX4MK0y15qCTYc/RbGN4liz6fBW6sFrTU7f+jLyYTenzp1D9SKK6XikSUpAZaGRp5D1RPJCEPIeTiHPD07PL5j29BHY/HXJlfP05Ob+5A9AfWwinzi/ES1hc9hNhyeioSSsDdi3PgWOSaEzC61PHFadd0aAidY43x7NIiEM36zpb4V23uwTVjncCjXWEcLVZHA5EKb2w33mIVPhxhhjjDHGmL+MP90zxhhjjHkJX+n9exzeCF+F84pj/z14sY3N5cAK4AbWNAWbDn+KYhvFsWbT4a3Ug9eanL71ZWhYyv2pc+f3oek4II8UNDKVQG5SUia59XSYuejhCq7Iz0UxLUdI6nOok5+YHwmZkzKV74MDps19QOtfJn8A6mMTOvR9Ho2WADaH3XR4Ivn4lMPwSd/6IDTFMvPrhlXnEsLwCU1r1ruhWSSE4Zs1/a1gkxCWvbdave0IbAyow0KgbAqwHFynloMQrRSE1hhjjDHGGGO2WP4fthCNMcYYY8ypfH2/HD/9v7iaOUcKXdTSjn42eygcdIRAjY4Q1pxJfmz6F8CKa5EB180Q0PH5OxTrGtzeH1xdPXh/FX9qURp2c+rXryUfkDIpRi72kHuK2rq2txEHmPIqOjIkl2tG8uOapxIspGtoM6aS61gwGFvAlniVhgL1FKgp2GFdSw6ZmrVs+7gobQ6nEPk41Mih6EE+l7YHrs4/BbdRLKff3ojP09E92hxWnm9CU/fH31zOU+BN7N/K5w6rzvsj9Me/G/lQzbYfMQ6nAGsj4HrPKbhedZi3StPiZD7hlsDIfuTcx6s2xhhjjDHGFPj/JTPGGGOMuQq+/r7iJXgz50ihi1ra0c9mD3KAQE3Tn25FtvzYNBXKJvDBtYjFtR844vNHKFaxuZk/u7p68P4q/tSiNOzm1K9fSz4gZVKMDFPuA1nOkgslhQLm4TVUnxQOeULJYDC8hklya54WdMLlOZ4c1PlD+qQZK9gSr6FKjCTfzIxrJxCwdC6vZdsHE56eFuRtU8jJK6oHHgt9LlzE1fl3wG3kq8iPTW44xbnkS+gPO7KuJ6Kp/8L4nIL0h33opCN383G3krOstf2UcdgnaLbKGeNwJ9RYRzA1WA6u+X6oWaOz0magN2+MMcYYY8wfx///mDHGGGPMVfBFbfN17UHWXgFvFrqopR39bPYABwpyoyaPUpI825pM6iR9av+RDLNVXkyxis3N/NnV1YP3V/GnFqVhN6d+/VryASmTfOSmXkpo1gJz4EPPKQdlpokCNQXN8Jy1cJUgzXD5zCYHMvUb6GRm7I7km5lx7aQldICGVday7eOitJuoYlEaR1wL09XtXZ1/N/Vy+n3CAdd7znIWmnFz2FduY2r8F8zOKfqzbK7itqjz/gj98e+Gul1r+xHjsMnOCLjecAo1ps5zgSZcTQGXs0ZzaVpsH6/dGGOMMcYY87/4v8YYY4wxxvwU/bfepH5zDQ1AbCccpjrwCHXRWlMz4vNHKFZRHGs2Hd5KPXityelbX4aGpdyZWp5rDk8nH5Ay9dRQzvVCSrldQV3l9HIqQfmK/LgyLfOfXuLq5Kfn/EU0joQc7LBYY+3zdyhWURxr0vIWnzi/Ec0oIQwVmw5PRENJCEMFrR2HR6AZO7OkTTxyWHUuIQyf0LRmvRvqdq3tR4yj29HsE1Y53Ao1xmshUA5X802xEy4qJwx7QYZ0B7x5Y4wxxhhj/ijL/z8WojHGGGOMOZWv75fgp/8XVzPnSKErmgE7+oGVwkjPuOZudSxrFRWLI6mzjVPHUgM6CY9UfBnFKjY382dXVw/eX8WfWpSG3Zz69WvJB6RM8pGbS5Az9JCbK6J+zQpGHHClD4WkDsbDeSygNSf3lPWU5HCDRs6bsYV/jmIp5HIuJEtJx5pn05EJ17Lt4/SEO2juYW0DSXcyd1hCn2L8zW1cuq6boBn/5jamxn/B7BwT9Gd56LCDd/NZ06nbtbYfMQ7vCHjWCPXya+HPgg2ElNi3jcE15m7evDHGGGOMMX8T/38CxhhjjDFXwbe9V/znVvN97shL3oteBM/2A1NI34x0HlLLmbXyis3qtdsOEI5rkaGpzNl0+DsUq/Dq1qgH76/iTy1Kw25O/fq1YEBNx2FJPnK9hNyTFCti2jx5wYhDSCk5j3IeDO9YlTOH/tI3w/tWkJcuSqjoSGxNYVVypaVMoaCTuY6FhjnXsj0FjSY4UXMbhbLpc5ynbLXoc7Pti9Z1K7SEzWFfuY18/L8wOwcBrxx25G4+azp1u9b2I8Zhk6DZ521HqJcPgX3etucr4LA5Rwavs+XUmbVzUhyNMcYYY4wxfwH/vwHGGGOMMVdx3cvu5svckTe8V7wFXsvZryUrBVyp39cewxW7Vlq19lXJaTZctFGz6fB3KFbh1a1RD95fxZ9aFIblpJtTv3stxXQ8gmLe3E0+BXkSyLxSUzDigCt9qJGswLXwPIRCQREu/4LdyXHNrdLsiM1pWpWT7MhcdwUNZF6peQrNbWiQYlIeixkLpWLP4vSE11GvIj82edB0+8iXsDns+7ah8fM9NHnH7BwTvPJGD97NZ02nbtfafsQ4vCPgWSMUy+cUuWZxehecURyZsUhFOtvr+Iu3rt0YY4wxxhizhv9/AGOMMcaYq+A72Sv+c2vtFfBmrSteAa/l7NeiFVce6Vkcx/k/e2+7LD2qc9nGe+7/nvuolrK0VXwI2Wk7DYzxg42FEJqTFdFPUh3dxVm9o+3Qo/UDtOfidBmDI4YJ+1BYgXU9auGxFfsY5ZUOVa9tS6FOP4VCr8UVb50hQYnY+In+l0yCjLaqn4Lusklzu0/WSYFuLLbbLuN0cRnrVYv3EoRgSRhuNILT9dNje21VIjLXUSOvZShcMCF+ImMRNKxmnfw99XEvp5A/dONau96JadzTDRGlimJ1y2hXIcKSF+1vc42rtG57igKl70GbDCTI+EIV1ph17ie6JOPsqBbhtByr4OlVMw9jmg6vZDsAAAAAAAxJ/XgAAAAAgBPc99jafALOvAtnco7SqxmcJUs6sQSN6Ge9msEq+FIFsqQJhypnqA8N2lCGCftQWIF1PWrhsRX7GOWVDlWvbUtthVLotSWL+4gVkUmx0bAc/axpJtgpRrOCpQWny5KOn9C/+CNOF5dxuNpMS+7VzwJdFZrFg71+o34Wk1dh3SqZDv0Wn++VyliUKoLNnBPYoXNRtD1UcZVdb8ZMyLixmBX+fmN1PnNeVIWw5EXbHcWXNZc67banKFb6ErRJYbobKcz3br+25zxeThLdUpMskjRN05rtJSsAAAAAAMDs8E9/AAAAgFuw59c7/rnVLPurV93euUE/wRYZdUnnSl6XVg7qB6vfoz374nWkYJiwD4UVWNejFh5bIaubuOR9GP55DBOmprZC8XqbDliyxGOL4lUhSLBTlDrHt6GTAkmQJR0/IUdcP1NcxnhVqXvI7M1UFrS4TmQM9tpGyywmb6BoMontMortmmB6bW4UQfk81EDN9xV+RW2F/2wyr9gkZsLQjYxd03FI/gLaVaaw5EXbHQWXNZe6oaJA6XtQz4W5JNTm15MZ0eZjCbL6mVUcFX6olO+q7jDuGQAAAAAA1oB/9wMAAADcgj6w3vTM2ix7+VlSUCdx2d65QT9xq3quJlgPQtyGopV79ePVq9Ce/RF1pGCYsA+FFVjXoxYeWLGVS16szGPVw4SpKaz4i/2Dl+xzDEuWeDNB6MWNOCE+wq/qpEASdGMzwbZ7LDNTXMZ4tUbzM3szq8VcJsFeXRJ8vp9MhGlRakV/4dIHjfucOsEizYQ8vtSMFPKHbnxp1xTYne7phpe/vHZVIcRCYitei91RfFkTqRsqipW+BG1SaPb5WgnefG3PT3RJxomohehcJzVHBdalggrNc32+b1KpIwAAAAAAsBj8ox8AAADgFvR19aY31mbZa8/y1WQuY6/4iWYyrfpDda7EG7Vyr368ei3asz+ojhRogvBAey+n8Cpp3Ya+1cIDK7ZyycQOVS9vixeoc8VLrk0oMnsJPlIQJ8iqlRWKI3xcJwW2vZlQbLdPQXfZXCcFmpBZ9ZU931dWLGIHNfcWq/JZTG7FmtTPo1jzSk9gLU3GItkH64Qi0qyQQTae2PU2ajdiUaftmgUvMOPGYlaY/OFFr6FdZQqxUhlnFGt3FFzWXOqGigKl70E9F+aSoI1p835iS/8kzYDvVlXUHJVT1PnejcJSrR9HAAAAAABgJWb6lQUAAAAwEfr2WrzAXkWz7E1nGb36J5rJtyqZMlqyfgq97Vq5Vz9evQNt2B9XR2oyOTtQ+DC0ZVvfauGBFVu5ZGKHqpe3xQvUueIlFzkyKTI1qJ8+uUmcYPV11KCfK5ntn5DDF9RJUVYJisuYX62LX1VZyBS3HF2Sz2JyOb6ro0cUijLbe4q0lC39xf7Bcop8wW/RzyJhyIktr8VrKZxpspL2JmbC0I2MXdNh9xtf9BraVYUSi51Rqd1RfFkTqRsqipW+BDW8Z/trJVjDweTlaJ8yfr7/5WjzRYU7tOsRvnJtch0BAAAAAIA14N/6AAAAALegj6o3Pa02yz7wjJs/N27maKuSrxPdZZ9CUUcr9+rHq/ehDftD60hNJmcHCh+GtmzrWy08sGIrl0zsUPXytohAU6diFS/Z4uqYjhoxLOg3enwRnRRYZUvwWzLbZYxXhSLB4so3xetVf2icc+LcuLhf1c9icgl2inCibNHkIWJFReXmZ7HL12kmBPi9C1DIH7px1K4ZsSvOuLGYFSZ5E+2qItYytOK1mK5A4FzqhooCpS9BDReCG3mhBG1bGvMT7dMiMr4N7c042mSxXXhMptmrFJ9CHQEAAAAAgAXgH/oAAAAAt6Avqje9qzbL/uoN90Qzp1uVjTLqXp0rVk0r9+rHq3ejDfuj60hNJmcHCh+GtmzrWy08sGIrl0zsUPXathTq5FM9KfRqmuAzdaL5NtdJQSZB6xQJ9SnNCsGS4IvoxGN7ZXK6eOboOvOSyoIWt0xb0ogt+Zzv0VMuLJgno6jO8Q37uVJE6oQeVn8lajdijXm7JsULjN1Y0gqTHKtbQ7uqUOKLnlGp3dHwKmdRN1QUK30J2qTQ7PO112GN6cRb/YaetR/P0ZaKCjcpSp5SWKq7ishNHQIAAAAAwK/gX/kAAAAAt6DPqXc8qjZr/vD19kQ/X3Yr22XUCjpXJKKVe/Xj1WfQhn0DGhGCrupde1L4MLRlW99q4YEVW7lkYoeq17bFq9O5UuiVpTqiE4kHFvk0nRRo5bq+UpxS52hCUFwncXGjSMsUHx6tSJpELPn7ylpQI4qP6F75LCaXYA3op+KbufCsgoyiXo52aEs2V4pInVBT1F8JL21zKxQzYehGxq658Irii15Du2pcVanpCgTG2t/GUNH75UiHOun1L+MLJdTO+4mMT/asJxpHjy62C880n2/bvDWKiJZ6pm0AAAAAAHiA8jcAAAAAAFyCPq3WT67f06x5x0HfEPdzSbdSREato3NFIr36Gr/k9C/xzRvNoGeYsAmFD/op9JzZ1rdaeGDFVi6Z2KHqtW3x6nSueL1NByxZ4sMEnRRIgu5tJth2j89sHmrEpzeLC5acKZ5ZLQ6S4FWV7bPAzi0ml2ANFEdfeESPjKI4xwfrBInIGCR44tXZqa3wnzXDhAWwGx9e/TBhOux+hxe9gHbVqKynNHOVwdIL8Yp6ct6vRVUIE0nwztvE+ry1Zz3ROHrQl9t/gpmsn0Lt8K2eAwAAAADAk/CPewAAAIBb0FfUO95SmzV/+Gh7op8Lu5VSMko1P+kV16ULT/8S7Vnw/ZgQ/awZJmxC7V7szLa+1cIDK7ZyycQOVa9ti1enc8XrrR0oMosEW/VbPJKgu5oJvniB5hfHFcSnF6vFWRLMFM+vWsQOurayR1clXky+pHfQY2QUDXNUheXYXCkidYLRq78StRux5MCuNTCBQ6VLWmF/ADZpsoZ21biqUtMVCIy1vw3ttncjvfirMAnNPl8rwRq2/mXuI/8kfYfW9BwtW1S4pKufUFjq3Vau8hwAAAAAAH4L/7IHAAAAuAV9Qr3jIbVZ87EX2/qgE/1c261U+8z+XrGD4rp07emXoBJ8V3WkYJiwD4UVsTPb+lYLD6zYyiUTO1S9ti1enc4Vr7eXo0jcEmzVb/dIgqY1E4rt9lkQFJcxXhV8Qn3EN8XrVYsH27+pXKBpstSrFtOsqUjB02VPYycGR2dyBFmV0TJtrhSROkGI66+EV9q0omB5Z0zg0I31rDDJO2hXjcp6SjNXGSy9ELuI3o304u9BDRd6fb5TgrYtjVl7fqJLMubRXcaX24WjFd6MeWv4SL0KAAAAAAAzwr/sAQAAAG5Bn1DveEht1nzsxbY+6EQ/X3Yr2z+zP6yUlg2KDxN+i+ryvdWRgmHCPhRWxM5s61stPLBiK5dErCodql7bFq9O54rXW8eLSG+jxx9UYxV65yoXFlf8Ed8UH642005X1iVFi2uaTYb4CjVa08+TZa8ioyiTY0iOjJZvc6WIFAUz9ZehtsJ/1gwTZscLjP8SlrTCJO+gXTWuqtR0BQJj7a/CLqJ3I734q9AmhWafr70Obcwc9lYPe9Zk46jAL7dPR+2nRYZWAwAAAADAFPAvewAAAIBb0CfUOx5SmzUfe7GtDzrRz9FuJf8z+6O3V8sGxYcJb0DF+g7rSMEwYR8KK2JntvWtFh5YsY9LXulQ9dq21FYoXm/tgM80ehbFBlqpOqE+pZdzorjijzhXPFlZPn3m6cq+rKJpRX2jzi+QXUWOL9grex92YnB0JqdAMmW0XTaPP/P1l6F2I3agyF8PEzhUup4Vh7TPLlw1KuspzVxlsPRC7CJ6N9KLvwc1XJjrOmrn64nOdWIc0vLl9hhf/MKyl6N9+g6t8ze3DQAAAAAASd7+qxUAAABgUuqn1auQynXZZvBy8kfH/WS6lZzPLG2jlg2Ka81ktd9StzpsfiJ1d1NYETujq8Ju1tW2SCR2aQeLvNKh6rVt8X8PqlSpg94Bn6k0/Ymta1b2+ASZF2lXFTd8Zqb4cLU4QvODvZafWZXPevLP8r9IMBP5zBxa0Mo+hp0YHJ3JaeLzi73yKaNf1Yly6JQFKIySMXagMHM9TOBQ6XpWeO0y9tTFq7OgKoRAyLxK/VUG9ziLNLuI3o304q9CmxSafb7zOrzz2p6f/JNx3HbbqNyn2lpVis8XUnf4/p4BAAAAACAD/7IHAAAAuAV9br7j31rNx9lnXmzzR8f99LZ8Zv9yVJGWDY7WI46W/SF1w0MJ02m8j8IKrGtyyKV9LPJKh6olYVVPCu2qtNbbjHxm/9JMKIKGbR8meCz5kuK66g/ykczemmLVPutTCiwhs+qrKcURTZqVC6SIlsokX4idGBydyekhW2S07TZXeqt15vIUkocOLG+RCdzQCq9I5rH2BYSrXmE9pXaVNvkL/4dg6YXYRfRupBd/D9ph0L+ML5RgbcvcT2zpn6Q+mm88JvBX535D4WfGXgAAAAAAeD/8yx4AAADgFvQV+I5/azUfZ595sc0fHfejqzJ+vv/QiO2KKzSxsr2NeuLRsj+nbnsoRBOE6cReTuFV0rrdfDvk0j4WeaUyDySv7Unhw1/sH7zewgGfJki8meAreGx7nGBlPfVZBbKqOcPi/rMgubeguWrBYK/10FvV7brqJ3/rDZp1hhQHPUYtrSaTEyMbZbQixVypK/vMTSgky2csf3mLzIGh0vWsMEWxtDWEqwphySuWzrVtm9QES2/DLqJ3I+/Xop0Lc12HddWcyGg966fnhXLejBlbzAEAAAAAYF74lz0AAADALRTP0xfSfJx94MW2d8TRfmRJJ/GuoEIP3TI8+mjZl1A3n5EzteQLKXwY2rKnb4dc2sciUzqUvLYnXp3OFa+38Ko395O/lRJZ1ZwgQUZb1c+Cq4orxRGH9hq9VSsuS/Hpzcqyqht11ZI9zY1HKQ56DC+td3QmJ4Nsl9FK/cX+89ks/uWhM+IlB84Ya1vkHRgqXc8KUxRL8y7Ni6oQYqUzyrQLCm5qrku0i2jeyBRatEmhdx0v7N+M9RPrM1YEHvNKqR1rOgwAAAAAAPPCv+wBAAAArkffT296RW2WvfvFNqh/op/eqo/HFZrolrj4ibKvQvqX0UuoIzWZnB0ofBjasqdvh1zaxyJTOpS8tidenc4Vr9d7ZXFL1rjNdVKgG/32Aq1QrFpZo7n9XHHFHxEknKgsWHFJkLlP80s68Wiy5Si9U77BDrqjeICdGBydycnjixQF5VPG+ohefGEKyUMHlrfIBG5oxSHtswtXjcKSV2wXFNzURJdoF9Hr+f1aVILQ61/GF0owY3Xi+7QliPFGBaZ5bwEAAAAAYGr4sQQAAABwPfq6etPDdLNs/qxzXfV2HY0LyaUgrYnl9zZq/GjZdyIqZPRC6khNJmcHCh+Gtuzp2yGX9rHIlA4lr+2JV6dzxfRasHDAxwOLZEkTmqtCvFcnvSO+KS5YfaUuLuP3lSXHJ9tSvbfY9Zndg5yljd19UIGdGBydyTmE1JHRatpc6Z1SZy5PIbnnjLG8RebAUOnQq+nw2mPhMs6uXVUI612xXVDQ/1yXqEJ6PU+hRZsUmn2qwM/HazBjrT0/+Sdjnj+hn2AuCbFRZiwAAAAAAEwN/7IHAAAAuB59P73pFbVZNn/Wia6CLb2lE1sEvxSkNbH83kaNHy37ZkSLTkxRHanRnGVMOE3hw9CWPX075NI+FpnSoeS1PfHqdK54vU0HLFniMq/90WBzSWmWNay+UNe5sLhhycFe25g51+bFcfVeSegVvBw968kTFTsxODqTcwKpJqNVtnn96bm2hynwkgNnjLUt8g7ESjNezYUpGkqLnZkC1SgsecV6QXH/E12itdrr+f1atMOgfxlfKMHalnnRvwaFF7Y9Ed5SAAAAAACYGv5xDwAAAHA99kh9x7+1mmXzZx3tKs4/0Uyw6pfiIjWW39uo8aNlp0BEyeh11ZGCYcImFD7gW5NDLu1jkSkdSl7bE69O54rXWzvgM5ViVT51/IT+S13QUxdXND8ubnszRxcHaVmdaMRzqLJikd7e4Lg7kOO0mcdOVOzE4OhMzmmkpozN+n7J04svTCF56MDyFpnADa0QRSonlraGcFUhxFc8o0x/jwtcorXa6/n9WrRDIbiOF/ZvXenE+2yRF7b9fryTAAAAAACwAPw0AgAAALieW5+hm2XzZyUzJU0ncfKJZoJVvxQXqbH83kaNHy07ESJNRq+ujhQMEzah8AHfmhxyaR+LTOlQ8tqeiDqTpkqFQqx3wHIUCRarGikqKLa3uSoUpf5i/+Gq4kp9xFWVFYv7BB/sFbwcPevJExU7MTg6k/MlUllGKW6Tv/A/1BGlF1+YQrJ8xvKXt8gcyFixkg/+ZmNpCwhXsUIsU8bplFrbcf8TXaK12uv5/Vr0LoSJ+teepTFrz0/+yfjjhZ2/lndeNAAAAAAAfAP/ygcAAAC4Hn1LvelFtVk2f1Ym88tq8fZg1ZbyDRjDvRo/UXkuRKCMXmMdKRgmbELhA741OeTSPhaZ0qHkhT0ppOmnUIiVeGGUzyzmxV7F5+ikwBdXekfoxHOiuGIbhWsrC764Ymmy1Ct4OXrWkycqdmJwdCbnEvxBMvqzekfXmcvjrcjI71m3BubA0IqMV3OR1L6GcFUhxFc8o0xrO+h/oku0Vns9BzJfgnYuNPt87V2osdae77NYkvEcWsH4ptQ7MYHrSQMAAAAAgLf/FgUAAACYEXt9vuPfWs2y+bOu7epEM71VHz/RpG2J65+oPCMiU0avtI4UDBM2ofAB35occmkfi0SpyhxKXtgTL03nihdr8V6wmWDEq4Im1Kv1EXGOTgp6GxXbLhQ531T2ZQWfI0u9gpejZz15omInBkdnci5B6uvEjrN5/em5u7G3kXdGGSbMjv0BZKxYzAevPRYu49TaVYKwnkxrO+5fVmeRZq02e45lvgRtUmj2+c67qG33Exllnuxc8wtsoxaxmhr8kvrEqyr3eP5EAAAAAAD4IanfQgAAAABwCHssvvzfWs2ahw66tqsT/fRWffxEk7Ylrn+i8ryIWBm93jpSMEzYhMIHfGtyyKVNLPIyh5IX9qT2QfFim/ItWeI9f3yOTgp6G5X4iKuKG5b5TWW/V+Y+p/i8FT3ryRMVOzE4OpNzCf4gGZuH+iVPL74wheTCqJq1LfLqYivW88EUDaXFzkyBahTWk2ltB/2r/CnUWau9ngOZL0E7F5p9vvMuatu9zzqvO9eIx6/WWE1f/EuO9nCC4ojL6wMAAAAAwJt5+09QAAAAgBnRN+ILX4qNZs1DB13b1Yl+eqs+fqJJ2xLXP1F5dkSyjF51HSkYJmxC4QO+NTnk0iYWeZlDyZKwqiG1D4rX2/THkiVeJ/hVnRQ0axqyamUFnVvy98Vl1FUrJegpNteJJ78qc59TfN6KnvXkiYqdGBydybmEor58yigRm/yF/6HXSZ25PN6KjPyedWtgDgytyHg1F3az8RUvIFwlKD0hk8q0tuP+ZXUWadZqs+dY5kuY8S4K270EvySjclRCUV+Db8MLVF7bKgAAAAAAPMD/9/lfAAAAAFid+nUYduD//SG3b38AdaRgmLAJhQ/FZ80wYUkK1cVnQby6DF6mn3+W/0u8OjVeu841rhGda9xHFE3WYDPhKrRssn4mx/hT9j/JOoHF0FuW+7WJ3XXxaVjm53sDvBUmXz+bDBOmxhywyWehYpgwHSpHsMln4b/86Z5buErQyWIyrW2bfBb+iy71Vl+FtdqU84/IvsyXIB3K+Cei0ec7+7eudCJjEbG58s+e+VFdxkeb45MHAAAAAABb8s+PhM8UAAAAAC5Cn2J1/IQuolkzeZCkyXhtSyf66a36eFyhiW4JNg4TdkDky+gdqCMFmiDs7JtQGJX0bTfTDrm0iUVe5s6G1D4oXq/lyMSPutqM6KRAE4JVK6WfGi9obj93dHHEicp+VeY+p/i8FT3ryRMVOzE4OpNzCVJfJ8UpGm/24Jc8vfjCFJILo2rWtsjUDWWu54NdfSxtAeEqQVlMprU9vMRZpGmrPTmxzDegHQrNJt/Zv3XlJ9aknx/F9n5T5EtUlOdXnQAAAAAAwBT87NcLAAAAwMLoG/E7bpMCAAD/9ElEQVQdL8XNmsmD9Pn42pZO9NNb9fG4giAJn5lDtgQbdWlYeQfUPe9DHanJ5CxPYcLQkz1NO+TSJhZ5mTIP9K5tSOHDX+wfvF6LW9BHers8/pQaWdU6PsGXVZrbLe3E0f6IOiGu7Fdl7nOKz1vRs548UbETg6MzOZfgD5KxOMuC9WozX+jFF0Ykm96MfJ+/HqZuaMViPni9sbQFhKuEoUwZp1NqogJ1sfBXMZTzfi3SoU4m6r+wXSX4yD9JBylqavButHPjsXMBAAAAAGANnvv1AgAAALAP/sX5Wpqvz8kn6Tu6OtFPb9XHgwqyJKOs6kTnMuqWeGOcsBtqoHejjtRkcpanMGHoyZ6mHXJpE4tM5lDv2oaIOpOmcx8RmvI1KGi+TjRSMFzVCnXC8AifoJOC5i7F9ho+La7sV2VebGxuuQM968kTFTsxODqTcwlFffmUsTjRNyNjkd9sr1lnYQq9Q/lr++PVyXwrH0xRLG0B4SpBia94OpmZS5zoBody3q9FOxQmugtvu/bmJ7okY566zh1ob8Z9BwEAAAAAwA7M9yIAAAAA8H7OPTFnaL4+J5+k7+jqRD+9VR8f5hTJOpFIb6Pg03QCQm1LxijN2dzJwoShJ3uaJqq95NiETSwymUO9Cxvipelc8WKb8i1Z4j1/enFFVnVvM8HqC/URthoUl3FY2aPJcWVZlbgfPwv/Ln0+7sF6E+oGHsBODI7O5FyC1NeJP6U+VNOsJZvXn566ztrUzsTyA+sWwNQNZa7ng129TZrEq1Ogdyesd7+ZS5zoBody3q9FOpRxrrvQrqxz36QGhXzbVi2/JcZ6MK6qDAAAAAAAILzxdxoAAADA7OjD7h3/0Gq+PiefpO/o6kQ/vVUfj8vqREaZF1uaGxXLLzaCUtsyNAonhcIETKupJccmbGKRyRzqXdgQL03nihdbyy8yewk+4pFV3dVM8MUVn2yr8d7Man2Q0tsrcT9+Fv5d+nxcRNGb1W828AB2YnB0JucS/EEy2lnFp+KDRWPNfKEXXxjvTEZ+4eRimLqhFYv5YHpj4UNbpkBVCIvdb+YSJ7rBoRyJv1yIdi707uKF/VtXOjEJgn0m27YKyfwaf7pwug4AAAAAAECGN/5IAwAAAJidQ8/Kh2i+PiefpO/o6kQ/vVUfr3M0IqPM/ZJFLKHYaBR761Ig1LYMjcJJ4ehf14am1ZJjEzaxyGQO9S5siJemc8WL7eUoEq8T/HaPrGp+M8GK+1I1mb0FzdW6fm+vxP34Wfh36fNxlqKNXsFmAw9gJwZHZ3IuQerrxI6zef2pWLBebeYLvfiqFHqH8tf2x6uT+VY+mN7lhasEYT2ZmUsMlt5GLEeCMr5Zi3YoNJt8Z//WlXnuJ7ok45B6e4wW9yQPAgAAAAAAuITUTxcAAAAAyKOvw8k34qM0yx56j762qxP99FZ9vM7RSLBXxiBBsBz9VJpBqG0ZGoWTQmECptXUkmMTNrHIZA71LmyIl6ZzxYv1caFIls/eRo8/qMZX00mzfnP76VVbEnp79XQbPwv/Ln0+0vgThbiCT64beAA7MTg6k3MJ/iAZm4c2e2huVJr5Qi++KoUzQ/m1kyth6oYyF/PhkPDZVatGYTGZmUsMlt6Gl9PT8nIhKkGYqH/tquj8UKuW3NtlxZV8ZQAAAAAAgDt4428zAAAAgKnR1+FDL8t5mmUzZ93U1Yl+eqs+XuTYZ1BZl+IEGZurwdLO1LYMjcJJoTAB02pqybEJsrqDP2bC8E9imDAvXprOFS/W4r1g7E9mVSgSMvV7e5XkqlKfrufa+Fn4d+nz0SeuX+PzLbnZwAPYicHRmZxLKOrLp4wSsclf+H9x/VR8sFdHP41efGG8Mxn5hZOLYeqGMhfzISlcVmWcWrhKENaTmbnEYOltaKu9u+jF34N2KDSbfGf/6nlzkqHYJaPGjXwpAAAAAACABzjwgwcAAAAAMtjr8B3/0GqWzZx1R1e9avEpmV1Fjn5mygY5siRjXEHGIGFPaltwMkNhAqbV1JIDE/bxx5QOJS/siZemc8WLbcq3YGBOsCTYccFeoXlEfq9OPLbqsUxZ1RNt1LhQfBpFwWZOgd/Sq1k38AB2YnB0JucSmvX96TJaQvGpWLBebeYLvfiqFHqH8tf2x9Tt5sMh4bOrVo3CYjIzlxgsvQ27gt5d9OLvQd0WZum/aPhQh5ocSwYAAAAAAHgPb/9JCQAAADAd9kx8xz+0mmUzZ93RVa9acEpyqUiTTxl7GxXdEtfXybCOTuK03aivoI4UDBN2oDBh+Ne1oWm15MCEffwRpSpzKNky18Nr17l9GrV8n+krGM2g0TtIsVWlOCK5N7PqD9JTivGz9pdZbxF8ToxtHG5pNvAAXmPv6EzOJfTqS1xG68Hm9adiwXq1mS/04qtS6JXPWPva/pj8ocyhUXORFD605f2oBCG+XBmnk+kvMbjBKXTZFfTuohd/D2p1z/Be/LdYV4faO7cLAAAAAADgV/DTBQAAAOBi9HX4pjfiZtnMWXd0daKZYNUv1fO4rBCn+VUZJRJXE5JpW1F7MnQJG4Wjvm1o2iGLNvHHy4wlr22IqDNpqlTwYmv5liZIvEio8z3NIwy/WsyLiE48J1YtKPhTmjnNsjVH8z3NBh7ATgyOzuRcQlxfVmVsdtLcaEG/UWnmC734qni9tUs1C/vj5ccyM0ZNxCHhs6tWscJiMu0SbfIX/g/B0tuwK+jdRS/+EtRqYZaLGBre5NwuAAAAAACAX8FPFwAAAICL0dfhm96Im2UzZ93R1YlmglW/VM+TZXtpVkTmlmnzgGTaVtSeDF3SBGFnJ2sTYt+Grq5HLTkwYRN/vMxY8sKG1CYoXmzTKEu2uZ/8rZTIquY0E3xBnVjEk9zrCVb9EbIqn0VOHSkoKnxmx9GDhsddjp0YHJ3JuYRMfcmRUdJs8hf+X1w/FR8sijfzhV58VQq9Q/lr+2PqdvMhKXwB1SpBWO9ypW3t2SY1wdKrsCvo3cX7hWjnQrPPV/VvzRzq6twuAAAAAACAX8FPFwAAAICL0dfhm96Im2UzZ93R1YlmglVbKnLkU8agptDba2jcRolYvs0DkmlbUXuScQknhcKE2JMNHaslByZs4o+XGUte2JDaBMWLbcYtKBE/10mBP6Wmud0fqjS3x0cnV5U6RxM0nuznBFJZSun4CT2CnRgcncm5hHx935KMtqv4VCxYrzbzhV58VQq98hlrX9sfk5/xYSUTksJlVcaphasEIZY5nUa7muCOJro+u4LmXbxfiHYovPwiYp+baGYsEAAAAAAA4FVkf/AAAAAAQBJ7Kb78H1q9mpmz7uiqWS0+orfq40WOfMoY1BRsS1zfr/qyfh6QTNuK2pOMSzgpFCbEnmzoWC05MGETf7zMWPLChtQmKF5sU75PVpr+xNZZkTphWD/YKwxXJZ6sIGiC7tLIJVgb15YdYicGR2dyLuFQfUmWsdmYXzIsWK8284Wi7PJ4vT1PPAv7Y/KHPmSMmohDwqdWrQKF9S7Xria4o1muz66gdxfvF6KdC80+39C/9ZBvxme+QQIAAAAAAMCQ/+/zvwAAAAAwJzxGn0NME8Q9NdDmn+UWybSt8J4IRURzajI5y1OYUHwWxKtLUkuuI0awtBJepp9/lh3x6tR4aTrXuEZ0rnEfETT4+fj7LBK+xBcXLq+vFKcUyGqcAA+jN6J/CTYplvRTsaBNPgudfEGDdXxVvN4/SwbyhwnzYvJt0pNpCZ/vyTE5NvksVOhqkPByVKBMAhWaM51G7VmwyWfBESy9in8u4K9Vm3wW/kWDdfw9SIc6Npvsxd+MNKyiijkAAAAAAMCb4f/qHgAAAAC8nfv+m4FU1uL6rG/zz3KLZNpWqCeC2eI/BU0r8Dmf0H4UJhSfBfHqktSS64gRLK2El2nzz9p/sdVewrx4aTrXuEZ0rnEfEXymfvrVC/H1k0dYb7AYcrP6l2AT+5MoPhUL1qu9/GZ8VQq99qmrNZYQ5MyLSTOZn4UKy/x8T47JiXX9Y0poy/uR/nUSqFCNc8n8u5l/2rbJZ8ERLL0N7VNoNvyn49VCrL1mk7raXHoh0qc0XM8BAAAAAABeDj9gAAAAAC5G34jveClu1kweJGkyXtvSiX56qz5e50hExkzZuH5vVfGn6Nw+eyTTdsM7qdSRgmHCDhQmxJ5s6FgtOTBhE39M5lDvwoZ4aTpXvFiJ26fPESReV/B7PVrHV/NY5bqULQm9vXFlW41zmpMAyfnM/iXYogUzZa8loyiTcwnf1Je9MlqfNq8/FQvWq818oRdfFdFrYjPaff5imPyhDxmjJsLuNNa1gGqVIMSXO51Gu5rgjia6Pr2CXsPvF6IdCr2L+Enz/ty4hzpTRpn/pG0AAAAAAIBD8P/qHgAAAADAP/y/P/7vj/qzieYIcdpu1J7UkYJhwg4UJhSfBfHqktSS64gRLK2EydR5oNcyewnz4qXpXONeqSV8vv/dJRMN1gnfo0doWZl8oi9Dm/Row8InA67DO2zzekkjggVtYqt1RLH453t1vAmmXT+bDBPmxeTbpCfTEj7fk2NiY13x6hRI/zoJVKjGuWT+3cw/bdvks+AIlt6G9tlruBd/D9KeTnoXIfHn+//GtH8cf7fnAAAAAAAAyj8/Jj9TAAAAALgCfRq+419ZUrku2wzW3NHViX56qz7eKytjb6+MuhTX7602KcraPCCZthW1J0OXsFEoTIg92dCxWnJgwib+mMyh3oUNEWmmS2UKXukwGJuj9XX8hBzN4ootKc2EuLKtxjnNyQlkr058BS34TdlzZBRlci7hqvpSR0YpZZO/8D/UR/ic5moREeqya1PobXriWdgfLy32YTETTE6sawHVKkGIL3c6jZkbnOX6hlok/nIV2rnQu4iH+7cTe0drw7ZUpD3fMAAAAAAAwFH43QIAAABwMcXD8YU0H52TL9F3dHWin96qjwc5Mvo0nUhEt/Q2CsOEHnqK7vLzgGTaVtSeDF3CRqEwIfZEV4V9TKsNCSyK3VsGkznUu6ohXpfOFa+0qd0nK7U5kiNBHT8hh1UYrurcpw0r22qc05ycRirIaEW04Pdlj5JRlMm5hGvr+7ZltMrFp2LBerWZL/TiqyJ6TWxGu89fDJM/9GExE0xOrGtoy8vR/oX1NGZuMFh6FbEWCcr4ZiHads/tXvwm7Dh/rsx1IvjVujfNLIIAAAAAAACv4tFfWQAAAAA7cN/TcP0MLTSDNXd0daKf3qqPDyvoxOfolmDjMCFGD9W9fh6QTNuK2pOhS9goFCZgWkGtN3BgE3NM5lDvqoZ4XTpXvNKmdkuWeJ0gEY0XuxS/VyceW1WK+sPKthrn2KSXdhSpI+MdlfPYicHRmZxLuLy+FJTRmrd5/alYsF5t5gu9+JIUYofa1zZH1Kk0mzRZzASTM9QV2/J+VKCwmMbMDQZLr2KoReJvVqFtCz+/BTPKWhL80b24EgsBAAAAAAB4A3M/UgAAAAC8kPtese3N2tMM1tzR1Yl+eqs+HldooluCjcOEDLJdRq3g5wHJtK2oPRm6hI1CYQKmFdR6Awc2MUdkqsahXstcDC9c54oXW5jj0wSJF0U04isYtne4GsyDvboU5PiEIq23a4iv1qz8AHZicHQm5xJuqi9lZWxKaJ5owXq1mS/04ksiYmU0vUPtRf5KmLShxsVMsEu3SZPZVWv/Sk/FpBozNxgsvYpYiwRlfLMQ7VBoNvnMLdQeWldK3IPueqZVAAAAAACAc/CLBQAAAOBKbn0XbpZNniVpMl7b1Yl+eqs+HldooluCjcOEPFJERq2jc/vskUzbCm+jUkcKhgk7UJiAaQW13sCBHczxGmO9C7tRm6B4sZZTJxcbNcfvNTQerOrEVouaNteJR1d1KajvE3xab0sSKyjzovIz2InB0ZmcS7i1vhSXUerb5C/8v7h+Kr1koZkv9OKrInpNbEa7z18Mkzb0YSUTTOzyqlWgsJjGzA3Oomuo5eVCtG2hdwsy3tq/+XPOqLh/AAAAAACANzDf73YAAACAN6OvyefelIc0y2bOuqmrE/30Vn38RJ+6JdgoSzIeLRugBQWtmax/eRuzUxsytKhwfk8Kl5Km7eNYrTdwYAdzvMZY78Ju1CYoXqzF66BtlImOf4v/Ybiqk2LVx+O9uhTk+ITi8y/lJFZQ5r7yY2S0ZHIu4QH5XouMdlzxqViwXm3mC734khRih9oXNsdLk/k+JpjYWNcCqlWCsJhGf4PN5ifSFWt5vxDtUOhdxH3Nx9YNiTsHAAAAAAB4Azf+pgIAAADYEH1Nvunlulk2c9ZNXZ3op7fq4yf61C3BRlmS8WjZDL5y8pT7mpmU2pCMRdhYODA0ZDfHar0S6cnfwRyvMda7sBu1CYqJbWq3TIkH5siSJvRWdRKvKkWOPzSo7xOKz7+U8/ialxQ8REZLJucSnpEvp8hoimxefyoWrFeb+YLE6+CqFCYMtfdMWwCTNtS4kglei8xj1VNLVqXCYhrtBoPmZ9E11PJyIdre881b5XNHyC4Zb+oNAAAAAADgEu76QQUAAACwJ/qafNOzdbNs5qw7uupVi0/J7DrRp24JNsqSjEfL5vH1k2fd3dJ0qCGCeZKxCBsLB4aG7ObYIX92MMdr3NaNwgSZ6Pi3+A9N7RoUNF8nGlGapQy/XSceW/VYpj8uqO8T/KgJ33BHzTx2YnB0JucSnpQvZ8nY1NVsw4L1ai9fxjq+Kt6EjPamaWtg0oYaVzLBLt0mf+GSeHUKVIKwmEZpO76+iXTFWl4uRNsTnrwFdcxPDvFySwEAAAAAAIT/7/O/AAAAAABwlv/3x//94eef5RbJtH1QQwTzxH8Kmlbgcz6hzSgcKD5rhgmLUegtPgvi1TXwGv38s+yIV6fGpOlcJ39CP0otwSKCRHSiwTrhS6y+cW39b6h7gwcQ2wX9M7CJLflPpZcs9PKb8VXxYjPahwnzYtK2MkG0qBybfBb+S7w6BdK/ThbTaD33mv+TNYcu7bPXcC/+ErQ9mUiH0zUPAAAAAADwWv75lfiZAgAAAMDX/N+//xnsjn9lNctmzrqjqxPNBKt+6USfuiWuL+PRsufwZyXPfbK9Wag9GbqEjYUDOFZwyJ8dzPEa93SjdkDxSns5isQtQSY26qrn0KpMNO6xpaCCTbRCM/M0VvnaskMKaRosyORcwvPyFS9QRuuh+FQsWK8284VefEkKsfIZC1/YHNM+1Dh0aSJMbKx66Mn7UQnCYhql7fj6ZtFlffYaVqWfj/ehbQsP3IJZcc6Ta5sBAAAAAAC4g3VeXgAAAADegL4mn3tTHtIsmznrjq5ONBOs+qUTfeqWuL6MR8t+gz8xebqmCU/2+XJq64ZmJt1emMIBHCs45M8O5niNMg/ErupG4cBf7B+80jpeRKyITPxGwxL0s0B3FXt1iyeur/FewjdoTT9+Fh4hIy2TcwnPyzfkaBlNps3rT8VarXtu5gt15sJ4sT1DPKua47XHGjMuTYSJXVu19i/EGqcTmLm+WXTFWiQo45uFaIdCs8mrbiF2acj7bQQAAAAAALjm5xMAAAAAKPqafNUjdUGzbOasO7o60Uxv1cfPNam7gr2yJOOJyl/iz9W5fQb8qtvXUhsytAgPCwdwrOCQPzuYYxqHYld1w+vSueKV1totU4J+rhNPvdcjq1qhTqiP6NXvFf8e396tBzWxE4OjMzmX8Lz8AmlAxqbYujdL9ruMOl9oZq5KIXaofWFzTNpWJhxSPbVkFSj0VMx4rZnrm0XXUIvE36xC2+s1eUnzVuRcNdkl4/dtAAAAAAAA3McFv50AAAAAwNDX5EteqAt6NTNn3dFVs1p8RG/Vx881qbuCvbIk44nKl6CnC9pAspnf9vxCakOGFuFh4QCOFRzyZwdzTONQ7KpueF06V0xpU7hl+o3NnCJoyKos6fgJOXz9Xs6t+Paeb8BODI7O5FzC8/KbSBsySic2+Qv/L66fSi9ZaOYLvfiSFGLlMxa+sDmmfahx6NJEJFUPPXk52r+w2LX66wvubgpdsRYJyvhaIdqe0Ozw++ZjczKc3ggAAAAAAPAM/GgBAAAAuBJ9FL7jabhZM3nQHV2d6Ke36uMnmrQtcf0TlS9HepDRurV5QDJtH2pDhhbhYeEAjhUc8mcHc0zjUOyqbnhdOldMaVO4ZdpGn9DcYmhyscWwykqvyH349npN3oedGBydybmE5+UHeNUyWmPFp2LBerWZL0i8Dq6KF9szxLOqOV57rDHj0iwcUj21ZFUq9FTMeK3Wc9D8LLqGWiT+ZhXattC7hdPN297TRV5uHQAAAAAAAD9aAAAAAK5EH4XveBpu1kweJGkyXtvSiX56qz4eV2hiW+L6JyrfhHQio/Vs84Bk2j7UhgwtwsPCARwrOOTPDuaYxqFYSVjSCi9c5/apFM5YjiLxuoLf7pFVzW8m2N5ewt1YezJ/vgFTHcjP5FzC3fWPIv3I2NTulwzLqYX08mUsgqtSiB1qX9gck5YxYRkHkqqHnrwc7V9Y7Fqt56D5WXTFWiQo42uFaHtCs8PTzceeZDi9EQAAAAAA4Bn40QIAAABwJfoofMfTcLNm8iBJk/Halk7001v18bhCE9sS1z9R+VakHxmtc5sHJNP2oTZkaBEeFg7gWMEhf3YwxzRua4WXpnP7VJoW+UybC36jx++t8Uf0cgrymUOsVNzkffgGeqdnci7h7vrnkK5klMZs8hf+h7rhIFmo84Vm5qoUYpuGeBY2x7THJizmQF711JL11oSeihmv1XoOmp9Fl9fSE/JmFdq/cFXztuW08Jc7BgAAAAAAwI8WAAAAgCvRd+o7/onVfG5OvkHf0dWJfnqrPh5XaGJb4vonKj+AdCWj9W/zgGTaPtSGDC3Cw8IBHCs45M8O5ohGFbitFYUDildq8V4wNie5KpNeTkE+c4iW8uNn4Sns0OD0TM4l/MSBJNKbjNKeTf7C/4vrp9JLFpr5Qi++JCLWlGaE+/yVMO1DEzIuzUJS9eyStX9hsWuVnrVhm9QES69C++zdwstVaNtCs8mjzVv+adXaz5sdAwAAAACAzXn1bzwAAACA6bjvUbj5Tp18vL6jqxP99FZ9PK7QxLbE9U9UfgzpTUZT8Rcb3FcybR9qQ7yrTfCwsCjp2D52HfJneXO8wD2tqB1QvNKmdgvartqc5kbDV+jlFOQzh2gpP34WnsIODU7P5FzCTxw4hLdCRuu2+FQsWOtq5gt15qoUDvQMMYYJ82KXnjFhGQe86liyjPOq1v6Fla7VLiW4nVkuzsxv3sL7VVx1BbEPGd7vFQAAAAAAbM5kv70BAAAAXs59j8LNd+rk4/UdXZ3op7fq43GFJrYlrn+i8sNIhzoxOTYPSKbtQ2FIxp/NPTzq2G52HfJneXO8wD2tqB1QvNKm9nrjcIthqzIJcoqCvcxDWB2dXFX2EEUPGizI5FzCTxw4ijQpY9OQZv8a9LuMfHBVCrHqlc6brGqO1xWbsJIDpmUoKvbk5ag6YbFrtUsJbmeKizPze7fwchXattBsMtm8pZ0Wq2282SgAAAAAANicCX6gAgAAAEzEfY/CzXfq5OP1HV2d6Ke36uNxhSa6Jdg4THgb0qqM2q2fByTT9qEwJOPP5h4edWw3uw75s7w5XuCeVtQOKF5pob1Oq4v47R5blUmQ45fignmsrE6CBu6j6EGDBZmcS/iJA+eQVmWUbm3yF/5fXD+VXrIiwSIiNDNXxTuQEd50bAFM+9CEjEuzYLcZi5pdsvYvxNc6l0C7lOB2Zrk4M795Cy9Xoe0Jp68glp/h5RYBAAAAAABM9pMbAAAA4M3oU/LpB+WYZtnMWTd1daKf3qqPn+hTtwQbhwnvRBqWUXv284Bk2j4UhuinEFi0uYdHHdvNrqY/25rjBe5pRe2A4pVKvLDIMi1uQb/R4/cGOX4pLpjE19R50MB92KHB6ZmcS/iJA98gDcsoPdvkL/y/uH4qvWShmS9IvA4uSeFAzxBjmDAvdunD2x8mzIK/zVjU1JJVphALlHEujXYpwe1McXFmfu8WXq5C2xaaTcbN2+ppjXr6m/0BAAAAAIDNmeB3KQAAAMAs6FPy6QflmGbZzFk3dXWin96qj5/oU7cEG4cJb0ballE79/OAZNo+1IYMLdrcQ5UvmAOxIbvZVegdmrO2M17+0AoZ13OjdkAxpXFQIn6ukwI7QiZBjl+yLfp5Al8w08B92KHB6ZmcS/iJA9/j/ZHRJBSfigVrsXG+fq5NIba2qGBVc0zXUOBKDiRVzy5Z+xfia51LYObuZrk4M795Cy9Xoe0JvSvodR6rzvByZwAAAAAAAE7+2gEAAACAGn1KPv2gHNMsmznrpq5O9NNb9fETfeqWYOMw4f1I8zJq/34ekEzbh9qQoUV4WDgQG7KbXXlzdnDGa4z1rupG7YB9Kk3hPjNwxpZk0kwQiiX9DPKH+L0yl/HLgqexQ4PTMzmX8BMHLkE6l7HpUlOUBv0uIx9cFe9YRrjPXwnTNTRhJQe86oUlZ+5Uxrk0Zu5uiosz83vdvlyF9a+fnt6SV3ROXXAoAAAAAADAG5jg5ygAAADALOg78rnX5CHNspmz7uiqVy0+JbPrRJ+6Jdg4TJgFkSCjqvDzAE0TZtd+FbVvQyeTVi9M4UBsyG525c3ZwRmvUeaB2FXdKBz4i/1HZlO4zwwSdLVYMool/QzyY/xGX+p0wW+wQ4PTMzmX8BMHLkT6l1Ek2OQv/L+4fiq9ZEWCRURoZi5JoXQofFVnvC6Zb+KAaYlFzS5Z+xfia51LYObuZrk4Nb/Xra5+Pt6Hti30riBQdE6anvhmTwAAAAAAYHNe/SsOAAAAYC70Hfnca/KQZtnMWXd01asWn5LZdaJP3RJslCUZj5Z9LSpHUNU210mPxUz4ktqNoT8YWDgQG7KbXXlzdnDGNA7FruqG6FJRKlDxMmvhluk3WoJ9ysTv8hRL9hls6eG3FHVOVPueogcNFmRyLuEnDlyOt0tGU1R8KhastTfzhTpzVQoHhsJ7js2O6RoKXMkBu26bNIlX349emdBTMeOdZu5uiosz85vd2qp+vg1tT2h2WDdvGptih7zcDQAAAAAAgAl+hQIAAADMgr4jn3tNHtIsmznrjq561eJTMrtO9Klbgo2yJOPRsu/H60pqXNWKc9RuDP3BwMKB2JDd7Mqbs4MzpnEodkk3vCidK15mL0fwQZn7ia/gKZb8p23Xz4Aisygicx95DDs0OD2Tcwk/ceAORIiMZprN609FhfeWZMwEV0XNsbmMsXCfvxKma2jCMg6Y0ljy0JCXo/0LK91p5u5mEaV99oS8XIW2LQyvwObnFOlBb7YCAAAAAAA259U/3gAAAADmQt+Rz70mD2mWzZx1R1fnmukl+PiJPnVLsFGWZDxadha8uqTStQ05Su3G0B8MLByIDdnNrrw5OzhjGodiJWE9K7xqnSteaR23SP0pc7/XY0s6qTODvYKsyugTivxe2QewQ4PTMzmX8BMH7kPkyNi0rlZqyX6XUecLzcwlKZQOha/qjNcl800cMKWxqNkla//CSgL93TU7n0VULOTlKrQ9oXcFhbSmxiEvNwEAAAAAAODMTx0AAAAAaKLvyOdek4c0y2bOuqOrE80Eq37pRJ+6Ja4v49Gyc+E1JvXuYEue2o2hPxhYOBAbsptdeXN2cMY0xmJXtcLr0rnildbaLVOCvV0eybEjdEudqXV83CrXwWJ7UPZu7NDg9EzOJfzEgbsRUTKKLpv8hf8X10+llyw08wWJ18ElKRwYCl/VGfOhMKRmGQe80ljU1JJVprCSQLs7m/yF/8MUooZCXq4i9l8nunpOSFAfAAAAAADgDUz8XgAAAADwNvQd+dxr8pBm2cxZd3R1opneahE/0aduCTbKkoxHy86IV5pUvY85GdQNwQwZ+lNv2Y3CotixoZ+LkTdnB2dEowqMxa5qhdelc8WUNoVbpm3sOWNLOslk1siSjM3VYdn7sEPjzoc5l/ATB57BeyijySw+FQvWhsT5+rk23pOh8IWdMR+8ITUrOWBaYlGzS9b+hZUESs/asE0KZhEVC3m5Cm1P6F1BIG3Iy7UDAAAAAACc+akDAAAAAE30Hfnca3JMr2bmrDu6alaLj+it+vi5JnVXsFeWZDxReVK83qR2TRP2cSmm8C1jY9LqVTnk2G5e5c1Z3hkvMBa7qhW1A/apNIVbphA4ZmVlYp9Jmud6zpX9Hn9icLot3d3h8w48iaiT0Zy0ef2pqBu9JRkzwSUplA6Fr+qM6drKAdGiQmzSJF59OXpfwkoCVZT0bJO/8H+YQtRQyJtVaM9C0Pa5/ntuAAAAAAAAvITJfkUDAAAAvBl9Rz73mhzTrJk86I536hP99FZ9PK7QQ3cFe2VJxhOVp0ZVC2qOzXXSY0+vehRuZMzZ3MBDju3mVd6c5Z3xAmOxq1pRO2CfSiHccoTAKysoE/u8ipvKDvEnBqfb0t0dPu/A84hGGZt+1vIt2e8y6nyhmbkkhdKmG55hwqSYruHVL+OAKY0lDw15Odq/sJJA6VkbtknBLKJiIS9Xoe0JvsNY0ZCXSwYAAAAAADjzUwcAAAAAmtz3Itx8oU4+W9/R1Yl+eqs+HlfoobuCvbIk44nKa+DlJ63Y3LGCwg39FAJ/Njew6VjPjd28Er1ebCB/eWe8wFjsqlaYLp0oXmaRoJOeD7akkyDzHDeVHeJPDE63pbs7fN6BXyFKZRSxNvkL/y+un4pP7i3pp1FnropX2nPDGCZMitcVX/1KDpjSoeR59ep9CSsJVFHSs03+wv9hClFeyHQqtHnBOrRuz7WtBV+rFwAAAAAAYILfmQAAAACzcN+LcPOFOvlsfUdXJ/rprfp4XKGJbQn2ypKMRysvhjchaQi+eWo3hv5sbmAhP3ZjK69qsYH85Z3xAmOxq1ohurx8xcu0uAQtucbXiTPPcVPZIf7E4HRburvD5x34Ld5YGU178aloUGkuZYJLknHPs6ozpivjwBryk5KHhrwc7V9YSaD0rA3bpGAWUdp/r9ueupfg27ZWz/XccwAAAAAAAOAlvPrnGQAAAMBc3Pci3HyhTj5b39HViX56qz4eV2hiW+L6Jyovifggozlm84Bk2ibUbgz92dzAQn7sxlZe1WID+cs74wXGYpe0opaveJkWD5yxCjKxz6u4qewQf2Jwui3d3eHzDvwckSxj096mGxr0u4x8cEkKpWqUzpsMEybFdMUCC7umZgfJ2rwQC5xLnd1IcDVTiLImm90G6t6AtqcEKoa8XCYAAAAAAMBkv5kBAAAA3sx9L8LNF+rks/UdXZ3op7fq43GFJrYlrn+i8sKIGzKabzYPSKZtQu3G0J/NDSzkx27oqrCDXbUVgTmxbwvgBcZil7Silq94mRJvqvZxnfcyT3NT2SG1NJ0X2NLdHT7vwEsQ4TKKdpv8hf8X10+ll6xIsIgIzeCSeKVNfzzDhEkxXfs4cEjyvHpVndCTMOOF2o30rmYKUdZkr9ueujegPQva4blWe8IBAAAAAABewsTPAQAAAABv474X4eYLdebZWnMymYc40U9v1cdP9Glb4vonKi+PeCKjuWfzgGTaJtRuDP3Z3MBCPnYZtdJA+/K2eIGx2CWtqOUrFmnq9XGd9zJPc1PZIbU0nRfY0t0dPu/AqxD5MooDNvkL/y+un4pP7i3pp9IMLkmhdCh8VWdEl4rKOLCG/KTkoSFvRpsXVrpQu5HgaqYQZU02uw3UvYG4+SEvVwcAAAAAADDBr0oAAACAKdBH5HNPyUOaZTNn3dTViX56qz5+ok/bEtc/UXkTxBmdqEs60UgPv0UnO1ObNrQx6fOqFPKxy6iVBtqXt8ULlHmgdEkrCvl/sQ9Npd4infvIJdxUdkgtTecFtnR3h1JfJw/78Cq82zKaFcWnosm9JRkzwSUplKpROm8yTJgRb0IssLBrXg5JnlevyhR6Ema8ULuR3tVMIcqa7HXbU/dzrLHTHb5WGgAAAAAAgMAvFgAAAIBr0Lfgm16Em2UzZ93U1Yl+eqs+fqJP2xLXl1HmR4tvhVmkE53rpAeuGrUVQ3M2d6+Qj11GrTTQvrwtJnCoVBLW88Gr1rl9Fnj5Or/ckJvKDqml6bzAlu7u0B8k461nvRkvv/C8vgJLbpqWDy6JVzpUvaotpmsfB5KSp9arzQvxhc6lLnNxU4iyJpvdBup+SNxzhtMbAQAAAAAAHoBfLAAAAADXoG/BN70IN8tmzrqpqxP99FZ9/ESfuiXY6BNklMjRI7bCW5S0C1eN2oqhOZu7V8jHLqNWGmhf3hYTGCtd1QevS+ZNgT6u817maW4qO6SWpvMCW7q7w6K+fMp464lvxuQXPjRt8cm1Y/ngknilZpR+1gwTJsVMyDiwhnwveVW9eptCT4ImzCVweHFTiLIme9321P0K6+d0Y29TBAAAAAAA4OEXCwAAAMA16FvwTS/CzbKZs27q6kQ/vVUfP9Gnbgk21gkyl/HoQVvhLUrahauGWiHk/+Q2d6+Qj11GrTTQvrwtJjBWuqoPqkvo3b7Fde4jl3BT2SG1NJ0X2NLdHTbrS1DGW899Mya/8KFpiwYVv2TxZn4RXJLavVj1MGFGvAmxwMKueTEhsaLZ9Q77l4S51GUubgpR1mSz21dJiFvN8Co5AAAAAAAABfxiAQAAALgGfQu+6UW4WTZz1h1d9arFp2R2nehTtwQbewkSkfHocVvhLUrahauewo2hOZog7GngObt28KpWGmhf3hYRqOpipav6YPILfFznvczT3FR2SC1N5wW2dHeHmR72xF+BjGZF8alosl/qbVeawSUpPLF5k1VtMV0ZB9aQb0JiRUND3ow2L/T6n1Hd8OKmEGVNNlW8R4K11+wzw3u0AAAAAAAA1Jz8qQMAAAAABfqIfPopOaZZNnPWHV31qsWnZHad6FO3BBvjBInLePTQrfAWJe3CVU/hRsacnQ08atc+XtVKA+1r2+LVxUrX80EU9W7c4jrvZZ7mprJD7MT46GTa9wzbkPHWBt6Ml18YVftmyTrRuU4EX8poBpfE2zVUvaotZoJ3o2YZ+SZkqCg25OWsp85fXK/zKURpkyZHg8YbJFgPp5vpqQMAAAAAAHgDE/x0BAAAAJgCfUS+6V27WTZz1h1d9arFp2R2nehTtwQbZUnGuKzmCEdP3wdvUcZSAVc9hWkZD5M+L8lRu/bxqlYaaF/bFq8uVrqSD6Kld9cW13kv8zQ3lR1iJ8ZHJ9O+J1NfcmS8tY03Y/ILH5q2+OTasXxwPQq7hqqXtMVMKNyoGSbMgt1jrGhqvdq8sJI6vbig8ylEqQo/8fxcQtxehp9LAAAAAAAACDj5UwcAAAAACvQR+fRTckyzbOasO7o610wvwcdP9Klbgo2ypJNMZU0+2sNWmEV5Y3HVKKzIeLize0278EqolQba17bFq4uVruGDqOjdssV13ss8zU1lh9iJ8dHJtO+R+joZnqKZtzbzZkx+4UPTFnNVaC5lgkvilQ5Vr2qL6Mo7sIB8LzNWNLXe9W7TGg46f78ouxeb/IX/xw8l2NGne+iJAgAAAAAAeANv/8UIAAAAMAv6iHzTc3azbOasO7o610wvwcdP9Klbgo2yJKPm6OQvHJHP3BZvUdIuXDVqK4bm7OxeoR2vjFqpRHrC17bFq4uVzu5D74p9XOe9zNPcVHaInRgfnUz7Hn+QjMOzkmmr0rPL4h4NNh3LB5fE2zVUvaQtXpR3o2YZ+SYkVjS1Xm1eWEZd5tamECVNaoc28fxKQtxVhl91DgAAAAAAkOHkTx0AAAAAKNBH5NNPyTHNspmz7ujqRDO91SJ+ok/dEmyUJZ1ogn5mTslnbou3KGkXrhq1FUNzdnav0I5XxiFn1rbFq1vVB+m82baP67yXeZqbyg6xE4Oj/dLdHUp9nVhXNg+4u6s34y3yPjSts2BvtYgIzeB6FIYMVS9pi5lQuFGzjHwTEiuaWu96t5m5tfeLsnuxyV/4fzwvwU48fXRPCwAAAAAAwBt4+w9FAAAAgFnQR+Q7XrF7NTNn3fFC3Tw3biYjIa7QQ3cFe2VJRs3RiQ/KGKOZQiZ5T04Ym/d/eWorhubs7F6hHa+MQ86sbYtXt54P0nOzYR/XeS/zNDeVHWInBkf7pbs79P3IWM97ZHIWxuQXPjRt8cm9Jf1UmsEl8UqHqle1RXSZAzvINyGxoqn1avPCMuoytyZL71dkTTa7fViCP+7c0bJLxid7BgAAAAAAyPPoTywAAACAhbnvLbj5Np18sL6jqxP99FZ9PK7QQ3cFe2VJRn+KfercPmOKOlBQGzv0CkuN2oqhOTu7V2jHK+OQM2vb4tWt5IN022zVx3XeyzzNTWWH2InB0X7p7g6L+vIp47BDw+dviFlU+NC0RYNKcykTXBJRGlvnWdIWE7WPfBGiKmzSJF59OXpZQk/CdOqGt6aSXy7Kmmx2+7AEc9Imh3i4WwAAAAAAgENM9qMXAAAA4LXc9xbcfJtOPljf0dWJfnqrPh5X6KG7gr2yJGOxWgSbOU3ymXvi/Ul6pWkCrtaODT1MmrwkhfbhH9I+XjWd2dMWr24NH6TPusmiec1pZn7DTWWH2InB0X7p7g6b9SUoo8Rt8hfukkxbEq+98EE+a0802HQsH1yPQqa6pPMmw4QZMVHDS19DvsmM9Q7deDPavLCMusytydL7FVmTzW4fkxC3MUR2yfhMqwAAAAAAAEd56JcVAAAAwPLc9xbcfJtOPljf0dWJfnpt+F1xhR66K9jbO1rQJUFXg8yCfOaeeGNx9Si1D0NndrZOtQsmP3ZjH68KpTvb4tXJPJAZr74B61BFKT4ic825XMtNZYfYicHRfunuDjNtyETGYRt3t/pmvEXeh6Z1Fmw6lg+uh7fLz5sME2akcGAH+SYzVjS1Xm1eWEadv7Vm21MosiabKp6RYEc3exjyTJMAAAAAAADnOPM7BwAAAABq7nsLbr5NJx+s7+jqRD+6Wjfjd8UVeljl3t760Bqfk8lX8pnbYhbpROc66YGrSu3Y0JnNrSvkx27s4xW2GKZuahO0PWHYv0yuVaEFLy87xE4MjvZLd3cY15dVGa1hm/fI5CyMyS98aNqiQaW5lAkuiSiNrfMsaYuJyshfQLuXGSuaV69qFJZRZ7dmk7/wf5hCkTbZU3G3BKt/7qBe2wAAAAAAAG9ggt+EAAAAAFNw31tw820682CtOZnMQ5zox6/KXEb9LOJBhR66K9jrj4vxmTq3z4B85rbUxiZdxVKhsGLozObWHbJrH6+wxTB185ow7FyXbHIVWvDyskMyivzS3R1m6kuOjNa2zXtkchbGLC18aNqiyb0lGTPB9Shkqks6bzJMmBETFV96vDoRJmRhvdq8sIw6aVi7tUnBFIpiFbdKiI8ecmtvAAAAAAAAX3Lmdw4AAAAAFOjz8blH5CHNspmzburqRD/1qkR0YvETfdqWYK8elK9c5Oe3Hz1oN7w/Sa+w1CisGDqjCcKe7h2ya2jmMmCLYermNaHXm8Q1aJOr0IKXlx2SUeSX7u4wX18yZRw2b/j83Qi8qq2z5KZjdb7QDK6HN6RpjmeYMCOFAzvIN5lDvZOK1ZsSllGniqRhm/yF/8P7FQ1V3CTByp6r3+sWAAAAAADgDcz04xYAAADgtejz8d2P1J7MWTd1daKf3qrEdXKuT9sS1D9dWUbbVXwG5DP3xPuT9ApLjcKKjDM7u3fIrn2MOmrLwp6YuqEJMr7Th7o3L+ranrXg5WWHZBT5pbs7PFpf8mWULTb5C3dJpi1Jz6umJz65t6SfSjO4JN6QoeolbTFRGfkLaE/qHbrxZrR5YRl10rB2a5OCKRTFKu6QEJ845I6WAAAAAAAAruLM7xwAAAAAKNDn43OPyEOaZTNnxTmy+pn9S7L5E/0Mu9Vmkg0YVrZXX+PD03toV4KdYvOYfOaeeH+SXmGpUVihn0Jgzs7uNe3qWbGPUXlb1vbEq4uVvtmHQkUxuQoteHnZIRlFfunuDs/V9ypkHFa4W8WbMYsKr5rWaVBpLmWC61FbF0seJsyIiYrVFV7NS17vpGL1poRl1Kkiadgmf+H/8H5FQxXXSrBq58r2mgQAAAAAAHgDM/2mBQAAAHgt+nx87du00SybOetoP5Iv47my8VnJTpINGFa2V1/jydMDfGN+HpPP3BP1R9A70olGevgtOtmW2rGhh0mTl6TQHluxj1F5W9b2xKuLlb7ZB+1NMCHX9qkFLy87xE4MjvZLd3d4ur5slNG02LxHJmdhzOfCh6YtmtxbkjETXA8vcyh5SU9M1Cbyk3qnFqvNC8uok4a1W5sUTKEoVtGTdoL4oCGyS8armgEAAAAAALiWy347AQAAAOyMPh9f+DDtaZbNnHWiH9mik2DjiX4OdZLpQbGyvfoaP3R6gDZmJ/7FUk3q5JIelsSMPeoqltY+DJ3Z2bpCe2zFPkblbVnbE68uVvpmH6Q3k3Bth1rw8rJDMor80t0dfllftstoimzeI5OzKoVX3oTiU7DkpmN1vtAMroeX2TTHM0yYEXMgI38B7Um9QzfezGJXaXICXe9XFKsIpB3CfDhnyFVtAAAAAAAA3MFMP2UBAAAAXos+H597RB7SLJs563Q/slHG5t5ezfisc50EbShaNig+TDhB0VXxGZDP3BPvT9IrLFVqH4bO7GxdoT22Yh+j8ras7YlXFyt9pw/SlTV/bW9a8PKyQzKK/NLdHV5SX4rIONRl+PzdMO2FCU1PfHJvST+VZnA9Cpm1OQXDhOnwDsTqCq8m5ZDeScWqRqHX/3RXaXfRu5QpFMUqetLyxPWHyC4Zv+wBAAAAAADgJr79yQQAAAAAgj4ff/8e3aRZNnPW6X4COb2a8VmnOxFkr4zBoUHxYcJptCtBK+tn5pR85p54f5JeYalS+zB0ZmfrCu2xFfsYlbdlbU+8uljp23yQfqzta7vSgpeXHZJR5Jfu7vDC+lJKRqlmk79wl2TakvS8anqiQaW5lAmuh5c5lLykJyYqI38B7Um9QzfezGJXmbmy9yvyKupWA2kZrOY5H748HQAAAAAA4FZm+gULAAAA8Fr0+fjcI/KQZtmbzjJ6inrnxv18361UkLHZTFB8mPA9vjE/j8ln7skJV7FUqX0YOrOzdYX22Ip9jMrbsrYnXl2s9D0+SCfW8LX9aMHLyw7JKPJLd3d4eX0vUMZh8bsFvpmeV01PNFhkKr1gXWQ9vMymD55hwoyYA/GNL6M9r3dSsXpTQq//6a5yeGVTKNLme632pA2xjecq9PoBAAAAAAB4Ayd/KQEAAACAR5+PTz9DxzTL3nSWYfWLg3rnxv1c1a3UkdFKadmg+DDhKnxjOrfPgHzmntSuJi3Fz9qHoTM7W1doj63Yx6i8LWt74tXFSmX15yZYD5c3owWf15hR5Jfu7vCO+lJTRpNp8x6ZnFUpvDITmp5Y0GcadbBZZD0KmU1zPMOE6TAHhjc+TJiCpN6pxWauciJpmSt7vyLrsNlqIC0grpnh9EYAAAAAAIC74ecKAAAAwAXoK/BNb8HNsne/O1v94qBzzVzYrS+l86C4LMl41dFDiuPypz/c51yoOYL4kzTKb9HJntQ+DA1MOrwkhfbYin2Mytuytide3ZtNkAasyWvb0IKXlx2SUeSX7u7wvvpSWcahWMPn74ZpL0xoeqJBpbmUCa6HlzmUvKQnJiojfwHtpiKWM69YvUeh178mTKRueGXvV2Qd9lrtSeth+Uc3Gqc3AgAAAAAA3A0/VwAAAAAuQF+Bb3oLbpa9+93Z6hcHnWvmwm59KZ0HxWVJxquOTlIcmu/hJ91OhPmDpUcpfBjasrNvh7zax6i8LWt74tXJvCfzhyZYV0F759CCl5cdklGUybmKu4+Q+jLKETb5C3dJpi1Jz6umJxKsM5V8cD3UFpvLGEhe0hNzwFtRs4Z2UxHLmVrssHlJmEha5srer8g6bLZ6qP+4VIbTGwEAAAAAAO6GnysAAAAAF/B/t/1Hjub78gOPznZEcdaJfq7t1lfTeVBflmS88PQ8erSgp+c7+WHPU2D+FA4HYKlS+DC0Je/wehzyaujkMuRtWdsTUxfL/IkJcqieaJOr0IKXlx2SUZTJuYpnHPCKZByemExbkp5XFjcsoWlXnS80g4tRuDGUvJ4n5kBhRc0a2k1FrHdesapLCKTJOJE6f2XNtt+vyDpstprv3xywyVFObwQAAAAAALgbfq4AAAAAXED+xfkozfflJx+di7NO9HNtt76azoP6siTjhaefwPegc/sMeEPnb6Z2FUuTFD5kbNnWukNe7eNS3pa1PTF1scyHTZDj9CybXIUWvLzskIyiTM5VPOaAHCSj6bJ5wGO9vY3CKzOh6ZsFa7vifP1cFS9zKHlJT0RURv4a2r0KE14ztdhh84HwF2JyAl3vV2QdNlvN9B9XyCAbZTy3FwAAAAAA4FZO/s4BAAAAAM99r8DNh+nTr9V5ekec6Ofabn01nQf1ZUnGC08/TdFJsjFNE94g4YV4Gw9Zip+FDxlbtrXukFf7uJS3ZW1PRJ1Ki2U+ZoLv59rjtODlZYdkFGVyruJhB+Q4GU2dzXtkclbFtBcmND3RoNJcygTXQ2TGvnnW88Qr8lbUrKHdVMRy5hWrnQvLSJOGtVubFPTi78E8b7Zqq/pZY7tOKx0eAQAAAAAA8Cve/osOAAAAYAruewVuPkyffq3Oc+iIOPnabn01nQf1ZUnGC0//kqKffHtvE/IqvDlJo/BTKXzQTyFwZlvrml71fMg4uQZ5W2LHpsZLi2U+YIIcYZ1ce5AWvLzskIyiTM5VPO+AIIfKmNfo83fDtBcmND1RM3tLMjbzPx+LUggfSl7PE3OgsKJmDe2mIpYzr9jF7tHk9HQN9b4B9TyQ0OvfloKcmN6hAAAAAAAAP2emX6cAAAAAr+W+V+Dmw/Tp1+o8dkRx1ol+ru3WV9N5UF+WZLzw9EvQrgRtLN/kO+W8BO9q0qjiIraltmtoYNLh9SiEY5SSt2VhQ7y0WOatJkhx6+HaI7Tg5WWHZBRlcq7ieQcMOVpGOd0mf+EuybQlsWsqTLC4YQlNu4J8/VwVL3MoeUlP7Opt0mQN7aYiljOvWO1cWEaaNKzd2qSgF38PsQQJytiMB7sy9CoDAAAAAAD8nLf/kAMAAAB4P/p2fPoFOaZZ9qazPHZEcdaJfq7t1lfTeVBflmS88PRr8e3p3D4DXi7q55g/eaOwVKhNGNqyrW+FcIxS8rYsbIiXFsu8yQQpa6dfW1wLXl52SEZRJucqnnegwIuVcdjMzxv+Fd4fb0LTNwvWdsX5+rkq3o2h5PU8MUUZ7QsINxWxnHnFLnaPJqena6j352QkFEGL1EtJemcBAAAAAAD8nFl/bwMAAAC8B307Pv2CHNMse9NZHjuiOOtEP9d266vpPKgvSzJeePodFE0me55C2g8xf3Sic530wFKhNmFoy7a+FcIxSsnbsrAhXlos83ITpKCde623WvDyskMyijI5V/G8AzXSg4wm2eY9MjmrYtoLE5qeaFBpLmWCi1H7FusdJkyHKYqvO16dBVOxqljtXFhGmjSs3dqkoBd/D7GEIhgnZ5CNMp7bCwAAAAAAcCsnf+cAAAAAgKFvx6dfkGOaZYdnfdmM316UOtHPl814ms0E9WVJxqtOv5Wi1WTnmiZMofF5vI2HLN3cz9qEoS3b+lYIxyglb8vChnhpscwLTZBSduK1rmrBy8sOySjK5FzF8w70kE5kNOE275HJWRW7tcKEpiea3FuSsZn/+VgUL7xpgmeYMB2F/OW1m8ZYTmzFm1FdwhrS7Jp699WLv4dYgg/KvJgcpXkEAAAAAADAG5j1ZzYAAADAe9C349MvyDHNssOzvmzGttd1TvTzZTMeX8rmQX1ZkvGq0x+gaDjf/3RKn8SbkzQKPwU1QTAfhrZs61shHKOUvC0LG+KlxTIvMUGK2FnX+qkFLy87JKMok3MVzzsQI/3ImJfv87ciMKr2zZLrJSHI189V8cKHktfzxBRltM8u3GsM5AyteC3aubCMNLum3n314u8hllCvnlMku2Q8sREAAAAAAOBuzvzIAQAAAACPPhyfez4e0iw7POubZvzeus6Jfr5ppqDZW1BflmS86vTH0LYFE+g/AybV+wzenKRR+KkUPgxt2dY3jGqSt2VhQ7y0WKasfuOAbv+ySJP7KsfYicHRmZyreN6BDNKVjNKYTf7CXZJp69EzqmmIBpXmUia4GLVvsd5hwnSYovi649VZMBWritXOhUDaRLqG9/X+m4olaFDQuHye0PJ+EwAAAAAAYFtWe0MBAAAAeB59OD73fDykWXZ41jfN+L11nRP9fNNMQbO3oL4syXjV6c9T9J+UM7vqW1FzBPEHPw9R+DC0ZVvfMKpJ3paFDfHSbnJA9spGHT+hi7ivcoydGBydybmK5x3I432Qcdjnm7XcivlTGNX0TYNKcykTXAyvcah3PUMK+ctrN41DsTMq1TsSes1Pd4nD+3r/TcUShgJjZJeML3cAAAAAAAD25O2/1gAAAADejz4cn3s+HtIsmznrdD+2MX90fJasfmZ/nOtK8QfZvHe6xnurEyESZPTC/WcPTRNml38TZiN+HqKwa+he0t71wKgmeVsWNsRLu9wB2SVbdPyELuK+yjF2YnB0JucqnnfgENKejOaGzXtkclbFrrIwweIeDTbtCvI/H4viNTad8QwTpsMUZbTPLjwpdmjFa9HOhUDaRLr8fTXbfv9NBRIs0lMX837tAAAAAACwLTP98gQAAAB4J/pwfO75eEizbOasc/34Xfmjg7Nk6TP795U8SB7i9+o8PjpOmAsRIqOX7z8D8pkbYubg5yEKE4aeaIKwm2/njFrepbwtCxvipcm8p/GoA1oqKHia+yrH2InB0Zmcq3jegRNIkzKaJzbvkclZksIoc6BpiAV9phLn6+eSFBprZwqGCdNhimJphVGTkhc7qdL4mqa7RL2IoO3331RTgrV9rv+iGgAAAAAAwHt4+480AAAAgPdjz8p3/MuqWTZz1rl+bFdv+4l+6ppxfoDfqPOg1DBhRkSOTlSUfmYE5jM3xMwp7A3AT6EwIePJnr41jRJ6PmziUtOWpuqFDTFpsca8A5Kp1S63677KMXZicHQm5yqed+A00qqMeWd8/laY8MKBpiEaVJpLmeBieI1DvesZYooy2mcXnhQ7tOK1aOdCIG0iXdZtr+3331QtYSgq5v2SAQAAAABgW878yAEAAAAAjz4cn3s+HtIsmznrRD9+y6Fz47OaZeMtPepSQZ1hwtSILhlVms7tM8DvgoLaUvzMUJign0Jgy56+1c7EPmziksj0GgPVCxti0mKNGQckR+tcbtR9lWPsxODoTM5VPO/Al0jDMkrPNvkLd0mmrUfPqKYhEqwzlSD/87EoXmPTBM8wYTpMfixtDeFebKAlXn0zK12idRu0/fKbKiToXMZzbQc+AAAAAAAA/JZZf0UDAAAAvAd9OD73fDykWTZ5Vr4lyZTRknsbzzVTJNjncGON36LzoMgwYQFEnYzeE//ZI5m2J94c/MxTmzC0ZVvfCuGxDzu4VGsMVC9siEhTXbHG4aosWakLua9yjJ0YHJ3JuYrnHbgEb5GMQwmTyvyenlG1IZZQZCpBvn4uSaGxNqFgmDAXXn4srTBqRkxCrGVepdq5EEibSJd122v7/TdVS+hpiXm/UgAAAAAA2JYzP3IAAAAAwHPfE3DvSTr/VJ3JLHKCLc2l4RF1gkWGewt8vs6DCsOEZRCNMnpn/GcPTROW9+cE3sNDfm5uZm3C0JZtfSuExz7s4FKtMVC9qiFeV6yxtypxCer4CV3EfZVj7MTg6EzOVTzvwFVI5zKaUTbvkclZksIoc6BpiAV9phLn6+eSeI1DvesZYooy2mcXbhJisUMrXstKuqzboG1ZerMc7VzQJs91G8gHAAAAAAD4LdM/EwAAAAD8nPuegJtP0ofeqbU3oVlHJ34pLn6unzrBIsO9BT5f50EFWZLxUP2pKfTm5e9mVB51RhBzki75LTrZkNqroXtJe9ejEB77sINLtcZA9aqGeF2xxqZd8qnjJ3QR91WOsRODozM5V/G8A9ci/ctodtm8RyZnSUx44UDTEA0qzaVMcDFEY2yaZz1DTL73oWYB4V7CUOyMSlWg0Gt+Ll3Wba9t1ftmRUMJMe8XCAAAAAAA2zLTz0sAAACAd3LfE3DzSfrQO3WvgoxFPKPiRD+9VYvH2wt8ss6D7bIkY774GqhqQYUXnwF72pXEzMm7hJ+1A0NPtjWtEB77sINLtcZA9aqGeF2xxiJTJjr+LV7GfZVj7MTg6EzOVTzvwB2IChnzpvn8rTDhhQNNQ9TJYOnz8S/N4EoUVgz1LmaIyS98qFlAeFLs0IrXspKuzGXJ0mvlWG/nmgxUAwAAAAAA/JalnkUAAAAAfsJ9T8DNJ+lD79TDZG1eyNQ80U9v1eLx9gKfrPNguyzJmC++GIX8pBubmxZj5uhE5zrpgZ+1V0NPtjWtEB77sINLtcZA9aqGeF2xRl0VJEHml1uhNe+oHGMnBkdncq7ieQfuQ7TIKHJs8hfukkxbD7v0wgGLG5ZQe1VHhGZwMbzGod71DBFFGe1rCPdiAy3x6mvROxLWuMThZb1WzrDzmNfqAgAAAAAAmPLXMgAAAMCruO8JuPkkfeid+tyjdo8T/QSrunSoQ5883C5LMuaLL0lhQtITTRM2d6+J9/CQn5ubWZgw9GRb0w4ZtYNLtUaJ7GaI1xVrVHMCi05zX+UYOzE4OpNzFc87cDfePRmH6tZzIIM3xzvQNM2CtVdxvn4uibdiqHcxQ7wc70PNAsJNQqxlXqXDziVhFl2Zy3qhHGvpXG+BWAAAAAAAgN8yze9JAAAAgHeir8Y3vWs3yybPuqOxE/0Eqyc6lOTP7I94uybniy9MYUXeGTzs4Z1JuoSZQmHC0JNtTTtk1A4uYYjgdfU0SlyCOn5CF3Ff5Rg7MTg6k3MVzzvwACJKRvPQ5j0yOUtiwgsHmoZoUGku1cEishi1abHexQwx+YUPNQsINwmxlkmV6g0KveY1YRZpw8t6m5xhw0NObwQAAAAAALgVfqsAAAAAfIU+/t70BNwsmzzrjsZO9BOsnujQtuhnvF3T8sWXx/tWfwbgZA/vTNIlzBQKE4aebGvaIaN2cAlDBK+r1igR+dTxE7qI+yrH2InB0Zmcq3jegccQaTKakzbvkclZEhNeONA0RIJ1pqJLn48/mmmL4TUO9a5niF16LG0B4SZhVaXDziVhFl2Zy3qPHOvkdEvv0QIAAAAAAODhtwoAAADAV+jj701PwM2yybPuaOxEP8HqiQ598nC7LMmYL74PhTNJo/CzhzojiDmHzBR29rPwamhd0tv1OGTUDi4dNWRJN7zqYi6TO1TfVznGTgyOzuRcxfMOPIwIlDHvp8/fCjOncKA2zRKCJf1UmsHF8FYM9S5miJfjfahZQLgJjLXEPrwWFSUEumScRZq/rGbPL7mmYZ9DXiIEAAAAAACggN8qAAAAAF+hj783PQE3yybPkjQZr+3qRD/Bqi7F2wt88nC7LMmYL74bhT9Ju3A1wMzJu4SfhQNDQzRB2M20Q0YNbVyAvCELu+Gl6Vw/ZX65Xq15R+UYOzE4OpNzFc878BNEpoyi1CZ/4S6b2FLgzfEONE3ToNJcygRXohAon7HYYcJcmPzhRc8u3AsMtAx9eC0r3aBp6Yl6wzWZn6eNPb0RAAAAAADgVvitAgAAAPAV+vh70xNws2zyLEmT8dquTvQTrOpSvL3AJw+3y5KM+eJ7UriUNE3TBOytMQ/zf4H5zFUpHMgYsqdph4zawaK8IQu74aXJXCY6/i1exn2VY+zE4OhMzlU878AP8cbKGAvP5CyJCS8caBoiwTpTCfI/HyviVTcd8AwTpsPuN77oBYSbhFjLpEq1bWENXdKttmqTgl78GYbtDZGNMv5QAgAAAAAAQJNf/tYCAAAAWAB9Nb7pCbtZNnnWHa/SJ/oJVnUp3l7gk4fbZUkn+frbol55b3UytK7YCIY5g5l5Cgcy1u1pWtOongk7WJQ3ZGE3VJog6mR+uUateUflGDsxODqTcxXPO/BbRK+MZq/Ne2RylsSEFw7IZ+FGL1MJ8vVzSbzqod7FDDE5GeGzqzYJsZZJla50g6alJ2oo9j7MxtN+/rB5AAAAAACAgCl/DAMAAAC8B301Pv12HNMsmzzrjlfpE/0Eq7oUb/cUmcPtsiSj5ujkLwxd1CjBvEpah8M9vDOYmaR2YOjJnqYVqmMTdrAob8jCbog00aXjJ3QR91WOsRODozM5V/G8A29AVMtoJtu8RyZnSezPw/+dNN2woM9U4nz9XI9CYG1LwTBhLkxOfNHx6hSYhCWVatvCGrqkW23VJgW9+K0MuxoiG2V8vnMAAAAAAICYH/zEAgAAAFgJfTW+6eW6WTZz1k1dnegnWD3apM+0eVxfRr/Ff0LAOetwuId3BjOT1A4MPdnTtEJ1bMIOFuUNWdINESWKdPyELuK+yjF2YnB0JucqnnfgPYh2GfNW+/x9MNWF/KYbGlSaS3WwiCyGV910wDNMmItC+9rCTeBQ6Ywy9YKEXvMT6VIt0q1N/sL/oxe/D3PvtI3P9wwAAAAAAJBhyt/AAAAAAO9BX41Pvx3HNMtmzrqpq6P9yJKMweqhJn2mzYPtsiRjsapBIXnozhQGNv2sSaZtiP/bw8wktQNDT/Y0rVAdm7CDRXlDFnND5IgWHT+hi7ivcoydGBydybmK5x14G+KAjGKCTf7CXfZ0rOdS0zS1KFj6fPzRTFsMr3qodzFDTE5G+NSqk0qHPryWlXRJt9qqTQp68TsYNjNENsr4WMMAAAAAAABJnvtlBQAAALAk+mp804N1s2zmrJu6OtGPrMoY7Mo36TMz22VJxnOrYBRGJX3TNAGHa8xDzExSOzC0LuntYhSqYxN2sChvyDJuiBBRoeMndBH3VY6xE4OjMzlX8bwD78R7LmPsSSZnSXouWdywhNqrOiI0gytRCJTPWOwwYS5MTqyrcGlGvFIZe1piH16LihIW0GUX1LupXvxyzLTT7j3WKgAAAAAAwCGm/OkLAAAA8B701fj023FMs2zmrJu6OtGPrOqkyDnRoU8ebk/WlwQZ4xwQ1ChBvSo+A3C4hzmTtwgzCweGhuzp2CGXdrAob8gCbogE6V/HT+gi7qscYycGR2dyruJ5B16LWCGjOW/zHpmc9ShcMvlNNyzoM5U4Xz/Xwwscil3MDZOTET61ai8w0DL04bXEnc+lyy6od1O9+IUMexgiG2W8u08AAAAAAICj3P6DCgAAAGBtbn38bT5JZ96pNSeTmedcM9aJfmqyBeO9BT5/WEGWdJI5QpMPNbMthVdJ63C4hzmjE53rpAdmFg4MDdnTsUMu7WBR3pCp3ZDmpXMdP6GLuK9yjJ0YHJ3JuQo5QicP+/Ba1BDz3+Y9MjnrYaoL+U03NKg0l+pgEVkML7DpgGeYMBemPda1gGqTsKRSbVsIdM0ianhTd9+R9+qcb3d3CAAAAAAAcI5pfhkCAAAAvJP7Hn97j9GZR2rNyWTmaVYbHmEJMtGIcbQ3f5bOg9MtQT8zZx1K3hz1yowqPnsk0zbEO4OZSQoHhobs6dghl3awKG/IpG5I29Kzjp/QRdxXOcZODI7O5FyFP0vGu4+bBe9G5hb2dM9UF/KbbqiNwdLn449m2koUAmsHCoYJE+G1x7oKl2bEBA6VzigzvqC5rm94U7fe0fD0GNkl433tAQAAAAAAnOPG31EAAAAAO3Df42/zMTr5Qq1pyeQk5/q5sAdfSudB8SJBJjL2kgsOJe9MYVTSN00TcLjAG3jIzJ2dLBwYGrKnY4dc2sGivCFzuWHdyuTynrXmHZVj7MTg6EzOVRRHyKeMdx86C+ZG0pYH7uuFmOrCpdoNSwiW9FNpBlfCCxyKXcwNk5MRPrXqpNKhD+9E2xYCXbOIGt7UfXdkLp2z677GAAAAAAAAvmHu3/MAAAAAP+eBV2lP8oVa05LJSc71c2EPvpTOg+KypBOf0Az20ORM5uYUruZNxuEm3sCkRThZODA0xJuskx045NLQwwXIGzKFG9KkdOjHz8JF3Fc5xk4Mjs7kXEXzCAnKePfRs+CvQ8bYlj2t86rNLp3LWLihQaW5VAeLyGIMHfMME+bCtMe6FlDtlQZC4tXXstL1DW/qjjsaHhoju2S8vCsAAAAAAIAvuf7nEwAAAMBW3Pf423yMTr5Qa1oyOcmJfu5rQOdBfVmSUXN08hf+0Aw20Uwhk7w5hatJk/N3sRvmzCEnhW3NLIzK+Jb0diUOuaSrwsIW5Q2Jvfo5vj2ZX96n1ryjcoydGBydybmKuA0Z725gCrwVGVv2tM5UF/KbbmhQaS75YLPCStSOxWKHCRPhtce6ZldtSr3kmnj1tWjbQqBrFlHDm7r8jsyccy5d3g8AAAAAAMAlzP0zHgAAAOC36HvxuVfjIc2yybPuaOxEP/c1oPOgvizJ6PP9p9IM9jiUvDMZ52uwt4c5k7doczML+fopBIZs6FjTpZ0tyhvyTiukK2lJR/vUpasojniMjKhMzlUMj5AEGe9uYwq8FZmr2dM6U13IbzqmwaZRdX4zbSW8wKHYxdwwObGuBVSLBO1/qHRGmStdn7+pZs8X3tHwrBjZJeNVzQAAAAAAAFzFZb+aAAAAADZE34svfIn2NMsmz7rjSfpEP8luk2g1lSbovFdf04pVv1cnQjPYo1kWagqjkr5hbw9zJm/R5mbW8oeGbOhYIRmL8oa8ygppRjupJxeiNe+oHJMRlcm5iuQRD3QyC2KFjOKGTf7CXZJpi2F/MF5+0woL2hYjztfP9fA+DMUu5oZp9ybUzK7a9x8onVSmti0EumYRZVfQu4ur7sg8OWfOVW0AAAAAAABcyzQ//wAAAABeiL4Xn3s1HtIsmzzrjifpE/0ku03iRWnloL5Prmmuxls8milkknemsDTpG/b2MD/zFhVXsBu1/KEhGzpWSMaivCFvsEJ68K3q3AevQmveUTkmIyqTcxVyhE6GB2nm3f3Mgr8jGTPu7Wadd8bLbzqmQaW5VAeLyEoUkodiV3LDtBcm1MyuOql0UplDUTLOosuuoHcX39/R8IgY2SXjlz0AAAAAAABczrc/lgAAAAB25vun54Bm8cyJmnNhb1LqM+vQO+jCHgRfbahRe45Pb+ZkNhqHkrdFXRLMqKRv2NvE24KTGWr5Q0M2dKyQjEV5Q35rhZzum9S5D16F1ryjckxGVCbnKvxZMg6PS6btgLciY8ue1pnqQn7TDQnWmYoufT7+aKathBc4FLuYG3bdsa4FVHuli8nUtoVA1yyi7Ap6d/HlHZkV5zz58nQAAAAAAICbmOZXHwAAAMALOfdePEQflHsMT9SuTvfWO72opmka9HPP6R6a+Go6D+r3WqrRTMEn57cLh5J3pjAq6Rv2NlFbBHEGJzN4x3QyNGRDxwrJWJQ35CdWyKH+RPss4pegNe+oHJMRlcm5CjlCJ3aizQOSaTvgrcjYsqd1prqQL5+FFb1MoY4IzeBKeIuGYldyw2vxJtTMrtr6j4VMKnMlUdKttmqTgl58yLByjOyS8dzRAAAAAAAA93HyNxIAAAAACKdfnGv0EdlTPEnrJPPWbJlxmqE1a+xc/1nQ3GuZ+R4y+Go6D+prY4dOr7doRMjUOXHinhRGJX3D3h7mzCEnhW3NLIwa+pY0diWaFgk9E5a3qGlIU++TVshZxUEWqZe+R2veUTkmIyqTcxX+LBnreUAybQcK97CuiTnjLWpaYUGfqcT5+rkYhbrak4JhwkSY9uEVz67a+o+FzChT707odT6RKNUi3drkL/w/evEYc+CcFecOBQAAAAAAuJv5fsECAAAAvIdz78UefTs26mrNt+n4xVkzfX6Bbm+iGz8f/+KDVtOn2XHN4Of7a3w1O65XXzs5cXpzY76aZgonjt6KwtKkb/mL2A1zJm/R5mYW8odubGiXShaSLi1vUSEw0PuAFXJEXd+CzdUv0Zp3VI7JiMrkXEVxhHzKaKfbPCCZtgNmRd663XzrWdR0TINKc6kOFpGV8JKb8j3DhLmwm42veHbV1n8sZFKZK4mSbrVVmxT04j2GBWNkl4wnNgIAAAAAANzKmV84AAAAAKCcey/Ooy/LRnFW791Zu7LeiiIFmvn5+KMuKNTVijRL0LlOhGa1cxRHyNxHCrSH06ebBF/hUM0vG9iE2ueMb83bAcHcy//55TOXpJA/dGNPuw65tLxFeTfus0Iq907UeC/hG7TmHZVjMqIyOVfRPEKCMloPNg9Ipu2AWZrxZE/fTHUhv+mGBOtMRZc+H38001bCSx6Krf2ZFxO7vGrrP1Y6o0xVJCwgym6n1/MhLZZ8zgFrRj8BAAAAAABewjS/8QAAAAC2on5T7r0ya1ywJYsoGi+Cnsw/CGW7r99sowjaiZn6Geoemp0oevr3R9d1NCJkil/VxvIURiV9w94mZotOdK6THps7WcgfurGnXYdcWt6ivBt3WCE1e2dpvJfwDVrzjsoxGVGZnKuI25DxUCcPNDwFhXU275HJWQ9TXciXz8IKn9lb0k+lGVyGQl3tiWcxK0xsrGt21b5/k1wzqcyV7k5vp9dzXovW8ZOjnN4IAAAAAABwH/xQAQAAAHgj+njdo/lPOHvvLiZNjv4j0D9w+7nRDCrWj36epu7hgUOVZrX8EZopXNXPqhSWJh3OX8RWeFtwMkMhf+jGnnYdcml5i/JuXGiFlAoM16Ug5zRa847KMRlRmZyrGB4hCTJKjk3+wl2SaTvgrcjYsqd1otosMu1NKzSoNJfqYBFZCS+5Kd8zTJiIQvjCqq3/WEhswmtZRpS12us5o2VYZMjpjQAAAAAAAPfBDxUAAACAV/B/fy/yRv0erfNmmqdIUL7/J1/dic6NZtCjjZ3upKivn8GhXx7XRGsKRScyJg+6o6v1KFxq2l6Dt028LUmLNneykD90QxOErRw75NLQw9nJu/G9FVIh2G6rcdo5tOYdlWMyojI5V5E8wrck43BLMm0HvBUZtze0ziQX2ptWaFCpl5rJRXAlvOSh2NqfeTGxy6u2/gMhQxPeSdz2RKKs1V7PQy2SoKs2OcrpjQAAAAAAAPfBDxUAAACAH6BP0p7mv8r8s3Ixl1E+i0lBs+Y5ep0YzWCN9Xm0t2YDwaF60NFTktTFNSJkTry1t2XomRz7dugi9sHbkvzzS6atSiE/48aGjh1yaXl/8m6ctkI2xrssYZipaCfKMF9rJitfSEZUJucq8kdIpozWmM0Dkmk7YFbkrdvNt55FTcfUn3qplyxjEVyGQp06o/OaxawwsbGu2VVb/0vKHIqaRZG12us50DLcO+T0RgAAAAAAgPvghwoAAADAc/zf32u7kPw3mH9Wrp+YrZpy67/r4k6EZjBAm89vqRuITzxa/wTNI/LnPtDhAqhLghmV9A17m5gth2wU9nSycCnjRtLYlWi61HNgeX/ybhy1QvKHyZaTSS7QfpRewxI/UflLMqIyOVdx9AjJl9Has3lAMm0HzO2MJ3v6ZqoL+Wad4TN7S/qpNIPL4NUNla5kRSE8Vj21ZOt/PZnSs4y9tuPVV2Gt9noO4hq0yVF6lQEAAAAAAH7IfD9QAQAAANZGn5J7FP94O/1gfRR/UPPQc52o2MzGuoH4xHzlL9GDBH9W/vTmdqgpLE06nL+IrTBb8v7s7GStfejGhnYVkmMHlvcn70beCskcpllOJrmHtiQUFbTmN5XPkRGVybmKc0fILhmtSZsHJNOW56h1e/omqs0i0960QoNKc6kOFpGV8JKb8j0rWWFiY9VDT17O2jKXESWtap82Kajjwy1DZKOM5/YCAAAAAADcxMlfOAAAAABwFfp2XFP/O80yben0g/VR/EH1oV+2UeuqqRsIDh0m3IEcJ6M/USNCpo16O9QULiVNw9smZkven52drLUP3djQrkJy7MDy/uTdGFohCRmjLC2ZH6AtCVZn2ORNZERlcq7imyNkr4zWqs0DkmnLc9S6DX0zyYX2phUSrDMVXfp8/NFMWwkvuZbvWcwKE7u26rzM6TTq1Qi9zmcRpUKkVZv8hf9HETddpwX2DgIAAAAAAPgh8/0uBQAAAHgV515+dZenqNB8idag7dX50aNPUJxSH3pVGyqtWcofofPg0GHCfcihMhbnNoNN8pk7U7ikn0LsG942MVuSNgo7O1m7NHRjQ7sKybEDy/uTd6O3JPGkP5aZ3xKgRXxNGb8ve5SMqEzOVXx/hFSQ8VDDD+iagqPW+fxNMMmF9tquXqZQR4RmcBm8uqHSlawwLRnV80pOyhya8E6WESWtap82KagTeplDZKOM5/YCAAAAAADcxMlfOAAAAACbow++wqF/TeV3NV+ii+Bjj87+3ExjX9LUVfcQHDpMuBs5Wsbi9GawiWYKv+p/CmqXMg7jbRNvXcZGIZm2KoX8oRsb2nXIouX9ybtRZ+ZtseRDu3r4ajLK/JKyR8mIyuRcxVVHSB0ZpZRN/sJdkmk7cMK63Xwzyd6ipl0WrF3q5ReRlfCSm/I9K1lhWmLVQ09eTl7mdBpVkTC7KLua3h0VSk/r6tUHAAAAAAD4IfP9HAUAAAB4A3c/+DZfouvg6QfrQ/hTko19j9TUiVauewgO1b2Xt3SUQoJyqLeXCHk5hUtJ0/C2Rj0RxBZszFDIH7qxoV2HLFren7wbtiSTvCGW7HcdqlCge2WUuU5OlzqNHRqcnsm5imuP8J3LOKycTNuBQ9Zt6JuXbF7pXMbCCg0qzSUfbFZYicKuQOlKVngtQ9XzSk7K9GkTEbc9kSi7mt4dDROGTOQGAAAAAADsw8lfOAAAAACbc/eDb/Mlug6efrA+hD8l2diFSHGdFD0Eh+qW+1o6St1PLSrgbXLeSeFS0jS8bWK2HLJR2NPJwqWhaUlXV+KQRcv7k3dDlg75YPn15DRawY+fhafIaMnkXMXlR0hBGa1/mwck05bnqHUb+maSC+1NKyRYZyq69Pn4o5m2DF7dUOlKVpiWWNTskheWqT0LgagpFMV3ZCpOy2mWBQAAAAAA+C1z/GADAAAAeBv64Ou59p9VzZfoOnj6wfoQ/pRkY5cjR8iop+hxwaE++T00u8q3qpnC23S9isLPpGn5W9gKsyXvz85OFtqHVmzo1SGLlvdn6IZEjsq3LTo5UaHGl7qk4FHs0OD0TM5V3HSElJXRVNg8IJm2PEet29A3k1xol8/Ch16mUEeEZnAZvLqhUklYxgfTEosaevJy8jKn0xhfzUQX17sj/1ksJZnIBAAAAAAA2If5fn8CAAAAvIG7H3ybz9B18Nxr9VH8KcnGbkIO0okcFxyqac+0dBQvQSfCoYbfrO4l1BZlTMPYJmZL3p+dnSy0D63Y0KtDFi3vT88NmZxQbbt0cq5IzZddfUkhSoMFmZyruPUIKS6jabF5QDJteQrr8K3GbCm8srlhQdti9PKLyEp4dbHSpjmTYlqGomJPXk5S5tCEF6I9C4GoKRT17sj6PyekqAYAAAAAAPAGJv6BDQAAAPBD7n7wbT5D18Fzr9VH8ackG7sVOe4z61yBJjzZ0gnqJk1XpvMpNP6W2s+MaYduYR/Murw/GbdXpdA+tGJDrw5ZtLw/XuA3YmXv90VqrJrVfxIvqnd6JucqnjlCRlNk84Bk2vKYD3nftjLN2+K1N+3SoFIvNZOL4DJ4dUOlK1lhFx2Lml2ylxmoiFffyTIXV99RPTnERNoBAAAAAGAf5vvZCQAAAPAGbn3w7b1BF/FzT9Un8Ac1D32skwI59zP7711o/CctHaXZar7/iZT+kMKlpGl4W+M9wcYhhfahFZog7GPXIYuGBs6LXb0gAuXznEzbeLlXWvl0Y9/gRfVOz+RcxWMmyEEymi6bBzzW28sxHzK+Jb1dCZNcaG9aIcE6U+gly1gEl8GrGyqVhDV8KFTHkmWcVLU1H6uYUaP2LASiplBU3JHOZTzXv1XTTwAAAAAAgDewyFMCAAAAwMPc+uDbfIOug+eeqg+hMgU7KNnbk1iTinSikR+2dJTaZyGvorkdCgo/k6blb2EfvHVJf3a2sdDu3dNJzW52NS3qyV/GHPtLELwciZ9WZ3u/KdJEC15eNkNGVCbnKh42QY6TMa/O5+9M4ZvNe2zom0kutMtn4YPP7C3pp1KnrYRXFyttmjMppmUoKvbk5VjzscwZNQ4VyTiFKH9HxeQQE0kGAAAAAIB9mO/XJgAAAMAbuPXBt/kGXQfPPVXHqC7D6pveZG/PU3Qu/LylE5jP+imYroycejsU9ByOTcPYJmZL0h9NEzZ0srZoaFrS1WUo9MbyJzJHW61pNi/JLxRlbv+kPTs0OD2TcxW/MkFGOdcmf+EuybTl8T5kPNnQN5Fs/pjwpg8aVJpLPtissAxe3VDpSlaIlozqqSX75k1vzYwatWchEDWFokLIubZnvEEAAAAAAFieOX6VAQAAALyNWx98m2/QdfDcU3WBCjGCgpaZ6e2HBH3Ogkoo+m8Gm+Qzt6X+I8mYVu8CwazL/+HlMxej/hMaWrGbV4XeWP6bzdHeDGly2K0kvFmLSni+Qzs0OD2TcxU/MUHxMmUctpFMWx7vQ+b6MjkrYf4UfzDFp6JBpV5qJhfBZfDqhkprcyalUL2qZJPp9dbMqHGoSMYpRJn5525hIqUAAAAAALAPE/+QBgAAAPghtz74Nt+g6+A3T9VGXMEna2ayt5+jnb+tq0OY+V5FXldzOxQUfibtzd/CPpgneXN2trHQPrRiN68O+fMGc7SHAmlJ4jrqp8Z7aPLn401Y/z/p0A4NTs/kXMVPTDDkdBlNrM0DkmnLYz5kDNnQtJ4/TSskWGcKvWQZi+AyqBX1vGYlH0xLLGp2yXahNqmZUaP2LASi3q8oczsBM14cAAAAAAAszwQ/xgAAAABeyK0Pvs036DqYfKrWVo3hFp+vyf6g5qHJTp7HtLyzvSSqwks4pKveDgWFRUl7MbbGPMmbs7ONhfahFbt5dcifh83R4wx/rnUik2LUhCbDhB9SKNLgY9ihwemZnKv4iQkF0oOMJtnmAcm05bHryxiyoWkmudBuvhk+s7ekn0qdtgxeb1O7Z5gwEXan8eVOLdmaj1XMqHF2RdKhtmeTQ8x4ZQAAAAAAsDzLPp0AAAAA3Mq5Z+IkzeJ1sNeDPkYbmT79lvjo5qG9Tt6DCnx5kzFNCXldCzhwN7VFGdMwtsY80YnOddJjZxsL7UMrdvPqkD83maNlPUEDuuQnMsYNC5f3fBUqxI+fhaewQ4PTMzlX8RMTmkgnMppwmwck09bmqG8bmiaSzR8T3vRBg0pzyQebFZbBqxsqlYQ1fDCla0u25mMVM2qML+7NipKX0iMWDgAAAAAA8BPm+1UJAAAA8HPufu1tvkHXQYtoP0ayMb8r3uKPrtsQmsEXopKnaLWH3ZpXkdfV3A6e2syMvfkr2Af/x5b0Z2cbC+1DK3bz6pA/35ujFYx8KdkoyTo2P/+y/ke+8iHsxO/xEi4sm8cODU7P5FzFT0wIkH5kNPk2D3ibhJ9w1Lekt8tgegvhTR8kWGcquvT5+KOZtgxeb63ds5IPpjQWNbVka349jZMqksa0K5scYsabAgAAAACA5Tnz8wYAAABgc+5+7W2+QddBbUM41MmJXf7oZG9vRh2YqOEmtYpDutYw4T7UH8EsyjhW7wLBrEv+1SXTlqTQPrRiN68O+XPIHE02zlkqRXSjn/ytfDhX9gTWwPdoKT9+Fp7CDg1Oz+RcxU9MGCJdyZg3wefvzAnftjLN/Cn+YGofeplCHRHqCsvg9Ta1e4YJs1CojiXPq9eajy9uRo3TKfJ3caK3WC8AAAAAAMBPmO/HJAAAAMDPufu1t/kG3XuYbjajQePLVv3RdRu9xt7MjD030Yv2WjQiZATW26GgsChpL8bWmCdJc5JWL0lh0dCxpKXLcMif5qoGPZe4J2Wljo76qfFLih/CevgSr8VLe5KiBw0WZHKu4icmJJHeZJT2bPIX7pJMW55Dvm1oWtOfpg8+s7ekn0KzwjJ4dUOltV2TYkpjyUND3oxvPri4GTXOdWtmfnALATNeEAAAAAAALM8irwMAAAAAT3L3a2/zDTp+mNaWPBe254+u24gbeycz9hxgt+9FaTAjM5+5LbVFGdMwtsY8yZuzrY2F8KEPuxl1yB9dNe5wSY7Qsn7yt/KDS7EevqQQdVXZQxQ9aLAgk3MVPzHhEN4NGYfdJtOW55BvG5rm/THhTR80qNRLzeQiuAyFV4HMlXwwpQtLtuZjFbED72QWRdbJ6ZZmvB0AAAAAAFgbfqUAAAAAHCZ+1P6e5lNy8n1Z0659jLZq3zSWRwp+ZreZfHnPL0Gt89LqSA+zfUlnLuGcvfkr2AfzJG/OtjYWwoc+aIKwiVdNf2oecEOO1lN0YqNEHji9wJr5Bl/Ei9LIY9ihwemZnKv4iQlHkSZlNE9sHpBMW5ujvu1mmukthDd9kGCdKfSSZSyCa+ClDWUu44MJyUieV681H6gYOvBC4p5foihjfszpjQAAAAAAADfBrxQAAACAw9z9Zt18Sk6+L9/Rmx39TWNJimrXFjduKvsSRJ2MhY06yaiut4OnNjPjGK7WmCe1pT22tbEQnvFhK6/sT0h5XrU0oIf6iYwyt8iTXHKoL6Lz32oJTs/kXMVPTDiHtCqjOWPzgGTa2hS+YVqB6S2E1175zN6Sfip12jJ4vU3tnmV8MCGx5KEhb8aaX0/jUNFv5VgDpzv5uQQAAAAAAIACfqUAAAAAHCZ+y/6e5lNy8n35jt7s6G8ay9CrL+NNihZGfRO80ryZd9i+GIVFGceal7I53pPkX10ybT0K4Zk/pyW9MuHGzwVKS9qDTupR0x5DDpXxm3N921btV1r00OD0TM5V/MSEb5CGZTR/bB6QTFsbMyFv2laONf1peqVBpbnkg80KyyDqTJqf1yzjgxcylDyvXmt+MY3SsIy9nuPVu0l6HjDddQAAAAAAwPLwKwUAAADgMHc/VTefkjPvy3FjuupJSrCjTzeWYdj8Jaco11Z7ObWxsdUezRT2sesohZlJx/JXsA/mSdKcbT2s/8aGVszulUlW3iZE2vN3IfN61NXHkENlPH2u7/kNWvTQ4PRMzlX8xITvkbZlNJdsHjCp0msxEzKmJY1dCe+PCW/6oEGlXmomF8E18NKGMpfxwYTEiqbWu7DGoaKfyLFzTzcw410AAAAAAMDa/Ob3FQAAAMDU3P3U23yDzjxMH328zgjxNU83NsSKBNUuOUi5sNQsiGQZvWqNCBkr6u3g6dkbO4arNeZJ0hxNEza0sbBo6FjS0jdg16q8vGfp1t+CzOtRVx/jm6P9Lpt/U/BLih40WJDJuYqfmHAV0ryMea98/rYUptm8x26mmd5CeNMHCdaZQpD8+VgLr7ep3bOMDyYkljw05M3kNc4lUOUIzbZ/cmXe6nNH/6RtAAAAAACAgMl+KwIAAAC8gbufeptv0JmH6ROP16pF6G30NU83NsSKBNUuOUi5sNRciHCdePkazBiSz9yT2t6MY7haY57kzdnWxkL40IcXGqUteea6R+m/6b/G/epj2KFHTy/yizpHq11C0YMGCzI5V/ETE65FJMgoKmzyF+6STFsbb0LGkN1MM72FcPksTPCZvSX9FOrISngHajc8y/jghQwlT6o3qdGnzULc88NXZsedPnfGKwAAAAAAgLWZ9ZcwAAAAwA+59am39wCdeZi+4/Ha12zWP32oUVRINnOaS4rMTm1yYHtBPnNbCosyjmmOgLGG+Zb/k8tnLkYhfOjDb43S042p70u0eNtl7sci4THqrnQeU2TWRfKlLsQODU7P5FzFT0y4A2+ajENRybS18SZk/hJ2M808KYyyuaFBpV5qJhfBNRga5VnGBxMSK5pab17jXAJVjtBs+8krM+tOe/hktwAAAAAAABkm+4kIAAAA8AZufeptPkAnX6W/ebyWjcOjhwnnyJf9/izhkiJrIFbI6N3QiDC0KJ+5LYW9ScfqS9kcMyTvzLYeFsKHPjxjlJ7iWelqRJ03XOZ+LBLupneofMoYtFEk1PlasCj7DHZocHom5yp+YsJNiBYZzTqbByTT1sZMyJu2j2PeEy+86ZUm1Eu9ZBmL4Bp4aUOZkrCGCSYkVjQ05M1kNM4oMO45EHshGW9jZnQeAAAAAADW5olfUwAAAACLcetTb/MB+vSrdB49oj7IR+7orbf9aDzP9xUWQwzRibdFgxmj8pl7UvuTcQxXC9QQz9CcbT0shA99uNyo4rLWvgIR662WuR+LhLuJD5WgjD6uEcGCdY6iBZtl78YODU7P5FzFT0y4FVEkoxlo84Bk2trYX0LGjd0cM72F8NqHXqZQRwQJFpFl8NJimU1nZsSEDBXFhryZpMbpBKocodl2LPYSzLHT1j3QJAAAAAAAwCFm/ekLAAAA8ENufeptPkCffpXOY0cUZ/nPO3rrba/b+My+dv7LhhdGTa5tz9iVz9yTc97iao15kjRnWw8L4UMfThulGz1buS3yvcky92ORcDffHCpbZOzt0oJPajEyojI5V/ETEx5AdMloNto8IJm2MEdN280x01sIl8/CBJ/ZW9JPoY4sg5c2lLmMDyIkI3lqvV7jSgKHV3afnIylMTMaDgAAAAAAa3PjjygAAACAVbn1qbf5AH36VTqPHVGc5T8v7y3YK0uf2R9xD4f4vsLaqPPeojrSw24Nh5vU/mS8zfu/D+ZJ0pza+U0o/BnalfHTzFR2s7RA3PD2ytyPRcLdnDtUkmWM87Xgk1qMjKhMzlX8xITHEHUympk2D1jbkAxHTUsauwz2F+L/VJomaFCpl5rJRXANvLShzNqZGSkkL6nXNHqxNfHqC9GGhWbP98mRylrWJkeZzmoAAAAAAFieFX7hAwAAADzM6TfiDM3it56o2BHFWf7z8t6CveeWMny5fRPEJZ2YV3UkQJPxuUfhT8bbQ/5vgtmY/3vLZ65EoXpoQjPf2M29GDFHDfETGb17jzlWN3MVWvBJLUZGVCbnKn5iwsOIRhnzlvr8bTlh2j6OmTnFn0rxqagz9VIvWcYiuAbqQz2vWcYEExIrmlqvXeVQ41wCfyLHm3miftwzAAAAAADA80z2UxAAAADg59z9ztt8fT73JH0UPaU4y39e29twYy/h9InKl9t3Q+yS0TtWR3rkM/fknLe4WmCG5J3Z08NCdc8EjXt2M+oQYpf64ycyep8fM7Bu5iq04JNajIyoTM5V/MSEnyBKZRSxNvkLd0mmrc0h03ZzrGeOfBYm+Mzekn4qddoaeLFN4Z5hwizYbcbXOq9e33mgcUaBQc93yDH3AhsDZnQYAAAAAADW5sxvGwAAAICdufudt/n6fO5J+jT+uN7cON3bcGMv4fSJimyX8ZsKG1KblrdRMwU8b3LO27z/m2CG5J3Z08NCtX56+KM6hBiojvmJjN7hxyytm7kKLfikFiMjKpNzCT9x4Ld4b2Ucyk+mrc0h03ZzzPR64U0TNKg0l3ywWWENhkZ5JGEBE0zmwnqTGqcTOJQj41WKzJxzLl3bDAAAAAAAwPes8JMeAAAA4Enufudtvj6fe5I+yvDoC3vL7OrlnDvR0O0yyvybOhtSm6YRIeMkngfUTmbswtICM6T2s8duHpozBn8/3yB+qoF+IqO5avEHqJu5Ci34pBYjIyqTcwk/ceDniGoZzWGbByTTFuaoabs5JnrNHFPdNEGDSr3UTC6Ca1AYFWhcxgSTGSuaWq/XuJLA4ZVdIifjXsCMxgIAAAAAwNpc82MJAAAAYB/ufudtvj6fe5I+yvCUOuF0Y5mNQc7pcwW/V+Yyni61J2qa4H3LO4nnMYU/TbcLMjlb4Q1J/r0l02bE3FD4I7kWsVct9RMZi+Az1M1chRZ8WI6SEZXJuYSfOPASRLuM5rPNA5JpC3PUtK0cM7GF6qYJEqwzhSD587EQXmxTuGeYMAWF5FjvpGJNY3xl0wkcypHxS0XmyTlzLukBAAAAAADgQmb9ZQsAAADwK+5+522+Pp97kj6KneKP682Vc43ld/Uyz52rNFXo5HTNPVHfvGl1pEc+c0/OeYurBWZI0pnvDdQKxvN3UTQg8PdwK2K4OuwnMhbBZ6ibuQot+LAcJSMqk3MJP3HgVYgDMprbNg9Ipi1MYVrGsX3sMnOKv5PaBJ/ZW9JPoY4sg5c2lFl7NSMmM9Y7dOPN2E0FVzajwOGVfSMnY1rAjH4CAAAAAMDafPUbCQAAAGBD7n7nbb4+n3uSPoQ/ojm/sLH8rl7muXMV2Stjr6yMpyvvSW2aRoShk/nMPel5G9uVydkKMyTpjKYJSQ8tX9BTbKNfEpIFD/HAERBg1+0nMhbBZ6ibuQot+LAcJSMqk3MJP3HghYgPMprnNg/AOjMq41jS1WVomtM0QYNKvdRMLoJr4MXWwj3LmGAyY0Xz6rXOFxN4nxzZqxttcojpnAQAAAAAgOU589sGAAAAYGfufudtvj6fe5I+hB1RnNWLKycaky0yJnf16p8419C9QRu6JJw+YkOapgUmF+QzN6Q2J2MXlhaYIXlnhpnNBAk2t/TiR9FDjUtqwmnsWv1ExiL4DHUzV6EFH5ajZERlci7hJw68FnFDxrzzPn9bzKiMG7s55s0x1U0TNKj4pSC5CC6A1zXUuIYJheRY76RirfP4yqYTeIcc79W57TLOZSMAAAAAAKzNZL/0AAAAAH7O3e+8zdfn4ZP0uTdrj1UoSvXiytFzJV9G2ZLf2Ms8erThN1o/+lkQr0KT2rS8jRgeoOYI5k/GLiwtMEPyzgSZslTHm0Ehf6JHd3mOVoBbsev2ExmL4DPUzVyFFnxYjpIRlcm5hJ848HLEExnFFpv8hbsk0xbGO5BxYyvHTGyhummCBOtMIUj+fCyEF9sU7lnDBJMZ6x268Vp858GVTSfw8vsycwKXAqYzEAAAAAAAlmfNlwsAAACA+7j7nbf5+jx8kj73Zu2xCkWpXlw5em5crUkv8+jRRr1RIjrpHSTjubO2pTYtNtmTz9yTwtuMXVhaYB4WZgY0MyVY720GheRZmmZkeoMfYtftJzIWwWeom7kKLfiwHCUjKpNzCVJfxudNeD/+CmQcWoST3oGMG1s5ZmIL1fJZOOAze0v6KdSRZfDyays8y5hgMlfVa53HEmL5L+RCOZZ8zoS4EwAAAAAAgOeZ7AceAAAAwM+5+523+fo8fJI+92btsQpFqV5cOXpuXK1JL/Po0YZslLFXU8ZgSTh36J40TQtMLshnbkhtTsYuLPWoG56hM4WB8llvaQaFpvkneoBXYdftJzIWwWeom7kKLfiwHCUjKpNzCVpfRpnfetCMeFuSFuFkYVrGsX3sMnMKl2xuaFCpl5rJRXABhi551jDBVGT0TirWOg8kDOW/jbjhvJyMOQHT+QYAAAAAAMsz629XAAAAgF9x6ztv7+l5+CR97s3a8NuLUvbZPOLQuZIsY1CtSS/z0NEebUPpVdZJsHru6G2pTcvbiOEB54zF0gIzJOmMz7dkDRb4UsMEmJHib0Dnetcy96sP4Bu49lwt+LAcJSMqk3MJvr7MZbz1uBnxtiQtwklzIGPFbnaJXhVrE53LWJigCfVSkPz5WAgvtincs4YJpiLWO3TjtVjnQ4FzqftejuWc0x43AAAAAAAA8DyT/a4DAAAA+Dm3vvM2n56T79Hnnq0Fv7EuYpFm/UOHSrKMQbUmflfBodMV26JllV6R+GgZj56+ObVpdgtDJ/OZG1Kbk/n7zORshRmSdMZsV2zjEDxfDLl3vVM/kVH/JJ687rqTq9CCD8tRMqIyOZdQ15eIjLceOiPelqRFd9/d+zEHMo4lXV0DE1uoNscMn9lb0k+hjiyDl19b4VnDBK9iqHdSsdZ5IMH7MAVxw0M5GU9iTm8EAAAAAAC4A36iAAAAABxj+I78Dc0X5OSz8rnXZ78rPj1eHSKZOpH8/C5BNzbzD9VRii3WldI7RcZgSTjaxs40TQtMLshnbkhhTubvEz8LzJCMM5KjCUWyfnq0YFwNJsX/GRR/Dw9fet3JVWjBh+UoGVGZnEvo1Ze4jLcePSPeloxF2IhjASZ26JIGleaSDzYrLMDQJc8aJpiKWM68YlcVOJQzXApyYk5vBAAAAAAAuAN+ogAAAAAcI35f/pLmC3L+WfnEA7RtGR49TIiRTJ1Ifn6XoBub+YfqKM0t1pvSO0snwerRZjanNi1vI4YHnDBWEwQsVcyx2DpZtRyPz9ccP4HFqK9Y/yRk/vCl151chRZ8WI6SEZXJuYS4vqzKeGsDM+JtyViEjTgWYGKHLmlQqZeayUVwAYYueWpbZsRUxHKGbryWvMCJ1Ol1CM2ee5eVtCJgLpcAAAAAAGB5+IkCAAAAcIze8/ElNF+Q88/KRx+gff7w6GFCjGb68bMwIthyqI4iW2Ts7dJVo5kWVLDtR7vamdrP+I48+cwNOWcslnrMjcIW/TQCuyRTV20C61Hfsk5klPmT9153chWm6Ek5SkZUJucSMvUlR8Zb25gRbws2Zjjh2D52mViv2jtmaEK9FCR/PhbC64o1Nm2ZDlMxlBO78VqSAofy38ZQTrFkkXopyemNAAAAAAAAd8BPFAAAAIBj3PrI2yx+6MR8ss/s7RrmHD3Oj5+FEfGWQ6UEqybz3kZdNXrnyhhXONTY5pjnZlod6ZHP3JD6TzHzx5nJ2Qf7AzOSzshGzbQJLIm/X53bKJEnr9468S1dgtf1CT1FRlQm5xKkvoyZI/KZW2G2JP3BxkOObWVXzxn5LBzwmb0l/RTqyBp4XUONa5ggKjJ65xWbFziROtUiNHsulHoHzmksCgIAAAAAAPyWmX6/AQAAAPycu194m0/Ph96jkx36mkH9YVqwt0AyZZTk/BZF83u7TlSTUbfo3D5rLEHona6TYPVQe1CblrcRw3vUf6h1pGZbP80c44QJUkR32QQWpr5u+yuKbz+ZlqRu4yq04OVlM2REZXIuQevLKPPMQfnMrfD3JePQH2w85NhWdplYr7rpgAaVeqmZXAQXYOiSp7ZlOgq964lNCvRpUxA3bErryVGmcwYAAAAAANZmyp+mAAAAAL/i7hfe5tPzofdo7VDobSkkxMX9ajMz3u7RzHy+YVu+bECxNmRuG4vPAl01mmlBBdveqw81tZ/xHXnymRtywlhNEBa21DQqlyiVmlJHx08I1sUuupg0/wAk+Jm5P7Zm5lGK0zV4CVrw8rIZMqIyOZfg68tcxsxx+cx98J4k/dncxqOObWWXiDVnTHLTAQ0qfqmXXETWoHAp0Ni0ZTpMRSxnXrF5gXOpC+TokqCrp6XFjgEAAAAAADzMms8QAAAAADdx9wtv8+n50Ht0L1k7F/zqsLJPaCYPK3gOJRu26/sGBMmX0Qr+xf7z2atmyUozLVOhtwo1xQUJdaRHPnND6j/FzB9nJmcK7G/DuFyUHKE1bQJr4y9a537UoK4KvT8JX+Qc/rgvSxVowcvLZsiIyuRcgtSX0R9RR3rkM/fBe5L0R9J29vCoY/vYZW4UtjRdUlvqpUxkDbyuocY1TBAVGb3zivUCl1E3vKyh5JjpDAEAAAAAgLU5+dsGAAAAYE/ufuFtPj0feo9OJieF+GqP9ebxffa2n+jBl9WgfercPmssQWjmxBWKoyFDbVreRgzvcc7VSf3Utj23SpDjtL5NYHmKS7dRV5N/Bl/+wRQ9aPASTM61ZTNkRGVyLkHryyhzf1Ad6ZHP3AfvScYfPCwcwy7DxBaqa5d8Zm9JP4U6sgZe11BjbdR0FHrXE2sCvdKa6dT15JiQ04piowAAAAAAAB5myt+iAAAAAL/i7hfe5tPzoffoYfIhCb5aXflQY8LRfEG7NertmpAv63so9safBbpqNNOCCra9Vx9qaj/jO/LkM3ej/lPM/HFO4acJEaRV+bTxE72NJ8+Cl2DXXdz+0T+Db/5sTh86RAteXjZDRlQm5xJ8fZnL6I+rIz3ymfvgPcn4g4fmAHYVNJ1pOqBBpV5qJhfBBfBKa9WeNRwwFbGcecXaJdqkZjp1zYYzSmOm8wEAAAAAANbm5G8bAAAAgD25+4W3+fScfI/WtGRyEl+trnz0rBO96RYZP99/5tef+bJ1slXTePxZYKtKnBOsNpegSe1n7LAnn7kh9Z/i8I9zmPArmlrkU8dP6DbslGeOg5fgr9v/vZ34Mzj9l2MbT1focVrL92REZXIuoa4vERl9sI70yGfug/ekdrsGD82ljBVb2eWdMclNBzShXgqSPx+r4JU2VXuGCVNg9xhfaLz6WuyO4suKV19I0bDdjk2OMp0DAAAAAACwNlP+BAUAAAD4FXe/8DafnpPv0ZqWTE5i1b5pzHN0i8+XuU6+6STI1PrFcb3PAl01mmlBBdveqw81tZ/xHXnymbtxwlVNEF7ip/RTdKKROn4TdtBjJ8JLKK7+m7+Ec38835wYowUvL5shIyqTcwm9+hKX0S/VkR539zwj5l7SxrzbS+LlZ6zYxy5TWkiuHehlCpnIGnhdQ42SMLsDpjEWO7TitdgdDQVOpM5r8QLPSYidAQAAAAAAeJjpf2kDAAAAPMndL7zNp+fke7SmJZOTWLVvGvMc3eLzZS5jc3u+7DBTTxE0rfnZq2CrQVqygn7CkNqxvIe43eOcq2/wU3qoG3i4Me2h2QmsjV16MTn3x3BiV93AVXwj5EsyojI5lxDXl1UZfUIdaZJM2w1zGxszePkZK8ze5TE3CltqB3xmvdRL1s9l8Epr1Z41HDCNsZxJxfq2TWnNdOqsYRMVqAuYTjgAAAAAAKzNmR82AAAAANty9wtv8905+Rh9R2929DeNFRza5ZNlLmNzb77moUwZm6fr3D4LbFWJc4LV5hI0qf2MHfbgdo/amYyrP/RTjq7P1WBz6SaePxHeg927/zOQUSIn/h6O/hUVp2vwEkzItWUzZERlci4hU19yZPRpdaRJMm0rvCfYmKFwLPZhK69MbGGRzQ0NKn6pl1xEFmBokWeY8H4KvbHYGZWawPiy5lKnWgTt+VzzsSEAAAAAAAAPs+ATAwAAAMB93P3C23x3Tj5G39GbHf1NYwWHdvlknX/ZyaHTBcmX0fcQfBboqtFMCyrY9l59qKn9jO/IwO0eTWeGriZtvxA5sT5Og82lm3j+RHgVdvXF5PSfxKGN9elX8aWKb8iIyuRcQr6+ZMrok+tIk2TaVnhP8jbu7KG5lLEraeka2B+G/wtpOqAJ9VImsgZe11CjJMzugGmMxQ6teC12R8FlTacuIypgOr0AAAAAALA20/+0BgAAAHiSu194m+/OycfoO3qzo79prCa/0Wfq/MtO8pke2aUT3Rt/FtiqEuT0GotXoaZ2LO8hbvc44epjZspBzVM03lu9g+dPhFfhr97/McgokXN/Ffk/J8vMb0liKq4tmyEjKpNzCUfrS76MfksdaZJM2wrvScYfPBQHsKvGlBaSzS7DZ/aW9FOoI2vgtdc+eNZwwDQuKdbajvuPtb8Ka/Vcz7EPAAAAAAAADzPNjzEAAACAN3DrC2/v0Tn5GH1Hb3Z0s4dkY02S3fojdP5NJ8m0AKkgo28p+CzQVaWZYwnBaq841NR+5j3E7R61M0Ov6ou4HDmiLq7B5tJ9/ORQeBV2+8Xkm78K2SvjcPv3B/W4r/IQOzQ4PZNzCefqyy4Z/cY60iSZthXek4w/m3uIXT1M6dAiDSr1UjO5CM7O0CLPAg6YhIzYGZVa20H/Q+0vIaMlYBaZAAAAAACwCVP+yAQAAAD4Fbe+8DYfnfMv0Xf0ZqfXbehxwjcnDnv25wbJdXtNkmlDik70U9BI0KdgyUozLahQnAUZCj/zHuJ2j/pPtI7UZHJOIGWbNTXeW72JnxwKr8Lfvv97kFEi3/xhDP+u/HGf0EXcVznGnxicbkt3d/hNfdkro99eR5ok07bCe5K5lM09PGHXJl6ZM4VFNjc0qPilXnIRWYChRZ4FHDAJsdihFe/E2p5dnXSo7dnkEO8XCAAAAAAAW7HgawIAAADAfdz6wtt8dE6+RGtjwrW92ek6sVMEO0iD35wbVLAGdC7jMC0gmZZE+xGaHdarHltV4pxgtbkETWrH8h7idpP6T7SO1FxuphRsVvvJrWkzvZZgE+wPoJh8/4cRV7jqlJr7Ksf4E4PTbenuDr+vLxVk9EXqSJNk2laYJ3iY4ZBdW3klYlWpTXQuY+GAJtRLmcgaqAP1vGYBB7yEodgZlVrb8WW9WZ2XcKLJWDgAAAAAAMDDTPnbEgAAAOBX3PrC23x0Tr5Ea1oyOYmvJnMZg+KaIJxuoFkh2YNPC0imHaVoLP4s0FWjmRZUiItDjRmevCAPbveonRl6daGZUqquo8Hm0n3YcQ+fC2/D/wEUfxXf/20EFa46oua+yjH+xOB0W7q7w6vqSx0Zfalk5XojmHVJczb38JBd+3hlSgvJZpfhM3tL+inUkQXwooYCF3DAJMRaJlXq25b5dOqs56D5gNfqAgAAAACAPTnzwwYAAABgW869CydpFk+eqGnXtldXk4iM8RGZnBitIBSKepV9Tkw+8wS+7eFnga7Kkk3+wv9huCQ0V6FJ4Wfew+AiluGcxnrXsE7e9h5SoblX473Vm7DjHj4XXkjzj0HmOvnyz6P3B6bx3uo33Fc5xp8YnG5Ld3d4bX2pJqMX6D8D8pmb4A1JmrOzh0ft2scrUzq0SINKvdRMLoKzM7TIU3syHSYhFju04p1Y20N1b5NmLZ3rLdYLAAAAAADwMNP/eAYAAAB4jLufd5uPzsmXaE1LJifpVZO4ToKzNOfLZooizZq9JpscSj5N3HZThaJLRpwTrDaXoEntWNLD+CJmxBQJKspHlIzYc5ZmcprIxuYua/5EzdNYM72uYB/830DxhyGjzL/8C2n+jVn9L4vX3Fc5xp8YnG5Ld3d4R32pKaOX6T8D8pmb4A1JmiNp2xp41K6kpQtgSocWaVDxS73kIrIAXlQssOnJXHgJQ7EzKrW2g/69CW8g03PA2+QAAAAAAMDmTPljEgAAAOAn3P2823x0Tr5Ea1oyOUmvmsVlImNwoiYI33RlRZSiVK/JJoeSv6Qwp7CiWC2wZKWZFlQozoIhtZnxBXnymS/E/lSMWEj+T6tnqRDsPWGmbGnmnyj1PdZMryvYiubfg84v+Qupi1xYvOC+yjH+xOB0W7q7w/vqS2UZvVj/GZDP3ARvSMaczQ0s7Br6kMlZA1PqJXu7DE2olzKRBfCihgIXcMAkxFomVZpX9xJp1sm5lmKZAAAAAAAAD/OW31oAAAAA7+fu593mo3PyJVrTkslJetWKuHzKGJ+byRlSFDlRs+j8AbRJodl2veqxTL+lIFgS4lUoqK+jjvSYxWpTpHildfNFsiGZzfwaq+CTNRhsTyYYdaa2p+Mn9Ah24vNHwztp/kno/JI/kqLIhZUL7qsc408MTreluzt8uL58ypg5MZ+5Cd6QjDmbG2jy8crTs0U+C/k+s17qJevnGnhRQ4G1J9NhEmItkyrNqJMlGX+uLtNqwEtUAAAAAAAAKFP+hgQAAAD4CXc/7zYfnZMv0ZqWTE7Sq9brUydBA5mcId8U6Sl6AG3bTo8/PabXqNMsJ6jQXIImtWNJD+OL+C2BBFkq4rHeEzLrgvERgk+wEw2LNytovLd6H3bi80fDa2n+Vej8kr+Tm8oW3Fc5plan8wJburvDBxyQI2T0p9SRHg+0Nxfeuow5eauXxCzK+LCPV6bUS27K16Dil3rJRWQBvKhYYNOTuTAJsZZJlebV/VaaNXCuk1gdAAAAAADAw/z4JxYAAADARNz9vNt8dE6+RGtaMjlJr1pwiizpJG5D0y5sNcm1/pygEF7YFbtne4sinuGS0FyFmtrMwN6CfOYzSD9BM371Vo31lqCILhmSYxHLl0hvr+Y3V+/DTnz+aHgt/o+hnn//pyIVZNQiV9Wsua9yjD8xON2W7u7wMQfkIBn9WXWkSTJtK8wTPBzitWd82McrUyoT09uUrwn1UiayAF7UUOACDoiEjNhJlWbU/Vaa7/BcD6c3AgAAAAAAXA6/TwAAAACy3P023Xw7Tj4oa9q1r8+9asEptiQTjQT9aM6FDQ8JOn+S2pzCisAZ26sEOT2l8SoUmOHF7QhDD19itbQR9OBX48yao/lKYYt+ChopPgUfKU4sPg2N91bvw058/mh4M/7voZjr5MRfi+01pIgW90dcxX2VY/yJwem2dHeHDzsgx8noT6wjTZJpW2F3h4dDvPaMD+bt8qjSwpPaIovUzgTJ+rkGXtRQYO3SXBRiF1OaVOfTnsRaOu3t6Y0AAAAAAACXw+8TAAAAgCx3v0o3346TD8qadu3rc69acEq9JBEZg640Qbiw8x5B5z+hMKewIrbOkpU6rahWEBeHmtqxpIfxRdyNnB6fawnDzCand31m/yJFNFhX80cUx/VO75W6G+un1xhsi/+TKP4+9VMI/mYsx6ir+UlQ6hxa847KMf7E4HRburvD5x0Q5FAZ/bl1pEkybR+8IXg4pLArNmEfo0xpIbm2SBOUeqmZXARnx8usJXsWkG8SYi2TKs2re1ianXj66Od7BgAAAAAA6MHvEwAAAIAs8Wv19zTfjpMPypp27etzr1pwSrBFxri3TM6XBJ3/EBUuWG/einrVY5l+S8FwSWiuQk1tZmBvQT7zKuTE+DifMEzukdmo2o360F4R3djLyex6Euun1xjsTPFn2fzsEfw56R+bbdd5kH8OO+XyyjH+xOB0W7q7w+cdMORoGf3pdaRJMm0fvCF5D7c10CzKeJX0cwGatjTla1DxS73kIjI7Q388C8g3CbGWSZVm1MmSjI+py7QU83DDAAAAAAAAAVP+VgQAAAD4CXe/7TYfnZMv0Xf01js6aCnuVpsUvsw5Tdzez1Ht1mFhRbHqsUwlzglWm0tQU5uZN/BJq+Ws+CBLGGbG+O0qsKaur7ssv9mAruqSP0UoPj1+15NYS0FvsDnFH6d+Fhz94yn+8O7487uvcow/MTjdlu7u8HkHCqQBGX0PdaRJMm0fvCEZczY3UOTjVY0pNX98UD8VTaiXMpEF8KJigQvINwlLKs2re0aaHXT6xFgIAAAAAADAkzz0UwoAAABgAe5+220+Oidfou/o7UQ/yTYyaY8pehuFcP0UNFJ8FtiqEuTE25urUFOYmTcwuIXvsTaE4AhJ852fbsYfJ2idTHGN6/be6ba3LtIrK8Q1byVoGMDQP9GCb/5grKAUueNvT2s+/1ftTwxOt6W7O3zegSbShoy+kzrSJJm2D96QjDk7G4hXPUSpyCz0alDniiUES/op1JEF8MJrEzwLyDcJsZZJldr12aTmGWmZTmKe6RMAAAAAACDDyR82AAAAABty99tu89E5+RJ9R28n+tE2lGEzlpwpeIm0uPlXUQvXSO/TY0uZHP0siFehoLYraaCmCXGmpdXIxnpVq0l8WDaZWVCc2Nw7LK5xP34WHBKXsVent0vwGx/Gugragw3Rv0nPtX8eVl/K3vG3pzWf/6v2Jwan29LdHT7vQIA0I6Pvp440Sabtgzckc8U7G1h4ZfMeGT8XwKwY+qNBpV4aRmZn6I9nAfkmIdYyo1K7Ppv8hUvulmb1Tx8U9w8AAAAAAPAk8/04BAAAAPgVd7/tNh+dky/Rd/R2oh9d1WaMYVeZ5jM5Q+Lm30kh3LzVSGCLZRp1WlGtICgONbWZeQN7mVZTkFVLK+KfmUMS4nN9wjBZ8CcK8d5McY378bPgkLiMulTn9HYJulHoJdyHdRW0Bztgf4TKM38M+ld3x9/efZVj/InB6bZ0d4fPOzBEWpLRd1VHmiTT9sEMwcAhXrvMYxP2McqUFv7Y3NCg4pfq5Ob22Rn6Yywg3yQsqVTa1p6D/m+V5hs4d8St7QEAAAAAABzidc+OAAAAAK/lmafnguRL9B29NY+O+/Gr2pInbs/y4/oyxnV6xJ2/nFq4j8TWWWZdxBguCc1VqCnMzBsYbLS5kikV51hCJlNGy/H5vb2Z4rrkx8+CQ+Iy9kr1dgm6Uegl3Id1FbQH62F/csZPbl//6u7427uvcow/MTjdlu7u8HkHkkhjMvrekq3WGzfHfEs6s7OBpj1jwj5GiVKVaROdy1jI14R6KRNZAC9KrfgLN1hAvgmMtcyo1PdsMmtukmYnBkfH3NQYAAAAAADACU7+sAEAAADYkFvfdpsvzslnaG1MuLa3oy31lrQ9WbLJX7jLME0ThGEpT6+9iaiFF5HAOlvK5OhnQbwKBbVdSQM1TZBMmftRg7oao1s+HxV+Nc6sGe5NFpclGXW1lxbnDIsLvYT7sK6C9mB27A/MeMld61/dHX9791WO8ScGp9vS3R0+78AhpD0ZvWP+MyCfuQPejaQzOxso2vNebWKUySz0mleGz6yXesn6uQYmc6iuNmQuvMBYy4xKTZ2XWXO5NCt4unLcMAAAAAAAwJPM92sQAAAA4Ffc+rbbfHFOPkNrWjI5z9GW4gZk9TP7l7hbzf8+x4jbm4tauI/o3D49tmQEOU276qMhwBvub8cbWFyKLEmkOX4yRgyTfcLpyr2NyeKyJKOsZnJ0XqQNNwq9hFvRxoL2YCLsb8njb1YTXnLX9/3t3Vc5xp8YnG5Ld3f4vAMnkCZl9L75z4B85g54N5LOSNqe7h31Kunn7JjMoT8aVPxSL7mIzM7QHyNenQKTsKRSaVt7tknNtdIyJ8Zc2w8AAAAAAMA3rPaDHwAAAOA+Tj8KZ2gWT56oade216sWnJLv9jP7I9iSzLS0+PRkexNRC9dI79NjS5kc/fToktBcBfNHMJN7FB6a7fXkn+UEkh8nW8Iws8BvlLG519fs1de4Hz8L/0WWZOxVG24Uegm3Yo0FHcKbsb+fguA2dcvPr1v/5O74w7uvcow/MTjdlu7u8HkHTiOtyujd858B+cwd8G5knNnZvRNe7WCUWTH0R4OKX6qTm9tnp/AnULeAfBM4VDqdTLud+JqukubrnKsZ9wkAAAAAAPAk8/0IBAAAAPgJdz/sNp+bk2/QmpZMTtKrFpxytAHJ/8z+qPf6gpYcHKE5V7U3EYXwwqvAFstU4pxgtbm0J03zC2K7ZIskmLEnHNYKn48WljDMLMhs9Eu9NI378bPwX2RJxl61eGNc+Vbs3F81AEeRm/rM/rBb03jvs2aYcDf6J6fjJ3QR91WO8ScGp9vS3R0+78CXSMMyeg/9Z0A+cwe8Gxlndnav8AqjFLPCe9KUrwk+TamTm9tnx4QP1dUWzYUJjJUOfXgndjvBNV0lLXNWwFVtAAAAAAAAfM/cP3QBAAAAHuPuh93mc3PyDVrTkslJetWCU2RJJ4fasF2Gbfdn6TxzhObUCb7aktTCfSS2zlaVICfe3lzdhMKEjKU1ZrKfHHU13uJXDxVPbsykadxWgzQZg2rBRon3Vh/g5w1AgNzLZ/Yv8TVpvuUUnzXDhPvQPzkdP6GLuK9yjD8xON2W7u7weQcuQdqW0TvpPwMm1XsT3reMh3mf18O0Y5TR80Q+C+2aoNRLw8jseH/8vCZenQK7vvWUWs9DaV/qsgrnSsXtAQAAAAAAPMn/9/lfAAAAAICv+X9//N8fn9BBhtuHR/gE4RPdgFq4j9SfHl2yeZATLAnN1elQFTWf5QpbFQcsYvM/Y1L/QciKFJMneebEpLSkbwAB8pdWIH9XBZ/UDpqje+vPmmECwMPY32TxOfwTTaZtgvfN5p+1FpYTpy2JabdJYEImZwFMps5Nr58rf4n/+/dksTSMzM6f+o8om3/W/out9hLej/VvWj4L/yVefSfWs02a/QdLAAAAAAAAu/HPL6jPFAAAAAD66Jvyff92kvp18WawRtOSyUl61YJTiiX5lLFI1qAnTrBVLZ45osByir3LU5vjIzq3T48tGUFO09L66JfTlOw11gkeTWiOn4wceorutcmJIvEWn1AnB9vjjUY+TUZdPZ3W26jxoOzd2NE/7GFbxPPP7I9r/dfiVrP4rBkmXIv+ven4CV3EfZVj/InB6bZ0d4fPO3At0r+MXkIdaZJM2wczBANjvPCMCZsYZTKH/kiwSFMykQVQ+TqRMVBnmZNiAmOlQx9eiO85uKbT0qxmUDzg9LkAAAAAAACXM/cvWwAAAIDHuPtht/ncnHyD1rRkcpJeteAUWfrM/kW7+nz8cbpP3dXc64/oVbacE0dPjQr3qotInWDYUiZHPz26JDRXf4v1pliHEvd6vQS/pVBUpNmowTz1ceeKxLt8Qp0cbI83Gvk0GXX1dFpvo8aDsg/whh52QBz+zP7lAcP1UDuo+KwZJlyF/r3p+AldxH2VY/yJwem2dHeHzztwB6JCRi+kjjRJpu2D/T1gYIwXnjHBjF0bk+n11v5YpLalGZGxCE6NVxSrW0C7XehQ6XQyTdHl0mzLOVvifgAAAAAAAJ5kvh97AAAAAD/h7ofd5nNz8g1a05LJSXrVglP8krWkn0KxpPM8VrC3187yB+lEOHHiSgTmaEQ/my7ZUiZHPwvi1WfQHoxhq8VE5zqpkZxiS5DcozjxmzrxLp9QJwfb443GoTQ/fhb+iyzJqKt1Wrwxrnw3P29gVcTSz+yPH9qrnVgDxWfNMOFL7I/NJheiNe+oHONPDE63pbs7fN6B+xAtMno5daRJMm0TvBt5A/d0r/AqNiFp5uyYzEJv7Y8mKH6paVS9fXa8zFhd05CJSCqdVKYpulBapmbA0eMAAAAAAADu48yvGgAAAIANuftht/ncnHyD1rRkcpJeteAUWfrM/sUydUk/z/Wpu4ana45GTpyyPOaSfgo+ElhnS0aQ03S+PvpWioYz58oWSbM+kw3bQbrFRg3mubBOvMsn1MnB9nijcSjNj5+Firhgb2+m8t28oYfZEfc+s395m5naoXVVfNYME05jf2k2uRCteUflGH9icLot3d3h8w7cjSiS0YuqI02SaZvg3cg4s7N7ph2jjKYnTe0aVPxSndzcPjsiKjDHY5mTYgJjpUMfXkheWlKXZea3eOI2AAAAAAAAnmTun7IAAAAAj3H3w27zuTn5Bq1pyeQkvWrBKdaGzDXHz+1T6FUIKErVDBPAqC+iiARm2lImRz89xUEXYpWVo/Vlu4rSUSKZCpbpJ5mNNVpBsGo610meYQM+oU4OtscbjUNpfvwsVMiqjJpQZ/b2ZirfzRt6mAvx6jP7l1ms086t2+KzZphwAvtLs8mFaM07Ksf4E4PTbenuDp934BlEl4xeWh1pkkzbBO9Gxpmd3RPtGFVgMs0cH9RPRRPqpUxkdryiWN0C2kWCKQ2ExKvvJCNNlmQcSsuUCkieAgAAAAAA8ADz/boDAAAA+Al3P+w2n5uTb9B39NY7OmjJL2lLgkT8XCd1ZIhuCfKHCVBTm+YjwTVZWmB7sCTEqxmsPeWbUoJXZKMuBVgPRzcWWB1Bi+hEI4cYNuAT6uRge7zRKNJkjDP9+Fn4L0WRIjPeGFe+Gzv6hz28HHHmM/tjdpdUjqkoPmuGCYewPzObXIjWvKNyjD8xON2W7u7weQeeRNTJ6AXWkSbJtE3wbmSc2da9E0bt4JLKLAyptVtCc2kYmR2Tr/NAnc+cEes/FjKjzLy0WJclDDObxKcDAAAAAAA8yWq/3gEAAABu4u6H3eZzc/IN+o7eekcHLfUkyKjxuk+NCL2ailZu1jfq4pCkdy8W6XmrcU+Q07yaeLWgOC6zJYlUlmpaXyfJ4rbRb9elQ+hewVc7XSre6BPq5GB7sZTMHKb58bNQIasyakKRGWzMVL6bN/TwHsSHz+xflrRFZZq04rPGbPnSDfszs8mFaM07Ksf4E4PTbenuDp934HlEo4xeZh1pkkzbBO9G5s9mW/cKo2zeZBOXTObQHA0qfqlObm6fHREVmOOxzElJKp1RppcW6JJxqPqc/Lg4AAAAAADAk8z3ow4AAADgJ9z9sNt8bk6+Qd/RW+/ooKV4SSeS4Oc6EZpBQysH9YW4AgypDSwi+tm015YyOfpZ0FvVuNLb+yVyhHZejJ/lPtbb0Y0115aKN/qEOjneHu81DqVZQpwpY7NmsEsoNj6PtRf3uSrqv7GVA8XfXuZPMZMTYH9jNrkQrXlH5Rh/YnC6Ld3d4fMO/ApRKqMXW0eaJNM2wdzAvRgvXOaxA5u4ZDILc2xuaFDxS3Vyc/vUDM0xZtdeKF1JpvUcN99TbfFeQkx8KAAAAAAAwJOc+VUDAAAAsCF3P+w2n5uTb9B39Hain0y3vtVm272gROL6trFZAfLUBvqIzu3TY0tGkNO8IDsoTrsWOctO1EnyUNtYjJ/lI8hGnVxSarjRcprJQQW/9H2aIKsyasKwoCUUmfmNP+ENPTyDaPzM/qWQrAnL++ApJGccOO2SbNRdNrkQrXlH5Rh/YnC6Ld3d4fMO/BbRK6OXnHSg3rgzZlrSlm3dM+EZBzZxyXtiYpvaNcGnKXVyc/vUeEW1A57ZtVv/sZAZZdrFBc03l/zGE5KD4wAAAAAAAB7m//v8LwAAAADA/fy/P/7vD/3UuVAnCBocopmyUccTFcDwBjYjxaehccE+g5x6SbAlm2v8PuQsPfH7sy4pMhHq2+cjJE6zOkHBYil/9HuYsechosgjGhVdtYmhq5r8Ca1OIbn4bJLJAXiG+q8x+cdZb9wZsyJpi6V9vrfBhNskMCGTswAm04u1oOYoFvnL+t9SnVxHZscr0klPnc+cEevfJp+F/xKvvhNtWAiat6Xm6jmk4GcGAAAAAADwa/75RfSZAgAAAEAffSO+6d9OUrxZuRf32OP1tb01j477yXRboM3rLj83NChIPKjf3KsESzDE+68TwVvaTFAsLbiCZimhmXwHcqh2GPdZY8kn9hboXsUXPF1tuNFymslxBb8aZCbTBFmVUROGBS3BZwa7hGLjT2i2PR3S/Gf2L16LrsYRT7y6JGagqs44cMglSbbKlxurNe+oHONPDE63pbs7fN6B9yDaZfTX4T8D8pnL463I2LKtdSeMWt4l82FojgYVv1QnN7dPzdAcY3bt1v96MvPSdKmeHOX0RgAAAAAAgGvhxwkAAABAivj5+EuaT8bJd2RNu/zR+URLsirjiTZ0o6BCbK4TKxucPjx6mAAxtYFFpOewxmsks1jSvRKsi9yHta3n5k+35k/sLbBSwiXVhht9Tp0fV4j3GkWajHGm5cc1ZfRlm/MCXQoSHiDZ6quQPj+zf8m0rbt8Zh3xxKur4lVnHEi6JGlW83JLteYdlWP8icHptnR3h8878DbEARn9pfjPgHzm8ngrMrZsa11hFC4JJrMwx+aGOlYvZSKz4xWpD3/hBrNrN3WxkBllemmxLmGYGXN6IwAAAAAAwLXw/2EuAAAAQBZedQP8C7ugwSSyUdGNNj9aJ8DXFD5RSFMbWET8p26xucQ14pEl3WJYUBMe4OHjZkE80Yv7Bl8kNjl/nNbxZTMb8/Xv4w09DJEOPdJzwScvRDO1Qi/iiVdXxav2889yRSYH4BmKv8biM8AyP98bY1YIfv5ZrsjkLIkXPnTAJ39CK2IydW4Tneun4leLeC/ig1NjinQeSPOZM2LqYiHx6jvRhgWbfBYcf7Ku+R3XrA8AAAAAAPAw//wE+kwBAAAAoIO+5973DyepXxdvBms0LZmc52hLtpTsRxJ00jzlM3PENYNqTTQ/mQw1tYE+4q/D4kPPJSFYvQM90UaJ5BvQfMFXyG/3WCnhkmrDjT6nmR8XGW5XiqVhpiUEmYKsymgJmV26FJd9gEyrjyE9fGb/cnlLeoQvW0c81tLPzXkS70nsjxLkyJLVudxDrXlH5ZikqGTa9zzvwJsRN2Q0Q4rPHsm0TfBuZP66tnXPzMk4sIlL6kkh1owyNEHxS02X6u1T4zU29Rrx6vux/teTKT1rwzYpGCYMmdEWAAAAAABYEv5f3QMAAACAktNv34Js1O36Dl4gQUXra5qiCYIEFfvUyRDJLEr1+CvfOBqSeAMtImMRkbnF/9nQv0rbNQXXdhvYchNy4gOG16f0DtVMy4/bk9XP7I84WcnkPEBS4E3IiR7poeCTdx1a9nPev8ItojkeXRV6CUviJfv5Z7kikwPwDMVfY/HZI5m2Cd6NjC0+/xPaA1OdcSCTswCq0Sb1XPnHi3//j3i/pHEfEerI1HiNNv+s/Rdb7SW8HOvfJk0htvr5ngGTY5PPAgAAAAAAwHL888vnMwUAAACADvpMfN8/nKR+XbwZrNG0ZHKSXrXglGKp2ZX/rEtJRMYiKFi83mIUe/VT6OUX9I6G2ElbVSTHOylzjQyNjU+5D+s236piDQsnttdYwe+rJTdaWi8/qFMsxSf61bimTr5JjrfECY9hPdzajBT/zP7lDcJltDasw15jRf4OeMkZ+bWltvdy37TmHZVjkqKSad/zvAOzIM7IaOYUnz2SaZtgf124F+BVZxwwVxfGfBiao27US5nI7Kh2ncgYSLPMGfHqAiFDE16IySma9/FzimZ0AwAAAAAAloT/V/cAAAAA4Hr+37//jV9fwzP0XszzL+l2lmxRJJJpwCcLn+iufFz4Q2ypg4b6Zmimoqs6fkIj8pkv4fKG1bHPx1kuKRJz+ohgo5qpCZozTBYsIUhWhgmPYZ1c2JLUKZDiBZ/U36FtaHv2KVikIF5dEi/Zzz/LFZkcgGewv8biM/7jTKZtglmRtMXSPt97YKoFm3/WWljy53tFzAeb+KDmKH7VL/3lDiKzo3IEkyZ81v5LvPpyvLpAiE/7hF6PNWzNfxYAAAAAAABW4Z8fPJ8pAAAAAHTQ1+H7/uGkz9Cfj39pBms0LZmcpFctOKVeKhrzCcVcJ4LP92iwuaRoEc3RyV/4gwaF3vaCZpH3YzI9h1R4o05UM99kopk2CfCH6uQZtDcbJZJvwPKLIvkKBb6gTb6pNtzrc5r5cZFiNZ8scxl7ybZqW4aVP7P/uqeRAi0VF3wMazXuuYfuMt6g6BC16tiHcy5NjZeckV/kX+6V1ryjcoydGB+dTPseqa+Th32YCLXI+1NHmiTTdsBbkbFlW+tMOC4pTUOawjWo+KU6ubl9agpzAmmzazd1Q5lzabR70YnOZTwtxArqJwAAAAAAwK+Y7OcZAAAAwE+4+0m3+dacfIDWtGRykl614JTmku/NJ9hcJjL6uP80enGjWUcotgzreA4lP49p9NTd9qyoMb1F5UN2CVrBRg0G+I06eQbfpPaQb8DyiyL5CgW+YDH5Z/kgmU58Ti8/rlOs5pPjTEETLC2T/5n9Sy+/qPxztHNtSSPNxvIC58Lk66dQRzzx6pJ4yUP5kmCZl7ukNe+oHJMUlUz7Hn+QjLeeNTW1P0nHMNbwVmRs2dY6EY5LHtPoxTaFa1DxS3Vyc/vUiKLAGY9lzoipi2UOTXghdi/15CgzygcAAAAAgCWZ+PcnAAAAwGPc/aTbfGtOPkBrWjI5Sa9acEq8xVZlIqPN/ZJSfCp+V5NeQjM+rObRZCGZfyvWjKD95LUEVhiyKhGrnClrWH3dmN9uG/XzMXyfR3uw/KJIvkKBL1hM/lk+SKYTn9PLH9bJFDFOJMv4+f6j3lIkKLqxWd/KNle/YdhqD79Re/t8OC7v9lWoZK+xjnjMorVt8XhDAnNkyXIuNyc491YyovzSHdo9RX35lPHWE6em9ifpGMYa3oqMLXtah0s1pnFojgSLNCUTmRovJ5Y2u3DpPylzLo0qRzB15/qPbQEAAAAAAHiMyX6VAQAAAPyEu590m2/NyQdoTUsmJ+lVC04ZLskoc51opkX+SfqXfNATJ+iq4BOawYBhD7fSPF2CR/sx1YpsL3woPpP4XdqVjhoMOHfcJfg+tY18Dz7f5lrqn+XjFEX0UyM6OUSyE0sL8uNSxerwXJ8gcxnzxQXd4ultDzrRpSDhENZS0GrzoCJhmL88tZMaCdwYJiyG19vULkFbvdyWX7mdEeWX7tDuadaXoIy3njs1tT9JxzDW8FbIHOuaFC7ZvEfGydkxjV5sLdzsai4NI1Nj2nUeSPOZ05GUOaNGkxPoiplRNQAAAAAALMlSv7cBAAAAbuLuJ93mW3PyAfqO3npHBy3F3eqqHzUoY7HLgpbmg/pZM0xQ4hP1M0aThWT+9/Tak3hSr6epXdD4aXXajI0SSVY4lHwtp3sWNF/we7WUxo9yR8HhXp8T5MelitXhuYfyZfUzc8T1jaCyLsVHJ9EOhxL0OI0oQW8yft/YvBQOmG84pni9tVcWv9YQLXh52QwZUX7p7ibjNmS89fSpqf1JOoaxhlmBdQFetcxj+TtYZBoLZ2xuaFDxS3Vyc/vUiKLAGY9lzoipi2UOTXgbdinnbmc6vQAAAAAAsCoT/+AEAAAAeIy7n3SbD83J1+c7eusdHbQ07FYTilHixS4L6sTPi0zPMMHjK+tEaAYDDp14jvgIWW0umRBh2J4WsVEiwy01dqIvlanjN+rkSXyrh9oWfOc6P7S9pihoZTWik0NkmvE5cf6h1eHRkqATTbPPHnG1Hpme9ehz9Y24lMYVWx2ee0ljU1M7EHuym2Ner81lYpFrrdCCl5fNkBHll+5uclhfEmS8tYepqf1JOoaxhv0RYl2Aqc7I38GipiFN4RpU/FKd3Nw+L0NnjNmFS/8mM1ARr76KpKIeskvGWcQCAAAAAMDC/H+f/wUAAAAAuJP/9+9/+Nf3caX4VCyob+h1QoGW/XwkkGRFNlrxT+i/wYBDySfQsnKEfhbIar3018s/ceOz0EGSdRxmDvm+wuY0DfzGVdmr9xvgc+L8zKol2KegkQJJUIqcT7Tis3wQ2VjU9+jqX/l/Jp/oWaxCs5SeIsiqJhSfNcOE5akdqCOeeHU9vF6bf9bgp9h1cCNNan8sop89LG2YuTzmQ9ITS/t874GptkngQCZndkyjzm2ic/1UNKiTOh5HpsbkCDb/rP0XW+0lvBxrPlYxtUYAAAAAAIAZ4f/qHgAAAAA8hP43ABk/339o8PNRocnFlpq6bAbZIvzzHyX+CII9DiXn0VJSWT8LZLVY+jv889+ZPqEcll/XTCIbP7N/OV3qJ0irtYQhEwm8itgoWdUEzdFPmVhE0U9D04xP0nVoWTno8/1fdEnb0MlnIY3f9XfUQILm2K7is8YnCJ/oTngHehFPvLoeXq9MPlG4GTX889HBX80nBI7an6Rd9cY98T74+We5RSZnPUz1n0kDByzn870iplFHFWtBzVEs8pf1vyWNx5Gp+ceLf7XH0nzmdFjzNmkKiVcBAAAAAADgWnjhBQAAABijD9b3/cNJ6tfFm8GaO3rrHR20lOxW0Mx6LFZlXgct4imST9Osc6j4JZ0Mi0iCXy0+k+gpgu493blt1DYO1Sl6eBhtWCcymoS/xTF+l03y25tohXr8LB8kudenDbdIgoyZnCantXxJ3LatZtI8mllsr2kWLM6yvb3ThWLLbtQWxYZkLF0J74bMr1WtBS8vm8EODU73S3c36fuRMXNWPnNPCn8OGYurgncs417e4ZU45NIOFpnGoTMaVPxSndzcPi9DZ4yphRcyAxXx6m+x3s416U0AAAAAAAD4ITx1AQAAAIy5+0m3+dCceX3WxoRrezvRT6ZbQ9vWfJOgSFBLFQX9loJg6QTWT326kDnlUHLBUIskFI2dOEXwTX7ZsFYoxs9yyDfnfo/1qW0c6lzQZBs/0e+0FJ3Y59/iGbTO56ODz8nkC700bViRBP30mXXkSWJ1vvkmvb1atictc6hP6NUxhgnLUziAY4YoVZk2uQoteHnZDBlRfunuJov68ilj5sR85p4U/iTtwlXDW5GxZU/rCpewyDQWztjcULvqpUxkarwcNeEv3GBq4dZ8rOK1Gu1qbHKI1+oCAAAAAIDd4P/DXAAAAIAf03xlzj89T/rQLG0XD+UysXkP3XIr2oYgZ9lxn9B/gz0+qbnkb5Dicsrn4wjWlW0/V2dq9II+H6cott/h4fdNDvFHDI/TVU2rkbih+TZRdEmTP6EH0aM/HxWy+pn9y1+z/+MT7ZDJqdFdasj/z969LTuP4+i6ju77v+c5kQNONJIbCKRJ2Rbf50BT4p4fxx9VZvWKJYoSbVO4bPB4RQLFZ+2yATDE/y3l/7ryLc9U5FN89iSbncBHYe+vuhZrEzd7GL/ry+37xq+ix7E96ru96Lt+Kl9blF+W/DS/HX3pbc23/Dm2eHtpbsRqX98AAAAAgKUm/9c+AACAo/zP7P+NVEZz8OSM2mz58iaWNLqG3sqtxBpouTW2EmEt7X05vwB9Ec3Cnnzjy41Ig2IZmQXU/JJ0kHeGKgbJDyUt9WVu6vfZguV9aOXKdyxe/qmeoiMIW48+tXBCprtvc9leGrzernYaD2XjXC5vLb/+wvRKdKfNkYfG1BGsS/FZu2zweM3ERC+TZycmu9Ot2csqOuDyYTMym/JVuxfp1yNPP1dd0pNveaYin2RcpGosCqILyK51y5ntnxCRBlLs1FIy2kD5qjqiuuSn+e3EW/vpjRfb/JU92lKDNQe+bTsAAAAAjjXzkwYAAOAou+9zm7fMyatnbZZsnDexpIk1NBdvn/Iiz2aV0TaqqFquXo9oFvZcNs40sFr/PkonEjKCjjM9mu+uw+bH0fZibur3vbN4YV18Xx3tn+opfkwbWUv0ZVRyPb5Zskssv3Jt+f6Mn+X3++aOiu6Xo/mp9eU0dURxaJeR/ijZl27KXlbRAZcPm5HZlK/avchifPmUZ1zSk295piKfZFykaiQKzYHoevyWM9u3SJ/KQrhMRguVr6obN7v/riKZYF8/vXFbfLyL79mjnYW9DPmejQAAAAA4HP8/zAUAAMBn/L9//08B5KmX5vqpteLyDl0aXLZZRefSpYq6UEsCmcbS4PVWkV5BbV49+/TIwUZ+iB7K62Oc9n1zEKMH4Yd689AnFrZqL0KHikeTNplmX053IWQX+vKqGKfdLRD/KbSNpw1Er8Hj1duvS7y4Fsir/5bqkp58yzMV+RSfPclmJ7AckplYs9f3AWzLwr+/qiuXDX6dhaDvulkrFNpMaKG++Cotr1v6kp/mt6Mvva35lj/HFm8vr4r/imsBAAAAAKP++Rn2egUAAECLXknv+29NejP++vhXs7CmzZKNk3qjBbO8swDbgn7aOPWYvVnqvjVr0xP0bdIBfa/MMkzduB6wIA1848wsTTaRf5kbrRjBPv8qr2l7MTf7EsXK9VOrMnxHexkaoVYM5Z/aYFSyr2/2znRCuuuLH9B/9iSbnWMiycMzHE2sbv+7ZC+6C3tZRQdcPmxGZlO+avci42XI09fWJT35lmcq8knGRarK55DJ5MzcipSIyPbo06iTaTYTVq6foi75aX478dZ+euO2+C/foyxAZ7eXIR9fPwAAAAComZ80AAAAR9l9n9u8ZU5ePWuzZOOk3mjBLG8uoLmLeszeLEV3edHyWrO70l5Bgyaby3ccGsoay0vcxTe4bBzwM9rL3GjFCPb5V3lN24u52ZcoVq6fWpXR7D46SE0HFH5M/dTyUZklFW0yXZpswfqUEhtHP0U8crLZUZpJBvlcNni8AxOTLej67WUVHXD5sBmZTfmq3Yu8HF8ayNO3qUt68i3PVISfjItUlc8hk8mZudmuiUjJHos0mrvWQuWr6sbN7r+rSCbY109v3LYW7yJOYCu/wok1xPsCAAAAgNt87GcVAADAr9h9n9u8ZU5ePWuzZOOk3mjBLO8voN6IvcuLlni+mb4U/Hr8sDEdLdnYqzvawjKjZeb1u/Dvo2wu/zI3WjGCff5VXtP2Ym72VepdDK3H72JuhJqOWQz4zrDJvkWzuRmllzyLceQZlzQlm52jCOQyH20gjs1wLrEfjUsWryu3l1V0wOXDZmQ25at2LzI5vjSTp29Zl/TkWx5oOlhSVT6HTCZn5ia7JiJjG/Q7be5aC5Wvqhs3u/8u2U4Qi2ctf47fWrCLywQ2sSVNJzzdEQAAAAAW4pcJAADAhd3X0M3L4uQNsjZbe93cGy2YZckCZBB52jj6KaTE3nuKNn4xE2ub6KL8mvVFaGFvwN6yC35J08tTth7/MjdgMYJ9/lVee38BS9S7GFpM3V3LhwapNYd9Z0wd5/XRVzRL9jLBOrVKWG3Q2Es2O0cRSB1s7fAMRxP70bhk2bpme1lFB1w+bEZmU75q9yKHxpfG8vTt65KefMsDTQdLqsrnkMnkwNwmInp2PhbCZTIaRR1IpuR3+Sj8ey2u/XK2+G/bo8yo09nLqOmOAAAAALAQv0wAAAAu7L6Abl4WJ2+Qtdna6+beaMEsqxYg48hTh9L3Wm9t+lLUTi/szR35jdhnk7TpLd7z61myNqFT21MLh+hQfhz9/Ku8VnTXwvvZ4ovnq/qKdZH3uRGadEC1athk96JZvpe+XDbWltas+OzJj3+IOrfLJJNRP9VoYj8XlyxYV2svq+iAy4fNyGzKV+1e5MT40kWevldd0pNveaDpYElV+RzkndxqRUT23nRCPrZHebGd+nelzZSvqiOqS36a304di/fTG7etXe7xtg0mlxS4c7UAAAAA0MMvEwAAgAv/s/l6vXlZnLxB1mZrr5t7owWzLFyADPV6+5PZnXap27y5qve7v97+qxjTml3u0RqsWpgMokNND2hDCR1HX7Qk480FLOHXMLceaS/PNwep7Rg22b1oJp/y7HW02qG1FWPqp7gcIV7MaercLvM5PMDRxH4oLlmqrtNeVtEBlw+bkdmUr9q9yOnxpaM8fd+6pCff8kDTwZKqshzIrcdvWd7jvZ+Qj4ZQxGLvRguVr6obN7v/LtlOEItnLX+ObS3e42UCq1iS05HetlQAAAAACPzqr0QAAIDb7L7Mbd4yJ6+ed6ytN3WwpORqM3So/IC99kuWNDSINH69/dGOWthcobDCy4l8g8vGMemuLzKIDjU9oA0ldBx90ZKMNxewiq3cVjK0JO2ubJChEXpsZL+qN0dOdtepfcuiRD+FlsytqhhE1PM2JZudowjkMp86+dMMJXaZ5zeQReoK7WUVHXD5sBmZTfmq3Yt8c3zpLk8/Ql3Sk295oOlgSVVJDhpCPrfTQrNkMhElY/xdzTSau5bCoplqlhR9f5ffXb1TL679cnZkl3vcvUG/krm54i0AAAAAwD2e88MYAABgk92Xuc1b5uTV84619aYOlpRcbZKOlhxTmsmzbrlqScE4OrVXtPR963Hi2oI1uGx5SUbQFxlHR5se04YSc6PZCHMLWMWvfGIXQjfy5iBNOrLQoWxkK5mQX1jdsliPyg/YU+yo+OxJNjtHM0YRRHR4hs3Eemlk8vwgWZ4uzF5W0QGXD5uR2ZSv2r3IJePLIPL049QlPfmWB2oGS6pJPoRMIGeGZn9RRCRsg36n9a59syKNoqTu+9P8duq9e7+78eQed2/Qpg7WENu9QgAAAADImPxJAwAAcI7brpu95NXzjrX1pg6WlFxtng4Yz/h6a21/4Xr8UH5SoSu0d30xRceigXbUQv/eYyPUQ43S6YSMo6O9M+abo/nu+vIRtmZdj73PbUQ7+qHe5AfXz7nxbRyV7BtPNLGMQDGaLTgeP9nsHPWhXB7TZYNnK7b/o3HJqnRJ9rKKDrh82IzMpnzV7kUuHF+GkqcfrS7pybc8UBHOUKpE6uPKRJeP9zEmInp2PrZBv9N615qV8lVaHpf8NIvicl/W8ufY1uI9XiYwzaKbznDf2gAAAAAg71d/FgIAANxm92Vu85Y5efW8Y229qYMlJVc7xG9N3z1fXk/9/nrqGYUf06ZuzuUL4wb60mzjFe21cI6MIE+b1D7/Kodpd+EHzI9msw/12sEv3j9f1QnSXp5vDtJkQ8m7jmbvvtDT8kLRTId9fVxpDijyI+TVm+pts5Bsdgg7MgvkMp/DAyy2/3NxyXp0Mfayig64fNiMzKZ81e5FLh9fBpSnH7Mu6cm3PFARTjIrIlU+h0wmB+Y2FNHj87ENXsaihcpX1Y2b3X/UZSzmp3cti0/ucfkG/dRzg8drBgAAAIB7rP+9BAAA8DC7L3Obt8zJq+cda+tNHSwpudpRujsxNO/cYmwuT8epB/Ql8Rp6tfK0Bn9lF4cYDzjEZteh7POvclgxyMRo2kVMr2EJ3Yi+yNPeJ/YiXbSjf2qDaTqy0QH9dH/Fpct5bQT97KnHf39Hl2xSm2totTes8FcUgVzmc3iAzbhEL5DviUtWosuwl1V0wOXDZmQ25at2L3LT+DKsPP3IdUlPvuWBinCSWRGp8jlkMjkwtyKiw/OxDRax2LvRrOoqLX99/KlLfpffb7yvOplfkdzj8g3aXMGkseVLAgAAAIAJz/kNDAAAsMnuy9zmLXPm6lkXJtaurTd1sKTMandozptfjLR8vf03Qz9CPMVlrTybDeQp5dqy18zzY8YtL03MHigGsc/8gNpXTK9hFVt2sZ2/yizt4oeaG6dJxnm9/bEp9LOQn7E3glmy+Gm6PFuDrTZeVbLZOUZjPDzAevtFgIW49h6yBl2AvayiAy4fNiOzKV+1e5Fbx5fB5enHr0t68i0PVISTzIpIlc9B3smtZlvO7P3x+fg0bJv1rpvNRNBSP3+d7fdyX0UyP8S2Fu/xMoE8y2o6tIWLAQAAAIBpv/o7EAAA4DZbL3N7V8yZq2dtk2k5ZGJJy9eQVM+bWYm00RdpGY/QHM0Km7UibqCFxVPK65aeDWUv02w6m92e2mCIjqbmRrMR5hawkC1bl2TvQwuzvtqxOeY0HeTSm7N8pzrAZKRLkn+MiRgPD7DYfpzGZ7OS2XVqe1lFB1w+bEZmU75q9yJvCEGmkKefpS7pybc8UBFOMisiVZYDufXIlnW/mb1b46fSDRZR1LvWBspXFR1FXfK7/F7iff30rmXxtsdgC3FtUnKugHSU5/srAQAAAIB3LPiBBAAA8GxbL3ObV8zJe2dtlmycN7Gk5WvImFunvmibeITL8S+7y7PZQJ7WRl56LT0/bNwyw+Ytnq/qQdJXX/w4QwP6EfTlU/z65TmxF2F9taPv7ocNaLOa71i3uRz2AWzXc5GeEFFGncZlPocHWGw/TkNrxc1xybw6o72sogMuHzYjsylftXuRt4UgE8nTz1WX9ORbHqgIJ5kVkSrJQUPI53ZUaD6Wy4iSGf4u2+BlLFqofFXdWEqKvr+riCXYV53Dr7CVx1t4f4MWoL2Men8NAAAAAPC+s65RAAAARu2+yW1eMSfvneNmunI1tP6JJSUXvNab64y7Xw7ebCC03D9fFf+SQnlquTWzkh4bqjnmKJvXxpTn9LDW3Q9rg2foCGJ6DQvVuxjaiylGkBIdRN+VlVibmrZBwUdqnyKOK9nsEHUaRaq1ywbPVmz/2+KS6XQue1lFB1w+bEZmU75q9yJvDkGmk6efsS7pybc8UBFOMisiFT6ETCAHhjYU0ePzsQ1exiKF2qxZ/vp4XGK2u8t91cn8iuQe39ygn2VinHhtAAAAAHCPX/3hBwAAcI/dN7nN++XkpXP+blp3IaaHjefKr2ShetL8Ipst328gtFye8t5rIE+tumxstKV/eYfNmF9AoB7NntogQwcR08tYxVb+znaUbUroIPYuT1+rmlNos4nZT1CHk4yLVL0ijctwtIE4M8C5uG7ISibSWexlFR1w+bAZmU35qt2L/FQI8vTz1iU9+ZYHKsJJZkWkwoeQCeTA0IqIDs/HNuijqGPRZspX1fnUJb/L7yXe1+/uutjjjg3asMH4gXemBgAAAIBVZn7PAAAAnGP3TW7zfjl56Tx6N617EXGviSWNrmSJetJgGVIlT63tNbPyZgNfmBlBnr028rRm8hI0Nn7kuGWGzZhfQOz9AbWLeGcZq+gu7GV6U8L2pWxY/SwEg1uX0QWcoA4neVjJZoco0sj8yZ0cYJHPZVw3ZCVT2GLWTqQDLh82I7MpX7V7kR8JQcnU8vSz1yU9+ZYHKsJJZkWkwoeQCeTA0GzL5CNkg0UUzS1rofJVdeNm9x9VxBJs6nd3bSuPtzC3QQvNXobMTQoAAAAAa33s2hEAAOAn7L7Jbd4vJy+d37mbFs2+vTHjueZW8o7mjMEyfNVl37kGwsrlRZ5xG3sPGpu6l77PsRltAfbUBqOWDKiDiOllLGSLt73Iu3/5p1HFtmB8y7rW2Fz23pNpc6winGRWROrVaVzmc3iAxfbjNLZmJYPryPayig64fNiMzKZ81e5FfiQETxYgT7+GuqQn3/JAxckmsyJS4UPIBHJgaLLloXweHI4l4KNoxqKFylfV+dQlv8v20szE+91d+z0u3GBy2B7pJc+JjgAAAACw0P++/l8AAACcQW+l5amX1O+buyK/k9/p5Wpv284Hc1s+bzGgfPrMf5FtoffS9E/PvwZK3q1QvEr/zar5IvxQtUybYxXh+E+hbWrJZofwafRKCpcNnq3YfvFZiGuBS/WfUF3Sk295oCKZZFbJZs/mQ7D3V12LtYmbPYntN7P3ywY/zRLQd92pFQptJrRQX4ryumVR8rtsL/IS7yuu/Wa28qduEAAAAACm/fNL6fUKAACAil4Z7/uvTDJ+PXizsJZsVtOOQ1MHc00v4x2ji5enVl12DAbJt+k1EHUbeZFnr73JDJ5nk+poyTUElgyovcQ7K1lI92Lv8rStNWnjYu/FpykGLBrYLHVHk2lzrDqcZs61ZLMTTGRYdzlKkU8c1/KsZEAdyl5W0QGXD5uR2ZSv2r3Ij4TQI4uRp19PXdKTb3ma6VSJVFgIhNbk9yvv8cYfH45t0EdRx6LNlK+q86lLfpffS52J97u7tn3FW4i3b/xoE2nEawAAAACAe8z8ngEAADjH7pvc5v3y3KXzEJ2i3l1v6mBJN6y21pz0cvGXDYp3b6hNr4FotpF3efa6qMzgeTajjuaf2mCUDqh0EJviryzFBplexnLFLvw2C9LGNy720ttaPWCzQVFYyLQ5VhFOMisi9ZoZiiCfkwNsxnVDVjKODmIvq+iAy4fNyGzKV+1e5EdCiMmS5OlXVZf05FueZjpVIhUSgiaQD+2oxCyWTD7JDH+Xnr7fZnPLWqh8Vd242f1HyV6CTDxr+Vv8voItXG5fWPe5KDJTAAAAAMBuP/nTDgAA4Da7b3Kb98tzl85DbIpirt7UwZJuWG1hdJFWnum4pE2vgWiOIy/y7HVRzY7TdEYh49jsbw5bjOOf2iBDBxHvrMTYaOKdAYtVxcNqrZXHn8bKmw20UNQdTabNsYpUk1kRqVdkKOqSwmWDByv2fkNWMoJ2t5dVdMDlw2ZkNuWrdi/yIyFkyMLk6ddWl/TkW55mOlUi9Qlk0jgwMdky+Sjbnd9mc8tSWDRTWv76+FOX/Ci/2XrjXlz7zWzl72xQarXKXobEgwMAAADAPR7yUxYAAGCT3Te5zfvluUvnITZFMVdv6mBJN6y2MLpIK890fL+NPOW92UA0x7GOvV6i2fEdMog8dd7i5Z/qcdpd6SBzA9o40ysR9dR+eWJo8KKvuOxe7KJYT1FrLicqxmnKtDlTHXsyKyI1dRSX4Zycnu5d6Pa3ZiV9bZa1aeuAy4fNyGzKV+1e5EdCyJPlydOvsC7pybc8TTPVZKSH5+mjy/yBZdo8yUQ+Dw7HEohj8c2a5fop6pLf5fdSbLzwu7u2fcVb6G3fd5/YfjwpAAAAANxj5vcMAADAOXbf5Dbvl+cunUfpLMVcvamDJd2zWm9okb4w0/GyTa+BGGrj3/Ul6CWK2rhxhowgT1uAvr85rHYvRpsYU0cQc4vJzGiL1M+CLUDNLUP5iep99ZZh5c0GvV5eps2xinCSWRGp0ShEPsO6y1F8PpdRXIbZJL1s/LUh64DLh83IbMpX7V7kR0IYJYuUp19nXdKTb3maIplkUOQpfAiZQE4LbSifx4djG5QX26Z/V9pM+ao6n7rkd1kOl5uylr/F7yvYQnP71n5u780xAQAAAOBmP/lbDgAA4Da7b3Kb98tzl86jbBY/XW/qYEn3rNYbWqQvvOzYayAWtpFn3cyX9xTt48YZNqmf/c2R/ZjFUxsk6ThiYjH56XQWXaGWqIlJY8V2bN6/svLTFMsrGhRjNmXaHKtINZlV8yyONZHhyQE24+pFMRqUtNfG9rKKDrh82IzMpnzV7kV+JIQ5slR5+tXWJT35lqcpkkkGRZ7Ch5AJ5LTQinwOD0cTKDKxd6OFylfVjXXA18cvu8zExLXfzFZ+uUFfZZ9FeVI8FwAAAADc4yG/XQEAADbZfZPbvF+eu3Reojd1sKT7Vzu0SCmUp5Zfduw1EKNt5Nls5qv8UEEXU7SPGyfZOLaA90fWoYQfbWJYP46+5MXT2chmYoo5OrVl8lfW/jSXq/Vj9mTanKmOPZ+nIFJRJ3aZYSbkpyr2HkehteIyK2kpbfT5Klpk38iXbNJgdl+1e5EfCeEdsmB5+jXXJT35lqcpkkkGRZ7ChyDvhFaw/WY2/uxwmlE0tyyF2qxZ/vp4Vlx+L/XGvd/dte0r2GAzh6B9wA8FAAAAAJ8y83sGAADgHLtvcpv3y3OXzkNGpwja37DaQm/Gy/LpBsJXZcaRZ6+NPK2ZbxP0Mr5L0X2OTepnf3NkP6Y9tXxiWBtNP/O0Y8/EgAsVm4o/jZU3G/R6eZk2xyrCSWZFpKaO4jKck9Mr9v5+VtJAavX5Klpk38iXbNJgdl+1e5EfCeF9smx5+pXXJT35lqcpkkkGRZ7CQiC0Jtmvbjaz8WeHY7vz27R8jNYqX1WHU5f8LsvhclPW8rfYvuINaq2wNOY2+6MpAQAAAHgSfpYAAABE4svi9zWviW+4O/ZT9N69YEk3rLYwukgrz3Rc0kZe5NlrI09r5tsEvYzvUnSfZuPYAt4fuRiqnuKfRmnaSwx1tF5qdNIbFPsqwunt2poV7VWvl5dpc6wi1WRWzbM4Ux3FZTgnp1f8gb2TlVRJuT5fRYvsG/mSTRrM7qt2L/IjIawii5enX39d0pNveZoimWRQ5CkkBE0gH9o5iflMMvk8OxxLwLbZzEQLla+qGze7/yK/kXhTv7tlWXlyg9ZsbpvTHQEAAABgFX6WAAAAROJr4vc1r4lvuDv2U/TevWBJN6y2MLpIK8903N1GSJU8tbboIs9eL5WcYojNqwP6pzaY0xy2qNLPHm2mdAR715eCby8ux/8ePpB6m77WFJsVzQZxCJk2Z6qTyecpiLSO4jLAw9Pz+SSzKhpIoZTo81W0yL6RL9mkwey+avciPxLCWrIFefpd1CU9+ZanKZJJBkWePoFMGqclNpTP48ORDcruLjPRQuWrtPvr409d8qOKTIJN+ZY/JLNBK48TCEx3BAAAAIBV+FkCAAAQ8ZfFy13ePu/jp+i9e8GSblhtYXSRVp7p+E4bYVXyIs/eUPK0Zr5NMLLxbTLtM2xJOqB/aoNpxYBSYmPqp9AS30ZZy4Jv4/Xa/4o6EHuvP42VNxsUYzb1RkadXjIrIjVFFHWktZPT83u/zKrOVt71qSWr7Bv5kk0azO6rdi/yIyHsIBuRp99LXdKTb3maIplkUOTpE8ikcVpiRT4nh2O7KzKxd6NB6fNV1GrZ7PujbLOXmypi+RW2r+YG/fbndtccFgAAAADu9JO/1gAAAG4zff+b0Rw8M+P7q7IRiqF6Iwczvr+YCc1JLxfZa+DL32kjrEpe5HnZLHjvKdpkumToODZa8fkOGeT11vlfXHwD8f6Mv85HZOE0P02RoWg2CLLtjQxRpHcZpko2O0EdxWU4J6dX7D2OwmrlxZ5atcq+kS/ZpMHsvmr3Ij8Swj6yHXn6HdUlPfmWpymSSQZFnj6BTBqnJWb7JRwfhe3RvyttpnxVHU5d8qP8RuJN/e6WZeW2Qb/+Xnne72YCAAAA4DEmf88AAACcYPcdbvNyOXPjPH0rrXz3YqiJJb25mDmj69SqXgNf/k4bkW8mT60tmgW9THKWUTqUDVh8TpMRXm//0mFfH//15lxPohFZIPGnsfJmg14vL9PmTEUy+ikyeQoirf+0Lv/YLhs8WLH3OAqrlZflcemYO0a+ZJMGs/uq3Yv8SAi7yabk6fdVl/TkW56mSCYZFHn6BDJpnJaY7HconAcno7vzOTQz0ULlq+rGOuDr45cVmQSbqkP4Cbbs5k7jLQd+NA0AAAAAT/KQ36UAAAA77L7DbV4uZ26cp2+llXWvx5lY0puLmTO6Tq3qNfDlmTai10xYlbzI87JZ8N5TtMl0SdKhbMDiM0nav94cG1A/C0PjH8US8wFaXMWnsfJmg2LMpt7IqNNLZkWkaiLAuss5inCCrKRKyvX5Klpk38iXbNJgdl+1e5EfCeEesjV5+t3VJT35lqcpkkkGRZ4+AXknMa8Ix96bnp2M7e4yEyksmiktf308Ky7b2uWmihB+RbFBYZ9z27kMCgAAAAB2+8mfZwAAAPfYfYfbvFzO3DhP30or616PM7GkNxczpzdpXB4s1aoybYr3QrKZ6LWMe6miTaZLkg5lA8qLlqt6lqKBaK5Em61a5IF8gJZ589NcHs3lofRGhijSuwxTJZudoBmgCMI5Nr0inGYOUigl+nwVLbJv5Es2aTC7r9q9yI+EcCfZoDz9HuuSnnzL0xR/NsmgyNMSILGa3+zlxp+djO0uzsQ3a5brp6hLfpTfSLypH91yscHiZdSPhgAAAADgSR5+7QgAAPCO3Xe4zcvlzI3z9K208H3rcSaW9M5ipvUmDRYjVfIMaq0qM3g8ka+KW8pTa5ODe/mJRulQ8pR3HVPfY8k168uqpZ7GH8rlp7HyZoNeLy/T5kxFMvopyDOpjuIynJPT83svcpBPedenlqyyb+RLNmkwu6/avciPhHA/2aY8/U7rkp58y6NMR0qekoBuP5/YOXH5TC43ngzwR9nufA51JtpM+ao6nLrkR/mN1IF4P7plXbbI7DHwo9sHAAAA8CSTv2cAAABOsPsOt3m5nLxxnruY9r3ys8dzza3kfaNLlSp5BrVWFQ+ysJmQWnlqg3wvVbfJ9EqyhelL8V7QSa3LX9mFocYo+EO5/DSWeTP8Xi+v2RGiTi+TVSbzQ9RxXQaYSfip/N7tXV7s+U+jdfaNfMkmDWb3VbsX+ZEQPkU2K0+/37qkJ9/yKNORSrOTw/QpZRJLpvoYtl/Ckd0VOTT3q4XKV9WNdcDXxy+zjTQD8X50y36Dc+u/TAYAAAAAdnvIT1AAAIAddt/hNi+XkzfOcxfTvlc9Qm/MeK65lbyvOe/lUuXZa2B9g0F8VbKZCFoKqdUXaaPv/uWvpqseOZ4rz1YldEBfYnxV0SyzjKHGqPnkLz+VZW6aDYITsRGCNsfKHEEt2ezx6hwuk9EG4sD0fDj2Li/Lo9Axd4x8ySYNZvdVuxf5kRA+S7YsT7/ruqQn3/Ioc5ESpk+AxGqy36FwnpqMbd/n0MxEQ6irtPz10en7i/xG4k394pbt1Oxl1C/uGgAAAMDDPPa3OgAAwPt23+E2L5fzN86jd9O+/dDUwUSja1hoYrUiuZe1zUTQUmitPF/f/wq6mHrkeK6meOrkwqyZ1upnciVDjVGIk+9la+XNBsWYTb2RUSSTCVOQp6rjygR4bHq2cXmxp1atsm/kSzZpMLuv2r3Ij4TwDWTj8vR7r0t68i2P0oz0MiXC9Alk0jgqsaFwnp2M7S7OxDdrluunqEt+lN9IsetCXPttbLXTy/bJAAAAAMBH/NLPMAAAgJvtvsNtXi7nb5yH7qaLxkNTBxMNrWGtidWKZG1+kKBlUSWf8mw21iqTGdyrmwVziWI6lZkoyc9ucyU3oi8LF3OUIPletlZumg2CE+mNjDqZyzAFeZo6rssAMwk/km1cXpZvX8fcMfIlmzSY3VftXuRHQvgesn15+gTqkp58y6MUsSRTIkyfQCaNoxIbCufZydju5MX26N+VNlO+qg6n7vujbCP1Hr249qv4o5k7ph/aLAAAAICneshvTgAAgB123+E2b5aHrpuTjYtmvV6j5SK5gOV03okFi+R2ks1E3FKeRePXm9PrLoLBTa9Ncy5RN87MMspm15H1MznLUGMUivTiT2PlzQa9Xl6mzZmKZJJBkaeqc7hM5szoZNeyZX2+ihbZN/IlmzSYPdNmlY+E8G0kBHn6HOqSnnzLoxSxJFMiTJ9AJo2jEivCOTkZ3X4RiL0bLVS+Sru/Ph6U1WUg5le2bCdlL0N+ZZsAAAAAHmzmxwwAAMAhdt/hNm+Wh66bMyssBgzG71VNdNlHZtQXmXdiwUJHyOwoGKeoilu+3v70mvVo98tewQIuvdM3w2/B0sjMONQYhSK9+NNouRTay1/xS6+X1+wIUSSTCVOQp6pzuEzmtOhkv7JZfb6KFtk38iWbNJg902aVj4TwnSQKefo06pKefMujFLEkUyJMn4C8k5hnm83s+sHJNHNo7lcKtZkvr1s2+/4iv5Fi14W49hvYCueW6qMAAAAAgI/49t9dAAAAH7T7Drd5szx03RysUKuE1V5upzd1sKSgahXbiEpu53JhvQZFeTBO3fL19l/xMjJ05Mtxks28iS7TLB+dbmjqO9f5PEV68afSQq/ZIDgRGyFoc6Y6mcswRabNCeocLv/SLhs8huxU9qjPV9Ei+0a+ZJMGs2farPKREL6ZBCJPn0ld0pNveZQilmRKhGkJ5BM7Jy7bbCacBydj2/c51PvVWuWrfC9Vl/wo20i8oy/fryxP12YvQ758dwAAAABO8Ngf5AAAAO/bfYfbvFkeum7ujSBPX57cSG/qYElB1Zt0zSKeemLNKmhQVMUtX29/4hnfoRNlxg9WW8i3XMvvxQJMbk1fPrLsX1ek50+h/jRW3mzQ6+Vl2pypSCYfpjg8z2YOlwFmEv5pskHZnT5fRYvsG/mSTRrMnmmzykdC+H4Sizx9MnVJT77lUYpYkikRpiSg289EcVRcfrOXG392MrY7eQkC0ULlq+rGNs6viwMxce0H+fVPLO9r9wUAAADgHA/5eQkAALDD7jvc5s3y0HXzZeOhLfRGC2YZWm1ectlxs8u15felE9UuV7hWvF9z2Sw5zlYWqS5jaEnfsP7f5dNrnoJ9GitXvdrgRPyk8IpkkkGRp6pzuEzmwdHJ1mRf+nwVLbJv5Es2aTB7ps0qHwnhV0g48vT51CU9+ZZHKWJJpnR4mH77mSiOimsonGcnI7uTrV0GooXKV2n318eDsioCCXYU136ELWlubX7vAAAAAPARX/dDCwAA4HvsvsNt3iwnr5u1WbJxUm+0YJa1C1D5rcUt8yO8Pv5Lql5v/7KWmZE30VVlZq/Xbz61+Ca/I1vz0Aa/aju/ovhDij+NZa6KBr1exroHbc5UJJMM6jLwQ9Q5XCbzyOhkU7Ijfb6KFtk38iWbNJg902aVj4TwWyQiefqU6pKefMujFLEkUzo8TL/9TBRHxVWEc2wytrUiEHs3mpI+X0Wtls2+v8g2Eu/o2/Yr69HF2MuQb9sOAAAAgAPN/JgBAAA4xO473ObNcvK6WZslGyf1RgtmWbsAJWPKMzls3DizPD+Cvqug49AKd8gswO9FfXDBl2y1/iCSC/74cfyuZuzFZx2slTcb9Hp5mTZnKpLJhykOz7PO6jK9h0Un25GN6PNVtMi+kS/ZpMHsmTarfCSEXyRBydNnVZf05FsepYglmdLhYfrtZ6I4Ki7b7OHJNHOQ92KzWqt8VZ1M3fdH2UbqPXpx7Z38gifW8z0bAQAAAHCsh/yeBAAA2GHu5jepN3hyUm22doUTS1q7ADG6r7j90DjyHJ1U3pNdltPZA59a2Jt8qrbHzF4+exy/rkgvcwpWbnyDXi+vmBSmSCYZFHmK+g+vLqk9IzrZhWxBn6+iRfaNfMkmDWbPtFlFppDn/Tn8qDqufIBE3VTEkkzp8DD99jNRHBWXbHYomafGYtuPA9FC5auKZJp9f5HfSLHHQlx7D1vD3GL8ZgEAAADgIz7/ywoAAOA77b7AbV4r5++atWW+fUZvtGCWTQsYGlYay/OeFYpiQJ1drJ3lcMWZxkfscRzviGPvnYKVNxv0ehltIII2ZyqiSwZ1Gfgh6hwuk/n16GT9snh9vooW2TfyJZs0mD3TZhWdQp7yvnuux6jjygdI1E1FLMmUDg/Tb1/eicsUydh707Nj0T+My0DqZlroP0Wz7y+yjcQ7+vh+ZQE6u70M+fj6AQAAAGDmxwwAAMAJdl/gNq+V83fNO5bXmz1YVX7Bl/xQQ8Nq416XhStUwUT6sna6kxWRDiWsjTmLCXHsvVOwwJvJ93p5zY6oo8sERZiqzuEymd+NTlYuy9bnq2iRfSNfskmD2TNtVvFTyLs8d8/4GHVc+QCJuqmIJZnS4WHa9vNxHZKVD+QynGR6v8i2FgfimzXL9VPUJT/Kdhrv6IP79SucWMAHVw4AAAAA6pQ7CAAAgFG7L3Cb18r5u+Ydy5tYUn7Bl2yoiTGlizx7vXYsMhAvBhOKSPMJa0vBcUyIY2+eggVumg2C47hscKxM/gU7jsPzrLO6TO8Xo5M1y2r1+SpaZN/Il2zSYPZMm1XqKaREnrvnfYw6rnyARN1U/E0mUyp6nca2n4krGekz+M1e/pE8OBnbmg+hDkSbKV9VJ1P3/UV+X/GOPrJfm3Rudr87AAAAAPiIJ/x0BAAA2GH3BW7zWjl/17xjeRNLyi845seZG1N6ybPZceEi5ZkcShuLJVNDFJEOJTx0dvDi2HvBWnmzQa+XKWaBKaJLBnUZ+AnqEDLp/VB0slRZpz5fRYvsG/mSTRrMnmmzSm8KKZfn7tkfo44rHyBR1+byPDxJv33iKthmk8k8NRbdvtI9NgOpm6kimWbfX2QbiXd0/34tcHsZNd0RAAAAAJbgNwkAAEDb7hvn5u1w/sp4x/ImlpRfcMAP8s6A0leeze4L1xnM0jTaHpeKSPMJa0vBcUwIYu8Fa+WqVxscRzEpVB1dJijCFM2/ustkfiI6WaSsUJ+vokX2jXzJJg1mz7RZJZ5CauW5ew2PUceVD5Coa808LyM6PEm//UwUR8Vlfz+Xu352LJqD32Nzv9bMl9ctm31/ke003tGd+/VLmptxuiMAAAAALMFvEgAAgLbdd83N2+HklbGuTaxd3sSSkgsO+BHWjlZ4c3DpLk+/VH1JjjnaHpeKSIcSLk4TeUV08aex01FFg8vjsO5BmzMl8/cIU9VZXaaXifeDZHmyNn2+ihbZN/IlmzSYPdNmlcwU0kaeu1fyGHVc+QCJulZkkozo8CT99jNRnBPXUDIPjsW2FgeiJaouj0t+UZFGsJ24dhWbZXq6e9YJAAAAAD38JgEAAGj7n8236s3b4eSVsTZbfr88saQ311B0f39HMoI8e4NMj28d6/G1RCRHjleICUWk+YRHzw6miC7+NHY09vJX/NIsLGTaHKiIRT8FYV6qQ7iM5Wtzk4XJqvT5Klpk38iXbNJg9kybVWQKeWZmybeEqOMi6ncUmSQjOjxJv/1MFOfEVSRzbCy2NR9CHYg2U76qTqbu+4tsX/UGvbh2CctzOtgbFgkAAAAAgSf8SgQAANhh9+1t81o5edeszZKNk3qjxbO8uQbffdV2ZBx9mdhOU92lOYUWJgePF4kJRaRDCQ+dHbwiuvhT2dEY38Bqg+NoDos6ukxQhCnqEOowC5cN7idLksXo81W0yL6RL9mkweyZNqvoFPKU98xc+ZYQdVxE/Y4ik2REhyfpty/vmbgOycqSyfyFZNr8KD1xv8HmZrVQ+Srt/vp4UFC2r3hHW/fr1zA3xdblAQAAAMClyR8zAAAAj7f79rZ5rZy8a9ZmycZJvdHiWd5Zg++7fC/60tuRPJPTxQurJ4qnro22x6XifIvPAGcxrYiu+VmnauXNBr1eppgFpojuMklBmKIZwmV6mXjvISuRZejzVbTIvpEv2aTB7Jk2q/gp5F2emRnzLSHquIj6HUUmyYgOT9K2n8nhqKxks7rTZDKPjMX27kNoBqIJFDnULZt9f47fRbHlQlw7zYadHt9vAQAAAADut+XHEgAAwAPsvr1tXisn75q1WbJxUm+0YJZ3FuD7rt2IkWH1pbcveQbzXjbw6sZD3cVoe8Q0T6GRFp8xzmJaEZ3/7B2BtWnG3uvlNTuiiCWZEmGKOoTLWL4hN1mDLECfr6JF9o18ySYNZs+0WUWmkKefpS7pybeEIOq1ikySER2epGxf957J4Zys/E4vd/3gWGxrRSDFZrVW+ao6mbrvL7J91Rv04to5FuB0kjtWBQAAAAB5T/hZCAAAsMPu29vmtXLyrlmbJRsn9UYLZpleQNFx7UY8Gfn11jlK36AwsSQbzfrWJbHR9rikkRYnkomXs5gWZ948AkvbNBsEZ3HZ4EwWrCZTfPYQpqhDuIzls7nJ7DK1Pl9Fi+wb+ZJNGsyeabOKTiFPefdz1SU92lLsXuozvB81OXtFJsmITk7S7z2TwzlZDSXz4Fhsa/ISpKGFyldZL9Xs+4viNMza/fpJ58Zcux4AAAAAGDX5YwYAAODxdt/eNq+Vk3fN2izZOKk3WjDL9AJ8x7W7aJIpXm9/dLqiUCxchg7uB6xLYqPtEbPjLk4/kzBnMSfOvJeqlTcb9HqZYhaYIrrLJEWmzePVIVzGog3EzdHJvDKjPl9Fi+wb+ZJNGsyeabOKn0Le5elnrEsCQ40P907U5FwrMklGdHKSfu+ZHM7Jqkjm2Fh070Ua9m7qZlroP0Wz78/xu9CN/xU3xLV5Ns70gH7NAAAAAHC/Nb+OAAAAnmf37W3zWjl516zNko2TeqMFs8wtwPdau4WYzPV6+9fuqW1Gv199SU492h6XNNLiRDLxchbTgsx7qVq56tUGZ1FMClXEkkkpk/bj1UFlYsnEu5BMJ3Pp81W0yL6RL9mkweyZNqvUU0iJPH1hXRIYany4XtTiMkByrhWZJCM6OUm/90wO52RlOz05lmYI9WZ9s2a5foq65Bf5/erLX3FpyWZlEB3BXkYtWQYAAAAATNt+swkAAPCjdt/eNq+Vk3fN2izZOKk3WjDLxAJ8l7i71L7e/mtoxnqQ0QUvocvwU9vCkuupR8A7ivyHjoOzmFPk1jyCOlVrpooGl2dx2eBMzfDts4cwm0FdxnJbbjKRzKLPV9Ei+0a+ZJMGs2farNKbQsrl6avqksBQ48M1s0oGSM61IhOSvOT3nsnhnKxkp0OxPDIT27sPod6s1ipf5Xupuu8vsl3UG/Ti2kt+lrlB3lwAAAAAALzpCb8AAQAAdth9e9u8Vk7eNWuzZOOk3mjBLKMLKNrHI8uztx59iWuVtAlmuVlz5cFOa/HeMaHIP38cnMWcOjefeS9Va+Mbm2ah1xsWRXSXSYpMm8erQ7iM5YbcZAoZX5+vokX2jXzJJg1mz7RZJZ5CauXpG9QlgaHGh2tmlQyQnGtFJiR5ye9d3jNZnRBUEYu9N102+F22NTv35ma1UPkq66WafX+O30WxwUJcG7CO74wgz7m+AAAAAPC+yR8zAAAAjzd97ZvUHD85qTZbu8LeaMEsQwsoGsd9pVaewbzylFp98bTQOsazfIot269TX5KrHW2PWJHnULzamIMYVeQWfyo7F+MbWG1wFs1hkQm/kEn78eqgLqPbmpsMLsPq81W0yL6RL9mkweyZNqtkppA28vTN6pLAUOPDaVZiIm1yrhWZkOQl23smhHOC8ju93PWDY5Gtyb4u07Bmvrxu2ez7c2wX8XbmNiu9tIu9jJqbFwAAAABWmfwxAwAA8Gy7r257d8rJu2ZtlmycNLGkoQX4xpmO0ub1Vh2EVdWDFCNnJvog3UixYHnm1zzaHrEiz3y82lJwFkOK3JqfdaRW3mzQ62UuG5xJYxGaTPHZQ5h1ApnoduQmY8qA+nwVLbJv5Es2aTB7ps0q+SmkpTx9Yy0RmRHq7gj00r4MkJxrRSb5JI+N0faeySqZ5wP4nV7+eTw1FttXkYa9Ky1RdXlR4j9/lO2i3qAX1zb5kSeCmpgRAAAAABZ6wk8+AACA5XZf3TYvlPO3zNoy3z6jN1owy+iC6/cmaaAv2qxuH4wwNNGXKPYr6pLYaHvEijz1c+gsOIhRRW7+szgOY22amfd6mcsGxyrybMZbyLR5tmYCl7GszU1Gk6H0+SpaZN/Il2zSYPZMm1VGp5D28iy6NAub8i0h6riSAZJzrcgkE9HJMfq9k5VnOz05lmYI8l7sVGuVrypiKT5/VByFF9cWrPFQL+NXBQAAAAD3m/klAwAA8Hi7r26bF8r5W+Ydy+vNHqwquWDfLJjl9fa3L/20F08Le4NYea/NN7Nd66eoS2Kj7RHzeeq7fcaGGsMUf8BFjEWtsjam2SA4iMsGZypiyaREkpqA8CFcxrIqNxlHBtHnq2iRfSNfskmD2TNtVpmbQnrJs+jYLGzKt4So40oGSM41yWQ0yZNj9HsnK092OhTLIzOxvcdpaKHyVUUszb4/x3YRbye/WUvJXobkJwIAAACAHZ75exgAAOBNu69umxfK+VvmHcvrzR6sKrPgoo2uvKZtrLFvVkyhVfW8fiL//nNs7347+pLc1Gh7xIo89XPoLDiIIfUfsI+xF6mVNxv0ehltIII2Bypyy6REkqL+e6tLCu/nJiNIX32+ihbZN/IlmzSYPdNmlXemkL764kfQwsyY+ZYQdVzJAMm50EySGAN+75kcDslqKJYHZyJbk31dpmHNfHndstn359g24+1kNuuHmoglMwUAAAAA7DPzSwYAAODxdl/dNi+U87fMO5Y3saTLBRcNhtoHjeuq0Yl+guxCX3wm+pLcnbZ/QBRfwuc5dBajBwdV/AFn8rdy1asNDqKYFKLOLZMSSdYJ1EnWpnOTjtJLn6+iRfaNfMkmDWbPtFllyRQyiDz9OHVJT74lxHTU5FwoAiHGS37vmRwOyWoolqdmYvuK09ASVZcXJf7zFxVRBNtJ1s5l4pcBAAAAAPf7+V93AAAAO+y+um1eKCdvmXVtYu3yJpZ0uWDf4LKxKNrI5+vtv+pxRif6LZpDnUxymxbjw2L5lCLPibPgIIY0Ay8+60itmSoaXB7EZYMzFbFkUiLJZgKXsUzkJl2kvT5fRYvsG/mSTRrMnmmzysIpZCh5+tHqkp58S4jpqMm5UARCjJf83uU9k9UJQQ3F4hs/ie3LJ1Cnoc2Urypa2mj6+aNsF/F2glqLxV6GxPMCAAAAwG4zv2QAAAAeb/fVbfNCOXnLrGsTa5c3saR8bdzS1M2k5PX2pznIxES/yKLwm9WX5JZH2yOmeWqYQ9lyEHN84MVnL1JrU/RVzUKvN+zhitwuYxQk2UzgMrpMtkYaS0t9vooW2TfyJZs0mD3TZpXlU8iA8vRj1iU92lLs3vUzTEedP5FDFIEQ4yXbeyaEc4IajeWRmejelW6wmUbdTNQtm31/juwiiMI0a33fiRziGQEAAABgt2f+9AUAAHjT7qvb5oVy8pZZmyUb500sKagtqpKrTTbzfJeJ7r9ItinPIl555vc+2h6BIsyhbDmICc3AhZY0I7U2xjcoRmhqDnu4ZvL22UOSdQKXmSRDk2bSRp+vokX2jXzJJg1mz7RZZdMUMqw8/ch1SWCo8eGmoybkQhEIMV6SvevGMyGcE1Q+lgdnoiH4DTY3a818ed2yaPCL/Kbi7dRpZHr1+HkBAAAA4H4//3MOAABgh91Xt80L5eQtszZLNk7qjRbPkuyVX2q+pZqe6AFks/piW65LYqPtESjCHMqWg5hQh6YlPv86TytvNuj1MpcNzlTEkkmJJOsEtET0Ysk0kCp9vooW2TfyJZs0mD3TZpWtU8jg8vTj1yWBocaHm46akAtFIMQY8xvPhHBIUEOxPDUT21eRRrFTrVW+qoil+PxRtot4O75W3ouXIfFEAAAAALDb9ptNAACAX7T76rZ5oZy8ZdZmycZJvdHiWTK9htY51FhMT/QksnF5+r3XJbHR9ggUYQ5ly0FMCALXd/s01qYZeK+XuWxwpiLMZrYFkmymdBldr4GUS6E+X0WL7Bv5kk0azJ5ps8o9U8jTz1KXBIYaH246akIuFIEQY8xvPBPCIUENxfLUTGxf8hJEoYXKV1kv1ez7c+IojGVijSc2/ozEAAAAAPyu7deOAAAAv2j31W3zQjl5y6zNko2TeqPFszRrfWHxLs9gNBFPV+hNdCaNVxSBi2Qyo+0RKMIcylYbcwpDitCa+ReRWhvTbBAcxGWDAzWTt8+ew5Nsbv8yk7qBlMinPl9Fi+wb+ZJNGsyeabPKbSHIRPL0c2mJyCyg7o6eXtSX6RFyoQiEGGN+45kQDgmqiOXMTHRfyqKwd6P5FFV1y2bf3+K3oLv+K26w2rhZzwOyAgAAAPDTZn7JAAAAPN7uq9vmhXLyllmbJRsn9UYLZmlW+UJ9l6d+Fu/6UmiO2VRPpO+oQ76MvaDtiXSJIsx8tqOnBlGH5gPvRWptfGPTLPQuG5ypiCWT0uFJ6vaFT+AyE99A3uVFn3+Vy+wb+ZJNGsyeabPKzSHIdPIsZmwWNuVbos4qmR4hF4pAiDHmN54J4ZCgbJvJTB4ZiO7LJ1CnYSVFCM2W/vMX+c3qy1/xf9g2p/f7gKAAAAAA/C5+kAAAADQEl8JLNO+Fk5fF2mztzXJvtGCWuqookU95WomvLapMPWZTMVSmy4HqkHuxN2ljQbzvK8Icynbo1KCK0Jr5F5FaG9Wr7R3EZYMzFVE3ky9k2jxbncBlJtpASBt5X56ejrlj5Es2aTB7ps0qnwpBnsW8zcKmfEvUWSXTI+RCEQgxxvzGMyFImxNSsm1eZpIJ7RfZvvwGLRajtcpXFS39IL/LNtXcjq+d2+l0RwAAAAB4Hz9IAAAAGprXwQs174WTl8XabO3Ncm+0YJaiqvnpC+uhpESewSA98bDwNGThE9OXZG6j7RHQMIuzyATLKUyoQ/OB98K3Xqpo0OtlLhscyCL1ydtnU6bNs9V/SJeZSAOp0ueraJF9I1+ySYPZM21W+UgISqbWF78ALcwsKd8SdVbJ9Ai5UASSj/HMDH0+lyEkw/x1RSb23vTUTGxf8hJEoYXKquqWzb6/xW9B3ovdNcvzpjsCAAAAwPv4QQIAANDgL4V3aN4LJy+Ltdnam+XeaMEsRZX/1Pe6RN+9YJCezLCoSVbyLNKWZz7A0fbo0SSFhll8xjiFCUVo/rMXvrVpBt4s9C4bnKmIJZPS4Uk2t9/LRMqlUJ+vokX2jXzJJg1mz7RZ5SMhFGQN8vTLqEt68i0xnTMhF4pAMvmcnKHtnaCM3+bllp+aiexLNnUZhTXz5XXLosEvsk353dm+pjfoRwMAAACAm/38TzUAAIAdpi98k5rjJyfVZmtX2BstmMVXNd97hVriNcdpao6JPMvfx6gvyTBH2yOgYRZnkQmWU5jQTFtoSTN8a2N8g8tTuGxwpiLqZvKFTJsHa/4h1ZlIiXzq81W0yL6RL9mkweyZNqt8JIQmWYk8/WLqkp58S0znTMiFIpBMPidnKHvXjROU8du0fHoemYltqojC3pWWqLrcSuqOv0h24XMQ9jm3tWfEAgAAAOBHfcu1IwAAwPfYfWnbu01O3jJrs2TjpIklWVXRRj99YfEuz7p9/V6Lx8EQDVBMR8oRrFKcRX00AU5hVB2vz7CXp5U3G/R6mcsGB9JMhMZSfDZl2jxb/YfkS+RdXvT5V7nMvpEv2aTB7Jk2q3wkhICsR55+SXVJT74lpnMm5EIRSCafYzP0GycoY9tMZvK8QJoJ1DvVWuWripZ+kB/VzKHYZt4DAgEAAADwux74IxYAAOBNuy9tm7fJ+StmbZlvn9EbLZiluQz7tFotLwqDLlrY5BvIuzzj9sgoktRPkcx2tD0CzbPIBMspTGimLaSkl6eVq15t7xSKGaGKWDIpHZ5kvX0tEVIo78uT0TF3jHzJJg1mz7RZ5SMhXJJVydMvrC7p0ZbiC/f1baZzzh/HIYpAMvkcm6HfOEEZ2WYyk6cGYvuKo9BCZVV1y2bf32I7tTTmtvOAKAAAAAD8rm+8dgQAAPis3Ze2zdvk/BWztsy3z+iNFsxSL8Pe5UVL7NOXW3tlhdasyddqFxG0x5A60tGQtT0n8r4i+aGD4BRG1fH6DHt5Wi9VNIhPoZ4RoggtzlBl2jxYvX0pkU99vooW2TfyJZs0mD3TZpWPhJAka5OnX15dEhhqfLLpnEm4UAQin2TY4zeeCeGEoIYyeWogsi/Z1GUU1syX1y2LBr/ItjC9lzoWAAAAALjNz/8qAwAAWG73pW3zNjl/xbxjeb3Zg1UVy/Ati172qS91rTzrcs9X2SDy3muPaXWwQ1FrY8HRvK9IPn8QnMKEIO1entam6Kuahd5lgwMVmWQiOjxGv315lxd9/lUus2/kSzZpMHumzSofCWGIrFCefpF1SWCo8cmmcybhggRiaZBhzG88E4LP9qmGMsmE9nNsU0UUxTa1VvmqIpPi8+fYxusEkn49AQAAAAA/7fk/4wEAAEbtvrRt3ibnr5h3LK83e7Cqoirz6Z+vir8qedblxpfbu/X6K8ZiGq/wyetLMvPR9ugpkhwKVhtzBHlFYs3wizytjerV9k7hssGBmrHbZ9PhMfrty/vyEHTMHSNfskmD2TNtVvlICBNknfL0S9USkVl/3R1NvZwvoyNhr0iDDGN+4/IeJ3BISmRim6pf/qn+lxYqXyXlxac8i74/wTZS7Cjvd/cOAAAA4AEmf8kAAAA82O5L2+ZtcvKKWdcm1i6vN3uwKl2J1tbNihL79L2UVtXlxve1BtpeNLtglfpcgpNqGm2PniLJfLDaUnAKSXViPu1e8tZLFQ16vcxlgwMVmWQiOjlG2btsXJ+vokX2jXzJJg1mz7RZ5SMhTJPVyrNYcLOwKd/ycHVQyehI2CvSIMOYbTyTwCEpjWbyvEB8Arq7ZhRaW1TVLZt9v5xuzb+M+sVdAwAAAHiMB/5SBQAAeNPuS9vmbXLyilnXJtYub2JJWqvruexrn3X7/DjFuzyto77rC5arQx6NnWNapUhyKFhtzBHkFYn5tHvJW5dm2s1C77LBgYpMMhGdGaPsWrasz1fRIvtGvmSTBrNn2qzykRDeJGuWZ7HsZmFTvuXh6qCS0ZGwV6RBhjHZuO46k8AhKeUzeWogmoDfXb1TK9HGWiiaLf3nl7PVTi+7TgAAAAAAbvNLP8AAAADusfvStnmbnLxi1rWJtcubWNLlgn2D4l2e+mnlvtD0RhB1++YIWEtDFv5c9CWZPMe0SpFkPtjRI0OdrS9pJm8hm7q76B3BZYMDFZlkIjotRtmv7FSfr6JF9o18ySYNZs+0WeUjISwhK9cXv34tzOwo3/JwdVDJ6EjYK9Igw4DfdSaBE1IayuSRgdimiiiKbWqt8lVFSz/Il7OV15tN+qHNAgAAAHieX712BAAA2Gf3pW3zNjl5xazNko3zJpZ0uYaigf+Ud33REq2K2/sqoSMUhULLRV2Fher8eyfSxDGtUiQ5FOzQkaHO1gfYS97aNNNuFnqXDQ5UZJKJ6IQYZY+6QXtZSMfcMfKlzL4ybVb5SAhryRbk6XdRl/TkWx5uOmQS9oo0yDDgd51J4ISUhjJ5ZCC2KXkJctBCZVV1y2bfL+Q3O7HaX9kmAAAAgEf6+WtHAACA5XZf2javkpP3y9os2ThvYkmXaygaBO21qte+2TEYTUkDfYmb4R11yKOxa3vO6H1FkvlgR48MzaiFljSTtzaqV9s7guaYhysyyUT07Bhld7o1e1lIx9wx8qXMvjJtVvlICDvIRuTp91KX9ORbHm46ZBL2ijTIMOB3nUnghJSKTC4DeV4amoCyHOzd6N6LBOqWRYMvZCucW2q9ZQAAAAC4zbf/4gIAALjf7kvb5lVy8n5ZmyUbJ/VGi2fJrMHayIuW1F18G6vtvZtmYZO0lGeyMebUIQ/Fro0Fx/SmIsmhYIeODHW2PsBemNZLFQ3iI6hnRJFJJqKnxij7shCWb01D+0himX1t3XvhhinuJNuRp99RXdKTb3m46ZBJ2CvSIMOA33UmAWnz+Igsh8tAMon9Ij1lv7t6p1qi6nIrqTt+FVmebXBikV++OwAAAADP9vzf5wAAAKN2X9o2r5KT98vaLNk4qTdaPEtmDdJGX6yllviONk79UrwbHUTVtU3WJdkeE+qQR2PnmFbRJIuDyKTKEYxqRi2kpBemdSn6qmahd9ngQEUmmYgeFqNsR/diL6vogMuHzfCTBguwqhsW+ZEcdpNNydPvqy7pybc83HTIJOwVaeQzPDBAH85lAskkf53lcLnfRwZim/K7s0yM1ipfVbT0g3wVW2e9tYyv3RcAAACAE8z8jAEAAHi23Ze2zavk5P2yNks2TuqNFs+SX4O01BdrryXy6QfR97pE3z3rbu/2eWm0PSbUIfsjyxhtj6biIIb++DmCIXVcvqQZph2H6tX2jqA55uGKTDIRPSZG2Yjuwl5W0QGXD5vhJw0WYFU3LPIjOdxDtiZPv7u6pEdbiqeGs8p0yPmzOEGRRiacYwO0jZOS8nu83O8jA7FNyUuQgxYqq6pbNvt+lt/XxMK+cEcAAAAAzvHYa0cAAIBpuy9tm1fJyftlbZZsnNQbLZ5FauU5tAztUrARdDqbNJi9OXWzMDDaHhOKkPVTJGMfbY+e5kFkUuUIhtRx+ah7sVsvVTTo9VL1jCgyyUQUh/wTZAu237Ub0QGXD5vhJw0WYFU3LPIjOdxJNihPv8e6JDDU+FjTIROvV6SRCefYAGXjumtSUn6PFk7PIwPRTSnLwd6NhlNEVLcsGnyWLWZuVfXuAAAAAOA2X/TjCgAA4EvsvrRtXiUn75e1WbJxUm+0YBarkhcteX89OpSNE8/+eqvmHV3PwvWjpw557pg4ozcVsQ+dAkcwpIjLR92L3bo0o24WepcNDlRkksxQ/GKMsnhdtr2sogMuHzbDTxoswKpuWORHcrifbFOefqdaIjLbr7uj1gv5Mjfi9Yo0MuGcGaDfNSkp22MykOeloZvy26+j0BJVl1tJ3fFTZCW2l4n1fM9GAAAAABzoiGtHAACAIXNXvXnN8ZOTarO1K+yNFswiVa+3/3pnVTqmjuDfa3VL+zS98p7R9phQH2tdEuCMViliz58CRzCkjstH3Yzduhjf4DL/5piHKzLJRPSLMcqadcH2sooOuHzYDD9psACrumGRH8nhU2Sz8iz22yxsyrc8WZ1SMjfi9Yo0MuGcGaDfNSkp2WMykEemYZvyu7NMjNYqX1W09IN8ii2p3kXGN2wBAAAAwLFmfsYAAAA82A03ts2r5OT9sjZLNk7qjRbM4qtsSfqpppen4+iAwezyLGqbhaJX3jPaHqM0YWEh1yUxzmiJIsahU+AIhgRR92K3Ls2om4WmN+bJikziAFWmzfeQ1drW1q5ZB1w+bIafNFiAVd2wyI/k8FmyZXkWu24WNuVbnqxOKZkb8XpFGplwzgzQ75qUxFAgj0zDNiUvQQ5aqKyqbmmDfITfwsQy6u0AAAAAwG2Ou3YEAACI7b6x7d0jJ++XtVmycdLEkqxKXrTEWlqJmlinDh7PLs9mbb0e1SvvGW2PCfU5Bidb44yWqGPMnwJHMKQO1pc0Y7eEVbM2CP+ywYHqzO2zKdPmG8g6bVNrl6oDLh82w08aLMCqbljkR3L4BrJxffHb18JMIPmWJ6tTSuZGvF6RhnwSYJPfdSaBTJI/bSiQTGI/RzelghykUEr0+SqqWjY73sMWVqww6YMrBwAAAICH//AGAAAYtfvGtnmPnL9c1pb59hm90YJZpEpfrEFRYp8mv2Cd93L2eMBiPaZX3jPaHqPqhDmjj9AY506h6ItAHawv6SVpbZRvUA9YuGxwoCLnXuxeps0HyfJ0bfayig64fNgMP2mwAKu6YZEfyeGrSALy9CHUJT35liebTph4PZ8GAQaKoOLtnxARgeiu4xy0VvmqoqUf5Da2hnrZGR9ZMwAAAAComZ8xAAAAD7b7xrZ5j5y/XNaW+fYZvdGCWeIqeVqtfprMsnXw/BSxXuOhQcRoe4zShIWFzBnd751TIP8hRVw++foUlHVpRt0s9C4bnKbIOZPP12YoC7NdrF2eDrh82Aw/abAAq7phkR/J4QtJDvL0UdQlPfmWJ5tOmHg9ScOiIMCA7Tqz/RMiGg3kYWnU22/moIXKquqWzb77yHQ6l72Mmu4IAAAAAG/i1wgAAMB/7L5fbl4HJ++IdW1i7fJ6swerulxwvVQrUUF3HTyeXZ7xAgr1elSvvGe0PSYU58sZfcT0KZD/kDoun3xxCsq6qF5tL//mmIerM7fPpi/MUJZk61+7MB1w+bAZftJgAVZ1wyI/ksPXkjTk6QOpS3ryLU82nTDxmiIKAgzIrnXLme2fEFE+kEemYZuKc9Baa6PqlkWDfWyi6RlvWyoAAAAAFPg1AgAA8B/1XfNazevg5B2xrk2sXV5v9mBVyQWLes1WoupxdPB4dnkmF1Co16N65T2j7TGqTnjujDigd/ROIZMq+Q8p4vLJ16egrFw1a3v598Y8WZFYHKD4qgxlMboMe1lFB1w+bIafNFiAVd2wyI/k8OUkE3n6WOqSnnzLk00nTLymiIIAe/yWM9t/fERDgTwyDdmU7CjOQUtUXW4ldccdZBZb59xc0x0BAAAA4E38GgEAAPiP3dfKzevg5B2xrk2sXV5v9mBVyQV79eKtRPjRdPB4dnmOLqDQG2R08CWLQaBOeChzbSw4o3cUmedTJf8h9d+2L6lrhRXGtfpZu2xwmiKQTD7fkKGsQRdgL6vogMuHzfCTBguwqhsW+ZEcfoIkI08fTl3Sk295sumEidcUURBgj99yZvuPj2gokOelYTsqcij2qLXKVxUt/SA72HT1CpN2rxAAAAAAerh2BAAA+I/bLpS95OWyrk2sXV5v9mBVyQU3FbuwTyWFOng8uzynF+AVizG98p7R9hhVJzx3RhzQO3qnkEmV/PN6OQspaSZpDVSvtpd/c8yTFYldBig+m6HMbktduwYdcPmwGX7SYAFWdcMiP5LDD5F85Okjqkt68i1PNp0w8ZoiCgLs8VvObP/xERWBnJaG7ah++af6X1qorKpuKSVFx1Vs5Okp6tUCAAAAwD24dgQAAPiP3de1zXvk5OWyrk2sXd7EkpILjul2bBzbnYpnl+f7C/Bs9mLYXnnPaHuMqk9/6O+BA1qiyDyfKvkPqf+2raSXpJWrZm0v/N6YJysSiwMUn8pQ5tUZ7WUVHXD5sBl+0mABVnXDIj+Sw8+RlOTpg9IScZlevuXJegkn4yVbUURBgD1+y5ntS5tn52MhnJmG375urZmD1hbbL1o2O77PJi1mz9u0MAAAAAC4NPkzBgAA4Kl2X9c275GTl8vaLNk4b2JJC9cgQ+mLbs1e4tnluWoBhd7go5NuXSQ0XmEJ1yWx0fao9U4hE2m+JeqsfEkzSS00zdog/MsGpykCyeRzc4Yync5lL6vogMuHzfCTBguwqhsW+ZEcfpRkJc8irmZhU77lseqIkqGRrSmiyAd4Wno+mcvtJ2P8aRbC5WYfmYZu32+t3qaWqKK8buZL3mTjFxPlLV8SAAAAACRN/owBAAB4qt3Xtc175OTlsjZLNs6bWNKONbze/sK/nF2eaxdQsPUUs/TKe0bbY1Sd8Oifx2h71IoM83/2+Zaos/IlxREYa6N8hCV/KQAA//RJREFUg8vwe2Meq0jsMkBxW4Yykcyiz1fRIvtGvuQnDRZgVTcs8iM5/DRJTJ5FaM3CpnzLY9URJUMjW1NEkUnmzPRs10Qk/AYvN/u8NGxHRQ7FHrVWWVWdRl0yzdZQLyZp4WIAAAAAYAjXjgAAAP+x+7q2eY+cvFzWZsnGSb3R4lneXIN0f739y0bTkS9nl+c7C8izpRbT9cp7RttjVPFXwQHdr86wOJRAviXqrKykPgJVNOjV6mehN+bJisTiAMUNGcoUMrg+X0WL7Bv5kp80WIBV3bDIj+TwAJKbvvj0tDCTZ77lseqIkqGRrSmiyCRzZnqya90yEQm/wcvNPi8N25G8BCFoobKquqUN8g6/krnR6oUBAAAAwD0W/CgCAAB4kt3Xtc175OTlsjZLNk7qjRbPMrQGafx6+9flyAtnX0V3Uc/bK+8ZbY8hGq+whOuSGAf0viLD/BGMHtbJ6qx8SXEEyhqoXm0v/OaYJysCyeSzL0MZWYbV56tokX0jX/KTBguwqhsWKVPI8/4oHqMOMB8p4V+ajpdsTRFFJpkD0/NbJiJRBHKZxsOi0O0rC8HejW682H7RstlxiI1fTJT3/hoAAAAAYM7Tfi4CAAC8afd1bfMeOXm5rM2SjZN6o8WzBLVS9Xr719BqdeTL8YfGXMh2VyygV94z2h6j6r+Tob8cDuh9dYb5Ixg6rMPVWVlJfQTKylWzthd+XHugIuRMPjsylDFlQH2+ihbZN/IlP2mwAKu6YZE6hTzlffdcD1YHmI+U8C9Nx0u2pogik8yB6fktE5GwDV7u9JFRyKaKvdfb1BJVlNfNfEmeDVWMmffO7AAAAADwjsmfMQAAAE+1+7q2eY+cvFzWZsnGSb3R4lmsVl60xLOOE0vVLkFHnXF02OVs48VKeuU9o+0xpI537oA4nXcUGeaPYPSwTlb/ofqSulZYYVyrnwWtFb0GB/KJZfKJEx4lo8lQ+nwVLbJv5Et+0mABVnXDIoslyXP3jA9WB5iPlPAvTcdLtqaIIpPMgen5LRORkA0m03heFLYjvzULxGitsqo6jbpjhvWa6y7qlQAAAADAPSZ/xgAAADzV9D1vUnP85KTabO0Ke6PFs0itvtRtfMeJpWqXoKNOPTrsPr31jK7z2/b1MBqvsISHAq+7Y9Q7RzB0WCfrhSykpBmjNVC92l74zTFPVgRymc9lwkkyjoygz1fRIvtGvuQnDRZgVTcssp5CSuS5e94HqwPMR0r4l6bjJVtTRJFJ5sD0/JaTET04n6E0MnH9FtuRnXJzj1prbVTRstkxZgMWI+dNTAoAAAAAS0z+jAEAAHikG+5qm/fIyctlbZZsnNQbLZglXoCvnViqdolnl+fosLvpqkSxsF55z2h7jCr+fjig+00fAeHnFSELK+nFaOWqWdtLPq49UBFyJp83M5Tu0lefr6JF9o18yU8aLMCqblhkbwopl+fu2R+sDjAfKeFfmo6XbE0RhXySXs1v+XL7j8/n8DR0R6oXQt1GFS1Hw5H2NmO+lxmdDgAAAABW2X6zCQAA8ENuuKttXiInb5a1WbJxUm+0YJZ4Ab52YqnaJZ5dnqPD3kaXJ4oV9sp7RttjSB3v3AFxOtN6R5CJlPCTeiELKWnGaA1Us7aXfD0dfGKZfOKEA9JReunzVbTIvpEv+UmDBVjVDYuMp5Bafdm9jKfSAH16+Ujrvij04iXbPB8F6fUUKcV7f3w+o2k8LArdURyC1ipfVbT0g8SsYz1XRn4iAAAAAFhr5jcMAADAU+2+q+3dICdvlrVZsnHSxJLiBfjaiaVql3h2eY4Oe7/eOkfX/yv7/VF1vEOBa2PBAU0rAs9HSvh59V+1lfRitHJV9xW95OvpDlcEcpnPZcI16SKN9fkqWmTfyJf8pMECrOqGRSankGby3L2Yp2qml4yU5C/VEZHtKB8F6fXYljN7f3w++TSeF0W99+YetVBZVd1SSoqONWuTaVyrJwUAAACAe2y/2QQAAPghu+9qmzfI+WtlbZlvn9EbLZglXoCvHV2qtY9nl+fQsB+kqxXFgnvlPaPtMaSOd+6AOJ1pvSPIREr4SXVQvqQZoxXGtfpZ0FrRa3CaIpA4PZVpo6SlNNPnq2iRfSNf8pMGC7CqGxYpU8gzOctQYxSa6SUj1WaC8HvqJIeyJVghUVgOpNdjKWX2/vh88mk8LwrbURyC1lobVbRsdvSsezFO0uX4AAAAALDJzG8YAACAp9p9V9u8QU5eK9vaku2TeqMFs8QL8LWjS7X28ezyHBr2G+iyRbHyXnnPaHsMqf+6hv7eOJ33FYHnIyX8pDooX1Lkr6yB6tX2km+OeTIfyGV6IhOgtJEG+nwVLbJv5Et+0mABVnXDInUKecp7cq6hxihoesIHmI+U8GN1PsnECFYVOZBek99vZu/PzmcojedFoTtSvRDqNkrK62bNcKxl0SUpGBkAAAAAttp+swkAAPBDdt/VNm+Qk9fKujaxdnm92YNVxQv2tXHLmrWPZ5fn0LBfpbf+0X39eg7fTLMVFm9dEuN03tQ7gkykhJ9UB2Uldf7KylWztpd8XHugIpDLfC7jlSp9vooW2TfyJT9psACrumGRxZLkmZxxqDFqdYD5SAk/Np0twaoiB9Jr8vvN7P3Z+Qyl8bwoZEeynSKEYoNaq6yqjqLuKKywWXupngUAAAAA7jHzGwYAAOCpdt/VxvfLMV2bWLu83uzBqpJVQbMe6xJPIc/Rkb+N7kIUG+mV94y2x5A63qE/P07nfUXg+UgJP6n+k/bR1bXCGqhmbS92P7i+HK4IJE5P9AKUcinR56tokX0jX/KTBguwqhsWKVPI089SlwSGGqP2Tv6EH5vOlmBVkQPpNfn9ZvYubR4cTpHGUVHY3uuXf6r/pYXKqoqWdUcp0U97GVIPCAAAAAD3ePJvYAAAgFG772qbN8jJa2Vdm1i7vN7swaqSVUGzHusSTyHP0ZG/lm5HFDvqlfeMtseQ4q+O07lZkb+oS3ryLU/W/BO16HoZWi9R1DYH9HpjHssHcpmeKAKUT3nXp5assm/kS37SYAFWdcMidQp5yrufqy4JaGOxe7VP9U7+Qyd1oOlsCVYVOeTTOyo6H8tlRMkMf5dt8MAo/N51X809aq21UUVL/2ktiy5JxcgAAAAAcJuZ3zAAAABPtfuutnmDnLxW1rWJtcvrzR6sKlkVNOuxLvEU8hwd+fv19jW6X20vnhfRx9XZjqY9eprw3sl/9KSOVf+JWkkvQytXzdpe7HHtgYpALvOxBvJiT61aZd/Il/ykwQKs6oZFFkuSp59RS0RyGfUIyOvln8mT5GPT2RKsKnLIxHJgdH7L8n54PpbA5U6fF4XuSPVCqNsoKW82s3F8bVI9OwAAAADcY+Y3DAAAwFPtvqtt3iAnr5V1bWLt8nqzB6tKVgXNeqxLPIU8R0f+Fbo7UWywVx54dlCfVWc7lPbEacJ7J/+hkzpW/SfqS5oZWgPVrO3FXk93uCKuOD1hDeRleYY65o6RL/lJgwVY1Q2LrKeQEnlmCnuGGqNQp5fPk+Rj09kSrCpyyMRyYHS2ZfLxu7vc6fOikB3JdooQig1qrbKqOgrrWI+QUQ8IAAAAAPeY+Q0DAADwVLvvaps3yMlrZW2WbJw3saSg1ldNLFW7XM4uz9GRf45uUxQ77ZX3jLZHXp3t3OlwNHPeyX/0pI5V/4laSS9DK1d1X9GLvZ7uZEVccThSK1X6fBUtsm/kS37SYAFWdcMie1NIuTyLqmZhz1BjFOr08nmSfGw6W4JVRQ6ZWA6MTras+yUfv7vLnT4sCttO/fJP9b+0UFmVbynvxcuQ5qQAAAAAcIPtN5sAAAA/ZPddbfMGOXmtrM2SjfMmlhTU+qqJpWqXy9nlOTry7+rtdzQHbS/Oie42dbZDp8PRvKlOO5//0Ekdq5ewkMJmhlYY1+pnIa49kA9E3+3TSLmU6PNVtMi+kS/5SYMFWNUNi4ynkFp98W20MLmwocYo1Ok1T6SJ5GO9bAk2qcghE8tp0fn9kk+RxmUUT8rB9m778mkYrS32ri2FdSx6JU13BAAAAIB38FMEAADg/+iF777/gtS8CE7eDmuz5VfJE0sKan3VxFK1y+Xs8hwd+dfprkWx8V554MwA71FkO3o6HM076rTz+Y+e1JmaKdkfrb38Fb9YF9WrbcYe1x6oSLj+lHd9askq+0a+5CcNFmBVNywyOYU0k6dvWZcEtLHYvZ1HakadzH/omA5U50OwQ4ocMrGcFp3fL/nY7i63+bwcZEfFxus9aonKlOfp7K8PAAAAALgLP0UAAAD+T30pvFbzIjh5O6zN1l4l90aLZwlqfdXEUrXL5ezyHB35MXT7okigV94z2h55dbZDf7QczZvqtPP5D53UsYKE9UXf9UVZuWrW9mKPa09TJGzhyIs9/+qX2TfyJT9psACrumGRQ1NIY3n69nVJbLQ9TDO6ZJ7EHqvz0RIRh0awqsghE8tp0fn9JvN5cDi2u8soMln9ENuO35elYbRWWVWzb149CwAAAADcgJ8iAAAA/2fuejeveRGcvB3WZmuvknujxbMEtb5qYqnaZXr2o0gO8qyj6JX3aHtBqssVZzEaNUfzjjq9fJ7FwaEpTriZoTVQzdpe7HHtgXwg9i4vyyPSMXeMfMlPGizAqm5Y5MQU0kWevpeWiORQ9QhIakadzHP0mE7TjDGTbTL/xytyILqa3+/l3p8dzslR2HbkJUhAa62N8n315a/42mh7AAAAAFhi+80mAADAD9l9UVtcKKtmYU2bJRsn9UaLZwlqfdXEUrXL9OwHkjT0pcikVx7QLmS7XH0Wo6fD0byjTi+Z5+gxHStIuJehlYteVTP2uPZAPmp7atUq+0a+5CcNFmBVNyxyegrpKM+ib7OwZ6gxCnV6+TxJPtAMJ5MYqaoiB/m8zOS06Px+L/N5djijUTwpB927sgTsXdVthG9Wd+nJtwQAAACAhR71Qw4AAOAdN9zSyhT1+M3CmjZLNk7qjRbPEtT6qomlapd4fHmODnsCTUYU4fTKe0bbI6/+6x36e+Zo3lGnlw9/6JiOVafkM29maA1Us7YXe1x7GktDXpZnomPuGPmSnzRYgFXdsMg3p5Du+uIH0cLksEONUajTy+dJ8gENR4xmS6rK55DM5LTobL+ZjT87nHwUz8tBdlRsXEv+Kl+0VllV3KXm2wMAAADAbbbfbAIAAPyKG25pm5fFmRtkoc2SjZN6o8WzBLW+amKp2iUeX56jwx5FIxJFSqPR9cbBm+pgR6MePUp4RXr58EeP6UzNlCzzInxlXVSztpd5c7ozSRSa8PIo9o18yU8aLMCqbljkqilkHHn6oeqSwFBjFN4Jn+Rjc9mSqvI5JDM5LTrZbz6fZ4eTj+JhOdh26pd/qv+lhUqrrKTXxbtsAAAAAAA7bL/ZBAAA+BU33NLKFPX4zcKaNks2TuqNFs8S1PqqiaVql3h8eY4Oe6ZmVloo8hmS+Sb1WQxFPXGUMO+EP3RMx6pTspI6fGXlqu4rerHX051GEtBsl4ewb+RLftJgAVZ1wyLXTiGjydMPWJcEtLHYvetHeif8oWM60Fy2pKp8DslMjopuNJ8HhzMUxcNysO3ISy+BXhul5fqiJV5QBQAAAAD7bL/ZBAAA+BW7b2nt4rjQKy9os2TjpIklxQvwtRNL1S7x7PIcHfZkmpgoQuuV94y2R17xVz13NJzLnOnwR4/pTPUfp8+trhVWGNfqZyGufTbZu4a2fPv7Rr7kJw0WYFU3LHLHFDKmPP2wWiKSc9UjIKkXfiZMYo/NZUuqSnKwEJKZHBWd32xm4w8OZyiKh+Wg21E+ASUl/lMUbeyzDkTb1OUAAAAAsNX2m00AAIBfsfuWtnc1nJnR1pZsn9QbLZglXoCvnViqdolnl+fosBAanSjSG420Nw7eVAc7dDScyzveCX/omM7U/OO03JoBWhfVq23GHtc+lexaw1y+630jX/KTBguwqhsWuW8KGVmexeDNwp6hxvDq6PJhEntsLltSFUUIyUyk2Tm5+Uwy+Tw4nCKKo3LQ7TQT8C/yVEVJ0VfVJQAAAABwg0f9WgMAAHjH7ltaGb8evFlYs7Ul2yf1RgtmiRfgayeWql3i2eU5Oiy8ZoZaKPLZchabFMGOHs3EUcJMh0/sGUW8wnIzRYBFg2ZtL/O49mFks7JTfb6KFtk38iU/abAAq7phkbunkPH1xc+ihcl5hxrDq6NrHkcTscd62caJkaooQiC3mt/v5d6fHY7t7rQcio3ruzzl0+/RaoU1sE8bRJ7+HQAAAABus/1mEwAA4FfsvqWV8evBm4U1XZtYu7ze7MGq4gX72rhlk3aJZ5fn6LCoaZKiCLNX3jPaHkl1sHNHw7lM6IWfCZPYLzX/ki23ZoDWRTVre5nHtY8h29T0lu9038iX/KTBAqzqhkXeloNMJE8/V10SGGoMrxldMk9ij9X5ZBIjVVGEQG41v195Pzkc2/7lNh+Wg23HJ1DvTgt9Gy0vPkXdFwAAAAC2avyGAQAAOJPe1e77b0d2R+w1C2vFtfIqvdmDVSWrgmY91iWeQp6jIyOgkYoi1V55z2h7JNXBDv0r4FzeUUSdD5PYM+q/ZCvpBWjlolfVzDyufQDZoOa2fIP7Rr7kJw0WYFU3LPLmHGQ6efoZ65KANhZ3rvkZmjknwx86owPV+WQSI1VRhEBuNdvv4eH4rV1u82E5FHtv7kvbKJ+Sfvp3fQEAAACAe9x67QgAAPDN/FXvDs3r42ZhbdMlcm/2YFXJqqBZj3WJp5Dn6MjI6GU7mjlntEkRrH6KZNScy7Q66nyYxH6pjsgH3gzQGqhmbS/zuPZ3yb40ruVb2zfyJT9psACrumGRn8pBnn5eLRHJxdQjIKOZczJMMo/V+WQSI1VRhEBuNdmvbvbwcPzWLrf5sBxkO7IXfb6KKrpl5VPSz7gvAAAAAOzA7xAAAIAXva7d99+OmlfAyXthf5WsL0v0Zg9WlawKmvVYl3gKeY6OjDxNWBQh98p7RtsjqQ526B8F5/KOIup8mMR+qRmRBV4kr6yLatb2Ao9rf5HsSINavql9I1/ykwYLsKobFvmRHJRMLc9i9mZhz1BjeHV0yTDJPDYXLKmKIgRyK/jNHh5OEcVlDk8KIbMdbeNbyru+PCkKAAAAAD/hUT/JAAAA3qEXtfv+21Hz+rhZWNt0idybPVhVsipo1mNd4inkOToyJmjUoki7V94z2h5Jxb+FuXPhUCbUUefDJPZLdUQWuCkCLBo0+zYzj2t/i+xFdqHPV9Ei+0a+5CcNFmBVNyzyIzl4sgB98cvQwuTChhrDq6NLhtk8NZi5YJPhP1sRArkV/GYPD8e2drnHJ4Uge8lsRLesrP2TcgAAAADwKz587QgAAPA9dl/RNq+P83fK0izZOK83YDBRsmpiqdYlnkJfRgfHNM28DrxX3jPaHhn1v4ihfyNDjVEo/qTzYRL7pWZEFniRvErW6mchrv0JsgXd++gudO9eHd3cyO/zkwYLsKobFvmRHJpkJfL0i6lLAkON4b2TPLEH5oIlUlGEQG4Fv9lkOE9NxrZ2mUMmqO83dJS6ZWUp/XoCAAAAAH4LP0IAAABedl9SN+9/k5fC2mz5DfLEkoJaXzWxVO1yObs8tZmWjM6COb3ARw+Cg9vE/mnop6hLApzLtDq6fPJDZ3SmOiIrqZMXVqiKbJtdTD3XD5HFaybvr7/IYeHIo/ykwQKs6oZFfiSHgKxHnn5JdUlgqDG8d5In9sBcsEQqihDIreA3e7nxBydzVA6y/tHF65bNI/8GAAAAAHyt77p2BAAA+KDd19PN6+PknbI2SzbOm1hSUOurJpaqXS5nl6dvUJdgKw1cFJn3yntG2yOjTnXuXDiUCUV0+eRHz+hA9Z+lD62uFdZANWubgfuR9eUnyLI1ilXLtqGWj5znJw0WUCxVCzf5SA6XZFXy9AvTEpFZ7VBjeL3k87GTedNcsEQqihDk8zKQo3Lzm73c+IOTOSQHWfncsrXjdHcAAAAAmMOPEAAAgJfdF9PN+9/kpfCOG+TeaPEsQa2vmliqdrmcXZ51Ay0Xo5NiWnwW+YMYbY+M+l/EUM51dyTVOeeTHzqjAzX/LC20ZnrWRTVre4HHtd9GVqshrFqwDbV85Dw/abCAYqlauMlHckiStcmzWF6zsGeoMUydWz5JMg/MBUukwoeQDOSo3Ip84l0/OJnRHH4uhOk1azLikecOAAAA4Gv93u8uAACATfz99Q7N6+PknbI2SzZO6o0WzxLU+qqJpWqXy9nledlAjM6OOb3ARw+Cg9uk+Cczdy4cyqg653zyo2d0oPrP0kIzRXq+Qa+qGfivHIesU1aoz1fR2/yYa0dO8pMGC7CqGxb5kRyGyAr1xa9TC5MrH2oMU+fWPIsmMg/0go3jIlLhQ0gGclRuttnMrh+cTD6HXwxB1jyxYN2peOSJAwAAAPha337tCAAAcI8bLqObd8fJC2Vtlmyc1BstniWo9VUTS9Uul7PLMzOythSjy8CcXuCjB8HB7VCnqiUcym51zvnkh87oQM18rDCoNb2++lmIaz9Olqe7XrhCP+bakZP8pMECrOqGRX4khzmyVHn61dYlgaHGMM3ckmGSeaAOJxMXkQofQjKQo3KTzebDeXAy+Rx+KwTb1xDtNdcXAAAAAKbxIwQAAOAfN1xDN+9/k5fCO26Qe6PFswS1vmpiqdrlcnZ9yQ8+0QXv0MDrtHvlPaPtkVGkOvqvg0OZU+ecT370jE7TzMf+UO3lr/jFuqhmbS/tuPaDZGG63+Vr2zfyJT9psACrumGRH8nhHbJgefo11yWBocYwzdySYZJ5oA4nExeRCh9CMpBzchsN56nJDOXwKyHIOicWqb3m+gIAAADANH6EAAAA/OOGC+jm/W/yUnjHDXJvtHiWoNZXTSxVu8Tjy1Nr9d0+M3x37NY7oNGDmzhoXKpTHcqZQ5mm0fnc6pKefMsz9bL1ivSKBs2+zcDj2oeRzco29fkquoufNFiAVd2wyI/k8D5Ztjz9yrVEZLYz1BimmVt9Fk3JZmeqw8nERaTCh5AMRJodEtpoOE9NZiiH7w9hboW6cfHIIwYAAADwtU75BQ4AABC7vJt+X/PuOHOhbGvLNM7rjRbPEtT6qomlapd4fHkWtc3CgLYXo8vDnF7gowfBwe1Qp6olHMpWvdjFZZJkHmvmo4VSYi9/xS/JWv0sxLXPIHvUcO7fpp80WIBV3bDIj+SwiixensX6m4U9Q41h6tySSRJ4YC5VIhUSgiVAaAW/2cuNPziZIoffDSFefI/2musLAAAAANP4EQIAAPCP3ffOzcvf5I2wrW3tDXJvtHiWoNZXTSxVu8Tjv96qk7Kq/KQTXfAODbxOu1feM9oeGUWqo/86OJQ5dW75JMk81svWC2qLYOO0n30WsjvZmj5fRXfxkwYLsKobFvmRHNaSLeiL34gWJrc21Bimzi2ZJIEH5lIl0iIBQiv4zV5u/MHJ2NZ+NwRZ2MSqtNdcXwAAAACYxo8QAACAf+y+cW5e/iZvhG1ta2+Qe6MFs8QL8LUTS9Uu8ezy1Fp9t0/TKw9MdMG0VQfHqe1Qp6olHMpWvdjFZZJkHmv+AVthUGt8bZx2XPujfFb378tPGizAqm5Y5Edy2ET2Ik+/nbokMNQYZjp2bSbIvDaXajL5BysSILSC36y8H5uM7f1yj18YwuXBNWmvub4AAAAAMI0fIQAAAP/YfdfcvPxN3gjb2tbeIPdGC2aJF+BrJ5aqXeLZ5VnUNguFlov8Mia6YFov7dFT4NR20FQt0rlD4URG1bnlkyTzQPMP2BJrRmddVLO2l3Zc+1t8SvfvyE8aLMCqbljkR3LYSnYkT7+puiQw1BjmndjJvGcuVfIsEiC0gm325GT8vi73+FUhyGImVqK95voCAAAAwDR+hAAAAPxj9y1z8/I3eSOsaxNrl9ebPVhVvipo2aNd4ink2azVKlHXBlU9wURYrpf26ClwasvV/3aGQq67I6MXu7hMksxj9R+wJWaK6HyDXlUz7XquX2S7kJf792KTxrMnmy3xkRxuIPuSp99aXRIYagzzTuxk3jOXKnkWCRBaQTarOz05Gb+vyz1aYp81twzt9SVbAAAAAHAOfoQAAAD84/IC+k3Ny9/kjbCuTaxdXm/2YFXJqqBZQHvFU8gzHlnbiLpZprsXDIXlemmPngKntkPxb4dDuUcRu6hLevItD9T8g7TEmtFZF9WsbabdnOtXyOI1EHu+Ku5ik8azJ5st8ZEcbiO7k6ffoJaIzK6HGsP0Ys9nTuC1uVTJs0iA0Dy/05OTKXIINvgNCcQr7NFec30BAAAAYBo/QgAAAP6x+3K5efmbvBHWtYm1y+vNHqwqWRU0C2iveAp5JkfWxqJo3ysPTHTBtFUHx6ktV0c6dyicyJB3YifwWJ2PZauK6DK1vbTvOQuZZeEUOpp/viruYpPGsyebLfGRHG4me9QXv1MtTO59qDFUHVrzIJoIvKeXapwVeRYJEJrnd5pM5pGx2N4vQ8iktM90/p9dNgAAAIAzPf/aEQAAIGP3/Wzz4jh5m6xrE2uX15s9WFWyKmgW0F7xFPIcHVl7iaJjrzww0QXTesc9+mfAqS1XRzp0KJzInDrkZOwEHmvGaKGpfG2cdnOuhWT8VYPbUPqycOS8Yg1aWEs2W+IjOXyKbFaefr91SWCoMVQztGSSBN5TJ5PJijyLBAjN8zu93PWDY5GtfXkItsJRDz41AAAAAF/roGtHAACAwO772ebFcfI2WZslG+f1BgwmSlZNLNW6xFPIc3Rk0+uu5SI/8kQXzOlFPX1qHNlCRaSjh8KJTKhDzsdO4IFmjJZYMzrropq1zbSbcy0hI68a04bSl4Uj5xVr0MJastkSH8nhs2TL8vS7rksCQ42hmqElkyTwnjqZTFbkWSRAaJ7f6eWunxrLl4cgM85N99TzAgAAAPDNjrt2BAAAaNp9P9u8OE7eJmuzZOO83oDBRMmqiaVal3gKeY6OXNBBRD1OUNWzZEnI6J3O6KlNnDJidaRD/y44kTl1yMnYCTzWC9YrovMNmlW9qOPaCTLgktH8OPq+auQhNmk8e7LZEh/J4RvIxuXp916XBIYaQ2loYiJ2Au+pk8lkRZ5FAvJ5mcY5ofmdXibz1FiKEOy96TKlhabneupJAQAAAPhmh147AgAAFHbfzzYvjpO3ydos2TivN2AwUbJqYqnWJZ5CnqMj9+hooh5wdKJgKCzXOx1O7eOKIxhNePQEIeqQ87ETeKAZjhUGtcbXWlUz7eZoc2So98cpBtHPJSOPsknj2ZPNlvhIDt9Dti9Pn4CWiEwsQ41herFfxphsdqC5SMnTJ5BM45zQbKeZLT81Fr8veQ82eFsC8TICTz0jAAAAAN/s6GtHAAAAs/t+tnlxnLxN1mbJxnkTSwpqfdXEUq1LPIU8R0e+pMOKYuReeWCiC+YsPzWObJX6CIYSnjhBiDrkZOwEHmiGY4WqyC1T24x6yUHIIO90V8Ug+rlk5FE2aTx7stkSH8nh20gI+uKj0MJkOEONoerQkjGSds9cpOTpE0imcU5ostN8Mk+NxfZ1ucEbEpAp5sbXjtPdAQAAAGACv0AAAAD+sfvuuHnzm7wO3nR3PLGkoNZXTSxVu1zOLs/RkfN642u5yE890QVzelGPHgFHtlwRKSdygzq0fIzakrSbmuFYtiqo7VU1037nIKTvXEdTj6Al7488wSYNZvdVNyzyIzl8LUlDnj6QuiQw1BhqOnPS7pmLlDx9Ask0DgltNJmnxiL7SoawNQFbxijtON0dAAAAACbwCwQAAOAfu29mm+MnJ91xd9wbLZ4lqPVVE0vVLpezy3N05FE6i6gnCqp67lkzRC/q0SOYOGXEiiMYTXj0BCHq0JIxjp7OUZrhWLDNhK2LatY2o27OdUl6DbX3eovRMd8ZeZpNGszuq25Y5Edy+HKSiTx9LHVJYKgx1HTmpN0zFyl5+gSSaUizExIbTeaRsQyFkElpwnSw2nG6OwAAAABM4BcIAADArstir3nzm7wO3nF33BstniWo9VUTS9Uul7PLc3TkaTqdqGccXUkwFNbqRT1xBKOnjFh9BEMJT5wgepmLyxiHTuc0dTgWrAlqi1TjqDMHIW20gb3k2dqCBUjVxMjvy+zLV92wyI/k8BMkGXn6cOqSwFBjqOnMtZkg8MJcpMnYH8wnQGLeUDJPjWU0hLUJTA+oHZevBwAAAAAC/AIBAAC4vkd+X/PmN3kdvOPuuDdaPEtQ66smlqpdLmeX5+jI79N5RTF1rzww0QVzVp0aR7acRmp5zp0IxzGkDi0Z4+jpHKWZoRUGtcbXxlE3RzNSq1X2spCOuWPkS5l9+aobFvmRHH6I5CNPH5GWiExuQ42hepnnAyftwlykhOkTIDFvKJmnxlKEcFsC8VwB7TjdHQAAAAAm8AsEAABg8R1xU/PmN3MdbGtbe3fcGy2eJaj1VRNL1S6Xs8tzdOSFdAGiWEOvPDDRBXPiU+PIPqXOc+hEOI4JvczFZYxDp3OUZoZWqIrcMrXNqJtzCSnXEntZSMfcMfKlzL581Q2L/EgOP0dSkmcRVLOwZ6gxRJ2YlojLGEm7qRdpHBRh+gRIzCuSOTMW29flBlclcBl1j3ac7g4AAAAAE/gFAgAAsP1+vHftm7kOtrWtvTueW1JQ66smlqpdpme/maxEnvVitFzk1znRBXOapzZ9ZJzXKkWeoyfCcUyoQ0vGOHo6R2lmaImpoLZZ1cu5qJVPfbeXhXTMHSNfyuzLV92wyI/k8KMkK33xiWlhMsOhxhDNxJIxknZTHUsmKMKUBGz7JObZTk+ORfalm7rc4PsJ2FyjtON0dwAAAACYwC8QAACABffCsea1b/Iu2Na29u64N1o8S1DrqyaWql3i8eU5OuxWuiRRryqo6vnCDT5S72hGj2ziiBGo8xxKmOOYoKH5xPIx1n2hmhlaXM3crIuqO4pm1H5YbWAvC+mYO0a+lNmXr7phkR/J4ddJaPL0udUlgaHGEM3EkjGSdlMdSyaow8Mstk9inuxUt3lsLH5Tlxt8JwHp+07H6e4AAAAAMIFfIAAAAG/dCGc0r32Td8G2trV3x73R4lmCWl81sVTtEo8vz9Fh76FrE/XyRpcdDIW1elFzZJ9V5zl0IhzHqGZiycxJO1BnaHGpIrRMbTNnXyXvzTbv0DF3jHzJJg1m91U3LPIjOTyDRCdPn15dEhhqDKGJiYnMSbupjiUT1OFhFtsnMeO3eWwsRQiXCUxsf66X0I7T3QEAAABgAr9AAAAA/nNxvEPz2jd5F2xrW3t33BstniWo9VUTS9Uu8fjyHB32ZrpIUayzVx6Y6II5zT+t6SPjvFYp8hw9EY5jVJ1YPnPS7mkmY8GqoLZXVZdrib0spGPuGPlSZl++6oZFfiSHJ5EA5ekz1BKRCbbujku9zC9jJO2muTwPD7PYPokZv81kLM/LxDZ+mUAmotpcaNprri8AAAAAzOEXCAAAwORFcF7z2jd5F6xrE2uX15s9WFW+KmjZo13iKeQ5Ouyn9Far5SK/kYkumNDLeTR/zmutOk8t4Tg2aSaWzJy0e4JUTRFaptYK5VPf7WUhHXPHyJcy+/JVNyzyIzk8j8QozyLJZmGTthScRV4dbzLw/LkcZS7Pw8Mstk9ixm/zcstPzUT2tSkBG3mI9prrCwAAAABz+AUCAAAwfAU8qnntm7wL1rWJtcvrzR6sKlkVNAtor3gKeU6M/EG6ZlEvO6jqmeiCCb2cR/8COa+1ivxH4x09PtSJ5TMn7Z5mMhasamaumh2lUF60yl4W0jF3jHwpsy9fdcMiZQp53h/FI2mYwuc5lDDHMapOLJkhUTfN5Xl4mMX2Scz4bV5u+ZGZbEpAWk4Epb3m+gIAAADAHH6BAAAADFz+zmle+ybvgnVtYu3yerMHq0pWBc0C2iueQp4TI38DXbyo1z+xr5+O4oc0cw6OsofzWqjOfyjeieM7XDOxZOak3dMM0AqDWuNrfXt5Lzq+T8fcMfIlmzSY3VfdsEidQp7yvnuuc9R5DiXMcYyaDpyom+byPDzMYvskZvw25f3ATIoE7L3pMiKRaVPTXnN9AQAAAGAOv0AAAACu74Xf1Lz2Td4F69rE2uX1Zg9WlawKmgW0VzyFPCdG/iq6C1FspFcemOiCCauOjPNaq8hz7jg4i7w6sXzmpN3UDNAKVRFar1bK9d1eFtIxd4x8KbMvX3XDIovp5Ll7xnPUeQ4lzHGMmg6cqJvm8jw8zGL78nkZxSGJ2TYz+31kJn5T8h7s7nL7cfce7TXXFwAAAADm8AsEAADg+s73Tc1r3+Rd8KaL496AwUTJqrmlaq94CnlOjPyddDui2FGvPDDRBRPiI+O8PqXIfyhezmJUM7HiCHpIu6cZoMWlglqpkk9tYC8L6Zg7Rr6U2ZevumGR9RRSIs/d856jznMoYY5j1HTg2kyQtjeXZzLzp/LbT0ZxSGKyzXwsj8zENnW5u6CBVE3Eor3m+gIAAADAHH6BAAAAbL/sbl77Ju+CN10c9wYMJkpWzS1Ve8VTyHNi5C/X25eWi/yWJ7pgQvPIps+Lw1qizn8o3onjO1wdbz7DoaM5RzNAK1RFaL5Wq6RkebA65o6RL9mkwey+6oZF9qaQcn3ZvYBDaJ4+zKGEOY5R7wRe90Uvzzilw5P0209GIc0eH9doLI/MxDZ1mUCzwVwm2muuLwAAAADM4RcIAADA9UXwm5rXvsm74E0Xx70Bg4mSVXNL1V7xFPKcGPkn6O5EvcGgqmeiC0b1Qh4Nn8NaS/O0MOeOg7NIasabzHD0aM7RDNDiUr3A5X15njrmjpEv2aTB7L7qhkVeTiEN5Ll7GYfQMIXPcyhhjmNIM65khkRdqzPJpHR4kn77xGWGYnlkJu8kIJ8TaWivub4AAAAAMIdfIAAAANdXwG9qXvsm74I3XRz3BgwmSlZNLNW6xFPIc3Tkn6PbFPVOJxI4JLTP6h3ZaPjB0WNUHebQcXAWo+p48xkOHc05mrFYYVErn/puLwvpmDtGvpTZl6+6YZHJKaSZPHcv5hx1nkMJcxxDmnElMyTqWp1JJqXDk/TbJy4zFMsjMxlNwFpO5KC95voCAAAAwBx+gQAAAExe6eY1x09OuunieGJJQa2vmliqdYmnkOfoyL9L9yuKLffKAxNdMKH5Jzp9XhzWEkWYo8fBWQxpxpvMcPRoDhFEaqRKSrSBvSykY+4Y+VJmX77qhkXKFPJMzqKNxe5VHaIOf+I4OIuk5l9vMkOirtWZZFI6PEm/feIyQ7E8MpMigd7urCpoE3tkegAAAAC+2fabTQAAgC93w7Vs88o4eY+szZKN8yaWFNT6qomlapfL2eU5OvID9Dau5SKfyUQXjOqFPBo+h7VQHaaWcBab1PHmMxw6mnM0Y7FUhVZJyfLodMwdI1+ySYPZfdUNi9Qp5Cnv+blG2yNQhzkUL2cxajpwoq7NhXl4kn77xGWGYnlkJrap3u6k3PKZ2/sjcwMAAADwzbbfbAIAAHy5G65lm1fGyXtkbZZsnNQbLZ4lqPVVE0vVLpezy3N05MfQ7Ys6gaCqZ6ILRvVCHg2fw1qoCHPuLDiIpGa8yQxHj+YQl5HK+/LEdMwdI1+ySYPZfdUNiyymk2d+xtH2CNRhaonIJMxZjOoFfpkhUdfmwjw8Sb994jJFLAdmYruud+er5nb9yMQAAAAAfLPJXy8AAACPccO1bPPKOHOPbGvLNM7rjRbPEtT6qomlapfL2eU5OvLzaA6ijiKo6iHVG/RCHg2fw1qoCFM/RSbeocYQ9Z9uPsO6L0QRi3zqu70spGPuGPlSZl++6oZF1lNIib4kp9b2u9d5iGb4+YRHzw51tsm084dyjrkwD0/Sb5+4jG3zzEz8jor34mXU87ICAAAA8OW232wCAAB8uRuuZZtXxpl7ZFtbpnFeb7R4lqDWV00sVbtczi7P0ZEfTAMRdSajWQVDYZVeyKPhc1gL1WFqCWexQzOuZOBD53IOi0VeNBx7WUjH3DHypcy+fNUNi5Qp5NmcJaiqaWOxe8GHqMOfOA7OImk6bXKuzYV5eJKyfds7cRmLJZnJwwLxu9Z3/zm32UySAAAAALDQ036qAQAAjNp9Ldu7L87cI9vaMo3z5pYU1PqqiaVql8vZ5Tk68gk0GVGE0ysPTHTBqFXnxWEtpGFaknNnwUEk1XElAx89l0P4POV9eTg65o6RL9mkwey+6oZF6hTylPfmXEFV02h7BOowh+LlLIZMp03OtbkwT06y2DtxKb/Hy/0+MpAigeJllI4mHpYSAAAAgK+1/WYTAADgy+2+uW7eFycvkW1tyfZJvdHiWYJaXzWxVO1yObs8R0c+Si8iLRf59Ca6YFR8XqOHxUm9r/6zH8q27o5AM65k4EPncgIJRNOwl4V0zB0jX8rsy1fdsMhiOnk2ZwyqmkbbI1CHORQvZzGkl7aIMyTnWi9Mkuwp9k5cyu/xcr+PDEQ3JSyEuQ1qx+nuAAAAADCKnx8AAOB0u++smxe+yVtgW9vaW+PeaPEsQa2vmliqdonHl+fosGfSrEQdV1DVM9EFQ3oJjybPSS1UhDl3FhxEUh1XMvDRc3kwiUJDsJeFdMwdI1/K7MtX3bDIegop0Zd66qCqabQ9AhqmT3Io3ro7As24MhkOHcoh6tzySZ4ZY7F34lJ+j5f7fWQgsinb/tzWtON0dwAAAAAYxc8PAABwut231c0L3+QtsK1t7a1xb7R4lqDWV00sVbvE48tzdNjDaWiizm0iT45gt955BefYNNoegeLPfuhfAQcxpBlXMvChc3kkSUC3by8L6Zg7Rr6U2ZevumGR8Urk2awNqppG26NHkxQ+zHy8ze7oaQabTDt/KIeoA8lEdHKMxd6JS/k9Xu73qYHIvuY2pR2nuwMAAADAKH5+AACA0+2+p25e+CZvgXVtYu3yerPHq0r2igdp0i5BR6mS5+iwUJqeKALslQcmumBU76999F/BaHv0FH/2o/8KOIghdVzJwEfP5Ulk77pre1lIx9wx8qXMvnzVDYu8nEIayLPZJqhqGm2PQB3mULycRZ5mJSbSJudCHUgmopNjLPZOXMrvUd5PC+Ryyz3acbo7AAAAAIzi5wcAADjd7hvq5oVv8hZY1ybWLq83e7yqTK94hB7tFfSVKnlOjAxPYxRFkr3ywEQXDFl1WJzUQhqmJTmULQcxpBlXkX9PstmTyJZ1v/aykI65Y+RLmX35qhsWmZxCmsmz2VKrRHKpwVAYVYc5FC9nMWQ6bXIuzCV5cozF3uXzMocT4rI9Zjb7pEAyfwBN2nG6OwAAAACM4ucHAAA43e676eaFb/IWWNcm1i6vN3uwqmRV0CygveIp5DkxMpp6eWq5yEc90QVDegmPJs9JrVInqSUcxA51tskAj8pZNqvbtJeFdMwdI1/K7MtX3bDIoSmksb40u2htcrR4KAypk584Cw4iaTptci7MJXlyjH7vyRyk2eOzsj1mMnlGINO70I7PCAEAAADAT+DnBwAAOF3m5vodzQvf5C2wrk2sXV5v9mBVyaqgWUB7xVPIc2JkBDRVUQcbVPVMdMGQ3r+C0X8dnNQqRfKjwY4e3Mma2SYDPCFn2aNu0F4W0jF3jHwpsy9fdcMi56aQXvJsdgyqmkbbo6dOUktEJl4OYkgv7csAybkwl+TJMfq9k5UayuQBgcgW5tavHae7AwAAAMAofn4AAIDT7b6Sbl74Jm+BN10Z9wYMJkpWzS1Ve8VTyHNiZGRovKJOeCJ5Dmur3mEFh9jDSS1RJz8U7MTBnazONhngs3OW3em+7GUhHXPHyJcy+/JVNyzynSmkrzyb3YOqptH26NEkhQ8zHy8HMaSOKxkgORfmkjw5Rr93slJDmfx0ILL4uZVrx+nuAAAAADCKnx8AAOB0uy+jmxe+yVvgTVfGvQGDiZJVc0vVXvEU8pwYGUM0Z1FE3SsPTHTBkFWHxUmtUiQ5dxCcQkYzq2SAj8xZNqU7speFPphYZl++asf2C+9PISPoSz1OUNU02h4BDdMnWZf0cBBDpqPOn8gh5pI8OUa/d7JSQ5n8aCCy7Lk1a8fp7gAAAAAwip8fAADgdLuvoZsXvslb4E1Xxr0Bg4mSVXNL1V7xFPKcGBlzeoFrucifxUQXDIkPi5O6X5H80EFwCnnNrJJpPyxn2Y5uxF4WSka6Q2ZfvmrH9gsLp5Ch5NkcLahqGm2PnjrJoWw5iLzpqAm50EtSBCmdHKPfeyaHE7IayuQXA5E1TyxYe831BQAAAIAJ/PwAAACn230h2xw/OemmK+PegMFEyaq5pWqveAp5ToyMd2jsok4+qOqZ6IK8XrzTJ8UxvalIfvQgOIW8Oqt82s/IWXahW7CXVXTA5cMmZfblq25Y5/IpZEB5NscMqppG26OnTnIoWw4irxe1iAMk5EIzkMuUTo7R7z2TwwlZFZk8KZDL7TRpr7m+AAAAADCBnx8AAOBoN9w7Ny98k7fAm66MewMGEyWr5paqveIp5DkxMpbQ/EV9BBNHE4yG9/XiHY2dY1ql+DcyFCynkNfMqgi/59dzlvXryu1lFR1w+bBJmX35qhvWuWkKGVZf6sGDqiZtvzuHE9RJDmXLQeQ1s8oESMiFuSRPjtHvPZPDCVnZHp8UiKxzYpHaa64vAAAAAEzg5wcAADjaDTfOzQvf5C3wpivjiSUFtb5qbqnaK55CXyYGx0K9g5g7IO3FmW4SH1Y+9rnDRaGOceggOIW8Oth8ekOH8j1k2bpme1lFB1w+bFJmX77qhnXunkLGl2dziqCqpo3F7kAer05yKNuhUztcM6tMgIRcaP6JXqZ0cox+75kcTshK9jgUyJenMbdC7fX9uwMAAADwGPz8AAAAR8vcR7+peeGbuQW2ta29Mu6NFs8S1PqqiaVql8vZ5anNtGR0FqzVO4iJA+JMd7N/Pvqppk+KY3pTkfzoQXAKSc1gk+mNHsrHyYJ1qfayig64fNikzL581Q3rvCcKmUWezYmCqqbR9uipk8xnqy0FB3GpmVUmakKu1bldJpmJ+qn83jM5PD6roUC+PA1Z3sTatNdcXwAAAACYwM8PAABwtBsumpsXvplbYFvb2ivj3mjxLEGtr5pYqna5nF2evoGWiNHpsFZ9NGrigDjTrXrxjsbOMa2iSVqMxWeMU8irg82nN3QoHyTr1EXayyo64PJhkzL78lU3rPPOKGQufalnDKqatP1tK3+wOsmhbDmIvOmoCbkwkeTJGcrebeOZHB6fld/g5Wa/Ng1Z2MSqtNdcXwAAAACYwM8PAABwtBuumJsXvplbYFvb2ivj3mjxLEGtr5pYqna5nF2ezQZaJUbnxULBKUwcEGe6VS9eLeeYblbEOJrq6KkdqxlsMr3RQ7mfrFDXZi+r6IDLh03K7MtX3bDOj0Qhk8qzOW9QVRtqjECdJAexyXTUhFyYSPLYDIuNZ3J4fFZ+g5eb/cI0ZEkT69Fec30BAAAAYAI/PwAAwNF2Xy73bnszt8C2trVXxnNLCmp91cRStcvl7PKMR9Y2YnQBWCg4hcwhFia6IK8Z78S/I45piSLGoYOYOLVj1X+u+fTqvl9CFqarspdVdMDlwyZl9uWrbljnp6IQMrU8m7MHVTVtLD61kceoY584CE4hYzpqQi5MJHlshsXGMzk8Piu/wcvNflUaspiJlWivub4AAAAAMIGfHwAA4Gi7r5Wbt73JK2Bb29or495o8SxBra+aWKp2uZxdnsmRhxpjEz0FURxErzww0QV5q06KY1qijlFLhk6BI7jU/HNNptfs+1myJF2MvayiAy4fNimzL191wzo/FYWRBcizuYagqmm0PZo0RmFJ1iUBTiGvziqZHiEXJpI8NsNi45kcHp+V36C8/0Qal+ts0l5zfQEAAABgAj8/AADA0XZfKDdve5NXwLa2tVfGvdHiWYJaXzWxVO1yObu+5Aef6IId9CDqU+BMv00v3t4J9nBMSxSxD6XKEeTVf9759Oq+nyIr0WXYyyo64PJhkzL78lU3rPNTURRkGfpSLyaoatL237CpX1cnmc+WU8ibzpmQCxNJHpthsfFMDo/Pyjb4E2nIAuZmf/w5AgAAAPgqX3HtCAAA8Cm7L2SbN8XJ62NbW7J9Um+0eJag1ldNLFW7XM4uT22mJflZJrpgueAUONNvo/EW2U4fE2f0jjr2oVQnTu1MzaCSUX9DyLIGnd1eVtEBlw+blNmXr7phnZ+KokfWI8/mkoKqmjYWX7W7X1THnj8ITiFvOuf8cRxiIsljMyw2Lp+XIWTa/DTbYOav4oNpTE+d2RcAAAAArPLw35AAAACx3ReyzZvi5PWxrk2sXV5v9nhVmV7xCD3aK+grVfIsarVQ5Gec6ILlglPgTL9KL9vRzDmjJYoY506BI7hUB5WP+oMhy9Qyrz5fRYvsGznD5g0W4KtuWOenoojJquTZXFhQ1TTaHk11jEPBcgpJvZxFnB4JF3pJBhEdm6HfeCaExwc1FMin0pB55yZ9/PEBAAAA+CrfeO0IAABwm90Xss2b4uT1sa5NrF1eb/Z4VZle8Qg92ivoK1Wvt1YUVpufeqILlgtOQauGTmeiC5J6JzWaeXDiyCtiHzoFjiCpGVQy6o+ELJPKdPp8FS2yb+QMmzdYgK+6YZ2fiiJD1qYv9QqDqiZt/7U7/RV1jEPBcgpJzaAy6ZFwoQ7kMqJjM/Qbz4Tw+KCGArk/DZlxbrrHHxwAAACAr/K9144AAAA32H0h27wpTl4f69rE2uX1Zo9XlekVj9CjvYK+UiVPrdV3+/SCqp6JLliudwoc6LfReFcdE2f0jiL20VPgCJLqoPJR3xmyzCUT6fNVtMi+kTNs3mABvuqGdX4qiiGySHk21xlU1YYao0djFJZkXRLgFJKaQWXSI+FCHchlRMdm6DeeCeHxQQ0FcmcaMtfcRLpI8eBTAwAAAPA9fuDaEQAAYJ/dt8bNm+Lk9fGmy+Le7MGqklVBs4D2iqeQZ1GrhaLuFVT1THTBcs2DFhzoV+llO5o5Z7SExmgZDqXKESQ1gyqS70k2e4dMoePby0I65o6RMzJb81U3rPNTUUyQpcqzudqgqqaNxa9s/GvVsecPYujITtb8c82kR8KFOpDLiI7N0G88E8LjgxoK5J40ZJa5KbTjdHcAAAAAGMJvDwAAcLTd98XNq97k/e+my+LegMFEyaq5pWqveAp5xrWibhB3bApGwz0uD1TkT4cD3aeXrZZzRneqMxw6hdEjO1YdVPKvN9lsjgyuw9rLQjrmjpEzMlvzVTes81NRTJMF60u97KCqSdv/1va/UB1jPtjRIzvZXM4kXJiIMZPzI/mNZ0J4fFBFIJ9N43IBPdpxujsAAAAADOG3BwAAONpHboqT97+bLot7AwYTJavmlqq94inkeTmyNhNFy155bK4XFgqOIPkn4XGg+zSPYyLwiWNFochw6BQmjuxMzaCSf73JZkNkTB3QXhbSMXeMnJHZmq+6YZ2fiuJ9snJ5NhcfVNWGGqOnjpFT2GE6ZxL2JmI8NkC/8UwIjw/KNvjZNGTkuWG143R3AAAAABjCbw8AAHC03VexzfGTk266LO4NGEyUrJpbqvaKp5BnfmRtL4ouvfLYXC8stONAOc3lVh3T3LHCqzMc+rPnCJLqVJPRrU1YRtNx7GUhHXPHyBmZrfmqG9b5qShWkfXLs7mFoKqmjcVPp/FxdeYTp8ARXJrOmYS9iRiPDdBvPBPC44OSDQ6lsTyK6TG1444lAQAAAECN3x4AAOBcmevjNzWvepP3v5sui3sDBhMlq+aWqr3iKeQ5N7I8645aLobGnOuFhRYeKKe5Ty/b3vH1cEbvKzIcjXT0yM7UTDUZ3ZKEZRAdwV4W0jF3jJyR2ZqvumGdn4piLdmFPJsbCaqaRtujphkKi7EuCXAESXVQyehI2JuI8dgA/cYzITw7qKE0lkchA86Nph2nuwMAAADAEH57AACAcy2/F641r3oz97+2tuWXxb0Bg4mSVXNL1V7xFPKcGFlpd1GPEFQF3lwP3rT2QOf+BpDR/JcyfUYc0DuKDIcinTiyM9WpJqN7M2Hprh3tZSEdc8fIGZmt+aob1vmpKHaQvehLvaOgqknbPyaZT6ljzAfLESRNh0zC3kSMxwboN54J4dlBDaWxMAoZam4c7TjdHQAAAACG8NsDAACca+GNcE/zqjdz/2trW35Z3BswmChZNbdU7RVPIc+JkQs6jqiHCqp6JrpgLQ70J/SCHQ2cA3pfkeHcEZB/rJlqMrq5hKWXdrGXhXTMHSNnZLbmq25Y56ei2Eo2Jc/mvoKq2lBj9NQx5oPVloJTiE2HnD+LE0zEeGyAfuOZEJ4d1FAaS6KQQeZG0I7T3QEAAABgCL89AADAuZbcBceaV72Z+19b2/LL4oklBbW+am6p2iueQp4TI/fogKIeM6jqmeiCtS4PdOhoONBNesGOnhEH9L4i86FIyT+p/sNORjeasLTXlvaykI65Y+SMzNZ81Q3r/FQUN5CtybO5u6Cqpo3FU4O6R535xClwBLFeyCKOjni9XoxBPscGKBu3XWdCeHZQfneXO30zCuk+11c7TncHAAAAgCH89gAAAOd68xY4o3nVm7n/tbWtvSzujRbPEtT6qrmlaq94CnlOjHxJRxb14EFVz0QXrNU7grmj0V6c5nLNYCfOiAN6U535UKTkn9FMKRldvpm2sZeFdMwdI2dktuarbljnp6K4jWxQX+ptBlVN2v7Zce1WZziUKkeQ0UwpEx3xenUal/mcGWCx60wIzw7K7+5yp9NRSMe5ALXjdHcAAAAAGMJvDwAAcK7p+9+85lVv5v7X1rb2srg3WjxLUOur5pYqveQZzy7PiZHzdApRzxJU9Ux0wVq9vxlO83v0gh0NnAN6X5HhUKTkn9FMKRndZTNpoFX2spCOuWPkjMzWfNUN6/xUFPeTncqzudmgqjbUGE2aobAYOYLlmilloiNer07jMp8zAyx2nQlB2jw4JZ/A5U4zcRWm09OO090BAAAAYAi/PQAAwLkmbn6HNO95k5e/tra1l8W90eJZglpfNbFU7XI5uzxHR56jc4l6uqCqZ6ILFuI0f0IvWC3ngO5UZD50BOSf0Yw0mXOvmZRrob0spGPuGDkjszVfdcM6PxXFp8h+5dncclBV08biqPSWKzIfSnXovI7VjDQTHfF6dRqX+ZwZYLFrUrINZnYqbYaiGG2vtNdcXwAAAAAYxW8PAABwrsy98Dua97zJy19b29rL4t5o8SxBra+aWKp2uZxdnqMjv0knFfW8QVXPRBcsdHmaQ+fCaW7SPIuJtCfOFF6R+egRkP+lZqTJnOtmUqLv9rKQjrlj5IzM1nzVDev8VBSfJbvWl3rvWpXPZLQ9anWG+VTJP2kuZOL1JjI8M8Bi1/IZJ/D4lCyBy50ORXEZbJP2musLAAAAAKP47QEAAM41dOE7oXnPm7z8tbWtvSzujRbPEtT6qomlapfL2eU5OvIqOruoFzCxsGA03KCX/9y5TPwB4NKqM5o7U3jFX/jQHzz5ZzQjTeZszfzL8rR1zB0jZ9i8wQJ81Q3r/FQUX0K2L886AS0XyXB64yCvzjCf6uh5HWsuZOL1JjLMhPw8fteZBJ6d0lAaySik2URc2muuLwAAAACM4rcHAAA4V/Kqd1rznjd5+WtrW3tZ3BstniXZa2Kp2uVydnmOjrycLkMUK+mVx+Z6YZXeH9XEuXCUm/SCHQ2cA3pTEeBc/oQfaEaazNnHK+/Lc9Yxd4ycYfMGC/BVN6zzU1F8FQlBns0cgqraUGM01RlyBMtNh0y8ZiLDM9Pzu84k8OyUhtLINJgISnvN9QUAAACAUfz2AAAA57q85H1T8543efmraxNrl9ebPV5Vplc8Qo/2upxdnhODb6LrEcWSeuWxuV5YIgh/4lw4yk002N4ZjR4QpzOtCHDoD36o8bGaf6Lx362vlffl8eqYO0bOsHmDBfiqG9b5qSi+kEQhz2YaQVVNGwuCnVZnOHEE5B+rU0rmRrxmIsMz0/O7ziTw7JSG0ggaSNVERNprri8AAAAAjOK3BwAAONfl/e+bmve8yctfXZtYu7ze7PGqMr3iEXq0V9BXquQ5MfINdG2iWF6vPPbNO3284MgmTnPuDwCxXqqjaXM6b6oD1JKh/Ak/0PwT7f3d+jzlfXmwOuaOkTNs3mABvuqGdX4qiq8lgehLHUtQ1aTtifcdRYZDR0D+GXVKydyI10xkeGZ6fteZBJ6d0lAazQZSOBGO9prrCwAAAACj+O0BAADOdXnz+6bmPW/y8lfXJtYurzd7vKpMr3iEHu0V9JUqeU6MfCddpCjW2SsPTHTBQkH+E3+KnOYOvVRH0+Z03lQEOJQn4WdoSkVEvlDe5UWf9vlPo3WKKW6W2ZqvumGdn4ri+0ky8myGE1TVhhqjqc4wnyr5Z0wnTLxmIsMz0/O7ziTw7JSKNIaiuGzfpL3m+gIAAADAKH57AACAcxVXuss173mTl7+6NrF2eb3Z41VlesUj9GivoK9UyXNi5I/orVbLRX4jE12wUC//uXPp/WHgHb1UR9PmdN5UBDiUpzYW5N/TjMiHLO/Fy0I65o6RMzJb81U3rPNTUfwKyUeezYiCqtpQYzTVGeZT1ZaCIwj0EhZxbvmDeLxehkE4Z6bnd51J4Nkp2e6SUVhuE4For7m+AAAAADCK3x4AAOBcmQvfdzTveZOXv5tuinsDxhNles0tVXsFfaVKnhMjf5CuWdTLDqp6Jrpgod5fIEf5JXqpjqbN6bypCHAuf8IP+Ijk3bKyd1+4io65Y+SMzNZ81Q3r/FQUv0VS0pc6q6CqNtQYTZqhD7AuCQw1PlMzokxuZGvqKC7DOTM9v+tMAs9OSXaXicI3m4vi2TECAAAA+CpcOwIAgHNN3+EmNcdPTqrNlq+wN2AwUbJqbqnaK55CnhMjfwNdvKjXH1T1THTBKhzl9+ulOpo2p/MmDdDSG8qT8C/VEUmJvtvLQjrmjpEzMlvzVTes81NR/CiJS57NxIKq2lBj1DRAYRmS/1rNiDK5ka2po7gM58z0/K4zCTw4pUwUUm4N5kJ4cIAAAAAAvg3XjgAA4FA33MM274iTF8faLNk4rzdgMFGyam6p2iueQp4TI38V3YWoNxJU9Ux0wSoc5ffTVHsHxOnco05vKP/RwzqKhOOTsc+ifAkdc8fIGZmt+aob1vmpKH6ahCbPZm5BVW2oMZqKDPVTZFIl/0vNPDO5ka2po7gM58z0/K4zCTw4pTgKKbGque0/ODoAAAAA34ZrRwAAcKgb7mGbd8SZi2NbW6bxkN6AwUTJqrmlaq94CnlOjPyddDui3lFQ1TPRBatcHuXQoXCUy/UinYh64kBhisCH8p84rMeTTIo0rKSuep+OuWPkjMzWfNUN6/xUFA8g0elLHaBWJYMNxkFSHXj+CIYO61hzCZOtmQjwzPT8rjMJPDilXhTyXryMenBoAAAAAL4N144AAOBQN9zDNu+IMxfHtrZM4yG9AYOJklVzS9Ve8RTynBj5y+m+RL21oKpnogtW6f2Jzh1KbzRM6x3E6AHNHShM8bc99Kc+1PjBJIc6BCts1r5Jx9wxckZma77qhnV+KoonkQzlWceo5SKZcG8cJNUB5iMl/Iy5hMnWTAR4Znp+15kEHpxSHYX/nNtyMQ4AAAAA7MO1IwAAONQN19bNO+LMxbGtLdN4SG/AYKJk1dxStVc8hTwnRv4VukFR73Fi78Fo2OryHEX+UDjHHXqpajmnc48ivaEwD09ett/cuJX3GrxDx9wxckZma77qhnV+KornkSTl2QwzqKoNNUatDjAfqbYU5B+YSzh/Co83EeCZ6cmubcuZBHz7h/Hbt21O71dHE0+NCwAAAMD34NoRAAAcyt/qbtK8I85cHNvaMo2H9AYMJkpWzS1Ve8VTyHNi5J+jOxXFZnvlsbleeF+Q/MShcI47aKpFpNOnw9HMKdIbCnPisB5Adt3cr5X3GrxDx9wxckZma77qhnV+Koqnkjz1pU5Vq5JpDzVGrT4I8l+rjigTWn0ux5oIMJPwwxRbPjwi3Z3QDcrn3E6143R3AAAAAMjjhwcAADjUDbfVzUvezM2vrW3tNXFvtHiWoNZXzS1Ve8VTyHNi5N+lWxbFrnvlsQMD/BLBeU0cytzpI9CLdDRqjuYdRXpz4Z+QvOy0t02rCtpM0zF3jJyR2ZqvumGdn4ri8SRYedbZarnIxD7UGE3FQUzkT/iBOqJkaGSrJgI8MLpiy/IZb//ZEdn2L3Po0Y7T3QEAAAAgjx8eAADgUDfcUzcveTM3v7a2tdfEvdHiWYJaXzW3VO0VTyHPiZEfQPcuiu33ygMTXbDKwnMUHOVy8QHlc+Zo3lGkPRTm45OXDQZbs9q42Rwdc8fIGZmt+aob1ilTyPMjaZwgiHcoeY7pTXWA+UgJ/9J0vGSrJgI8MDq/5cz2Hx+RbHBud9pxujsAAAAA5PHDAwAAHGr3DXXzhjd57WtrW3tN3BstniWo9VVzS5Ve8oxnl+fEyE+iIYgih155YKILVun9Mc8dSm80TGtGOnE6HM20Ou2hMB+ZvGwq3pE1uGw5QcfcMXJGZmu+6oZ16hTylPfdcx0riHcoeY7pTXWA+UgJ/1IvXhHnRraqF2CQzIHR+S1ntv/giGRrc/vSjtPdAQAAACCPHx4AAOBQu++mmze8yWtfW9vaa+LeaPEsQa2vmluq9JJnPLs8J0Z+JE1DFIH0ygMTXbBEkDzn+A16kY5GzdG8o0hvKMwnJS97udyFtck0HqVj7hg5I7M1X3XDOovp5Ll7xmNpvKJOeCj5YBxk1Gnn8yf8S80wMwnnT+HZ6hwukzkwOr/lzPYfGZFsam5H2nG6OwAAAADk8cMDAAAcavetdPOGN3nta2tbe03cGy2eJaj1VXNLlV7yjGeX58TIz6axiCKZXnlgoguWCJLnHL9BL1It52juUaQ9FP7oSX0h2cLl+q1NpvEoHXPHyBmZrfmqG9ZZTyEl+rJ76mNpwnW8o8n3xkFGnfZQnoQfa+aTCY1gVZ3DZTIHRue3nNn+wyKS7cztRTtOdwcAAACAPH54AACAQ+2+j27e8CavfW1ta6+Je6PFsyR7TSxVu1zOLs/Rkc/Ry0fLRT66iS5YIkh+4u+fc1yueQoTOU+cJlSR9lD4Eyf1JWTlyQ1aLMv3qGPuGDkjszVfdcM645XIc/cCjhXEO5Q8x/SmIkDCX0jzET6iTGgEq+ocLpM5MDq/5cz2HxORbGRuF9pxujsAAAAA5PHDAwAAHGr3TXTzhjd57atrE2uX15s9XlWmVzxCj/a6nF2eE4MfRVMSdVBBVc9EFyzR+2ufO5HeaJjTO4XR05k7Tajir3roj/y3kpfV5velLZNdLAcVd9Ex84tZyE8aLCDZbJXLKaSBvuxeyZmCeLUqGftQY9SKAIf+7An/Uh1RJjSCVRPpHRid33Jm+w+ISLYwt37tON0dAAAAAPL44QEAAA61+w66ecObvPbVtYm1y+vNHq8q0yseoUd7Xc4uz4nBz6RxiTqxoKpnogvexyF+uV6kWs7R3KCIbjTJ0ZO6n6xw6A/JcpjYVJyGjjk38pv8pMECks1WyU8hLeW5ez3H6sWr5SKT/FBj1OpTyP/Z51seay5eglUT6R0Ynd9yZvs/HZEsfm7l2nG6OwAAAADk8cMDAAAcavftc/OGN3ntq2sTa5fXmz1eVaZXPEKP9gr6XjZAj4SmL3V0QVXPRBe8j0P8chppkef00XAuE4q0h8KfOKnbyNqG/n5s+9N70TTq7jrmOyNP85MGC0g2W0WmkGd+ltH2GBLEO5Q8x/SOOr18niR/aS5eglUT6R0Ynd9yZvs/GpEse27N2nG6OwAAAADk8cMDAAAcave9c/OGN3ntq2sTa5fXmz1eVaZXPEKP9gr6SpU8J0aG0QxFHWNQ1TPRBe+7PMSh4+AQ1+rlOZoz5/KO4h9C8RkbanwDWc/QYqz9aMdaHYWO+f7IE/ykwQKSzVbRKeQp7/m5tL3YvbwzBfEOndToscKrTyGfZ3CCUHWYmXjzR/BsE+kdGJ3fcmb7vxiRrHliwdprri8AAAAADOGHBwAAONTuG+fmDW/y2nfTHXFvwHiiTK+5pWqvoK9UyXNiZNQ0TFHnOZFzMBr26cU+dxwc4lrx6eRD5lymFdENJfklscsyRhdgXSb6NmkUfsxVIw/xkwYLSDZbpZhOX/KTapfdizxWL96hk5o4VnjFKQz9zQ81PlCdTyYxbSMOD3YivUy8D+O3nNn+b0Ukq51Yqvaa6wsAAAAAQ/jhAQAATnTDRXPzhjd57bvpjrg3YDxRptfcUrVX0Feq5DkxMgKaqiiC7ZXHOKOP6MXOIX6DZp4TR8O5TCuiG0ryztjtr8JMzCuDaC97UcXnEAtBB3lnqGl+0mAByWarNKeQQnnmp9b2YvdqzxQcx9BJjR4rvCK9ob95ko/V+SQTI1gxkd6BufktZ7b/KxHJOicWqb3m+gIAAADAEH54AACAE91wxdy84c1c+9ralt8R9wYMJkpWzS1Ve8VTyHNiZGRovKJIuFcemOiC9wWxc4gf18tzNGfOZVoR3VCSC2OXoWwQG1b5wX2zIdaxmGhuNKXd5Snv+vLOaHOS20k2W0WmkGdzlqCqZ6ILkladFGf0jjq9fJ4kH+tlK+LQCFb00gtiOTA3v+XM9qXNl+czt0Lt9f27AwAAAPAA/PAAAAAnylxAv6l5w5u59rW1Lb8j7g0YTJSsmluq9oqnkOfEyBiiOYsi6l55YKIL3hfEziF+XC9PLedcblBEPZT8XOzWqxAMIl3mTtY61i/v0EH881VxFz9psIBks1V0CnnKe3MurRL5lQSj4U3BcQzFzhm9o04vnyfJx5r5ZEIjWFGHcBnLgbn5Lf96PrK8ibVpr7m+AAAAADCEHx4AAOBEN9wsN294M9e+trbld8S9AYOJklVzS9Ve8RTynBgZczRwUWTeKw9MdMH7gtgn/jVxiGs1j2Ai5ImjhCiiHk3+MnYb0Ejj5CzSLLmMmvWtX96hg/jnq+IuftJgAVZ1zyKLVelLc16tzS8pHg1v6h3HUOyc0Tvq9HqHUiP5WDPJTLz5I3iwOoTLWA7MzW/5d/ORhU2sSnvN9QUAAACAIfzwAAAAJ7rhTrl5w5u59t23tt7swaqSVUGzgPaKp5DnxMh4kyYvivB75YGJLnjfwhMUHOJCq46GQ5lWRDeUpDXukUGkzdDI1n6On87P/iY/2qoxh/hJgwVY1T2LbM4ihfJszq5VIr+2YDS86fKkkrFzRu8o0iP5VTQc4fPJJEaqog7hMpYDc5Mt2379e9MX5nO55ibtNdcXAAAAAIbwwwMAAJzohtvk5g1v5tp339p6swerSlYFzQLaK55CnhMjYxU9AlGcQq88MNEF7+v9I5o7jt5omNA7gtGQ544Sooi6mbzF69VRSzMt9C/yrFsWrP20Yur3BzS2hYVj5vlJgwVY1T2LjFciz7namrYXN2zqNEG2Q8c0eqbwivSG/uBJPlbnk0mMVMVEdKfl5veb2ftX5SOLmVvJaacMAAAA4FPuuNwEAAD4NjfcwDZvhzNXxvvW1ps9WFWyKmgW0F7xFPKcGBnL6VmI4jh65YGJLnhTkDkn+HGaZxHm9LlwKKMsN8vcy+QpHbWZf5HnUN9pE5Mm2YDvL3KCnzRYgFXds8jLWaSBvjSbae3QOie6IKmXbXyIBQ7oHXV6+TxJPjaXLamKiehOy83vN7P3L8lHljG3htPOFwAAAMCn3HG5CQAA8G1238D2roYzV8ab1ja3pKDWV8WD9GiveAp5ToyMfXqHouUif14TXfCmIHNO8LN6YY6GzKFcsogKc4nJaNrRv/zVXA9oXd5RzPv+gMYGXLLOUX7SYAFWdc8i87NIS3k2G2uVyC84GA1vujypTOwTZwpT5zyaPLH3zGVLqmIiutNy8/vN7P3j+cgC5mY/7WQBAAAAfModl5sAAADfZvcNbPNqOHlfPH2tHOsNG08X1PqquTVrr3gKfZkYHFsFRzNxahz0/S5PcOgsOMGFemGOnguHIiwEb20gMoUOqC/+qQ0KfkmbVrLQ5Xb28ZMGC7CqexY5Oou015dmL63NDxiPhncE2Q4d0+iZwtRHkA+T2GN1PpnESFVMRHdabn6/mb1/MB+Zem5eXbM451gBAAAAfMQdl5sAAADfZvetcfNqePq+OGBXySIevDd7vKqg1lfFg/RIL3nGs8tTGuiLvusLvkRwNBOnxkHfz/6V6aeZOwtOcKHm0Uwk3Dvih7FkvN27lkl1Cv/yV/Oaul7VDx2ELl4WbLu7k580WIBV3bPI6VmkozybfbVK5EcORsObetkOHRMH9I4ivXyYQ2d0oDrJTLb5/B9sIrrTcvP7zez9I/nIpHMz6mrFOQcKAAAA4CPuuNwEAAD4Nrvvi5tXw9P3xUnxpnqzx6sKan1VPEiP9JJnPLs8fQMtERPTYavgaC4PujbRBe+4PD7BCX5EL//Rc5k7x+9ke/E+si9Zic6rL/bUWvHTaetGbF9aeBs/abAAq7pnkW/OIt3lGexFnvnxtb24YeOnCc4if0wc0DuKnIfCzJ/RgepwMnEN5f9UE9Flsn0Sv9/M3m/OR6abm0vXKc45SgAAAAAfccflJgAAwLfZfVPcvBqevi8e0ptltFwle8WD9Egvecazy7O3AH2ZmBdb9Y5m4sg45fsFmXOCn9ULU8ufeii2Wu9LVi5r05X4l7+ah/zB63ZkL7bBO/lJgwVY1T2LXDKLDKIvzaG0dmiWiS7ICIIdypwDmlZHlw+T2AO9YEWcGKn2ogsyOS00v9/M3m/LRyaam0VXKM45RAAAAAAfccflJgAAwLfZfUfcvBqevi8eNTR7vKpMr3iEgHSUZzy7POPBtY2YWwP26R3NxJFxyvcLMteqobPgBBdq5j+R8MQ5bmVb8L75D0YWrMvTF3tKyTcvO8/2Yju9k580WIBV3bPItbPIaPJsDqhVIj9dMBreEZzFUOYc0LQ6unyYxB5ohpNJjFTrBC4zOS00v9/M3m/IR6aYG187TncHAAAAgCR+dQAAgBPtvh1u3u3eduE7NHu8qkyveISAdJRnPLs8k4NrYzG3GOzTO5qJI+OU77fw+AQnuMqqc/nIidik3m/9ScgWbMH6bk8p+che/JLeV2zq/h35SYMFWNU9i9wxi4ypL82RtTY/aTwa3tE7i6HMRw8Ups45HyaxB5rhZBIj1TqBy0xOC83vN7P3rfnI4HMja8fp7gAAAACQxK8OAABwoq33wqJ5t3vbhe/Q7PGqMr3iEXq01+Xs+jI0/lwv3KB3NBNHxinfTzOvA587i95oGNXLfzThuXOM2ZiFB5y7bE13oS/1U5vdae28H9+RnzRYgFXds8its8jg8myOr1UiP3swGt5xeUyZzCcOFKbImdiXaIaTyTaf/1PVCVxmclpofr+ZvUubHeFMD6sdN60KAAAAAAy/OgAAwIkyt8bvaN7tfvbCtzd7vKpMr7l9aa/L2eWpzbRkaKK5XrhB72gmjoxTvlkQOMf3WRpmkeT0oYyeiE3kPfVYZbO2NX2vn1p7p4Xz2lAf3JGfNFhAsVQt3OeGWWQKfWlOpLX5NcSjYVoQ7NAZjR4oTBEdsa9Sh5OJi0h7uYleLKeF5vd7ufcd4ciYcwNqx+nuAAAAAJDErw4AAHCcHXfBhebd7nde+Mar6tX68rl9aa+gb7OBfOrL0IxzvXCD3tFMHBmnfLMgcI7vg3pJjiacOV/vqIOTBGy/+l4/tfZOC+e1oT64Iz9psIBiqVq4yc05yHTybM4YVPVMdEFGL1gtF5nMOZ1pRXTEvkodTiYuIm0mEMdyWmh+v5d7XxuOjDY3lHac7g4AAAAASfzqAAAAx1l7C9zUvNv97IVvb/Z4VZlec/vSXkFfqXq9tQ7LaoemnuuFG/SOZuLIOOWbBYFr1dBBcHyr9JIcOhQbxONoJBYLQd/rp9beSeaV55KpbQsf3JGfNFhAsVQt3ORTOcizOa9WifyqgtHwjstjymQ+caBQdcijsZN501ywRNpMII7ltND8fi/3viocGWduEO043R0AAAAAkvjVAQAAjrPq/jfQvNu988K3nqs3e7yqTK94hB7tFfSVKnlqrb7bpxdUBeZ64Qa9o5k4Mk75Zhp4nfbcQXB8qzTPpY7XSjzCb5KsNJnixT//Gt5K5pXn+1P7TcnzUzvykwYL8KvdvciP5KBkan1pLkBr82uLR8O0INihMxo9UKg6/3ySZB6ow8nERaSagMhHd1pofr+Xe38/HBlhrrt2nO4OAAAAAEn86gAAAMd5/+b3UvNu984L33qu3uzxqjK94hF6tFfQV6rkWdRqoah7BVWBuV64Qe9oJo6MU75TkPbcQWgvzu5NPnx790g4SdKzrPTdP4sGd5J55fn+1H4j8vRbu5OfNFiAX+3uRX4kh4KsQZ7NZWiVyC8yGA3v6AU7FDinM62ILp+kthTEXqtjzASbD//BRqM7LTS/X3mPN/5OOJeD92jH6e4AAAAAkMSvDgAAcJx37nyTmne7t134Ds0erCpZFTQLaK94CnnGtaJuEFQF5nrhBr2/hIkj6w2FHYIDmj478dnjs2V43/wX1Vyw4F/BNIlU0yte6vKbFcuYU+xiyZhz/KTBAqzqhkV+JIcmWYm+NNejtfmljrZHUi/Y+PgKnM60IrqhJIm9p05GS0QQF3mKXnS9WE4LTfarm81sfC4cm2KUdpzuDgAAAABJ/OoAAADHmbvtHdK8273twndo9mBVyaqgWUB7xVPI83JkbSbqlkFVYK4Xdlt40BzxzS7Pbugg7j8+m1HYpFLo3/VF3bawQrEM9anFPJgdffFSl9+sWMYE39eP9s6Y0+rF6HvBqm5Y5EdyiMmS5NlclVaJ5JpH2yMpCDY4vgKnM60IeSjJ/AGdppnMZVzkKeoQ4liOCs1vNrPx0XCk/VyS2nG6OwAAAAAk8asDAAAcZ/Sed0Lzbve2C9+h2YNVJauCZgHtFU8hz/zI2l7UXYKqgPUSQx2x1eVBL/mbwQ69wOcO4rbjk4nqKZqFQle1dUm28cLuHKDs6IuXuvxmby7A9yqGmhvwTc311IqlauEmH8khQxYmzyAieeZXPtoeSb1ghwLndObUueWTJPOeZjKXcWkDcXKkdUpxbpepPonfbGbjQ+FI44kYtddcXwAAAADI41cHAAA4ztAN75zm3e49F769WUbLRbIqaBbQXvEU8pwbWV/qvkFVbLoj9ukdysRhcb4308DrtOcOYvfxyfjNpTan621tjm3N27RNJNnRFy91+T166/mrzPJd6veJAd/XW1LBqm5Y5EdyyJPl6UtzkVqbX388Gqb1DmIo8NHThKpzyydJ5j3NP91MXERaJxBnclRifrOZjSfDkWYTAWqvub4AAAAAkMevDgAAcJzk3e603sXuPRe+o7MHq0pWBc0C2iueQp4TIxsdQdSDBFWx6Y7Yp3coE4fF+d4pSHvuILTX8rOTYZsrbE40vQbbsrd8L3ifHX3xUpffozmvvMszs4yiZbF4/SwK7+EnDRZgVTcs8iM5TJB1yrO5VK0S+Y0Eo2Ha5RllAp84TYg6t9HMCbypDicTF5GO5nZUYn6zmY1ftpEGE9Fpr7m+AAAAAJDHrw4AAHCczM3vO5oXu/fc9gazTKwqOVo8SI/2iqeQ58TINR1K1KMFVbHpjtindygTh8X53ilI+xvOTgZsLqw5vs4eT20r9FatFrvZ0fsXedoJWvk96vWYy5UUDXojXI6zg580WIBV3bDIj+QwTVarL801a21+O6PtkRGc0VDgnM6cIrd8jMHBoY4xE2w+/Kcaze2oxPxmMxsP2kjVRGjaa64vAAAAAOTxqwMAABwnc+f7jubF7j23vcEsE6tKjhYP0qO94inkOTFyQMcU9bBBVWy6I/bpHcrEYXG+dwrS1qqhU1h1djKOjWBjen78ep11lzfXg8+yvwf/Ik87Viu/R70er1ibqct73aWwWbWbnzRYgFXdsMiP5PA+WbY8myvXKpHc12h7JPXOaCjw4KARKHIj8yXqZDJZkedobkcl5jeb2XizjRROxKW95voCAAAAQB6/OgAAwHEyt73vaF7sDt32zl0NB716VfFEyV7xIEravN7+SHvtFfTVLpcjz7H11OP7pQ7NHoyJT+kdysRhcb530rTrqOdO4c2zs+5CRvCfPUWzuXnxneRk9UD9izztlK38HvV6YsVqRV1idMzkyGv5SYMFWNUNi/xIDqvI4vWluQWtze9utD0yglTzgXM0c+rcyPx9c6mS52huRyXmN5vZeNFGPieC0l5zfQEAAAAgj18dAADgOJl73nc0L3aHbntHr4Yvd9QbMJ4o2etykNfbH2npSy47Bg2WsMU0J4pre+Z6YaveoUwcFud7myDquVOY7qXttXuwmNrQRPgJ/u+h+Ydh5feo15OkyxZBLx3z5h0pP2mwAKu6YZEfyWE52YU8mxsJqpq0vXhALN8jSDV/QBzNnDrh0cwJvDaXKnmO5nZUYn6zmY1LG2s8F9FR8QIAAAD4lCfcPAIAAAzZfffavBQeuilONtaNiMvGvQHjiTK9ghGkSl96g8gznl2eQYO1MqsVQ+uZ64WteocycVic722CqOdOQXslu9gUQrv4EiNVNqy8DK0HP8QO17/I00785tOv17OQjnnzjpSfNFiAVd2wyI/ksInsRZ7N7WiVyG82GA3TeqkOpc3RTKj/CeRjJPCeOplMVuQ5mttRifnNXsZizebCOSpYAAAAAJ/ynJtHAACApN13r81L4aGb4ulr5Z7egPFEmV5xm2B8qZJnr1ZcNthE5xW9fenL0MLmemGr3qFMHBbne5sg6k0HZ228ZntpKeXaPr8G/Bw96OJFnnboVn6Pej0L6Zg370j5SYMFWNUNi/xIDlvJjvSluS+tzW95tD0yeqnGZ1fgaOYUueVjHDqdo9QZZrLKJ/9Uvdx6mRyVmN9sb+NSbg3mYjkqUgAAAACf8rSbRwAAgEu7716bl8JDN8XT18o9vQHjiTK9mm2sMBhfquTZqxWXDXbTBYjmGuLanrle2Kp3KBOHpV043BsEpzNxCjZaLTmOjCAt9fkqwkPZKfsXedrR3/xnUK9nIR3z5h0pP2mwAKu6YZEfyeEesjV5NnenVSK599H2yAhSDc6ukG8Jr8ht6C+czJuasVxmRZh1AnEmRyXmN9sMyqrmAtExxSF5AgAAAPiIx948AgAANNWXucs1L4WHboqnr5V7egPGE2V6Ndto4eXg8nynwW10JaK5mLi2Z64Xtuodyuhhcbh30rTrqONTsFpv+rxkNOmrz1cRnssO2r/I007/5r+Eej0L6Zg370j5SYMFWNUNi/xIDneSDepLc5tam09gtD0yeqnm045PGT11wqOZE3ihGctlVoRZJxBnclRifrPFe/EySkcThyQJAAAA4CMefvMIAABQ8Ne4mzQvhZM3xdos2TivN2A8UaZX3cZKLgeX5zsN7qdLEs1VxbU9c72wVe9vb/RvksO9jY/a3gNrT2T0DwM/TY5bz9q/yNP+AKz8HvV6FtIxb96R8pMGC7CqGxb5kRw+QnYqz+Zmg6ombS8Oie4evVMYSnv0KCHq0PIxEnhT84/2Mqtmr6PUEcWhXUb6JH6zxZ+KfM6FUIwDAAAAADuccvMIAACgbri5bl4KJ2+KtVmycV5vwHiiTK+6jZZkRg7aZAb5IFmYvjSXF9f2zPXCPr0TmTgpDncri7d2Q+Ayu8yiz1cRHs3O2r/I0/4Abv5jqNezkI55846UnzRYgFXdsMiP5PBBsl99qXcdVPVol6MC3C2INJ825zKh/vsn8PfVyWSyOjzP0dCOistvVt6Ll1E6mjgkPQAAAAAfcdbNIwAAwA131s1L4eRNsTZLNs7rDRhPlOlVtLHPzMhBm8sGX0JWqC/Ndca1PXO9sE/vRCZOisNdS/P0YUqJfOrzVbRZvQY8m/11+Rd52t/AnX9+ol7PQjrmzTtSftJgAVZ1wyI/ksM3kI3Ls7n3oKpptD0uaaSiTjWfdjAIAkXCo4GTdq1OJpPV4XmOhnZUXLpZofuVz7mNa8fp7gAAAACQwU8OAABwlhtuq5u3usmr3k33wr0B44kyvYo2+hkPKy6bSZU840G+ii5YNNcc1/bM9cI+vROZOCkO932SYX0QUlKX73P/jPg4f9z2Li/ytPc7/x78GpbPq2PevCPlJw0WYFU3LPIjOXwP2b48mwlolUjmM9oeGb0DCg6uNtQYqggtn6G2FAReqDPMpJpP/pFGQzsqLtms7tReRmnH6e4AAAAAkMFPDgAAcJYb7qmbt7rJq95Ny+vNHq8q06too5/xsOKymVTJMx7kO+nKRXPxcW3PXC/s0zuRiZPicCdoaHX4UqLPV9F+H5kUH2cn7l/kWRTeo17MQjrmzTtSftJgAVZ1wyI/ksO3kRD0pRmF1uZTGm2PS71I44MrcC4TitAI/H11LJmgDg9zNLTT4pL9zm1WO053BwAAAIAMfnIAAICz3HBD3bzVTV71blpeb/ZgVcmqopl+Bn3VZTOpkmc8yJfTLYjmLuLanrle2Kd3IhMnxeEmSVDNiDTAO9PTlfTWgwezQ/cv8iwK71EvZiEd8+YdKT9psACrumGRH8nha0ka8mwGolUiGddoe1wKIg0OrpBvCVOHRuBvmov08DBHQzsnLtnp3Da143R3AAAAAMj439f/CwAAAGCd//ev//nXq+LPq65T2/PqM9gL+7zOozqRV+nISb06cLghiUUien04vXIAwA5//3nV/g8srRJ1VdOrdbo9Lr0CbUXaK6/5luJVilAdmi/RNj35lkepY6lLapk2D1Zvvy7x4loAAAAAwD34P90DAAAANtL/OUTo/yIiXhV/XnWd2p5Xn8Fe2Od1HtWJvEpHTurVgcOtSBQSy+ujEtcud/N0+H76b/b1AZxB/uyV/PHXf/9BVdNoe1zqRerLxau0RVuKy5Ywr8hcaMVnIN/yKHUsvkRoYcG3eRWdpN5+XeLFtQAAAACA3fg/3QMAAFjpf1r/9xzNQpzm738Q+cff/ybyj1fFn1ddp7bn1WewF/Z5nUd1Iq/SkZN6dfi3y6sUFQlHUnp9ADfSf56vD+Bgf/9h1f5PK18lXqV9o+1xqReplouivCnfEqYIrfgM+JbiVXo8H4svEb6wcNng2ert1yVeXAsAAAAA2If/kQMAAJxFr6H3/VcgGb8evFlY02bJxkN6YwZzJavqZlIiz15fpb3iKeQZD/IAuk1Vb9Zqh3KY64V9eicyelKHn6xsv7dxTebmWHQ9warwYP7c7d3+Dm/+q/ALWD6vjnnzjpSfNFiAVd2wyI/k8IskKH1pxqW1+SRH2+NSL9J81PERo6mIdyjD/NGco5nJZVCHJ1lvPw7keXHJjua2ox2nuwMAAABABj85AADAWXbfQTevdJP3vPsuhSdWFdT6qrqZlMgzGFlor3gKecaDPIxuWdS7DqoCc72wT+9ERk/qzJOVXTf3q+W92n0+NS++hB198SJPeQ/+KrSBWPWXU69kIdvU8pEv+UmDBVjVDYv8SA4/TRKTZzM0rRLJSEfb41LvdIaiDo4YTXVi+QxJu9b8c70M6vAk6+3HgTwpLtnL3Ea043R3AAAAAMjgJwcAADjL7tvn5pVu8p5336XwxKp6tUV5b2R5Xg7em0JcjvBgunfRC1YMJTPXC/v0TmT0z37iZK1L09f+hciye2sbDW0JXU+wKjyeP33/9yBPKfFV+mKKXvr+Dhtn1YCejrlj5Et+0mABVnXDIj+SwwNIbvrSTE9r88GOtkcsOJ181BzKqDp20n5THctlUPUpHGU0scs8f4LsYm4L2nG6OwAAAABk8JMDAACcZfe9c/NKN3nPu+9SeGJVvdqivDeyPHuDW21vChGPcAgNQfQSFkMRzfXCPs0TmTimXhcrL/RG/tq/EFlYc0la3qvd51Pz4nv40/d/D/LUQhX/hSz5E7JBloxWsE0tH/mSnzRYgFXdsMiP5PAkEqA8mxkGVU2j7XGpF2k+ag5lQhEaab+pjiUT1Mlhjib261nJ+ucWrx2nuwMAAABABj85AADAWXbfODevdJP3vJsuhXsDxhNlegUjSJW++AZaKCX28lfccNngKM0wVVAVmOuFfZp/8BPHZF1UPaAvKRoLq22u51OKZXufWqcuKVgYHs+ffvH3MPSH8f5fUTH7WlsHj/lJgwVY1Q2L/EgOzyMx6ksdZlDVNNoelzTS3tFkcuZQJhTxjqZN1IU6lkxQJ4c5mthPZyWLn1i59prrCwAAAABJ/OQAAABn2X3X3LzSTd7zbroU7g0YT5TpdTnC6+1fvqP/rF02OJNFWicTVAXmemGT3nEkj0mb9dpIrVX1WhYT+S4fFCyjt5HddElfkg8+xf8B+D8JeUpJ/m/jzT8kP/WraJ2tg8f8pMECrOqGRX4khweTPOXZjDSoahptj1gvTy0Xmag5lFFFYvm0h87lHPVfYOZvMtPmqUYT+9GsZNkTa9Zec30BAAAAIImfHAAA4Cy7r1yb4ycn3XQp3BswnijTa3qp0lGe8ezynBv8BJqPqCMKqgJzvbBJ7zji8uDspIHV+vceGzDTeLfeGrT8Iyv84NT4Hv4PwP9JyFNKhv423vlb8lO/itbZOnjMTxoswKpuWORHcng8SVWezWC1SiRjD4bChCD/fNQcyqg6MdJ+x1yeJyc5mtjPZSULnlit9prrCwAAAABJ/OQAAAAHueFyuXmlm7zn3XQp3BswnijTa3qp0lGe8ezynBv8KBqUqLMKqgJzvbBJ7zh8ubzHh+UbXDb2tPFQl3fIRPqik+q7ai7g5uV5H5waX8X+BoqXib+N6T+n6Rkztg4e85MGC7CqGxb5kRwOIdnqSzNhrU2GHw+FCb388+fCoYyqExtNm6i9OpNMSicnOZrYD2UlS51Yp/aa6wsAAAAASfzkAAAAB7nhWrl5pZu85910KdwbMJ4o02t6qdJRnvHs8pwb/EyamKhDC6oC1ktwEB/XO8TLfynSwNcWn5cux3+T7cvIXMWkzTVrYbNqN5v0I7Pjq/i/Af83KU8pGf3zmPuL8vO+itaZ28gSfkfB7qxqUwLeDVNAQpZnM+egqmm0PWK9PLVcZKLmUEYVieUDJOpanYmWiCCok5PsJdZL4yeykkVOrFB7zfUFAAAAgCR+cgAAgIPccKHcvNJN3vNuuhTuDRhPZIvRT2vpe8UjBHTYeHZ5zg1+uPrITFAVm+6I5YqzkM/gUIrauHHP+6dvI9RsTF1bPVdvzda+WbuVTfqR2fFt6r8HfZn785jo9c50sX0jZ/h5gzVY1Q3r/FQUB5Ko9aUOPKhqGm2P2OXRZHLOt4QqEiPqdzQzuQzq5CTrvcdpfHlWsryJtWmvub4AAAAAkPS/r/8XAAAA+C+7ntaraqVV+FpyWOp1YO7IXhXjp/nqxp/BF3idxL9n8SpNkMbS6/UxYqKXrs1ooY3zz+r/pSVKWtaFwK+QP137a1fFZ0Y9CHCgv/8o+If8cyj+Rbwq0v8h+Go9/h+aaHql2T+auryWbwlVJOY/hbZpyrc8h8/kVZT4m7xs8GD13usSL679Ubqj1wcAAAAA7MH/10IAAOAgeuW69b//yBT1+M3C2v9n5962NDZ5BA2v7vu/5x6lRBhigxAC4833PgceCiPAEpVJkX+1DnMO9mtNaC+UN6M/5pFljz2DQSdpxealY5PjoCyZNrL8Sgxl25gTAWUhSmV6q2OM/Mv4Q/hMsXT1PENrw6q67mGGUvkqj1eHHzPtb729VF70ltXxQOcjoY3wCRkKnFzLcN3MHuW6xh7yqw37lCW0cUtCfplmvpr20aIYUyGglU9/XUYriHPO/afaP/JHVI9fN0u/nMbzt9vZeGCuZEux/fxy3QEAAADscfnlJgAAwHNsuHKtXgc774h1mHOwX2tCYyF5pY08wNPjpOt2Vx+dFl12yWIFjUVBldkrj33uL50zLMOMtJdv7ZEehy3JbNqj07bmz/3l4LMy/DCVPXPr7aXyoresjgcqT0J5MuUpPbFD4j9d5Yqpa5HrZvYo1zX2kF9t2Ge5ljyvXg4HmnZRzfxQUeypMMrIp78uQxXEOeekesY5J90s/XIaR9P1qFzJZmI70a8Qv1l0AAAAABtcfrkJAADwHBsujqvXwc474ou211rd3pVuJssjc/+5R3g2r+saq+uEnqkQcy5iyX7bEov6WYd0yY+5kTttOaTq8NYefKB7ODiH5zlbkx8GGMPk2ZrKE7VZ3lJrb/hB51OhjZlD4oydX6jlupk9ynWNPeRXG/Z5WEJ+1MbV6+JAM19Nu/GqanQ8bK18+vNMRUYdMkaqZ5xz0s3SL6dxNF0PyZVsI7YH3b/4zXIDAAAA2ODyy00AAIDn2HBlXL0Odt4RX7S91ur2rg5vdW8id557RLXzQGc+zF/SSYwZsIpdL081z2JRbzT6pXl8poHSL43AbMbI8q09UuXVVTfWM7/2l8/04r/sqVqB0i/P1pyXyltq7Q0/qDwMhxMyc048sfOrtFw3s0e5rrGH/GrDPltLSL88r14dB5p2cc688apqdDxsrd8I/2+KfyTUIWOkesY5J90s6QDxg5kcTVc3mVeTDcRW/+UqAwAAANjj8stNAACA59hwWVy9DnbeEV+0vdbqxq7sV6n171bPPSJ3nufRybtLtN7iCka9hP22JRb1CuWn5bbQLy17SjkPMkADy2c5oEuj0g815YDu4NJhcCs29zsHGMPk2ZqqFSXKwM3yrozt4QeV56E8JNoTPirdY6YDusMCrpvZo1zX2EN+tWGf9hLyVhtXbwMHmvlq2o1XVaPjYWgl0/+b4h8Jdcj5aKrJc+mcE0+WfjaTo+m6MVGydGxd3bP4wfoCAAAA2OPyy00AAIDnuPqauHoX7L8gvmh7rQ0YG3PuWTcs8mBnj7SNJTSk9RaXOterZL9tiUU9UP4QId9S/liyP1OiNPbwTK997JDy7dDkh8GtWM/82l8+04v/klfy1LfnYc7AzfKujO3hB5Xn4XBI5Cnt8GmxT1peIjx/y3Uze5TrGnvIrzbs07mEDJPn1ZvBgaZdnDNvvKqiggt16+LJMxUZck6XM4FGsX5WLJnOhH/PaLpuSZQsGltRdyt+sLIAAAAA9vjf9P8CAAAAg/7vX//zr/RzuydF4qlStYoKphd/0rvG25YUMxh1qbSPf6Vekw7TD8k/Ku3MUm+bxMqw/Ey9bhqYfrjVc3YC3K78dc5tbUz+mpQz4/mkXloylXpxMU27OKc9vai9qioHi9SLEE2mOCez1X/mHwlRpkscenRMlQ4T3ZG/45yQc8+ZZ8wnnT/83FOy3z6Q7Da1AAAAAOAC/LcWAADwQ/Re+Lp//5H5z5NXO890mHPwkNacxlrhbUhgav2b59wjP+q05VNfHWhI6y02KyuojZL9tiUWFZPX8sj7qUbpW3klDX1qv59OOzlPN6Qc4J//MLIV6JxcX5XP9OK/5JU89e15mB1oz3ydctFbNoAnqx4PbUyellb4ksmrrpvZo1zX2EN+tWGfsoQ8R1eJRWGSkXZ9JZxFoYILtZLpL8po+XDIuf88+0f+iHNCPKfxZ9PYSlcrFdsSJQvFVtHAcDgAAAAAdPF/dQ8AAOAXXXTvLHNmsoTIndrG62j5hBZUpBd/0rvG25YUMxjlkaYrpBf/kkVTqybF/P12ZNKvTx0gbX1qj59EpdbEPEMhsX3CpoVLPwD/VR6P3NbG5Mnh4D2BVmGoEBKSo0TqxcWMtOsrcX5VVQ4WqRchrWRqvzj0n6Vx7vLhkK7Djwb/yB9xToj2iLLzoDvgq84ffu4p2W8BAAAA4BfwP90DAABAxfy9uV7BC27hvyGV89+CivTiT3rXeNuSYgaj0tAaeZtm/C/t19h/pvj3R22c6Ssh4+XH8zO9djuv+2SxbwQg9J8Sh7Y29Kk9AeXMuItUIddRpN4ejRIpjDpukZLe+L0zXp3pYOEcD0NKZS2Zrf4z/0iIQ7oOPxr8I39ENSHVzlJ3wFedP/zcU7LfAgAAAMC38Z9kAADAD9Fb4Ov+/UfmP09e7TzTYc7BQwK7krep5UhXYLAMMzaQJ+zOhnvZlYrV8RyVe7LAwdBJJFAaGp4bhjIqN7pRVTqDyJPEpvJE5TFDS5SDjcChYeUzvfgveSVPfXseZgfaM18qr3vXBvB85dmQtjz1xB4a/7w26ciDMlAX0mfqWuS6mT3KdY095Fcb9ilLyPOwSrXTIxyIMM25OKfdeFVF+RZqJdOfZMox5JAu/VF0E+gf+SOqCemexu6Arzp/uJ2KixIl08bm1MBwOAAAAAB08fcGAAD4IVdftlbndy560XVwa0J7oXIzxgzaKMeUndo40zGeAZ7Z8AR2pYbqmAdn89UvT5TOlhs2HXZ+ptcjVk3VjSoHnAcb4XZg5h8mT30bHmYHyitjwKXyundtAK8gx0Oe+YToj5ke4PRDW/WAlQdP22XPKtfN7HH+Rm0f5Fcb9qlLyFPah7W0U4zuIRyIGdUiKuPVGeVbqJVMf5Ipx5BzurTHkz3/yB9xTkg3RT+bw9FcLU+UTBibTQPD4QAAAADQxd8bAADgVyy/+T2rXuY6b3gvug5uTWgvlN8auyo7zwOkR57nKGG8UucB2iOMKDyBXanz29xTWlvl8jhJWxr6/HtpyYFlwxN4pjMIDc8T/vUN8GygHHMeb8xgB2b+YfLUt+FhdqC8MgZcqlz3rj3gLeSEpNZ//wmQGecnjzyM0f48mzT0+fdymetm9ijXNfaQX23Y52FL2jgs2urv0sCrPwElI+ejdaR8C7WS6U8y5RhySBd5DjsnpJuin83haK4WJkqmis2jgeFwAAAAAOj63/T/AgAAAA16T51++FNeW1evsNdeastsStbK0js8SapTUan04o++kkZ69+9/hjn4G7uGLJEn1HbZ0zU63nDYhrYxT/KZWhvpwUg/AKby912OjZ4c6VRl51kaVPsnqnamH7Cd1kWc66IO/V1llEi9uJKRc30lzq+qysEi9SKkTGbq+tPqP/OPhDik6/CjwT/yR5wTcu456A74qvOHn3tK9lsAAAAA+Ab+p3sAAABo0lvy9INPvlUPxHb93dsnupBI7/AkqUj/LVNupHd//oZfQtaS+fWZuiasmkdoEq62cMMxmvz0Q0O5Q8/4bGgwsI0cyzM5rioNKqQX//6jMvWepEHFMHnqjzoAdynrIlJvu9+mUWIoCjNSxhs5N16d6WDhHA9DK5Nlv0i9Nf6REGW6zj8a/CN/xDkh556DcoBIvT+g/PBWT8l+CwAAAABvx/90DwAAABa9Iten9uiPh7Y0lPwopKEDrqMLCV1XpBd4klSkf4+EtvXVTrK67sG5uu52NKpKpzq4JQl30RymHz7n21+HFil6lZyHsxTz338eitT7p+wXqfdEhwlpG8OwWarKqYKpt1ZxWxklUi+uZOTceFVVjk9dCCkzKVLvv/3i0H+WxlEOn0Ouyh+Fjqnyj/wRZUJaPQc6QBhjPun81eeekv0WAAAAAN6L/+keAAAAOvR+XJ+pq0HG5Mbkfbo/XNZSEqLSC1wp5fokvf5X6r2pKLKuHIz0w6AycGae36S/j+mHntbIoUk2e/LesJYU+kwOQFWK6dHBaa7iIGm/SC/aZ0zGpBaeRMsnDuUrO0Xq7dEoMRSFGSnjtZynF+5ylINF6sU4zaQ4Z7LVf+YfiTJXQn8U+mMaVJPGked/nbNx7jnzjPme81efe0r2WwAAAAB4I/6newAAAOjTy/H8lJ6/q3Lrf8+Uh+lTG366lkpdPRKiUhhX+RdImW3nNr3+l1ZEX+XGBrp02S57bDJSn0NRhjzPktk+pkyIpij9AGwnx+9MjuVZCpiT5vo79iq9OL1Kvf+lA9IPeBitjpZPlJ2i7PQoo0TqxZWMnBuvznSw8AyGrZXJsl+k3ppyZOpCg+ZK5HQdfjT4R/6CczbKHqGdB+WY1PUDzl997inZbwEAAADgXfif7gEAAMBFb8bz/bg00ov//s+kDBqYfmgop5KG0kCh/V0prAgU6R0mHNKoSU4//NGeknRqlLbxMfZvlhTd+asX+w19yKHyfyYeQupVJaU8SzFXSivV/j+7Vn+mb9MPeBgtnziUr+wUqbdHo8RQFGakjNdynl64y1EOFqkX41qZ1H5x6D8rh4nUi4YyXecfDf6Rv+CcDe0RZedBd8Annb/63FOy3x7oyPQDAAAAADyJ6z+yAgAAfIDe0l76Lz+yxHn+aueZDnMO9mtNaC/UjTo0yuffwER65HkecB6ZHUYeSH9qjZcyx44GfsxQHsqEq7I6+taexzPmCnld3W3es4fGCg3UhvYElBuYnE0nST805DHVwcYMh1fOkcYwIW/lqQPsCeVZHeaZXxhjLpW3Z+8TN8qHpPT8YrXOdrVfO5d/lJ5qfaaujcp1jT3kVxv2Ob+EzKCNwzzaPzp5azZcx6jUaBFjRcdZK5P+DFMLv0OuSHJMNRvdFP1mDs9fbefBkyUZE0ijRsViAQAAAMCDvzcAAMCv8NzkTqpe5jpveC/aXmt1e1fG2/xKG+enDlO5X9r66txzoK9UdUCWR9rDzsKBm5WpKIW3bUzYXUsH6EjtzA1DjtIfdzps2LNbpYFCx09+wnkb+uPfy2E6SfqhIY+pDjZmOLxyjjSGCXkrTx3QnTAPKEcaUULeasMYc6nqnnGXfB5Kb6+LftT5Kw79V5xAnfOKmT3KdY095Fcb9rlwCZlKnofZtFOMrlKdDdcxKjVaRGq3SiuT/gxTC79DrvRH0c0eSS5V89ZN0W/m8PzVdh6quc3kbSCBGhWLBQAAAAAP/t4AAAC/wr7hnde6yXXe8F60vdiuPG/Lp3bK8xCVx0g7vzoEHpSDtZ1/bHEOOwsHXiFvptRNkUf5mdVVlDFhuaK0dR7PBsrAnfImpV1u++9lh0YJnSE/tXNU3kOeSn/8eznMs5M8pjXY2W+sVb4yhgl9Wz7TixN5K08dcBhpBHpmvlpe/d5t/BRJdWr914fznz/58I1lKpZ/vh7puw52ua6xh/xqwz6XLyETauMwrfaPrtWaDdcxKjVURGq3SiuT/gxTC79zrrSHJI86562bSWeqP2ZVoqQzkDqNisUCAAAAgAd/bwAAgF/RvdudVL3J9V/vXrS91gbsjXW3rQPKPeeeHFj2nPvLRkk65Xno1051DsnyMGNMVThwUuu7pL+7E421h5XfVa4l/F+qmzk/0+s2XdG/0EJ5n9L2b1hplMiBQ+EHhz3kH/9eDvPsJI9pDfb3O0e2hgl9lQfERvqjblHdM1aRrKZW4ZfznBNySIL2r82MHum7Dna5rrGH/GrDPq9bQmaW52Fy7RSji1Znw3WMSo0Wkdqt0sqkP8PUwu+QK5Icc85GNz+/mcD5RMmPsaT9ZsIBAAAAbHP55SYAAMBDXH3ZWr0F9l8NX7S91gaMjTn3rMPKbZdt/VEH5Kf2i/zjoV9IjzwPnSUdICbHVOVAMRo7xPhMeeVf+jxP+QlK3uqcQzOrQ6BO7pxkaPBaedvSLvfvoVEiBw6FHxz2kH/8eznMs5M8pjXYmOTwyjnSGCb0bflML07krTzP0w5F7Vduz94qbFrKA/LZktN13fHTCe861eW6xh7yqw37vHoJmV8bh1Va/bZYFGZozqsJN16dDQ2GoZVJf4aphd8hVyQ55pyNbn5+M4GxROnb3Bj1m6kGAAAAsM3/pv8XAAAA99GL4Hf5v9N/0c+34eo8INNXZcNPQtQ/a/xJLwpphDmmKoX9SZGrS6Nz6hKpq6Cv0g8NOoM69+SZ81M7/waOkcDU+qM/OqcaGnyF2FcfPvkKWpH0w5VaC23bQEB1b90N3/tFT87nM0m6qiSTZykGJylBf8dPaI828FJaUJFrqlLvqd+WYgajMKNMuEi9f4xXZ0ODYWhlstV/Vo5MXWg45Orwo8E/8hecs3HuOegO+KTzV597LnL1/AAAAAB+VvA/4wEAALyOXrNe9y8/Mv958mrnmQ5zDh7SmtNYa2gb9s5zf3VANVZ+lGd1thYNUa3APGZoZjUTe3D42IPq2/LrVHcbOk+eLc/QDTyozuOcZGjwcnn1wyd0aaAKhJ/phIepwhN6AssxrfHGPJ5w5Rwpr+Qpb3VMd055nqc1ojzTXq1c/d6dPI1kI7UK5/zkYaQurEz1qjTqYb7rSJfrGnvIrzbsc3MqZDltHBZt9dtiUZihOa8m3Hh1NjQYhlYmnRnWYYJadB1S6k+dsxY/4pyNbn5+M4HOREmn9uTGKJ1W/FqGAQAAAOzB/9U9AACAnxO+sG6R2fJddlZdRToz/TE/w2SV7G/if6R3/0qviwEivetJke3JnSRQJkk/nJzf/i31T+dBet0gIan1J//YDbTpPM5JDnvYTJOWfjj96DGZq8+QPMyXciiZOjgv6tlAHjO/1bAliXo7ycCZZEakEX+JKn/MtF9oVOrFiJTB//4GfYN8jn7Xr9GCir9fi39U+7WzK8XwW7aRkXDj1Vk5WKRejCszmbr+tPoPdJjojkSZKKE/Cv0xDaoph4nU+6vKbLR6DsoBIvV+XfnVrR4AAAAAeD7+p3sAAOCH/N9P/tffS+m1eG5U78e1U9/+c4/+R3pS69//qYH6J2BCmrH9Hy3S6z9phHvRFDYeKGSwBKYfTs5vtccIMUiUhudpA/NIrD5jexDhwO/RZO6hdU8/jPOHlyPtKH1bPtMLt26UDEitu8U+8F3kA8/kw7M07l+p9y8zIvXWlMNE6sUISWBq4Sv090Icfi/KTpF6e2JRCDMSbrw608HCMxiGVhpb/Wf+kT9OEyVyrg4/tugw0R35C86pKHuEdpZ0gGgN+KTzJ597AAAAAODJ4v8pDgAA4EX0xvbSf/ORJc7zVzvPdJhz8JDArgLbKPcvT+3Mk1QnbK2i4dVXMXk/ojXtec9OnslF62Oz84BuSJXuRwI1PP/493JMniEwz8y685bs/DCJf4YDnVCtmrAbm8cYg/2vVo2Up7zVMcZIoYOFjvGHGAM2KHdo7/YtNKtn/k+r1iVP253HPxIHS06gTrJkqoC8rr0B57Al7krFgWxDG4fNaP/oDluz4SJGmYYqGCs3Dlrn3/97QSH8Drnyp44kZ9VUdPPzgwk8f3LZI+1YNnQS8VPJBAAAALAN/1f3AAAAMOv/iv9Fjv4o9FVMvhmfp5tRMq1K7/6VXrcHtKSwPylyfOcSIuHphz/nHj/dSX6m3kH6FbEZZtZdK7CTh+x8FfkcLeUQf9TQyNT6Ywfq4DxGG3aI6A6AQVJ3JimtSjEOOj5N9291tFOkXvMkqDSO+rpp0tIP+Bb9pRCHX4qyU6TeHo0SQ1EIK7MtUu8f49XZ0GC0aBrFIY2p1/F7UQ4TqRc1Za7OPxr8Iz+vmopqZ6k74HvOnyw/amPSqnkAAAAA4Iz/6R4AAMBn/c/G/xGV3o8vWe66PcvM6u8m/x/pxb/S6/YAQ4o8xUpDOrXtMTo+yytm4alKgUnOO8HT6EFNP5jskeVbz8g8RhvaPsvD9GnPLA7jb1FusrvhG8nGzmTDZylgWpruLyfK7j9L4xwjgd9R/aXQTlF2epRRIvXiGpptcc52euGrYBo6Xm4ctNLY6j/QYaI7EodEHX40+Ed+XpkKce7UnoPugO/5wU8GAAAA8GoL/mMeAADA8+mN7aX/5iNLnOevdp7pMOdgv9aE9kIz26h+SHXC1irVGVpkWGr9lydW5RlaId0BBk/s4UsPPw4pl9N5wrMdptKG9nSVsdrYLH+7tLUxtJMyMDeGZjjQeUSean5CO/wwoDXensc5iSrfekbKU9o6rDteG4eoszyzMdsG5Qbu3Yym6+ze/Ki8t8NmWv1nOvIJ3/JkkydQwycnCcvr2htwDlvirlQ4yfbkedihdorRnVdnw0WMbA8VIlxulFpp9Kd3qGq/7JBSMhxzzkY3Pz+YwPKTpR37dg0MhwMAAACAjT82AADAT9hwQ129xnXe7V50Edya0F5ochvnbzm0tVEql9MB9visDCwdJvEoF6oG5gGj09rjywHdwQbdnoTrJPnHv5djNFYFpsrhsdXnHTKgP+orjzIwN4ZmODjMk3/8exnh2U85xhhvT+WcRBzedgfLUwaUDWO80JFZa3AeZs92tfxdh/Z1DvlR9ybBqVUyZ95a4cgkReHkaOzMDDPyuvYGnMOWuCsVQ2ST2jhstdVvi0Uhxsj2aCF0PFWb1EqjM72jVftlh5SS4YBz0rppdOb5e+TDY1+tgeFwAAAAALDxxwYAAPgJG+6mq9e4zrvdiy6CWxPaC01uI4eXjb83s/KunDvUdQPfkjdcjS0/pzu5vdXDW3uwrdyzzhOebXKqMlwbm+U9S3t086IM1IZ2Dk1S0tjDtNrWxijPZsox9nj/26F57MFCBshTxmhDnUPOb42Z9VWeWTvvUm7D2PMonfbg9o+dV61a/tjuB/pH/pqZs6exMzPMyOvaG3AOW+KuVMTIbuV53nCr3xaLQoyR7aFCULUlWmn0p5dCOB0SRYYDzqnoJucHsyefHPteDQyHAwAAAICNPzYAAMBP2HArXb3Gdd7tXnQR3JrQXmh+G3kGbchT2tooZ9b+Uuvtob/8sWt0fCnvoTWDPUDfGquXe5vZpyh3olOFJ5ycqgzXxmblnnUzQzvJIWWszvbP63E6jyjnnJywG1uOscd338rTP5U8y8Hlj1U6xnAO7+5B3nqW3iPvZHRLOv7sCR91nfzVh89s9Z/5R/6I0YNXklgJ1Gfq2iiva2/AOWyJu1IxQ/asjcPOW/22WBRijGwPFYKqLdFKoz+9OpIqdB0S5c8bGc7Oqegm56eyJx8b+1INDIcDAAAAgI0/NgAAwE/YcB9dvcZ13u1edBHcmtBeaMk2yi/Kz/TuX/YetHEYo1OlH9x0tkBgVm6+Ok91w/ZuD2/twbbD9vTH+dl0qvzUzq4yXBublXvWzQztJIcc5hmapKQTCp3n0Ph7M8yzn3KMPX7obXdpGSDPcmlttNizVXU3rI3AzBfJGz4kR1VT9JzN36JVRH9x/SO/bSYPEitR+kxdG+V1jQ2Urzbs865ULCGb18bhE7R/9LtiUYgxsj1UCKq2RCuNzvRSBadDovx5I8PZORXd5PxI9uQzY9+ogeFwAAAAALDxxwYAAPgJG26iq9e4zrvdiy6CWxPaC63aRv4o/dE/p4acx09ubOF3aaM6W36rjBXL/cx/mjZ0Ev0xNmG5f5lBNza0vcNm9iv3rJsZ2kkZkts62z+vQw7zlE8dMMoTW47pjrcHyFt5lrNpoxtSsjcwyrNhsWrR8+dkniWMcLE2Mx/TKqW/xDryl5Psz9WBBEqIPlPXRnldYwPlqw37vCsVa8lXyPPwIdophj4wFoUYI9vVmrZQtSVaOXfWgio4HRLlz5uzEL/gnIpucj6fPfnA2NdpYDgcAAAAAGz8sQEAAH7Chjvo6jWu8273oovg1oT2Qgu3EfguGSzP8/glu1o1SWrV6PytryiVm5ncWN6STKJThSfMU4nYbHmG2AaW0D3M7z+H64/aH5BnyBPmpw4Y5YktxzjHy9MYdh6gPVXd5eYZH5VfGWP8zh9eyknIK+qPpfk9oFUFuzrZoUw/SDIw+u0aEghcIq9rbKB8tWGfd6XiCvIt2jh8kfaPfmYsCjGtbLdq2kLV5tm18OSWKjgdEuXMmw4TZPicsW5yPpw9+bTYR2lgOBwAAAAAbPyxAQAAfoLePl/3bz6tO1zn3e5F24vtyrlnJ53NOWdr8MItBaaSkNT6ozssG9rWhqh2npU7KdsB5Yo6VXhCneowz9BsOoOIbWCJ6lfoq64yJD/1lX+Sg3KGcs7whELnST80lGM840V3YzqgNPMVk4yPyq+cH26zJylzkoflzvnVkbWy6s/2b9ZFvlq+V5+pyyEWtUpe19hA+WrDPu9KxaXko+R5+C7tFEPfG4tCTLVwynh1NjQYVa2T7/+NoApOh0T580aGVTUP3eR8L3vyRbHP0cBwOAAAAADY+GMDAAD8hKsvnat3uP6L3Yu219qAvTH/tj10NuecMkye55FXbCn9cKJ7KJWD8w6NrcpTB9ir5Lf2SA9dVOR1w3PqVId5hmbTGURsA0scNi89Q5vJIYd5hiY5WD6nJ/YwphuSB0hDe87KAd0NbGB8VN6kMcZW5kHn0Yb2ZPb8eZLYHlDVyqo/2z9Vl3xEc8NDBw+FLOTZc/lqwz7vSsUG8mnaOHyg9o9+dSwKAa3CCePV2dBgtLROvvM3gio4HfLpTK/wj/y2ah66yflS9uRbYh+igeFwAAAAALD9b/p/AQAAgAvoBXf6oUEGqOo9eKs/7LClv5X/P+nJy0kjt4W81Z7cSC/+lcO1AVzHc8xGj6KO1xBpV+nI55Attb5RN6xv/z6rmQp9e5Ze/5EfZTZtaI+TbkP8TfmP9AITUk5PWU29jmyncT9Tl1/4RoSlX4Z/fx1S77/92ilSb08sCgGaanFOdXpRe3WWhvoGo6WVw1b/gQ4T3ZE/7pClw48G/8hvK/Mgzp3ac9AdAAAAAACYtPi/gwIAADyT3jJf928+Mv958mpn1UXba23A2Jh/z0PKD9R2qew/r75wS+elRZ48L9RaUfuNt/K0Z8jKAd3BXbq0kHl0tpk5yxkCs8lgbYQ3MG/hJ+Rw/VH7Y8pp9cc8v/aP8sQexswsl8kk8pyfZ6Hud+meWzxplKcOO681mpC8GX8IulpZ9Wd7tI6vM3rwZLyM1Gfq2iiva2ygfLVhn3elYj/5Um0cvlf7R5MQi0JAq3BiqArGPHBq5dCf26GS/axDPklvwDkV3eS8PXuy/9jmNTAcDgAAAAA2/tgAAAA/4eor5uodrvNiV/cmlm+vtQFjY849B3Q/Uwcc3gb2kxc606nshVoran81VpUzyLM6JitXKdsxOsP5mV4PmpxNBmsjvIEldBuxTxDV8NFJDi6asxt+GDO5opAZ5Dk5yXKeXemYzP8JefLDDEI7y1eBafVHLNHKqjPbgTq+i//UyUgZps/UtVFe19hA+WrDPu9KxY3kk+V5+GrtFEPZiEUhplo4MVqF1jzws2vRzS0lcDokivSOOqeim5xXZ082H9i5RsViAQAAAKCLPzYAAMBPuPqOtTq/c9HrboFbcxprXbENp+rS/v3IyNSq/VeEPI+9Sms5/wBty7M6LDuMtwd36QznZ3o9SGLlqZPkhn+2WNRy520EvkLoDLnhn6GqnFZ/nJ/WE34YM7OixMpzZsOX0u0ZYjvXjFW//dyZ9+Bca3Q8PFpZ9Wf7w3WRT/N8lA5zDl4ur2tsoHy1YZ93peJ28uHaOHx+q9+mUb+Zyc2MVA9VgZLNa+XQmVsdJqiC7ZBP0jvqnLFuDp1JfhrZdmDPGhWLBQAAAICu/03/LwAAwHfpnTLU966b5Yu0xPpd56/Ln5wbpWpnla5yVvb7Z8PVpBBajlbhDNUixqYq6bTz86BFcmtL4wZJoJ6l1gxlQXWYkE6VXjSk0e7x8Eg5PWU19TqyncZ9sS76UekHoEd/EcThFyH1nvptZYhIvbiAkWrj1dnQYFS1ctjqP9Bhwh6GQ5YOP7boMNEd+XnnPJx7DroDAAAAAABO/E/3AAAAcL//Cf2P6v7+M8E//51Ah1XH50777aFdKvurAw5kfGrhSaR2sdJo0ReWNU+lWwpvTHnCD2PCK2qUhOuPP0gycCDZUOnn/+ZZpReOMqk0OlQjHKScnrKaeh3ZTuO+VRf9nPQD4NP6RWj1GzRE+EMQkxJdS3V64atCGkrJJqQMnnKYeh25dQ77cYcsHX40+Ed+2zkP556D7oBv0G9MPwAAAADAavxP9wAAAB5NL8FL6cXP01Tk/1SgDX2VaX/ZuNSeVfaTj9JsO42Ov4LuYWYnWspD+Pyn6bRC55nfp9NhicCKus/0w+/pZkwGKBmm0gvzVVUa7R4Pj5TTU1ZTryPbady/I1Pva+mHpB8AN/0tEPqLIKr92tlVhojUiwsYqTZenQ0NRlWZw9T1p9V/UA4TqRf/dcjS4cc0qKYcmbp+0jkPZY/QzlI5IHUBAAAAANx++r++AACAH6HXx5f+a48scZ6/2nnmHKbKq/BuVGBXQ5tZpbWosRl9lQdUR5adsQEi9xsD5FmOKXtaytlaM/vlFctGeM7zbNrpnFBHlrF3yTvJz9ypA7rKr8jtsjNMt5E3c/gxwBl7GOZfcX6HP0jSpY1z0vSVP5nGVAhrVcFZnQ8URT7B2Ly+tcdcJ69rbKB8tWGfd6Xi+SQz8jwkRzvFUNJiUQioVk0Zr86GBuOsdeb9iaUEHocsOZNGblU1D3ZyHp462V5sb/pdglMBAAAAYDn+r+4BAAC8yf/90Ua+O/41etue79yrl+9lZ3UAunJ69UcnidKQ3LiLbqB8phduEiXPQ6B2zit3lRuBTSrnBx6G6Y/dQBmgI+WZuuAg6VJ/Of5HevHvq9TrK5xKAY4QdLVS2uo/0GEijXthUXTz6QcgqvqLoJ2i7OxKMYNRCCjzLFLvn/JV6mobGowzTaA45LDsFKm3phyZunByyNLhx5ZymEi9v6fMQ+rq5bB8K1IvAAAAAKCN/+keAADA++hVuD5T14kOSD+8kL3/zV9n5Fk8MM/22fCYDH+scGa0yho7n958ZvJUuefqzB82Lz9qj0q9f1LXv/+okWd6gUF/Of6H5lPY/YYUMBICW0roRHXSuHcWRbedfgAm6G+BOPwWlJ0i9fbEojBK8yzOeS77ReptGBqMqjKHqcss0IFz2I87ZOnwY4sOE92R31YmQZw7taekb0VrAAAAAAAg4z/AAACA79Ob4kv/tUeWOM9f7TxzDjvTwFb4aL8KbyYssH955lfVYYfO7pjqAJH7pSFPe0xuG4NL5eTdwba8Yrl0eFoNzE/pyT/qAA8NFLE9LHT4nPC3aMihPTTPWZ6hbPy9GctbjhLOwNbmq1O1BiNM83zOas6/P+GBENhaKfWn+l1Fkd1W96n9rbdXy+saGyhfbdjnXal4KUmXNg5J0/7RTMaiMMrI81AJqNekVgKdidVhghIYDsn0H1r/yG8756GbmeekTnYS24Z+guAAAAAAAFiO/6t7AAAAb/V/xf8UKXXhJHw1/7OqJ+q9x6zcubZHv0XGy/MwibYn5anKxt+bf5bLtEdoWztLEqXy27/hFhlcHanzKPlRx2gbC2mGNb0i9Rb5Ty98pVTO8ehKCT2lNPU6Up3GvaQous/0A7CI/gqIw29B2SlSb08sCqOMPBuvzsrBqQsjygSK1Ouugg4T9rAfV6ZIlD+mEQ3+kd92zsO556A7AAAAAAB+Gf8ZBgAAfJ/eDl/6rz2yxHn+audaeYnzWq3V7V1t2PPB6D7L/j1jymd6UTjPI09pVweXcmBrZj9dUZSrz0x7mKR86gAPnUSEt7HK+StGv0Xo58zPc1bOrI3c2ZIXzcMO2yinspULdafFRYyEj9aC2i3XSqk/1a8oimzy/IHSc+7fI69rbKB8tWGfd6XiGyR72jjkUPtHExuLwigjz/4StEoPv1a2nVXwF+uXlVnyH1pyq8556Gbm3tTJ6rGldduCogMAAABYjptHAADwfRuuhqv3v+FLYb+8xHmt1ur2rjbs+aC6orF5eeZXxjD/mNYAoa/kKW17zKEhz9b47BwYpisKmSevPjntYc7AhOUM2rhR+QmxzxH6Red5tPNvSITOoA4Tlq9Ua6E8shzg2dt5CZV3om1t4GpGzkfLQfmWa6XUn+onF0X2dv4u6Tn375HXNTZQvtqwz7tS8TGSRnkeMqmdYijDsSiMMvJcrWbL0GCctRLoTCz59zhkidwOOeehm5m7UifrxhbVwHA4AAAAABj4SwMAAHzfhkvh6gXunlvd1g1ya3V7V3v2XKquaGxenvrK2Gr5qjt/a57cLw15tsbIMw/rji+V47uDu/Ki5eozM5cTHp46wEMnEeFtLHT4Iu0Z3dhhkvzUt/ZsedhBjmoNUPbk2Xkz89M6PxALGTkfLQflW66VUn+qn1kU2VW5H/3x0LlNXtfYQPlqwz7vSsUnSTK1cUhpq9+mUVTnaq08D1UtVmJkrQQ6fwvIv8chmeR2yDld3QQ6M7yQrBhbTgPD4QAAAABg4C8NAADwfVdfB7dub/fc6uZVDsvFdrVnz6Xqisbm5amvjK3mV8Y8ub87RhrybI2RZx7WHV8qx3cHd+VFy9VnZtZ5lE6bn6nXIU8S3sZC5SfkDxn9IqEfVU6Vf/x73zS60KS8n+q69tuWWBRmGDkfLQflW66VUn+qn1YU2U/eibbLnp3yusYGzrvV9kXuSsW3SVbleU5sq9+gIYIyXcrI81DVAiVGqZpA/28B+e86pMifMXIrzknopmVn3mSt2EIaGA4HAAAAAAN/aQAAgO+7+iK4envrvNKdv/nNMxymas1srzi/n1HVFT2b3zZGGvJsjZHneSojpKTjc9SkcrYlM0u4NnSS2JyHSe5VfkL+EN1h7KOUzqYN7TkPSK075M1Ut2G/bYlFYYaR89FyUL7lNKWt0njy7B95NdmJbkMb+cfNDtvQzoPy1YZ93pWKXyC51cYhw61+m0ZRrKu18jxUNYo1ya5CN7Hkv+twnv0ZI7finIRDPs/25E1WiS2hgeFwAAAAADDwlwYAAPi+q6+Aq7e3zivd+ZvfPMNhqtbM9orz+xlVXdGz+W1jpCHP6hhRncoOycrx3cFdedGyMTPtYZ7yqQM8dBIxs5NV8ubP36L7tDeZv6VKJ0w//MuecLO8vequ7LctsSjMMHI+Wg7Kt1Yrn/48P6EisgddXRv5x80O29DOg/LVhn3elYqfIknWxiHV2j+U/9ZUWMsojb9qFGtSK4HOEpB/jzKZ/ow5S/Bt1STYmbk6bzJ/bHINDIcDAAAAgIG/NAAAwPfdcvm77Uq3tdBov9q27ay6orF5eeorY0zuXzJGGvKsjhHVqeyQrBzfHdyVF9XZyqcOCFgyp04iZnayyvmL9Me/l/9/q1Wt/Z+jnvClhrzh6j7tty2xKMwwcj5aDsq3Viuf/jzfWxFZXdYtn+nFRnldYwPlqw37vCsVv0myLc9DwrVTDBWiOhXWMkozlH+KNamaQKM6B+S/65AiZ8ZIrKgmwc7MdXmTmWPTamA4HAAAAAAM/KUBAAC+77prX1W9vd12pZsXOqzY2oC9sW3bzqorGtvIr1pjyv6rxwh5JU99m4dpw4hS5YDuYA+ZRBt59clpdcLDbKNzxqIulbck7dxoec62l8sfXv1G+21LLAozjJzrK38tKN9arXz683xXRfLJkcYthyGva2ygfLVhn3el4pdJzrVxyLz2D5WjNRXWapVmKP8Ua5JdhW5WncN+2SFFQ4kVv5zbahLsBDrTO0TmjE2ogeFwAAAAADDwlwYAAPi4K257D6q3t9uudPNChxVbGzA2tm3Ppeqink22xpT9M2NEfiUNebamkmceVk4rz9bM6jDeHuyRF9XZ9Eft0UbAec781AEeS3ayVvld2lP1nA1fqkzC+ZNj5Xtg0T+vlfNALTSE2q3Syqe/NIEizsgblsYtxyCva2ygfLVhn3elAkKSL89D/rVTDNWlOhXWMkozlH+KNaOVPWdWSX7XIUX+jJFbcU6CnRZ9K5bkTWaLzaOB4XAAAAAAMPCXBgAA+Dj7FniJ6u3tnivdcpXDiq0NGBvbs+eD6qKeTbbGlP0zY0R+JQ15tqaSZx5WTivP1sxZuUR3cJcuqmQ2nXNyZp2z3GTZ46dRYmYzKk+Vhec8T5XN7/OljErFiriw9HBq5Xy0FtRuLSOf+sqTZ//ISbKQrKLP1LVRXtfYQPlqwz7vSgUyKYE2DoXQ/qHqtKbCWq3SDOU/UF9krVQ7SzBUqd90SJH/uPpHftg5Cd20LMmbTBKbQQPD4QAAAABg4C8NAADwcUuud23V21vPle78tW+e4TxVYFfz+wkY3Wd+1RpT9s+MEfmVNOTZmkqeeVg5rTxbM2eHkO74rryuzlY+dUDAqjnzPPpjQGsG7Vfd+cvBamZLH5YTNZnwzJgQF9GcGxV01oLardXKpz/PGyoiS8jk+kxdG+V1jQ2Urzbs865U4ExqIc9DObRTDJWpOhXWMpLsz3+svshaqXaWwF+pn1WmyH9cSaw4J6Gblsm8SXgsVgPD4QAAAABg4C8NAADwcZMXux7V21vPle78tW+e4TxVYFfz+wloLWpsRl95Ap2Td4dJQ57VMaJ8W05lR6nDeHuwk64rZDadc35mnfMwYWDaPI/+OMQZq8OEjsw/ZrHVf9khpQf226pACGYYCR+tBbVbq5VPf56vq4jMLHPqM3VtlNc1NlC+2rBPWUKet2QDVVoRcShKq98QCMEoI8lDv1xDg3HQyp4zqyS/65AiEut3TkI3LeG8SWAs2xoYDgcAAAAAA39pAACAjwtf6fpVb289V7qT175l+HmqwK4m9xPTWtTYjL7yBHYnObdL/qnkqW8PIfJsRanDtMYqQ3Se8zO9DpEZtKHzzEyrU8UCjai8w1JgFbTkDFezar+tCoRghpHw0VpQu7Va+fTneXlFZEKZSp+pa6O8rrGB8tWGfeoS8tQfr14OflqUc0Va/YZACEbZ9RKe/A8NxkEre87zT/K7DpkksX7nXHWz50xvSUJiSdbAcDgAAAAAGPhLAwAAfFzgMndU9fbWc6U7ee2bw/0bsFec3E9Ma1FjM/rKGegZ5hwjz+ow0ZqtNXNpdLyHzCNPmUonzD/+vYzTeYRONTN5eEt5D2fzHwinw0k4sN9WBUIww0j4aC2o3Vqaz5m6rKqIzCMz6DN1bZTXNTZQvtqwz8MS8qM8r14UfloRcShKq98QCMEoI8lDv1xDg3FQzZ7//JN82yE//nSR2HMGujkZSpoMjqVXA8PhAAAAAGDgLw0AAPBxQ9e4MdXbW8+V7uS1bw4/z9Oa2V5xcj8xga3qq+6Ac7vkGSP8w+Spbw8h8mxFqcO0xip+uq6S2XTO62aWtvZ35y/DMyOqOj6b/xxMygWq1sJ+W1VWnPpuYNRotHyBcqOlWxdPkv0jqyRcYvWZujbK6xobKF9t2Gd1CenUxtWrw69VFO0fqhT13aBVl6HkB4qLzC5BN6sk33Y4yf50kdhzBg7JPBtKbyC3GhWLBQAAAAAbf2kAAICP81/ghlVvb51XuuGb3zLwPElrWnu58GZmGIvar+TpCXTO3xp26A/MZoRko+M9ZB55ylQ6YfnUAWHnmfXH/MqQV++OVIfd5qhDP25nlyZWOMq9k5Ht0UJQuIVayfQnOVwOCZQQfaaujfK6xgbKVxv2aS8hb7Vx9Tbgp0U5VCRWqepUWMioiz/5seJCtbLnzL+/TD+rTJH/rJLYagbstHiSJmMCWdWoWCwAAAAA2PhLAwAAfJzn6nZS9fbWeaUbvvnNgUOr28uFNzMpsFt5JU/jbfnKM7+9lmeYqI6UhjyNKHGY1l5lSLm6tvOPM/JUSiY89GT5VWvR2K4WfgvWsktDuZ/PyPZoISjcQq1k+pMcKJ+M1Gfq2iiva2ygfLVhn84lZJg8r94M/LQi4lCUQKVaU2GhVl2Gkh8oLrJq9pz5HyrTbzqk13lWncM+rJoBOy3dt4F8alQsFgAAAABs/KUBAAA+zr60XaJ6e+u/0g1c/pYhQ6vbawV2ssQVuy3fOuc3JsyvpCFPY5g880hPSJbHH9qTdHVV7if/6FTOIw5T2ZzrnrfqEYvCBnbFu+ehKhaFGCPbo4XQ8VRtiVby/UVxjpRhMkCfqWujvK6xgfLVhn0OLSGDtXH1ruCnRTlUJFap6lRYyMiwP/mx4kK18uzMv79Mv+mQH7LqpBkQZRLstLTeSn8sk1QBAAAAwEUuv9wEAAC414bb1erNr/86ePTiuBzfih3tV6M7WSW2W2EMKF9tGybkrTZkjLbLxt+bJv8qQ87b0EZ2XugwQNibKcd3t+0ZnMd0ZyvFonA1uy7U+vmMbA8VgqqtpfmcKYo9Ut5Kvz5T10Z5XWMD5asN+5Ql5Dm6ikaJq7cHp1ZFAvWluFczMjxUr0BxoVqpc6aUzNsO+RnKqvjlxJ5zZWevOj6WQPIPAAAA4CKXX24CAADcy77GXaJ68zt0HewcfPgWI6r1yl7IuY3lYrsVMkCenljnEsaK5Stpy9MeqWMOWiHqsPrhx0l5Nt1Ya4elhau35D201uoOqIpF4Wp2Xaj18xnZ1lfOKlC1hZYUpTpSOqVHn6lro7yusYHy1YZ96hLy1B9Hl9PAqzcJv2pFYvWluFdrZXioXpQprJVnZ/6HyvSDDvnxH1T/yK86Z8DOSflW2rHU6STilzMPAAAA4AqXX24CAADcy77AnVe99h29C/aMP4yxQ1pvY1FXk3XlGdiwMAaUr5zDxPxI6U+tf8kw7WzNnDmXGHLYj06Y93N4q+YXHZW30Vq6O6AqFoWr2XWh1s/XyvZoFajaQvNFOYyUH6WhT+3fKa9rbKB8tWGfhyXkR3mOLqpR4urdwqlVkUB9Ke7VjAz760WZZrTy7My/v0y/qcyPP1dk9ZwBIyfyKmc4ljSdXPxyzgEAAABc4fLLTQAAgHsZV7dLVK99R++Cu+MPA0bHZ3Zgd9qLyLryDGxYOT/WmGpoZGq1tTajjdbM6ry0BtpRqrW36oQtnoUu1U1Ud0BVLApXs+tCrZ+vle3RKlC1heaLUo6U9i1FyesaGyhfbdinLCHPwyraKUZXDwfiIgvrW50KC7UyPFQvyhRm57+bUjJvK/Oj7fyjgayeM1DNiXTm3MbSpdOKX842AAAAgCtcfrkJAABwr+ql7ULVa9/Ru2Bj/GH/zs9pTWhvzH67kH5FSdatru7ZkjGmfGVPJW/lqQOqI3VAyZitxd6DMlYv+7v78az1ZPkDW19RZsD/pbEoXM0ud/cwVMWiEKPZPqd6tApUbaHJosgwGaDP1LVRXtfYQPlqwz51CXnqj4flWv1dGnj15uG0sL7hIwEn43fH/2tFmcJaqXMm31+j33TID1l1OmfgnElt58YonVD8cp4BAAAAXOHyy00AAIB7nS9w16pe+47eBbcmkaf2azv/2NXagL0x+21Y3nx2XkXHBPasjDHlK2MVoW9buntwcn6OPM/Dyh3ak3hWeQvPV+cxQ18di8Kl7KJQ6IczUj1aBaq2Srgo8lb69Zm6NsrrGhsoX23Y52EJ+VGe50Vb/TaNEld/BZwW1jd2JOBk/O4MZZ4yhVVTZ9Sl5Bz2sw65dZ5SsnpOVO6RhvbnxijSCwAAAOAil19uAgAA3Oh8b7tc9drXeRect+cc79ea0F5o+TZE/kb9sUWXrm7Asyt7zGEP+uNZd5UlDpsxeD78zD//G+XatT6wO6AqFoVL2UWh0A9npHq0ClRtlW5RDv3SKT36TF0b5XWNDZSvNuyzuoR0auPwqtXfFQ7EFRbWl8peTTN8Tu9Q5luToMvOfzelZN5wSI4/Vz+e1fPnlz3SjmVGA8PhAAAAANDCnxkAAODLzje2y1XvbZ2XuXl7yy9/WxPaC120Dee0MkyegW0rI1zo26wc5tzeQvZWS/6Rav+33CUXtPW93QFVsShcKhdFnOtCoR/OSPVoFajaKq1MHvrlR2noU/t3yusaGyhfbdinvYS81cZhTKu/SwOv/ig42fUdKhOVvZTxG+fPvDEJbK3UOZPvr9EPOuTWn6sfz+rh8+XHnMBYTjQwHA4AAAAALfyZAQAAvuxwV3uF6r2t8zI3b2/55W9rQmOh5XsQ+QP1R5tuoLoN/950xbNWeB7vnH8VXdf/Ud2RQxN+SbeCsRLHonA1oy4U+uEW1k7HU7J5rcyX/dK+JdV5XWMD5asN+3QuIcPkeR7Z6rdplLj66+BUrWOgTFT2aq3fuKHMtyZBVzV1zuSTdluZH2dKxY9nNX++NHLqYtnQwHA4AAAAALTwZwYAAPiyfEurP16hem/rvMzV7YnlO2xtwNiYc89+OuHQtDJYnqM7n5Gn1aXVFQtVGd97YGdGntv2/Fi5gq1UxErcnRa3MOpCoR/OUztPFSjZQprMQyalU3r0mbo2yusaGyhfbdjn0BIyWBuHkFZ/VzgQV7DrO1SjQAj8jF8cf+apUVgrdZ6UGrWDOOTQeUqdw76q/Hxpx/KggeFwAAAAAGjhzwwAAPBlG66nq/e2zstc3Z5Yu8PW6vaunHt2yrMNTauDqyFrt5e11tLGFSseDK2VB5c2bPJdyiy1khMosWda7GeXcqbQVPlqRqqHqkDJVjlkUn6Uhj61f6e8rrGB8tWGfcaWkChtHGJb/V0aePXHwqlajkBxw+cBTq1fHP8vFDUKa6XOmXx/jX7QITmk1E+SEMuABobDAQAAAKCFPzMAAMCXbbiYrt7bOi9zdXti7Q5bq9u7cu7Zo5xqdFoZL8/A/gO6E+pmxNp1z/JCqlzu8EpcvZkv6VYwVuJtBwN+dlECJaPK2xipHqoCJVulzKS0b8lnXtfYQPlqwz4nl5BweZ5naPXbNEpc/dXwaJUjUNzYeYBTK71Dv1DUKKyaOmc+SbvhkJyhlIrfzKp8fuzDNTAcDgAAAAAt/JkBAAC+zHlzPaN6b+u8zNXtibU7bK1u78q5Z488VWBODWkFLtyk8M8mI1Nry3/e2LzcL8gpbeWzO6AqFoVL2UUJlIwqb2OkWl85S0DJlpA0SgL1mbo2yusaGyhfbdjnkiVkEm0cpmr1d4UDcQUtx3xxKeuljPRWK1hFjcKqSXbmk7QbDsmp5rnKP/JL5Ktjn6yB4XAAAAAAaOHPDAAA8GUbbqKr97bOy1zdnli7w9bq9q6ce+4q54nNKVHybAUu3Kc8w9sTS7aBzbrli9WXU/FAdlECJaPK27RSPVoCSjZDsid502fq2iiva2ygfLVhn2uXkNm0cZiz1d+lgVcnAR4Li0tZL9VK71ClqFGMnfxuPkm7oUyOtvOPhl9LqXxv7GM1MBwOAAAAAC38mQEAAL5swx109d7WeZl70c1va0J7oSXbKCcJT6iBrfC1+5SG9ojRaXPs/H6wX7d8sbPBqXgguyiBklHlbVqpHi0BJQuQpEm69Jm6NsrrGhsoX23Y50VLyLTyPM/c6rdplLg6G/BYVVzKeikjvf5KjdYUqpV8Zz5Ju+GQHFJ6IF8a+0wNDIcDAAAAQAt/ZgAAgC/bcPtcvbd1XuZedPPbmtBeaH4b5QyTs2l4a5K1W82kUxujk+dAMbkx7OcpX+BshI8TrmMXhSo/WSvVoyWgZH6SK8mSPlPXRnldYwPlqw37vHQJmVwbhyVa/V3hQCy3sLiU9VKa3nNu/WmnQGHV5Dvz2SocxCE5zlz9QkrlG2MfqIHhcAAAAABo4c8MAADwZRvunav3tp7L3Ly35Te/rQnthea3Uc6warbWPNIvz9gS3VgdIALzz8Tidt3yBeqbQwSn4iHsOs5UmRJfTVN9zvNoCShZl6RIkqPP1LVLuaixAeewVfakQlbRxmGtVn+XBm7YObrs4g7ViLJex8itP+0UKKaVN08+dYwg7WeHBDrP57dTKl8X+y4NDIcDAAAAQAt/ZgAAgC9zXkzPqN7bei5z896W3/y2JrQXmtxGGb7qi3QeeUq7OuHoQuVU2latSTxjWnLsaCCeoFu+WH05FU9jVyRQL0q8h5Hn0RLoeOp1JpmRtOgzde1SLmpswDlslc2pkOXkeV5R+8XQZmJRuEi1uIEaUdbrGLmtlq+KAsW08ubMvL9Av+aQWH+iPplS+ajYF2lgOBwAAAAAWvgzAwAAfNmGi+bqva3nMjfvbfnNb2tCY6HJPZThaz8nz9aaVvrl6VnR2JhOIox5PGOqcqAYjcXtunWPHYzwccJF7IoE6kWJ9zDyPFQC6nUmOZFs6DN17VIuamzAOWyVu1KhjfPS+mp0S8aE2KxVi0BlY4cBHq3cDv0qUaCYat6cmSfnhjI5znyKj6VUPif2LRoYDgcAAACAFv7MAAAAX3b1FXP10tZ5k5v3tvzmtzWhsdDMHsrY5d8iZE55yrS58df9H91XwrMxz+ChCQ9mYnGvbu1ixeVIPI1dkUC9KPEeRp6HSkC9MkmFJEGfqWuXclFjA85hq9ySikxW18ZhD63+Lg288YuQVWsRqGz4MKDLyK3/V8k/EqVW3jz5NAqHQwKd59M57PnkQ2JfoYHhcAAAAABo4c8MAADwZVdfLlcvbZ03uXlvy29+WxOO9nscYpd/SyYzy1Mmz42/7v/QVwex/ZRTtWbwjGnJsbHt4UbduscOBkfiaeyKBOpFifcw8jxUAuolGZBv12fq2qVc1NiAc9gqt6TiTLahjcNmWv22WBSuYFc2UFZqeoVWbv2/Sv6RKLXy5jztzmE/6JCZn8qnfEXgEzQqFgsAAAAABv7MAAAAX3b1tXL10tZ5k5v3tvzmtzXhaL9HGbv8Q85kidRqW76HvKgxs2dMVflFV2cPy3XrHjgYHImnsYs4U2Lqeykjz0Ml+Nl6yYfLJ+szde1SLmpswDlslVtSYZD9yPO8pVa/TaPEo77xN1UrGCgQNb2Okdtq+ar8I1Gq5s2ZTHLecsjMj+RT9h/YvEbFYgEAAADAwJ8ZAADgszbcJlcvbZ03uXl7y29+WxPO7LaqjLXnkbep9a+hRc/hIrztsLwNz5cGtjcTi3t1axcrLkfiUexyBIpFffcw8jxUgl+rl3yvfKk+U9cu5aLGBpzDVrklFV2yK20c9tbq7woHYi27skPVCYTAqZVbf85bhYatmmFnMv3V+TWHBDoT5Uz7A8nOY3vmCAEAAAC4whNvHgEAAJbYcKlavfB13gLn7TnH+7UmnNntWRloTCKv5FldN7WKt2VnSQcYq2xW3fyBZ0xLjn3I98KvW7tYcTkSj2KXI1As6ruHkeehEvxIveQz5QP1mbp2KRc1NuActsotqfCT7WnjsMlWf5cGPvmTf0S1EIGyhk8Culq/LEM5b00Cg515O5lD1fk1ZQL9J9M/8iFkw7HdcngAAAAAXOHRN48AAAAzNlwfVy98nbfAeXvO8U7GbOdX4aUPgfai8jRW0QHK2J6xxL3y/j3fOPoJRnLwcN2ix05F+CzhCnY5AsXKIYISX8cojb5yJj9Q4heRr5Pv0mfq2qVc1NiAc9gqt6QiQPYpz/NWW/02jRKv+PYPaxUiUKDYSUCXUQt/zqlOQCvzzmSS85YyM60kn70on7LV2D792QAAAAAAv3fcPAIAAARsuDiuXvg6b4EvuvM1Vj+8cu6zqoztziMDUqv2sa3wQ393ldvZn6nymMC3zMTiRt2D4Tk5Z5yHR7GLGCsWJd6gleTR5H+yWPJR8jn6TF27lIsaG3AOW+WWVITJbrVx2HOrvysciLW0EOcqtPpbKOh17BqJbs6pTkw1885ktqqGQ2aciXpFPmWTsR3q1wkODAAAAICF3nTzCAAAMGTDlXH1wtd5C3zRna+x+uGVc59nZWB1EulMrYIMaw2ubqO7ypPlDLS2nQeI0U/rTo7H8h8Mf3E5D09jVCS/EpT4UVpJHk2+jv9GpeRb5EP0mbp2KRc1NuActsotqZgn29bGYfOt/i4NfGMqvmRhWSnoRYxa+HNOdQJaSfMkk4S3HDLjTNTD8ynbi+1Nv0twVAAAAAAs9MqbRwAAAI8Nl8XVC1/nLfBFd77G6uUr5ybPDpNo40AH5JE6TNrVRbud1QFvod8ujE/wjKnKgeK9KfpN3aIHTgXn4WnsIs6UmPpeR5N8zvBQ8r9RqVYqNpCl87pl+8A5bJUNS1xK9i/P8ye0+m0aJV6dkw9oFWK0rBT0Oq1a+GtEdQJaSfOknYS3HDLjSaZ4bD5lY7EtcUIAAAAAXOHdN48AAAAG523yjOqFr/MW+KI739bqh37nJg+GJslvpSFPaWvj7DBJOa29xIuU3976Is+Ylhz7jXT9jm7hYpXlPDyKXY5Asajv1YwMDyX/1ZXSzd+yc1k6r1u2D5zDVtmwxAbyFdo4fEurvysciLW0EPNlrc6Dea1aDNWI6gRUk+bMJAlvKTPjz9LT8in7iW1GP0RwNgAAAAAs9IWbRwAAgKoNt8PVC1/nLfBFd76t1ct+XTqw7mESe4Y8QBut8Yd++8dvkI/ShvFpnjFV4UDcq1u4WGU5D49ilyNQLOp7NSPDQ8l/XaVkw7JVfaaujcp1jT04h61yVzYuIp+jjcNHtfq7NPBLKXoju6z+6oSPAbpatfDXaLSaENWkOc85CW8pM+NMpnhOPmUnsW34PxYAAAAA/D518wgAAFDacC9cvfB13gLrMOdgv9aEuT+8bhniCe+Ol055HvpHV3k1zYAwPtMzpioHim+n8WO6hYtVNnyQcAW7HIFiUd+rGRkeSv5bKiX7lB3qM3VtVK5r7ME5bJW7snE1+S55nj9N+8XQV8eisFy1rIHqtI4HJrUS669RoJpoJc1zzkl4yyF7nmQK57BLyR5iG9DAcDgAAAAAVPE3BgAA+KwNN8LVG1vnNe5Fd76tCXN/bN1yvDP2MEx+TK1/nScJrPINZXJaX+0Z05Jjfyel39AtXKCyHIZHsctBfR/IyPBQ8h9eKdmebEyfqWujcl1jD85hq9yVjT3k67Rx/kZ9NfrtxoTYplWF0ZpSzYsYifXXaLSaENWkOTNJwqsOaXlFMmX12NIaGA4HAAAAgCr+xgAAAJ+14S64emPrvMa96M63NeFhuaF1D4OdsdVh0qmN6qvc6Vzik4wUZZ4xVeFA3KtbuEBlc4jgPNzOruBMfSnuRYwMDyX/mZWSXcl+9Jm6NirXNfbgHLbKXdnYTD5TG4ePbfV3aeAvpO7JqlUI1JRqXqSVWH/CA9VENb3OTPpL81MO2XNm6a5kyrqxRTUwHA4AAAAAVfyNAQAAPmvDLXD1xtZ5jXvRnW9rQunXhr4dWrcc7A8MLyGGYr9KkqANIxWeMVU5UJDqF+lWPHYkwgcJy9m1CFSK4l7NyPBQ8h9VKdmMbEOfqWujcl1jD85hq9yVjbvI92rj8NWtflssCmutqinVvMiSAulgSuPXypgnk2S7pcyMM0s6TGzLp6wYW0sDw+EAAAAAUMXfGAAA4LOc18Qzqje2zmvci+58WxNKf2r9y7luOaF/t0PfdRg8FPsLJCGp1a6aZ0xLjiXtL9KtWqysHIbnsGsRqBTFvZqR4aHkP6FSsgdZXZ+pa6NyXWMPzmGr3JWN28mHy/P87a1+m0aJ30zmQ6yqKdW8yHyBRkuJ1mH2ZLIVizJ7/ix5cr6ELBRbRQPD4QAAAABQxd8YAADgs66+9m1d1zqvcS+68zV2lVp/nIuWsw1tNTx4KPAHSX60YWTJM6YqHIgb5aqJauG6A6o4DM9h1yJQKYp7NSPDQ8nXwbeUSZaWdfWZujYq1zX24By2yl3ZeAj5fG0cktDq79LAX07p7RbWlGpeoZVVf4ECpUQ17c5Mtkr24w5pcWZpQzJlidj8GhgOBwAAAIAq/sYAAACfdfWFb/W61nmHm/e2/M63NaH2l8/0ou0wTH5MrUJrHucSohzpj0JZDqMK2hjNqmdyPFC34oEjET5FWM6uBcV9ICPD+sqT+VvKJIvKcvpMXRuV6xp7cA5b5a5sPI3kQRuHbLT6bbEorGXX1F8aqnkFI6v+Ao2WEq2MeTJJtqsOaXFm6dJkyuSxmTUwHA4AAAAAVfyNAQAAPuvSq15Rva513uHmvS2/8z1PeF7Ls+hhTJ4k/5in0p7DhJ4lxHkVTxQOWlXI8gAxmuHu5Hgg/5Hwl5WT8Bx2LSjuA7UyPJT5nWWStWQVfaaujcp1jT04h61yVzYeSxIiz3NOWv02jRIk+UbV2gVKEzsDsLWy6i8QdRnVyq0nk/66/JRDWpxn0jlslEwbm1MDw+EAAAAAUMXfGAAA4JsuuuEtVa9rnXe4eXtr73wPs+kq4rCQZ9HDeHkeZj7McBgzuoTwhMCmVRBGJj1jqsKBuFG3aoGy5hDBYbiXXb6Z4lLZi7QyPJT5DWWSJWRyfaaujcp1jT04h61yVzYeTtKijUNyWv1dGkiqb2TX1F+a8BmAwciqs0DUJaCa26GEk+2DMi1DmRSrkikTxqbSwHA4AAAAAFTxNwYAAPgm5xXwjOp1rfMON29v7Z1vOZsuIc6rdBc9zHOYoRXuGVMaHQ8/yWdqtX8L8pjRzHsmx9N0yx07D+FThLXsQgTKRGWvphk+p3co89eVSWaWOfWZujYq1zX24By2yl3ZeAvJjzYOWWr122JRWEurMF/Q6jyY1MqqP9vUZVQ1Y9op7EyS7aoyLc5MilXJlHlik2hgOBwAAAAAqvgbAwAAfNOqK11D9brWeYebt7f2zjfPpvMLXUIb2nP48eywpfP4PEBfqdxzaLSUA3QeezzCcplaGc4DxGgVupPjabrljp0HTsJD2IUIlInKXspI71Dml5dJJpSp9Jm6NirXNfbgHLbKXdl4HUmUPM+5avXbNEqQ/Lu0SjBaUEp5Bbs6optt6jLKzrmdRs+YH3RIizNL88mUGWLhGhgOBwAAAIAq/sYAAADfNH+Z21W9rnXe4er2xNod6uqHp/SXq5x7ShqVfvjvhGXP+VX1x38Casq30taGMR5LeFIdLgd1fKNu1QJl5SQ8hF0IKvs0RnqHMr+qTDKPzKDP1LVRua6xB+ewVe7KxktJurRxSFqrv0sDKcGNqiUIFJRSXqGVVX+2qcuoasY8adQxgmyXDqlzHkjnsCqJnQkMhwMAAABAFX9jAACAb5q5xnWqXtc673B1e2LtDnX1w1P68yrddTWqbJc9ouw8v5Kn9hxelapRojUey+WcC6NMqTVYmnAgbtT9NQz8ngZCcAX7VzLwC0tlL2Wkdyjzk2WScAnUZ+raqFzX2INz2Cp3ZePtJG/aOGSv1W+LRWEhu6D+ulDKK7Sq4M/2aB1RzZgz4WT77JA6Z4pimZSoWPI1MBwOAAAAAFX8jQEAAL4pdoE7pHpd67zD1e2JtTvMX63bOK9ir6tRh3Z1qtyZxysdVn2lDv15HmlXx+Nqmnxh5N8zpiociLt0SxaoKcfgOexajFaKyl7KSO9Q5mNlkigZr8/UtVG5rrEH57BV7srGZ0gC5XnOYavfplGCotylWrhAXWIHAAajCs5sB+r441oZ8yTcWZRfU6bFmaJWFVpkfCztGhgOBwAAAIAq/sYAAADf5LzhnVG9rnXe4er2xNod5tW1cV7FWDfHquoMeUx+W4YIHV99pcr+3M5Rf924h1ZBtWqRx4wWyzM5HqVb68Bh4Bg8h12+0eIGDgP8jPQOZX50sAzTZ+raqFzX2INz2Cp3ZeNjJI3aOCSz1d+lgZTmLqsKGj4AMLR+O/y/Nf6RUNWMedKoYwTZLpWp85/GoZGBhGtULBYAAAAAWvgbAwAAfJP/xjasel3rvMPV7YmFO8xLl42/N/9/lda6OUSdp8q0p3ymF3+kR57VV6LszCMPbTyBVkS0ipIHiNHCdSfHo3RrHSsox+Ah7EKMlomyXspI71DmdbA9UsbIAH2mro3KdY09OIetclc2vkryqY1DVlv9tlgUFtISnPPf6m8ZHY+u1m+H/7fGPxKqeoydaazG/rgyJ/7T6MmkjImlmjIBAAAAWI6bRwAA8E0brlOrV73O+18d5hzsdJ5T2vI8/KgO6x6iyrfVH8tnevEn90u7+ir9cJpHeg7j8QRaGmFUxzOmKhyIu9gly2+Fv6Ycg4dwFtdZJsp6KSO9/sx3Ky79+kxdG5XrGntwDlvlrmx8niRWnufcar8YSnssCqu08j9aF+p4Bc3qOaWt/jP/SIiZhJPqs0NOnCmyh8nbWJJ1WkGNAAAAAKzCzSMAAPgm52XujOpVr/P+V4c5B3vkqco5pS3Pw4+qXPcQUr4Sh578o85WHXx+dZ5EnnmktrWBZ8qVEq1ihavpmRyP0q114DCEzw/WsgsxWibKeikjvf7MV0dKp/yoz9S1UbmusQfnsFXuysaPkPRq45xkfTWa/FgUVmkVdLQu1HG5VkpbJTujKENaifWkkVSfHfLpTFFrmPTH0nvYBgAAAADM4+YRAAB8k/Mad0b1qtd5/6vDnIM98oTSznNWf1TGmNxWrZ5DoNJOUfYfZsjheRJxmAdP1q1aHiBGK8uReBf/YfAXlDPwEHYhRstEWS9lpFdfedJeTiLt/NTOncp1jT04h61yVzZ+jeRZG4dst/ptsSgspCWYrCZ1XM5IabVkZxRlVDWxnmyT6qoydZ40ivMw6YlllaIAAAAAWI6bRwAA8E3OC9wZ1ate5/2vDnMO7srzSEOeec7qj6JcVGOrrzIdk34oftSo/Kqcqjr+3NaGKMfjLXIFjfJ5xlSFA3GL7q9zoKDdObGHXbvRygZOAvxa6R1Kuw6WkdK4pUzlusYenMNWuSsbP0sSro1D2lv9tlgUVrGr6S/K6Hh0tVLqTzVFGVJNl3YKO42k+qzMiTM/h5BYPnUSQTkAAAAArMLNIwAA+Cbn1e2M6lWv8/5XhzkH2/Ik5zmlLc9yiWpP+WPVYcx5CSWd+uowwIjVwdIux+B1tIiqVco8ZrTWnsnxKHatYychfH6w0NrKUtNLtdLrTLsMkwH6TF0blesae3AOW+WubEAyL89z8lv9No0SVPMW1aqNFoUiLtdKqT/VFGWInXA7h54xv6bMiecoypg8OJZJzyoAAAAAMISbRwAA8E3lBe5Fqle9zvtfHeYcbMtTSfsw53mVPEx/FOXblvOYVpT257eHYdUf5Sntsh+vpgUVrZrmAWK07t3J8Sh2vWIngTPwBM7KOmtETS+l6T3ntltE6ddn6tqoXNfYg3PYKndlA0ryr41DFVr9XRpITW9hV9NfFIq4XCul/lRTlCHVdHlySJ7PDjkxUiSvtD83RunkghIAAAAAWIWbRwAA8E3GXe0SrXte5/2vDnMONuQZpCHPw5znVXSYOIzRtiEPyzOIQ2A5RhqHmQ8/Cp3qPBLfoPVVrfrmMaMHIByIW3TrFSgoZ+AJ7CqM1iiPF5R1LaMW1VfSKT/qM3VtVK5r7ME5bJW7soEDKYQ2DuVo9dtiUVhF8z9ZSoq4XCul/lRXK4uWaro82fZX5HccctLKbX4bSx2ZBwAAALAcN48AAOCbqre0C1Xvef2XvzrSP76lnOc8p7S1cejJP4pyvOE8lTh05qm0Uc5ctjMN15Ha+OvGB2mJRavKeYAYOgnhQNzCfxL81QyEYDm7CpT1OYzElq+knZ/auVO5rrEH57BV7soGWqQi8jwXpdVv0yhBlfdrJX+0lBRxuVYJnKWhIkNa6fJk21mRn1Lm5JAf+TH3x5KmEwpyDgAAAGAVbh4BAMAHHS5nr1C95/Vf/upI//iqHF7OdphTfpTnocf40aazifMSInd2F1V5mL7N84jzYHxDrrJRYs+YqnAg9uv+vgeqyQF4ArsKlPU5jMTqK+mXxi1pL9c19uActspd2YBN6qKNQ3Va/V0aSK1vUU1+oJQUca1WPv2loSJDquny5JA8n5U5yW1p5J5YujQwHA4AAAAAZ/yBAQAAPihfy+qPV6he1Dpvb/P2Jm97NTxPcm5oW57lKuVbcfjRSadV5/DDoq0ljEnyq8De8Ar2EVLhY8D5eRe7XoFqek4XrnZdWanpWtXESqf8qM/UtVG5rrEH57BV7soGnKRA2jiUqdVvi0VhiVWlpIhrGfnUV908U5Eh1ax6Uk2ez8q8HdqxLGlgOBwAAAAAzvgDAwAAfFB5IXuR6kWt8/ZWtydmdpjXKhfV9qFHG+eeUn670Hnpg3InM2PwdkuOShXn513skxCrZvd04WrOslLT25WJlXZ+audO5brGHpzDVpEl5HlLQjCkValYBTVKUPr9VpUyVnq0zNeFivhVc6Wdws4heT7ICZGGpiU3RmlgOBwAAAAAzvgDAwAAfFC+ltUfr1C9qHXe3ur2RHiHeaHzitpTDtD+cljuFIdh4jDhpLyTKn1rj8nyJtfuEM/hKXH4GHB+XqRbrEA1OQC3s0tATZ9DEytZlcYtuS3XNfbgHLaKLiFP/fHq5TCpValwBTWQuu+3qpTh0qNqvi46knJ42Nm2c0ieD8qESDuWGQ0MhwMAAADAGX9gAACAD9pwQ129qHXe3ur2RHiHulBrOZ0/v6oul8fkt1XV+Ye0Nqmqe+sq9zy/QzyQp8SxwyPCgdivW6xANTkAt7NLQE2fQFIqydRn6tqoXNfYg3PYKocl5EdtXL0uJrUqFasgdb+RXUp/RUbHw9bKpzPPrbKiqppVT6qd5fg1kpZYTjQwHA4AAAAAZ/yBAQAAPmjD3XT1otZ5e6vbE7Ed5lVay53nzz1V5TBptwZX1+pqbVLk5Q6LDi2UA2Pbw/N1Szx/eATn5+G6xQr8oyAQgrXssgZ+Q6npKpJJyaE+U9dG5brGHpzDVmktIf3yvHp1zGtVKlZBjRKUfr9qyUYrQgXXauXTn+dqWVFVzZUn1f5y/AhJSCwVGhgOBwAAAIAz/sAAAAAfpLfSl/57TvWi1nl7q9sTsR3qKvZaeYmDashhcDmm3Go5zFj6wNinvjoPKBfVhkdse3gRz8GIHR4RDsR+drECpaT6T7C2rNR0kiRQUqfP1LVRua6xB+ewVewl5K02rt4GJrUqFa6gBlL3/exS+itCBddq5dOZ51ZZcdbKlSfVznJ8nuQhlgQNDIcDAAAAwBl/YAAAgA/acBldvah13t7q9kRgh3mJsvH35j+qM1dHisPgclh+deisjqmSka3N5HlaM/hXOQgH4hU89c1jRg9AOBD72cUK/HMgEILlnGUdrSkFHSJ5k4zpM3VtVK5r7ME5bBXnEjJMG1fvB5NalYpVkLrfSJM/WUcquFa1KKLVf+YfiWquPAkkyZKB2OdrYDgcAAAAAM74AwMAAHzQhmvo6kWt8/Y2fNWbQ6ShPaK6jdT6r9HlRJ6qjD2s3t1MdV2N0lf2DCqPaQ1oCQfiFbr19ZyuqnAg9vMfA38pAyFYyy7BaIEo6BBJlyRKn6lro3JdYw/OYauMLiHjtXH1xjBJK3UuU6yC1P0urcy36tsyOh4Guyiim2fK4VfNlSfV/nJ8j3x77Ks1MBwOAAAAAGf8gQEAAD5IL6Av/fec6kWt8/Y2fNV7CJSG9h+MTutRrlXOn/vPW8o95/1oZ+uVNs6v1HkJp3AgXsFT3+7pagkHYrNupQKlpPq3s0swWiAK6iFZkvzoM3VtVK5r7ME5bBVZQp6BVTRQXL1DzDDKFCt9+MBgUjXzo7+Go+Nha/06OH9NKIdfK1eeVDvL8SXyybHv1cBwOAAAAACc8QcGAAD4oA33ztWLWuftbeyqN0eln++7WK/u4dyZew77zB9i77+6ykFria5wIF6hW19OzuflSolqsQKlpPq3s0swWiAKapDkSFr0mbo2Ktc19uActoouIU/9MbDcTCy2aZUpVj6KfpdVddTxlG+J+aJQDr9qrjwJ/Kkky8fGvlQDw+EAAAAAcMYfGAAA4IM23DhXL2qdt7exq94cJe2hwEvpfkS5pWpnlj/E/xX2hCIPEP5pRTgQr8DJgbCPQfeQnAVCsNbamlLQM8mJZEOfqWujcl1jD85hqxyWkB+1EVhXY6/eMCa1Shwr/cyBwYzWr9vQryHlW2uyKEO1+3HVXHkS+CNJls+MfaMGhsMBAAAA4Iw/MAAAwAdtuGuuXtQ6b28DV715cI7VfuGf5FKHLbW+Lu8/tm3Ph3vGVOXA2N7wZEMnZ/QAcHLewq6U55AcBEKwlrOmowWlmpIKSYI+U9dG5brGHpzDVmktIf3yDKyugeLqnWNSq8Sx0ocPDGa0ft1Gfw0p30KtZDqTPFq7X1bNlSeBn0+yfGDs0zQwHA4AAAAAZ/yBAQAAPkhvmS/995zqRa3z9nb0qjePbC2aWg+4Ve9uRgcs2afnw/OYoRUflVIs1z0V4QMQO2/Yz38G/KWk+vey8z9aHaopGZBv12fq2qhc19iDc9gqsoQ8jc1oI7CNmVhs0ypTrHwU/S52HZ3loHwL2RUR3SQP1e7HVXPlSeBXkyzfFfsoDQyHAwAAAMAZf2AAAIAP2nC5XL2odd7ejl715pHdEBmQWtd/fmr9V3d7MqD7FQF5P62Zw5npzoz38hQ3dgDC5w2bdesbOACxM4NV7PyPVudnqykfLp+sz9S1UbmusQfnsFV0CXnqj8autBHYz0wstmmVKVY+in4XzfxkEauTIKaVTGeSR2v3y6op9eTZWYt3kY+KfdEnswEAAADgRpdfbgIAAOx39UVq9YbXf+2rI53j8zD//ErGp9ZEKspJSoEJdf+jXzHK89V5zNBOPDPjpa47NiIciJ26ZyBQR0p/Lzv/o9X5tWrK98qX6jN1bVSua+zBOWyVwxLyozaM7WkjsLGZWGyjZTrXqNVvi0VhUut3bagcrUkQYFdEdJM8VLtfVk2UJ8/+WryCfE7sQz6WBwAAAAC3u/xyEwAAYL/wDaxTdX7/ojrSOX5ocIuEp1bjcrkcUMqDJzcglnzIkPxRrRXLrx7aVXdmvBfHBnalAnWk9PdaW9AfqaZ8pnygPlPXRuW6xh6cw1ZpLSH98jRW1wEisMOZWOzRqlGsdlT8Lpr5ySJWJ0FMK5nOJFMLp9Yh9yTwG0mWr4h9Qit1AAAAABBz+eUmAADAZhsukas3vP5rXx3pGZ/H+CfvkqlSq1CdvFx0cgMavvArhpSf3NpAHjO0Q8/MeCmODez6BqofOzBYZW1Bv11N+Tr5Ln2mro3KdY09OIetYi8hb7UxOaZFY6/+Rsxo1TdW95nTgjC7iM5aULuFJitCLfyqKfXk2VmLx5L9xzbP6QIAAACw1uWXmwAAAJttuD6u3vD6r339O9Q5/TOvVa47uQf/J19NdyJam8kDxNCGuzPjvfzHZrT6HJtXsMuU3wpnHQMhWMhZ0NFqfqmU8lHyOfpMXRuV6xp7cA5bxbmEDNOGMdgzpiociJ20TOcatfptsShMqqZ99BdwdDwMkxWphuPMyLOdvfdmWHYe27Z+suBcAQAAAFji8stNAACAzTZcHFdveP3Xvs4d5gn9M69VrjuzB4296ytaZD+p1a5FHjO0c8/MeKnukQhXP3bYsJn/APjrSOlvZCd/tDRfKqV8i3yFPlPXRuW6xh6cw1YZXULGa8OI0jGBnXsmx71aNYrVjorfwi6ivxaj49HSyqQzw62C4qCaKE/23phh2XNstxwnAAAAAGtdfrkJAACwmd6iXvovOdUbXue1r/OSN8/mnPYK5dIz29BPvusrPHSHorXJPEAMfUh3ZryU50jEqh8+bNipW6ZA9WMHBkvYyR8tzQdKKZ8gm9dn6tqoXNfYg3PYKuElJFAbxodoIzD/TCz2aNUoVjsqfgtN+2QFqd0qrUz6M1wtKM6qifJk70UZlq3G9qnfKDhIAAAAAJa4/HITAABgsw03xdUbXue1r/OSV2dzznmRcvXwTp7wIX6yz9RqFyiPGfoiz8x4qe6RiJ0ZEQ7ETnaZAkWk7jdyVlN4qvPeUsrOZc/6TF0blesae3AOW2V+CZlBG8YXaSOw0Ews9tAanQsUq11rNlynVanRClK7VVqZdGaYQjhVE+XJ3isyLJuM7VC/TnCEAAAAACxx+eUmAADAZhvuiKs3vM5rX88lb57KOedFytVjO9Goe78iTLatjdbm8wAx9IHdmfFSnJkfZ5cpUETqfqNu8oeq87pSyoZlq/pMXRuV6xp7cA5bZeESMpU2jE/TRmDFmVhsYBRIXw0VjnLfolWpoQpSu1VamXRmmEI4VRPlyZ6OeWx6ZXuxvXFyAAAAAKx1+eUmAADAZhtuh6s3vM5rX88lr07lnPA65QZim9GPvfcr5ulXqNa35DFDH+uZGW/EmflxdnEDRaTuN+om3y73wdDgG8k+ZYf6TF0blesae3AOW+WKJWROeRrT6gARWLo7Oe7VKm6s6DNHBTGrKqjjKdy8ViadGaYQTtVEdbOnA8TTMiwbi21JA8PhAAAAAHDAXxcAAOBruhfH86pXtM572+4lb37lnPAih9UDm9GQe79iOfkcbbQ+Kg8QQx8eDsTDbTgzHJjH8lffX0TqfiM7+UOleXgdZXuyMX2mro3KdY09OIetct0SMrM2jPk9Y6rCgdimVaNY7aj4fnYFnYWgcKu00u4sB4VwqubTk2RnIbaR/cQ2o4HhcAAAAAA44K8LAADwNRuug6tXtM57W/uSN/c7Z7vOYQOB/UiIPO/9iuvo16nWN+YxsdSJr2bvN113Zjgwz9etfqCI1P1GdvKHSvPMOsquZD/6TF0blesae3AOW2XPEtowFvKMqQoHYhut0blArX5bLAozqjkf/dWjcEu00u4vB4XwqGbJk+TnpFd2EtuGBobDAQAAAOCAvy4AAMDXbLgIrl7ROu9t7Ute++1O5R4C+3nOh2wgn5lajYPXHdASDsTD5cq2ytodUMWBeQW7uIHSx04LllhYzUfVUTYj29Bn6tqoXNfYg3PYKjuzIWtpw/h2bQS2NBOLDVoFihWOcu9nV9BZCAq3SivtznIMVe1ntY5rN3utwJ1kD7HVNTAcDgAAAAAH/HUBAAC+pntHPK96Reu8tzUueXOnc6pLlXsY3Y+Of8JX7CdfrY3Wt+cBYjSr2vjBrH4YB+aX2TUKVJCi32hhNfNgcVcpZQ+ytD5T10blusYenMNWuSUbsqg2jCRoI7C3mVhs0CpQrHCUez/N+WT5qpNgVCvtznKMVu1nVY+r5wx7xlxElo6tq4HhcAAAAAA44K8LAADwNRtufqtXtM57W+OS13i1X7mN0S3JeHk+4StupElQrVTkMYH0qh9P8pdwYH6ZXdlABWNHBUs4q/nwUsq6sqI+U9dG5brGHpzDVrkrG0pW14aRDW0ENjkTiw20QOfqtPptsSiEtX6/hgrRmgSjWml3lmOoaj+rmiVP6m5JrywaW1EDw+EAAAAAcMBfFwAA4Gs23PlWr2id97atS97c45znauU2hrakgx/yFQ8h2dBGKyd5gBjKW3dmvJH/wIzWnQPzcMtLn8cLir6ZXaxwKffUUZaThfSZujYq1zX24By2yl3ZOJBtaMNIizYCu9XYJ3wmzlqVjVV85pwgpvr7NVqI6iQY1Uq7M72jVftN1Sx5UueswiqyXGwtDQyHAwAAAMABf10AAICv2XDbW72idd7bVi9584/OSTYodzK0Kxksz4d8xdNoclQrRXnMUA49M+N1uochXPfYMcM23coGKkjR72JnfrQue+ooq8j8+kxdG5XrGnvIr/bs865stMh+5GlsSQeI0W2HA7FHq0CxwlHuzZaUj6qtopkM16IajgMjyUbq/FWYJAvFltDAcDgAAAAAHPDXBQAA+JruRfC86hWt8962eslb7bxXuRn/xh74IY8lWdJGK1d5gBjKZ3dmvI7nMMTqHj5m2MaubKDusaOCeWtLeWkdZXKZVp+pa6NyXWMP+dWefd6VDZvsShvG3jxjqsKB2EMLdK5Oq98Wi0LYkvJRtSUma0EVPKpZ8qTu6vTK/LHJNTAcDgAAAAAH/HUBAAC+5ur70+r8/kXPl7y57Z9kg+oOu2SkPJ/zFa+gSVOt1OUxQ7n1zIzX6R6G2GkR4UDsYRcoUD4qfpe1pbyijjKnzKbP1LVRua6xh/xqzz7vyoaTbE8bxiY9Y6rCgdigVZ1Y1aj1ZkvKR9WWmKwFVfCoZsmTOh1zRW5l5ti0GhgOBwAAAIAD/roAAACfct2tbla9n/Vf2p4vec89T3DeobYNMkyej/qK19EcilYa8wAxlOruzHgdTsvPsgsUqDsVv4uzlPvrKFPJJPpMXRuV6xp7yK/27POubIySfWrDyJs2Ap8zE4urtaoTqxq13swun7MKQ4PR0kqjM71UwaOapW7qdIBYmF6ZMzabBobDAQAAAOCAvy4AAMCndC9851XvZ/2Xtocd5kD/DHuU+/HsTcc87SveSzKZWu3znMcM5dwzM96F0/KzumUdrXvsnGCenfn9dZQZJFafqWujcl1jD/nVnn3elY0w2bA2jARqI/BdM7G4mlbnXJpWvy0WhbBqwod+44YGo6WVRudvBFXwqCbTk2FnFTxkqtg8GhgOBwAAAIAD/roAAACfsvAat6V6P+u/tD3sUAP94duUW/Js7/BdWEhzK1rpzQPEUAm6M+N1/KdltOiclifr/kNgtHzdCXERu1LhOo4WUQIlRJ+pa6NyXWMP+dWefd6VjXmyc20YmdRG4AM19qWZ+bZWWWPlnjkkCLDL56zC0GC0VNPo/42gCl3hDC/JrUwSm0EDw+EAAAAAcMBfFwAA4FOWXODaqvez/kvbcoc5yh++Tbml7vZ0wAO/4mMkw6nVPuR5zFAtPDPjXbo1DRc9dsawjV2gQPmo+C3W1jEwXkbqM3VtVK5r7CG/2rPPu7KxkHyCNoyUamP0S8OB2KBVnVjVqPVmmvCZ2lGyJaqFEK3+A+ewX9Y6qN3UTeZWwmOxGhgOBwAAAIAD/roAAACfMnl161G9n/Vf2uYd5hB/7E7lrro7zB+lP2IDzbmqZr47oCUHUtDP6NY0VvTwGcMedlkDRY+dE0xaW0fneBkmA/SZujYq1zX2kF/t2edd2biCfIs8jc/RAWL0k8OB2KBV91jVuqcIC7VqNFSFWKFRsgsh7NxSAo/qqa52lsK5lcBYOTSwuzEAAAAAcPrOzSMAAIDYcHlavd713/nmHWqIP3CzcmP2JvMX6Y/YT0sgWlXoDqjKUYL6foP/qIjYaeGoPJBdnUDRKfct1taxO5v06zN1bVSua+whv9qzz7uycR35Im0Y3+UZUxUOxNWM0uiroZJR6M2qNRqtQqDQOGjl0JlbStBVTZEnb6O5lfHhQuhaglICAAAAmPe1m0cAAPDjRu9qA6rXu84733y9K3S8M3Czw66MTeqrZ37FD5JCpFbjt6A7oCUHUuhv8JyEWNE5Kk/Wrc5o+Sj3LdbWsTpYOuVHfaaujcp1jT3kV3v2eVc2NpBP04aR6tQa/2XvTo67tEoTKxmF3smunbMElGyeXQhh53aoXr+pmklPeodyK4NjVfDsBAAAAACcPnvzCAAAftPQLW1M9W7XeeGrw/ImnVH7HTZm7DN/i/6I59DSCLt2yl/BWBSezH9UhirOUXmybnVGi065b7G2juVgaeendu5UrmvsIb/as8+7srGTfKM2jJxrI5CKmVhcqlWaWMk0iirvUc32aOEo2bxWDj25Ha3Xb6pmspteZ25lWCz51A4AAADAQt+/eQQAAD+le4E7r3q367zw1WF5sDNqv8PGWvs8fA6eSQqUWu1fjTxmqJSemfEi3WMQrnjsgGEPuzqB2lHuWyysow6WkdK4pYjlusYe8qs9+7wrG7eQj9WGkXxtBHKisb+TzBdplSZQspkTglGtbA9VgZLNswvRTaxz2C+rpsiTN3uMvI2lXacVVA0AAADAvB+6eQQAAL/Ac3U7qXq367zw1WHPv+Q9fE7r6/RDHvsVOOuevTxADFW2OzNexHMMYhXnnDyZXZ1A7Sj3LZbUUYbJAH2mro3KdY095Fd79nlXNu4lX60NowraGE1OOBBXa5UmVjIKvZNm+5zqVn/V0GBUVXPo/F1wDvtl1RR58lati5D+WLYpFgAAAICFfvHmEQAAfFjrQnah6t2u88I3b885/i6H7bU+WZ5P/goYtHyqVcQ8ZqjKnpnxIt1jwDn5HrumgYrHDgkmzdRR3kq/PlPXRuW6xh7yqz37vCsbDyGfrw2jHNoYzVI4EFdrlSZWMo2iyhssKVysyii1zrzzd8E57JdVU9TN23mA9MTyrFMJygQAAABg3k/fPAIAgO/p3tXOq97tOi988/ac4+9y2F7rk+X55K+Ak5ZStKqZB4ihindnxot0jwHn5HvsmgYqTq1vYae9+lY65Ud9pq6NynWNPeRXe/Z5VzaeRvIgTyMVOkCMpisciKu1it49DGdUeadWtocKF6gySnYVhJ1b8t9VTVE3b+UAaccyrJMICgQAAABgHjePAADgU7q3tPOqd7vOC998vSue/K9hh885f51+yJM/AQGe85nHDFXfMzNepHsMJs8Jh+SB7OqM1o5a38JfRGnnp3buVK5r7CG/2rPPu7LxTJINbRjVSa3xX/Pu5LhFqy6xelHlnTTbM4WjXvOqVRCt/hL576qmyM6tvNVXuTGKugAAAABYiJtHAADwKfb97BLVu13nhW++3hVP/teww+dUf3R+Ml4qn9VWlfMAMXQSujPjRfznJHZIBOfkaeyajlacWt/CU0R5JY1bilKua+whv9qzz7uy8XCSFm0YZdJGIHszsbhOqy6xemkUJd7ALpyzBNRr0mQVyH/XOUVGzrUnN0a1ZgYAAACAAG4eAQDAp5zvaper3u06L3zD98Kblfs871l65PmKD8E8LbdqFT2PGToVnpnxFt1qhssdO13YwC5NoHDUer9WzqVfevSZujYq1zX2kF/t2edd2XgLyY82jHppI5BGjSX/T9OqS6BeM8cDo6oFGioB9Zo3UwXy32WkN3fKj9rOjVEaGA4HAAAAgBJ/WgAAgE+5+ua0Nb9z3bdc7Jb7POxZfpTnK74Cy2n1ResA5AFi6JB0Z8aL+M8Jh+Qb7NIECket9zvkXH6Uhj61f6dyXWMP+dWefd6VjdeRRGnDKJw2RvMZDsSlWnWJ1Ysqb2MXzpn/ocE4m6wC+bdV85M7paGvcmOUBobDAQAAAKDEnxYAAOA78j2s/niF6s2s/7p2ww6XKL/o8HX6CeL5X4Hr5GMgWichdlQ8M+MtumeAQ/IxdmkChYudEMwocy7tWzJfrmvsIb/as8+7svFekjFtGBXUxmhiw4G4VKsusXppFCXeoJrqoarFSozSTBWqsciqaSyTJu1Y9jQwHA4AAAAAJf60AAAA31HewF6kejPrv67dsMMlyi86tOWpP2pbPf+LcJ3uSQgflRzIAXs7DskPskszWjgKvZkkXFKtz9S1UbmusYf8as8+78rGB0jqtGGUUhujGQ4H4lJal3NRAvWixNu0Ut2qZtXQYJy1EuhJbKuCyA5plB+1nRujNDAcDgAAAAAl/rQAAADfcbiNvUL1ZtZ/Xbthh0uUX5Tb2qh+rH6Xev7X4Tr5JLSOQXdAFQfsS64+JJyQp7FLM1q4PF5Q6+tIniW9+kxdG5XrGnvIr/bs865sfInkUJ5GGnWAGE11OBDXMYrSPQlnlHibanWG8k+xJrUSWC3NmXPYz8r5kYZmKTdGaWA4HAAAAABK/GkBAAC+I9/D6o9XqN7M+q9r33K9W+4wt6Uhz+7OdZh6+GfiOt1jED4nOZDT9XYXHZLw0cLV7F/ewK92IAROklvJqj5T10blusYe8qs9+7wrG98jmdSGUdnUGv/t7k6O/VpFiRWLEu+xpGo6mEqFVRPoLMFQpX5QmVtpx7KkgeFwAAAAACjxpwUAAPiO8gb2ItWbWf917Suudw/by3uW9ui2NUo8+Xtxte4xiJ2THCU4YG939SHhhDyKXZdA1Sj0cpJSSaY+U9dG5brGHvKrPfu8KxsfJinVhlFibQQyr7GU7FFaBY0VmhLv0cqzP/+x+iJrJdBZAn+lfpakKJYfDQyHAwAAAECJPy0AAMB3bLiYrt7MDl3XbtjkpMPn6I+6bRHbeQ4XT/52XKp7DMLnZPJ84jm6pYzVmhPyTPavvP22ikKvIpmUHOozdW1UrmvsIb/as8+7svELJLfaMGqtjdEShANxKa3LuSitfgMl3qOV56H8B+qLUjWBzhKQfIMkJ5YZDQyHAwAAAECJPy0AAMB3bLiSrt7MDl3XPv+G97A3+VEb2pl/FLFPmJ8BH3A4V2exc8Lp+oxuKTkhH5NLY5fbWbXR8TiQBErq9Jm6NirXNfaQX+3Z513Z+CmSZG0YRdfGaC3CgbhOqyixYlHiPeyqeZJPpSa1Uu0pAcmvkrTEEqKB4XAAAAAAKPGnBQAA+A7PhfWk6s3s0HXt8294D3uTH7VR/fDUiqZ9fga8necMGIfQEIvCA3VLyQn5Ersuo1WjyjGSN8mYPlPXRuW6xh7yqz37vCsbv0myrQ2j+toYLUo4ENdpFSVWLI2ivler5nmoZLH6QrWy5zz/zmE/QrIRS4UGhsMBAAAAoMSfFgAA4Ds23EFXb2ZHr2s37HPG4XN0t8LecB4mYp/mXAgf1j0DsWM2fzjxEP4TMlToWBSuZtdltGp5vKDQXZIuyZI+U9dG5brGHvKrPfu8Kxs/TtKuDeMYaGO0OuFAXEeLcq5Iq99Affdo5XmoZIH6Iqtmz3n+ncM+T/IQy4AGhsMBAAAAoMSfFgAA4Dv09vnSf72p3syOXtc+/JI3b0wa8sxb1R+VvfM8MvaB/oXwVZ4zEDtmnK5v6NYxVmiOxzPZv+z226pAyK+RFEly9Jm6NirXNfaQX+3Z513ZgJL8y9M4DKk1/nudY6nvQ7QqEqsU9d1D8zxTMio1o5W9al3OnMO+Sj4/9u0aGA4HAAAAgBJ/WgAAgO/YcOlcvZkdva59+CXvYXvVfUpnapkJdw4zzM+At8tnoHUAwoekOzNewX9COB5vZ/+y22+rqHKLZEZyos/UtVG5rrGH/GrPPu/KBkpSBW0YpyK1xn+vNZYqP0er3N1jUEV9N7BL5kw+lZpRzV6rLgc/m3n58NhXa2A4HAAAAABK/GkBAAC+Y8N1c/VmdvS69uGXvJpG4dxkHi+Mwc5hhnJj2sBP8Ryh2CGZP5x4gm71J48HZ+NR7LqMVo0qH0hCJBX6TF0blesae8iv9uzzrmygSsqhDeN4aGO0auFAXEeLcq5Iq99AffeolmYo+VRqRit71boc/GDm5ZNjH6uBnqwCAAAAQBc3jwAA4Ds2XJtWL3YDt735nvex/zIWS6ZGCTswDxOBDEyG4wO6Jy18SJxnGE/WrX7seIQPFS5l/86O/kaPjv8qyYNkQJ+pa6NyXWMP+dWefd6VDdikLtowzok2RssXDsRFWhWJVYr6brCkZDqYMsVUs+fM/+9kXr40/JnOZAIAAABAFzePAADgOzbcL1cvdgO3vRqyYcMzAt+V6acpe5I8MraWfyF8kucAxM4YR+sbutWfPB6cjeewizJash8vsXy+fLg+U9dG5brGHvKrPfu8KxtwkgJpwzgw2hitYzgQF2lVJFYpjaK4l2ol2Z/8WHGhZvL/C5mXbwx/HScTAAAAwCrcPAIAgO/w3D5Pql7sBm57y63mC1/xnH83C3xUi/MD5/PwzExim+4BCJ+QHMi5eq+Ljkf4UOE69i/s6K/zb5ZYvlo+Vp+pa6NyXWMP+dWefd6VDYySSmnDODnaGC1oOBAX0Yqcy9HqN1DcDVpJHkp+oLhQdv67Kf125uXrYp/WyioAAAAAjOLmEQAAfMeGC+Xqre78Va/QGc49dwl/lM35gfN5yDPcm0bcpXsAYidk/mTiCa4+HpyNh7B/YQO/zr9TYvlS+UZ9pq6NynWNPeRXe/Z5VzYQJiXThnGEtDFa2XAgrtAqR6xMFHcDu2SezFOmGdU8O1Pqr9G7yHfFPoqjCAAAAGAVbh4BAMBHbLhHbl3phq96S/naV+hs555tlnxRl/MDJ/NwYxrxBN0DED4hOZBz9V7dIsaqzNl4ILsooyX7fInlA+XT9Jm6NirXNfaQX+3Z513ZwDypnTyNg5Ra47/R9szYLJfyUJFWv43iblBN8lC9KFNYK8+elA7V6BXki2Lf8r1UAAAAALgLN48AAOAjPLfMk6pXuuF7XkO+AhY6+bnnUld8lC1/oL2uc1jL5jTiabrnJ3bAOFcf0C1irMqcjQeyf83tt2ej499Cvku+SJ+pa6NyXWMP+dWefcoq8rwlIVhCKyiME5Vag4XuzozNWr+tgUpR3A1aSW7V8Ywyzajm2ZlSf40eTj4k9hWcPQAAAACr7LjfBAAA2GDDxXH1Sjd2z5sveYUdXo4UMtgfGxP7olWcXzefhKvTiCfrVj98PHIgh+q9ukWMVZmz8TR2RUbr9bH6yufIh+gzdW1UrmvsIb/as09dRZ7644YVcZFuEcNV5ng8ilEOfTVUJoq7QbUuQ5kPVBaqlTpPSj+QdvmE2P712wWnDgAAAMCkHfebAAAAG2y4Mq5e6cbueTUqP1NvY/86oDoy91QDY3RX6YdbdTOjnMMMV6QRb9GtfuyAzR9L3M5/NoZKHIvCdeyKjNYrjxfvLbF8hWxen6lro3JdYw/51Z59HlaRH7WxYWlcpFvEcJU5Ho/SKkesTBpFZa9j18uT+VhlIWaS/+q0y+Zj2+awAQAAAFhlx/0mAADABp4L5UnVK93YPa9GnWP1K0TZr52H8Xmk0Ffph7kklEs8ivMDJ/OwKo14I0/185ih4xGLwnN0z0bsHx2xKFzHrkjgFzkQ8hCyc9mzPlPXRuW6xh7yqz37bK0i/drYsAdcpFvEcJU5Ho/SKkegTFR2A03yTLGqM8BjJvlvTLvsObZhZ04AAAAAoGvH/SYAAMAGG+6Iq1e6sXtejTJi9XNKxvhysA5LPwwmxNjPo+QPtHfrHNYSTiM+oHt4YseDQ/UB/rMxVOJYFK5jVCTwi/y6+sqGZav6TF0b5XXtDTiHrdJdRQZoY8NmcJFuEcNV5ng8ipbjXItWv4HKXq2VYX+xqFHYTPLflXbZbWyfGhgOBwAAAICMvysAAMBHeG6QJ1XvZGMXtUOXvPppqjv+MHg01rOf53B+3VASquZnwEt5Sp/HDJ2NWBSeo3s2OBjfYFdktF5vqa/sU3aoz9S1UV7X3oBz2Cr+VWSkNjbsChexi5jfitEqayxn4wlaVY79ClPZq1UzPFQsahQ2k/xXpF02GduhBobDAQAAACDj7woAAPARGy6Fq3eysYva8CWvfqbwBB4G5x/FOTywmUexvy5zDjMcsorf0S197HTNn0nczj4bHIxvcFbZWazR8ZvJ9mRj+kxdG+V17Q04h60SWEVCtLFhe7iIFrFVwVxiMVRlzsajtMoRKBOVvdp8sahRmJ18O5+eMTeS7cX2poHhcAAAAADI+LsCAAB8xIbr4OqdbOyidv6SV79XdSc5D672hDfzNM7kDOXwbDIc7+UpfR4zdDZiUXiObgU5GB9gl2O0WM8sruxK9qPP1LVRXtfegHPYKrKKPGMLaazYsE9coVvBPEAMVZmz8SitX/NWv4HKXm2+WIGyQlVT58mnjhFPS7tsLLYlDQyHAwAAAEDG3xUAAOAjPJfFk6p3srGL2rWXvEPfroOVhgyFv07+XvsDncNazlnFj+iWPnY2OFFv5z8YQ/WNReEidpVHi9U9MzvpZu7ahqyuS+dGlXPYKrqKPPXH2IqT4bhdt4LhEnM2nqNVi1iNNIqyXmS+WLGyQlTPtjOf1dgbyX5im9HAcDgAAAAAZPxdAQAAPmLD/W/1TjZ2Ubv8kje8DW2s2saT5Y8Vxvc6hxnmZ8BLdX+hYr9xnKi3s+seqy+n4mmMKgeKZZ+Zq8nqsq4+U9deeWl7D85hqxxWkR+1EVt6Mhy361YwXGLOxnO0ahGoEWW9ml0sT9qpUcxM5p+Tc9lJbA8aGA4HAAAAgIy/KwAAwEd4bocnVe9kAxe1V9zwrp3t8yRdqWWeGecwQ56B6vyU7skJHy1O1Kt1yxerL6fiUexyjBbrluLKorKcPlPXXnlpew/OYau0VpF+bcT2MBmO23UrGC4xZ+M5tBbnQrT6DZT1atWiDKU9UFaImczfnnPZQGx1DQyHAwAAAEDG3xUAAOAjNlz4Vu9kAxe1V9zwrp3tp0jqUss8P85hLZPheK9c+lbduwOqOFGv1i1frL6xs4SL2OUYLdbO4spasoo+U9deeWl7D85hq8gq8rT3o43YZibDcbtuBcMl7p497NGqYKyylPVSdrE8aY+VFTOZ91dnOVk6tq4GhsMBAAAAIOPvCgAA8BEbrnqrd7KBi9orbnjXzvazJI3asJPpHNaSwwVV+x3duocPxuSBxL265QvUN3yWcAW7gqP1DZyHUbKETK7P1LVXXtreg3PYKrqKPPVHe2PaiO1qMhy3syuY34qhEnMwnqNVi0CNKOvVNMMzlarOgK5w5oeqs4osGltOA8PhAAAAAJDxdwUAAPgIveS99N9tqneygYvaK254184GyWdq+f7Tgojlf34GvFGue6vo3QFVHKdX65Zv8lRwJG5nl3i0UtdVVmaWOfWZuvbKS9t7cA5b5bCK/KgNe4faiG1vMhy30wq2ypfrK4ZKzMF4jlaJAzWirJdqpbdVwTMKFNPKsCfz/urMk7ViC2lgOBwAAAAAMv6uAAAAH7Hhbrd6Jxu4qL3ihnftbChJblPLPGDOYYY8A6X8Hd1jEz5XHKdXs8sXOxUciUcxyjFa39h5MMiEMo8+U9deeWl7D85hq7RWkX5t2FvVRmyfk+G4V7d84fpyMB7CKIS+GioQZb1UtSJDOQ/UFK0Me5I5VJ0wWSU2vwaGwwEAAAAg4+8KAADwBZ5r33nVO9nARe0VN7xrZ0OL5Dm1zPPmHNYyGY6XynVvFb07oIrj9GpXnAqOxKPYFRytb+A8nMkkEq7P1LVXXtrYQ/lqz1a7q8gAbRjDPGMMk+G4V7d84fpyMB6iVYhYgTSKml5hvlKxmqJ6qp3JrMauIpPHZtbAcDgAAAAAZPxdAQAAvuDSm1xVvZCN3dJeccO7djZ4SM5Tyzx7zmEtk+F4o27Rw6ciB3KWXsd/KjgSL2XXYrRSM5WVWInSZ+raKy9t7KF8tWer/lVkpDaM8Z4xhslw3KtbvnB9ORgP0SpEoEDU9FKa3nNuW/1n/pHIWqfak8yLEi7TxubUwHA4AAAAAGT8XQEAAL7gojvcUvVCNnZLe8UN79rZMEryrw27Cs5hLZPheKNu0fMA4T8YsSg8hH0qJo8E5+F2zvo6KxWorITIYH2mrr3y0sYeyld7thpYRUK0YQR6xhgmw3GvbvnC9dVATsXtWoUIFCh8GNDVyq0/51QnpvqL4Enm8oTLhLGpNLD6IQAAAAAwZMf9JgAAwNU23JZW73Njl7z5hnfVhhdOhUlSi9Ty/fcGETtCqcV/JPgZnqLnMUOnIhaFJ+jWLlBcz0nDHnYtRovrHy8jZYw+U9deeWljD+WrPVudWUVitWHM4BljmAzHvezy5bdiqL6ciodoFSJWII2iplewK+XJOdUJmEn7qoTLPOFJWvsHAAAAgCE77jcBAACuturS1lC9z41d8mpULLZq4VRYSOqSWubhdA5rmQzHG+WityoeOxWcpffq1q57ZqpiUbiCUYvR31zPaZF+faauvfLSxh7KV3u2umQVmUQbxlSeMYbJcNzLLl9+K4bqy6l4iFYhAgWippfS9IbLRHVijLTbmZxPuMwwE6sNyg0AAABgxo77TQAAgKt5rnQnVe9zY5e8GhWLrVo4FS4iNUot86A6h7VMhuN1PBXPY4aORCwKT2DXLvZPCc7Dczjr66xUdbx0yo/6TF175aWNPZSv9mx17SoymzaMOT1jDJPhuJeWr1W7XFwxVF9OxUO06mvXvYqaXqeVW3+ZAgVFNWnOcx5OuASGy+TcGwAAAADYdtxvAgAAXC18S+tXvc+NXfJqVCy2auFU2EDqpQ27as5hLZPheJ1ccVEtendAVSwKT9D9h0DgnxKch+ewyzda3HK8tPNTOzfLSxt7KF/t2epFq8i02jAm94wxTIbjRt3ahYvLqXiCVhVi1dEoCnqFam79ZYoV9Me1kuY5554xZxIVKxD1BQAAALDEjvtNAACAq8XuZ4dUL3NjN7waFYutWjgVdpLCpZZ5ep3DWibD8Ua56K2KdwdUxaJwu+4/BDgPr2YXYrRMOl4GS+OuyualjT2Ur/Zs9epVZH5tGKt4xhgmw3Gjbu3CxeVUPEGrCoHqUNDr2GXyJNw/Elk1aZ5z7hlTkvGx0owuBAAAAABVO+43AQAArla90l2repkbu+HVqFhs1cKpcBcpYmr5/iOEiJ291OK/LvyGbsVjR4KD9F65dlecBw7Dvezy+cskI2WMPlPXXnlpYw/lqz1b3ZYQWSi12sXyjDHk8D1fhIW6tQsXVwM5EvdqVSFQnfBJQFe1HP6EU5qAVtKqtTjwjBEyLFYRCgoAAABgiU03jwAAAJdyXsjOqF7mxm54NSoWW7VwKjyBFDS1zFPtHNYyGY7XyRVvlbs7oIqD9FLdwgXOA4fhOYzyeUov/fpMXXvlpY09lK/2bPWWhMii2jCW9oxpmYnFveza5bdiqLgciSdoVSFWHY2ioMvZZfIknNIEVJPmyWSrXpkMiNWiOzMAAAAAeNxw8wgAALCc57p2UvUyN3bDq1Gx2KqFU+FppLjasEvsHNYyGY53yeUW1Yp3B7RwkF7KLlzsPHAYHsJZ3PKtdMqP+kxde+WljT2Ur/Zs9caECFldG8YePGNaZmJxL7t2+a0YKi5H4glaVQhUh4JeR3MbrhGlCagmzZnJar2E9MdKQAUBAAAALHHnzSMAAMAqrRvYhaqXuYEbXg0JBBrWzoZnkiqnlnnUncNaJsPxOrnirXJ3B1RxkF7qivMQO0JYzi5E+Vba+amdm+WljT2Ur/Zs9caElGQb2jA24xnTMhOLe9m1y2/FUHE5Ek+gVTiXoNVvoKAXaSXWn/BANVFNmieT5zHSE0u+TiWoHQAAAIAZj7h5BAAAmOS5n51UvcwN3PBqSCDQsHY2PJ9UPLXMY+8c1jIZjnfpljt8HnIgp+hF/OfBX9bwEcJadiH0rfRL464y5aWNPZSv9mz1xoRUyX60YezKM6ZlJhb30tq1CpcrK4aKy5G4XasEsdLY5wRhrcQ6Ex6r5o+r5taTyTJQ2rGcUzIAAAAASzzr5hEAACCmel27VvUyN3DDqyGBQMPa2fAuUv3UcvyXCRU4LZPheJdc7latuwOqOEUvZZc7VtbYEcJy1UJIp/yoz9S1V17a2EP5as9Wb0yITTamDWN7njEtOVY8MwOo6hY9fCpmjhOWaJUgUBqqeZH5GlGaUXbOW2mUt/oqN0ZpYDgcAAAAABR/VAAAgC+wL2SXqN7GBq5or7jbXTsb3ktOQmqZvw55WOzYTIbjRbonynnkzjhFb9StWqCsnISHKAsh7fzUzs3y0sYeyld7tnpjQpxkh9ow9ukZY5gMxy26VQuXVQM5DDdqlSBQ0/AxgK2VWP+vj38kVDVjrTRKv3bmxigNDIcDAAAAgOKPCgAA8AWtq9iFqrexgSvaK+52186Gb5BToQ3jbOQxInCEJsPxLt0TFTsPnKI36late1rOOAkPoYWQEkjjrkLkpY09lK/2bPXGhIySrWrD2LBnjGEyHLfoVi1WVg7D7YwS6KtAQanmctXE+n99/COhqhk7d0qPtnNjlAaGwwEAAABA8UcFAAB4Pb2Bvfrfaqq3sYEr2ivudtfOho+R45Fa5q+Jc1jLZDhexFPrPGboMMSicC+7arF/MnAS7iX5l8zrM3XtlZc29lC+2rPVGxMSJnvWhrFzzxjDZDhuYVctvxVDZeUw3K5VgkBpqOZF7Bp5su0fCVXNWO6Uhr7KjVEaGA4HAAAAAMUfFQAA4PXyxav+eJHqbWzgivaKu909GRQz/cAAAMeiSURBVMAH6FFRxoFxDmuZDMeLdGsdOwwcoTfyHwZOwsNJ2iXb+kxde+WljT2Ur/Zs9caEzJPNa8P4BM8Yw2Q4bmFXLb8VQ2XlMNyuVYJAaajmRTSx4QJRl1FGwrVT2rFkamA4HAAAAAAUf1QAAIDXq97DrlW9io3dz15xt5vnTD9ziQ8H54HJw2KHajIcL9KtdewwcITeyK4aJ+HhJNWSZH2mrr3y0sYeyld7tnpjQhaSr9CG8S2eMYbJcNzCrlp+K4bKymG4nZbgnP9WvyEQgq7W74g/29RlyDnh0qPt3BilgeFwAAAAAFD8UQEAAF5Pb2Av/bea6lVs7H72irvd82zSk1pc5cMhHxjjtEweKs7k7+jWOnYYOEJvlKt2xUngGFxEMiy51Wfq2isvbeyhfLVnqzcm5AryOdowPsozxjAZjlto1VolyzUVQ2XlMNyrlf9AXSjlRTSx4QJRl1E54dLQpOXGKA0MhwMAAACA4o8KAADwevniVX+8QvUqNnY/e8Xdrj2bvE0tbvPR4zwtk4eKM/k7cq1bhe4OqIpF4Ubd3/pATbtzIkYSK/nUZ+raKy9t7KF8tWerNybkUvJd2jC+zjPGMBmO/bolC9dUAzkJd2kVLlDQ8BmAYb5AOpKiOJXpknYsbxoYDgcAAAAAxR8VAADg9TbcUFevYmP3s8vvdoemksGpxZ0+epynZfJQcSZ/RLfQsZPA+XmjXLUrTgLHYJ4kU9Koz9S1V17a2EP5as9Wb0zIHvKB2jA+0zPGMBmO/boli9WUk3A7LcE5/61+QyAEXZMF0mGCuvhJ0mLp0sBwOAAAAAAo/qgAAACv57zCnlG9io3dzy6/2w1PJYGpxbU+epynJQ+bPJMcyG/rFjp2Ejg/r3PFSeAYzJMcSvb0mbr2yksbeyhf7dnqjQnZTL5UG8b3esYYJsOxn12y/FYM1ZSTcK9W/gN1oZRXmC+QjqQoHpKrWKI0MBwOAAAAAIo/KgAAwOttuJKuXsXG7meX3+0u+XydRK3aGL4qnxbjqEyeKA7kj+gWOnYSOD+v4z8JHIMNJHWSMX2mrr3y0sYeyld7tnpjQu4in6wN48M9YwyT4djPLll+K4Zqykm4Vyv/gbpQyivYBeqmmqJ4SJZi+dHAcDgAAAAAKP6oAAAAr+e8s55RvYqN3c8uv9vNE6afp1OxcCp8m/OoTJ4oDuSPyIVuVbk7oCoWhRvZJYv9A4FjMETSJYnSZ+raKy9t7KF8tWerNybkdvLt2jAy4BljmAzHfnbJ8lsxVFNOwr00/+fkt/oNgRB0VbPq/62hKAZJTiwzGhgOBwAAAADFHxUAAOD1NtxBV69iY/ezy+92z1NJT2pNp2XhVPg251GZPFE5nNP4Yd1DEjtFk2cP+/lPQuAYcAYMkiXJjz5T10blusYenMMWuishjyJJ0IaRCs8Yw2Q49rNLlt+KoZpyEm7USn6gKNTxCnaBuqmmKFWSllhCNNCZfAAAAABo4eYRAAC83oZ70upNbux6N9/trtqwPZW8Ta3pFC2cCt/mPCp5WOA4cRp/RPeQxE4R5+d17EIHjgFnwCDJkZzoM3VtVK5r7ME5bKG7EvJMkg1tGDnxjDFMhmM/LVmrXrmgYqim9rS4VOvXMPDrGQhBV/W3w5/qavjPkmyEU8HxBgAAADCPm0cAAPB6Gy6dqze5setdjYrFVunni+6EeaSYXH3hVPg2z/mcPE6cxl/QrXL4GHiOKJ7DrlfsGHAGDiQhkgp9pq6NynWNPTiHLXRXQh5O0qINIzmeMYbJcGzWrVesoByDe2n+z8lv9Rso5XKtlDqrQ0WU5CGcAXIIAAAAYB43jwAA4PWct9Izqje5getdDQkEGvJs0tAe0Z1/aLBt4VT4MOc5mTxOnMZfkKvcKnF3QBWH51269Qocg9jJ+R7Jg2RAn6lro3JdYw/OYQvdlZC3kPxow8iSZ4xhMhybdesVKyjH4Eat5M+UkjouVE2pvzo/XhH5/PC3+5MMAAAAAC3cPAIAgNfbcMtcvckNXO9qSCDQ0Npbarmv6dXkxhZOhQ9znpPJ45TDOYpf1T0h4SPE4XkXu16BaoZPzjfI58tX6zN1bVSua+zBOWyhuxLyOpIobRjp8owxTIZjM7te+a0YKijH4Eat5AeKQh2Xs6vTzfPPVkQ+PPzJHGMAAAAA87h5BAAAr+e8hp5RvckNXO9qSCDQ0J1NBqTWyGW9mNzkwqnwYc5zkocFzhJH8Rd0qxw7Bhyed7H/QTF5Bn7nAMgny8fqM3VtVK5r7ME5bKG7EvJekrHUav/65DGx3E6GYzO7Xp4DU8UxuJEm/5z5QFGo43LV6vjz3Cruh8knx76X0wsAAABgHjePAADg9TZcK1evcQN3uxoSCDQMzSaDU8t9X68mN7xwKnyY55xMniWO4i/IVe6eoqEzEIvCLbq/6YFq/s4BkC+Vb9Rn6tqoXNfYg3PYQncl5Bske9owCqqNWJInw7GZXa/8VgwVlGNwFyPz+ipQR4q4Sqs6zt8X57BvkI+NfeZPZQkAAADARbh5BAAA76b3pFf/K031Gjdwt6shgUBDeDYJTC1HAocG2xZOhQ/L58Q4JJNniaP4ed0Sx84AJ+ddcr3sM8AByOQD5bv0mbo2Ktc19uActtBdCfkYSaM2jMpqI5btyXBsZtcrvxVDBdVAzsB+rYIGfjEDIbC1fi+cvy+/UBH5xtjXcVwBAAAAzOPmEQAAvJvzrnlS9Ro3cLerIYFAw5LZZJLUGrm4F5NLL5wKX+U8JJNnKYdzDr+qW+LYGeDkvIhdrPxW+Kv5yQMgHyWfo8/UtVG5rrEH57CF7krIV0k+tWGUWBuxtE+GYzOt19rDwBm4USv5gaJQx7XmS6MjP1kO+bTYd3FKAQAAAMzj5hEAALzbnrvj6jVu4G5XQwKBhrWzCZkwtdx392pyGwunwlc5D0keFjhInMPP65Y4dgY4OS/iPwOBA/CB6su3yFfoM3VtVK5r7ME5bKG7EvJ5klhtGLXWRiz/k+HY6aLDwBm4kSb/nPlWvyEQAkPr98KZ51b4q8lHxT7nk9kAAAAAsBk3jwAA4N2cl8szqne4sYtdjYrFtqyd7UAmT62RG3wxuaWFU+GrPIdk8iBxDj8vl7h7hIYOQCwKt7CLFfiHQCDkaeQTZOf6TF0blesae3AOW+iuhPwOybA2jKJrI1aIyXDsZBcrvxVD1eQM3KWV+UBFKOJymtJwaarhLyXfEvsQjiUAAACAedw8AgCAd9twWVy9w41d7GpULLZl7WwGWSi13Jf4anJ7C6fCV+VDYpyQyYPEOfy2bn1jB4Bj8yL+MxA4AO+qvmxbNqzP1LVRua6xB+ewhe5KyA+SVGvDqL42YhWZDMdOdrHyWzFUTc7AXVqZD1SEIq5ll6ab5G+UQ74itn9OIwAAAIB53DwCAIB3c94mz6je4cYudjUqFtuydjYnWTS1Rq7yxeRWF06FT3KekMmDlMM5hJ/UrW/sAHBsXsQuVqCU76q+7Fb2qc/UtVG5rrEH57CF7krIL5Oca8M4BtqIlWYyHDvZxcpvxVA1OQN30cyf097qNwRCYKjm0/+b8upyyOZjO9fAcDgAAAAACP6iAAAA77bhdrh6CRu7mb3iVnftbAGygdRy3+aryW0vnAqf5DwheVjgFHEIv61b39gB4Ni8iP3Ph0ApX1F92aTsTZ+pa6NyXWMPzmEL3ZUQCEm+NozzoI1YjSbDsZNdrPxWDFVTAzkAm7WqGfiVDITAYJemm+SXlkO2HduwBobDAQAAAEDwFwUAAHg35/XxjOolbOxmdvmt7sKplpD9pNbInb6Y/IqFU+GTPCdk8hRxCL8t17d7foaqH4vCft1f8EApH1t92ZhsSZ+pa6NyXWMPzmEL3ZUQlKQK2jAOhjZixZoMx052sfJb4a8mB+AurcwHKkIR19J8hutSDX8s2W1sqxoYDgcAAAAAwV8UAADg3TZcB1cvYWM3s8tvdRdOtZzsLbXc1/pq8osWToVPyifEOB6Tp4hD+GHd4saqz5l5kVws+wAEqv+Q0st+ZCf6TF0blesae3AOW+iuhKBKyqEN44SkVug3qzs/nkOL1T0JQ6XkANylVU27ylWBELS0fiOcSW6FP43sM7ZDDQyHAwAAAIDgLwoAAPBuzvviGdVL2NjN7PJb3YVTXUr2mVojl/ti8usWToXvcR6PyVOUwzmB39M9G7Hqc2bewq5U93icBUKuINuQ1fWZujYq1zX24By20F0JgU3qog2jOp4xLTOx2KlbqVgpOQC3aKU9UA4quJbmM1yXavhzyPZie9PAcDgAAAAACP6iAAAA77bh/rd6CRu7mV1+q7twqm1kz6nlvt9Xk1+6cCp8j/N4zJwiTuC35fpWixurPmfmLbqVso9HVSBkFVlaFtVn6tqoXNfYg3PYQnclBE5SIG0YZfKMaZmJxU52pfJbMVRKDsAtWmkPlIMKLjRZl8fWQjYW25IGhsMBAAAAQPAXBQAAeDe9+b30X2mql7Cxm9nlt7oLp7qF7D+1HEUcGmzLU706e7iI86TNnKKFhxlP0y1urPqcmbew/8lgv60KhEySFWUtfaaujcp1jT04hy10V0IwSiqlDaNenjEtM7HYya5UfiuGSqmBVH+zVtoDv49UcCG7Lt0kP60Wsp/YZjQwHA4AAAAAgr8oAADAu2248K1ewgZuZq+40l07273kW1LLfdGvZjKwah58leeETJ4iDuGH5eJ2D89Q6WNR2Mz+1Q784gdCYmQhmV+fqWujcl1jD85hC92VEIRJybRhFM4zpmUmFjvZlcpvhb+UVP8WRtr1FRW8RSuZziQ/pxayk9geNDAcDgAAAACCvygAAMC76VXvpf9KU72EDdzMXnGlu3a255DvSi1HcYcGG1bNg6/KJ8Q4HpOnyLME3qh7MGInZ/K8YRv7Vzvwix8I8ZPJZVp9pq6NynWNPTiHLXRXQjBPaqcNo4KeMS0zsdjJrlR+K/ylpPq3aKU9UA4quJBdl26GncOuIxuIra6B4XAAAAAAEPxFAQAA3m3DDW/1EjZwM3vFle7a2Z5JvjG13Df+aiYzq+bBJzmPx8wp4gR+WC5uq7LdAVWxKGxmlynwi39F3WVOmU2fqWujcl1jD85hC92VECwkRdSGUUrPmJaZWOxkVyq/Ff5SUv1btNIeKIeGUL4lqsl0FiVQu1Vk6diiGhgOBwAAAADBXxQAAODd9G730n+lqV7CBm5mr7jSXTvb88n3ppaj6EODDavmwSc5j0ceFjhCnMCv6lY2VnoOzCv4q+8s4sK6y1Qygz5T10blusYenMMWuishuIJUUxtGTT1jWmZisZNWqlWmWB2p/i1apbRLfEb5Fmol01mU0drNkxVjy2lgOBwAAAAABH9RAACAF9tzn1u9hA3czF5xpbt2tneRb08t99W/msnYqnnwSZ7jMXmEcjjH72O6lY2VngPzCnaZAkWcrLuES6A+U9dG5brGHpzDFrorIbiUlFUbRnE9Y1pmYrGNXab8VgzVkerv18p5oBaUbyFNZqwoOwsha8VW0cDqZwIAAACAEzePAADgxfZcj1bvcAMXu/lKd+GG1872XpKH1HKch6HBhlXz4JPy8TDOxswR4vh9VbeysdJzYF4hl2lV6e0JWyRKxuszdW1UrmvswTlsobsSgj2kvtowquwZ0zITi23sMuW3YqiOGkjpd2qVMvCbSPlWsYvSzfCGQsgSsfk1cMMOAQAAAHwYN48AAODF9lyPVu9wAxe7+Up34YbXzvYNkpPUcv83ADWTyVXz4HucZ2PmCHH8vipXtlXW7oCqWBR26v5SjxaxO2FJBssYfaaujcp1jT04hy0kq8jzlpxgJy20MGrtGdMyE4tt7DLlt8JfR0p/C037Oeet/hbKt1A1+c4MX1oImTw8LScEAAAAwKQd95sAAAAXqV77rtW6wA1c7GpIINCwdrbvkfykluOcDA02rJoH3+M8G3lY4Pxw/D6pW9ZY3Tktr2D/A8F+W9UNkQHySp+pa6NyXWMPzmEL6Sry1B83rIh7eWo9cx44S69glym/Ff46Uvr9WjkP1ILyrTJZlCsKIXOGZ+NgAAAAAJi0434TAADgInpDeum/z1QvcGO3uhoVi21ZO9u3Sa5Sy3FmhgYbVs2D7/Gcjcnzk8M5e1/SLWus7pyW57P/gWC/rWqFSL/8qM/UtVG5rrEH57CFDqvIj6nFb83XeWqdxwQOw0wstrHLFPsHAqXfr5XzQC00hNrNa2XSmeGFhZCpwvPoNgRHAgAAAEDMjvtNAACAiyy8qG2pXuDGbnU1Khbbsna23yF5Sy33fw9QM9leNQ++J58N42DMnB/O3id1yxqrO6flFXKZ7NIH6i4h0s5P7dypXNfYg3PYQvZmtLFhG7hXt9Yzh4GD9Ap2mfJb4a8jpd9Pc35OeKu/hdqt0sqkM8NLCiGThMM5CQAAAAAm7bjfBAAAuIjekF767zPVC9zYra5GxWJb1s72mySHqeU4S0ODDavmwcc4D8bM+eHsfVK3rHnAUNFjUdjJrlGgghoi46VxS93LdY09OIct5FlFxmhjw35wr26tZw4DB+kVtEzVGuUKiqEiUvrNWgkPFILarWIXpZte57AWCY/FcgAAAAAATNpxvwkAAHCRyZtZj+rtbexKV6NisS1rZ4PkM7Xc/2FAzVRh1Tz4GOfByMMCh4ez90n2kYgVnaPyfHaNhioog2WMPlPXRuW6xh6cwxYaWkUGa2PDxnCvbq1nDgMH6fnsGuW3YqiIGkjdt2nVMfA7GAhBVfW3wJnecBUkMFY46g4AAABg0o77TQAAgItU73PXqt7exq50NSoW27J2NpQkt6nlOGNDgw2r5sHHeA7G5OHJ4Ry8z+geiVjROSrPZ9eoW0EZIK/0mbo2Ktc19uActlBsFYnSxoYd4l7dWs8cBg7S89k1ym+Fv4jUfT/N+TnhrX5DIARnrd8CZ3pHqyDjYyVr7RMAAAAAnHbcbwIAAFxk9Co2oHp7G7vS1ahYbNXCqWCTVKeW+78QqJkCrZoHH5MPhnEqZg4PB++T7GMTKzpH5fmcdT+8lX7p0Wfq2qhc19iDc9hCsoo8wwtpuNqwW9wo19o4vdoInISZWOxh1yj2jwLqvlkr4YFCULtVNJOxivirICNjlaLQAAAAACbtuN8EAAC4SPUCd63q7W3sSlejYrFVC6eCn6Q9tXy3/6k1d1BXzYMvcZ6KmcPDwfuebk1jRc9RnJNnsst6eCs/5mfq3ahc19iDc9hCuoo89ceZFZdMgufrFnrmJHCKns+uUX4r/EWk7pu1Eh4oBLVbwq5IN7fdYTIgViDqCwAAAGDSjvtNAACAizivaGdUb29jV7oaFYutWjgVYqQEqeX+TwVqpnCr5sGXOE9FHhY4ORy87+meh8CB4Zw8n11WfSuvpHFLBct1jT04hy10WEV+TK2Jo54n2bB/3Khb6JmTwCl6PrtG+a3wF5G6b6YJP2c7UIjWVBhSTaOzHMYweRUrjXNpAAAAAGjZcb8JAABwkeqN7VrV29vYla5GxWKrFk6FeVKO1HKcyaHBhlXz4Es8p2Ly5ORwTt03dM9D7MBMHjNcrfWLLP3So8/UtVG5rrEH57CFZBV5VhfSVyK8jfkZ8ArdQs+cBE7R89k1ym+Fv4jUfScj2/qKwm3WSqOzHOdh0hOriAaGwwEAAACAPycAAMCLOe9kZ1SvXwN3sldc5q6dDQtJaVLL/d8M1ExBV82DL/GcipmTw6n7nlzT7oEZqngsCnscfpHlx/xMvRuV6xp7cA5bSFeRp/5YXdF+65FnEBs+CnfpHpWZszR/DnE1rVG1QOF/CBhzYrnWb1ngty8QgrPq+XfmtoyVdqwQGhgOBwAAAAD+nAAAAC9WXrNepHr9GriTveIyd+1suIiUKbUcZ3VosGHVPPiSfCqMIzFzcjh1H9MtaKzinJOH0wJJaaRxS4HKdY09OIctdFhFfkyt2knOb2c2tmQSPFy3yjPHgCP0cHaB8lvhryBF36yV8EAhNITCzQiXQwboq9wYpYHhcAAAAADgzwkAAPBiegl76b/PVK9fA3eyV1zmrp0NG0jJUstxbocGG1bNg89wHok8LHBsOHUf0z0MsdMyc8ZwHamLVESfqWujcl1jD85hC9mb0cZ5QH4lwps05sdndKs8cww4Qg9nFyi/Ff4KUvTNNOHnbLf6WyjcEqPlkH7tzI1RGhgOBwAAAAD+nAAAAC+24W60ukRg3Ssuczd8Pq4j5Ustx3+bGRpsWDUPPsNzJCaPTQ7nyH1A9zDETsvkGcNaUg6pgj5T10blusYenMMW8qwiY7RRHWm/9ZifAc/XrfLMMeAIPZxdoPxW+CtI0XdqZTtQBQo3z18O6dF2bozSwHA4AAAAAPDnBAAAeCu9cr36X2aq16+BO9krLnPXzoYbSSlTy3GkhwYbVs2Dz/AciZljw5H7mFzQ7mkZKncsCgtJCST5+kxdG5XrGntwDltoaBUZrI1qiP3WI88gNnw7btE9JzMHaf4Q4lJ2gWL/BKDoO7WyHaiChlC1GXY5pFMa+io3RmlgOBwAAAAA+HMCAAC8Vb5p1R8vUr1+DdzJXnGZu3Y2PISUNbUcx3tosGHVPPiMfCSM8zBzbDhyX9KtZqzcHJK7SOYl4fpMXRuV6xp7cA5bKLaKRKVW7RjntzP7XzIJnqxb4pkzwPl5OLtA+a3wV5Ci76TZPqe61d9C1Zaopr3slHYswxoYDgcAAAAA/pwAAABvVb14Xa56/Rq4k73iMnftbHggKXFqOY760GDDqnnwDc7zkIcFzgxH7ku61YwdlZkDhlGSbcmzPlPXRuW6xh6cwxaaX0Vm0MZ5nvxKhFcx5sc3dEs8cwY4Pw9nFCi/Uv4KaiAV36BVvsDvXSAEB+ccSo+2c2OUBobDAQAAAIA/JwAAwFvpleul/zJTvXuNXchecZm7djY8nJQ7tRzHfmiwIc/DSYPwnKvJs8eR+xK7mrGjMnnA4CFJltzqM3VtVK5r7ME5bKGFq8hU2qhOaL/1mJ8BD9ct8cwZ4Pw8nBaoWp1cO+EvHxXfqZXtQBWMkwCnnENpaCZzY5QGhsMBAAAAgD8nAADAW+WbVv3xCtW719iF7BWXuWtnw4tI6VPL8SswNLhlyST4Es+RmDk2HLkv6VYzDxiqdSwKXZJYSak+U9dG5brGHpzDFrpiFZlTG9WZ7bce8zPg4bolnjkDOVZwhJ7GrmysdjOnBaM02+dUt/pbqNq8MufSjmVSA8PhAAAAAMCfEwAA4K3KO9aLVO9eYxeyV1zmrp0NLyXHILUcvw5Dg1uWTIIvyUfCOA8zx4Yj9yX2aYnVmhOyluRT0qjP1LVRua6xB+ewhS5dRSZPrdoZzm/DG7Dnxwd0D8nkKZo/hLiIXZrY7z7l3qaV6kAJqNoSksZYAjUwHA4AAAAA/DkBAADeSq+nL/2Xmerda+xC9orL3LWz4QPkSKSW41djaHDLkknwGc7zkIcFzsxMLB6le1pi/3jhhMyTHEr29Jm6NirXNfbgHLbQtoTIQto4L5dfifBmjPnxAd36Th4Azs9j2aXJb4W/dpR7m1aqAyXQEEoWI9mLpU4DST4AAACAsE03jwAAAMttuBitXt3G7nPzZe7CDa+dDR8jxyO1HL8mQ4NblkyCz/Cch5kzw3n7klzN7lHx15oTEiapk4zpM3VtVK5r7ME5bKH9CZEVtVFd137rMT8Dnqxb3zxABM4A5+ex7NLE6k65t9FUn/M8WgJKFiN5i2VMA1vlAwAAAICu3TePAAAAq2y4GK1e3cbuc/Nl7sINr50NHyZHJbUcvzJDg1uWTILP8JyHmTPDefuMbiljtc5RHA8PSZckSp+pa6NyXWMPzmEL3ZUQIUunVu0M57fh7c3PgCfz1HfmDHB+HssuTX4r/LXTKGp9NaN2oyWwjwEOJF3hRJFqAAAAADNuu3kEAACYNHptHVC9uo3d52pULLZl7Wz4EXJsUsvx6zM0uGXJJPgMz3mYOTOct8/IpeyeE3+hOR4ekiVJjj5T10blusYenMMWuishB7INbZw3k1+J2FbnZ8CTeeprHLCumVhcyihN7LeeWm/TSnWgBBpCyWySpXCK+L0AAAAAMOMRN48AAAABG26fq1e3sftcjYrFVunni0szgG/Lp0h0D9LQ4JYlk+AzPP8cm/ln3UwsnqP7z43YP1g4Hi2SGcmJPlPXRuW6xh6cwxa6KyEtsh9tVHdlv/WYnwFP1q3vzAHg8DyWlqZal1w14S8ctd6mlerRElAym+QnnBlyCwAAAGDGs24eAQAA/PRu9NJ/male3cbuczUqFluVp5KG9ohVk+MHDR2kJaeOo4vMcxhmDgyH7TNyKbvnxF9ojseBJETyoM/UtVG5rrEH57CF7kpIl2xMG9Xt2W895mfAk3XrO3MAODzPZNclvxX+wlHrbTTV5zy3+lsoWZWkJZwQUgoAAABgxkNvHgEAALpGr6cDqle3gftcDQkEGlp7Sy2ujDFh6CAtOXUcXWSewzBzYDhs39CtY6zQHA8hSZBv12fq2qhc19iDc9hCdyXET3aYWrXTm9+Gv2J+BjxZt74zB4DD80x2XfJb4S8ctd6jledA/jWEeinJRjgVHH4AAAAAM55+8wgAANCy4Za5enUbuM/VkECgoTubDEgtro8xYeggLTl1HF1knsMwc2A4bN/QrWMeMFTlWNQHyIfLJ+szdW1UrmvswTlsobsSEiO71cZ5z/mViH2RMTk+oFvfmQPA4Xkmuy75rfAXjlrv0crzaP6pVyapiCWBHAIAAACY8aabRwAAgJLejV76LzPVe9vAZa6GBAINQ7PJ4NTiKhkThg7SklPH0UWWD4NxEjxjWmZi8Rx2HWP/SIlFvZd8r3ymPlPXRuW6xh6cwxa6KyGTZNvaqG7eftuVw8UbkwNb93jMnJ/Js4eL2HWJ/cprFIW+WivPo/m3z8AvkAzEvp3UAQAAAJjxyptHAAAAEb5U9asuEVhXQ9ZuODybBKbWn4Vbwk8pD1L3FA0NblkyCT7AcxJmTgsn7Ru6dcwDhqoci3oX+Ub5On2mro3KdY09OIctdFdCVpH9a6P6FfZbj/kZ8Fjd4s5Un5PzTEZd8ivlLByF3qOV50D+f7Zk8uGxT+aQAwAAAJjx7ptHAADws/Ri9Op/k6ne2wYuczUkEGjQDIjJOfM8YuH28FOGTtGSI8e5hfKchJnTwkn7hlzHahFjVf7w2ZBPky/SZ+raqFzX2INz2EJ3JWQ5+ZDUqh3d/Db8sfMz4LG6xZ2pPifnmYy65FfCXzUKvUcrz4H8a8jv1Eu+N/axnG0AAAAAMz5y8wgAAH7Nnhvk6r1t4DJXQwKBhjybNLRHTM6/cCr8rKFTtOTIcW6hPCdh5rRw0j6gW8Q8YKjEsajHks+RD9Fn6tqoXNfYg3PYQncl5FLyUdo4f1p+JWIfbkyOt+sWd6b6nJxn0rpUi5JLJvxVo9B7tApnFLTqd+olXxr7Ro40AAAAgBkfvHkEAAC/YPSuOaZ6bxu4zNWQQKChtbfUmk7Owqnws4ZO0ZIjx7mFyifBOAaeMS0zsXgIu4ixf5jEop5GvkI2r8/UtVG5rrEH57CF7krIHvJ12qh+o/22K4eLD+fwN3XPxszhmTx4uIJdlNgvO4XeoJXkQPI/Xy/5wNincZIBAAAAzPjyzSMAAPgwvRi9+t9kqve2gctcDQkEGrqzyYDUmk5UOZVY+BX4HUMHcsnpXfgrgPfyHIOZo8Ix+4BuEfOAoRLHop5Adi571mfq2qhc19iDc9hCdyVkM/lMbVQ/1n7rMT8Dnqlb2ZnSc2weyC5Kfiv8VaPQG7SSHEi+hnyvWPJdsY/SwHA4AAAAgB/H3xIAAOCVNtwUV29dY1exV1zjagaEZ848WE1uo5xt4RfhdwwdoSXnjUML4TkGM0eFY/YBuYjVCsZK/LqDIRuWfeozdW1UrmvswTlsobsSchf53tSqndv8NpyT+RnwTN3KzpSeY/NAdlHyW+GvmkZR5Uu1kjyafPsAvJF8UexbNDAcDgAAAODH8bcEAAB4pdE75YDqrWvsKvaKa9w8mzS0RzjnD4S0LJwKv2noCC05bxxaCM8xmDkqHLO361YwVuIc9eRTIZuU7ekzdW1UrmvswTlsobsS8gTy7do4ZyC/ErH8GJPj1bqVnSk9x+aB7KLkt8JZNaq8QSvJgeR/pl7yIbFP0MBwOAAAAIAfx98SAADglfRq+NJ/k6neusauYq+4xm1tL7XcyQmEtCycCr9p6AgtOW8cWgjPMZg5KjmWM/ZS3QoGSjxzoq4me5Mt6TN1bVSua+zBOWyhuxLyKJIEbVRTYb/tyuGCVH9J92DMnJzJU4crGEUpf82Fs2pUeYNWkgPJ15D3Fkv2H9u8BobDAQAAAPw4/pYAAACvtOFGuHrrGruKveIatzubDEgtd6ICIS0Lp8JvGjpCS84bhxYiHwPjDHjGVHHG3q5bwViJwyfqIrIf2Yk+U9dG5brGHpzDFrorIc8k2dBGNSf2W4/5GfBA3bLO1J0z80BGUfIr4S8ZVd5Ak2yUzJn89xZLdh7bswaGwwEAAAD8OP6WAAAAr6R3wZf+m0z11jV2FXvFNe7QbDI4tf54AsuQyW0HVgdKQ6dxydFdeP7xUp4zMHNOOGNvlyvYPR7++j7kVMg2ZHV9pq6NynWNPTiHLXRXQh5O0pJatUOb34ZTNz8DHqhb1pm6c2YeSItSrUiul/CXjCpfzciwUc2q1xVLNhzbqgaGwwEAAAD8OP6WAAAArzR6ZRxQvXWNXcVecY07M5vEppYvh+V4MfkVo6sDpaHzs+SwcWLhOQMz54Qz9mrd8sXqm6P2HwlZWhbVZ+raqFzX2INz2EJ3JeRFJEXaOCcqvxKxNBqT4726ZZ2pO2fmaeyK5LfCXzKqfLVWhgOZ15DnV0r2GdukBobDAQAAAPw4/pYAAACvtOHmt3rrGruKveIad9VsMk9qufMZCGlZOBV+0ND5WXLYOLHwnIGZc5JjOWBv1C19oL4zxylGVpSF9Jm6NirXNfbgHLbQXQl5I8mVNqoZs992TYbjmbplnak7Z+Zp7Irkt8JfMo2ixNdpVW3092t0/H6yw9jeNDAcDgAAAODH8bcEAAB4Jb3zvfTfZKq3rrGr2CuucdfOpmTO1Bq/fBeT+1k4FX7Q0PlZctg4schnwDgAnjFVHLC3s0sfq2/4OA2RVWR+faaujcp1jT04hy10V0JeTZKWWrVDm9/GEmtPjpfqnoqZYzN55LCcXZHA7zgl3kCTfM5wq7/lscWSjcW2pIHhcAAAAAA/jr8lAADAK41eDQdUb10DV7FX3OGuna1KlkitP57lypDJ7QVWB7Kho7jk3C48/HgjzwGYOSQcsFfrli8P8Bf30iMhk8uc+kxdG5XrGntwDlvoroR8hiRQG+c0Gq+c5mfA03RrOlN0DszTGBXJr5SzZJT4aq0MBzKvIc+plOwnthkNDIcDAAAA+HH8LQEAAF5pww1v9dY1cBV7xR3u2tk8ZMXU8qW9HC8mdzu6OpANHZ4lJy1Pwln9TZ5TNHPSOGCvZpcvdjBmjlOVTnjXAZPV89Jl+8A5bKE9q/wCyaQ2zvnMr0Qs28bkeKluTWeKzoF5GqMi+ZVylowSX62V4dHMP6dSspPYHjRQP+T2rwAAAADwOtw8AgCAV9pwJVq9tA3c5OY73IW7XTvbKFk9tcbv4sXkzhdOhV8zdHjmTxpnFZ4zED4nHLBX65YvD4idivCRkBkkVp+pa69yaWMbzmGr3JiQD5OsaqOaW/tt12Q4Hqhb05mic2CexqhIfiX89aLEV9MMt+r1okrJBmJLa+Do9wIAAACA4vIRAAC80oYr0eqlbeAmN9/hLtzt2tlmyE5Sy12OQEjLwqnwa4YOz/xJ46winwHjAHjGVHHAXs2ue6y44SMhgTJen6lrr3JpYxvOYavcmJBfIOlNrdpxzW9jJbAnxxt1j8TMmZk8b1hOK1ItR+y3mxJfqpXeQNqN0l9K1g0vyukCAAAAEMblIwAAeJ8917jVS9vATa6GBAINa2dbRXaVWn88OyxDJr9o4VT4NUOHZ/6kcVZ/nOcAzBwSDth7dWuXBwxVdihKBsswfaauvcqljW04h61yY0J+jaRaG+eEG6+c5mfAo+SCimpNZyrOaXkUuxzdk1ClUdT3Iq2Sjf5mjY6fJyuG19q/WwAAAACfweUjAAB4H70SvfpfY6qXtoGbXA0JBBrWznYR2WRq+Yo1Ot5QTiWenys8x9A5nD+0C4893shzAGYOSY7ldL2OXbvYqXCeN3mlz9S1V7m0sQ3nsFVuTMjPkpxr45z5/ErE6mJMjpeyazpTcU7LozgLLZz1or5X0wyf09vqb9lWKVkovATHCQAAAEAYl48AAOB9Ru95Y6qXtoGbXA0JBBrWzraBbDi1fIUrx4vJjx1dHVBDJ2f+mHFQf5znAIQPCafrvbq1ixU3Rx1CpF969Jm69iqXNrbhHLbKjQmBJF8b1RLYb7smw/FA1x0YTsujGOXIr5SzXtT3Uq30BtKuIdeVSeYPT84pAgAAABDG5SMAAHifq69rVfXSNnCTqyGBQMPa2TaTzaeWu4iBkJaFU+GnDJ2c+WPGQf1x+QAY1feMqeJ0vVe36IFTcTgP8mN+pt69yqWNbTiHrXJjQpBJFVKrdsLz21ilJsPxQHZNZyrOaXkUoxz5lXLWi/peqpXe0bRfVyaZOTwnhwcAAABAGJePAADgffRK9Op/jale2gZucjUkEGhYO9uN5ENS64/no8qQySQsnAo/ZejkzB8zDuov81R/5oRwul6qW7hYZTVKxkvjrvNQLm1swzlslRsTgiqpiDbOdTFeeeRwQdG/wT4SMwdm8rBhLaMc5e+1cNaL+l5K02sU664yyYThqTgzAAAAAMK4fAQAAO/TuuddqHpjG7vG1ahYbMva2Z5Dviu1fPUdHW8opxKfTC+uMHQI50/swjOP1/FUf+aE5FiO1rt0iz5UWRksw/SZuvYqlza24Ry2yo0JgU1Ko41zgfIrESufMTneyC7oTLk5Ko9ilCO/Ev5iUd/rdIs1WqYlNZKpYvNwVAAAAACEcfkIAADeZ+G1bEv1ujZ2h6tRsdiWtbM9k3xjavlqXY4Xk/kZXR0QQ8dm/oxxSn+Zp/rhE8LReq9cu2rhnMdGXukzde1VLm1swzlslRsTAiepkTaqlbLfdk2G42muOy0clUfRcthVFv5iGRNiUut3Z/R3anR8lUwSC1+yOgAAAIDfxOUjAAB4H70SvfRfY6rXtbE7XI2Kxbasne355HtTa/zWXkzmauFU+B1Dx2b+jHFKf5mn+nnM6PHgaL1Ut3CtIyH90qPP1LVXubSxDeewVW5MCEZJsVKrdvjz21hBJ8PxNHZB7bNk46g8x/IqU9xLtdI7mvaZMklsrLicDQAAAABhXD4CAID30SvRS/81pnpdG7vD1ahYbMva2d5Fvj21/njyUIZM5m3hVPgdQ8dm/oxxSn9Zrn6r9DPHg6P1UvapOJRVfszP1LtXubSxDeewVW5MCGZI4bRxLl9+JQLFnQzH0xhHRXUHtIQDsZxdi8AvNcW9lKb3nNtWf8voeCEhsZpyJAAAAACEcfkIAADeJ3D9Oqp6XRu7w9WoWGzL2tleTVKRWr4jMTresHAq/I6hYzN/xjilP8tT+pnjkWM5Vy/SrbgOkFfSuKuy5dLGNpzDVrkxIVhCKqiNah3tt12T4XiUbjXD5eacPIdRi/xKOYtFca/Tyu1ozofGy+BYKTkJAAAAAMK4fAQAAO+jV6KX/mtM9bo2doerUbHYlrWzfYakJbXcl/KpNX2cyqkE1YHH0AmcP64LDzzexVP68PHgXL1ULtyhatIvPfpMXXuVSxvbcA5b5caEYC0ppTaqBbXfdk2G41G61QyXm3PyHEYt8ivlLBbFvU4rt6M594yXMbEKamA4HAAAAMAv4w8JAADwPnrfeum/xlTvW2OXsFdc4K6d7ZMkRanlOyrleDGZ3tHVgaEzM3/AOKI/y1P6PGb0bHCu3uhQNfkxP1PvXuXSxjacw1a5MSG4iNQ0tWr/vMpvY3WfDMejdKsZLjfn5DmMWuRXwl8pinsdzW2rUktqJK9ihdPAcDgAAACAX8YfEgAA4H1Gr2UDqvetsUvYKy5w1872eZKu1PrjSV0ZMpnqhVPhRwydmfkDxhH9Wbn0rbrPnA3O1Rtp1aRe0rirauXSxjacw1a5MSHYQOqrjXOV8ysROAOT4XgU45yo7oCWcCCWM2oR+3XWKCq7XKtSgd+mc42kJ1YyDQyHAwAAAPhl/CEBAADe53y7ulz1vjVwCXvR7e3yCX+KZC+1fKdodLxh4VT4EUNnZv6AcUR/k6fuM2cjx3Konk+KJWXSZ+raq1za2IZz2Co3JgQ7SaG1US23/bZrMhzP0S1luNYckufQWlQLkcsknJWistdp5XY052XFpR2rlAaGwwEAAAD8Mv6QAAAA71Peq16ket8auIS96PZ2+YQ/SzKZWr4TNTresHAq/IihMzN/wDiiv8lT9/DZ4FA9n9RISqPP1LVXubSxDeewVW5MCG4hFU+t2j+s8tvYqZgMx3N0SxmuNYfkIexC5LfCWSkqex3N7Tmxrf4zGanDcmOUBobDAQAAAPwy/pAAAADv479+DavetwYuYa+4vV07GzJJbGq5L/dT689MURZOhR8xdFzz4PDRGv3twDd46h4+XRyqZ5K6SDn0mbr2Kpc2tuEctsqNCcHtpPraOJ8B45XHZDieo1vKcK05JA9hFCK/Us5KUdmLtBLrSbiM0be5MUoDw+EAAAAAfhl/SAAAgJfRW9er/x2met8auIS94vZ27WyokiSn1h9PwsuQyQItnAq/wH9glhwtzudvynVvFX3mYHConkNqISXQZ+raq1za2IZz2Co3JgTPIcdAG+fDkF+JwFExZsa7dEsZrjWH5CGMQuRXylkpKnuRVmLtCmpnbozSwHA4AAAAgF/GHxIAAOBl9LL16n+Hqd63Bi5hr7i9XTsbPCTnqeU7e6PjDQunwi8oD4wwzsySo8X5/EGeos8cjBzLibqF5F8yr8/UtVe5tLEN57BVbkwIHkjOgzaqp8J+a8uxgiP3at1jED4nMwcMCxmFKH+RhbNSVPYimthWmcp+6dEfc2OUBobDAQAAAPwy/pAAAAAvc75jvUL1vjVwCXvF7e3a2TBK8p9avnM4Ot6wcCr8COeZWXK0OJ8/yFP08MHgRN1C0i7Z1mfq2qtc2tiGc9gqsoQ878oJHksPhjofj/w2dnImw/EQ3TqGC80JeQijEPmV8JdJoyjrWq0ylf3S1re5MUoDw+EAAAAAfhl/SAAAgJfR29Wr/x2met8auIS94vZ27WyYIbVILd+ZLMeLmTounAo/wnlcR0911ZJJ8C6eoucxo6eCE7WNpFoyrM/UtVe5tLEN57BVdAl5pp85hzjJx+N8NoxXHpPheIhuHcOF5oQ8hFGI/Eo4y0RZL9JKrPZrp7RjadfAcDgAAACAX8YfEgAA4GXKS9XrVO9bA5ewV9zerp0Nq0hdUuuPp0ZlyGRNF06FX+A8MEvOFYfzB3WLPnMqcizH6QqSXkmsPlPXXuXSxjacw1Y5LyE92rh6abyOcTbyKxE4OZy6b+jWMVxoTshDaCGqVcg1Es4yUdaLnMskPfpjbozSwPPMAAAAANB1+f0mAADAWntuQqvXtYE73Hx7u3DDa2fDRaRMqeU7rqPjDQunwi9wHpgl54rD+YNy0VsVD58KjtMVJKuSTH2mrr3KpY1tOIetYu8ktTiH+K98NqoHw35r49R9Q/cMhA/JzOnCKnYVAr/FlPUK1axKZyzJGqhzUiYAAAAAQy6/3wQAAFhrw01o9a42doGbb28XbnjtbNhASpZavqM7Ot6wcCr8AueBWXKuOJy/xlPx8KngOK0imZQE6jN17VUubWzDOWwV5xIyTBtX7wfvkg+GOJ+NyWPDqfsA+4SIcJU5Hk9gVKEsvXCWibJeQbOqKZV2OLdUBwAAAEDM5febAAAAa5WXqhep3tXGLnA1KhbbsnY2bCblSy3fMR4db1g4FX6B88AsOVd5Ek7mj/Acm/CpWHImf5ZkT5Kmz9S1V7m0sQ3nsFVGl5DxqcUhxH/ls3E+GMYrj8lwPIRdx3CVOR5PYFQhv1LOMlHWi0hiwymlKAAAAABiLr/fBAAAWEsvQy/9d5jqXW3sAlejYrEta2fDjaSUqfWnW9bR8YaFU+EXlAfGOC3OYYb5GfA63aLPnIocy3FykoxJrvSZuvYqlza24Ry2yswSEquNqzeJdzEORn4lAseGI/cNdh3DVeZ4PIFRhfxKOcukUdR0FclnOJn8igEAAACIufx+EwAAYK0NF9PVu9rYBa5GxWJb1s6G55DKppbvhI+ONyycCp/nPC3zh4pj+YNy0VsVD58KjpOTJEryo8/UtVe5tLEN57BVZAl5Tq6ik6irN4wXyQejeirst7aZWDzHRSeE4/EERhXyK+GsETVdRTIZziFVAAAAABBz+f0mAADAWnoZeum/w1TvamMXuBoVi21ZOxv+Xzv3uq26qqUB9LR6/4cuapKVQ3lBMoBce//hzlIgBD6cEW37nNIsL0dtad9avmJgU9xeY1r6QyWWT9My4+FUiFNFGpw0JvlxeWpf5akr3WgsNko+RXpc/t2dnLWp2T3nQuoB68nMwOhyoHoGwgnpiRajVGYhsH7Naac0gOGhM/gAAEDM9P1NAICx8mbo1HuYj3u1sQ3cXCtW95uxrXF+acaXo7bkby1fMbApbq8xLf2hEsunaZnxtczWSIjTizQgaRzy4/LUvspTV7rRWGyU91OkZ/JB56lHtcPNVILRmRmRu4H6JIanWDbOIM9CfWaTxjkypzFp3MIjZswBAICY6fubAABjVbazR/m4VxvbwM21YnW/Gdsa15Jmfzn68zMJW8tXDGyK2yvTUolKY7GK/ha4lp8z3hOJte6Ts5QGIV1+flye2ld56ko3GouNUu/JctSXnFHtcDNrMN5T0ZmZSstcRX0Sw1PcGS36VeaunJ2kcYLCYXimNFzhgTLUAABAzPT9TQCAsfJm6NR7mI97tYEN3FwlULFueINcVwrDctS2KLaWrxjYFPfWGJX+RMnk06wz/m26w5F4cpbStadLzo/LU/sqT13pRmOxUdIp0uPPs+RiSWd/RrXDndRT0ZMZebsB8biryvivL2WNE2RCW6RRCo+PEQYAAGKm728CAIyVN0On3sN83KsNbODmKoGKdcMb5B5SMJajtgWytXzFwKa4t8ao9CdKJh+lZbrDkXhaltL1psvMj8tT+ypPXelGY7FR8inS4/LvX2FoL1k3qh3upJ6K9dVAYOTtBuoBGBIP2ThEZfzLlZs0TlCuZTa/SeMTGxwrBQAAiJm+vwkAMNYOu8wfN2oDu7e5SqBi3fAGuZ8UkuWobbFsLV8xsCnurTEq/YmSyUdpme61zNY8PCFL6RrTpeXH5al9laeudKOx2Cjvp0jP5IOfp24vWTeqHe6kkorOwMjb1dVnsGd+ZeNYlfFfX8paJshsfpNGJjYmhhQAAIiZvr8JADBQ3gmdfQPzcaM2sHubqwQq1g1vkHtLgVmO/vwMT1m+M2kDm+LeGqPSnyiZfJSf092Th7XuzYKUritdUX5cntpXeepKNxqLjVLvyXL0KwztJetGtcOdrKl4j0RnYCotcwn1GeyZX9k4VmX815eSxtkxmy/SgMSGwkgCAAAx0/c3AQAGyjuhs29gPm7UBnZvc5VAxYqxrfFAKULLUcNSKgsnPdkb2BT31hjRTUn+qL8FLmSd7m9zHc7DzYKULiddRX5cntpXeepKNxqLjdJ4ilQsH/ws3F6yblQ73MYaieQ9FT2BEbarq8+gbFxXZfzXl5LG2TGbWRqH2AgYQAAAIGb6/iYAwEB5J3T2DczHjdrA7m2uEqhYMbY1Hi7FaTlqW1Zby1cMbIoba8xJf5wE8jla5jqchxsEKV1C6nl+XJ7aV3nqSjcai42y9RSp/HL0KwntJetGtcOdrKl4j0TlpZ+E7erqsz8kG4JxiDz+9WlNGmfn4bOZLj924bliuDoAAPBYPkUAAFeSd5Bn38B83GkNbL/O2Lcd2xqsUrSWo7YltrV8xcCmuLHGnPTHSSCfo2Wuw3m4aJBSt1Nv8+Py1L7KU1e60VhslJ5TpLr54GcL7SXrRrXDbVQisb6UBAIjbJdWn76eyRWMA1UGf30pa5ydZ85muurY9eaK4eoAAMBj+RQBAFxJ3jiefQPzcac1sP06Y992bGvwUYrZcvTnZ+TK8p35HNgUN9aYk/44CeRztMz1WmZrGMIV95e6mjqZH5en9lWeutKNxmKjDDlFamQ5+pWE9pJ1o9rhNtZIfMxD/dW6nrocTjBuqTL460tZ4+zkWg+ZynSxsSvNFcPVAQCAx/IpAgC4kn32iz/utAa2X2fs2+YRSGYPAqzW1CU/g1cWTnqCOrApbqwxn5ti/FF/C1zFz7kOh+H8KUo9TB3Lj8tT+ypPXelGY7FRhp8iNZgPfjbbXrJuVDvcw5qH5D0SPWmRtEurT59gXFRl8NeXspbZechUpsuMXWCuGK4OAAA8lk8RAMCV5J3iqTcwH7dZY3uvM/Zt19bSQX4mGdg+1G0N3sCgyjw/NYakP0vS+BzrXH+b6HAYzpmi1KvUmfy4PLWv8tSVbjQWG2XeKVLLy9GvGLSXrBvVDrexRuI9D5WXfuqpy+Hq0ycYF1UZ/PWlrGV27j2V6epi15UrhqsDAACP5VMEAHAleYN46g3Mx23W2N7rjH3bb91bjv4MPB1UlMFrSd3W8hUDm+KuGkPSnyVpfIiWiQ6H4TwpSj1JHciPy1P7Kk9d6UZjsVH2GZB0luXoVwzWkp29GtUO91DJQ3s43/XU5XD1d4khwZCK/VUGPzCnt5zKdFGxy8kVw9UBAIDH8ikCALiSvC889Qbm4zZrbO91xr5tS2upzHLkuxD2UqYu2TOlAs9PjSHpz5I0PkTLRK9ltiYhXHGIdPZ03vy4PLWv8tSVbjQWG2X/AUlnzAf1867Fkp4ejmqHe6jHrzGcH/XU5Vg/5y48uVJxoMrgry8ljVNzp6lM1xK7ilwxXB0AAHgsnyIAgCvJ28FTb2A+brPG9l5n7NtubS2VX47+DOwJVJTB+5m6gSnddF6eqTEk/VmSxof4OdHhJBwSoXTSdK78uDy1r/LUlW40Fhvl2AFZjn7FYC3Z2dVR7XAD9fj1REXMruvn3IUnVyoOlAf/feTXSckap+YGU5kuIdb5XDFcHQAAeCyfIgCAK8m7wFNvYD5us8b2Xmfs23a2lqovR74UYS9bUzcqpWU7icDzrjFs/ZkclWpObp3ob7McTsJuEUonSu3nx+WpfZWnrnSjsdgoBw5IKXUjH9Q7sxZLero9qh3uoRK/xmR+1FOXY/2cu/DkSsVRKiO/vpS0z0uudcV5TD2PdTtXvO6FAwAARznF5iMAQKMd9kA/7tLGtm7XfduBHc4jkPS3uTaVDewkfFOmriVyW8tXDGyKW2pMSH+QRPEJWmY5nIS14oz8pMZTs/lxeWpf5akr3WgsNsqBA/JR6s9y9CsGa8nO/o9qhxuohKE9me966nKsn+8P4TeQcEU6VUY+MClXnMfU51hvc8V8yRe6XgAA4HDn2nwEAKjbYQ/04y5tbOt23bcd2OG1tXSQn0mGtD+8QagrI5f8TN3AiEo7dY0J6Q+SKD5ByyyvZTbFYEZ+Upupqfy4PLWv8tSVbjQWG+XAAfkp9S0f1Hu4Fkt6rmVUO9xAPXuNyfyopy4H+vn+EJ5ZkThKZeQDk3KheUxdjXUyV8xXev7LBAAAzuO8m48AAO922AP9uEsb27pd920Hdvhb95ajP/2nG94g/FSm7mfkNhWuG9gUt9SYkP4gieIT/JzlcAxG5Se1k6rnx+WpfZWnrnSjsdgoBw5Iu9TJ5ehXBtaSnRc1qh2urp69npzI2HXV5y48syJxlMrIBybl/POYehjrW66YL/C0VwcAAJzQBTYfAQBWO+yBftylDWzdrpu2Y3vb0mAqsxwNGqvhDULdpsiVhZOeiA5siltqTGb/e2Z/C5zfOsvfpjgcg578pLqpSn5cntpXeepKNxqLjXLggMSkDueDerfXYknPBTaejieohKEnJzJ2XfW5C8+sSBylMvKBSTntPKaOhbsknAAAQMDFNh8BgIfL26BTb2A+7tIGtm5zlUDFujwCSWOza/msvzPDG4S6MnItedtavmJgU9xPYzz6UySHt9cyxeEYrBUba6XyqWR+XJ7aV3nqSjcai41y4IB0Sj1fjn5lYC3Zc6Xtp+P2KonqyYmMXVf9Tab+akW4Ip0qI59f2jQjZ5vH1J9wT2QSAAAIuOrmIwDwQIEt4ICPu7SBrdtcJVCxbm0wHeRnkvZTxGpVDG8QKsq8JT8jNzCfok5FYzz6U7S2IIR31RKSWAzaU5pezY/LU/sqT13pRmOxUQ4ckIHSVeSD+rWsxZKeq248HbdXT0JPTmTsoiZFQh6Okkf+fdhjM/KttZ2lboT7IIoAAEDAHTYfAYCH2Gcb9+MubWDrNlcJVKz71r3l6E/jGWO1KoY3CHVl5H7mbVPhuoFNcT+N8ehMkRA+wc9ZDsegUjG9lJ7Jj8tT+ypPXelGY7FRDhyQGdLlLEe/krOW7Ln89tNxb/Uk9IRtSFDZX33iwtMqD4eoDHtgRg6fxNSB8KklEAAACLjV5iMAcG95D3T23cvHXdrA1m2uEqhY19JgKrMchfbHkyF9Ht4gVGzKW1k46cmnnFPRGI/OFAnhE/yc5XAMXiqmf66Py7P7Kk9d6UZjsVEOHJDZ0qXlg/oFrsWSnqFoPB23V0lCT0gE7KLqExeeVnk4RGXYAzNy1CSm84bPKHgAAEDAbTcfAYD7yXugs+9ePu7SBrZuc5VAxYpYN5ajP43VY7UqhjcIFWXeWsK2tfw3ck5FY8w60zgqzJzZOsvfpjgcg1wxVUkHR+WnPHWlG43FRjlwQHaTrnE5+hWbtWTPmLSfjnurxKknJENSyv7qExeeVnk4RGXYAzOy8ySm04VPJG8AAEDA/TcfAYDbyHugs+9ePu7SBrZuc5VAxYr+1lILy9GfxtbKWkMuZ3iD8M3WzA8Mp5zzTWM2OiMkgbfXMsVrmcYMpPKpZH5cntpXeepKNxqLjXLggBwiXW8+qF/1WizpGZ/G03Fv9TiFQzIqpeysPuP9eRCGPVWGPTAj+0xiOku4fTEDAAACnrX5CABcWt4DnX338nGXNrB1m6sEKlaMbS1JDS5HzQNbVkn6+zO8QajYlPnAAvlmYFPcTGM2OiMkgbf3c4rbk5ZezY/LU/sqT13pRmOxUQ4ckGOlC1+Ofr11rCV7Bqr9dNxbJU49SRuSUnZWn7XwnArDISrDnl/aNB1TJzE1Hm5WugAAgICHbj4CAFcU2M8N+LhLG9i6zVUCFSvGtvYiNb4c/Wk8UaxWRdngvIuFZFPYBiZTyPmmMRudEZLA2/s5xZUC6aX0TH5cntpXeepKNxqLjXLggJxHGoTlaOYb1Gptx8g/WSUGPQmRriuqz1p4ToXhEN+GPTYdudbwGUzNxtoUKgAAIMDmIwBwGZP2ZEsf92djm7a5VqzuN2Nbq0vnWo62jHms1jdla8lu184DbYruwGSOXTLcSWM2OiMkgbe3TvG3+X3JQPrn+rg8u6/y1JVuNBYb5cABOac0IPmgPiyNxerWRhKz8FiVLPUkZEhE2Vl91sJzKgyHyMP+PuaB6Rg+g6nBWFOyBAAABNh8BAAu49vG7kAf92djm7a5VqzuN2Nba5fOuxz9aexDrFZF2eAh48BDbI3uqGQOXzLcRmPGOqM4KsmcU8v85jLp1XRwVAbKU1e6sb60T1cPHJCTSyOzHM18d1qt7ZiOx6pnKZyQURFlT/Xp7g+DJOymMuaB6Rg1g6mdWAsiBAAABNh8BAAuI++BTr17+bg/G9u0zbVidb8Z21pY6sZyFNpDT/qvomwtOcOwcFebojsw52OXDLfRGIzO/IjfvVXmN72UnsmPy1P7Kk9d6cb60j5dPXBALiSNUj6oj1Vjsbq1kcTUPFYlSz0xGxJR9lSfsvCESsL+KmMemI7OGUzVeyqGqwMAAM/kIwQAcBl573Xq3cvHDdbYruuMHduxrQ2RurQc/WnsXqxWRdng2YaIO9mUtIGxlHA+agxGZ37E795e5jf9c31cnt1XeepKN9aX9unqgQNyRWm4lqOZb02rtR1z9FiVDPTEQ7Qupz5l4QmVhP1VxjwwHbEZTLViM54rhqsDAADP5CMEAHAZect16t3Lxw3W2K7rjB3bsa3NkHq4HIU205P+CyxbS04+YlzXptwOjOXY9cJtNAajMz/id295ftPMpoOj5rc8daUb60v7dPXAAbm6NHT5oD6Aa7EkPNRDGuHSKnnriUdjjDmP+pSFJ1QS9lcZ8/zSprnYNIOpcGyic8VwdQAA4Jl8hAAALiOwObvVxw3W2K7rjB3bsa3Nlnq7HP1p7HmsVkXZ4IVGj2vZmttRsRy+XriHxoB15nBUjDmVNK1pNvPj8tS+1lPX+9BYbJQDB+Q20hguR7/eMdaSPWM+pBGuq563cDzk6nLqUyYJF/JtzGNzkWvVq6QysfnNFcPVAQCAZ/IRAgC4jJYN1k4fN1hju64zdmzHtraz1Pnl6E/jhZS1+q891gfYalNuB4Z87HrhHhpT0Rke2buNNJVpBvPj8tS+1lPX+9BYbJQDB+SW0njmg/qorsWS8PgPaYRLq+StMYrv5Opy6nPdnwQx2M23MQ/Mxc9UxKY1VwxXBwAAnslHCADgMvLW6tS7l48brIFd10nbtcMbPFC6luWoeU7LKkn/UAT6AFttitnATIo37xpT0Rke2bu0NH1p1vLj8tS+1lPX+9BYbJQDB+Te0sAuR7/eLtaSPRMxpBGuqxKAnmzI1bXU5ys8m2Kwvzzm7wMemIuPVdKTsdnMFcPVAQCAZ/IRAgC4jLyjOvXu5eMGa2DXddJ27fAGTyJd13L0p/Eay1r9wxLrA2yyKWYDEz52sXAPjanoDI/sXU6asjRT+XF5al/rqet9aCw2yoED8hxpkPNBfajXYkl4UhrPxV1VAtATMLm6lvp8hWdTDHZWGfDAXOQquXw6jk1irhiuDgAAPJOPEADANZS7qPN83GAN7LpO2q4d3uA5pctcjppnvKyS9I9SoA+wVXvMBiZctnnXmIrO8MjeJaRpSrOTH5en9rWeut6HxmKjHDggD5RGezn69V6xlgzPTvu5uKV6AMIB608me6rPlxhcRWXAN81FKpyLrQdb5Yrh6gAAwDP5CAEAXEPeb5196/JxgzWw6zppu3Z4g+eXLnk5+tN4+WWt/hGL9QE22RTaUQmXbd41pqszhKMyzHBpatKM5MflqX2tp673obHYKAcOyMOlkc8H9fFfiyXhmWo8F3dVCUA4G0OSyW7qE90fAxnYR2XAW+Yilcmvrgdb5Yr5XLEWAACAB7L5CABcwz5bnx/3ZwObtut27dgOD2/wctIILEfNYSirJP0DGOgDbLIpYwMDKdu8aIxEZ3IE71TSdKRZyI/LU/taT13vQ2OxUQ4cELI0BcvRrzeKtWR4ytrPxS1VItSTjf5kspv6RIenUgZ2Vhnw/NLHiUgv5efXg61yxcopAAAA3tl8BACuYZ+tz4/7s4FN23W7dmyHhzd4aWk0lqM/jSNT1uofzFgfoN2mjA2M99iVwg00RqIzOYJ3uDQFaeTz4/LUvtZT1/vQWGyUAweEd2k68kF9UtZiSXj6Gs/FLdVnP5wNobqWynzJwFV8G/CPz6cn8z/Xg61yxdx4rAUAAOCBbD4CANewz9bnx/3ZwKbtul07tsPDG7yTNDjLUXNOyipJ/9gG+gCbtGdsYLwFmxeNkehMjuAdIg17Gu38uDy1r/XU9T40FhvlwAGhIs3LcvTrXWItGZ7H9nNxP/XZD6erP5bsqTJfMnAV3wa8fD4d51fXg61yxdxmrAUAAOCBbD4CANewz9bnx/3ZwKbtul07sMNjW7u3NFbL0Z/GcYvV+mZsa/CuzNjPgG0qXCHYvGiMVmcCRwWYn9JQpxHOj8tT+1pPXe9DY7FRDhwQGqU5ygf1mVqLJeE5bTwXt1SZ/XAwhsSS3UzNgADsIw/4txnMz6fj8HSYUAAAYCubjwDANXzbXR3r4/5sYNM2VwlUrBjb2qOkoVuO/jQOY1mrf+THtgYvNgVsYBoFm1JjHjpjI3VTpeFNo5ofl6f2tZ663ofGYqMcOCBslSZrOfr1FrGWDE9u+7m4n0p+eoLRH0t205IBATizj6Odnsz/XA8CzCMAALCVzUcA4Bry7ufsW5eP+7OBTdtcJVCxYmxrT5ZGcjlqTlRZJemciLGtwYtNAQssh28GNsUNNOahMzZSN1wa0jSS+XF5al/rqet9aCw2yoEDQo80ccvRzDeibG1EVJ6mnp9wMCTqQiqTVY9HhQDs6eNopyfDg2/6AACArWw+AgDXkHc/p966fNycje3Y5lqxut+MbY0sjepy9KdxhMta/ZMytjV40R6w2HL4SKopNeahMzZSN0QaxjR6+XF5akfleet9WF/dp6tHDQgDpUnMB/WpbCxWsbaQiM3TVPITjlZ/JtlNfbJiUykAe8qjnYc6HYfH3KwBAABb2XwEAK6h3EWd5OPmbGzHNteK1f1mbGt8lAZ5OWoOW1kl6Zyjsa3Bi00JDyyHj0a1wz005qEzNlIXloYujVh+XJ7aUXneSh8aiw101IAwQ5rN5Wjmu1C2NiI/T1OZ+nAqxOlC6pMVm0oB2Fka8PBQmywAAGArm48AwDXk3c+pty4fN2djO7a5VqzuN2Nb46c04MvRn8bBL2v1z9fY1qC0KV2johhbVtxVY64647dWl7cWabjSQOXH5akdleet9KGx2EBHDQizpZnNB/X5bSxWsbaQyNKjVMITToU4XUj93aP+6jexWmyVxjk8wuYIAADYyuYjAHANefdz6q3Lx83Z2I5trhWr+83Y1tgqjf9y1JzDskrSOX1jW4PSpnQF1sI3A5vi6hrD0JMZeWuRRikNTn5cntpRed5KHxqLDXTUgLCbNMXL0bS3oNXaiFA9Sj084VSI01XUZyo2j2Z/qjS84YE1NQAAwFY2HwGAa8i7n1NvXT5uzsZ2bHOtWN1vxrZGjzQXy9Gfxnkpa/VP5djWoNSeroE5FGlWjWHoyYy8fZNGJg1Iflye2lF53kofGosNdNSAcIg03fmgPumNxSrWFhIBe5RKeMK56g8k+6jPVGwezf4MaVTD42lGAACArWw+AgDXkHc/p966fNycje3Y5lqxut+MbY2B0tQsR80RLasknTM7tjUotcd7YA4Da4q7agxDT2bkrZRGIw1Cflye2lF53kofGosNdNSAcKw078vRtPef1dqIpD1KZd7DkZClq6jPVGwezf5AaTDDw2giAACArWw+AgDXkHc/p966fNycje3Y5lqxut+MbY1J0jQtR38ap6ys1T/LY1uD1aZojcphbE1xS42h6sneqNxeVxqBdOH5cXlqR+V5K31oLDbQUQPCeaQM5IN6EhqLVawtJFL3HJXkhCMhS1dRf9+ov/pNrBYv0jDGBtD4AwAAW9l8BACuIe9+Tr11+bgzG9iuzVUCFeuGN8gO0qwtR39aZjBQpWJsa7DaFK2y8MBIy/OTNSahJzDPDFu66nSx+XF5akfleSt9aCw20FEDwgmlMCxH0958Vmsj4vcc9eSEIyFLl1CfptgkmvoeafRi42bYAQCArWw+AgAXkLc+Z9+3fNyZDWzX5iqBinXDG2R/aRKXo+Y8B6pUjG0NVu3RGhhCeSZrTEJPYJ4TtnSl6QLz4/LUjsrzVvrQWGygowaEk0vByAf1eDQWq1hbSETxOSrJCYeqP43soD5NsUk09QFp0GLDZbQBAICtbD4CABeQtz5n37d83JkNbNfmKoGKdcMb5FhpQpejPy2TG6hSMbY1WJXRqudqYAjbT8q9NSahJzD3Dlu6unRR+XF5akfleSt9aCw20FEDwlWkhCxH0955VmsjMvkclUkP50GQLqE+TbFJNPXt0ljFRilXDFcHAAAeyOcHAOAC8v7y7PuWj1urgf3WSRu1wxvkVNL8LkfNUQ9UqShbS4SNITaldFSkxy4NrqsxCT2BuV/Y0hWlC8mPy1M7Ks9b6UNjsYGOGhCuKKUlH9Qz01isor8FLqcy6etLyaZICNIl1KcpNomm/qc0RLHByRXD1QEAgAfy+QEAuIC8rTz7vuXj1mpgv3XSRu3wBjmtNNfL0Z+WeQ9UqSsbFDyG2JTSUQkcvjS4qMZE9QRvVGiPla4idT4/Lk/tqDxvpQ+NxQZKZ0mPh4wJ15Vjk1XC01isor8FLqc+6eurm/IgSJdQn9zOqTfvL9LIxMYkVwxXBwAAHsjnBwDgAvJu8uz7lo9bq4H91kkbtcMb5CrS1C9HzasgUKWibC2RQ4ZoT+nAPI9dGlxUYwx60nLdpKWepw7nx+WpHZXnrfShsdhA+Szpcfm3NxA2WsNTT05jsYr+FricyqSH8yBI51efo9gMrrUSU5+kAYmNQ64Yrg4AADyQzw8AwAXkTeTZ9y0ft1YD+62TNmqHN8gVpRgsR39aIhGoUlc2KJMM0R6qgfGTZJLGGPSk5VpJS71NncyPy1M7Ks9b6UNjsYHez5KeWY68gbBFY3L6AyaiD7RO+vuMV16qC1dkN/U5MvU90iDELj9XDFcHAAAeyOcHAOAC8sbx7PuWj1urgf3WSRu1wxvkBlIqlqPmBVJWSTpDNbY1SNpTPTB+gaXE/TTGoCct509a6mHqWH5cntpRed5KHxqLDVQ/S3p1OfIGwhaNyVmLhdPV3wLXUpnx8PuVFJ1ffY7CM/jkqU/XHrvqXDFcHQAAeCCfHwCAC8j7xbPvWz5urQb2W2ds1I5tjVtKIVmO/jQGpqzVn7GxrcGmVI+KnxiTNMagJy3nTFrqVepMflye2lF53kofGosN1H6WVDIf7NAr7qQlOWuZJBaw/ha4lvqMx96vpOj86jMbm/ckXPG60iXHLjZXDFcHAAAeyOcHAOAC8jbx7PuWj1urgf3WGRu1Y1vjCVJmlqM/LfkJVKkY2xokZajqiWovWSfGJI1x6kndqMT2Sz1JHciPy1M7Ks9b6UNjsYECZ0lVliNvHWzRmJy1WDhd/S1wLZUZD4dBik6uPkHm/ad0pbFrzBXzQN1+lAAAgCH22OIEAOi0w6bnx23Z2F7tulE7sMNjW+OBUoSWo+alFKhSMbY1aE/UwOyJMY0Z6InKsTFLZ08nzY/LUzsqz1vpQ2OxgTrPkqovR9462GJNTiU2/emSz6ep5Kolch+FK7KP+jI379+kC4xdWq6Yx+eugwMAAIy1xxYnAECnHTY9P27LxvZq143agR0e2xoPl+K0HP1piVagSsXY1qBMVD1OA7PXflLuqjEDPVHZP2bpjOlE+XF5akfleSt9aCw2UDpLehxyotxUtkPPuYfG2KzFwtHqb4ELqeQq/E4lQudXmaPw9N113tN1xa4oV8zDcrMxAQAAJtljixMAoNMOm54ft2Vje7XrRu3ADo9tDUopXctR8yoLVKkY2xoPV8YpqSdqVPZkmMYM9ERln5ils6TG8+Py1I7K81b60FhsoHyW9Lj8e9AUrA3ucAncRkts+rM6PO2cXCVXsXcqETq/4ZOehCueU7qc2IXkink07jEUAADAbHtscQIAdNph0/Pjtmxsr3bdqB3Y4bGtwTcpacvRn5bUBapUjG0NykTV49Resk6GacxST+RGxfVdajk1mB+Xp3ZUnrfSh8ZiA72fJT2zHI2YgrGt8RCNsVmLhaPV3wIXUpnucBJE6ORM+jfpKsL9F3sAAGCTPbY4AQA65X3PqfctH7dlY3u1uVas7jdjW4NGKXjLUfMCDFSpGNsaD9cep4HBk+GHawxAT07GZiy1lhrJj8tTOyrPW+lDY7GB6mdJry5Hg6ZgOfKmQbM1NlODKpyPUglVS94+CldkHyb9Rep8uNvSDgAAbLLHFicAQKe87zn1vuXjtmxsrzbXitX9ZmxrEJBCuBz9aQlkoErF2NZ4uDJO9Sy1l/xpYFNcUWMAenLSn7HUQqqYH5endlSet9KHxmIDpbOkx5YT5ZJZf8fGtsYTNGZmLRbOVX8LXEUlVOH3KPk5ucoEhefuipOe+hzurZADAACb7LHFCQDQKe97Tr1v+bgtG9irzVUCFeuGNwidUiaXo+a1GahSMbY1nqzMUlKJU3vJnwT44RoD0JOTWN1UKxXOj8tTOyrPW+lDY7GB8lnS4/LvtiFdyw/p4djWeIKWzGxN9bv+FriQSqhi71GxWuxm+IwnF5r01NVwJ2UbAADYZI8tTgCATj17po0+niJw3lxleId3GAEIS/lcjv60ZDVQpWJsazxcGad6ltpL1o1qh4tqDEBPTjalOhXIj8tTOyrPW+lDY7GB3s+SnlmOGqZjU+GfxrbGEzRmZi0WzlV/C1xFZa5jMWhMKUcZPuNJuOJuUg/DfTv/1QEAAKeyxxYnAECPvOk5+6bl47ZsYK82VwlUrMuDkMweB+i3xjVrCW1ZpT/kY1vjydqzNCp1geXDnTQGqSdv9br51aOCl86+nro8ftFYbKD6WdKry1HD0G0q/NPY1niCNTOjIv2RZD5HJVHhGLSklKO0zPjWiTvtjKeOhbskxgAAwCZ7bHECAPTIm56zb1o+bssG9mpzlUDFurXBdJCfycaeBWYoQ9uS2LEht2QYpT3JWzNfMbApLqdx9ntC8lI3/XN9XJ7dV3nqSjcaiw3UfpZUcjlqmI5NhX8a2xq31xiYtVg4VP0tcAn1RMViIDxnVpmd8MSdbcZTf8I9kV4AAGCTPbY4AQB65E3P2TctH7dlA3u1uUqgYt23BtPzy9GfsSeF4QKJLav0J3xsazxWe5IHvktL75M1zn5PSHLdVCsdHBWw8tSVbjQWGyh2llQrH7TU3VT4p7GtcXstgVnLJLFcieVzVOY6FgPhObPh052cZMZTN8IdEFoAAGCTPbY4AQB65E3P2TctH7dlA3u1uUqgYl1jg6nYcvRnbB9guDKx+yfcemGU9iRvzfw3o9rhihpnPxCSVCWVzI/LU/sqT13pRmOxgTrPkqovRw1zsanwT2Nb4/YaA7MWi4VKLJ+jEpVYioTnzIZPdxKuOEQ6e/i8x/YcAAC4nD22OAEAeuRNz9k3LR+3ZQN7tblKoGJdrMFUazmyZczplXFNWhIbqFJhvTBEe5BGRW7sQuBaGlPUXiy9mh+Xp/ZVnrrSjcZiAw08S2pqOWpYrZsK/zS2NW5vDUwlLf2hajkLN1CZ6HCKhOe0WqZ766wdMt3ppOHTyScAALDJHlucAAA98qbn7JuWj9uygb3aXCVQsa6/wdTCcvRnbPdguDKxjXENVPnGemGI9kxOSq/oPkrj1FeKpZfSM/lxeWpf5akr3WgsNtCks6Rml6OG1bqp8E9jW+PeGtOyFoslSiYfoj7RsRR1Zo95KlMTnrWdpzudLnYisQQAADbZY4sTAKBH3vScfdPycU82sFGbqwQqVuQRSGa0mQ1sGYYLxHVswsvWLBZi2jM5ML2i+1iNU/9SLP1zfVye3Vd56ko3GosNtMNZ0imWo4bVuqnwT2trO4wkV9eSvf58yuRDVCY6lgHJOa2WuU5OON3pLLH2pREAANhkjy1OAIAeedNz9k3Lxz3ZwEZtrhKoWLc2u/z7z8BTzGsZhivj2pjVQJVvLBaGaM/kqPQOXAVcS+O7Vi6WXk0HRyWkPHWlG43FBtp5TNLp8kHLSTcVrlubSva8Xi6qJXud+ZTJh6jkJBahzuAxT31qTjjdqfFYs0IIAABssuvmIwBAQN70nHrT8m1DNrBRm6sEKlZUurcc/Rl7xuXoz8CWYaxAVsfGu2zNSiGmPUWj8ia3T1aZ/fRSeiY/Lk/tqzx1pRuNxQY6akzSeZejhqW6qfBPY1vj3lrS0p+otQWBvLHKLMci1B88Jqmv6Nh6j9WqS23GWssVw9UBAICn8eEBADi7vAM79abl445qbJt1xhZtY2up2HL0Z2wHlqM/A1uGsQJZLat0ZttKoV97IEdFV26f7CVF6Z/r4/LsvspTV7rRWGygA8dklfqwHDWs002FfxrbGve2pqUSlZYyFQL5BPVZjkWoM3hMUp+Xw+c6NRVrJFcMVwcAAJ7GhwcA4OzyxuvUm5aPO6qxbdYZW7R5BJJNba61shn9yQa2DGOVWW0J6thsbz07vGgP5MCwye1j5alPk54Ojpr68tSVbjQWG+jAMfko9Wc5alinmwr/tLZ2qgHhhFqC1x9OgXyCyizHAiA251Sfl6PmOrUQq5srhqsDAABP48MDAHB2eb916k3Lxx3V2DbrjC3atbV0kJ/JNp2irDuwb0lPr2A3gaAOXDWWCf0aAzkwbAOXAJeQZjxNdH5cntpXeepKNxqLDXTgmPyU+rYcNazTTYXrBjbF7a1pqUSlpUyFQD5BJSSx/HSmjknq87LzXKeKsXjkiuHqAADA0/jwAACcXd5mnXrT8nFHNbbNOmOL9ltr6fnl6E/7GcMVW5SNj20ZBtoa1LGrxjKhU3uERoVNaJ8gzXKa3Py4PLWv8tSVbjQWG+jAMdkk9TMftPR2U+G6tankEgPFUVqi0h+ngdnmnCohieWnP3XMUF/LsZW+tVYqH4tErhiuDgAAPI0PDwDA2eXd1ak3LR93VGPbrDO2aBtbS8WWoz/tHQhX/GleyzBQIKhllc5gWyZ0ak/jqNwK7V2lmU2zmR+Xp/ZVnrrSjcZiAx04JjGpw8tRwwrdVPinsa1xY2tUKjlpKVMhjU9QCUksP52pY4b6pEyd6FQsloRcMVwdAAB4Gh8eAICzy5uqU29aPu6oxrZZZ2zRhnuyHP1pbyFc8ad5LcNAZVBbUjo22FvPDqX2NA5MmtDeRprKNIP5cXlqX+WpK91oLDbQgWPSL3V+OWpYoZsK/7S2dt3RYwctqetPpjTeXmWKY7MvMydUfyuYMdHp1VgAcsXceKwFAADgUS68+QgAPMQO250fN2QDu7Tr/uzY3g5pMDWyHP1pbzBc8ad5LcMogZSWVTpTbY3QqTGNA5M2MP/sL01fmrX8uDy1r/LUlW40FhvowDEZK13IctSwQjcVrhvYFPe2RqWSk5YyFdJ4e5WExMLTGTkm2Wei05Oxec8Vc5uxFgAAgEe5yeYjAHBX++x1ftyQDezSrvuzYzs8vMEktbkc/WlvP1zxp3ktwyhbUzo21WVrFghbtednVNIk9nLSlKWZyo/LU/sqT13pRmOxgQ4ck3nSReWDlktbCyedQzGwKW6sJSf9Wdq0CricSkJi4emPHDNUFnJsjedauUo6js11rlg2BQAAUHHDzUcA4E722ev8uCEb2KVd92fHdnh4g+/SKZajP+2nC1f8aV7LMEqZ0paIbi1fYYHQoz2Ko0I7MPzMk6YpzU5+XJ7aV3nqSjcaiw104JjsIF3dctS2PNfy/WOy9dQ8U0vkOmMpirdXSUgsPJ2RY4bhs5ykirEpzhXzeYUEAAD46c6bjwDADeyz1/lxQzawS7vuz47t8PAGf0pnXI42Dn5ZMRnY7XktwxBbIzo20uE1C+1RHBWzseFnoDQ1aTry4/LUvspTV7rRWGygA8dkZ+lKl6OGtbmp8E9raw8ZagJaItcfS1G8t8r8xqZeYE6of5ZTsVxgPQiQDQAAoN1TNh8BgIvK252z71g+bsgGdmlzlUDFuuENbpLOvhz92dSTnrp181qGIcqItuRza/kKq4MejVGclFhxPVaaizQF+XF5al/lqSvdaCw20IFjcqB01ctRw9rcVLhuYFPc2JqTSkhaylSI4r1V4hFLTmfemCE8y+nV/Px6ECASAABAuyduPgIAF5K3O2ffsXzckA3s0uYqgYp1wxvskTqzHP3Z1LGeunVly+cZK8i2Jn/sSrE6CGsMz8DEiuux0vinYc+Py1P7Kk9d6UZjsYEOHJOTSCOwHDWszU2F6wY2xV21hKQ/SGsLcng/lXjEkiMtJ1SZlI8vpSfzP9eDAEkAAADaPX3zEQA4ubzdOfuO5eOGbGCXNlcJVKwb3uBAqW/L0Z9N/eypWzGpWRiljGhLPgdG2uogrD23WxP+zah2aJfGPA11flye2ld56ko3GosNdOCYnFAajXzQMiabCtetTSWmg49aQtKZyYGR5oQq8xuY+pZAsrPGKU7HucB6EFA5FwAAwAubjwDAqeXtztl3LB83ZAO7tLlKoGLd8AbnSV1djv5s6nZZd+D19nQJZgvkc+BKmbTouL323I7KWGClEJDGOY1tflye2ld56ko3GosNdOCYnFkaluWoYVVuKvzT2pp54ZufIenM5NhIczaV/MTef2K1mOfnFOfn03F4ykw6AADQzuYjAHBq5bbpPB83ZAO7tLlKoGLd8AZ3k3q+HP1pv4pwxZ/mtQz9yny2hHNgni0NwhpzuzXeFQObopQGNo1nflye2ld56ko3GosNdOCYXEUaouWoYVVuKlw3sCnuqiUka5lYijqrc2aVyY3Nu7SczccZSU/mf64HAeYaAABoZ/MRADi1vN05+47l44ZsYJc2VwlUrBve4FHShSxHf9ovKlzxp3ktQ6dAOMsqnWEe2BSP0picge+9sjpQGsw0hvlxeWpf5akr3WgsNtCBY3JFabiWo4ZVualw3cCmuKs1JN8S0pkiIbyxyuTG5v1nGtlZOSPpOM/LehBgigEAgHY2HwGAU8vbnVPvWD7uxsa2aHOtWN2K4Q2eRLqu5ehP+zWGK/40r2XotDWcA8NsXRBTJqcem/aSdaPaeaw0gGnc8uPy1L7KU1e60VhsoAPH5OrS0C1HDatyU+G6gU1xSy0JWcvEItRZnTOrTG5g3lvSyJ7yjOS5SMfhSQmEAQAAeCybjwDAqZXbppN83I2NbdHmWrG6FcMbPKd0mcvRn/ZLDlf8aV7L0KkMZ0syt5avGNgUz9H+djoqYIIakAYtjVV+XJ7aV3nqSjcaiw104JjcSRrGfNAymJsK1w1silv6mZC1QBJIUWd1zqwSntg7T6wW86QZCc+F2QQAANrZfAQATi1vd069Y/m4Gxvbos21YnW/GdvahaQLX47+tA9CuOJP81qGHluTOTDJFgUxZXIqsWks9pOgNkoDlQYnPy5P7as8daUbjcUGOnBMbimN53LUsB43Fa4b2BS31JKQzhSt1SXwZiozG8uMqJxEmojwFJhEAACgnc1HAODU8nbn1DuWj7uxsS3aXCtW95uxrV1XGofl6E/7mIQr/lS2bI44j63JHJhki4KAxtiUxZKegAnqN2lk0oDkx+WpfZWnrnSjsdhAB47J7aWxXY4a1uOmwnUDm+KW1oRU4tFS5hsJvKv6zAYy0xMz+qXxD4+8uQMAANrZfAQATi1vd069Y/m4Gxvbos21YnW/GdvabaRhWY7+tA9RuGLdpGah09ZkDkyyRUFAGZt6ZtpL1o1q5x7SaKRByI/LU/sqT13pRmOxgQ4ck0dJ47wcNazHTYXrBjbF/bTEozNCa3Xxu5nKzAYmXU6OkkY+NuamDAAAaGfzEQA4tbzdOfWO5eNWbGx/NteK1f1mbGt3lUZpOfrTPmLhinWTmoVOZTJbYrm1fMXApniI9jfSUemS0jQC6cLz4/LUvspTV7rRWGygA8fksdKYL0cN63FT4bq1KTPOu5Z49ERoYJI5lUoqAoGRk52lAY+Nc2ByAQCAx7L5CACcWt7unHrH8nErNrA/m6sEKtYNb/AJ0qAtR3/aBzBcsW5Ss9BjaywHxtiKIKCMTSUzjcV+GtXOtaSrThebH5en9lWeutKNxmIDHTgmJGn880HLLGwqXLG2k5h9XrTEozNCo5LMqVRSEQuMnOwgDXJseHPFcHUAAOBRfHIAAM4r70TPvl35uJca2GCdtDM7vMEHSmO4HP1pH89wxbpJzUKPMpYtmdxavmJgUzxEY2ZGRatsJ7lxStOVpqvLj8tT+ypPXelGY7GBDhwTSmkilqOGlbipcN3AprifNR6VbLSU+Ub87qqSikBgejJGXRrb2KjmiuHqAADAo/jkAACcV96Ann278nEvNbDBOmlndniDpCFdjv60D29ZceCkhPsDk2zN5MAMWw5s1fjOPCmlN4tourR0RflxeWpf5akr3WgsNtCBY8I3aVKWo4aVuKlw3cCmuJmWbHTmZ60ue3dSmdbAjAvJcGlIY4OZK4arAwAAj+KTAwBwXnnfefbtyse91MAG66Sd2eEN8iKN8HL0p3G0Y7VazGsZYrZmsizfGeCBTfEE7VkdFa2bRTRdTrqK/Lg8ta/y1JVuNBYb6MAxoUWaoOWoYSVuKly3NiUevGjJRk9+BsaY86hEIpAWIRkljWRsAHPFcHUAAOBRfHIAAM4rbzfPvl35uJca2GCdtDM7vEHq0oAvR9GvRpKBUzavZYjZtEYGBthaYKvGrG6KdMWodg6ULiH1PD8uT+2rPHWlG43FBjpwTNgqTdZy1LASNxWuGNUO99OSjc78rNVl7zYqkYilRUh6pNGLjVuuGK4OAAA8ik8OAMB55S3m2bcrH/dSAxusk3ZmhzdIuzT4y9Gf9okIV/ypbFkwONzWqA9cGtYCmzQGZlSuBkZ9T6nbqav5cXlqX+WpK91oLDbQgWNCjzRx+aBl+jYVrljbScSGUkvGenIoe7dUiUQgLT0Be6w0aLHhyhXD1QEAgEfxyQEAOK+8szz7duXjXmpgg3XSzuzwBglLc7Ec/Wmfl3DFuknNQliZyZZAbi3/jbXAJo3BG5irUVGfLfUzdS8/Lk/tqzx1pRuNxQY6cEwYIs3gctSwBjcVrhvYFHfSEozO8KzVBe82KnMamG4JaZfGKjZKuWIeauMMAADU2XwEAM5rn13Oj1uxgf3ZdWd2bIeHN8goaWqWoz/t0xSuWDepWYjZGsiBAS6bshCoaw/eqFydOZ+pb6lL+XF5al/lqSvdaCw20IFjwnBpNpejhjW4qXDd2pQsUWrJWE94BO9+KnMamO6WBD5cGqLYyOSKeYSNLQAAUGfzEQA4r312OT9uxQb2Z9ed2bEdHt4gk6SZWo7+tM9auGLdpGYhpgxkSxq3lv/GQmCTxuDNyOcZwpn6k7qRH5en9lWeutKNxmIDHTgmTJVmdjlqWIObCleMaof7WbPxLRg94RG8+6nMaWy6fybwmdKwxAYkV8yjakgBAIA6m48AwHnts8v5cSs2sD+77syO7fDwBtlHmrjl6E/7JIYr1k1qFgK2pnFgesumrALqGtMyKlRnCGfqQzp1flye2ld56ko3GosNdOCYsJs0y8tRwxrcVLhiVDvcTEsw1jKB5PTU5ZwqcxqYbgkppdGIjUOumAfTSAIAAHU2HwGA89pnl/PjVmxgf3bdmR3b4eENcog0j8vRn/Y5DVesm9QsBJRpbIni1vLfWAW0a0zd1cOZzpvOlR+Xp/ZVnrrSjcZiAx04JhwizXg+aJn3TYUr1nYSeWP1M2A9yZG6+6kE5meW3gWq3E8ahNjl54p5DJ88gAAAQAubjwDAee2wy/lxHza2ObvuzI7t8PAGOYM0rcvRn/YpDlesm9QsbLU1igOjWzZlCVDRmLorhjOdKLWfH5en9lWeutKNxmIDHTgmHCtN/XLUsPo2Fa5bmxI8Vi0B60mO1N1MZUIDc/3keKRrD1+1ZQUAADSy+QgAnFfe6Jx6u/JxHza2OZtrxepWDG+QE0qzvBz9aZ/xcMW6Sc3CVlujWJbvya0lQLvG1M0I5/BkpsZTm/lxeWpf5akr3WgsNtCBY8J5pBgsRw2rb1PhilHtcDNrML6loic5UnczlQkNzPUD45EuOXyl63BZSgAAQJ3NRwDgvPJG59TblY/7sLHN2VwrVrdieIOcX5r05ehPewDCFevKZqWRA22K4sDlYAnQqDEqoxI1PJmpwdROflye2ld56ko3GosNdOCYcE4pEstRw+rbVLhiVDvcSUsq1jKB2PTU5YQqExqY64fEI11m+AKtIAAAoJHNRwDgvPJG59TblY/7sLHN2VwrVvebsa1xUSkGy9Gf9kiUFUcFKdwZGGtrFEctB0uARo2RO1UyUyOpYn5cntpXeepKNxqLDXTgmHB+KR7LUcPSWwt3JmrTSXmIn+nqiY3I3UwlLT+D9C5Q5ULS1YWv694jAwAADGTzEQA4r7zROfV25eM+bGxzNteK1f1mbGvcQ0rFcvSnMSGxWj9Naha2KqP4M4cDc7vpvDxWY+QOT2aqlQrnx+WpfZWnrnSjsdhAB44J15Kikg9+BmYtmXSmq/2kPERLunpiI3J3UpnNwETfMhvposKXY7EAAACNbD4CAOeVNzqn3q583IcNbM7mKoGKdcMb5H5SSJajP42BidX6aVKzsMnWHJble0Ir/zRqjNyMZNbbSSVTgfy4PDVH2aWf3jtT9nCH3ib7nIU7KUP+MzybCleMaoc7WVPxLRI9sRG5O6nMZmCi75SNdC3hS1jHwQIBAADqbD4CACeVdzln36t83IcNbM7mKoGKdcMb5PZSZpajP435idX6aVKzsEmZw58hHBjaTeflsRpzMipO9XbSq+nJ/Lg8tVHZ/k+VDiz//ivz8s/0WPawPJ5nn7NwV+8ZrthUuGJUO9xGSyTWMoHM9NTlbCqzGZjoq2cj9T/cc+sCAABoZPMRADipvMs5+17l4z5sYHM2VwlUrBveIE+TIrQc/WmMU6zWT5OahXZbQ1iW70ms8NOiMW8zYpnbSc+kg/yYn1+Vhet6upS8nP3bedcyH3s73D5n4QnKSP8M1abCFaPa4TbWSHzLQ09m5O1OKlH5maJ3gSpnkLod7vBFLxkAANifzUcA4KTyLufse5WP+7CBzdlcJVCxbniDPFxK1HL0pzFdsVo/TWoW2pUh/JnAgYnddF6eqTFvo7L0crp3ewY1debn9a4FKoUH2ucsPE257n4G7D38MaPa4R5aQtiTGXm7jUpUArN8rWCk3ob7aQkAAACNbD4CACeVdzln36t83IcNbM7mKoGKdcMbhFIK2HIU+q4lGxXRSc1Co60JjC2fd5JPi5a89Wcpt3B4CFM36n0oC/wsPMQ+Z+HJ8upLfiZtLZn0xHJUO9zGzxD2ZEbe7uRbVAKz/DN1Z5A6Ge7eJS4QAAA4A5uPAMBJ5V3O2fcqH/dhA5uzuUqgYt3wBuGbFLbl6E978MIV68pmrQL2tynYA1eB5PNTY0i2ZimVP0nkcs/rl7a+uk+3zzM43F7Of/YzdZsKV4xqh3toycNaJhCYnrqcSmUqt85yS+qOkvoW7pK0AwAAjWw+AgAnlXc5Z9+rfNyHDWzO5iqBinXDG4RGKXvL0Z/2HIYrVsxoEzYpQ/gzgaMSK/n81JjMn8VSgfMELHem0ueyt/v0fO3MeUaJJ6isgnebCleMaod7+Pnu1xMYYbuNSk5+RuhdoMpsqUuxzpzwWgAAgHM60eYsAEAp73LOvlf5uAkb2JnNVQIV64Y3CDEpisvRn/ZYhitWzGgT2m1NYFm+J66j2uGuGpP5MUjpyfOE6r0zL30uC+zT8/UsLz1ZjmC+TdkbFdS1HWmnJVQ9gRG2e6jkJDDF50lF6kmsD4INAAA02mOLEwAgIO9yzr5X+bgJG9iZzVUCFeuGNwhDpGQuR3/aUxquWDGjTWhXJvBn/EbFVez5qSWZa5lTRSj1qtKf3Oe1QL3wKB/Pso5ecqoB5PY2ZW8t3JNSaaf0Mw89gRmSWM7g21QG4nF4KlIHYqfOFcPVAQCA5/CxAQA4qbw/O/te5eMuamBrddKe7PAGYYYU1OXoT3toy4qjoh7uDPTbGr9RS2DGUuJO6glJr54qNj/7UxbYp/MtXVqOrEH2tWbvZ/BGpVTaKf1MYHtEX0jabVQysDUeR6UinTd2ulwxXB0AAHgOHxsAgJPK27Kz71U+7qIGtlYn7ckObxB2kHK7HP1pzHCs1k+TmoUWZfx+Zm9UVmWeuvdYpmdOlZOf/SkL7NP5TWdJhZcjC5AdbQreqJRKO6ufYehJy1pXzC6tMo+BKd4zFelcsbPkiuHqAADAc/jYAACcVN6KnX2v8nEXNbC1OmlPdniDsL8U4+XoT2OkY7V+mtQs/LQ1e2X5nqCOaodbOmc8Uq/qnSkL/Cw8RPgs5xxhbm9T8EaldG1H1PkZhnBaRsWVY1XmMTDF4Ti1S6eINZ4rhqsDAADP4WMDAHBSeQd26r3Kxy3U2L7qpD3Z4Q3C4VKql6M/jQmP1fppUrPwU5m9n8EbFVSB55uUjfPk4WdnygL79HzIWVIjy5HVx442BW9ISkWd1c8w9KRlrStml1aZx61TPC8SqeVYm7liuDoAAPAcPjYAACeVN16n3qt83EKN7avO2JPNI5BMHQQ41przrDHtsVo/lc1ad+xma55HBVXgKaU8nCQGP3tSFtin2+tiGXWutcHkJMPOE2wK3pDYizqrn4kKR07M7qESgK3ZGB6J1GCsnVwx92dITwAAgLvaY4sTACBgh/3NjzuwsW3ZdU92bIfXZpd//xl7CjiVWNpnrBHrjqNsyt6ooAo8SYrBGab+Zzde4ppN7fnapfLUo874cjlnmAKeYA3ez8iNiv2M5cMV/UxCT1Tag81pVSYxML9DIpEaiVXPFXMfejoAAADc3im2ZQEA3u2wv/lxBza2LbvuyY7t8LceLkf/jD0pnMdL2hujHqtVN6NNaFFm72fwNhWuGNUOl5Om/vAZb+zDS0qnhvZjlyadceqFwLtNkRuVz7UdIX+4n0kIR2VUVjlQZRID8xvOUpLqxlKUK+ZTx1oAAAAe4vg9WQCAj3bY3/y4Axvbll33ZAd2uL21VHI5+jOwD3AqsajPWCAWHYfYFLxRKZX2p0kzfuwsBzpQpjTVffnnctThZ5eGnzGb1Cx8sylyQ/Ip5GQ/k9ATlbWujF1XZRK3zm8gD6lKLDy5Yj5jrAUAAOAhDt6QBQD4aJ/NzY87sIFt2XVDdmyHww2misvRn7G9gvOIRX3GArHoOEQZvJ+p21S4YlQ7nFma5QMnt/PsLxEdkti1kZYWhpzx3aRm4ZtNkdu0Rr4RcrKfcQrnTcZuoDL7W4PRXj6VjAUmV8wnirUAAAA8xJG7sQAA3+yzuflxBzawLbtuyI7t8KgGUzvL0T9j+wkn8RL1xpzHatXNaBPqNqVuVERF/a7SzB44mwPPvkY0NxhO7NqlsoWW6lvLN5rULHyzRu5n3kaFU8hJfsagJyftqeacKjO4dXJbkhbOiaQBAAAtjtyNBQD4Ju9vzr5R+bgDG9iWzVUCFevyICTDx2FtORvePpxBLOczVocVx/7K1P2M3KbCFaPa4QzSbB41iTNO/TGc7Yn92KX26tnW8o0mNQsfbcrbqHCu7Uj4k/2MQTgno4LKUSozGJjcj0FKT4az8bFBAACAF4dtxQIAVOT9zdk3Kh93YAPbsrlKoGLd2mA6yM9kY8+SzG4fziCW87LWqKVhxbGzTZEblU85v4E0iYdM3OzzluFcT/TxydXPLtWrvyvLJ6Oud2s3oMemvA0Jp4ST/IxBT07WugJ2UZUZ3Dq5uXwunI7DkRAqAACgxTH7sAAAdeU+6Twfd2AD27K5SqBi3bcG0/PL0T/Dz7sc/RnbOJxEmfPGkE9aGoGeQI9NkRuVTzm/qDRx+8/Xnif9mMz3Jzd16WObdYEqP81oE77ZlLch4ZRwkjUG3zLws8A3AnZ1lalvT0UqmcusBwHtpwMAAJ7sgE1YAICf8v7m7BuVjzuwgW3ZXCVQsa69wVRyOfozvBvL0T9j24fDxVbQjHU3dS3Du02RG5VPOb+WNF87z9H+Z8zKZK4dWJ+Mdeljm3WBKj+VbSaHDC/PsSnDnUssm7FquJafGegJyZCUcpTK1P+c2VQgv7QeBMgPAADQ4pj9UACAury/OftG5eMObGBbNlcJVKzLg5AE+rMc/Rnbq2R2+3CsWMJnrAtrjZ1tityofJbtCPk5pTnac2p2Pt1HM2IZWDKTVsekZuHdGrafSRsVy/Yzclc/sxQOyaiUcpRvU/9tZtPz+Z/rQcC3kwIAAJSO3w8FAHiX9zdn36h83IENbMvmKoGKdWuD6SA/s9p0os7qP720P7ZxOFws4TPWhbXGzsrI/czbpsLfCPlppanZbTr2PNeBti6ZIUvs3aRm4cWmpA2JpWyTrDH4mIGekNRb5uQq01e+lI5zgfUgQFQAAIAWj9gPBQAuJ+9vzr5R+bgDG9iWzVUCFesqDaaXlqM/gQ4vR3+Gd3s5+jO2cThcLOEz1oW1xp425W1UOIX8VNJ07DMFu53oPMqot1z71vKNJjULLzYlbUgsZZufGVgLbE2IdF1aZd7zS/n5dBye3HC0AACAR3ncfigAcAnlPuk8H3dgA9uyuUqgYl17g6nkcvQn0P/l6J+BFzK1cThcbPV1rtmPZrQJ35R5+xm2TYUrRrVDTBr/fYZ9txOd09acl+WTUUNnubGPTUkbEkvZZs3AxwD0JKTeMmf2cd7Tk/l4PQiQCgAAoMWj90MBgNPK+5uzb1Q+7sAGtmVzlUDFunCDqeJy9E/gipajP8Ovazn6M7ZxOFYs3jMWhYXGbjaFbVQyJfwQadh3GOp9znIJZc4bxyRQ5acZbcK7TUlbC/dkckgjXNfPyIUTIlqX9h6M9Ex4KoUBAABoYT8UADijvL85+0bl4w5sYFs2VwlUrBvYYGpqOfoTuMDl6M/wy1yO/oxtHI4Vi/eMRWGhsZsybD+Ttqlwxah2+CkN9ewR3uEUV1SGPGkZohnrwlpjH2vSfsZsSCYFm3rkwgkRrUvL05cmLh2Ep68eLQAAgMx+KABwRusmaf7nDB+3X2N7srlWrG7F8AZXqeXl6M/Ws7xUTwb2c2rjcKzY0utcsB+VbVpizLMpvaOiPmPJUEojPHVUZ7d/D2XOW4Zra/kWM9qEF5tiNiSTgv1wPwOwFtgaj3BFDpfmrv8txbwDAAAV9kMBgDPK+5tTb1Q+br/G9mRzrVjdiuENfpNOtBz9s/W8Ly0MH4fl6M8+YwI7iGV7+IqwxNhNGbafSdtUuGJUO5TSqM4bzKmN39LWkM9YFGWbiRlkhk3RHZLzGYuFC1kD8HH2w/GQq8tJU9b/NmKuAQCACvuhAMAZ5f3NqTcqH7dfY3uyuVasbsXwBtulUy9Hf7Z2o7N63dTG4UCxbJe1hiwHS4x9bEraqFiK90BpMCcN4LyWn6AMecswbi3faFKzsNqUsSGBXBsR6Qf6GaFwPOTqKtJMxeYoVwxXBwAAHsJnBgDgjPIW9tQblY+bp7Ed1Um7scMbDEs9WY7+bO3VS/Vk4HV19g1OK5DtGcvBEmMfm5JWFu7J5Kh2HisN4Ixxm9TsA21N+KQVYaEx26aMrYXDaRTph6tHKBwPuTq5NEGxeckVw9UBAICH8JkBADidvG09+y7l4+ZpYEd13lbsjDaHSB1bjv4JDNpy9GfgZfb3Dc4psGpmLLR5ixdKZdLqMRuVSdmOSeM2fKxmtEn7msomrYit3YCt1oz9DNiQNIr0k/2c/fY0vghXZJ40KbHpyBXD1QEAgIfwmQEAOJ28VT37LuXj5mlgR3XSVuzwBqdKvV2O/gTGcDn6M3wkl6M/FxpVqAgEe8ZasL7YwaaYlYV7AjmqnSdIYzV2iIY3yItNayqbsSKsMqbaFLAhaRTpJ1tn/+PUh7MhVOeR5iI2BbliuDoAAPAQPjMAAKeTd6hn36V83DwN7KhO2ood3uCeUueXoz+BIV2O/hk4FJ19g3MKBHvGWrC+2EEZs3rGRgVSsOvS+Iwdk+ENUte+prKt5VvMaBNWmwI2JI1rI/L8ND/zE86GUB0rjX9s5HPFcHUAAOAhfGYAAE4n70rPvkv5uHka2FGdtBU7vMEDpWtZjv4JDPJy9GfgyPT3DU4osGRmrLJ5KxeyTRkrC/ekcVQ7d5LGZOBQjG2NTbbGe8ZysMSYalPA1sLhKMrzk9XzE86GUB0iDXtstHPFPGvmCwAA+MZ+KABwOvtsa37cew1syK5bsWM7PLzBU0lXtxz9CYz5cvRn+MgvR39uPAs8R5nqxkjPWAiBbsAm7RkblfAZK+Wi0lCMuvyBTdGjfUFlW8u3mNEmrNoDNiSK8vxYP6d+LbA1GOGKbJWGOjbIuWKeKdMEAAB8Yz8UADidfbY1P+69BjZk163YsR0e3uCZpYtdjv4EpmA5+mfg0HX2Dc4mFunhC8HKYrZNGRsVyLKdB6Y6Xf6Qqx7VDgNtzfaMtVC2mQgJY60B+xmtIfGesUa4hHrSwsGQqNnSCMcGNlfME2RqAACAb+yHAgCns8+25se918CG7LoVO7bDwxu8kHTty9E/gUlZjv4MHMl5LcMhYpEevhCsLGYrM/YzYJsKf/PMVKerHvKG4E3gzLYukCEL6t2kZmFTtIbkcG1Ekh/lZ3jCwZCoGdKoxsYzV8yTYkYAAIBv7IcCAKezz7bmx73XwIbsuhU7tsPDG7y0NBrL0Z/AHC1HfwYO7EvLiVnj0mKLZfgSm7dmIdkUsFFpLNu5d6TTlXZeYH8L7GbrAhm1oF48Z32xs03R6s+hJD9WferDwZCogdJghtd1qpjnwiwAAADf2A8FAE5nn23Nj3uvgQ3ZdSt2bIeHN3gnaXCWoz+BKVuO/hk41J19g1OJ5Xn4KrCsmGpTwMrC4SjePtLpAnsuqrM6B9q6QIYsqBcz2oRkU7TWwuEQSvJj1cMTjlZ/Jh8uDWD/cjb4AADAN/ZDAYDTyTubs+9SPu69BjZkc5VAxbrhDd5YGqvl6J/AJC5HfwaO/LyWYX+xPJe1hiwBy4qp2hM7KorD18gZpIvqGRDr+ga2BnvGQrjl4uIM2qM1JIRrI2L8KPXwhKM1JJMPlMbNEgYAAOaxHwoAnE7e2Zx9l/Jx7zWwIZurBCrWDW/wUdLoLUd/AnO6HP0ZOBHzWob9BfI8YwlYVsyzKV1l4XAO75TndC2x/ocrclpbV8eQ1fRiRpuQrNH6mav+EIrxY9Vj1h7CF+GKD5TGKjxKxhkAAPjJfigAcDp5Z3P2XcrHvdfAhmyuEqhYN7zBJ0uDuRz9CUzxcvTPqKmZ1zLsL7DQOtfmRzPahKxMVz1ao3LYfsYTSp2P9TlckUvYmuoZq+DSK4vT2pSr/hCK8TPV5z2cirWiLH2Thig8OIYXAAD4yX4oAHA6eWdz6l3Kx43X2G5srhWrWzG8QVZpbJejf7YO9UsLA2dqXsuws0CYZ+S/bNOCYqBNcR2SwxkLZLbU50A/Y7W4oq1LY8hSejGjTdiUq/4QivEzrfP+cdJjqZClb9LIhAekPlMAAACJ/VAA4HTyzubUu5SPG6+x3dhcK1a3YniDVKTRXo7+bB35zuoV81qGnQXCPDz/FhTzlOmqR2tUDtvPeKzUz63dC1ThBrYujVFLqTSjTShz1R7scPz6W+ByfmYslgpZKqXRsCoBAIB57IcCAKeTdzan3qV83HiN7cbmWrG6FcMbpF0a/OXoz9aJeKmejJrKeS3DzgKrrHNhvhveIGSbolUWDofw5GFO3dvUpa3luaWtS2PIUnoxo00erj1U/fET4Gda5/3jpMdSIUtJGoTwtdcnBQAAILEfCgCcTt7ZnHqX8nHjNbYbm2vF6lYMb5CwNBfL0T9bp+alhYEzO69l2FMgycPDbzUxSRmteq5GhbD9jLtJXWrvyabCPMHWSM9YAidcVlzdGqqfieqPnwA/0M9Jb09gKVbrBtKFhy/5sYMGAAC0sx8KAJxL3tacfYvyceM1thuba8XqVgxvkIHS7CxHf7bO1Ev1ZNRcd3YMTiKQ5OHht5qYYVOuysLhBJ4nyaknjWdvL8kDbV0XQ9bRixlt8mSbEtUfPwF+oHXSP854LBJPC1K63vBl1scfAAAgsR8KAJxL3tacfYvyceM1sBubqwQq/jSjTSZJk7Uc/RMI0nL0Z9TUT2oWdhZI8vDwW03M0J6rUQks29k/xunsLSdtLAZb8zwj/8euKe5nU6L647e2IL0P8TMzsUg8IUjpGsNXZ6EBAAA/2Q8FAM4lb2vOvkX5uPEa2I3NVQIVf5rRJrtJ07cc/Qnkajn6MyoJL80mMsYVBRbI8DU1aZHycGWu6qFqL1lxSIzTSX+eaO2YlUW7rXkesohezGiTJ9uUqM53Tul9oHpmYpG4cZDSpYWvqD7UAAAAia+EAYBzyduas29RPm68BnZjc5VAxbrhDXKsNKHL0Z9AzJajf0bFo7NjcAaBGA9PvqXEcO2hGhW/sp15GU5n+dn4WmafLnFLm8IzI2nSy1jtierPnvQ+zc8ZXwtsykOs1mmlywlfyM2GAgAAmMG3wgDAueRtzdm3KB83XgO7sblKoGLd8AY5lTS/y9E/geAtR39GpWVSs7CnQIzLKkNiP7xBaA/VkPgF1lG71PjPS3gvMLVL3NumRTEjaZs6AD+tidqU51j2pPdp6umK5eEeKUpXEe58fVQBAAAS3woDAOeStzVn36J83HgN7MbmKoGKdcMb5OTSjC9HfwI5XI7+jArPS7OJWHI5ZYxbAjx8NU1anjxZe6hGxW/rOvopNVjv9s+zDO8SD7E1OTPCvxz9kV56bMpnf5jXFuT2CX4GJpaH66Yo9TzcZ2sHAAD4ybfCAMC55G3N2bcoHzdeA7uxuUqgYt3wBrmWFIDl6E8glsvRP6Pi1NkxOFYgwMMzbxExXBmqeqKGxG9UhlM7H+t+e75iVJd4mjI5LbHZWr7FjDZ5pk1Z6gye3D5NfcZjebhiilKfY13NFcPVAQCAJ/CBAQA4l7yHO/sW5eO2aWAvddIm7PAGubSUh+Xon0BQl6M/o9I1qVnYRyDAwzNvETHWpkSVhcPZ62kk1X2p8v5MwJDr4mm2xmZGzESXUTZlaS0cS53cPk09MLE4dYZwN6mf4WWSKoarAwAAT+ADAwBwLnnfdvYtysdt08Be6qRN2OENcjMpIcvRn0Bul6M/o8I2qVnYRyDAwzNvETFWmah6nIZk7wyL6EX7CMBqayxnxEx0GaU9S/2pk9tHqU93LAwnj1DqXnhppIrh6gAAwBP4wAAAnEverp19i/Jx2zSwlzppE3Z4g9xbCsxy9CcQ4+XonyHxm9Qs7COwrDpX4rvhDfJkm+JUFg4HL9DIkPN+Y0ERsymWMzI8dV3wKGuWdkhy+7m4gfp0x8JwwgilLoWXQ6oYrg4AADyBDwwAwLnkLdrZtygft00De6mTNmGHN8ijpPwsR/8Egr0c/RmVxknNwg4C6R0eeCuIgdrjNCR4Z1hBL8r2rSYabYrNjIzJLUPsmWShfZT6dMfCcJ4IpZ7EOpAr5gs59hIAAIDT8q0wAHAu+2xoftx1DWzFrpuwYzs8vEEeLiVqOfoTyPly9GdUOCc1CzsIpHd44MsGLR86tcdpSPACjUwNfNl4YkHRYlMmZ2Rs6qLgOWJJjkVOaB+lnpZYljoT2CmdPZz8VDF3/pCeAwAA5+dbYQDgXPbZ0Py46xrYil03Ycd2eHiDUEoBW47+BGK/HP0zJK6dvYIDBdI7NvCWDwO1x2lI8A5fPu/K9q0mWmzNzPCMCS1DtAepP3JC+xz1uY4l4ZD8pJOG054q5j7v1lsAAOBafCsMAJzLDhuaH7dcY/uw6ybs2A4PbxAqUt6Wo3+2xu+lhSHp7e8VHCWwIsYuohlLkscq41TPUnvJikAjQ877jdXEVlsDOTzAQssQa5B+Rqg/w+3n4urqcx1Lwm75SScKJzxVzP2c3UkAAOCifCsMAJzLDhuaH7dcY/uw6ybs2A4PbxA2SQlcjv5sTWNn9W8mNQuzBaI7Nu3WDqO0Z2lI6g5fO+/K9i0lftoayBkBE1o6bYpQZ97E9Tnqcx1LwlprUnhS+7GWc8XcvUl9AwAArs63wgDAueywoflxyzW2D7tuwo7t8PAGoUcK5HL0Z2s4X6onQ+Ld2Ss4SiC6ZZX+qFs7jNKezCEZDjQydu28sJTYalMgZ6R36orgCfbMsLg+xzrXHye6/upHk8KTmo21livmXg3sDwAAcCe+FQYATmSf3cyPW66xfdh1E3Zsn4c3CAOlfC5H/2yN60sLQ9Le3ys4xNblMHz5zFiPPFB7kIZELtDI7KiX7VtH/LQpMDPSJbF0imU4FjZxfYj6RMdi0Jm9Umoq3MjAbgAAALfkW2EA4ETyhubs+5OPW66BfdhcJVDxpxltwjwpscvRn8BSWo7+jAr/pGZhqq25HZ5zC4chyiDVU9ResiLQyJDzfjO1ce5nU2DKwsmQgEksndoj1B+2tQVZvbf6RAdiMCR74dTJLQAAUOdbYQDgRPKG5uz7k49broF92FwlUPGnGW3CblKAl6M/gZW1HP0zZDl09goOsTW3w3Nu4dCvPUVD8hZoZGrOLSI2KQOzNb1D0jW8QZ5mjdDP/HSGTVYfoj7RsRi0p7SUaoWTFjsjAADwHL4VBgBOJG9ozr4/+bjlGtiHzVUCFX+a0SYcJeV5OfonsNaWoz9DVseMNmG2rbkdnvOyQauGmPZYDslboJGpObeIaNe+WLLh6RJXemzKT2fYZPUh1on+OMv1Vz/amtJwugJ9AwAAHsW3wgDAieQNzdn3Jx+3XAP7sLlKoOJPM9qE80gJX47+BJbecvRnyGJ5aTOxBjm/rWth7NqZsRJ5oDJIlRQNyVugkak5t4jYpHGxZJsKtxjeII+yZ3pl9QnqsxzLwFrrW5VUIJyon40DAAAP51thAOBE8obm8PuTcuv2p/az563bng3cj4Y3CCf3skK35v99gQ9ZQZ29gv2VoW1J7NiQWzL0a0/RkLxtWjKpcCqzqcpWUxvnZramdzkaFK2ywURc2SSW3ljMOqtzCfVZDmTgW0TT8+EgiSIAAFDni2EA4ETyhubW+5Nya/Wjjw3mjdefdZNv/Vlb2NrhuuENwrW8r8qtK+KlhSELakabME8gsWNDbsnQr0xRPULtJb/5mdhUID2ZH9dn8kEWO+83UxvnZsq0/IzKpsKNZrTJQ7SHpzNmUvoE9VmOZSDXyuXTcTg869nFDwAA+MgXwwDAiZQbo6tyj/Wb2C3Nx73X9tPl6h8b6TG8Qbi6l1W5dYF0Vv/opc3EsuXMAqtg7MKZsQx5lPYIDQlb2UhuIT2TDvJjfv7Fe5WBpjbOnWyKyoxcySpha3hmR1dKn6A+y+1hS1LhXGw9CNh0RgAA4IF8MQwAnEi5wVqadMfSuPf6rVdJqt6zgfuRXV2oe1+SmxZLZ/VvXpq1fjmzQFzHJtx6oVMZoXp+2kt+s7aQqqfjlkamJnxq49zJpvDPyNWmDsAqHN1AzKT0CdZZfp/ilgCkMvml9SCg0gcAAIBk8DfNAAA9ejZDY2JnXDdeS6N6vnbp/Szu3OCjl8WydaV0Vv9oRpswSSCuYxNuvdCjPT89SUt1U/n8uDzVYK21/HtCvKc2zm2UOUl+RmV4rgSVmE3J6YzZWl1E76qekG8BSM/nZ9aDAOkCAADq4p83AADG6tkJDRty0nUf9kWs5UqX3k/kXg7evayUrctkxkLr7BLsKRDXsor1wrHa07gpt6lwKpMfl6cavJcvT5psau2nTVfEk22KyvBcCSoxsdwGMiaiT1BJyEsA0j9zmfUgoHI6AACAJP55AwBgrJ6d0Jh5Z1x3ZkuN59rUq/cTubuDF/3L5KWF/lVm5XIhW/M/db1YKWzSnsafJVOB9GR+XJ5q8K18Pl1uMD+TbGr5p7LlZGzj3MmmEA5P7LwlwL21J6czYyJ6e/Upzq/m59NxOAPrWaQIAAD4KP55AwBgoJ5t0LDdTrpu1Ja+nbqzV+/ncr8HL16WydY10ln9oxltwgxbszo221YKPdrzU5bMxdIz6SA/5udbfCuf2395qTxpsulEP5WNj22ZO9mUk+GhmroEuLE1ObNDOzzznM3HLKUn8z/Xg4CPLQMAAKzinzcAAAbq2QYNO+Skybpv+yJ3ZnivXk7n9g9edK6R9xXdv8osW65ia1bHZttKoUeZn0p41mKpTDreFLNv5XOb9aYauxdQtpyMbZzb2JTAGXGdtwS4qz1Du1YXzlsq45HkWU5Phqc71+1pAQAAuDefFgCAU9h/E3PdjT3D7dDamWxql17OlbghhFL/Ghm+ovd8i4AeW7M6NttWCmE/w5MKpCfz4/JUg2/l8+nam/rZvR5l42Nb5jY2hWRGXKWUrWKhDaRLOG8vT3Ge3HQcm+VcMVwdAAC4PZ8WAIBT2HkTszxdOs4Hq8NvkHbu0glHAE7lZY1sXSCd1d9Zs1zF1vCPXSzDlx7PUYYnJyc9kw7yY36+xbfyuf1wJt+7N0rZcjK2ce5ha0iGx3Ve/rmr9sx0pks4by9NcWxmc8VwdQAA4PZ8WgAATmHPTcyf50oFlqN/Dr9l2rlLJxwBOI+XBbJ1dcxYX51dgn1sDerYYFsmxKzJSZlJx5uS8618bnNICKcGu2x8bMvcxqaQDE+UiLJVe2Y60yWct5SmNTabuWK4OgAAcHs+LQAAp7DnJmbgXKnKcvTP4TdRO3fp5XTuIWHVvxiHry8LlkvYGtSxwbZM2CQFJoUkPy5PNfhWPsdvRurKYI9tv2w5mdF5rm5T/IZndV74uas1M7Pj2n4iTi5NZWwSc8WcBDEAAADeBT9sAACMFd4D3WrUifKua+nw26o9u3TCy4fzeFkgW1dHZ/V3FiyXsDX5Y1fK8HXHzaSEpFTkx+WpBt/K57zNjtnUVJeNz74QrmhTQobHST7ZZLe4SubVpRmMTVyumANg6gEAgHfBDxsAAGOF90A3mXqWvA9bOvxGa88unfDy4SReVsfWpTFjcXV2CXawNaVjU122ZoGQpEikJOTH5akG38rngO0crXmpLltOdr4uzm9T9oYHdV7yuaVYXAPRkswrSrMWm6xcMU+66QYAAN4FP2wAAIwV3gNtt8MpXuSd2dLht14vXZranxNePpxB/9IYvpD3fGeAmK0pHZhqC4QkxSBNfX5cnmrwrXwO1YFZmprqsvEDr5Fz2pS94Vmamnzupz2BnVkdHnUmSTMVm6BcMU+0KQYAAN4FP2wAAIwV3gNtt8Mpfsp7taVju7Rzf852+XASL0tj67rorP5ueIMw3NaUluU7I22BPFOa9zTX+XF5qsG38jlF5wlPmeqxvZrXMvfQnpCyZDIkTvJJu1hWA7laq8vkCaXZic1Lrpgn18wCAADvgh82AADGCu+BNprdfljevS0d28+d+/NyOremkHSui+Gr+GxvU/CuTOnPfI790zO2NU4rTXSa3Py4PNXgW/kcm3OmZV6k57XMPZQJ+RmPTYVbDG+QG1vTMjWoMnlCaVJic5Er5jk1mwAAwLvghw0AgLHCe6AtpjY+XN7PLR3b+T37c7ZrhzPoXxcvLfQvq+ENwkBb8zk2z1bHXaWZTbOZH5enGnwrn3NyiXiUkR7b4XktcwOb4jE8S8JJo92CKpMnkSYiPP7rJJpBAADg3ZW+xgYA7qpnA/SnqY3vo9ypz469oj37c7ZrhzN4WRdbF0Vn9XfDG4SBtuZzbJ6tjttIU5mmLz8uTzX4Vj4H43J5mJfneS1zA2U8fmZjU+EWwxvkrmJBDYRKJg+UBj885j2TDgAA3N7lv8kGAG6gZwP0p6mNH6Xcr08Ov8CX/iRTJ3Q5+scNLQ/X+YYwfE1ZpJzZ1vXSub5ejG2NPaW5S/OVH5enGnwrn5Nw9QCUeR57LfNa5uo2ZWN4kCSTRu1R6QzVWl0g95EGPDzUJgsAAKi44TfZAMDl9GyA1s1r+VTWXeDV4Vf90qWp/dnzXHB+/W8Iw9eURcppbQ3n2DBbGheSJitNUH5cnmrwrXye+jvN+Lwwz2uZq9uUjbLwkBQNb5C7ao9KT6gEch9pnMPDu86RCQIAAN494stsAODkejZAKyY1ewnl3n127FDs2Z+zXTsc7mVRbF0RndXfDW8QRtkazrFhLluzLs4mzU6alPy4PNXgW/k81zee5XlhntcyV9eejeEpEksarVH5mZOeUAnkPGlsw0PaPvsAAMADPff7bADgPHo2QL+Z0eallTv42bHjs2d/znbtcKyXFbF1OQxfUJ39gXm2hnNgmK2Ls0kzkmYhPy5PNfhWPs/vQ6Z1XpjntczVldmoB2N4isSSFu0RTTYVftFTl3dpPMPDuM6FiQAAAN75ShsAOF7PBuhHwxu8pXIfPzt20Pbsz9muHQ7UvxxeWuhcTZYnp7U16gOXxthVRkCagjTs+XF5qsG38nlCnzmPZZjHjsC8lrm0TcEYniKx5KdYRANx6qlLlsYwPHrGHwAAqPCtNgBwvJ4N0I+GN/gQ627y6thh3LM/Z7t2ONDLcti6FjqrvxveIAyxNZkDk2xR7C+NeRrn/Lg81eBb+TyDJm5eksuWjTOrTcEYniKx5Kf2kPTESRTD0tCFR2wddmMOAAC88602AHC8ng3Qd2Nbe7hyWz87dmz37M/LuYSKx+pcC8OXrbXJOW1N5sAkWxQ7SIOcBjY/Lk81+FY+T5mZelEmeeDglM0mhp1sU96Gh3NS2rmT9pD0xEkUN0nDFR6ldaiNMwAA8M4X2wDA8Xo2QF8MbIqPys397NgBf+nPvM6c7cLhKP1rYeyy3e1NADbZmsyyvEVxQmlU00jmx+WpBt/K5zkyNRXzYly2bArINuVteIRkkp/WkPxMSE+cRPGnNEThkWmfRAAA4IF8tw0AHK9nA7Q0qh02Kbf4swNnYc/OnOrC4UAva2HrQhi7lCxMzmnTMulcUy/GtvZYaRjT0OXH5akG38rnSTEX7SbFeFKzXF0ZjHoq2ks2Gt4gN7MpIWvhQJZ66t5YGpbwgBhSAACgwtfbAMDxejZAS6PaodO6K706cF727MypLhyO0r8QXlroXEdjW4MhNsXSijiDNG5prPLj8lSDb+XzLBj8sDLGA4dxUrNcWnsqypJJf4QEkrpYOLdmSQ5LaTTCg7COpGEEAADe+XobADhezwboakgjTFLu+GcHTtaenXk5l4jyTJ0LYew6sio5oU2xnLciLIeKNFBpfPLj8lSDb+XzsBvwIcoMJ6NGdVKzXFqZip+R2FT4p7GtcT/tCenJkhymEQhf+Dp6ljAAAPDON9wAwPF6NkCz/hbYWbnvnx04g7t15lRXDUd5WQhbV8HYdWRVckKb1kjngioNbOp+0uCkAcmPy1MNvpXPQ22EZyhjPHCEJzXLdW2KxNj8lK0lAsmL9rz1JHNsqq8iXXX4YtcRs2YBAIB3vuQGAI7XswGadFbnJMrd/+TYOX3pTDKpP7udCE6rfxWMffc41XsRJJsyOTDA1kIpjUYagfy4PNXgW/k8tg8f0h1MyvCkZrmuTZEoCw8Jz/AGuZM1Hj+z0ROk9rNcXbrS8DXmuj0tAAAAN+ajAgBwvP4N0OUf3Eia2eXon2Mn+qU/8zpztguH/XUut7Grdbe1D43KTP4M5MAAP3wtpMtPl5wfl6cafCufB/NpY3i4MsMDB39Ss1xXeySGh0ca+WZTNtbCW1P0hASma4xdWq4Yrg4AANybjwoAwPF6ti9tfT5Hmuvl6J8Dp37PzpzqwmF/L0tga/7HrqDOzsBYWwM5MMBPWwvpetM15sflqQbfyufRu/2gndmkAJfNml+S9kgMD4808s0+sbxrAtN1xS4nV8zDcqcBAQAAhgh+0gAAGKhz93P5B8+TN75LB+Zhz868nMsq4FH619rAFXSqdyHYmu15a+F+CyFdYLqo/Lg81eBb+Txc9xul6yoDPGpeyjYT0017zIYHckbCuYd9YnmnBKZriV1CrpiH4uqDAAAADBf8pAEAMFBs9zO8Z8qN5a3w0oEh2a0zp7pq2N/LEtia/87qL8a2Bj22pnFgeu+3ENIVpavIj8tTDb6Vz+Nzg2G5pUnpLZs19bTnYXggRZFvYrHcmqK17kXjl/of63mumC//otcOAADME/ykAQAwUGD3M7xhytPkzfHSgcnZrTOnumrY2Uv+A39flqN/epZPZ2dgoK1pHJjeGyyEdAmp2/lxearBt/J5QK44Dg9UpnfUlJVtJpLwcJsyNjaQM+LNPazZmJfJi8YvdTvW21wxX/WFrhcAANhH8JMGAMBAgd3P8IYp5O3y0oFZ2q0zp7pq2FN/+F9a6Fk7ViLnsTXYZfnO3A5sajepz6mr+XF5qsG38nkErnLtrMroJqNmsGxWKh5uU8bGJkcO+WhTMNbCWyN0ofilrsZ6mCvmKz35NQIAAPsLftIAABglsPUZ3i2Fj/IGeunAgL10Zl5PTnXVsKfOVTZ2ke625KFuUxQH5vYqSyD1M/UtPy5PNfhWPl/1aS+WRmV6R81m2WYiJA/XnrGxaZRDPtonkGPDPFzqXqxXuWK+uhNeFwAAcKzgJw0AgFG2bn2Gt0qhXd5SLx2Vuj178nIuC42H6Ez+2EVqGXISm6I4MLenXQKpY6kz+XF5qsG38vkyz3N19JsU3bJZgXm49jAMj40c8m6fQK51zxO81KVYZ3LFfEXnuRwAAOAkgp80AABG2bT1Gd4nhU55k710VBR368l5Lhn21J/8lxZ6Fs7ApqDHpijecgmknqSz58flqQbfyufrOvBymK2M7qiJLttM5OfJ2gM2PIozss3Vran4GYlwfs4TvNSTcAfaBwoAAHgaX34DAAfbtPXZs08KY5XfH2RHhXO3npznkmFPL8nfGvvO6iVrkJPYlOp5S2DP/KdTp9Plx+WpBt/K5wvZs/8caFJuy2Zl6cnakzA8M0LIi02RCOfn2OCls4dPuvbcegEAAF748hsAOFj71mfPJinsoPwWITsqsbv15DyXDLt5if3WzI9dNZ2dgSE25XBgaPfMfzpXaj8/Lk81+FY+93xqhzmtMrejMjCjTa6oPQllyaQ/NkLIi02RWAtvDc/+wUtnDJ8ofJkAAMDt+f4bADhY49Znzw4pHKX8LiE5MMMvPUkmdeY8lwz76F9cA1eNBcgZbMrhVfKfGk8N5sflqQbfyueuju0hVzQjtDPa5Io2JaEs3J+Zsa1xA+2R6AnPWndq6tJZwu3v00MAAOCKfAUOABysZeuzZ3sUzmPdrF8dGOyXzkzqyakuGfbRubgGrs19ljnUbcrhafOfWkst5MflqQbfyue+dXaJ+ylDOyoeM9rkitqTMDYzEsiLHaI4NXWp8XCba8esBQAA4IVvwQGAg/3c+uzZG4WTK79XyI5K+249Oc8lwz5eMr818AOXjNXHGWxaEZ3Lp1Q2FWgnVU+18uPyVINv5XNnei6H2ysTmwxJy4w2uaIyCfUYtJdsMbY1bmCNxM88hMMzPHWpwXA77dcLAAA8jS/CAYCD/dz67Nkbhcspv13Ijsr/bj05zyXDDvoD/9JCz3oZ2BTEbArhqMQG2klVUrH8uDzV4Fv53IFw/3mgMrSjkjOjTS6nPQZjA1O2lkjgw21K11p4a2yGZDg10lM3Hwg8AADwwhfhAMDB6lufPRujcA/ldwzZUYtit56c55JhBy+B35r2zuqlgU1BzKYQjkpsSzupTHo+Py5PNfhWPp8x3GEeriWxW81ok8spY1DPQHvJRsMb5Lr2yeFaN1AxHNHwSQEAgNvzXTgAcLDK1mfPrijc2LrpvzpqpezWk5cTeWfgxjrTPnBVnuethsfatBzKwj1Z/XjS9GQ6yI/5+RbfyudT9HQSVmViR4VqRptcS5mBpBKD9pKNxI9VexjCsdlaMZUPx3I9l2ADAAAvfB0OABzs29Znz5YoPE35lUN21PLZpyfnuV6YrT/tLy30LJaBTUFAmcB6/GbEPjWSjjc19a18brOnV/DRwOSvZrTJ5ZQxqGegvWSLsa1xaTuEsKViKhOO4tq+MAMAAC98Iw4AHOzb1mfPlihQfvGQHbWg9unJea4XZntJ+9aod1YvDWwKttoUv/6sphZSrfy4PNXgW/ncn0A3YJMy+aPyNqNNrqU9A2PTInus1jD8TEI4Nt8qpufD8WvvNgAA8DS+EQcADvZx67NnPxT4qPz6ITtqlb30ZFI3znO9MFVn1AeulH2WNny0KX6BrKYqqVh+XJ5q8K187sCmpqBTIPY/zWiTaykzUA9Ae8kWY1vjujYlYS28NTO5Yq6VjsORC3cAAAC4PV+KAwAHK7dBs3VDM3GvAvOUay07ZMXt1o2XE3l74a46oz5qpZzkHYZn2hTjlsKpTHo+Py5PNfhWPp9xU1MwVhn7UVGc0SYX0h6AsVERPLKpCUxVcsn1IGA9r6ACAAAv4p80AABGKXdOs/UWpfISMNxJVtw+3fD2wkO8RH1rzgeulM6eQNim7H0snJ5MB/kxP9/iW/l8ik1NwTwfM9+pbFPUH6g9AGOjInhkwxOYiuVX14OA9VzCCQAAvIh/0gAAmKfcP83Wm5bKS8BwLyvuqOW2z8L39sIT9Od81NvCSd5eeKBN2VsLp2LpeFNQv5XPbco851QukCEpLRtMJP9p2gMwNnuCR9aeq0rJ9FJ+Zj0IWNuXRgAA4IWf7gEA11Duombrbcz7S4mbHJihshJ3tk9PznO9MM9LzreGvLP6alQ7sFVL9lKZ9Hx+XJ5q8K18PqOQc34tq2Orsk2r4IEaAzA8e4JHssbgZwbeA5OeSQf5MT+/VX8LAADAXfmcAABcVbmXulrvbd5fddsDM5xnre3TE+8t3N5LyLcmfNQasdY4ysclkJ5MB/kxP9/iW/l8CpHmcsrVMSTAZYOJRfE07Ykam73hSeZyNmVgLZxLpn/GYpMr5tYEDwAAKAU/ZgAAnFO5A5utdzvvLyXuhWC4yjLc2UtPJnVjn7PAUfpX9Kg1Yq1xiDV4KXLpeFPwvpXPbcowlzbjPbls0wJ5mvbZH5sTqaMxA6lYfnU92CpXzKcTNgAAoBT8mAEAcBXlPuxqvQV6f9XdEQx3koW2Tze8q3B7LyHfmvDO6qtR7UCLlLeUsfy4PNXgW/mcXqHlTsr35CHZLhtMrJdHaY/T2OANjzGXU8lAeik/sx5slSvmUwgYAABQCn7MAAC4tHJDNltviiovAaOcZKHt0w3vKtzbS8K3xnvUArHQmCoFLCUqPy5PNfhWPsdVRLmrlzfkIVEv27R2HqV96seGROT4loH0fCwSuWJuVqgAAIBS8GMGAMDNlNuy2Xqb9P5S4iYKxqqswT3t042TXCzM0B/vlxbCq2NUO5CkOKUI5cflqQbfyudwyiQPUb4bD4l92WBiKT1H+9SPTd3wDHM5OQN59tNxLAa5YtkUAABAFvyYAQBwe+UG/Wq9d3p/1W0VjHWSVbZPN7ylcGMv8d6a7c7qq1Ht8EwpPykz+XF5qsG38jmNQsgDzXgrLtu0rB6lcerHJkTeSBmITX2umCMkPAAAQCn4MQMA4JnKnfpsvZuqvAQMcZJVtk83Xs7i/YTb6Mz2qAVoibFJCkwKSX5cnmrwrXyOn9RB+VY8ZEUMb5CraJz6sljSGZKxrXEVad5jc50r5thICwAAUAp+zAAAIHvZr8/yLVblJWCI91V2yBJ76caMPpzkSmG4/mwPWYCWGHUpISkS+XF5qsG38jlvMgall/fh/gUyvEGuopz6+ry3l2wxtjVOK010eH7XkEgIAABQ8tM9AIDxyl37bL3pqrwE9DvDEtunD95MuKuXbG8Ndmf11ah2uIeUh5SB/Lg81eBb+ZwuoYKK8k14yGIZ3iCX0D7vYxMibzeWJjc8p2swpAIAACj56R4AwB7KvftsvQ17fylxkwajVFbfbvbpwxmuFIZ7CfbWVI9aF53d4OpSANKk58flqQbfyuc4SRE0Gv4OPLxBLqGc9/qkt5dsMbY1DpcmNDyPaxgkAQAAKPnpHgDAMcod/NV6b/b+qts2GOVlfR2yuPZZ42e4Uhirf+0MWRf7LGHOI814muL8uDzV4Fv5nB+ZgZjyHXjIOhreIOdXTnpSmfex8RC2G0iTGJ67NQBmHwAAKPnpHgDAibx8hZCsd2uVl4AeJ1lcO3TD2wi39BLsranurL4a1Q7nlOY3zWl+XJ5q8K18TouQQL/h773DG+QSynmvTHpjsUZjW2M3aeLC87VOuhkHAABKfroHAHBq5YZ+tt6/vb+UuLuDfpV1t6cdunGSK4WBXlK9NdKjFkVnNzibNKFpEvPj8lSDb+VzPKQChivfe4csseENcn6Nk14WSzrjIWkXkiYrPEfrRJtlAACg5Kd7AAAX8/IlQbbe1L2/6n4P+p1kZb10Y0YfvIdwM/2RHrLudli8TJVmMM1aflyeavCtfM6DGMBUw994hzfI+ZWTXp/x9pI/DWyKGdIEhedlnVwzCwAAlPx0DwDgDsr9/Wy9zau8BISdYWXt0wfvIdzMS6S35rmzemZZXU6asjRH+XF5qsG38jkAJh32VL7xDll9wxvk5NpnfGA2yqYSSTuDNCnhiVgn1FQCAAAlP90DALinl13+LN/7VV4Cwt5X1v7Lap8+vJzFuweX1pnnUYvOsjq5NEFpUvLj8lSDb+XzdJtlOMrwt9yyQUv7CdojNDYbknYGaRbCg7/OoOkDAABKfroHAPAgL98xJOvdYOUlIOYMy2qHPnj34E768/zSQmw5DGmEgdKMpFnIj8tTDb6Vz/NrWuEkyrfc/oVZtpZY6U/QGKF5SROzPaWRDw/4OmumDAAAKPnpHgDAo5U7/tl6f/j+UuLuEXpUVtxudujDGS4TRnnJ89Ywd1bPhjRCjzQFadjz4/JUg2/l84SaRzih4e+3ZYNW/RM0zvjYYIjZntJohwd5nSnTBAAAlPx0DwCA/6fc91+tN43vr7qfhB5nWFM79MFbB7fxEuatSR6yFiyo/aUxT4OcH5enGnwrn2fQrMH5le+3/Wu2bC3xJnB7jfmZFzMZmyGNcHhg19kxNQAAQMlP9wAA+K38AiBbbyMrLwEBZ1hTL32Y0YEdTgE76F+wQ9aCBTVbHuHA5H6sEmsNONbwd9qyQW8It9c43WNjJmMzpFEND+Y6I6YDAAAo+ekeAAARL18qZPnesvISEPC+pnZeUDt04PBrhFFewrw1yUPWQmcfeJeHNDCbH6vEWgNOpXyn7V/O3rcfpT08A2M2NrFPlkYyPIDrLJgCAACg5Kd7AAAMU34fkK13m5WXgK0OX1A7dMCbBvfQn+SXFgILwWrql8cwMHcfq8RaA06r/436Rdmg94p7aw/PwFQIWI80euFBW0fesAMAACU/3QMAYKKXryKS9f7z/aXE3SnEvCyo/ZdSZbGPssMpYAedq3XIYj/8HeNy8ohtGqhU5Vv5QGvAhZTvsf0r3Tv2ozSGZ2DGBGyrNGLhUcp1e1oAAABuyYcEAAB29fLdQLbelL6/6n4VAs6wlHbog3cMbuAlxlszPGQVdPbhCfIQbRqZVOVb+UBrwEUNf4MtG/Q2cm+Ncz02EgL2Uxqi8MjkunmQDS8AALDy0z0AAI5XfkOQrbeplZeAdmdYSjv04eUU3i64nP5l0r8KrKN3eUw2DUWq8q18oDXgHso32P43AW/Xz9GYnHkBk65SGpnYgOSKeWANKQAAsPLTPQAAzqj8nmCV710rLwHt3pfS/uvopQ/DO3CGa4ROncukf5VZR0kehE0Xnqp8Kx9oDbif/vfnF2WD3mFurHGixwZMukppNGKDkCvmwTSMAADAyk/3AAC4jJevH5L1brbyEtDo8HW0Qwe8V3B1LxneGuAhS6CzD1eUL3nTlaYq38oHWgNur3xr7X9/GNsap9U+0QMjIV1pBGIXnivmAXzm0AEAAB/56R4AABdWfm2Qrfe3lZeARoevox064L2CS+sP8EsLgfz3t3B++Ro3XVqq8q18oDXgUca+rz7hXZqkfaLLkgPT9ZxopauOXWyumAftOcMFAAD85Kd7AADcSvnlwSrf9FZeAhq9r6OdF9EOHXg5hXcJrqUzwP35P/xdYoZ8UZsuJFX5Vj7QGvBk5ftq/1vH2NY4rcaJHpiH50QrXWnsAnPFPFD3HiIAAGATP90DAOD+ym8RsvU2uPIS0OLwRTS7A94luLSXAG9N75D8d/bhDPIlbOp5qvKtfKA1gGzsO+oN3p9pUU50ZZYbi7UY2NQJpauLXVSumAfnfsMCAACE+ekeAABPVH6XkK03xu8vJW6boV1lfe1jdgcOv0AI60/vSwuB8Pe3sL/c501dTVW+lQ+0BvBR+Y7a/64ytjXOqXGWB4ahbCq5QbTSFcWuIlfMA3KDcQAAAEbx0z0AAPg/L98oZOvd8vurbqSh3eEraHYHvEVwXS/p3RrdzupJfws7yJ3c1LdU5Vv5QGsAP419O73EmzOdylmuTHFjsUZjWztEuoRwz9fLt6YAAICVn+4BAMBX5fcK2Xr/XHkJ+OnwFfTSgeFn9xbBRXUujf7kn3Pt5F5t6kmq8q18oDWArcq30/43nLGtcULlFCf1P2GrzjBcNFep2+HerpdsHQEAACs/3QMAgA1evqvI8k115SXgp/cVtOfy2eHsL6fw5sAl9C+N/uSfYe3kPmw6daryrXygNYAeY99Iz/C2zGzlLFemuLFYi4FNzZa6Gu7hepkWDgAAsPLTPQAA6FV+zZCtt9mVl4C6l+Wz89qZvXi9OXBRnQuzf10f8s6QT7rpXKnKt/KB1gAGKt9I+9+LxrbGCTVO8cAknDxUqXvhXq2XZrEAAAArP90DAIDxyi8bsvXGu/ISUHH42pndAW8OXNFLbreGtj/2nR1olM+yqfFU5Vv5QGsAk4x9Fy1b8y53S41TPDAJJwxV6lK4J+vlWCAAAMDKT/cAAGAP5VcOq3w3XnkJqHhfOzsvnNkdOPwCYav+0L600Fk9GbJqcrObmkpVvpUPtAawj/JdtPNt6uUN2Zve/TSmZVKoDkxU6kb47OslWBEAAMDKT/cAAOAw5XcP2Xp/XnkJ+ObwhTO7A94ZuJyX0G5NbGf1pL+FJDeyqW6q8q18oDWA/Q15/1yVrXkDvJ/G+R0YgwMTlU4dPuPabasAAABY+ekeAACcSPkNxCrftFdeAr55Xzg7r5qXDgw/++z2YazOxPav6FgHcq1N50pVvpUPtAZwuPL9s/MdLPZWzFU0zu91E5VOFz7F2lWxBwAAVn66BwAAZ/fyVUSy3sZXXgI+OnbVzD679wSupT+xLy10Vk8+tpCLbWo8VflWPtAawKl0vve+KFvz3ng/LfN7rUSl9sPNrn0TdQAAYOWnewAAcD0v320k64195SXgo2NXzeyze0/gWl4SuzWundWTjy3kJze1lqp8Kx9oDeDMynfOzje3j2/C3EZjVCYlalScUpvhptb+yDYAALDy0z0AALiD8juJVb7br7wEfPS+avZcMrPPfuzVwSYvcd2a1f60ly1sqpsqfiuf27TugFvqfN9+EX4T5vwaJ3dgBkY1ldoJV1/7IM8AAMDKT/cAAOC2yi8nsvX+v/IS8O7YJTP77C/tezfgtPrXQiztudamc6Uq38oHWgO4qPJdt/N9L/YGziU05mRSnLY2leqGz76eV4ABAICVn+4BAMCDlF9RZOsngveXEp8X4JvKatrB1LMfe2mwyUtct2a1sXoutqnxVGVgawA30PmO/aJszTvqnTTO7MAAbG0qlQ+fcT2X0AIAACs/3QMAgEcrv6hYrR8T3l/1CQK+OXa9vJx97Km9FXAVnVn9Vj0/v7Wpb+UDrQHcT/mW2/mWOLApTqWc2aT+hzXbIUupTPgsa/uCCgAArPx0DwAAePXyHUmyfnCovAS8eFkvey6W2UvVWwFX0bkMy+qb6qaK38rnNi0ZgFXne3VpYFOcTcsf5UlZKttJz4ebXduUTAAAYOWnewAAwG8vX4Fk+dNE5SWg9L5Y9lwps89+7NVBo5egNqY019oU6VTlW/lAawCPUr5Xd75bDmyKU2mc2VEBWNtJjaTjcFO5bm6tpz8AAMCd+OkeAAAQVH4Rkq2fLyovAatjV8rss7+0702AE2pcBbnYpgynKt/KB1oDeKyBtxMDm+JUypmtTGtjsZ9SO+HquW7uiQQCAACZn+4BAADDlF+HZOsnjspLwOrYlTL17N4EuISXoOaU5ic3JTZV+VY+0BoAWfku3flGOrApzqNxWgOzn6qsJcvjTXLFfPZYCwAAwP346R4AADBR+aXIKn8MqbwErN5Xyp7LZOrZj700aFGmdFM+U8Vv5XOb0g7Q6eVGoud9dWBTnEfjtJbFKlOfiq2vlseb5Ir5jLEWAACA+/HTPQAAYG/ltyNZ+S1IPlj5zAIvjl0mL2cfe2rvAJxTTuamNKYq38oHWgPgp/IuovM9dmBTnEfLtFbKpJfWZ8rjTXLFfJZYCwAAwP346R4AAHC88juSVf60UnkJyN6XyW5rZPapX9q39jlEzuGm+KUq38oHWgNgk4H3D25Fbqmc1vrf6yyVSf9cS5bHm+SKueVYCwAAwP346R4AAHBS5ZclWfllST5Y+WgDpQPXyNRTW/scIgdvU9hSlW/lA60B0KO8f+h8+x3YFCfRMqdrmVwg/TM2+7libk1+AACAzE/3AACAyyi/VsnWTzSVl4DkwDUy9dTWPjvIMdsUrVTlW/lAawCM8nLn0PNuPLApTqKc05cJLf+yl8eb5Ir5LAIDAABkfroHAABcWPnlyip/zKm8BCTva2S3BTL11AdeF3eVQ7UpSKnKt/KB1gCY5OW2oefNuWzKm/wNvE/o+sd9PQhYmxUSAAAg89M9AADgbspvWbL1g0/lJeDABTL11BY+nXKENsUmVflWPtAaAPso7xl63qhHtcNJrBOaZ7PyV/6nl6YAAAD8dA8AALi/8suz1fq9S/7nyqckWB24QF5OPfa8UxvnfnJgNuUkVflWPtAaAPsbdbfgruM21j/ulb/yP615kAQAACDz0z0AAOChXr5FS9ZvYvI/Sz46QfayQHZbGt8W7BBTG+cGckI2pSJV+VY+0BoAhyvvFnrew0e1w/7WP+6Vv/I/rQEw+wAAQOanewAAAIvyi7Rs/cRUeQme7MClMfXUljylnIdNGUhVvpUPtAbAqbzcJ4Tf0ke1wz7WP+6Vv/I/uQ0AAABe+OkeAADAVy9fp2XrFzb5nyWfsOB9aey2Lqae+sDr4nB59jfNeKryrXygNQDOrLxJ6Hl7H9UOk6x/3Ct/5X/KdXtaAAAAbsbHAwAAgG3KL9Wy9YNV5SV4rAPXxdRTW+/Pked60/ymKt/KB1oD4Cpebg/C7/aj2mGgIZOS7xDy4/IUAADwbD4eAAAA9Hr5FidZP2pVXoLHOnBdTD31S+MW+23kmd00oanKt/KB1gC4qPLeoOedf1Q79CvnYtU+KWt18wgAAGR+ugcAADBe5Rudzi974Jbe18Vui+Ll1APPe+BFMVaeyk3Tl6p8Kx9oDYAbGHXLMaod+r3MRVafkXyHkB+XpwAAgGfz8QAAAGAn71/trJ/IKi/BMx21KKae10q/qDxxmyYrVflWPtAaAPdT3hX0/FEY1Q6dyolYvc9IvkPIj8tTAADAs/l4AAAAcJjKFzyN3/3Ac7wvin1WxNTzHnVRbJKnadPUpCrfygdaA+DeXu4Hwn8jynb8oTnQy4RmeUbyHUJ+zM8DAAAP5+MBAADAubx/07N+cKu8BA901IqYet6Xxq3xM8iTsmkuUpVv5QOtAfAo5c1A+O+FO4qTeJmIJM1F5T4BAAB4Gh8PAAAAzu7j9z35oPISPNBRK2Leea3xM8izsGnkU5Vv5QOtAfBYL3cC4T8fZTv+Bh2ucp8AAAA8jY8HAAAA1/PyHV6WP99VXoIHel8R+yyHeec96oqeLI/5pnFOVb6VD7QGAFl5GxD+U/JyL+FP0v4q9wkAAMDT+HgAAABwEy9fwiXrJ77KS/A0Ry2HeV+TW+Cz5RHeNKqpyrfygdYA4N2oW4uyHX+e9lG5TwAAAJ7GxwMAAIDbevk+L8sfA99f8vGQxxr1zfcmU9egBT5WHs9NY5iqfCsfaA0Afir/+of/yrzcQvhrNUnlPgEAAHgaHw8AAACe5eULuSR/MHx/PvGZkQf6tkZmm3rel8Yt7U3y6G0atFTlW/lAawCwyai/+2U7/nKNVblVAAAAHsVnAwAAgKd7+W4vWT8qVl6C5zhqIcw7r6W9SR6uTUOUqnwrH2gNAHqUf/fDf4Bebh78IetUuVUAAAAexWcDAAAAXr18M5flz4+Vl+A53hfCPqtg3nmPuqJLyIOzaUBSlW/lA60BwCgvf/HDf4/KdvxRC6jcKgAAAI/iswEAAABNXr7nS9ZPlJWX4CGOWgXzzmtdr/JQbLr8VOVb+UBrADBJ+ec+/LdpSCNPU7lVAAAAHsVnAwAAAILKb+lW+WPm+0s+fvI0R62Ceed9afk5izpf+KbrTVW+lQ+0BgA7GPKH/rF3C1tVbhUAAIBH8dkAAACAkV6+rkvyB8/35xOfSXmUb6tjtklfoh91OfvLV7rp6lKVb+UDrQHA/so/9OE/W0MauaXKrQIAAPAoPhsAAAAwV/mNXbZ+FK28BE9wyBKYd9K7ruh8XZuuJVX5Vj7QGgAc6+VPfOyv2JBGbqNyqwAAADyKzwYAAADs7eV7uyx/Pn1/yedWHuWQJTDvpPdY0fkqNvU8VflWPtAaAJxK+fc9/BdtSCPXVblVAAAAHsVnAwAAAE6h/PYuy59Y359PfJjlOb4tjanmnfSQy+mU+7ypn6nKt/KB1gDgtF7+ssf+wA1p5FoqtwoAAMCj+GwAAADASb18h5esn2ErL8HtHZL/eSd9afmEazn3cFPHUpVv5QOtAcBVlH/Ww3/shjRycpVbBQAA4FF8NgAAAOAyyq/xVvmDbeUluL33/O8Q/kknPeRa6nKXNnUjVflWPtAaAFzRy9/02N++IY2cUOVWAQAAeBSfDQAAALi2l+/zkvWjbuUluLdDvueedNLDF3LuwKaTpirfygdaA4AbKP+gh/8ODmnkDCq3CgAAwKP4bAAAAMDdlF/prfLn3/eXfC7mCQ5J/ryT7nw5+XSbTpGqfCsfaA0AbublT3nsz2LZyOX+sFZuFQAAgEfx2QAAAIBHePmCMMmfiN+fT3xY5va+rYip5p30peWx15Ib39RmqvKtfKA1ALi38u947E/k1DuBGSq3CgAAwKP4bAAAAMBDvXzDl6yfkSsvwV0dEvtJJx3bbG5tUwupyrfygdYA4Dle/ojH/mKWjZzzb27lVgEAAHgUnw0AAABg8fJNYZY/OFdegrt6j/0OmZ900p5mc91N3UhVvpUPtAYAj1X+BY/99Xy5BzjJn+DKrQIAAPAoPhsAAABAzcu3fcn6UbryEtzSIZmfdNL2ZnPJTSdNVQa2BgAkL3+7Y39My0YO/HNcuVUAAAAexWcDAAAA2OblW8Msf75+f8nnbu7tkMy/nHTUGb9dS35+01lSlW/lA60BAO/KP9yxP6wvf/r3/OtcuVUAAAAexWcDAAAAGODlm78kf+J+fz7xYZwb+7YW5pl3xrLlTW2mit/K5za9CQDAQC83A7G/s+G/+zGVuwUAAOA5fDAAAACAKV6+QUzWz+CVl+B+9g/82DPm1ja1kKp8Kx9oDQDYpLwTiP3NfbmXmPGHu3K3AAAAPIcPBgAAALCTl68As/zB/P0lH9i5sf0D33PGXHdTD1OVb+UDrQEAYS/3ALE/wWUjo/6IV+4WAACA5/DBAAAAAI708m1ikj+qvz+f+BTPXX1bCPO0nzGX3NSfVGVgawDAKOUNQOzP8cstRPhveuVuAQAAeA4fDAAAAOBcXr4OTNYP75WX4GZGfS/e7tv6ys9v6kCq8q18oDUAYIYhNxtlI6PuFgAAgOfwwQAAAADO7uVrxSx/oq+8BHfyHvUdch4+aeXL+NymRQoAZ1P+3Y/9pd7UQuVuAQAAeA4fDAAAAOCSyq8Gs/UzfuUluI39c95+xsqX8bkRSxIAzuzlj37gD/fPFip3CwAAwHP4YAAAAAA38fIFYZY/+L+/ZEOA+9k55y0r7r0D+SULEAAupPyjH/sj/t5Cesb9AAAA4IMBAAAA3Fn5NWG2flmY/1myS8DNfMv/JB+X1apcetYaAFzUy5/7wN/0tQX3AwAAgJ/uAQAAwLNUfsxUeQnuYf+Qv58xsbIA4B7KP/Sb/r6niu4HAAAAHwwAAADg6So/Ldr/d06ws51Dnk9nHQHA/bzcVNT/3KfC7gcAAAAfDAAAAIAPvv2e6f35xPYCd/It/AP5th4Abq+8o3j5u+9OAAAAyHw2AAAAAJpUfrS3w0+d4EDDE+4LewB4lJd7CbcBAABAZpcQAAAAiPv2k6b35xO7ENxG54/5/HQPAAAAALBLCAAAAIxU+UlT56+d4Mw2xdtP9wAAAAAAu4QAAADAXO8/aUryjoQf83FjlXj76R4AAAAAYJcQAAAAOMC3XzVVfucHV1fGW6oBAAAA4OH8dA8AAAA4hcqP9r79zg8uJ4VZegEAAACAxF4hAAAAcF7ffrRX+Z0fnJbf7QEAAAAAK9uFAAAAwJVU/g98lZfgDPx0DwAAAABY2S4EAAAArq3yf+DzYz7Ow+/2AAAAAICSHUMAAADghr79aK/yOz+Yx+/2AAAAAIAXNg0BAACAR6j8H/gqL0E/v9sDAAAAAN7ZNwQAAAAeqvJ/4PNjPkbxuz0AAAAA4CNbhwAAAAD/9e1He5Xf+UGFn+4BAAAAAB/ZOgQAAACoqfxo79vv/CDzuz0AAAAA4Bu7hwAAAACbffvRXuV3fjyN3+0BAAAAABU2EAEAAAAGqPwf+CovcVd+twcAAAAA1NlDBAAAAJii8n/g82O+e/O7PQAAAADgJ9uIAAAAAPv59qO9yu/8uBw/3QMAAAAAfrKNCAAAAHCkyo/2vv3OjzPzuz0AAAAAoIWdRAAAAIDT+fajPT/mOzm/2wMAAAAAGtlMBAAAALiA9h/zJTZ8DuF3ewAAAABAO/uJAAAAAJdU+dHet9/5MY/f7QEAAAAAm9hSBAAAALiPbz/aq/zOjyH8dA8AAAAA2MSWIgAAAMCdVf4PfJWX2MTv9gAAAACArewqAgAAADxL5f/A58d8AX63BwAAAAAE2FgEAAAA4OuP9iq/8yPxuz0AAAAAIMbeIgAAAAAfVH609+13fg/kp3sAAAAAQIy9RQAAAABaffvRXuV3fjfmd3sAAAAAQJjtRQAAAADiKv8HvspLN+B3ewAAAABADzuMAAAAAIxU+T/w3ebHfH63BwAAAAB0sskIAAAAwHTffrRX+Z3fafndHgAAAADQzz4jAAAAAAeo/Gjv2+/8TsJP9wAAAACAfvYZAQAAADiLbz/aO8+P+fxuDwAAAAAYwlYjAAAAAOfV/mO+ZPZOl9/tAQAAAACj2G0EAAAA4EoqP9r79ju/IfxuDwAAAAAYyIYjAAAAAJf37Ud7ld/5beJ3ewAAAADAWPYcAQAAALihyo/2vv3Or8JP9wAAAACAsew5AgAAAPAU3360V/8xn9/tAQAAAADD2XYEAAAA4LlafsxnAw0AAAAAGM5P9wAAAADgv15+zGf3DAAAAACYwU/3AAAAAAAAAAAAYFf/s/wXAAAAAAAAAAAA2IWf7gEAAAAAAAAAAMCu/HQPAAAAAAAAAAAAduWnewAAAAAAAAAAALArP90DAAAAAAAAAACAXfnpHgAAAAAAAAAAAOzKT/cAAAAAAAAAAABgV366BwAAAAAAAAAAALvy0z0AAAAAAAAAAADYlZ/uAQAAAAAAAAAAwK78dA8AAAAAAAAAAAB25ad7AAAAAAAAAAAAsCs/3QMAAAAAAAAAAIBd+ekeAAAAAAAAAAAA7MpP9wAAAAAAAAAAAGBXfroHAAAAAAAAAAAAu/LTPQAAAAAAAAAAANiVn+4BAAAAAAAAAADArvx0DwAAAAAAAAAAAHblp3sAAAAAAAAAAACwKz/dAwAAAAAAAAAAgF356R4AAAAAAAAAAADsyk/3AAAAAAAAAAAAYFd+ugcAAAAAAAAAAAC78tM9AAAAAAAAAAAA2JWf7gEAAAAAAAAAAMCu/HQPAAAAAAAAAAAAduWnewAAAAAAAAAAALArP90DAAAAAAAAAACAXfnpHgAAAAAAAAAAAOzKT/cAAAAAAAAAAABgV366BwAAAAAAAAAAALvy0z0AAAAAAAAAAADYlZ/uAQAAAAAAAAAAwK78dA8AAAAAAAAAAAB25ad7AAAAAAAAAAAAsCs/3QMAAAAAAAAAAIBd+ekeAAAAAAAAAAAA7MpP9wAAAAAAAAAAAGBXfroHAAAAAAAAAAAAu/LTPQAAAAAAAAAAANiVn+4BAAAAAAAAAADArvx0DwAAAAAAAAAAAHb0n//8L8gsfTXL798mAAAAAElFTkSuQmCC\"\n }))));\n}\n\nexport default __webpack_public_path__ + \"139a51757a2782164683c2ddb721a145.svg\";\nexport { SvgYspBg as ReactComponent };","var _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgRestart(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20.14 19.982\"\n }, props), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"Group 31\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 55\",\n d: \"M4.198 2.562H1.5a.4.4 0 01-.459-.411.4.4 0 01.458-.412h4.07a.976.976 0 01.014.11v4a.4.4 0 01-.337.426.405.405 0 01-.462-.259.708.708 0 01-.024-.223V3.244l-.056-.037c-.341.333-.7.647-1.018 1a8.471 8.471 0 00-2.2 5.166 8.653 8.653 0 006.085 8.892 8.663 8.663 0 0010.814-5.7 8.65 8.65 0 00-6.444-11.037 16.234 16.234 0 00-1.776-.2c-.3-.028-.47-.168-.462-.433s.179-.394.475-.4a9.493 9.493 0 019.1 7 9.508 9.508 0 01-5.688 11.326 9.458 9.458 0 01-4.013.643 9.5 9.5 0 01-8.494-6.563A9.478 9.478 0 014.012 2.722c.054-.039.101-.084.186-.16z\"\n }))));\n}\n\nexport default __webpack_public_path__ + \"584a50326be0fcfee3fbdc9834b37087.svg\";\nexport { SvgRestart as ReactComponent };","import brand from '@helpers/brand';\r\nimport { Device, from, until } from '@helpers/media';\r\nimport BackgroundImageSVG from '@img/ysp/ysp-bg.svg';\r\nimport { m } from 'framer-motion';\r\nimport styled, { css } from 'styled-components';\r\nimport { StepID } from './Context/types';\r\nconst Container = styled.section `\r\n --ysp-steps-height: 15px;\r\n --ysp-footer-height: 60px;\r\n --ysp-footer-height-mobile: 50px;\r\n\r\n font-size: 16px;\r\n\r\n ${({ step }) => {\r\n switch (step) {\r\n default:\r\n return css `\r\n --ysp-header-height: 170px;\r\n --ysp-header-close: 0px;\r\n `;\r\n case StepID.TermsAndConditions:\r\n return css `\r\n --ysp-header-height: 115px;\r\n --ysp-header-close: 0px;\r\n `;\r\n case StepID.Landing:\r\n return css `\r\n --ysp-header-height: 115px;\r\n --ysp-header-close: 55px;\r\n `;\r\n }\r\n}}\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n --ysp-header-height: 170px;\r\n --ysp-header-close: 0px;\r\n }\r\n\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n background-color: ${brand.white};\r\n z-index: 8002;\r\n`;\r\nconst Header = styled.div `\r\n min-height: calc(var(--ysp-header-height) + var(--ysp-header-close));\r\n max-height: calc(var(--ysp-header-height) + var(--ysp-header-close));\r\n`;\r\nconst MainHeaderContentWrapper = styled(m.div).attrs(() => ({\r\n initial: 'hidden',\r\n animate: 'visible',\r\n exit: 'hidden',\r\n variants: {\r\n hidden: {\r\n opacity: 0,\r\n },\r\n visible: {\r\n opacity: 1,\r\n },\r\n },\r\n transition: {\r\n duration: 0.5,\r\n },\r\n})) `\r\n height: var(--ysp-header-height);\r\n display: flex;\r\n flex-direction: column;\r\n gap: 15px;\r\n\r\n img {\r\n user-select: none;\r\n margin: 0px auto;\r\n max-width: 225px;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n max-width: 350px;\r\n }\r\n }\r\n`;\r\nconst ModalInner = styled(m.div) `\r\n height: calc(\r\n 100dvh - var(--ysp-header-height) - var(--ysp-header-close) - var(--ysp-footer-height-mobile)\r\n );\r\n @media ${from(Device.TabletLarge)} {\r\n height: calc(100dvh - var(--ysp-header-height) - var(--ysp-header-close));\r\n }\r\n\r\n padding: 10px;\r\n position: relative;\r\n\r\n @media ${from(Device.Tablet)} {\r\n padding: 20px;\r\n }\r\n`;\r\nconst ModalHeader = styled.div `\r\n position: relative;\r\n padding: 0 30px 0 0;\r\n display: flex;\r\n flex-direction: column;\r\n\r\n @media ${from(Device.Tablet)} {\r\n padding: 0 30px;\r\n }\r\n\r\n img {\r\n width: 100%;\r\n max-width: 307px;\r\n margin: 0 auto 0 0;\r\n display: block;\r\n flex: 0 0 auto;\r\n\r\n @media ${from(Device.Tablet)} {\r\n margin: 0 auto;\r\n }\r\n }\r\n`;\r\nconst Content = styled.div `\r\n height: calc(\r\n 100dvh - var(--ysp-footer-height-mobile) - var(--ysp-header-height) - var(--ysp-header-close)\r\n );\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n height: calc(\r\n 100dvh - var(--ysp-footer-height) - var(--ysp-header-height) - var(--ysp-header-close) - 40px\r\n );\r\n padding: 20px 0px;\r\n }\r\n overflow-y: auto;\r\n z-index: ${({ soilModalOpen }) => (soilModalOpen ? 200 : 101)};\r\n position: relative;\r\n\r\n ${({ locked }) => locked &&\r\n css `\r\n overflow-y: hidden;\r\n `}\r\n\r\n /* width */\r\n &::-webkit-scrollbar {\r\n width: 8px;\r\n }\r\n\r\n /* Track */\r\n &::-webkit-scrollbar-track {\r\n background: ${brand.white};\r\n }\r\n\r\n /* Handle */\r\n &::-webkit-scrollbar-thumb {\r\n background: ${brand.primary.light};\r\n border-radius: 10px;\r\n }\r\n\r\n [data-ys-root='true'] & {\r\n &::after {\r\n content: '';\r\n position: fixed;\r\n bottom: var(--ysp-footer-height);\r\n left: 0;\r\n width: 100%;\r\n height: 25px;\r\n background: rgb(255, 255, 255);\r\n background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);\r\n z-index: 1;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n height: 40px;\r\n bottom: var(--ysp-footer-height-mobile);\r\n }\r\n }\r\n\r\n &::before {\r\n content: '';\r\n position: fixed;\r\n top: calc(var(--ysp-header-height) + var(--ysp-header-close) - 15px);\r\n left: 0;\r\n height: 25px;\r\n width: 100%;\r\n background: rgb(255, 255, 255);\r\n background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);\r\n z-index: 2;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n height: 40px;\r\n }\r\n }\r\n }\r\n`;\r\nconst BackgroundImage = styled(m.div).attrs(() => ({\r\n initial: 'hidden',\r\n animate: 'visible',\r\n exit: 'hidden',\r\n variants: {\r\n hidden: {\r\n y: 50,\r\n x: 50,\r\n opacity: 0,\r\n },\r\n visible: {\r\n y: 0,\r\n x: 0,\r\n opacity: 1,\r\n },\r\n },\r\n transition: {\r\n duration: 1,\r\n },\r\n})) `\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n background-image: url(${BackgroundImageSVG});\r\n background-position: right bottom;\r\n background-repeat: no-repeat;\r\n background-size: cover;\r\n z-index: -1;\r\n`;\r\nconst MobileHeader = styled.div `\r\n display: flex;\r\n justify-content: space-between;\r\n max-height: 97px;\r\n position: relative;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n padding: 0px 15px;\r\n }\r\n\r\n svg:first-of-type {\r\n margin: 0;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n justify-content: center;\r\n }\r\n`;\r\nconst Close = styled.div `\r\n width: 20px;\r\n display: flex;\r\n align-items: center;\r\n cursor: pointer;\r\n\r\n svg {\r\n width: 100%;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n position: absolute;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n right: 20px;\r\n }\r\n`;\r\nconst Image = styled.img `\r\n height: 100%;\r\n object-fit: contain;\r\n`;\r\nexport const YourSolutionStyles = {\r\n Container,\r\n ModalInner,\r\n ModalHeader,\r\n Content,\r\n BackgroundImage,\r\n Header,\r\n MainHeaderContentWrapper,\r\n MobileHeader,\r\n Close,\r\n Image,\r\n};\r\n","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport { Device, from } from '@helpers/media';\r\nimport { m } from 'framer-motion';\r\nimport styled from 'styled-components';\r\nconst Container = styled.div `\r\n position: absolute;\r\n bottom: 30px;\r\n left: 30px;\r\n z-index: 102;\r\n display: none;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n display: block;\r\n bottom: 50px;\r\n left: 100px;\r\n }\r\n`;\r\nconst Content = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n`;\r\nconst Return = styled(m.div).attrs(() => ({\r\n whileHover: 'hover',\r\n})) `\r\n display: flex;\r\n align-items: center;\r\n color: ${brand.primary.alt};\r\n gap: 10px;\r\n ${fonts.DaxPro.Bold};\r\n font-size: 18px;\r\n cursor: pointer;\r\n\r\n svg {\r\n width: 10px;\r\n height: 100%;\r\n display: block;\r\n transform: rotate(180deg);\r\n }\r\n`;\r\nconst Arrow = styled(m.div).attrs(() => ({\r\n variants: {\r\n hover: {\r\n x: -10,\r\n },\r\n },\r\n transition: {\r\n duration: 0.5,\r\n },\r\n})) ``;\r\nexport const BackToMainSiteStyles = {\r\n Container,\r\n Content,\r\n Return,\r\n Arrow,\r\n};\r\n","import React from 'react';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport { BackToMainSiteStyles as S } from './BackToMainSite.styles';\r\nimport { ReactComponent as Chevron } from '@img/icons/chevron-right.svg';\r\nimport { isSSR } from '@helpers/ssr';\r\nconst BackToMainSite = ({ closeModal }) => {\r\n const { state } = useYSPContext();\r\n if (!state.labels) {\r\n return React.createElement(React.Fragment, null);\r\n }\r\n return (React.createElement(S.Container, null,\r\n React.createElement(S.Content, null,\r\n React.createElement(S.Return, { onClick: () => (!isSSR() && closeModal ? closeModal() : window.history.back()) },\r\n React.createElement(S.Arrow, null,\r\n React.createElement(Chevron, null)),\r\n state.labels['return-to-main-site'] || 'Return to Main Site'))));\r\n};\r\nexport default BackToMainSite;\r\n","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgHome(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n stroke: \"currentColor\",\n fill: \"currentColor\",\n strokeWidth: 0,\n viewBox: \"0 0 1024 1024\",\n height: \"1em\",\n width: \"1em\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M946.5 505L534.6 93.4a31.93 31.93 0 00-45.2 0L77.5 505c-12 12-18.8 28.3-18.8 45.3 0 35.3 28.7 64 64 64h43.4V908c0 17.7 14.3 32 32 32H448V716h112v224h265.9c17.7 0 32-14.3 32-32V614.3h43.4c17 0 33.3-6.7 45.3-18.8 24.9-25 24.9-65.5-.1-90.5z\",\n stroke: \"none\"\n })));\n}\n\nexport default __webpack_public_path__ + \"9f393ad707c50361b72cfe54da59b017.svg\";\nexport { SvgHome as ReactComponent };","import React from 'react';\r\nimport { StepFooterStyles as S } from './StepFooter.styles';\r\nimport { ReactComponent as Chevron } from '@img/icons/chevron-right.svg';\r\nimport { ReactComponent as Restart } from '@img/icons/restart.svg';\r\nimport { ReactComponent as Home } from '@img/ysp/home.svg';\r\nimport { StepID, Tab } from '@ys/Context/types';\r\nimport { AnimatePresence } from 'framer-motion';\r\nconst StepFooter = ({ state, dispatch }) => {\r\n const nextStep = () => {\r\n if (state.stepFooter.beforeNext !== undefined) {\r\n state.stepFooter.beforeNext();\r\n }\r\n dispatch({ type: 'next-step' });\r\n };\r\n const previousStep = () => {\r\n dispatch({ type: 'previous-step' });\r\n };\r\n const restart = () => dispatch({ type: 'restart' });\r\n const isLoadingSolutions = (state.step === StepID.Solutions || state.step === StepID.SelectedSolution) &&\r\n (state.loading || state.loadingResults);\r\n const isNotOnYSSolutions = state.tab === Tab.YourSolution ? state.step !== StepID.Solutions : true;\r\n const hasYSPSolutions = state.tab === Tab.YourSolutionPlus && state.step === StepID.Solutions\r\n ? state.yspResults?.solutions !== undefined\r\n : true;\r\n return (React.createElement(S.Container, { zoomModalOpen: state.zoomModalOpen, isLandingPage: state.step === StepID.Landing },\r\n React.createElement(AnimatePresence, null,\r\n state.labels['back'] && state.step > StepID.Landing && (React.createElement(S.ButtonMotionWrapper, { key: 'BackButton' },\r\n React.createElement(S.Button, { type: \"button\", prev: true, footerPrevious: true, onClick: previousStep, disabled: state.modal !== undefined },\r\n state.labels['back'],\r\n React.createElement(Chevron, null)))),\r\n state.labels['next'] &&\r\n isNotOnYSSolutions &&\r\n state.step !== StepID.TermsAndConditions &&\r\n state.step !== StepID.SelectedSolution &&\r\n !isLoadingSolutions &&\r\n hasYSPSolutions && (React.createElement(S.ButtonMotionWrapper, { key: 'NextButton' },\r\n React.createElement(S.Button, { type: \"button\", disabled: state.stepFooter.nextDisabled || state.modal !== undefined, next: true, footerNext: true, onClick: nextStep },\r\n state.labels['next'],\r\n React.createElement(Chevron, null)))),\r\n state.labels['next'] && state.mobile && state.step === StepID.TermsAndConditions && (React.createElement(S.ButtonMotionWrapper, { key: 'NextButton' },\r\n React.createElement(S.Button, { type: \"button\", disabled: state.stepFooter.nextDisabled, next: true, footerNext: true, onClick: nextStep },\r\n state.labels['accept'] || 'Accept',\r\n React.createElement(Chevron, null)))),\r\n state.tab === Tab.YourSolution && state.step === StepID.Solutions && (React.createElement(S.ButtonMotionWrapper, { key: 'NextButton' },\r\n React.createElement(S.Button, { type: \"button\", footerNext: true, restart: true, onClick: restart, disabled: state.modal !== undefined },\r\n \"Restart\",\r\n React.createElement(Restart, null)))),\r\n !state.loadingResults &&\r\n state.tab === Tab.YourSolutionPlus &&\r\n state.selectedSolution &&\r\n state.step === StepID.SelectedSolution && (React.createElement(S.ButtonMotionWrapper, { key: 'NextButton' },\r\n React.createElement(\"a\", { href: state.technicalLibraryUrl },\r\n React.createElement(S.Button, { type: \"button\", footerNext: true, restart: true },\r\n \"Main Site\",\r\n React.createElement(Home, null))))))));\r\n};\r\nexport default StepFooter;\r\n","export default __webpack_public_path__ + \"aea83c7e45005da5d398d5bd7df79b0a.png\";","export default __webpack_public_path__ + \"8061c02a7291f35015d014eaed8b7e7d.png\";","import brand from '@helpers/brand';\r\nimport styled, { css } from 'styled-components';\r\nimport { Tab as TabEnum } from '@ys/Context/types';\r\nimport { m } from 'framer-motion';\r\nimport { Device, from, until } from '@helpers/media';\r\nconst Container = styled(m.div).attrs(() => ({\r\n initial: 'hidden',\r\n animate: 'visible',\r\n exit: 'hidden',\r\n variants: {\r\n hidden: {\r\n height: 0,\r\n },\r\n visible: {\r\n height: 'var(--ysp-header-height)',\r\n },\r\n },\r\n transition: {\r\n duration: 0.5,\r\n },\r\n})) `\r\n width: 100%;\r\n overflow: hidden;\r\n\r\n display: grid;\r\n grid-template-columns: 1fr 1fr;\r\n`;\r\nconst Tab = styled.div `\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n cursor: pointer;\r\n position: relative;\r\n background-color: ${brand.grey.grey89};\r\n\r\n img {\r\n user-select: none;\r\n z-index: 2;\r\n width: 160px;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n width: 300px;\r\n }\r\n }\r\n`;\r\nconst BottomLine = styled(m.div) `\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n z-index: 0;\r\n width: 100%;\r\n height: 100%;\r\n\r\n border-bottom: 3px solid ${brand.primary.alt};\r\n`;\r\nconst BackgroundEffect = styled(m.div) `\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n border-top: 3px solid ${brand.primary.alt};\r\n background-color: ${brand.white};\r\n z-index: 1 !important;\r\n\r\n ${({ tab }) => tab === TabEnum.YourSolution\r\n ? css `\r\n border-right: 3px solid ${brand.primary.alt};\r\n `\r\n : css `\r\n border-left: 3px solid ${brand.primary.alt};\r\n `}\r\n`;\r\nconst BackToMainSiteMobile = styled(m.div).attrs(() => ({\r\n initial: 'hidden',\r\n animate: 'visible',\r\n exit: 'hidden',\r\n variants: {\r\n hidden: {\r\n height: 0,\r\n },\r\n visible: {\r\n height: 'var(--ysp-header-close)',\r\n },\r\n },\r\n transition: {\r\n duration: 0.5,\r\n },\r\n})) `\r\n overflow: hidden;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n cursor: pointer;\r\n padding: 10px;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n display: none;\r\n }\r\n\r\n svg {\r\n &:first-of-type {\r\n // Logo //\r\n width: 200px;\r\n }\r\n &:last-of-type {\r\n // Close //\r\n width: 20px;\r\n }\r\n }\r\n`;\r\nconst Image = styled.img `\r\n height: 100%;\r\n object-fit: contain;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n max-width: 75%;\r\n }\r\n`;\r\nexport const TabsStyles = {\r\n Container,\r\n Tab,\r\n BackgroundEffect,\r\n BottomLine,\r\n BackToMainSiteMobile,\r\n Image,\r\n};\r\n","import { ReactComponent as Close } from '@img/ysp/icon-cross.svg';\r\nimport YSLogoNoText from '@img/ysp/ys-no-strapline.png';\r\nimport YSLogo from '@img/ysp/ys-strapline.png';\r\nimport YSPLogo from '@img/ysp/ysp-header-logo-crop.png';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport { Tab } from '@ys/Context/types';\r\nimport { AnimateSharedLayout } from 'framer-motion';\r\nimport React from 'react';\r\nimport { TabsStyles as S } from './Tabs.styles';\r\nconst Tabs = (props) => {\r\n const { state, dispatch } = useYSPContext();\r\n return (React.createElement(React.Fragment, null,\r\n React.createElement(S.BackToMainSiteMobile, null,\r\n state.tab === Tab.YourSolution ? (React.createElement(S.Image, { src: YSLogoNoText })) : (React.createElement(S.Image, { src: YSPLogo })),\r\n React.createElement(Close, { onClick: () => props.closeModal && props.closeModal() })),\r\n React.createElement(S.Container, null,\r\n React.createElement(AnimateSharedLayout, null,\r\n React.createElement(S.Tab, { onClick: () => dispatch({ type: 'set-tab', payload: Tab.YourSolution }) },\r\n state.mobile ? React.createElement(S.Image, { src: YSLogoNoText }) : React.createElement(S.Image, { src: YSLogo }),\r\n state.tab === Tab.YourSolution && (React.createElement(S.BackgroundEffect, { layoutId: \"background-effect\", tab: Tab.YourSolution })),\r\n React.createElement(S.BottomLine, null)),\r\n React.createElement(S.Tab, { onClick: () => dispatch({ type: 'set-tab', payload: Tab.YourSolutionPlus }) },\r\n state.mobile ? React.createElement(S.Image, { src: YSPLogo }) : React.createElement(S.Image, { src: YSPLogo }),\r\n state.tab === Tab.YourSolutionPlus && (React.createElement(S.BackgroundEffect, { layoutId: \"background-effect\", tab: Tab.YourSolutionPlus })),\r\n React.createElement(S.BottomLine, null))))));\r\n};\r\nexport default Tabs;\r\n","import ApiService from '@core/api/services/ApiService';\r\nimport { Device, until } from '@helpers/media';\r\nimport { withMotionMax } from '@hoc/withMotionMax';\r\nimport useMedia from '@hooks/useMedia';\r\nimport { ReactComponent as Close } from '@img/ysp/icon-cross.svg';\r\nimport YSLogo from '@img/ysp/ys-no-strapline.png';\r\nimport YSPLogo from '@img/ysp/ysp-header-logo.png';\r\nimport { useYSPContext } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport Modal from '@ys/Components/Modal/Modal';\r\nimport StepHeader from '@ys/Components/StepHeader/StepHeader';\r\nimport StepPicker from '@ys/Components/StepPicker/StepPicker';\r\nimport StepRouter from '@ys/Components/StepRouter/StepRouter';\r\nimport { YourSolutionStyles as S } from '@ys/YourSolution.styles';\r\nimport { disableBodyScroll, enableBodyScroll } from 'body-scroll-lock';\r\nimport { AnimatePresence } from 'framer-motion';\r\nimport React, { useEffect, useLayoutEffect, useRef } from 'react';\r\nimport BackToMainSite from './Components/BackToMainSite/BackToMainSite';\r\nimport StepFooter from './Components/StepFooter/StepFooter';\r\nimport Tabs from './Components/Tabs/Tabs';\r\nimport { DimensionsStepID, SoilGroundConditionsStepID, StepID, Tab, } from './Context/types';\r\nimport { MediaComponent } from '@helpers/mediaComponent';\r\nconst YourSolution = (props) => {\r\n const { state, ...rest } = useYSPContext();\r\n const stateRef = useRef(state);\r\n const modal = useRef(null);\r\n const scrollableArea = useRef(null);\r\n const modalScrollable = useRef(null);\r\n const modalKey = JSON.stringify(state.modal);\r\n const isMobile = useMedia([until(Device.TabletLarge)], [true], false);\r\n React.useEffect(() => {\r\n const parsed = new URLSearchParams(window.location.search);\r\n if (parsed.get('tab') === 'ysp') {\r\n rest.dispatch({ type: 'set-tab', payload: Tab.YourSolutionPlus });\r\n }\r\n }, []);\r\n useEffect(() => {\r\n // I have no idea what that body-scroll-lock thing does, but it doesn't work on iOS at all. //\r\n // It seems to add 'position: fixed' to the body element which just breaks tons of stuff. //\r\n // Surely just lock the body at 100vh height and disable overflow? //\r\n // The package also seems unmaintained since 2 years ago, so I'm just going to do that, which works. //\r\n const bodyElement = document.querySelector('body');\r\n if (bodyElement) {\r\n let existingStyleAttribute = bodyElement.getAttribute('style') || '';\r\n existingStyleAttribute += ' max-height: 100vh; overflow: hidden';\r\n bodyElement.setAttribute('style', existingStyleAttribute);\r\n }\r\n return function () {\r\n const bodyElement = document.querySelector('body');\r\n if (bodyElement) {\r\n let existingStyleAttribute = bodyElement.getAttribute('style') || '';\r\n existingStyleAttribute = existingStyleAttribute.replace('max-height: 100vh; overflow: hidden', '');\r\n bodyElement.setAttribute('style', existingStyleAttribute);\r\n }\r\n };\r\n }, []);\r\n useEffect(() => {\r\n stateRef.current = state;\r\n }, [state]);\r\n const handleUnload = async () => {\r\n // Ensure user has at least progressed past the location step so we have contact details & postcode //\r\n if (stateRef.current.form.postCode !== undefined &&\r\n stateRef.current.step !== StepID.SelectedSolution) {\r\n const controllerName = stateRef.current.tab === Tab.YourSolution ? 'ISM' : 'YSP';\r\n let stepId = stateRef.current.step;\r\n if (stateRef.current.tab === Tab.YourSolutionPlus) {\r\n switch (stepId) {\r\n case StepID.TermsAndConditions:\r\n stepId = StepID.Landing; // Landing step returns Terms & Conditions content //\r\n break;\r\n case StepID.Dimensions:\r\n switch (stateRef.current.dimensionsStep) {\r\n case DimensionsStepID.EndSafePanels:\r\n case DimensionsStepID.EndSafeSides:\r\n stepId = 5;\r\n break;\r\n default:\r\n case DimensionsStepID.Size:\r\n break;\r\n }\r\n break;\r\n case StepID.SoilsGroundConditions:\r\n switch (state.soilGroundConditionsStep) {\r\n case SoilGroundConditionsStepID.SoilInformationSource:\r\n stepId = 7;\r\n break;\r\n case SoilGroundConditionsStepID.Groundwater:\r\n case SoilGroundConditionsStepID.GroundwaterDepth:\r\n stepId = 8;\r\n break;\r\n default:\r\n case SoilGroundConditionsStepID.SoilProfiles:\r\n stepId = 6;\r\n break;\r\n }\r\n break;\r\n case StepID.Surcharges:\r\n stepId = 9;\r\n break;\r\n case StepID.Solutions:\r\n stepId = 10;\r\n break;\r\n default:\r\n case StepID.Landing:\r\n case StepID.Details:\r\n case StepID.Location:\r\n case StepID.Depth:\r\n break;\r\n }\r\n }\r\n await ApiService.request({\r\n controller: controllerName,\r\n slug: 'partial-submit',\r\n method: 'POST',\r\n params: {\r\n ...stateRef.current.form,\r\n lastStep: stepId,\r\n },\r\n });\r\n }\r\n };\r\n useEffect(() => {\r\n window.addEventListener('beforeunload', handleUnload);\r\n return () => window.removeEventListener('beforeunload', handleUnload);\r\n }, []);\r\n useEffect(() => {\r\n rest.dispatch({ type: 'set-mobile', payload: isMobile });\r\n }, [isMobile]);\r\n useLayoutEffect(() => {\r\n if (!modalScrollable.current) {\r\n return;\r\n }\r\n if (!state.modal) {\r\n enableBodyScroll(modalScrollable.current);\r\n }\r\n else {\r\n disableBodyScroll(modalScrollable.current);\r\n }\r\n // Clear all locks when ISM component is unmounted.\r\n return () => {\r\n if (!modalScrollable.current) {\r\n return;\r\n }\r\n enableBodyScroll(modalScrollable.current);\r\n };\r\n }, [modalKey]);\r\n return (React.createElement(S.Container, { ...props, step: state.step, ref: modal },\r\n React.createElement(S.Header, null,\r\n React.createElement(AnimatePresence, { exitBeforeEnter: true }, state.step === StepID.Landing ? (React.createElement(Tabs, { key: \"tabs\", closeModal: props.closeModal })) : (React.createElement(S.MainHeaderContentWrapper, { key: \"header\" },\r\n React.createElement(StepHeader, null),\r\n React.createElement(S.MobileHeader, null,\r\n state.tab === Tab.YourSolution ? (React.createElement(S.Image, { src: YSLogo })) : (React.createElement(S.Image, { src: YSPLogo })),\r\n React.createElement(S.Close, { onClick: () => props.closeModal && props.closeModal() },\r\n React.createElement(Close, null))),\r\n state.step !== StepID.TermsAndConditions && React.createElement(StepPicker, null))))),\r\n React.createElement(S.ModalInner, null,\r\n React.createElement(S.Content, { isLandingPage: state.step === StepID.Landing, locked: state.scrollLocked, ref: scrollableArea, soilModalOpen: state.soilModalOpen },\r\n React.createElement(StepRouter, { state: state, ...rest })),\r\n React.createElement(AnimatePresence, null, state.tab === Tab.YourSolutionPlus && React.createElement(S.BackgroundImage, null))),\r\n React.createElement(AnimatePresence, null, state.modal !== undefined && (React.createElement(Modal, { key: `YourSolution_Modal`, modal: state.modal, modalScrollable: modalScrollable }))),\r\n React.createElement(AnimatePresence, null,\r\n React.createElement(MediaComponent, { mobile: true },\r\n React.createElement(StepFooter, { key: \"StepFooter\", state: state, ...rest })),\r\n React.createElement(MediaComponent, { desktop: true },\r\n state.step === StepID.Landing && (React.createElement(BackToMainSite, { closeModal: props.closeModal, key: \"BackToMainSite\" })),\r\n state.step > StepID.Landing && React.createElement(StepFooter, { key: \"StepFooter\", state: state, ...rest })))));\r\n};\r\nexport default withMotionMax(YourSolution);\r\n","import { HydrateOption } from '@core/enums';\r\nimport { isSSR } from '@helpers/ssr';\r\nimport withWidget from '@hoc/withWidget';\r\nimport { YSContextProvider } from '@stories/Widgets/YourSolution/YS/Context/YSContext';\r\nimport React from 'react';\r\nimport YourSolution from './YourSolution';\r\nconst YourSolutionRoot = (props) => {\r\n return (React.createElement(YSContextProvider, { ...props },\r\n React.createElement(YourSolution, { closeModal: () => !isSSR() && window.history.back(), ...props })));\r\n};\r\nexport default withWidget(YourSolutionRoot, 'YourSolutionRoot', { hydrate: HydrateOption.Always });\r\n","import React, { useEffect, useState } from 'react';\r\nimport { LoaderStyles } from './Loader.styles';\r\nconst Loader = (props) => {\r\n const [showLoader, setShowLoader] = useState(props.delay === undefined);\r\n useEffect(() => {\r\n if (!props.delay) {\r\n return;\r\n }\r\n const handle = setTimeout(() => setShowLoader(true), props.delay);\r\n return () => window.clearTimeout(handle);\r\n }, []);\r\n if (!showLoader) {\r\n return null;\r\n }\r\n const Loader = (React.createElement(LoaderStyles.Wrapper, null,\r\n React.createElement(LoaderStyles.Loader, null)));\r\n if (props.container === true) {\r\n return (React.createElement(LoaderStyles.Container, null,\r\n React.createElement(LoaderStyles.ContainerInner, null, Loader)));\r\n }\r\n return Loader;\r\n};\r\nexport default Loader;\r\n","import { Cloudinary } from '@cloudinary/base';\r\nimport { format, quality } from '@cloudinary/base/actions/delivery';\r\nimport { fit } from '@cloudinary/base/actions/resize';\r\nimport { audioCodec } from '@cloudinary/base/actions/transcode';\r\nimport { auto as fAuto } from '@cloudinary/base/qualifiers/format';\r\nimport { auto as qAuto } from '@cloudinary/base/qualifiers/quality';\r\nconst cl = new Cloudinary({\r\n cloud: {\r\n cloudName: 'vp-groundforce',\r\n },\r\n url: {\r\n secure: true,\r\n },\r\n});\r\nexport function imageUrl(publicId, rawTransformation) {\r\n if (!publicId) {\r\n return '';\r\n }\r\n const image = cl.image(publicId);\r\n // Apply raw transformation.\r\n if (rawTransformation) {\r\n image.addTransformation(rawTransformation);\r\n }\r\n // Ensure we're specifying a format...\r\n if (containsFormatTransformation(rawTransformation)) {\r\n return image.toURL();\r\n }\r\n // ...otherwise serve with \"f_auto\" for WebP support.\r\n return image.delivery(format(fAuto())).delivery(quality(qAuto())).toURL();\r\n}\r\nexport function videoUrl(publicId, options = {}) {\r\n if (!publicId) {\r\n return '';\r\n }\r\n let video = cl.video(publicId);\r\n // Apply resize.\r\n if (options.aspectRatio || options.width) {\r\n let resize = fit();\r\n if (options.aspectRatio) {\r\n resize = resize.aspectRatio(options.aspectRatio);\r\n }\r\n if (options.width) {\r\n resize = resize.width(options.width);\r\n }\r\n video = video.resize(resize);\r\n }\r\n // Apply transcale (remove audio).\r\n if (options.audioCodec) {\r\n video = video.transcode(audioCodec(options.audioCodec));\r\n }\r\n // Apply format.\r\n if (options.format) {\r\n video = video.delivery(format(options.format));\r\n }\r\n return video.toURL();\r\n}\r\n// eslint-disable-next-line no-useless-escape\r\nconst FormatRegEx = /(\\/|\\,)(f_.*?)(\\/|\\,)/;\r\nfunction containsFormatTransformation(transformation) {\r\n return !!transformation && FormatRegEx.test(transformation);\r\n}\r\n","import { m } from 'framer-motion';\r\nimport styled, { css } from 'styled-components';\r\nimport { WYSIWYGStyles } from '@ys/Components/Shared.styles';\r\nimport { Device, from } from '@helpers/media';\r\nconst MotionBase = styled(m.section).attrs(() => ({\r\n initial: 'hidden',\r\n animate: 'visible',\r\n exit: 'hidden',\r\n variants: {\r\n hidden: {\r\n opacity: 0,\r\n },\r\n visible: {\r\n opacity: 1,\r\n },\r\n },\r\n transition: {\r\n duration: 0.35,\r\n },\r\n})) ``;\r\n// Unified interface to add a grid layout to the steps //\r\nconst Grid = styled(MotionBase) `\r\n width: 100%;\r\n margin: auto;\r\n height: 100%;\r\n\r\n max-width: 92vw;\r\n @media ${from(Device.TabletLarge)} {\r\n max-width: 75vw;\r\n }\r\n\r\n ${({ centered }) => centered &&\r\n css `\r\n place-items: center center;\r\n `}\r\n\r\n display: grid;\r\n grid-template-columns: repeat(12, 1fr);\r\n\r\n ${WYSIWYGStyles};\r\n`;\r\nconst FullWidth = styled.div `\r\n grid-column: 1 / -1;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n padding-bottom: 35px;\r\n }\r\n`;\r\nconst Default = styled.div `\r\n grid-column: 2 / 12;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n grid-column: 3 / 11;\r\n padding-bottom: 35px;\r\n }\r\n`;\r\nconst Thin = styled.div `\r\n grid-column: 1 / -1;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n grid-column: 4 / 10;\r\n padding-bottom: 35px;\r\n }\r\n`;\r\nconst Wide = styled.div `\r\n grid-column: 2 / 12;\r\n padding-bottom: 35px;\r\n`;\r\nexport const StepStyles = {\r\n Grid,\r\n};\r\nexport const Containers = {\r\n FullWidth,\r\n Default,\r\n Thin,\r\n Wide,\r\n};\r\n","import { css } from 'styled-components';\r\n/**\r\n * Show only for screen readers.\r\n * @description Sourced from https://gist.github.com/ffoodd/000b59f431e3e64e4ce1a24d5bb36034\r\n */\r\nconst srOnly = css `\r\n border: 0 !important;\r\n clip: rect(1px, 1px, 1px, 1px) !important;\r\n -webkit-clip-path: inset(50%) !important;\r\n clip-path: inset(50%) !important;\r\n height: 1px !important;\r\n margin: -1px !important;\r\n overflow: hidden !important;\r\n padding: 0 !important;\r\n position: absolute !important;\r\n width: 1px !important;\r\n white-space: nowrap !important;\r\n`;\r\nexport default srOnly;\r\n"],"sourceRoot":""}