{"version":3,"sources":["../webpack/bootstrap","../external \"React\"","components/RiskTable/svg/high.svg","components/RiskTable/svg/low.svg","components/RiskTable/svg/middleToHigh.svg","components/RiskTable/svg/middleToLow.svg","components/RiskTable/svg/middle.svg","components/WebGuidanceIntroBlock/svg/hexagon-construction.svg","components/WebGuidanceIntroBlock/svg/hexagon-sustainable-supply-chains.svg","components/WebGuidanceIntroBlock/svg/hexagon-municipal-land.svg","components/WebGuidanceIntroBlock/svg/hexagon-default.svg","components/WebGuidanceIntroBlock/svg/hexagon-work.svg","../external \"ReactDOM\"","store/modules/epi.ts","api/epiApi.ts","store/modules/model.ts","utils/helpers.ts","store/modules/requirements.ts","store/index.ts","components/Link/Link.tsx","components/Meta/Meta.tsx","components/EkoForm/ResultTable/ResultTable.jsx","components/EkoForm/ResultDiagram/ResultDiagram.jsx","components/EkoForm/EkoForm/EkoForm-data.js","components/EkoForm/EkoForm/EkoForm.jsx","components/StepByStep/StepByStep.tsx","components/Text/Text.tsx","components/RichText/RichText.tsx","components/Image/Image.tsx","components/EmbedScript/EmbedScript.tsx","components/RiskTable/RiskTableLarge.tsx","components/RiskTable/RiskTableSmall.tsx","components/RiskTable/RiskTable.tsx","hooks/useEpiEvent.ts","hooks/useUuid.ts","hooks/usePageQuery.ts","hooks/useWindowWidth.ts","components/ScrollableTable/ScrollableTable.tsx","components/DataTable/DataTableSortButton.tsx","components/StatisticTable/StatisticTable.tsx","components/ClimateImpactEvaluationForm/ClimateImpactEvaluationForm-data.ts","components/ClimateImpactEvaluationForm/ClimateImpactEvaluationDiagram.tsx","components/ClimateImpactEvaluationForm/ClimateImpactEvaluationTable.tsx","components/ClimateImpactEvaluationForm/ClimateImpactEvaluationForm.tsx","components/Highcharts/helpers/getOptionsFromProps.ts","components/Highcharts/Highcharts.tsx","state-machines/showMorePagination.machine.ts","components/ExportDataDropdown/ExportDataDropdown.tsx","components/StatisticService/helpers/exportDataFunctions.ts","components/ExportDataDropdown/ExportDataOption.tsx","components/StatisticsDataBlock/StatisticsDataBlock.tsx","components/StatisticChart/StatisticChart.tsx","components/EpiFragments/EpiFragments.tsx","state-machines/search.machine.ts","state-machines/searchField.machine.ts","components/LanguageSelector/LanguageSelector.tsx","hooks/useMediaQuery.ts","state-machines/criteriaCart.machine.ts","components/DataTableCart/index.ts","components/DataTableCart/DataTableCart.tsx","components/DataTableCart/DataTableCartRow.tsx","components/CriteriaCart/CriteriaCartDownloadButton.tsx","components/CriteriaCart/CriteriaCartToast.tsx","hooks/usePrevious.ts","components/CriteriaCart/CriteriaCart.tsx","utils/kundo-lazy-button.js","layouts/BaseLayout/BaseLayout.tsx","components/EditorList/EditorList.tsx","components/ModalButton/ModalButton.tsx","components/EpiContentArea/helpers.ts","components/ChartPuff/ChartPuff.tsx","components/EpiContentArea/EpiContentArea.tsx","pages/StartPage/StartPage.tsx","pages/StandardPage/StandardPage.tsx","pages/ErrorPage404/ErrorPage404.tsx","components/WebGuidanceIntroBlock/WebGuidanceIntroBlock.tsx","pages/WebGuidanceArticlePage/WebGuidanceArticlePage.tsx","pages/WebGuidanceLandingPage/WebGuidanceLandingPage.tsx","components/CriteriaCartAddButton/CriteriaCartAddButton.tsx","pages/CriteriaServiceRequirementPageV2/CriteriaServiceRequirementPageV2.tsx","components/CriteriaComparisonColumn/CriteriaComparisonColumn.tsx","state-machines/criteriaComparison.machine.ts","pages/CriteriaServiceComparisonPage/CriteriaServiceComparisonPage.tsx","pages/QuestionPortalDialogPage/QuestionPortalDialogPage.tsx","pages/QuestionPortalCategoryPage/QuestionPortalCategoryPage.tsx","pages/QuestionPortalStartPage/QuestionPortalStartPage.tsx","pages/PublicationPage/PublicationPage.tsx","pages/PublicationsListingPage/PublicationsListingPage.tsx","pages/CalendarEventPage/CalendarEventPage.tsx","pages/AttachmentPage/AttachmentPage.tsx","pages/RiskAnalysisPage/RiskAnalysisPage.tsx","pages/RiskAnalysisServicePage/RiskAnalysisServicePage.tsx","pages/CriteriaServiceRequirementPage/CriteriaServiceRequirementPage.tsx","components/MultiSelectFilter/MultiSelectFilter.tsx","state-machines/filterSort.machine.ts","components/DataTableProductGroup/DataTableProductGroupSortButton.tsx","components/DataTableProductGroup/DataTableProductGroup.tsx","components/DataTableProductGroup/DataTableProductGroupRow.tsx","pages/ProductSubGroupPageV2/ProductSubGroupPageV2.tsx","components/DataTable/DataTableRow.tsx","components/DataTable/DataTable.tsx","components/DataTable/DataTableExportButton.tsx","api/requirementApi.ts","pages/ProductSubGroupPage/ProductSubGroupPage.tsx","pages/CriteriaServicePage/CriteriaServicePage.tsx","pages/ProductGroupPageV2/ProductGroupPageV2.tsx","pages/ProductGroupPage/ProductGroupPage.tsx","pages/SectionPage/SectionPage.tsx","pages/NewsListingPage/NewsListingPage.tsx","pages/CalendarEventListingPage/CalendarEventListingPage.tsx","pages/InspirationPage/InspirationPage.tsx","pages/SearchPage/SearchPage.tsx","components/SearchFilters/MultiselectFilter.tsx","components/SearchFilters/RadioFilter.tsx","components/SearchFilters/SingleSelectFilter.tsx","components/SearchFilters/SearchFilters.tsx","components/SearchResultList/SearchResultList.tsx","components/ServiceTabs/ServiceTabs.tsx","components/ServiceTabs/ServiceTabItem.tsx","state-machines/searchAdvance.machine.ts","components/SearchSortList/SearchSortList.tsx","pages/SearchPageAdvance/SearchPageAdvance.tsx","pages/ArticlePage/ArticlePage.tsx","pages/NavigationPage/NavigationPage.tsx","pages/ProcessPage/ProcessPage.tsx","state-machines/statisticService.machine.ts","components/StatisticService/StatisticService.chart.tsx","components/StatisticService/StatisticsServiceFilter.tsx","components/StatisticService/StatisticsServiceFilterOption.tsx","components/StatisticService/StatisticService.tsx","pages/StatisticServicePage/StatisticServicePage.tsx","pages/StatisticServiceStartPage/StatisticServiceStartPage.tsx","pages/StatisticServiceArticlePage/StatisticServiceArticlePage.tsx","pages/StatisticServiceArticleListingPage/StatisticServiceArticleListingPage.tsx","pages/StatisticServiceNavigationPage/StatisticServiceNavigationPage.tsx","pages/StatisticServiceSectionPage/StatisticServiceSectionPage.tsx","pages/ValfrihetArticlePage/ValfrihetArticlePage.tsx","state-machines/valfrihet.machine.ts","components/ValfrihetMonitorModal/ValfrihetMonitorModal.tsx","pages/ValfrihetStartPage/ValfrihetStartPage.tsx","pages/index.tsx","pages/ValfrihetAdPage/ValfrihetAdPage.tsx","pages/ValfrihetMonitorPage/ValfrihetMonitorPage.tsx","routeHandler.tsx","App.tsx","hooks/useTabFocus.ts","index.tsx","mocks/CriteriaService/getMockCriteriaColumnData.ts","mocks/CriteriaService/getMockCriteriaCartData.ts","mocks/statistics/helpers/sortTable.ts","mocks/statistics/helpers/paginateTable.ts","mocks/handlers.ts","mocks/Search/getMockSearch.ts","mocks/statistics/getMockStatistics.ts","mocks/browser.ts","store/modules/react.ts","types.ts","components/RiskTable/svg/none.svg"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","0","exports","module","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","p","jsonpScriptSrc","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","this","oldJsonpFunction","slice","React","ReactDOM","createSlice","initialState","beta","isEditable","inEditMode","ready","reducers","updateEpi","state","action","payload","selectEpi","epi","actions","getEpiPage","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","apiUrl","route","querystring","hashstring","_data$data$content","_data$data","_data$data$languages","url","responseURL","wrap","_context","prev","next","concat","axios","sent","content","window","location","href","substring","history","replaceState","languages","culture","__culture","abrupt","stop","_x","_x2","_x3","_x4","arguments","getEpiPageContent","_ref2","_callee2","contentLink","_yield$axios$get","_context2","_x5","_x6","loading","model","getModelStart","getModelSuccess","getModelFailed","updateContent","selectModel","selectContent","selectBreadcrumbs","_state$model$model$br","breadcrumbs","selectMetaData","metadata","selectAlertBar","alertBar","selectBetaBar","betaBar","selectQuickLinksBar","quickLinksBar","selectFooterContact","contact","selectFooterQuickLinks","quickLinksFooter","selectFooterPopularPages","popularPages","selectCookieBar","cookieBar","selectSkipToMainContent","skipToMainContent","selectTheme","theme","selectSearch","search","selectLanguageSelector","selectNavigation","navigation","selectLogotype","logotype","selectCriteriaCart","criteriaCart","_slice$actions","createQueryString","params","Array","isArray","buckets","_step","_iterator","_createForOfIteratorHelper","done","aggregation","values","filter","b","selected","term","map","encodeURIComponent","join","path","f","getFilterSortQuery","filterQuery","sortQuery","getActiveAggregations","aggregations","_step2","aggs","_iterator2","assign","productGroups","localStorage","requirements","JSON","parse","setInitialRequirements","_objectSpread","updateRequirements","productGroupId","selectedRequirements","initSelectedRequirements","dispatch","items","newRequirements","row","documentId","requirementWithLevel","productGroup","_defineProperty","stringify","lsRequirements","_len","objects","_key","allKeys","reduce","keys","union","Set","every","size","objectsHaveSameKeys","updateSelectedRequirements","selectProductGroups","rootReducer","combineReducers","epiReducer","react","reactReducer","modelReducer","requirementsReducer","Link","_epi$beta","to","children","_ref$className","className","htmlAttributes","_objectWithoutProperties","_excluded","useSelector","charAt","RouterLink","Meta","_metaData$openGraph","_metaData$openGraph2","_metaData$openGraph3","_metaData$openGraph4","_metaData$openGraph5","_metaData$openGraph6","_metaData$twitter","_metaData$twitter2","_metaData$twitter3","_metaData$twitter4","_metaData$languages","assetPath","favicon","favicon144","favicon114","favicon72","favicon57","metaData","mappedMetaData","title","ogSiteName","openGraph","siteName","ogType","ogTitle","ogUrl","ogDescription","description","ogImage","image","twitterCard","twitter","card","twitterTitle","twitterDescription","twitterImage","contentId","languageSelector","MetaWriter","lang","http-equiv","item","rel","hrefLang","sizes","canonicalUrl","modelType","ResultTable","antalTjanster","log","totaltIndivid","TotaltIndivid","parseInt","replace","TotaltKommun","totaltKommun","TotaltRegion","totaltRegion","TotaltStat","totaltStat","TotaltArbetsgivare","totaltArbetsgivare","samhallet","individ","Math","round","kommun","region","stat","arbetsgivare","samhalletPerTjanst","isNaN","ResultDiagram","ResultData","style","width","height","ResponsiveContainer","BarChart","barSize","barGap","margin","top","left","bottom","CartesianGrid","strokeDasharray","XAxis","dataKey","interval","angle","dy","YAxis","padding","label","position","offset","ReferenceLine","y","stroke","Bar","fill","LabelList","formData","heading","tooltip","options","defaultValue","requiredMessage","pattern","patternMessage","hiddenFields","Anställning","Lärling","Praktik","getDefaultValues","defaultValues","forEach","section","EkoForm","_useState","useState","_useState2","_slicedToArray","setValue","_useState3","_useState4","responseData","setResponseData","_useState5","_useState6","setLoading","resultRef","useRef","Fragment","Form","initialValues","onSubmit","newValues","query","k","headers","accepts","then","response","current","focus","catch","onChange","field","formValues","onReset","Text","as","text","indexOf","Label","htmlFor","required","Tooltip","Field","id","validationMessage","ErrorSpan","fieldId","Select","option","caption","Button","disabled","Icon","icon","color","animate","aria-hidden","variant","tabIndex","ref","StepByStep","steps","_ref$listType","listType","useLocation","hash","StepByStepUI","step","_step$steps","_step$steps2","clsx","StepByStepHeader","header","subHeader","subHeading","number","lastChild","EpiFragments","fragments","subStep","_step$steps3","StepByStepItem","open","includes","isOpen","openText","closeText","borderTop","headingLevel","onToggle","expanded","dataLayer","expandedBlock","prop","allProps","TextUi","RichText","useHistory","nodeRef","handleLinkClick","getAttribute","isFile","preventDefault","useEffect","nodeRefRef","querySelectorAll","a","addEventListener","removeEventListener","Image","ImageBase","EmbedScript","embedRef","defaultWrite","write","innerHTML","async","body","removeChild","appendScript","RiskTableLarge","rowHeading","columnHeading","dataMatrix","rowHeaders","columnHeaders","getAssessmentIcon","_useUuid","useUuid","getUuid","data-cid","rowSpan","colSpan","scope","col","index","stepName","targetId","riskAreaName","cellData","assessmentValue","NoneBouble","alt","assessment","RiskTableSmall","level","toLowerCase","LowBouble","MiddleToLowBouble","MiddleBouble","MiddleToHighBouble","HighBouble","RiskTable","assessments","some","sort","useEpiEvents","useDispatch","apiEditUrl","selectReact","epiReady","subscribe","successful","split","t0","onLoad","counter","usePageQuery","page","queryString","getWidth","innerWidth","documentElement","clientWidth","ScrollableTable","stickyColumn","matrix","scrollRef","disableShadows","isScrollable","setIsScrollable","isStickyColumn","setIsStickyColumn","windowWidth","setWidth","timeoutId","resizeListener","useWindowWidth","_scrollDiv$querySelec","_scrollDiv$querySelec2","_scrollDiv$parentElem","scrollDiv","tableWidth","querySelector","tableHeight","clientHeight","parentWidth","parentElement","scrollWidth","DataTableSortButton","direction","orderByText","onClick","getNextDirection","data-button-action","StatisticTable","_data$properties","lastUpdated","pagerText","_ref$matrix","_ref$enableSort","enableSort","_ref$enablePagination","enablePagination","source","showMoreButtonText","_ref$sortCallback","sortCallback","_ref$paginationCallba","paginationCallback","renderTotal","properties","enabledHeaders","enabled","headerIndex","_data$properties$find","find","dataType","rows","_data$properties$find2","_data$properties$find3","forms","toolTip","referenceObjects","info","referenceData","unit","amount","referenceDataOperation","lifeLengthReferenceData","lifeLength","inputObjectLifeLength","objectLifeLengthUnit","inputUnit","measures","procurementReason","measureBuildVaule","measeureOperationVaule","constructionPhaseData","constructionPhase","ClimateImpactEvaluationDiagram","co2AmountBuildTraditional","co2AmountOperationTraditional","co2AmountBuildEnvironmental","co2AmountOperationEnvironmental","measureType","formType","Bygg","Drift","right","Legend","wrapperStyle","stackId","ClimateImpactEvaluationTable","buildObjectTypesWithoutMaterial","operationObjectTypes","co2AmountBuildDifference","co2precentBuildDifference","referenceObjectType","inputAmount","co2AmountOperationDifference","co2precentOperationDifference","co2AmountBuildTraditionalFormatted","Intl","NumberFormat","format","co2AmountOperationTraditionalFormatted","co2AmountBuildEnvironmentalFormatted","co2AmountOperationEnvironmentalFormatted","co2AmountBuildDifferenceFormatted","getOptions","ClimateImpactEvaluationForm","_referenceObject$cons","_referenceObject$cons2","allForms","form","setForm","referenceObject","setReferenceObject","_useState7","_useState8","measure","setMeasure","_useState9","_useState10","calculatedData","setCalculatedData","_referenceObject$life","_referenceObject$life2","_referenceObject$refe","referenceAmount","referenceAmountUnit","measureAmountBuild","formName","inputObjectLifeLengthAmount","inputObjectLifeLengthUnit","referenceAmountOperation","measureAmountOperation","co2AmountEnvironmentalBuild","co2AmountTraditionalOperation","co2AmountEnvironmentalOperation","calculateData","findIndex","dataName","dangerouslySetInnerHTML","__html","getOptionsFromProps","props","stacking","chartType","subtitle","tooltipValueDecimals","tooltipValuePrefix","tooltipValueSuffix","yAxisTitle","yAxisLabelFormat","yAxisMin","yAxisMax","xAxisTitle","xAxisLabelFormat","xAxisCategories","series","stacked","showLegend","chartHeight","colors","credits","chart","fontFamily","marginRight","yAxis","labels","min","max","minTickInterval","xAxis","categories","plotOptions","pie","dataLabels","headerFormat","pointFormat","legend","maxHeight","valueDecimals","valuePrefix","valueSuffix","exporting","sourceWidth","sourceHeight","buttons","contextButton","chartOptions","distance","itemDistance","Highcharts","chartRef","_ref$showSpinner","showSpinner","chartProperties","highchartsJs","setHighchartsJs","HighchartsReact","setHighchartsReact","setOptions","default","require","highcharts","immutable","resultData","_offset","fetch","sortOrder","categoryId","firstDelimiter","showMorePaginationMachine","createMachine","initial","context","states","idle","invoke","onDone","onError","_event","success","failure","on","FETCH","ExportDataDropdown","buttonText","dataTitle","exportResultsdRef","exportResultExpanded","setExportResultExpanded","useOutsideClick","aria-controls","aria-expanded","exportDataByUrl","classList","add","download","click","remove","exportDataHighcharts","exportType","_chartRef$current$cha","exportChart","ExportDataOption","handleExportData","StatisticsDataBlock","tableData","diagramData","_useMachine","useMachine","_useMachine2","send","isActive","activeTab","setActiveTab","tableProps","setTableProps","totalFetch","numberOfHitsPerPage","tableProperties","FilterButtonGroup","FilterButton","tabName","aria-selected","role","placeholder","total","StatisticChart","getHeadingLevel","epiProps","getFragment","fragment","_infoBoxData$text","_referencesData$text","_accordionData$headin","_accordionData$text","_guidanceInfoBoxData$","_guidanceInfoBoxData$2","_dialogData$text","_chapterData$text$fra","_highchartsData$text","scriptData","stepData","raw","imgData","zoom","ImageModal","openBtnLabel","closeBtnLabel","figCaption","largeSrc","videoData","embedUrl","ResponsiveIframe","aria-label","data-consent-src","data-category-consent","data-category","CookieConsent","renew","missingConsentText","infoBoxData","InfoBox","tooltipText","tooltipLabel","copyToClipboardText","referencesData","accordionData","ReferenceAccordion","guidanceInfoBoxData","GuidanceBox","link","linkText","dialogData","QuestionList","QuestionListHeader","dialogs","dialog","QuestionListItem","EpiForms","ekoFormData","chapterData","quoteData","Quote","author","authorInfo","authorInformation","descriptionListData","DescriptionList","lineBreak","sections","indexDescriptionWrapper","_section$items","DescriptionWrapper","DescriptionTerm","fontWeight","bold","DescriptionText","indexDescriptionItem","LinkList","LinkListItem","LinkComponent","external","linkListData","indexLinkList","buttonData","levelComparerData","CriteriaLevelSelect","showDetailsText","hideDetailsText","levels","CriteriaLevel","active","html","infoBoxesData","Grid","boxes","box","_box$text","Cell","span","desktop","infoBoxCriteriaData","InfoBoxCriteria","subItem","subIndex","InfoBoxCriteriaItem","matrixData","matrixSmallData","highchartsData","subindex","statisticsData","table","diagram","searchData","_args","searchMachine","debounce","debouncing","after","DEBOUNCE_DELAY","SEARCH","cond","internal","guards","searchValid","delays","searchFieldMachine","OPEN","CLOSE","LanguageSelector","useMediaQuery","matches","setMatches","media","matchMedia","listener","addListener","removeListener","useIsMobile","useIsTablet","useIsTabletOrLarger","useIsDesktop","fetchCartPage","criterias","criteriaData","_yield$Axios$post","criteriaDescriptors","Axios","post","generateDownloadFile","_yield$Axios$post2","_context3","fileFormat","getCriteriaCart","getItem","selectCriterias","selectCriteriaCartModel","criteriaCartMachine","donloadFileUrl","FETCH_CART_PAGE","ADD_CRITERIA","REMOVE_CRITERIA","CLEAR_CART","DOWNLOAD_CRITERIAS","fetchingCartPage","api","addingCriteria","setItem","removingCriteria","updatedCriteriaCart","criteria","clearingCart","removeItem","downloadingCriterias","reportUrl","status","statusText","DataTableCart","_ref$caption","onSortChange","DataTableCartRow","handleDelete","data-requirement","requirementName","warningText","ButtonSupportive","criteriaDescriptor","CriteriaCartDownloadButton","progressText","onDownloadError","handleDownloadCriterias","criteriaProductArea","requirementInfo","criteriaProductGroup","criteriaProductSubgroup","criteriaItem","criteriaLevel","criteriaLanguage","criteriaFormat","toString","finish","data-download-item-count","CriteriaCartToast","currentQuantity","previousQuantity","usePrevious","visible","setVisible","timer","aria-live","Transition","in","hidden","Alert","CriteriaCart","cartLabel","closeCartText","hasBreadcrumbs","hasThemeBorder","toastText","globalServices","useContext","GlobalStateContext","_globalServices$crite","criteriaCartService","criteriasInCart","useXstateSelector","setError","setExpanded","setCriterias","handleRemoveCriteria","_content$requirements","handleDownloadError","transState","_content$requirements2","_content$requirements3","preamble","noCriteriasHeading","noCriteriasPreamble","_content$requirements4","emptyCartText","downloadBlocks","tablet","downloadHeading","block","blockIndex","button","buttonIndex","_content$requirements5","generateFileProgressText","createDownloadUrl","KundoLazyButton","_HTMLElementBase","_inherits","_super","_createSuper","_this","_classCallCheck","kundoInitEvents","chatInitialized","_assertThisInitialized","loadKundoScript","startChat","initiateKundoChat","shadow","attachShadow","scriptSrc","_createClass","_this2","render","loader","getElementById","textHolder","_this3","isLoading","removeAttribute","_this4","fileUrl","_this5","scriptEle","$kundo_chat","disable_widget","ev","setButtonStatus","alert","_window$$kundo_chat","start_chat","_window$$kundo_chat2","warn","HTMLElement","customElements","define","BaseLayout","_cookieBar$text","_contact$addresses$fi","_contact$addresses$fi2","_contact$addresses$fi3","_contact$addresses$fi4","_contact$addresses$se","_contact$addresses$se2","_contact$addresses$se3","_contact$addresses$se4","_ref$themeBorder","themeBorder","isTabletOrLarger","isMobile","searchfieldWrapperRef","searchfieldMobileWrapperRef","searchfieldInputRef","searchfieldMobileInputRef","searchSettings","showCookieBar","setShowCookieBar","cartExpanded","setCartExpanded","stateSearch","sendSearch","_useMachine3","_useMachine4","stateField","sendField","Cookiebar","cookieName","hideIfCookieSet","PageHeader","logoLink","logoSrc","logo","SearchComponent","SearchField","wrapperRef","fieldRef","placeholderText","submitLabel","performSearchText","_searchfieldInputRef$","blur","searchPageUrl","searchfieldDesktop","onFocus","SearchFieldDropdown","results","SearchFieldDropdownItem","numberOfHits","showMoreResultsText","SearchComponentMobile","MobileSearch","openSearchPane","closeSearchPane","_searchfieldMobileInp","searchfieldMobile","SearchResult","SearchResultList","searchItem","SearchResultListItem","excerpt","SearchItemNoResults","_searchfieldInputRef$2","MenuComponent","MobileMenu","navigationButtonLabel","ariaLabel","accessibilityDescription","openMenuItemLabel","openNavigationItemLabel","closeMenuItemLabel","closeNavigationItemLabel","MobileMenuItem","menuLevel","subSubItem","links","isQuickLink","CriteriaCartComponent","toastCriteriaAdded","alerts","AlertBar","alertbarName","hideIfAlertbarSet","isCloseable","closeButtonLabel","SkipToMainContent","InfoBar","QuickLinksBar","QuickLink","Breadcrumbs","BreadcrumbsItem","PageFooter","FooterHeader","addresses","first","FooterText","street","zipCode","city","channels","FooterDescList","second","FooterLinkList","PageFooterBottom","ContentWrapper","quickLinks","BottomContent","social","EditorList","showNumberOfEditors","showLessButtonText","totalEditors","Children","child","cloneElement","renderChildren","ModalButton","closeModalButtonText","setIsOpen","Modal","getSectionColumnDesktop","getSectionColumnTablet","getBlockColumnDesktop","blockModelType","itemModelType","getBlockColumnTablet","getPuffMarginBottom","isTablet","itemsLength","itemIndex","marginBottom","isLastItem","isSecondLastItem","isThirdLastItem","remainderMedium","remainderLarge","ChartPuff","published","_ref$headingLevel","Heading","EpiContentArea","_ref$content","renderContentBlock","_sectionColumnData$it","_editorsData$editors","layoutData","background","indexLayoutData","sectionColumnData","data-block-title","_sectionColumnData$it2","blockHeadingLevel","puffData","NavigationPuff","newsPuffData","NewsPuff","isRounded","category","NewsPuffCategory","chartPuffData","eventPuffData","CalendarEventPuff","eventDate","eventMonth","eventListData","CalendarEventList","CalendarEventListItem","startDay","start","day","startMonth","monthNameShort","endDay","end","endMonth","hasEndDate","hasMultiDayEvents","newsListData","NewsList","news","NewsListItem","date","textData","dialogListData","DialogList","DialogListItem","numberOfComments","editorsData","editors","editor","AvatarImage","uhmIcon","buttonsData","onEpiFormSubmit","questionTitle","questionCategory","customerCategory","IconButton","time","tag","phone","serviceListData","ServiceBlock","StartPage","introBlock","contentArea","navigationList","IntroBlock","hasSearch","placeholderSearchText","searchfieldIntroBlock","IntroBlockArrow","getHeadingTag","renderFragment","StandardPage","ErrorPage404","WebGuidanceIntroBlock","area","getSVG","construction","hexagonConstruction","supplyChains","hexagonSupplyChains","municipalLand","hexagonMunicipalLand","work","hexagonDefault","backgroundImage","WebGuidanceArticlePage","articleHeader","tableOfContents","relatedLinks","isDesktop","ArticleHeader","buttonVariant","ArticleHeaderCategoryList","ArticleHeaderCategory","Toc","chapters","titles","TocLink","linkSection","_linkSection$links","_linkSection$links2","WebGuidanceLandingPage","firstContentArea","secondContentArea","firstText","secondText","firstRelatedLinks","secondRelatedLinks","CriteriaCartAddButton","downloadAddedText","addToDownloadsText","isAdded","setIsAdded","found","getCriteriaStatusInCart","handleAddToCart","CriteriaServiceRequirementPageV2","_criteriaInfo$items","_criteriaInfo$items2","criteriaInfo","levelSwitcherTextWithLinks","tabs","compareButton","addToCartButton","disclaimer","pageContent","pagePath","pathname","pageTitle","pageType","CriteriaDescriptionList","CriteriaDescriptionWrapper","CriteriaDescriptionTerm","CriteriaDescriptionText","tab","FilterButtonAccordion","tabId","_document","_document$getElementB","tabEl","offsetTop","scrollTo","behavior","handleAccordionClick","selects","columnIndex","endLoop","selectIndex","select","optionIndex","hasOptionSelected","selectedOption","CriteriaComparisonColumn","_criteriaInfo$text","column","errorMessage","setRequirementInfo","handleSelectChange","_e$target","selectsData","_select$options","_select$options2","opt","criteriaProductSubGroup","_select$options3","aria-atomic","getCriteriaColumnData","_window","_window$__model","_window$__model$langu","_window2","_window2$__model","_window2$__model$lang","_window3","_window3$__model","_window3$__model$lang","__model","criteriaComparisonMachine","reseting","entry","always","RESET","resetContext","CriteriaServiceComparisonPage","columns","urlQuery","column1","column2","column3","columnQueries","setColumnQueries","state1","send1","state2","send2","_useMachine5","_useMachine6","state3","send3","handleChange","queryFull","QuestionPortalDialogPage","topic","user","listingModel","commentForm","commentsLocked","archived","_listingModel$comment","commentCount","comments","isOrganizationReply","x","organisationAnswer","metaTag","__ScrollTracker","reset","DialogBlock","publishedDate","updated","updatedDate","QuestionPortalCategoryPage","setClick","hasMore","searchfieldCategoryPage","QuestionPortalStartPage","PublicationPage","publicationDetails","downloadText","publicationUrl","Publication","detail","PublicationDetail","PublicationsListingPage","groups","PublicationGroup","publication","PublicationList","PublicationListItem","publicationDate","PublicationListItemCategory","CalendarEventPage","imageHeader","calendarEventDetails","ImageHeader","altText","CalendarEventDetailList","CalendarEventDetailListItem","sticky","isSticky","AttachmentPage","RiskAnalysisPage","RiskAnalysisServicePage","categorySection","renderCategoryList","CategoryList","openCategoryLabel","closeCategoryLabel","CategoryListItem","ceil","CriteriaServiceRequirementPage","MultiSelectFilter","defaultFilters","filters","clearText","expandText","setFilters","isFirstRender","useFirstRender","filterOnChange","uncheckFilter","newFilterObj","_e$currentTarget","currentTarget","checked","bucket","selectedBuckets","selectedInBucket","createFilterQuery","MultiselectDropdown","buttonSrText","MultiselectOption","count","data-filter","selectedFilters","bucketId","bucketName","getSelectedFilters","FilterChip","filterSortMachine","DataTableProductGroupSortButton","DataTableProductGroup","DataTableProductGroupRow","renderCellData","aria-labelledby","ProductSubGroupPageV2","_requirements$items","showMorePreamble","showLessPreamble","linkList","defaultRequirements","tableCaptionText","clearFilterText","expandFilterText","filterHeading","setRequirements","ariaLiveRef","preambleExpanded","setPreambleExpanded","queries","setQueries","styleAs","list","DataTableRow","expandable","selectable","handleCheck","_ref$LinkComponent","LinkBase","getHeaderLength","headerLength","DataTable","_ref$selectable","exportHeading","RenderFunction","checkedBoxes","setCheckedBoxes","isAllChecked","handleCheckSingle","newCheckedBoxes","DataTableExportButton","_ref$loading","_ref$disabled","generateReport","requirementsList","language","productSubGroups","productSubGroupId","parameters","_yield$axios$post","ProductSubGroupPage","generateFileButtonText","downloadFileButtonText","exportLoading","setExportLoading","exportResult","setExportResult","selectedGroups","selectedRequirement","showExportButton","CriteriaServicePage","defaultCategorySection","setCategorySection","_category$items","data-criteria-area","data-criteria-item","noItemsText","ProductGroupPageV2","ProductGroupPage","SectionPage","NewsListingPage","_listingModel","CalendarEventListingPage","tabSelection","setTabSelection","setFetch","showMoreFetch","calendarEvents","InspirationPage","SearchPage","currentPage","setCurrentPage","_state$context","_state$context$result","searchQuery","_searchItem$breadcrum","bc","displayWidth","centered","MultiselectFilter","searchPlaceholder","groupName","onSelectChange","selectedOptions","selectBuckets","_toConsumableArray","uid","hasSearchField","dropdownClassName","RadioFilter","onTermChange","RadioButtonBase","SingleSelectFilter","SingleSelectDropdown","selectedBucket","getLegend","SingleSelectOption","SearchFilters","filterGroups","filterGroup","bucketPath","group","agg","onRemoveFilter","Filterings","aggregatorType","renderFilterType","searchList","SearchResultListUI","_searchdata$breadcrum","searchHitdata","DialogSearchHitItem","searchdata","ServiceTabs","ServiceTabItem","service","_ref$onClick","orderBy","selectedAggregations","sorting","router","_","INIT","QUERY_SEARCH","LOAD_MORE","TAB_CHANGE","FILTER_CHANGE","RESET_FILTERS","SORT","updateUrl","setQuerystring","tabChange","resetFilters","querySearch","loadMore","filterChange","updatedAggregations","SearchSortList","sortListRef","SearchPageAdvance","_services$find","_services$find3","_sorting$options","_sorting$options$find","services","searchResult","defaultUrl","hitsInOtherTab","zeroHitsHeading","zeroHitsText","servicesResultText","showResultText","closeFilterModalText","modalExpanded","setModalExpanded","activeTabId","setActiveTabId","getSelectedAggregations","getInitContextData","serviceId","stateWeb","sendWeb","stateFaq","sendFaq","machines","web","faq","sendGlobal","stateGlobal","onTabChange","_machines$id$state$co","currentFetch","currentSelectedAggregations","currentOrderBy","_services$find2","serviceString","hasOtherSearchHits","_machines$service$id$","searchfieldSearchPage","accumulator","getTotalSelectedAggregations","_machines$service$id","_machines$service$id$2","_machines$service$id$3","_machines$service$id$4","_machines$service$id$5","ArticlePage","NavigationPage","layout","NavigationBlocks","NavigationBlockItem","NavigationList","NavigationListItem","ProcessPage","phase","previous","PhaseNavigation","PhaseNavigationItem","i18n","cancelTokenSource","CancelToken","getUrlQueries","selectedArea","selectedProduct","product","selectedUnit","selectedDistributedUnit","distributedUnit","selectedMeasurement","measurement","selectedYear","year","selectedTimeFragment","selectedResultFormat","timefragment","selectedParameters","param","selectedVariable","variable","resultFormat","selectedChartType","chartStacked","selectedChartStacked","order","numItemsToFetch","arrayFormat","loadApiData","_cancelTokenSource","_yield$axios","method","cancelToken","token","searchApiData","itemsToFetch","searchterm","_yield$axios2","_x7","statisticServiceMachine","resultHeading","reqCancelled","areas","products","units","distributedUnits","searchFilters","variables","measurements","numItemsTotal","itemsPerPage","resultError","INITIALIZE","initialize","initialized","loadingAreas","isCancel","selectingArea","clearAfter","loadingProducts","selectingProduct","loadingUnits","selectingUnit","loadingDistributedUnits","selectingDistributedUnit","loadingStatistics","RETRY","loadingFilterItems","SET_FILTER","CLEAR_FILTER","ADD_YEAR","REMOVE_YEAR","SET_TIME_FRAGMENT","SELECT_MEASUREMENT","SELECT_VARIABLE","ADD_PARAMETER","REMOVE_PARAMETER","SELECT_SORT","SELECT_RESULT_FORMAT","SET_CHART_STACKED","UNSET_CHART_STACKED","SELECT_CHART_TYPE","CHANGE_ORDER","EXPORT_RESULTS","SEARCH_FILTER","LOAD_MORE_FILTERITEMS","errorArea","errorProduct","errorUnit","errorDistributedUnit","errorParameters","SELECT_AREA","SELECT_PRODUCT","SELECT_UNIT","SELECT_DISTRIBUTED_UNIT","CLEAR_ALL","isCancelled","canSelectProduct","canSelectUnit","canSelectDistributedUnit","canPreSelectParameter","_context$parameters","_context$parameters$","_context$parameters$$","_context$parameters$2","_context$parameters$3","_context$parameters$4","dimensions","canPreSelectYear","_context$time","_context$time$years","_context$time2","_context$time2$years","years","hasResult","hasAreas","hasProducts","hasUnits","hasDistributedUnits","setData","_event$data$result","_event$data$result2","createResultHeading","_context$time3","paramGroup","key2","lastFilter","pop","setSelectedArea","setSelectedProduct","setSelectedUnit","setSelectedDistributedUnit","setPreSelectedArea","setFilter","setFilterItems","_context$filters","clearFilter","val","addYear","removeYear","selectMeasurement","selectVariable","selectResultFormat","selectChartType","changeOrder","orderDirection","setChartStacked","unsetChartStacked","addParameter","removeParameter","setPreSelectedParameter","setPreSelectedYear","setTimeFragment","clearContext","_ref3","setContextFromQuery","_parse","fetchProp","cancelPrevRequest","cancel","cancelRequest","exportingResults","StatisticServiceChart","_ref$isLoading","setStacked","setChartType","SearchFieldSelect","collapseButtonText","expandButtonText","searchSubmitLabel","onBlur","visibleOptions","setVisibleOptions","emptyQuery","setQuery","buttonBorder","handleGetData","onKeyPress","StatisticsServiceFilterOption","isChecked","setChecked","diagramExportOptions","tableExportOptions","dataButtonActions","handleActionClick","parameterName","variableName","filterAction","getFilterAction","StatisticService","_current$context$resu2","_current$context$para","_current$context$para2","_current$context$para3","_current$context$para4","_current$context$para5","_current$context$para6","_current$context$para7","_current$context$para8","_current$context$para9","_current$context$para10","_current$context$time","_current$context$time4","_current$context3","_current$context4","_current$context4$fil","_current$context$resu3","_current$context$resu4","_current$context$resu5","_current$context$resu6","_current$context$resu7","_current$context$resu8","_current$context$resu9","_current$context$resu10","_current$context$resu11","_current$context$resu12","_current$context$resu13","_current$context$resu14","_current$context$resu15","devTools","resultDivRef","resultBarRef","parametersExpanded","setParametersExpanded","srollToResult","offsetHeight","renderRadioButton","exportFormat","_current$context","_current$context$sele","_current$context$sele2","_current$context$sele3","_current$context$sele4","_current$context$sele5","parameter1","parameter2","parameter3","parameter4","parameter5","parameter6","parameter7","onScroll","pageYOffset","innerHeight","_current$context2","_current$context2$sel","_current$context2$sel2","_current$context$sele6","_current$context$sele7","_current$context$sele8","_current$context$resu","CheckboxBase","_current$context$para11","_current$context$para12","colIndex","_column$dimensions","isLastColumn","dimension","dimIndex","renderParameterGroup","_current$context$time2","_current$context$time3","filterIndex","StatisticsServiceFilter","dir","StatisticServicePage","StatisticServiceStartPage","StatisticServiceArticlePage","StatisticServiceArticleListingPage","StatisticServiceNavigationPage","StatisticServiceSectionPage","ValfrihetArticlePage","mainHeading","mainPreamble","subNavigation","submitForm","submitApiUrl","email","res","json","valfrihetMachine","submitResponse","submitting","resetting","submit_success","submit_failure","SUBMIT","RESET_SUBMITFORM","resetForm","ValfrihetModal","closeModal","setEmail","match","Pages","ProductSubGroupV2","ProductGroupV2","UpphandlingsmyndighetenSectionPage","UpphandlingsmyndighetenPublicationPage","UpphandlingsmyndighetenPublicationsListingPage","UpphandlingsmyndighetenCalendarEventPage","ProductSubGroup","ProductGroup","UpphandlingsmyndighetenNewsListingPage","UpphandlingsmyndighetenCalendarEventListingPage","UpphandlingsmyndighetenStartPage","UpphandlingsmyndighetenInspirationPage","UpphandlingsmyndighetenSearchPage","UpphandlingsmyndighetenSearchPageAdvance","UpphandlingsmyndighetenArticlePage","UpphandlingsmyndighetenNavigationPage","UpphandlingsmyndighetenProcessPage","UpphandlingsmyndighetenStatisticServicePage","ValfrihetAdPage","showBackLink","uhmNotice","regionType","regionName","businessAreas","startDate","endDate","contactPersons","registryNo","back","businessArea","cp","ValfrihetStartPage","_loginButton$url","loginButton","searchMonitor","showMoreFilters","setShowMoreFilters","modal","setModal","totalSearchResults","hiddenByDefault","ValfrihetMonitorModal","searchfieldValfrihetStartPage","data-filter-value","data-filter-action","ValfrihetAdBlock","ValfrihetMonitorPage","buttonLink","RouteHandler","siteRoute","useParams","emptyFocusDivRef","pageRef","_useSelector","_useSelector2","renderingState","loaderVisible","setLoaderVisible","Page","PagesMapper","substr","RenderingStates","ClientSide","preventFetch","routeApiUrl","error403","fetchPage","updateRenderingState","loaderTimeout","CookieInformation","loadConsent","scrollX","scrollY","hasFocus","activeElement","firstH1","outline","targetElement","setPageTheme","themeClass","routePatterns","createContext","App","Router","getLocation","useInterpret","onKeyUp","el","keyCode","which","tagName","hasAttribute","contains","ClipboardJS","objectFitImages","Provider","Switch","routePattern","Route","process","REACT_APP_ENABLE_MOCKING","worker","renderMethod","reactInitialState","hydrate","Hydrate","preloadedState","element","containerId","store","configureStore","reducer","Application","BrowserRouter","onPerfEntry","getCLS","getFID","getFCP","getLCP","getTTFB","getMockCriteriaColumnData","req","ctx","criteriaArea","productSubGroup","criteriaName","updateSelectedOption","searchParams","criteria_column","queryParam","_criteriaData$selects","_criteriaData$selects2","getMockCriteriaCartData","_body$criteriaDescrip","productSubGroupName","requirementLevelLevel","removeFromCartButtonText","criteria_cart_data","sortTable","nameA","toUpperCase","nameB","updateTableHeader","paginateTable","handlers","rest","_search$filterGroups$","_aggs$find","_search$filterGroups$2","_aggs$find2","_search$filterGroups$3","_aggs$find3","_search$filterGroups$4","_aggs$find4","siteType","tagMulti","lastUpdatedBuckets","siteTypeBuckets","tagBuckets","tagMultiBuckets","_serviceData","_serviceData$filterGr","serviceData","categoriesBuckets","faq_en","criterias_en","search_en","_req$url$searchParams","valfrihet","trim","code","random","delay","cpvSearch","numToFetch","getAll","numToFetchString","getResult","resultTableData","resultTable","resultTableMatrixData","resultTableMatrix2","resultTableMatrix","resultChartData","resultChart","resultChartLineData","resultChartLine","resultChartPieData","resultChartPie","paramData","CalendarYear","whereAndWhy","otherProductClassifications","cpvs","deliveryAreas","statusCode","_callee3","_x8","_x9","_ref4","_callee4","_context4","_x10","_x11","_x12","_ref5","_callee5","_context5","_x13","_x14","_x15","setupWorker","clientOnly","_process","_process$env","PUBLIC_URL"],"mappings":"2BACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAKlC,IAFGe,GAAqBA,EAAoBhB,GAEtCO,EAASC,QACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAKnBhB,EAAkB,CACrBiB,EAAG,GAGAZ,EAAkB,GAQtB,SAASS,EAAoB1B,GAG5B,GAAG4B,EAAiB5B,GACnB,OAAO4B,EAAiB5B,GAAU8B,QAGnC,IAAIC,EAASH,EAAiB5B,GAAY,CACzCK,EAAGL,EACHgC,GAAG,EACHF,QAAS,IAUV,OANAhB,EAAQd,GAAUW,KAAKoB,EAAOD,QAASC,EAAQA,EAAOD,QAASJ,GAG/DK,EAAOC,GAAI,EAGJD,EAAOD,QAKfJ,EAAoBO,EAAI,SAAuBhC,GAC9C,IAAIiC,EAAW,GAKXC,EAAqBvB,EAAgBX,GACzC,GAA0B,IAAvBkC,EAGF,GAAGA,EACFD,EAASrB,KAAKsB,EAAmB,QAC3B,CAEN,IAAIC,EAAU,IAAIC,SAAQ,SAASC,EAASC,GAC3CJ,EAAqBvB,EAAgBX,GAAW,CAACqC,EAASC,MAE3DL,EAASrB,KAAKsB,EAAmB,GAAKC,GAGtC,IACII,EADAC,EAASC,SAASC,cAAc,UAGpCF,EAAOG,QAAU,QACjBH,EAAOI,QAAU,IACbnB,EAAoBoB,IACvBL,EAAOM,aAAa,QAASrB,EAAoBoB,IAElDL,EAAOO,IA1DV,SAAwB/C,GACvB,OAAOyB,EAAoBuB,EAAI,cAAgB,GAAGhD,IAAUA,GAAW,IAAM,CAAC,EAAI,YAAYA,GAAW,YAyD1FiD,CAAejD,GAG5B,IAAIkD,EAAQ,IAAIC,MAChBZ,EAAmB,SAAUa,GAE5BZ,EAAOa,QAAUb,EAAOc,OAAS,KACjCC,aAAaX,GACb,IAAIY,EAAQ7C,EAAgBX,GAC5B,GAAa,IAAVwD,EAAa,CACf,GAAGA,EAAO,CACT,IAAIC,EAAYL,IAAyB,SAAfA,EAAMM,KAAkB,UAAYN,EAAMM,MAChEC,EAAUP,GAASA,EAAMQ,QAAUR,EAAMQ,OAAOb,IACpDG,EAAMW,QAAU,iBAAmB7D,EAAU,cAAgByD,EAAY,KAAOE,EAAU,IAC1FT,EAAMY,KAAO,iBACbZ,EAAMQ,KAAOD,EACbP,EAAMa,QAAUJ,EAChBH,EAAM,GAAGN,GAEVvC,EAAgBX,QAAWgE,IAG7B,IAAIpB,EAAUqB,YAAW,WACxB1B,EAAiB,CAAEmB,KAAM,UAAWE,OAAQpB,MAC1C,MACHA,EAAOa,QAAUb,EAAOc,OAASf,EACjCE,SAASyB,KAAKC,YAAY3B,GAG5B,OAAOJ,QAAQgC,IAAInC,IAIpBR,EAAoB4C,EAAIxD,EAGxBY,EAAoB6C,EAAI3C,EAGxBF,EAAoB8C,EAAI,SAAS1C,EAASiC,EAAMU,GAC3C/C,EAAoBgD,EAAE5C,EAASiC,IAClCvD,OAAOmE,eAAe7C,EAASiC,EAAM,CAAEa,YAAY,EAAMC,IAAKJ,KAKhE/C,EAAoBoD,EAAI,SAAShD,GACX,qBAAXiD,QAA0BA,OAAOC,aAC1CxE,OAAOmE,eAAe7C,EAASiD,OAAOC,YAAa,CAAEC,MAAO,WAE7DzE,OAAOmE,eAAe7C,EAAS,aAAc,CAAEmD,OAAO,KAQvDvD,EAAoBwD,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQvD,EAAoBuD,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAK7E,OAAO8E,OAAO,MAGvB,GAFA5D,EAAoBoD,EAAEO,GACtB7E,OAAOmE,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOvD,EAAoB8C,EAAEa,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIR3D,EAAoB+D,EAAI,SAAS1D,GAChC,IAAI0C,EAAS1C,GAAUA,EAAOqD,WAC7B,WAAwB,OAAOrD,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAL,EAAoB8C,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR/C,EAAoBgD,EAAI,SAASgB,EAAQC,GAAY,OAAOnF,OAAOC,UAAUC,eAAeC,KAAK+E,EAAQC,IAGzGjE,EAAoBuB,EAAI,WAGxBvB,EAAoBkE,GAAK,SAASC,GAA2B,MAApBC,QAAQ3C,MAAM0C,GAAYA,GAEnE,IAAIE,EAAaC,KAAK,oFAAsFA,KAAK,qFAAuF,GACpMC,EAAmBF,EAAWlF,KAAK2E,KAAKO,GAC5CA,EAAWlF,KAAOf,EAClBiG,EAAaA,EAAWG,QACxB,IAAI,IAAI7F,EAAI,EAAGA,EAAI0F,EAAWxF,OAAQF,IAAKP,EAAqBiG,EAAW1F,IAC3E,IAAIU,EAAsBkF,EAM1B,OAFAhF,EAAgBJ,KAAK,CAAC,IAAI,IAEnBM,I,kBC5NTY,EAAOD,QAAUqE,O,m32BCAjBpE,EAAOD,QAAU,IAA0B,kC,oBCA3CC,EAAOD,QAAU,IAA0B,iC,oBCA3CC,EAAOD,QAAU,IAA0B,0C,oBCA3CC,EAAOD,QAAU,IAA0B,yC,oBCA3CC,EAAOD,QAAU,IAA0B,oC,oBCA3CC,EAAOD,QAAU,IAA0B,kD,oBCA3CC,EAAOD,QAAU,IAA0B,+D,oBCA3CC,EAAOD,QAAU,IAA0B,oD,oBCA3CC,EAAOD,QAAU,IAA0B,6C,gqXCA3CC,EAAOD,QAAU,IAA0B,0C,inzECA3CC,EAAOD,QAAUsE,U,4GCYXF,EAAQG,YAAY,CACzBtC,KAAM,MACNuC,aAV4B,CAC5BC,KAAM,CACLC,YAAY,EACZC,YAAY,EACZC,OAAO,IAORC,SAAU,CACTC,UAAW,SAACC,EAAOC,GAClB,OAAOA,EAAOC,YAKJC,EAAY,SAACH,GAAgB,OAAKA,EAAMI,KACtCL,EAAcV,EAAMgB,QAApBN,UAEAV,IAAa,Q,iDCtBfiB,EAAU,eAAAC,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EACzBC,EACAC,EACAC,EACAC,GAAkB,IAAAC,EAAAC,EAAAC,EAAAC,EAAAjI,EAAAkI,EAAA,OAAAX,IAAAY,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAYjB,MAViB,QAEJ,KAAVX,IACHA,EAAQ,SAGLM,EAAG,GAAAM,OAAMb,GAAMa,OAAGZ,GAAKY,OANT,SAQdX,IACHK,GAAOL,GACPQ,EAAAE,KAAA,EAEkBE,IAAM1D,IAAWmD,GAAK,KAAD,EAuBvC,OAvBKjI,EAAIoI,EAAAK,KAGNP,EAA+B,QAApBJ,EAAG9H,EAAKA,KAAK0I,eAAO,IAAAZ,OAAA,EAAjBA,EAAmBG,IAEjCL,IACHM,GAAeN,GAGZC,IACHK,GAAeL,GAIfK,GACAA,IAAgBS,OAAOC,SAASC,MACkB,WAAlDX,EAAYY,UAAUZ,EAAY1H,OAAS,IAE3CmI,OAAOI,QAAQC,aAAa,KAAM,GAAId,IAG/B,OAAJlI,QAAI,IAAJA,GAAU,QAAN+H,EAAJ/H,EAAMA,YAAI,IAAA+H,GAAW,QAAXC,EAAVD,EAAYkB,iBAAS,IAAAjB,OAAjB,EAAJA,EAAuBkB,WAC1BP,OAAOQ,UAAYnJ,EAAKA,KAAKiJ,UAAUC,SACvCd,EAAAgB,OAAA,SAEMpJ,EAAKA,MAAI,yBAAAoI,EAAAiB,UAAA5B,OAChB,gBA5CsB6B,EAAAC,EAAAC,EAAAC,GAAA,OAAApC,EAAAlG,MAAA,KAAAuI,YAAA,GA8CVC,EAAiB,eAAAC,EAAAtC,YAAAC,IAAAC,MAAG,SAAAqC,EAChCnC,EACAoC,GAAmB,IAAA7B,EAAA8B,EAAA/J,EAAA,OAAAuH,IAAAY,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAQ6B,MAN9B,QAEE,KAAhBwB,IACHA,EAAc,SAGT7B,EAAG,GAAAM,OAAMb,EAAM,KAAAa,OAAIuB,GAAWvB,OANlB,SAM8ByB,EAAA1B,KAAA,EAEzBE,IAAM1D,IAAkBmD,GAAK,KAAD,EAAvC,OAAuC8B,EAAAC,EAAAvB,KAA3CzI,EAAI+J,EAAJ/J,KAAIgK,EAAAZ,OAAA,SACLpJ,GAAI,wBAAAgK,EAAAX,UAAAQ,OACX,gBAd6BI,EAAAC,GAAA,OAAAN,EAAAzI,MAAA,KAAAuI,YAAA,G,SCrCxBnD,EAA2B,CAChCnD,MAAO,KACP+G,SAAS,EACTC,MAAO,CACN1B,aAASxE,IAILiC,EAAQG,YAAY,CACzBtC,KAAM,QACNuC,eACAK,SAAU,CACTyD,cAAe,SAACvD,GACfA,EAAMqD,SAAU,GAEjBG,gBAAiB,SAACxD,EAAOC,GACxBD,EAAMsD,MAAQrD,EAAOC,QACrBF,EAAM1D,MAAQ,KACd0D,EAAMqD,SAAU,GAEjBI,eAAgB,SAACzD,EAAOC,GACvBD,EAAMsD,MAAQrD,EAAOC,QACrBF,EAAMqD,SAAU,GAEjBK,cAAe,SAAC1D,EAAOC,GACtBD,EAAMsD,MAAM1B,QAAU3B,EAAOC,YA6CnByD,EAAc,SAAC3D,GAAgB,OAAKA,EAAMsD,OAC1CM,EAAgB,SAAC5D,GAAgB,OAAKA,EAAMsD,MAAMA,MAAM1B,SACxDiC,EAAoB,SAAC7D,GAAgB,IAAA8D,EAAA,OACpB,QADoBA,EACjD9D,EAAMsD,MAAMA,MAAMS,mBAAW,IAAAD,OAAA,EAA7BA,EAA+BC,aAGnBC,EAAiB,SAAChE,GAAgB,OAAKA,EAAMsD,MAAMA,MAAMW,UACzDC,EAAiB,SAAClE,GAAgB,OAAKA,EAAMsD,MAAMA,MAAMa,UACzDC,EAAgB,SAACpE,GAAgB,OAAKA,EAAMsD,MAAMA,MAAMe,SACxDC,EAAsB,SAACtE,GAAgB,OACnDA,EAAMsD,MAAMA,MAAMiB,eACNC,EAAsB,SAACxE,GAAgB,OACnDA,EAAMsD,MAAMA,MAAMmB,SACNC,EAAyB,SAAC1E,GAAgB,OACtDA,EAAMsD,MAAMA,MAAMqB,kBACNC,EAA2B,SAAC5E,GAAgB,OACxDA,EAAMsD,MAAMA,MAAMuB,cAGNC,EAAkB,SAAC9E,GAAgB,OAC/CA,EAAMsD,MAAMA,MAAMyB,WACNC,EAA0B,SAAChF,GAAgB,OACvDA,EAAMsD,MAAMA,MAAM2B,mBACNC,EAAc,SAAClF,GAAgB,OAAKA,EAAMsD,MAAMA,MAAM6B,OACtDC,EAAe,SAACpF,GAAgB,OAAKA,EAAMsD,MAAMA,MAAM+B,QACvDC,EAAyB,SAACtF,GAAgB,OACtDA,EAAMsD,MAAMA,MAAMnB,WACNoD,EAAmB,SAACvF,GAAgB,OAChDA,EAAMsD,MAAMA,MAAMkC,YACNC,EAAiB,SAACzF,GAAgB,OAAKA,EAAMsD,MAAMA,MAAMoC,UACzDC,EAAqB,SAAC3F,GAAgB,OAClDA,EAAMsD,MAAMA,MAAMsC,cACZC,EACNxG,EAAMgB,QADQkD,EAAasC,EAAbtC,cAAeC,EAAeqC,EAAfrC,gBAAiBC,EAAcoC,EAAdpC,eAAgBC,EAAamC,EAAbnC,cAGhDrE,IAAa,Q,wBC1GfyG,EAAoB,SAACC,GACjC,IAAIjF,EAAc,GAClB,IAAK,IAAMhC,KAAYiH,EAAQ,CAC9B,IAAM3H,EAAQ2H,EAAOjH,GAErB,GAAIkH,MAAMC,QAAQ7H,GAAQ,CACzB,GAAqB,IAAjBA,EAAM1E,OACT,SACM,GAAI0E,EAAM,GAAG8H,QAAS,CAAC,IACEC,EADHC,EAAAC,YACFjI,GAAK,IAA/B,IAAAgI,EAAAtL,MAAAqL,EAAAC,EAAAxH,KAAA0H,MAAiC,CAAC,IAAvBC,EAAWJ,EAAA/H,MACfoI,EAASD,EAAYL,QACzBO,QAAO,SAACC,GAAM,OAAKA,EAAEC,UAAYD,EAAEE,KAAKlN,OAAS,KACjDmN,KAAI,SAACH,GAAM,OAAKI,mBAAmBJ,EAAEE,SACrCG,KAAK,KAEHP,GAAUA,EAAO9M,OAAS,IAC7BoH,GAAW,IAAAW,OAAQ8E,EAAYS,KAAI,KAAAvF,OAAI+E,KAExC,MAAAxH,GAAAoH,EAAAhL,EAAA4D,GAAA,QAAAoH,EAAAa,UAEDnG,GAAW,IAAAW,OAAQ3C,EAAQ,KAAA2C,OAAIrD,EAC7ByI,KAAI,SAACrN,GAAC,OAAKsN,mBAAmBtN,MAC9BuN,KAAK,WAEW,MAAT3I,IACV0C,GAAW,IAAAW,OAAQ3C,EAAQ,KAAA2C,OAAIqF,mBAAmB1I,KAIpD,OAAI0C,EAAYpH,OAAS,EACjBoH,EAAYkB,UAAU,GAGvB,MAGKkF,GAAqB,SACjCC,EACAC,GAEA,OAAID,GAAeC,EACZ,IAAN3F,OAAW0F,EAAW,aAAA1F,OAAY2F,GACxBD,EACJ,IAAN1F,OAAW0F,GACDC,EACJ,YAAN3F,OAAmB2F,GACN,IAGFC,GAAwB,SAACC,GACrC,IAEsCC,EAFhCC,EAAc,GAAGC,EAAApB,YAEGiB,GAAY,IAAtC,IAAAG,EAAA3M,MAAAyM,EAAAE,EAAA7I,KAAA0H,MAAwC,CAAC,IAA9BC,EAAWgB,EAAAnJ,MACrB,GAAImI,EAAYL,QAAS,CACxB,IAAMA,EAAiBK,EAAYL,QAAQO,QAAO,SAACC,GAAM,OAAKA,EAAEC,YAEhEa,EAAKxN,KACJL,OAAO+N,OACN,GACA,CACCxK,KAAMqJ,EAAYrJ,KAClBJ,KAAMyJ,EAAYzJ,KAClBkK,KAAMT,EAAYS,KAClBd,eAKJ,MAAAlH,GAAAyI,EAAArM,EAAA4D,GAAA,QAAAyI,EAAAR,IAED,OAAOO,GC9DF/H,GAAiC,CACtCkI,cACyB,qBAAjBC,cAAgCA,aAAaC,aACjDC,KAAKC,MAAMH,aAAaC,cACxB,IAGCxI,GAAQG,YAAY,CACzBtC,KAAM,eACNuC,gBACAK,SAAU,CACTkI,uBAAwB,SACvBhI,EACAC,GAEAD,EAAM2H,cAAaM,wBAAA,GAAQjI,EAAM2H,eAAkB1H,EAAOC,UAE3DgI,mBAAoB,SAAClI,EAAOC,GACvBD,EAAM2H,oBAAmDvK,IAAlC6C,EAAOC,QAAQiI,iBACzCnI,EAAM2H,cACL1H,EAAOC,QAAQiI,gBACdC,qBAAoBH,wBAAA,GAClBjI,EAAM2H,cAAc1H,EAAOC,QAAQiI,gBACpCC,sBACCnI,EAAOC,QAAQkI,2BAOVC,GAA2B,SACvCF,EACAN,EACAO,GAA+C,OACjC,SAACE,GACf,GAAIT,EAAaU,MAAO,CACvB,IAEkCpC,EAF9BqC,EAA6C,GAAGpC,EAAAC,YAEpCwB,EAAaU,OAAK,IAAlC,IAAAnC,EAAAtL,MAAAqL,EAAAC,EAAAxH,KAAA0H,MAAoC,CAAC,IAA5BmC,EAAGtC,EAAA/H,MACXoK,EAAgBC,EAAIC,YAAWT,wBAAA,GAC1BQ,EAAIE,sBAAoB,IAC5BhC,UAAU,KAEX,MAAA3H,GAAAoH,EAAAhL,EAAA4D,GAAA,QAAAoH,EAAAa,IAED,IAAM2B,EAAmDC,YAAA,GACvDV,EAAiB,CACjBC,qBAAsBI,IAInBZ,aAAaC,eACjBD,aAAaC,aAAeC,KAAKgB,UAAUF,IAG5C,IAAIG,EAAwDjB,KAAKC,MAChEH,aAAaC,cAGTkB,EAAeZ,KACnBY,EAAcd,wBAAA,GAAQc,GAAmBH,GACzChB,aAAaC,aAAeC,KAAKgB,UAAUC,GAC3CA,EAAiBjB,KAAKC,MAAMH,aAAaC,eDlFT,WAAsB,IAAD,IAAAmB,EAAApG,UAAAlJ,OAAjBuP,EAAO,IAAAjD,MAAAgD,GAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAAPD,EAAOC,GAAAtG,UAAAsG,GAC7C,IAAMC,EAAUF,EAAQG,QACvB,SAACC,EAAWxK,GAAW,OAAKwK,EAAK5H,OAAO9H,OAAO0P,KAAKxK,MACpD,IAEKyK,EAAQ,IAAIC,IAAIJ,GACtB,OAAOF,EAAQO,OACd,SAAC3K,GAAW,OAAKyK,EAAMG,OAAS9P,OAAO0P,KAAKxK,GAAQnF,UC8E/CgQ,CAAoBtB,EAAsBI,KAC9CO,EAAcd,wBAAA,GAAQc,GAAmBH,GACzChB,aAAaC,aAAeC,KAAKgB,UAAUC,GAC3CA,EAAiBjB,KAAKC,MAAMH,aAAaC,cACzCS,EAASN,GAAuBe,QAKtBY,GAA6B,SACzCxB,EACAC,GAA+C,OACjC,SAACE,GACf,GAAIV,aAAaC,mBAAmCzK,IAAnB+K,EAA8B,CAC9D,IAAMY,EAAwDjB,KAAKC,MAClEH,aAAaC,cAGdkB,EAAeZ,GAAgBC,qBAAoBH,wBAAA,GAC/Cc,EAAeZ,GAAgBC,sBAC/BA,GAGJR,aAAaC,aAAeC,KAAKgB,UAAUC,GAG5CT,EACCJ,GAAmB,CAClBC,iBACAC,4BAKUwB,GAAsB,SAAC5J,GAAgB,OACnDA,EAAM6H,aAAaF,eAEb9B,GAAuDxG,GAAMgB,QAArD2H,GAAsBnC,GAAtBmC,uBAAwBE,GAAkBrC,GAAlBqC,mBAExB7I,MAAa,QCpHtBwK,GAAcC,YAAgB,CACnC1J,IAAK2J,EACLC,MAAOC,IACP3G,MAAO4G,EACPrC,aAAcsC,K,qKCmCAC,GAzBe,SAAH7J,GAMpB,IAAD8J,EALLC,EAAE/J,EAAF+J,GACAvI,EAAIxB,EAAJwB,KACAwI,EAAQhK,EAARgK,SAAQC,EAAAjK,EACRkK,iBAAS,IAAAD,EAAG,GAAEA,EACXE,EAAcC,aAAApK,EAAAqK,IAEXxK,EAAMyK,YAAY1K,GAClBgB,EAAMmJ,GAAMvI,GAAQ,IAE1B,OAAO,OAAH3B,QAAG,IAAHA,GAAS,QAANiK,EAAHjK,EAAKV,YAAI,IAAA2K,OAAN,EAAHA,EAAWzK,aAAeuB,GAAyB,MAAlBA,EAAI2J,OAAO,GAE9CxL,IAAAxD,cAAA,IAAAnC,OAAA+N,OAAA,CAAG3F,KAAMZ,EAAKsJ,UAAWA,GAAeC,GACtCH,GAKFjL,IAAAxD,cAACiP,IAAUpR,OAAA+N,OAAA,CAAC4C,GAAInJ,EAAKsJ,UAAWA,GAAeC,GAC7CH,I,UCqDUS,GAhFQ,WAAO,IAADC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACtBC,EAGF,wCACEC,EAAO,GAAApK,OAAMmK,EAAS,gBACtBE,EAAU,GAAArK,OAAMmK,EAAS,iDACzBG,EAAU,GAAAtK,OAAMmK,EAAS,iDACzBI,EAAS,GAAAvK,OAAMmK,EAAS,+CACxBK,EAAS,GAAAxK,OAAMmK,EAAS,+CACxBM,EAAWrB,YAAY7G,GACvBpC,EAAUiJ,YAAYjH,GACtBuI,EAAiB,CACtBC,OAAe,OAARF,QAAQ,IAARA,OAAQ,EAARA,EAAUE,aAAShP,EAC1BiP,YAAoB,OAARH,QAAQ,IAARA,GAAmB,QAAXjB,EAARiB,EAAUI,iBAAS,IAAArB,OAAX,EAARA,EAAqBsB,gBAAYnP,EAC7CoP,QAAgB,OAARN,QAAQ,IAARA,GAAmB,QAAXhB,EAARgB,EAAUI,iBAAS,IAAApB,OAAX,EAARA,EAAqBpO,OAAQ,UACrC2P,SAAiB,OAARP,QAAQ,IAARA,GAAmB,QAAXf,EAARe,EAAUI,iBAAS,IAAAnB,OAAX,EAARA,EAAqBiB,aAAShP,EACvCsP,OAAe,OAARR,QAAQ,IAARA,GAAmB,QAAXd,EAARc,EAAUI,iBAAS,IAAAlB,OAAX,EAARA,EAAqBjK,WAAO/D,EACnCuP,eAAuB,OAART,QAAQ,IAARA,GAAmB,QAAXb,EAARa,EAAUI,iBAAS,IAAAjB,OAAX,EAARA,EAAqBuB,mBAAexP,EACnDyP,SAAiB,OAARX,QAAQ,IAARA,GAAmB,QAAXZ,EAARY,EAAUI,iBAAS,IAAAhB,OAAX,EAARA,EAAqBwB,aAAS1P,EACvC2P,aAAqB,OAARb,QAAQ,IAARA,GAAiB,QAATX,EAARW,EAAUc,eAAO,IAAAzB,OAAT,EAARA,EAAmB0B,OAAQ,UACxCC,cAAsB,OAARhB,QAAQ,IAARA,GAAiB,QAATV,EAARU,EAAUc,eAAO,IAAAxB,OAAT,EAARA,EAAmBY,aAAShP,EAC1C+P,oBAA4B,OAARjB,QAAQ,IAARA,GAAiB,QAATT,EAARS,EAAUc,eAAO,IAAAvB,OAAT,EAARA,EAAmBmB,mBAAexP,EACtDgQ,cAAsB,OAARlB,QAAQ,IAARA,GAAiB,QAATR,EAARQ,EAAUc,eAAO,IAAAtB,OAAT,EAARA,EAAmBoB,aAAS1P,EAC1CiQ,WAAmB,OAARnB,QAAQ,IAARA,OAAQ,EAARA,EAAUmB,iBAAajQ,GAG7BkQ,EAAmBzC,YAAYvF,GAErC,OACChG,IAAAxD,cAACyR,KAAU5T,OAAA+N,OAAA,CACVgD,eAAgB,CAAE8C,KAAsB,OAAhBF,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkBlL,UACtC+J,GAEJ7M,IAAAxD,cAAA,QAAM2R,aAAW,kBAAkB7L,QAAQ,YAElC,OAARsK,QAAQ,IAARA,GAAmB,QAAXP,EAARO,EAAU/J,iBAAS,IAAAwJ,OAAX,EAARA,EAAqB9E,KAAI,SAAC6G,EAAMlU,GAChC,OACC8F,IAAAxD,cAAA,QACC6R,IAAI,YACJC,SAAUF,EAAKtL,QACfL,KAAM2L,EAAKvM,IACXzC,IAAKlF,OAIR8F,IAAAxD,cAAA,QAAMoB,KAAK,WAAW0E,QAAQ,yCAErB,OAARsK,QAAQ,IAARA,OAAQ,EAARA,EAAUU,cACVtN,IAAAxD,cAAA,QAAMoB,KAAK,cAAc0E,QAASsK,EAASU,cAG5CtN,IAAAxD,cAAA,QACC6R,IAAI,+BACJE,MAAM,UACN9L,KAAM+J,IAEPxM,IAAAxD,cAAA,QACC6R,IAAI,+BACJE,MAAM,UACN9L,KAAMgK,IAEPzM,IAAAxD,cAAA,QAAM6R,IAAI,+BAA+BE,MAAM,QAAQ9L,KAAMiK,IAC7D1M,IAAAxD,cAAA,QAAM6R,IAAI,+BAA+B5L,KAAMkK,IAC/C3M,IAAAxD,cAAA,QAAM6R,IAAI,gBAAgB5L,KAAM8J,KACvB,OAARK,QAAQ,IAARA,OAAQ,EAARA,EAAU4B,eACVxO,IAAAxD,cAAA,QAAM6R,IAAI,YAAY5L,KAAc,OAARmK,QAAQ,IAARA,OAAQ,EAARA,EAAU4B,eAEf,4CAAhB,OAAPlM,QAAO,IAAPA,OAAO,EAAPA,EAASmM,YACTzO,IAAAxD,cAAA,QACC6R,IAAI,YACJ7Q,KAAK,sBACLsP,MAAM,0CACNrK,KAAMH,EAAQT,IAAM,WCXV6M,GA1EK,SAAHzN,GAAiC,IAA3BrH,EAAIqH,EAAJrH,KAAM+U,EAAa1N,EAAb0N,cAC3BhP,QAAQiP,IAAIhV,EAAKiV,eACjB,IAAMC,EAAgBC,SAASnV,EAAKiV,cAAcG,QAAQ,KAAM,IAAK,IAC/DC,EAAeF,SAASnV,EAAKsV,aAAaF,QAAQ,KAAM,IAAK,IAC7DG,EAAeJ,SAASnV,EAAKwV,aAAaJ,QAAQ,KAAM,IAAK,IAC7DK,EAAaN,SAASnV,EAAK0V,WAAWN,QAAQ,KAAM,IAAK,IACzDO,EAAqBR,SACzBnV,EAAK4V,mBAAmBR,QAAQ,KAAM,IACtC,IAGIS,EACJX,EACAG,EACAE,EACAE,EACAE,EAEIG,EAAUC,KAAKC,MAAMd,EAAgBC,SAASJ,EAAe,KAC7DkB,EAASF,KAAKC,MAAMX,EAAeF,SAASJ,EAAe,KAC3DmB,EAASH,KAAKC,MAAMT,EAAeJ,SAASJ,EAAe,KAC3DoB,EAAOJ,KAAKC,MAAMP,EAAaN,SAASJ,EAAe,KACvDqB,EAAeL,KAAKC,MACxBL,EAAqBR,SAASJ,EAAe,KAEzCsB,EAAqBN,KAAKC,MAC9BH,EAAYV,SAASJ,EAAe,KAGtC,OACE3O,IAAAxD,cAAA,aACEwD,IAAAxD,cAAA,WAAS2O,UAAU,WAAU,YAC7BnL,IAAAxD,cAAA,aACEwD,IAAAxD,cAAA,UACEwD,IAAAxD,cAAA,UAAI,YACJwD,IAAAxD,cAAA,UAAI,UACJwD,IAAAxD,cAAA,UAAI,iBAGRwD,IAAAxD,cAAA,aACEwD,IAAAxD,cAAA,UACEwD,IAAAxD,cAAA,UAAI,WACJwD,IAAAxD,cAAA,UAAKmT,KAAKC,MAAMd,IAChB9O,IAAAxD,cAAA,UAAK0T,MAAMR,GAAW,IAAMA,IAE9B1P,IAAAxD,cAAA,UACEwD,IAAAxD,cAAA,UAAI,UACJwD,IAAAxD,cAAA,UAAKmT,KAAKC,MAAMX,IAChBjP,IAAAxD,cAAA,UAAK0T,MAAML,GAAU,IAAMA,IAE7B7P,IAAAxD,cAAA,UACEwD,IAAAxD,cAAA,UAAI,UACJwD,IAAAxD,cAAA,UAAKmT,KAAKC,MAAMT,IAChBnP,IAAAxD,cAAA,UAAK0T,MAAMJ,GAAU,IAAMA,IAE7B9P,IAAAxD,cAAA,UACEwD,IAAAxD,cAAA,UAAI,QACJwD,IAAAxD,cAAA,UAAKmT,KAAKC,MAAMP,IAChBrP,IAAAxD,cAAA,UAAK0T,MAAMH,GAAQ,IAAMA,IAE3B/P,IAAAxD,cAAA,UACEwD,IAAAxD,cAAA,UAAI,gBACJwD,IAAAxD,cAAA,UAAKmT,KAAKC,MAAML,IAChBvP,IAAAxD,cAAA,UAAK0T,MAAMF,GAAgB,IAAMA,IAEnChQ,IAAAxD,cAAA,UACEwD,IAAAxD,cAAA,MAAI2O,UAAU,aAAY,gBAC1BnL,IAAAxD,cAAA,UAAKmT,KAAKC,MAAMH,IAChBzP,IAAAxD,cAAA,UAAK0T,MAAMD,GAAsB,IAAMA,O,SCelCE,GAzEO,SAAHlP,GAAkB,IAAZrH,EAAIqH,EAAJrH,KACjBkV,EAAgBC,SAASnV,EAAKiV,cAAcG,QAAQ,KAAM,IAAK,IAC/DC,EAAeF,SAASnV,EAAKsV,aAAaF,QAAQ,KAAM,IAAK,IAC7DG,EAAeJ,SAASnV,EAAKwV,aAAaJ,QAAQ,KAAM,IAAK,IAC7DK,EAAaN,SAASnV,EAAK0V,WAAWN,QAAQ,KAAM,IAAK,IACzDO,EAAqBR,SACzBnV,EAAK4V,mBAAmBR,QAAQ,KAAM,IACtC,IAGIS,EACJX,EACAG,EACAE,EACAE,EACAE,EAEIa,EAAa,CACjB,CACExS,KAAM,UACNkB,MAAO6Q,KAAKC,MAAMd,IAEpB,CACElR,KAAM,SACNkB,MAAO6Q,KAAKC,MAAMX,IAEpB,CACErR,KAAM,SACNkB,MAAO6Q,KAAKC,MAAMT,IAEpB,CACEvR,KAAM,OACNkB,MAAO6Q,KAAKC,MAAMP,IAEpB,CACEzR,KAAM,eACNkB,MAAO6Q,KAAKC,MAAML,IAEpB,CACE3R,KAAM,eACNkB,MAAO6Q,KAAKC,MAAMH,KAItB,OACEzP,IAAAxD,cAAA,OAAK6T,MAAO,CAAEC,MAAO,OAAQC,OAAQ,MACnCvQ,IAAAxD,cAACgU,KAAmB,KAClBxQ,IAAAxD,cAACiU,KAAQ,CACP7W,KAAMwW,EACNM,QAAS,GACTC,OAAQ,EACRC,OAAQ,CACNC,IAAK,GACLC,KAAM,GACNC,OAAQ,KAGV/Q,IAAAxD,cAACwU,KAAa,CAACC,gBAAgB,QAC/BjR,IAAAxD,cAAC0U,KAAK,CAACC,QAAQ,OAAOC,SAAU,EAAGC,MAAO,GAAIC,GAAI,KAClDtR,IAAAxD,cAAC+U,KAAK,CACJC,QAAS,CAAEX,IAAK,GAAIE,OAAQ,IAC5BU,MAAO,CAAE3S,MAAO,eAAgB4S,SAAU,MAAOC,OAAQ,MAE3D3R,IAAAxD,cAACoV,KAAa,CAACC,EAAG,EAAGC,OAAO,SAC5B9R,IAAAxD,cAACuV,KAAG,CAACZ,QAAQ,QAAQa,KAAK,WACxBhS,IAAAxD,cAACyV,KAAS,CAACd,QAAQ,QAAQO,SAAS,a,SC7E1CQ,GAAW,CACf,CACEC,QAAS,4BACT7P,QAAS,CACP,CACE1E,KAAM,2BACNJ,KAAM,SACNiU,MAAO,4BACPW,QACE,sJACFC,QAAS,CACP,CACEvT,MAAO,WACP2S,MAAO,YAET,CACE3S,MAAO,UACP2S,MAAO,WAET,CACE3S,MAAO,WACP2S,MAAO,aAGXa,aAAc,WACdC,gBAAiB,sCAIvB,CACEJ,QAAS,2BACT7P,QAAS,CACP,CACE1E,KAAM,sBACNJ,KAAM,SACNiU,MAAO,yBACPW,QACE,wKACFC,QAAS,CACP,CACEvT,MAAO,iBACP2S,MAAO,kBAET,CACE3S,MAAO,aACP2S,MAAO,cAET,CACE3S,MAAO,UACP2S,MAAO,YAGXa,aAAc,iBACdC,gBAAiB,oCAEnB,CACE3U,KAAM,eACNJ,KAAM,SACNiU,MAAO,mBACPa,aAAc,GACdF,QAAS,6DACTG,gBAAiB,oCAEnB,CACE3U,KAAM,gBACNJ,KAAM,SACNiU,MAAO,oBACPa,aAAc,GACdF,QAAS,8DACTG,gBAAiB,oCAEnB,CACE3U,KAAM,qBACNJ,KAAM,SACNiU,MAAO,oCACPa,aAAc,GACdF,QAAS,+DACTG,gBAAiB,mCACjBC,QAAS,sBACTC,eAAgB,gDAElB,CACE7U,KAAM,0BACNJ,KAAM,SACNiU,MAAO,qCACPa,aAAc,GACdF,QACE,6LACFG,gBAAiB,oCAEnB,CACE3U,KAAM,mBACNJ,KAAM,SACNiU,MAAO,yBACPW,QACE,8GACFC,QAAS,CACP,CACEvT,MAAO,MACP2S,MAAO,OAET,CACE3S,MAAO,oBACP2S,MAAO,qBAET,CACE3S,MAAO,eACP2S,MAAO,gBAET,CACE3S,MAAO,oBACP2S,MAAO,sBAGXa,aAAc,OAEhB,CACE1U,KAAM,oCACNJ,KAAM,SACNiU,MAAO,8CACPa,aAAc,GACdF,QACE,oNACFG,gBAAiB,mCACjBC,QAAS,sBACTC,eAAgB,gDAElB,CACE7U,KAAM,8BACNJ,KAAM,SACNiU,MAAO,wCACPa,aAAc,GACdF,QACE,mKACFG,gBAAiB,oCAEnB,CACE3U,KAAM,wCACNJ,KAAM,SACNiU,MAAO,qDACPa,aAAc,GACdF,QACE,uNACFG,gBAAiB,mCACjBC,QAAS,sBACTC,eAAgB,gDAElB,CACE7U,KAAM,oCACNJ,KAAM,SACNiU,MAAO,6CACPa,aAAc,GACdF,QACE,wOACFG,gBAAiB,oCAEnB,CACE3U,KAAM,sBACNJ,KAAM,SACNiU,MAAO,0DACPa,aAAc,GACdF,QACE,mOACFG,gBAAiB,oCAEnB,CACE3U,KAAM,kCACNJ,KAAM,SACNiU,MAAO,6CACPa,aAAc,GACdF,QACE,6GACFG,gBAAiB,oCAEnB,CACE3U,KAAM,QACNJ,KAAM,SACNiU,MAAO,QACPa,aAAc,IACdF,QACE,kJAIR,CACED,QAAS,cACT7P,QAAS,CACP,CACE1E,KAAM,QACNJ,KAAM,SACNiU,MAAO,WACPW,QACE,uIACFC,QAAS,CACP,CACEvT,MAAO,QACP2S,MAAO,SAET,CACE3S,MAAO,QACP2S,MAAO,SAET,CACE3S,MAAO,QACP2S,MAAO,UAGXa,aAAc,QACdC,gBAAiB,oCAEnB,CACE3U,KAAM,mBACNJ,KAAM,SACNiU,MAAO,wBACPW,QACE,qJACFC,QAAS,CACP,CACEvT,MAAO,YACP2S,MAAO,aAET,CACE3S,MAAO,cACP2S,MAAO,eAET,CACE3S,MAAO,eACP2S,MAAO,gBAET,CACE3S,MAAO,eACP2S,MAAO,gBAET,CACE3S,MAAO,aACP2S,MAAO,eAGXa,aAAc,YACdC,gBAAiB,oCAEnB,CACE3U,KAAM,WACNJ,KAAM,SACNiU,MAAO,cACPW,QACE,6KACFC,QAAS,CACP,CACEvT,MAAO,KACP2S,MAAO,MAET,CACE3S,MAAO,MACP2S,MAAO,QAGXa,aAAc,MACdC,gBAAiB,oCAEnB,CACE3U,KAAM,SACNJ,KAAM,SACNiU,MAAO,UACPW,QACE,mOACFC,QAAS,CACP,CACEvT,MAAO,KACP2S,MAAO,MAET,CACE3S,MAAO,MACP2S,MAAO,QAGXa,aAAc,MACdC,gBAAiB,oCAEnB,CACE3U,KAAM,gBACNJ,KAAM,SACNiU,MAAO,gBACPW,QACE,0HACFC,QAAS,CACP,CACEvT,MAAO,KACP2S,MAAO,MAET,CACE3S,MAAO,MACP2S,MAAO,QAGXa,aAAc,MACdC,gBAAiB,uCAMnBG,GAAe,CACnBC,iBAAa,CAAC,mCACdC,aAAS,CAAC,mBAAoB,mCAC9BC,QAAS,CACP,0BACA,mBACA,sCCnSEC,GAAmB,WACxB,IAAMC,EAAgB,GAUtB,OARAb,GAASc,SAAQ,SAACC,GACjBA,EAAQ3Q,QAAQ0Q,SAAQ,SAAC5E,QACEtQ,IAAtBsQ,EAAKkE,eACRS,EAAc3E,EAAKxQ,MAAQwQ,EAAKkE,oBAK5BS,GAsKOG,GAnKC,SAAHjS,GAAoB,IAAdK,EAAML,EAANK,OAClB6R,EAA2BC,mBAASN,MAAmBO,EAAAC,aAAAH,EAAA,GAAhDjM,EAAMmM,EAAA,GAAEE,EAAQF,EAAA,GACvBG,EAAwCJ,mBAAS,MAAKK,EAAAH,aAAAE,EAAA,GAA/CE,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GACpCG,EAA8BR,oBAAS,GAAMS,EAAAP,aAAAM,EAAA,GAAtC7P,EAAO8P,EAAA,GAAEC,EAAUD,EAAA,GACpBE,EAAYC,iBAAO,MAoDzB,OACChU,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAC0X,KAAI,CACJvT,OAAO,IACPwT,cAAerB,KACfsB,SAnDkB,WACpBN,GAAW,GACXH,EAAgB,MAEhB,IAAIU,EAAS1L,YAAA,GAAQzB,GAErB7M,OAAO0P,KAAK7C,GAAQK,KAAI,SAACnI,GAUxB,MARS,uBAARA,GACQ,0CAARA,GACQ,sCAARA,EAEAiV,EAAUjV,GAAO8H,EAAO9H,GAAO,IACb,UAARA,GAAmC,KAAhB8H,EAAO9H,KACpCiV,EAAUjV,GAAO,IAEX,KAGR,IAAIkV,EAAQja,OAAO0P,KAAKsK,GACtB9M,KACA,SAACgN,GAAC,OAAK/M,mBAAmB+M,GAAK,IAAM/M,mBAAmB6M,EAAUE,OAElE9M,KAAK,KAEPrF,IACE1D,IAAI,GAAAyD,OAAGb,EAAM,KAAMgT,EAAO,CAC1BE,QAAS,CACRC,QAAS,sBAGVC,MAAK,SAACC,GACNb,GAAW,GACXH,EAAgBgB,EAAS/a,MACzBma,EAAUa,QAAQC,WAElBC,OAAM,SAACpV,GACPC,QAAQiP,IAAIlP,OAeZqV,SAxDuB,SAACC,EAAOC,GACjC1B,EAAS0B,IAwDPC,QAZiB,WACnBvB,EAAgB,MAChBG,GAAW,KAYR5B,GAAS3K,KAAI,SAAC0L,GACd,OACCjT,IAAAxD,cAAA,WAAS4C,IAAK6T,EAAQd,SACrBnS,IAAAxD,cAAA,cACCwD,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,KAAKC,KAAMpC,EAAQd,WAG5Bc,EAAQ3Q,QAAQiF,KAAI,SAAC6G,GACrB,QACClH,EAA4B,sBAGrB,IAFPwL,GAAaxL,EAA4B,qBAAGoO,QAC3ClH,EAAKxQ,SAKY,WAAdwQ,EAAK5Q,KAEPwC,IAAAxD,cAAA,OAAK4C,IAAKgP,EAAKxQ,KAAMuN,UAAU,QAC9BnL,IAAAxD,cAAC+Y,KAAK,CACLC,QAASpH,EAAKxQ,KACd6X,WAAUrH,EAAKmE,iBAEdnE,EAAKqD,OAEPzR,IAAAxD,cAACkZ,MAAO,CAACjE,MAAOrD,EAAKxQ,KAAM0P,YAAac,EAAKgE,UAC7CpS,IAAAxD,cAACmZ,KAAK,CACL/X,KAAMwQ,EAAKxQ,KACXJ,KAAM4Q,EAAK5Q,KACXoY,GAAIxH,EAAKxQ,KACT6X,WAAUrH,EAAKmE,gBACfsD,kBAAmBzH,EAAKmE,gBACxBC,QAASpE,EAAKoE,QACdC,eAAgBrE,EAAKqE,iBAEtBzS,IAAAxD,cAACsZ,KAAS,CAACC,QAAS3H,EAAKxQ,QAK1BoC,IAAAxD,cAAA,OAAK4C,IAAKgP,EAAKxQ,KAAMuN,UAAU,QAC9BnL,IAAAxD,cAAC+Y,KAAK,CACLC,QAASpH,EAAKxQ,KACd6X,WAAUrH,EAAKmE,iBAEdnE,EAAKqD,OAEPzR,IAAAxD,cAACkZ,MAAO,CAACjE,MAAOrD,EAAKxQ,KAAM0P,YAAac,EAAKgE,UAC7CpS,IAAAxD,cAACwZ,MAAM,CACNJ,GAAIxH,EAAKxQ,KACTA,KAAMwQ,EAAKxQ,KACXyU,QAASjE,EAAKiE,QAAQ9K,KAAI,SAAC0O,GAAM,MAAM,CACtCnX,MAAOmX,EAAOnX,MACdoX,QAASD,EAAOxE,UAEjBgE,WAAUrH,EAAKqH,SACfI,kBAAmBzH,EAAKqH,oBAUjCzV,IAAAxD,cAAA,OAAK2O,UAAU,QACdnL,IAAAxD,cAAC2Z,KAAM,CAAC3Y,KAAK,SAAS4Y,SAAUrS,EAASoH,UAAU,QACjDpH,EACA/D,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLC,MAAM,QACNC,QAAQ,OACRC,eAAa,IAGd,YAGFzW,IAAAxD,cAAC2Z,KAAM,CAAC3Y,KAAK,QAAQkZ,QAAQ,aAAY,uBAK3C1W,IAAAxD,cAAA,OAAK2O,UAAU,eAAewL,SAAS,IAAIC,IAAK7C,GAC9CL,EACA1T,IAAAxD,cAAA,OAAK2O,UAAU,YACdnL,IAAAxD,cAACkS,GAAW,CACX9U,KAAM8Z,EACN/E,cAAezH,EAAOyH,iBAGrB,KACH+E,EAAe1T,IAAAxD,cAAC2T,GAAa,CAACvW,KAAM8Z,IAAmB,Q,QCnG7CmD,GAjEqB,SAAH5V,GAAyC,IAAnC6V,EAAK7V,EAAL6V,MAAKC,EAAA9V,EAAE+V,gBAAQ,IAAAD,EAAG,UAASA,EAC7DtV,EAAawV,eAAcC,KAE/B,OACClX,IAAAxD,cAAC2a,KAAY,CAACH,SAAUA,GACtBF,EAAMvP,KAAI,SAAC6P,EAAMld,GAAC,IAAAmd,EAAAC,EAAA,OAClBtX,IAAAxD,cAAA,OACC2O,UAAWoM,eAAOH,EAAKN,QAAmB,QAAVO,EAAAD,EAAKN,aAAK,IAAAO,OAAA,EAAVA,EAAYjd,QAAS,IAAM,SAC3DgF,IAAKlF,EACL0b,GAAIwB,EAAKxB,IAERwB,EAAKjF,SACLnS,IAAAxD,cAACgb,KAAgB,CAChBC,OAAQL,EAAKjF,QACbuF,UAAWN,EAAKO,WAChBC,OAAQ1d,EAAI,EACZ8c,SAAUA,EACVa,UACCf,EAAM1c,SAAWF,EAAI,KACnBkd,EAAKN,OAAgC,KAAb,QAAVQ,EAAAF,EAAKN,aAAK,IAAAQ,OAAA,EAAVA,EAAYld,UAG7B4F,IAAAxD,cAACsb,GAAY,CAACC,UAAWX,EAAKW,UAAW5M,UAAU,WAIpDiM,EAAKN,OACLM,EAAKN,MAAMvP,KAAI,SAACyQ,EAASzD,GAAC,IAAA0D,EAAA,OACzBjY,IAAAxD,cAAC0b,KAAc,CACd9Y,IAAKmV,EACLqB,GAAIoC,EAAQpC,GACZ6B,OAAQO,EAAQ7F,QAChBgG,KACEH,EAAQpC,IAAMnU,EAAW2W,SAASJ,EAAQpC,KAC3CoC,EAAQK,OAETR,UACCtD,EAAI,KAAU,OAAJ6C,QAAI,IAAJA,GAAW,QAAPa,EAAJb,EAAMN,aAAK,IAAAmB,OAAP,EAAJA,EAAa7d,SACvBF,EAAI,IAAM4c,EAAM1c,QACV,IAANma,EAED+D,SAAS,OACTC,UAAU,UACVC,UACc,SAAbxB,GAA6B,IAANzC,IAAY6C,EAAKjF,UAAW,EAEpD6E,SAAUA,EACVyB,aAAcrB,EAAKjF,QAAU,KAAO,KACpCuG,SAAU,SAACC,EAAmB/C,GACzB+C,GAAYpW,OAAOqW,WAAarW,OAAOqW,UAAUle,MACpD6H,OAAOqW,UAAUle,KAAK,CACrBme,cAAeF,MAKlB3Y,IAAAxD,cAACsb,GAAY,CAACC,UAAWC,EAAQD,sB,qBCnD1B5C,GAfe,SAAHlU,GAA+B,IAAD8J,EAAxB+N,EAAI7X,EAAJ6X,KAASC,EAAQ1N,aAAApK,EAAAqK,IAC3CxK,EAAMyK,YAAY1K,GAWxB,OATO,OAAHC,QAAG,IAAHA,GAAS,QAANiK,EAAHjK,EAAKV,YAAI,IAAA2K,OAAN,EAAHA,EAAW1K,aAAcyY,IAC5BC,EAAS,0BAA4BD,EACrCC,EAAS,4BAA8B,OAElCA,EAAS9N,UAAa8N,EAAS1D,OACnC0D,EAAS9N,SAAW,MAIfjL,IAAMxD,cAAcwc,KAAQD,ICmBrBE,GApCY,SAAHhY,GAAsB,IAAhBgK,EAAQhK,EAARgK,SACvBtI,EAAUuW,eACVpY,EAAMyK,YAAY1K,GAClBsY,EAAUnF,iBAAuB,MAEvC,SAASoF,EAAyClc,GACjD,IAAMuF,EAAO5C,KAAKwZ,aAAa,QACzB3b,EAASmC,KAAKwZ,aAAa,UAC3BC,EAA4C,SAAnCzZ,KAAKwZ,aAAa,aAC7B5W,GAA2B,MAAnBA,EAAK+I,OAAO,IAAyB,WAAX9N,IAAwB4b,IAC7Dpc,EAAMqc,iBACN5W,EAAQjI,KAAK+H,IAsBf,OAlBA+W,qBAAU,WAAO,IAADzO,EACT0O,EAAaN,EAOnB,OANIA,EAAQvE,WAAe,OAAH9T,QAAG,IAAHA,GAAS,QAANiK,EAAHjK,EAAKV,YAAI,IAAA2K,OAAN,EAAHA,EAAWzK,aAClC6Y,EAAQvE,QAAQ8E,iBAAiB,KAAK1G,SAAQ,SAAC2G,GAC9CA,EAAEC,iBAAiB,QAASR,MAIvB,WACFK,EAAW7E,SACd6E,EAAW7E,QAAQ8E,iBAAiB,KAAK1G,SAAQ,SAAC2G,GACjDA,EAAEE,oBAAoB,QAAST,SAKhC,IAEIpZ,IAAAxD,cAAA,OAAK2O,UAAU,WAAWyL,IAAKuC,GAAUlO,I,qBClBlC6O,GAVgB,SAAH7Y,GAA+B,IAAD8J,EAAxB+N,EAAI7X,EAAJ6X,KAASC,EAAQ1N,aAAApK,EAAAqK,IAC5CxK,EAAMyK,YAAY1K,GAMxB,OAJO,OAAHC,QAAG,IAAHA,GAAS,QAANiK,EAAHjK,EAAKV,YAAI,IAAA2K,OAAN,EAAHA,EAAW1K,aAAcyY,IAC5BC,EAAS,iBAAmBD,GAGtB9Y,IAAMxD,cAAcud,KAAWhB,ICqBxBiB,GAXsB,SAAH/Y,GAAiB,IAAXpE,EAAGoE,EAAHpE,IACjCod,EAAWjG,mBAOjB,OANAwF,qBAAU,WACT,GAAIS,EAASrF,QACZ,OAxBkB,SAAC/X,EAAaa,GAClC,IAAMwc,EAAe3d,SAAS4d,MAE9B5d,SAAS4d,MAAQ,WAEhBzc,EAAO0c,UAAY,GAAGjY,OAAOpH,MAAM,GAAIuI,WAAWmE,KAAK,KAExD,IAAMnL,EAASC,SAASC,cAAc,UAOtC,OANAF,EAAOO,IAAMA,EACbP,EAAO+d,OAAQ,EACf/d,EAAOc,OAAS,WACfb,SAAS4d,MAAQD,GAElB3d,SAAS+d,KAAKrc,YAAY3B,GACnB,WACNC,SAAS+d,KAAKC,YAAYje,IASlBke,CAAa3d,EAAKod,EAASrF,WAEjC,CAACqF,EAAUpd,IAEPmD,IAAAxD,cAAA,QAAMoa,IAAKqD,K,6HCwHJQ,GAtHyB,SAAHxZ,GAQ9B,IAPNiV,EAAOjV,EAAPiV,QACAwE,EAAUzZ,EAAVyZ,WACAC,EAAa1Z,EAAb0Z,cACAC,EAAU3Z,EAAV2Z,WACAC,EAAU5Z,EAAV4Z,WACAC,EAAa7Z,EAAb6Z,cACAC,EAAiB9Z,EAAjB8Z,kBAEAC,EAAkBC,eACZrF,GAAKsF,EADgB5H,aAAA0H,EAAA,GAAb,MAEd,OACChb,IAAAxD,cAAA,SAAO2O,UAAU,8BAA8BgQ,WAAS,aACvDnb,IAAAxD,cAAA,WAAS2O,UAAU,WAAW+K,GAC9BlW,IAAAxD,cAAA,aACCwD,IAAAxD,cAAA,UACCwD,IAAAxD,cAAA,MAAI4e,QAAS,EAAGC,QAAS,EAAG5E,eAAa,GAAO,QAGhDzW,IAAAxD,cAAA,MACC8e,MAAM,WACND,QAASP,EAAc1gB,OACvBwb,GAAE,aAAAzT,OAAeyT,EAAE,aACnBzK,UAAU,eAETwP,IAGH3a,IAAAxD,cAAA,UACEse,EAAcvT,KAAI,SAACgU,EAAKC,GACxB,OACCxb,IAAAxD,cAAA,MACC8e,MAAM,MACN1F,GAAE,aAAAzT,OAAeyT,EAAE,SAAAzT,OAAQoZ,EAAInE,MAC/B5C,QAAO,aAAArS,OAAeyT,EAAE,aACxBzK,UAAU,uEACV/L,IAAKoc,GAEJD,EAAIE,SACLzb,IAAAxD,cAAA,QACC2O,UAAU,+BACVsL,eAAa,GAEZ8E,EAAInE,YAOXpX,IAAAxD,cAAA,aACCwD,IAAAxD,cAAA,UACCwD,IAAAxD,cAAA,MACC8e,MAAM,WACN1F,GAAE,aAAAzT,OAAeyT,EAAE,aACnBzK,UAAU,oBAETuP,GAEDI,EAAcvT,KAAI,SAACgU,EAAKC,GACxB,OACCxb,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAKoc,GACnBA,EAAQV,EAAc1gB,QACtB4F,IAAAxD,cAAA,MAAI2O,UAAU,iBAAiBsL,eAAa,GAAM,aAQtDoE,EAAWtT,KAAI,SAAC4B,EAAKqS,GACrB,OACCxb,IAAAxD,cAAA,MAAI4C,IAAKoc,GACRxb,IAAAxD,cAAA,MACC8e,MAAM,MACN1F,GAAE,aAAAzT,OAAeyT,EAAE,SAAAzT,OAAQgH,EAAIuS,UAC/BlH,QAAO,aAAArS,OAAeyT,EAAE,aACxBzK,UAAU,wCAEVnL,IAAAxD,cAAA,KACCiG,KAAI,IAAAN,OAAMgH,EAAIuS,UACdvQ,UAAU,6BAEThC,EAAIwS,eAGNb,EAAcvT,KAAI,SAACgU,EAAKC,GACxB,IAAMI,EAAWhB,EAAWzR,EAAIuS,UAAUH,EAAInE,MAC9C,OACCpX,IAAAxD,cAAA,MACCgY,QAAO,aAAArS,OAAeyT,EAAE,SAAAzT,OAAQgH,EAAIuS,SAAQ,eAAAvZ,OAAcyT,EAAE,SAAAzT,OAAQyZ,EAASxE,MAC7EjM,UAAU,2DACV/L,IAAKoc,GAELxb,IAAAxD,cAAA,OACCuH,QAAQ,OACRoH,UAAU,0BACVtO,IACCke,EAAkBa,EAASC,kBAC3BC,KAEDC,IAAI,KAEL/b,IAAAxD,cAAA,KAAG2O,UAAU,gCACXyQ,EAASI,uBC/CNC,GArEyB,SAAHhb,GAM9B,IALNiV,EAAOjV,EAAPiV,QACAyE,EAAa1Z,EAAb0Z,cACAC,EAAU3Z,EAAV2Z,WACAE,EAAa7Z,EAAb6Z,cACAC,EAAiB9Z,EAAjB8Z,kBAEAC,EAAkBC,eACZrF,GAAKsF,EADgB5H,aAAA0H,EAAA,GAAb,MAEd,OACChb,IAAAxD,cAAA,SAAO2O,UAAU,uBAAuBgQ,WAAS,kBAChDnb,IAAAxD,cAAA,WAAS2O,UAAU,WAAW+K,GAC9BlW,IAAAxD,cAAA,aACCwD,IAAAxD,cAAA,UACCwD,IAAAxD,cAAA,MACC8e,MAAM,WACND,QAASP,EAAc1gB,OACvBwb,GAAE,aAAAzT,OAAeyT,EAAE,aACnBzK,UAAU,yBAETwP,IAGH3a,IAAAxD,cAAA,UACEse,EAAcvT,KAAI,SAACgU,EAAKC,GACxB,OACCxb,IAAAxD,cAAA,MACC8e,MAAM,MACN1F,GAAE,aAAAzT,OAAeyT,EAAE,SAAAzT,OAAQoZ,EAAInE,MAC/B5C,QAAO,aAAArS,OAAeyT,EAAE,aACxBzK,UAAU,qDACV/L,IAAKoc,GAEJD,EAAIE,eAMVzb,IAAAxD,cAAA,aACCwD,IAAAxD,cAAA,UACEse,EAAcvT,KAAI,SAACgU,EAAKC,GACxB,OACCxb,IAAAxD,cAAA,MACCgY,QAAO,aAAArS,OAAeyT,EAAE,SAAAzT,OAAQoZ,EAAInE,MACpCjM,UAAU,2DACV/L,IAAKoc,GAELxb,IAAAxD,cAAA,OACCuH,QAAQ,OACRoH,UAAU,0BACVtO,IACCke,EAAkBH,EAAWW,EAAInE,MAAMyE,kBACvCC,KAEDC,IAAI,KAEL/b,IAAAxD,cAAA,KAAG2O,UAAU,gCACXyP,EAAWW,EAAInE,MAAM4E,oBC3ClBjB,GAAoB,SAACmB,GAEjC,OADyB,OAALA,QAAK,IAALA,OAAK,EAALA,EAAOC,eAE1B,IAAK,MACJ,OAAOC,KACR,IAAK,YACJ,OAAOC,KACR,IAAK,SACJ,OAAOC,KACR,IAAK,aACJ,OAAOC,KACR,IAAK,OACJ,OAAOC,KACR,QACC,OAAOV,OAkFKW,GA7EoB,SAAHxb,GAOzB,IANNyV,EAAOzV,EAAPyV,QACAR,EAAOjV,EAAPiV,QACAwE,EAAUzZ,EAAVyZ,WACAC,EAAa1Z,EAAb0Z,cACA+B,EAAWzb,EAAXyb,YACAvR,EAASlK,EAATkK,UAEI0P,EAA0B,GAC1BC,EAAgC,GAChCF,EAAkB,GAuCtB,OArCA8B,EAAY1J,SAAQ,SAACgJ,GAEP,UAAZtF,GACAsF,EAAWN,UACXM,EAAWL,eACVd,EAAW8B,MAAK,SAACvO,GAAI,OAAKA,EAAKsN,WAAaM,EAAWN,aAExDb,EAAWngB,KAAK,CACfghB,SAAUM,EAAWN,SACrBC,aAAcK,EAAWL,eAItBb,EAAc6B,MAAK,SAACvO,GAAI,OAAKA,EAAKgJ,OAAS4E,EAAW5E,SAC1D0D,EAAcpgB,KAAK,CAClB0c,KAAM4E,EAAW5E,KACjBqE,SAAUO,EAAWP,WAKV,UAAZ/E,GACAsF,EAAWN,YACTM,EAAWN,YAAYd,KAEzBA,EAAWoB,EAAWN,UAAY,IAGnB,UAAZhF,GAAuBsF,EAAWN,SACrCd,EAAWoB,EAAWN,UAAUM,EAAW5E,MAAQ4E,EAEnDpB,EAAWoB,EAAW5E,MAAQ4E,KAIhClB,EAAc8B,MAAK,SAACjD,EAAGvS,GAAC,OAAKuS,EAAEvC,KAAOhQ,EAAEgQ,QAGvCpX,IAAAxD,cAAA,OAAK2O,UAAWoM,aAAKpM,EAAW,UAC/BnL,IAAAxD,cAAA,OAAK2O,UAAU,0BACD,UAAZuL,GAAuBgE,GACvB1a,IAAAxD,cAACie,GAAc,CACdvE,QAASA,EACTwE,WAAYA,EACZC,cAAeA,EACfC,WAAYA,EACZC,WAAYA,EACZC,cAAeA,EACfC,kBAAmBA,KAGR,UAAZrE,GACA1W,IAAAxD,cAACyf,GAAc,CACd/F,QAASA,EACTyE,cAAeA,EACfC,WAAYA,EACZE,cAAeA,EACfC,kBAAmBA,QC5HZ8B,GAAe,WAC3B,IAAM7T,EAAW8T,cACXxa,EAAUiJ,YAAYjH,GACpByY,GAAexR,YAAYyR,MAAgB,KAA3CD,WAERvD,qBAAU,WACT,IAAMyD,EAAW,WAChBjU,EAASvI,EAAU8B,OAAOzB,MAGtByB,OAAOzB,IAAIV,KAAKC,YACnBkC,OAAOzB,IAAIoc,UAAU,qBAAqB,SAACtjB,GlB6C9C,IAAC0H,EAAgBoC,EkB3CZ9J,EAAKujB,YACLvjB,EAAK8J,YAAY0Z,MAAM,KAAK,MAAc,OAAP9a,QAAO,IAAPA,OAAO,EAAPA,EAASsT,KAE5C5M,GlBwCJ1H,EkBxC8Byb,ElBwCdrZ,EkBxC0B9J,EAAK8J,YlBwCZ,eAAAF,EAAAtC,YAAAC,IAAAC,MACpC,SAAAqC,EAAOuF,GAAQ,IAAApP,EAAA,OAAAuH,IAAAY,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAEkB,OAAhCvC,QAAQiP,IAAI,oBAAoBhL,EAAA3B,KAAA,EAAA2B,EAAA1B,KAAA,EAGlBqB,EAAkBjC,EAAQoC,GAAa,KAAD,EAAnD9J,EAAIgK,EAAAvB,KAAAuB,EAAA1B,KAAA,gBAEa,OAFb0B,EAAA3B,KAAA,EAAA2B,EAAAyZ,GAAAzZ,EAAA,SAEJjE,QAAQiP,IAAGhL,EAAAyZ,IAAMzZ,EAAAZ,OAAA,kBAGlBrD,QAAQiP,IAAI,kBAEZ5F,EAAS5E,EAAcxK,IAAO,yBAAAgK,EAAAX,UAAAQ,EAAA,kBAC9B,gBAAAN,GAAA,OAAAK,EAAAzI,MAAA,KAAAuI,YAdmC,SkBlC7Bga,EAAS,WACT/a,OAAOzB,MAIRyB,OAAOzB,IAAIV,OAAkC,IAA1BmC,OAAOzB,IAAIV,KAAKG,MACtC0c,IACU1a,OAAOzB,IAAIoc,WACrB3a,OAAOzB,IAAIoc,UAAU,iBAAiB,kBAAMD,SAI9C,GAAsB,qBAAX1a,OAGV,OAFAA,OAAOqX,iBAAiB,OAAQ0D,GAEzB,WACN/a,OAAOsX,oBAAoB,OAAQyD,MAInC,CAACtU,KCvCDuU,GADoB,ECEXC,GAA6B,WACzC,IARqB1e,EAQf0D,EAAWyU,eACXwG,EAASC,KAAYjV,MAAMjG,EAASuD,QAApC0X,KAEN,OAAKA,GAXgB3e,EAeD2e,EAdhB/W,MAAMC,QAAQ7H,KACjBA,EAAQA,EAAM,IAGRiQ,SAASjQ,EAAO,KAOf,GCjBH6e,GAAW,WAChB,MAAsB,qBAAXpb,OAETA,OAAOqb,YACPrhB,SAASshB,gBAAgBC,aACzBvhB,SAAS+d,KAAKwD,YAGR,MCiFMC,GApE0B,SAAH9c,GAMxB,IALb+c,EAAY/c,EAAZ+c,aACA7S,EAASlK,EAATkK,UACAF,EAAQhK,EAARgK,SACAgT,EAAMhd,EAANgd,OAGMC,GAFQjd,EAAdkd,eAEkBnK,iBAAuB,OAEzCb,EAAwCC,oBAAkB,GAAKC,EAAAC,aAAAH,EAAA,GAAxDiL,EAAY/K,EAAA,GAAEgL,EAAehL,EAAA,GACpCG,EAA4CJ,oBAAkB,GAAKK,EAAAH,aAAAE,EAAA,GAA5D8K,EAAc7K,EAAA,GAAE8K,EAAiB9K,EAAA,GAClC+K,EDpBuB,WAE7B,IAAArL,EAAwBC,mBAASuK,MAAWtK,EAAAC,aAAAH,EAAA,GAAvC7C,EAAK+C,EAAA,GAAEoL,EAAQpL,EAAA,GAuBpB,OAnBAmG,qBAAU,WAET,IAAIkF,EAAiB,KACfC,EAAiB,WAEtBthB,aAAaqhB,GAEbA,EAAY3gB,YAAW,kBAAM0gB,EAASd,QAAa,MAMpD,OAHApb,OAAOqX,iBAAiB,SAAU+E,GAG3B,WAENpc,OAAOsX,oBAAoB,SAAU8E,MAEpC,IAEIrO,ECLasO,GAwCpB,OAtCApF,qBAAU,WACT,GAAI0E,EAAUtJ,QAAS,CAAC,IAADiK,EAAAC,EAAAC,EAChBC,EAAYd,EAAUtJ,QAEtBqK,EAAmD,QAAzCJ,EAAGG,EAAUE,cAAc,sBAAc,IAAAL,OAAA,EAAtCA,EAAwCf,YACrDqB,EAA8C,QAAnCL,EAAGE,EAAUE,cAAc,gBAAQ,IAAAJ,OAAA,EAAhCA,EAAkCM,aAChDC,EAAqC,QAA1BN,EAAGC,EAAUM,qBAAa,IAAAP,OAAA,EAAvBA,EAAyBjB,YAEzCuB,GAAeJ,GAAcA,EAAaI,GAE7CL,EAAU3O,MAAMC,MAAQ+O,EAAc,KACtCd,GAAkB,IAEdc,GAAeJ,GAAcE,IAC5BE,EAAcJ,IAEjBD,EAAU3O,MAAMC,MAAQ2O,EAAa,MAElCD,EAAUO,YAAcP,EAAUlB,YACjCqB,EAAc,MACjBH,EAAU3O,MAAMC,MAAQ2O,EAAa,GAAK,KAE1CZ,GAAgB,IAGjBA,GAAgB,GAGjBE,GAAkB,IAIhBY,GAAeA,EAAc,KAChCd,GAAgB,MAGhB,CAACG,EAAavT,EAAUgT,IAG1Bje,IAAAxD,cAAA,OAAK2O,UAAWoM,aAAKpM,EAAW,aAC/BnL,IAAAxD,cAAA,OACC2O,UAAWoM,aACV6G,GAAgB,mBAChBH,GAAU,mBACVD,GAAgB,mBAChBM,GAAkB,oBAEnB1H,IAAKsH,GAEJjT,KCTUuU,GAxD8B,SAAHve,GAOnC,IANNzB,EAAQyB,EAARzB,SACAigB,EAASxe,EAATwe,UACA1K,EAAQ9T,EAAR8T,SACA2K,EAAWze,EAAXye,YACAzU,EAAQhK,EAARgK,SACAE,EAASlK,EAATkK,UAaA,OACCnL,IAAAxD,cAAA,UACC2O,UAAWoM,aAAKpM,EAAW,mCAC3BwU,QAAS,kBAAM5K,EAASvV,EAdD,WACxB,OAAQigB,GACP,IAAK,MACJ,MAAO,OACR,IAAK,OACJ,MAAO,GACR,QACC,MAAO,OAO0BG,KAClCC,qBAAA,YAAA1d,OAAgC8I,IAE/BA,EACDjL,IAAAxD,cAAA,QAAM2O,UAAU,WAAWuU,GACZ,QAAdD,EACAzf,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,WACLnM,KAAM,IACNsM,eAAa,EACbtL,UAAU,OACVoL,MAAM,YAEU,SAAdkJ,EACHzf,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLnM,KAAM,IACNsM,eAAa,EACbtL,UAAU,OACVoL,MAAM,YAGPvW,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,OACLnM,KAAM,IACNsM,eAAa,EACbtL,UAAU,OACVoL,MAAM,cCgHIuJ,GArIyB,SAAH7e,GAY9B,IAAD8e,EAXLnmB,EAAIqH,EAAJrH,KACAomB,EAAW/e,EAAX+e,YACAC,EAAShf,EAATgf,UAASC,EAAAjf,EACTgd,cAAM,IAAAiC,GAAQA,EAAAC,EAAAlf,EACdmf,kBAAU,IAAAD,GAAQA,EAAAE,EAAApf,EAClBqf,wBAAgB,IAAAD,GAAQA,EACxBE,EAAMtf,EAANsf,OACAC,EAAkBvf,EAAlBuf,mBAAkBC,EAAAxf,EAClByf,oBAAY,IAAAD,EAAG,aAAQA,EAAAE,EAAA1f,EACvB2f,0BAAkB,IAAAD,EAAG,aAAQA,EAC7BE,EAAW5f,EAAX4f,YAEA,IAAKjnB,EAAKknB,WACT,OAAO,KAGR,IAAMC,EAAqB,OAAJnnB,QAAI,IAAJA,GAAgB,QAAZmmB,EAAJnmB,EAAMknB,kBAAU,IAAAf,OAAZ,EAAJA,EAAkB5Y,QAAO,SAAC2R,GAAS,OAAKA,EAAKkI,WACpE,OACChhB,IAAAxD,cAAA,WACE5C,EAAKkT,OACL9M,IAAAxD,cAAA,KAAG2O,UAAU,2BAA2BsL,eAAa,GACnD7c,EAAKkT,OAGPmT,GACAjgB,IAAAxD,cAAA,KAAG2O,UAAU,oCAAoC8U,GAEjDc,EAAe3mB,OAAS,GACxB4F,IAAAxD,cAACuhB,GAAe,CAACE,OAAQA,GACxBje,IAAAxD,cAAA,SAAO2O,UAAWoM,aAAK,gBAAiB0G,GAAU,kBAChDrkB,EAAKkT,OAAS9M,IAAAxD,cAAA,WAAS2O,UAAU,WAAWvR,EAAKkT,OAClD9M,IAAAxD,cAAA,aACCwD,IAAAxD,cAAA,UACgB,OAAdukB,QAAc,IAAdA,OAAc,EAAdA,EAAgBxZ,KAAI,SAACkQ,EAAawJ,GAAmB,IAAAC,EAAA,OACrDlhB,IAAAxD,cAAA,MAAI4C,IAAK6hB,GACPb,GACApgB,IAAAxD,cAACgjB,GAAmB,CACnBrU,UAAWoM,aAGoB,WADa,QAD3C2J,EAAAtnB,EAAKknB,WACHK,MAAK,SAAC/S,GAAI,OAAKA,EAAK1G,OAAS+P,EAAO/P,eAAK,IAAAwZ,OAAA,EAD3CA,EAEGE,SAASjF,gBAA6B,WAE1C3c,SAAUiY,EAAO/P,KACjB+X,UAAWhI,EAAOgI,UAClBC,YAAW,kBAAAvd,OAAiBsV,EAAO7Z,MACnCmX,SAAU2L,GAETjJ,EAAO7Z,OAGRwiB,GAAcpgB,IAAAxD,cAAAwD,IAAAiU,SAAA,KAAGwD,EAAO7Z,YAK7BhE,EAAKynB,KAAKjnB,OAAS,GACnB4F,IAAAxD,cAAA,aACE5C,EAAKynB,KAAK9Z,KAAI,SAAC4B,EAAUqS,GAAa,OACtCxb,IAAAxD,cAAA,MACC4C,IAAKoc,EACLrQ,UACC0V,GAAerF,IAAU5hB,EAAKynB,KAAKjnB,OAAS,EACzC,iBACA0D,GAGW,OAAdijB,QAAc,IAAdA,OAAc,EAAdA,EAAgBxZ,KAAI,SAACkQ,EAAa+D,GAClC,OAAIyC,GAAoB,IAAVzC,EAEZxb,IAAAxD,cAAA,MAAI4C,IAAKoc,GACPrS,EAAIsO,EAAO/P,OAASyB,EAAIsO,EAAO7Z,OAKjCoC,IAAAxD,cAAA,MACC4C,IAAKoc,EACL1O,MAAO3D,EAAIsO,EAAO/P,OAASyB,EAAIsO,EAAO7Z,MACtCuN,UAAWoM,cAGT,QAFD+J,EAAA1nB,EAAKknB,WAAWK,MACf,SAAC/S,GAAI,OAAKA,EAAK1G,OAAS+P,EAAO/P,eAC/B,IAAA4Z,OAAA,EAFDA,EAEGF,WAG4B,WADa,QAD3CG,EAAA3nB,EAAKknB,WACHK,MAAK,SAAC/S,GAAI,OAAKA,EAAK1G,OAAS+P,EAAO/P,eAAK,IAAA6Z,OAAA,EAD3CA,EAEGH,SAASjF,gBACZ,eAGDhT,EAAIsO,EAAO/P,OAASyB,EAAIsO,EAAO7Z,OAf3B,IAAD0jB,EAAAC,aA2BbhB,GAAUP,IACXhgB,IAAAxD,cAAA,OAAK2O,UAAU,kBACboV,GAAUvgB,IAAAxD,cAAA,KAAG2O,UAAU,+BAA+BoV,GACtDP,GACAhgB,IAAAxD,cAAA,KAAG2O,UAAU,0BAAwB,kCAAAhJ,OAAoC6d,KAI3EM,GACAtgB,IAAAxD,cAAA,OAAK2O,UAAU,0BACdnL,IAAAxD,cAAC2Z,KAAM,CACN3Y,KAAK,SACL+Y,MAAM,UACNoJ,QAASiB,EACTf,qBAAmB,cAElBW,GAAsB,aACvBxgB,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAU,KACVlJ,MAAM,QACNpM,KAAM,IACNgB,UAAU,OACVsL,eAAa,QC5KdvE,GAAW,CAChBsP,MAAO,CACN,CACC5jB,KAAM,8BACN6jB,QAAS,GACTC,iBAAkB,CACjB,CACC9jB,KAAM,kCACN6jB,QACC,4FACDE,KAAM,oWACNC,cAAe,CACdC,KAAM,YACNC,OAAQ,KAETC,uBAAwB,CACvBF,KAAM,YACNC,OAAQ,SAETE,wBAAyB,CACxBH,KAAM,QACNI,WAAY,IAEbC,sBAAuB,CACtBP,KAAM,2fACNQ,qBAAsB,SAEvBC,UAAW,CACVT,KAAM,2fACNE,KAAM,uBAEPQ,SAAU,CACT,CACCzkB,KAAM,+CACN6jB,QAAS,GACTE,KAAM,4MACNW,kBACC,0KACDC,kBAAmB,IACnBC,uBAAwB,SAEzB,CACC5kB,KAAM,gCACN6jB,QAAS,GACTE,KAAM,gRACNW,kBACC,qHACDC,kBAAmB,IACnBC,uBAAwB,SAEzB,CACC5kB,KAAM,sDACN6jB,QAAS,GACTE,KAAM,wMACNW,kBACC,wIACDC,kBAAmB,IACnBC,uBAAwB,SAEzB,CACC5kB,KAAM,0CACN6jB,QAAS,GACTE,KAAM,kdACNW,kBACC,4KACDC,kBAAmB,IACnBC,uBAAwB,WAI3B,CACC5kB,KAAM,SACN6jB,QACC,4FACDE,KAAM,yTACNC,cAAe,CACdC,KAAM,YACNC,OAAQ,KAETC,uBAAwB,CACvBF,KAAM,YACNC,OAAQ,SAETE,wBAAyB,CACxBH,KAAM,QACNI,WAAY,IAEbC,sBAAuB,CACtBP,KAAM,2fACNQ,qBAAsB,SAEvBC,UAAW,CACVT,KAAM,2fACNE,KAAM,uBAEPQ,SAAU,CACT,CACCzkB,KAAM,sCACN6jB,QAAS,GACTE,KAAM,yJACNW,kBACC,2HACDC,kBAAmB,IACnBC,uBAAwB,SAEzB,CACC5kB,KAAM,0CACN6jB,QAAS,GACTE,KAAM,+cACNW,kBACC,4KACDC,kBAAmB,IACnBC,uBAAwB,WAI3B,CACC5kB,KAAM,0BACN6jB,QACC,4FACDE,KAAM,mIACNC,cAAe,CACdC,KAAM,mBACNC,OAAQ,OAETC,uBAAwB,CACvBF,KAAM,YACNC,OAAQ,GAETE,wBAAyB,CACxBH,KAAM,QACNI,WAAY,IAEbQ,sBAAuB,CACtBC,kBAAmB,oBAEpBR,sBAAuB,CACtBP,KAAM,GACNQ,qBAAsB,SAEvBC,UAAW,CACVT,KAAM,GACNE,KAAM,aAEPQ,SAAU,CACT,CACCzkB,KAAM,qBACN6jB,QAAS,GACTE,KAAM,gIACNW,kBACC,yOACDC,kBAAmB,MACnBC,uBAAwB,KAI3B,CACC5kB,KAAM,uBACN6jB,QACC,4FACDE,KAAM,4KACNC,cAAe,CACdC,KAAM,mBACNC,OAAQ,QAETC,uBAAwB,CACvBF,KAAM,YACNC,OAAQ,MAETE,wBAAyB,CACxBH,KAAM,QACNI,WAAY,IAEbC,sBAAuB,CACtBP,KAAM,GACNQ,qBAAsB,SAEvBC,UAAW,CACVT,KAAM,GACNE,KAAM,aAEPQ,SAAU,CACT,CACCzkB,KAAM,qBACN6jB,QAAS,GACTE,KAAM,gIACNW,kBACC,yOACDC,kBAAmB,OACnBC,uBAAwB,QAI3B,CACC5kB,KAAM,QACN6jB,QACC,4FACDE,KAAM,sTACNC,cAAe,CACdC,KAAM,YACNC,OAAQ,KAETC,uBAAwB,CACvBF,KAAM,YACNC,OAAQ,SAETE,wBAAyB,CACxBH,KAAM,QACNI,WAAY,IAEbC,sBAAuB,CACtBP,KAAM,2fACNQ,qBAAsB,SAEvBC,UAAW,CACVT,KAAM,2fACNE,KAAM,uBAEPQ,SAAU,CACT,CACCzkB,KAAM,sCACN6jB,QAAS,GACTE,KAAM,yJACNW,kBACC,2HACDC,kBAAmB,IACnBC,uBAAwB,SAEzB,CACC5kB,KAAM,0CACN6jB,QAAS,GACTE,KAAM,+cACNW,kBACC,4KACDC,kBAAmB,IACnBC,uBAAwB,WAI3B,CACC5kB,KAAM,cACN6jB,QACC,4FACDE,KAAM,6TACNC,cAAe,CACdC,KAAM,YACNC,OAAQ,KAETC,uBAAwB,CACvBF,KAAM,YACNC,OAAQ,SAETE,wBAAyB,CACxBH,KAAM,QACNI,WAAY,IAEbC,sBAAuB,CACtBP,KAAM,2fACNQ,qBAAsB,SAEvBC,UAAW,CACVT,KAAM,2fACNE,KAAM,uBAEPQ,SAAU,CACT,CACCzkB,KAAM,sCACN6jB,QAAS,GACTE,KAAM,yJACNW,kBACC,2HACDC,kBAAmB,IACnBC,uBAAwB,SAEzB,CACC5kB,KAAM,0CACN6jB,QAAS,GACTE,KAAM,+cACNW,kBACC,4KACDC,kBAAmB,IACnBC,uBAAwB,aAM7B,CACC5kB,KAAM,cACN8jB,iBAAkB,CACjB,CACC9jB,KAAM,2BACN6jB,QACC,kGACDE,KAAM,iHACNC,cAAe,CACdC,KAAM,MACNC,OAAQ,KAETM,UAAW,CACVT,KAAM,GACNE,KAAM,OAEPQ,SAAU,CACT,CACCzkB,KAAM,oCACN6jB,QAAS,GACTE,KAAM,qGACNW,kBACC,gZACDC,kBAAmB,GACnBC,uBAAwB,KAI3B,CACC5kB,KAAM,qCACN6jB,QACC,kGACDE,KAAM,0HACNC,cAAe,CACdC,KAAM,MACNC,OAAQ,KAETM,UAAW,CACVT,KAAM,GACNE,KAAM,OAEPQ,SAAU,CACT,CACCzkB,KAAM,8CACN6jB,QAAS,GACTE,KAAM,qGACNW,kBACC,wXACDC,kBAAmB,IACnBC,uBAAwB,KAI3B,CACC5kB,KAAM,uBACN6jB,QACC,kGACDE,KAAM,6GACNC,cAAe,CACdC,KAAM,MACNC,OAAQ,IAETM,UAAW,CACVT,KAAM,GACNE,KAAM,OAEPQ,SAAU,CACT,CACCzkB,KAAM,qBACN6jB,QAAS,GACTE,KAAM,gGACNW,kBACC,gTACDC,kBAAmB,KACnBC,uBAAwB,SCvRhBG,GAlE4D,SAAH1hB,GAEjE,IADNrH,EAAIqH,EAAJrH,KAGCgpB,EAMGhpB,EANHgpB,0BACAC,EAKGjpB,EALHipB,8BACAC,EAIGlpB,EAJHkpB,4BACAC,EAGGnpB,EAHHmpB,gCACAC,EAEGppB,EAFHopB,YACAC,EACGrpB,EADHqpB,SAGK7S,EAAa,CAClB,CACCxS,KAAM,oBACNslB,KAAMN,EACNO,MAAON,GAER,CACCjlB,KAAMolB,EACNE,KAAMJ,EACNK,MAAOJ,IAIT,OACC/iB,IAAAxD,cAAA,OAAK6T,MAAO,CAAEC,MAAO,OAAQC,OAAQ,MACpCvQ,IAAAxD,cAACgU,KAAmB,KACnBxQ,IAAAxD,cAACiU,KAAQ,CACR7W,KAAMwW,EACNM,QAAS,IACTC,OAAQ,EACRC,OAAQ,CACPC,IAAK,GACLC,KAAM,EACNsS,MAAO,GACPrS,OAAQ,KAGT/Q,IAAAxD,cAACwU,KAAa,CAACC,gBAAgB,QAC/BjR,IAAAxD,cAAC0U,KAAK,CAACC,QAAQ,OAAOC,SAAU,EAAGE,GAAI,KACvCtR,IAAAxD,cAAC+U,KAAK,CAACC,QAAS,CAAEX,IAAK,GAAIE,OAAQ,KAClC/Q,IAAAxD,cAAC+Y,KAAK,CAACzW,MAAO,YAAa6S,OAAQ,GAAID,SAAS,SAEjD1R,IAAAxD,cAAC6mB,KAAM,CACN/S,MAAO,IACPgT,aAAc,CACbzS,IAAK,IACLuS,MAAO,MAGTpjB,IAAAxD,cAACoV,KAAa,CAACC,EAAG,EAAGC,OAAO,SAC5B9R,IAAAxD,cAACuV,KAAG,CAACZ,QAAQ,OAAOoS,QAAQ,IAAIvR,KAAK,WACpChS,IAAAxD,cAACyV,KAAS,CAACd,QAAQ,OAAOa,KAAK,WAElB,aAAbiR,GAA+D,IAApCF,EAC3B/iB,IAAAxD,cAACuV,KAAG,CAACZ,QAAQ,QAAQoS,QAAQ,IAAIvR,KAAK,WACrChS,IAAAxD,cAACyV,KAAS,CAACd,QAAQ,QAAQa,KAAK,WAE9B,SCiEMwR,GAzI0D,SAAHviB,GAE/D,IAiCFwiB,EAeAC,EAjDJ9pB,EAAIqH,EAAJrH,KAGCqpB,EAaGrpB,EAbHqpB,SACApB,EAYGjoB,EAZHioB,KACAe,EAWGhpB,EAXHgpB,0BACAe,EAUG/pB,EAVH+pB,yBACAd,EASGjpB,EATHipB,8BACAe,EAQGhqB,EARHgqB,0BACAC,EAOGjqB,EAPHiqB,oBACAf,EAMGlpB,EANHkpB,4BACAC,EAKGnpB,EALHmpB,gCACAC,EAIGppB,EAJHopB,YACAc,EAGGlqB,EAHHkqB,YACAC,EAEGnqB,EAFHmqB,6BACAC,EACGpqB,EADHoqB,8BAGKC,EAAqC,IAAIC,KAAKC,aACnD,SACCC,OAAOxB,GACHyB,EAAyC,IAAIH,KAAKC,aACvD,SACCC,OAAOvB,GACHyB,EAAuC,IAAIJ,KAAKC,aACrD,SACCC,OAAOtB,GACHyB,EAA2C,IAAIL,KAAKC,aACzD,SACCC,OAAOrB,GACHyB,EAAoC,IAAIN,KAAKC,aAClD,SACCC,OAAOT,GAIT,OAAQE,GACP,IAAK,kCACL,IAAK,SACL,IAAK,QACL,IAAK,cACJJ,EAAkC,kBAClC,MACD,IAAK,0BACL,IAAK,uBACJA,EAAkC,kBAMpC,OAAQI,GACP,IAAK,kCACL,IAAK,SACL,IAAK,QACL,IAAK,cACJH,EAAuB,gBACvB,MACD,IAAK,uBACJA,EAAuB,mBAIzB,OACC1jB,IAAAxD,cAAA,aACCwD,IAAAxD,cAAA,WAAS2O,UAAU,WAAU,YAC7BnL,IAAAxD,cAAA,aACCwD,IAAAxD,cAAA,UACCwD,IAAAxD,cAAA,UAAKymB,GACLjjB,IAAAxD,cAAA,UACe,gCAAbymB,EAA0C,UAAY,YAExDjjB,IAAAxD,cAAA,UACe,aAAbymB,EACE,kBACAQ,GAGU,aAAbR,GACuB,4BAAxBY,EACC7jB,IAAAxD,cAAA,UAAKknB,GACF,KAEU,aAAbT,EAA0BjjB,IAAAxD,cAAA,WAAY,OAGzCwD,IAAAxD,cAAA,aACCwD,IAAAxD,cAAA,UACCwD,IAAAxD,cAAA,UAAKqnB,GACL7jB,IAAAxD,cAAA,UACEsnB,EAAY,IAAEjC,GAEhB7hB,IAAAxD,cAAA,UAAKynB,GACS,aAAbhB,GACuB,4BAAxBY,EACC7jB,IAAAxD,cAAA,UAAK6nB,GACF,KACU,aAAbpB,EAA0BjjB,IAAAxD,cAAA,UAAI,YAAgB,MAEhDwD,IAAAxD,cAAA,UACCwD,IAAAxD,cAAA,UAAKwmB,GACLhjB,IAAAxD,cAAA,UACEsnB,EAAY,IAAEjC,GAGhB7hB,IAAAxD,cAAA,UAAK8nB,GAES,aAAbrB,GACuB,4BAAxBY,EACC7jB,IAAAxD,cAAA,UAAK+nB,GACF,KACU,aAAbtB,EAA0BjjB,IAAAxD,cAAA,UAAI,YAAgB,MAEhDwD,IAAAxD,cAAA,UACCwD,IAAAxD,cAAA,UACCwD,IAAAxD,cAAA,SAAG,uBACHwD,IAAAxD,cAAA,SAAG,MAEJwD,IAAAxD,cAAA,WACAwD,IAAAxD,cAAA,MAAI2O,UAAU,SACZnL,IAAAxD,cAAA,SAAG,KAAGgoB,GACNxkB,IAAAxD,cAAA,SAAG,KAAGonB,EAA0B,OAEpB,aAAbX,GACuB,4BAAxBY,EACC7jB,IAAAxD,cAAA,MAAI2O,UAAU,SACZnL,IAAAxD,cAAA,SAAG,KAAGunB,GACN/jB,IAAAxD,cAAA,SAAG,KAAGwnB,EAA8B,OAEnC,KACU,aAAbf,EAA0BjjB,IAAAxD,cAAA,UAAI,YAAgB,SCpC9CioB,GAAa,SAAC7qB,EAA0B4D,GAC7C,IAAI6U,EAAgD,GA0DpD,MAxDa,SAAT7U,IACH6U,EAAQ3X,KAAK,CACZoE,MAAO,GACPoX,QAAS,uCAGVtc,EAAKoZ,SAAQ,SAACpZ,GAAS,OACtByY,EAAQ3X,KAAK,CACZoE,MAAOlF,EAAKgE,KACZsY,QAAStc,EAAKgE,WAKJ,oBAATJ,GAAuC,sBAATA,IACpB,oBAATA,EACH6U,EAAQ3X,KAAK,CACZoE,MAAO,GACPoX,QAAS,2BAGV7D,EAAQ3X,KAAK,CACZoE,MAAO,GACPoX,QAAS,6BAIXtc,EAAKoZ,SAAQ,SAACpZ,GAAS,OACtByY,EAAQ3X,KAAK,CACZoE,MAAOlF,EAAKgE,KACZsY,QAAStc,EAAKgE,WAKJ,kBAATJ,GAAqC,oBAATA,IAClB,kBAATA,EACH6U,EAAQ3X,KAAK,CACZoE,MAAO,GACPoX,QAAS,kDAGV7D,EAAQ3X,KAAK,CACZoE,MAAO,GACPoX,QAAS,8CAIXtc,EAAKoZ,SAAQ,SAACpZ,GAAS,OACtByY,EAAQ3X,KAAK,CACZoE,MAAOlF,EAAKgE,KACZsY,QAAStc,EAAKgE,WAKVyU,GA8ER,IAgSeqS,GAhS+B,WAAO,IAADC,EAAAC,EAC3CpD,EAAUtP,GAAVsP,MAERrO,EAAmBC,mBAAsBoO,GAAlCqD,EAAwCvR,aAAAH,EAAA,GAAhC,GACfK,EAAwBJ,mBAA2B,MAAKK,EAAAH,aAAAE,EAAA,GAAjDsR,EAAIrR,EAAA,GAAEsR,EAAOtR,EAAA,GACpBG,EACCR,mBAAiC,MAAKS,EAAAP,aAAAM,EAAA,GADhCoR,EAAenR,EAAA,GAAEoR,EAAkBpR,EAAA,GAE1CqR,EAA8B9R,mBAAyB,MAAK+R,EAAA7R,aAAA4R,EAAA,GAArDE,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAE1BG,EAA4ClS,mBAC3C,MACAmS,EAAAjS,aAAAgS,EAAA,GAFME,EAAcD,EAAA,GAAEE,EAAiBF,EAAA,GAyExC,OACCvlB,IAAAxD,cAAA,WACCwD,IAAAxD,cAAC0X,KAAI,CACJvT,OAAO,IACPyT,SAzEkB,SAACtY,GACrB,GAAIiT,SAASjT,EAAEgmB,QAAU,GAAKgD,GAAQE,GAAmBI,EAAS,CAAC,IAADM,EAAAC,EAAAC,EAC3DJ,EA1FT,SACC1B,EACA+B,EACAC,EACAjC,EACAkC,EACA/C,EACAgD,EACAC,EACAC,EACAC,EACAC,GAEA,IAEIC,EAA8BvC,EAAciC,EAE5CO,EACHxC,EAAcqC,EAA2BF,EAEtCM,EACHzC,EAAcsC,EAAyBH,EAElCrD,EAV0BkB,EAAc+B,EAUgB,IAExDhD,EAAgClT,KAAKC,MAC1C0W,EAAgC,KAG3BxD,EAA8BuD,EAA8B,IAE5DtD,EAAkCpT,KAAKC,MAC5C2W,EAAkC,KAG7B5C,EACLf,EAA4BE,EAEvBiB,EACLlB,EAAgCE,EAgCjC,MAjBuC,CACtCE,SALa,gCAAb+C,EACG,8BACA,WAIHpD,0BAA2BA,EAC3BC,8BAA+BA,EAC/BC,4BAA6BA,EAC7BC,gCAAiCA,EACjClB,KAAMiE,EACNlC,0BApB8BjU,KAAKC,MAClC+T,EAA2Bf,EAA6B,KAoBzDe,yBAA0BA,EAC1BE,oBAAqBA,EACrBb,YAAaA,EACbiD,4BAA6BA,EAC7BC,0BAA2BA,EAC3BpC,YAAaA,EACbC,6BAA8BA,EAC9BC,8BAxBkCrU,KAAKC,MACtCmU,EAA+BlB,EAAiC,MA4CzC2D,CACtB1qB,EAAEgmB,OACFkD,EAAgBpD,cAAcE,OAC9BkD,EAAgBpD,cAAcC,KACf,OAAfmD,QAAe,IAAfA,OAAe,EAAfA,EAAiBpnB,KACjBwnB,EAAQ7C,kBACR6C,EAAQxnB,KACRknB,EAAKlnB,KACU,OAAfonB,QAAe,IAAfA,GAAwC,QAAzBU,EAAfV,EAAiBhD,+BAAuB,IAAA0D,OAAzB,EAAfA,EAA0CzD,WAC3B,OAAf+C,QAAe,IAAfA,GAAwC,QAAzBW,EAAfX,EAAiBhD,+BAAuB,IAAA2D,OAAzB,EAAfA,EAA0C9D,KAC3B,OAAfmD,QAAe,IAAfA,GAAuC,QAAxBY,EAAfZ,EAAiBjD,8BAAsB,IAAA6D,OAAxB,EAAfA,EAAyC9D,OACzCsD,EAAQ5C,wBAGTiD,EAAkBD,KA0DjBzQ,SA/CsB,SAACjZ,GACzB,GAAe,aAAXA,EAAE8B,KAAqB,CAC1B,IAAM4d,EAAQqJ,EAAS4B,WAAU,SAAC3B,GAAI,OAAKA,EAAKlnB,OAAS9B,EAAEgD,SAE3D,QAAchB,IAAV0d,IAAkC,IAAXA,EAAc,CACxC,IAAMsJ,EAAOtD,EAAMhG,GAEnBuJ,EAAQD,GACRG,EAAmB,MACnBI,EAAW,MACXI,EAAkB,OAIpB,GAAe,oBAAX3pB,EAAE8B,KAA4B,CACjC,IAAM4d,EAAY,OAAJsJ,QAAI,IAAJA,OAAI,EAAJA,EAAMpD,iBAAiB+E,WACpC,SAACzB,GAAe,OAAKA,EAAgBpnB,OAAS9B,EAAEgD,SAGjD,QAAchB,IAAV0d,IAAkC,IAAXA,EAAc,CACxC,IAAMwJ,EAAsB,OAAJF,QAAI,IAAJA,OAAI,EAAJA,EAAMpD,iBAC7BlG,GAEDyJ,EAAmBD,GACnBK,EAAW,MACXI,EAAkB,OAIpB,GAAe,YAAX3pB,EAAE8B,KAAoB,CACzB,IAAM4d,EAAuB,OAAfwJ,QAAe,IAAfA,OAAe,EAAfA,EAAiB3C,SAASoE,WACvC,SAACrB,GAAO,OAAKA,EAAQxnB,OAAS9B,EAAEgD,SAGjC,QAAchB,IAAV0d,IAAkC,IAAXA,EAAc,CACxC,IAAM4J,EAAyB,OAAfJ,QAAe,IAAfA,OAAe,EAAfA,EAAiB3C,SAAS7G,GAC1C6J,EAAWD,GACXK,EAAkB,SAWlBvQ,QAvDiB,WACnB6P,EAAQ,MACRE,EAAmB,MACnBI,EAAW,MACXI,EAAkB,OAoDhBiB,SAAS,uDAET1mB,IAAAxD,cAAA,eACCwD,IAAAxD,cAAA,cACCwD,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,KAAKC,KAAM,4CAGrBrV,IAAAxD,cAAA,OAAK2O,UAAU,QACdnL,IAAAxD,cAAC+Y,KAAK,CAACC,QAAS,WAAYC,UAAU,GACpC,gCAEG,OAAJqP,QAAI,IAAJA,OAAI,EAAJA,EAAMrD,UACNzhB,IAAAxD,cAACkZ,MAAO,CAACjE,MAAO,WAAYnE,YAAawX,EAAKrD,UAE/CzhB,IAAAxD,cAACwZ,MAAM,CACNJ,GAAI,WACJnE,MAAO,WACP7T,KAAM,WACNyU,QAASoS,GAAWjD,EAAO,QAC3B/L,UAAU,MAIZqP,GACA9kB,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAA,eACCwD,IAAAxD,cAAA,cACCwD,IAAAxD,cAAC2Y,MAAI,CACJC,GAAG,KACHC,KACe,gCAAdyP,EAAKlnB,KACF,qCACA,iBAKNoC,IAAAxD,cAAA,OAAK2O,UAAU,QACdnL,IAAAxD,cAAC+Y,KAAK,CAACC,QAAS,kBAAmBC,UAAU,GAC7B,gCAAdqP,EAAKlnB,KACH,iBACA,oBAEY,OAAfonB,QAAe,IAAfA,OAAe,EAAfA,EAAiBvD,UACjBzhB,IAAAxD,cAACkZ,MAAO,CACPjE,MAAO,kBACPnE,YAAa0X,EAAgBvD,UAG/BzhB,IAAAxD,cAACwZ,MAAM,CACNJ,GAAI,kBACJnE,MAAO,kBACP7T,KAAM,kBACNyU,QAASoS,GACRK,EAAKpD,iBACS,gCAAdoD,EAAKlnB,KACF,kBACA,qBAEJ6X,UAAU,KAEK,OAAfuP,QAAe,IAAfA,OAAe,EAAfA,EAAiBrD,YAEjB7jB,KADc,OAAfknB,QAAe,IAAfA,GAAsC,QAAvBL,EAAfK,EAAiBvC,6BAAqB,IAAAkC,OAAvB,EAAfA,EAAwCjC,mBAEvC1iB,IAAAxD,cAAA,QACC2O,UAAW,cAAa,GAAAhJ,OACpB6iB,EAAgBrD,KAAI,KAAAxf,OAAmB,OAAf6iB,QAAe,IAAfA,GAAsC,QAAvBJ,EAAfI,EAAiBvC,6BAAqB,IAAAmC,OAAvB,EAAfA,EAAwClC,kBAAiB,MAEtF1iB,IAAAxD,cAAA,QAAM2O,UAAW,cAA8B,OAAf6Z,QAAe,IAAfA,OAAe,EAAfA,EAAiBrD,QAInDqD,GACAhlB,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAA,eACCwD,IAAAxD,cAAA,cACCwD,IAAAxD,cAAC2Y,MAAI,CACJC,GAAG,KACHC,KACe,gCAAdyP,EAAKlnB,KACF,UACA,cAINoC,IAAAxD,cAAA,OAAK2O,UAAU,QACdnL,IAAAxD,cAAC+Y,KAAK,CAACC,QAAS,SAAUC,UAAU,GAClC,gBAAkBuP,EAAgB5C,UAAUP,MAE7CmD,EAAgB5C,UAAUT,MAC1B3hB,IAAAxD,cAACkZ,MAAO,CACPjE,MAAO,SACPnE,YAAa0X,EAAgB5C,UAAUT,OAIzC3hB,IAAAxD,cAACmZ,KAAK,CACL/X,KAAM,SACN6T,MAAO,SACPjU,KAAM,SACNoY,GAAI,SACJH,UAAU,EACVI,kBAAmB,qCAEpB7V,IAAAxD,cAACsZ,KAAS,CAACC,QAAS,aAGtB/V,IAAAxD,cAAA,eACCwD,IAAAxD,cAAA,cACCwD,IAAAxD,cAAC2Y,MAAI,CACJC,GAAG,KACHC,KACe,gCAAdyP,EAAKlnB,KACF,wCACA,uCAINoC,IAAAxD,cAAA,OAAK2O,UAAU,QACdnL,IAAAxD,cAAC+Y,KAAK,CAACC,QAAS,UAAWC,UAAU,GACrB,gCAAdqP,EAAKlnB,KACH,uBACA,qBAEI,OAAPwnB,QAAO,IAAPA,OAAO,EAAPA,EAAS3D,UACTzhB,IAAAxD,cAACkZ,MAAO,CACPjE,MAAO,UACPnE,YAAoB,OAAP8X,QAAO,IAAPA,OAAO,EAAPA,EAAS3D,UAGxBzhB,IAAAxD,cAACwZ,MAAM,CACNJ,GAAI,UACJnE,MAAO,UACP7T,KAAM,UACNyU,QAASoS,GACRO,EAAgB3C,SACF,gCAAdyC,EAAKlnB,KACF,gBACA,mBAEJ6X,UAAU,KAGH,OAAP2P,QAAO,IAAPA,OAAO,EAAPA,EAASzD,OACT3hB,IAAAxD,cAAA,QAAM2O,UAAW,cAAeia,EAAQzD,QAI1CyD,GACAplB,IAAAxD,cAAA,OAAK2O,UAAU,QACdnL,IAAAxD,cAAC2Z,KAAM,CAAC3Y,KAAK,SAAS2M,KAAK,QAAQgB,UAAU,QAAO,cAGpDnL,IAAAxD,cAAC2Z,KAAM,CAAC3Y,KAAK,QAAQ2M,KAAK,QAAQuM,QAAQ,aAAY,yBAU5D8O,GAAkBV,GAClB9kB,IAAAxD,cAAA,WACCwD,IAAAxD,cAAA,eACCwD,IAAAxD,cAAA,cACCwD,IAAAxD,cAAC2Y,MAAI,CACJC,GAAG,KACHC,KACe,gCAAdyP,EAAKlnB,KACF,+DACA,sEAKC,OAAPwnB,QAAO,IAAPA,OAAO,EAAPA,EAAS9C,oBACTtiB,IAAAxD,cAAA,OAAK2O,UAAU,QACdnL,IAAAxD,cAAA,KACCmqB,wBAAyB,CACxBC,OAAQxB,EAAQ9C,mBAEjBnX,UAAW,cAIdnL,IAAAxD,cAAA,OAAK2O,UAAU,gBACdnL,IAAAxD,cAAA,OAAK2O,UAAU,YACdnL,IAAAxD,cAACgnB,GAA4B,CAAC5pB,KAAM4rB,KAErCxlB,IAAAxD,cAACmmB,GAA8B,CAAC/oB,KAAM4rB,QC5f/BqB,GAA2C,SAACC,GACxD,IAmBIC,EAlBHC,EAiBGF,EAjBHE,UACAla,EAgBGga,EAhBHha,MACAma,EAeGH,EAfHG,SACAC,EAcGJ,EAdHI,qBACAC,EAaGL,EAbHK,mBACAC,EAYGN,EAZHM,mBACAC,EAWGP,EAXHO,WACAC,EAUGR,EAVHQ,iBACAC,EASGT,EATHS,SACAC,EAQGV,EARHU,SACAC,EAOGX,EAPHW,WACAC,EAMGZ,EANHY,iBACAC,EAKGb,EALHa,gBACAC,EAIGd,EAJHc,OACAC,EAGGf,EAHHe,QACAC,EAEGhB,EAFHgB,WACAC,EACGjB,EADHiB,YAID,OAAQF,GACP,IAAK,UACJd,EAAW,UACX,MACD,KAAK,EACL,IAAK,SACJA,EAAW,SACX,MACD,QACCA,OAAWjpB,EA4Hb,MAxHoC,CACnCgP,MAAO,CACNuI,KAAMvI,QAAShP,GAGhBkqB,OAAQ,CACP,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WAEDC,QAAS,CACRjH,SAAS,GAEViG,SAAU,CACT5R,KAAM4R,QAAYnpB,GAEnBoqB,MAAO,CACN1qB,KAAMwpB,EACN3W,MAAO,CACN8X,WAAY,+BAEb5X,OAAQwX,EACRK,YAAa,IAEdC,MAAO,CACNvb,MAAO,CACNuI,KAAMgS,QAAcvpB,GAErBwqB,OAAQ,CACPlE,OAAQkD,QAAoBxpB,GAE7ByqB,IAAKhB,QAAYzpB,EACjB0qB,IAAKhB,QAAY1pB,EACjB2qB,gBAAiB,GAElBC,MAAO,CACN5b,MAAO,CACNuI,KAAMoS,QAAc3pB,GAErB6qB,WAAYhB,QAAmB7pB,EAC/BwqB,OAAQ,CACPlE,OAAQsD,QAAoB5pB,IAI9B8qB,YAAa,CACZhB,OAAQ,CACPb,SAAUA,GAEX8B,IAAK,CACJC,WAAY,GAKZ1W,QAAS,CACR2W,aAAc,0BACdC,YAAY,GAAD7mB,OACa,MAAvBilB,EAA6B,+BAAiC,GAAE,6CAKpE6B,OAAQ,CACPjI,SAAwB,IAAf8G,EACToB,UAAW,KAEZ9W,QAAS,CACR+W,cAAejC,EACfkC,YAAajC,EACbkC,YAAajC,GAEdQ,OAAQA,EACR0B,UAAW,CACVC,YAAa,KACbC,aAAc,IACdC,QAAS,CACRC,cAAe,CACd1I,SAAS,IAGX2I,aAAc,CAEbf,YAAa,CACZhB,OAAQ,CACPkB,WAAY,CACX9H,SAAS,IAGX6H,IAAK,CACJ1e,KAAM,MACN2e,WAAY,CACXc,SAAU,QACVpY,QAAS,EAETwP,SAAS,EACToD,OAAO,oBAADjiB,OACkB,MAAvBilB,EAA6B,wBAA0B,GAAE,sCAK7D6B,OAAQ,CACP/iB,WAAY,CACX8a,SAAS,GAEV6I,aAAc,S,+DC/CJC,GAjFqB,SAAH7oB,GAO1B,IANNkR,EAAOlR,EAAPkR,QACAoO,EAAMtf,EAANsf,OACAP,EAAW/e,EAAX+e,YACA+J,EAAQ9oB,EAAR8oB,SAAQC,EAAA/oB,EACRgpB,mBAAW,IAAAD,GAAOA,EACfE,EAAe7e,aAAApK,EAAAqK,IAElB6H,EAAwCC,qBAAeC,EAAAC,aAAAH,EAAA,GAAhDgX,EAAY9W,EAAA,GAAE+W,EAAe/W,EAAA,GACpCG,EAA8CJ,qBAAeK,EAAAH,aAAAE,EAAA,GAAtD6W,EAAe5W,EAAA,GAAE6W,EAAkB7W,EAAA,GAC1CG,EAA8BR,mBAC7ByT,GAAoBqD,IACpBrW,EAAAP,aAAAM,EAAA,GAFMvB,EAAOwB,EAAA,GAAE0W,EAAU1W,EAAA,GAoC1B,OAhCA2F,qBAAU,WACT,6CAAqB9E,MAAK,SAAC9a,GAC1BwwB,EAAgBxwB,EAAK4wB,SACrBC,EAAQ,IAARA,CAAwC7wB,EAAK4wB,YAE9C,kCAAoC9V,MAAK,SAAC9a,GAAI,OAC7C0wB,EAAmB1wB,EAAK4wB,cAEvB,IAEHhR,qBAAU,WACT+Q,EAAW1D,GAAoBqD,MAC7B,CACFA,EAAgBrC,QAChBqC,EAAgBtC,OAChBsC,EAAgBpd,MAChBod,EAAgBjD,SAChBiD,EAAgBhD,qBAChBgD,EAAgB/C,mBAChB+C,EAAgB9C,mBAChB8C,EAAgBlD,UAChBkD,EAAgB7C,WAChB6C,EAAgB5C,iBAChB4C,EAAgB3C,SAChB2C,EAAgB1C,SAChB0C,EAAgBzC,WAChByC,EAAgBvC,gBAChBuC,EAAgBxC,iBAChBwC,EAAgBnC,cAIZoC,GAAiBE,EAkBpBrqB,IAAAxD,cAAA,WACCwD,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,KAAKC,KAAMlD,IACpBnS,IAAAxD,cAAC6tB,EAAe,CACfzT,IAAKmT,EACLW,WAAYP,EACZ9X,QAASA,EACTsY,WAAW,IAEXpK,GAAUvgB,IAAAxD,cAAA,KAAG2O,UAAU,oCAAoCoV,GAC3DP,GACAhgB,IAAAxD,cAAA,KAAG2O,UAAU,oCAAkC,kCAAAhJ,OAAoC6d,KA1BrFhgB,IAAAxD,cAAA,OAAK2O,UAAU,yCACdnL,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,KAAKC,KAAMlD,IACnB8X,GACAjqB,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLnM,KAAM,EACNqM,QAAQ,OACRD,MAAM,UACNpL,UAAU,iBAGXoV,GAAUvgB,IAAAxD,cAAA,KAAG2O,UAAU,oCAAoCoV,K,mBCnE1DqK,GAAU,eAAA3pB,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAClBC,EACAupB,EACAC,EACAC,EACA5jB,EACA6jB,GAAmB,IAAAC,EAAAppB,EAAA8B,EAAA/J,EAAA,OAAAuH,IAAAY,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAoBlB,OAlBG+oB,EAAiB,IAEjB3pB,EAAOgU,QAAQ,MAAQ,IAC1B2V,EAAiB,KAGdppB,EAAG,GAAAM,OAAMb,GAAMa,OAAG8oB,EAAc,UAAA9oB,OAAS2oB,GAEzCC,IACHlpB,GAAG,cAAAM,OAAkB4oB,IAGlB5jB,IACHtF,GAAG,IAAAM,OAAQgF,IAGR6jB,IACHnpB,GAAG,eAAAM,OAAmB6oB,IACtBpnB,EAAA1B,KAAA,EAEsBE,IAAM1D,IAAImD,EAAK,CACrC2S,QAAS,CAAE,mBAAoBjS,OAAOQ,aACpC,KAAD,EAFU,OAEVY,EAAAC,EAAAvB,KAFMzI,EAAI+J,EAAJ/J,KAAIgK,EAAAZ,OAAA,SAILpJ,GAAI,yBAAAgK,EAAAX,UAAA5B,OACX,gBAjCe6B,EAAAC,EAAAC,EAAAC,EAAAQ,EAAAC,GAAA,OAAA7C,EAAAlG,MAAA,KAAAuI,YAAA,GAmCH4nB,GAA4BC,aAGvC,CACDvV,GAAI,4BACJwV,QAAS,OACTC,QAAS,CACR/pB,OAAQ,GACRrG,YAAQ6C,EACRd,WAAOc,GAERwtB,OAAQ,CACPC,KAAM,GACNxnB,QAAS,CACRynB,OAAQ,CACP5V,GAAI,UACJ/Y,IAAK,SAACmF,EAAU9E,GAAK,OACpB0tB,GACC1tB,EAAMoE,OACNpE,EAAMyU,OACNzU,EAAM4tB,MACN5tB,EAAM6tB,UACN7tB,EAAMiK,OACNjK,EAAM8tB,aAERS,OAAQ,CACP/tB,OAAQ,UACRqD,QAASqH,aAAO,CACfnN,OAAQ,SAAC+G,EAAU9E,GAAK,OAAKA,EAAMtD,SAGrC8xB,QAAS,CACRhuB,OAAQ,UACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GAAK,OAAKA,EAAMtD,MAClCqB,OAAQ,SAAC+G,EAAU2pB,UAKvBC,QAAS,GACTC,QAAS,IAEVC,GAAI,CACHC,MAAO,CACN,CACCruB,OAAQ,UACRqD,QAAS,QCLEirB,GAvE6B,SAAH/qB,GAMlC,IALNgrB,EAAUhrB,EAAVgrB,WACAC,EAASjrB,EAATirB,UACA9V,EAAQnV,EAARmV,SACAjL,EAASlK,EAATkK,UACAF,EAAQhK,EAARgK,SAEA+P,EbLO,CAXkB,WACxB,IAAMpG,EAAU2I,GAGhB,OAFAA,IAAoB,EAEb3I,GAGqB,WAC5B2I,GAZsB,IaqBjB3H,GAAKsF,EADgB5H,aAAA0H,EAAA,GAAb,MAERmR,EAAoBnY,mBAC1Bb,EAAwDC,oBAAS,GAAMC,EAAAC,aAAAH,EAAA,GAAhEiZ,EAAoB/Y,EAAA,GAAEgZ,EAAuBhZ,EAAA,GAMpD,OAJAiZ,aAAgBH,GAAmB,WAClCE,GAAwB,MAIxBrsB,IAAAxD,cAAA,OACC2O,UAAWoM,aAAKpM,EAAW,oBAC3ByL,IAAKuV,GAELnsB,IAAAxD,cAAA,UACC2O,UAAWoM,aACV,kBACA,WACA,YACA,SACA,OACA,OACA,WACA,uBACA,UACA,iBACA,qBACA,0BACA,8BACA,yBACA,0BACA,wBAEDoI,QAAS,kBAAM0M,GAAyBD,IACxCG,gBAAA,mBAAApqB,OAAkCyT,GAClC4W,gBAAeJ,EACfhW,SAAUA,GAEVpW,IAAAxD,cAAA,QAAM2O,UAAWoM,cAAM6U,GAAwB,oBAC7CH,EACAC,GAAalsB,IAAAxD,cAAA,QAAM2O,UAAU,WAAS,IAAAhJ,OAAM+pB,KAE9ClsB,IAAAxD,cAAA,QAAM2O,UAAU,QACfnL,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLC,MAAM,UACNE,cAAY,OACZtM,KAAM,IACNsV,UAAY2M,EAA8B,OAAP,SAIrCA,GACApsB,IAAAxD,cAAA,OACCoZ,GAAE,mBAAAzT,OAAqByT,GACvBzK,UAAU,oHAEVnL,IAAAxD,cAAA,UAAKyO,MCzFGwhB,GAAkB,SAAC5qB,GAC/B,IAAI8X,EAAIpd,SAASC,cAAc,KAC/Bmd,EAAE+S,UAAUC,IAAI,UAChBpwB,SAAS+d,KAAKrc,YAAY0b,GAC1BA,EAAElX,KAAOZ,EACT8X,EAAEiT,SAAW/qB,EACb8X,EAAEkT,QACFlT,EAAEmT,UAGUC,GAAuB,SAAChD,EAAeiD,GACL,IAADC,EAApB,OAArBlD,EAASnV,SAAoBoY,IACV,QAAtBC,EAAAlD,EAASnV,QAAQsT,aAAK,IAAA+E,GAAtBA,EAAwBC,YAAY,CACnC1vB,KAAMwvB,MCyDMG,GA1C2B,SAAHlsB,GAOhC,IANNzD,EAAIyD,EAAJzD,KACAqE,EAAGZ,EAAHY,IACAkoB,EAAQ9oB,EAAR8oB,SACApK,EAAO1e,EAAP0e,QACAxU,EAASlK,EAATkK,UACAF,EAAQhK,EAARgK,SAsBA,OACCjL,IAAAxD,cAAA,MAAI2O,UAAWA,GACdnL,IAAAxD,cAAA,UACC2O,UAAU,sDACVwU,QAAS,WACPA,GAAWA,KAzBS,SAACqN,EAAoBnrB,GAC7C,OAAQmrB,GACP,IAAK,MACL,IAAK,QACAnrB,GACH4qB,GAAgB5qB,GAEjB,MACD,IAAK,MACJkrB,GAAqBhD,EAAU,iBAC/B,MACD,IAAK,MACL,IAAK,OACJgD,GAAqBhD,EAAS,SAAD5nB,OAAW6qB,KAYbI,CAAiB5vB,EAAMqE,KAGjDoJ,KCsJUoiB,GAhL8B,SAAHpsB,GAMnC,IALNkR,EAAOlR,EAAPkR,QACAmb,EAASrsB,EAATqsB,UACAC,EAAWtsB,EAAXssB,YACA3X,EAAE3U,EAAF2U,GACAzK,EAASlK,EAATkK,UAEAqiB,EAAsBC,aAAWvC,IAA0BwC,EAAApa,aAAAka,EAAA,GAApD9sB,EAAKgtB,EAAA,GAAEC,EAAID,EAAA,GACZ3D,EAAW/V,iBAAY,MAC7Bb,EAAkCC,oBACvB,OAATka,QAAS,IAATA,OAAS,EAATA,EAAWM,WAAQ,aAAAzrB,OAAiByT,KACxB,OAAX2X,QAAW,IAAXA,OAAW,EAAXA,EAAaK,WAAQ,eAAAzrB,OAAmByT,IAC1CvC,EAAAC,aAAAH,EAAA,GAHM0a,EAASxa,EAAA,GAAEya,EAAYza,EAAA,GAI9BG,EAAoCJ,mBACnC,MACAK,EAAAH,aAAAE,EAAA,GAFMua,EAAUta,EAAA,GAAEua,EAAava,EAAA,GAI5Bwa,EAAa,EAcjB,OAbIF,GAAcT,IACjBW,EACCF,EAAWpc,OAASoc,EAAWjD,MAAQwC,EAAUY,qBAGnD1U,qBAAU,WACTwU,EAActtB,EAAM2qB,QAAQpwB,UAC1B,CAACyF,EAAM2qB,QAAQpwB,SAElBue,qBAAU,WACL8T,GAAWU,EAAcV,EAAUa,mBACrC,IAGFnuB,IAAAxD,cAAA,OAAK2O,UAAWA,EAAWgQ,WAAS,uBACnCnb,IAAAxD,cAAA,OAAK2O,UAAU,4CACdnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,MAAMjD,KAEdob,GAAeD,IAChBttB,IAAAxD,cAAC4xB,KAAiB,KAChBd,GACAttB,IAAAxD,cAAC6xB,KAAY,CACZhZ,KAAMiY,EAAUgB,QAChB1Y,GAAE,aAAAzT,OAAeyT,GACjB2W,gBAAA,aAAApqB,OAA4ByT,EAAE,YAC9B2Y,iBAAe,EACfX,SAAUC,IAAS,aAAA1rB,OAAkByT,GACrC+J,QAAS,WACRmO,EAAa,aAAD3rB,OAAcyT,MAG1B0X,EAAUgB,SAGZf,GACAvtB,IAAAxD,cAAC6xB,KAAY,CACZhZ,KAAMkY,EAAYe,QAClB1Y,GAAE,eAAAzT,OAAiByT,GACnB2W,gBAAA,eAAApqB,OAA8ByT,EAAE,YAChC2Y,iBAAe,EACfX,SAAUC,IAAS,eAAA1rB,OAAoByT,GACvC+J,QAAS,WACRmO,EAAa,eAAD3rB,OAAgByT,MAG5B2X,EAAYe,UAKjBtuB,IAAAxD,cAAA,OAAKgyB,KAAK,WAAW5Y,GAAE,GAAAzT,OAAK0rB,EAAS,YAAY1iB,UAAU,QACzDmiB,GAAaO,IAAS,aAAA1rB,OAAkByT,IAAQmY,GAChD/tB,IAAAxD,cAAAwD,IAAAiU,SAAA,KACEqZ,EAAU3xB,SACVqE,IAAAxD,cAAA,OAAK2O,UAAU,8BACdnL,IAAAxD,cAACwvB,GAAkB,CAClBC,WAAYqB,EAAU3xB,QAAQ8yB,YAC9BvC,UAAW6B,EAAWjhB,OAErBwgB,EAAU3xB,QAAQ0W,QAAQ9K,KAC1B,SACC0O,EACAuF,GAEA,OACCxb,IAAAxD,cAAC2wB,GAAgB,CAChB3vB,KAAMyY,EAAOzY,KACbqE,IAAKoU,EAAOpU,IACZkoB,SAAUA,EACV3qB,IAAKoc,GAEJvF,EAAOrY,WAQfoC,IAAAxD,cAACsjB,GAAc,CACdE,YAAasN,EAAUtN,YACvBO,OAAQ+M,EAAU/M,OAClB3mB,KAAMm0B,EACN9P,OAAQ8P,EAAW9P,OACnBuC,mBAAoB8M,EAAU9M,mBAC9BF,iBAAkByN,EAAWW,MAAQT,EACrCrN,mBAAoB,WACnB+M,EAAK,QAAS,CACbhc,OAAQ,EACRmZ,MAAOmD,EACP3sB,OAAQgsB,EAAUhsB,aAMtBisB,GAAeM,IAAS,eAAA1rB,OAAoByT,IAC5C5V,IAAAxD,cAAAwD,IAAAiU,SAAA,KACEsZ,EAAY5xB,SACZqE,IAAAxD,cAAA,OAAK2O,UAAU,8BACdnL,IAAAxD,cAACwvB,GAAkB,CAClBC,WAAYsB,EAAY5xB,QAAQ8yB,YAChCvC,UAAWqB,EAAYrD,gBAAgBpd,OAEtCygB,EAAY5xB,QAAQ0W,QAAQ9K,KAC5B,SACC0O,EACAuF,GAEA,OACCxb,IAAAxD,cAAC2wB,GAAgB,CAChB3vB,KAAMyY,EAAOzY,KACbqE,IAAKoU,EAAOpU,IACZkoB,SAAUA,EACV3qB,IAAKoc,GAEJvF,EAAOrY,WAQfoC,IAAAxD,cAACstB,GAAU,CACV9C,UAAWuG,EAAYrD,gBAAgBlD,UACvCa,QAAS0F,EAAYrD,gBAAgBrC,QACrC/a,MAAOygB,EAAYrD,gBAAgBpd,MACnCma,SAAUsG,EAAYrD,gBAAgBjD,SACtCC,qBACCqG,EAAYrD,gBAAgBhD,qBAE7BC,mBACCoG,EAAYrD,gBAAgB/C,mBAE7BC,mBACCmG,EAAYrD,gBAAgB9C,mBAE7BC,WAAYkG,EAAYrD,gBAAgB7C,WACxCC,iBAAkBiG,EAAYrD,gBAAgB5C,iBAC9CC,SAAUgG,EAAYrD,gBAAgB3C,SACtCC,SAAU+F,EAAYrD,gBAAgB1C,SACtCC,WAAY8F,EAAYrD,gBAAgBzC,WACxCE,gBAAiB4F,EAAYrD,gBAAgBvC,gBAC7CD,iBAAkB6F,EAAYrD,gBAAgBxC,iBAC9CI,WAAYyF,EAAYrD,gBAAgBpC,WACxCF,OAAQ2F,EAAYrD,gBAAgBtC,OACpC5H,YAAauN,EAAYvN,YACzB+J,SAAUA,EACVxJ,OAAQgN,EAAYhN,aCxHZoO,GA/DyB,SAAH1tB,GAI9B,IAHNkR,EAAOlR,EAAPkR,QACAoO,EAAMtf,EAANsf,OACA2J,EAAejpB,EAAfipB,gBAEMH,EAAW/V,iBAAY,MAC7B,OACChU,IAAAxD,cAAA,YACiB,OAAf0tB,QAAe,IAAfA,OAAe,EAAfA,EAAiBvuB,UACjBqE,IAAAxD,cAAA,OAAK2O,UAAU,8BACdnL,IAAAxD,cAACwvB,GAAkB,CAClBC,WAAY/B,EAAgBvuB,QAAQ8yB,YACpCvC,UAAWhC,EAAgBpd,OAE1Bod,EAAgBvuB,QAAQ0W,QAAQ9K,KAChC,SAAC0O,EAAyCuF,GACzC,OACCxb,IAAAxD,cAAC2wB,GAAgB,CAChB3vB,KAAMyY,EAAOzY,KACbqE,IAAKoU,EAAOpU,IACZkoB,SAAUA,EACV3qB,IAAKoc,GAEJvF,EAAOrY,WAQfoC,IAAAxD,cAACstB,GAAU,CACV3X,QAASA,EACToO,OAAQA,EACRyG,UAA0B,OAAfkD,QAAe,IAAfA,OAAe,EAAfA,EAAiBlD,UAC5Ba,QAAwB,OAAfqC,QAAe,IAAfA,OAAe,EAAfA,EAAiBrC,QAC1B/a,MAAsB,OAAfod,QAAe,IAAfA,OAAe,EAAfA,EAAiBpd,MACxBma,SAAyB,OAAfiD,QAAe,IAAfA,OAAe,EAAfA,EAAiBjD,SAC3BC,qBAAqC,OAAfgD,QAAe,IAAfA,OAAe,EAAfA,EAAiBhD,qBACvCC,mBAAmC,OAAf+C,QAAe,IAAfA,OAAe,EAAfA,EAAiB/C,mBACrCC,mBAAmC,OAAf8C,QAAe,IAAfA,OAAe,EAAfA,EAAiB9C,mBACrCC,WAA2B,OAAf6C,QAAe,IAAfA,OAAe,EAAfA,EAAiB7C,WAC7BC,iBAAiC,OAAf4C,QAAe,IAAfA,OAAe,EAAfA,EAAiB5C,iBACnCC,SAAyB,OAAf2C,QAAe,IAAfA,OAAe,EAAfA,EAAiB3C,SAC3BC,SAAyB,OAAf0C,QAAe,IAAfA,OAAe,EAAfA,EAAiB1C,SAC3BC,WAA2B,OAAfyC,QAAe,IAAfA,OAAe,EAAfA,EAAiBzC,WAC7BE,gBAAgC,OAAfuC,QAAe,IAAfA,OAAe,EAAfA,EAAiBvC,gBAClCD,iBAAiC,OAAfwC,QAAe,IAAfA,OAAe,EAAfA,EAAiBxC,iBACnCI,WAA2B,OAAfoC,QAAe,IAAfA,OAAe,EAAfA,EAAiBpC,WAC7BF,OAAuB,OAAfsC,QAAe,IAAfA,OAAe,EAAfA,EAAiBtC,OACzBG,YACgC,SAAhB,OAAfmC,QAAe,IAAfA,OAAe,EAAfA,EAAiBlD,aACF,OAAfkD,QAAe,IAAfA,OAAe,EAAfA,EAAiBvC,mBACF,OAAfuC,QAAe,IAAfA,OAAe,EAAfA,EAAiBvC,gBAAgBvtB,QAAS,GACvC,OACA,KAEJ2vB,SAAUA,MCgBR6E,GAAkB,SAAC1S,GACxB,OAAQA,GACP,KAAK,EACJ,MAAO,KACR,KAAK,EACJ,MAAO,KACR,KAAK,EACJ,MAAO,KACR,KAAK,EACJ,MAAO,KACR,KAAK,EACJ,MAAO,KACR,KAAK,EACJ,MAAO,KACR,QACC,MAAO,OAmmBKpE,GA9lBuB,SAAhCA,EAA6B7W,GAAwC,IAAD8J,EAAjC+N,EAAI7X,EAAJ6X,KAAMf,EAAS9W,EAAT8W,UAAW5M,EAASlK,EAATkK,UACrD1J,EAAawV,eAAcC,KA8kBzBpW,EAAMyK,YAAY1K,GAClBguB,EAAgB,GAOtB,OALO,OAAH/tB,QAAG,IAAHA,GAAS,QAANiK,EAAHjK,EAAKV,YAAI,IAAA2K,OAAN,EAAHA,EAAW1K,aAAcyY,IAC5B+V,EAAS,0BAA4B/V,EACrC+V,EAAS,4BAA8B,QAIvC7uB,IAAAxD,cAAA,MAAAnC,OAAA+N,OAAA,GAASymB,EAAQ,CAAE1jB,UAAWA,IACnB,OAAT4M,QAAS,IAATA,OAAS,EAATA,EAAWxQ,KAtlBM,SAAdunB,EAAeC,EAA8BvT,GAAmB,IAADwT,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACpE,OAAQT,EAAStgB,WAChB,IAAK,sBACJ,IAAMghB,EAAaV,EACnB,OAAO/uB,IAAAxD,cAACwd,GAAW,CAAC5a,IAAKoc,EAAO3e,IAAK4yB,EAAW5tB,MACjD,IAAK,OACJ,IAAM6tB,EAAWX,EACjB,OACC/uB,IAAAxD,cAAA,OAAK2O,UAAU,QAAQ/L,IAAKoc,GAC3Bxb,IAAAxD,cAAC0b,KAAc,CACdtC,GAAI8Z,EAAS9Z,GACb6B,OAAQiY,EAASvd,QACjBgG,KACEuX,EAAS9Z,IAAMnU,EAAW2W,SAASsX,EAAS9Z,KAC7C8Z,EAASrX,OAEVC,SAAS,OACTC,UAAU,UACVC,WAAW,EACXrN,UAAU,QAEVnL,IAAAxD,cAACsb,EAAY,CAACC,UAAW2X,EAAS3X,cAItC,IAAK,aACJ,OACC/X,IAAAxD,cAACqa,GAAU,CACVzX,IAAKoc,EACL1E,MAAQiY,EAA6BjY,MACrCE,SAAW+X,EAA6B/X,WAG3C,IAAK,kBACJ,IAAMpd,EAAOm1B,EACb,OACC/uB,IAAAxD,cAAC2Y,GAAI,CACJC,GAAIwZ,GAAgBh1B,EAAKsiB,OACzBtG,GAAIhc,EAAKgc,IAAkB,KAAZhc,EAAKgc,GAAYhc,EAAKgc,GAAK,KAC1CxW,IAAKoc,GAELxb,IAAAxD,cAAA,QAAMmqB,wBAAyB,CAAEC,OAAQhtB,EAAK+1B,QAIjD,IAAK,QACJ,IAAMC,EAAUb,EAEhB,OACC/uB,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAKoc,GACnBoU,EAAQC,KACR7vB,IAAAxD,cAACszB,KAAU,CACVC,aAAcH,EAAQG,aACtBC,cAAeJ,EAAQG,cAEvB/vB,IAAAxD,cAACsd,GAAK,CACL/V,QAAQ,OACRlH,IAAK+yB,EAAQ/yB,IAAM,aACnBkf,IAAK6T,EAAQ7T,IACbjD,KAAM8W,EAAQ9W,KACdmX,WAAYL,EAAQ1Z,QACpBga,SAAUN,EAAQM,SAClB/lB,KAAMylB,EAAQzlB,KACdoG,OAAQqf,EAAQrf,OAChBD,MAAOsf,EAAQtf,SAIjBtQ,IAAAxD,cAACsd,GAAK,CACL/V,QAAQ,OACRlH,IAAK+yB,EAAQ/yB,IAAM,aACnBkf,IAAK6T,EAAQ7T,IACbjD,KAAM8W,EAAQ9W,KACdmX,WAAYL,EAAQ1Z,QACpB/L,KAAMylB,EAAQzlB,KACdoG,OAAQqf,EAAQrf,OAChBD,MAAOsf,EAAQtf,SAKpB,IAAK,QACJ,IAAM6f,EAAYpB,EAWdlyB,EAAM,GAYV,OAREA,EAHEszB,EAAUC,SAAShY,SAAS,WAE3B+X,EAAUC,SAAShY,SAAS,KAC5B,GAAAjW,OAAMguB,EAAUC,SAAQ,kBAExB,GAAAjuB,OAAMguB,EAAUC,SAAQ,kBAItBD,EAAUC,SAGhBpwB,IAAAxD,cAAA,OAAK2O,UAAU,OAAO/L,IAAKoc,GAC1Bxb,IAAAxD,cAAC6zB,MAAgB,CAChBC,aAAW,iBACXzzB,IAAKA,EACL0zB,mBAAkB1zB,EAClB2zB,wBAAsB,wBAEtBxwB,IAAAxD,cAAA,UACC2O,UAAU,+GACVslB,gBAAc,uBACd9Q,QAjCgB,WAEA,qBAAXpd,QACPA,OAAOmuB,eACPnuB,OAAOmuB,cAAcC,OAErBpuB,OAAOmuB,cAAcC,UA6BlBR,EAAUS,sBAKhB,IAAK,UACJ,IAAMC,EAAc9B,EACpB,OACC/uB,IAAAxD,cAAA,OAAK2O,UAAU,cAAc/L,IAAKoc,GACjCxb,IAAAxD,cAACs0B,KAAO,CACP3e,QAAS0e,EAAY1e,QACrBuE,QAASma,EAAYxgB,MACrB0gB,YAAaF,EAAYE,YACzBC,aAAcH,EAAYG,aAC1BC,oBAAqBJ,EAAYI,qBAEjCjxB,IAAAxD,cAACsb,EAAY,CAACC,UAA2B,QAAlBiX,EAAE6B,EAAYxb,YAAI,IAAA2Z,OAAA,EAAhBA,EAAkBjX,cAI/C,IAAK,gBACJ,IAAMmZ,EAAiBnC,EACvB,OACC/uB,IAAAxD,cAAA,OAAK2O,UAAU,cAAc/L,IAAKoc,GACjCxb,IAAAxD,cAACs0B,KAAO,CAAC3e,QAAS+e,EAAe/e,QAASuE,QAAQ,cACjD1W,IAAAxD,cAACsb,EAAY,CAACC,UAA8B,QAArBkX,EAAEiC,EAAe7b,YAAI,IAAA4Z,OAAA,EAAnBA,EAAqBlX,cAIlD,IAAK,sBACJ,IAAMoZ,EAAgBpC,EACtB,OACC/uB,IAAAxD,cAAA,OAAK2O,UAAU,cAAc/L,IAAKoc,GACjCxb,IAAAxD,cAAC40B,KAAkB,CAClBjf,QAASgf,EAAchf,QACvBsG,aAAwC,QAA5ByW,EAAEiC,EAAc1Y,oBAAY,IAAAyW,IAAI,MAE5ClvB,IAAAxD,cAACsb,EAAY,CAACC,UAA6B,QAApBoX,EAAEgC,EAAc9b,YAAI,IAAA8Z,OAAA,EAAlBA,EAAoBpX,cAIjD,IAAK,kBACJ,IAAMsZ,EAAsBtC,EAC5B,OACC/uB,IAAAxD,cAAA,OAAK2O,UAAU,cAAc/L,IAAKoc,GACjCxb,IAAAxD,cAAC80B,KAAW,CACXjc,KAAMgc,EAAoBhc,KAC1BxT,IAA6B,QAA1ButB,EAAEiC,EAAoBE,YAAI,IAAAnC,OAAA,EAAxBA,EAA0B3sB,KAC/B+uB,SAAkC,QAA1BnC,EAAEgC,EAAoBE,YAAI,IAAAlC,OAAA,EAAxBA,EAA0Bha,KACpCxY,IAAKw0B,EAAoB7jB,MACzBuO,IAAKsV,EAAoBtV,OAI7B,IAAK,gBACJ,IAAMuR,EAAYyB,EAClB,OACC/uB,IAAAxD,cAAA,OAAK2O,UAAU,uBAAuB/L,IAAKoc,GAC1Cxb,IAAAxD,cAAA,OACC2O,UAAWoM,aACV,mBACA+V,EAAUtP,cAAgB,oBAE3B2I,wBAAyB,CAAEC,OAAQ0G,EAAUqC,QAIjD,IAAK,sBACJ,IAAM8B,EAAa1C,EACnB,OACC/uB,IAAAxD,cAACk1B,KAAY,CAACtyB,IAAKoc,GACjBiW,EAAWtf,SACXnS,IAAAxD,cAACm1B,KAAkB,CAACla,OAAQga,EAAWtf,SACtCnS,IAAAxD,cAACsb,EAAY,CAACC,UAA0B,QAAjBuX,EAAEmC,EAAWpc,YAAI,IAAAia,OAAA,EAAfA,EAAiBvX,aAG3C0Z,EAAWG,QAAQrqB,KAAI,SAACsqB,EAAQrW,GAAK,OACrCxb,IAAAxD,cAACs1B,KAAgB,CAChBjwB,IAAKgwB,EAAOhwB,IACZsQ,QAAS0f,EAAO1f,QAChB/S,IAAKoc,QAKV,IAAK,cACJ,OACCxb,IAAAxD,cAACyc,GAAQ,CAAC7Z,IAAKoc,GACdxb,IAAAxD,cAAA,OACCmqB,wBAAyB,CACxBC,OAASmI,EAA8BY,QAK5C,IAAK,gBACJ,IAAMzd,EAAW6c,EACjB,OAAO/uB,IAAAxD,cAACu1B,KAAQ13B,OAAA+N,OAAA,CAAChJ,IAAKoc,GAAWtJ,IAElC,IAAK,wCACJ,IAAM8f,EACLjD,EACD,OAAO/uB,IAAAxD,cAAC0W,GAAO,CAAC5R,OAAQ0wB,EAAY1wB,OAAQlC,IAAKoc,IAClD,IAAK,UACJ,IAAMyW,EAAclD,EACpB,OACC/uB,IAAAxD,cAAA,OAAKoZ,GAAIqc,EAAYrc,GAAIxW,IAAKoc,GACF,QADQ+T,EAClC0C,EAAY5c,KAAK0C,iBAAS,IAAAwX,OAAA,EAA1BA,EAA4BhoB,IAAIunB,IAGpC,IAAK,QACJ,IAAMoD,EAAYnD,EAClB,OACC/uB,IAAAxD,cAAA,OAAK2O,UAAU,QAAQ/L,IAAKoc,GAC3Bxb,IAAAxD,cAAC21B,MAAK,CACLC,OAAQF,EAAUE,OAClBC,WAAYH,EAAUI,mBAErBJ,EAAU7c,OAIf,IAAK,kBACJ,IAAMkd,EAAsBxD,EAC5B,OACC/uB,IAAAxD,cAACg2B,KAAe,CACfpzB,IAAKoc,EACLiX,UAAWF,EAAoBE,WAE9BF,EAAoBG,SAASnrB,KAC7B,SAAC0L,EAAS0f,GAA6B,IAADC,EACrC,OAAQ3f,EAAQzV,MACf,IAAK,OACJ,OACCwC,IAAAxD,cAACq2B,KAAkB,CAACzzB,IAAKuzB,GACxB3yB,IAAAxD,cAACs2B,KAAe,CACfzd,KAAMpC,EAAQd,QACd4gB,WAAa9f,EAAQ+f,KAAmB,OAAZ,YAE7BhzB,IAAAxD,cAACy2B,KAAe,KACfjzB,IAAAxD,cAAA,OACC2O,UAAU,WACVwb,wBAAyB,CACxBC,QAAe,OAAP3T,QAAO,IAAPA,OAAO,EAAPA,EAASoC,OAAQ,QAM/B,IAAK,aACJ,OACCrV,IAAAxD,cAACq2B,KAAkB,CAACzzB,IAAKuzB,GACxB3yB,IAAAxD,cAACs2B,KAAe,CACfzd,KAAMpC,EAAQd,QACd4gB,WAAa9f,EAAQ+f,KAAmB,OAAZ,YAE7BhzB,IAAAxD,cAACy2B,KAAe,KACD,QADCL,EACd3f,EAAQhK,aAAK,IAAA2pB,OAAA,EAAbA,EAAerrB,KAAI,SAAC6G,EAAM8kB,GAAoB,OAC9ClzB,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAK8zB,GACpBlzB,IAAAxD,cAACsO,GAAI,CAACK,UAAU,kBAAkBH,GAAIoD,EAAKvM,KAC1C7B,IAAAxD,cAAA,QAAM2O,UAAU,yBACdiD,EAAKiH,OAGPpC,EAAQhK,OACRiqB,IACCjgB,EAAQhK,MAAM7O,OAAS,GACxB,YAMP,IAAK,gBACJ,OACC4F,IAAAxD,cAACq2B,KAAkB,CAACzzB,IAAKuzB,GACxB3yB,IAAAxD,cAACs2B,KAAe,CACfzd,KAAMpC,EAAQd,QACd4gB,WAAa9f,EAAQ+f,KAAmB,OAAZ,YAE7BhzB,IAAAxD,cAACy2B,KAAe,KACdhgB,EAAQhK,OACRjJ,IAAAxD,cAAC22B,KAAQ,KACPlgB,EAAQhK,MAAM1B,KACd,SAAC6G,EAAM8kB,GAAoB,OAC1BlzB,IAAAxD,cAAC42B,KAAY,CACZ5lB,MAAOY,EAAKZ,MACZ3L,IAAKuM,EAAKvM,IACVwT,KAAMjH,EAAKiH,KACXge,cAAevoB,GACf1L,IAAK8zB,EACLI,SAAUllB,EAAKklB,iBASxB,QACC,OAAO,UAMd,IAAK,WACJ,IAAMC,EAAexE,EACrB,OACC/uB,IAAAxD,cAAC22B,KAAQ,CAAC/zB,IAAKoc,GACb+X,EAAatqB,MAAM1B,KAAI,SAAC6G,EAAMolB,GAAa,OAC3CxzB,IAAAxD,cAAC42B,KAAY,CACZ/d,KAAMjH,EAAKiH,KACXxT,IAAKuM,EAAKvM,IACVyU,KAAMlI,EAAKkI,KACX+c,cAAevoB,GACf1L,IAAKo0B,EACLF,SAAUllB,EAAKklB,eAKpB,IAAK,gBACJ,IAAMG,EAAa1E,EACnB,OACC/uB,IAAAxD,cAAC2Z,KAAM,CACNf,GAAG,IACHie,cAAevoB,GACfrI,KAAMgxB,EAAW5xB,IACjB0U,MAAOkd,EAAWld,MAClBpL,UAAU,iBACV/L,IAAKoc,GAEJiY,EAAWnd,MACXtW,IAAAxD,cAAA,YACCwD,IAAAxD,cAAC6Z,KAAI,CACJC,KAAMmd,EAAWnd,KACjBnM,KAAM,EACNgB,UAAU,aACVsL,eAAa,KAIfgd,EAAWpe,KACZrV,IAAAxD,cAAA,YACCwD,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAU,OACVtV,KAAM,IACNgB,UAAU,OACVsL,eAAa,MAKlB,IAAK,gCACJ,IAAMid,EAAoB3E,EAC1B,OACC/uB,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAKoc,GACpBxb,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,MAAMse,EAAkBvhB,SACjCnS,IAAAxD,cAACm3B,KAAmB,CACnBC,gBAAiBF,EAAkBE,gBACnCC,gBAAiBH,EAAkBG,iBAElCH,EAAkBI,OAAOvsB,KAAI,SAAC2U,EAAOV,GAAK,OAC1Cxb,IAAAxD,cAACu3B,KAAa,CACbjnB,MAAOoP,EAAM/J,QACbtQ,IAAKqa,EAAMra,IACXmyB,OAAQ9X,EAAM0R,SACdxuB,IAAKoc,GAEJU,EAAMmF,MACNnF,EAAMmF,KAAKjnB,OAAS,GACpB8hB,EAAMmF,KAAK9Z,KAAI,SAAC4B,EAAKqS,GACpB,OAAQrS,EAAIsF,WACX,IAAK,wBACJ,OACCzO,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIhW,IAAKoc,GAChBrS,EAAIkM,MAGR,IAAK,sBACJ,OACCrV,IAAAxD,cAACyc,GAAQ,CAAC7Z,IAAKoc,GACdxb,IAAAxD,cAAA,OACCmqB,wBAAyB,CACxBC,OACEzd,EAAiC8qB,MAClC,OAKN,QACC,OAAO,eAQjB,IAAK,YACJ,IAAMC,EAAgBnF,EACtB,OACC/uB,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,aACV/L,IAAKoc,GAEJ0Y,EAAcE,OACdF,EAAcE,MAAMh6B,OAAS,GAC7B85B,EAAcE,MAAM7sB,KAAI,SAAC8sB,EAAK7Y,GAAW,IAAD8Y,EACvC,OACCt0B,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGr1B,IAAKoc,GAChCxb,IAAAxD,cAAA,OAAK2O,UAAU,QACdnL,IAAAxD,cAACs0B,KAAO,CAAC3e,QAASkiB,EAAIliB,QAASuE,QAAQ,SACtC1W,IAAAxD,cAACsb,EAAY,CAACC,UAAmB,QAAVuc,EAAED,EAAIhf,YAAI,IAAAif,OAAA,EAARA,EAAUvc,mBAS5C,IAAK,kBACJ,IAAM2c,EAAsB3F,EAC5B,OACC/uB,IAAAxD,cAAAwD,IAAAiU,SAAA,KACEygB,EAAoBzrB,MAAM1B,KAAI,SAAC6G,EAAMoN,GACrC,OACCxb,IAAAxD,cAACm4B,KAAe,CACfxiB,QAAS/D,EAAK+D,QACdsG,aAAcmW,GAAgBxgB,EAAK8N,OACnC9c,IAAKoc,EACLrQ,UAAU,SAETiD,EAAK2J,WAAa3J,EAAK2J,UAAU3d,OAAS,GAC1C4F,IAAAxD,cAACsb,EAAY,CAACC,UAAW3J,EAAK2J,YAE9B3J,EAAKnF,OACLmF,EAAKnF,MAAM7O,OAAS,GACpBgU,EAAKnF,MAAM1B,KAAI,SAACqtB,EAASC,GACxB,OACC70B,IAAAxD,cAACs4B,KAAmB,CACnB3iB,QAASyiB,EAAQziB,QACjBsG,aAAcmW,GAAgBgG,EAAQ1Y,OACtCvE,WAAYid,EAAQjd,WACpB9V,IAAK+yB,EAAQ/yB,IACb2vB,SAAUoD,EAAQpD,SAClB6B,cAAevoB,GACf1L,IAAKy1B,GAEJD,EAAQ7c,WACR6c,EAAQ7c,UAAU3d,OAAS,GAC1B4F,IAAAxD,cAACsb,EAAY,CAACC,UAAW6c,EAAQ7c,qBAU7C,IAAK,wBACJ,IAAMgd,EAAahG,EACnB,OACC/uB,IAAAxD,cAACigB,GAAS,CACTrd,IAAKoc,EACLtF,QAAS6e,EAAW7e,QACpBwE,WAAYqa,EAAWra,WACvBC,cAAeoa,EAAWpa,cAC1B+B,YAAaqY,EAAWrY,YACxBvR,UAAU,UAIb,IAAK,6BACJ,IAAM6pB,EAAkBjG,EACxB,OACC/uB,IAAAxD,cAACigB,GAAS,CACTrd,IAAKoc,EACL9E,QAAQ,QACRR,QAAS8e,EAAgB9e,QACzByE,cAAeqa,EAAgB7iB,QAC/BuK,YAAasY,EAAgBtY,YAC7BvR,UAAU,UAIb,IAAK,8BACJ,OAAOnL,IAAAxD,cAACkoB,GAA2B,MAEpC,IAAK,aACJ,IAAMuQ,EAAiBlG,EAEvB,OACC/uB,IAAAxD,cAAA,OAAK2O,UAAU,SACb8pB,EAAe/K,gBACflqB,IAAAxD,cAACmyB,GAAc,CACdxc,QAAS8iB,EAAe9iB,QACxBoO,OAAQ0U,EAAe1U,OACvB2J,gBAAiB+K,EAAe/K,kBAE9B+K,EAAe9G,gBAClBnuB,IAAAxD,cAAA,WACEy4B,EAAe9G,gBAAgBxyB,SAC/BqE,IAAAxD,cAAA,OAAK2O,UAAU,8BACdnL,IAAAxD,cAACwvB,GAAkB,CAClBC,WACCgJ,EAAe9G,gBAAgBxyB,QAAQ8yB,YAExCvC,UAAW+I,EAAe9G,gBAAgBrhB,OAEzCmoB,EAAe9G,gBAAgBxyB,QAAQ0W,QAAQ9K,KAC/C,SACC0O,EACAif,GAEA,OACCl1B,IAAAxD,cAAC2wB,GAAgB,CAChB3vB,KAAMyY,EAAOzY,KACbqE,IAAKoU,EAAOpU,IACZzC,IAAK81B,GAEJjf,EAAOrY,WAQfoC,IAAAxD,cAACsjB,GAAc,CACdlmB,KAAMq7B,EAAe9G,gBACrBlQ,OAAQgX,EAAe9G,gBAAgBlQ,OACvCsC,OAAQ0U,EAAe1U,OACvBnhB,IAAKoc,KAGJ,KACHyZ,EAAe5f,MACfrV,IAAAxD,cAACsb,EAAY,CACZgB,KAAK,YACLf,UAA8B,QAArByX,EAAEyF,EAAe5f,YAAI,IAAAma,OAAA,EAAnBA,EAAqBzX,aAKrC,IAAK,sBACJ,IAAMod,EAAiBpG,EACvB,OACC/uB,IAAAxD,cAAC6wB,GAAmB,CACnBlb,QAASgjB,EAAehjB,QACxBmb,UAAW6H,EAAeC,MAC1B7H,YAAa4H,EAAeE,QAC5Bzf,GAAIuf,EAAevf,GACnBzK,UAAU,OACV/L,IAAKoc,IAGR,QACC,OAAO,WC/qBL8Z,GAAU,eAAAr0B,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOC,EAAgBgT,GAAa,IAAAnK,EAAAxG,EAAA/J,EAAA27B,EAAAjyB,UAAA,OAAAnC,IAAAY,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAAmB,OAAjBiI,EAAYorB,EAAAn7B,OAAA,QAAA0D,IAAAy3B,EAAA,GAAAA,EAAA,GAAG,GAAE3xB,EAAA1B,KAAA,EAClDE,IAAM1D,IAAI,GAADyD,OAC5Bb,EAAM,WAAAa,OAAUqF,mBAAmB8M,GAAM,UAAAnS,OAASgI,GACrD,CACCqK,QAAS,CACR,qBAAsBjS,OAAOQ,UAC7B,mBAAoBR,OAAOQ,UAC3B,kBAAmBR,OAAOQ,aAG3B,KAAD,EATW,OASXY,EAAAC,EAAAvB,KATOzI,EAAI+J,EAAJ/J,KAAIgK,EAAAZ,OAAA,SAULpJ,GAAI,wBAAAgK,EAAAX,UAAA5B,OACX,gBAZe6B,EAAAC,GAAA,OAAAlC,EAAAlG,MAAA,KAAAuI,YAAA,GAcHkyB,GAAgBrK,aAC5B,CACCvV,GAAI,gBACJwV,QAAS,OACTC,QAAS,CACR/pB,OAAQ,GACRrG,YAAQ6C,EACRd,WAAOc,EACPwW,MAAO,GACPnK,KAAM,GACNsrB,SAAU,GAEXnK,OAAQ,CACPC,KAAM,GACNmK,WAAY,CACXC,MAAO,CACNC,eAAgB,CAAEl4B,OAAQ,aAG5BqG,QAAS,CACRynB,OAAQ,CACP5V,GAAI,UACJ/Y,IAAK,SAACwuB,EAASM,GAAM,OACpB2J,GAAWjK,EAAQ/pB,OAAQ+pB,EAAQ/W,MAAO+W,EAAQlhB,OACnDshB,OAAQ,CACP/tB,OAAQ,UACRqD,QAASqH,aAAO,CACfnN,OAAQ,SAAC+G,EAAU9E,GAAK,OAAKA,EAAMtD,SAGrC8xB,QAAS,CACRhuB,OAAQ,UACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GAAK,OAAKA,EAAMtD,MAClCqB,OAAQ,SAAC+G,EAAU2pB,UAKvBC,QAAS,GACTC,QAAS,IAEVC,GAAI,CACH+J,OAAQ,CACP,CACCn4B,OAAQ,aACRo4B,KAAM,cACNC,UAAU,EACVh1B,QAAS,CACRqH,aAAO,CACNkM,MAAO,SAACtS,EAAU9E,GAAK,OAAKA,EAAM4B,OAClCqL,KAAM,SAACkhB,EAASnuB,GAAK,OAAKA,EAAMiN,MAAQkhB,EAAQlhB,UAInD,CACCzM,OAAQ,OACRqD,QAAS,CACRqH,aAAO,CACNkM,MAAO,SAACtS,EAAU2pB,GAAM,MAAK,IAC7B1wB,OAAQ,SAAC+G,EAAU2pB,YAOzB,CACCqK,OAAQ,CACPC,YAAa,SAACj0B,EAAU9E,GACvB,OAAOA,EAAM4B,OAAS5B,EAAM4B,MAAM1E,QAAU,IAG9C87B,OAAQ,CACPN,eAAgB,SAACvK,EAASM,GACzB,OAAON,EAAQoK,UAAY,MChGlBU,GAAqBhL,aAGhC,CACDvV,GAAI,qBACJwV,QAAS,OACTE,OAAQ,CACPC,KAAM,CACLO,GAAI,CACHsK,KAAM,CACL14B,OAAQ,YAIXs2B,OAAQ,CACPlI,GAAI,CACHuK,MAAO,CACN34B,OAAQ,a,SCcE44B,GAjB2B,SAAHr1B,GAAiC,IAA3BoU,EAAIpU,EAAJoU,KAAMxT,EAAGZ,EAAHY,IAAKyU,EAAIrV,EAAJqV,KAAMV,EAAE3U,EAAF2U,GAC7D,OACC5V,IAAAxD,cAAA,MAAI2O,UAAU,QACbnL,IAAAxD,cAAA,KACCiG,KAAMZ,EACN+T,GAAIA,EACJzK,UAAU,+CAETmL,GACAtW,IAAAxD,cAAC6Z,KAAI,CAACC,KAAMA,EAAMnM,KAAM,EAAGgB,UAAU,OAAOsL,eAAa,IAEzDpB,KC3BQkhB,GAA+B,SAACjiB,GAC5C,IAAAnB,EAA8BC,oBAAS,GAAMC,EAAAC,aAAAH,EAAA,GAAtCqjB,EAAOnjB,EAAA,GAAEojB,EAAUpjB,EAAA,GAc1B,OAZAmG,qBAAU,WACT,IAAMkd,EAAQn0B,OAAOo0B,WAAWriB,GAC5BoiB,EAAMF,UAAYA,GACrBC,EAAWC,EAAMF,SAElB,IAAMI,EAAW,WAChBH,EAAWC,EAAMF,UAGlB,OADAE,EAAMG,YAAYD,GACX,kBAAMF,EAAMI,eAAeF,MAChC,CAACJ,EAASliB,IAENkiB,GAGKO,GAAc,WAC1B,OAAOR,GAAc,uBAGTS,GAAc,WAC1B,OAAOT,GAAc,+CAGTU,GAAsB,WAClC,OAAOV,GAAc,uBAGTW,GAAe,WAC3B,OAAOX,GAAc,wB,UCqBhBY,GAAa,eAAAl2B,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOC,EAAgB81B,GAAc,IAAAC,EAAAC,EAAA19B,EAAA,OAAAuH,IAAAY,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAIzD,OAHKm1B,EAAe,CACpBE,oBAAqBH,EACrBt0B,QAASP,OAAOQ,WAChBa,EAAA1B,KAAA,EAEsBs1B,IAAMC,KAAKn2B,EAAQ+1B,GAAc,KAAD,EAA3C,OAA2CC,EAAA1zB,EAAAvB,KAA/CzI,EAAI09B,EAAJ19B,KAAIgK,EAAAZ,OAAA,SAELpJ,GAAI,wBAAAgK,EAAAX,UAAA5B,OACX,gBATkB6B,EAAAC,GAAA,OAAAlC,EAAAlG,MAAA,KAAAuI,YAAA,GAebo0B,GAAoB,eAAAl0B,EAAAtC,YAAAC,IAAAC,MAAG,SAAAqC,EAC5BnC,EACAwB,EACAshB,EACAgT,GAAc,IAAAC,EAAAM,EAAA/9B,EAAA,OAAAuH,IAAAY,MAAA,SAAA61B,GAAA,cAAAA,EAAA31B,KAAA21B,EAAA11B,MAAA,OAMb,OAJKm1B,EAAe,CACpBE,oBAAqBH,EACrBt0B,QAASA,EACT+0B,WAAYzT,GACZwT,EAAA11B,KAAA,EACsBs1B,IAAMC,KAAKn2B,EAAQ+1B,GAAc,KAAD,EAA3C,OAA2CM,EAAAC,EAAAv1B,KAA/CzI,EAAI+9B,EAAJ/9B,KAAIg+B,EAAA50B,OAAA,SAELpJ,GAAI,wBAAAg+B,EAAA30B,UAAAQ,OACX,gBAdyBL,EAAAC,EAAAQ,EAAAC,GAAA,OAAAN,EAAAzI,MAAA,KAAAuI,YAAA,GAoBpBw0B,GAAmC,WACxC,IAAIxxB,EAAoB,KAWxB,MAV4B,qBAAjBgC,eACVhC,EAAegC,aAAayvB,QAAQ,iBAIpCzxB,EADmB,MAAhBA,EACYkC,KAAKC,MAAMnC,GAEX,IAqEJ0xB,GAAkB,SAACpjB,GAC/B,OAAOA,EAAQyW,QAAQ+L,WAGXa,GAA0B,SACtCrjB,GAEA,OAAOA,EAAQyW,QAAQrnB,OAcXk0B,GAAsB/M,aAGjC,CACDvV,GAAI,sBACJwV,QAAS,OACTC,QAAS,CACRrnB,WAAOlG,EACPs5B,UAAWU,KACXK,eAAgB,GAChBn7B,WAAOc,GAERwtB,OAAQ,CACPC,KAAM,CACLO,GAAI,CACHsM,gBAAiB,mBACjBC,aAAc,iBACdC,gBAAiB,mBACjBC,WAAY,eACZC,mBAAoB,yBAGtB3M,QAAS,CACRC,GAAI,CACHsM,gBAAiB,mBACjBC,aAAc,iBACdC,gBAAiB,mBACjBC,WAAY,eACZC,mBAAoB,yBAGtBC,iBAAkB,CACjBjN,OAAQ,CACP5V,GAAI,gBACJ/Y,IAAK,SAACmF,EAAU2pB,GAEf,OAAOwL,GADOxL,EACa+M,IAAK12B,EAASo1B,YAE1C3L,OAAQ,CACP/tB,OAAQ,OACRqD,QAASqH,aAAO,CACfpE,MAAO,SAAChC,EAAU9E,GAAK,OAAKA,EAAMtD,SAGpC8xB,QAAS,CACRhuB,OAAQ,UACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GAAK,OAAKA,EAAMtD,KAAKoD,YAK3C27B,eAAgB,CACfnN,OAAQ,CACP5V,GAAI,cACJ/Y,IAAK,SAACmF,EAAU2pB,GACf,IAxI6Bvd,EAyI7B,OAzI6BA,EAwIfud,EACWvd,MAAQ,GAxI9B,IAAIlS,SAAQ,SAACC,EAASC,GAC5B,IACC,IAAMkK,EAAewxB,KACrBxxB,EAAa5L,KAAK0T,GACU,qBAAjB9F,cACVA,aAAaswB,QAAQ,eAAgBpwB,KAAKgB,UAAUlD,IAErDnK,EAAQmK,GACP,MAAOxK,GACRM,EAAON,QAiIN2vB,OAAQ,CACP/tB,OAAQ,OACRqD,QAASqH,cAAO,SAACpG,EAAU9E,GAC1B,MAAO,CACNk6B,UAAWl6B,EAAMtD,UAIpB8xB,QAAS,CACRhuB,OAAQ,UACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GAAK,OAAKA,EAAMtD,KAAKoD,YAK3C67B,iBAAkB,CACjBrN,OAAQ,CACP5V,GAAI,iBACJ/Y,IAAK,SAACmF,EAAU2pB,GACf,IA5ImCvd,EA8InC,OA9ImCA,EA4IrBud,EAEcvd,MAAQ,GA7IjC,IAAIlS,SAAQ,SAACC,EAASC,GAC5B,IACC,IACM08B,EADehB,KACoB3wB,QACxC,SAAC4xB,GAAgB,OAAKA,IAAa3qB,KAER,qBAAjB9F,cACVA,aAAaswB,QACZ,eACApwB,KAAKgB,UAAUsvB,IAGjB38B,EAAQ28B,GACP,MAAOh9B,GACRM,EAAON,QAiIN2vB,OAAQ,CACP/tB,OAAQ,OACRqD,QAASqH,cAAO,SAACpG,EAAU9E,GAC1B,MAAO,CACNk6B,UAAWl6B,EAAMtD,UAIpB8xB,QAAS,CACRhuB,OAAQ,UACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GAAK,OAAKA,EAAMtD,KAAKoD,YAK3Cg8B,aAAc,CACbxN,OAAQ,CACP5V,GAAI,eACJ/Y,IAAK,SAACmF,EAAU2pB,GACf,OA3IG,IAAIzvB,SAAQ,SAACC,EAASC,GAC5B,IAC6B,qBAAjBkM,cACVA,aAAa2wB,WAAW,gBAEzB98B,EAAQ,IACP,MAAOL,GACRM,EAAON,QAsIN2vB,OAAQ,CACP/tB,OAAQ,OACRqD,QAASqH,cAAO,SAACpG,EAAU9E,GAC1B,MAAO,CACNk6B,UAAWl6B,EAAMtD,UAIpB8xB,QAAS,CACRhuB,OAAQ,UACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GAAK,OAAKA,EAAMtD,KAAKoD,YAK3Ck8B,qBAAsB,CACrB1N,OAAQ,CACP5V,GAAI,oBACJ/Y,IAAK,SAACmF,EAAU2pB,GACf,IAAMzuB,EAAQyuB,EACd,OAAO+L,GACNx6B,EAAMw7B,IACNx7B,EAAM4F,QACN5F,EAAMknB,OACNpiB,EAASo1B,YAGX3L,OAAQ,CACP/tB,OAAQ,OACRqD,QAAS,SAACiB,EAAU9E,GACnB,IAAIyc,EAAIpd,SAASC,cAAc,KAC/Bmd,EAAE+S,UAAUC,IAAI,UAChBpwB,SAAS+d,KAAKrc,YAAY0b,GAC1BA,EAAElX,KAAOvF,EAAMtD,KAAKu/B,UACpBxf,EAAEiT,SAAW1vB,EAAMtD,KAAKu/B,UACxBxf,EAAEkT,QACFlT,EAAEmT,WAGJpB,QAAS,CACRhuB,OAAQ,UACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GACjB,MAAM,SAANiF,OAAgBjF,EAAMtD,KAAK+a,SAASykB,OAAM,OAAAj3B,OAAMjF,EAAMtD,KAAK+a,SAAS0kB,qB,UCnV5DC,GCuBwB,SAAHr4B,GAM7B,IALNkK,EAASlK,EAATkK,UAASouB,EAAAt4B,EACTiV,eAAO,IAAAqjB,EAAG,gBAAeA,EACzBzY,EAAU7f,EAAV6f,WAEA7V,GADYhK,EAAZu4B,aACQv4B,EAARgK,UAEA,OACCjL,IAAAxD,cAAA,OACC2O,UAAWoM,aAAKpM,EAAW,+BAC3BgQ,WAAS,iBAETnb,IAAAxD,cAAA,SAAO2O,UAAU,qBAChBnL,IAAAxD,cAAA,WAAS2O,UAAU,WAAW+K,GAC7B4K,GACA9gB,IAAAxD,cAAA,aACCwD,IAAAxD,cAAA,UACEskB,EAAWvZ,KAAI,SAACkQ,EAAQ+D,GACxB,OACCxb,IAAAxD,cAAA,MAAI4C,IAAKoc,EAAOF,MAAM,OAarBtb,IAAAxD,cAAA,QACC2O,UAAWoM,aACViE,IAAUsF,EAAW1mB,OAAS,GAAK,YAGnCqd,EAAOtF,eAQfnS,IAAAxD,cAAA,aAAQyO,MCcGwuB,GA7D2B,SAAHx4B,GAKhC,IAJNkI,EAAGlI,EAAHkI,IACAqL,EAAOvT,EAAPuT,QACAklB,EAAYz4B,EAAZy4B,aACAtgB,EAAenY,EAAfmY,gBAEA,OACCpZ,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAA,MAAIm9B,mBAAkBxwB,EAAIywB,iBACxBplB,EAAQjN,KAAI,SAACkQ,EAAQ+D,GACrB,OACCxb,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAKoc,GACpBxb,IAAAxD,cAAA,UACsB,oBAApBib,EAAOjY,SACPQ,IAAAxD,cAAAwD,IAAAiU,SAAA,KACE9K,EAAItH,IACJ7B,IAAAxD,cAACsO,GAAI,CACJE,GAAI7B,EAAItH,IACRsJ,UAAU,kBACVwU,QAAS,kBAAMvG,MAEbjQ,EAAYsO,EAAOjY,WAGtBQ,IAAAxD,cAAA,SAAK2M,EAAYsO,EAAOjY,WAExB2J,EAAI0wB,aACJ75B,IAAAxD,cAAA,KAAG2O,UAAU,wCACXhC,EAAI0wB,cAIe,6BAApBpiB,EAAOjY,SACVQ,IAAAxD,cAACs9B,KAAgB,CAChBja,qBAAqB1W,EAAYsO,EAAOjY,UACxCkX,QAAQ,UACRiJ,QAAS,kBAAM+Z,EAAavwB,EAAI4wB,qBAChC5uB,UAAU,eAEVnL,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,WACLnM,KAAM,IACNsM,eAAa,EACbtL,UAAU,eAEXnL,IAAAxD,cAAA,QAAM2O,UAAU,sBACbhC,EAAYsO,EAAOjY,YAItB2J,EAAYsO,EAAOjY,kBC0Cdw6B,GAlFqC,SAAH/4B,GAW1C,IAVNoU,EAAIpU,EAAJoU,KACA4kB,EAAYh5B,EAAZg5B,aACAn3B,EAAO7B,EAAP6B,QACAshB,EAAMnjB,EAANmjB,OACAsU,EAAGz3B,EAAHy3B,IACAtB,EAASn2B,EAATm2B,UACAhhB,EAAQnV,EAARmV,SACAjL,EAASlK,EAATkK,UACA+uB,EAAej5B,EAAfi5B,gBACAjxB,EAAKhI,EAALgI,MAEAkK,EAA8BC,oBAAkB,GAAMC,EAAAC,aAAAH,EAAA,GAA/CpP,EAAOsP,EAAA,GAAES,EAAUT,EAAA,GACpB8mB,EAAuB,eAAA32B,EAAAtC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAAg2B,EAAAC,EAAA19B,EAAA+f,EAAA,OAAAxY,IAAAY,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAM9B,OALD4R,GAAW,GACLujB,EAAe,CACpBE,oBAAqBH,EACrBt0B,QAASA,EACT+0B,WAAYzT,GACZpiB,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAGuBs1B,IAAMC,KAAKiB,EAAKrB,GAAc,KAAD,EAAAC,EAAAt1B,EAAAK,KAA5CzI,EAAI09B,EAAJ19B,MACJ+f,EAAIpd,SAASC,cAAc,MAC7BkwB,UAAUC,IAAI,UAChBpwB,SAAS+d,KAAKrc,YAAY0b,GAC1BA,EAAElX,KAAO7I,EAAKu/B,UACdxf,EAAEiT,SAAWhzB,EAAKu/B,UAClBxf,EAAEkT,QACFlT,EAAEmT,SACFoN,EAAgB,IAEZ33B,OAAOqW,WAAarW,OAAOqW,UAAUle,MAAQuO,GAChDA,EAAM1B,KAAI,SAAC6G,GACV,OAAO7L,OAAOqW,UAAUle,KAAK,CAC5BwC,MAAO,mBACPk9B,oBAAqBhsB,EAAKisB,gBAAgBD,oBAC1CE,qBAAsBlsB,EAAKisB,gBAAgBC,qBAC3CC,wBACCnsB,EAAKisB,gBAAgBE,wBACtBC,aAAcpsB,EAAKisB,gBAAgBG,aACnCC,cAAersB,EAAKisB,gBAAgBI,cACpCC,iBAAkB53B,EAClB63B,eAAgBvW,OAGlBpiB,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAqb,GAAArb,EAAA,SAEDk4B,EAAgBl4B,EAAAqb,GAAeud,YAAY,QAEzB,OAFyB54B,EAAAC,KAAA,GAE3C6R,GAAW,GAAO9R,EAAA64B,OAAA,6BAAA74B,EAAAiB,UAAA5B,EAAA,yBAEnB,kBAvC4B,OAAAmC,EAAAzI,MAAA,KAAAuI,YAAA,GAwC7B,OACCtD,IAAAxD,cAAC2Z,KAAM,CACN0J,qBAAmB,wBACnBib,2BAAmC,OAAT1D,QAAS,IAATA,OAAS,EAATA,EAAWh9B,OACrCsc,QAAQ,UACRvL,UAAWoM,aAAK,OAAQpM,GACxBiL,SAAUA,GAAYrS,EACtB4b,QAAS,kBAAMwa,MAEdp2B,EACA/D,IAAAxD,cAAA,YACCwD,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLE,QAAQ,OACRrL,UAAU,YACVsL,eAAa,IAEbwjB,GAGFj6B,IAAAxD,cAAA,YACCwD,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,WAAWnL,UAAU,aAAasL,eAAa,IACzDpB,KC7BS0lB,GA3D4B,SAAH95B,GAAmC,IAA7BoU,EAAIpU,EAAJoU,KAAM2lB,EAAe/5B,EAAf+5B,gBAC7CC,ECfiC,SAACn8B,GACxC,IAAM8X,EAAM5C,mBAIZ,OAHAwF,qBAAU,WACT5C,EAAIhC,QAAU9V,KAER8X,EAAIhC,QDUcsmB,CAAYF,GACrC7nB,EAA8BC,oBAAkB,GAAMC,EAAAC,aAAAH,EAAA,GAA/CgoB,EAAO9nB,EAAA,GAAE+nB,EAAU/nB,EAAA,GACpBgoB,EAAQrnB,iBAA8B,MAwB5C,OAtBAwF,qBAAU,WAaT,OAZIwhB,EAAkBC,IACA,MAAjBI,EAAMzmB,SACTvX,aAAag+B,EAAMzmB,SAGpBwmB,GAAW,GACXC,EAAMzmB,QAAU7W,YAAW,WAC1Bq9B,GAAW,KACT,MAIG,WACe,MAAjBC,EAAMzmB,UACTvX,aAAag+B,EAAMzmB,SACnBwmB,GAAW,OAIX,CAACJ,IAGHh7B,IAAAxD,cAAA,OACC2O,UAAWoM,aACV4jB,GAAW,SACX,sCAEDG,YAAU,UAGTt7B,IAAAxD,cAAC++B,KAAU,CAACC,GAAIL,EAASz+B,QAAS,MAChC,SAACgE,GAAsB,OACvBV,IAAAxD,cAAA,OACC2O,UAAWoM,aACA,YAAV7W,EACG,uBACA,uBAEJ+6B,OAAkB,WAAV/6B,GAERV,IAAAxD,cAACk/B,KAAK,CAAChlB,QAAQ,UAAUiJ,QAAS,kBAAMyb,GAAW,KAClDp7B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,EAAOzF,UAAU,QACpCkK,UEiSKsmB,GAjTuB,SAAH16B,GAQ5B,IAPN26B,EAAS36B,EAAT26B,UACAC,EAAa56B,EAAb46B,cACAC,EAAc76B,EAAd66B,eACAC,EAAc96B,EAAd86B,eACAz6B,EAAML,EAANK,OACA06B,EAAS/6B,EAAT+6B,UACAtjB,EAAQzX,EAARyX,SAEMujB,EAAiBC,qBAAWC,IAClCC,EAAwBH,EAAeI,oBAA/B37B,EAAK07B,EAAL17B,MAAOitB,EAAIyO,EAAJzO,KACT2O,EAAkBC,aACvBN,EAAeI,oBACfrE,IAEK11B,EAAUi6B,aACfN,EAAeI,oBACfpE,IAED9kB,EAA0BC,mBAAS,IAAGC,EAAAC,aAAAH,EAAA,GAA/BnW,EAAKqW,EAAA,GAAEmpB,EAAQnpB,EAAA,GACtBG,EAAgCJ,oBAAS,GAAMK,EAAAH,aAAAE,EAAA,GAAxCmF,EAAQlF,EAAA,GAAEgpB,EAAWhpB,EAAA,GAC5BG,EAAkCR,wBAEhCtV,GAAU+V,EAAAP,aAAAM,EAAA,GAFLwjB,EAASvjB,EAAA,GAAE6oB,EAAY7oB,EAAA,GAIxB8oB,EAAuB,SAAC5D,GAC7BpL,EAAK,kBAAmB,CAAEvf,KAAM2qB,IAEhC,IAAM9vB,EAAiB,OAATmuB,QAAS,IAATA,OAAS,EAATA,EAAWjwB,QACxB,SAACiH,GAA2B,OAAKA,EAAK2rB,qBAAuBhB,KAE9D2D,EAAazzB,IAkBduQ,qBAAU,WAAO,IAADojB,EACfF,EAAoB,OAAPp6B,QAAO,IAAPA,GAAqB,QAAds6B,EAAPt6B,EAASiG,oBAAY,IAAAq0B,OAAd,EAAPA,EAAuB3zB,SAClC,CAAC3G,IAEJ,IAAMu6B,EAAsB,SAACl/B,GAC5B6+B,EAAS7+B,IAGV,OACCqC,IAAAxD,cAAA,WACCwD,IAAAxD,cAAA,UACC+vB,gBAAA,gBACAC,gBAAe7T,EACfwC,WAAS,eACTwE,QAAS,WACHhH,GACJgV,EAAK,kBAAmB,CAAE+K,IAAKp3B,IAEhCm7B,GAAa9jB,GACb6jB,EAAS,IACT9jB,KAEDvN,UAAU,gBAEVnL,IAAAxD,cAAA,QAAM2O,UAAU,oCAAoCywB,GACpD57B,IAAAxD,cAAA,QAAM2O,UAAU,YACfnL,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,cACLG,eAAa,EACbtM,KAAM,KACNgB,UAAU,eAEXnL,IAAAxD,cAAA,QAAM2O,UAAU,oGACdmxB,EAAgBliC,QAAU,KAI7B4hC,GACAh8B,IAAAxD,cAACu+B,GAAiB,CACjB1lB,KAAM2mB,EACNhB,gBAAiBsB,EAAgBliC,SAGnC4F,IAAAxD,cAAC++B,KAAU,CAACC,GAAI7iB,EAAUjc,QAAS,MACjC,SAACogC,GAA2B,IAAAC,EAAAC,EAAA,OAC5Bh9B,IAAAxD,cAAA,OACC2O,UAAWoM,aACVukB,IAAmBC,EAChB,4BACAD,GAAkBC,EAClB,iBACA,OACH,sFAEDnmB,GAAE,gBACF6lB,OAAuB,WAAfqB,GAER98B,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAWoM,aACK,YAAfulB,EACG,4BACA,2BACH,sCAGD98B,IAAAxD,cAAC+3B,KAAI,CACJC,KAAM,GACN5jB,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAA,UACCmjB,QAAS,WACR8c,GAAY,GACZD,EAAS,IACT9jB,MAGD1Y,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,QAAQG,eAAa,EAAMtM,KAAM,IAC5CnK,IAAAxD,cAAA,QAAM2O,UAAU,WAAW0wB,KAG5Bn7B,GAASA,EAAM81B,QAAQ,oBACvBx2B,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIrpB,UAAU,UACzBnL,IAAAxD,cAAA,OAAK2O,UAAU,oCACdnL,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLnM,KAAM,EACNqM,QAAQ,OACRD,MAAM,UACN+Z,aAAW,aAKdtwB,IAAAxD,cAAAwD,IAAAiU,SAAA,KACE3R,GACAtC,IAAAxD,cAAC+3B,KAAI,CACJC,KAAM,GACNC,QAAS,EACT7jB,QAAQ,EACRzF,UAAU,iBAETisB,GAAaA,EAAUh9B,OAAS,EAChC4F,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjBxW,EAAQ6P,QAAQnD,QAChB,MACAstB,EAAgBliC,OAAOwgC,cAGjB,OAAPt4B,QAAO,IAAPA,OAAO,EAAPA,EAAS26B,WACTj9B,IAAAxD,cAAA,OAAK2O,UAAU,QACdnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBxW,EAAQ26B,YAMbj9B,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjBxW,EAAQ46B,oBAET56B,EAAQ66B,qBACRn9B,IAAAxD,cAAA,OAAK2O,UAAU,QACdnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBxW,EAAQ66B,uBAOb/F,GAAaA,EAAUh9B,OAAS,GAChC4F,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAC88B,GAAa,CACbxY,WAAmB,OAAPxe,QAAO,IAAPA,GAAqB,QAAdy6B,EAAPz6B,EAASiG,oBAAY,IAAAw0B,OAAd,EAAPA,EAAuBjc,aAE3B,OAAPxe,QAAO,IAAPA,GAAqB,QAAd06B,EAAP16B,EAASiG,oBAAY,IAAAy0B,OAAd,EAAPA,EAAuBlc,aACvBsW,EAAU7vB,KACT,SAAC4B,EAA4BqS,GAAmB,IAAD4hB,EAC9C,OACCp9B,IAAAxD,cAACi9B,GAAgB,CAChBtwB,IAAKA,EACLqL,SACQ,OAAPlS,QAAO,IAAPA,GAAqB,QAAd86B,EAAP96B,EAASiG,oBAAY,IAAA60B,OAAd,EAAPA,EAAuBtc,aAAc,GAEtC4Y,aAAciD,EACdvjB,gBAAiB,WAChBqjB,GAAY,GACZ/jB,KAEDtZ,IAAKoc,QAMXxb,IAAAxD,cAACs9B,KAAgB,CAChBja,qBAAoBvd,EAAQ+6B,cAC5B3mB,QAAQ,UACRiJ,QAAS,kBAvKrBgO,EAAK,mBACL+O,OAAa5+B,IAuKDqN,UAAU,eAEVnL,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,WACLnM,KAAM,IACNsM,eAAa,EACbtL,UAAU,eAEXnL,IAAAxD,cAAA,YAAO8F,EAAQ+6B,kBAOnB/6B,GACAA,EAAQg7B,gBACRh7B,EAAQg7B,eAAeljC,OAAS,GAC/B4F,IAAAxD,cAAC+3B,KAAI,CACJC,KAAM,GACN+I,OAAQ,EACR9I,QAAS,EACT7jB,QAAQ,EACRzF,UAAU,mBAEVnL,IAAAxD,cAAA,MAAI2O,UAAU,8BACL,OAAP7I,QAAO,IAAPA,OAAO,EAAPA,EAASk7B,iBAGXx9B,IAAAxD,cAAA,OAAK2O,UAAU,qCACb7I,EAAQg7B,eAAe/1B,KACvB,SAACk2B,EAA2BC,GAC3B,OACC19B,IAAAxD,cAAA,OACC4C,IAAKs+B,EACLvyB,UAAWoM,aAAKmmB,EAAa,GAAK,SAElC19B,IAAAxD,cAAA,MAAI2O,UAAU,kBACZsyB,EAAMtrB,SAEPsrB,EAAMR,UACNj9B,IAAAxD,cAAA,KAAG2O,UAAU,QAAQsyB,EAAMR,UAE3BQ,EAAMhU,QAAQliB,KACd,SAACo2B,EAAaC,GAAyB,IAADC,EA/NpB/6B,EAgOjB,OACC9C,IAAAxD,cAACw9B,GAA0B,CAC1B56B,IAAKw+B,EACLvoB,KAAMsoB,EAAOtoB,KACb4kB,aACCwD,EAAMK,yBAEPh7B,QAAS26B,EAAM36B,QACfshB,OAAQuZ,EAAOvZ,OACfsU,IAAK+E,EAAMM,kBACX3G,UAAWkF,EACXlmB,UA3OetT,EA4Od26B,EAAM36B,QA3OK,IAA3Bw5B,EAAgBliC,QAEG,OAAZ0I,IACM,OAATs0B,QAAS,IAATA,OAAS,EAATA,EAAWltB,OAAM,SAACkE,GAAI,OAAKA,EAAKyrB,iBA0OrB1uB,UAAU,OACV+uB,gBAAiB2C,EACjB5zB,MAAc,OAAP3G,QAAO,IAAPA,GAAqB,QAAdu7B,EAAPv7B,EAASiG,oBAAY,IAAAs1B,OAAd,EAAPA,EAAuB50B,gBAUvCjJ,IAAAxD,cAAA,OAAK8+B,YAAU,UACbt+B,GACAgD,IAAAxD,cAACk/B,KAAK,CAAChlB,QAAQ,SAASvL,UAAU,QACjCnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,EAAOzF,UAAU,QACpCnO,c,6CCxUXghC,GAAe,SAAAC,GAAAC,aAAAF,EAAAC,GAAA,IAAAE,EAAAC,aAAAJ,GACpB,SAAAA,IAAe,IAADK,EA6BO,OA7BPC,aAAA,KAAAN,IACbK,EAAAF,EAAA3jC,KAAA,OAMK+jC,gBAAkB,CACtB,4BACA,8BACA,0BAMDF,EAAKG,gBAAkBH,EAAKG,gBAAgBn/B,KAAIo/B,aAAAJ,IAChDA,EAAKK,gBAAkBL,EAAKK,gBAAgBr/B,KAAIo/B,aAAAJ,IAChDA,EAAKM,UAAYN,EAAKM,UAAUt/B,KAAIo/B,aAAAJ,IACpCA,EAAKO,kBAAoBP,EAAKO,kBAAkBv/B,KAAIo/B,aAAAJ,IAKpDA,EAAKQ,OAASR,EAAKS,aAAa,CAAE9/B,KAAM,SAKxCq/B,EAAKU,UAAY,GAAGV,EA2SpB,OAxSDW,aAAAhB,EAAA,EAAA5+B,IAAA,oBAAAN,MAIA,WAAqB,IAADmgC,EAAA,KAInBp/B,KAAKwV,KAAOxV,KAAKwZ,aAAa,SAAW,eAKzCxZ,KAAKk/B,UAAYl/B,KAAKwZ,aAAa,WAAa,GAGhDxZ,KAAKq/B,SAKLr/B,KAAKs/B,OACJt/B,KAAKg/B,OAAOO,eAAe,UAM5Bv/B,KAAK89B,OAAS99B,KAAKg/B,OAAO3f,cAAc,UAKxCrf,KAAKw/B,WAAax/B,KAAKg/B,OAAOO,eAAe,eAG7Cv/B,KAAK89B,QACJ99B,KAAK89B,OAAO/jB,iBAAiB,QAAS/Z,KAAK++B,mBAC5C/+B,KAAK0+B,gBAAgBvrB,SAAQ,SAAClX,GAAC,OAC9BS,SAASqd,iBAAiB9d,EAAGmjC,EAAKT,sBAIpC,CAAAp/B,IAAA,uBAAAN,MAIA,WAAwB,IAADwgC,EAAA,KACtBz/B,KAAK0+B,gBAAgBvrB,SAAQ,SAAClX,GAAC,OAC9BS,SAASsd,oBAAoB/d,EAAGwjC,EAAKd,oBAEtC3+B,KAAK89B,QACJ99B,KAAK89B,OAAO9jB,oBAAoB,QAASha,KAAK++B,qBAGhD,CAAAx/B,IAAA,kBAAAN,MAIA,SAAgBygC,GACV1/B,KAAKw/B,YAAex/B,KAAKs/B,SAI1BI,GACH1/B,KAAKw/B,WAAWziC,aAAa,SAAU,QACvCiD,KAAKs/B,OAAOK,gBAAgB,YAE5B3/B,KAAKw/B,WAAWG,gBAAgB,UAChC3/B,KAAKs/B,OAAOviC,aAAa,SAAU,YAIrC,CAAAwC,IAAA,kBAAAN,MAIA,WAAmB,IAAD2gC,EAAA,KACjB5/B,KAAK0+B,gBAAgBvrB,SAAQ,SAAClX,GAAC,OAC9BS,SAASsd,oBAAoB/d,EAAG2jC,EAAKjB,oBAEtC3+B,KAAK8+B,cAGN,CAAAv/B,IAAA,kBAAAN,MAIA,SAAgB4gC,GAAU,IAADC,EAAA,KACpBC,EAAYrjC,SAASC,cAAc,UACvCojC,EAAUhjC,aAAa,MAAO8iC,GAC9BE,EAAUhjC,aAAa,OAAQ,mBAC/BL,SAAS+d,KAAKrc,YAAY2hC,GAE1BA,EAAUhmB,iBAAiB,QAAQ,WAClCrX,OAAOs9B,YAAct9B,OAAOs9B,aAAe,GAC3Ct9B,OAAOs9B,YAAYC,gBAAiB,KAErCF,EAAUhmB,iBAAiB,SAAS,SAACmmB,GACpCJ,EAAKK,iBAAgB,GACrBC,MAAM,gEACNtgC,QAAQiP,IAAI,wBAAyBmxB,QAIvC,CAAA3gC,IAAA,YAAAN,MAIA,WAAa,IAADohC,GACW,QAAtBA,EAAI39B,OAAOs9B,mBAAW,IAAAK,OAAA,EAAlBA,EAAoBC,aACvBtgC,KAAKmgC,iBAAgB,GACrBz9B,OAAOs9B,YAAYM,cAEnBpiC,WAAW8B,KAAK8+B,UAAW,OAI7B,CAAAv/B,IAAA,oBAAAN,MAGA,WAAqB,IAADshC,GACG,QAAtBA,EAAI79B,OAAOs9B,mBAAW,IAAAO,OAAA,EAAlBA,EAAoBD,YACvBtgC,KAAK8+B,aAEL9+B,KAAKmgC,iBAAgB,GACrBngC,KAAK6+B,gBAAgB7+B,KAAKk/B,cAI5B,CAAA3/B,IAAA,SAAAN,MAGA,WACMe,KAAKk/B,UAKVl/B,KAAKg/B,OAAOzkB,UAAS,8xJAAAjY,OAmJHtC,KAAKwV,KAAI,iRAvJ1B1V,QAAQ0gC,KAAK,iEAiKdrC,EAzUmB,CAXG,qBAAhBsC,YAA8B,aAAiBA,aAuVjC,qBAAX/9B,QAC2B,qBAA1BA,OAAOg+B,gBACjBh+B,OAAOg+B,eAAeC,OAAO,oBAAqBxC,IChQpD,IAqhBeyC,GArhBqB,SAAHx/B,GAA2C,IAADy/B,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAlgC,EAApCmgC,mBAAW,IAAAD,GAAQA,EAAEl2B,EAAQhK,EAARgK,SACrDo2B,EAAmBpK,KACnBqK,EAAWvK,KACXwK,EAAwBvtB,iBAAY,MACpCwtB,EAA8BxtB,iBAAY,MAC1CytB,EAAsBztB,iBAAY,MAClC0tB,EAA4B1tB,iBAAY,MACxCxR,EAAWyU,eACXtU,EAAUuW,eACR5E,EAAUoJ,KAAYjV,MAAMjG,EAASuD,QAArCuO,MACF7P,EAAc8G,YAAYhH,GAE1BM,EAAW0G,YAAY3G,GACvBG,EAAUwG,YAAYzG,GACtBW,EAAY8F,YAAY/F,GACxBP,EAAgBsG,YAAYvG,GAC5BW,EAAoB4F,YAAY7F,GAChCi8B,EAAiBp2B,YAAYzF,GAC7BX,EAAUoG,YAAYrG,GACtBG,EAAmBkG,YAAYnG,GAC/BG,EAAegG,YAAYjG,GAC3BY,EAAaqF,YAAYtF,GACzBG,EAAWmF,YAAYpF,GAEvBG,GADUiF,YAAYjH,GACPiH,YAAYlF,IAEjC8M,EAA0CC,oBAAS,GAAMC,GAAAC,aAAAH,EAAA,GAAlDyuB,GAAavuB,GAAA,GAAEwuB,GAAgBxuB,GAAA,GACtCG,GAAwCJ,oBAAS,GAAMK,GAAAH,aAAAE,GAAA,GAAhDsuB,GAAYruB,GAAA,GAAEsuB,GAAetuB,GAAA,GACpC+Z,GAAkCC,aAAW+H,GAAe,CAC3DnK,QAAS,CACR/pB,QAAsB,OAAdqgC,QAAc,IAAdA,OAAc,EAAdA,EAAgBrgC,SAAU,GAClC6I,KAAMk3B,EAAmB,GAAkB,OAAdM,QAAc,IAAdA,OAAc,EAAdA,EAAgBzT,sBAAuB,EACpEuH,SAAU,OAEV/H,GAAApa,aAAAka,GAAA,GANKwU,GAAWtU,GAAA,GAAEuU,GAAUvU,GAAA,GAO9BwU,GAAgCzU,aAAW0I,IAAmBgM,GAAA7uB,aAAA4uB,GAAA,GAAvDE,GAAUD,GAAA,GAAEE,GAASF,GAAA,GACtBt/B,GAAY0I,YAAYvF,GAW9B,OAVAwT,qBAAU,WACTqoB,IAAiB,KACf,IAEHvV,aAAgBiV,GAAuB,WAClCI,GACHU,GAAU,YAKXriC,IAAAxD,cAAA,OAAK2O,UAAWoM,aAAKjR,GAAgB,aACpCtG,IAAAxD,cAACkP,GAAI,MACJjG,GAAam8B,IACb5hC,IAAAxD,cAAC8lC,KAAS,CACTC,WAAW,UACXC,iBAAiB,EACjBrqB,MAAM,EACN8T,WAAYxmB,EAAUwmB,YAEtBjsB,IAAAxD,cAAA,OAAK2O,UAAU,YACdnL,IAAAxD,cAAA,MAAI2O,UAAU,SAAS1F,EAAU0M,SAEjCnS,IAAAxD,cAACsb,GAAY,CAACgB,KAAK,OAAOf,UAAyB,QAAhB2oB,EAAEj7B,EAAU4P,YAAI,IAAAqrB,OAAA,EAAdA,EAAgB3oB,cAIxD/X,IAAAxD,cAACimC,KAAU,CACV31B,OAAe,OAAR1G,QAAQ,IAARA,OAAQ,EAARA,EAAU2V,MAAO,YACxB2mB,UAAkB,OAARt8B,QAAQ,IAARA,OAAQ,EAARA,EAAUvE,MAAO,IAC3B8gC,QAAiB,OAARv8B,QAAQ,IAARA,OAAQ,EAARA,EAAUw8B,KACnBC,gBACClB,GACC3hC,IAAAxD,cAACsmC,MAAW,CACXltB,GAAG,qBACHmtB,WAAYxB,EACZyB,SAAUvB,EACVhwB,MAAOkwB,EAAesB,gBACtBC,YAAavB,EAAewB,kBAC5BlZ,YAAmC,YAAtB+X,GAAYljC,MACzBwT,aAAcgC,EAAQA,EAAMsmB,gBAAa98B,EACzCiX,SAAU,SAACjZ,GACW,WAArBsmC,GAAWtjC,OACVmjC,GAAW,SAAU,CACpBnjC,MAAOhD,EAAEgD,SAGZsV,SAAU,SAACtY,GAAY,IAADsnC,EACrBf,GAAU,SACS,OAAnBZ,QAAmB,IAAnBA,GAA4B,QAAT2B,EAAnB3B,EAAqB7sB,eAAO,IAAAwuB,GAA5BA,EAA8BC,OAC9B1gC,EAAQjI,KAAK,GAADyH,OACRw/B,EAAe2B,cAAa,WAAAnhC,OAAUqF,mBACxC1L,EAAEynC,uBAILC,QAAS,WACRzlC,YAAW,WACVskC,GAAU,UACR,OAGkB,WAArBD,GAAWtjC,OACXkjC,GAAY3W,QAAQpwB,QACU,KAA9B+mC,GAAY3W,QAAQ/W,OACnBtU,IAAAxD,cAACinC,KAAmB,KAClBzB,GAAY3W,QAAQpwB,OAAOyoC,SAC3B1B,GAAY3W,QAAQpwB,OAAOyoC,QAAQn8B,KAClC,SAAC6G,GAAyB,OACzBpO,IAAAxD,cAACmnC,KAAuB,CAACvkC,IAAKgP,EAAKhF,YAClCpJ,IAAAxD,cAACsO,GAAI,CAACE,GAAIoD,EAAKvM,KACd7B,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAU,OACVhJ,eAAa,EACbtM,KAAM,MAENiE,EAAK+D,aAKV6vB,GAAY3W,QAAQpwB,OAAO2oC,aAC3B5B,GAAY3W,QAAQpwB,OAAOkP,MAC3BnK,IAAAxD,cAACmnC,KAAuB,KACvB3jC,IAAAxD,cAACsO,GAAI,CACJE,GAAE,GAAA7I,OACDw/B,EAAe2B,cAAa,WAAAnhC,OACnBqF,mBACTw6B,GAAY3W,QAAQpwB,OAAOqZ,QAE5BqL,QAAS,WACR0iB,GAAU,WAGVV,EAAekC,sBAI0B,IAA5C7B,GAAY3W,QAAQpwB,OAAO2oC,cAC3B5jC,IAAAxD,cAACmnC,KAAuB,KACvB3jC,IAAAxD,cAAA,SAAG,+BAQXsnC,sBACCnC,GACC3hC,IAAAxD,cAACunC,KAAY,CACZC,eAAe,kBACfC,gBAAgB,yBAChBnB,YACC9iC,IAAAxD,cAACsmC,MAAW,CACXltB,GAAG,oBACHmtB,WAAYvB,EACZwB,SAAUtB,EACVjwB,MAAOkwB,EAAesB,gBACtBC,YAAavB,EAAewB,kBAC5BlZ,YAAmC,YAAtB+X,GAAYljC,MACzBwT,aAAcgC,EAAQA,EAAMsmB,gBAAa98B,EACzCiX,SAAU,SAACjZ,GACW,WAArBsmC,GAAWtjC,OACVmjC,GAAW,SAAU,CACpBnjC,MAAOhD,EAAEgD,SAGZsV,SAAU,SAACtY,GAAY,IAADooC,EACrB7B,GAAU,SACe,OAAzBX,QAAyB,IAAzBA,GAAkC,QAATwC,EAAzBxC,EAA2B9sB,eAAO,IAAAsvB,GAAlCA,EAAoCb,OACpC1gC,EAAQjI,KAAK,GAADyH,OAEVw/B,EAAe2B,cAAa,WAAAnhC,OACnBqF,mBAAmB1L,EAAEqoC,sBAGjCX,QAAS,WACRzlC,YAAW,WACVskC,GAAU,UACR,QAIN+B,aACsB,WAArBhC,GAAWtjC,OACXkjC,GAAY3W,QAAQpwB,QACU,KAA9B+mC,GAAY3W,QAAQ/W,OACnBtU,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAC6nC,KAAgB,KACfrC,GAAY3W,QAAQpwB,OAAOyoC,SAC3B1B,GAAY3W,QAAQpwB,OAAOyoC,QAAQn8B,KAClC,SAAC6G,GACA,IAAMk2B,EAAal2B,EACnB,OACCpO,IAAAxD,cAAC+nC,KAAoB,CACpB1iC,IAAKyiC,EAAWziC,IAChBsQ,QAASmyB,EAAWnyB,QACpBkD,KAAMivB,EAAWE,QACjBplC,IAAKklC,EAAWl7B,WAChBiqB,cAAevoB,QAKyB,IAA5Ck3B,GAAY3W,QAAQpwB,OAAO2oC,cAC3B5jC,IAAAxD,cAACioC,KAAmB,CAACtyB,QAAQ,8BAG9B6vB,GAAY3W,QAAQpwB,OAAO2oC,aAC3B5B,GAAY3W,QAAQpwB,OAAOkP,MAC3BnK,IAAAxD,cAAC2Z,KAAM,CACNhM,KAAK,QACLuM,QAAQ,UACRlZ,KAAK,SACLmiB,QAAS,WAAO,IAAD+kB,EACdrC,GAAU,SACS,OAAnBZ,QAAmB,IAAnBA,GAA4B,QAATiD,EAAnBjD,EAAqB7sB,eAAO,IAAA8vB,GAA5BA,EAA8BrB,OAC9B1gC,EAAQjI,KAAK,GAADyH,OAEVw/B,EAAe2B,cAAa,WAAAnhC,OACnBqF,mBACTw6B,GAAY3W,QAAQ/W,WAKtBqtB,EAAekC,oBAAqB,IACrC7jC,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,UAAUmJ,UAAU,KAAKlJ,MAAM,cASlDouB,cACCz+B,GACAA,EAAW+C,OACX/C,EAAW+C,MAAM7O,OAAS,GACzB4F,IAAAxD,cAACooC,KAAU,CACVC,sBAAuB3+B,EAAW2+B,sBAClCC,UAAW5+B,EAAW6+B,yBACtBC,kBAAmB9+B,EAAW++B,wBAC9BC,mBAAoBh/B,EAAWi/B,yBAC/B3iC,SAAUA,EACV2I,UAAU,yBAETjF,EAAW+C,MAAM1B,KAAI,SAAC6G,EAAMoN,GAC5B,OACCxb,IAAAxD,cAAC4oC,KAAc,CACdC,UAAW,EACXv4B,MAAOsB,EAAKtB,MACZjL,IAAKuM,EAAKvM,IACVwW,OAAQjK,EAAKiK,OACbuV,SAAUxf,EAAKwf,SACfyF,cAAevoB,GACf1L,IAAKoc,GAEJpN,EAAKnF,OACLmF,EAAKnF,MAAM7O,OAAS,GACpBgU,EAAKnF,MAAM1B,KAAI,SAACqtB,EAASpZ,GACxB,OACCxb,IAAAxD,cAAC4oC,KAAc,CACdC,UAAW,EACXv4B,MAAO8nB,EAAQ9nB,MACfjL,IAAK+yB,EAAQ/yB,IACbwW,OAAQuc,EAAQvc,OAChBuV,SAAUgH,EAAQhH,SAClByF,cAAevoB,GACf1L,IAAKoc,GAEJoZ,EAAQ3rB,OACR2rB,EAAQ3rB,MAAM7O,OAAS,GACvBw6B,EAAQ3rB,MAAM1B,KAAI,SAAC+9B,EAAY9pB,GAC9B,OACCxb,IAAAxD,cAAC4oC,KAAc,CACdC,UAAW,EACXv4B,MAAOw4B,EAAWx4B,MAClBjL,IAAKyjC,EAAWzjC,IAChBwW,OAAQitB,EAAWjtB,OACnBuV,SAAU0X,EAAW1X,SACrByF,cAAevoB,GACf1L,IAAKoc,eAUf8lB,GACAr8B,GACAA,EAAcsgC,MAAMnrC,OAAS,GAC7B6K,EAAcsgC,MAAMh+B,KAAI,SAAC6G,EAAMoN,GAC9B,OACCxb,IAAAxD,cAAC4oC,KAAc,CACdhmC,IAAKoc,EACLgqB,aAAa,EACb14B,MAAOsB,EAAKiH,KACZxT,IAAKuM,EAAKvM,IACVwxB,cAAevoB,SAOtB26B,sBACCn/B,GACCtG,IAAAxD,cAACm/B,GAAY,CACZC,UAAWt1B,EAAas1B,UACxBC,cAAev1B,EAAau1B,cAC5BC,eAAiBr3B,GAAeA,EAAYrK,OAAS,IAAM,EAC3D2hC,eAAgBqF,EAChB9/B,OAAQgF,EAAahF,OACrB06B,UAAW11B,EAAao/B,mBACxBhtB,SAAU,kBAAMqpB,IAAiBD,QAKnCj9B,GACAA,EAAS8gC,OAAOp+B,KAAI,SAAC6G,EAAMoN,GAC1B,OACCxb,IAAAxD,cAACopC,KAAQ,CACRxmC,IAAKoc,EACLqqB,aAAY,GAAA1jC,OAAKiM,EAAKwH,IACtBkwB,mBAAmB,EACnBC,YAAa33B,EAAK23B,YAClBC,iBAAkB53B,EAAK43B,kBAEtB53B,EAAKiH,KAAK0C,UAAUxQ,KAAI,SAACwnB,EAAUvT,GAAK,OACxCxb,IAAAxD,cAAA,OACCmqB,wBAAyB,CAAEC,OAAQmI,EAASY,KAC5CvwB,IAAKoc,WAMV7V,GAAqBA,EAAkB0P,MACvCrV,IAAAxD,cAACypC,MAAiB,CAACxjC,KAAK,iBACvBzC,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,QAAQzP,EAAkB0P,OAGpCtQ,GACA/E,IAAAxD,cAAC0pC,KAAO,KACNnhC,EAAQsQ,KAAK0C,UAAUxQ,KAAI,SAACwnB,EAAUvT,GAAK,OAC3Cxb,IAAAxD,cAAA,OACCmqB,wBAAyB,CAAEC,OAAQmI,EAASY,KAC5CvwB,IAAKoc,SAKK,OAAbvW,QAAa,IAAbA,OAAa,EAAbA,EAAesgC,QAAStgC,EAAcsgC,MAAMnrC,OAAS,IAAMknC,GAC3DthC,IAAAxD,cAAC2pC,MAAa,CAAC7V,aAAYrrB,EAAcwM,OACvCxM,EAAcsgC,MAAMh+B,KAAI,SAAC6G,EAAMoN,GAC/B,OACCxb,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAKoc,GACA,qBAAnBpN,EAAKK,WACI,OAAT5L,SAAS,IAATA,QAAS,EAATA,GAAWA,YACXA,GAAUA,UAAUzI,OAAS,GAC5B4F,IAAAxD,cAAC85B,GAAgB,CAChB1gB,GAAI/S,GAAUA,UAAU,GAAG+S,GAC3BP,KAAMxS,GAAUA,UAAU,GAAGwS,KAC7BxT,IAAKgB,GAAUA,UAAU,GAAGhB,MAI9B7B,IAAAxD,cAAC4pC,MAAS,CACT/wB,KAAMjH,EAAKiH,KACXxT,IAAKuM,EAAKvM,IACVnE,OAAQ0Q,EAAK1Q,OACb4Y,KAAMlI,EAAKkI,KACX+c,cAAevoB,WAUtBrG,GAAeA,EAAYrK,OAAS,GACpC4F,IAAAxD,cAAC6pC,KAAW,CACX/V,aAAW,gBACXnlB,UAAWoM,aAAK6pB,GAAe,iBAE9B38B,EAAY8C,KAAI,SAAC6G,EAAMoN,GAAK,OAC5Bxb,IAAAxD,cAAC8pC,KAAe,CACflnC,IAAKoc,EACL3Z,KAAMuM,EAAKwf,UAAYxf,EAAKvM,IAAMuM,EAAKvM,IAAM,GAC7CwT,KAAMjH,EAAKiH,WAKfrV,IAAAxD,cAAA,QACC2O,UAAWoM,aACV,qCACAuqB,IAAgB,iCAEjBlsB,GAAG,gBAEF3K,GAEFjL,IAAAxD,cAAC+pC,KAAU,CAACp7B,UAAU,uBACrBnL,IAAAxD,cAAC23B,KAAI,CAAC3iB,SAAS,EAAOrG,UAAU,gBAC9BhG,GACAnF,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAC+3B,KAAI,CAACE,QAAS,EAAGD,KAAM,IACvBx0B,IAAAxD,cAACgqC,KAAY,KAAyB,QAAzB7F,EAAEx7B,EAAQshC,UAAUC,aAAK,IAAA/F,OAAA,EAAvBA,EAAyB/iC,MACxCoC,IAAAxD,cAACmqC,KAAU,KACc,QADd/F,EACTz7B,EAAQshC,UAAUC,aAAK,IAAA9F,OAAA,EAAvBA,EAAyBgG,OAC1B5mC,IAAAxD,cAAA,WACwB,QADlBqkC,EACL17B,EAAQshC,UAAUC,aAAK,IAAA7F,OAAA,EAAvBA,EAAyBgG,QAAS,IACX,QADc/F,EACrC37B,EAAQshC,UAAUC,aAAK,IAAA5F,OAAA,EAAvBA,EAAyBgG,MAG3B9mC,IAAAxD,cAACgqC,KAAY,KAAErhC,EAAQ4hC,SAAS50B,SAChCnS,IAAAxD,cAACwqC,KAAc,KACb7hC,EAAQ4hC,SAAS99B,MAAM1B,KAAI,SAAC6G,EAAMoN,GAClC,OACCxb,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAKoc,GACpBxb,IAAAxD,cAAA,UAAK4R,EAAKxQ,MACVoC,IAAAxD,cAAA,UAAK4R,EAAKtP,aAOfkB,IAAAxD,cAAC+3B,KAAI,CAACE,QAAS,EAAGD,KAAM,IACvBx0B,IAAAxD,cAACgqC,KAAY,KAA0B,QAA1BzF,EAAE57B,EAAQshC,UAAUQ,cAAM,IAAAlG,OAAA,EAAxBA,EAA0BnjC,MACzCoC,IAAAxD,cAACmqC,KAAU,KACe,QADf3F,EACT77B,EAAQshC,UAAUQ,cAAM,IAAAjG,OAAA,EAAxBA,EAA0B4F,OAC3B5mC,IAAAxD,cAAA,WACyB,QADnBykC,EACL97B,EAAQshC,UAAUQ,cAAM,IAAAhG,OAAA,EAAxBA,EAA0B4F,QAAS,IACX,QADc3F,EACtC/7B,EAAQshC,UAAUQ,cAAM,IAAA/F,OAAA,EAAxBA,EAA0B4F,SAMlB,OAAZvhC,QAAY,IAAZA,OAAY,EAAZA,EAAcmhC,QACd1mC,IAAAxD,cAAC+3B,KAAI,CAACE,QAAS,EAAGD,KAAM,IACvBx0B,IAAAxD,cAACgqC,KAAY,KAAEjhC,EAAamhC,MAAMv0B,SAClCnS,IAAAxD,cAAC0qC,KAAc,KACb3hC,EAAamhC,MAAMnB,MAAMh+B,KAAI,SAACgqB,EAAM/V,GACpC,OACCxb,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAKoc,GACpBxb,IAAAxD,cAAA,MAAI4C,IAAKoc,GACRxb,IAAAxD,cAACsO,GAAI,CAACrI,KAAM8uB,EAAK9uB,KAAM/E,OAAQ6zB,EAAK7zB,QAClC6zB,EAAKlc,cAUD,OAAZ9P,QAAY,IAAZA,OAAY,EAAZA,EAAc0hC,SACdjnC,IAAAxD,cAAC+3B,KAAI,CAACE,QAAS,EAAGD,KAAM,IACvBx0B,IAAAxD,cAACgqC,KAAY,KAAEjhC,EAAa0hC,OAAO90B,SACnCnS,IAAAxD,cAAC0qC,KAAc,KACb3hC,EAAa0hC,OAAO1B,MAAMh+B,KAAI,SAACgqB,EAAM/V,GACrC,OACCxb,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAKoc,GACpBxb,IAAAxD,cAAA,MAAI4C,IAAKoc,GACRxb,IAAAxD,cAACsO,GAAI,CAACrI,KAAM8uB,EAAK9uB,KAAM/E,OAAQ6zB,EAAK7zB,QAClC6zB,EAAKlc,cAUfrV,IAAAxD,cAAC2qC,KAAgB,KAChBnnC,IAAAxD,cAAC23B,KAAI,CAAC3iB,SAAS,EAAOrG,UAAU,gBAC/BnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,IACXx0B,IAAAxD,cAAC4qC,KAAc,KACdpnC,IAAAxD,cAAA,OAAK2O,UAAU,gBACb9F,GACAA,EAAiBgiC,WAAW9/B,KAAI,SAACgqB,EAAM/V,GAAK,OAC3Cxb,IAAAxD,cAACsO,GAAI,CACJK,UAAU,4DACV1I,KAAM8uB,EAAK9uB,KACXrD,IAAKoc,EACL9d,OAAQ6zB,EAAK7zB,QAEZ6zB,EAAKlc,UAIVrV,IAAAxD,cAAC8qC,KAAa,KACZniC,GACAA,EAAQoiC,OAAOhgC,KAAI,SAAC6G,EAAMoN,GAAK,OAC9Bxb,IAAAxD,cAAA,KAAGiG,KAAM2L,EAAKtP,MAAOgO,MAAOsB,EAAKxQ,KAAMwB,IAAKoc,GAC3Cxb,IAAAxD,cAAC6Z,KAAI,CACJC,KAAMlI,EAAK5Q,KACX8yB,aAAYliB,EAAKxQ,KACjBuM,KAAM,EACNqkB,KAAK,MACL/X,cAAY,OACZtL,UAAU,uJAWpBnL,IAAAxD,cAAA,qBACC6Y,KAAK,iBACL/Y,OAAO,6DC3iBIkrC,GAzCqB,SAAHvmC,GAK1B,IAJNwmC,EAAmBxmC,EAAnBwmC,oBACAjnB,EAAkBvf,EAAlBuf,mBACAknB,EAAkBzmC,EAAlBymC,mBACAz8B,EAAQhK,EAARgK,SAEAkI,EAAgCC,oBAAkB,GAAMC,EAAAC,aAAAH,EAAA,GAAjDwF,EAAQtF,EAAA,GAAEopB,EAAWppB,EAAA,GAExBs0B,EAAe,EACnB3nC,IAAM4nC,SAAS50B,QAAQ/H,GAAU,WAChC,OAAO08B,OAaR,OACC3nC,IAAAxD,cAAA,OAAK2e,WAAS,aAAahQ,UAAU,kBACpCnL,IAAAxD,cAAA,OAAK2O,UAAU,sBAAsBmwB,YAAU,UAC7C3iB,EAAW1N,EAbQ,SAACA,GACvB,OAAOjL,IAAM4nC,SAASrgC,IAAI0D,GAAU,SAAC48B,EAAOrsB,GAC3C,OAAKqsB,GAASrsB,GAASisB,EACf,KAEAznC,IAAM8nC,aAAaD,EAAOA,EAAM/gB,OAAS,OAQzBihB,CAAe98B,IAEtC08B,EAAeF,GACfznC,IAAAxD,cAAC2Z,KAAM,CACNO,QAAQ,YACR8V,iBAAgB7T,EAChBgH,QAAS,kBAAM8c,GAAa9jB,KAE3BA,EAAW+uB,EAAqBlnB,KCAvBwnB,GA9BsB,SAAH/mC,GAM3B,IALNgrB,EAAUhrB,EAAVgrB,WACAgc,EAAoBhnC,EAApBgnC,qBACAryB,EAAE3U,EAAF2U,GACAzK,EAASlK,EAATkK,UACAF,EAAQhK,EAARgK,SAEAkI,EAA4BC,oBAAkB,GAAMC,EAAAC,aAAAH,EAAA,GAA7CkF,EAAMhF,EAAA,GAAE60B,EAAS70B,EAAA,GAElBqF,EAAW,WAChBwvB,GAAW7vB,IAEZ,OACCrY,IAAAxD,cAAA,OAAK2O,UAAWoM,aAAKpM,IACpBnL,IAAAxD,cAAC2Z,KAAM,CAACO,QAAQ,UAAUiJ,QAASjH,EAAU9C,GAAIA,GAChD5V,IAAAxD,cAAA,YACCwD,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,MAAMmJ,UAAU,QAAQtV,KAAM,EAAGgB,UAAU,UAEtD8gB,GAGD5T,GACArY,IAAAxD,cAAC2rC,KAAK,CAACnY,cAAeiY,EAAsBvvB,SAAUA,GACpDzN,KC7COm9B,GAA0B,SAAC35B,GACvC,OAAQA,GACP,IAAK,qBACJ,OAAO,EACR,IAAK,sBACJ,OAAO,EACR,IAAK,qBAEL,QACC,OAAO,KAGG45B,GAAyB,SAAC55B,GACtC,OAAQA,GACP,IAAK,qBACJ,OAAO,EACR,QACC,OAAO,KAGG65B,GAAwB,SACpCC,EACAC,GAEA,OAAQA,GACP,IAAK,eACL,IAAK,eACL,IAAK,YACJ,OAAO,GACR,IAAK,gBACL,IAAK,gBACJ,OAAO,EACR,IAAK,UACL,IAAK,eACL,IAAK,UACL,IAAK,eACJ,OAAO,EAGT,OAAQD,GACP,IAAK,qBACJ,OAAO,GACR,IAAK,sBACJ,OAAO,EACR,IAAK,qBACJ,OAAO,EACR,QACC,OAAO,KAIGE,GAAuB,SACnCF,EACAC,GAEA,OAAQA,GACP,IAAK,eACL,IAAK,eACL,IAAK,YACJ,OAAO,GAGT,OAAQD,GACP,IAAK,qBACJ,OAAO,GACR,QACC,OAAO,IAIGG,GAAsB,SAClCH,EACAjH,EACAqH,EACAC,EACAC,GAEA,IAAMC,EAAe,iBACfC,EAAaF,IAAcD,EAAc,EACzCI,EAAmBH,IAAcD,EAAc,EAC/CK,EAAkBJ,IAAcD,EAAc,EAEpD,OAAQL,GACP,IAAK,qBACJ,OAAOQ,EAAaD,EAAe,GAEpC,IAAK,sBACJ,IAAII,EAAkBN,EAAc,EAEpC,GAAItH,EACH,OAAOyH,EAAaD,EAAe,GAEnC,GAAwB,IAApBI,GACH,GAAIF,GAAoBD,EACvB,OAAOD,OAEF,GAAwB,IAApBI,GACNH,EACH,OAAOD,EAIV,MAED,IAAK,qBACJ,IAAIK,EAAiB7H,EAClBsH,EAAc,EACdD,EACAC,EAAc,EACdA,EAAc,EAEjB,GAAItH,EACH,OAAOyH,EAAaD,EAAe,GAC7B,GAAIH,EAAU,CACpB,GAAuB,IAAnBQ,EAKH,OAAOJ,EAAaD,EAAe,GAJnC,GAAIE,GAAoBD,EACvB,OAAOD,OAMT,GAAuB,IAAnBK,GACH,GAAIF,GAAmBD,GAAoBD,EAC1C,OAAOD,OAEF,GAAuB,IAAnBK,GACV,GAAIJ,EACH,OAAOD,OAGR,GAAIE,GAAoBD,EACvB,OAAOD,EAIV,MACD,QACC,MAAO,GAET,MAAO,ICvCOM,GA5DoB,SAAHnoC,GAUzB,IATNkR,EAAOlR,EAAPkR,QACAkD,EAAIpU,EAAJoU,KACAg0B,EAASpoC,EAATooC,UACAl+B,EAASlK,EAATkK,UAASm+B,EAAAroC,EACTwX,oBAAY,IAAA6wB,EAAG,KAAIA,EACnBznC,EAAGZ,EAAHY,IACAwxB,EAAapyB,EAAboyB,cACAnJ,EAAejpB,EAAfipB,gBACAjf,EAAQhK,EAARgK,SAEMs+B,EAAU9wB,EACV3N,EAAOuoB,EACb,OACCrzB,IAAAxD,cAAA,WAAS2e,WAAS,aACjBnb,IAAAxD,cAAA,OAAK2O,UAAWoM,cAAM2S,GAAmB,cACvCA,GACAlqB,IAAAxD,cAACstB,GAAU,CACV9C,UAAWkD,EAAgBlD,UAC3Ba,QAASqC,EAAgBrC,QACzBX,qBAAsBgD,EAAgBhD,qBACtCC,mBAAoB+C,EAAgB/C,mBACpCC,mBAAoB8C,EAAgB9C,mBACpCC,WAAY6C,EAAgB7C,WAC5BC,iBAAkB4C,EAAgB5C,iBAClCC,SAAU2C,EAAgB3C,SAC1BC,SAAU0C,EAAgB1C,SAC1BC,WAAYyC,EAAgBzC,WAC5BE,gBAAiBuC,EAAgBvC,gBACjCD,iBAAkBwC,EAAgBxC,iBAClCI,YAAY,EACZF,OAAQsC,EAAgBtC,OACxBG,YAAc,GAAK,GAAM,IAAM,OAIlC/nB,IAAAxD,cAAA,OAAK2O,UAAWoM,aAAKpM,EAAW,aAC/BnL,IAAAxD,cAACsO,EAAI,CAACE,GAAInJ,EAAKsJ,UAAU,oBACxBnL,IAAAxD,cAAC+sC,EAAO,CAACp+B,UAAU,8DACjBgH,KAGDk3B,GAAap+B,IACdjL,IAAAxD,cAAA,OAAK2O,UAAU,aACbk+B,GACArpC,IAAAxD,cAAA,QAAM2O,UAAU,sDACdk+B,GAGFp+B,GACAjL,IAAAxD,cAAA,MAAI2O,UAAU,6BAA6BF,IAI9CjL,IAAAxD,cAAA,KAAG2O,UAAU,mCAAmCkK,M,eCwerCm0B,GAhgByB,SAAHvoC,GAG9B,IAADwoC,EAAAxoC,EAFLqB,eAAO,IAAAmnC,EAAG,GAAEA,EACTr+B,EAAcC,aAAApK,EAAAqK,IAEXg2B,EAAWvK,KACX4R,EAAW3R,KAkfjB,OACCh3B,IAAAxD,cAAA,MAAS4O,EACP9I,EAAQiF,KAAI,SAACk2B,EAA8BjiB,GAAa,OAnfhC,SAArBkuB,EACLjM,EACAhlB,EACA+C,GACK,IAADmuB,EAAAC,EACJ,OAAQnM,EAAMhvB,WACb,IAAK,eACJ,IAAMo7B,EAAapM,EACnB,OACCz9B,IAAAxD,cAAA,OACC2e,WAAS,eACThQ,UAAWoM,aACVsyB,EAAWC,WAAa,wBAA0B,SAEnD1qC,IAAKoc,GAELxb,IAAAxD,cAAC23B,KAAI,CAAC3iB,SAAS,EAAOrG,UAAU,iCAC9B0+B,EAAW5gC,OACX4gC,EAAW5gC,MAAM1B,KAAI,SAAC6G,EAAW27B,GAEhC,OACC/pC,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAK2qC,GACnBL,EACAt7B,EAJyB,KAMzB27B,SAST,IAAK,qBACL,IAAK,sBACL,IAAK,qBACJ,IAAMC,EAAoBvM,EAE1B,OACCz9B,IAAAxD,cAAC+3B,KAAI,CACJC,KAAM,GACN+I,OAAQ8K,GAAuB5K,EAAMhvB,WACrCgmB,QAAS2T,GAAwB3K,EAAMhvB,WACvCw7B,mBAAmC,OAAjBD,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmB73B,QACrCyD,GAAIo0B,EAAkBp0B,IAEtB5V,IAAAxD,cAAA,WACEwtC,EAAkB73B,SAClBnS,IAAAxD,cAAC2Y,MAAI,CAACC,GAAIqD,EAAc7H,QAAQ,EAAOzF,UAAU,QAC/C6+B,EAAkB73B,SAGpB63B,EAAkB30B,MAClBrV,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,IAAIxE,QAAQ,EAAOzF,UAAU,mBACpC6+B,EAAkB30B,OAItBrV,IAAAxD,cAAC23B,KAAI,CAAC3iB,SAAS,EAAOrG,UAAU,UACb,OAAjB6+B,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmB/gC,SACF,OAAjB+gC,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmB/gC,MAAM7O,QAAS,IACjB,OAAjB4vC,QAAiB,IAAjBA,GAAwB,QAAPL,EAAjBK,EAAmB/gC,aAAK,IAAA0gC,OAAP,EAAjBA,EAA0BpiC,KAAI,SAAC6G,EAAMoN,GAAW,IAAD0uB,EACxCC,EAAoBH,EAAkB73B,QACzC,KACA,KACH,OACCnS,IAAAxD,cAAC+3B,KAAI,CACJC,KAAM,GACN+I,OAAQkL,GACPhL,EAAMhvB,UACNL,EAAKK,WAENgmB,QAAS6T,GACR7K,EAAMhvB,UACNL,EAAKK,WAENtD,UAAWoM,aACS,SAAnBnJ,EAAKK,WAAoB,mEAAAtM,OAEtBumC,GACDjL,EAAMhvB,UACN6yB,EACAqH,EACuB,QADfuB,EACRF,EAAkB/gC,aAAK,IAAAihC,OAAA,EAAvBA,EAAyB9vC,OACzBohB,KAGHpc,IAAKoc,GAEJkuB,EAAmBt7B,EAAM+7B,EAAmB3uB,UAOrD,IAAK,OACJ,IAAM4uB,EAAW3M,EACjB,OACCz9B,IAAAxD,cAAC6tC,KAAc,CACdxoC,IAAKuoC,EAASvoC,IACdsQ,QAASi4B,EAASj4B,QAClBkD,KAAM+0B,EAAS/0B,KACfoD,aAAcA,EACd4a,cAAevoB,GACf1L,IAAKoc,IAGR,IAAK,kBACL,IAAK,gBACJ,IAAM8uB,EAAe7M,EACrB,OACCz9B,IAAAxD,cAAC+tC,KAAQ,CACR1tC,IAAKytC,EAAa98B,MAClBuO,IAAKuuB,EAAavuB,IAClB5J,QAASm4B,EAAan4B,QACtBkD,KAAMi1B,EAAaj1B,KACnBg0B,UAAWiB,EAAajB,UACxBxnC,IAAKyoC,EAAazoC,IAClBwxB,cAAevoB,GACf2N,aAAcA,EACd/B,QAAS4zB,EAAaE,UAAY,UAAY,WAC9CprC,IAAKoc,GAEJ8uB,EAAa3hB,YACb2hB,EAAa3hB,WAAWvuB,OAAS,GACjCkwC,EAAa3hB,WAAWphB,KAAI,SAACkjC,EAAUjvB,GAAK,OAC3Cxb,IAAAxD,cAACkuC,MAAgB,CAChBtrC,IAAG,QAAA+C,OAAUqZ,GACbnG,KAAMo1B,EAASp1B,KACfxT,IAAK4oC,EAAS5oC,IACdwxB,cAAevoB,SAKrB,IAAK,gBACJ,IAAM6/B,EAAgBlN,EACtB,OACCz9B,IAAAxD,cAAC4sC,GAAS,CACTj3B,QAASw4B,EAAcx4B,QACvBsG,aAAcA,EACdpD,KAAMs1B,EAAct1B,KACpBg0B,UAAWsB,EAActB,UACzBxnC,IAAK8oC,EAAc9oC,IACnBwxB,cAAevoB,GACfof,gBAAiBygB,EAAczgB,gBAC/B/e,UAAU,iBACV/L,IAAG,cAAA+C,OAAgBqZ,IAElBmvB,EAAchiB,YACdgiB,EAAchiB,WAAWvuB,OAAS,GAClCuwC,EAAchiB,WAAWphB,KAAI,SAACkjC,EAAUjvB,GAAK,OAC5Cxb,IAAAxD,cAACkuC,MAAgB,CAChBtrC,IAAG,cAAA+C,OAAgBqZ,GACnBnG,KAAMo1B,EAASp1B,KACfxT,IAAK4oC,EAAS5oC,IACdwxB,cAAevoB,SAKrB,IAAK,+BACL,IAAK,6BACJ,IAAM8/B,EAAgBnN,EACtB,OACCz9B,IAAAxD,cAACquC,KAAiB,CACjBhuC,IAAK+tC,EAAcp9B,MACnBuO,IAAK6uB,EAAc7uB,IACnB5J,QAASy4B,EAAcz4B,QACvBkD,KAAMu1B,EAAcv1B,KACpBy1B,UAAWF,EAAcE,UACzBC,WAAYH,EAAcG,WAC1BlpC,IAAK+oC,EAAc/oC,IACnB4oC,SAAUG,EAAcH,SACxBpX,cAAevoB,GACf2N,aAAcA,EACdtN,UAAU,iBACV/L,IAAKoc,IAIR,IAAK,yBACJ,IAAMwvB,EAAgBvN,EACtB,OACCz9B,IAAAxD,cAAA,OAAK4C,IAAKoc,EAAOrQ,UAAU,kBAC1BnL,IAAAxD,cAACyuC,KAAiB,CAACzyB,WAAW,EAAMrN,UAAU,QAC5C6/B,EAAc/hC,MAAM1B,KAAI,SAACrK,EAAOse,GAChC,OACCxb,IAAAxD,cAAC0uC,KAAqB,CACrBC,SAAUjuC,EAAMkuC,MAAMC,IACtBC,WAAYpuC,EAAMkuC,MAAMG,eACxBC,OAAQtuC,EAAMuuC,IAAIJ,IAClBK,SAAUxuC,EAAMuuC,IAAIF,eACpBp5B,QAASjV,EAAMiV,QACfs4B,SAAUvtC,EAAMutC,SAChB5oC,IAAK3E,EAAM2E,IACX8pC,WAAYX,EAAcY,kBAC1BvY,cAAevoB,GACf2N,aAAcA,EACdrZ,IAAKoc,QAKTxb,IAAAxD,cAAA,OAAK2O,UAAU,uBACdnL,IAAAxD,cAAC2Z,KAAM,CACNO,QAAQ,YACRjU,KAAMuoC,EAAczZ,KACpB8B,cAAevoB,GACfsK,GAAG,IACHyK,qBAAmB,YAElBmrB,EAAcxZ,SACfxxB,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAU,OACVtV,KAAM,IACNgB,UAAU,OACVsL,eAAa,OAMnB,IAAK,gBACJ,IAAMo1B,EAAepO,EACrB,OACCz9B,IAAAxD,cAAA,OAAK4C,IAAKoc,EAAOrQ,UAAU,kBAC1BnL,IAAAxD,cAACsvC,KAAQ,CAAC3gC,UAAU,QAClB0gC,EAAa5iC,OACb4iC,EAAa5iC,MAAM1B,KAAI,SAACwkC,EAAiBvwB,GACxC,OACCxb,IAAAxD,cAACwvC,KAAY,CACZC,KAAMF,EAAK1C,UACXl3B,QAAS45B,EAAK55B,QACdtQ,IAAKkqC,EAAKlqC,IACVwxB,cAAevoB,GACf2N,aAAcA,EACdrZ,IAAKoc,QAKVxb,IAAAxD,cAAA,OAAK2O,UAAU,uBACdnL,IAAAxD,cAAC2Z,KAAM,CACNO,QAAQ,YACRjU,KAAMopC,EAAata,KACnB8B,cAAevoB,GACfsK,GAAG,IACHyK,qBAAmB,YAElBgsB,EAAara,SACdxxB,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAU,OACVtV,KAAM,IACNgB,UAAU,OACVsL,eAAa,OAMnB,IAAK,YACJ,IAAMy1B,EAAWzO,EACjB,OACCz9B,IAAAxD,cAAA,OAAK2O,UAAU,kBACdnL,IAAAxD,cAACsb,GAAY,CACZgB,KAAK,OACL1Z,IAAKoc,EACLzD,UAAWm0B,EAAS72B,KAAK0C,aAK7B,IAAK,UACL,IAAK,eACL,IAAK,gBACL,IAAK,eACJ,IAAMo0B,EAAiB1O,EACvB,OACCz9B,IAAAxD,cAAA,OAAK4C,IAAKoc,EAAOrQ,UAAU,kBAC1BnL,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,KAAKxE,QAAQ,EAAOzF,UAAU,mBACrCghC,EAAeh6B,SAEjBnS,IAAAxD,cAAC4vC,KAAU,KACTD,EAAeva,SACfua,EAAeva,QAAQrqB,KACtB,SAAC6G,EAA+BoN,GAC/B,OACCxb,IAAAxD,cAAC6vC,KAAc,CACdl6B,QAAS/D,EAAK+D,QACdtQ,IAAKuM,EAAKvM,IACVyqC,iBAAkBl+B,EAAKk+B,iBACvBjZ,cAAevoB,GACf2N,aAAa,KACbrZ,IAAKoc,QAMV2wB,EAAetqC,KAAOsqC,EAAe3a,UACrCxxB,IAAAxD,cAAA,OAAK2O,UAAU,aACdnL,IAAAxD,cAAC2Z,KAAM,CACNO,QAAQ,YACRjU,KAAM0pC,EAAetqC,IACrBuT,GAAG,IACHie,cAAevoB,GACf+U,qBAAmB,YAElBssB,EAAe3a,SAChBxxB,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAU,OACVtV,KAAM,IACNgB,UAAU,OACVsL,eAAa,OAOpB,IAAK,UACL,IAAK,eACL,IAAK,gBACL,IAAK,eACJ,IAAM81B,EAAc9O,EACpB,OACCz9B,IAAAxD,cAACgrC,GAAU,CACVhnB,mBAAoB+rB,EAAY/rB,mBAChCknB,mBAAoB6E,EAAY7E,mBAChCD,oBAAqB8E,EAAY9E,oBACjCroC,IAAKoc,GAEO,OAAX+wB,QAAW,IAAXA,GAAoB,QAAT3C,EAAX2C,EAAaC,eAAO,IAAA5C,OAAT,EAAXA,EAAsBriC,KACtB,SAACklC,EAAqB5X,GACrB,OACC70B,IAAAxD,cAAA,OAAK4C,IAAKy1B,EAAU1pB,UAAU,+BAC7BnL,IAAAxD,cAACkwC,KAAW,CAACl/B,MAAOi/B,EAAOj/B,MAAOm/B,SAAS,IAC3C3sC,IAAAxD,cAAA,OAAK2O,UAAU,QACdnL,IAAAxD,cAAA,MAAI2O,UAAU,WAAWshC,EAAO7uC,MAChCoC,IAAAxD,cAAA,KAAG2O,UAAU,qCACXshC,EAAO3/B,aASjB,IAAK,kBACJ,IAAM8/B,EAAcnP,EACpB,OACCz9B,IAAAxD,cAAA,OACC4C,IAAKoc,EACLrQ,UAAU,iBACVgQ,WAAS,oBAERyxB,EAAYz6B,SACZnS,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,KAAKxE,QAAQ,EAAOzF,UAAU,mBACrCyhC,EAAYz6B,SAGdy6B,EAAYv3B,MACZrV,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,IAAIxE,QAAQ,EAAOzF,UAAU,yBACpCyhC,EAAYv3B,MAGdu3B,EAAY3jC,MAAM1B,KAAI,SAAC6G,EAAmBymB,GAC1C,OAAQzmB,EAAKK,WACZ,IAAK,cAiBJ,OACCzO,IAAAxD,cAAA,OAAK2O,UAAU,OAAO/L,IAAKy1B,GAC1B70B,IAAAxD,cAACwrC,GAAW,CACX/b,WAAY7d,EAAKiH,KACjB4yB,qBAAsB75B,EAAK65B,qBAC3BryB,GAAE,eAAAzT,OAAiByqC,EAAYh3B,KAE/B5V,IAAAxD,cAAA,OAAK2O,UAAU,iBACdnL,IAAAxD,cAACu1B,KAAQ13B,OAAA+N,OAAA,GACJgG,EAAK8D,SAAQ,CACjB26B,gBA1BgB,SAAC3lC,GACrB,GAAI3E,QAAUA,OAAOqW,WAAarW,OAAOqW,UAAUle,KAAM,CAGxD,IAAIoyC,EAAgB5lC,EAAOxI,IAAI,gBAC3BquC,EAAmB7lC,EAAOxI,IAAI,gBAC9BsuC,EAAmB9lC,EAAOxI,IAAI,gBAElC6D,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,iBACP4vC,cAAeA,EACfC,iBAAkBA,EAClBC,iBAAkBA,YAqBtB,IAAK,aAUJ,OACChtC,IAAAxD,cAAA,OAAK2O,UAAU,OAAO/L,IAAKy1B,GAC1B70B,IAAAxD,cAACywC,KAAU,CACV32B,KAAK,gBACLV,GAAE,cAAAzT,OAAgByqC,EAAYh3B,IAC9B+J,QAdmB,WAEF,qBAAXpd,QACPA,OAAOs9B,aACPt9B,OAAOs9B,YAAYM,YAEnB59B,OAAOs9B,YAAYM,cASlBhuB,QAAS/D,EAAKiH,MAEdrV,IAAAxD,cAAA,KAAG2O,UAAU,qCACXiD,EAAK8+B,QAKX,IAAK,SACJ,OACCltC,IAAAxD,cAAA,OAAK2O,UAAU,OAAO/L,IAAKy1B,GAC1B70B,IAAAxD,cAACywC,KAAU,CACV32B,KAAK,QACL62B,IAAI,IACJtrC,IAAG,QAAAM,OAAUiM,EAAKg/B,OAClBx3B,GAAE,UAAAzT,OAAYyqC,EAAYh3B,IAC1BzD,QAAS/D,EAAKiH,MAEdrV,IAAAxD,cAAA,KAAG2O,UAAU,qCACXiD,EAAK8+B,QAKX,IAAK,OACJ,OACCltC,IAAAxD,cAAA,OAAK2O,UAAU,YAAY/L,IAAKy1B,GAC/B70B,IAAAxD,cAAA,KAAG2O,UAAU,qCACXiD,EAAKiH,OAIV,QACC,OAAO,UAKb,IAAK,eACJ,IAAMg4B,EAAkB5P,EACxB,OACCz9B,IAAAxD,cAAA,OAAK4C,IAAKoc,EAAOrQ,UAAU,kBACzBkiC,EAAgBpkC,MAAM1B,KACtB,SAAC6G,EAAyBymB,GACzB,OACC70B,IAAAxD,cAAA,OAAK2O,UAAU,OAAO/L,IAAKy1B,GAC1B70B,IAAAxD,cAAC8wC,KAAY,CACZn7B,QAAS/D,EAAK+D,QACdsG,aAAcA,EACdpD,KAAMjH,EAAKiH,KACXxT,IAAKuM,EAAKvM,IACVyU,KAAMlI,EAAKkI,KACX+c,cAAevoB,UAQvB,QACC,OAAO,MAcP4+B,CAAmBjM,EAAO,KAAMjiB,QCrYrB+xB,GA7J6B,SAAHtsC,GAMlC,IALNkR,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACAuQ,EAAUvsC,EAAVusC,WAEAC,GADcxsC,EAAdysC,eACWzsC,EAAXwsC,aAEMpM,EAAmBpK,KACnBz0B,EAAWyU,eACXtU,EAAUuW,eACVyoB,EAAiBp2B,YAAYzF,GAC3BwO,EAAUoJ,KAAYjV,MAAMjG,EAASuD,QAArCuO,MACFitB,EAAwBvtB,iBAAY,MACpCytB,EAAsBztB,iBAAY,MACxCwZ,EAAkCC,aAAW+H,GAAe,CAC3DnK,QAAS,CACR/pB,QAAkB,OAAVksC,QAAU,IAAVA,OAAU,EAAVA,EAAYlsC,UAAwB,OAAdqgC,QAAc,IAAdA,OAAc,EAAdA,EAAgBrgC,QAC9C6I,KAAMk3B,EAAmB,GAAkB,OAAdM,QAAc,IAAdA,OAAc,EAAdA,EAAgBzT,sBAAuB,EACpEuH,SAAU,OAEV/H,EAAApa,aAAAka,EAAA,GANKwU,EAAWtU,EAAA,GAAEuU,EAAUvU,EAAA,GAO9BwU,EAAgCzU,aAAW0I,IAAmBgM,EAAA7uB,aAAA4uB,EAAA,GAAvDE,EAAUD,EAAA,GAAEE,EAASF,EAAA,GAQ5B,OANA7V,aAAgBiV,GAAuB,WAClCI,GACHU,EAAU,YAKXriC,IAAAxD,cAACikC,GAAU,KACT+M,GACAxtC,IAAAxD,cAAA,OAAK2O,UAAU,mBACdnL,IAAAxD,cAACmxC,KAAU,KACV3tC,IAAAxD,cAAC23B,KAAI,CAAC3iB,SAAS,EAAOrG,UAAU,gBAC/BnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,IACb,OAAV+Y,QAAU,IAAVA,OAAU,EAAVA,EAAYr7B,UACZnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAKxE,QAAQ,EAAOzF,UAAU,QAC3B,OAAVqiC,QAAU,IAAVA,OAAU,EAAVA,EAAYr7B,UAGJ,OAAVq7B,QAAU,IAAVA,OAAU,EAAVA,EAAYvQ,WACZj9B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,GACT,OAAV48B,QAAU,IAAVA,OAAU,EAAVA,EAAYvQ,WAGJ,OAAVuQ,QAAU,IAAVA,OAAU,EAAVA,EAAYI,YACZ5tC,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAACsmC,MAAW,CACXltB,GAAG,wBACHnE,MAAO+7B,EAAWK,sBAClB3K,YAAasK,EAAWrK,kBACxBh4B,UAAU,kBACV43B,WAAYxB,EACZyB,SAAUvB,EACVxX,YAAmC,YAAtB+X,EAAYljC,MACzBwT,aAAcgC,EAAQA,EAAMsmB,gBAAa98B,EACzCiX,SAAU,SAACjZ,GACW,WAArBsmC,EAAWtjC,OACVmjC,EAAW,SAAU,CACpBnjC,MAAOhD,EAAEgD,SAGZsV,SAAU,SAACtY,GAAY,IAADsnC,EACrBf,EAAU,SACS,OAAnBZ,QAAmB,IAAnBA,GAA4B,QAAT2B,EAAnB3B,EAAqB7sB,eAAO,IAAAwuB,GAA5BA,EAA8BC,OAC9B1gC,EAAQjI,KAAK,GAADyH,OAEVqrC,EAAWlK,cAAa,WAAAnhC,OACfqF,mBACT1L,EAAEgyC,0BAILtK,QAAS,WACRzlC,YAAW,WACVskC,EAAU,UACR,OAGkB,WAArBD,EAAWtjC,OACXkjC,EAAY3W,QAAQpwB,QACU,KAA9B+mC,EAAY3W,QAAQ/W,OACnBtU,IAAAxD,cAACinC,KAAmB,KAClBzB,EAAY3W,QAAQpwB,OAAOyoC,SAC3B1B,EAAY3W,QAAQpwB,OAAOyoC,QAAQn8B,KAClC,SAAC6G,GAAyB,OACzBpO,IAAAxD,cAACmnC,KAAuB,CACvBvkC,IAAKgP,EAAKhF,YAEVpJ,IAAAxD,cAACsO,GAAI,CAACE,GAAIoD,EAAKvM,KACd7B,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAU,OACVhJ,eAAa,EACbtM,KAAM,MAENiE,EAAK+D,aAKV6vB,EAAY3W,QAAQpwB,OAAO2oC,aAC3B5B,EAAY3W,QAAQpwB,OAAOkP,MAC3BnK,IAAAxD,cAACmnC,KAAuB,KACvB3jC,IAAAxD,cAACsO,GAAI,CACJE,GAAE,GAAA7I,OACa,OAAdw/B,QAAc,IAAdA,OAAc,EAAdA,EAAgB2B,cAAa,WAAAnhC,OACpBqF,mBACTw6B,EAAY3W,QAAQpwB,OAAOqZ,QAE5BqL,QAAS,WACR0iB,EAAU,WAGI,OAAdV,QAAc,IAAdA,OAAc,EAAdA,EAAgBkC,sBAIyB,IAA5C7B,EAAY3W,QAAQpwB,OAAO2oC,cAC3B5jC,IAAAxD,cAACmnC,KAAuB,KACvB3jC,IAAAxD,cAAA,SAAG,+BAMTwD,IAAAxD,cAACuxC,KAAe,YAQrBP,GACDxtC,IAAAxD,cAAC23B,KAAI,KACJn0B,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,IACXx0B,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAEFnS,IAAAxD,cAAA,OAAK2O,UAAU,SACdnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBmkB,OAONwQ,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,MC9KvBO,GAAgB,SAAC9xB,GACtB,OAAQA,GACP,KAAK,EACJ,MAAO,KACR,KAAK,EACJ,MAAO,KACR,KAAK,EACJ,MAAO,KACR,QACC,MAAO,MAIJ+xB,GAAiB,SAAClf,EAAe70B,GACtC,OAAQ60B,EAAStgB,WAChB,IAAK,kBACJ,OACCzO,IAAAxD,cAAC2Y,GAAI,CACJC,GAAI44B,GAAcjf,EAAS7S,OAC3B7G,KAAM0Z,EAASY,IACfvwB,IAAKlF,IAGR,IAAK,cACJ,OAAO8F,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIC,KAAM0Z,EAASY,IAAKvwB,IAAKlF,IAC9C,QACC,OAAO,OA8BKg0C,GAzBmC,SAAHjtC,GAIxC,IAHNkR,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACA5nB,EAAIpU,EAAJoU,KAEA,OACCrV,IAAAxD,cAACikC,GAAU,KACVzgC,IAAAxD,cAAC23B,KAAI,KACJn0B,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGtpB,UAAU,WACrCnL,IAAAxD,cAAA,SACCwD,IAAAxD,cAACsO,GAAI,CAACE,GAAG,KAAI,OAAU,mBAExBhL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,UAAUzD,KAAMlD,IACnCnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAI0D,KAAK,WAAWzD,KAAM4nB,IAClC5nB,GAAQA,EAAK0C,WACb/X,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,MAAM0D,KAAK,QAClBzD,EAAK0C,UAAUxQ,IAAI0mC,SC/BZE,GAduB,SAAHltC,GAAWA,EAALjE,MACxC,OACCgD,IAAAxD,cAAC23B,KAAI,KACJn0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,MAAK,OACdpV,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAI,2BAEZpV,IAAAxD,cAAA,WACAwD,IAAAxD,cAAA,KAAGiG,KAAK,KAAI,mBAAmB,O,yGC+BpB2rC,GA7BgC,SAAHntC,GAIrC,IAHNotC,EAAIptC,EAAJotC,KACAljC,EAASlK,EAATkK,UACAF,EAAQhK,EAARgK,SAEMqjC,EAAS,CACdC,aAAcC,KACdC,aAAcC,KACdC,cAAeC,KACfC,KAAMA,KACNrkB,QAASskB,MAGV,OACC9uC,IAAAxD,cAAA,OACC2e,WAAS,qBACThQ,UAAWoM,aACVpM,EACA,iBACA,aACA,iDAEDkF,MAAO,CAAE0+B,gBAAgB,OAAD5sC,OAASmsC,EAAOD,GAAK,OAE5CpjC,ICiIW+jC,GApJuD,SAAH/tC,GAS5D,IARNkR,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACAoR,EAAIptC,EAAJotC,KACAY,EAAahuC,EAAbguC,cACAC,EAAejuC,EAAfiuC,gBACA75B,EAAIpU,EAAJoU,KACA85B,EAAYluC,EAAZkuC,aACA1B,EAAWxsC,EAAXwsC,YAEM2B,EAAYlY,KAClB,OACCl3B,IAAAxD,cAACikC,GAAU,KACVzgC,IAAAxD,cAAA,OAAK2O,UAAU,mBACdnL,IAAAxD,cAAC4xC,GAAqB,CAACC,KAAMA,EAAMljC,UAAU,SAC5CnL,IAAAxD,cAAC23B,KAAI,CAAC3iB,SAAS,EAAOrG,UAAU,gBAC/BnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACvBtiB,GACAnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,UAAUlI,QAAQ,EAAOzF,UAAU,QACpDgH,GAGF88B,GACAjvC,IAAAxD,cAAC6yC,KAAa,CACb9H,OAAQ0H,EAAc1H,OACtB+H,cAAc,aAEbL,EAActmB,YACdsmB,EAActmB,WAAWvuB,OAAS,GACjC4F,IAAAxD,cAAC+yC,KAAyB,KACxBN,EAActmB,WAAWphB,KAAI,SAACkjC,EAAUjvB,GACxC,OACCxb,IAAAxD,cAACgzC,KAAqB,CACrBpwC,IAAKoc,EACL3Z,IAAK4oC,EAAS5oC,IACdwT,KAAMo1B,EAASp1B,KACfge,cAAevoB,UAQtBmyB,GACAj9B,IAAAxD,cAAA,KAAG2O,UAAU,yCACX8xB,MAMNj9B,IAAAxD,cAAC23B,KAAI,CACJvjB,QAAQ,EACRY,SAAS,EACTrG,UAAWoM,cACT23B,GAAmBC,IAAiB,mBACrC,iBAGAC,IAAcF,GAAmBC,IACjCnvC,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,EAAGrpB,UAAU,gBACxBnL,IAAAxD,cAAA,OAAK2O,UAAU,cACb+jC,GACAlvC,IAAAxD,cAACizC,MAAG,CACHt9B,QAAS+8B,EAAgB/8B,QACzBlJ,MAAOimC,EAAgBQ,SACvBvkC,UAAU,SAET+jC,EAAgBS,OAAOpoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACozC,MAAO,CAACntC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,UAKG,OAAZ85B,QAAY,IAAZA,OAAY,EAAZA,EAAc5nC,KAAI,SAACsoC,EAAar0B,GAAW,IAADs0B,EAC1C,OACC9vC,IAAAxD,cAAC22B,KAAQ,CACR/zB,IAAKoc,EACLrJ,QAAoB,OAAX09B,QAAW,IAAXA,OAAW,EAAXA,EAAa19B,QACtBhH,UAAU,SAEQ,QAFD2kC,EAEhBD,EAAYtK,aAAK,IAAAuK,OAAA,EAAjBA,EAAmBvoC,KAAI,SAAC6G,EAAMymB,GAAQ,OACtC70B,IAAAxD,cAAC42B,KAAY,CACZ/d,KAAMjH,EAAKiH,KACXxT,IAAKuM,EAAK3L,KACV6T,KAAM,QACN5Y,OAAQ0Q,EAAK1Q,OACb21B,cAAevoB,GACf1L,IAAKy1B,EACLvB,SAAUllB,EAAKklB,oBAUvBtzB,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,IACtB2a,GAAaF,GACdlvC,IAAAxD,cAACizC,MAAG,CACHt9B,QAAS+8B,EAAgB/8B,QACzBlJ,MAAO,GACPkC,UAAU,QAET+jC,EAAgBS,OAAOpoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACozC,MAAO,CAACntC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,WAKR+5B,IACW,OAAZD,QAAY,IAAZA,OAAY,EAAZA,EAAc5nC,KAAI,SAACsoC,EAAar0B,GAAW,IAADu0B,EACzC,OACC/vC,IAAAxD,cAAC22B,KAAQ,CACR/zB,IAAKoc,EACLrJ,QAAoB,OAAX09B,QAAW,IAAXA,OAAW,EAAXA,EAAa19B,QACtBhH,UAAU,SAEQ,QAFD4kC,EAEhBF,EAAYtK,aAAK,IAAAwK,OAAA,EAAjBA,EAAmBxoC,KAAI,SAAC6G,EAAMymB,GAAQ,OACtC70B,IAAAxD,cAAC42B,KAAY,CACZ/d,KAAMjH,EAAKiH,KACXxT,IAAKuM,EAAK3L,KACV6T,KAAM,QACN5Y,OAAQ0Q,EAAK1Q,OACb21B,cAAevoB,GACf1L,IAAKy1B,EACLvB,SAAUllB,EAAKklB,mBAMrBtzB,IAAAxD,cAACsb,GAAY,CAACgB,KAAK,OAAOf,UAAe,OAAJ1C,QAAI,IAAJA,OAAI,EAAJA,EAAM0C,eAK7C01B,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,MC1BduC,GAzHuD,SAAH/uC,GAW5D,IAVNkR,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACAoR,EAAIptC,EAAJotC,KACAY,EAAahuC,EAAbguC,cACAgB,EAAgBhvC,EAAhBgvC,iBACAC,EAAiBjvC,EAAjBivC,kBACAC,EAASlvC,EAATkvC,UACAC,EAAUnvC,EAAVmvC,WACAC,EAAiBpvC,EAAjBovC,kBACAC,EAAkBrvC,EAAlBqvC,mBAEA,OACCtwC,IAAAxD,cAACikC,GAAU,KACVzgC,IAAAxD,cAAA,OAAK2O,UAAU,mBACdnL,IAAAxD,cAAC4xC,GAAqB,CAACC,KAAMA,GAC5BruC,IAAAxD,cAAC23B,KAAI,CAAC3iB,SAAS,EAAOrG,UAAU,gBAC/BnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACvBtiB,GACAnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,UAAUlI,QAAQ,EAAOzF,UAAU,QACpDgH,GAGF88B,GACAjvC,IAAAxD,cAAC6yC,KAAa,CACb9H,OAAQ0H,EAAc1H,OACtB+H,cAAc,aAEbL,EAActmB,YACdsmB,EAActmB,WAAWvuB,OAAS,GACjC4F,IAAAxD,cAAC+yC,KAAyB,KACxBN,EAActmB,WAAWphB,KAAI,SAACkjC,EAAUjvB,GACxC,OACCxb,IAAAxD,cAACgzC,KAAqB,CACrBpwC,IAAKoc,EACL3Z,IAAK4oC,EAAS5oC,IACdwT,KAAMo1B,EAASp1B,KACfge,cAAevoB,UAQtBmyB,GACAj9B,IAAAxD,cAAA,KAAG2O,UAAU,yCACX8xB,SAOK,OAATkT,QAAS,IAATA,OAAS,EAATA,EAAWp4B,aAAsB,OAATo4B,QAAS,IAATA,OAAS,EAATA,EAAWp4B,UAAU3d,QAAS,GACvDi2C,GAAqBA,EAAkBj2C,OAAS,IACjD4F,IAAAxD,cAAC23B,KAAI,KACJn0B,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAACsb,GAAY,CAACgB,KAAK,OAAOf,UAAoB,OAATo4B,QAAS,IAATA,OAAS,EAATA,EAAWp4B,aAEjD/X,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGtpB,UAAU,4BACnB,OAAjBklC,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmB9oC,KAAI,SAACsoC,EAAar0B,GAAW,IAADs0B,EAC/C,OACC9vC,IAAAxD,cAAC22B,KAAQ,CACR/zB,IAAKoc,EACLrJ,QAAoB,OAAX09B,QAAW,IAAXA,OAAW,EAAXA,EAAa19B,QACtBhH,UAAU,SAEQ,QAFD2kC,EAEhBD,EAAYtK,aAAK,IAAAuK,OAAA,EAAjBA,EAAmBvoC,KAAI,SAAC6G,EAAMymB,GAAQ,OACtC70B,IAAAxD,cAAC42B,KAAY,CACZ/d,KAAMjH,EAAKiH,KACXxT,IAAKuM,EAAK3L,KACV6T,KAAM,QACN5Y,OAAQ0Q,EAAK1Q,OACb21B,cAAevoB,GACf1L,IAAKy1B,EACLvB,SAAUllB,EAAKklB,oBAStB2c,GAAoBA,EAAiB71C,OAAS,GAC9C4F,IAAAxD,cAACgtC,GAAc,CAAClnC,QAAS2tC,MAEb,OAAVG,QAAU,IAAVA,OAAU,EAAVA,EAAYr4B,YAAaq4B,EAAWr4B,UAAU3d,OAAS,GACxDk2C,GAAsBA,EAAmBl2C,OAAS,IACnD4F,IAAAxD,cAAC23B,KAAI,KACJn0B,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAACsb,GAAY,CAACgB,KAAK,OAAOf,UAAqB,OAAVq4B,QAAU,IAAVA,OAAU,EAAVA,EAAYr4B,aAElD/X,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGtpB,UAAU,4BAClB,OAAlBmlC,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoB/oC,KAAI,SAACsoC,EAAar0B,GAAW,IAADu0B,EAChD,OACC/vC,IAAAxD,cAAC22B,KAAQ,CAAC/zB,IAAKoc,EAAOrJ,QAAoB,OAAX09B,QAAW,IAAXA,OAAW,EAAXA,EAAa19B,SACzB,QADiC49B,EAClDF,EAAYtK,aAAK,IAAAwK,OAAA,EAAjBA,EAAmBxoC,KAAI,SAAC6G,EAAMymB,GAAQ,OACtC70B,IAAAxD,cAAC42B,KAAY,CACZ/d,KAAMjH,EAAKiH,KACXxT,IAAKuM,EAAK3L,KACV6T,KAAM,QACN5Y,OAAQ0Q,EAAK1Q,OACb21B,cAAevoB,GACf1L,IAAKy1B,EACLvB,SAAUllB,EAAKklB,oBAStB4c,GAAqBA,EAAkB91C,OAAS,GAChD4F,IAAAxD,cAACgtC,GAAc,CAAClnC,QAAS4tC,MC7BdK,GA7EgC,SAAHtvC,GAOrC,IANNuvC,EAAiBvvC,EAAjBuvC,kBACAC,EAAkBxvC,EAAlBwvC,mBACA1W,EAAkB94B,EAAlB84B,mBAEA5uB,GAFkBlK,EAClByV,QACSzV,EAATkK,WACAkvB,EAAep5B,EAAfo5B,gBAEM/zB,EAAeiF,YAAYlF,GAC3B41B,EAAiBC,qBAAWC,IAC1BxO,EAASsO,EAAeI,oBAAxB1O,KACRxa,EAA8BC,oBAAkB,GAAMC,EAAAC,aAAAH,EAAA,GAA/Cu9B,EAAOr9B,EAAA,GAAEs9B,EAAUt9B,EAAA,GACpBipB,EAAkBC,aACvBN,EAAeI,oBACfrE,IAuCD,OAPAxe,qBAAU,WACLugB,GACH4W,EAP8B,SAAC5X,GAChC,IAAI6X,EAAQtU,EAAgBn1B,QAAO,SAACiH,GAAI,OAAKA,IAAS2qB,KACtD,SAAO6X,GAASA,EAAMx2C,OAAS,GAKnBy2C,CAAwB9W,MAGlC,CAACuC,EAAiBvC,IAGpB/5B,IAAAxD,cAAAwD,IAAAiU,SAAA,KACE3N,GACAtG,IAAAxD,cAACs9B,KAAgB,CAChBja,qBAAmB,2BACnBF,QAAS,SAAC7jB,GAAC,OAzCS,SAACA,GACxBA,EAAEyd,iBACEm3B,EACH/iB,EAAK,kBAAmB,CACvBvf,KAAM2rB,KAGPpM,EAAK,eAAgB,CACpBvf,KAAM2rB,IAGHx3B,OAAOqW,WAAarW,OAAOqW,UAAUle,MACxC6H,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,eACPk9B,oBAAqBC,EAAgBD,oBACrCE,qBAAsBD,EAAgBC,qBACtCC,wBAAyBF,EAAgBE,wBACzCC,aAAcH,EAAgBG,aAC9BC,cAAeJ,EAAgBI,iBAIlCkW,GAAYD,GAmBOI,CAAgBh1C,IAChCya,MAAOm6B,EAAU,OAAS,OAC1Bh6B,QAAQ,UACRvL,UAAWA,GAEXnL,IAAAxD,cAAC6Z,KAAI,CACJC,KAAMo6B,EAAU,cAAgB,SAChCj6B,eAAa,EACbtL,UAAU,eAEXnL,IAAAxD,cAAA,QAAM2O,UAAU,sBACdulC,EAAUF,EAAoBC,MCyNtBM,GAxRd,SADsF9vC,GAa/E,IAAD+vC,EAAAC,EAXL9+B,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACAiU,EAAYjwC,EAAZiwC,aACAC,EAA0BlwC,EAA1BkwC,2BACAC,EAAInwC,EAAJmwC,KACAC,EAAapwC,EAAbowC,cACAC,EAAerwC,EAAfqwC,gBACA7D,EAAWxsC,EAAXwsC,YACApT,EAAep5B,EAAfo5B,gBACAx4B,EAAGZ,EAAHY,IACA0vC,EAAUtwC,EAAVswC,WAEMnC,EAAYlY,KACZtqB,EAAWrB,YAAY7G,GACvB8sC,EAAcjmC,YAAYjH,GAC1Bg9B,EAAWvK,KACjB5jB,EAAkCC,mBAAiB,IAAGC,EAAAC,aAAAH,EAAA,GAA/C0a,EAASxa,EAAA,GAAEya,EAAYza,EAAA,GA6C9B,OA3BAmG,qBAAU,WAERsU,EADGwT,EACU,GAEC8P,GAAQA,EAAKh3C,OAAS,GAAKg3C,EAAK,GAAGx7B,MAGhD,CAAC0rB,IAEJ9nB,qBAAU,WACLg4B,GACCjvC,OAAOqW,WAAarW,OAAOqW,UAAUle,MAAQ2/B,GAChD93B,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,WACPu0C,SAAUlvC,OAAOC,SAASkvC,UAAY7vC,EACtC8vC,UAAmB,OAAR/kC,QAAQ,IAARA,OAAQ,EAARA,EAAUE,MACrB8kC,SAAUJ,EAAY/iC,UACtB2rB,oBAAqBC,EAAgBD,oBACrCE,qBAAsBD,EAAgBC,qBACtCC,wBAAyBF,EAAgBE,wBACzCC,aAAcH,EAAgBG,aAC9BC,cAAeJ,EAAgBI,kBAIhC,IAGFz6B,IAAAxD,cAACikC,GAAU,CAACW,aAAa,GACxBphC,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,KAIJnS,IAAAxD,cAAC23B,KAAI,CACJvjB,QAAQ,EACRY,SAAS,EACTrG,UAAWoM,aAAK,kCAEf63B,GACApvC,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,EAAGrpB,UAAU,gBACvB+lC,GACAlxC,IAAAxD,cAAA,OAAK2O,UAAU,QACb+lC,EAAa/+B,SACbnS,IAAAxD,cAAA,MAAI2O,UAAU,8BACZ+lC,EAAa/+B,SAGf++B,EAAajoC,OAASioC,EAAajoC,MAAM7O,OAAS,GAClD4F,IAAAxD,cAACq1C,KAAuB,KACJ,QADIb,EACtBE,EAAajoC,aAAK,IAAA+nC,OAAA,EAAlBA,EAAoBzpC,KACpB,SAAC6G,EAAgCoN,GAChC,OACCxb,IAAAxD,cAACs1C,KAA0B,CAAC1yC,IAAKoc,GAChCxb,IAAAxD,cAACu1C,KAAuB,CAAC18B,KAAMjH,EAAK+D,UACpCnS,IAAAxD,cAACw1C,KAAuB,KACvBhyC,IAAAxD,cAAA,OACC2O,UAAU,uBACVwb,wBAAyB,CACxBC,OAAQxY,EAAKiH,eAYvBi8B,GAAmBA,EAAgBvX,oBACnC/5B,IAAAxD,cAAA,OAAK2O,UAAU,cACdnL,IAAAxD,cAAC+zC,GAAqB,CACrBC,kBAAmBc,EAAgBd,kBACnCC,mBAAoBa,EAAgBb,mBACpC1W,mBAAoBuX,EAAgBvX,mBACpCM,gBAAiBA,KAKnBgX,GACArxC,IAAAxD,cAAA,OAAK2O,UAAU,cACdnL,IAAAxD,cAAC2Z,KAAM,CACN0J,qBAAoBwxB,EAAch8B,KAClCD,GAAG,IACHie,cAAevoB,GACfrI,KAAM4uC,EAAcxvC,KAEnBwvC,EAAch8B,QAOpBrV,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAA,OAAK2O,UAAU,kBACdnL,IAAAxD,cAAC6yC,KAAa,CAAC9H,QAAQ,EAAMp8B,UAAU,gBACrCgmC,GACAnxC,IAAAxD,cAAA,OACCmqB,wBAAyB,CACxBC,OAAQuqB,GAEThmC,UAAU,cAIbnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBmkB,GAEDsU,GACAvxC,IAAAxD,cAACk/B,KAAK,CAAChlB,QAAQ,OAAOvL,UAAU,QAC/BnL,IAAAxD,cAACsb,GAAY,CAACC,UAAWw5B,EAAWx5B,cAGpCq3B,GACDpvC,IAAAxD,cAAAwD,IAAAiU,SAAA,MACc,OAAZi9B,QAAY,IAAZA,OAAY,EAAZA,EAAc/+B,UACdnS,IAAAxD,cAAA,MAAI2O,UAAU,8BACZ+lC,EAAa/+B,UAGH,OAAZ++B,QAAY,IAAZA,OAAY,EAAZA,EAAcjoC,SAAqB,OAAZioC,QAAY,IAAZA,OAAY,EAAZA,EAAcjoC,MAAM7O,QAAS,GACpD4F,IAAAxD,cAACq1C,KAAuB,CAAC1mC,UAAU,QACf,QADqB8lC,EACvCC,EAAajoC,aAAK,IAAAgoC,OAAA,EAAlBA,EAAoB1pC,KACpB,SAAC6G,EAAgCoN,GAChC,OACCxb,IAAAxD,cAACs1C,KAA0B,CAAC1yC,IAAKoc,GAChCxb,IAAAxD,cAACu1C,KAAuB,CAAC18B,KAAMjH,EAAK+D,UACpCnS,IAAAxD,cAACw1C,KAAuB,KACvBhyC,IAAAxD,cAAA,OACC2O,UAAU,uBACVwb,wBAAyB,CACxBC,OAAQxY,EAAKiH,cAUrBi8B,GAAmBA,EAAgBvX,oBACnC/5B,IAAAxD,cAAA,OAAK2O,UAAU,cACdnL,IAAAxD,cAAC+zC,GAAqB,CACrBC,kBAAmBc,EAAgBd,kBACnCC,mBAAoBa,EAAgBb,mBACpC1W,mBAAoBuX,EAAgBvX,mBACpCM,gBAAiBA,KAInBgX,GACArxC,IAAAxD,cAAA,OAAK2O,UAAU,cACdnL,IAAAxD,cAAC2Z,KAAM,CACNf,GAAG,IACHie,cAAevoB,GACfrI,KAAM4uC,EAAcxvC,KAEnBwvC,EAAch8B,QAMlBisB,EA0CG,OAAJ8P,QAAI,IAAJA,OAAI,EAAJA,EAAM7pC,KAAI,SAAC0qC,EAAez2B,GACzB,OACCxb,IAAAxD,cAAC01C,KAAqB,CACrB78B,KAAM48B,EAAI3jB,QACV3O,QAAS,kBA7OW,SAACwyB,GAC7B,GAAItkB,IAAcskB,EACjBrkB,EAAa,QACP,CAAC,IAADskB,EAAAC,EACAC,EAAgB,QAAXF,EAAG71C,gBAAQ,IAAA61C,GAErB,QAFqBC,EAARD,EAAUhT,eAAe,oBAADj9B,OACjBgwC,WACpB,IAAAE,OAFqB,EAARA,EAEXE,UACCD,GACH/vC,OAAOiwC,SAAS,CACf3hC,IAAKyhC,EACLG,SAAU,WAGZ3kB,EAAaqkB,IAgOSO,CAAqBT,EAAIr8B,KACxCA,GAAIq8B,EAAIr8B,GACR+C,SAAUkV,IAAcokB,EAAIr8B,GAC5BxW,IAAKoc,EACLrQ,UAAU,QAEVnL,IAAAxD,cAAA,OAAK2O,UAAU,QACb8mC,EAAI58B,MACJrV,IAAAxD,cAACsb,GAAY,CAACC,UAAWk6B,EAAI58B,KAAK0C,iBArDvC/X,IAAAxD,cAAAwD,IAAAiU,SAAA,KACEm9B,GACApxC,IAAAxD,cAAC4xB,KAAiB,KAChBgjB,EAAK7pC,KAAI,SAAC0qC,EAAez2B,GACzB,OACCxb,IAAAxD,cAAC6xB,KAAY,CACZhZ,KAAM48B,EAAI3jB,QACV1Y,GAAIq8B,EAAIr8B,GACR2W,gBAAA,GAAApqB,OAAkB8vC,EAAIr8B,GAAE,YACxB2Y,iBAAe,EACfX,SAAUC,IAAcokB,EAAIr8B,GAC5B+J,QAAS,WACRmO,EAAamkB,EAAIr8B,KAElBxW,IAAKoc,GAEJy2B,EAAI3jB,aAOL,OAAJ8iB,QAAI,IAAJA,OAAI,EAAJA,EAAM7pC,KAAI,SAAC0qC,EAAez2B,GAC1B,OACCxb,IAAAxD,cAAA,OACCgyB,KAAK,WACL5Y,GAAE,GAAAzT,OAAK8vC,EAAIr8B,GAAE,YACbxW,IAAKoc,EACLrQ,UAAWoM,aACVsW,IAAcokB,EAAIr8B,GAAK,QAAU,WAGjCq8B,EAAI58B,MACJrV,IAAAxD,cAACsb,GAAY,CAACC,UAAWk6B,EAAI58B,KAAK0C,oBA6B1C01B,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,MC9QxBjnC,GAAoB,SACzBmsC,EACAC,EACAh9B,EACA9W,GAEA,IAAIwV,EAAkB,GAClBu+B,GAAU,EACd,IAAK,IAAIC,KAAeH,EAAS,CAChC,GAAIE,EAAS,MAEb,IAAME,EAASJ,EAAQG,GACvB,IAAK,IAAIE,KAAeD,EAAO1gC,QAAS,CACvC,IAAM4D,EAAS88B,EAAO1gC,QAAQ2gC,GAC9B,GAAI/8B,EAAO5O,SAAU,CACpB,GAAIuO,IAAE,SAAAzT,OAAcywC,EAAW,YAAAzwC,OAAW4wC,EAAOrrC,MAAQ,CACxD4M,EAAM5Z,KAAK,GAADyH,OAAI4wC,EAAOrrC,KAAI,KAAAvF,OAAIrD,IAC7B+zC,GAAU,EACV,MAEAv+B,EAAM5Z,KAAK,GAADyH,OAAI4wC,EAAOrrC,KAAI,KAAAvF,OAAI8T,EAAOnX,UAKxC,OAAOwV,EAAM7M,KAAK,MAGbwrC,GAAoB,SAAC5gC,GAC1B,IAAI6gC,EAAiB7gC,EAAQlL,QAC5B,SAAC8O,GAAmC,OAAyB,IAApBA,EAAO5O,YAEjD,OAAqB,OAAd6rC,QAAc,IAAdA,OAAc,EAAdA,EAAgB94C,QAAS,IAAK,GAsNvB+4C,GAlNmC,SAAHlyC,GASxC,IAADmyC,EARLC,EAAMpyC,EAANoyC,OACA5C,EAAkBxvC,EAAlBwvC,mBACAD,EAAiBvvC,EAAjBuvC,kBACAoC,EAAW3xC,EAAX2xC,YACA79B,EAAQ9T,EAAR8T,SACA4Y,EAAI1sB,EAAJ0sB,KACA2lB,EAAYryC,EAAZqyC,aACAvvC,EAAO9C,EAAP8C,QAEQ4uC,EAA0BU,EAA1BV,QAASzB,EAAiBmC,EAAjBnC,aACjB/9B,EAA8CC,mBAAS,CACtDgnB,oBAAqB,KACrBE,qBAAsB,KACtBC,wBAAyB,KACzBC,aAAc,KACdC,cAAe,OACdpnB,EAAAC,aAAAH,EAAA,GANKknB,EAAehnB,EAAA,GAAEkgC,EAAkBlgC,EAAA,GAOpCmgC,EAAqB,SAAC13C,GAC3B,IAAA23C,EAAsB33C,EAAE4B,OAAhBkY,EAAE69B,EAAF79B,GAAI9W,EAAK20C,EAAL30C,MACR40C,EAAclrC,KAAKC,MAAMD,KAAKgB,UAAUmpC,IACxCE,GAAU,EACda,EAAY1gC,SAAQ,SAAC+/B,EAAav3B,GACyB,IAADm4B,EAAzD,GAAI,SAAAxxC,OAASywC,EAAW,YAAAzwC,OAAW4wC,EAAOrrC,QAAWkO,EACtC,QAAd+9B,EAAAZ,EAAO1gC,eAAO,IAAAshC,GAAdA,EAAgB3gC,SAAQ,SAACiD,GACpBA,EAAOnX,QAAUA,EACpBmX,EAAO5O,UAAW,EAElB4O,EAAO5O,UAAW,KAGpBwrC,GAAU,OACJ,GAAIA,EAAS,CAAC,IAADe,EACL,QAAdA,EAAAb,EAAO1gC,eAAO,IAAAuhC,GAAdA,EAAgB5gC,SAAQ,SAACiD,GACxBA,EAAO5O,UAAW,SAKrB0N,EAAS69B,EAAac,GAEtB/lB,EAAK,QAAS,CACbrZ,MAAO9N,GAAkBktC,EAAad,EAAah9B,EAAI9W,MAoDzD,OAhDA0a,qBAAU,WACT,IAAIk6B,EAAclrC,KAAKC,MAAMD,KAAKgB,UAAUmpC,IAExCvY,EACHsZ,EAAY,GAAGrhC,SACfqhC,EAAY,GAAGrhC,QAAQ8O,MAAK,SAAC0yB,GAAQ,OAAKA,EAAIxsC,aAC9CqsC,EAAY,GAAGrhC,QAAQ8O,MAAK,SAAC0yB,GAAQ,OAAKA,EAAIxsC,YAAUC,KAErDgzB,EACHoZ,EAAY,GAAGrhC,SACfqhC,EAAY,GAAGrhC,QAAQ8O,MAAK,SAAC0yB,GAAQ,OAAKA,EAAIxsC,aAC9CqsC,EAAY,GAAGrhC,QAAQ8O,MAAK,SAAC0yB,GAAQ,OAAKA,EAAIxsC,YAAUC,KAErDwsC,EACHJ,EAAY,GAAGrhC,SACfqhC,EAAY,GAAGrhC,QAAQ8O,MAAK,SAAC0yB,GAAQ,OAAKA,EAAIxsC,aAC9CqsC,EAAY,GAAGrhC,QAAQ8O,MAAK,SAAC0yB,GAAQ,OAAKA,EAAIxsC,YAAUC,KAErDkzB,EACHkZ,EAAY,GAAGrhC,SACfqhC,EAAY,GAAGrhC,QAAQ8O,MAAK,SAAC0yB,GAAQ,OAAKA,EAAIxsC,aAC9CqsC,EAAY,GAAGrhC,QAAQ8O,MAAK,SAAC0yB,GAAQ,OAAKA,EAAIxsC,YAAUC,KAErDmzB,EACHiZ,EAAY,GAAGrhC,SACfqhC,EAAY,GAAGrhC,QAAQ8O,MAAK,SAAC0yB,GAAQ,OAAKA,EAAIxsC,aAC9CqsC,EAAY,GAAGrhC,QAAQ8O,MAAK,SAAC0yB,GAAQ,OAAKA,EAAIxsC,YAAUC,KAErD/E,QAAUA,OAAOqW,WAAarW,OAAOqW,UAAUle,MAAQw2C,IAC1DqC,EAAmB,CAClBnZ,oBAAwC,OAAnBA,QAAmB,IAAnBA,IAAuB,GAC5CE,qBAA0C,OAApBA,QAAoB,IAApBA,IAAwB,GAC9CC,wBAAgD,OAAvBuZ,QAAuB,IAAvBA,IAA2B,GACpDtZ,aAA0B,OAAZA,QAAY,IAAZA,IAAgB,GAC9BC,cAA4B,OAAbA,QAAa,IAAbA,IAAiB,KAGjCl4B,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,kBACPk9B,oBAAwC,OAAnBA,QAAmB,IAAnBA,IAAuB,GAC5CE,qBAA0C,OAApBA,QAAoB,IAApBA,IAAwB,GAC9CwZ,wBAAgD,OAAvBA,QAAuB,IAAvBA,IAA2B,GACpDtZ,aAA0B,OAAZA,QAAY,IAAZA,IAAgB,GAC9BC,cAA4B,OAAbA,QAAa,IAAbA,IAAiB,QAGhC,CAACyW,IAGHlxC,IAAAxD,cAAA,QAAM2O,UAAU,YACfnL,IAAAxD,cAAA,gBACCwD,IAAAxD,cAAA,UAAQ2O,UAAU,wBAAsB,yBAAAhJ,OACnBywC,EAAW,2EAE/BD,EAAQprC,KAAI,SAACwrC,EAA+BD,GAAyB,IAADiB,EACpE,OACC/zC,IAAAxD,cAAA,OACC4C,IAAK0zC,EACL3nC,UAAWoM,cAAMw7B,EAAO1gC,SAAW,aAAc,SAEjDrS,IAAAxD,cAAA,SACCgZ,QAAO,SAAArT,OAAWywC,EAAW,YAAAzwC,OAAW4wC,EAAOrrC,MAC/CyD,UAAU,WAAS,GAAAhJ,OAEf4wC,EAAOn1C,KAAI,qBAAAuE,OAAiBywC,IAEjC5yC,IAAAxD,cAAA,UACCoB,KAAI,SAAAuE,OAAWywC,EAAW,YAAAzwC,OAAW4wC,EAAOrrC,MAC5CkO,GAAE,SAAAzT,OAAWywC,EAAW,YAAAzwC,OAAW4wC,EAAOrrC,MAC1C0O,UAAW28B,EAAO1gC,QAClB0C,SAAUy+B,EACV/9B,UAAQ,EACRtK,UAAWoM,aACV,gRAIAvX,IAAAxD,cAAA,UACCsC,MAAM,GACNsX,UAAQ,EACR/O,UACE0rC,EAAO1gC,UAAY4gC,GAAkBF,EAAO1gC,UAG7C0gC,EAAOn1C,MAGK,QAFLm2C,EAEThB,EAAO1gC,eAAO,IAAA0hC,OAAA,EAAdA,EAAgBxsC,KAChB,SACC0O,EACA+8B,GAEA,OACChzC,IAAAxD,cAAA,UACCsC,MAAOmX,EAAOnX,MACduI,SAAU4O,EAAO5O,SACjBjI,IAAK4zC,GAEJ/8B,EAAO3O,cAShBtH,IAAAxD,cAAA,UACCgB,KAAK,SACL2N,UAAU,UACVwU,QAAS,SAAC7jB,GACTA,EAAEyd,iBACFoU,EAAK,QAAS,CACbrZ,MAAO9N,GAAkBmsC,EAASC,OAElC,yCAAAzwC,OAEkCywC,IAErC5yC,IAAAxD,cAAA,OAAK8+B,YAAU,SAAS0Y,cAAY,QAClCV,GACAtzC,IAAAxD,cAACk/B,KAAK,CAAChlB,QAAQ,SAASvL,UAAU,QACjCnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,EAAOzF,UAAU,QACpCmoC,KAKLtzC,IAAAxD,cAAA,OAAK2O,UAAU,OAAOmwB,YAAU,SAAS0Y,cAAY,QACnD9C,GACAlxC,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAC+zC,GAAqB,CACrBC,kBAAmBA,EACnBC,mBAAoBA,EACpB1W,mBAAoBmX,EAAanX,mBACjC5uB,UAAU,OACVkvB,gBAAiBA,GAAmBA,IAGrCr6B,IAAAxD,cAAA,MAAI2O,UAAU,aACbnL,IAAAxD,cAACsO,GAAI,CACJE,GAAIkmC,EAAarvC,IACjBsJ,UAAU,oCAET+lC,EAAa/+B,UAGhBnS,IAAAxD,cAACsb,GAAY,CACZgB,KAAK,OACLf,UAAuB,OAAZm5B,QAAY,IAAZA,GAAkB,QAANkC,EAAZlC,EAAc77B,YAAI,IAAA+9B,OAAN,EAAZA,EAAoBr7B,eAMnChU,GACA/D,IAAAxD,cAAA,OAAK2O,UAAU,mFACdnL,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,SAASnM,KAAM,EAAGqM,QAAQ,OAAO8Z,aAAW,cC1QtD2jB,GAAqB,eAAAhzC,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOC,EAAgBE,GAAgB,IAAA0yC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA/wC,EAAA/J,EAAA,OAAAuH,IAAAY,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EAC7CE,IAAM1D,IAAI,GAADyD,OAAIb,EAAM,KAAAa,OAAIX,GAAe,CAC5DgT,QAAS,CACR,sBACO,QAAN0/B,EAAA3xC,cAAM,IAAA2xC,GAAS,QAATC,EAAND,EAAQS,eAAO,IAAAR,GAAW,QAAXC,EAAfD,EAAiBtxC,iBAAS,IAAAuxC,OAApB,EAANA,EAA4BtxC,UAAWP,OAAOQ,UAC/C,oBACO,QAANsxC,EAAA9xC,cAAM,IAAA8xC,GAAS,QAATC,EAAND,EAAQM,eAAO,IAAAL,GAAW,QAAXC,EAAfD,EAAiBzxC,iBAAS,IAAA0xC,OAApB,EAANA,EAA4BzxC,UAAWP,OAAOQ,UAC/C,mBACO,QAANyxC,EAAAjyC,cAAM,IAAAiyC,GAAS,QAATC,EAAND,EAAQG,eAAO,IAAAF,GAAW,QAAXC,EAAfD,EAAiB5xC,iBAAS,IAAA6xC,OAApB,EAANA,EAA4B5xC,UAAWP,OAAOQ,aAE9C,KAAD,EATU,OASVY,EAAAC,EAAAvB,KATMzI,EAAI+J,EAAJ/J,KAAIgK,EAAAZ,OAAA,SAWL,CAAEpJ,OAAM4H,gBAAa,wBAAAoC,EAAAX,UAAA5B,OAC5B,gBAb0B6B,EAAAC,GAAA,OAAAlC,EAAAlG,MAAA,KAAAuI,YAAA,GAedsxC,GAA4BzpB,aAIxC,CACCvV,GAAI,4BACJwV,QAAS,OACTC,QAAS,CACR/pB,OAAQ,GACR0C,MAAO,GACPhH,WAAOc,GAERwtB,OAAQ,CACPC,KAAM,GACNxnB,QAAS,CACRynB,OAAQ,CACP5V,GAAI,UACJ/Y,IAAK,SAACmF,EAAU9E,GACf,OAAO+2C,GAAsBjyC,EAASV,OAAQpE,EAAMoX,QAErDmX,OAAQ,CACP/tB,OAAQ,UACRqD,QAASqH,aAAO,CACfpE,MAAO,SAAChC,EAAU9E,GAAK,OAAKA,EAAMtD,KAAKA,SAGzC8xB,QAAS,CACRhuB,OAAQ,UACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GACjB,MAAM,SAANiF,OAAgBjF,EAAMtD,KAAK+a,SAASykB,OAAM,OAAAj3B,OAAMjF,EAAMtD,KAAK+a,SAAS0kB,kBAMzEzN,QAAS,GACTC,QAAS,GACTgpB,SAAU,CACTC,MAAO,CAAC,gBACRC,OAAQ,CAAC,CAAEr3C,OAAQ,WAGrBouB,GAAI,CACHC,MAAO,CACN,CACCruB,OAAQ,UACRqD,QAAS,KAGXi0C,MAAO,aAGT,CACCj0C,QAAS,CACRk0C,aAAc7sC,aAAO,CACpB9G,OAAQ,SAAC+pB,EAASnuB,GAAU,OAAKA,EAAMoE,QAAU+pB,EAAQ/pB,QACzD0C,MAAO,SAACqnB,EAASnuB,GAAU,OAAKA,EAAM8G,OAASqnB,EAAQrnB,YCwE5CkxC,GA1Id,SADgFj0C,GAUzE,IARNkR,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACA37B,EAAML,EAANK,OACAO,EAAGZ,EAAHY,IACAszC,EAAOl0C,EAAPk0C,QACA1E,EAAkBxvC,EAAlBwvC,mBACAD,EAAiBvvC,EAAjBuvC,kBACA/C,EAAWxsC,EAAXwsC,YAEMjrC,EAAWyU,eACXtU,EAAUuW,eACVk8B,EAAW13B,KAAYjV,MAAMjG,EAASuD,QAC5CoN,EAA0CC,mBAAc,CACvDiiC,QAAS,GACTC,QAAS,GACTC,QAAS,KACRliC,EAAAC,aAAAH,EAAA,GAJKqiC,EAAaniC,EAAA,GAAEoiC,EAAgBpiC,EAAA,GAMtCma,EAAwBC,aAAWmnB,GAA2B,CAC7DvpB,QAAS,CACR/pB,OAAQA,EACR0C,MAAOmxC,EAAQ,MAEfznB,EAAApa,aAAAka,EAAA,GALKkoB,EAAMhoB,EAAA,GAAEioB,EAAKjoB,EAAA,GAMpBwU,EAAwBzU,aAAWmnB,GAA2B,CAC7DvpB,QAAS,CACR/pB,OAAQA,EACR0C,MAAOmxC,EAAQ,MAEfhT,EAAA7uB,aAAA4uB,EAAA,GALK0T,EAAMzT,EAAA,GAAE0T,EAAK1T,EAAA,GAMpB2T,EAAwBroB,aAAWmnB,GAA2B,CAC7DvpB,QAAS,CACR/pB,OAAQA,EACR0C,MAAOmxC,EAAQ,MAEfY,EAAAziC,aAAAwiC,EAAA,GALKE,EAAMD,EAAA,GAAEE,EAAKF,EAAA,GAOdG,EAAe,SACpBtD,EACAD,GAEA,IAAIr+B,EAAkB,GACtBq+B,EAAQ3/B,SAAQ,SAAC+/B,GAAmC,IAADY,EACpC,QAAdA,EAAAZ,EAAO1gC,eAAO,IAAAshC,GAAdA,EAAgB3gC,SAAQ,SAACiD,GACpBA,EAAO5O,UACViN,EAAM5Z,KAAKub,EAAOnX,aAIrBwV,EAAM7M,KAAK,KAEX,IAAI0uC,EAAsB,GACtB7hC,IACHja,OAAO0P,KAAKyrC,GAAsBxiC,SAAQ,SAAC5T,GACtCA,IAAG,SAAA+C,OAAcywC,GACpBuD,EAAYA,EAAUh0C,OAAO,CAAC,GAADA,OAAI/C,EAAG,KAAA+C,OAAImS,KAC7BkhC,EAAsBp2C,KACjC+2C,EAAYA,EAAUh0C,OAAO,CAAC,GAADA,OACzB/C,EAAG,KAAA+C,OAAKqzC,EAAsBp2C,UAIpCuD,EAAQqM,QAAQ,GAAD7M,OAAIN,EAAG,KAAAM,OAAIg0C,EAAU1uC,KAAK,QAE1CguC,EAAgB9sC,wBAAC,GACb6sC,GAAa,GAAAjsC,YAAA,YAAApH,OACNywC,GAAW,GAAAzwC,OAAQmS,OAS/B,OALAkF,qBAAU,WACTi8B,EAAgB9sC,wBAAC,GAAK6sC,GAAkBJ,MAEtC,IAGFp1C,IAAAxD,cAACikC,GAAU,CAACW,aAAa,GACxBphC,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAEFnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBmkB,KAIJj9B,IAAAxD,cAAC23B,KAAI,CAAC3iB,SAAS,EAAOrG,UAAU,wBAC/BnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAI+I,OAAQ,EAAG9I,QAAS,GACnCz0B,IAAAxD,cAAC22C,GAAwB,CACxBE,OAAQqC,EAAOrqB,QAAQrnB,MACvBysC,mBAAoBA,EACpBD,kBAAmBA,EACnBoC,YAAa,EACb79B,SAAUmhC,EACVvoB,KAAMgoB,EACNrC,aAAcoC,EAAOrqB,QAAQruB,MAC7B+G,QAAS2xC,GAAUA,EAAOlf,QAAQ,cAGpCx2B,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAI+I,OAAQ,EAAG9I,QAAS,GACnCz0B,IAAAxD,cAAC22C,GAAwB,CACxBE,OAAQuC,EAAOvqB,QAAQrnB,MACvBysC,mBAAoBA,EACpBD,kBAAmBA,EACnBoC,YAAa,EACb79B,SAAUmhC,EACVvoB,KAAMkoB,EACNvC,aAAcsC,EAAOvqB,QAAQruB,MAC7B+G,QAAS6xC,GAAUA,EAAOpf,QAAQ,cAGpCx2B,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAI+I,OAAQ,EAAG9I,QAAS,GACnCz0B,IAAAxD,cAAC22C,GAAwB,CACxBE,OAAQ2C,EAAO3qB,QAAQrnB,MACvBysC,mBAAoBA,EACpBD,kBAAmBA,EACnBoC,YAAa,EACb79B,SAAUmhC,EACVvoB,KAAMsoB,EACN3C,aAAc0C,EAAO3qB,QAAQruB,MAC7B+G,QAASiyC,GAAUA,EAAOxf,QAAQ,eAKpCiX,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,M,SCqCf2I,GAvK2D,SAAHn1C,GAYhE,IAXNkR,EAAOlR,EAAPkR,QACA88B,EAAahuC,EAAbguC,cAEA55B,GADMpU,EAANK,OACIL,EAAJoU,MACAghC,EAAKp1C,EAALo1C,MACAC,EAAIr1C,EAAJq1C,KACAC,EAAYt1C,EAAZs1C,aACAC,EAAWv1C,EAAXu1C,YACAC,EAAcx1C,EAAdw1C,eACAhJ,EAAWxsC,EAAXwsC,YACAiJ,EAAQz1C,EAARy1C,SAEMlF,EAAcjmC,YAAYjH,GAC1BsI,EAAWrB,YAAY7G,GA8C7B,OApCA8U,qBAAU,WAAO,IAADm9B,EAEXC,EAAeL,EAAaM,SAASz8C,OADrB,EAGhB08C,GACqD,QAAxDH,EAAAJ,EAAaM,SAAS11B,MAAK,SAAC41B,GAAC,OAAKA,EAAED,8BAAoB,IAAAH,OAAA,EAAxDA,EACGG,uBAAuB,EAgB3B,GAdIv0C,QAAUA,OAAOqW,WAAarW,OAAOqW,UAAUle,MAClD6H,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,WACPu0C,SAAUlvC,OAAOC,SAASkvC,WAAuB,OAAXF,QAAW,IAAXA,OAAW,EAAXA,EAAa3vC,KACnD8vC,UAAmB,OAAR/kC,QAAQ,IAARA,OAAQ,EAARA,EAAUE,MACrB8kC,SAAqB,OAAXJ,QAAW,IAAXA,OAAW,EAAXA,EAAa/iC,UACvBmoC,aAAcA,EACdI,mBAAoBF,EACpB/J,iBAAkBsJ,IAMhBK,GAAYn0C,OAAQ,CACvB,IAAM00C,EAAU16C,SAASC,cAAc,QACvCy6C,EAAQr6C,aAAa,OAAQ,UAC7Bq6C,EAAQr6C,aAAa,UAAW,WAChCL,SAASyB,KAAKC,YAAYg5C,GAIvB10C,OAAO20C,iBACV30C,OAAO20C,gBAAgBC,UAGtB,CAAC3F,IAGHxxC,IAAAxD,cAACikC,GAAU,CAACW,aAAa,GACxBphC,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAED88B,GACAjvC,IAAAxD,cAAC6yC,KAAa,CACbhG,UAAW4F,EAAc5F,UACzB9B,OAAQ0H,EAAc1H,OACtBp8B,UAAU,QAET8jC,EAActmB,YAAcsmB,EAActmB,WAAWvuB,OAAS,GAC9D4F,IAAAxD,cAAC+yC,KAAyB,KACxBN,EAActmB,WAAWphB,KAAI,SAACkjC,EAAUjvB,GACxC,OACCxb,IAAAxD,cAACgzC,KAAqB,CACrBpwC,IAAKoc,EACL3Z,IAAK4oC,EAAS5oC,IACdwT,KAAMo1B,EAASp1B,KACfge,cAAevoB,YAUxB9K,IAAAxD,cAAC23B,KAAI,CAAC3iB,SAAS,EAAOZ,QAAQ,EAAOzF,UAAU,2BAC9CnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAC46C,KAAW,CACX5pC,MAAO8oC,EAAK9oC,MACZ5P,KAAM04C,EAAK14C,KACXkP,MAAOwpC,EAAKxpC,MACZu8B,WAAwB,OAAb4F,QAAa,IAAbA,OAAa,EAAbA,EAAe5F,YAAa,GACvCyN,qBAAqB,EACrB3rC,UAAU,gBAEVnL,IAAAxD,cAACyc,GAAQ,KACRjZ,IAAAxD,cAAA,OACCmqB,wBAAyB,CACxBC,OAAQvR,GAETlK,UAAU,mBAKZorC,EAAaM,SAAStvC,KACtB,SAAC6G,EAAwBoN,GACxB,OACCxb,IAAAxD,cAAC46C,KAAW,CACX5pC,MAAOY,EAAKkoC,KAAK9oC,MACjB5P,KAAMwQ,EAAKkoC,KAAK14C,KAChBkP,MAAOsB,EAAKkoC,KAAKxpC,MACjBu8B,UAAWj7B,EAAKipC,cAChBC,QAASlpC,EAAKmpC,YACdT,oBAAqB1oC,EAAK0oC,oBAC1B3rC,UAAU,eACV/L,IAAKoc,GAELxb,IAAAxD,cAACyc,GAAQ,CAAC7Z,IAAKoc,GACdxb,IAAAxD,cAAA,OACCmqB,wBAAyB,CACxBC,OAAQxY,EAAKiH,MAEdlK,UAAU,sBAOfqrC,IAAgBC,GAChBz2C,IAAAxD,cAAA,OAAK2O,UAAU,qDACdnL,IAAAxD,cAACu1B,KAAQ13B,OAAA+N,OAAA,GAAKouC,EAAW,CAAE3J,gBA/HZ,WAChBtqC,QAAUA,OAAOqW,WAAarW,OAAOqW,UAAUle,MAClD6H,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,gBACP4vC,cAAe36B,SA8HbskC,GACAz2C,IAAAxD,cAACk/B,KAAK,CACLhlB,QAAQ,UACRvL,UAAU,+BACVmL,KAAK,QAELtW,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,EAAOzF,UAAU,QAAO,sDAM/CsiC,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGtpB,UAAU,cACrCnL,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,QClBhB+J,GA3I+D,SAAHv2C,GAOpE,IANNuf,EAAkBvf,EAAlBuf,mBACA0N,EAAmBjtB,EAAnBitB,oBACA5sB,EAAML,EAANK,OACAi1C,EAAYt1C,EAAZs1C,aACA/I,EAAUvsC,EAAVusC,WACAC,EAAWxsC,EAAXwsC,YAEMjrC,EAAWyU,eACXtU,EAAUuW,eAEhBsU,EAAsBC,aAAWvC,IAA0BwC,EAAApa,aAAAka,EAAA,GAApD9sB,EAAKgtB,EAAA,GAAEC,EAAID,EAAA,GAClBva,EAA0BC,mBAAS,GAAEC,EAAAC,aAAAH,EAAA,GAA9B0Z,EAAKxZ,EAAA,GAAEokC,EAAQpkC,EAAA,GAChBkuB,EAAwBvtB,iBAAY,MACpCytB,EAAsBztB,iBAAY,MAEpCtT,EAAM2qB,QAAQpwB,SACjBs7C,EAAe71C,EAAM2qB,QAAQpwB,QAG9B,IAAM6vB,EAAQyrB,EAAa5kC,OAAS4kC,EAAazrB,MAAQoD,EACnDwpB,EAAUnB,EAAa5kC,OAAS4kC,EAAazrB,MAAQyrB,EAAa7nB,MAcxE,OAZAlV,qBAAU,WACLqT,EAAQ,GACXc,EAAK,QAAS,CACbhc,OAAQ,EACRmZ,MAAOA,EACPxpB,aAKA,CAACurB,IAGH7sB,IAAAxD,cAACikC,GAAU,CAACW,aAAa,GACxBphC,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGtpB,UAAU,YAC1B,OAAVqiC,QAAU,IAAVA,OAAU,EAAVA,EAAYr7B,UACZnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB00B,EAAWr7B,UAGH,OAAVq7B,QAAU,IAAVA,OAAU,EAAVA,EAAYvQ,WACZj9B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvB00B,EAAWvQ,WAGH,OAAVuQ,QAAU,IAAVA,OAAU,EAAVA,EAAYI,YACZ5tC,IAAAxD,cAACsmC,MAAW,CACXltB,GAAG,0BACHnE,MAAO+7B,EAAWK,sBAClB3K,YAAasK,EAAWrK,kBACxBh4B,UAAU,kBACV43B,WAAYxB,EACZyB,SAAUvB,EACVrtB,SAAU,SAACtY,GAAY,IAADsnC,EACF,OAAnB3B,QAAmB,IAAnBA,GAA4B,QAAT2B,EAAnB3B,EAAqB7sB,eAAO,IAAAwuB,GAA5BA,EAA8BC,OAC9B1gC,EAAQjI,KAAK,GAADyH,OACRqrC,EAAWlK,cAAa,WAAAnhC,OAAUqF,mBACpC1L,EAAE67C,gCAQT33C,IAAAxD,cAAC23B,KAAI,CAAC3iB,SAAS,EAAOZ,QAAQ,EAAOzF,UAAU,2BAC9CnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGtpB,UAAU,wBACrCnL,IAAAxD,cAAC4vC,KAAU,KACTmK,EAAattC,MAAM1B,KACnB,SAAC6G,EAA+BoN,GAC/B,OACCxb,IAAAxD,cAAC6vC,KAAc,CACdjtC,IAAKoc,EACL87B,QAASlpC,EAAKkpC,QACdnlC,QAAS/D,EAAK+D,QACdm6B,iBAAkBl+B,EAAKk+B,iBACvBzqC,IAAKuM,EAAKvM,IACV4W,aAAa,KACb4a,cAAevoB,SAMnB4sC,GACA13C,IAAAxD,cAAA,OAAK2O,UAAU,4BACdnL,IAAAxD,cAAC2Z,KAAM,CACN0J,qBAAoBW,EACpBrV,UAAU,UACVuL,QAAQ,UACRN,SAA0B,YAAhB1V,EAAM5B,MAChB6gB,QAAS,WACR83B,EAAS5qB,EAAQ,GACjBlqB,EAAQjI,KAAK,GAADyH,OAAIK,EAASkvC,SAAQ,WAAAvvC,OAAU2oB,MAG3CtK,EACgB,YAAhB9f,EAAM5B,OACNkB,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLC,MAAM,QACNC,QAAQ,OACRrM,KAAM,IACNgB,UAAU,OACVsL,eAAa,IAGE,YAAhB/V,EAAM5B,OACNkB,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAU,KACVlJ,MAAM,QACNpM,KAAM,IACNgB,UAAU,OACVsL,eAAa,OAOlBg3B,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGtpB,UAAU,cACrCnL,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,QCyChBmK,GArKyD,SAAH32C,GAM9D,IALNkR,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACAuQ,EAAUvsC,EAAVusC,WAEAC,GADcxsC,EAAdysC,eACWzsC,EAAXwsC,aAEMpM,EAAmBpK,KACnBz0B,EAAWyU,eACXtU,EAAUuW,eACVyoB,EAAiBp2B,YAAYzF,GAC3BwO,EAAUoJ,KAAYjV,MAAMjG,EAASuD,QAArCuO,MACFitB,EAAwBvtB,iBAAY,MACpCytB,EAAsBztB,iBAAY,MACxCwZ,EAAkCC,aAAW+H,GAAe,CAC3DnK,QAAS,CACR/pB,QAAkB,OAAVksC,QAAU,IAAVA,OAAU,EAAVA,EAAYlsC,UAAwB,OAAdqgC,QAAc,IAAdA,OAAc,EAAdA,EAAgBrgC,QAC9C6I,KAAMk3B,EAAmB,GAAkB,OAAdM,QAAc,IAAdA,OAAc,EAAdA,EAAgBzT,sBAAuB,EACpEuH,SAAU,OAEV/H,EAAApa,aAAAka,EAAA,GANKwU,EAAWtU,EAAA,GAAEuU,EAAUvU,EAAA,GAO9BwU,EAAgCzU,aAAW0I,IAAmBgM,EAAA7uB,aAAA4uB,EAAA,GAAvDE,EAAUD,EAAA,GAAEE,EAASF,EAAA,GAQ5B,OANA7V,aAAgBiV,GAAuB,WAClCI,GACHU,EAAU,YAKXriC,IAAAxD,cAACikC,GAAU,KACT+M,GACAxtC,IAAAxD,cAAA,OAAK2O,UAAU,mBACdnL,IAAAxD,cAACmxC,KAAU,KACV3tC,IAAAxD,cAAC23B,KAAI,CAAC3iB,SAAS,EAAOrG,UAAU,gBAC/BnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,IACb,OAAV+Y,QAAU,IAAVA,OAAU,EAAVA,EAAYr7B,UACZnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAKxE,QAAQ,EAAOzF,UAAU,iBACrCqiC,EAAWl3B,MACXtW,IAAAxD,cAAC6Z,KAAI,CACJC,KAAMk3B,EAAWl3B,KACjBnM,KAAM,EACNgB,UAAU,oDACVsL,eAAa,IAGJ,OAAV+2B,QAAU,IAAVA,OAAU,EAAVA,EAAYr7B,UAGJ,OAAVq7B,QAAU,IAAVA,OAAU,EAAVA,EAAYvQ,WACZj9B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,GACT,OAAV48B,QAAU,IAAVA,OAAU,EAAVA,EAAYvQ,WAGJ,OAAVuQ,QAAU,IAAVA,OAAU,EAAVA,EAAYI,YACZ5tC,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAACsmC,MAAW,CACXltB,GAAG,wBACHnE,MAAO+7B,EAAWK,sBAClB3K,YAAasK,EAAWrK,kBACxBh4B,UAAU,kBACV43B,WAAYxB,EACZyB,SAAUvB,EACVxX,YAAmC,YAAtB+X,EAAYljC,MACzBwT,aAAcgC,EAAQA,EAAMsmB,gBAAa98B,EACzCiX,SAAU,SAACjZ,GACW,WAArBsmC,EAAWtjC,OACVmjC,EAAW,SAAU,CACpBnjC,MAAOhD,EAAEgD,SAGZsV,SAAU,SAACtY,GAAY,IAADsnC,EACrBf,EAAU,SACS,OAAnBZ,QAAmB,IAAnBA,GAA4B,QAAT2B,EAAnB3B,EAAqB7sB,eAAO,IAAAwuB,GAA5BA,EAA8BC,OAC9B1gC,EAAQjI,KAAK,GAADyH,OAEVqrC,EAAWlK,cAAa,WAAAnhC,OACfqF,mBACT1L,EAAEgyC,0BAILtK,QAAS,WACRzlC,YAAW,WACVskC,EAAU,UACR,OAGkB,WAArBD,EAAWtjC,OACXkjC,EAAY3W,QAAQpwB,QACU,KAA9B+mC,EAAY3W,QAAQ/W,OACnBtU,IAAAxD,cAACinC,KAAmB,KAClBzB,EAAY3W,QAAQpwB,OAAOyoC,SAC3B1B,EAAY3W,QAAQpwB,OAAOyoC,QAAQn8B,KAClC,SAAC6G,GAAyB,OACzBpO,IAAAxD,cAACmnC,KAAuB,CACvBvkC,IAAKgP,EAAKhF,YAEVpJ,IAAAxD,cAACsO,GAAI,CAACE,GAAIoD,EAAKvM,KACd7B,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAU,OACVhJ,eAAa,EACbtM,KAAM,MAENiE,EAAK+D,aAKV6vB,EAAY3W,QAAQpwB,OAAO2oC,aAC3B5B,EAAY3W,QAAQpwB,OAAOkP,MAC3BnK,IAAAxD,cAACmnC,KAAuB,KACvB3jC,IAAAxD,cAACsO,GAAI,CACJE,GAAE,GAAA7I,OACS,OAAVqrC,QAAU,IAAVA,OAAU,EAAVA,EAAYlK,cAAa,WAAAnhC,OAChBqF,mBACTw6B,EAAY3W,QAAQpwB,OAAOqZ,QAE5BqL,QAAS,WACR0iB,EAAU,WAGI,OAAdV,QAAc,IAAdA,OAAc,EAAdA,EAAgBkC,sBAIyB,IAA5C7B,EAAY3W,QAAQpwB,OAAO2oC,cAC3B5jC,IAAAxD,cAACmnC,KAAuB,KACvB3jC,IAAAxD,cAAA,SAAG,+BAMTwD,IAAAxD,cAACuxC,KAAe,YAQrBP,GACDxtC,IAAAxD,cAAC23B,KAAI,KACJn0B,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,IACXx0B,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAEFnS,IAAAxD,cAAA,OAAK2O,UAAU,SACdnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBmkB,OAONwQ,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,MCpGdoK,GA1EyC,SAAH52C,GAU9C,IATNkR,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACAwQ,EAAWxsC,EAAXwsC,YACAwB,EAAahuC,EAAbguC,cACA6I,EAAkB72C,EAAlB62C,mBACAC,EAAY92C,EAAZ82C,aACAC,EAAc/2C,EAAd+2C,eACAxqC,EAAKvM,EAALuM,MACAuO,EAAG9a,EAAH8a,IAEA,OACC/b,IAAAxD,cAACikC,GAAU,KACVzgC,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAED88B,GACAjvC,IAAAxD,cAAC6yC,KAAa,CACbhG,UAAW4F,EAAc5F,UACzB9B,OAAQ0H,EAAc1H,OACtBp8B,UAAU,QAET8jC,EAActmB,YAAcsmB,EAActmB,WAAWvuB,OAAS,GAC9D4F,IAAAxD,cAAC+yC,KAAyB,KACxBN,EAActmB,WAAWphB,KAAI,SAACkjC,EAAUjvB,GACxC,OACCxb,IAAAxD,cAACgzC,KAAqB,CACrBpwC,IAAKoc,EACL3Z,IAAK4oC,EAAS5oC,IACdwT,KAAMo1B,EAASp1B,YAQrB7H,GAASuO,GAAOg8B,GAAgBC,GAChCh4C,IAAAxD,cAACy7C,KAAW,CACXzqC,MAAOA,EACPuO,IAAKA,EACLg8B,aAAcA,EACdC,eAAgBA,GAEfF,GACAA,EAAmBvwC,KAAI,SAAC2wC,EAAQ18B,GAC/B,OACCxb,IAAAxD,cAAC27C,KAAiB,CACjBhmC,QAAS+lC,EAAO/lC,QAChBkD,KAAM6iC,EAAO7iC,KACbjW,IAAKoc,QAMXxb,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBmkB,KAIHwQ,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,MCkFd2K,GA5IyD,SAAHn3C,GAS9D,IARNkR,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACAzc,EAAkBvf,EAAlBuf,mBACA0N,EAAmBjtB,EAAnBitB,oBACA6pB,EAAY92C,EAAZ82C,aACAz2C,EAAML,EAANK,OACAi1C,EAAYt1C,EAAZs1C,aACA9I,EAAWxsC,EAAXwsC,YAEMjrC,EAAWyU,eACXtU,EAAUuW,eAEhBsU,EAAsBC,aAAWvC,IAA0BwC,EAAApa,aAAAka,EAAA,GAApD9sB,EAAKgtB,EAAA,GAAEC,EAAID,EAAA,GAClBva,EAA0BC,mBAAS,GAAEC,EAAAC,aAAAH,EAAA,GAA9B0Z,EAAKxZ,EAAA,GAAEokC,EAAQpkC,EAAA,GAElB3S,EAAM2qB,QAAQpwB,SACjBs7C,EAAe71C,EAAM2qB,QAAQpwB,QAG9B,IAAM6vB,EAAQyrB,EAAa5kC,OAAS4kC,EAAazrB,MAAQoD,EACnDwpB,EAAUnB,EAAa5kC,OAAS4kC,EAAazrB,MAAQyrB,EAAa7nB,MAClE3D,EAAYwrB,EAAaxrB,UAe/B,OAbAvR,qBAAU,WACLqT,EAAQ,GACXc,EAAK,QAAS,CACbhc,OAAQ,EACRmZ,MAAOA,EACPxpB,SACAypB,gBAKA,CAAC8B,IAGH7sB,IAAAxD,cAACikC,GAAU,KACVzgC,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAEFnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBmkB,KAIJj9B,IAAAxD,cAAC23B,KAAI,CAAC3iB,SAAS,EAAOZ,QAAQ,EAAOzF,UAAU,sBAC9CnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGtpB,UAAU,gBACpCorC,EAAa8B,OAAO9wC,KACpB,SAACrK,EAA8Bse,GAC9B,OACCxb,IAAAxD,cAAC87C,KAAgB,CAACnmC,QAASjV,EAAMiV,QAAS/S,IAAKoc,GAC7Cte,EAAM+L,MAAM1B,KACZ,SAACgxC,EAA+B/8B,GAC/B,OACCxb,IAAAxD,cAACg8C,KAAe,CAACp5C,IAAKoc,GACrBxb,IAAAxD,cAACi8C,KAAmB,CACnB52C,IAAK02C,EAAY12C,IACjB2L,MAAO+qC,EAAY/qC,MACnBuO,IAAKw8B,EAAYx8B,KAAO,GACxB28B,gBAAiBH,EAAYlP,UAC7BzrC,KAAM26C,EAAY36C,KAClBm6C,aAAcA,EACdC,eAAgBO,EAAYP,eAC5B/a,SAAUsb,EAAYjrC,YACtB+lB,cAAevoB,GACf1L,IAAKoc,GAEJ+8B,EAAY5vB,YACZ4vB,EAAY5vB,WAAWphB,KAAI,SAACkjC,EAAUvwC,GACrC,OACC8F,IAAAxD,cAACm8C,KAA2B,CAC3Bv5C,IAAKlF,EACLmb,KAAMo1B,gBAalBiN,GACA13C,IAAAxD,cAAA,OAAK2O,UAAU,4BACdnL,IAAAxD,cAAC2Z,KAAM,CACN0J,qBAAoBW,EACpBrV,UAAU,UACVuL,QAAQ,UACRN,SAA0B,YAAhB1V,EAAM5B,MAChB6gB,QAAS,WACR83B,EAAS5qB,EAAQ,GACjBlqB,EAAQjI,KAAK,GAADyH,OAAIK,EAASkvC,SAAQ,WAAAvvC,OAAU2oB,MAG3CtK,EACgB,YAAhB9f,EAAM5B,OACNkB,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLC,MAAM,QACNC,QAAQ,OACRrM,KAAM,IACNgB,UAAU,OACVsL,eAAa,IAGE,YAAhB/V,EAAM5B,OACNkB,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAU,KACVlJ,MAAM,QACNpM,KAAM,IACNgB,UAAU,OACVsL,eAAa,OAOlBg3B,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGtpB,UAAU,cACrCnL,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,QCXhBmL,GA3H6C,SAAH33C,GASlD,IARNkR,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACA5nB,EAAIpU,EAAJoU,KACA65B,EAAejuC,EAAfiuC,gBACAD,EAAahuC,EAAbguC,cACA4J,EAAW53C,EAAX43C,YACAC,EAAoB73C,EAApB63C,qBACArL,EAAWxsC,EAAXwsC,YAEM2B,EAAYlY,KAElB,OACCl3B,IAAAxD,cAACikC,GAAU,KACToY,GACA74C,IAAAxD,cAACu8C,KAAW,CACXl8C,IAAKg8C,EAAYh8C,IACjBkf,IAAK88B,EAAYG,QACjB/oB,WAAY4oB,EAAYxjC,KACxBlK,UAAU,oBAGZnL,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAWoM,aACVshC,EAAc,eAAiB,wBAC/B,iBAGD74C,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAED88B,GACAjvC,IAAAxD,cAAC6yC,KAAa,CAAC9H,OAAQ0H,EAAc1H,OAAQp8B,UAAU,QACrD8jC,EAActmB,YAAcsmB,EAActmB,WAAWvuB,OAAS,GAC9D4F,IAAAxD,cAAC+yC,KAAyB,KACxBN,EAActmB,WAAWphB,KAAI,SAACkjC,EAAUjvB,GACxC,OACCxb,IAAAxD,cAACgzC,KAAqB,CACrBpwC,IAAKoc,EACL3Z,IAAK4oC,EAAS5oC,IACdwT,KAAMo1B,EAASp1B,KACfge,cAAevoB,UAQrBguC,GAAwBA,EAAqB1+C,OAAS,GACtD4F,IAAAxD,cAAA,OAAK2O,UAAU,iBACdnL,IAAAxD,cAACy8C,KAAuB,KACtBH,EAAqBvxC,KAAI,SAAC6G,EAAMoN,GAChC,OACCxb,IAAAxD,cAAC08C,KAA2B,CAC3B95C,IAAKoc,EACLrJ,QAAS/D,EAAK+D,SAEC,SAAd/D,EAAK5Q,MAAmB4Q,EAAKvM,IAC7B7B,IAAAxD,cAACsO,GAAI,CACJE,GAAIoD,EAAKvM,IACTsJ,UAAU,6BAETiD,EAAKiH,MAGPjH,EAAKiH,aAUdrV,IAAAxD,cAAC23B,KAAI,CACJvjB,QAAQ,EACRY,SAAS,EACTrG,UAAWoM,aAAK23B,GAAmB,mBAAoB,iBAEtDE,GAAaF,GACblvC,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,EAAGrpB,UAAU,gBACxBnL,IAAAxD,cAACizC,MAAG,CACHt9B,QAAS+8B,EAAgB/8B,QACzBlJ,MAAOimC,EAAgBQ,SACvByJ,OAAQjK,EAAgBkK,UAEvBlK,EAAgBS,OAAOpoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACozC,MAAO,CAACntC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,WAOXrV,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBmkB,IAEAmS,GAAaF,GACdlvC,IAAAxD,cAACizC,MAAG,CAACt9B,QAAS+8B,EAAgB/8B,QAASlJ,MAAO,GAAIkC,UAAU,SAC1D+jC,EAAgBS,OAAOpoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACozC,MAAO,CAACntC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,UAKVrV,IAAAxD,cAACsb,GAAY,CAACgB,KAAK,OAAOf,UAAe,OAAJ1C,QAAI,IAAJA,OAAI,EAAJA,EAAM0C,cAG5C01B,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,MCvBd4L,GAhGuC,SAAHp4C,GAO5C,IANNkR,EAAOlR,EAAPkR,QACAkD,EAAIpU,EAAJoU,KACA65B,EAAejuC,EAAfiuC,gBACAD,EAAahuC,EAAbguC,cACA4J,EAAW53C,EAAX43C,YACApL,EAAWxsC,EAAXwsC,YAEM2B,EAAYlY,KAClB,OACCl3B,IAAAxD,cAACikC,GAAU,KACToY,GACA74C,IAAAxD,cAACu8C,KAAW,CACXl8C,IAAKg8C,EAAYh8C,IACjBkf,IAAK88B,EAAYG,QACjB/oB,WAAY4oB,EAAYxjC,KACxBlK,UAAU,oBAGZnL,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAWoM,aACVshC,EAAc,gBAAkB,gBAChC,iBAGD74C,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAED88B,GACAjvC,IAAAxD,cAAC6yC,KAAa,CACbhG,UAAW4F,EAAc5F,UACzB9B,OAAQ0H,EAAc1H,OACtBp8B,UAAU,QAET8jC,EAActmB,YAAcsmB,EAActmB,WAAWvuB,OAAS,GAC9D4F,IAAAxD,cAAC+yC,KAAyB,KACxBN,EAActmB,WAAWphB,KAAI,SAACkjC,EAAUjvB,GACxC,OACCxb,IAAAxD,cAACgzC,KAAqB,CACrBpwC,IAAKoc,EACL3Z,IAAK4oC,EAAS5oC,IACdwT,KAAMo1B,EAASp1B,KACfge,cAAevoB,YAUxB9K,IAAAxD,cAAC23B,KAAI,CACJvjB,QAAQ,EACRY,SAAS,EACTrG,UAAWoM,aAAK23B,GAAmB,mBAAoB,iBAEtDE,GAAaF,GACblvC,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,EAAGrpB,UAAU,gBACxBnL,IAAAxD,cAACizC,MAAG,CACHt9B,QAAS+8B,EAAgB/8B,QACzBlJ,MAAOimC,EAAgBQ,SACvByJ,OAAQjK,EAAgBkK,UAEvBlK,EAAgBS,OAAOpoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACozC,MAAO,CAACntC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,WAOXrV,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,IACtB2a,GAAaF,GACdlvC,IAAAxD,cAACizC,MAAG,CAACt9B,QAAS+8B,EAAgB/8B,QAASlJ,MAAO,GAAIkC,UAAU,QAC1D+jC,EAAgBS,OAAOpoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACozC,MAAO,CAACntC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,UAKVrV,IAAAxD,cAACsb,GAAY,CAACgB,KAAK,OAAOf,UAAe,OAAJ1C,QAAI,IAAJA,OAAI,EAAJA,EAAM0C,cAG5C01B,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,MC5Bd6L,GAxE2C,SAAHr4C,GAMhD,IALNkR,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACAiS,EAAejuC,EAAfiuC,gBACA75B,EAAIpU,EAAJoU,KACAo4B,EAAWxsC,EAAXwsC,YAEM2B,EAAYlY,KAElB,OACCl3B,IAAAxD,cAACikC,GAAU,CAACW,aAAa,GACxBphC,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,KAIJnS,IAAAxD,cAAC23B,KAAI,CACJvjB,QAAQ,EACRY,SAAS,EACTrG,UAAWoM,aAAK23B,GAAmB,mBAAoB,iBAEtDE,GAAaF,GACblvC,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,EAAGrpB,UAAU,gBACxBnL,IAAAxD,cAACizC,MAAG,CACHt9B,QAAS+8B,EAAgB/8B,QACzBlJ,MAAOimC,EAAgBQ,SACvByJ,OAAQjK,EAAgBkK,UAEvBlK,EAAgBS,OAAOpoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACozC,MAAO,CAACntC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,WAOXrV,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAA,OAAK2O,UAAU,QACdnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBmkB,IAEAmS,GAAaF,GACdlvC,IAAAxD,cAACizC,MAAG,CACHt9B,QAAS+8B,EAAgB/8B,QACzBlJ,MAAO,GACPkC,UAAU,QAET+jC,EAAgBS,OAAOpoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACozC,MAAO,CAACntC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,UAKVrV,IAAAxD,cAACsb,GAAY,CAACC,UAAW1C,EAAK0C,eAIhC01B,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,MCiOd8L,GA5QyD,SAAHt4C,GAQ9D,IAPNusC,EAAUvsC,EAAVusC,WACAr7B,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACAiS,EAAejuC,EAAfiuC,gBACAsK,EAAev4C,EAAfu4C,gBACAnkC,EAAIpU,EAAJoU,KACAo4B,EAAWxsC,EAAXwsC,YAEM2B,EAAYlY,KACZmK,EAAmBpK,KACnBz0B,EAAWyU,eACXtU,EAAUuW,eACVyoB,EAAiBp2B,YAAYzF,GAC3BwO,EAAUoJ,KAAYjV,MAAMjG,EAASuD,QAArCuO,MACFitB,EAAwBvtB,iBAAY,MACpCytB,EAAsBztB,iBAAY,MACxCwZ,EAAkCC,aAAW+H,GAAe,CAC3DnK,QAAS,CACR/pB,QAAkB,OAAVksC,QAAU,IAAVA,OAAU,EAAVA,EAAYlsC,UAAwB,OAAdqgC,QAAc,IAAdA,OAAc,EAAdA,EAAgBrgC,QAC9C6I,KAAMk3B,EAAmB,GAAkB,OAAdM,QAAc,IAAdA,OAAc,EAAdA,EAAgBzT,sBAAuB,EACpEuH,SAAU,OAEV/H,EAAApa,aAAAka,EAAA,GANKwU,EAAWtU,EAAA,GAAEuU,EAAUvU,EAAA,GAO9BwU,EAAgCzU,aAAW0I,IAAmBgM,EAAA7uB,aAAA4uB,EAAA,GAAvDE,EAAUD,EAAA,GAAEE,EAASF,EAAA,GAE5B7V,aAAgBiV,GAAuB,WAClCI,GACHU,EAAU,YAIZ,IAAMoX,EAAqB,SAAChP,GAC3B,OACCzqC,IAAAxD,cAACk9C,KAAY,CACZjiC,OAAQgzB,EAASt4B,QACjBgG,KAAMsyB,EAASpyB,OACfshC,kBAAmBH,EAAgBG,kBACnCC,mBAAoBJ,EAAgBI,mBACpCzuC,UAAU,QAETs/B,EAASxhC,OACTwhC,EAASxhC,MAAM7O,OAAS,GACxBqwC,EAASxhC,MAAM1B,KAAI,SAAC6G,EAAWoN,GAAa,OAC3Cxb,IAAAxD,cAACq9C,KAAgB,CAACz6C,IAAKoc,EAAOnG,KAAMjH,EAAKiH,KAAMxT,IAAKuM,EAAKvM,WAM9D,OACC7B,IAAAxD,cAACikC,GAAU,KACT+M,GACAxtC,IAAAxD,cAAA,OAAK2O,UAAU,mBACdnL,IAAAxD,cAACmxC,KAAU,KACV3tC,IAAAxD,cAAC23B,KAAI,CAAC3iB,SAAS,EAAOrG,UAAU,gBAC/BnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,IACb,OAAV+Y,QAAU,IAAVA,OAAU,EAAVA,EAAYr7B,UACZnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAKxE,QAAQ,EAAOzF,UAAU,iBACrCqiC,EAAWl3B,MACXtW,IAAAxD,cAAC6Z,KAAI,CACJC,KAAMk3B,EAAWl3B,KACjBnM,KAAM,EACNgB,UAAU,oDACVsL,eAAa,IAGJ,OAAV+2B,QAAU,IAAVA,OAAU,EAAVA,EAAYr7B,UAGJ,OAAVq7B,QAAU,IAAVA,OAAU,EAAVA,EAAYvQ,WACZj9B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,GACT,OAAV48B,QAAU,IAAVA,OAAU,EAAVA,EAAYvQ,WAGJ,OAAVuQ,QAAU,IAAVA,OAAU,EAAVA,EAAYI,YACZ5tC,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAACsmC,MAAW,CACXltB,GAAG,wBACHnE,MAAO+7B,EAAWK,sBAClB3K,YAAasK,EAAWrK,kBACxBh4B,UAAU,kBACV43B,WAAYxB,EACZyB,SAAUvB,EACVxX,YAAmC,YAAtB+X,EAAYljC,MACzBwT,aAAcgC,EAAQA,EAAMsmB,gBAAa98B,EACzCiX,SAAU,SAACjZ,GACW,WAArBsmC,EAAWtjC,OACVmjC,EAAW,SAAU,CACpBnjC,MAAOhD,EAAEgD,SAGZsV,SAAU,SAACtY,GAAY,IAADsnC,EACrBf,EAAU,SACS,OAAnBZ,QAAmB,IAAnBA,GAA4B,QAAT2B,EAAnB3B,EAAqB7sB,eAAO,IAAAwuB,GAA5BA,EAA8BC,OAC9B1gC,EAAQjI,KAAK,GAADyH,OAEVqrC,EAAWlK,cAAa,WAAAnhC,OACfqF,mBACT1L,EAAEgyC,0BAILtK,QAAS,WACRzlC,YAAW,WACVskC,EAAU,UACR,OAGkB,WAArBD,EAAWtjC,OACXkjC,EAAY3W,QAAQpwB,QACU,KAA9B+mC,EAAY3W,QAAQ/W,OACnBtU,IAAAxD,cAACinC,KAAmB,KAClBzB,EAAY3W,QAAQpwB,OAAOyoC,SAC3B1B,EAAY3W,QAAQpwB,OAAOyoC,QAAQn8B,KAClC,SAAC6G,GAAyB,OACzBpO,IAAAxD,cAACmnC,KAAuB,CACvBvkC,IAAKgP,EAAKhF,YAEVpJ,IAAAxD,cAACsO,GAAI,CAACE,GAAIoD,EAAKvM,KACd7B,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAU,OACVhJ,eAAa,EACbtM,KAAM,MAENiE,EAAK+D,aAKV6vB,EAAY3W,QAAQpwB,OAAO2oC,aAC3B5B,EAAY3W,QAAQpwB,OAAOkP,MAC3BnK,IAAAxD,cAACmnC,KAAuB,KACvB3jC,IAAAxD,cAACsO,GAAI,CACJE,GAAE,GAAA7I,OACS,OAAVqrC,QAAU,IAAVA,OAAU,EAAVA,EAAYlK,cAAa,WAAAnhC,OAChBqF,mBACTw6B,EAAY3W,QAAQpwB,OAAOqZ,QAE5BqL,QAAS,WACR0iB,EAAU,WAGI,OAAdV,QAAc,IAAdA,OAAc,EAAdA,EAAgBkC,sBAIyB,IAA5C7B,EAAY3W,QAAQpwB,OAAO2oC,cAC3B5jC,IAAAxD,cAACmnC,KAAuB,KACvB3jC,IAAAxD,cAAA,SAAG,+BAMTwD,IAAAxD,cAACuxC,KAAe,YAQrBP,GACDxtC,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,KAKLnS,IAAAxD,cAAC23B,KAAI,CACJvjB,QAAQ,EACRY,SAAS,EACTrG,UAAWoM,aACV23B,GAAmB,mBACnB1B,GAAc,WACd,iBAGA4B,GAAaF,GACblvC,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,EAAGrpB,UAAU,gBACxBnL,IAAAxD,cAACizC,MAAG,CACHt9B,QAAS+8B,EAAgB/8B,QACzBlJ,MAAOimC,EAAgBQ,SACvByJ,OAAQjK,EAAgBkK,UAEvBlK,EAAgBS,OAAOpoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACozC,MAAO,CAACntC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,WAOXrV,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,IACtB+Y,GACDxtC,IAAAxD,cAAA,OAAK2O,UAAU,QACdnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBmkB,KAIFmS,GAAaF,GACdlvC,IAAAxD,cAACizC,MAAG,CAACt9B,QAAS+8B,EAAgB/8B,QAASlJ,MAAO,GAAIkC,UAAU,SAC1D+jC,EAAgBS,OAAOpoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACozC,MAAO,CAACntC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,UAMTmkC,GACAA,EAAgB7wB,YAChB6wB,EAAgB7wB,WAAWvuB,OAAS,GACnC4F,IAAAxD,cAAA,OAAKoZ,GAAI4jC,EAAgB5jC,IACxB5V,IAAAxD,cAAC23B,KAAI,CAAC3iB,SAAS,GACdxR,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAI+I,OAAQ,GACtBic,EAAgB7wB,WAAWphB,KAC3B,SAACkjC,EAAejvB,GACf,OACCxb,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAKoc,GACnBA,EACA7L,KAAKmqC,KACJN,EAAgB7wB,WAAWvuB,OAAS,IAChCq/C,EAAmBhP,QAMS,IAAtC+O,EAAgB7wB,WAAWvuB,QAC3B4F,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAI+I,OAAQ,GACtBic,EAAgB7wB,WAAWphB,KAC3B,SAACkjC,EAAejvB,GACf,OACCxb,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAKoc,GACnBA,GACA7L,KAAKmqC,KACJN,EAAgB7wB,WAAWvuB,OAAS,IAChCq/C,EAAmBhP,UAUnCzqC,IAAAxD,cAACsb,GAAY,CAACC,UAAW1C,EAAK0C,cAG/B01B,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,MClMdsM,GAtFd,SADkF94C,GAClB,IAA7DkR,EAAOlR,EAAPkR,QAAS8qB,EAAQh8B,EAARg8B,SAAUiS,EAAejuC,EAAfiuC,gBAAiB75B,EAAIpU,EAAJoU,KAAMo4B,EAAWxsC,EAAXwsC,YACtC5qC,EAAY0I,YAAYvF,GACxBs7B,EAAWvK,KACjB,OACC/2B,IAAAxD,cAACikC,GAAU,CAACW,aAAa,GACxBphC,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAEDtP,GACAA,EAAUA,WACVA,EAAUA,UAAUzI,OAAS,GAC5B4F,IAAAxD,cAAA,OAAK2O,UAAU,sBACbtI,EAAUA,UAAU0E,KAAI,SAAC6G,EAAMoN,GAC/B,OACCxb,IAAAxD,cAACsO,GAAI,CACJE,GAAIoD,EAAKvM,IACTzC,IAAKoc,EACLrQ,UAAU,oCAETiD,EAAKiH,YAQdrV,IAAAxD,cAAC23B,KAAI,CACJvjB,QAAQ,EACRY,SAAS,EACTrG,UAAWoM,aACV23B,GAAmB,mBACnB,kBAGC5N,GAAY4N,GACblvC,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,EAAGrpB,UAAU,gBACxBnL,IAAAxD,cAACizC,MAAG,CACHt9B,QAAS+8B,EAAgB/8B,QACzBlJ,MAAOimC,EAAgBQ,SACvByJ,OAAQjK,EAAgBkK,UAEvBlK,EAAgBS,OAAOpoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACozC,MAAO,CAACntC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,WAOXrV,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAA,OAAK2O,UAAU,kBACdnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBmkB,GAEDqE,GAAY4N,GACZlvC,IAAAxD,cAACizC,MAAG,CACHt9B,QAAS+8B,EAAgB/8B,QACzBlJ,MAAO,GACPkC,UAAU,QAET+jC,EAAgBS,OAAOpoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACozC,MAAO,CAACntC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,UAKVrV,IAAAxD,cAACsb,GAAY,CAACC,UAAW1C,EAAK0C,eAIhC01B,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,M,mBCyEfuM,GArG4B,SAAH/4C,GAKjC,IAJGg5C,EAAch5C,EAAvBi5C,QACAnlC,EAAQ9T,EAAR8T,SACAolC,EAASl5C,EAATk5C,UACAC,EAAUn5C,EAAVm5C,WAEAjnC,EAA8BC,mBAAS6mC,GAAe5mC,EAAAC,aAAAH,EAAA,GAA/C+mC,EAAO7mC,EAAA,GAAEgnC,EAAUhnC,EAAA,GACpBinC,EAAgBC,eAEhBC,EAAiB,SACtB1+C,EACA2+C,GAEA,IAAMC,EAAoClyC,KAAKC,MAC9CD,KAAKgB,UAAU0wC,IAGhB,GAAIp+C,EAAG,CACN,IAAA6+C,EAA8B7+C,EAAE8+C,cAAxBhlC,EAAE+kC,EAAF/kC,GAAIhY,EAAI+8C,EAAJ/8C,KAAMi9C,EAAOF,EAAPE,QAClBH,EAAa1nC,SAAQ,SAAC7L,GAAM,OAC3BA,EAAOP,QAAQoM,SAAQ,SAAC8nC,EAAQt/B,GAC3BrU,EAAOO,OAAS9J,GAAQ,GAAAuE,OAAGgF,EAAOO,KAAI,KAAAvF,OAAIqZ,KAAY5F,IACzDklC,EAAOzzC,SAAWwzC,EACbA,IAGF1zC,EAAO4zC,kBAFP5zC,EAAO4zC,4BAOHN,GACVC,EAAa1nC,SAAQ,SAAC7L,GAAM,OAC3BA,EAAOP,QAAQoM,SAAQ,SAAC8nC,EAAQt/B,GAC3B,GAAArZ,OAAGgF,EAAOO,KAAI,KAAAvF,OAAIqZ,KAAYi/B,IACjCK,EAAOzzC,UAAW,IAChBF,EAAO4zC,uBAMbV,EAAWK,IAUZ,OAPAlhC,qBAAU,WACJ8gC,GACJvlC,EAASmlC,EA5Fc,SAACA,GAC1B,IAAI5lC,EAAkB,GActB,OAZA4lC,EAAQlnC,SAAQ,SAAC7L,GAChB,IAAM6zC,EAA6B,GACnC7zC,EAAOP,QAAQoM,SAAQ,SAAC8nC,GACnBA,EAAOzzC,UACV2zC,EAAiBtgD,KAAKogD,EAAOxzC,SAG3B0zC,EAAiB5gD,OAAS,GAC7Bka,EAAM5Z,KAAK,GAADyH,OAAIgF,EAAOO,KAAI,KAAAvF,OAAI64C,EAAiBvzC,KAAK,UAI9C6M,EAAM7M,KAAK,KA6EEwzC,CAAkBf,MAGnC,CAACA,IAGHl6C,IAAAxD,cAAA,YACCwD,IAAAxD,cAAA,OAAK2O,UAAU,uCACb+uC,EAAQ3yC,KAAI,SAACJ,EAAQjN,GAAC,OACtB8F,IAAAxD,cAAA,OAAK2O,UAAU,oBAAoB/L,IAAK+H,EAAOO,MAC9C1H,IAAAxD,cAAC0+C,KAAmB,CACnBtlC,GAAE,UAAAzT,OAAYjI,GACd+uB,OAAQ9hB,EAAOvJ,KACfu9C,aAAcf,EACdW,gBAAiB5zC,EAAO4zC,iBAEvB5zC,EAAOP,QAAQW,KAAI,SAACuzC,EAAQt/B,GAAK,OACjCxb,IAAAxD,cAAC4+C,KAAiB,CACjBh8C,IAAKoc,EACL5F,GAAE,GAAAzT,OAAKgF,EAAOO,KAAI,KAAAvF,OAAIqZ,GACtBq/B,QAASC,EAAOzzC,SAChBzJ,KAAMuJ,EAAOO,KACb5I,MAAOg8C,EAAOxzC,KACd8O,SAAU0kC,EAAO1kC,SACjBrB,SAAUylC,EACVa,MAAOP,EAAOO,MACdC,cAAan0C,EAAOvJ,MAEnBk9C,EAAOxzC,eAQdtH,IAAAxD,cAAA,OAAK2O,UAAU,uBAxGS,SAC1B+uC,GAEA,IAAIqB,EAAwC,GAc5C,OAZArB,EAAQlnC,SAAQ,SAAC7L,GAChBA,EAAOP,QAAQoM,SAAQ,SAAC8nC,EAAQt/B,GAC3Bs/B,EAAOzzC,UACVk0C,EAAgB7gD,KAAK,CACpB8gD,SAAS,GAADr5C,OAAKgF,EAAOO,KAAI,KAAAvF,OAAIqZ,GAC5BigC,WAAYX,EAAOxzC,KACnByzC,gBAAiB5zC,EAAO4zC,wBAMrBQ,EAwFHG,CAAmBxB,GAAS3yC,KAAI,SAAC6G,EAAMlU,GAAC,OACxC8F,IAAAxD,cAACm/C,KAAU,CACVh8B,QAAS,WACR66B,OAAe18C,EAAWsQ,EAAKotC,WAEhCrwC,UAAU,YACV/L,IAAKlF,GAEL8F,IAAAxD,cAAA,QAAM2O,UAAU,WAAWgvC,GAC1B/rC,EAAKqtC,kBCpJN7wB,GAAU,eAAA3pB,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAClBC,EACAuG,EACAC,GAAkB,IAAAwM,EAAA3Q,EAAA/J,EAAA,OAAAuH,IAAAY,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAEsC,OAAlDoS,EAAQ1M,GAAmBC,EAAaC,GAAUlE,EAAA1B,KAAA,EAEjCE,IAAM1D,IAAI,GAADyD,OAAIb,GAAMa,OAAGmS,GAAS,CACrDE,QAAS,CAAE,mBAAoBjS,OAAOQ,aACpC,KAAD,EAFU,OAEVY,EAAAC,EAAAvB,KAFMzI,EAAI+J,EAAJ/J,KAAIgK,EAAAZ,OAAA,SAILpJ,GAAI,wBAAAgK,EAAAX,UAAA5B,OACX,gBAZe6B,EAAAC,EAAAC,GAAA,OAAAnC,EAAAlG,MAAA,KAAAuI,YAAA,GAcHs4C,GAAoBzwB,aAG/B,CACDvV,GAAI,oBACJwV,QAAS,OACTC,QAAS,CACR/pB,OAAQ,GACRrG,YAAQ6C,EACRd,WAAOc,GAERwtB,OAAQ,CACPC,KAAM,GACNxnB,QAAS,CACRynB,OAAQ,CACP5V,GAAI,UACJ/Y,IAAK,SAACmF,EAAU9E,GAAK,OACpB0tB,GAAW1tB,EAAMoE,OAAQpE,EAAM2K,YAAa3K,EAAM4K,YACnD2jB,OAAQ,CACP/tB,OAAQ,UACRqD,QAASqH,aAAO,CACfnN,OAAQ,SAAC+G,EAAU9E,GAAK,OAAKA,EAAMtD,SAGrC8xB,QAAS,CACRhuB,OAAQ,UACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GACjB,MAAM,SAANiF,OAAgBjF,EAAMtD,KAAK+a,SAASykB,OAAM,OAAAj3B,OAAMjF,EAAMtD,KAAK+a,SAAS0kB,kBAMzEzN,QAAS,GACTC,QAAS,IAEVC,GAAI,CACHC,MAAO,CACN,CACCruB,OAAQ,UACRqD,QAAS,QCFE86C,GArD0C,SAAH56C,GAM/C,IALNzB,EAAQyB,EAARzB,SACAigB,EAASxe,EAATwe,UACA1K,EAAQ9T,EAAR8T,SACA2K,EAAWze,EAAXye,YACAzU,EAAQhK,EAARgK,SAYA,OACCjL,IAAAxD,cAAA,UACC2O,UAAU,8BACVwU,QAAS,kBAAM5K,EAASvV,EAbD,WACxB,OAAQigB,GACP,IAAK,MACJ,MAAO,OACR,IAAK,OACJ,MAAO,GACR,QACC,MAAO,OAM0BG,MAEjC3U,EACDjL,IAAAxD,cAAA,QAAM2O,UAAU,WAAWuU,GACZ,QAAdD,EACAzf,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,WACLnM,KAAM,IACNsM,eAAa,EACbtL,UAAU,OACVoL,MAAM,YAEU,SAAdkJ,EACHzf,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLnM,KAAM,IACNsM,eAAa,EACbtL,UAAU,OACVoL,MAAM,YAGPvW,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,OACLnM,KAAM,IACNsM,eAAa,EACbtL,UAAU,OACVoL,MAAM,cCeIulC,GAxDgC,SAAH76C,GAMrC,IALNkK,EAASlK,EAATkK,UAASouB,EAAAt4B,EACTiV,eAAO,IAAAqjB,EAAG,wBAAuBA,EACjCzY,EAAU7f,EAAV6f,WACA0Y,EAAYv4B,EAAZu4B,aACAvuB,EAAQhK,EAARgK,SAEA,OACCjL,IAAAxD,cAAA,OACC2O,UAAWoM,aAAKpM,EAAW,wCAC3BgQ,WAAS,yBAETnb,IAAAxD,cAAA,SAAO2O,UAAU,sBAChBnL,IAAAxD,cAAA,WAAS2O,UAAU,WAAW+K,GAC7B4K,GACA9gB,IAAAxD,cAAA,aACCwD,IAAAxD,cAAA,UACEskB,EAAWvZ,KAAI,SAACkQ,EAAQ+D,GACxB,MACqB,oBAApB/D,EAAOjY,UACa,gBAApBiY,EAAOjY,SAGNQ,IAAAxD,cAAA,MACC8e,MAAM,MACNnQ,UAAWoM,aACU,gBAApBE,EAAOjY,UAA8B,YAGrCiY,EAAOtF,SAKVnS,IAAAxD,cAAA,MAAI4C,IAAKoc,EAAOF,MAAM,OACrBtb,IAAAxD,cAACq/C,GAA+B,CAC/Br8C,SAAUiY,EAAO/P,KACjB+X,UAAWhI,EAAOgI,UAClBC,YAAajI,EAAOiI,YACpB3K,SAAUykB,GAET/hB,EAAOtF,eASfnS,IAAAxD,cAAA,aAAQyO,MC6DG8wC,GA1GmC,SAAH96C,GAIxC,IAHNkI,EAAGlI,EAAHkI,IACAqL,EAAOvT,EAAPuT,QACAg9B,EAAWvwC,EAAXuwC,YAEAr+B,EAAgCC,oBAAkB,GAAMC,EAAAC,aAAAH,EAAA,GAAjDwF,EAAQtF,EAAA,GAAEopB,EAAWppB,EAAA,GAC5B2H,EAAkBC,eACZrF,GAAKsF,EADgB5H,aAAA0H,EAAA,GAAb,MAwDd,OACChb,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAA,MACCm9B,mBAAkBxwB,EAAIywB,gBACtBzuB,UAAWoM,aAAKpO,EAAImE,aAAeqL,GAAY,cAE9CnE,EAAQjN,KAAI,SAACkQ,EAAQ+D,GACrB,OACCxb,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAKoc,GACpBxb,IAAAxD,cAAA,UAzDiB,SAACgD,GACvB,OAAQA,GACP,IAAK,kBACJ,OAAOQ,IAAAxD,cAACsO,GAAI,CAACE,GAAI7B,EAAItH,KAAOsH,EAAY3J,IACzC,IAAK,kBACJ,OACCQ,IAAAxD,cAAC+zC,GAAqB,CACrBC,kBAAoBrnC,EAAY3J,GAAUgxC,kBAC1CC,mBAAqBtnC,EAAY3J,GAAUixC,mBAC3C1W,mBAAqB5wB,EAAY3J,GAAUu6B,mBAC3CrjB,QAAQ,QACR2jB,gBAAiB,CAChBD,oBACCoX,EAAYnX,gBAAgBD,oBAC7BE,qBACCkX,EAAYnX,gBAAgBC,qBAC7BC,wBAA0BpxB,EAAiC,oBAC3DqxB,aAAerxB,EAA6B,gBAC5CsxB,cAAgBtxB,EAAmC,yBAIvD,IAAK,cACJ,GAAIA,EAAImE,YACP,OACCtN,IAAAxD,cAAA,UACC8zB,aAAA,0BAAAnuB,OAAsCyT,GACtCzK,UAAU,YACVqhB,gBAAe7T,EACf4T,gBAAA,yBAAApqB,OAAwCyT,GACxCA,GAAE,oBAAAzT,OAAsByT,GACxB+J,QAAS,WACR8c,GAAa9jB,KAGd3Y,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAW9G,EAAW,OAAS,KAC/BxN,UAAU,GACVsL,eAAa,KAIV,MACR,QACC,OAAQtN,EAAY3J,IAYZw8C,CAAevkC,EAAOjY,gBAK9B2J,EAAImE,aACJtN,IAAAxD,cAAC++B,KAAU,CAACC,GAAI7iB,EAAUjc,QAAS,MACjC,SAACgE,GAAsB,OACvBV,IAAAxD,cAAA,MACCoZ,GAAE,yBAAAzT,OAA2ByT,GAC7B4Y,KAAM,SACNytB,kBAAA,oBAAA95C,OAAqCyT,GACrC6lB,OAAkB,WAAV/6B,EACRyK,UAAWoM,aACA,YAAV7W,EAAsB,mBAAqB,kBAC3C,oCAGDV,IAAAxD,cAAA,MAAI6e,QA/EU,EAEK7G,EAAQpa,QA8E1B4F,IAAAxD,cAAA,OACC2O,UAAU,iDACVwb,wBAAyB,CACxBC,OACEzd,EAAsCmE,aAAe,aC6IlD4uC,GAtOqD,SAAHj7C,GAe1D,IAADk7C,EAdLhqC,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACAmf,EAAgBn7C,EAAhBm7C,iBACAC,EAAgBp7C,EAAhBo7C,iBACAC,EAAQr7C,EAARq7C,SACcC,EAAmBt7C,EAAjCsH,aACAi0C,EAAgBv7C,EAAhBu7C,iBACAnnC,EAAIpU,EAAJoU,KACAo4B,EAAWxsC,EAAXwsC,YACAnsC,EAAML,EAANK,OACAm7C,EAAex7C,EAAfw7C,gBACAC,EAAgBz7C,EAAhBy7C,iBACAC,EAAa17C,EAAb07C,cACAtL,EAAapwC,EAAbowC,cAEM7uC,EAAWyU,eACXtU,EAAUuW,eAChB/F,EAAwCC,mBAASmpC,GAAoBlpC,EAAAC,aAAAH,EAAA,GAA9D5K,EAAY8K,EAAA,GAAEupC,EAAevpC,EAAA,GACpCma,EAAsBC,aAAWmuB,IAAkBluB,EAAApa,aAAAka,EAAA,GAA5C9sB,EAAKgtB,EAAA,GAAEC,EAAID,EAAA,GACZmvB,EAAc7oC,iBAAuB,MAC3CR,EAAgDJ,oBAAkB,GAAMK,EAAAH,aAAAE,EAAA,GAAjEspC,EAAgBrpC,EAAA,GAAEspC,EAAmBtpC,EAAA,GACtC5Q,EAAY0I,YAAYvF,GACxBwrC,EAAcjmC,YAAYjH,GAChCsP,EAA8BR,mBAAS,CAAEvL,YAAa,GAAIC,UAAW,KAAK+L,EAAAP,aAAAM,EAAA,GAAnEopC,EAAOnpC,EAAA,GAAEopC,EAAUppC,EAAA,GAE1B2F,qBAAU,WACTojC,EAAgBL,KACd,CAACA,IAEJ/iC,qBAAU,WACL9Y,EAAM2qB,QAAQpwB,QACjB2hD,EAAgBl8C,EAAM2qB,QAAQpwB,UAE7B,CAACyF,EAAM2qB,QAAQpwB,SA8BlB,OACC+E,IAAAxD,cAACikC,GAAU,CAACW,aAAa,GACxBphC,IAAAxD,cAAA,OAAK2O,UAAU,UAAUmwB,YAAU,YAAY1kB,IAAKimC,IACpD78C,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GAAItpB,UAAU,cACtCnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAGFnS,IAAAxD,cAAA,OAAK2O,UAAU,QACbtI,GACAA,EAAUA,WACVA,EAAUA,UAAUzI,OAAS,GAC5B4F,IAAAxD,cAAA,OAAK2O,UAAU,sBACbtI,EAAUA,UAAU0E,KAAI,SAAC6G,EAAMoN,GAC/B,OACCxb,IAAAxD,cAACsO,GAAI,CACJE,GAAIoD,EAAKvM,IACTzC,IAAKoc,EACLrQ,UAAU,oCAETiD,EAAKiH,UAMZrV,IAAAxD,cAAC2Y,GAAI,CACJC,GAAG,WACH0D,KAAK,WACLlI,QAAQ,EACRzF,UAAWoM,cACTulC,GACAT,GACAA,GACA,eACD,gBAEDzmC,GAAG,YAEFqnB,GAEDmf,GAAoBC,GACpBr8C,IAAAxD,cAAA,UACC2O,UAAU,oBACVqhB,gBAAeswB,EACfvwB,gBAAc,WACd5M,QAAS,kBAAMo9B,GAAqBD,KAEnCA,EACA98C,IAAAxD,cAAA,YACE6/C,EACDr8C,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,UAAUmJ,UAAU,OAAOtU,UAAU,UAGjDnL,IAAAxD,cAAA,YACE4/C,EACDp8C,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,UAAUmJ,UAAU,KAAKtU,UAAU,aAMtC,OAAZ5C,QAAY,IAAZA,OAAY,EAAZA,EAAcP,gBAA4B,OAAZO,QAAY,IAAZA,OAAY,EAAZA,EAAcP,aAAa5N,QAAS,GAClE4F,IAAAxD,cAAA,OAAK2O,UAAU,QACbwxC,GACA38C,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK8nC,QAAQ,MACpBP,GAGH38C,IAAAxD,cAACw9C,GAAiB,CACjBE,QAAS3xC,EAAaP,aACtB+M,SAxGgB,SAACmlC,EAA4BryC,GACnDo1C,EAAUt0C,wBAAC,GAAKq0C,GAAO,IAAEn1C,YAAaA,KACtC8lB,EAAK,QAAS,CACbrsB,OAAQA,EACRuG,cACAC,UAAWk1C,EAAQl1C,YAGpB,IAAIwM,EAAQ1M,GAAmBC,EAAam1C,EAAQl1C,WACpDnF,EAAQjI,KAAK,GAADyH,OAAIK,EAASkvC,UAAQvvC,OAAGmS,KAgG9B6lC,UAAWsC,EACXrC,WAAYsC,IAEb18C,IAAAxD,cAAA,OAAK8+B,YAAU,SAASnwB,UAAU,YAChB,YAAhBzK,EAAM5B,OACNkB,IAAAxD,cAACk/B,KAAK,CAAChlB,QAAQ,SAASvL,UAAU,QACjCnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,EAAOzF,UAAU,QACpCzK,EAAM2qB,QAAQruB,UAOrBgD,IAAAxD,cAAA,OAAK2O,UAAU,mDACbmxC,GACAA,EAASliD,OAAS,GAClBkiD,EAAS/0C,KAAI,SAAC41C,EAAM3hC,GACnB,OACCxb,IAAAxD,cAAC22B,KAAQ,CACR/zB,IAAKoc,EACLrJ,QAASgrC,EAAKhrC,QACd6e,aAAcmsB,EAAKnsB,aACnBD,YAAaosB,EAAKpsB,YAClBzgB,MAAO6sC,EAAK7sC,MACZnF,UAAWoM,aACK,KAAf4lC,EAAK7sC,OAAgB,cACN,MAAf6sC,EAAK7sC,OAAiB,SACtB,YAGA6sC,EAAKl0C,OACLk0C,EAAKl0C,MAAM7O,OAAS,GACpB+iD,EAAKl0C,MAAM1B,KAAI,SAAC6G,EAAMoN,GACrB,OACCxb,IAAAxD,cAAC42B,KAAY,CACZ/d,KAAMjH,EAAKiH,KACXxT,IAAKuM,EAAKvM,IACVwxB,cAAevoB,GACf1L,IAAKoc,EACL8X,SAAUllB,EAAKklB,mBAQvB+d,GACArxC,IAAAxD,cAAC2Z,KAAM,CAACf,GAAG,IAAIie,cAAevoB,GAAMrI,KAAM4uC,EAAcxvC,KACtDwvC,EAAch8B,OAIlBrV,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GAAItpB,UAAU,eACzB,OAAZ5C,QAAY,IAAZA,OAAY,EAAZA,EAAcuY,aACdvY,EAAauY,WAAW1mB,OAAS,IACrB,OAAZmO,QAAY,IAAZA,OAAY,EAAZA,EAAcU,SACF,OAAZV,QAAY,IAAZA,OAAY,EAAZA,EAAcU,MAAM7O,QAAS,GAC5B4F,IAAAxD,cAACs/C,GAAqBzhD,OAAA+N,OAAA,GACjBG,EAAY,CAChB2N,QAASsmC,EACTrxC,UAAU,aACVquB,aA5Jc,SAACh6B,EAAkBigB,GACvC,IAAI3X,EAAY,GACZ2X,IACH3X,EAAS,GAAA3F,OAAM3C,EAAQ,KAAA2C,OAAIsd,IAG5Bw9B,EAAUt0C,wBAAC,GAAKq0C,GAAO,IAAEl1C,UAAWA,KACpC6lB,EAAK,QAAS,CACbrsB,OAAQA,EACRuG,YAAam1C,EAAQn1C,YACrBC,cAED,IAAIwM,EAAQ1M,GAAmBo1C,EAAQn1C,YAAaC,GACpDnF,EAAQjI,KAAK,GAADyH,OAAIK,EAASkvC,UAAQvvC,OAAGmS,OAiJjB,OAAZ/L,QAAY,IAAZA,GAAmB,QAAP4zC,EAAZ5zC,EAAcU,aAAK,IAAAkzC,OAAP,EAAZA,EAAqB50C,KAAI,SAAC4B,EAAKqS,GAC/B,OACCxb,IAAAxD,cAACu/C,GAAwB,CACxB5yC,IAAKA,EACLqL,QAASjM,EAAauY,YAAc,GACpC1hB,IAAKoc,EACLg2B,YAAaA,SAOpBxxC,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGtpB,UAAU,cACrCnL,IAAAxD,cAACsb,GAAY,CAACC,UAAW1C,EAAK0C,cAG/B01B,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,MC1Gd2P,GAjHuB,SAAHn8C,GAQ5B,IAPNkI,EAAGlI,EAAHkI,IACAqL,EAAOvT,EAAPuT,QACA6oC,EAAUp8C,EAAVo8C,WACAC,EAAUr8C,EAAVq8C,WACAzC,EAAO55C,EAAP45C,QACA0C,EAAWt8C,EAAXs8C,YAAWC,EAAAv8C,EACXoyB,qBAAa,IAAAmqB,EAAGC,KAAQD,EAExBrqC,EAAgCC,oBAAkB,GAAMC,EAAAC,aAAAH,EAAA,GAAjDwF,EAAQtF,EAAA,GAAEopB,EAAWppB,EAAA,GAC5B2H,EAAkBC,eACZrF,GAAKsF,EADgB5H,aAAA0H,EAAA,GAAb,MAERlQ,EAAOuoB,EAEPqqB,EAAkB,WACvB,IAAIC,EAAe,EASnB,OAPIL,IACHK,GAAgB,GAEbN,IACHM,GAAgB,GAGTA,EAAgBnpC,EAAQpa,QAGjC,OACC4F,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAA,MAAIm9B,mBAAkBxwB,EAAIywB,iBACxB0jB,GACAt9C,IAAAxD,cAAA,UACCwD,IAAAxD,cAAA,SACCgB,KAAK,WACL8yB,aAAA,qBAAAnuB,OAA8BgH,EAAIywB,iBAClCihB,QAASA,EACT9lC,SAAU,WACTwoC,GAAeA,EAAYp0C,EAAIC,gBAMlCoL,EAAQjN,KAAI,SAACkQ,EAAQ+D,GACrB,OACCxb,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAKoc,GACpBxb,IAAAxD,cAAA,UACsB,oBAApBib,EAAOjY,SACPQ,IAAAxD,cAACsO,EAAI,CAACE,GAAI7B,EAAItH,KAAOsH,EAAYsO,EAAOjY,WAEvC2J,EAAYsO,EAAOjY,eAMxB69C,GACAr9C,IAAAxD,cAAA,UACE2M,EAAImE,aACJtN,IAAAxD,cAAA,UACC8zB,aAAA,0BAAAnuB,OAAsCyT,GACtCzK,UAAU,gBACVqhB,gBAAe7T,EACf4T,gBAAA,yBAAApqB,OAAwCyT,GACxCA,GAAE,oBAAAzT,OAAsByT,GACxB+J,QAAS,WACR8c,GAAa9jB,KAGd3Y,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAW9G,EAAW,OAAS,KAC/BxN,UAAU,GACVsL,eAAa,OAOlB4mC,GACAr9C,IAAAxD,cAAC++B,KAAU,CAACC,GAAI7iB,EAAUjc,QAAS,MACjC,SAACgE,GAAsB,OACvBV,IAAAxD,cAAA,MACCoZ,GACCynC,GAAcl0C,EAAImE,aAAW,yBAAAnL,OAA6ByT,GAE3D4Y,KAAM6uB,GAAcl0C,EAAImE,aAAe,SACvC2uC,kBACCoB,GAAcl0C,EAAImE,aAAW,oBAAAnL,OAAwByT,GAEtD6lB,OAAkB,WAAV/6B,GAAuB28C,IAAel0C,EAAImE,YAClDnC,UAAWoM,aACA,YAAV7W,EAAsB,mBAAqB,kBAC3C,4BAGDV,IAAAxD,cAAA,MAAI6e,QAASqiC,KACZ19C,IAAAxD,cAAA,OACC2O,UAAU,yCACVwb,wBAAyB,CACxBC,OAASzd,EAA0BmE,aAAe,aC0I7CswC,GArNoB,SAAH38C,GAkBzB,IAjBNkK,EAASlK,EAATkK,UACA+uC,EAAOj5C,EAAPi5C,QAIY3gB,GAHPt4B,EAALqT,MACMrT,EAAN0Q,OACK1Q,EAAL6pB,MACY7pB,EAAZ2iC,aAAY3iC,EACZiV,gBAAO,IAAAqjB,EAAG,YAAWA,EACrBzY,EAAU7f,EAAV6f,WACA0Y,EAAYv4B,EAAZu4B,aACAvwB,EAAKhI,EAALgI,MAAK40C,EAAA58C,EACLq8C,kBAAU,IAAAO,GAAQA,EAElBC,GADc78C,EAAd88C,eACa98C,EAAb68C,eACAE,EAAY/8C,EAAZ+8C,aACAC,EAAeh9C,EAAfg9C,gBACA5qB,EAAapyB,EAAboyB,cACApoB,EAAQhK,EAARgK,SAGAkI,EAAgCC,oBAAkB,GAAMC,EAAAC,aAAAH,EAAA,GAAjDwF,EAAQtF,EAAA,GAAEopB,EAAWppB,EAAA,GAEtB6qC,EAAe,WACpB,GAAyC,IAArC7jD,OAAO0P,KAAKi0C,GAAc5jD,OAC7B,OAAO,EAER,IAAK,IAAIwb,KAAMooC,EACd,IAAKA,EAAapoC,GAAIvO,SACrB,OAAO,EAGT,OAAO,GAGF82C,EAAoB,SAACvoC,GACtBooC,EAAapoC,IAChBqoC,EAAe10C,YAAC,GACdqM,EAAEjN,wBAAA,GACCq1C,EAAapoC,IAAG,IACnBvO,UAAW22C,EAAapoC,GAAIvO,cAkChC,OACCrH,IAAAxD,cAAA,OAAK2O,UAAWA,EAAWgQ,WAAS,yBACnCnb,IAAAxD,cAAA,OACC2O,UAAWoM,aACVpM,EACA,qFAGA+uC,GAAWA,EAAQ9/C,OAAS,GAC5B4F,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAA,UACC2O,UAAU,2DACVqhB,gBAAe7T,EACf4T,gBAAc,gBACd5M,QAAS,kBAAM8c,GAAa9jB,KAE5B3Y,IAAAxD,cAAA,YACCwD,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,UAAUnM,KAAM,EAAGgB,UAAU,sBAAsB,YAG/DnL,IAAAxD,cAAA,QAAM2O,UAAU,qBACdwN,EAAW,UAAS,SAGvB3Y,IAAAxD,cAAC++B,KAAU,CAACC,GAAI7iB,EAAUjc,QAAS,MACjC,SAACgE,GAAsB,OACvBV,IAAAxD,cAAA,OACCoZ,GAAG,gBACH6lB,OAAkB,WAAV/6B,EACRyK,UAAWoM,aACA,YAAV7W,EACG,mBACA,kBACH,6BAGDV,IAAAxD,cAAC0X,KAAI,KACJlU,IAAAxD,cAAA,OAAK2O,UAAU,wDACb+uC,EAAQ3yC,KAAI,SAACJ,GACb,OACCnH,IAAAxD,cAAA,OAAK2O,UAAU,OAAO/L,IAAK+H,EAAOyO,IACjC5V,IAAAxD,cAAC+Y,KAAK,CAACC,QAASrO,EAAOyO,IAAKzO,EAAOsK,OAClB,WAAhBtK,EAAO3J,MACPwC,IAAAxD,cAACwZ,MAAM,CACNpY,KAAMuJ,EAAOyO,GACbnE,MAAOtK,EAAOyO,GACdA,GAAIzO,EAAOyO,GACXvD,QAASlL,EAAOkL,eAOtBrS,IAAAxD,cAAA,OAAK2O,UAAU,6CACdnL,IAAAxD,cAAC2Z,KAAM,CAAC3Y,KAAK,QAAQkZ,QAAQ,YAAYvM,KAAK,SAAQ,gBAU7DnK,IAAAxD,cAAA,SAAO2O,UAAU,qCAChBnL,IAAAxD,cAAA,WAAS2O,UAAU,WAAW+K,GAC7B4K,GACA9gB,IAAAxD,cAAA,aACCwD,IAAAxD,cAAA,UACE8gD,GACAt9C,IAAAxD,cAAA,MAAI8e,MAAM,OACTtb,IAAAxD,cAAA,SACCgB,KAAK,WACL8yB,aAAW,qBACXuqB,QAASqD,IACTnpC,SAxGa,WACtB,IAAIqpC,EAA6C,GAEjD,GAAIF,IACH,IAAK,IAAItoC,KAAMooC,EACdI,EAAgBxoC,GAAGjN,wBAAA,GAAQq1C,EAAapoC,IAAG,IAAEvO,UAAU,SAGxD,IAAK,IAAIuO,KAAMooC,EACdI,EAAgBxoC,GAAGjN,wBAAA,GAAQq1C,EAAapoC,IAAG,IAAEvO,UAAU,IAGzD42C,EAAgBG,OAgGTt9B,EAAWvZ,KAAI,SAACkQ,EAAQ+D,GACxB,OACCxb,IAAAxD,cAAA,MAAI4C,IAAKoc,EAAOF,MAAM,OACrBtb,IAAAxD,cAACgjB,GAAmB,CACnBhgB,SAAUiY,EAAO/P,KACjB+X,UAAWhI,EAAOgI,UAClBC,YAAajI,EAAOiI,YACpB3K,SAAUykB,GAET/hB,EAAOtF,aAMXnS,IAAAxD,cAAA,MAAI2O,UAAU,UAAUmQ,MAAM,OAAM,0CAOvCrS,GAAS6X,GACT9gB,IAAAxD,cAAA,aACEyM,EAAM1B,KAAI,SAAC4B,EAAKqS,GAChB,OACCxb,IAAAxD,cAAC4gD,GAAY,CACZj0C,IAAKA,EACLk0C,YA9GU,EA+GVC,WAAYA,EACZzC,UACCmD,EAAa70C,EAAIC,aACd40C,EAAa70C,EAAIC,YAAY/B,SAGjCk2C,YAAaY,EACb9qB,cAAeA,EACf7e,QAASsM,EACT1hB,IAAKoc,UAQZxb,IAAAxD,cAAA,OAAK2O,UAAU,QACb2yC,GACA99C,IAAAxD,cAAA,MAAI2O,UAAU,gDACZ2yC,GAGF7yC,GACAjL,IAAAxD,cAAA,OAAK2O,UAAU,uBAlJI,SAACF,GAQvB,OAPyBjL,IAAM4nC,SAASrgC,IAAI0D,GAAU,SAAC48B,EAAOrsB,GAC7D,IAAMsL,EAAa+gB,GAASA,EAAM/gB,MAAKne,YAAA,GAAQk/B,EAAM/gB,OAAU,GAG/D,OAFAA,EAAMk3B,aAAeA,EAEdh+C,IAAM8nC,aAAaD,EAAO/gB,MA6IOihB,CAAe98B,OC3N3CozC,GA1BgC,SAAHp9C,GAMrC,IALNoU,EAAIpU,EAAJoU,KACAsK,EAAO1e,EAAP0e,QACY2+B,GAAAr9C,EAAZ+8C,aAAY/8C,EACZ8C,gBAAO,IAAAu6C,GAAQA,EAAAC,EAAAt9C,EACfmV,gBAAQ,IAAAmoC,GAAQA,EAEhB,OACCv+C,IAAAxD,cAAA,UACC2O,UAAWoM,aACVnB,EACG,yCACA,8DACH,qEAEDuJ,QAAS,kBAAMA,KACfvJ,SAAUrS,GAAWqS,GAErBpW,IAAAxD,cAAAwD,IAAAiU,SAAA,KACEoB,EAAM,IACNtR,GAAW/D,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,SAASE,QAAQ,OAAOrL,UAAU,YC7BhDqzC,GAAc,eAAAv9C,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAC7BwH,EACAC,EACA21C,EACAC,GAAgB,IAAAC,EAAAp2C,EAAAqN,EAAA1b,EAAA0kD,EAAAC,EAAAC,EAAAllD,EAAA,OAAAuH,IAAAY,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAMhB,IAAS0T,IAJA,4EACL+oC,EAA6B,GAC7Bp2C,EAAmC,GAExBO,EAKd,GAJIA,EAAqB8M,GAAIvO,UAC5BkB,EAAa7N,KAAKoO,EAAqB8M,IAGpC6oC,EAAiBx1C,MACpB,IAAS/O,KAAKukD,EAAiBx1C,MACxB21C,EAAoBH,EAAiBx1C,MAAM/O,GAAG0kD,kBAEnDH,EAAiBx1C,MAAM/O,GAAGkP,aAAewM,GACzCgpC,IACCD,EAAiBvmC,SAASwmC,IAE3BD,EAAiBjkD,KAAKkkD,GAWzB,OALKC,EAAgC,CACrCh2C,eAAgBA,EAChB81C,iBAAkBA,EAClB77C,QAAS47C,EACTn2C,aAAcA,GACdvG,EAAAE,KAAA,EAEsBE,IAAMq1B,KA9BpB,4EA8BsDonB,GAAY,KAAD,EAA9D,OAA8DC,EAAA98C,EAAAK,KAAlEzI,EAAIklD,EAAJllD,KAAIoI,EAAAgB,OAAA,SAELpJ,GAAI,yBAAAoI,EAAAiB,UAAA5B,OACX,gBAvC0B6B,EAAAC,EAAAC,EAAAC,GAAA,OAAApC,EAAAlG,MAAA,KAAAuI,YAAA,GCwUZy7C,GA/SiD,SAAH99C,GAkBtD,IAjBNkR,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACAmf,EAAgBn7C,EAAhBm7C,iBACAC,EAAgBp7C,EAAhBo7C,iBACcE,EAAmBt7C,EAAjCsH,aACAi0C,EAAgBv7C,EAAhBu7C,iBACAhf,EAAev8B,EAAfu8B,gBACAwhB,EAAsB/9C,EAAtB+9C,uBACAlhB,EAAwB78B,EAAxB68B,yBACAmhB,EAAsBh+C,EAAtBg+C,uBACA5pC,EAAIpU,EAAJoU,KACAo4B,EAAWxsC,EAAXwsC,YACAnsC,EAAML,EAANK,OACAm7C,EAAex7C,EAAfw7C,gBACAC,EAAgBz7C,EAAhBy7C,iBACAC,EAAa17C,EAAb07C,cACAL,EAAQr7C,EAARq7C,SAEM95C,EAAWyU,eACXtU,EAAUuW,eACVlQ,EAAW8T,cACjB3J,EAAwCC,mBAASmpC,GAAoBlpC,EAAAC,aAAAH,EAAA,GAA9D5K,EAAY8K,EAAA,GAAEupC,EAAevpC,EAAA,GACpCma,EAAsBC,aAAWmuB,IAAkBluB,EAAApa,aAAAka,EAAA,GAA5C9sB,EAAKgtB,EAAA,GAAEC,EAAID,EAAA,GACZmvB,EAAc7oC,iBAAuB,MAC3CR,EAA0CJ,oBAAkB,GAAMK,EAAAH,aAAAE,EAAA,GAA3D0rC,EAAazrC,EAAA,GAAE0rC,EAAgB1rC,EAAA,GACtCG,EAAwCR,mBAAiC,IAAGS,EAAAP,aAAAM,EAAA,GAArEwrC,EAAYvrC,EAAA,GAAEwrC,EAAexrC,EAAA,GAC9BhR,EAAY0I,YAAYvF,GACxBs5C,EAAiB/zC,YAAYjB,IACnC4a,EAA8B9R,mBAAS,CAAEvL,YAAa,GAAIC,UAAW,KAAKqd,EAAA7R,aAAA4R,EAAA,GAAnE83B,EAAO73B,EAAA,GAAE83B,EAAU93B,EAAA,GAC1BG,EAAgDlS,oBAAkB,GAAMmS,EAAAjS,aAAAgS,EAAA,GAAjEw3B,EAAgBv3B,EAAA,GAAEw3B,EAAmBx3B,EAAA,GACtC1c,EACLN,GACAA,EAAaU,OACbV,EAAaU,MAAM7O,OAAS,QACa0D,IAAzCyK,EAAaU,MAAM,GAAGJ,eACnBN,EAAaU,MAAM,GAAGJ,eACtB,EACEC,GACLw2C,GAAkBA,EAAez2C,GAC9By2C,EAAez2C,GAAgBC,qBAC/B,GA8CJ0Q,qBAAU,WACTojC,EAAgBL,KACd,CAACA,IAEJ/iC,qBAAU,WACL9Y,EAAM2qB,QAAQpwB,QACjB2hD,EAAgBl8C,EAAM2qB,QAAQpwB,UAE7B,CAACyF,EAAM2qB,QAAQpwB,SAElBue,qBAAU,WACLjR,GACHS,EACCD,GACCF,EACAN,EACAO,OAKD,CAACD,EAAgBN,IA8BpB,OACCvI,IAAAxD,cAACikC,GAAU,CAACW,aAAa,GACxBphC,IAAAxD,cAAA,OAAK2O,UAAU,UAAUmwB,YAAU,YAAY1kB,IAAKimC,IACpD78C,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GAAItpB,UAAU,cACtCnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAGFnS,IAAAxD,cAAA,OAAK2O,UAAU,QACbtI,GACAA,EAAUA,WACVA,EAAUA,UAAUzI,OAAS,GAC5B4F,IAAAxD,cAAA,OAAK2O,UAAU,sBACbtI,EAAUA,UAAU0E,KAAI,SAAC6G,EAAMoN,GAC/B,OACCxb,IAAAxD,cAACsO,GAAI,CACJE,GAAIoD,EAAKvM,IACTzC,IAAKoc,EACLrQ,UAAU,oCAETiD,EAAKiH,UAMZrV,IAAAxD,cAAC2Y,GAAI,CACJC,GAAG,WACH0D,KAAK,WACLlI,QAAQ,EACRzF,UAAWoM,cACTulC,GACAT,GACAA,GACA,eACD,gBAEDzmC,GAAG,YAEFqnB,GAEDmf,GAAoBC,GACpBr8C,IAAAxD,cAAA,UACC2O,UAAU,oBACVqhB,gBAAeswB,EACfvwB,gBAAc,WACd5M,QAAS,kBAAMo9B,GAAqBD,KAEnCA,EACA98C,IAAAxD,cAAA,YACE6/C,EACDr8C,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,UAAUmJ,UAAU,OAAOtU,UAAU,UAGjDnL,IAAAxD,cAAA,YACE4/C,EACDp8C,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,UAAUmJ,UAAU,KAAKtU,UAAU,aAMtC,OAAZ5C,QAAY,IAAZA,OAAY,EAAZA,EAAcP,gBAA4B,OAAZO,QAAY,IAAZA,OAAY,EAAZA,EAAcP,aAAa5N,QAAS,GAClE4F,IAAAxD,cAAA,OAAK2O,UAAU,QACbwxC,GACA38C,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK8nC,QAAQ,MACpBP,GAGH38C,IAAAxD,cAACw9C,GAAiB,CACjBE,QAAS3xC,EAAaP,aACtB+M,SAxGgB,SAACmlC,EAA4BryC,GACnDo1C,EAAUt0C,wBAAC,GAAKq0C,GAAO,IAAEn1C,YAAaA,KACtC8lB,EAAK,QAAS,CACbrsB,OAAQA,EACRuG,cACAC,UAAWk1C,EAAQl1C,YAGpB,IAAIwM,EAAQ1M,GAAmBC,EAAam1C,EAAQl1C,WACpDnF,EAAQjI,KAAK,GAADyH,OAAIK,EAASkvC,UAAQvvC,OAAGmS,KAgG9B6lC,UAAWsC,EACXrC,WAAYsC,IAEI,UAAhBh8C,EAAM5B,OAAqBkB,IAAAxD,cAAA,SAAG,uBAGjCwD,IAAAxD,cAAA,OAAK2O,UAAU,8CACbmxC,GACAA,EAASliD,OAAS,GAClBkiD,EAAS/0C,KAAI,SAAC41C,EAAM3hC,GACnB,OACCxb,IAAAxD,cAAC22B,KAAQ,CACR/zB,IAAKoc,EACLrJ,QAASgrC,EAAKhrC,QACd6e,aAAcmsB,EAAKnsB,aACnBD,YAAaosB,EAAKpsB,YAClBzgB,MAAO6sC,EAAK7sC,MACZnF,UAAWoM,aACK,KAAf4lC,EAAK7sC,OAAgB,cACN,MAAf6sC,EAAK7sC,OAAiB,SACtB,YAGA6sC,EAAKl0C,OACLk0C,EAAKl0C,MAAM7O,OAAS,GACpB+iD,EAAKl0C,MAAM1B,KAAI,SAAC6G,EAAMoN,GACrB,OACCxb,IAAAxD,cAAC42B,KAAY,CACZ/d,KAAMjH,EAAKiH,KACXxT,IAAKuM,EAAKvM,IACVwxB,cAAevoB,GACf1L,IAAKoc,EACL8X,SAAUllB,EAAKklB,oBASzBtzB,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GAAItpB,UAAU,cACtCnL,IAAAxD,cAACohD,GAASvjD,OAAA+N,OAAA,GACLG,EAAY,CAChB2N,QAASsmC,EACTwB,aAAcl1C,GACdm1C,gBA1N2B,SAC/BsB,GAEAF,EAAgB,IAChBr2C,EAASqB,GAA2BxB,EAAgB02C,KAuNhDjC,YAAU,EACVnyC,UAAU,QACV2yC,cAAetgB,EACfhE,aA/IgB,SAACh6B,EAAkBigB,GACvC,IAAI3X,EAAY,GACZ2X,IACH3X,EAAS,GAAA3F,OAAM3C,EAAQ,KAAA2C,OAAIsd,IAG5Bw9B,EAAUt0C,wBAAC,GAAKq0C,GAAO,IAAEl1C,UAAWA,KACpC6lB,EAAK,QAAS,CACbrsB,OAAQA,EACRuG,YAAam1C,EAAQn1C,YACrBC,cAED,IAAIwM,EAAQ1M,GAAmBo1C,EAAQn1C,YAAaC,GACpDnF,EAAQjI,KAAK,GAADyH,OAAIK,EAASkvC,UAAQvvC,OAAGmS,OAoIhCtU,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAC6hD,GAAqB,CACrBhpC,KACC6pC,EACGphB,EACAkhB,EAEJj7C,QAASm7C,EACTv/B,QAAS,WArNfw/B,GAAiB,GACjBE,EAAgB,IAEZ92C,GACUi2C,GACZ31C,EACAC,GACAP,GACS,OAAT1F,QAAS,IAATA,OAAS,EAATA,EAAWC,UAAW,SAIrB4R,MAAK,SAACC,GACN0qC,EAAgB1qC,GAChBwqC,GAAiB,MAEjBrqC,OAAM,WACNuqC,EAAgB,CACf1hD,QAAS,uCAEVwhD,GAAiB,OAkMd/oC,UAlOkB,SACxBmpC,GAEA,IAAK,IAAI3pC,KAAM2pC,EACd,GAAIA,EAAoB3pC,GAAIvO,SAC3B,OAAO,EAGT,OAAO,EA0NUm4C,CAAiB12C,MAE5Bs2C,EAAajmB,WACbn5B,IAAAxD,cAAA,KACCiG,KAAM28C,EAAajmB,UACnBhuB,UAAU,2IAET8zC,GAGFG,EAAazhD,SACbqC,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAKgqC,EAAazhD,YAK/BqC,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGtpB,UAAU,cACrCnL,IAAAxD,cAACsb,GAAY,CAACC,UAAW1C,EAAK0C,cAG/B01B,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,MCqCdgS,GAzUiD,SAAHx+C,GAYtD,IAXNkR,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACAuQ,EAAUvsC,EAAVusC,WACA0B,EAAejuC,EAAfiuC,gBACAyN,EAAa17C,EAAb07C,cACAF,EAAex7C,EAAfw7C,gBACAC,EAAgBz7C,EAAhBy7C,iBACAp7C,EAAML,EAANK,OACiBo+C,EAAsBz+C,EAAvCu4C,gBACAnkC,EAAIpU,EAAJoU,KACAo4B,EAAWxsC,EAAXwsC,YAEMnM,EAAWvK,KACXsK,EAAmBpK,KACzB9jB,EAA8CC,mBAC7CssC,GACArsC,EAAAC,aAAAH,EAAA,GAFMqmC,EAAenmC,EAAA,GAAEssC,EAAkBtsC,EAAA,GAG1Cma,EAAsBC,aAAWmuB,IAAkBluB,EAAApa,aAAAka,EAAA,GAA5C9sB,EAAKgtB,EAAA,GAAEC,EAAID,EAAA,GACZlrB,EAAWyU,eACXtU,EAAUuW,eACVyoB,EAAiBp2B,YAAYzF,GAC3BwO,EAAUoJ,KAAYjV,MAAMjG,EAASuD,QAArCuO,MACFitB,EAAwBvtB,iBAAY,MACpCytB,EAAsBztB,iBAAY,MACxCkuB,EAAkCzU,aAAW+H,GAAe,CAC3DnK,QAAS,CACR/pB,QAAkB,OAAVksC,QAAU,IAAVA,OAAU,EAAVA,EAAYlsC,UAAwB,OAAdqgC,QAAc,IAAdA,OAAc,EAAdA,EAAgBrgC,QAC9C6I,KAAMk3B,EAAmB,GAAkB,OAAdM,QAAc,IAAdA,OAAc,EAAdA,EAAgBzT,sBAAuB,EACpEuH,SAAU,OAEV0M,EAAA7uB,aAAA4uB,EAAA,GANKF,EAAWG,EAAA,GAAEF,EAAUE,EAAA,GAO9B2T,EAAgCroB,aAAW0I,IAAmB4f,EAAAziC,aAAAwiC,EAAA,GAAvD1T,EAAU2T,EAAA,GAAE1T,EAAS0T,EAAA,GAE5BzpB,aAAgBiV,GAAuB,WAClCI,GACHU,EAAU,YAIZ,IAAMoX,EAAqB,SAAChP,GAAmB,IAADmV,EAC7C,OACC5/C,IAAAxD,cAACk9C,KAAY,CACZjiC,OAAQgzB,EAASt4B,QACjBgG,KAAMsyB,EAASpyB,OACfshC,kBAAkC,OAAfH,QAAe,IAAfA,OAAe,EAAfA,EAAiBG,kBACpCC,mBAAmC,OAAfJ,QAAe,IAAfA,OAAe,EAAfA,EAAiBI,mBACrCzuC,UAAU,SAED,OAARs/B,QAAQ,IAARA,GAAe,QAAPmV,EAARnV,EAAUxhC,aAAK,IAAA22C,OAAP,EAARA,EAAiBxlD,QAAS,EAC1BqwC,EAASxhC,MAAM1B,KAAI,SAAC6G,EAAWoN,GAAa,OAC3Cxb,IAAAxD,cAACq9C,KAAgB,CAChBgG,qBAAoBpV,EAASt4B,QAC7B2tC,qBAAoB1xC,EAAKiH,KACzBjW,IAAKoc,EACLnG,KAAMjH,EAAKiH,KACXgmC,MAAOjtC,EAAKitC,MACZx5C,IAAG,GAAAM,OAAKiM,EAAKvM,KAAGM,OAAGK,EAASuD,QAC5BstB,cAAevoB,QAIjB9K,IAAAxD,cAAA,MAAI2O,UAAU,QACbnL,IAAAxD,cAAA,KAAG2O,UAAU,UAAyB,OAAfquC,QAAe,IAAfA,OAAe,EAAfA,EAAiBuG,gBA0B7C,OAVAvmC,qBAAU,WACTmmC,EAAmBD,KACjB,CAACA,IAEJlmC,qBAAU,WACL9Y,EAAM2qB,QAAQpwB,QACjB0kD,EAAmBj/C,EAAM2qB,QAAQpwB,UAEhC,CAACyF,EAAM2qB,QAAQpwB,SAGjB+E,IAAAxD,cAACikC,GAAU,KACT+M,GACAxtC,IAAAxD,cAAA,OAAK2O,UAAU,mBACdnL,IAAAxD,cAACmxC,KAAU,KACV3tC,IAAAxD,cAAC23B,KAAI,CAAC3iB,SAAS,EAAOrG,UAAU,gBAC/BnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,IACb,OAAV+Y,QAAU,IAAVA,OAAU,EAAVA,EAAYr7B,UACZnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAKxE,QAAQ,EAAOzF,UAAU,iBACrCqiC,EAAWl3B,MACXtW,IAAAxD,cAAC6Z,KAAI,CACJC,KAAMk3B,EAAWl3B,KACjBnM,KAAM,EACNgB,UAAU,oDACVsL,eAAa,IAGJ,OAAV+2B,QAAU,IAAVA,OAAU,EAAVA,EAAYr7B,UAGJ,OAAVq7B,QAAU,IAAVA,OAAU,EAAVA,EAAYvQ,WACZj9B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,GACT,OAAV48B,QAAU,IAAVA,OAAU,EAAVA,EAAYvQ,WAGJ,OAAVuQ,QAAU,IAAVA,OAAU,EAAVA,EAAYI,YACZ5tC,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAACsmC,MAAW,CACXltB,GAAG,wBACHnE,MAAO+7B,EAAWK,sBAClB3K,YAAasK,EAAWrK,kBACxBh4B,UAAU,kBACV43B,WAAYxB,EACZyB,SAAUvB,EACVxX,YAAmC,YAAtB+X,EAAYljC,MACzBwT,aAAcgC,EAAQA,EAAMsmB,gBAAa98B,EACzCiX,SAAU,SAACjZ,GACW,WAArBsmC,EAAWtjC,OACVmjC,EAAW,SAAU,CACpBnjC,MAAOhD,EAAEgD,SAGZsV,SAAU,SAACtY,GAAY,IAADsnC,EACrBf,EAAU,SACS,OAAnBZ,QAAmB,IAAnBA,GAA4B,QAAT2B,EAAnB3B,EAAqB7sB,eAAO,IAAAwuB,GAA5BA,EAA8BC,OAC9B1gC,EAAQjI,KAAK,GAADyH,OAEVqrC,EAAWlK,cAAa,WAAAnhC,OACfqF,mBACT1L,EAAEgyC,0BAILtK,QAAS,WACRzlC,YAAW,WACVskC,EAAU,UACR,OAGkB,WAArBD,EAAWtjC,OACXkjC,EAAY3W,QAAQpwB,QACU,KAA9B+mC,EAAY3W,QAAQ/W,OACnBtU,IAAAxD,cAACinC,KAAmB,KAClBzB,EAAY3W,QAAQpwB,OAAOyoC,SAC3B1B,EAAY3W,QAAQpwB,OAAOyoC,QAAQn8B,KAClC,SAAC6G,GAAyB,OACzBpO,IAAAxD,cAACmnC,KAAuB,CACvBvkC,IAAKgP,EAAKhF,YAEVpJ,IAAAxD,cAACsO,GAAI,CAACE,GAAIoD,EAAKvM,KACd7B,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAU,OACVhJ,eAAa,EACbtM,KAAM,MAENiE,EAAK+D,aAKV6vB,EAAY3W,QAAQpwB,OAAO2oC,aAC3B5B,EAAY3W,QAAQpwB,OAAOkP,MAC3BnK,IAAAxD,cAACmnC,KAAuB,KACvB3jC,IAAAxD,cAACsO,GAAI,CACJE,GAAE,GAAA7I,OACS,OAAVqrC,QAAU,IAAVA,OAAU,EAAVA,EAAYlK,cAAa,WAAAnhC,OAChBqF,mBACTw6B,EAAY3W,QAAQpwB,OAAOqZ,QAE5BqL,QAAS,WACR0iB,EAAU,WAGI,OAAdV,QAAc,IAAdA,OAAc,EAAdA,EAAgBkC,sBAIyB,IAA5C7B,EAAY3W,QAAQpwB,OAAO2oC,cAC3B5jC,IAAAxD,cAACmnC,KAAuB,KACvB3jC,IAAAxD,cAAA,SAAG,+BAMTwD,IAAAxD,cAACuxC,KAAe,YAQrBP,GACDxtC,IAAAxD,cAAC23B,KAAI,KACJn0B,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAEFnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBmkB,MAMNj9B,IAAAxD,cAAC23B,KAAI,CACJvjB,QAAQ,EACRY,SAAS,EACTrG,UAAWoM,aACV23B,GAAmB,mBACnB,4BAGC5N,GAAY4N,GACblvC,IAAAxD,cAAC+3B,KAAI,CAACgJ,OAAQ,GAAI9I,QAAS,EAAGtpB,UAAU,8BACvCnL,IAAAxD,cAACizC,MAAG,CACHt9B,QAAS+8B,EAAgB/8B,QACzBlJ,MAAOimC,EAAgBQ,SACvByJ,OAAQjK,EAAgBkK,UAEvBlK,EAAgBS,OAAOpoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACozC,MAAO,CAACntC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,WAOXrV,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACvB6M,GAAY4N,GACZlvC,IAAAxD,cAACizC,MAAG,CAACt9B,QAAS+8B,EAAgB/8B,QAASlJ,MAAO,GAAIkC,UAAU,SAC1D+jC,EAAgBS,OAAOpoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACozC,MAAO,CAACntC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,WAKM,OAAfmkC,QAAe,IAAfA,OAAe,EAAfA,EAAiBxxC,gBACF,OAAfwxC,QAAe,IAAfA,OAAe,EAAfA,EAAiBxxC,aAAa5N,QAAS,GACtC4F,IAAAxD,cAAA,OAAK2O,UAAU,QACbwxC,GACA38C,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK8nC,QAAQ,MACpBP,GAGH38C,IAAAxD,cAACw9C,GAAiB,CACjBE,QAASV,EAAgBxxC,aACzB+M,SA/Le,SAACmlC,EAA4B5lC,GACnDqZ,EAAK,QAAS,CACbrsB,OAAQA,EACRuG,YAAayM,IAGd3R,EAAQjI,KAAK,GAADyH,OAAIK,EAASkvC,SAAQ,KAAAvvC,OAAImS,KA0L9B6lC,UAAWsC,EACXrC,WAAYsC,IAEb18C,IAAAxD,cAAA,OAAK8+B,YAAU,SAASnwB,UAAU,YAChB,YAAhBzK,EAAM5B,OACNkB,IAAAxD,cAACk/B,KAAK,CAAChlB,QAAQ,SAASvL,UAAU,QACjCnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,EAAOzF,UAAU,QACpCzK,EAAM2qB,QAAQruB,UAOrBw8C,GACAA,EAAgB7wB,YAChB6wB,EAAgB7wB,WAAWvuB,OAAS,GACnC4F,IAAAxD,cAAA,OAAKoZ,GAAI4jC,EAAgB5jC,GAAIzK,UAAU,YACrB,YAAhBzK,EAAM5B,OACNkB,IAAAxD,cAAA,OAAK2O,UAAU,6EACdnL,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,SAASnM,KAAM,EAAGqM,QAAQ,OAAOrL,UAAU,MAGxDnL,IAAAxD,cAAC23B,KAAI,CAAC3iB,SAAS,GACdxR,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAI+I,OAAQ,GACtBic,EAAgB7wB,WAAWphB,KAC3B,SAACkjC,EAAejvB,GACf,OACCxb,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAKoc,GACnBA,EACA7L,KAAKmqC,KACJN,EAAgB7wB,WAAWvuB,OAAS,IAChCq/C,EAAmBhP,QAMS,IAAtC+O,EAAgB7wB,WAAWvuB,QAC3B4F,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAI+I,OAAQ,GACtBic,EAAgB7wB,WAAWphB,KAC3B,SAACkjC,EAAejvB,GACf,OACCxb,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAKoc,GACnBA,GACA7L,KAAKmqC,KACJN,EAAgB7wB,WAAWvuB,OAAS,IAChCq/C,EAAmBhP,UAUnCzqC,IAAAxD,cAACsb,GAAY,CAACC,UAAW1C,EAAK0C,cAG/B01B,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,MCrGduS,GA3O+C,SAAH/+C,GAepD,IAADk7C,EAdLhqC,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACAmf,EAAgBn7C,EAAhBm7C,iBACAC,EAAgBp7C,EAAhBo7C,iBACAC,EAAQr7C,EAARq7C,SACcC,EAAmBt7C,EAAjCsH,aACAi0C,EAAgBv7C,EAAhBu7C,iBACAnnC,EAAIpU,EAAJoU,KACAo4B,EAAWxsC,EAAXwsC,YACAnsC,EAAML,EAANK,OACAm7C,EAAex7C,EAAfw7C,gBACAC,EAAgBz7C,EAAhBy7C,iBACAC,EAAa17C,EAAb07C,cACAtL,EAAapwC,EAAbowC,cAEM7uC,EAAWyU,eACXtU,EAAUuW,eAChB/F,EAAwCC,mBAASmpC,GAAoBlpC,EAAAC,aAAAH,EAAA,GAA9D5K,EAAY8K,EAAA,GAAEupC,EAAevpC,EAAA,GACpCma,EAAsBC,aAAWmuB,IAAkBluB,EAAApa,aAAAka,EAAA,GAA5C9sB,EAAKgtB,EAAA,GAAEC,EAAID,EAAA,GACZmvB,EAAc7oC,iBAAuB,MAC3CR,EAAgDJ,oBAAkB,GAAMK,EAAAH,aAAAE,EAAA,GAAjEspC,EAAgBrpC,EAAA,GAAEspC,EAAmBtpC,EAAA,GACtC5Q,EAAY0I,YAAYvF,GACxBwrC,EAAcjmC,YAAYjH,GAChCsP,EAA8BR,mBAAS,CAAEvL,YAAa,GAAIC,UAAW,KAAK+L,EAAAP,aAAAM,EAAA,GAAnEopC,EAAOnpC,EAAA,GAAEopC,EAAUppC,EAAA,GAE1B2F,qBAAU,WACTojC,EAAgBL,KACd,CAACA,IAEJ/iC,qBAAU,WACL9Y,EAAM2qB,QAAQpwB,QACjB2hD,EAAgBl8C,EAAM2qB,QAAQpwB,UAE7B,CAACyF,EAAM2qB,QAAQpwB,SA8BlB,OACC+E,IAAAxD,cAACikC,GAAU,CAACW,aAAa,GACxBphC,IAAAxD,cAAA,OAAK2O,UAAU,UAAUmwB,YAAU,YAAY1kB,IAAKimC,IACpD78C,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GAAItpB,UAAU,cACtCnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAGFnS,IAAAxD,cAAA,OAAK2O,UAAU,QACbtI,GACAA,EAAUA,WACVA,EAAUA,UAAUzI,OAAS,GAC5B4F,IAAAxD,cAAA,OAAK2O,UAAU,sBACbtI,EAAUA,UAAU0E,KAAI,SAAC6G,EAAMoN,GAC/B,OACCxb,IAAAxD,cAACsO,GAAI,CACJE,GAAIoD,EAAKvM,IACTzC,IAAKoc,EACLrQ,UAAU,oCAETiD,EAAKiH,UAMZrV,IAAAxD,cAAC2Y,GAAI,CACJC,GAAG,WACH0D,KAAK,WACLlI,QAAQ,EACRzF,UAAWoM,cACTulC,GACAT,GACAA,GACA,eACD,gBAEDzmC,GAAG,YAEFqnB,GAEDmf,GAAoBC,GACpBr8C,IAAAxD,cAAA,UACC2O,UAAU,oBACVqhB,gBAAeswB,EACfvwB,gBAAc,WACd5M,QAAS,kBAAMo9B,GAAqBD,KAEnCA,EACA98C,IAAAxD,cAAA,YACE6/C,EACDr8C,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,UAAUmJ,UAAU,OAAOtU,UAAU,UAGjDnL,IAAAxD,cAAA,YACE4/C,EACDp8C,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,UAAUmJ,UAAU,KAAKtU,UAAU,aAMtC,OAAZ5C,QAAY,IAAZA,OAAY,EAAZA,EAAcP,gBAA4B,OAAZO,QAAY,IAAZA,OAAY,EAAZA,EAAcP,aAAa5N,QAAS,GAClE4F,IAAAxD,cAAA,OAAK2O,UAAU,QACbwxC,GACA38C,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK8nC,QAAQ,MACpBP,GAGH38C,IAAAxD,cAACw9C,GAAiB,CACjBE,QAAS3xC,EAAaP,aACtB+M,SAxGgB,SAACmlC,EAA4BryC,GACnDo1C,EAAUt0C,wBAAC,GAAKq0C,GAAO,IAAEn1C,YAAaA,KACtC8lB,EAAK,QAAS,CACbrsB,OAAQA,EACRuG,cACAC,UAAWk1C,EAAQl1C,YAGpB,IAAIwM,EAAQ1M,GAAmBC,EAAam1C,EAAQl1C,WACpDnF,EAAQjI,KAAK,GAADyH,OAAIK,EAASkvC,UAAQvvC,OAAGmS,KAgG9B6lC,UAAWsC,EACXrC,WAAYsC,IAEb18C,IAAAxD,cAAA,OAAK8+B,YAAU,SAASnwB,UAAU,YAChB,YAAhBzK,EAAM5B,OACNkB,IAAAxD,cAACk/B,KAAK,CAAChlB,QAAQ,SAASvL,UAAU,QACjCnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,EAAOzF,UAAU,QACpCzK,EAAM2qB,QAAQruB,UAOrBgD,IAAAxD,cAAA,OAAK2O,UAAU,mDACbmxC,GACAA,EAASliD,OAAS,GAClBkiD,EAAS/0C,KAAI,SAAC41C,EAAM3hC,GACnB,OACCxb,IAAAxD,cAAC22B,KAAQ,CACR/zB,IAAKoc,EACLrJ,QAASgrC,EAAKhrC,QACd6e,aAAcmsB,EAAKnsB,aACnBD,YAAaosB,EAAKpsB,YAClBzgB,MAAO6sC,EAAK7sC,MACZnF,UAAWoM,aACK,KAAf4lC,EAAK7sC,OAAgB,cACN,MAAf6sC,EAAK7sC,OAAiB,SACtB,YAGA6sC,EAAKl0C,OACLk0C,EAAKl0C,MAAM7O,OAAS,GACpB+iD,EAAKl0C,MAAM1B,KAAI,SAAC6G,EAAMoN,GACrB,OACCxb,IAAAxD,cAAC42B,KAAY,CACZ/d,KAAMjH,EAAKiH,KACXxT,IAAKuM,EAAKvM,IACVwxB,cAAevoB,GACf1L,IAAKoc,EACL8X,SAAUllB,EAAKklB,mBAQvB+d,GACArxC,IAAAxD,cAAC2Z,KAAM,CACN0J,qBAAoBwxB,EAAch8B,KAClCD,GAAG,IACHie,cAAevoB,GACfrI,KAAM4uC,EAAcxvC,KAEnBwvC,EAAch8B,OAIlBrV,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GAAItpB,UAAU,eACzB,OAAZ5C,QAAY,IAAZA,OAAY,EAAZA,EAAcuY,aACdvY,EAAauY,WAAW1mB,OAAS,IACrB,OAAZmO,QAAY,IAAZA,OAAY,EAAZA,EAAcU,SACF,OAAZV,QAAY,IAAZA,OAAY,EAAZA,EAAcU,MAAM7O,QAAS,GAC5B4F,IAAAxD,cAACs/C,GAAqBzhD,OAAA+N,OAAA,GACjBG,EAAY,CAChB2N,QAASsmC,EACTrxC,UAAU,aACVquB,aAjKc,SAACh6B,EAAkBigB,GACvC,IAAI3X,EAAY,GACZ2X,IACH3X,EAAS,GAAA3F,OAAM3C,EAAQ,KAAA2C,OAAIsd,IAG5Bw9B,EAAUt0C,wBAAC,GAAKq0C,GAAO,IAAEl1C,UAAWA,KACpC6lB,EAAK,QAAS,CACbrsB,OAAQA,EACRuG,YAAam1C,EAAQn1C,YACrBC,cAED,IAAIwM,EAAQ1M,GAAmBo1C,EAAQn1C,YAAaC,GACpDnF,EAAQjI,KAAK,GAADyH,OAAIK,EAASkvC,UAAQvvC,OAAGmS,OAsJjB,OAAZ/L,QAAY,IAAZA,GAAmB,QAAP4zC,EAAZ5zC,EAAcU,aAAK,IAAAkzC,OAAP,EAAZA,EAAqB50C,KAAI,SAAC4B,EAAKqS,GAC/B,OACCxb,IAAAxD,cAACu/C,GAAwB,CACxB5yC,IAAKA,EACLqL,QAASjM,EAAauY,YAAc,GACpC1hB,IAAKoc,EACLg2B,YAAaA,SAOpBxxC,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGtpB,UAAU,cACrCnL,IAAAxD,cAACsb,GAAY,CAACC,UAAW1C,EAAK0C,cAG/B01B,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,MCiFdwS,GA/S2C,SAAHh/C,GAkBhD,IAjBNkR,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACAmf,EAAgBn7C,EAAhBm7C,iBACAC,EAAgBp7C,EAAhBo7C,iBACAC,EAAQr7C,EAARq7C,SACcC,EAAmBt7C,EAAjCsH,aACAi0C,EAAgBv7C,EAAhBu7C,iBACAhf,EAAev8B,EAAfu8B,gBACAwhB,EAAsB/9C,EAAtB+9C,uBACAlhB,EAAwB78B,EAAxB68B,yBACAmhB,EAAsBh+C,EAAtBg+C,uBACA5pC,EAAIpU,EAAJoU,KACAo4B,EAAWxsC,EAAXwsC,YACAnsC,EAAML,EAANK,OACAm7C,EAAex7C,EAAfw7C,gBACAC,EAAgBz7C,EAAhBy7C,iBACAC,EAAa17C,EAAb07C,cAEMn6C,EAAWyU,eACXtU,EAAUuW,eACVlQ,EAAW8T,cACjB3J,EAAwCC,mBAASmpC,GAAoBlpC,EAAAC,aAAAH,EAAA,GAA9D5K,EAAY8K,EAAA,GAAEupC,EAAevpC,EAAA,GACpCma,EAAsBC,aAAWmuB,IAAkBluB,EAAApa,aAAAka,EAAA,GAA5C9sB,EAAKgtB,EAAA,GAAEC,EAAID,EAAA,GACZmvB,EAAc7oC,iBAAuB,MAC3CR,EAA0CJ,oBAAkB,GAAMK,EAAAH,aAAAE,EAAA,GAA3D0rC,EAAazrC,EAAA,GAAE0rC,EAAgB1rC,EAAA,GACtCG,EAAwCR,mBAAiC,IAAGS,EAAAP,aAAAM,EAAA,GAArEwrC,EAAYvrC,EAAA,GAAEwrC,EAAexrC,EAAA,GACpCqR,EAAgD9R,oBAAkB,GAAM+R,EAAA7R,aAAA4R,EAAA,GAAjE43B,EAAgB33B,EAAA,GAAE43B,EAAmB53B,EAAA,GACtCm6B,EAAiB/zC,YAAYjB,IAC7BzH,EAAY0I,YAAYvF,GAC9Bsf,EAA8BlS,mBAAS,CAAEvL,YAAa,GAAIC,UAAW,KAAKyd,EAAAjS,aAAAgS,EAAA,GAAnE03B,EAAOz3B,EAAA,GAAE03B,EAAU13B,EAAA,GACpB1c,EACLN,GACAA,EAAaU,OACbV,EAAaU,MAAM7O,OAAS,QACa0D,IAAzCyK,EAAaU,MAAM,GAAGJ,eACnBN,EAAaU,MAAM,GAAGJ,eACtB,EACEC,GACLw2C,GAAkBA,EAAez2C,GAC9By2C,EAAez2C,GAAgBC,qBAC/B,GA8CJ0Q,qBAAU,WACTojC,EAAgBL,KACd,CAACA,IAEJ/iC,qBAAU,WACL9Y,EAAM2qB,QAAQpwB,QACjB2hD,EAAgBl8C,EAAM2qB,QAAQpwB,UAE7B,CAACyF,EAAM2qB,QAAQpwB,SAElBue,qBAAU,WACLjR,GACHS,EACCD,GACCF,EACAN,EACAO,OAKD,CAACD,EAAgBN,IA8BpB,OACCvI,IAAAxD,cAACikC,GAAU,CAACW,aAAa,GACxBphC,IAAAxD,cAAA,OAAK2O,UAAU,UAAUmwB,YAAU,YAAY1kB,IAAKimC,IACpD78C,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GAAItpB,UAAU,cACtCnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAGFnS,IAAAxD,cAAA,OAAK2O,UAAU,QACbtI,GACAA,EAAUA,WACVA,EAAUA,UAAUzI,OAAS,GAC5B4F,IAAAxD,cAAA,OAAK2O,UAAU,sBACbtI,EAAUA,UAAU0E,KAAI,SAAC6G,EAAMoN,GAC/B,OACCxb,IAAAxD,cAACsO,GAAI,CACJE,GAAIoD,EAAKvM,IACTzC,IAAKoc,EACLrQ,UAAU,oCAETiD,EAAKiH,UAMZrV,IAAAxD,cAAC2Y,GAAI,CACJC,GAAG,WACH0D,KAAK,WACLlI,QAAQ,EACRzF,UAAWoM,cACTulC,GACAT,GACAA,GACA,eACD,gBAEDzmC,GAAG,YAEFqnB,GAEDmf,GAAoBC,GACpBr8C,IAAAxD,cAAA,UACC2O,UAAU,oBACVqhB,gBAAeswB,EACfvwB,gBAAc,WACd5M,QAAS,kBAAMo9B,GAAqBD,KAEnCA,EACA98C,IAAAxD,cAAA,YACE6/C,EACDr8C,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,UAAUmJ,UAAU,OAAOtU,UAAU,UAGjDnL,IAAAxD,cAAA,YACE4/C,EACDp8C,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,UAAUmJ,UAAU,KAAKtU,UAAU,aAMtC,OAAZ5C,QAAY,IAAZA,OAAY,EAAZA,EAAcP,gBAA4B,OAAZO,QAAY,IAAZA,OAAY,EAAZA,EAAcP,aAAa5N,QAAS,GAClE4F,IAAAxD,cAAA,OAAK2O,UAAU,QACbwxC,GACA38C,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK8nC,QAAQ,MACpBP,GAGH38C,IAAAxD,cAACw9C,GAAiB,CACjBE,QAAS3xC,EAAaP,aACtB+M,SAxGgB,SAACmlC,EAA4BryC,GACnDo1C,EAAUt0C,wBAAC,GAAKq0C,GAAO,IAAEn1C,YAAaA,KACtC8lB,EAAK,QAAS,CACbrsB,OAAQA,EACRuG,cACAC,UAAWk1C,EAAQl1C,YAGpB,IAAIwM,EAAQ1M,GAAmBC,EAAam1C,EAAQl1C,WACpDnF,EAAQjI,KAAK,GAADyH,OAAIK,EAASkvC,UAAQvvC,OAAGmS,KAgG9B6lC,UAAWsC,EACXrC,WAAYsC,IAEI,UAAhBh8C,EAAM5B,OAAqBkB,IAAAxD,cAAA,SAAG,uBAGjCwD,IAAAxD,cAAA,OAAK2O,UAAU,8CACbmxC,GACAA,EAASliD,OAAS,GAClBkiD,EAAS/0C,KAAI,SAAC41C,EAAM3hC,GACnB,OACCxb,IAAAxD,cAAC22B,KAAQ,CACR/zB,IAAKoc,EACLrJ,QAASgrC,EAAKhrC,QACd6e,aAAcmsB,EAAKnsB,aACnBD,YAAaosB,EAAKpsB,YAClBzgB,MAAO6sC,EAAK7sC,MACZnF,UAAWoM,aACK,KAAf4lC,EAAK7sC,OAAgB,cACN,MAAf6sC,EAAK7sC,OAAiB,SACtB,YAGA6sC,EAAKl0C,OACLk0C,EAAKl0C,MAAM7O,OAAS,GACpB+iD,EAAKl0C,MAAM1B,KAAI,SAAC6G,EAAMoN,GACrB,OACCxb,IAAAxD,cAAC42B,KAAY,CACZ/d,KAAMjH,EAAKiH,KACXxT,IAAKuM,EAAKvM,IACVwxB,cAAevoB,GACf1L,IAAKoc,EACL8X,SAAUllB,EAAKklB,oBASzBtzB,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GAAItpB,UAAU,cACtCnL,IAAAxD,cAACohD,GAASvjD,OAAA+N,OAAA,GACLG,EAAY,CAChB2N,QAASsmC,EACTwB,aAAcl1C,GACdm1C,gBA1N2B,SAC/BsB,GAEAF,EAAgB,IAChBr2C,EAASqB,GAA2BxB,EAAgB02C,KAuNhDjC,YAAU,EACVnyC,UAAU,QACV2yC,cAAetgB,EACfhE,aA/IgB,SAACh6B,EAAkBigB,GACvC,IAAI3X,EAAY,GACZ2X,IACH3X,EAAS,GAAA3F,OAAM3C,EAAQ,KAAA2C,OAAIsd,IAG5Bw9B,EAAUt0C,wBAAC,GAAKq0C,GAAO,IAAEl1C,UAAWA,KACpC6lB,EAAK,QAAS,CACbrsB,OAAQA,EACRuG,YAAam1C,EAAQn1C,YACrBC,cAED,IAAIwM,EAAQ1M,GAAmBo1C,EAAQn1C,YAAaC,GACpDnF,EAAQjI,KAAK,GAADyH,OAAIK,EAASkvC,UAAQvvC,OAAGmS,OAoIhCtU,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAC6hD,GAAqB,CACrBhpC,KACC6pC,EACGphB,EACAkhB,EAEJj7C,QAASm7C,EACTv/B,QAAS,WArNfw/B,GAAiB,GACjBE,EAAgB,IAEZ92C,GACUi2C,GACZ31C,EACAC,GACAP,GACS,OAAT1F,QAAS,IAATA,OAAS,EAATA,EAAWC,UAAW,SAIrB4R,MAAK,SAACC,GACN0qC,EAAgB1qC,GAChBwqC,GAAiB,MAEjBrqC,OAAM,WACNuqC,EAAgB,CACf1hD,QAAS,uCAEVwhD,GAAiB,OAkMd/oC,UAlOkB,SACxBmpC,GAEA,IAAK,IAAI3pC,KAAM2pC,EACd,GAAIA,EAAoB3pC,GAAIvO,SAC3B,OAAO,EAGT,OAAO,EA0NUm4C,CAAiB12C,MAE5Bs2C,EAAajmB,WACbn5B,IAAAxD,cAAA,KACCiG,KAAM28C,EAAajmB,UACnBhuB,UAAU,2IAET8zC,GAGFG,EAAazhD,SACbqC,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAKgqC,EAAazhD,YAK/BqC,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGtpB,UAAU,cACrCnL,IAAAxD,cAACsb,GAAY,CAACC,UAAW1C,EAAK0C,cAG/B01B,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,MCtSdyS,GA5BiC,SAAHj/C,GAItC,IAHNkR,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACAwQ,EAAWxsC,EAAXwsC,YAEA,OACCztC,IAAAxD,cAACikC,GAAU,KACVzgC,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,sCAEVnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAEFnS,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBmkB,KAIHwQ,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,MC0Gd0S,GAvHyC,SAAHl/C,GAQ9C,IAADm/C,EAPLjuC,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACAzc,EAAkBvf,EAAlBuf,mBACA0N,EAAmBjtB,EAAnBitB,oBACA5sB,EAAML,EAANK,OACAi1C,EAAYt1C,EAAZs1C,aACA9I,EAAWxsC,EAAXwsC,YAEMjrC,EAAWyU,eACXtU,EAAUuW,eAEhBsU,EAAsBC,aAAWvC,IAA0BwC,EAAApa,aAAAka,EAAA,GAApD9sB,EAAKgtB,EAAA,GAAEC,EAAID,EAAA,GAClBva,EAA0BC,mBAAS,GAAEC,EAAAC,aAAAH,EAAA,GAA9B0Z,EAAKxZ,EAAA,GAAEokC,EAAQpkC,EAAA,GAElB3S,EAAM2qB,QAAQpwB,SACjBs7C,EAAe71C,EAAM2qB,QAAQpwB,QAG9B,IAAM6vB,EAAQyrB,EAAa5kC,OAAS4kC,EAAazrB,MAAQoD,EACnDwpB,EAAUnB,EAAa5kC,OAAS4kC,EAAazrB,MAAQyrB,EAAa7nB,MAClE3D,EAAYwrB,EAAaxrB,UACzBC,EAAyB,QAAfo1B,EAAG7J,SAAY,IAAA6J,OAAA,EAAZA,EAAcp1B,WAgBjC,OAdAxR,qBAAU,WACLqT,EAAQ,GACXc,EAAK,QAAS,CACbhc,OAAQ,EACRmZ,MAAOA,EACPxpB,SACAypB,YACAC,iBAKA,CAAC6B,IAGH7sB,IAAAxD,cAACikC,GAAU,KACVzgC,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAEFnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBmkB,KAIJj9B,IAAAxD,cAAC23B,KAAI,CAAC3iB,SAAS,EAAOZ,QAAQ,EAAOzF,UAAU,sBAC9CnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGtpB,UAAU,gBACrCnL,IAAAxD,cAACsvC,KAAQ,KACPyK,EAAattC,MAAM1B,KAAI,SAACrK,EAAkBse,GAC1C,OACCxb,IAAAxD,cAACwvC,KAAY,CACZC,KAAM/uC,EAAMmsC,UACZl3B,QAASjV,EAAMiV,QACfkD,KAAMnY,EAAMmY,KACZxT,IAAK3E,EAAM2E,IACXwxB,cAAevoB,GACf1L,IAAKoc,QAKRk8B,GACA13C,IAAAxD,cAAA,OAAK2O,UAAU,4BACdnL,IAAAxD,cAAC2Z,KAAM,CACN0J,qBAAoBW,EACpBrV,UAAU,UACVuL,QAAQ,UACRN,SAA0B,YAAhB1V,EAAM5B,MAChB6gB,QAAS,WACR83B,EAAS5qB,EAAQ,GACjBlqB,EAAQjI,KAAK,GAADyH,OACRK,EAASkvC,SAAQ,WAAAvvC,OAAU2oB,EAAK,eAAA3oB,OAAc4oB,MAIlDvK,EACgB,YAAhB9f,EAAM5B,OACNkB,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLC,MAAM,QACNC,QAAQ,OACRrM,KAAM,IACNgB,UAAU,OACVsL,eAAa,IAGE,YAAhB/V,EAAM5B,OACNkB,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAU,KACVlJ,MAAM,QACNpM,KAAM,IACNgB,UAAU,OACVsL,eAAa,OAOlBg3B,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGtpB,UAAU,cACrCnL,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,QCwDhB4S,GAjK2D,SAAHp/C,GAQhE,IAPNkR,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACAzc,EAAkBvf,EAAlBuf,mBACA0N,EAAmBjtB,EAAnBitB,oBACA5sB,EAAML,EAANK,OACAi1C,EAAYt1C,EAAZs1C,aACA9I,EAAWxsC,EAAXwsC,YAEMjrC,EAAWyU,eACXtU,EAAUuW,eAEhBsU,EAAsBC,aAAWvC,IAA0BwC,EAAApa,aAAAka,EAAA,GAApD9sB,EAAKgtB,EAAA,GAAEC,EAAID,EAAA,GAClBva,EAA0BC,mBAAS,GAAEC,EAAAC,aAAAH,EAAA,GAA9B0Z,EAAKxZ,EAAA,GAAEokC,EAAQpkC,EAAA,GACtBG,EAAwCJ,mBAAS,IAAGK,EAAAH,aAAAE,EAAA,GAA7C8sC,EAAY7sC,EAAA,GAAE8sC,EAAe9sC,EAAA,GACpCG,EAA0BR,mBAAS8a,GAAoBra,EAAAP,aAAAM,EAAA,GAAhDkX,EAAKjX,EAAA,GAAE2sC,EAAQ3sC,EAAA,GAElBnT,EAAM2qB,QAAQpwB,SACjBs7C,EAAe71C,EAAM2qB,QAAQpwB,QAG9B,IAAMwlD,EACLlK,EAAa5kC,OAAS4kC,EAAazrB,MAAQoD,EACtCwpB,EAAUnB,EAAa5kC,OAAS4kC,EAAazrB,MAAQyrB,EAAa7nB,MAClE3D,EAAYwrB,EAAaxrB,UACzBqmB,EAAOmF,EAAavuC,aAAamZ,MACtC,SAAC41B,GAAC,MAAgB,wBAAXA,EAAErvC,QAgBV,OAbA8R,qBAAU,YACLqT,EAAQ,GAAKyzB,EAAalmD,OAAS,IACtCuzB,EAAK,QAAS,CACbhc,OAAQ,EACRmZ,MAAOA,EACPC,YACAzpB,SACA6F,OAAQm5C,MAIR,CAACzzB,EAAOyzB,IAGVtgD,IAAAxD,cAACikC,GAAU,KACVzgC,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAEFnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBmkB,KAIJj9B,IAAAxD,cAAC23B,KAAI,CAAC3iB,SAAS,EAAOZ,QAAQ,EAAOzF,UAAU,sBAC9CnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGtpB,UAAU,gBACrCnL,IAAAxD,cAAC4xB,KAAiB,KAChBgjB,GACApxC,IAAAxD,cAAAwD,IAAAiU,SAAA,KACEm9B,EAAKxqC,QAAQW,KACb,SACC6G,EACAoN,GAEA,OACCxb,IAAAxD,cAAC6xB,KAAY,CACZT,UACmB,IAAlBxf,EAAK/G,UAAoB+G,EAAK/G,SAE/BgO,KAAMjH,EAAKxQ,KACXwB,IAAKoc,EACLmE,QAAS,SAAC7jB,GACTykD,EAAgB,GAADp+C,OAAIivC,EAAK1pC,KAAI,KAAAvF,OAAIiM,EAAK9G,OACrCk5C,EAAStyB,GACTvrB,EAAQjI,KAAK,GAADyH,OACRK,EAASkvC,SAAQ,WAAAvvC,OAAU2oB,EAAK,KAAA3oB,OAAIivC,EAAK1pC,KAAI,KAAAvF,OAAIiM,EAAK9G,eAUlEtH,IAAAxD,cAACyuC,KAAiB,KAChBsL,EAAamK,eAAen5C,KAC5B,SAACrK,EAA2Bse,GAC3B,OACCxb,IAAAxD,cAAC0uC,KAAqB,CACrBC,SAAUjuC,EAAMkuC,MAAMC,IACtBC,WAAYpuC,EAAMkuC,MAAMG,eACxBC,OAAQtuC,EAAMuuC,IAAIJ,IAClBK,SAAUxuC,EAAMuuC,IAAIF,eACpBp5B,QAASjV,EAAMiV,QACfs4B,SAAUvtC,EAAMutC,SAChBp1B,KAAMnY,EAAMmY,KACZxT,IAAK3E,EAAM2E,IACX8pC,WAAY4K,EAAa3K,kBACzBvY,cAAevoB,GACf1L,IAAKoc,QAOTk8B,GACA13C,IAAAxD,cAAA,OAAK2O,UAAU,4BACdnL,IAAAxD,cAAC2Z,KAAM,CACN0J,qBAAoBW,EACpBrV,UAAU,UACVuL,QAAQ,UACRN,SAA0B,YAAhB1V,EAAM5B,MAChB6gB,QAAS,WACR83B,EAAS5qB,EAAQ,GACjB2zB,EAASC,GACT99C,EAAQjI,KAAK,GAADyH,OACRK,EAASkvC,SAAQ,WAAAvvC,OAAU2oB,EAAK,eAAA3oB,OAAc4oB,MAEjD,GAAA5oB,OAEEqe,EAAkB,KACL,YAAhB9f,EAAM5B,OACNkB,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLC,MAAM,QACNC,QAAQ,OACRrM,KAAM,IACNgB,UAAU,OACVsL,eAAa,IAGE,YAAhB/V,EAAM5B,OACNkB,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAU,KACVlJ,MAAM,QACNpM,KAAM,IACNgB,UAAU,OACVsL,eAAa,OAOlBg3B,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGtpB,UAAU,mBACrCnL,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,QCxDhBkT,GArGyC,SAAH1/C,GAQ9C,IAPNkR,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACA5nB,EAAIpU,EAAJoU,KACA65B,EAAejuC,EAAfiuC,gBACAD,EAAahuC,EAAbguC,cACA4J,EAAW53C,EAAX43C,YACApL,EAAWxsC,EAAXwsC,YAEM2B,EAAYlY,KAElB,OACCl3B,IAAAxD,cAACikC,GAAU,KACToY,GACA74C,IAAAxD,cAACu8C,KAAW,CACXl8C,IAAKg8C,EAAYh8C,IACjBkf,IAAK88B,EAAYG,QACjB/oB,WAAY4oB,EAAYxjC,KACxBlK,UAAU,oBAGZnL,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAWoM,aACVshC,EAAc,eAAiB,gBAC/B,iBAGD74C,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAED88B,GACAjvC,IAAAxD,cAAC6yC,KAAa,CACbhG,UAAW4F,EAAc5F,UACzB9B,OAAQ0H,EAAc1H,OACtBp8B,UAAU,QAET8jC,EAActmB,YAAcsmB,EAActmB,WAAWvuB,OAAS,GAC9D4F,IAAAxD,cAAC+yC,KAAyB,KACxBN,EAActmB,WAAWphB,KAAI,SAACkjC,EAAUjvB,GACxC,OACCxb,IAAAxD,cAACgzC,KAAqB,CACrBpwC,IAAKoc,EACL3Z,IAAK4oC,EAAS5oC,IACdwT,KAAMo1B,EAASp1B,KACfge,cAAevoB,YAUxB9K,IAAAxD,cAAC23B,KAAI,CACJvjB,QAAQ,EACRY,SAAS,EACTrG,UAAWoM,aAAK23B,GAAmB,mBAAoB,iBAEtDE,GAAaF,GACblvC,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,EAAGrpB,UAAU,gBACxBnL,IAAAxD,cAACizC,MAAG,CACHt9B,QAAS+8B,EAAgB/8B,QACzBlJ,MAAOimC,EAAgBQ,SACvByJ,OAAQjK,EAAgBkK,UAEvBlK,EAAgBS,OAAOpoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACozC,MAAO,CAACntC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,WAOXrV,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBmkB,IAEAmS,GAAaF,GACdlvC,IAAAxD,cAACizC,MAAG,CAACt9B,QAAS+8B,EAAgB/8B,QAASlJ,MAAO,GAAIkC,UAAU,QAC1D+jC,EAAgBS,OAAOpoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACozC,MAAO,CAACntC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,UAKVrV,IAAAxD,cAACsb,GAAY,CAACgB,KAAK,OAAOf,UAAe,OAAJ1C,QAAI,IAAJA,OAAI,EAAJA,EAAM0C,cAG5C01B,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,MC8CdmT,GAtI+B,SAAH3/C,GAAkC,IAA5BkR,EAAOlR,EAAPkR,QAASs7B,EAAWxsC,EAAXwsC,YACnDjrC,EAAWyU,eACXu6B,EAAcjmC,YAAYjH,GAC1BsI,EAAWrB,YAAY7G,GACrB4P,EAAUoJ,KAAYjV,MAAMjG,EAASuD,QAArCuO,MACFmJ,EAAOD,KACbrK,EAAsCC,mBAASqK,GAAKpK,EAAAC,aAAAH,EAAA,GAA7C0tC,EAAWxtC,EAAA,GAAEytC,EAAcztC,EAAA,GAC5BsuB,EAAiBp2B,YAAYzF,GAC7BnD,EAAUuW,eACV/O,IAAsB,OAAdw3B,QAAc,IAAdA,OAAc,EAAdA,EAAgBzT,sBAAuB,IAAM2yB,EAE3DrzB,EAAsBC,aAAW+H,GAAe,CAC/CnK,QAAS,CACR/pB,QAAsB,OAAdqgC,QAAc,IAAdA,OAAc,EAAdA,EAAgBrgC,SAAU,GAClC6I,UAEAujB,EAAApa,aAAAka,EAAA,GALK9sB,EAAKgtB,EAAA,GAAEC,EAAID,EAAA,GAwClB,OAjCAlU,qBAAU,WACTmU,EAAK,SAAU,CAAE7uB,MAAOwV,EAAOnK,SAC3BqnC,GACCjvC,OAAOqW,WAAarW,OAAOqW,UAAUle,MACxC6H,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,WACPu0C,SAAS,GAADtvC,OAAKqvC,EAAY3vC,KAAGM,OAAGK,EAASuD,QACxC4rC,UAAmB,OAAR/kC,QAAQ,IAARA,OAAQ,EAARA,EAAUE,UAKtB,CAACwH,EAAOnK,EAAMwjB,IAEjBnU,qBAAU,WACTsnC,EAAerjC,KACb,CAACA,IAEJjE,qBAAU,WAAO,IAADunC,EAAAC,GAET,OAALtgD,QAAK,IAALA,GAAc,QAATqgD,EAALrgD,EAAO2qB,eAAO,IAAA01B,GAAQ,QAARC,EAAdD,EAAgB9lD,cAAM,IAAA+lD,OAAjB,EAALA,EAAwBtd,UACgB,IAAxChjC,EAAM2qB,QAAQpwB,OAAOyoC,QAAQtpC,QAEzBmI,OAAOqW,WAAarW,OAAOqW,UAAUle,MACxC6H,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,gBACP+jD,YAAa3sC,MAKd,CAAC5T,IAGHV,IAAAxD,cAACikC,GAAU,KACVzgC,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,2CAEVnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,EACgB,YAAhBzR,EAAM5B,QAAwB4B,EAAM2qB,QAAQpwB,QAC5C+E,IAAAxD,cAAAwD,IAAAiU,SAAA,KACE,IACDjU,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,SAASE,QAAQ,OAAOrM,KAAM,MAI3CzJ,EAAM2qB,QAAQpwB,QAAUyF,EAAM2qB,QAAQpwB,OAAOyoC,SAC7C1jC,IAAAxD,cAAA,OAAK2O,UAAU,QACdnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,WAAWlD,GAAG,cACrClV,EAAM2qB,QAAQpwB,OAAO2oC,aAAa,gCAClCljC,EAAM2qB,QAAQ/W,MAAM,YAKvB5T,EAAM2qB,QAAQpwB,QAAUyF,EAAM2qB,QAAQpwB,OAAOyoC,SAC7C1jC,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAC6nC,KAAgB,KACf3jC,EAAM2qB,QAAQpwB,OAAOyoC,QAAQn8B,KAC7B,SAAC6G,GAA+B,IAAD8yC,EACxB5c,EAAal2B,EACnB,OACCpO,IAAAxD,cAAC+nC,KAAoB,CACpBnlC,IAAKklC,EAAWl7B,WAChBvH,IAAKyiC,EAAWziC,IAChBwxB,cAAevoB,GACf2/B,SAAgC,QAAxByW,EAAE5c,EAAW7/B,mBAAW,IAAAy8C,OAAA,EAAtBA,EAAwBz8C,YAChC8C,KAAI,SAAC45C,GAAE,OAAKA,EAAG9rC,QACf5N,KAAK,OACP0K,QAASmyB,EAAWnyB,QACpBkD,KAAMivB,EAAWE,cAMrB9jC,EAAM2qB,QAAQpwB,OAAO2oC,aACrBljC,EAAM2qB,QAAQpwB,OAAOkP,MACrBnK,IAAAxD,cAAC2Z,KAAM,CACNirC,aAAa,UACbj3C,KAAK,QACLuM,QAAQ,UACRN,SAA0B,YAAhB1V,EAAM5B,MAChBuiD,UAAU,EACV1hC,QAAS,WACRhd,EAAQjI,KAAK,GAADyH,OACRK,EAASkvC,SAAQ,WAAAvvC,OAAUmS,EAAK,UAAAnS,OAClC0+C,EAAc,MAKF,OAAdlf,QAAc,IAAdA,OAAc,EAAdA,EAAgBkC,oBAAqB,IACrB,YAAhBnjC,EAAM5B,OACNkB,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,SAASC,MAAM,QAAQC,QAAQ,SAE1B,YAAhB9V,EAAM5B,OACNkB,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,UAAUmJ,UAAU,KAAKlJ,MAAM,cAQhDk3B,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,M,SCxEd6T,GAjE6C,SAAHrgD,GAQlD,IAPNrD,EAAIqD,EAAJrD,KACA2jD,EAAiBtgD,EAAjBsgD,kBACA75C,EAAIzG,EAAJyG,KACAd,EAAO3F,EAAP2F,QACAmO,EAAQ9T,EAAR8T,SACAa,EAAE3U,EAAF2U,GACA4rC,EAASvgD,EAATugD,UAEMC,EAAiB,SAAC3G,GACvB,IAAM4G,EAAkB96C,EAAQO,QAC/B,SAACiH,GAAI,OAAKA,EAAK9G,OAASwzC,EAAOxzC,MAAQ8G,EAAK/G,YAEzCs6C,EAAgB,GAGnBA,EADG7G,EAAOzzC,SACGu6C,aAAOF,GAEP,GAAAv/C,OAAAy/C,aACTF,GAAe,CAClBrnD,OAAO+N,OAAO,GAAI0yC,EAAQ,CAAEzzC,UAAU,MAGxC,IAAMJ,EAAc5M,OAAO+N,OAC1B,GACA,CACCxK,OACA8J,OACAd,QAAS+6C,IAGX5sC,EAAS9N,IAEV+T,EAAkBC,eACZ4mC,GAAM3mC,EADe5H,aAAA0H,EAAA,GAAb,MAGd,OACChb,IAAAxD,cAAC0+C,KAAmB,CACnB/vC,UAAU,8BACVgwC,aAAa,YACbvlC,GAAE,UAAAzT,OAAYyT,EAAE,KAAAzT,OAAI0/C,GACpB54B,OAAQrrB,EACR2jD,kBAAmBA,EACnBO,gBAAgB,EAChBC,kBAAkB,SAClBhH,gBAAiBn0C,EAAQO,QAAO,SAAC2zC,GAAM,OAAKA,EAAOzzC,YAAUjN,QAE5DwM,EAAQW,KAAI,SAACuzC,EAAQt/B,GAAK,OAC1Bxb,IAAAxD,cAAC4+C,KAAiB,CACjBjwC,UAAU,SACVyK,GAAE,UAAAzT,OAAYyT,EAAE,KAAAzT,OAAIqZ,GACpBpc,IAAKoc,EACL1c,MAAOg8C,EAAOxzC,KACd1J,KAAM8J,EACNmzC,QAASC,EAAOzzC,SAChBi0C,cAAakG,EACbzsC,SAAU,kBAAM0sC,EAAe3G,KAE9BA,EAAOxzC,WCjBE06C,GA9CiC,SAAH/gD,GAOtC,IANNrD,EAAIqD,EAAJrD,KACAJ,EAAIyD,EAAJzD,KACAkK,EAAIzG,EAAJyG,KACAd,EAAO3F,EAAP2F,QACAmO,EAAQ9T,EAAR8T,SACAysC,EAASvgD,EAATugD,UAEMS,EAAe,SAACnH,GACrB,IAAM7zC,EAAc5M,OAAO+N,OAC1B,GACA,CACCxK,OACAJ,OACAkK,OACAd,QAAS,CAACvM,OAAO+N,OAAO,GAAI0yC,EAAQ,CAAEzzC,UAAU,OAIlD0N,EAAS9N,IAGV,OACCjH,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAA,YAAU2O,UAAU,aACnBnL,IAAAxD,cAAA,UAAQ2O,UAAU,WAAWvN,GACrB,OAAPgJ,QAAO,IAAPA,OAAO,EAAPA,EAASW,KAAI,SAACuzC,GACd,OACC96C,IAAAxD,cAAC0lD,MAAe,CACf9iD,IAAG,GAAA+C,OAAKuF,EAAI,KAAAvF,OAAI24C,EAAOxzC,MACvBsO,GAAE,GAAAzT,OAAKuF,EAAI,KAAAvF,OAAI24C,EAAOxzC,MACtB1J,KAAI,GAAAuE,OAAKuF,GACT5I,MAAOg8C,EAAOxzC,KACduzC,QAASC,EAAOzzC,SAChBi0C,cAAakG,EACbzsC,SAAU,kBAAMktC,EAAanH,KAE5BA,EAAOxzC,YCiBA66C,GAnD6C,SAAHlhD,GAOlD,IANNrD,EAAIqD,EAAJrD,KACA8J,EAAIzG,EAAJyG,KACAd,EAAO3F,EAAP2F,QACAmO,EAAQ9T,EAAR8T,SACAwsC,EAAiBtgD,EAAjBsgD,kBACAC,EAASvgD,EAATugD,UAEMS,EAAe,SAACnH,GACrB,IAAM7zC,EAAc5M,OAAO+N,OAC1B,GACA,CACCxK,OACA8J,OACAd,QAAS,CAACvM,OAAO+N,OAAO,GAAI0yC,EAAQ,CAAEzzC,UAAU,OAIlD0N,EAAS9N,IAaV,OACCjH,IAAAxD,cAAC4lD,MAAoB,CACpBn5B,OAZgB,WACjB,IAAIo5B,EAAiBz7C,EAAQua,MAAK,SAAC25B,GAAM,OAAKA,EAAOzzC,YAErD,OAAIg7C,EACIA,EAAe/6C,KAEf1J,EAMC0kD,GACRf,kBAAmBA,EACnBO,gBAAgB,EAChB32C,UAAU,sBAETvE,EAAQW,KAAI,SAACuzC,EAAQt/B,GAAK,OAC1Bxb,IAAAxD,cAAC+lD,MAAkB,CAClBnjD,IAAKoc,EACLnG,KAAMylC,EAAOxzC,KACbxI,MAAOg8C,EAAOxzC,KACdg0C,cAAakG,EACbzsC,SAAU,kBAAMktC,EAAanH,WC4FnB0H,GAtIwB,SAAHvhD,GAI7B,IAHNwhD,EAAYxhD,EAAZwhD,aACA1tC,EAAQ9T,EAAR8T,SACA0nC,EAAex7C,EAAfw7C,gBA8FA,OACCz8C,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAA,OAAK2O,UAAU,uBA9CU,WAC1B,IAAIowC,EAAwC,GAe5C,OAdAkH,EAAazvC,SAAQ,SAAC0vC,GACrBA,EAAY16C,aAAagL,SAAQ,SAAC7L,GAAM,OACvCA,EAAOP,QAAQoM,SAAQ,SAAC8nC,EAAQt/B,GAC3Bs/B,EAAOzzC,UACVk0C,EAAgB7gD,KAAK,CACpB8gD,SAAS,GAADr5C,OAAKgF,EAAOO,KAAI,KAAAvF,OAAIqZ,GAC5BigC,WAAYX,EAAOxzC,KACnBq7C,WAAYx7C,EAAOO,KACnB85C,UAAWkB,EAAYlB,qBAMrBjG,EA+BJG,GAAqBn0C,KAAI,SAAC6G,EAAMlU,GAAC,OACjC8F,IAAAxD,cAACm/C,KAAU,CACVh8B,QAAS,kBA9BS,SAACm7B,GACvB,IAII7zC,EAJSuB,KAAKC,MAAMD,KAAKgB,UAAUi5C,IACpBthC,MAClB,SAACyhC,GAAU,OAAKA,EAAMpB,YAAc1G,EAAO0G,aAEpBx5C,aAAamZ,MACpC,SAACxH,GAAM,OAAKA,EAAEjS,OAASozC,EAAO6H,cAGzB5H,EAAkB9zC,EAAYL,QAAQO,QAC3C,SAACiH,GAAS,OAAKA,EAAK9G,OAASwzC,EAAOW,YAAcrtC,EAAK/G,YAGlDw7C,EAAMxoD,OAAO+N,OAClB,GACA,CACCxK,KAAMqJ,EAAYrJ,KAClB8J,KAAMT,EAAYS,KAClBd,QAASm0C,IAIXhmC,EAAS8tC,GAQUC,CAAe10C,IAC9BjD,UAAU,yDACV2B,MAAOsB,EAAKqtC,WACZr8C,IAAKlF,EACL2lB,qBAAoB48B,EACpB39C,MAAOsP,EAAKqtC,YAEZz7C,IAAAxD,cAAA,QAAM2O,UAAU,WAAWsxC,GAC3Bz8C,IAAAxD,cAAA,QAAM2O,UAAU,qBAAqBiD,EAAKqtC,iBAI5CgH,EAAal7C,KAAI,SAACm7C,EAAalnC,GAC/B,OACCxb,IAAAxD,cAACumD,KAAU,CACV5wC,QAASuwC,EAAYlB,UACrB5rC,GAAI8sC,EAAYlB,UAChBr2C,UAAWoM,aAAe,IAAViE,GAAe,iBAC/Bpc,IAAKoc,EACLu/B,gBAAiB2H,EAAY3H,gBAC7BpiC,UAAU,GAET+pC,EAAY16C,aAAaT,KAAI,SAACN,GAAW,OAvHtB,SACxBA,EACAu6C,GAEA,OAAQv6C,EAAY+7C,gBACnB,IAAK,QACJ,OACChjD,IAAAxD,cAACwlD,GAAW,CACX5iD,IAAK6H,EAAYS,KACjBqN,SAAUA,EACVnX,KAAMqJ,EAAYrJ,KAClB8J,KAAMT,EAAYS,KAClBd,QAASK,EAAYL,QACrBpJ,KAAMyJ,EAAYzJ,KAClBgkD,UAAWA,IAGd,IAAK,cACJ,OACCxhD,IAAAxD,cAAC8kD,GAAiB,CACjBliD,IAAK6H,EAAYS,KACjBkO,GAAI3O,EAAYS,KAChBqN,SAAUA,EACVnX,KAAMqJ,EAAYrJ,KAClB8J,KAAMT,EAAYS,KAClBd,QAASK,EAAYL,QACrB26C,kBAAmBt6C,EAAYs6C,mBAAqB,GACpDC,UAAWA,IAGd,IAAK,SACJ,OACCxhD,IAAAxD,cAAC2lD,GAAkB,CAClB/iD,IAAK6H,EAAYS,KACjB9J,KAAMqJ,EAAYrJ,KAClB8J,KAAMT,EAAYS,KAClBd,QAASK,EAAYL,QACrBmO,SAAUA,EACVwsC,kBAAmBt6C,EAAYs6C,mBAAqB,GACpDC,UAAWA,KAiFVyB,CAAiBh8C,EAAay7C,EAAYlB,oBCxFlCnd,GArC2B,SAAHpjC,GAAwB,IAAlBiiD,EAAUjiD,EAAViiD,WAgC5C,OACCljD,IAAAxD,cAAC2mD,KAAkB,KAAY,OAAVD,QAAU,IAAVA,OAAU,EAAVA,EAAY37C,KAhCZ,SAAC6G,EAA2BoN,GAAmB,IAAD4nC,EACnE,OAAQh1C,EAAKK,WACZ,IAAK,kBACJ,IAAM40C,EAAgBj1C,EACtB,OACCpO,IAAAxD,cAAC8mD,KAAmB,CACnBlkD,IAAKoc,EACL3Z,IAAKwhD,EAAcxhD,IACnBsQ,QAASkxC,EAAclxC,QACvBg7B,IAAKkW,EAAc16B,WAAWphB,KAAI,SAAC6G,GAAI,OAAKA,KAAM3G,KAAK,MACvDovC,SAAUwM,EAAc/W,iBACxBjZ,cAAevoB,KAGlB,QACC,IAAMy4C,EAAan1C,EACnB,OACCpO,IAAAxD,cAAC+nC,KAAoB,CACpBnlC,IAAKoc,EACL3Z,IAAK0hD,EAAW1hD,IAChB4oC,SAAgC,QAAxB2Y,EAAEG,EAAW9+C,mBAAW,IAAA2+C,OAAA,EAAtBA,EAAwB3+C,YAChC8C,KAAI,SAAC45C,GAAE,OAAKA,EAAG9rC,QACf5N,KAAK,OACP0K,QAASoxC,EAAWpxC,QACpBkD,KAAMkuC,EAAW/e,QACjBnR,cAAevoB,WCvBN04C,GAfsB,SAAHviD,GAAiC,IAA3BkK,EAASlK,EAATkK,UAAWF,EAAQhK,EAARgK,SAClD,OACCjL,IAAAxD,cAAA,OACCgyB,KAAK,UACL8B,aAAW,UACXnlB,UAAWoM,aACVpM,EACA,oFAGAF,ICkCWw4C,GA5ByB,SAAHxiD,GAM9B,IALNyiD,EAAOziD,EAAPyiD,QAAOpF,EAAAr9C,EACP8C,eAAO,IAAAu6C,GAAQA,EACf1wB,EAAQ3sB,EAAR2sB,SACAgW,EAAY3iC,EAAZ2iC,aAAY+f,EAAA1iD,EACZ0e,eAAO,IAAAgkC,EAAG,aAAQA,EAElB,OACC3jD,IAAAxD,cAAA,UACC2e,WAAUuoC,EAAQ9lD,KAClBwB,IAAKskD,EAAQ7hD,IACb2sB,KAAK,MACLrjB,UAAWoM,aACV,8KACAqW,GAAY,yBAEbjO,QAAS,kBAAMA,EAAQ+jC,KAEtBA,EAAQ9lD,KACRmG,EACA/D,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,SAASE,QAAS,OAAQrL,UAAU,SAE/CnL,IAAAxD,cAAA,QAAM2O,UAAU,QAAM,IAAAhJ,OAAMyhC,EAAY,QCRtC79B,GAAmB,eAAA9E,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOC,EAAQ+pB,GAAO,IAAA6oB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA/wC,EAAA/J,EAAA,OAAAuH,IAAAY,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EAC1BE,IAAM1D,IAAI,GAADyD,OAAIb,EAAM,KAAAa,OAAW,OAAPkpB,QAAO,IAAPA,OAAO,EAAPA,EAAS7pB,aAAe,CACrEgT,QAAS,CACR,sBACO,QAAN0/B,EAAA3xC,cAAM,IAAA2xC,GAAS,QAATC,EAAND,EAAQS,eAAO,IAAAR,GAAW,QAAXC,EAAfD,EAAiBtxC,iBAAS,IAAAuxC,OAApB,EAANA,EAA4BtxC,UAAWP,OAAOQ,UAC/C,oBACO,QAANsxC,EAAA9xC,cAAM,IAAA8xC,GAAS,QAATC,EAAND,EAAQM,eAAO,IAAAL,GAAW,QAAXC,EAAfD,EAAiBzxC,iBAAS,IAAA0xC,OAApB,EAANA,EAA4BzxC,UAAWP,OAAOQ,UAC/C,mBACO,QAANyxC,EAAAjyC,cAAM,IAAAiyC,GAAS,QAATC,EAAND,EAAQG,eAAO,IAAAF,GAAW,QAAXC,EAAfD,EAAiB5xC,iBAAS,IAAA6xC,OAApB,EAANA,EAA4B5xC,UAAWP,OAAOQ,aAE9C,KAAD,EATU,OASVY,EAAA3B,EAAAK,KATMzI,EAAI+J,EAAJ/J,KAAIoI,EAAAgB,OAAA,SAWL,CAAEpJ,SAAM,wBAAAoI,EAAAiB,UAAA5B,OACf,gBAbwB6B,EAAAC,GAAA,OAAAlC,EAAAlG,MAAA,KAAAuI,YAAA,GAeZkyB,GAAgBrK,aAC5B,CACCvV,GAAI,gBACJwV,QAAS,OACTC,QAAS,CACRxpB,IAAK,GACLP,OAAQ,GACRgT,MAAO,GACP9S,YAAa,GACbmQ,OAAQ,EACRmZ,MAAO,EACP84B,QAAS,KACThgB,aAAc,EACd1V,oBAAqB,EACrBwV,QAAS,GACT+e,aAAc,GACdoB,qBAAsB,GACtBC,QAAS,KACT9mD,WAAOc,EACPimD,OAAQ,MAETz4B,OAAQ,CACPC,KAAM,GACNxnB,QAAS,CACRynB,OAAQ,CACP5V,GAAI,UACJ/Y,IAAK,SAACwuB,EAASnuB,GACd,OAAO6I,GAAOslB,EAAQ/pB,OAAQ+pB,IAE/BI,OAAQ,CACP/tB,OAAQ,UACRqD,QAAS,mBAEV2qB,QAAS,CACRhuB,OAAQ,UACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgnD,EAAG9mD,GACV,MAAM,SAANiF,OAAgBjF,EAAMtD,KAAK+a,SAASykB,OAAM,OAAAj3B,OAAMjF,EAAMtD,KAAK+a,SAAS0kB,kBAMzEzN,QAAS,GACTC,QAAS,GACTgpB,SAAU,CACTC,MAAO,CAAC,gBACRC,OAAQ,CAAC,CAAEr3C,OAAQ,WAGrBouB,GAAI,CACHm4B,KAAM,CACLvmD,OAAQ,UACRqD,QAAS,CAAC,cAAe,mBAE1BmjD,aAAc,CACbxmD,OAAQ,UACRqD,QAAS,CAAC,cAAe,iBAAkB,cAE5Ci0C,MAAO,WACPmP,UAAW,CACVzmD,OAAQ,UACRqD,QAAS,CAAC,WAAY,iBAAkB,cAEzCqjD,WAAY,CACXrjD,QAAS,aAEVsjD,cAAe,CACd3mD,OAAQ,UACRqD,QAAS,CAAC,eAAgB,iBAAkB,cAE7CujD,cAAe,CACd5mD,OAAQ,UACRqD,QAAS,CAAC,eAAgB,iBAAkB,cAE7CwjD,KAAM,CACL7mD,OAAQ,UACRqD,QAAS,CAAC,OAAQ,iBAAkB,gBAIvC,CACCA,QAAS,CACRk0C,aAAc7sC,aAAO,CACpB9G,OAAQ,SAAC+pB,EAASnuB,GAAU,OAAKA,EAAMoE,QAAU+pB,EAAQ/pB,QACzDgT,MAAO,SAAC+W,EAASnuB,GAAU,OAAKA,EAAMoX,OAAS+W,EAAQ/W,OACvDovB,QAAS,SAACrY,EAASnuB,GAAU,OAAKA,EAAM8G,OAASqnB,EAAQqY,WAE1D8gB,UAAW,SAACn5B,EAASnuB,GAChBmuB,EAAQ7pB,YACX6pB,EAAQ04B,OAAOrpD,KAAK,GAADyH,OAAIkpB,EAAQxpB,IAAG,KAAAM,OAAIkpB,EAAQ7pB,cAE9C6pB,EAAQ04B,OAAOrpD,KAAK,GAADyH,OAAIkpB,EAAQxpB,OAGjC4iD,eAAgBr8C,aAAO,CACtB5G,YAAa,SAAC6pB,EAASnuB,GACtB,IAAMsE,EAAcgF,EAAkB,CACrC8N,MAAO+W,EAAQ/W,MACfwW,MAAOO,EAAQP,MACf9iB,aAAcqjB,EAAQw4B,qBACtBD,QAASv4B,EAAQu4B,UAGlB,OAAOpiD,GAAe,MAGxBmS,gBAAiBvL,aAAO,CACvBw7B,aAAc,SAACvY,EAASnuB,GAAK,OAAKA,EAAMtD,KAAKA,KAAKgqC,cAClD6e,aAAc,SAACp3B,EAASnuB,GAAK,OAAKA,EAAMtD,KAAKA,KAAK6oD,cAClDqB,QAAS,SAACz4B,EAASnuB,GAAK,OAAKA,EAAMtD,KAAKA,KAAKkqD,SAC7CpgB,QAAS,SAACrY,EAASnuB,GAAK,OAAKA,EAAMtD,KAAKA,KAAK8pC,WAE9CghB,UAAW,SAACr5B,EAASnuB,GACpB,IAAMsE,EAAcgF,EAAkB,CACrC8N,MAAO+W,EAAQ/W,MACfwW,MAAO5tB,EAAM4tB,MACb9iB,aAAc9K,EAAM8K,aACpB47C,QAAS1mD,EAAM0mD,UAGZpiD,EACH6pB,EAAQ04B,OAAOrpD,KAAK,GAADyH,OAAIjF,EAAM2E,IAAG,KAAAM,OAAIX,IAEpC6pB,EAAQ04B,OAAOrpD,KAAK,GAADyH,OAAIjF,EAAM2E,OAG/B8iD,aAAcv8C,aAAO,CACpB0iB,MAAO,SAACO,EAASnuB,GAAK,OAAKmuB,EAAQ6C,qBACnC21B,qBAAsB,SAACx4B,EAASnuB,GAAK,OAAK,QAE3C0nD,YAAax8C,aAAO,CACnB0iB,MAAO,SAACO,EAASnuB,GAAK,OAAKmuB,EAAQ6C,qBACnC5Z,MAAO,SAAC+W,EAASnuB,GAAK,OAAKA,EAAMoX,OACjCuvC,qBAAsB,SAACx4B,EAASnuB,GAC/B,OAAOA,EAAM2mD,wBAGfgB,SAAUz8C,aAAO,CAChB0iB,MAAO,SAACO,EAASnuB,GAAK,OAAKA,EAAM4tB,OACjC+4B,qBAAsB,SAACx4B,EAASnuB,GAC/B,OAAOA,EAAM2mD,wBAGfiB,aAAc18C,aAAO,CACpB0iB,MAAO,SAACO,EAASnuB,GAAK,OAAKmuB,EAAQ6C,qBACnC21B,qBAAsB,SAACx4B,EAASnuB,GAC/B,IAAQ+J,EAAgB/J,EAAhB+J,YAGF89C,GAFuB15B,EAAQw4B,sBAAwB,IAEZ18C,QAChD,SAACwS,GAAC,OAAKA,EAAEjS,OAAST,EAAYS,QAK/B,OAFAq9C,EAAoBrqD,KAAKuM,GAElB89C,KAGTnoC,KAAMxU,aAAO,CACZ0iB,MAAO,SAACO,EAASnuB,GAAK,OAAKmuB,EAAQ6C,qBACnC01B,QAAS,SAACv4B,EAASnuB,GAAK,OAAKA,EAAM0mD,cCtKxBoB,GA1CyB,SAAH/jD,GAAkC,IAA5BgrB,EAAUhrB,EAAVgrB,WAAYhhB,EAAQhK,EAARgK,SACtDkI,EAAgCC,oBAAS,GAAMC,EAAAC,aAAAH,EAAA,GAAxCwF,EAAQtF,EAAA,GAAEopB,EAAWppB,EAAA,GACtB4xC,EAAcjxC,mBACpBsY,aAAgB24B,GAAa,WAC5BxoB,GAAY,MAeb,OAJAjjB,qBAAU,WACTijB,GAAY,KACV,CAACxQ,IAGHjsB,IAAAxD,cAAA,OAAK2O,UAAU,WAAWyL,IAAKquC,GAC9BjlD,IAAAxD,cAAA,UACCmjB,QAAS,kBAAM8c,GAAa9jB,IAC5B4T,gBAAc,YACdC,gBAAe7T,EACfxN,UAAU,iBAEVnL,IAAAxD,cAAA,YAAOyvB,GACPjsB,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,aAAaC,MAAM,UAAUpL,UAAU,UAElDwN,GACA3Y,IAAAxD,cAAA,OACCoZ,GAAG,YACHzK,UAAU,gDAEVnL,IAAAxD,cAAA,MAAI2O,UAAU,YA5BK,SAACF,GACvB,OAAOjL,IAAM4nC,SAASrgC,IAAI0D,GAAU,SAAC48B,EAAOrsB,GAC3C,OACCxb,IAAAxD,cAAA,MAAI4C,IAAKoc,GAAQxb,IAAM8nC,aAAaD,EAAOA,EAAM/gB,OAAS,QAyB/BihB,CAAe98B,OC6hB/Bi6C,GA7hB6C,SAAHjkD,GAelD,IAADkkD,EAAAC,EAAAC,EAAAC,EAdLnzC,EAAOlR,EAAPkR,QACAozC,EAAQtkD,EAARskD,SACAr3B,EAAmBjtB,EAAnBitB,oBACA1N,EAAkBvf,EAAlBuf,mBACAglC,EAAYvkD,EAAZukD,aACKC,EAAUxkD,EAAfY,IACA6jD,EAAczkD,EAAdykD,eACAC,EAAe1kD,EAAf0kD,gBACAC,EAAY3kD,EAAZ2kD,aACAC,EAAkB5kD,EAAlB4kD,mBACAlJ,EAAa17C,EAAb07C,cACAF,EAAex7C,EAAfw7C,gBACAqJ,EAAc7kD,EAAd6kD,eACAC,EAAoB9kD,EAApB8kD,qBAEMvjD,EAAWyU,eACT3C,EAAUoJ,KAAYjV,MAAMjG,EAASuD,QAArCuO,MACF3R,EAAUuW,eACVohC,EAAgBC,eAChBhZ,EAAwBvtB,iBAAY,MACpCytB,EAAsBztB,iBAAY,MAClCstB,EAAWvK,KACX4R,EAAW3R,KACXoY,EAAYlY,KAClB/jB,EAA0CC,oBAAS,GAAMC,EAAAC,aAAAH,EAAA,GAAlD6yC,EAAa3yC,EAAA,GAAE4yC,EAAgB5yC,EAAA,GACtCG,EAAsCJ,oBACL,QAAhC+xC,EAAAI,EAASpkC,MAAK,SAAC41B,GAAC,OAAKA,EAAEnpB,mBAAS,IAAAu3B,OAAA,EAAhCA,EAAkCvvC,KAAM,OACxCnC,EAAAH,aAAAE,EAAA,GAFM0yC,EAAWzyC,EAAA,GAAE0yC,EAAc1yC,EAAA,GAG5B2yC,EAA0B,SAAC3D,GAChC,IAAIv6C,EAAc,GAKlB,OAJAu6C,EAAazvC,SAAQ,SAAC0vC,GACrBx6C,EAAK/F,OAAO4F,GAAsB26C,EAAY16C,kBAGxCE,GAGFm+C,EAAqB,SAACC,GAC3B,IAAI5C,EAAU6B,EAASpkC,MAAK,SAAC41B,GAAC,OAAKA,EAAEnhC,KAAO0wC,KAE5C,MAAO,CACNzkD,IAAY,OAAP6hD,QAAO,IAAPA,OAAO,EAAPA,EAAS7hD,IACdP,OAAe,OAAPoiD,QAAO,IAAPA,OAAO,EAAPA,EAASpiD,OACjBgT,MAAOA,EACPsvB,cAAqB,OAAP8f,QAAO,IAAPA,OAAO,EAAPA,EAAS91B,UAAW43B,EAAa5hB,aAAe,EAC9D1V,oBAAqBA,EACrBpD,MAAO06B,EAAa16B,MACpBnZ,OAAQ6zC,EAAa7zC,OACrB8wC,cAAqB,OAAPiB,QAAO,IAAPA,OAAO,EAAPA,EAAS91B,UAAW43B,EAAa/C,aAAe,GAC9DoB,sBAA6B,OAAPH,QAAO,IAAPA,OAAO,EAAPA,EAAS91B,UAC5Bw4B,EAAwBZ,EAAa/C,cACrC,KACHqB,SAAgB,OAAPJ,QAAO,IAAPA,OAAO,EAAPA,EAAS91B,UAAW43B,EAAa1B,QAAU,KACpDpgB,SAAgB,OAAPggB,QAAO,IAAPA,OAAO,EAAPA,EAAS91B,UAAW43B,EAAa9hB,QAAU,GACpDqgB,OAAQphD,IAIV6qB,EAA4BC,aAAW+H,GAAe,CACrDnK,QAASg7B,EAAmB,SAC3B34B,EAAApa,aAAAka,EAAA,GAFK+4B,EAAQ74B,EAAA,GAAE84B,EAAO94B,EAAA,GAIxBwU,EAA4BzU,aAAW+H,GAAe,CACrDnK,QAASg7B,EAAmB,SAC3BlkB,EAAA7uB,aAAA4uB,EAAA,GAFKukB,EAAQtkB,EAAA,GAAEukB,EAAOvkB,EAAA,GAIxB2T,EAAsCroB,aAAW+H,GAAe,CAC/DnK,QAASg7B,EAAmB,cAC3BtQ,EAAAziC,aAAAwiC,EAAA,GAEI6Q,EAAgB,CACrBC,IAAK,CACJlmD,MAAO6lD,EACP54B,KAAM64B,GAEPK,IAAK,CACJnmD,MAAO+lD,EACP94B,KAAM+4B,GAEP3tB,SAAU,CACTr4B,MAdkBq1C,EAAA,GAelBpoB,KAfgCooB,EAAA,KAoB5B+Q,EAAa,SAACnmD,EAAaC,GAChC+lD,EAAST,GAAav4B,KAAKhtB,EAAQC,IAG9BmmD,GAAc,WACnB,OAAOJ,EAAST,GAAaxlD,OAGxBkM,GAAWrB,YAAY7G,GAE7BlB,GACCujD,KAAc17B,SAAW,GADlBP,GAAKtnB,GAALsnB,MAAO8Y,GAAYpgC,GAAZogC,aAAcggB,GAAOpgD,GAAPogD,QAASlgB,GAAOlgC,GAAPkgC,QAAS+e,GAAYj/C,GAAZi/C,aAAcqB,GAAOtgD,GAAPsgD,QAGvDkD,GAAc,SAACtD,GACpB,IAAQ7hD,EAAY6hD,EAAZ7hD,IAAK+T,EAAO8tC,EAAP9tC,GACbqxC,EAIIN,EAAS/wC,GAAIlV,MAAM2qB,QAHf67B,EAAYD,EAAnBn8B,MACsBq8B,EAA2BF,EAAjDpD,qBACSuD,EAAcH,EAAvBrD,QAGDkD,EAAW,aAAc,CACxBjlD,IAAKA,EACLmG,aAAcm/C,EACdr8B,MAAOo8B,EACPtD,QAASwD,IAGVjB,EAAevwC,IAoBhB4D,qBAAU,WACT,IAAK8gC,EAAe,CAAC,IAAD+M,EACnBP,EAAW,QAAS,CACnBxyC,MAAOkxC,EAAalxC,MACpBovB,QAAS8hB,IAEV,IAAM5vC,EAAqC,QAAnCyxC,EAAG9B,EAASpkC,MAAK,SAAC41B,GAAC,OAAKA,EAAEnpB,mBAAS,IAAAy5B,OAAA,EAAhCA,EAAkCzxC,GAE7C2vC,EAASvyC,SAAQ,SAAC0wC,GACbA,EAAQ9tC,KAAOA,GAClB+wC,EAASjD,EAAQ9tC,IAAI+X,KAAK,SAAU,CACnCrZ,QACAwW,MAAOoD,OAKNtY,GACHuwC,EAAevwC,MAIf,CAAC6vC,IAEJjsC,qBAAU,WAET+rC,EAASvyC,SAAQ,SAAC0wC,GACbA,EAAQ9tC,KAAOswC,GAClBS,EAASjD,EAAQ9tC,IAAI+X,KAAK,OAAQ,CACjCrZ,QACAwW,MAAOoD,SAMR,IAEH1U,qBAAU,WACJ8gC,GACS,MAAThmC,GAAiBA,IAAUyyC,KAAc17B,QAAQ/W,QACpDwyC,EAAW,OAAQ,CAClBxyC,UAGDixC,EAASvyC,SAAQ,SAAC0wC,GACbA,EAAQ9tC,KAAOswC,GAClBS,EAASjD,EAAQ9tC,IAAI+X,KAAK,OAAQ,CACjCrZ,gBAQH,CAACA,IAEJkF,qBAAU,WACT,IAAM8tC,EAAgB/B,EAASp+C,QAC9B,SAACu8C,GAAO,OAA0B,IAArBA,EAAQ91B,YACpB,GAAGhwB,KACD0W,EAAQ,GAGXA,EADGyyC,KAAc17B,QAAQ7pB,YACpB,GAAAW,OACJ4kD,KAAc17B,QAAQ7pB,YAAW,aAAAW,OACtBqF,mBAAmB8/C,IACE,KAAvB9B,EAAalxC,MAClB,SAAAnS,OAAYqjD,EAAalxC,MAAK,aAAAnS,OAAYqF,mBAC9C8/C,IAGI,WAAAnlD,OAAcqF,mBAAmB8/C,IAGnC/kD,OAAOqW,WAAarW,OAAOqW,UAAUle,MACxC6H,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,WACPu0C,SAAS,GAADtvC,OAAKK,EAASkvC,SAAQ,KAAAvvC,OAAImS,GAClCq9B,UAAmB,OAAR/kC,SAAQ,IAARA,QAAQ,EAARA,GAAUE,QAKnBvK,OAAO20C,iBACV30C,OAAO20C,gBAAgBC,UAItB,CAAC7iC,EAAOmxC,IAEXjsC,qBAAU,WACY,IAAjBoqB,IACCrhC,OAAOqW,WAAarW,OAAOqW,UAAUle,MACxC6H,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,gBACP+jD,YAAa3sC,MAKd,CAACsvB,KAEJ,IAAM2jB,GACLhC,EAASp+C,QACR,SAACu8C,GAAO,IAAA8D,EAAA,OAAuC,QAAlCA,EAAAb,EAASjD,EAAQ9tC,IAAIlV,MAAM2qB,eAAO,IAAAm8B,OAAA,EAAlCA,EAAoC5jB,cAAe,KAC/DxpC,OAAS,EAaZ,OACC4F,IAAAxD,cAACikC,GAAU,KACVzgC,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,sCAEVnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,EACwB,YAAxB40C,KAAcjoD,OACdkB,IAAAxD,cAAAwD,IAAAiU,SAAA,KACE,IACDjU,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,SAASE,QAAQ,OAAOrM,KAAM,OAK7CnK,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAACsmC,MAAW,CACXltB,GAAG,wBACHmtB,WAAYxB,EACZyB,SAAUvB,EACVhwB,OAC2C,QAA1C2zC,EAAAG,EAASpkC,MAAK,SAAC41B,GAAC,OAAKA,EAAEnhC,KAAOswC,YAAY,IAAAd,OAAA,EAA1CA,EAA4CjiB,oBAC5C,GAEDD,YAAY,SACZ/3B,UAAU,aACVmH,aAAcgC,EAAQA,EAAMsmB,gBAAa98B,EACzCsW,SAvKkB,SAAC2rB,GACvB+mB,EAAW,eAAgB,CAC1BxyC,MAAOyrB,EAAG0nB,sBACV5D,qBAAsB97C,GACrBg/C,KAAc17B,QAAQo3B,aAAa,GAAGz6C,gBAIxCu9C,EAASvyC,SAAQ,SAAC0wC,GACbA,EAAQ9tC,KAAOswC,GAClBS,EAASjD,EAAQ9tC,IAAI+X,KAAK,OAAQ,CACjCrZ,MAAOyrB,EAAG0nB,8BA8JVznD,IAAAxD,cAAA,OAAK8+B,YAAU,SAASnwB,UAAU,YACR,YAAxB47C,KAAcjoD,OACdkB,IAAAxD,cAACk/B,KAAK,CAAChlB,QAAQ,SAASvL,UAAU,QACjCnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,EAAOzF,UAAU,QACpC47C,KAAc17B,QAAQruB,WAQ7BgD,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAWoM,aACV,0BACY,OAAZkrC,SAAY,IAAZA,QAAY,EAAZA,GAAcroD,QAAS,GAAK,qBAG5Bg1C,IAAyB,OAAZqT,SAAY,IAAZA,QAAY,EAAZA,GAAcroD,QAAS,GACpC4F,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGtpB,UAAU,0BACrCnL,IAAAxD,cAAA,OAAK2O,UAAU,qCACdnL,IAAAxD,cAAA,MAAI2O,UAAU,wBAAwBwxC,GACtC38C,IAAAxD,cAACs9B,KAAgB,CAChBt8B,KAAK,SACLkZ,QAAQ,UACRiJ,QAAS,kBAAMmnC,EAAW,gBAAiB,KAC3CjnC,qBAAoB48B,GAEnBA,EACDz8C,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,WACLG,eAAa,EACbtL,UAAU,iBAKbnL,IAAAxD,cAACgmD,GAAa,CACbC,aAAcA,GACdhG,gBAAiBA,EACjB1nC,SAAU,SAAC9N,GAAmC,OAC7C6/C,EAAW,gBAAiB,CAC3B7/C,YAAaA,SAMhB0hC,GAAYrH,KAAyB,OAAZmhB,SAAY,IAAZA,QAAY,EAAZA,GAAcroD,QAAS,GACjD4F,IAAAxD,cAAC+3B,KAAI,CACJC,KAAM,GACNC,QAAS,EACTtpB,UAAU,sDAEVnL,IAAAxD,cAAC2Z,KAAM,CACNO,QAAQ,YACRvL,UAAU,iBACVwU,QAAS,kBAAMsmC,GAAkBD,KAEjChmD,IAAAxD,cAAA,eAAA2F,OAAUw6C,EAAa,KAAAx6C,OAxGQ,WACpC,IAAIk5C,EAAQoH,GAAa34C,QACxB,SAAC49C,EAAqBhF,GACrB,OAAOgF,EAAchF,EAAY3H,kBAElC,GAGD,OAAOM,EAAQ,EAAC,IAAAl5C,OAAOk5C,EAAK,KAAM,GAgGFsM,KAC3B3nD,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,SAASC,MAAM,UAAUpL,UAAU,UAE9C66C,GACAhmD,IAAAxD,cAAC2rC,KAAK,CACLnY,cAAe+1B,EACfrtC,SAAU,kBAAMutC,GAAkBD,KAElChmD,IAAAxD,cAAA,OAAK2O,UAAU,iEACdnL,IAAAxD,cAAA,OAAK2O,UAAU,+BACdnL,IAAAxD,cAAA,OAAK2O,UAAU,qCACdnL,IAAAxD,cAAA,MAAI2O,UAAU,wBAAwBwxC,GACtC38C,IAAAxD,cAACs9B,KAAgB,CAChBt8B,KAAK,SACLkZ,QAAQ,UACRiJ,QAAS,kBAAMmnC,EAAW,gBAAiB,MAE1CrK,EACDz8C,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,WACLG,eAAa,EACbtL,UAAU,iBAKbnL,IAAAxD,cAACgmD,GAAa,CACbC,aAAcA,GACdhG,gBAAiBA,EACjB1nC,SAAU,SAAC9N,GAAmC,OAC7C6/C,EAAW,gBAAiB,CAC3B7/C,YAAaA,QAKjBjH,IAAAxD,cAAA,OAAK2O,UAAU,qCACdnL,IAAAxD,cAAC2Z,KAAM,CACNO,QAAQ,UACRH,MAAM,OACNpL,UAAU,iBACVwU,QAAS,kBAAMsmC,GAAkBD,KAEhCF,OAQR9lD,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGtpB,UAAU,2BACrCnL,IAAAxD,cAAA,OAAK2O,UAAU,YACdnL,IAAAxD,cAACgnD,GAAW,CAACr4C,UAAU,WACb,OAARo6C,QAAQ,IAARA,OAAQ,EAARA,EAAUh+C,KAAI,SAACm8C,EAAuBloC,GAAmB,IAADosC,EAAAC,EAAAC,EACxD,OACC9nD,IAAAxD,cAACinD,GAAc,CACdC,QAASA,EACT/jC,QAASqnC,GACTp5B,SAAUs4B,IAAgBxC,EAAQ9tC,GAClC7R,QAA8C,YAArC4iD,EAASjD,EAAQ9tC,IAAIlV,MAAM5B,MACpC8kC,aACqB,QADTgkB,EACXjB,EAASjD,EAAQ9tC,WAAG,IAAAgyC,GAAO,QAAPC,EAApBD,EAAsBlnD,aAAK,IAAAmnD,GAAS,QAATC,EAA3BD,EAA6Bx8B,eAAO,IAAAy8B,OAAhB,EAApBA,EAAsClkB,aAEvCxkC,IAAKoc,QAKRsoC,KAA0B,QAAfuB,EAAAvB,GAAQzxC,eAAO,IAAAgzC,OAAA,EAAfA,EAAiBjrD,QAAS,IAAY,OAAPspC,SAAO,IAAPA,QAAO,EAAPA,GAAStpC,QAAS,GAC5D4F,IAAAxD,cAAA,OAAK2O,UAAU,wEACdnL,IAAAxD,cAACwoD,GAAc,CACd/4B,YAGE,QAFDq5B,EAAAxB,GAAQzxC,QAAQ8O,MACf,SAAClL,GAA0B,OAAKA,EAAOvO,OAASk8C,aAChD,IAAA0B,OAAA,EAFDA,EAEG1nD,OAAQkmD,GAAQr1B,aAGnBq1B,GAAQzxC,QAAQ9K,KAChB,SAAC0O,EAA4BuF,GAC5B,OACCxb,IAAAxD,cAAA,UACC2O,UAAU,mEACVwU,QAAS,WACRmnC,EAAW,OAAQ,CAClBlD,QAAS3tC,EAAOvO,QAGlB4zC,cAAawI,GAAQr1B,YACrB3vB,MAAOmX,EAAOrY,KACdwB,IAAKoc,GAEJvF,EAAOrY,aASR,OAAP8lC,SAAO,IAAPA,QAAO,EAAPA,GAAStpC,QAAS,EAClB4F,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAC6nC,GAAgB,CAAC6e,WAAYxf,KAE7B5Y,GAAQ8Y,IACR5jC,IAAAxD,cAAA,OAAK2O,UAAU,uBACdnL,IAAAxD,cAAC2Z,KAAM,CACN0J,qBAAmB,aACnBnJ,QAAQ,UACRvL,UAAU,UACViL,SAAkC,YAAxB2wC,KAAcjoD,MACxB6gB,QAAS,kBACRmnC,EAAW,YAAa,CACvBh8B,MAAOA,GAAQoD,EACf21B,qBAAsB97C,GACrBy9C,EAAa/C,aAAa,GAAGz6C,kBAK/BwY,EACwB,YAAxBumC,KAAcjoD,OACdkB,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLC,MAAM,QACNC,QAAQ,OACRrM,KAAM,IACNgB,UAAU,OACVsL,eAAa,IAGU,YAAxBswC,KAAcjoD,OACdkB,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAU,KACVlJ,MAAM,QACNpM,KAAM,IACNgB,UAAU,OACVsL,eAAa,OAQnBzW,IAAAxD,cAAC2mD,KAAkB,KAClBnjD,IAAAxD,cAACioC,KAAmB,CACnBtyB,QAASwzC,EACTtwC,KAAMuwC,EAAa52C,QAAQ,MAAQsF,GAAS,KAE3CizC,IACAvnD,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAA,SAAIkpD,GACJ1lD,IAAAxD,cAAA,UACE+oD,EAASh+C,KAAI,SAACm8C,EAAuBloC,GAAmB,IAADusC,EAAAC,EACvD,OACChoD,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAKoc,GACnBkoC,EAAQ9tC,KAAOswC,IACmB,QAAlC6B,EAAApB,EAASjD,EAAQ9tC,IAAIlV,MAAM2qB,eAAO,IAAA08B,OAAA,EAAlCA,EAAoCnkB,cACnC,GACA5jC,IAAAxD,cAAA,UACE,IACDwD,IAAAxD,cAAA,UACCmjB,QAAS,kBAAMqnC,GAAYtD,IAC3Bv4C,UAAU,wBAEVnL,IAAAxD,cAAA,QAAM2O,UAAU,yBACdu4C,EAAQ9lD,MAEVoC,IAAAxD,cAAA,QAAM2O,UAAU,mBAAiB,IAAAhJ,OACE,QADF6lD,EAChCrB,EAASjD,EAAQ9tC,IAAIlV,MAAM2qB,eAAO,IAAA28B,OAAA,EAAlCA,EACGpkB,aAAY,KAAAzhC,OACZ0jD,EAAkB,oBCpYzBoC,GAvJiC,SAAHhnD,GAStC,IARNkR,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACA5nB,EAAIpU,EAAJoU,KACA65B,EAAejuC,EAAfiuC,gBACAC,EAAYluC,EAAZkuC,aACAF,EAAahuC,EAAbguC,cACA4J,EAAW53C,EAAX43C,YACApL,EAAWxsC,EAAXwsC,YAEM2B,EAAYlY,KAClB,OACCl3B,IAAAxD,cAACikC,GAAU,KACToY,GACA74C,IAAAxD,cAACu8C,KAAW,CACXl8C,IAAKg8C,EAAYh8C,IACjBkf,IAAK88B,EAAYG,QACjB/oB,WAAY4oB,EAAYxjC,KACxBlK,UAAU,oBAGZnL,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAWoM,aACVshC,EAAc,eAAiB,gBAC/B,iBAGD74C,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAED88B,GACAjvC,IAAAxD,cAAC6yC,KAAa,CACbhG,UAAW4F,EAAc5F,UACzB9B,OAAQ0H,EAAc1H,OACtBp8B,UAAU,QAET8jC,EAActmB,YAAcsmB,EAActmB,WAAWvuB,OAAS,GAC9D4F,IAAAxD,cAAC+yC,KAAyB,KACxBN,EAActmB,WAAWphB,KAAI,SAACkjC,EAAUjvB,GACxC,OACCxb,IAAAxD,cAACgzC,KAAqB,CACrBpwC,IAAKoc,EACL3Z,IAAK4oC,EAAS5oC,IACdwT,KAAMo1B,EAASp1B,KACfge,cAAevoB,YAUxB9K,IAAAxD,cAAC23B,KAAI,CACJvjB,QAAQ,EACRY,SAAS,EACTrG,UAAWoM,cACT23B,GAAmBC,IAAiB,mBACrC,iBAGAC,IAAcF,GAAmBC,IACjCnvC,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,EAAGrpB,UAAU,gBACxBnL,IAAAxD,cAAA,OAAK2O,UAAU,cACb+jC,GACAlvC,IAAAxD,cAACizC,MAAG,CACHt9B,QAAS+8B,EAAgB/8B,QACzBlJ,MAAOimC,EAAgBQ,SACvBvkC,UAAU,SAET+jC,EAAgBS,OAAOpoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACozC,MAAO,CAACntC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,UAKG,OAAZ85B,QAAY,IAAZA,OAAY,EAAZA,EAAc5nC,KAAI,SAACsoC,EAAar0B,GAAW,IAADs0B,EAC1C,OACC9vC,IAAAxD,cAAC22B,KAAQ,CACR/zB,IAAKoc,EACLrJ,QAAoB,OAAX09B,QAAW,IAAXA,OAAW,EAAXA,EAAa19B,QACtBhH,UAAU,SAEQ,QAFD2kC,EAEhBD,EAAYtK,aAAK,IAAAuK,OAAA,EAAjBA,EAAmBvoC,KAAI,SAAC6G,EAAMymB,GAAQ,OACtC70B,IAAAxD,cAAC42B,KAAY,CACZ/d,KAAMjH,EAAKiH,KACXxT,IAAKuM,EAAK3L,KACV6T,KAAM,QACN5Y,OAAQ0Q,EAAK1Q,OACb21B,cAAevoB,GACf1L,IAAKy1B,EACLvB,SAAUllB,EAAKklB,oBAUvBtzB,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBmkB,IAEAmS,GAAaF,GACdlvC,IAAAxD,cAACizC,MAAG,CAACt9B,QAAS+8B,EAAgB/8B,QAASlJ,MAAO,GAAIkC,UAAU,QAC1D+jC,EAAgBS,OAAOpoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACozC,MAAO,CAACntC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,WAKR+5B,IACW,OAAZD,QAAY,IAAZA,OAAY,EAAZA,EAAc5nC,KAAI,SAACsoC,EAAar0B,GAAW,IAADu0B,EACzC,OACC/vC,IAAAxD,cAAC22B,KAAQ,CACR/zB,IAAKoc,EACLrJ,QAAoB,OAAX09B,QAAW,IAAXA,OAAW,EAAXA,EAAa19B,QACtBhH,UAAU,SAEQ,QAFD4kC,EAEhBF,EAAYtK,aAAK,IAAAwK,OAAA,EAAjBA,EAAmBxoC,KAAI,SAAC6G,EAAMymB,GAAQ,OACtC70B,IAAAxD,cAAC42B,KAAY,CACZ/d,KAAMjH,EAAKiH,KACXxT,IAAKuM,EAAK3L,KACV6T,KAAM,QACN5Y,OAAQ0Q,EAAK1Q,OACb21B,cAAevoB,GACf1L,IAAKy1B,EACLvB,SAAUllB,EAAKklB,mBAMrBtzB,IAAAxD,cAACsb,GAAY,CAACgB,KAAK,OAAOf,UAAe,OAAJ1C,QAAI,IAAJA,OAAI,EAAJA,EAAM0C,cAG5C01B,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,MC1Edya,GA9EuC,SAAHjnD,GAK5C,IAJNkR,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACAyQ,EAAczsC,EAAdysC,eACAD,EAAWxsC,EAAXwsC,YAEA,OACCztC,IAAAxD,cAACikC,GAAU,KACVzgC,IAAAxD,cAAC23B,KAAI,CAAC3iB,SAAS,EAAOrG,UAAU,gBAC/BnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAmC,SAA1BiZ,EAAeya,OAAoB,GAAK,GAChEnoD,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAEFnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBmkB,GAEDyQ,GACA1tC,IAAAxD,cAAAwD,IAAAiU,SAAA,KAC4B,SAA1By5B,EAAeya,QACfnoD,IAAAxD,cAAC4rD,KAAgB,CAChB93B,aAAYod,EAAe3I,0BAE1B2I,EAAezkC,MAAM1B,KAAI,SAACgqB,EAAM/V,GAAK,OACrCxb,IAAAxD,cAAC6rD,KAAmB,CACnBh1B,cAAevoB,GACfjJ,IAAK0vB,EAAK1vB,IACVsQ,QAASof,EAAKpf,QACdkD,KAAMkc,EAAKlc,KACXjW,IAAKoc,EACLlF,KACCib,EAAK1vB,KAA8B,MAAvB0vB,EAAK1vB,IAAI2J,OAAO,GACzB,QACA+lB,EAAK1vB,MAEJ,IADD0vB,EAAK1vB,IAAIyT,QAAQ,8BAEjB,aACA,eAEJkD,YAAWgD,EAAQ,SAKI,SAA1BkyB,EAAeya,QACfnoD,IAAAxD,cAAC8rD,KAAc,CACdh4B,aAAYod,EAAe3I,0BAE1B2I,EAAezkC,MAAM1B,KAAI,SAACgqB,EAAM/V,GAAK,OACrCxb,IAAAxD,cAAC+rD,KAAkB,CAClBl1B,cAAevoB,GACfjJ,IAAK0vB,EAAK1vB,IACVsQ,QAASof,EAAKpf,QACdkD,KAAMkc,EAAKlc,KACXjW,IAAKoc,EACLlF,KACCib,EAAK1vB,KAA8B,MAAvB0vB,EAAK1vB,IAAI2J,OAAO,GACzB,QACA+lB,EAAK1vB,MAEJ,IADD0vB,EAAK1vB,IAAIyT,QAAQ,8BAEjB,aACA,wBAUXm4B,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,MCmBd+a,GA3FiC,SAAHvnD,GAOtC,IANNkR,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACA5nB,EAAIpU,EAAJoU,KACA65B,EAAejuC,EAAfiuC,gBACAuZ,EAAKxnD,EAALwnD,MACAhb,EAAWxsC,EAAXwsC,YAEM2B,EAAYlY,KAClB,OACCl3B,IAAAxD,cAACikC,GAAU,KACVzgC,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,KAIJnS,IAAAxD,cAAC23B,KAAI,CACJvjB,QAAQ,EACRY,SAAS,EACTrG,UAAWoM,aAAK23B,GAAmB,mBAAoB,iBAEtDE,GAAaF,GACblvC,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,EAAGrpB,UAAU,gBACxBnL,IAAAxD,cAACizC,MAAG,CACHt9B,QAAS+8B,EAAgB/8B,QACzBlJ,MAAOimC,EAAgBQ,SACvByJ,OAAQjK,EAAgBkK,UAEvBlK,EAAgBS,OAAOpoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACozC,MAAO,CAACntC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,WAMXrV,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBmkB,IAGAmS,GAAaF,GACdlvC,IAAAxD,cAACizC,MAAG,CAACt9B,QAAS+8B,EAAgB/8B,QAASlJ,MAAO,GAAIkC,UAAU,QAC1D+jC,EAAgBS,OAAOpoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACozC,MAAO,CAACntC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,UAKVrV,IAAAxD,cAAA,OAAK2O,UAAU,SACdnL,IAAAxD,cAACsb,GAAY,CAACgB,KAAK,OAAOf,UAAe,OAAJ1C,QAAI,IAAJA,OAAI,EAAJA,EAAM0C,aAG3C0wC,IAAUA,EAAMvmD,MAAQumD,EAAMC,WAC9B1oD,IAAAxD,cAACmsD,KAAe,KACdF,EAAMvmD,MACNlC,IAAAxD,cAACosD,KAAmB,CACnBhrD,KAAM6qD,EAAMvmD,KAAKtE,KACjBiE,IAAK4mD,EAAMvmD,KAAKL,IAChBrE,KAAK,OACLiU,MAAOg3C,EAAMI,KAAK3mD,KAClBmxB,cAAevoB,KAGhB29C,EAAMC,UACN1oD,IAAAxD,cAACosD,KAAmB,CACnBhrD,KAAM6qD,EAAMC,SAAS9qD,KACrBiE,IAAK4mD,EAAMC,SAAS7mD,IACpBrE,KAAK,WACLiU,MAAOg3C,EAAMI,KAAKH,SAClBr1B,cAAevoB,QAOpB2iC,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,MChGlBqb,GAAuC1mD,IAAM2mD,YAAYxoC,SA8H9DyoC,GAAgB,SAAC39B,GACtB,IAAM/W,EAAa,GAsDnB,OApDI+W,EAAQ49B,eACX30C,EAAM+5B,KAAOhjB,EAAQ49B,cAElB59B,EAAQ69B,kBACX50C,EAAM60C,QAAU99B,EAAQ69B,iBAErB79B,EAAQ+9B,eACX90C,EAAMuN,KAAOwJ,EAAQ+9B,cAElB/9B,EAAQg+B,0BACX/0C,EAAMg1C,gBAAkBj+B,EAAQg+B,yBAE7Bh+B,EAAQk+B,sBACXj1C,EAAMk1C,YAAcn+B,EAAQk+B,qBAEzBl+B,EAAQo+B,eACXn1C,EAAMo1C,KAAOr+B,EAAQo+B,cAGrBp+B,EAAQs+B,sBACRr1C,EAAM+5B,MACN/5B,EAAM60C,SACN70C,EAAMuN,QAGyD,IAA9DwJ,EAAQs+B,qBAAqBr0C,QAAQ,wBACJ,UAAjC+V,EAAQu+B,qBAERt1C,EAAMu1C,aAAe,CAAC,mBAAiB,uBAEvCv1C,EAAMu1C,aAAex+B,EAAQs+B,sBAG3Bt+B,EAAQy+B,qBACXx1C,EAAMy1C,MAAQ1+B,EAAQy+B,oBAEnBz+B,EAAQkwB,kBACXjnC,EAAMnN,OAASkkB,EAAQkwB,iBAEpBlwB,EAAQ2+B,mBACX11C,EAAM21C,SAAW5+B,EAAQ2+B,kBAE1B11C,EAAM41C,aAAe7+B,EAAQu+B,qBAC7Bt1C,EAAM0S,UAAYqE,EAAQ8+B,kBAC1B71C,EAAM81C,aAAe/+B,EAAQg/B,qBACzBh/B,EAAQi/B,QACXh2C,EAAMsvC,QAAUv4B,EAAQi/B,OAErBj/B,EAAQk/B,kBACXj2C,EAAMwW,MAAQO,EAAQk/B,iBAGjB,IAANpoD,OAAWqH,qBAAU8K,EAAO,CAAEk2C,YAAa,WAGtCC,GAAwB,eAAAxpD,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOC,EAAQ+pB,GAAO,IAAAq/B,EAAAp2C,EAAAq2C,EAAA/wD,EAAA,OAAAuH,IAAAY,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAIrD,OAHGoS,EAAgB,GAChB+W,IACH/W,EAAQ00C,GAAc39B,IACtBznB,EAAA1B,KAAA,EACsBE,IAAM,CAC5BwoD,OAAQ,MACR/oD,IAAI,GAADM,OAAKb,GAAMa,OAAGmS,GACjBu2C,YAA8B,QAAnBH,EAAE5B,UAAiB,IAAA4B,OAAA,EAAjBA,EAAmBI,QAC9B,KAAD,EAJU,OAIVH,EAAA/mD,EAAAvB,KAJMzI,EAAI+wD,EAAJ/wD,KAAIgK,EAAAZ,OAAA,SAMLpJ,GAAI,wBAAAgK,EAAAX,UAAA5B,OACX,gBAZ6B6B,EAAAC,GAAA,OAAAlC,EAAAlG,MAAA,KAAAuI,YAAA,GAcxBynD,GAA4B,eAAAvnD,EAAAtC,YAAAC,IAAAC,MAAG,SAAAqC,EACpCnC,EACA+pB,EACA2/B,EACA7jD,EACA8jD,GAAU,IAAAppD,EAAAqpD,EAAAtxD,EAAA,OAAAuH,IAAAY,MAAA,SAAA61B,GAAA,cAAAA,EAAA31B,KAAA21B,EAAA11B,MAAA,OAgBwC,MAVzC,6CAELL,EAAG,GAAAM,OAFE,6CAEU,UAAAA,OAASkpB,EAAQ49B,aAAY,qBAAA9mD,OAC/CkpB,EAAQg+B,wBAAuB,eAAAlnD,OAClBkpB,EAAQy+B,mBAAmB3iD,QAAO,SAACQ,GAAS,OACzDA,EAAEyQ,SAASjR,MACX,aAAAhF,OAAYkpB,EAAQ69B,gBAAe,UAAA/mD,OAASkpB,EAAQ+9B,cAEjD6B,IAAYppD,GAAG,eAAAM,OAAmB8oD,IAElCD,IAAcnpD,GAAG,UAAAM,OAAc6oD,IAAepzB,EAAA11B,KAAA,EAE3BE,IAAM,CAC5BwoD,OAAQ,MACR/oD,IAAKA,IACH,KAAD,EAHU,OAGVqpD,EAAAtzB,EAAAv1B,KAHMzI,EAAIsxD,EAAJtxD,KAAIg+B,EAAA50B,OAAA,SAKLpJ,GAAI,wBAAAg+B,EAAA30B,UAAAQ,OACX,gBA7BiCL,EAAAC,EAAAQ,EAAAC,EAAAqnD,GAAA,OAAA3nD,EAAAzI,MAAA,KAAAuI,YAAA,GA+BrB8nD,GAA0BjgC,aACtC,CACCvV,GAAI,0BACJwV,QAAS,OACTC,QAAS,CACR/pB,OAAQ,GACRyiD,OAAQ,KACRsH,cAAe,WACfruD,MAAO,KACPsuD,cAAc,EACdC,MAAO,KACPC,SAAU,KACVC,MAAO,KACPC,iBAAkB,KAClBxe,KAAM,KACN2R,WAAY,KACZ3E,QAAS,KACTyR,cAAe,KACfC,UAAW,KACXC,aAAc,KACd5C,aAAc,KACdC,gBAAiB,KACjBE,aAAc,KACdC,wBAAyB,KACzBI,aAAc,GACdE,qBAAsB,CAAC,oBACvBJ,oBAAqB,KACrBO,mBAAoB,GACpBvO,gBAAiB,GACjByO,iBAAkB,KAClBJ,qBAAsB,QACtBO,kBAAmB,SACnBE,sBAAsB,EACtBpvD,OAAQ,KACRqvD,MAAO,KACPC,gBAAiB,IACjBuB,cAAe,EACfC,aAAc,IACdC,YAAa,KACbhsC,YAAa,MAEdsL,OAAQ,CACPC,KAAM,CACLO,GAAI,CAEHmgC,WAAY,eAIdC,WAAY,CACXpX,MAAO,CAAC,uBACRtpB,OAAQ,CACP5V,GAAI,aACJ/Y,IAAK,SAACwuB,EAASM,GAAM,OAAK8+B,GAAYp/B,EAAQ/pB,OAAQ+pB,IACtDI,OAAQ,CACP/tB,OAAQ,cACRqD,QAAS,WAEV2qB,QAAS,CACRhuB,OAAQ,OACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GAAK,OAAKA,EAAMtD,KAAKoD,YAM3CmvD,YAAa,CACZrX,MAAO,CAAC,uBACRC,OAAQ,CACP,CAAEr3C,OAAQ,iBAAkBo4B,KAAM,aAClC,CACCp4B,OAAQ,iBACRo4B,KAAM,uBAEP,CAAEp4B,OAAQ,gBAAiBo4B,KAAM,YACjC,CAAEp4B,OAAQ,mBAAoBo4B,KAAM,eACpC,CAAEp4B,OAAQ,gBAAiBo4B,KAAM,YACjC,CAAEp4B,OAAQ,kBAIZ0uD,aAAc,CACb5gC,OAAQ,CACP5V,GAAI,WACJ/Y,IAAK,SAACwuB,EAASM,GAAM,OAAK8+B,GAAYp/B,EAAQ/pB,SAC9CmqB,OAAQ,CACP/tB,OAAQ,gBACRqD,QAAS,WAEV2qB,QAAS,CACRhuB,OAAQ,YACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GACjB,MAAM,SAANiF,OAAgBjF,EAAMtD,KAAK+a,SAASykB,OAAM,OAAAj3B,OAAMjF,EAAMtD,KAAK+a,SAAS0kB,aAErEiyB,aAAc,SAACtpD,EAAU9E,GAAK,OAAKs6B,IAAM60B,SAASnvD,EAAMtD,YAM5D0yD,cAAe,CAEdvX,OAAQ,CACP,CACCr3C,OAAQ,kBACRqD,QAAS,CACR,CAAEvD,KAAM,eAAgB+uD,WAAY,QACpC,yBAMJC,gBAAiB,CAChB1X,MAAO,CAAC,aACRtpB,OAAQ,CACP5V,GAAI,cACJ/Y,IAAK,SAACwuB,EAASM,GAAM,OAAK8+B,GAAYp/B,EAAQ/pB,OAAQ+pB,IACtDI,OAAQ,CACP/tB,OAAQ,mBACRqD,QAAS,WAEV2qB,QAAS,CACRhuB,OAAQ,eACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GACjB,MAAM,SAANiF,OAAgBjF,EAAMtD,KAAK+a,SAASykB,OAAM,OAAAj3B,OAAMjF,EAAMtD,KAAK+a,SAAS0kB,aAErEiyB,aAAc,SAACtpD,EAAU9E,GAAK,OAAKs6B,IAAM60B,SAASnvD,EAAMtD,YAM5D6yD,iBAAkB,GAElBC,aAAc,CACb5X,MAAO,CAAC,aACRtpB,OAAQ,CACP5V,GAAI,WACJ/Y,IAAK,SAACwuB,EAASM,GAAM,OAAK8+B,GAAYp/B,EAAQ/pB,OAAQ+pB,IACtDI,OAAQ,CACP/tB,OAAQ,gBACRqD,QAAS,WAEV2qB,QAAS,CACRhuB,OAAQ,YACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GACjB,MAAM,SAANiF,OAAgBjF,EAAMtD,KAAK+a,SAASykB,OAAM,OAAAj3B,OAAMjF,EAAMtD,KAAK+a,SAAS0kB,aAErEiyB,aAAc,SAACtpD,EAAU9E,GAAK,OAAKs6B,IAAM60B,SAASnvD,EAAMtD,YAM5D+yD,cAAe,GAEfC,wBAAyB,CACxB9X,MAAO,CAAC,aACRtpB,OAAQ,CACP5V,GAAI,sBACJ/Y,IAAK,SAACwuB,EAASM,GAAM,OAAK8+B,GAAYp/B,EAAQ/pB,OAAQ+pB,IACtDI,OAAQ,CACP/tB,OAAQ,2BACRqD,QAAS,WAEV2qB,QAAS,CACRhuB,OAAQ,uBACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GACjB,MAAM,SAANiF,OAAgBjF,EAAMtD,KAAK+a,SAASykB,OAAM,OAAAj3B,OAAMjF,EAAMtD,KAAK+a,SAAS0kB,aAErEiyB,aAAc,SAACtpD,EAAU9E,GAAK,OAAKs6B,IAAM60B,SAASnvD,EAAMtD,YAM5DizD,yBAA0B,GAE1B5xD,OAAQ,CACP2a,GAAI,aACJwV,QAAS,oBACTE,OAAQ,CACPwhC,kBAAmB,CAClBhY,MAAO,CAAC,aACRtpB,OAAQ,CACP5V,GAAI,YACJ/Y,IAAK,SAACwuB,EAASM,GACd,OAAO8+B,GAAYp/B,EAAQ/pB,OAAQ+pB,IAEpCI,OAAQ,CACP/tB,OAAQ,UACRqD,QAAS,WAEV2qB,QAAS,CACRhuB,OAAQ,QACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GAAK,OAAKA,EAAMtD,KAAK+D,SACvC2tD,aAAc,SAACtpD,EAAU9E,GAAK,OAAKs6B,IAAM60B,SAASnvD,EAAMtD,YAM5DoD,MAAO,CACN8uB,GAAI,CACHihC,MAAO,CACNrvD,OAAQ,sBAGVq3C,OAAQ,CACP,CACCr3C,OAAQ,oBACRo4B,KAAM,iBAITlK,QAAS,CACRkpB,MAAO,CAAC,uBAERC,OAAQ,CACP,CACCr3C,OAAQ,oBACRo4B,KAAM,wBACN/0B,QAAS,2BAEV,CACCrD,OAAQ,oBACRo4B,KAAM,mBACN/0B,QAAS,wBAKZisD,mBAAoB,CACnBxhC,OAAQ,CACP5V,GAAI,iBACJ/Y,IAAK,SAACwuB,EAASM,GACd,OAAOo/B,GACN1/B,EAAQ/pB,OACR+pB,EACAM,EAAOq/B,aACPr/B,EAAOxkB,OACPwkB,EAAOs/B,aAGTx/B,OAAQ,CACP/tB,OAAQ,UACRqD,QAAS,kBAEV2qB,QAAS,CACRhuB,OAAQ,QACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GAAK,OAAKA,EAAMtD,KAAK+D,SACvC2tD,aAAc,SAACtpD,EAAU9E,GAAK,OAAKs6B,IAAM60B,SAASnvD,EAAMtD,aAM7DkyB,GAAI,CACHmhC,WAAY,CACXvvD,OAAQ,qBACRqD,QAAS,CAAC,YAAa,sBAExBmsD,aAAc,CACbxvD,OAAQ,qBACRqD,QAAS,CAAC,cAAe,sBAE1BujD,cAAe,CACd5mD,OAAQ,qBACRqD,QAAS,CAAC,eAAgB,sBAE3BosD,SAAU,CACTzvD,OAAQ,qBACRqD,QAAS,CAAC,UAAW,sBAEtBqsD,YAAa,CACZ1vD,OAAQ,qBACRqD,QAAS,CAAC,aAAc,sBAEzBssD,kBAAmB,CAClB3vD,OAAQ,qBACRqD,QAAS,CAAC,kBAAmB,sBAE9BusD,mBAAoB,CACnB5vD,OAAQ,qBACRqD,QAAS,CAAC,oBAAqB,sBAEhCwsD,gBAAiB,CAChB7vD,OAAQ,qBACRqD,QAAS,CAAC,iBAAkB,sBAE7BysD,cAAe,CACd9vD,OAAQ,qBACRqD,QAAS,CAAC,eAAgB,sBAE3B0sD,iBAAkB,CACjB/vD,OAAQ,qBACRqD,QAAS,CAAC,kBAAmB,sBAE9B2sD,YAAa,qBACbC,qBAAsB,CACrBjwD,OAAQ,qBACRqD,QAAS,CAAC,qBAAsB,sBAEjC6sD,kBAAmB,CAClBlwD,OAAQ,qBACRqD,QAAS,CAAC,kBAAmB,sBAE9B8sD,oBAAqB,CACpBnwD,OAAQ,qBACRqD,QAAS,CAAC,oBAAqB,sBAEhC+sD,kBAAmB,CAClBpwD,OAAQ,qBACRqD,QAAS,CAAC,kBAAmB,sBAE9BgtD,aAAc,CACbrwD,OAAQ,qBACRqD,QAAS,CAAC,cAAe,sBAE1BojD,UAAW,CACVzmD,OAAQ,qBACRqD,QAAS,CAAC,WAAY,sBAEvBitD,eAAgB,CACfjtD,QAAS,oBAEVktD,cAAe,CACdvwD,OAAQ,uBAETwwD,sBAAuB,CACtBxwD,OAAQ,yBAKXywD,UAAW,CACVriC,GAAI,CACHihC,MAAO,CACNrvD,OAAQ,kBAKX0wD,aAAc,CACbtiC,GAAI,CACHihC,MAAO,CACNrvD,OAAQ,qBAKX2wD,UAAW,CACVviC,GAAI,CACHihC,MAAO,CACNrvD,OAAQ,kBAIX4wD,qBAAsB,CACrBxiC,GAAI,CACHihC,MAAO,CACNrvD,OAAQ,6BAKX6wD,gBAAiB,CAChBziC,GAAI,CACHihC,MAAO,CACNrvD,OAAQ,aAKZouB,GAAI,CACH0iC,YAAa,CACZ9wD,OAAQ,kBACRqD,QAAS,CACR,CAAEvD,KAAM,eAAgB+uD,WAAY,QACpC,kBACA,sBAGFkC,eAAgB,CACf34B,KAAM,mBACNp4B,OAAQ,eACRqD,QAAS,CACR,CAAEvD,KAAM,eAAgB+uD,WAAY,WACpC,qBACA,sBAGFmC,YAAa,CACZ54B,KAAM,gBACNp4B,OAAQ,0BACRqD,QAAS,CACR,CAAEvD,KAAM,eAAgB+uD,WAAY,QACpC,kBACA,sBAGFoC,wBAAyB,CACxB74B,KAAM,2BACNp4B,OAAQ,SACRqD,QAAS,CACR,CAAEvD,KAAM,eAAgB+uD,WAAY,mBACpC,6BACA,sBAGFqC,UAAW,CACVlxD,OAAQ,eACRqD,QAAS,CACR,CAAEvD,KAAM,eAAgB+uD,WAAY,OACpC,wBAKJ,CACCv2B,OAAQ,CACP64B,YAAa,SAACxjC,GACb,OAAOA,EAAQigC,cAEhBwD,iBAAkB,SAACzjC,GAClB,OAAgC,OAAzBA,EAAQ49B,cAEhB8F,cAAe,SAAC1jC,GACf,OAAmC,OAA5BA,EAAQ69B,iBAEhB8F,yBAA0B,SAAC3jC,GAC1B,OAAgC,OAAzBA,EAAQ+9B,cAEhB6F,sBAAuB,SAAC5jC,GAAa,IAAD6jC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACnC,QACuC,IAAtClkC,EAAQy+B,mBAAmB1vD,SAC3BixB,EAAQg+B,2BACPh+B,EAAQg+B,wBAAwBjxC,SAChC,qEAEAiT,EAAQg+B,wBAAwBjxC,SAC/B,iEAEDiT,EAAQg+B,wBAAwBjxC,SAC/B,oFAOoC,IAAtCiT,EAAQy+B,mBAAmB1vD,QACI,KAAb,QAAlB80D,EAAA7jC,EAAQwzB,kBAAU,IAAAqQ,OAAA,EAAlBA,EAAoB90D,SAC0B,KAAzB,QAArB+0D,EAAA9jC,EAAQwzB,WAAW,UAAE,IAAAsQ,GAAY,QAAZC,EAArBD,EAAuBK,kBAAU,IAAAJ,OAAZ,EAArBA,EAAmCh1D,SAC0B,KAAxC,QAArBi1D,EAAAhkC,EAAQwzB,WAAW,UAAE,IAAAwQ,GAAe,QAAfC,EAArBD,EAAuBG,WAAW,UAAE,IAAAF,GAAY,QAAZC,EAApCD,EAAsCxuC,kBAAU,IAAAyuC,OAA3B,EAArBA,EAAkDn1D,SAGpDq1D,iBAAkB,SAACpkC,GAAa,IAADqkC,EAAAC,EAAAC,EAAAC,EAC9B,OACiC,IAAhCxkC,EAAQo+B,aAAarvD,aACW0D,KAApB,QAAZ4xD,EAAArkC,EAAQ6hB,YAAI,IAAAwiB,GAAO,QAAPC,EAAZD,EAAcI,aAAK,IAAAH,OAAP,EAAZA,EAAqBv1D,UACT,QAAZw1D,EAAAvkC,EAAQ6hB,YAAI,IAAA0iB,GAAO,QAAPC,EAAZD,EAAcE,aAAK,IAAAD,OAAP,EAAZA,EAAqBz1D,SAAU,GAGjC21D,UAAW,SAAC1kC,GACX,OAA0B,OAAnBA,EAAQpwB,QAEhB+0D,SAAU,SAAC3kC,GACV,OAAyB,OAAlBA,EAAQkgC,OAEhB0E,YAAa,SAAC5kC,GACb,OAA4B,OAArBA,EAAQmgC,UAEhB0E,SAAU,SAAC7kC,GACV,OAAyB,OAAlBA,EAAQogC,OAEhB0E,oBAAqB,SAAC9kC,GACrB,OAAoC,OAA7BA,EAAQqgC,mBAGjB3qD,QAAS,CACRqvD,QAAShoD,aAAO,CACfmjD,MAAO,SAACvpD,EAAU9E,GAAK,OAAKA,EAAMtD,KAAK2xD,OACvCC,SAAU,SAACxpD,EAAU9E,GAAK,OAAKA,EAAMtD,KAAK4xD,UAC1CC,MAAO,SAACzpD,EAAU9E,GAAK,OAAKA,EAAMtD,KAAK6xD,OACvCC,iBAAkB,SAAC1pD,EAAU9E,GAAK,OAAKA,EAAMtD,KAAK8xD,kBAClDxe,KAAM,SAAClrC,EAAU9E,GAAK,OAAKA,EAAMtD,KAAKszC,MACtC2R,WAAY,SAAC78C,EAAU9E,GAAK,OAAKA,EAAMtD,KAAKilD,YAC5C3E,QAAS,SAACl4C,EAAU9E,GAAK,OAAKA,EAAMtD,KAAKsgD,SACzC2R,aAAc,SAAC7pD,EAAU9E,GAAK,OAAKA,EAAMtD,KAAKiyD,cAC9CD,UAAW,SAAC5pD,EAAU9E,GAAK,OAAKA,EAAMtD,KAAKgyD,WAC3C3wD,OAAQ,SAAC+G,EAAU9E,GAAK,OAAKA,EAAMtD,KAAKqB,QACxC+wD,YAAa,SAAChqD,EAAU9E,GAAK,OAAKA,EAAMtD,KAAKoyD,aAC7CzC,oBAAqB,SAACl+B,EAASnuB,GAC9B,OAAImuB,EAAQk+B,oBACJl+B,EAAQk+B,oBACLrsD,EAAMtD,KAAKiyD,cAAgB3uD,EAAMtD,KAAKiyD,aAAa,GACtD3uD,EAAMtD,KAAKiyD,aAAa,GAAG/sD,MAE5B,MAERyrD,gBAAiB,SAACl/B,EAASnuB,GAAK,IAAAmzD,EAAA,OACd,QAAjBA,EAAAnzD,EAAMtD,KAAKqB,cAAM,IAAAo1D,OAAA,EAAjBA,EAAmBvlC,QAASO,EAAQk/B,iBACrCuB,cAAe,SAACzgC,EAASnuB,GAAK,IAAAozD,EAAA,OACZ,QAAjBA,EAAApzD,EAAMtD,KAAKqB,cAAM,IAAAq1D,OAAA,EAAjBA,EAAmB5hC,QAASrD,EAAQygC,eACrC9rC,YAAa,SAACqL,EAASnuB,GAAK,OAC3BA,EAAMtD,KAAKomB,aAAeqL,EAAQrL,aACnChjB,MAAO,SAACquB,EAASnuB,GAChB,OAAO,MAERouD,aAAc,SAACjgC,EAASnuB,GAAK,OAAK,GAClCysD,qBAAsB,SAACt+B,EAASnuB,GAC/B,OAAImuB,EAAQs+B,qBAAqBvvD,OAAS,EAClC,CAACixB,EAAQs+B,qBAAqB,IAE9Bt+B,EAAQs+B,wBAIlB4G,oBAAqBnoD,aAAO,CAC3BijD,cAAe,SAAChgC,EAASnuB,GAAW,IAADszD,EAC9BnF,EAAgB,GAChBnR,EAAe,GA2BnB,GAhBI7uB,EAAQ+9B,cAAgB/9B,EAAQogC,QACnCJ,GACChgC,EAAQogC,MAAMtkD,QACb,SAACiH,GAAI,OAAKA,EAAKtP,QAAUusB,EAAQ+9B,gBAChC,GAAG/zC,KAAO,KAEVgW,EAAQs+B,uBAAoC,QAAhB6G,EAAInlC,EAAQ6hB,YAAI,IAAAsjB,OAAA,EAAZA,EAAcz4C,YACjDmiC,EAAQx/C,KACP2wB,EAAQs+B,qBAAqB,GAAGjnD,UAC/B2oB,EAAQs+B,qBAAqB,GAAGr0C,QAAQ,KAAO,IAO9C+V,EAAQy+B,oBAAsBz+B,EAAQwzB,WACzC,IAAK,IAAMz/C,KAAOisB,EAAQwzB,WAAY,CACrC,IAAM4R,EAAkBplC,EAAQwzB,WAAWz/C,GAAKowD,WAChD,IAAK,IAAMkB,KAAQD,EAAY,CAC9B,IACMj6B,EADkBi6B,EAAWC,GAAM5vC,WACd3Z,QAAO,SAACiH,GAAgB,OACE,IAApDid,EAAQy+B,mBAAmBx0C,QAAQlH,EAAKtP,OACrCsP,EACA,QAEAooB,EAAQp8B,OAAS,GACpBo8B,EAAQxjB,SAAQ,SAAC5E,GAChB8rC,EAAQx/C,KAAK0T,EAAKiH,UAQvB,IADA6kC,EAAUA,EAAQ3yC,KAAI,SAAC6G,GAAS,OAAKA,EAAK+N,kBAC9B/hB,OAAS,EAAG,CACvB,IAAMu2D,EAAazW,EAAQ0W,MAC3BvF,EAAa,GAAAlpD,OAAMkpD,EAAa,WAAAlpD,OAAU+3C,EAAQzyC,KACjD,MACA,SAAAtF,OAAQwuD,QACoB,IAAnBzW,EAAQ9/C,SAClBixD,EAAa,GAAAlpD,OAAMkpD,EAAa,WAAAlpD,OAAU+3C,EAAQzyC,KAAK,QAExD,OAAO4jD,KAGTwF,gBAAiBzoD,aAAO,CACvB6gD,aAAc,SAACjnD,EAAU9E,GAAK,OAAKA,EAAMtD,QAE1Ck3D,mBAAoB1oD,aAAO,CAC1B8gD,gBAAiB,SAAClnD,EAAU9E,GAAK,OAAKA,EAAMtD,QAE7Cm3D,gBAAiB3oD,aAAO,CACvBghD,aAAc,SAACpnD,EAAU9E,GAAK,OAAKA,EAAMtD,QAE1Co3D,2BAA4B5oD,aAAO,CAClCihD,wBAAyB,SAACrnD,EAAU9E,GAAK,OAAKA,EAAMtD,QAGrDq3D,mBAAoB7oD,aAAO,CAC1B6gD,aAAc,SAACjnD,EAAU9E,GAAK,OAC7B8E,EAASupD,OAASvpD,EAASupD,MAAM,GAAGzsD,SAEtCoyD,UAAW9oD,aAAO,CACjBmzC,gBAAiB,SAAClwB,EAASnuB,GAC1B,MAAM,GAANiF,OAAAy/C,aAAWv2B,EAAQkwB,iBAAe,CAAEr+C,EAAM4B,WAG5CqyD,eAAgB/oD,aAAO,CACtB8xC,QAAS,SAAC7uB,EAASnuB,GAAW,IAADk0D,EAO5B,OANe,QAAfA,EAAA/lC,EAAQ6uB,eAAO,IAAAkX,GAAfA,EAAiB7pD,KAAI,SAACJ,GACjBjK,EAAMtD,KAAKqP,OAAS9B,EAAOkO,OAASnY,EAAMtD,KAAKyb,OAClDlO,EAAO8B,MAAQ/L,EAAMtD,KAAKqP,UAIrBoiB,EAAQ6uB,WAGjBmX,YAAajpD,aAAO,CACnBmzC,gBAAiB,SAAClwB,EAASnuB,GAC1B,OAAOmuB,EAAQkwB,gBAAgBp0C,QAAO,SAACmqD,GAAG,OAAKA,IAAQp0D,EAAM4B,YAG/D6lD,aAAcv8C,aAAO,CACpBmzC,gBAAiB,SAAClwB,EAASnuB,GAC1B,MAAO,MAGTq0D,QAASnpD,aAAO,CACfqhD,aAAc,SAACp+B,EAASnuB,GACvB,MAAM,GAANiF,OAAAy/C,aAAWv2B,EAAQo+B,cAAY,CAAEvsD,EAAMtD,UAGzC43D,WAAYppD,aAAO,CAClBqhD,aAAc,SAACp+B,EAASnuB,GACvB,OAAOmuB,EAAQo+B,aAAatiD,QAAO,SAACmqD,GAAG,OAAKA,IAAQp0D,EAAMtD,WAG5D63D,kBAAmBrpD,aAAO,CACzBmhD,oBAAqB,SAACvnD,EAAU9E,GAAK,OAAKA,EAAMtD,QAEjD83D,eAAgBtpD,aAAO,CACtB4hD,iBAAkB,SAAChoD,EAAU9E,GAAK,OAAKA,EAAMtD,QAE9C+3D,mBAAoBvpD,aAAO,CAC1BwhD,qBAAsB,SAAC5nD,EAAU9E,GAAK,OAAKA,EAAMtD,QAElDg4D,gBAAiBxpD,aAAO,CACvB+hD,kBAAmB,SAACnoD,EAAU9E,GAAK,OAAKA,EAAMtD,QAE/Ci4D,YAAazpD,aAAO,CACnBkiD,MAAO,SAACtoD,EAAU9E,GAAK,SAAAiF,OAAQjF,EAAM0mD,QAAO,KAAAzhD,OAAIjF,EAAM40D,mBAEvDjN,SAAUz8C,aAAO,CAChBmiD,gBAAiB,SAACl/B,EAASM,GAAM,OAChCN,EAAQk/B,gBAAkBl/B,EAAQ0gC,gBAEpCgG,gBAAiB3pD,aAAO,CACvBiiD,qBAAsB,SAACroD,EAAU2pB,GAAM,OAAK,KAE7CqmC,kBAAmB5pD,aAAO,CACzBiiD,qBAAsB,SAACroD,EAAU2pB,GAAM,OAAK,KAE7CsmC,aAAc7pD,aAAO,CACpB0hD,mBAAoB,SAACz+B,EAASnuB,GAC7B,MAAM,GAANiF,OAAAy/C,aAAWv2B,EAAQy+B,oBAAkB,CAAE5sD,EAAMtD,UAG/Cs4D,gBAAiB9pD,aAAO,CACvB0hD,mBAAoB,SAACz+B,EAASnuB,GAC7B,OAAOmuB,EAAQy+B,mBAAmB3iD,QAAO,SAACmqD,GAAG,OAAKA,IAAQp0D,EAAMtD,SAEjE2hD,gBAAiB,SAAClwB,EAASnuB,GAC1B,OAAOmuB,EAAQkwB,gBAAgBp0C,QAC9B,SAACmqD,GAAW,OAAMA,EAAIl5C,SAAS,GAADjW,OAAIjF,EAAMtD,KAAI,YAI/Cu4D,wBAAyB/pD,aAAO,CAC/B0hD,mBAAoB,SAACz+B,EAASnuB,GAC7B,OACCmuB,EAAQwzB,YACRxzB,EAAQg+B,yBACRh+B,EAAQg+B,wBAAwBjxC,SAC/B,oEAGM,CACN,+EAGDiT,EAAQwzB,YACRxzB,EAAQg+B,yBACRh+B,EAAQg+B,wBAAwBjxC,SAC/B,gEAGM,CACN,+DAGDiT,EAAQwzB,YACRxzB,EAAQg+B,yBACRh+B,EAAQg+B,wBAAwBjxC,SAC/B,iFAGM,CACN,qGAKDiT,EAAQwzB,YACRxzB,EAAQwzB,WAAW,GAAG2Q,YACtBnkC,EAAQwzB,WAAW,GAAG2Q,WAAW,GAAG1uC,YACpCuK,EAAQwzB,WAAW,GAAG2Q,WAAW,GAAG1uC,WAAW,GAAGhiB,MAE3C,CAACusB,EAAQwzB,WAAW,GAAG2Q,WAAW,GAAG1uC,WAAW,GAAGhiB,OAEnD,MAIVszD,mBAAoBhqD,aAAO,CAC1BqhD,aAAc,SAACp+B,EAASnuB,GACvB,OAAImuB,EAAQ6hB,MAAQ7hB,EAAQ6hB,KAAK4iB,OAASzkC,EAAQ6hB,KAAK4iB,MAAM,GACrD,CAACzkC,EAAQ6hB,KAAK4iB,MAAM,GAAGhxD,OAEvB,MAIVuzD,gBAAiBjqD,aAAO,CACvBuhD,qBAAsB,SAAC3nD,EAAU9E,GAChC,MAAO,CAACA,EAAMtD,SAGhB04D,aAAclqD,cAAO,SAACpG,EAAU2pB,EAAM4mC,GACrC,OAD+CA,EAAN5xD,OAC1B4rD,YACd,IAAK,MACJ,MAAO,CACNhB,MAAO,KACPC,SAAU,KACV3M,WAAY,KACZ3R,KAAM,KACNgN,QAAS,KACTyR,cAAe,KACfE,aAAc,KACdJ,MAAO,KACPC,iBAAkB,KAClBxC,gBAAiB,KACjBE,aAAc,KACdC,wBAAyB,KACzBE,oBAAqB,KACrBS,iBAAkB,KAClBzO,gBAAiB,GACjBkO,aAAc,GACdE,qBAAsB,CAAC,oBACvBG,mBAAoB,GACpBF,qBAAsB,QACtBO,kBAAmB,SACnBE,sBAAsB,EACtBE,gBAAiB,GACjBtvD,OAAQ,MAEV,IAAK,OACJ,MAAO,CACNuwD,SAAU,KACV3M,WAAY,KACZ3R,KAAM,KACNgN,QAAS,KACTyR,cAAe,KACfE,aAAc,KACdJ,MAAO,KACPC,iBAAkB,KAClBxC,gBAAiB,KACjBE,aAAc,KACdC,wBAAyB,KACzBE,oBAAqB,KACrBS,iBAAkB,KAClBzO,gBAAiB,GACjBkO,aAAc,GACdE,qBAAsB,CAAC,oBACvBG,mBAAoB,GACpBF,qBAAsB,QACtBO,kBAAmB,SACnBE,sBAAsB,EACtBE,gBAAiB,GACjBtvD,OAAQ,KACR+wD,YAAa,MAEf,IAAK,UACJ,MAAO,CACNnN,WAAY,KACZ3R,KAAM,KACNgN,QAAS,KACTyR,cAAe,KACfE,aAAc,KACdJ,MAAO,KACPC,iBAAkB,KAClBtC,aAAc,KACdC,wBAAyB,KACzBE,oBAAqB,KACrBS,iBAAkB,KAClBzO,gBAAiB,GACjBkO,aAAc,GACdE,qBAAsB,CAAC,oBACvBG,mBAAoB,GACpBF,qBAAsB,QACtBO,kBAAmB,SACnBE,sBAAsB,EACtBE,gBAAiB,GACjBtvD,OAAQ,KACR+wD,YAAa,MAEf,IAAK,OACJ,MAAO,CACNnN,WAAY,KACZ3R,KAAM,KACNgN,QAAS,KACTyR,cAAe,KACfE,aAAc,KACdH,iBAAkB,KAClBrC,wBAAyB,KACzBE,oBAAqB,KACrBS,iBAAkB,KAClBzO,gBAAiB,GACjBkO,aAAc,GACdE,qBAAsB,CAAC,oBACvBG,mBAAoB,GACpBF,qBAAsB,QACtBO,kBAAmB,SACnBE,sBAAsB,EACtB2B,YAAa,MAEf,IAAK,kBACJ,MAAO,CACNnN,WAAY,KACZ3R,KAAM,KACNgN,QAAS,KACTyR,cAAe,KACfE,aAAc,KACdtC,oBAAqB,KACrBS,iBAAkB,KAClBzO,gBAAiB,GACjBkO,aAAc,GACdE,qBAAsB,CAAC,oBACvBG,mBAAoB,GACpBF,qBAAsB,QACtBO,kBAAmB,SACnBE,sBAAsB,EACtB2B,YAAa,MAEf,IAAK,aACJ,MAAO,CACNzC,oBAAqB,KACrBS,iBAAkB,KAClBP,aAAc,GACdE,qBAAsB,CAAC,oBACvBG,mBAAoB,GACpBvO,gBAAiB,IAEnB,QACC,MAAO,OAIViX,oBAAqBpqD,cAAO,SAACijB,EAASM,GACrC,IAAA8mC,EAiBIhqD,iBAAMlG,OAAOC,SAASuD,QAhBzBsoC,EAAIokB,EAAJpkB,KACA8a,EAAOsJ,EAAPtJ,QACAtnC,EAAI4wC,EAAJ5wC,KACAynC,EAAemJ,EAAfnJ,gBACAE,EAAWiJ,EAAXjJ,YACAS,EAAQwI,EAARxI,SACAP,EAAI+I,EAAJ/I,KACAG,EAAY4I,EAAZ5I,aACAE,EAAK0I,EAAL1I,MACAG,EAAYuI,EAAZvI,aACAljC,EAASyrC,EAATzrC,UACAojC,EAAYqI,EAAZrI,aACAxG,EAAO6O,EAAP7O,QACO8O,EAASD,EAAhB3nC,MACA4D,EAAK+jC,EAAL/jC,MACAvnB,EAAMsrD,EAANtrD,OAGD,OAAAwB,wBAAA,GACI0iB,GAAO,IACV49B,aAAe5a,GAAmB,KAClC6a,gBAAkBC,GAAsB,KACxCC,aAAevnC,GAAmB,KAClCwnC,wBAA0BC,GAA8B,KACxDC,oBAAsBC,GAA0B,KAChDQ,iBAAmBC,GAAuB,KAC1CR,aACE/iD,MAAMC,QAAQ+iD,IAAUA,GACR,kBAATA,GAAsB,CAACA,IAC/B,GACDC,qBACEjjD,MAAMC,QAAQkjD,IAAkBA,GACR,kBAAjBA,GACN,CAACA,IACH,GACDC,mBACEpjD,MAAMC,QAAQojD,IAAWA,GACR,kBAAVA,GAAuB,CAACA,IAChC,GACDxO,gBACE70C,MAAMC,QAAQQ,IAAYA,GACR,kBAAXA,GAAwB,CAACA,IACjC,GACDyiD,qBAAuBM,GAAkC,QACzDC,kBAAoBnjC,GAA4B,SAChDqjC,qBAAuC,SAAjBD,IAA2B,EACjDE,MAAQ1G,GAAsB,KAC9B2G,gBACCx7C,SAAS2jD,EAAqB,KAAOrnC,EAAQ0gC,aAC9CD,cAAe/8C,SAAS2f,EAAiB,KAAO,OAIlD81B,UAAW,SAACn5B,EAASM,GAChBN,EAAQ04B,QACX14B,EAAQ04B,OAAO/0C,QAAQg6C,GAAc39B,KAGvCsnC,kBAAmB,SAACtnC,EAASM,IAvoCH,WACxBm9B,IACHA,GAAkB8J,SAGnB,IAAM7J,EAAc3mD,IAAM2mD,YAC1BD,GAAoBC,EAAYxoC,SAkoC7BsyC,IAEDC,iBAAkB,SAACznC,EAASM,GAC3B,IAAI+T,EAAU,GAEd,OAAQ/T,EAAO7sB,OACd,IAAK,MACL,IAAK,QAEH4gC,EADoB,QAAjB/T,EAAO7sB,MACH,GAAAqD,OAAMkpB,EAAQ/pB,OAAM,eAAAa,OAAc6mD,GAAc39B,IAEhD,GAAAlpB,OAAMkpB,EAAQ/pB,OAAM,iBAAAa,OAAgB6mD,GAC1C39B,IAGFoB,GAAgBiT,GAChB,MACD,IAAK,MACJ3S,GAAqBpB,EAAO5B,SAAU,iBACtC,MACD,IAAK,MACL,IAAK,OACJgD,GAAqBpB,EAAO5B,SAAS,SAAD5nB,OAAWwpB,EAAO7sB,aCx8B7Ci0D,GAhMgC,SAAH9xD,GAMrC,IALNrH,EAAIqH,EAAJrH,KACAomB,EAAW/e,EAAX+e,YACA2N,EAAI1sB,EAAJ0sB,KACA5D,EAAQ9oB,EAAR8oB,SAAQipC,EAAA/xD,EACRs+B,iBAAS,IAAAyzB,GAAQA,EAGhB3rC,EAOGztB,EAPHytB,WACAC,EAMG1tB,EANH0tB,iBACAK,EAKG/tB,EALH+tB,gBACAT,EAIGttB,EAJHstB,qBACAC,EAGGvtB,EAHHutB,mBACAC,EAEGxtB,EAFHwtB,mBACAQ,EACGhuB,EADHguB,OAGDzU,EAA8BC,mBAAkBxZ,EAAKiuB,SAAQxU,EAAAC,aAAAH,EAAA,GAAtD0U,EAAOxU,EAAA,GAAE4/C,EAAU5/C,EAAA,GAC1BG,EAAkCJ,mBAASxZ,EAAKotB,WAAUvT,EAAAH,aAAAE,EAAA,GAAnDwT,EAASvT,EAAA,GAAEy/C,EAAYz/C,EAAA,GAM9B,OAJA+F,qBAAU,WACT05C,EAAat5D,EAAKotB,aAChB,CAACptB,EAAKotB,YAGRhnB,IAAAxD,cAAA,OAAK2O,UAAU,UACZo0B,GACDv/B,IAAAxD,cAACstB,GAAU,CACV9C,UAAWA,EACXa,QAASA,EAAUjuB,EAAKiuB,QAAU,KAClCX,qBAAsBA,EACtBC,mBAAoBA,EACpBC,mBAAoBA,EACpBC,WAAYA,GAAc,GAC1BC,iBAAkBA,GAAoB,eACtCK,gBAAiBA,EACjBC,OAAQA,EACR5H,YAAaA,EACb+J,SAAUA,EACVE,aAAa,KAGC,QAAdjD,GAAqC,WAAdA,IACxBhnB,IAAAxD,cAAA,QAAM2O,UAAU,uBACfnL,IAAAxD,cAAA,gBACCwD,IAAAxD,cAAA,UAAQ2O,UAAU,kBAAiB,cACnCnL,IAAAxD,cAAC0lD,MAAe,CACftsC,GAAG,oBACHhY,KAAK,aACLkB,MAAM,SACNqM,UAAU,OACV0vC,QAAuB,WAAd7zB,EACTjS,SAAU,SAACjZ,GACVo3D,EAAap3D,EAAE4B,OAAOoB,QAMvB+G,MAAM,QACN,cAGD7F,IAAAxD,cAAC0lD,MAAe,CACftsC,GAAG,iBACHhY,KAAK,aACLkB,MAAM,MACNqM,UAAU,OACV0vC,QAAuB,QAAd7zB,EACTjS,SAAU,SAACjZ,GACVo3D,EAAap3D,EAAE4B,OAAOoB,QAMvB+G,MAAM,QACN,aAIF7F,IAAAxD,cAAA,gBACCwD,IAAAxD,cAAA,UAAQ2O,UAAU,kBAAiB,YACnCnL,IAAAxD,cAAC0lD,MAAe,CACftsC,GAAG,oBACHhY,KAAK,cACLkB,MAAM,OACNqM,UAAU,OACV0vC,SAAUhzB,EACV9S,SAAU,WACT4Y,EAAK,uBACLslC,GAAW,IAEZptD,MAAM,QACN,cAGD7F,IAAAxD,cAAC0lD,MAAe,CACftsC,GAAG,mBACHhY,KAAK,cACLkB,MAAM,SACNqM,UAAU,OACV0vC,QAAShzB,EACT9S,SAAU,WACT4Y,EAAK,qBACLslC,GAAW,IAEZptD,MAAM,QACN,eCiHQstD,GArM4B,SAAHlyD,GAgBjC,IAfNwQ,EAAKxQ,EAALwQ,MAEA2hD,GADkBnyD,EAAlBuf,mBACkBvf,EAAlBmyD,oBACAC,EAAgBpyD,EAAhBoyD,iBACAC,EAAiBryD,EAAjBqyD,kBACA/R,EAAiBtgD,EAAjBsgD,kBACA/d,EAAOviC,EAAPuiC,QACA+vB,EAAMtyD,EAANsyD,OACA39C,EAAE3U,EAAF2U,GACAzK,EAASlK,EAATkK,UACA63B,EAAQ/hC,EAAR+hC,SACAgoB,EAAY/pD,EAAZ+pD,aACAjQ,EAAe95C,EAAf85C,gBACAptB,EAAI1sB,EAAJ0sB,KACA1iB,EAAQhK,EAARgK,SAEM83B,EAAa/uB,mBACnBb,EAA4CC,oBAAS,GAAMC,EAAAC,aAAAH,EAAA,GAApDqgD,EAAcngD,EAAA,GAAEogD,EAAiBpgD,EAAA,GAExCG,EAAoCJ,oBAAS,GAAMK,EAAAH,aAAAE,EAAA,GAA5CkgD,EAAUjgD,EAAA,GACjBG,GADgCH,EAAA,GACNL,mBAAS43C,IAAan3C,EAAAP,aAAAM,EAAA,GAAzCkX,EAAKjX,EAAA,GAAE2sC,EAAQ3sC,EAAA,GAEtBqR,EAA0B9R,mBAAS,IAAG+R,EAAA7R,aAAA4R,EAAA,GAA/B5Q,EAAK6Q,EAAA,GAAEwuC,EAAQxuC,EAAA,GAEtBmH,aAAgByW,GAAY,WAC3B0wB,GAAkB,MAGnB,IAAMG,EAAeJ,EAClB,2EACA,gCAEGK,EAAgB,WACrBlmC,EAAK,gBAAiB,CACrBxmB,OAAQsK,EACRw5C,WAAY32C,EACZ02C,aAAcA,IAEfxK,EAASwK,IAsBV,OAVAxxC,qBAAU,WACTq6C,MACE,IAEHr6C,qBAAU,YACJlF,GAASA,EAAMla,QAAU,GAAMs5D,IACnCG,MAEC,CAACv/C,IAGHtU,IAAAxD,cAAA,OACCoa,IAAKmsB,EACL53B,UAAWoM,aAAK,gCAAiCpM,IAEjDnL,IAAAxD,cAAA,OACC2O,UAAWoM,aACV,qDACAi8C,EAAiB,iBAAmB,YACpCI,IAGAJ,GACAxzD,IAAAxD,cAAA,OAAK2O,UAAU,mBACdnL,IAAAxD,cAAA,SAAO2O,UAAU,UAAUqK,QAASI,GAClCnE,GAEFzR,IAAAxD,cAAA,SACCgB,KAAK,OACLoY,GAAIA,EACJhY,KAAMgY,EACN6Y,YAAa8yB,EACb/d,QAASA,EACT+vB,OAAQA,EACR38C,IAAKosB,EACLlkC,MAAOwV,EACPS,SAAU,SAACjZ,GAAM,OAAK63D,EAAS73D,EAAE4B,OAAOoB,QACxCg1D,WAAY,SAACh4D,GAAM,MAAe,UAAVA,EAAEsD,KAAmBy0D,KAC7C1oD,UAAWoM,aACV,SACA,YACA,OACA,SACA,OACA,OACA,WACA,yCACA,UACA,iBACA,qBACA,0BACA,8BACA,yBACA,0BACA,WAGFvX,IAAAxD,cAAA,UACC2O,UAAU,0CACV3N,KAAK,SACL2d,WAAS,oBACTwE,QAAS,kBAAMk0C,KACfj+C,GAAIA,GAEJ5V,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,OAAO8nC,QAAQ,gBACtBoW,GAEFtzD,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLnM,KAAM,KACNsM,eAAa,EACbF,MAAM,WAEE,KAIZvW,IAAAxD,cAAA,UACCmjB,QAAS,kBAAM8zC,GAAkB,SAACt4B,GAAO,OAAMA,MAC/C3O,gBAAegnC,EACfjnC,gBAAA,GAAApqB,OAAkByT,EAAE,aACpBpY,KAAK,SACL2N,UAAWoM,aACV,oBACAi8C,EACG,2BACA,4BAGFA,GACDxzD,IAAAxD,cAAA,QAAM2O,UAAU,6DACdsG,GAGFspC,EAAkB,GAClB/6C,IAAAxD,cAAA,QAAM2O,UAAU,wFACd4vC,GAGH/6C,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,OAAO8nC,QAAQ,gBACtBsW,EAAiBJ,EAAqBC,GAExCrzD,IAAAxD,cAAA,YACCwD,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLC,MAAM,UACNpM,KAAM,IACNsM,cAAY,OACZgJ,UAAY+zC,EAAwB,OAAP,UAMjCxzD,IAAAxD,cAAA,OACCi/B,QAAS+3B,EACT59C,GAAE,GAAAzT,OAAKyT,EAAE,aACTzK,UAAU,iCAEVnL,IAAAxD,cAAA,OAAK2O,UAAU,+FACbF,EAEDjL,IAAAxD,cAAA,OAAK2O,UAAU,mDACdnL,IAAAxD,cAAC2Z,KAAM,CACNhM,KAAK,QACLuM,QAAQ,YACRiJ,QAAS,SAAC7jB,GAAC,OAtIhB6xB,EAAK,wBAAyB,CAC7BxmB,OAAQsK,EACRw5C,WAAY32C,EACZ02C,aAAclgC,EAAQ,UAEvB01B,EAAS11B,EAAQ,MAkIZ,YAEA9qB,IAAAxD,cAAA,QAAM2O,UAAU,QACfnL,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLC,MAAM,UACNE,cAAY,OACZgJ,UAAU,KACVtV,KAAM,a,4CCjLA4pD,GA3CwC,SAAH9yD,GAO7C,IANNmN,EAAInN,EAAJmN,KAEA2G,EAAQ9T,EAAR8T,SAEAi/C,GADM/yD,EAANoX,OACSpX,EAAT+yD,WACGltC,EAAKzb,aAAApK,EAAAqK,IAER6H,EAA8BC,mBAAS4gD,EAAU5lD,IAAMiF,EAAAC,aAAAH,EAAA,GAAhD0nC,EAAOxnC,EAAA,GAAE4gD,EAAU5gD,EAAA,GAW1B,OAJAmG,qBAAU,WACTy6C,EAAWD,EAAU5lD,MACnB,CAACA,IAGHpO,IAAAxD,cAAA,MAAI2O,UAAU,0DACbnL,IAAAxD,cAAA,OAAK2O,UAAU,qCACdnL,IAAAxD,cAAA,SAAO2O,UAAU,oBAAoBqK,QAASpH,EAAKwH,IAClD5V,IAAAxD,cAAA,QAAAnC,OAAA+N,OAAA,CACC5K,KAAK,WACLoY,GAAIxH,EAAKwH,GACThY,KAAMwQ,EAAKxQ,KACXkB,MAAOsP,EAAKtP,MACZ+7C,QAASA,EACT1vC,UAAU,wBACV4J,SApBkB,SAACjZ,GACvBm4D,GAAYpZ,GACZ9lC,EAASjZ,IAmBLsa,SAAUhI,EAAKgI,UACX0Q,IAEL9mB,IAAAxD,cAAA,OAAK2O,UAAU,8LACb0vC,GAAW76C,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,QAAQnM,KAAM,QAErCiE,EAAKiH,SCpBL6+C,GAAuB,CAC5B,CAAEp1D,MAAO,MAAOoX,QAAS,YACzB,CAAEpX,MAAO,MAAOoX,QAAS,YACzB,CAAEpX,MAAO,OAAQoX,QAAS,cAGrBi+C,GAAqB,CAC1B,CAAEr1D,MAAO,MAAOoX,QAAS,YACzB,CAAEpX,MAAO,QAASoX,QAAS,eAGtBk+C,GACI,UADJA,GAEO,cAFPA,GAGc,yBAHdA,GAIQ,SAJRA,GAKU,UAiFVC,GAAoB,SACzBv4D,EACAw4D,EACAC,GAEA,IAAA9gB,EAA0B33C,EAAE4B,OAApBF,EAAIi2C,EAAJj2C,KAAMq9C,EAAOpH,EAAPoH,QAiBVt4C,OAAOqW,WAAarW,OAAOqW,UAAUle,MACxC6H,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,6BACPo3D,cAAeA,EACfC,aAAcA,EACdC,aApBsB,WACvB,OAAQh3D,GACP,IAAK,QACJ,MAAO,YACR,IAAK,WACJ,OAAIq9C,EACI,YAEA,WAYK4Z,MAk1CFC,GA50CoB,WAAO,IAADC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAClC5zD,EAAUuW,eACV6Q,EAAW/V,iBAAY,MAC7BwZ,EAAwBC,aAAW29B,GAAyB,CAC3D//B,QAAS,CACR/pB,OAAQ,iDAIRyiD,OAAQphD,EACRopD,aAAc,IAEfyK,UAAU,IACT9oC,EAAApa,aAAAka,EAAA,GAVK5Y,EAAO8Y,EAAA,GAAEC,EAAID,EAAA,GAWd+oC,EAAeziD,iBAAuB,MACtC0iD,EAAe1iD,iBAAuB,MAC5Cb,EAAoDC,oBAAkB,GAAMC,EAAAC,aAAAH,EAAA,GAArEwjD,EAAkBtjD,EAAA,GAAEujD,EAAqBvjD,EAAA,GAC1CiuB,EAAWvK,KAEX8/B,EAAgB,WACjBJ,EAAa7hD,SAAW8hD,EAAa9hD,SACxCrS,OAAOiwC,SAAS,CACf3hC,IAAK4lD,EAAa7hD,QAAQ29B,UAAYmkB,EAAa9hD,QAAQkiD,aAC3DrkB,SAAU,YAKPskB,EAAoB,SACzB9gD,GAAkB,IAClB4kC,EAAgBv3C,UAAAlJ,OAAA,QAAA0D,IAAAwF,UAAA,IAAAA,UAAA,GAChByR,EAAazR,UAAAlJ,OAAA,EAAAkJ,UAAA,QAAAxF,EAAA,OAEbkC,IAAAxD,cAAC0lD,MAAe,CACftsC,GAAIK,EAAOL,GACXxW,IAAK6W,EAAOL,GACZhY,KAAMqY,EAAOrY,KACbkB,MAAOmX,EAAOnX,MACd+7C,QAASA,EACT1vC,UAAU,OACV4J,SAAUA,EACVlP,MAAM,QAEN7F,IAAAxD,cAAA,YACEyZ,EAAOZ,KACPY,EAAO3I,aACPtN,IAAAxD,cAACkZ,MAAO,CACPvK,UAAU,wCACVsG,MAAK,kBAAAtP,OAAoB8T,EAAOZ,MAChC/H,YAAa2I,EAAO3I,YACpBoE,SAAU4vB,EAAW,SAAW,QAChCzhB,qBAAoBu0C,QAOnBhnC,EAAmB,SAAC4pC,GACzB,IAM+CC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAN3ClzC,EACsC,UAAzCxP,EAAQyW,QAAQu+B,sBACyB,gBAAzCh1C,EAAQyW,QAAQu+B,qBAAsC,WAAAznD,OACxCyS,EAAQyW,QAAQu+B,sBAAoB,YAAAznD,OACnCyS,EAAQyW,QAAQ8+B,mBAE5B5nD,OAAOqW,WAAarW,OAAOqW,UAAUle,MACxC6H,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,6BACPknB,OAAQA,EACR4yC,aAAcA,EACdO,WAAW,uBAADp1D,OAAsByS,EAAQyW,QAAQ49B,cAChDuO,WAAW,qBAADr1D,OAAuByS,EAAQyW,QAAQ69B,iBACjDuO,WAAW,aAADt1D,OAAeyS,EAAQyW,QAAQ+9B,cACzCsO,WAAW,oBAADv1D,OAAsByS,EAAQyW,QAAQg+B,yBAChDsO,WAAW,mBAADx1D,OAA4B,OAAPyS,QAAO,IAAPA,GAAgB,QAATqiD,EAAPriD,EAASyW,eAAO,IAAA4rC,GAAoB,QAApBC,EAAhBD,EAAkBnN,0BAAkB,IAAAoN,GACtC,QADsCC,EAApCD,EAC5B3vD,KAAI,SAACwiD,GAAK,SAAA5nD,OAAQ4nD,aAAQ,IAAAoN,OADS,EAAPA,EAE5B1vD,KAAK,OACRmwD,WAAW,eAADz1D,QACoB,QAA5Bi1D,EAAAxiD,EAAQyW,QAAQo+B,oBAAY,IAAA2N,OAAA,EAA5BA,EAA8Bh9D,QAAS,IACX,QAA5Bi9D,EAAAziD,EAAQyW,QAAQo+B,oBAAY,IAAA4N,GAA0B,QAA1BC,EAA5BD,EAA8B9vD,KAAI,SAACmiD,GAAI,SAAAvnD,OAAQunD,aAAO,IAAA4N,OAA1B,EAA5BA,EAAwD7vD,KAAK,OAAK,KAEnE,GAAE,KAAAtF,OACCyS,EAAQyW,QAAQs+B,sBACpBkO,WAAW,YAAD11D,OAAWyS,EAAQyW,QAAQk+B,wBAKlCuO,EAAW,SAAXA,IACL,GAAIrB,EAAa7hD,SAAWrS,QAE1BA,OAAOw1D,YAAcx1D,OAAOy1D,aAC5BvB,EAAa7hD,QAAQ29B,UACgB,IAApCkkB,EAAa7hD,QAAQkiD,aACrB,CACD,IAM+CmB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAN3Cl0C,EACsC,UAAzCxP,EAAQyW,QAAQu+B,sBACyB,gBAAzCh1C,EAAQyW,QAAQu+B,qBAAsC,WAAAznD,OACxCyS,EAAQyW,QAAQu+B,sBAAoB,YAAAznD,OACnCyS,EAAQyW,QAAQ8+B,mBAEhC,GAAI5nD,OAAOqW,WAAarW,OAAOqW,UAAUle,KACxC6H,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,2BACPknB,OAAQA,EACRmzC,WAAW,uBAADp1D,OAAsByS,EAAQyW,QAAQ49B,cAChDuO,WAAW,qBAADr1D,OAAuByS,EAAQyW,QAAQ69B,iBACjDuO,WAAW,aAADt1D,OAAeyS,EAAQyW,QAAQ+9B,cACzCsO,WAAW,oBAADv1D,OAAsByS,EAAQyW,QAAQg+B,yBAChDsO,WAAW,mBAADx1D,OAA4B,OAAPyS,QAAO,IAAPA,GAAgB,QAATqjD,EAAPrjD,EAASyW,eAAO,IAAA4sC,GAAoB,QAApBC,EAAhBD,EAAkBnO,0BAAkB,IAAAoO,GACtC,QADsCC,EAApCD,EAC5B3wD,KAAI,SAACwiD,GAAK,SAAA5nD,OAAQ4nD,aAAQ,IAAAoO,OADS,EAAPA,EAE5B1wD,KAAK,OACRmwD,WAAW,eAADz1D,QACoB,QAA5Bi2D,EAAAxjD,EAAQyW,QAAQo+B,oBAAY,IAAA2O,OAAA,EAA5BA,EAA8Bh+D,QAAS,IACX,QAA5Bi+D,EAAAzjD,EAAQyW,QAAQo+B,oBAAY,IAAA4O,GACD,QADCC,EAA5BD,EACG9wD,KAAI,SAACmiD,GAAI,SAAAvnD,OAAQunD,aAAO,IAAA4O,OADC,EAA5BA,EAEG7wD,KAAK,OAAK,KACd,GAAE,KAAAtF,OACCyS,EAAQyW,QAAQs+B,sBACpBkO,WAAW,YAAD11D,OAAWyS,EAAQyW,QAAQk+B,uBAInChnD,QACHA,OAAOsX,oBAAoB,SAAUi+C,KA8CzC,OAxCAt+C,qBAAU,WACTmU,EAAK,gBAIH,IAEHnU,qBAAU,WACT,GAAI5E,EAAQyW,QAAQpwB,QACfw7D,EAAa7hD,QAKhB,OAJIrS,QACHA,OAAOqX,iBAAiB,SAAUk+C,GAG5B,WACFv1D,QACHA,OAAOsX,oBAAoB,SAAUi+C,MAKvC,CAACljD,EAAQyW,QAAQpwB,SAEpBue,qBAAU,WAAO,IAAD++C,EACf,IAA+B,QAA/BA,EAAI3jD,EAAQyW,QAAQ2gC,mBAAW,IAAAuM,OAAA,EAA3BA,EAA6B56D,UAC5B4E,OAAOqW,WAAarW,OAAOqW,UAAUle,KAAM,CAC9C,IAAI0pB,EACsC,UAAzCxP,EAAQyW,QAAQu+B,sBACyB,gBAAzCh1C,EAAQyW,QAAQu+B,qBACb,SACA,UACJrnD,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,yBACPK,UAAWqX,EAAQyW,QAAQ2gC,YAAYruD,QACvCymB,OAAQA,OAIT,CAA4B,QAA5BuwC,EAAC//C,EAAQyW,QAAQ2gC,mBAAW,IAAA2I,OAAA,EAA3BA,EAA6Bh3D,UAGhCqC,IAAAxD,cAAA,WACCwD,IAAAxD,cAAC23B,KAAI,CAACvjB,QAAQ,EAAOY,SAAS,EAAOrG,UAAU,gBAC9CnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIrpB,UAAU,qCACzBnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,MAAK,kBAEZR,EAAQ4hB,QAAQ,eAChBx2B,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLnM,KAAM,EACNqM,QAAQ,OACRD,MAAM,UACNpL,UAAU,uBAIbnL,IAAAxD,cAAA,OACC2O,UAAWoM,aACV,0EACC3C,EAAQyW,QAAQ49B,cAAgB,cAGlCjpD,IAAAxD,cAACs9B,KAAgB,CAChBt8B,KAAK,SACLkZ,QAAQ,UACRiJ,QAAS,WACRgO,EAAK,cAEN9N,qBAAoBu0C,IACpB,cAEAp0D,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,WAAWG,eAAa,EAAMtL,UAAU,mBAMvDnL,IAAAxD,cAAA,WACCwD,IAAAxD,cAAC23B,KAAI,CAACvjB,QAAQ,EAAOY,SAAS,EAAOrG,UAAU,gBAC9CnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,IACXx0B,IAAAxD,cAAA,OACC2O,UAAWoM,aACV,oEACC3C,EAAQyW,QAAQkgC,OAAS,eAG3BvrD,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,MAAK,qBAEbpV,IAAAxD,cAAA,QAAM2O,UAAU,oCAAmC,mBAGnDnL,IAAAxD,cAACkZ,MAAO,CACPvK,UAAU,sBACVsG,MAAM,oCACNnE,YAAY,+GACZoE,SAAU4vB,EAAW,OAAS,SAC9BzhB,qBAAoBu0C,KAEpBx/C,EAAQ4hB,QAAQ,iBAChBx2B,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLnM,KAAM,EACNqM,QAAQ,OACRD,MAAM,UACNpL,UAAU,uBAIbnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAI,kCACZR,EAAQyW,QAAQkgC,OAChBvrD,IAAAxD,cAAA,QAAM2O,UAAU,QACfnL,IAAAxD,cAAA,YAAU2O,UAAU,uCAClByJ,EAAQyW,QAAQkgC,MAAMhkD,KAAI,SAAC0O,GAAM,OACjC8gD,EACC9gD,EACAA,EAAOnX,QAAU8V,EAAQyW,QAAQ49B,cACjC,SAACntD,GACA6xB,EAAK,CACJnwB,KAAM,cACN5D,KAAMkC,EAAE4B,OAAOoB,QAEhBu1D,GAAkBv4D,EAAG,qBAAmBma,EAAOZ,cA6BrDrV,IAAAxD,cAAA,OACC8+B,YAAU,SACV0Y,cAAY,OACZ7oC,UAAU,2BAETyJ,EAAQ4hB,QAAQ,iBAChBx2B,IAAAxD,cAACk/B,KAAK,CAAChlB,QAAQ,UACd1W,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,EAAOzF,UAAU,QACpCyJ,EAAQyW,QAAQruB,UAOtBgD,IAAAxD,cAAA,OACC2O,UAAWoM,aACV,oEACC3C,EAAQyW,QAAQmgC,UAAY,eAG9BxrD,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,MAAK,mBAEbpV,IAAAxD,cAAA,QAAM2O,UAAU,oCAAmC,mBAGnDnL,IAAAxD,cAACkZ,MAAO,CACPvK,UAAU,sBACVsG,MAAM,kCACNnE,YAAY,qJACZoE,SAAU4vB,EAAW,OAAS,SAC9BzhB,qBAAoBu0C,KAEpBx/C,EAAQ4hB,QAAQ,oBAChBx2B,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLnM,KAAM,EACNqM,QAAQ,OACRD,MAAM,UACNpL,UAAU,uBAIbnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAI,+BACZR,EAAQyW,QAAQmgC,UAChBxrD,IAAAxD,cAAA,QAAM2O,UAAU,QACfnL,IAAAxD,cAAA,YAAU2O,UAAU,uCAClByJ,EAAQyW,QAAQmgC,SAASjkD,KAAI,SAAC0O,GAAM,OACpC8gD,EACC9gD,EACAA,EAAOnX,QAAU8V,EAAQyW,QAAQ69B,iBACjC,SAACptD,GACA6xB,EAAK,CACJnwB,KAAM,iBACN5D,KAAMkC,EAAE4B,OAAOoB,QAEhBu1D,GAAkBv4D,EAAG,mBAAoBma,EAAOZ,cAOtDrV,IAAAxD,cAAA,OACC8+B,YAAU,SACV0Y,cAAY,OACZ7oC,UAAU,2BAETyJ,EAAQ4hB,QAAQ,cAChBx2B,IAAAxD,cAACk/B,KAAK,CAAChlB,QAAQ,UACd1W,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,EAAOzF,UAAU,QACpCyJ,EAAQyW,QAAQruB,UAOtBgD,IAAAxD,cAAA,OACC2O,UAAWoM,aACV,oEACC3C,EAAQyW,QAAQogC,OAAS,eAG3BzrD,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,MAAK,WAEbpV,IAAAxD,cAAA,QAAM2O,UAAU,oCAAmC,mBAGnDnL,IAAAxD,cAACkZ,MAAO,CACPvK,UAAU,sBACVsG,MAAM,0BACNnE,YAAY,8GACZoE,SAAU,SACVmO,qBAAoBu0C,KAEpBx/C,EAAQ4hB,QAAQ,iBAChBx2B,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLnM,KAAM,EACNqM,QAAQ,OACRD,MAAM,UACNpL,UAAU,uBAIbnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAI,uBACZR,EAAQyW,QAAQogC,OAChBzrD,IAAAxD,cAAA,QAAM2O,UAAU,QACfnL,IAAAxD,cAAA,YAAU2O,UAAU,uCAClByJ,EAAQyW,QAAQogC,MAAMlkD,KAAI,SAAC0O,GAAM,OACjC8gD,EACC9gD,EACAA,EAAOnX,QAAU8V,EAAQyW,QAAQ+9B,cACjC,SAACttD,GACA6xB,EAAK,CACJnwB,KAAM,cACN5D,KAAMkC,EAAE4B,OAAOoB,QAEhBu1D,GAAkBv4D,EAAG,WAAYma,EAAOZ,cAO9CrV,IAAAxD,cAAA,OACC8+B,YAAU,SACV0Y,cAAY,OACZ7oC,UAAU,2BAETyJ,EAAQ4hB,QAAQ,yBAChBx2B,IAAAxD,cAACk/B,KAAK,CAAChlB,QAAQ,UACd1W,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,EAAOzF,UAAU,QACpCyJ,EAAQyW,QAAQruB,UAMtBgD,IAAAxD,cAAA,OACC2O,UAAWoM,aACV,oEACC3C,EAAQyW,QAAQqgC,kBAAoB,WAGtC1rD,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,MAAK,kBAEbpV,IAAAxD,cAAA,QAAM2O,UAAU,oCAAmC,mBAGnDnL,IAAAxD,cAACkZ,MAAO,CACPvK,UAAU,sBACVsG,MAAM,iCACNnE,YAAY,qHACZoE,SAAU4vB,EAAW,OAAS,QAC9BzhB,qBAAoBu0C,KAEpBx/C,EAAQ4hB,QAAQ,4BAChBx2B,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLnM,KAAM,EACNqM,QAAQ,OACRD,MAAM,UACNpL,UAAU,uBAIbnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAI,oDACZR,EAAQyW,QAAQqgC,kBAChB1rD,IAAAxD,cAAA,QAAM2O,UAAU,QACfnL,IAAAxD,cAAA,YAAU2O,UAAU,uCAClByJ,EAAQyW,QAAQqgC,iBAAiBnkD,KAAI,SAAC0O,GAAM,OAC5C8gD,EACC9gD,EACAA,EAAOnX,QACN8V,EAAQyW,QAAQg+B,yBACjB,SAACvtD,GACA6xB,EAAK,CACJnwB,KAAM,0BACN5D,KAAMkC,EAAE4B,OAAOoB,QAEhBu1D,GAAkBv4D,EAAG,kBAAmBma,EAAOZ,eASd,KAAb,QAA1Bu/C,EAAAhgD,EAAQyW,QAAQwzB,kBAAU,IAAA+V,OAAA,EAA1BA,EAA4Bx6D,SACwB,KAAb,QAAxCy6D,EAAAjgD,EAAQyW,QAAQwzB,WAAW,GAAG2Q,kBAAU,IAAAqF,OAAA,EAAxCA,EAA0Cz6D,UACb,QAA7B06D,EAAAlgD,EAAQyW,QAAQwzB,WAAW,UAAE,IAAAiW,GAAe,QAAfC,EAA7BD,EAA+BtF,WAAW,UAAE,IAAAuF,GAAY,QAAZC,EAA5CD,EAA8Cj0C,kBAAU,IAAAk0C,OAA3B,EAA7BA,EAA0D56D,QACzD,EACA4F,IAAAxD,cAAA,OACC2O,UAAWoM,aACV,oEACC3C,EAAQyW,QAAQwzB,YAAc,WAGhC7+C,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,MACsB,QADlB6/C,EACXrgD,EAAQyW,QAAQwzB,WAAW,UAAE,IAAAoW,OAAA,EAA7BA,EAA+BzF,WAAW,GAAGr9C,QAC9CnS,IAAAxD,cAAA,QAAM2O,UAAU,oCAAmC,oBAGrB,QAA7B+pD,EAAAtgD,EAAQyW,QAAQwzB,WAAW,UAAE,IAAAqW,OAAA,EAA7BA,EAA+B1F,WAAW,GAAGliD,cAC7CtN,IAAAxD,cAACkZ,MAAO,CACPvK,UAAU,sBACVsG,MAAK,kBAAAtP,OAAiD,QAAjDgzD,EAAoBvgD,EAAQyW,QAAQwzB,WAAW,UAAE,IAAAsW,OAAA,EAA7BA,EAA+B3F,WAAW,GAAGr9C,SACtE7E,YAC8B,QADnB8nD,EACVxgD,EAAQyW,QAAQwzB,WAAW,UAAE,IAAAuW,OAAA,EAA7BA,EAA+B5F,WAAW,GAAGliD,YAE9CoE,SAAS,QACTmO,qBAAoBu0C,KAGrBx/C,EAAQ4hB,QAAQ,6BAChBx2B,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLnM,KAAM,EACNqM,QAAQ,OACRD,MAAM,UACNpL,UAAU,uBAIbnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KACsB,QADnBigD,EACVzgD,EAAQyW,QAAQwzB,WAAW,UAAE,IAAAwW,OAAA,EAA7BA,EAA+B7F,WAAW,GAAGn6C,MAE9CT,EAAQyW,QAAQwzB,WAAW,GAAG2Q,WAAW,GAAG1uC,YAC5C9gB,IAAAxD,cAAA,QAAM2O,UAAU,QACfnL,IAAAxD,cAAA,YAAU2O,UAAU,kBAEN,IADZyJ,EAAQyW,QAAQwzB,WAAW,GAAG2Q,WAAW,GAAG1uC,WAC3C1mB,OACCwa,EAAQyW,QAAQwzB,WAAW,GAAG2Q,WAAW,GAAG1uC,WAAWvZ,KACvD,SAAC0O,GAAM,OACN8gD,EACC9gD,EACAA,EAAOnX,QACN8V,EAAQyW,QAAQy+B,mBAAmB,IACpC,SAAChuD,GACA6xB,EAAK,CACJnwB,KAAM1B,EAAE4B,OAAOm9C,QACZ,gBACA,mBACHjhD,KAAMkC,EAAE4B,OAAOoB,cAKnB8V,EAAQyW,QAAQwzB,WAAW,GAAG2Q,WAAW,GAAG1uC,WAAWvZ,KACvD,SAAC0O,GAAM,OACNjW,IAAAxD,cAACg8D,KAAY,CACZ5iD,GAAIK,EAAOL,GACXxW,IAAK6W,EAAOL,GACZhY,KAAMqY,EAAOrY,KACbkB,MAAOmX,EAAOnX,MACd+7C,SAGQ,IAFPjmC,EAAQyW,QAAQy+B,mBAAmBx0C,QAClCW,EAAOnX,OAGT+G,MAAM,OACNsF,UAAU,OACV4J,SAAU,SAACjZ,GAAY,IAAD28D,EAAAC,EACrB/qC,EAAK,CACJnwB,KAAM1B,EAAE4B,OAAOm9C,QACZ,gBACA,mBACHjhD,KAAMkC,EAAE4B,OAAOoB,QAGf8V,EAAQyW,QAAQwzB,YAChBjqC,EAAQyW,QAAQwzB,WAAW,GAAG2Q,aACD,QADWiJ,EACxC7jD,EAAQyW,QAAQwzB,WAAW,UAAE,IAAA4Z,OAAA,EAA7BA,EAA+BjJ,WAAW,GACxCr9C,UAEFkiD,GACCv4D,EAC6B,QAD5B48D,EACD9jD,EAAQyW,QAAQwzB,WAAW,UAAE,IAAA6Z,OAAA,EAA7BA,EACGlJ,WAAW,GAAGr9C,QACjB8D,EAAOZ,QAIVrV,IAAAxD,cAAA,YACEyZ,EAAOZ,KACPY,EAAO3I,aACPtN,IAAAxD,cAACkZ,MAAO,CACPvK,UAAU,sBACVsG,MAAK,kBAAAtP,OAAoB8T,EAAOZ,MAChC/H,YAAa2I,EAAO3I,YACpBoE,SAAS,QACTmO,qBACCu0C,aAabp0D,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAA,OACC2O,UAAWoM,aACV,oEACC3C,EAAQyW,QAAQwzB,YAAc,WAGhC7+C,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,MAAK,iBAEbpV,IAAAxD,cAACkZ,MAAO,CACPvK,UAAU,sBACVsG,MAAM,iCACNnE,YAAY,0IACZoE,SAAS,QACTmO,qBAAoBu0C,KAEpBx/C,EAAQ4hB,QAAQ,6BAChBx2B,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLnM,KAAM,EACNqM,QAAQ,OACRD,MAAM,UACNpL,UAAU,uBAIbnL,IAAAxD,cAAC2Y,GAAI,CACJC,GAAG,IACHxE,QAAQ,EACRzF,UAAWoM,aAAK+pB,EAAW,OAAS,SAMnC,8DAGD1sB,EAAQyW,QAAQwzB,YAChB7+C,IAAAxD,cAAA,OACC2O,UAAWoM,aACV,eACA,0DAGDvX,IAAAxD,cAAA,UACCmjB,QAAS,kBACRi3C,GAAuBD,IAExBxrD,UAAWoM,aACVo/C,EACG,cACA,+BACH,wCAED92C,qBACC82C,EAAqB,mBAAkB,iBAGxC32D,IAAAxD,cAAA,YACEm6D,EACE,mBACA,iBAEJ32D,IAAAxD,cAAA,QAAM2O,UAAU,QACfnL,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLnM,KAAM,IACNsV,UAAWk3C,EAAqB,OAAS,KACzCpgD,MAAM,cAIRogD,GACA32D,IAAAxD,cAAC0X,KAAI,CACJ/I,UAAU,oEACV4J,SAAU,SAACjZ,MAIXkE,IAAAxD,cAACuhB,GAAe,CAACI,gBAAc,GAC9Bne,IAAAxD,cAAA,OAAK2O,UAAU,iDACbyJ,EAAQyW,QAAQwzB,WAAWt3C,KAC3B,SACC8rC,EACAslB,GACK,IAADC,EACAC,EACFjkD,EAAQyW,QAAQwzB,YAChB8Z,IACC/jD,EAAQyW,QAAQwzB,WAAWzkD,OAC1B,IACH,EACD,OACC4F,IAAAxD,cAAA,OAAK2O,UAAU,OAAO/L,IAAKu5D,GACzBtlB,EAAOlhC,SACPnS,IAAAxD,cAAC2Y,GAAI,CACJC,GAAG,KACHjK,UAAU,uBAETkoC,EAAOlhC,QACPkhC,EAAO/lC,aACPtN,IAAAxD,cAACkZ,MAAO,CACPvK,UAAU,kCACVsG,MAAM,6BACNnE,YAAa+lC,EAAO/lC,YACpBoE,SACCmnD,EAAe,OAAS,QAEzBh5C,qBACCu0C,MAMJ/gB,EAAOh+B,MACPrV,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIjK,UAAU,QACrBkoC,EAAOh+B,MAGQ,QADjBujD,EACAvlB,EAAOmc,kBAAU,IAAAoJ,OAAA,EAAjBA,EAAmBrxD,KACnB,SACCuxD,EACAC,GAAgB,OAEhB/4D,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAK25D,GAzzBb,SAC5B1mD,EACAF,EACA23C,EACAn8B,EACAkrC,EACAvrD,GAEA,OAAK+E,EAIJrS,IAAAxD,cAAA,OAAK2O,UAAU,qCACdnL,IAAAxD,cAAA,gBACCwD,IAAAxD,cAAA,UAAQ2O,UAAU,kBAChBgH,EACA7E,GACAtN,IAAAxD,cAACkZ,MAAO,CACPvK,UAAU,kCACVsG,MAAK,kBAAAtP,OAAoBgQ,GACzB7E,YAAaA,EACboE,SAAUmnD,EAAe,OAAS,QAClCh5C,qBAAoBu0C,MAItB/hD,EAAQ9K,KAAI,SAAC0O,GACb,OACCjW,IAAAxD,cAACg8D,KAAY,CACZ5iD,GAAIK,EAAOL,GACXxW,IAAK6W,EAAOL,GACZhY,KAAMqY,EAAOrY,KACbkB,MAAOmX,EAAOnX,MACd+G,MAAM,OACNg1C,SAC+C,IAA9CiP,EAAmBx0C,QAAQW,EAAOnX,QAClCmX,EAAOZ,KAAK+C,SAAS,0CACrBnC,EAAOZ,KAAK+C,SACX,qDAEDnC,EAAOZ,KAAK+C,SAAS,iCAEtBhC,SACCH,EAAOG,UACPH,EAAOZ,KAAK+C,SAAS,0CACrBnC,EAAOZ,KAAK+C,SACX,qDAEDnC,EAAOZ,KAAK+C,SAAS,iCAEtBjN,UAAU,OACV4J,SAAU,SAACjZ,GACV6xB,EAAK,CACJnwB,KAAM1B,EAAE4B,OAAOm9C,QAAU,gBAAkB,mBAC3CjhD,KAAMkC,EAAE4B,OAAOoB,QAEhBu1D,GAAkBv4D,EAAG,iBAAkBma,EAAOZ,QAG/CrV,IAAAxD,cAAA,YACEyZ,EAAOZ,KACPY,EAAO3I,aACPtN,IAAAxD,cAACkZ,MAAO,CACPvK,UAAU,kCACVsG,MAAK,kBAAAtP,OAAoB8T,EAAOZ,MAChC/H,YAAa2I,EAAO3I,YACpBoE,SAAUmnD,EAAe,OAAS,iBAzDnC,KAizBcG,CACAF,EAAUh4C,WACVg4C,EAAU3mD,QACVyC,EAAQyW,QACNy+B,mBACFn8B,EACAkrC,EACAC,EAAUxrD,2BAmB3BtN,IAAAxD,cAAA,OACC2O,UAAWoM,aACV,oEACC3C,EAAQyW,QAAQ6hB,MAAQ,WAG1BltC,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,MAAK,aAEbpV,IAAAxD,cAAA,QAAM2O,UAAU,oCAAmC,mBAGnDnL,IAAAxD,cAACkZ,MAAO,CACPvK,UAAU,sBACVsG,MAAM,qBACNnE,YAAY,wGACZoE,SAAU4vB,EAAW,SAAW,QAChCzhB,qBAAoBu0C,MAGtBp0D,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAI,uBACQ,QAApBkgD,EAAA1gD,EAAQyW,QAAQ6hB,YAAI,IAAAooB,OAAA,EAApBA,EAAsBxF,QACtB9vD,IAAAxD,cAAA,QAAM2O,UAAU,QACfnL,IAAAxD,cAAA,YAAU2O,UAAU,kBAClByJ,EAAQyW,QAAQ6hB,KAAK4iB,MAAMvoD,KAAI,SAAC0O,GAAM,IAAAgjD,EAAAC,EAAA,OACE,KAApB,QAApBD,EAAArkD,EAAQyW,QAAQ6hB,YAAI,IAAA+rB,GAAO,QAAPC,EAApBD,EAAsBnJ,aAAK,IAAAoJ,OAAP,EAApBA,EAA6B9+D,QAC5B28D,EACC9gD,EACAA,EAAOnX,QAAU8V,EAAQyW,QAAQo+B,aAAa,IAC9C,SAAC3tD,GACA6xB,EAAK,CACJnwB,KAAM1B,EAAE4B,OAAOm9C,QACZ,WACA,cACHjhD,KAAMkC,EAAE4B,OAAOoB,WAKlBkB,IAAAxD,cAACg8D,KAAY,CACZ5iD,GAAIK,EAAOL,GACXxW,IAAK6W,EAAOL,GACZhY,KAAMqY,EAAOrY,KACbkB,MAAOmX,EAAOnX,MACd+G,MAAM,OACNg1C,SAGQ,IAFPjmC,EAAQyW,QAAQo+B,aAAan0C,QAC5BW,EAAOnX,OAGTqM,UAAU,OACV4J,SAAU,SAACjZ,GACV6xB,EAAK,CACJnwB,KAAM1B,EAAE4B,OAAOm9C,QACZ,WACA,cACHjhD,KAAMkC,EAAE4B,OAAOoB,QAEhBu1D,GAAkBv4D,EAAG,aAAcma,EAAOZ,QAG1CY,EAAOZ,WAKS,QAApBkgD,EAAA3gD,EAAQyW,QAAQ6hB,YAAI,IAAAqoB,OAAA,EAApBA,EAAsBx9C,YACtB/X,IAAAxD,cAAA,YAAU2O,UAAU,kBAClByJ,EAAQyW,QAAQ6hB,KAAKn1B,UAAUxQ,KAAI,SAAC0O,GAAM,OAC1C8gD,EACC9gD,EACAA,EAAOnX,QACN8V,EAAQyW,QAAQs+B,qBAAqB,IACtC,SAAC7tD,GACA6xB,EAAK,CACJnwB,KAAM,oBACN5D,KAAMkC,EAAE4B,OAAOoB,QAEhBu1D,GAAkBv4D,EAAG,aAAcma,EAAOZ,gBASlC,QAAfmgD,EAAA5gD,EAAQyW,eAAO,IAAAmqC,OAAA,EAAfA,EAAiB3J,eACjB7rD,IAAAxD,cAAA,OACC2O,UAAWoM,aACV,oEACC3C,EAAQyW,QAAQwgC,cAAgB,eAGlC7rD,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,MAAK,UAEbpV,IAAAxD,cAAA,QAAM2O,UAAU,oCAAmC,oBAIpDnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAI,wBACZR,EAAQyW,QAAQwgC,cAChB7rD,IAAAxD,cAAA,QAAM2O,UAAU,QACfnL,IAAAxD,cAAA,YAAU2O,UAAU,kBAClByJ,EAAQyW,QAAQwgC,aAAatkD,KAAI,SAAC0O,GAAM,OACxCjW,IAAAxD,cAAC0lD,MAAe,CACftsC,GAAIK,EAAOL,GACXxW,IAAK6W,EAAOL,GACZhY,KAAMqY,EAAOrY,KACbkB,MAAOmX,EAAOnX,MACd+G,MAAM,OACNg1C,QACCjmC,EAAQyW,QAAQk+B,sBAAwBtzC,EAAOnX,MAEhDqM,UAAU,OACV4J,SAAU,SAACjZ,GACV6xB,EAAK,CACJnwB,KAAM,qBACN5D,KAAMkC,EAAE4B,OAAOoB,QAEhBu1D,GAAkBv4D,EAAG,UAAQma,EAAOZ,QAGpCY,EAAOZ,YAQfrV,IAAAxD,cAAA,OACC2O,UAAWoM,aACV,kGACC3C,EAAQyW,QAAQpwB,QAAU2Z,EAAQyW,QAAQ2gC,cAC1C,kBACAp3C,EAAQyW,QAAQpwB,SACf2Z,EAAQyW,QAAQ2gC,aACjB,iBAEFp1C,IAAK8/C,GAEJ9hD,EAAQyW,QAAQpwB,QAAU2Z,EAAQyW,QAAQ2gC,YAC1ChsD,IAAAxD,cAAA,UACCgB,KAAK,SACLqiB,qBAAoBu0C,GACpBz0C,QAASk3C,EACT1rD,UAAU,6BACV,yBACuB,IACvBnL,IAAAxD,cAAA,OAAK2O,UAAU,4BACdnL,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,QAAQnL,UAAU,OAAOsU,UAAU,WAIhDzf,IAAAxD,cAAA,UACCgB,KAAK,SACLqiB,qBAAoBu0C,GACpBz0C,QAASk3C,EACTzgD,UAAQ,EACRjL,UAAU,kBACV,yBACuB,IACvBnL,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,QAAQnL,UAAU,OAAOsU,UAAU,YAI/C7K,EAAQyW,QAAQpwB,SAAW2Z,EAAQyW,QAAQ2gC,aAC5ChsD,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAKjK,UAAU,cAAa,0GAQzCnL,IAAAxD,cAAA,OAAKoa,IAAK6/C,GACTz2D,IAAAxD,cAAC23B,KAAI,CAACvjB,QAAQ,EAAOY,SAAS,EAAOrG,UAAU,gBAC9CnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,IACXx0B,IAAAxD,cAAA,OACC2O,UAAWoM,aACV,oEACC3C,EAAQyW,QAAQ6uB,SAAW,WAG7Bl6C,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,MAAK,WAEbpV,IAAAxD,cAACkZ,MAAO,CACPvK,UAAU,sBACVsG,MAAM,0BACNnE,YAAY,yGACZoE,SAAS,QACTmO,qBAAoBu0C,MAGtBp0D,IAAAxD,cAAC0X,KAAI,CAAC/I,UAAU,sCACfnL,IAAAxD,cAAA,OAAK2O,UAAU,kBACdnL,IAAAxD,cAAAwD,IAAAiU,SAAA,KACiB,QADjBwhD,EACE7gD,EAAQyW,eAAO,IAAAoqC,GAAS,QAATC,EAAfD,EAAiBvb,eAAO,IAAAwb,OAAT,EAAfA,EAA0BnuD,KAC1B,SAACJ,EAAgCgyD,GAChC,OACCn5D,IAAAxD,cAAC48D,GAAuB,CACvBh6D,IAAK+H,EAAOkO,KACZlK,UAAU,YACV6/C,aAAc,GACdjQ,gBAAiB5zC,EAAO4zC,gBACxBnlC,GAAG,SACHnE,MAAOtK,EAAOkO,KACdksC,kBAAiB,gBAAAp/C,OAAYgF,EAAOkO,MACpCmL,mBAAmB,YACnB6yC,iBAAiB,gBACjBD,mBAAmB,mBACnBE,kBAAkB,yBAClB3lC,KAAMA,GAEN3tB,IAAAxD,cAAA,MAAI2O,UAAU,QACZhE,EAAO8B,MAAM1B,KAAI,SAAC6G,EAAWoN,GAAa,OAC1Cxb,IAAAxD,cAACu3D,GAA6B,CAC7B30D,IAAKoc,EACLpN,KAAMA,EACN2G,SAAU,SACTjZ,GAEA,IAAA6+C,EACC7+C,EAAE8+C,cADKh9C,EAAI+8C,EAAJ/8C,KAAMkB,EAAK67C,EAAL77C,MAAO+7C,EAAOF,EAAPE,QAGpBltB,EADGktB,EACE,CACJr9C,KAAM,aACNI,OACAkB,SAGI,CACJtB,KAAM,eACNI,OACAkB,WAIHk1D,UAAW,SAAC/9C,GAAkB,OAGtB,IAFPrB,EAAQyW,QAAQkwB,gBAAgBjmC,QAC/BW,EAAOnX,oBAYlBkB,IAAAxD,cAACs9B,KAAgB,CAChBt8B,KAAK,SACLkZ,QAAQ,UACRiJ,QAAS,WACRgO,EAAK,mBAEN,eAEA3tB,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,WACLG,eAAa,EACbtL,UAAU,mBAMZyJ,EAAQyW,QAAQpwB,QAAU2Z,EAAQyW,QAAQ2gC,cAC3ChsD,IAAAxD,cAAA,OACC2O,UAAWoM,aACV,qDAGDvX,IAAAxD,cAAA,OAAK2O,UAAU,0DACdnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAKxE,QAAQ,EAAOzF,UAAU,QACrCyJ,EAAQyW,QAAQggC,gBAGnBrrD,IAAAxD,cAAA,OAAK2O,UAAU,aACdnL,IAAAxD,cAAC4xB,KAAiB,KACjBpuB,IAAAxD,cAAC6xB,KAAY,CACZT,SAC0C,UAAzChZ,EAAQyW,QAAQu+B,sBACyB,gBAAzCh1C,EAAQyW,QAAQu+B,qBAEjBv0C,KAAK,SACLsK,QAAS,WACRgO,EAAK,CACJnwB,KAAM,uBACN5D,KAAM,WAGRimB,qBAAoBu0C,KAErBp0D,IAAAxD,cAAC6xB,KAAY,CACZT,SAC0C,UAAzChZ,EAAQyW,QAAQu+B,qBAEjBv0C,KAAK,UACLsK,QAAS,WACRgO,EAAK,CACJnwB,KAAM,uBACN5D,KAAM,WAGRimB,qBAAoBu0C,QAKoB,UAAzCx/C,EAAQyW,QAAQu+B,sBACwB,gBAAzCh1C,EAAQyW,QAAQu+B,uBAChB5pD,IAAAxD,cAAA,OAAK2O,UAAU,6BACdnL,IAAAxD,cAAA,QAAM2O,UAAU,kBACfnL,IAAAxD,cAAC0lD,MAAe,CACftsC,GAAG,mBACHhY,KAAK,WACLkB,MAAM,QACN+7C,QAC0C,UAAzCjmC,EAAQyW,QAAQu+B,qBAEjBz+C,UAAU,YACV4J,SAAU,SAACjZ,GACV6xB,EAAK,CACJnwB,KAAM,uBACN5D,KAAMkC,EAAE4B,OAAOoB,SAGjB+G,MAAM,OACNuQ,YAC4B,QAA3Bu/C,EAAA/gD,EAAQyW,QAAQ2gC,mBAAW,IAAA2J,OAAA,EAA3BA,EAA6Bh4D,UAE9B,UAGDqC,IAAAxD,cAAC0lD,MAAe,CACftsC,GAAG,oBACHhY,KAAK,WACLkB,MAAM,cACN+7C,QAC0C,gBAAzCjmC,EAAQyW,QAAQu+B,qBAEjBz+C,UAAU,YACV4J,SAAU,SAACjZ,GACV6xB,EAAK,CACJnwB,KAAM,uBACN5D,KAAMkC,EAAE4B,OAAOoB,SAGjB+G,MAAM,OACNuQ,YAC4B,QAA3Bw/C,EAAAhhD,EAAQyW,QAAQ2gC,mBAAW,IAAA4J,OAAA,EAA3BA,EAA6Bj4D,UAE9B,iBAIFqC,IAAAxD,cAACwvB,GAAkB,CAClBC,WAAW,qBACX7V,YAC4B,QAA3By/C,EAAAjhD,EAAQyW,QAAQ2gC,mBAAW,IAAA6J,OAAA,EAA3BA,EAA6Bl4D,UAG7Bw2D,GAAmB5sD,KAAI,SAAC0O,EAAauF,GACrC,OACCxb,IAAAxD,cAAC2wB,GAAgB,CAChB3vB,KAAMyY,EAAOnX,MACbirB,SAAUA,EACVpK,QAAS,WACRgO,EAAK,CACJnwB,KAAM,iBACNsB,MAAOmX,EAAOnX,MACdirB,SAAUA,IAEXqD,EAAiBnX,EAAOnX,QAEzBM,IAAKoc,GAEJvF,EAAOC,cAO4B,UAAzCtB,EAAQyW,QAAQu+B,sBAChB5pD,IAAAxD,cAAA,OAAK2O,UAAU,6BACdnL,IAAAxD,cAAA,QAAM2O,UAAU,kBACfnL,IAAAxD,cAAC0lD,MAAe,CACftsC,GAAG,iBACHhY,KAAK,WACLkB,MAAM,SACN+7C,QACuC,WAAtCjmC,EAAQyW,QAAQ8+B,mBACsB,QAAtCv1C,EAAQyW,QAAQ8+B,kBAEjBh/C,UAAU,YACV4J,SAAU,SAACjZ,GACV6xB,EAAK,CACJnwB,KAAM,oBACN5D,KAAMkC,EAAE4B,OAAOoB,SAGjB+G,MAAM,OACNuQ,YAC4B,QAA3B0/C,EAAAlhD,EAAQyW,QAAQ2gC,mBAAW,IAAA8J,OAAA,EAA3BA,EAA6Bn4D,UAE9B,iBAGDqC,IAAAxD,cAAC0lD,MAAe,CACftsC,GAAG,kBACHhY,KAAK,WACLkB,MAAM,OACN+7C,QAA+C,SAAtCjmC,EAAQyW,QAAQ8+B,kBACzBh/C,UAAU,YACV4J,SAAU,SAACjZ,GACV6xB,EAAK,CACJnwB,KAAM,oBACN5D,KAAMkC,EAAE4B,OAAOoB,SAGjB+G,MAAM,OACNuQ,YAC4B,QAA3B2/C,EAAAnhD,EAAQyW,QAAQ2gC,mBAAW,IAAA+J,OAAA,EAA3BA,EAA6Bp4D,UAE9B,gBAGDqC,IAAAxD,cAAC0lD,MAAe,CACftsC,GAAG,iBACHhY,KAAK,WACLkB,MAAM,MACN+7C,QAA+C,QAAtCjmC,EAAQyW,QAAQ8+B,kBACzBh/C,UAAU,YACV4J,SAAU,SAACjZ,GACV6xB,EAAK,CACJnwB,KAAM,oBACN5D,KAAMkC,EAAE4B,OAAOoB,SAGjB+G,MAAM,OACNuQ,YAC4B,QAA3B4/C,EAAAphD,EAAQyW,QAAQ2gC,mBAAW,IAAAgK,OAAA,EAA3BA,EAA6Br4D,UAE9B,kBAIFqC,IAAAxD,cAACwvB,GAAkB,CAClBC,WAAW,qBACX7V,YAC4B,QAA3B6/C,EAAArhD,EAAQyW,QAAQ2gC,mBAAW,IAAAiK,OAAA,EAA3BA,EAA6Bt4D,UAG7Bu2D,GAAqB3sD,KACrB,SAAC0O,EAAauF,GACb,OACCxb,IAAAxD,cAAC2wB,GAAgB,CAChB3vB,KAAMyY,EAAOnX,MACbirB,SAAUA,EACVpK,QAAS,WACRgO,EAAK,CACJnwB,KAAM,iBACNsB,MAAOmX,EAAOnX,MACdirB,SAAUA,IAEXqD,EAAiBnX,EAAOnX,QAEzBM,IAAKoc,GAEJvF,EAAOC,cAqC2B,UAAzCtB,EAAQyW,QAAQu+B,uBACfh1C,EAAQ4hB,QAAQ,8BAChB5hB,EAAQyW,QAAQ2gC,aAChBhsD,IAAAxD,cAACsjB,GAAc,CACdlmB,KAAMgb,EAAQyW,QAAQpwB,OACtB+kB,YAAapL,EAAQyW,QAAQrL,YAC7BC,WACwB,QAAtBi2C,EAAAthD,EAAQyW,QAAQpwB,cAAM,IAAAi7D,GAAM,QAANC,EAAtBD,EAAwB70C,YAAI,IAAA80C,OAAN,EAAtBA,EAA8B/7D,QAAS,GAAC,KAAA+H,OACnCyS,EAAQyW,QAAQpwB,OAAOomB,KAAKjnB,OAAM,QAAA+H,OAAOyS,EAAQyW,QAAQpwB,OAAOyzB,QACtE,GAEDtO,YAAY,EACZE,iBACC1L,EAAQyW,QAAQygC,cAChBl3C,EAAQyW,QAAQk/B,gBAEjB7pC,aAAc,SAAC5H,EAAcugD,GAC5B1rC,EAAK,eAAgB,CACpBi2B,QAAS9qC,EACTg5C,eAAwB,KAARuH,EAAa,MAAQA,KAGvCz4C,mBAAoB,WACnB+M,EAAK,gBAIiC,gBAAzC/Y,EAAQyW,QAAQu+B,uBACfh1C,EAAQ4hB,QAAQ,8BAChB5hB,EAAQyW,QAAQ2gC,aAChBhsD,IAAAxD,cAACsjB,GAAc,CACde,YACyC,QAAxCjM,EAAQyW,QAAQk+B,oBAEjB3vD,KAAMgb,EAAQyW,QAAQpwB,OACtB+kB,YAAapL,EAAQyW,QAAQrL,YAC7BC,WACwB,QAAtBm2C,EAAAxhD,EAAQyW,QAAQpwB,cAAM,IAAAm7D,GAAM,QAANC,EAAtBD,EAAwB/0C,YAAI,IAAAg1C,OAAN,EAAtBA,EAA8Bj8D,QAAS,GAAC,KAAA+H,OACnCyS,EAAQyW,QAAQpwB,OAAOomB,KAAKjnB,OAAS,EAAC,QAAA+H,OAC1CyS,EAAQyW,QAAQpwB,OAAOyzB,QAEzB,GAEDzQ,QAAQ,EACRmC,YAAY,EACZE,iBACC1L,EAAQyW,QAAQygC,cAChBl3C,EAAQyW,QAAQk/B,gBAEjB7pC,aAAc,SAAC5H,EAAcugD,GAC5B1rC,EAAK,eAAgB,CACpBi2B,QAAS9qC,EACTg5C,eAAwB,KAARuH,EAAa,MAAQA,KAGvCz4C,mBAAoB,WACnB+M,EAAK,gBAIR/Y,EAAQ4hB,QAAQ,6BAChBx2B,IAAAxD,cAAA,OAAK2O,UAAU,uBACdnL,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLnM,KAAM,EACNqM,QAAQ,OACRD,MAAM,UACNpL,UAAU,uBAI6B,UAAzCyJ,EAAQyW,QAAQu+B,uBACfh1C,EAAQyW,QAAQ2gC,aAChBhsD,IAAAxD,cAACu2D,GAAqB,CACrBn5D,KAAMgb,EAAQyW,QAAQpwB,OACtB+kB,YAAapL,EAAQyW,QAAQrL,YAC7B+J,SAAUA,EACV4D,KAAMA,EACN4R,UAAW3qB,EAAQ4hB,QAAQ,8BAI9Bx2B,IAAAxD,cAAA,OACC8+B,YAAU,SACV0Y,cAAY,OACZ7oC,UAAU,4BAERyJ,EAAQ4hB,QAAQ,8BACU,QADiB8/B,EAC5C1hD,EAAQyW,QAAQ2gC,mBAAW,IAAAsK,OAAA,EAA3BA,EAA6B34D,UAC5BqC,IAAAxD,cAACk/B,KAAK,CAAChlB,QAAQ,WACd1W,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,EAAOzF,UAAU,QACT,QADeorD,EAC1C3hD,EAAQyW,QAAQ2gC,mBAAW,IAAAuK,OAAA,EAA3BA,EAA6B54D,iBCl7C5B27D,GAxCmD,SAAHr4D,GAIxD,IAHNkR,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACA5nB,EAAIpU,EAAJoU,KAEA,OACCrV,IAAAxD,cAACikC,GAAU,CAACW,aAAa,GACxBphC,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,sCAEVnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,KAIJnS,IAAAxD,cAAC23B,KAAI,CAACvjB,QAAQ,EAAOY,SAAS,EAAOrG,UAAU,gBAC9CnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAC2Y,GAAI,CACJC,GAAG,WACH0D,KAAK,WACLlI,QAAQyE,EACRlK,UAAU,QAET8xB,GAED5nB,GACArV,IAAAxD,cAAA,OAAK2O,UAAU,QACdnL,IAAAxD,cAACsb,GAAY,CAACgB,KAAK,OAAOf,UAAe,OAAJ1C,QAAI,IAAJA,OAAI,EAAJA,EAAM0C,eAK/C/X,IAAAxD,cAACk4D,GAAgB,QCqJL6E,GApK6D,SAAHt4D,GAKlE,IAJNkR,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACAuQ,EAAUvsC,EAAVusC,WACAC,EAAWxsC,EAAXwsC,YAEMpM,EAAmBpK,KACnBz0B,EAAWyU,eACXtU,EAAUuW,eACVyoB,EAAiBp2B,YAAYzF,GAC3BwO,EAAUoJ,KAAYjV,MAAMjG,EAASuD,QAArCuO,MACFitB,EAAwBvtB,iBAAY,MACpCytB,EAAsBztB,iBAAY,MACxCwZ,EAAkCC,aAAW+H,GAAe,CAC3DnK,QAAS,CACR/pB,QAAkB,OAAVksC,QAAU,IAAVA,OAAU,EAAVA,EAAYlsC,UAAwB,OAAdqgC,QAAc,IAAdA,OAAc,EAAdA,EAAgBrgC,QAC9C6I,KAAMk3B,EAAmB,GAAkB,OAAdM,QAAc,IAAdA,OAAc,EAAdA,EAAgBzT,sBAAuB,EACpEuH,SAAU,OAEV/H,EAAApa,aAAAka,EAAA,GANKwU,EAAWtU,EAAA,GAAEuU,EAAUvU,EAAA,GAO9BwU,EAAgCzU,aAAW0I,IAAmBgM,EAAA7uB,aAAA4uB,EAAA,GAAvDE,EAAUD,EAAA,GAAEE,EAASF,EAAA,GAQ5B,OANA7V,aAAgBiV,GAAuB,WAClCI,GACHU,EAAU,YAKXriC,IAAAxD,cAACikC,GAAU,KACT+M,GACAxtC,IAAAxD,cAAA,OAAK2O,UAAU,mBACdnL,IAAAxD,cAACmxC,KAAU,KACV3tC,IAAAxD,cAAC23B,KAAI,CAAC3iB,SAAS,EAAOrG,UAAU,gBAC/BnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,IACb,OAAV+Y,QAAU,IAAVA,OAAU,EAAVA,EAAYr7B,UACZnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAKxE,QAAQ,EAAOzF,UAAU,iBACrCqiC,EAAWl3B,MACXtW,IAAAxD,cAAC6Z,KAAI,CACJC,KAAMk3B,EAAWl3B,KACjBnM,KAAM,EACNgB,UAAU,oDACVsL,eAAa,IAGJ,OAAV+2B,QAAU,IAAVA,OAAU,EAAVA,EAAYr7B,UAGJ,OAAVq7B,QAAU,IAAVA,OAAU,EAAVA,EAAYvQ,WACZj9B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,GACT,OAAV48B,QAAU,IAAVA,OAAU,EAAVA,EAAYvQ,WAGJ,OAAVuQ,QAAU,IAAVA,OAAU,EAAVA,EAAYI,YACZ5tC,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAACsmC,MAAW,CACXltB,GAAG,wBACHnE,MAAO+7B,EAAWK,sBAClB3K,YAAasK,EAAWrK,kBACxBh4B,UAAU,kBACV43B,WAAYxB,EACZyB,SAAUvB,EACVxX,YAAmC,YAAtB+X,EAAYljC,MACzBwT,aAAcgC,EAAQA,EAAMsmB,gBAAa98B,EACzCiX,SAAU,SAACjZ,GACW,WAArBsmC,EAAWtjC,OACVmjC,EAAW,SAAU,CACpBnjC,MAAOhD,EAAEgD,SAGZsV,SAAU,SAACtY,GAAY,IAADsnC,EACrBf,EAAU,SACS,OAAnBZ,QAAmB,IAAnBA,GAA4B,QAAT2B,EAAnB3B,EAAqB7sB,eAAO,IAAAwuB,GAA5BA,EAA8BC,OAC9B1gC,EAAQjI,KAAK,GAADyH,OAEVqrC,EAAWlK,cAAa,WAAAnhC,OACfqF,mBACT1L,EAAEgyC,0BAILtK,QAAS,WACRzlC,YAAW,WACVskC,EAAU,UACR,OAGkB,WAArBD,EAAWtjC,OACXkjC,EAAY3W,QAAQpwB,QACU,KAA9B+mC,EAAY3W,QAAQ/W,OACnBtU,IAAAxD,cAACinC,KAAmB,KAClBzB,EAAY3W,QAAQpwB,OAAOyoC,SAC3B1B,EAAY3W,QAAQpwB,OAAOyoC,QAAQn8B,KAClC,SAAC6G,GAAyB,OACzBpO,IAAAxD,cAACmnC,KAAuB,CACvBvkC,IAAKgP,EAAKhF,YAEVpJ,IAAAxD,cAACsO,GAAI,CAACE,GAAIoD,EAAKvM,KACd7B,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAU,OACVhJ,eAAa,EACbtM,KAAM,MAENiE,EAAK+D,aAKV6vB,EAAY3W,QAAQpwB,OAAO2oC,aAC3B5B,EAAY3W,QAAQpwB,OAAOkP,MAC3BnK,IAAAxD,cAACmnC,KAAuB,KACvB3jC,IAAAxD,cAACsO,GAAI,CACJE,GAAE,GAAA7I,OACS,OAAVqrC,QAAU,IAAVA,OAAU,EAAVA,EAAYlK,cAAa,WAAAnhC,OAChBqF,mBACTw6B,EAAY3W,QAAQpwB,OAAOqZ,QAE5BqL,QAAS,WACR0iB,EAAU,WAGI,OAAdV,QAAc,IAAdA,OAAc,EAAdA,EAAgBkC,sBAIyB,IAA5C7B,EAAY3W,QAAQpwB,OAAO2oC,cAC3B5jC,IAAAxD,cAACmnC,KAAuB,KACvB3jC,IAAAxD,cAAA,SAAG,+BAMTwD,IAAAxD,cAACuxC,KAAe,YAQrBP,GACDxtC,IAAAxD,cAAC23B,KAAI,KACJn0B,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,IACXx0B,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAEFnS,IAAAxD,cAAA,OAAK2O,UAAU,SACdnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBmkB,OAONwQ,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,MC1Dd+rB,GA5Gd,SAD4Ev4D,GASrE,IAPNkR,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACA5nB,EAAIpU,EAAJoU,KACA65B,EAAejuC,EAAfiuC,gBACAD,EAAahuC,EAAbguC,cACA4J,EAAW53C,EAAX43C,YACApL,EAAWxsC,EAAXwsC,YAEM2B,EAAYlY,KAClB,OACCl3B,IAAAxD,cAACikC,GAAU,CAACW,aAAa,GACvByX,GACA74C,IAAAxD,cAACu8C,KAAW,CACXl8C,IAAKg8C,EAAYh8C,IACjBkf,IAAK88B,EAAYG,QACjB/oB,WAAY4oB,EAAYxjC,KACxBlK,UAAU,oBAGZnL,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAWoM,aACVshC,EAAc,eAAiB,gBAC/B,iBAGD74C,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAED88B,GACAjvC,IAAAxD,cAAC6yC,KAAa,CACbhG,UAAW4F,EAAc5F,UACzB9B,OAAQ0H,EAAc1H,OACtBp8B,UAAU,QAET8jC,EAActmB,YACdsmB,EAActmB,WAAWvuB,OAAS,GACjC4F,IAAAxD,cAAC+yC,KAAyB,KACxBN,EAActmB,WAAWphB,KAAI,SAACkjC,EAAUjvB,GACxC,OACCxb,IAAAxD,cAACgzC,KAAqB,CACrBpwC,IAAKoc,EACL3Z,IAAK4oC,EAAS5oC,IACdwT,KAAMo1B,EAASp1B,KACfge,cAAevoB,YAUzB9K,IAAAxD,cAAC23B,KAAI,CACJvjB,QAAQ,EACRY,SAAS,EACTrG,UAAWoM,aACV23B,GAAmB,mBACnB,iBAGAE,GAAaF,GACblvC,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,EAAGrpB,UAAU,gBACxBnL,IAAAxD,cAACizC,MAAG,CACHt9B,QAAS+8B,EAAgB/8B,QACzBlJ,MAAOimC,EAAgBQ,SACvByJ,OAAQjK,EAAgBkK,UAEvBlK,EAAgBS,OAAOpoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACozC,MAAO,CAACntC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,WAOXrV,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,WAAWlI,QAAQ,EAAOzF,UAAU,QAC3D8xB,IAEAmS,GAAaF,GACdlvC,IAAAxD,cAACizC,MAAG,CACHt9B,QAAS+8B,EAAgB/8B,QACzBlJ,MAAO,GACPkC,UAAU,QAET+jC,EAAgBS,OAAOpoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACozC,MAAO,CAACntC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,UAKVrV,IAAAxD,cAACsb,GAAY,CAACgB,KAAK,OAAOf,UAAe,OAAJ1C,QAAI,IAAJA,OAAI,EAAJA,EAAM0C,cAG5C01B,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,MCcfgsB,GAtHd,SAD0Fx4D,GASnF,IAPNkR,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACAzc,EAAkBvf,EAAlBuf,mBACA0N,EAAmBjtB,EAAnBitB,oBACA5sB,EAAML,EAANK,OACAi1C,EAAYt1C,EAAZs1C,aACA9I,EAAWxsC,EAAXwsC,YAEMjrC,EAAWyU,eACXtU,EAAUuW,eAChBsU,EAAsBC,aAAWvC,IAA0BwC,EAAApa,aAAAka,EAAA,GAApD9sB,EAAKgtB,EAAA,GAAEC,EAAID,EAAA,GAClBva,EAA0BC,mBAAS,GAAEC,EAAAC,aAAAH,EAAA,GAA9B0Z,EAAKxZ,EAAA,GAAEokC,EAAQpkC,EAAA,GAElB3S,EAAM2qB,QAAQpwB,SACjBs7C,EAAe71C,EAAM2qB,QAAQpwB,QAG9B,IAAM6vB,EACLyrB,EAAa5kC,OAAS4kC,EAAazrB,MAAQoD,EACtCwpB,EACLnB,EAAa5kC,OAAS4kC,EAAazrB,MAAQyrB,EAAa7nB,MACnD3D,EAAYwrB,EAAaxrB,UAe/B,OAbAvR,qBAAU,WACLqT,EAAQ,GACXc,EAAK,QAAS,CACbhc,OAAQ,EACRmZ,MAAOA,EACPxpB,SACAypB,gBAKA,CAAC8B,IAGH7sB,IAAAxD,cAACikC,GAAU,CAACW,aAAa,GACxBphC,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAEFnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBmkB,KAIJj9B,IAAAxD,cAAC23B,KAAI,CAAC3iB,SAAS,EAAOZ,QAAQ,EAAOzF,UAAU,sBAC9CnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGtpB,UAAU,SACrCnL,IAAAxD,cAACsvC,KAAQ,KACPyK,EAAattC,MAAM1B,KAAI,SAACrK,EAAkBse,GAC1C,OACCxb,IAAAxD,cAACwvC,KAAY,CACZC,KAAM/uC,EAAMmsC,UACZl3B,QAASjV,EAAMiV,QACfkD,KAAMnY,EAAMmY,KACZxT,IAAK3E,EAAM2E,IACXwxB,cAAevoB,GACf1L,IAAKoc,QAKRk8B,GACA13C,IAAAxD,cAAA,OAAK2O,UAAU,4BACdnL,IAAAxD,cAAC2Z,KAAM,CACN0J,qBAAoBW,EACpBrV,UAAU,UACVuL,QAAQ,UACRN,SAA0B,YAAhB1V,EAAM5B,MAChB6gB,QAAS,WACR83B,EAAS5qB,EAAQ,GACjBlqB,EAAQjI,KAAK,GAADyH,OACRK,EAASkvC,SAAQ,WAAAvvC,OAAU2oB,EAAK,eAAA3oB,OAAc4oB,MAIlDvK,EACgB,YAAhB9f,EAAM5B,OACNkB,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLC,MAAM,QACNC,QAAQ,OACRrM,KAAM,IACNgB,UAAU,OACVsL,eAAa,IAGE,YAAhB/V,EAAM5B,OACNkB,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAU,KACVlJ,MAAM,QACNpM,KAAM,IACNgB,UAAU,OACVsL,eAAa,OAOlBg3B,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGtpB,UAAU,cACrCnL,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,QCpCjBisB,GA5Ed,SADkFz4D,GACnB,IAA5DkR,EAAOlR,EAAPkR,QAAS8qB,EAAQh8B,EAARg8B,SAAUyQ,EAAczsC,EAAdysC,eAAgBD,EAAWxsC,EAAXwsC,YAAap4B,EAAIpU,EAAJoU,KAClD,OACCrV,IAAAxD,cAACikC,GAAU,CAACW,aAAa,GACxBphC,IAAAxD,cAAC23B,KAAI,CAAC3iB,SAAS,EAAOrG,UAAU,gBAC/BnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAmC,SAA1BiZ,EAAeya,OAAoB,GAAK,GAChEnoD,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAEFnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBmkB,GAEDyQ,GACA1tC,IAAAxD,cAAAwD,IAAAiU,SAAA,KAC4B,SAA1By5B,EAAeya,QACfnoD,IAAAxD,cAAC4rD,KAAgB,CAChB93B,aAAYod,EAAe3I,0BAE1B2I,EAAezkC,MAAM1B,KAAI,SAACgqB,EAAM/V,GAAK,OACrCxb,IAAAxD,cAAC6rD,KAAmB,CACnBh1B,cAAevoB,GACfjJ,IAAK0vB,EAAK1vB,IACVsQ,QAASof,EAAKpf,QACdkD,KAAMkc,EAAKlc,KACXjW,IAAKoc,EACLlF,KACCib,EAAK1vB,KAA8B,MAAvB0vB,EAAK1vB,IAAI2J,OAAO,GACzB,QACA+lB,EAAK1vB,MAEJ,IADD0vB,EAAK1vB,IAAIyT,QAAQ,8BAEjB,aACA,eAEJkD,YAAWgD,EAAQ,SAKI,SAA1BkyB,EAAeya,QACfnoD,IAAAxD,cAAC8rD,KAAc,CACdh4B,aAAYod,EAAe3I,0BAE1B2I,EAAezkC,MAAM1B,KAAI,SAACgqB,EAAM/V,GAAK,OACrCxb,IAAAxD,cAAC+rD,KAAkB,CAClBl1B,cAAevoB,GACfjJ,IAAK0vB,EAAK1vB,IACVsQ,QAASof,EAAKpf,QACdkD,KAAMkc,EAAKlc,KACXjW,IAAKoc,EACLlF,KACCib,EAAK1vB,KAA8B,MAAvB0vB,EAAK1vB,IAAI2J,OAAO,GACzB,QACA+lB,EAAK1vB,MAEJ,IADD0vB,EAAK1vB,IAAIyT,QAAQ,8BAEjB,aACA,uBASXtV,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAACsb,GAAY,CAACgB,KAAK,OAAOf,UAAe,OAAJ1C,QAAI,IAAJA,OAAI,EAAJA,EAAM0C,cAG5C01B,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,MCrBfksB,GAhDd,SAD4E14D,GACd,IAA3DkR,EAAOlR,EAAPkR,QAAS8qB,EAAQh8B,EAARg8B,SAAUgS,EAAahuC,EAAbguC,cAAexB,EAAWxsC,EAAXwsC,YAAap4B,EAAIpU,EAAJoU,KACjD,OACCrV,IAAAxD,cAACikC,GAAU,CAACW,aAAa,GACxBphC,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,sCAEVnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAED88B,GACAjvC,IAAAxD,cAAC6yC,KAAa,CACbhG,UAAW4F,EAAc5F,UACzB9B,OAAQ0H,EAAc1H,OACtBp8B,UAAU,QAET8jC,EAActmB,YACdsmB,EAActmB,WAAWvuB,OAAS,GACjC4F,IAAAxD,cAAC+yC,KAAyB,KACxBN,EAActmB,WAAWphB,KAAI,SAACkjC,EAAUjvB,GACxC,OACCxb,IAAAxD,cAACgzC,KAAqB,CACrBpwC,IAAKoc,EACL3Z,IAAK4oC,EAAS5oC,IACdwT,KAAMo1B,EAASp1B,KACfge,cAAevoB,UAQvB9K,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,WAAW0D,KAAK,WAAWlI,QAAQ,EAAOzF,UAAU,QAC3D8xB,GAEFj9B,IAAAxD,cAACsb,GAAY,CAACgB,KAAK,OAAOf,UAAe,OAAJ1C,QAAI,IAAJA,OAAI,EAAJA,EAAM0C,cAG5C01B,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,MC2BfmsB,GA7EmD,SAAH34D,GAC5DA,EAAF2U,GACG3U,EAAHY,IAOM,IANNg4D,EAAW54D,EAAX44D,YACAC,EAAY74D,EAAZ64D,aACAtsB,EAAUvsC,EAAVusC,WACAusB,EAAa94D,EAAb84D,cACA1kD,EAAIpU,EAAJoU,KACAo4B,EAAWxsC,EAAXwsC,YAEA,OACCztC,IAAAxD,cAACikC,GAAU,KACVzgC,IAAAxD,cAAA,OAAK2O,UAAU,mBACdnL,IAAAxD,cAACmxC,KAAU,KACV3tC,IAAAxD,cAAC23B,KAAI,CAAC3iB,SAAS,EAAOrG,UAAU,gBAC/BnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,IACb,OAAV+Y,QAAU,IAAVA,OAAU,EAAVA,EAAYr7B,UACZnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAKxE,QAAQ,EAAOzF,UAAU,iBACrCqiC,EAAWl3B,MACXtW,IAAAxD,cAAC6Z,KAAI,CACJC,KAAMk3B,EAAWl3B,KACjBnM,KAAM,EACNgB,UAAU,oDACVsL,eAAa,IAGJ,OAAV+2B,QAAU,IAAVA,OAAU,EAAVA,EAAYr7B,QACbnS,IAAAxD,cAAA,QAAM2O,UAAU,WAAW0uD,KAGlB,OAAVrsB,QAAU,IAAVA,OAAU,EAAVA,EAAYvQ,WACZj9B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,GACT,OAAV48B,QAAU,IAAVA,OAAU,EAAVA,EAAYvQ,cAQnBj9B,IAAAxD,cAAC23B,KAAI,CAAC3iB,SAAS,EAAOrG,UAAU,qBAC9B4uD,GACA/5D,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIrZ,WAAS,iBACxBnb,IAAAxD,cAAA,MAAI2O,UAAU,mBACZ4uD,EAAcxyD,KAAI,SAAC6G,EAAMoN,GAAK,OAC9Bxb,IAAAxD,cAAA,MAAI4C,IAAKoc,GACRxb,IAAAxD,cAACsO,GAAI,CACJrI,KAAM2L,EAAKvM,IACXsJ,UAAWoM,aACVnJ,EAAKwf,UAAY,yBACjB,+BAGAxf,EAAKiH,YAOZrV,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGtpB,UAAU,kBACpC0uD,GAAe75D,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,MAAMykD,GAC9BC,GAAgB95D,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0kD,IAEhC95D,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGtpB,UAAU,0BACrCnL,IAAAxD,cAACsb,GAAY,CAACgB,KAAK,OAAOf,UAAe,OAAJ1C,QAAI,IAAJA,OAAI,EAAJA,EAAM0C,aAE5C/X,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGtpB,UAAU,8BACpCsiC,GAAeA,EAAYrzC,OAAS,GACpC4F,IAAAxD,cAACgtC,GAAc,CAAClnC,QAASmrC,QC3CzB1nC,GAAmB,eAAA9E,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOC,EAAQ+pB,GAAO,IAAA6oB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA/wC,EAAA/J,EAAA,OAAAuH,IAAAY,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EAC1BE,IAAM1D,IAAI,GAADyD,OAAIb,EAAM,KAAAa,OAAW,OAAPkpB,QAAO,IAAPA,OAAO,EAAPA,EAAS7pB,aAAe,CACrEgT,QAAS,CACR,sBACO,QAAN0/B,EAAA3xC,cAAM,IAAA2xC,GAAS,QAATC,EAAND,EAAQS,eAAO,IAAAR,GAAW,QAAXC,EAAfD,EAAiBtxC,iBAAS,IAAAuxC,OAApB,EAANA,EAA4BtxC,UAAWP,OAAOQ,UAC/C,oBACO,QAANsxC,EAAA9xC,cAAM,IAAA8xC,GAAS,QAATC,EAAND,EAAQM,eAAO,IAAAL,GAAW,QAAXC,EAAfD,EAAiBzxC,iBAAS,IAAA0xC,OAApB,EAANA,EAA4BzxC,UAAWP,OAAOQ,UAC/C,mBACO,QAANyxC,EAAAjyC,cAAM,IAAAiyC,GAAS,QAATC,EAAND,EAAQG,eAAO,IAAAF,GAAW,QAAXC,EAAfD,EAAiB5xC,iBAAS,IAAA6xC,OAApB,EAANA,EAA4B5xC,UAAWP,OAAOQ,aAE9C,KAAD,EATU,OASVY,EAAA3B,EAAAK,KATMzI,EAAI+J,EAAJ/J,KAAIoI,EAAAgB,OAAA,SAWL,CAAEpJ,SAAM,wBAAAoI,EAAAiB,UAAA5B,OACf,gBAbwB6B,EAAAC,GAAA,OAAAlC,EAAAlG,MAAA,KAAAuI,YAAA,GAenB02D,GAAU,eAAAx2D,EAAAtC,YAAAC,IAAAC,MAAG,SAAAqC,EAClBw2D,EACAz4D,EACA04D,GAAa,IAAAC,EAAA,OAAAh5D,IAAAY,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EAEK4oB,MAAMmvC,EAAc,CACrCrP,OAAQ,OACRtwC,KAAM9R,KAAKgB,UAAU,CAAE0wD,MAAOA,EAAO5lD,MAAO9S,MAC1C,KAAD,EAQD,OANkB,OALb24D,EAAGv2D,EAAAvB,MAKD+2B,QACH72B,OAAOqW,WAAarW,OAAOqW,UAAUle,MACxC6H,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,0BAGT0G,EAAA1B,KAAA,EAEYi4D,EAAIC,OAAO,KAAD,SAAAx2D,EAAAZ,OAAA,SAAAY,EAAAvB,MAAA,wBAAAuB,EAAAX,UAAAQ,OACvB,gBAnBeL,EAAAC,EAAAQ,GAAA,OAAAL,EAAAzI,MAAA,KAAAuI,YAAA,GAqBH+2D,GAAmBlvC,aAC/B,CACCvV,GAAI,YACJwV,QAAS,OACTC,QAAS,CACRxpB,IAAK,GACLP,OAAQ,GACRgT,MAAO,GACPsvB,aAAc,EACd1V,oBAAqB,EACrBvc,OAAQ,EACRmZ,MAAO,EACP84B,QAAS,KACTlgB,QAAS,GACT17B,aAAc,GACd67C,qBAAsB,GACtBC,QAAS,KACT9mD,MAAO,KACPwE,YAAa,GACbuiD,OAAQ,KACRuW,eAAgB,CACfnoD,QAAS,GACTkD,KAAM,KAGRiW,OAAQ,CACPC,KAAM,GACNxnB,QAAS,CACRynB,OAAQ,CACP5V,GAAI,UACJ/Y,IAAK,SAACwuB,GAAO,OAAKtlB,GAAOslB,EAAQ/pB,OAAQ+pB,IACzCI,OAAQ,CACP/tB,OAAQ,UACRqD,QAAS,mBAEV2qB,QAAS,CACRhuB,OAAQ,UACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgnD,EAAG9mD,GACV,MAAM,UAANiF,OAAiBjF,EAAMtD,KAAK+a,SAASykB,OAAM,OAAAj3B,OAAMjF,EAAMtD,KAAK+a,SAAS0kB,kBAM1EkhC,WAAY,CACX/uC,OAAQ,CACP5V,GAAI,aACJ/Y,IAAK,SAACwuB,EAASnuB,GAAK,OACnB88D,GAAW98D,EAAM+8D,aAAc5uC,EAAQ7pB,YAAatE,EAAMg9D,QAC3DzuC,OAAQ,CACP/tB,OAAQ,iBACRqD,QAASqH,aAAO,CACfkyD,eAAgB,SAACjvC,EAASnuB,GAAK,OAAKA,EAAMtD,SAG5C8xB,QAAS,CACRhuB,OAAQ,iBACRqD,QAASqH,aAAO,CACfkyD,eAAgB,SAACjvC,EAASnuB,GAAK,OAAKA,EAAMtD,WAK9C4gE,UAAW,CACV1lB,MAAO,CAAC,gBACRC,OAAQ,CAAC,CAAEr3C,OAAQ,UAEpBkuB,QAAS,GACTC,QAAS,GACT4uC,eAAgB,GAChBC,eAAgB,IAEjB5uC,GAAI,CACHm4B,KAAM,CACLvmD,OAAQ,UACRqD,QAAS,CAAC,cAAe,mBAE1BmjD,aAAc,CACbxmD,OAAQ,UACRqD,QAAS,CAAC,cAAe,iBAAkB,cAE5Ci0C,MAAO,CACNt3C,OAAQ,aAETymD,UAAW,CACVzmD,OAAQ,UACRqD,QAAS,CAAC,WAAY,iBAAkB,cAEzCsjD,cAAe,CACd3mD,OAAQ,UACRqD,QAAS,CAAC,eAAgB,iBAAkB,cAE7CujD,cAAe,CACd5mD,OAAQ,UACRqD,QAAS,CAAC,eAAgB,iBAAkB,cAE7CwjD,KAAM,CACL7mD,OAAQ,UACRqD,QAAS,CAAC,OAAQ,iBAAkB,cAErC45D,OAAQ,CACPj9D,OAAQ,cAETk9D,iBAAkB,CACjB75D,QAAS,eAIZ,CACCA,QAAS,CACRk0C,aAAc7sC,aAAO,CACpB9G,OAAQ,SAAC+pB,EAASnuB,GAAU,OAAKA,EAAMoE,QAAU+pB,EAAQ/pB,QACzDgT,MAAO,SAAC+W,EAASnuB,GAAU,OAAKA,EAAMoX,OAAS+W,EAAQ/W,OACvDovB,QAAS,SAACrY,EAASnuB,GAAU,OAAKA,EAAM8G,OAASqnB,EAAQqY,WAE1D8gB,UAAW,SAACn5B,EAASnuB,GAChBmuB,EAAQ7pB,YACX6pB,EAAQ04B,OAAOrpD,KAAK,GAADyH,OAAIkpB,EAAQxpB,IAAG,KAAAM,OAAIkpB,EAAQ7pB,cAE9C6pB,EAAQ04B,OAAOrpD,KAAK,GAADyH,OAAIkpB,EAAQxpB,OAGjC4iD,eAAgBr8C,aAAO,CACtB5G,YAAa,SAAC6pB,EAASnuB,GACtB,IAAMsE,EAAcgF,EAAkB,CACrC8N,MAAO+W,EAAQ/W,MACfwW,MAAOO,EAAQP,MACf9iB,aAAcqjB,EAAQw4B,qBACtBD,QAASv4B,EAAQu4B,UAGlB,OAAOpiD,GAAe,MAGxBmS,gBAAiBvL,aAAO,CACvBw7B,aAAc,SAACvY,EAASnuB,GAAK,OAAKA,EAAMtD,KAAKA,KAAKgqC,cAClDkgB,QAAS,SAACz4B,EAASnuB,GAAK,OAAKA,EAAMtD,KAAKA,KAAKkqD,SAC7CpgB,QAAS,SAACrY,EAASnuB,GAAK,OAAKA,EAAMtD,KAAKA,KAAK8pC,SAC7C17B,aAAc,SAACqjB,EAASnuB,GAAK,OAAKA,EAAMtD,KAAKA,KAAKoO,gBAEnD28C,aAAcv8C,aAAO,CACpB0iB,MAAO,SAACO,EAASnuB,GAAK,OAAKmuB,EAAQ6C,qBACnC21B,qBAAsB,SAACx4B,EAASnuB,GAAK,OAAK,QAE3C0nD,YAAax8C,aAAO,CACnB0iB,MAAO,SAACO,EAASnuB,GAAK,OAAKmuB,EAAQ6C,qBACnC5Z,MAAO,SAAC+W,EAASnuB,GAAK,OAAKA,EAAMoX,SAElCuwC,SAAUz8C,aAAO,CAChB0iB,MAAO,SAACO,EAASnuB,GAAK,OAAKA,EAAM4tB,SAElCg6B,aAAc18C,aAAO,CACpB0iB,MAAO,SAACO,EAASnuB,GAAK,OAAKmuB,EAAQ6C,qBACnC21B,qBAAsB,SAACx4B,EAASnuB,GAC/B,OAAOA,EAAM8K,gBAGf4U,KAAMxU,aAAO,CACZ0iB,MAAO,SAACO,EAASnuB,GAAK,OAAKmuB,EAAQ6C,qBACnC01B,QAAS,SAACv4B,EAASnuB,GAAK,OAAKA,EAAM0mD,WAEpCiX,UAAWzyD,aAAO,CACjBkyD,eAAgB,SAACjvC,EAASnuB,GAAK,OAAKA,EAAMo9D,qBClF/BQ,GA7HyB,SAAH75D,GAS9B,IARNkR,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACAhR,EAAUhrB,EAAVgrB,WACAiuB,EAAOj5C,EAAPi5C,QACAx5C,EAAKO,EAALP,MACAitB,EAAI1sB,EAAJ0sB,KACAotC,EAAU95D,EAAV85D,WACAz5D,EAAML,EAANK,OAEA6R,EAA0BC,mBAAS,IAAGC,EAAAC,aAAAH,EAAA,GAA/B+mD,EAAK7mD,EAAA,GAAE2nD,EAAQ3nD,EAAA,GAKtB,OACCrT,IAAAxD,cAAC2rC,KAAK,CACLh9B,UAAU,wCACVuN,SAAU,WACTiV,EAAK,mBAAoB,CACxB2sC,eAAgB,CAAEnoD,QAAS,GAAIkD,KAAM,MAEtC0lD,KAED/qC,cAAe,YAEfhwB,IAAAxD,cAAA,OAAK2O,UAAU,4BACdnL,IAAAxD,cAAA,OAAK2O,UAAU,oCACdnL,IAAAxD,cAAA,MAAI2O,UAAU,iBACZzK,EAAM2qB,QAAQivC,eAAenoD,QAC3BzR,EAAM2qB,QAAQivC,eAAenoD,QAC7BA,IAGLnS,IAAAxD,cAAA,OAAK2O,UAAU,oCACdnL,IAAAxD,cAAA,OAAK2O,UAAU,qCACfnL,IAAAxD,cAAA,KAAG2O,UAAU,QACXzK,EAAM2qB,QAAQivC,eAAejlD,KAC3B3U,EAAM2qB,QAAQivC,eAAejlD,KAC7B4nB,GAEFv8B,EAAM2qB,QAAQivC,eAAenoD,QA8D9BnS,IAAAxD,cAAA,OAAK2O,UAAU,mCACdnL,IAAAxD,cAAA,OAAK2O,UAAU,qCACfnL,IAAAxD,cAAC2Z,KAAM,CACNhL,UAAU,OACVoL,MAAM,OACNoJ,QAAS,WACRgO,EAAK,mBAAoB,CACxB2sC,eAAgB,CAAEnoD,QAAS,GAAIkD,KAAM,MAEtC0lD,MAED,aAxEF/6D,IAAAxD,cAAAwD,IAAAiU,SAAA,KACEimC,GACAl6C,IAAAxD,cAAA,OAAK2O,UAAU,4BACdnL,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,OAAOnL,UAAU,iBAAiBsL,eAAA,IAE5CyjC,EAAQ3yC,KAAI,SAACJ,GAAW,OAAKA,EAAOs0C,cAAYh0C,KAAK,OAIxDzH,IAAAxD,cAAC0X,KAAI,CACJ/I,UAAU,WACViJ,SAAU,SAACtY,GACV6xB,EAAK,SAAU,CACdssC,aAAoB,OAAN34D,QAAM,IAANA,IAAU,GACxB44D,MAAOA,KAGTnlD,SAAU,SAACjZ,GACVk/D,EAASl/D,EAAEgD,SAGZkB,IAAAxD,cAAC+Y,KAAK,CAACpK,UAAU,QAAQqK,QAAS,QAASC,UAAU,GAAM,UAG3DzV,IAAAxD,cAACmZ,KAAK,CACL/X,KAAK,QACLJ,KAAK,QACLoY,GAAG,QACHnE,MAAM,SACNe,QAAQ,yDACRC,eAAe,sCACfoD,kBAAmB,4BACnB/W,MAAOo7D,IAERl6D,IAAAxD,cAACsZ,KAAS,CAACC,QAAS,UAEpB/V,IAAAxD,cAAA,OAAK2O,UAAU,mCACdnL,IAAAxD,cAAA,OAAK2O,UAAU,qCACdzK,EAAM81B,QAAQ,cACdx2B,IAAAxD,cAAC6Z,KAAI,CACJlL,UAAU,OACVmL,KAAK,SACLnM,KAAM,EACNqM,QAAQ,OACRD,MAAM,UACN+Z,aAAW,WAGZtwB,IAAAxD,cAAC2Z,KAAM,CACNhL,UAAU,OACViL,UAAW8jD,EAAMe,MA/E1B,ibAgFSz9D,KAAK,SACL+Y,MAAM,QAEL0V,UCrFNyvB,GAAqB,SAC1BxB,GAEA,IAAIqB,EAAwC,GAc5C,OAZArB,EAAQlnC,SAAQ,SAAC7L,GAChBA,EAAOP,QAAQoM,SAAQ,SAAC8nC,EAAQt/B,GAC3Bs/B,EAAOzzC,UACVk0C,EAAgB7gD,KAAK,CACpB8gD,SAAS,GAADr5C,OAAKgF,EAAOO,KAAI,KAAAvF,OAAIqZ,GAC5BigC,WAAYX,EAAOl9C,MAAQk9C,EAAOxzC,KAClCyzC,gBAAiB5zC,EAAO4zC,wBAMrBQ,GCfF2f,GAAa,CAClBhtB,gBACAC,gBAEAa,0BACAgB,0BACAmrB,qBACAC,kBACArqB,oCACAmE,iCACAkB,4BACAoB,8BACAI,2BACAyjB,sCACAC,0CACAC,kDACAC,4CACAniB,kBACAC,oBACAC,2BACAQ,kCACA0hB,mBACAhc,uBACAic,gBACAtjB,2BACAujB,0CACAC,mDACAC,oCACAC,0CACAC,qCACAC,4CACAC,sCACAC,yCACAC,sCACAC,+CACA7C,6BACAC,+BACAC,sCACAC,kCACAC,+BACAC,wBACAyC,gBC3EuD,SAAHp7D,GAe9C,IAdNkR,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACAq/B,EAAYr7D,EAAZq7D,aACAhlB,EAAOr2C,EAAPq2C,QACA1U,EAAI3hC,EAAJ2hC,KACAjF,EAAM18B,EAAN08B,OACA4+B,EAASt7D,EAATs7D,UACAC,EAAUv7D,EAAVu7D,WACAC,EAAUx7D,EAAVw7D,WACAC,EAAaz7D,EAAby7D,cACAC,EAAS17D,EAAT07D,UACAC,EAAO37D,EAAP27D,QACAC,EAAc57D,EAAd47D,eACAC,EAAU77D,EAAV67D,WAEA,OACC98D,IAAAxD,cAACikC,GAAU,KACVzgC,IAAAxD,cAAA,OAAK2O,UAAU,sDACbmxD,GACAt8D,IAAAxD,cAAC23B,KAAI,CAAChpB,UAAU,UACfnL,IAAAxD,cAAC+3B,KAAI,KACJv0B,IAAAxD,cAACsO,GAAI,CACJrI,KAAK,IACLkd,QAAS,kBAAMpd,OAAOI,QAAQo6D,QAC9B5xD,UAAU,8BACVgQ,WAAS,eAETnb,IAAAxD,cAAC6Z,KAAI,CACJI,eAAa,EACbH,KAAK,UACLnM,KAAM,IACNgB,UAAU,SACT,kCAMNnL,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,mDAEVnL,IAAAxD,cAAC+3B,KAAI,KACJv0B,IAAAxD,cAAC23B,KAAI,CACJ3iB,SAAS,EACTrG,UAAU,mEAEVnL,IAAAxD,cAAC+3B,KAAI,CACJC,KAAM,GACNC,QAAS,EACTtpB,UAAU,oEAEVnL,IAAAxD,cAAA,WACE2V,GACAnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAKxE,QAAQ,EAAOzF,UAAU,QACrCgH,GAGFmlC,GACAt3C,IAAAxD,cAAA,KAAG2O,UAAU,kCAAiC,sBACzBmsC,GAGrBra,GACAj9B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIjK,UAAU,oBACrB8xB,GAGFU,GACA39B,IAAAxD,cAAC2Z,KAAM,CACNI,MAAM,OACNpL,UAAU,OACViK,GAAG,IACH3S,KAAMk7B,EAAO97B,IACbnE,OAAO,SACP2Q,IAAI,sBACJwR,qBAAoB8d,EAAOtoB,MAE1BsoB,EAAOtoB,KACRrV,IAAAxD,cAAC6Z,KAAI,CAAClL,UAAU,OAAOmL,KAAMqnB,EAAOrnB,KAAMnM,KAAM,SAIlDoyD,GACAv8D,IAAAxD,cAAA,OAAK2O,UAAU,kEACdnL,IAAAxD,cAACsb,GAAY,CAACgB,KAAK,OAAOf,UAAWwkD,EAAUxkD,cAKlD/X,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAA,OACCuH,QAAQ,OACRlH,IAAK+lC,EACL7mB,IAAK0gD,EACLtxD,UAAU,8BAEXnL,IAAAxD,cAAA,UACCwD,IAAAxD,cAAA,MAAI2O,UAAU,SAASqxD,GACvBx8D,IAAAxD,cAAA,MAAI2O,UAAU,iBAAiBsxD,GAC/Bz8D,IAAAxD,cAAA,MAAI2O,UAAU,QAAO,wBACrBnL,IAAAxD,cAAA,MAAI2O,UAAU,iBACbnL,IAAAxD,cAAA,UACe,OAAbkgE,QAAa,IAAbA,OAAa,EAAbA,EAAen1D,KAAI,SAACy1D,EAAmB9iE,GAAS,OAChD8F,IAAAxD,cAAA,MAAI4C,IAAKlF,GAAI8iE,QAIfL,GACA38D,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAA,MAAI2O,UAAU,QAAO,cACrBnL,IAAAxD,cAAA,MAAI2O,UAAU,iBAAiBwxD,IAGhCC,GACA58D,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAA,MAAI2O,UAAU,QAAO,aACrBnL,IAAAxD,cAAA,MAAI2O,UAAU,iBAAiByxD,IAGhCE,GACA98D,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAA,MAAI2O,UAAU,QAAO,gBACrBnL,IAAAxD,cAAA,MAAI2O,UAAU,iBAAiB2xD,KAIlC98D,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK8nC,QAAQ,IAAItsC,QAAQ,EAAOzF,UAAU,SACjD0xD,EAAeziE,OAAS,EACtB,kBACA,iBAEJ4F,IAAAxD,cAAA,MAAI2O,UAAU,SACZ0xD,EAAet1D,KAAI,SAAC01D,EAAS/iE,GAAS,OACtC8F,IAAAxD,cAAA,MAAI4C,IAAKlF,GACR8F,IAAAxD,cAAA,KAAG2O,UAAU,gCAAgC8xD,EAAGr/D,MAChDoC,IAAAxD,cAAA,KACCsQ,MAAOmwD,EAAG7vB,MACVjiC,UAAU,YACV1I,KAAI,OAAAN,OAAS86D,EAAG7vB,QAEf6vB,EAAG7vB,OAELptC,IAAAxD,cAAA,KACCsQ,MAAOmwD,EAAG/C,MACV/uD,UAAU,qDACV1I,KAAI,UAAAN,OAAY86D,EAAG/C,QAElB+C,EAAG/C,mBD1EfgD,mBDxB6D,SAAHj8D,GAapD,IAADk8D,EAAA7X,EAZAG,EAAUxkD,EAAfY,IACAP,EAAML,EAANK,OACA87D,EAAWn8D,EAAXm8D,YACAjrD,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACAuQ,EAAUvsC,EAAVusC,WACAusB,EAAa94D,EAAb84D,cACA7rC,EAAmBjtB,EAAnBitB,oBACAqzB,EAAiBtgD,EAAjBsgD,kBACAiE,EAAYvkD,EAAZukD,aACAhlC,EAAkBvf,EAAlBuf,mBACA68C,EAAap8D,EAAbo8D,cAEAlqD,EAA8CC,oBAAS,GAAMC,EAAAC,aAAAH,EAAA,GAAtDmqD,EAAejqD,EAAA,GAAEkqD,EAAkBlqD,EAAA,GAC1CG,EAA0BJ,oBAAS,GAAMK,EAAAH,aAAAE,EAAA,GAAlCgqD,EAAK/pD,EAAA,GAAEgqD,EAAQhqD,EAAA,GAEhB+9B,EAAcjmC,YAAYjH,GAC1BsI,EAAWrB,YAAY7G,GACvBlC,EAAWyU,eACT3C,EAAUoJ,KAAYjV,MAAMjG,EAASuD,QAArCuO,MACF3R,EAAUuW,eACVohC,EAAgBC,eACtB/sB,EAAsBC,aAAW4sC,GAAkB,CAClDhvC,QAAS,CACR/pB,OAAQA,EACRgT,MAAOA,EACPwvC,QAAqB,OAAZ0B,QAAY,IAAZA,OAAY,EAAZA,EAAc1B,QACvBpgB,SAAqB,OAAZ8hB,QAAY,IAAZA,OAAY,EAAZA,EAAc9hB,UAAW,GAClC17B,aAA0B,OAAZw9C,QAAY,IAAZA,OAAY,EAAZA,EAAcx9C,aAC5B67C,sBACa,OAAZ2B,QAAY,IAAZA,OAAY,EAAZA,EAAcx9C,eACdD,GAAkC,OAAZy9C,QAAY,IAAZA,OAAY,EAAZA,EAAcx9C,cACrC8iB,MAAmB,OAAZ06B,QAAY,IAAZA,OAAY,EAAZA,EAAc16B,MACrBoD,oBAAqBA,EACrB61B,OAAQphD,EACRihC,aAA0B,OAAZ4hB,QAAY,IAAZA,OAAY,EAAZA,EAAc5hB,gBAE5BlW,EAAApa,aAAAka,EAAA,GAfK9sB,EAAKgtB,EAAA,GAAEC,EAAID,EAAA,GAiBlBlqB,EACC9C,EAAM2qB,SAAW,GADVP,EAAKtnB,EAALsnB,MAAO84B,EAAOpgD,EAAPogD,QAASlgB,EAAOlgC,EAAPkgC,QAASogB,EAAOtgD,EAAPsgD,QAAS97C,EAAYxE,EAAZwE,aAAc47B,EAAYpgC,EAAZogC,aAGxDhwB,EAA8BR,mBAASpL,GAAgB,IAAG6L,EAAAP,aAAAM,EAAA,GAAnDsmC,EAAOrmC,EAAA,GAAEwmC,EAAUxmC,EAAA,GAuBpB2mC,EAAiB,SACtB1+C,EACA2+C,GAEA,IAAMC,EAAoClyC,KAAKC,MAC9CD,KAAKgB,UAAU0wC,IAGhB,GAAIp+C,EAAG,CACN,IAAA6+C,EAA8B7+C,EAAE8+C,cAAxBhlC,EAAE+kC,EAAF/kC,GAAIhY,EAAI+8C,EAAJ/8C,KAAMi9C,EAAOF,EAAPE,QAClBH,EAAa1nC,SAAQ,SAAC7L,GAAM,OAC3BA,EAAOP,QAAQoM,SAAQ,SAAC8nC,EAAQt/B,GAC3BrU,EAAOO,OAAS9J,GAAQ,GAAAuE,OAAGgF,EAAOO,KAAI,KAAAvF,OAAIqZ,KAAY5F,IACzDklC,EAAOzzC,SAAWwzC,EACbA,IAGF1zC,EAAO4zC,kBAFP5zC,EAAO4zC,4BAOHN,GACVC,EAAa1nC,SAAQ,SAAC7L,GAAM,OAC3BA,EAAOP,QAAQoM,SAAQ,SAAC8nC,EAAQt/B,GAC3B,GAAArZ,OAAGgF,EAAOO,KAAI,KAAAvF,OAAIqZ,KAAYi/B,IACjCK,EAAOzzC,UAAW,IAChBF,EAAO4zC,uBAMbptB,EAAK,gBAAiB,CACrB3lB,aAAc0yC,IAGfL,EAAWK,IA8EZ,OA3EAlhC,qBAAU,WACLlF,GAASA,EAAMla,OAAS,GACvBmI,OAAOqW,WAAarW,OAAOqW,UAAUle,MACxC6H,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,cACP+jD,YAAa3sC,EACbopD,mBAAoB95B,MAYrB,CAACA,IAEJpqB,qBAAU,WACL8gC,GAAiB/3C,OAAOqW,WAAarW,OAAOqW,UAAUle,OACzD6H,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,WACPu0C,SAAS,GAADtvC,OAAKK,EAASkvC,SAAWlvC,EAASuD,QAC1C4rC,UAAmB,OAAR/kC,QAAQ,IAARA,OAAQ,EAARA,EAAUE,MACrB8kC,SAAqB,OAAXJ,QAAW,IAAXA,OAAW,EAAXA,EAAa/iC,YAGpBlM,OAAO20C,iBACV30C,OAAO20C,gBAAgBC,WAGvB,IAEH39B,qBAAU,WACJ8gC,IACJ3sB,EAAK,QAAS,CACbrZ,MAAmB,OAAZkxC,QAAY,IAAZA,OAAY,EAAZA,EAAclxC,MACrBovB,QAAS8hB,IAGV73B,EAAK,SAAU,CACdrZ,QACAwW,MAAOoD,OAIP,CAACu3B,IAEJjsC,qBAAU,WACJ8gC,GACS,MAAThmC,GAAiBA,IAAU5T,EAAM2qB,QAAQ/W,OAC5CqZ,EAAK,OAAQ,CACZrZ,YAMD,CAACA,IAEJkF,qBAAU,WACL8gC,GACHJ,GACCA,EACE/yC,QAAO,SAACQ,GAAC,OAAKA,EAAEg2D,mBAChBp2D,KAAI,SAACI,GACLA,EAAEf,QAAQW,KAAI,SAACH,GACdA,EAAEC,UAAYk2D,GAAmB,YAOtCv9D,IAAAxD,cAACikC,GAAU,KACT+8B,GAASH,GACTr9D,IAAAxD,cAACohE,GAAqBvjE,OAAA+N,OAAA,CACrB8xC,QAASA,GAAWwB,GAAmBxB,GACvC6gB,WAAY,kBAAM0C,GAAS,IAC3B/8D,MAAOA,EACPitB,KAAMA,GACF0vC,IAINr9D,IAAAxD,cAAA,OAAK2O,UAAU,mBACdnL,IAAAxD,cAACmxC,KAAU,KACV3tC,IAAAxD,cAAC23B,KAAI,CAAC3iB,SAAS,EAAOrG,UAAU,gBAC/BnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,IACb,OAAV+Y,QAAU,IAAVA,OAAU,EAAVA,EAAYr7B,UACZnS,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,KAAKxE,QAAQ,EAAOzF,UAAU,iBACrCqiC,EAAWl3B,MACXtW,IAAAxD,cAAC6Z,KAAI,CACJC,KAAMk3B,EAAWl3B,KACjBnM,KAAM,EACNgB,UAAU,oDACVsL,eAAa,IAGJ,OAAV+2B,QAAU,IAAVA,OAAU,EAAVA,EAAYr7B,QACbnS,IAAAxD,cAAA,QAAM2O,UAAU,WAAWgH,KAGlB,OAAVq7B,QAAU,IAAVA,OAAU,EAAVA,EAAYvQ,WACZj9B,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,IAAIxE,QAAQ,GACT,OAAV48B,QAAU,IAAVA,OAAU,EAAVA,EAAYvQ,WAIhBj9B,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGtpB,UAAU,oBACrCnL,IAAAxD,cAAA,KACC2e,WAAS,eACThQ,UAAU,+FACV1I,KAAsB,QAAlB06D,EAAa,OAAXC,QAAW,IAAXA,OAAW,EAAXA,EAAav7D,WAAG,IAAAs7D,IAAI,IAEd,OAAXC,QAAW,IAAXA,OAAW,EAAXA,EAAa/nD,KAAK,IAACrV,IAAAxD,cAAC6Z,KAAI,CAAClL,UAAU,OAAOmL,KAAK,cAMrDtW,IAAAxD,cAAA,OAAK2O,UAAU,YACdnL,IAAAxD,cAAC23B,KAAI,CAAC3iB,SAAS,EAAOrG,UAAU,gBAC9B4uD,GACA/5D,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIrpB,UAAU,YAAYgQ,WAAS,iBAC9Cnb,IAAAxD,cAAA,MAAI2O,UAAU,mBACZ4uD,EAAcxyD,KAAI,SAAC6G,EAAMoN,GAAK,OAC9Bxb,IAAAxD,cAAA,MAAI4C,IAAKoc,GACRxb,IAAAxD,cAACsO,GAAI,CACJE,GAAIoD,EAAKvM,IACTsJ,UAAWoM,aACVnJ,EAAKwf,UAAY,yBACjB,+BAGAxf,EAAKiH,cASdrV,IAAAxD,cAAA,OAAK2O,UAAU,mBACdnL,IAAAxD,cAAC23B,KAAI,CAAC3iB,SAAS,EAAOrG,UAAU,gBAC/BnL,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGtpB,UAAU,QACpCgH,GACAnS,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,KAAKjK,UAAU,cACtBgH,GAGF8qB,GAAYj9B,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,KAAK6nB,GAE3Bj9B,IAAAxD,cAACsmC,MAAW,CACX33B,UAAU,OACVyK,GAAG,gCACHnE,MAAwB,OAAjB8vC,QAAiB,IAAjBA,IAAqB,SAC5Bre,YAAY,yBACZ9uB,SA9NgB,SAACtY,GACtB6xB,EAAK,eAAgB,CACpBrZ,MAAOxY,EAAE+hE,iCA6NLvrD,aAAcgC,EAAQA,EAAMsmB,gBAAa98B,EACzCiX,SAAU,SAACjZ,GAAM,MACJ,KAAZA,EAAEgD,OACF6uB,EAAK,eAAgB,CACpBrZ,MAAO,SAMXtU,IAAAxD,cAAC+3B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBz0B,IAAAxD,cAAA,YACCwD,IAAAxD,cAAA,OAAK2O,UAAU,+DACN,OAAP+uC,QAAO,IAAPA,OAAO,EAAPA,EACE/yC,QAAO,SAACwS,GAAC,OAAMA,EAAEgkD,mBAClBp2D,KAAI,SAACJ,EAAQjN,GAAC,OACd8F,IAAAxD,cAAA,OAAK2O,UAAU,eAAe/L,IAAK+H,EAAOO,MACzC1H,IAAAxD,cAAC0+C,KAAmB,CACnBqG,kBAAmB,UAASp6C,EAAOvJ,KAAKue,cACxC2lC,eAAgB36C,EAAOP,QAAQxM,QAAU,KAAM,EAC/Cwb,GAAE,GAAAzT,OAAKgF,EAAOO,KAAI,KAAAvF,OAAIjI,GACtB+uB,OAAQ9hB,EAAOvJ,KACfuN,UAAU,WACV4vC,gBAAiB5zC,EAAO4zC,gBACxBgH,kBAAkB,6CAEjB56C,EAAOP,QAAQW,KAAI,SAACuzC,EAAQt/B,GAAK,OACjCxb,IAAAxD,cAAC4+C,KAAiB,CACjBh8C,IAAKoc,EACL5F,GAAE,GAAAzT,OAAKgF,EAAOO,KAAI,KAAAvF,OAAIqZ,GACtBq/B,QAASC,EAAOzzC,SAChBzJ,KAAMuJ,EAAOO,KACb5I,MAAOg8C,EAAOxzC,KACd8O,SAAU0kC,EAAO1kC,SACjBrB,SAAUylC,EAEVc,cAAan0C,EAAOvJ,KACpBkgE,oBAAmBhjB,EAAOl9C,MAEzBk9C,EAAOl9C,eAOd0/D,GACAt9D,IAAAxD,cAAA,KACC2O,UAAU,yEACVwU,QAAS,kBAAM49C,GAAmB,IAClCQ,qBAAmB,gBACnB,sBAEA/9D,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLnM,KAAM,KACNsV,UAAU,OACVtU,UAAU,UAIZmyD,GACAt9D,IAAAxD,cAAA,OAAK2O,UAAU,+DACN,OAAP+uC,QAAO,IAAPA,OAAO,EAAPA,EACE/yC,QAAO,SAACwS,GAAC,OAAKA,EAAEgkD,mBACjBp2D,KAAI,SAACJ,EAAQjN,GAAC,OACd8F,IAAAxD,cAAA,OAAK2O,UAAU,eAAe/L,IAAK+H,EAAOO,MACzC1H,IAAAxD,cAAC0+C,KAAmB,CACnBqG,kBAAmB,UAASp6C,EAAOvJ,KAAKue,cACxC2lC,eAAgB36C,EAAOP,QAAQxM,QAAU,KAAM,EAC/Cwb,GAAE,GAAAzT,OAAKgF,EAAOO,KAAI,KAAAvF,OAAIjI,GACtB+uB,OAAQ9hB,EAAOvJ,KACfuN,UAAU,WACV4vC,gBAAiB5zC,EAAO4zC,gBACxBgH,kBAAkB,6CAEjB56C,EAAOP,QAAQW,KAAI,SAACuzC,EAAQt/B,GAAK,OACjCxb,IAAAxD,cAAC4+C,KAAiB,CACjBh8C,IAAKoc,EACL5F,GAAE,GAAAzT,OAAKgF,EAAOO,KAAI,KAAAvF,OAAIqZ,GACtBq/B,QAASC,EAAOzzC,SAChBzJ,KAAMuJ,EAAOO,KACb5I,MAAOg8C,EAAOxzC,KACd8O,SAAU0kC,EAAO1kC,SACjBrB,SAAUylC,EAEVc,cAAan0C,EAAOvJ,KACpBkgE,oBAAmBhjB,EAAOl9C,MAEzBk9C,EAAOl9C,gBAQd0/D,GACDt9D,IAAAxD,cAAA,KACC2O,UAAU,iEACVwU,QAAS,kBAAM49C,GAAmB,IAClCQ,qBAAmB,qBACnB,mBAEA/9D,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLnM,KAAM,KACNsV,UAAU,KACVtU,UAAU,UAIbnL,IAAAxD,cAAA,OAAK2O,UAAU,uBACb+uC,GACAwB,GAAmBxB,GAAS3yC,KAAI,SAAC6G,EAAMlU,GAAC,OACvC8F,IAAAxD,cAACm/C,KAAU,CACVh8B,QAAS,WACR66B,OAAe18C,EAAWsQ,EAAKotC,WAEhCrwC,UAAU,YACV/L,IAAKlF,EACL2lB,qBAAmB,gBAEnB7f,IAAAxD,cAAA,QAAM2O,UAAU,WAAU,SACzBiD,EAAKqtC,eAGRvB,GAAWwB,GAAmBxB,GAAS9/C,OAAS,GAChD4F,IAAAxD,cAACs9B,KAAgB,CAChBja,qBAAmB,eACnByQ,aAAW,eACXnlB,UAAU,YACVwU,QAAS,YA7VG,WACpB,IAAM+6B,EAAoClyC,KAAKC,MAC9CD,KAAKgB,UAAU0wC,IAEhBvsB,EAAK,iBACL+sB,EAAa1nC,SAAQ,SAAC7L,GAAM,OAC3BA,EAAOP,QAAQoM,SAAQ,SAAC8nC,EAAQt/B,GAC/Bs/B,EAAOzzC,UAAW,IAChBF,EAAO4zC,sBAIXV,EAAWK,GAkVFiK,KAED,eACa,IACb3kD,IAAAxD,cAAC6Z,KAAI,CACJI,eAAa,EACbH,KAAK,WACLnL,UAAU,gBAKb+uC,GAAWwB,GAAmBxB,GAAS9/C,OAAS,GAChD4F,IAAAxD,cAACs9B,KAAgB,CAChBna,QAAS,SAAC7jB,GACTA,EAAEyd,iBACFkkD,GAAS,IAEV59C,qBAAmB,iBACnB1U,UAAU,kBACV,oBAEAnL,IAAAxD,cAAC6Z,KAAI,CACJI,eAAa,EACbH,KAAK,OACLnM,KAAM,IACNgB,UAAU,YAOfnL,IAAAxD,cAAC+3B,KAAI,CACJC,KAAM,GACNC,QAAS,EACTtpB,UAAU,sCAEVnL,IAAAxD,cAAA,OAAK2O,UAAU,4CACby4B,GAAgBA,EAAe,EAC/B5jC,IAAAxD,cAAA,OACC2O,UAAWoM,aACVusC,GAA4B,IAAjBlgB,GAAsB,OACjC,yBAGAA,EAAa,UACbA,EAAe,EAAI,KAAO,IAG5B5jC,IAAAxD,cAAA,OACC2O,UAAU,uBACVyK,GAAG,iBACHuF,WAAS,wBACT,mBAKD2oC,GAAWlgB,EAAe,GAC1B5jC,IAAAxD,cAACwoD,GAAc,CACd/4B,YAGE,QAFDq5B,EAAAxB,EAAQzxC,QAAQ8O,MACf,SAAClL,GAA0B,OAAKA,EAAOvO,OAASk8C,YAChD,IAAA0B,OAAA,EAFDA,EAEG1nD,OAAQkmD,EAAQr1B,aAGnBq1B,EAAQzxC,QAAQ9K,KAChB,SAAC0O,EAA4BuF,GAC5B,OACCxb,IAAAxD,cAAA,UACC2O,UAAU,mEACVwU,QAAS,WACRgO,EAAK,OAAQ,CACZi2B,QAAS3tC,EAAOvO,QAGlB4zC,cAAawI,EAAQr1B,YACrB3vB,MAAOmX,EAAOrY,KACdwB,IAAKoc,GAEJvF,EAAOrY,YAQP,OAAP8lC,QAAO,IAAPA,OAAO,EAAPA,EAAStpC,QAAS,GAClBspC,EAAQn8B,KAAI,SAACzI,GAAU,OACtBkB,IAAAxD,cAACwhE,KAAgB,CAChB5+D,IAAKN,EAAMsK,WACXvH,IAAK/C,EAAM+C,IACXsQ,QAASrT,EAAMqT,QACfsqD,WAAY39D,EAAM29D,WAClBj4B,QAAS1lC,EAAM0lC,QACfk4B,cAAe59D,EAAM49D,cAAcj1D,KAAK,MACxC6vC,QAASx4C,EAAMw4C,aAIjB1T,EAAe9Y,GACf9qB,IAAAxD,cAAA,OAAK2O,UAAU,uBACdnL,IAAAxD,cAACsO,GAAI,CACJrI,KAAK,IACLod,qBAAoBW,EACpBrV,UAAS,iLAAAhJ,OAES,YAAhBzB,EAAM5B,MACH,6CACA,2CAA0C,wBAG/C6gB,QAAS,SAAC7jB,GACTA,EAAEyd,iBACFoU,EAAK,YAAa,CACjB7C,MAAOA,EAAQoD,MAIhB1N,EACgB,YAAhB9f,EAAM5B,OACNkB,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLC,MAAM,QACNC,QAAQ,OACRrM,KAAM,IACNgB,UAAU,OACVsL,eAAa,IAGE,YAAhB/V,EAAM5B,OACNkB,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAU,KACVlJ,MAAM,QACNpM,KAAM,IACNgB,UAAU,OACVsL,eAAa,WCngBvBwnD,qBEhFiE,SAAHh9D,GAKxD,IAJNkR,EAAOlR,EAAPkR,QACA8qB,EAAQh8B,EAARg8B,SACAhR,EAAUhrB,EAAVgrB,WACAiyC,EAAUj9D,EAAVi9D,WAEA,OACCl+D,IAAAxD,cAACikC,GAAU,KACVzgC,IAAAxD,cAAA,OAAK2O,UAAU,cACdnL,IAAAxD,cAAA,OAAK2O,UAAU,8CACdnL,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,OAAOnM,KAAM,EAAGsM,eAAA,IAC3BzW,IAAAxD,cAAA,MAAI2O,UAAU,uCAAuCgH,IAGtDnS,IAAAxD,cAAC23B,KAAI,CAAChpB,UAAU,QACfnL,IAAAxD,cAAC+3B,KAAI,CAACppB,UAAU,qCACfnL,IAAAxD,cAAA,KAAG2O,UAAU,uBAAuB8xB,GACpCj9B,IAAAxD,cAAC2Z,KAAM,CACNkd,cAAevoB,KACfK,UAAU,QACVH,GAAIkzD,EACJ3nD,MAAM,OACNnB,GAAG,KAEF6W,S,SCVFkyC,GAAyB,WAC9B,IAAMC,EAAcC,eAAdD,UACAz7D,EAAUuW,eACZ1X,EAAcyV,eAAclR,OAC5BtE,EAAawV,eAAcC,KAC/BknD,EAAYA,GAAa,IACzB,IAAMvhB,EAAc7oC,iBAAuB,MACrCsqD,EAAmBtqD,iBAAuB,MAC1CuqD,EAAUvqD,iBAAY,MACpBrT,EAAWuY,eAAXvY,OACFqI,EAAW8T,cACjB0hD,EAA2BjzD,YAAYlH,GAA/BrH,EAAKwhE,EAALxhE,MAAO+G,EAAOy6D,EAAPz6D,QACTytC,EAAcjmC,YAAYjH,GAC1BsI,EAAWrB,YAAY7G,GACvB7B,EAAY0I,YAAYvF,GACxBH,EAAQ0F,YAAY3F,GAC1B64D,EAAmClzD,YAAYyR,KAAvC0hD,EAAcD,EAAdC,eAAgBp9D,EAAMm9D,EAANn9D,OACxB6R,EAA0CC,oBAAS,GAAMC,EAAAC,aAAAH,EAAA,GAAlDwrD,EAAatrD,EAAA,GAAEurD,EAAgBvrD,EAAA,GAChCwrD,EHmDoB,SAACrtB,GAC3B,GAAIA,EAAa,CAChB,IAAI/zB,EAAYy9C,GAAM1pB,EAAY/iC,WAElC,GAAIgP,EACH,OAAOA,EAIT,OAAO0wB,GG5DM2wB,CAAYttB,GACnB8I,EAAgBC,eAIrBj5C,GACA88D,GACqC,MAArC98D,EAAOkK,OAAOlK,EAAOlH,OAAS,IACN,MAAxBgkE,EAAU5yD,OAAO,KAEjB4yD,EAAYA,EAAUW,OAAO,IAI9BvlD,qBAAU,WAAO,IAADvY,EAEXy9D,IAAmBM,KAAgBC,YAAcztB,EAChDjvC,QAAUM,IACbN,OAAOQ,UAAYF,EAAUC,UAQP,QAAvB7B,EAAC0B,EAAQH,SAAS9B,aAAK,IAAAO,OAAA,EAAvBA,EAAiCi+D,eACd,SAAnBv8D,EAAQhC,QAKTqI,EhI9BD,SACCm2D,EACA59D,EACAC,EACAC,GAAkB,sBAAAR,EAAAC,YAAAC,IAAAC,MAEnB,SAAAC,EAAO2H,GAAQ,IAAApP,EAAA,OAAAuH,IAAAY,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAEY,OAA1B8G,EAAS/E,KAAiBjC,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAGZlB,EAAWm+D,EAAa59D,EAAOC,EAAaC,GAAY,KAAD,EAApE7H,EAAIoI,EAAAK,KAAAL,EAAAE,KAAA,gBAIH,OAJGF,EAAAC,KAAA,EAAAD,EAAAqb,GAAArb,EAAA,SAEwB,MAAxBA,EAAAqb,GAAI1I,SAASykB,QAChBpwB,EAAS7E,EAAei7D,IACxBp9D,EAAAgB,OAAA,kBAIFgG,EAAS9E,EAAgBtK,IAAO,yBAAAoI,EAAAiB,UAAA5B,EAAA,kBAChC,gBAAA6B,GAAA,OAAAjC,EAAAlG,MAAA,KAAAuI,YAhBkB,GgI0BT+7D,CAAU/9D,EAAQ88D,EAAW58D,EAAaC,MAEjD,CAACH,EAAQ88D,EAAWp1D,IAGvBwQ,qBAAU,WACTxQ,EAASs2D,YAAqBN,KAAgBC,eAE5C,IAGHzlD,qBAAU,WACT,IAAI+lD,EAsBJ,OApBIx7D,EACHw7D,EAAgBxhE,YAAW,WAE1B6gE,GAAiB,GACb/hB,EAAYjoC,UACfioC,EAAYjoC,QAAQwF,UAAY,gBAEjCrc,YAAW,WACN8+C,EAAYjoC,UACfioC,EAAYjoC,QAAQwF,UAAY,MAE/B,OACD,MAEHwkD,GAAiB,GACF,SAAXj+D,GAAsBc,GACzBc,OAAOiwC,SAAS,EAAG,IAId,WACF+sB,GACHliE,aAAakiE,MAIb,CAACx7D,IAGJyV,qBAAU,WAKLg4B,IACCqL,EAAYjoC,UACfioC,EAAYjoC,QAAQwF,UAAY,qBAEjCrc,YAAW,WACN8+C,EAAYjoC,UACfioC,EAAYjoC,QAAQwF,UAAY,MAE/B,MAGDkgC,GACD/3C,OAAOi9D,mBACPj9D,OAAOi9D,kBAAkBC,aAEzBl9D,OAAOi9D,kBAAkBC,cAG1B1hE,YAAW,WACV,GAAIwgE,EAAQ3pD,QAAS,CACpB,IAAImiC,EAAIx0C,OAAOm9D,QACX7tD,EAAItP,OAAOo9D,QACf,GACCpjE,SAASqjE,YACTrjE,SAASsjE,gBAAkBvB,EAAiB1pD,QAC3C,CACD,IAAMkrD,EAAUvB,EAAQ3pD,QAAQsK,cAAc,MAC1C4gD,GACHA,EAAQljE,aAAa,YAAa,GAClCkjE,EAAQzvD,MAAM0vD,QAAU,OACxBD,EAAQjrD,SAER0pD,EAAQ3pD,QAAQC,QAGlBtS,OAAOiwC,SAASuE,EAAGllC,GAGpB,GAAIpQ,EAAY,CACf,IAAMu+D,EAAgBzjE,SAAS6iC,eAC9B39B,EAAWiB,UAAU,IAElBs9D,GACHz9D,OAAOiwC,SAAS,CACf3hC,IAAKmvD,EAAcztB,UACnBE,SAAU,cAIX,MAGFlwC,OAAOqW,WACPrW,OAAOqW,UAAUle,MACS,sCAA1B82C,EAAY/iC,WACc,6CAA1B+iC,EAAY/iC,WACc,uBAA1B+iC,EAAY/iC,WACc,6BAA1B+iC,EAAY/iC,WACc,qCAA1B+iC,EAAY/iC,YAEZlM,OAAOqW,UAAUle,KAAK,CACrBme,mBAAe/a,IAEhByE,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,WACPu0C,SAAUlvC,OAAOC,SAASkvC,UAAYF,EAAY3vC,IAClD8vC,UAAmB,OAAR/kC,QAAQ,IAARA,OAAQ,EAARA,EAAUE,MACrB8kC,SAAUJ,EAAY/iC,YAInBlM,OAAO20C,iBACV30C,OAAO20C,gBAAgBC,YAIxB,CAAC3F,EAAa5kC,IAEjB,IAAMqzD,EAAe,SAACC,GACrB3jE,SAAS+d,KAAKnP,UAAY,GAC1B5O,SAAS+d,KAAKoS,UAAUC,IAAI,YAAauzC,IAa1C,OAVA1mD,qBAAU,WACY,aAAZ,OAAL3T,QAAK,IAALA,OAAK,EAALA,EAAO0Q,OACV0pD,EAAa,UACa,OAAX,OAALp6D,QAAK,IAALA,OAAK,EAALA,EAAO0Q,OACjB0pD,EAAap6D,EAAM0Q,OAEnB0pD,EAAa,YAEZ,CAAM,OAALp6D,QAAK,IAALA,OAAK,EAALA,EAAO0Q,QAGVvW,IAAAxD,cAAAwD,IAAAiU,SAAA,KACElQ,GAAW46D,GACX3+D,IAAAxD,cAAA,OAAK2O,UAAU,iFACdnL,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,SAASnM,KAAM,EAAGqM,QAAQ,OAAOD,MAAM,aAGnDvZ,IAAmC,IAA1BA,EAAMsY,QAAQ,QAAiBtV,IAAAxD,cAAC2xC,GAAY,CAACnxC,MAAOA,IAC7Dw0C,IAAgBx0C,GAChBgD,IAAAxD,cAAA,OAAKoa,IAAK2nD,EAAS5nD,UAAW,EAAGtG,MAAO,CAAE0vD,QAAS,SAClD//D,IAAAxD,cAACqiE,EAASrtB,IAGZxxC,IAAAxD,cAAA,OAAK2O,UAAU,UAAUmwB,YAAU,YAAY1kB,IAAKimC,IACpD78C,IAAAxD,cAAA,OACCma,UAAW,EACXC,IAAK0nD,EACLjuD,MAAO,CAAE0vD,QAAS,Y,0CCrNTI,GAAgB,CAAC,gBAGjBhkC,GAAqBikC,wBAAmB,IA6CtCC,GA/BuB,SAAHp/D,GAAoB,IAAdq/D,EAAMr/D,EAANq/D,OAElC99D,EAda,SAACgvC,GACpB,IAAIhvC,EAAW,GAQf,OANe,OAAXgvC,QAAW,IAAXA,OAAW,EAAXA,EAAa3vC,KAChBW,EAAWgvC,EAAY3vC,IACK,qBAAXU,SACjBC,EAAWD,OAAOC,SAASkvC,UAGrBlvC,EAKU+9D,CADGh1D,YAAYjH,IAE1B+3B,EAAsBmkC,aAAatoC,GAAqB,CAC7Ds+B,UAAU,IAYX,OAVA35C,KClCArD,qBAAU,WACT,IAAMinD,EAAU,SAACvjE,GAChB,IAAMwjE,EAAKxjE,EAAMQ,OACXijE,EAAUzjE,EAAMyjE,QAAUzjE,EAAMyjE,QAAUzjE,EAAM0jE,OAK9C,IAFP,CAAC,IAAK,SAAU,QAAS,WAAY,UAAUtrD,QAC9CorD,EAAGG,QAAQ1kD,gBAEXukD,EAAGI,aAAa,aACL,IAAZH,GAEAD,EAAGh0C,UAAUC,IAAI,yBAIbhN,EAAU,SAACziB,GAChB,IAAMwjE,EAAKxjE,EAAMQ,QAEgD,IAA7D,CAAC,QAAS,YAAY4X,QAAQorD,EAAGG,QAAQ1kD,gBAC5CukD,EAAGh0C,UAAUC,IAAI,yBAIb4mC,EAAS,SAACr2D,GACf,IAAMwjE,EAAKxjE,EAAMQ,OAEbgjE,EAAGh0C,WAAag0C,EAAGh0C,UAAUq0C,SAAS,yBACzCL,EAAGh0C,UAAUI,OAAO,yBAQtB,OAJAvwB,SAASqd,iBAAiB,QAAS6mD,GACnClkE,SAASqd,iBAAiB,QAAS+F,GACnCpjB,SAASqd,iBAAiB,OAAQ25C,GAAQ,GAEnC,WACNh3D,SAASsd,oBAAoB,QAAS4mD,GACtClkE,SAASsd,oBAAoB,QAAS8F,GACtCpjB,SAASsd,oBAAoB,OAAQ05C,GAAQ,MAE5C,IDJH/5C,qBAAU,WACT,IAAIwnD,KAAY,cAGhBC,KAAgB,QACd,IAGFjhE,IAAAxD,cAAC2/B,GAAmB+kC,SAAQ,CAACpiE,MAAO,CAAEu9B,wBACrCr8B,IAAAxD,cAAC8jE,EAAM,CAAC99D,SAAUA,EAAU6oB,QAAS,IACpCrrB,IAAAxD,cAAC2kE,KAAM,KACLhB,GAAc54D,KAAI,SAAC65D,GAAY,OAC/BphE,IAAAxD,cAAC6kE,KAAK,CAACjiE,IAAKgiE,EAAc15D,KAAM05D,GAC/BphE,IAAAxD,cAAC2hE,GAAY,c,gBEjCyB,SAAzCmD,mHAAYC,0BACI92C,EAAQ,KAAnB+2C,OACDp2B,QAKR,IAAIq2B,GAAexhE,IAASi/B,OACxBl7B,GAAQ,CACXhG,KAAM,GACN0M,MAAOg3D,KAKJn/D,OAAOoyC,UAEV8sB,GAAexhE,IAAS0hE,SACxB39D,GAAQzB,OAAOoyC,SACTjqC,MAAMg0D,eAAiBM,KAAgB4C,SAG9C,IAAIl3D,GAAQ1G,GAAM0G,aACX1G,GAAM0G,MAEb,IhIhCgBm3D,GgIgCVA,GAAiB,CACtBn3D,SACA1G,MAAO,CAAEA,WAYJ89D,GAAUvlE,SAAS6iC,eAAe10B,GAAMq3D,aAC1CD,IACHL,GACCzhE,IAAAxD,cAAC0kE,IAAQ,CAACc,OhIjDIH,GgIiDaA,GhIhDrBI,YAAe,CACrBC,QAAS33D,GACTs3D,sBgI+CC7hE,IAAAxD,cAAC2lE,GAAW,CAAC7B,OAAQ8B,OAEtBN,IACA,kBAhBuBO,EAgBD1iE,QAAQiP,IAf/B0zD,aAAOD,GACPE,aAAOF,GACPG,aAAOH,GACPI,aAAOJ,QACPK,aAAQL,GALe,IAACA,M,4NC7CZM,EAIZ,eAAA1hE,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOuhE,EAAKzI,EAAK0I,GAAG,IAAAC,EAAAx5D,EAAAy5D,EAAAC,EAAAvoC,EAAApD,EAAA4rC,EAAA,OAAA9hE,IAAAY,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAiBrB,GAhBI4gE,EAAeF,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,gBACxC4K,EAAes5D,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,gBACxCqkE,EAAkBH,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,mBAC3CskE,EAAeJ,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,gBACxC+7B,EAAgBmoC,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,iBAE3C24B,EAAe7uB,KAAKC,MAAMD,KAAKgB,UAAU25D,IAEvCF,EAAuB,SAACznD,EAAe4nD,GAAwB,IAADC,EAAAC,EACxC,QAA3BD,EAAAhsC,EAAasb,QAAQn3B,UAAM,IAAA6nD,GAAS,QAATC,EAA3BD,EAA6BhxD,eAAO,IAAAixD,GAApCA,EAAsCtwD,SAAQ,SAACiD,GAC1CA,EAAOnX,QAAUskE,EACpBntD,EAAO5O,UAAW,EAElB4O,EAAO5O,UAAW,OAKpBy7D,GACCx5D,GACAy5D,GACAC,GACAvoC,EAAa,CAAAz4B,EAAAE,KAAA,SAEd+gE,EAAqB,EAAGH,GAExBzrC,EAAasb,QAAQ3/B,SAAQ,SAAC+/B,EAAav3B,GACtCA,EAAQ,IACXu3B,EAAO1gC,QAAU,SAGnBglB,EAAa6Z,aAAe,KAAKlvC,EAAAE,KAAA,qBAEjC4gE,IACAx5D,GACCy5D,GACAC,GACAvoC,EAAa,CAAAz4B,EAAAE,KAAA,SAEd+gE,EAAqB,EAAGH,GACxBG,EAAqB,EAAG35D,GAExB+tB,EAAasb,QAAQ3/B,SAAQ,SAAC+/B,EAAav3B,GACtCA,EAAQ,IACXu3B,EAAO1gC,QAAU,SAGnBglB,EAAa6Z,aAAe,KAAKlvC,EAAAE,KAAA,sBAEjC4gE,GACAx5D,GACAy5D,IACCC,GACAvoC,EAAa,CAAAz4B,EAAAE,KAAA,SAEd+gE,EAAqB,EAAGH,GACxBG,EAAqB,EAAG35D,GACxB25D,EAAqB,EAAGF,GACxB1rC,EAAasb,QAAQ3/B,SAAQ,SAAC+/B,EAAav3B,GACtCA,EAAQ,IACXu3B,EAAO1gC,QAAU,SAGnBglB,EAAa6Z,aAAe,KAAKlvC,EAAAE,KAAA,sBAEjC4gE,GACAx5D,GACAy5D,GACAC,IACCvoC,EAAa,CAAAz4B,EAAAE,KAAA,SAEd+gE,EAAqB,EAAGH,GACxBG,EAAqB,EAAG35D,GACxB25D,EAAqB,EAAGF,GACxBE,EAAqB,EAAGD,GACxB3rC,EAAa6Z,aAAe,KAAKlvC,EAAAE,KAAA,sBAEjC4gE,GACAx5D,GACAy5D,GACAC,GACAvoC,GACkB,YAAlBA,GAA2B,CAAAz4B,EAAAE,KAAA,SAE3B+gE,EAAqB,EAAGH,GACxBG,EAAqB,EAAG35D,GACxB25D,EAAqB,EAAGF,GACxBE,EAAqB,EAAGD,GACxBC,EAAqB,EAAGxoC,GAAez4B,EAAAE,KAAA,sBAEvC4gE,GACAx5D,GACAy5D,GACAC,GACAvoC,GACkB,YAAlBA,GAA2B,CAAAz4B,EAAAE,KAAA,gBAAAF,EAAAgB,OAAA,SAEpBm3D,EAAI0I,EAAIzpC,OAAO,KAAMypC,EAAIvoD,KAAK,MAAI,eAAAtY,EAAAE,KAAA,GAGpC,IAAIhG,SAAc,SAACC,EAASC,GACjC2B,YAAW,WACV5B,MACE,QACD,KAAD,UAAA6F,EAAAgB,OAAA,SACKm3D,EAAI0I,EAAIzpC,OAAO,KAAMypC,EAAIzI,KAAK/iC,KAAc,yBAAAr1B,EAAAiB,UAAA5B,OACnD,gBA3GA6B,EAAAC,EAAAC,GAAA,OAAAnC,EAAAlG,MAAA,KAAAuI,YAAA,G,SCJYigE,EAIZ,eAAAtiE,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOuhE,EAAKzI,EAAK0I,GAAG,OAAA1hE,IAAAY,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACjB,IAAIhG,SAAc,SAACC,EAASC,GAAY,IAADonE,EAC5CzlE,YAAW,WACV5B,MACE,KAEH,IAAIme,EAAOsoD,EAAItoD,KAEXrR,EAAa,GACO,QAAxBu6D,EAAAlpD,EAAKid,2BAAmB,IAAAisC,GAAxBA,EAA0BxwD,SAAQ,SAAC+lB,EAAevd,GACjD,IAAIpN,EAAO,CACVwrB,gBAAgB,YAADz3B,OAAcqZ,GAC7BioD,oBAAkC,aAAb1qC,EAA0B,cAAa,cAC5D2qC,sBACc,YAAb3qC,EACG,MACa,YAAbA,EACA,aACa,YAAbA,GAAuC,aAAbA,EAC1B,YACA,GACJ4qC,yBAA0B,UAC1B9hE,IAAK,gBACLg4B,YAA0B,YAAbd,EAAyB,0BAAyB,KAC/DgB,mBAAoBhB,GAGrB9vB,EAAMvO,KAAK0T,MAEZw1D,EAAmBr7D,aAAaU,MAAQA,KACtC,KAAD,SAAAjH,EAAAgB,OAAA,SAEKm3D,EAAI0I,EAAIzpC,OAAO,KAAMypC,EAAIvoD,KAAK9R,KAAKgB,UAAUo6D,MAAqB,wBAAA5hE,EAAAiB,UAAA5B,OACzE,gBAjCA6B,EAAAC,EAAAC,GAAA,OAAAnC,EAAAlG,MAAA,KAAAuI,YAAA,G,kKCbYugE,EAAY,SACxBzuC,EACAwuB,GAEK,IADLkO,EAAsBxuD,UAAAlJ,OAAA,QAAA0D,IAAAwF,UAAA,GAAAA,UAAA,GAAG,OAEzB,OAAKsgD,GAAYxuB,EAAM/T,KAAK,GAAGuiC,IAI/BxuB,EAAM/T,KAAKzE,MAAK,SAACjD,EAAQvS,GACxB,IAAI08D,EAAQnqD,EAAEiqC,GAASmgB,cACnBC,EAAQ58D,EAAEw8C,GAASmgB,cACvB,OAAID,EAAQE,EACe,QAAnBlS,GAA4B,EAAI,EAEpCgS,EAAQE,EACe,QAAnBlS,EAA2B,GAAK,EAEjC,KAGDmS,EAAkB7uC,EAAOwuB,EAASkO,IAfjC18B,GAkBI6uC,EAAoB,SAChC7uC,EACAwuB,GAEK,IADLkO,EAAsBxuD,UAAAlJ,OAAA,QAAA0D,IAAAwF,UAAA,GAAAA,UAAA,GAAG,OAEzB,OAAKsgD,GAAYxuB,EAAM/T,KAAK,GAAGuiC,IAI/BxuB,EAAMtU,WAAWvZ,KAAI,SAACuR,GACjBA,EAAKpR,OAASk8C,EACjB9qC,EAAK2G,UAAYqyC,SAGVh5C,EAAK2G,aAIP2V,GAZCA,GC9BI8uC,EAAgB,SAAC9uC,EAAYtK,GAGzC,OAFAsK,EAAMtK,MAAQA,EACdsK,EAAM/T,KAAK/lB,OAAOwvB,GACXsK,GCaK+uC,EAAW,CAEvBC,IAAK1lE,IAAI,eCLN,SAACkkE,EAAKzI,EAAK0I,GAAS,IAADwB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAChBtwD,EAAQsuD,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,SACjCosB,EAAQ83C,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,SACjCmmE,EAAWjC,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,YACpCshB,EAAc4iD,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,eACvCyuC,EAAMy1B,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,OAC/BomE,EAAWlC,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,YACpCklD,EAAUgf,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,WAE5B,MAAT4V,IACHvO,EAAOuO,MAAQA,GAGH,MAATwW,IACH/kB,EAAO+kB,MAAQ/b,SAAS+b,IAGzB,IAAI5iB,EAAoB,OAANnC,QAAM,IAANA,GAAuB,QAAjBs+D,EAANt+D,EAAQ08C,aAAa,UAAE,IAAA4hB,OAAjB,EAANA,EAAyBr8D,aAEvC+8D,EAEH,QAFqBT,EAAGp8D,EAAKiZ,MAC7B,SAACha,GAAM,MAAsB,iBAAX,OAANA,QAAM,IAANA,OAAM,EAANA,EAAQO,gBACpB,IAAA48D,OAAA,EAFwBA,EAEtB19D,QACCm+D,GAAsBA,EAAmB3qE,OAAS,GACrD2qE,EAAmB/xD,SAAQ,SAAC8nC,GACvBA,EAAOxzC,OAAS0Y,EACnB86B,EAAOzzC,UAAW,EAElByzC,EAAOzzC,UAAW,KAMpBtB,EAAO08C,aAAa,GAAG1H,gBADpB/6B,EACsC,EAEA,EAM1C,IAAIglD,EAEH,QAFkBR,GAFnBt8D,EAAa,OAANnC,QAAM,IAANA,GAAuB,QAAjBw+D,EAANx+D,EAAQ08C,aAAa,UAAE,IAAA8hB,OAAjB,EAANA,EAAyBv8D,cAELmZ,MAC1B,SAACha,GAAM,MAAsB,cAAX,OAANA,QAAM,IAANA,OAAM,EAANA,EAAQO,gBACpB,IAAA88D,OAAA,EAFqBA,EAEnB59D,QACCo+D,GAAmBA,EAAgB5qE,OAAS,IAC/C4qE,EAAgBhyD,SAAQ,SAAC8nC,GACpBA,EAAOxzC,OAASu9D,EACnB/pB,EAAOzzC,UAAW,EAElByzC,EAAOzzC,UAAW,KAGpBtB,EAAO08C,aAAa,GAAG1H,gBAAkB,GAGzCh1C,EAAO08C,aAAa,GAAG1H,gBADpB8pB,EACsC,EAEA,EAM1C,IAAII,EAA0D,QAAhDP,GAFdx8D,EAAa,OAANnC,QAAM,IAANA,GAAuB,QAAjB0+D,EAAN1+D,EAAQ08C,aAAa,UAAE,IAAAgiB,OAAjB,EAANA,EAAyBz8D,cAEVmZ,MAAK,SAACha,GAAM,MAAsB,SAAX,OAANA,QAAM,IAANA,OAAM,EAANA,EAAQO,gBAAe,IAAAg9D,OAAA,EAA7CA,EAA+C99D,QAE5Dq+D,GAAcA,EAAW7qE,OAAS,GACrC6qE,EAAWjyD,SAAQ,SAAC8nC,GACR,MAAP3N,GAAeA,EAAI/yC,OAAS,GAC3B+yC,EAAI/vB,MAAM,KAAK+D,MAAK,SAACjnB,GAAC,OAAKA,IAAM4gD,EAAOxzC,QAC3CwzC,EAAOzzC,UAAW,EAKnByzC,EAAOzzC,UAAW,KAKpBtB,EAAO08C,aAAa,GAAG1H,gBADpB5N,EACsCA,EAAI/vB,MAAM,KAAKhjB,OAEf,EAM1C,IAAI8qE,EAEH,QAFkBN,GAFnB18D,EAAa,OAANnC,QAAM,IAANA,GAAuB,QAAjB4+D,EAAN5+D,EAAQ08C,aAAa,UAAE,IAAAkiB,OAAjB,EAANA,EAAyB38D,cAELmZ,MAC1B,SAACha,GAAM,MAAsB,cAAX,OAANA,QAAM,IAANA,OAAM,EAANA,EAAQO,gBACpB,IAAAk9D,OAAA,EAFqBA,EAEnBh+D,QAqCH,OAnCIs+D,GAAmBA,EAAgB9qE,OAAS,GAC/C8qE,EAAgBlyD,SAAQ,SAAC8nC,GACR,MAAZgqB,GAAoBA,EAAS1qE,OAAS,GACrC0qE,EAAS1nD,MAAM,KAAK+D,MAAK,SAACjnB,GAAC,OAAKA,IAAM4gD,EAAOxzC,QAChDwzC,EAAOzzC,UAAW,EAKnByzC,EAAOzzC,UAAW,KAKpBtB,EAAO08C,aAAa,GAAG1H,gBADpB+pB,EACsCA,EAAS1nD,MAAM,KAAKhjB,OAEpB,EAKtCwpD,GACH79C,EAAO+9C,QAAQzxC,QAAQW,SAAQ,SAACiD,GAC3BA,EAAOvO,OAASk8C,EACnB3tC,EAAO5O,UAAW,EAElB4O,EAAO5O,UAAW,KASd8yD,EAAI0I,EAAIzpC,OAAO,KAAMypC,EAAIvoD,KAAK9R,KAAKgB,UAAUzD,QDvHpDq+D,IAAK1lE,IAAI,kBAAkB,SAACkkE,EAAKzI,EAAK0I,GACrC,IAAMvuD,EAAQsuD,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,SACjCosB,EAAQ83C,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,SASvC,OAPa,MAAT4V,IACHvO,EAAOuO,MAAQA,GAGH,MAATwW,IACH/kB,EAAO+kB,MAAQ/b,SAAS+b,IAElBqvC,EAAI0I,EAAIzpC,OAAO,KAAMypC,EAAIvoD,KAAK9R,KAAKgB,UAAUzD,QAIrDq+D,IAAK1lE,IAAI,wBAAwB,SAACkkE,EAAKzI,EAAK0I,GAAS,IAADsC,EAAAC,EAAAd,EAAAE,EAO/Ca,EANI3hB,EAAYkf,EAAIn8D,OAAhBi9C,QACFpvC,EAAQsuD,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,SACjCosB,EAAQ83C,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,SACjCyuC,EAAMy1B,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,OAC/BiqB,EAAai6C,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,cAG5C,OAAQglD,GACP,IAAK,kBAEJ,IAAIx7C,EAAkB,QAAdi9D,EADRE,EAAcxe,SACQ,IAAAse,GAAiB,QAAjBC,EAAXD,EAAa1iB,aAAa,UAAE,IAAA2iB,OAAjB,EAAXA,EAA8Bp9D,aACrCi9D,EAA0D,QAAhDX,EAAGp8D,EAAKiZ,MAAK,SAACha,GAAM,MAAsB,SAAX,OAANA,QAAM,IAANA,OAAM,EAANA,EAAQO,gBAAe,IAAA48D,OAAA,EAA7CA,EAA+C19D,QAE5Dq+D,GAAcA,EAAW7qE,OAAS,GACrC6qE,EAAWjyD,SAAQ,SAAC8nC,GACR,MAAP3N,GAAeA,EAAI/yC,OAAS,GAC3B+yC,EAAI/vB,MAAM,KAAK+D,MAAK,SAACjnB,GAAC,OAAKA,IAAM4gD,EAAOxzC,QAC3CwzC,EAAOzzC,UAAW,EAKnByzC,EAAOzzC,UAAW,KAKrB,IAAIi+D,EAEH,QAFoBd,EAAGt8D,EAAKiZ,MAC5B,SAACha,GAAM,MAAsB,gBAAX,OAANA,QAAM,IAANA,OAAM,EAANA,EAAQO,gBACpB,IAAA88D,OAAA,EAFuBA,EAErB59D,QAEC0+D,GAAqBA,EAAkBlrE,OAAS,GACnDkrE,EAAkBtyD,SAAQ,SAAC8nC,GACR,MAAdnyB,GAAsBA,EAAWvuB,OAAS,GACzCuuB,EAAWvL,MAAM,KAAK+D,MAAK,SAACjnB,GAAC,OAAKA,IAAM4gD,EAAOxzC,QAClDwzC,EAAOzzC,UAAW,EAKnByzC,EAAOzzC,UAAW,KAMpBg+D,EAAY5iB,aAAa,GAAG1H,gBADzB5N,IAAQxkB,EACmCwkB,EAAI/vB,MAAM,KAAKhjB,QAClD+yC,GAAOxkB,EAEjBA,EAAWvL,MAAM,KAAKhjB,OACb+yC,GAAOxkB,EAEhBwkB,EAAI/vB,MAAM,KAAKhjB,OAASuuB,EAAWvL,MAAM,KAAKhjB,OAED,EAG/C,MACD,IAAK,YACJirE,EAAcjuC,EACd,MACD,QACCiuC,EAAct/D,EAShB,OAPa,MAATuO,IACH+wD,EAAY/wD,MAAQA,GAGR,MAATwW,IACHu6C,EAAYv6C,MAAQ/b,SAAS+b,IAEvBqvC,EAAI0I,EAAIzpC,OAAO,KAAMypC,EAAIvoD,KAAK9R,KAAKgB,UAAU67D,QAIrDjB,IAAK1lE,IAAI,2BAA2B,SAACkkE,EAAKzI,EAAK0I,GAC9C,IAIIwC,EAJI3hB,EAAYkf,EAAIn8D,OAAhBi9C,QACFpvC,EAAQsuD,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,SACjCosB,EAAQ83C,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,SAGvC,OAAQglD,GACP,IAAK,iBACJ2hB,EAAcE,EACd,MACD,IAAK,YACJF,EAAcG,EACd,MACD,QACCH,EAAcI,EAShB,OAPa,MAATnxD,IACH+wD,EAAY/wD,MAAQA,GAGR,MAATwW,IACHu6C,EAAYv6C,MAAQ/b,SAAS+b,IAEvBqvC,EAAI0I,EAAIzpC,OAAO,KAAMypC,EAAIvoD,KAAK9R,KAAKgB,UAAU67D,QAIrDjB,IAAK1lE,IAAI,kBAAkB,SAACkkE,EAAKzI,EAAK0I,GAAS,IAAD6C,EACvCpxD,EAAQsuD,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,SACjCosB,EAAQ83C,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,SACjCklD,EAA6C,QAAtC8hB,EAAG9C,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,kBAAU,IAAAgnE,OAAA,EAAnCA,EAAqCtoD,MAAM,KAAK,GAE5DzI,EAAQhM,YAAA,GACRg9D,GAsBJ,OAnBc,OAAVrxD,IACHK,EAASL,MAAQA,EACjBK,EAAS+uB,QAAU/uB,EAAS+uB,QAAQv8B,QACnC,SAACiH,GAAS,OAC2D,IAApEA,EAAKo2B,QAAQroB,cAAc7G,QAAQhB,EAAM6H,cAAcypD,WAEzDjxD,EAASivB,aAAejvB,EAAS+uB,QAAQtpC,QAG7B,MAAT0wB,IACHnW,EAAS+uB,QAAU/uB,EAAS+uB,QAAQ3jC,MAAM,EAAGgP,SAAS+b,UAGvChtB,IAAZ8lD,IACHjvC,EAAS+uB,QAAU/uB,EAAS+uB,QAAQ9mB,MAAK,SAACjD,EAAQvS,GACjD,OAAOuS,EAAEiqC,GAAWx8C,EAAEw8C,GAAW,GAAK,MAIjCuW,EAAI0I,EAAIzpC,OAAO,KAAMypC,EAAIvoD,KAAK9R,KAAKgB,UAAUmL,QAIrDyvD,IAAK3sC,KAAK,yBAAwB,eAAAx2B,EAAAC,YAAAC,IAAAC,MAAE,SAAAC,EAAOuhE,EAAKzI,EAAK0I,GAAG,IAAAgD,EAAA,OAAA1kE,IAAAY,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAKhB,OAJvCvC,QAAQiP,IAAIg0D,GAED,IAEXiD,EAAOl2D,KAAKm2D,SAAW,GAAM,IAAM,IAAI9jE,EAAAgB,OAAA,SAEhCm3D,EACN0I,EAAIzpC,OAAOysC,GACXhD,EAAIkD,MAAM,KACVlD,EAAIvoD,KACM,MAATurD,EACGr9D,KAAKgB,UAAU,CACf2I,QAAS,qBACTkD,KAAM,kCAEN7M,KAAKgB,UAAU,CACf2I,QAAS,oBACTkD,KAAM,2DAGV,wBAAArT,EAAAiB,UAAA5B,OACD,gBAAA6B,EAAAC,EAAAC,GAAA,OAAAnC,EAAAlG,MAAA,KAAAuI,YAtBiC,IAwBlC8gE,IAAK1lE,IAAI,mBAAmB,SAACkkE,EAAKzI,EAAK0I,GACtC,IAAMvuD,EAAQsuD,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,SACjCosB,EAAQ83C,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,SAEnCiW,EAAW,CACd/a,KAAI+O,YAAA,GAAOq9D,GACXroE,QAAS,IAkBV,OAfc,OAAV2W,IACHK,EAAS/a,KAAKqP,MAAQ0L,EAAS/a,KAAKqP,MAAM9B,QACzC,SAACiH,GAAI,OAC6D,IAAjEA,EAAKiH,KAAK8G,cAAc7G,QAAQhB,EAAM6H,cAAcypD,YAIzC,OAAV96C,IACHnW,EAAS/a,KAAKqP,MAAQ0L,EAAS/a,KAAKqP,MAAMlJ,MAAM,EAAGgP,SAAS+b,KAGzDnW,EAAS/a,KAAKqP,MAAM7O,QAAU,IACjCua,EAAShX,QAAU,0BAGbw8D,EAAI0I,EAAIzpC,OAAO,KAAMypC,EAAIvoD,KAAK9R,KAAKgB,UAAUmL,QAIrDyvD,IAAK1lE,IAAI,kDE1LN,SAACkkE,EAAKzI,EAAK0I,GACd,IA4BIoD,EA5BArsE,EAAkB,CACrB2xD,MAAO,KACPC,SAAU,KACVC,MAAO,KACPC,iBAAkB,KAClBxe,KAAM,KACN2R,WAAY,KACZ3E,QAAS,KACTyR,cAAe,KACfE,aAAc,KACdD,UAAW,KACX3wD,OAAQ,KACR+wD,YAAa,KACbhsC,YAAa,cAERquB,EAAOu0B,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,QAChCyqD,EAAUyZ,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,WACnCmjB,EAAO+gD,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,QAChC4qD,EAAkBsZ,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,mBAC3CoxD,EAAQ8S,EAAI/gE,IAAIqhE,aAAagD,OAAO,oBACpCz/D,EAASm8D,EAAI/gE,IAAIqhE,aAAagD,OAAO,SACrC/+D,EAASy7D,EAAI/gE,IAAIqhE,aAAagD,OAAO,aACrChc,EAAe0Y,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,gBACxCsoB,EAAY47C,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,aACrC0rD,EAAewY,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,gBACxC4rD,EAAQsY,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,WAEjCynE,GADWvD,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,YACjBkkE,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,UAE5CklD,GAAe,OAAL0G,QAAK,IAALA,OAAK,EAALA,EAAOltC,MAAM,KAAK,UAAMtf,EAClCg0D,GAAsB,OAALxH,QAAK,IAALA,OAAK,EAALA,EAAOltC,MAAM,KAAK,UAAMtf,EAEzCsoE,EAAY,WACjB,IAAMx7C,EAAkBpiB,KAAKC,MAAMD,KAAKgB,UAAUvO,IAC5CorE,EAAuBnC,EAC5BL,EACCr7D,KAAKC,MAAMD,KAAKgB,UAAU88D,IAC1B1iB,EACAkO,GAEDmU,GAEKM,EAA6BrC,EAClCL,EACCr7D,KAAKC,MACJD,KAAKgB,WAC0C,IAA9C/C,EAAO6O,QAAQ,mCACZkxD,EACAC,IAGL7iB,EACAkO,GAEDmU,GAEKS,EAAuBl+D,KAAKC,MAAMD,KAAKgB,UAAUm9D,IACjDC,EAA2Bp+D,KAAKC,MACrCD,KAAKgB,UAAUq9D,IAEVC,EAA0Bt+D,KAAKC,MAAMD,KAAKgB,UAAUu9D,IACpDC,EAAiBx+D,KAAKC,MAAMD,KAAKgB,UAAUq1C,IAcjD,GAbIiR,EAAM11D,OAAS,IAClBwwB,EAAWhxB,KAAOgxB,EAAWhxB,KAAKuN,QAAO,SAACiH,GACzC,OAAwD,IAAjD0hD,EAAMx6C,QAAQlH,EAAK64D,aAAarsC,iBAIE,IAAvCn0B,EAAO6O,QAAQ,oBAClB0xD,EAAUE,YAAYC,4BAA4B5/D,KAAI,SAAC6G,GACtDA,EAAKgI,UAAW,KAMG,4BAApBkzC,GACCznC,IAASynC,EAEV1vD,EAAKilD,WAAamoB,OACZ,GAAwB,4BAApB1d,EAA+C,CACzD,IAAM0d,EAAiBx+D,KAAKC,MAAMD,KAAKgB,UAAU49D,IACjDxtE,EAAKilD,WAAamoB,OACZ,GAAwB,oCAApB1d,EAAuD,CACjE,IAAM0d,EAAiBx+D,KAAKC,MAAMD,KAAKgB,UAAU69D,IACjDztE,EAAKilD,WAAamoB,EAGnBptE,EAAKszC,KAAOA,EACZtzC,EAAKiyD,aAAeA,EACpBjyD,EAAKgyD,UAAYA,EAEoD,IAAjEnlD,EAAO6O,QAAQ,mDAClB1b,EAAKsgD,QAAUA,EACftgD,EAAKsgD,QAAQ,GAAGa,gBAAkB5zC,EAAO/M,QAGrB,UAAjB8vD,EACHtwD,EAAKqB,OAAM0N,YAAA,GAAQ09D,GACQ,gBAAjBnc,EACVtwD,EAAKqB,OAAM0N,YAAA,GAAQ49D,GACQ,UAAjBrc,EAENzjD,EAAOrM,OAAS,GACnBR,EAAKqB,OAAS,KACdrB,EAAKoyD,YAAc,CAClBsb,WAAY,IACZ3pE,QACC,uGAGF/D,EAAKqB,OADmB,SAAd+rB,EACCre,wBAAA,GAAQi+D,GAAmB,IAAE5/C,cAChB,QAAdA,EACCre,wBAAA,GAAQm+D,GAAkB,IAAE9/C,cAE5Bre,wBAAA,GACP+9D,GAAe,IAClB1/C,YACAa,QAA0B,SAAjBuiC,IAIXxwD,EAAKqB,OAAS2vB,GAsBhB,GAlBIu7C,IACHF,EAAal3D,SAASo3D,EAAkB,KAIrC93B,IAEHz0C,EAAK4xD,SAAWA,GAEjB5xD,EAAK2xD,MAAQA,EAGTpC,IAEHvvD,EAAK6xD,MAAQA,GAIV5pC,EAEH,GACU,wBAATA,GACS,qBAATA,GACS,uBAATA,EAEAjoB,EAAK8xD,iBAAmBA,MAClB,IAAa,qBAAT7pC,EACV,OAAOs4C,EAAI0I,EAAIzpC,OAAO,KAAMypC,EAAIvoD,KAAK,KAErC8rD,IAKF,GAAI9c,EACH,GAAwB,4BAApBA,EAA+C,CAClD,IAAM0d,EAAiBx+D,KAAKC,MAAMD,KAAKgB,UAAU49D,IACjDxtE,EAAKilD,WAAamoB,EACdvgE,EAAOrM,OAAS,GACnBgsE,SAEK,GAAwB,oCAApB9c,EAAuD,CACjE,IAAM0d,EAAiBx+D,KAAKC,MAAMD,KAAKgB,UAAU69D,IACjDztE,EAAKilD,WAAamoB,EACdvgE,EAAOrM,OAAS,GACnBgsE,SAGDA,IAKExD,EAAI/gE,IAAIY,KAAKrI,OAAS,MACzBR,EAAKqB,OAAS,KACdrB,EAAKoyD,YAAc,CAClBsb,WAAY,IACZ3pE,QAAS,oEAIX,IAAMooE,EACI,WAAT13B,GACiB,UAAjB6b,GACiB,gBAAjBA,GACAzjD,EAAOrM,OAAS,EACb,IACA,IAEJ,MAAgB,iCAAZ+uD,EACIgR,EACN0I,EAAIkD,MAAMA,GACVlD,EAAIzpC,OAAO,KACXypC,EAAIzI,KAAK,CAAEp9D,MAAO,0BAIbm9D,EAAI0I,EAAIkD,MAAMA,GAAQlD,EAAIzpC,OAAO,KAAMypC,EAAIzI,KAAKxgE,OFNvDwqE,IAAK1lE,IAAI,kCAAiC,eAAA8E,EAAAtC,YAAAC,IAAAC,MAAE,SAAAqC,EAAOm/D,EAAKzI,EAAK0I,GAAG,IAAA/3C,EAAAu7C,EAAA,OAAAllE,IAAAY,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAQ9D,OAPK4oB,EAAQ83C,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,SACnC2nE,EAAkB,GAClBv7C,IACHu7C,EAAkBnC,EACjB17D,KAAKC,MAAMD,KAAKgB,UAAU88D,IAC1Bv3D,SAAS+b,KAEVlnB,EAAAZ,OAAA,SAEMm3D,EAAI0I,EAAIzpC,OAAO,KAAMypC,EAAIvoD,KAAK9R,KAAKgB,UAAU68D,MAAkB,wBAAAziE,EAAAX,UAAAQ,OACtE,gBAAAJ,EAAAQ,EAAAC,GAAA,OAAAN,EAAAzI,MAAA,KAAAuI,YAXyC,IAc1C8gE,IAAK1lE,IAAI,yCAA0CikE,GAGnDyB,IAAK3sC,KAAK,qCAAsC8rC,GAGhDa,IAAK3sC,KAAK,uCAAsC,eAAA86B,EAAArxD,YAAAC,IAAAC,MAAE,SAAAmmE,EAAO3E,EAAKzI,EAAK0I,GAAG,IAAAvoD,EAAA,OAAAnZ,IAAAY,MAAA,SAAA61B,GAAA,cAAAA,EAAA31B,KAAA21B,EAAA11B,MAAA,OAClD,OAAfoY,EAAOsoD,EAAItoD,KAAIsd,EAAA11B,KAAA,EACb,IAAIhG,SAAc,SAACC,EAASC,GACjC2B,YAAW,WACV5B,MACE,QACD,KAAD,KAEmB,OAAjBme,EAAKxX,QAAgB,CAAA80B,EAAA11B,KAAA,eAAA01B,EAAA50B,OAAA,SACjBm3D,EACN0I,EAAIzpC,OAAO,KACXypC,EAAIvoD,KACH9R,KAAKgB,UAAU,CACd2vB,UAAW,mDAGb,cAAAvB,EAAA50B,OAAA,SAEMm3D,EAAI0I,EAAIzpC,OAAO,KAAMypC,EAAIvoD,KAAK,MAAI,wBAAAsd,EAAA30B,UAAAskE,OAE1C,gBAAApc,EAAAqc,EAAAC,GAAA,OAAAlV,EAAAx3D,MAAA,KAAAuI,YApB+C,IAqBhD8gE,IAAK1lE,IAAI,mBAAkB,eAAAgpE,EAAAxmE,YAAAC,IAAAC,MAAE,SAAAumE,EAAO/E,EAAKzI,EAAK0I,GAAG,OAAA1hE,IAAAY,MAAA,SAAA6lE,GAAA,cAAAA,EAAA3lE,KAAA2lE,EAAA1lE,MAAA,OACmB,GAAlD0gE,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,wBAC5B,CAADkpE,EAAA1lE,KAAA,eAAA0lE,EAAA5kE,OAAA,SACLm3D,EAAI0I,EAAIzpC,OAAO,KAAMypC,EAAIvoD,KAAK,MAAI,wBAAAstD,EAAA3kE,UAAA0kE,OAE1C,gBAAAE,EAAAC,EAAAC,GAAA,OAAAL,EAAA3sE,MAAA,KAAAuI,YAL0B,IAM3B8gE,IAAK1lE,IAAI,wBAAuB,eAAAspE,EAAA9mE,YAAAC,IAAAC,MAAE,SAAA6mE,EAAOrF,EAAKzI,EAAK0I,GAAG,OAAA1hE,IAAAY,MAAA,SAAAmmE,GAAA,cAAAA,EAAAjmE,KAAAimE,EAAAhmE,MAAA,OACc,GAAlD0gE,EAAI/gE,IAAIqhE,aAAaxkE,IAAI,wBAC5B,CAADwpE,EAAAhmE,KAAA,eAAAgmE,EAAAllE,OAAA,SACLm3D,EAAI0I,EAAIzpC,OAAO,KAAMypC,EAAIvoD,KAAK,MAAI,wBAAA4tD,EAAAjlE,UAAAglE,OAE1C,gBAAAE,EAAAC,EAAAC,GAAA,OAAAL,EAAAjtE,MAAA,KAAAuI,YAL+B,KGtRpBk+D,EAAS8G,IAAWvtE,WAAC,EAAD6mD,YAAIuiB,K,mKCKxBhkE,EAA2B,CACvC4hE,YAAa,OACbwG,YAAY,EACZ7J,e,MAAgBM,EAAgBC,WAChC39D,OAAO,GAADa,OAAY,QAAZqmE,EAAKlH,SAAO,IAAAkH,GAAK,QAALC,EAAPD,0HAAY,IAAAC,OAAL,EAAPA,EAAcC,WAAU,SACnC3rD,WAAY,gBAGPhd,EAAQG,YAAY,CACzBtC,KAAM,QACNuC,eACAK,SAAU,CACT8+D,qBAAsB,SAAC5+D,EAAOC,GAC7BD,EAAMg+D,eAAiB/9D,EAAOC,YAKpBoc,EAAc,SAACtc,GAAgB,OAAKA,EAAMgK,OACxC40D,EAAyBv/D,EAAMgB,QAA/Bu+D,qBAEAv/D,MAAa,U,mDC6PrB,IAAKi/D,EAAZ,kCAIC,SAJWA,OAAe,2BAAfA,IAAe,qBAAfA,IAAe,2BAI1B,CAJWA,MAAe,M,mBC1R3BpjE,EAAOD,QAAU,IAA0B","file":"client/client-main.a7f57700.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t0: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"static/js/\" + ({}[chunkId]||chunkId) + \".\" + {\"2\":\"010db649\"}[chunkId] + \".chunk.js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/assets/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = this[\"webpackJsonpupphandlingsmyndigheten-2020-frontend-upphandlingsmyndigheten.master\"] = this[\"webpackJsonpupphandlingsmyndigheten-2020-frontend-upphandlingsmyndigheten.master\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([566,1]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","module.exports = React;","module.exports = __webpack_public_path__ + \"static/media/high.c3803704.svg\";","module.exports = __webpack_public_path__ + \"static/media/low.a2d06cff.svg\";","module.exports = __webpack_public_path__ + \"static/media/middleToHigh.d1ad491b.svg\";","module.exports = __webpack_public_path__ + \"static/media/middleToLow.142d11d0.svg\";","module.exports = __webpack_public_path__ + \"static/media/middle.ac0a2e77.svg\";","module.exports = __webpack_public_path__ + \"static/media/hexagon-construction.4e2d47c3.svg\";","module.exports = __webpack_public_path__ + \"static/media/hexagon-sustainable-supply-chains.e1361efd.svg\";","module.exports = __webpack_public_path__ + \"static/media/hexagon-municipal-land.ff7f5378.svg\";","module.exports = __webpack_public_path__ + \"static/media/hexagon-default.65b86ea8.svg\";","module.exports = __webpack_public_path__ + \"static/media/hexagon-work.dc05959e.svg\";","module.exports = ReactDOM;","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\r\nimport { EpiEvent } from 'types';\r\nimport { RootState } from 'store';\r\n\r\nlet initialState: EpiEvent = {\r\n\tbeta: {\r\n\t\tisEditable: true,\r\n\t\tinEditMode: true,\r\n\t\tready: true,\r\n\t},\r\n};\r\n\r\nconst slice = createSlice({\r\n\tname: 'epi',\r\n\tinitialState,\r\n\treducers: {\r\n\t\tupdateEpi: (state, action: PayloadAction) => {\r\n\t\t\treturn action.payload;\r\n\t\t},\r\n\t},\r\n});\r\n\r\nexport const selectEpi = (state: RootState) => state.epi;\r\nexport const { updateEpi } = slice.actions;\r\n\r\nexport default slice.reducer;\r\n","import axios from 'axios';\r\nimport { Model, ContentTypes } from 'types';\r\n\r\nexport const getEpiPage = async (\r\n\tapiUrl: string,\r\n\troute: string,\r\n\tquerystring: string,\r\n\thashstring: string\r\n) => {\r\n\tconst appendUrl = '.json';\r\n\r\n\tif (route === '') {\r\n\t\troute = 'index';\r\n\t}\r\n\r\n\tlet url = `${apiUrl}${route}${appendUrl}`;\r\n\r\n\tif (querystring) {\r\n\t\turl += querystring;\r\n\t}\r\n\r\n\tconst data = await axios.get(url);\r\n\r\n\t// Check if there have been any redirects and if so update the url.\r\n\tlet responseURL = data.data.content?.url;\r\n\r\n\tif (querystring) {\r\n\t\tresponseURL += querystring;\r\n\t}\r\n\r\n\tif (hashstring) {\r\n\t\tresponseURL += hashstring;\r\n\t}\r\n\r\n\tif (\r\n\t\tresponseURL &&\r\n\t\tresponseURL !== window.location.href &&\r\n\t\tresponseURL.substring(responseURL.length - 6) !== '/index'\r\n\t) {\r\n\t\twindow.history.replaceState(null, '', responseURL);\r\n\t}\r\n\r\n\tif (data?.data?.languages?.culture) {\r\n\t\twindow.__culture = data.data.languages.culture;\r\n\t}\r\n\r\n\treturn data.data;\r\n};\r\n\r\nexport const getEpiPageContent = async (\r\n\tapiUrl: string,\r\n\tcontentLink: string\r\n) => {\r\n\tconst appendUrl = '.json';\r\n\r\n\tif (contentLink === '') {\r\n\t\tcontentLink = 'index';\r\n\t}\r\n\r\n\tconst url = `${apiUrl}/${contentLink}${appendUrl}`;\r\n\r\n\tconst { data } = await axios.get(url);\r\n\treturn data;\r\n};\r\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\r\nimport { Model, ContentTypes } from 'types';\r\nimport { RootState, AppThunk } from 'store';\r\nimport { getEpiPage, getEpiPageContent } from 'api/epiApi';\r\nimport error403 from './error403.json';\r\n\r\ninterface ModelState {\r\n\tmodel: Model;\r\n\terror: string | null;\r\n\tloading: boolean;\r\n}\r\n\r\nconst initialState: ModelState = {\r\n\terror: null,\r\n\tloading: false,\r\n\tmodel: {\r\n\t\tcontent: undefined,\r\n\t},\r\n};\r\n\r\nconst slice = createSlice({\r\n\tname: 'model',\r\n\tinitialState,\r\n\treducers: {\r\n\t\tgetModelStart: (state) => {\r\n\t\t\tstate.loading = true;\r\n\t\t},\r\n\t\tgetModelSuccess: (state, action: PayloadAction) => {\r\n\t\t\tstate.model = action.payload;\r\n\t\t\tstate.error = null;\r\n\t\t\tstate.loading = false;\r\n\t\t},\r\n\t\tgetModelFailed: (state, action: PayloadAction) => {\r\n\t\t\tstate.model = action.payload;\r\n\t\t\tstate.loading = false;\r\n\t\t},\r\n\t\tupdateContent: (state, action: PayloadAction) => {\r\n\t\t\tstate.model.content = action.payload;\r\n\t\t},\r\n\t},\r\n});\r\n\r\nexport const fetchPage =\r\n\t(\r\n\t\trouteApiUrl: string,\r\n\t\troute: string,\r\n\t\tquerystring: string,\r\n\t\thashstring: string\r\n\t): AppThunk =>\r\n\tasync (dispatch) => {\r\n\t\tlet data;\r\n\t\tdispatch(getModelStart());\r\n\r\n\t\ttry {\r\n\t\t\tdata = await getEpiPage(routeApiUrl, route, querystring, hashstring);\r\n\t\t} catch (err) {\r\n\t\t\tif (err.response.status === 403) {\r\n\t\t\t\tdispatch(getModelFailed(error403 as any));\r\n\t\t\t}\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tdispatch(getModelSuccess(data));\r\n\t};\r\n\r\nexport const fetchPageContent =\r\n\t(apiUrl: string, contentLink: string): AppThunk =>\r\n\tasync (dispatch) => {\r\n\t\tlet data;\r\n\t\tconsole.log('FETCHPAGECONTENT');\r\n\r\n\t\ttry {\r\n\t\t\tdata = await getEpiPageContent(apiUrl, contentLink);\r\n\t\t} catch (err) {\r\n\t\t\tconsole.log(err);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconsole.log('UPDATE_CONTENT');\r\n\r\n\t\tdispatch(updateContent(data));\r\n\t};\r\n\r\nexport const selectModel = (state: RootState) => state.model;\r\nexport const selectContent = (state: RootState) => state.model.model.content;\r\nexport const selectBreadcrumbs = (state: RootState) =>\r\n\tstate.model.model.breadcrumbs?.breadcrumbs;\r\nexport const selectQuicklinks = (state: RootState) =>\r\n\tstate.model.model.quickLinks?.quickLinks;\r\nexport const selectMetaData = (state: RootState) => state.model.model.metadata;\r\nexport const selectAlertBar = (state: RootState) => state.model.model.alertBar;\r\nexport const selectBetaBar = (state: RootState) => state.model.model.betaBar;\r\nexport const selectQuickLinksBar = (state: RootState) =>\r\n\tstate.model.model.quickLinksBar;\r\nexport const selectFooterContact = (state: RootState) =>\r\n\tstate.model.model.contact;\r\nexport const selectFooterQuickLinks = (state: RootState) =>\r\n\tstate.model.model.quickLinksFooter;\r\nexport const selectFooterPopularPages = (state: RootState) =>\r\n\tstate.model.model.popularPages;\r\nexport const selectFooterCopyrightFooter = (state: RootState) =>\r\n\tstate.model.model.copyrightFooter;\r\nexport const selectCookieBar = (state: RootState) =>\r\n\tstate.model.model.cookieBar;\r\nexport const selectSkipToMainContent = (state: RootState) =>\r\n\tstate.model.model.skipToMainContent;\r\nexport const selectTheme = (state: RootState) => state.model.model.theme;\r\nexport const selectSearch = (state: RootState) => state.model.model.search;\r\nexport const selectLanguageSelector = (state: RootState) =>\r\n\tstate.model.model.languages;\r\nexport const selectNavigation = (state: RootState) =>\r\n\tstate.model.model.navigation;\r\nexport const selectLogotype = (state: RootState) => state.model.model.logotype;\r\nexport const selectCriteriaCart = (state: RootState) =>\r\n\tstate.model.model.criteriaCart;\r\nexport const { getModelStart, getModelSuccess, getModelFailed, updateContent } =\r\n\tslice.actions;\r\n\r\nexport default slice.reducer;\r\n","export const objectsHaveSameKeys = (...objects: any) => {\r\n\tconst allKeys = objects.reduce(\r\n\t\t(keys: any, object: any) => keys.concat(Object.keys(object)),\r\n\t\t[]\r\n\t);\r\n\tconst union = new Set(allKeys);\r\n\treturn objects.every(\r\n\t\t(object: any) => union.size === Object.keys(object).length\r\n\t);\r\n};\r\n\r\nexport const createQueryString = (params: any) => {\r\n\tlet querystring = '';\r\n\tfor (const property in params) {\r\n\t\tconst value = params[property];\r\n\r\n\t\tif (Array.isArray(value)) {\r\n\t\t\tif (value.length === 0) {\r\n\t\t\t\tcontinue;\r\n\t\t\t} else if (value[0].buckets) {\r\n\t\t\t\tfor (const aggregation of value) {\r\n\t\t\t\t\tconst values = aggregation.buckets\r\n\t\t\t\t\t\t.filter((b: any) => b.selected && b.term.length > 0)\r\n\t\t\t\t\t\t.map((b: any) => encodeURIComponent(b.term))\r\n\t\t\t\t\t\t.join(',');\r\n\r\n\t\t\t\t\tif (values && values.length > 0) {\r\n\t\t\t\t\t\tquerystring += `&${aggregation.path}=${values}`;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tquerystring += `&${property}=${value\r\n\t\t\t\t\t.map((i) => encodeURIComponent(i))\r\n\t\t\t\t\t.join(',')}`;\r\n\t\t\t}\r\n\t\t} else if (value != null) {\r\n\t\t\tquerystring += `&${property}=${encodeURIComponent(value)}`;\r\n\t\t}\r\n\t}\r\n\r\n\tif (querystring.length > 0) {\r\n\t\treturn querystring.substring(1);\r\n\t}\r\n\r\n\treturn null;\r\n};\r\n\r\nexport const getFilterSortQuery = (\r\n\tfilterQuery?: string,\r\n\tsortQuery?: string\r\n) => {\r\n\tif (filterQuery && sortQuery) {\r\n\t\treturn `?${filterQuery}&orderBy=${sortQuery}`;\r\n\t} else if (filterQuery) {\r\n\t\treturn `?${filterQuery}`;\r\n\t} else if (sortQuery) {\r\n\t\treturn `?orderBy=${sortQuery}`;\r\n\t} else return '';\r\n};\r\n\r\nexport const getActiveAggregations = (aggregations: any[]) => {\r\n\tconst aggs: any[] = [];\r\n\r\n\tfor (const aggregation of aggregations) {\r\n\t\tif (aggregation.buckets) {\r\n\t\t\tconst buckets: any[] = aggregation.buckets.filter((b: any) => b.selected);\r\n\r\n\t\t\taggs.push(\r\n\t\t\t\tObject.assign(\r\n\t\t\t\t\t{},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tname: aggregation.name,\r\n\t\t\t\t\t\ttype: aggregation.type,\r\n\t\t\t\t\t\tpath: aggregation.path,\r\n\t\t\t\t\t\tbuckets,\r\n\t\t\t\t\t}\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\treturn aggs;\r\n};\r\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\r\nimport { RootState, AppThunk } from 'store';\r\nimport {\r\n\tDataTableModel,\r\n\tProductGroupSelectedRequirementsModel,\r\n\tRequirementModel,\r\n\tSelectedRequirementsModel,\r\n} from 'types';\r\nimport { objectsHaveSameKeys } from 'utils/helpers';\r\n\r\ninterface RequirementState {\r\n\tproductGroups?: ProductGroupSelectedRequirementsModel;\r\n}\r\n\r\ninterface ProductGroupState {\r\n\tproductGroupId: number;\r\n\tselectedRequirements: SelectedRequirementsModel;\r\n}\r\n\r\nconst initialState: RequirementState = {\r\n\tproductGroups:\r\n\t\ttypeof localStorage !== 'undefined' && localStorage.requirements\r\n\t\t\t? JSON.parse(localStorage.requirements)\r\n\t\t\t: {},\r\n};\r\n\r\nconst slice = createSlice({\r\n\tname: 'requirements',\r\n\tinitialState,\r\n\treducers: {\r\n\t\tsetInitialRequirements: (\r\n\t\t\tstate,\r\n\t\t\taction: PayloadAction\r\n\t\t) => {\r\n\t\t\tstate.productGroups = { ...state.productGroups, ...action.payload };\r\n\t\t},\r\n\t\tupdateRequirements: (state, action: PayloadAction) => {\r\n\t\t\tif (state.productGroups && action.payload.productGroupId !== undefined) {\r\n\t\t\t\tstate.productGroups[\r\n\t\t\t\t\taction.payload.productGroupId\r\n\t\t\t\t].selectedRequirements = {\r\n\t\t\t\t\t...state.productGroups[action.payload.productGroupId]\r\n\t\t\t\t\t\t.selectedRequirements,\r\n\t\t\t\t\t...action.payload.selectedRequirements,\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t},\r\n\t},\r\n});\r\n\r\nexport const initSelectedRequirements = (\r\n\tproductGroupId: number,\r\n\trequirements: DataTableModel,\r\n\tselectedRequirements: SelectedRequirementsModel\r\n): AppThunk => (dispatch) => {\r\n\tif (requirements.items) {\r\n\t\tlet newRequirements: SelectedRequirementsModel = {};\r\n\r\n\t\tfor (let row of requirements.items) {\r\n\t\t\tnewRequirements[row.documentId] = {\r\n\t\t\t\t...(row.requirementWithLevel as RequirementModel),\r\n\t\t\t\tselected: false,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tconst productGroup: ProductGroupSelectedRequirementsModel = {\r\n\t\t\t[productGroupId]: {\r\n\t\t\t\tselectedRequirements: newRequirements,\r\n\t\t\t},\r\n\t\t};\r\n\r\n\t\tif (!localStorage.requirements) {\r\n\t\t\tlocalStorage.requirements = JSON.stringify(productGroup);\r\n\t\t}\r\n\r\n\t\tlet lsRequirements: ProductGroupSelectedRequirementsModel = JSON.parse(\r\n\t\t\tlocalStorage.requirements\r\n\t\t);\r\n\r\n\t\tif (!lsRequirements[productGroupId]) {\r\n\t\t\tlsRequirements = { ...lsRequirements, ...productGroup };\r\n\t\t\tlocalStorage.requirements = JSON.stringify(lsRequirements);\r\n\t\t\tlsRequirements = JSON.parse(localStorage.requirements);\r\n\t\t}\r\n\r\n\t\tif (!objectsHaveSameKeys(selectedRequirements, newRequirements)) {\r\n\t\t\tlsRequirements = { ...lsRequirements, ...productGroup };\r\n\t\t\tlocalStorage.requirements = JSON.stringify(lsRequirements);\r\n\t\t\tlsRequirements = JSON.parse(localStorage.requirements);\r\n\t\t\tdispatch(setInitialRequirements(lsRequirements));\r\n\t\t}\r\n\t}\r\n};\r\n\r\nexport const updateSelectedRequirements = (\r\n\tproductGroupId: number,\r\n\tselectedRequirements: SelectedRequirementsModel\r\n): AppThunk => (dispatch) => {\r\n\tif (localStorage.requirements && productGroupId !== undefined) {\r\n\t\tconst lsRequirements: ProductGroupSelectedRequirementsModel = JSON.parse(\r\n\t\t\tlocalStorage.requirements\r\n\t\t);\r\n\r\n\t\tlsRequirements[productGroupId].selectedRequirements = {\r\n\t\t\t...lsRequirements[productGroupId].selectedRequirements,\r\n\t\t\t...selectedRequirements,\r\n\t\t};\r\n\r\n\t\tlocalStorage.requirements = JSON.stringify(lsRequirements);\r\n\t}\r\n\r\n\tdispatch(\r\n\t\tupdateRequirements({\r\n\t\t\tproductGroupId,\r\n\t\t\tselectedRequirements,\r\n\t\t})\r\n\t);\r\n};\r\n\r\nexport const selectProductGroups = (state: RootState) =>\r\n\tstate.requirements.productGroups;\r\n\r\nexport const { setInitialRequirements, updateRequirements } = slice.actions;\r\n\r\nexport default slice.reducer;\r\n","import { configureStore, combineReducers, Action } from '@reduxjs/toolkit';\r\nimport { ThunkAction } from 'redux-thunk';\r\nimport epiReducer from './modules/epi';\r\nimport reactReducer from './modules/react';\r\nimport modelReducer from './modules/model';\r\nimport requirementsReducer from './modules/requirements';\r\n/* PLOP_INJECT_IMPORT */\r\n\r\nconst rootReducer = combineReducers({\r\n\tepi: epiReducer,\r\n\treact: reactReducer,\r\n\tmodel: modelReducer,\r\n\trequirements: requirementsReducer,\r\n\t/* PLOP_INJECT_REDUCER */\r\n});\r\nexport type RootState = ReturnType;\r\n\r\nexport default (preloadedState: any) => {\r\n\treturn configureStore({\r\n\t\treducer: rootReducer,\r\n\t\tpreloadedState,\r\n\t});\r\n};\r\n\r\n// export type AppDispatch = typeof store.dispatch\r\nexport type AppThunk = ThunkAction>;\r\n","/**\r\n * Link\r\n */\r\n\r\nimport React from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport { selectEpi } from 'store/modules/epi';\r\n\r\ninterface Props {\r\n\t/** The url the link should navigate to */\r\n\tto?: string;\r\n\r\n\t/** The url the link should navigate to */\r\n\thref?: string;\r\n\r\n\t/** Pass optional classnames for the html */\r\n\tclassName?: string;\r\n\r\n\t[htmlAttributes: string]: any;\r\n}\r\n\r\nconst Link: React.FC = ({\r\n\tto,\r\n\thref,\r\n\tchildren,\r\n\tclassName = '',\r\n\t...htmlAttributes\r\n}) => {\r\n\tconst epi = useSelector(selectEpi);\r\n\tconst url = to || href || '#';\r\n\r\n\tif (epi?.beta?.inEditMode || (url && url.charAt(0) !== '/')) {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{children}\r\n\t\t\t\r\n\t\t);\r\n\t} else {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{children}\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n};\r\n\r\nexport default Link;\r\n","/**\r\n * Meta\r\n */\r\n\r\nimport React from 'react';\r\nimport MetaWriter from 'ui-component-library/base/Meta';\r\nimport { useSelector } from 'react-redux';\r\nimport {\r\n\tselectContent,\r\n\tselectLanguageSelector,\r\n\tselectMetaData,\r\n} from 'store/modules/model';\r\n\r\n/** Component that handles meta-data for the . */\r\nconst Meta: React.FC = () => {\r\n\tconst assetPath =\r\n\t\tprocess.env.NODE_ENV === 'development'\r\n\t\t\t? ''\r\n\t\t\t: '/Areas/Upphandlingsmyndigheten/Assets';\r\n\tconst favicon = `${assetPath}/favicon.ico`;\r\n\tconst favicon144 = `${assetPath}/ico/apple-touch-icon-144x144-precomposed.png`;\r\n\tconst favicon114 = `${assetPath}/ico/apple-touch-icon-114x114-precomposed.png`;\r\n\tconst favicon72 = `${assetPath}/ico/apple-touch-icon-72x72-precomposed.png`;\r\n\tconst favicon57 = `${assetPath}/ico/apple-touch-icon-57x57-precomposed.png`;\r\n\tconst metaData = useSelector(selectMetaData);\r\n\tconst content = useSelector(selectContent);\r\n\tconst mappedMetaData = {\r\n\t\ttitle: metaData?.title || undefined,\r\n\t\togSiteName: metaData?.openGraph?.siteName || undefined,\r\n\t\togType: metaData?.openGraph?.type || 'website',\r\n\t\togTitle: metaData?.openGraph?.title || undefined,\r\n\t\togUrl: metaData?.openGraph?.url || undefined,\r\n\t\togDescription: metaData?.openGraph?.description || undefined,\r\n\t\togImage: metaData?.openGraph?.image || undefined,\r\n\t\ttwitterCard: metaData?.twitter?.card || 'summary',\r\n\t\ttwitterTitle: metaData?.twitter?.title || undefined,\r\n\t\ttwitterDescription: metaData?.twitter?.description || undefined,\r\n\t\ttwitterImage: metaData?.twitter?.image || undefined,\r\n\t\tcontentId: metaData?.contentId || undefined,\r\n\t};\r\n\r\n\tconst languageSelector = useSelector(selectLanguageSelector);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\r\n\t\t\t{metaData?.languages?.map((item, i) => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\t})}\r\n\t\t\t\r\n\r\n\t\t\t{metaData?.description && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t{metaData?.canonicalUrl && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{content?.modelType === 'UpphandlingsmyndighetenNewsListingPage' && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Meta;\r\n","import React from \"react\";\r\n\r\nconst ResultTable = ({ data, antalTjanster }) => {\r\n console.log(data.totaltIndivid);\r\n const TotaltIndivid = parseInt(data.totaltIndivid.replace(/,/g, \"\"), 10);\r\n const TotaltKommun = parseInt(data.totaltKommun.replace(/,/g, \"\"), 10);\r\n const TotaltRegion = parseInt(data.totaltRegion.replace(/,/g, \"\"), 10);\r\n const TotaltStat = parseInt(data.totaltStat.replace(/,/g, \"\"), 10);\r\n const TotaltArbetsgivare = parseInt(\r\n data.totaltArbetsgivare.replace(/,/g, \"\"),\r\n 10\r\n );\r\n\r\n const samhallet =\r\n TotaltIndivid +\r\n TotaltKommun +\r\n TotaltRegion +\r\n TotaltStat +\r\n TotaltArbetsgivare;\r\n\r\n const individ = Math.round(TotaltIndivid / parseInt(antalTjanster, 10));\r\n const kommun = Math.round(TotaltKommun / parseInt(antalTjanster, 10));\r\n const region = Math.round(TotaltRegion / parseInt(antalTjanster, 10));\r\n const stat = Math.round(TotaltStat / parseInt(antalTjanster, 10));\r\n const arbetsgivare = Math.round(\r\n TotaltArbetsgivare / parseInt(antalTjanster, 10)\r\n );\r\n const samhalletPerTjanst = Math.round(\r\n samhallet / parseInt(antalTjanster, 10)\r\n );\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Resultat
AktörTotaltPer individ
Individ{Math.round(TotaltIndivid)}{isNaN(individ) ? \"-\" : individ}
Kommun{Math.round(TotaltKommun)}{isNaN(kommun) ? \"-\" : kommun}
Region{Math.round(TotaltRegion)}{isNaN(region) ? \"-\" : region}
Stat{Math.round(TotaltStat)}{isNaN(stat) ? \"-\" : stat}
Arbetsgivare{Math.round(TotaltArbetsgivare)}{isNaN(arbetsgivare) ? \"-\" : arbetsgivare}
Samhället{Math.round(samhallet)}{isNaN(samhalletPerTjanst) ? \"-\" : samhalletPerTjanst}
\r\n );\r\n};\r\nexport default ResultTable;\r\n","import React from \"react\";\r\nimport {\r\n BarChart,\r\n Bar,\r\n XAxis,\r\n YAxis,\r\n CartesianGrid,\r\n ReferenceLine,\r\n LabelList,\r\n ResponsiveContainer,\r\n} from \"recharts\";\r\n\r\nconst ResultDiagram = ({ data }) => {\r\n const TotaltIndivid = parseInt(data.totaltIndivid.replace(/,/g, \"\"), 10);\r\n const TotaltKommun = parseInt(data.totaltKommun.replace(/,/g, \"\"), 10);\r\n const TotaltRegion = parseInt(data.totaltRegion.replace(/,/g, \"\"), 10);\r\n const TotaltStat = parseInt(data.totaltStat.replace(/,/g, \"\"), 10);\r\n const TotaltArbetsgivare = parseInt(\r\n data.totaltArbetsgivare.replace(/,/g, \"\"),\r\n 10\r\n );\r\n\r\n const samhallet =\r\n TotaltIndivid +\r\n TotaltKommun +\r\n TotaltRegion +\r\n TotaltStat +\r\n TotaltArbetsgivare;\r\n\r\n const ResultData = [\r\n {\r\n name: \"Individ\",\r\n value: Math.round(TotaltIndivid),\r\n },\r\n {\r\n name: \"Kommun\",\r\n value: Math.round(TotaltKommun),\r\n },\r\n {\r\n name: \"Region\",\r\n value: Math.round(TotaltRegion),\r\n },\r\n {\r\n name: \"Stat\",\r\n value: Math.round(TotaltStat),\r\n },\r\n {\r\n name: \"Arbetsgivare\",\r\n value: Math.round(TotaltArbetsgivare),\r\n },\r\n {\r\n name: \"Samhället\",\r\n value: Math.round(samhallet),\r\n },\r\n ];\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default ResultDiagram;\r\n","const formData = [\r\n {\r\n heading: \"Upphandlande organisation\",\r\n content: [\r\n {\r\n name: \"upphandlandeOrganisation\",\r\n type: \"select\",\r\n label: \"Upphandlande organisation\",\r\n tooltip:\r\n \"Här anges vilken aktör som den upphandlade organisationen tillhör. Används för att fördela kostnader kopplade till upphandlingen.\",\r\n options: [\r\n {\r\n value: \"Kommunal\",\r\n label: \"Kommunal\",\r\n },\r\n {\r\n value: \"Statlig\",\r\n label: \"Statlig\",\r\n },\r\n {\r\n value: \"Regional\",\r\n label: \"Regional\",\r\n },\r\n ],\r\n defaultValue: \"Kommunal\",\r\n requiredMessage: \"Vänligen fyll i detta fält\",\r\n },\r\n ],\r\n },\r\n {\r\n heading: \"Sysselsättningskravet\",\r\n content: [\r\n {\r\n name: \"sysselsattningskrav\",\r\n type: \"select\",\r\n label: \"Sysselsättningskrav\",\r\n tooltip:\r\n \"Här anges vilken typ av sysselsättningskrav som modellen ska utgå ifrån. Valet styr vilka parametrar som är relevanta att specifera (blåmarkerade).\",\r\n options: [\r\n {\r\n value: \"Anställning\",\r\n label: \"Anställning\",\r\n },\r\n {\r\n value: \"Lärling\",\r\n label: \"Lärling\",\r\n },\r\n {\r\n value: \"Praktik\",\r\n label: \"Praktik\",\r\n },\r\n ],\r\n defaultValue: \"Anställning\",\r\n requiredMessage: \"Vänligen fyll i detta fält\",\r\n },\r\n {\r\n name: \"antalManader\",\r\n type: \"number\",\r\n label: \"Antal månader\",\r\n defaultValue: \"\",\r\n tooltip: \"Antalet månader som sysselsättningskravet gäller.\",\r\n requiredMessage: \"Vänligen fyll i detta fält\",\r\n },\r\n {\r\n name: \"antalTjanster\",\r\n type: \"number\",\r\n label: \"Antal tjänster\",\r\n defaultValue: \"\",\r\n tooltip: \"Antalet tjänster som sysselsättningskravet gäller.\",\r\n requiredMessage: \"Vänligen fyll i detta fält\",\r\n },\r\n {\r\n name: \"omfattningAvTjanst\",\r\n type: \"number\",\r\n label: \"Omfattning av tjänst (procent)\",\r\n defaultValue: \"\",\r\n tooltip: \"Omfattningen sysselsättningskravet, om heltid anges 100%.\",\r\n requiredMessage: \"Vänligen fyll i detta fält\",\r\n pattern: \"^[0-9][0-9]?$|^100$\",\r\n patternMessage: \"Vänligen fyll i ett värde mellan 0-100\",\r\n },\r\n {\r\n name: \"bruttolonPerManadHeltid\",\r\n type: \"number\",\r\n label: \"Bruttolön per månad (heltid)\",\r\n defaultValue: \"\",\r\n tooltip:\r\n \"Här anges den uppskattade bruttolönen som modellen ska utgår från. Bruttolönen påverkar kostnaden för arbetsgivare och intäkter för individ och det offentliga.\",\r\n requiredMessage: \"Vänligen fyll i detta fält\",\r\n },\r\n {\r\n name: \"anstallningsstod\",\r\n type: \"select\",\r\n label: \"Anställningsstöd\",\r\n tooltip:\r\n \"Här anges om och i så fall vilket anställningsstöd som ska inkluderas i modellberäkningarna.\",\r\n options: [\r\n {\r\n value: \"nej\",\r\n label: \"Nej\",\r\n },\r\n {\r\n value: \"Introduktionsjobb\",\r\n label: \"Introduktionsjobb\",\r\n },\r\n {\r\n value: \"Nystartsjobb\",\r\n label: \"Nystartsjobb\",\r\n },\r\n {\r\n value: \"Yrkesintroduktion\",\r\n label: \"Yrkesintroduktion\",\r\n },\r\n ],\r\n defaultValue: \"nej\",\r\n },\r\n {\r\n name: \"produktionsfaktorAndelAvBruttolon\",\r\n type: \"number\",\r\n label: \"Produktionsfaktor (procent av bruttolön)\",\r\n defaultValue: \"\",\r\n tooltip:\r\n \"Här anges det relativa produktionsvärdet som ska användas i beräkningarna. Grundantagandet är att produktionsvärdet motsvarar den antagna lönen men produktionsvärdet går att justera.\",\r\n requiredMessage: \"Vänligen fyll i detta fält\",\r\n pattern: \"^[0-9][0-9]?$|^100$\",\r\n patternMessage: \"Vänligen fyll i ett värde mellan 0-100\",\r\n },\r\n {\r\n name: \"bruttolonPerManadHandledare\",\r\n type: \"number\",\r\n label: \"Bruttolön per månad, handledare\",\r\n defaultValue: \"\",\r\n tooltip:\r\n \"Här anges den antagna bruttolönen för handledare. Används i beräkningarna av kostnaden för handledning för lärlings- och praktikplatser.\",\r\n requiredMessage: \"Vänligen fyll i detta fält\",\r\n },\r\n {\r\n name: \"tidForHandledningAndelAvHeltidstjanst\",\r\n type: \"number\",\r\n label: \"Tid för handledning (andel av heltidstjänst)\",\r\n defaultValue: \"\",\r\n tooltip:\r\n \"Här anges den uppskattade tidsåtgången för handledning. Används i beräkningarna av kostnaden för handledning för lärlings- och praktikplatser och uttrycks som andel av heltidstjänst.\",\r\n requiredMessage: \"Vänligen fyll i detta fält\",\r\n pattern: \"^[0-9][0-9]?$|^100$\",\r\n patternMessage: \"Vänligen fyll i ett värde mellan 0-100\",\r\n },\r\n {\r\n name: \"administrationskostnadUpphandling\",\r\n type: \"number\",\r\n label: \"Administrationskostnad – arbetsgivare\",\r\n defaultValue: \"\",\r\n tooltip:\r\n \"Här ska arbetsgivarens administrationskostnad för upphandlingen med sysselsättningskrav anges. Observera att det är den ytterliggare kostnaden till följd av att ett sysselsättningskrav anställs som ska anges.\",\r\n requiredMessage: \"Vänligen fyll i detta fält\",\r\n },\r\n {\r\n name: \"upphandlingskostnad\",\r\n type: \"number\",\r\n label: \"Administrationskostnad – upphandlande organisation\",\r\n defaultValue: \"\",\r\n tooltip:\r\n \"Här ska upphandlade organisationens administrationskostnad för sysselsättningskrav anges. Observera att det är den ytterliggare kostnaden till följd av att ett sysselsättningskrav anställs som ska anges.\",\r\n requiredMessage: \"Vänligen fyll i detta fält\",\r\n },\r\n {\r\n name: \"produktionsvardePerManadPraktik\",\r\n type: \"number\",\r\n label: \"Produktionsvärde per månad (praktik)\",\r\n defaultValue: \"\",\r\n tooltip:\r\n \"Här anges produktionsvärdet i de fall sysselsättningen är oavlönad (praktikanställning).\",\r\n requiredMessage: \"Vänligen fyll i detta fält\",\r\n },\r\n {\r\n name: \"bonus\",\r\n type: \"number\",\r\n label: \"Bonus\",\r\n defaultValue: \"0\",\r\n tooltip:\r\n \"Här anges storleken på eventuell bonus från upphandlande organisation till arbetsgivare vid uppfyllnad av sysselsättningskravet.\",\r\n },\r\n ],\r\n },\r\n {\r\n heading: \"Målgrupp\",\r\n content: [\r\n {\r\n name: \"alder\",\r\n type: \"select\",\r\n label: \"Ålder\",\r\n tooltip:\r\n \"Här anges vilken åldersgrupp som är aktuell för målgruppen. Ålder påverkar typ och storlek på ersättning.\",\r\n options: [\r\n {\r\n value: \"20-23\",\r\n label: \"20-23\",\r\n },\r\n {\r\n value: \"24-25\",\r\n label: \"24-25\",\r\n },\r\n {\r\n value: \"26-65\",\r\n label: \"26-65\",\r\n },\r\n ],\r\n defaultValue: \"20-23\",\r\n requiredMessage: \"Vänligen fyll i detta fält\",\r\n },\r\n {\r\n name: \"tidIArbetsloshet\",\r\n type: \"select\",\r\n label: \"Tid i arbetslöshet\",\r\n tooltip:\r\n \"Här anges antalet månader som personer i målgruppen varit arbetslösa. Det påverkar storleken och möjligheten till ersättning.\",\r\n options: [\r\n {\r\n value: \"<6 mån\",\r\n label: \"<6 mån\",\r\n },\r\n {\r\n value: \"6-11 mån\",\r\n label: \"6-11 mån\",\r\n },\r\n {\r\n value: \"12-13 mån\",\r\n label: \"12-23 mån\",\r\n },\r\n {\r\n value: \"24-35 mån\",\r\n label: \"24-35 mån\",\r\n },\r\n {\r\n value: \"36- mån\",\r\n label: \"36- mån\",\r\n },\r\n ],\r\n defaultValue: \"<6 mån\",\r\n requiredMessage: \"Vänligen fyll i detta fält\",\r\n },\r\n {\r\n name: \"nyanland\",\r\n type: \"select\",\r\n label: \"Nyanländ\",\r\n tooltip:\r\n \"Här anges huruvida målgruppen för sysselsättningskravet är nyanlände eller inte. Nyanlända antas i modellen ha rätt till etableringsersättning.\",\r\n options: [\r\n {\r\n value: \"Ja\",\r\n label: \"Ja\",\r\n },\r\n {\r\n value: \"nej\",\r\n label: \"Nej\",\r\n },\r\n ],\r\n defaultValue: \"nej\",\r\n requiredMessage: \"Vänligen fyll i detta fält\",\r\n },\r\n {\r\n name: \"akassa\",\r\n type: \"select\",\r\n label: \"A-kassa\",\r\n tooltip:\r\n \"Här anges huruvida målgruppen bedöms ha rätt till ersättning från A-kassa eller inte. Ska endast anges om målgruppen uppfyller kriterierna för A-kassa och varit medlem i åtminstone tolv månader.\",\r\n options: [\r\n {\r\n value: \"Ja\",\r\n label: \"Ja\",\r\n },\r\n {\r\n value: \"nej\",\r\n label: \"Nej\",\r\n },\r\n ],\r\n defaultValue: \"nej\",\r\n requiredMessage: \"Vänligen fyll i detta fält\",\r\n },\r\n {\r\n name: \"bostadsbidrag\",\r\n type: \"select\",\r\n label: \"Bostadsbidrag\",\r\n tooltip:\r\n \"Här anges huruvida målgruppen bedöms ha rätt till bostadsbidrag från Försäkringskassan eller inte.\",\r\n options: [\r\n {\r\n value: \"Ja\",\r\n label: \"Ja\",\r\n },\r\n {\r\n value: \"nej\",\r\n label: \"Nej\",\r\n },\r\n ],\r\n defaultValue: \"nej\",\r\n requiredMessage: \"Vänligen fyll i detta fält\",\r\n },\r\n ],\r\n },\r\n];\r\n\r\nconst hiddenFields = {\r\n Anställning: [\"produktionsvardePerManadPraktik\"],\r\n Lärling: [\"anstallningsstod\", \"produktionsvardePerManadPraktik\"],\r\n Praktik: [\r\n \"bruttolonPerManadHeltid\",\r\n \"anstallningsstod\",\r\n \"produktionsfaktorAndelAvBruttolon\",\r\n ],\r\n};\r\n\r\nexport { formData, hiddenFields };\r\n","import React, { useState, useRef } from 'react';\r\nimport axios from 'axios';\r\nimport ResultTable from '../ResultTable/ResultTable';\r\nimport ResultDiagram from '../ResultDiagram/ResultDiagram';\r\nimport {\r\n\tText,\r\n\tForm,\r\n\tLabel,\r\n\tField,\r\n\tErrorSpan,\r\n\tSelect,\r\n\tIcon,\r\n\tTooltip,\r\n} from 'ui-component-library/base';\r\nimport { Button } from 'ui-component-library/base/Form';\r\nimport { formData, hiddenFields } from './EkoForm-data';\r\n\r\nconst getDefaultValues = () => {\r\n\tconst defaultValues = {};\r\n\r\n\tformData.forEach((section) => {\r\n\t\tsection.content.forEach((item) => {\r\n\t\t\tif (item.defaultValue !== undefined) {\r\n\t\t\t\tdefaultValues[item.name] = item.defaultValue;\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\r\n\treturn defaultValues;\r\n};\r\n\r\nconst EkoForm = ({ apiUrl }) => {\r\n\tconst [values, setValue] = useState(getDefaultValues());\r\n\tconst [responseData, setResponseData] = useState(null);\r\n\tconst [loading, setLoading] = useState(false);\r\n\tconst resultRef = useRef(null);\r\n\r\n\tconst handleInputChange = (field, formValues) => {\r\n\t\tsetValue(formValues);\r\n\t};\r\n\r\n\tconst handleSubmit = () => {\r\n\t\tsetLoading(true);\r\n\t\tsetResponseData(null);\r\n\r\n\t\tlet newValues = { ...values };\r\n\r\n\t\tObject.keys(values).map((key) => {\r\n\t\t\tif (\r\n\t\t\t\tkey === 'omfattningAvTjanst' ||\r\n\t\t\t\tkey === 'tidForHandledningAndelAvHeltidstjanst' ||\r\n\t\t\t\tkey === 'produktionsfaktorAndelAvBruttolon'\r\n\t\t\t) {\r\n\t\t\t\tnewValues[key] = values[key] / 100;\r\n\t\t\t} else if (key === 'bonus' && values[key] === '') {\r\n\t\t\t\tnewValues[key] = 0;\r\n\t\t\t}\r\n\t\t\treturn false;\r\n\t\t});\r\n\r\n\t\tlet query = Object.keys(newValues)\r\n\t\t\t.map(\r\n\t\t\t\t(k) => encodeURIComponent(k) + '=' + encodeURIComponent(newValues[k])\r\n\t\t\t)\r\n\t\t\t.join('&');\r\n\r\n\t\taxios\r\n\t\t\t.get(`${apiUrl}?` + query, {\r\n\t\t\t\theaders: {\r\n\t\t\t\t\taccepts: 'application/json',\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t\t.then((response) => {\r\n\t\t\t\tsetLoading(false);\r\n\t\t\t\tsetResponseData(response.data);\r\n\t\t\t\tresultRef.current.focus();\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tconsole.log(err);\r\n\t\t\t});\r\n\t};\r\n\r\n\tconst handleReset = () => {\r\n\t\tsetResponseData(null);\r\n\t\tsetLoading(false);\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t{formData.map((section) => {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t{section.content.map((item) => {\r\n\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\tvalues['sysselsattningskrav'] &&\r\n\t\t\t\t\t\t\t\t\thiddenFields[values['sysselsattningskrav']].indexOf(\r\n\t\t\t\t\t\t\t\t\t\titem.name\r\n\t\t\t\t\t\t\t\t\t) !== -1\r\n\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tif (item.type === 'number') {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{item.label}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{item.label}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t ({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: option.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcaption: option.label,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}))}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\trequired={item.required ? true : false}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalidationMessage={item.required}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t);\r\n\t\t\t\t})}\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t{responseData ? (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t) : null}\r\n\t\t\t\t{responseData ? : null}\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\nexport default EkoForm;\r\n","/**\r\n * StepByStep\r\n */\r\n\r\nimport React from 'react';\r\nimport { StepModel } from 'types';\r\nimport {\r\n\tStepByStep as StepByStepUI,\r\n\tStepByStepHeader,\r\n\tStepByStepItem,\r\n} from 'ui-component-library/uhmse';\r\nimport { ListType } from 'ui-component-library/uhmse/StepByStep';\r\nimport EpiFragments from 'components/EpiFragments';\r\nimport { useLocation } from 'react-router-dom';\r\nimport clsx from 'clsx';\r\n\r\ninterface Props {\r\n\t/** Steps that should be rendered. */\r\n\tsteps: StepModel[];\r\n\r\n\t/** Type/design of the list. */\r\n\tlistType?: ListType;\r\n}\r\n\r\n/** Main description for this component. */\r\nconst StepByStep: React.FC = ({ steps, listType = 'numbers' }) => {\r\n\tlet hashstring = useLocation().hash;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{steps.map((step, i) => (\r\n\t\t\t\t 1) && 'mb-16')}\r\n\t\t\t\t\tkey={i}\r\n\t\t\t\t\tid={step.id}\r\n\t\t\t\t>\r\n\t\t\t\t\t{step.heading && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t{step.steps &&\r\n\t\t\t\t\t\tstep.steps.map((subStep, k) => (\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tif (expanded && window.dataLayer && window.dataLayer.push) {\r\n\t\t\t\t\t\t\t\t\t\twindow.dataLayer.push({\r\n\t\t\t\t\t\t\t\t\t\t\texpandedBlock: expanded,\r\n\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default StepByStep;\r\n","/**\r\n * Text\r\n */\r\n\r\nimport React from 'react';\r\nimport TextUi, { TextProps } from 'ui-component-library/base/Text';\r\nimport { useSelector } from 'react-redux';\r\nimport { selectEpi } from 'store/modules/epi';\r\n\r\ninterface Props extends TextProps {\r\n\t/** Epi property to use when edit the text */\r\n\tprop?: string;\r\n}\r\n\r\n/** Wrapper for the Text component for handeling Episerver on page editor. */\r\nconst Text: React.FC = ({ prop, ...allProps }) => {\r\n\tconst epi = useSelector(selectEpi);\r\n\r\n\tif (epi?.beta?.isEditable && prop) {\r\n\t\tallProps['data-epi-property-name'] = prop;\r\n\t\tallProps['data-epi-property-render'] = 'none';\r\n\r\n\t\tif (!allProps.children && !allProps.text) {\r\n\t\t\tallProps.children = ' ';\r\n\t\t}\r\n\t}\r\n\r\n\treturn React.createElement(TextUi, allProps);\r\n};\r\n\r\nexport default Text;\r\n","/**\r\n * RichText\r\n */\r\n\r\nimport React, { useRef, useEffect } from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport { selectEpi } from 'store/modules/epi';\r\n\r\n/** Richtext components which handles links. */\r\nconst RichText: React.FC = ({ children }) => {\r\n\tconst history = useHistory();\r\n\tconst epi = useSelector(selectEpi);\r\n\tconst nodeRef = useRef(null);\r\n\r\n\tfunction handleLinkClick(this: HTMLAnchorElement, event: MouseEvent): void {\r\n\t\tconst href = this.getAttribute('href');\r\n\t\tconst target = this.getAttribute('target');\r\n\t\tconst isFile = this.getAttribute('data-type') === 'file';\r\n\t\tif (href && href.charAt(0) === '/' && target !== '_blank' && !isFile) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\thistory.push(href);\r\n\t\t}\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tconst nodeRefRef = nodeRef;\r\n\t\tif (nodeRef.current && !epi?.beta?.inEditMode) {\r\n\t\t\tnodeRef.current.querySelectorAll('a').forEach((a) => {\r\n\t\t\t\ta.addEventListener('click', handleLinkClick);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\treturn () => {\r\n\t\t\tif (nodeRefRef.current) {\r\n\t\t\t\tnodeRefRef.current.querySelectorAll('a').forEach((a) => {\r\n\t\t\t\t\ta.removeEventListener('click', handleLinkClick);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\t// eslint-disable-next-line\r\n\t}, []);\r\n\r\n\treturn
{children}
;\r\n};\r\n\r\nexport default RichText;\r\n","/**\r\n * Image\r\n */\r\n\r\nimport React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { selectEpi } from 'store/modules/epi';\r\nimport ImageBase, { ImageProps } from 'ui-component-library/base/Image';\r\n\r\ninterface Props extends ImageProps {\r\n\t/** Epi property to use when edit the text */\r\n\tprop?: string;\r\n}\r\n\r\n/** Wrapper for the Image component for handeling Episerver on page editor. */\r\nconst Image: React.FC = ({ prop, ...allProps }) => {\r\n\tconst epi = useSelector(selectEpi);\r\n\r\n\tif (epi?.beta?.isEditable && prop) {\r\n\t\tallProps['data-epi-edit'] = prop;\r\n\t}\r\n\r\n\treturn React.createElement(ImageBase, allProps);\r\n};\r\n\r\nexport default Image;\r\n","/**\r\n * EmbedScript\r\n */\r\n\r\nimport React, { useEffect, useRef } from 'react';\r\n\r\ninterface Props {\r\n\t/** The script source url */\r\n\tsrc: string;\r\n}\r\n\r\n/** Helper function for doing the embed **/\r\nconst appendScript = (src: string, target: any) => {\r\n\tconst defaultWrite = document.write;\r\n\r\n\tdocument.write = function () {\r\n\t\t// @ts-ignore\r\n\t\ttarget.innerHTML = [].concat.apply([], arguments).join('');\r\n\t};\r\n\tconst script = document.createElement('script');\r\n\tscript.src = src;\r\n\tscript.async = true;\r\n\tscript.onload = () => {\r\n\t\tdocument.write = defaultWrite;\r\n\t};\r\n\tdocument.body.appendChild(script);\r\n\treturn () => {\r\n\t\tdocument.body.removeChild(script);\r\n\t};\r\n};\r\n\r\n/** Embeds a script with support for document.write. */\r\nconst EmbedScript: React.FC = ({ src }) => {\r\n\tconst embedRef = useRef();\r\n\tuseEffect(() => {\r\n\t\tif (embedRef.current) {\r\n\t\t\treturn appendScript(src, embedRef.current);\r\n\t\t}\r\n\t}, [embedRef, src]);\r\n\r\n\treturn ;\r\n};\r\n\r\nexport default EmbedScript;\r\n","/**\r\n * RiskTableLarge\r\n */\r\n\r\nimport React from 'react';\r\nimport { AssessmentModel } from 'types';\r\nimport { useUuid } from 'ui-component-library/hooks';\r\nimport NoneBouble from './svg/none.svg';\r\n\r\ntype RowHeader = {\r\n\ttargetId: string;\r\n\triskAreaName: string;\r\n};\r\n\r\ntype ColumnHeader = {\r\n\tstep: number;\r\n\tstepName: string;\r\n};\r\n\r\ninterface Props {\r\n\t/** Table caption*/\r\n\tcaption: string;\r\n\r\n\t/** Table row heading*/\r\n\trowHeading: string;\r\n\r\n\t/** Table column heading*/\r\n\tcolumnHeading: string;\r\n\r\n\t/** Table matrix with cell data */\r\n\tdataMatrix: { [key: string]: { [key: number]: AssessmentModel } };\r\n\r\n\t/** Array with row headers */\r\n\trowHeaders: RowHeader[];\r\n\r\n\t/** Array with column headers */\r\n\tcolumnHeaders: ColumnHeader[];\r\n\r\n\t/** Render assessment icon */\r\n\tgetAssessmentIcon: Function;\r\n}\r\n\r\nconst RiskTableLarge: React.FC = ({\r\n\tcaption,\r\n\trowHeading,\r\n\tcolumnHeading,\r\n\tdataMatrix,\r\n\trowHeaders,\r\n\tcolumnHeaders,\r\n\tgetAssessmentIcon,\r\n}) => {\r\n\tconst [getUuid] = useUuid();\r\n\tconst id = getUuid();\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{columnHeading}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{columnHeaders.map((col, index) => {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{col.stepName}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{col.step}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t})}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{rowHeading}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{columnHeaders.map((col, index) => {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{index < columnHeaders.length && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t})}\r\n\t\t\t\t\r\n\t\t\t\t{rowHeaders.map((row, index) => {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{row.riskAreaName}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{columnHeaders.map((col, index) => {\r\n\t\t\t\t\t\t\t\tconst cellData = dataMatrix[row.targetId][col.step];\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\t{cellData.assessment}\r\n\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t);\r\n\t\t\t\t})}\r\n\t\t\t\r\n\t\t
{caption}
\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t
\r\n\t);\r\n};\r\n\r\nexport default RiskTableLarge;\r\n","/**\r\n * RiskTableLarge\r\n */\r\n\r\nimport React from 'react';\r\nimport { AssessmentModel } from 'types';\r\nimport { useUuid } from 'ui-component-library/hooks';\r\nimport NoneBouble from './svg/none.svg';\r\n\r\ntype ColumnHeader = {\r\n\tstep: number;\r\n\tstepName: string;\r\n};\r\n\r\ninterface Props {\r\n\t/** Table caption*/\r\n\tcaption: string;\r\n\r\n\t/** Table column heading*/\r\n\tcolumnHeading: string;\r\n\r\n\t/** Table matrix with cell data */\r\n\tdataMatrix: { [key: number]: AssessmentModel };\r\n\r\n\t/** Array with column headers */\r\n\tcolumnHeaders: ColumnHeader[];\r\n\r\n\t/** Render assessment icon */\r\n\tgetAssessmentIcon: Function;\r\n}\r\n\r\nconst RiskTableSmall: React.FC = ({\r\n\tcaption,\r\n\tcolumnHeading,\r\n\tdataMatrix,\r\n\tcolumnHeaders,\r\n\tgetAssessmentIcon,\r\n}) => {\r\n\tconst [getUuid] = useUuid();\r\n\tconst id = getUuid();\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{columnHeading}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{columnHeaders.map((col, index) => {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{col.stepName}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t})}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{columnHeaders.map((col, index) => {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t{dataMatrix[col.step].assessment}\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t})}\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t
{caption}
\r\n\t);\r\n};\r\n\r\nexport default RiskTableSmall;\r\n","/**\r\n * RiskTable\r\n */\r\n\r\nimport clsx from 'clsx';\r\nimport React from 'react';\r\nimport { AssessmentModel } from 'types';\r\nimport HighBouble from './svg/high.svg';\r\nimport LowBouble from './svg/low.svg';\r\nimport MiddleToHighBouble from './svg/middleToHigh.svg';\r\nimport MiddleToLowBouble from './svg/middleToLow.svg';\r\nimport MiddleBouble from './svg/middle.svg';\r\nimport NoneBouble from './svg/none.svg';\r\nimport RiskTableLarge from './RiskTableLarge';\r\nimport RiskTableSmall from './RiskTableSmall';\r\n\r\ninterface Props {\r\n\t/** Table variant */\r\n\tvariant?: string;\r\n\r\n\t/** Table caption*/\r\n\tcaption: string;\r\n\r\n\t/** Table row heading*/\r\n\trowHeading?: string;\r\n\r\n\t/** Table column heading*/\r\n\tcolumnHeading: string;\r\n\r\n\t/** Array with cell data*/\r\n\tassessments: AssessmentModel[];\r\n\r\n\t/** Pass optional classnames for the html */\r\n\tclassName?: string;\r\n}\r\n\r\ntype RowHeader = {\r\n\ttargetId: string;\r\n\triskAreaName: string;\r\n};\r\n\r\ntype ColumnHeader = {\r\n\tstep: number;\r\n\tstepName: string;\r\n};\r\n\r\nexport const getAssessmentIcon = (level?: string) => {\r\n\tconst levelString = level?.toLowerCase();\r\n\tswitch (levelString) {\r\n\t\tcase 'low':\r\n\t\t\treturn LowBouble;\r\n\t\tcase 'middlelow':\r\n\t\t\treturn MiddleToLowBouble;\r\n\t\tcase 'medium':\r\n\t\t\treturn MiddleBouble;\r\n\t\tcase 'middlehigh':\r\n\t\t\treturn MiddleToHighBouble;\r\n\t\tcase 'high':\r\n\t\t\treturn HighBouble;\r\n\t\tdefault:\r\n\t\t\treturn NoneBouble;\r\n\t}\r\n};\r\n\r\n/** Main description for this component. */\r\nconst RiskTable: React.FC = ({\r\n\tvariant,\r\n\tcaption,\r\n\trowHeading,\r\n\tcolumnHeading,\r\n\tassessments,\r\n\tclassName,\r\n}) => {\r\n\tlet rowHeaders: RowHeader[] = [];\r\n\tlet columnHeaders: ColumnHeader[] = [];\r\n\tlet dataMatrix: any = {};\r\n\r\n\tassessments.forEach((assessment) => {\r\n\t\tif (\r\n\t\t\tvariant !== 'small' &&\r\n\t\t\tassessment.targetId &&\r\n\t\t\tassessment.riskAreaName &&\r\n\t\t\t!rowHeaders.some((item) => item.targetId === assessment.targetId)\r\n\t\t) {\r\n\t\t\trowHeaders.push({\r\n\t\t\t\ttargetId: assessment.targetId,\r\n\t\t\t\triskAreaName: assessment.riskAreaName,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (!columnHeaders.some((item) => item.step === assessment.step)) {\r\n\t\t\tcolumnHeaders.push({\r\n\t\t\t\tstep: assessment.step,\r\n\t\t\t\tstepName: assessment.stepName,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (\r\n\t\t\tvariant !== 'small' &&\r\n\t\t\tassessment.targetId &&\r\n\t\t\t!(assessment.targetId in dataMatrix)\r\n\t\t) {\r\n\t\t\tdataMatrix[assessment.targetId] = {};\r\n\t\t}\r\n\r\n\t\tif (variant !== 'small' && assessment.targetId) {\r\n\t\t\tdataMatrix[assessment.targetId][assessment.step] = assessment;\r\n\t\t} else {\r\n\t\t\tdataMatrix[assessment.step] = assessment;\r\n\t\t}\r\n\t});\r\n\r\n\tcolumnHeaders.sort((a, b) => a.step - b.step);\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{variant !== 'small' && rowHeading && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{variant === 'small' && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default RiskTable;\r\n","/**\r\n * useEpiEvent\r\n */\r\n\r\nimport { useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { fetchPageContent, selectContent } from 'store/modules/model';\r\nimport { updateEpi } from 'store/modules/epi';\r\nimport { selectReact } from 'store/modules/react';\r\n\r\nexport const useEpiEvents = () => {\r\n\tconst dispatch = useDispatch();\r\n\tconst content = useSelector(selectContent);\r\n\tconst { apiEditUrl } = useSelector(selectReact) || '/';\r\n\r\n\tuseEffect(() => {\r\n\t\tconst epiReady = () => {\r\n\t\t\tdispatch(updateEpi(window.epi));\r\n\r\n\t\t\t// If we're in an editable context we want to update the model on every change by the editor\r\n\t\t\tif (window.epi.beta.isEditable) {\r\n\t\t\t\twindow.epi.subscribe('beta/contentSaved', (data: any) => {\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tdata.successful &&\r\n\t\t\t\t\t\tdata.contentLink.split('_')[0] === content?.id\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tdispatch(fetchPageContent(apiEditUrl, data.contentLink));\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tconst onLoad = () => {\r\n\t\t\tif (!window.epi) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (window.epi.beta && window.epi.beta.ready === true) {\r\n\t\t\t\tepiReady();\r\n\t\t\t} else if (window.epi.subscribe) {\r\n\t\t\t\twindow.epi.subscribe('beta/epiReady', () => epiReady());\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tif (typeof window !== 'undefined') {\r\n\t\t\twindow.addEventListener('load', onLoad);\r\n\r\n\t\t\treturn () => {\r\n\t\t\t\twindow.removeEventListener('load', onLoad);\r\n\t\t\t};\r\n\t\t}\r\n\t\t// eslint-disable-next-line\r\n\t}, [dispatch]);\r\n};\r\n","interface GetUuid {\r\n\t(): number;\r\n}\r\n\r\ninterface ResetUuid {\r\n\t(): void;\r\n}\r\n\r\ninterface UseUuid {\r\n\t(): [GetUuid, ResetUuid];\r\n}\r\n\r\nconst DEFAULT: number = 0;\r\nlet counter: number = DEFAULT;\r\n\r\nexport const useUuid: UseUuid = () => {\r\n\tconst getUuid: GetUuid = () => {\r\n\t\tconst current = counter;\r\n\t\tcounter = counter + 1;\r\n\r\n\t\treturn current;\r\n\t};\r\n\r\n\tconst resetUuid: ResetUuid = () => {\r\n\t\tcounter = DEFAULT;\r\n\t};\r\n\r\n\treturn [getUuid, resetUuid];\r\n};\r\n","import { useLocation } from 'react-router-dom';\r\nimport queryString from 'query-string';\r\n\r\ninterface UsePageQuery {\r\n\t(): number;\r\n}\r\n\r\nconst formatNumber = (value: any): number => {\r\n\tif (Array.isArray(value)) {\r\n\t\tvalue = value[0];\r\n\t}\r\n\r\n\treturn parseInt(value, 10);\r\n};\r\nexport const usePageQuery: UsePageQuery = () => {\r\n\tconst location = useLocation();\r\n\tlet { page } = queryString.parse(location.search);\r\n\r\n\tif (!page) {\r\n\t\treturn 1;\r\n\t}\r\n\r\n\treturn formatNumber(page);\r\n};\r\n","import { useState, useEffect } from 'react';\r\n\r\nconst getWidth = () => {\r\n\tif (typeof window !== 'undefined') {\r\n\t\treturn (\r\n\t\t\twindow.innerWidth ||\r\n\t\t\tdocument.documentElement.clientWidth ||\r\n\t\t\tdocument.body.clientWidth\r\n\t\t);\r\n\t} else {\r\n\t\treturn 1280;\r\n\t}\r\n};\r\n\r\nexport const useWindowWidth = () => {\r\n\t// save current window width in the state object\r\n\tlet [width, setWidth] = useState(getWidth());\r\n\r\n\t// in this case useEffect will execute only once because\r\n\t// it does not have any dependencies.\r\n\tuseEffect(() => {\r\n\t\t// timeoutId for debounce mechanism\r\n\t\tlet timeoutId: any = null;\r\n\t\tconst resizeListener = () => {\r\n\t\t\t// prevent execution of previous setTimeout\r\n\t\t\tclearTimeout(timeoutId);\r\n\t\t\t// change width from the state object after 150 milliseconds\r\n\t\t\ttimeoutId = setTimeout(() => setWidth(getWidth()), 150);\r\n\t\t};\r\n\t\t// set resize listener\r\n\t\twindow.addEventListener('resize', resizeListener);\r\n\r\n\t\t// clean up function\r\n\t\treturn () => {\r\n\t\t\t// remove resize listener\r\n\t\t\twindow.removeEventListener('resize', resizeListener);\r\n\t\t};\r\n\t}, []);\r\n\r\n\treturn width;\r\n};\r\n","/**\r\n * ScrollableTable\r\n */\r\n\r\nimport React, { useEffect, useRef, useState } from 'react';\r\nimport { useWindowWidth } from 'hooks';\r\nimport clsx from 'clsx';\r\n\r\ninterface Props {\r\n\t/** Set the first column to sticky */\r\n\tstickyColumn?: boolean;\r\n\r\n\t/** Pass an optional className */\r\n\tclassName?: string;\r\n\r\n\tchildren?: any;\r\n\r\n\tmatrix?: any;\r\n\r\n\tdisableShadows?: boolean;\r\n}\r\n\r\n/** A scrollable table that shows a shadow on the sides when there are more content. */\r\nconst ScrollableTable: React.FC = ({\r\n\tstickyColumn,\r\n\tclassName,\r\n\tchildren,\r\n\tmatrix,\r\n\tdisableShadows,\r\n}: Props) => {\r\n\tconst scrollRef = useRef(null);\r\n\r\n\tconst [isScrollable, setIsScrollable] = useState(true);\r\n\tconst [isStickyColumn, setIsStickyColumn] = useState(true);\r\n\tconst windowWidth = useWindowWidth();\r\n\r\n\tuseEffect(() => {\r\n\t\tif (scrollRef.current) {\r\n\t\t\tconst scrollDiv = scrollRef.current;\r\n\r\n\t\t\tconst tableWidth = scrollDiv.querySelector('table thead')?.clientWidth;\r\n\t\t\tconst tableHeight = scrollDiv.querySelector('table')?.clientHeight;\r\n\t\t\tconst parentWidth = scrollDiv.parentElement?.clientWidth;\r\n\r\n\t\t\tif (parentWidth && tableWidth && tableWidth > parentWidth) {\r\n\t\t\t\t// Check whether the table body is wider than the body and set the first column to sticky\r\n\t\t\t\tscrollDiv.style.width = parentWidth + 'px';\r\n\t\t\t\tsetIsStickyColumn(true);\r\n\t\t\t} else {\r\n\t\t\t\tif (parentWidth && tableWidth && tableHeight) {\r\n\t\t\t\t\tif (parentWidth > tableWidth) {\r\n\t\t\t\t\t\t// If the table doesn't take up the whole width\r\n\t\t\t\t\t\tscrollDiv.style.width = tableWidth + 'px';\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (scrollDiv.scrollWidth > scrollDiv.clientWidth) {\r\n\t\t\t\t\t\tif (tableHeight > 753) {\r\n\t\t\t\t\t\t\tscrollDiv.style.width = tableWidth + 16 + 'px';\r\n\r\n\t\t\t\t\t\t\tsetIsScrollable(true);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tsetIsScrollable(false);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tsetIsStickyColumn(false);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (tableHeight && tableHeight > 752) {\r\n\t\t\t\tsetIsScrollable(true);\r\n\t\t\t}\r\n\t\t}\r\n\t}, [windowWidth, children, matrix]);\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t{children}\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default ScrollableTable;\r\n","/**\r\n * DataTableSortButton\r\n */\r\n\r\nimport clsx from 'clsx';\r\nimport React from 'react';\r\nimport { Icon } from 'ui-component-library/base';\r\n\r\ninterface Props {\r\n\tclassName?: string;\r\n\r\n\tproperty: string;\r\n\r\n\tdirection?: string;\r\n\r\n\torderByText: string;\r\n\t/** Callback for on sort change */\r\n\tonChange: any;\r\n}\r\n\r\nconst DataTableSortButton: React.FC = ({\r\n\tproperty,\r\n\tdirection,\r\n\tonChange,\r\n\torderByText,\r\n\tchildren,\r\n\tclassName,\r\n}) => {\r\n\tconst getNextDirection = () => {\r\n\t\tswitch (direction) {\r\n\t\t\tcase 'ASC':\r\n\t\t\t\treturn 'DESC';\r\n\t\t\tcase 'DESC':\r\n\t\t\t\treturn '';\r\n\t\t\tdefault:\r\n\t\t\t\treturn 'ASC';\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t onChange(property, getNextDirection())}\r\n\t\t\tdata-button-action={`Sortera: ${children}`}\r\n\t\t>\r\n\t\t\t{children}\r\n\t\t\t{orderByText}\r\n\t\t\t{direction === 'ASC' ? (\r\n\t\t\t\t\r\n\t\t\t) : direction === 'DESC' ? (\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default DataTableSortButton;\r\n","/**\r\n * StatisticTable\r\n */\r\n\r\nimport React from 'react';\r\nimport ScrollableTable from 'components/ScrollableTable';\r\nimport DataTableSortButton from 'components/DataTable/DataTableSortButton';\r\nimport { Button, Icon } from 'ui-component-library/base';\r\nimport { StatisticTableBaseModel, StatisticTableModel } from 'types';\r\nimport clsx from 'clsx';\r\n\r\ninterface Props {\r\n\t/** Data to render */\r\n\tdata: StatisticTableModel | StatisticTableBaseModel;\r\n\r\n\t/** Last date when the statistics data was updated */\r\n\tlastUpdated?: string | null;\r\n\r\n\t/** Text that describes the amount of table rows (of total) that is visible on the page */\r\n\tpagerText?: string | null;\r\n\r\n\t/** Should it be displayed as a matrix table */\r\n\tmatrix?: boolean;\r\n\r\n\t/** Should sorting (via API) be enabled */\r\n\tenableSort?: boolean;\r\n\r\n\t/** Should pagination (via API) be enabled */\r\n\tenablePagination?: boolean;\r\n\r\n\t/** Table source text */\r\n\tsource?: string;\r\n\r\n\t/** Show more button text */\r\n\tshowMoreButtonText?: string;\r\n\r\n\t/** Callback to handle sort */\r\n\tsortCallback?: (prop: string, dir: string) => void;\r\n\r\n\t/** Callback to handle pagination */\r\n\tpaginationCallback?: () => void;\r\n\r\n\t/** If we should render */\r\n\r\n\trenderTotal?: boolean;\r\n}\r\n\r\n/** StatisticTable component. */\r\nconst StatisticTable: React.FC = ({\r\n\tdata,\r\n\tlastUpdated,\r\n\tpagerText,\r\n\tmatrix = false,\r\n\tenableSort = false,\r\n\tenablePagination = false,\r\n\tsource,\r\n\tshowMoreButtonText,\r\n\tsortCallback = () => {},\r\n\tpaginationCallback = () => {},\r\n\trenderTotal,\r\n}) => {\r\n\tif (!data.properties) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tconst enabledHeaders = data?.properties?.filter((prop: any) => prop.enabled);\r\n\treturn (\r\n\t\t
\r\n\t\t\t{data.title && (\r\n\t\t\t\t

\r\n\t\t\t\t\t{data.title}\r\n\t\t\t\t

\r\n\t\t\t)}\r\n\t\t\t{pagerText && (\r\n\t\t\t\t

{pagerText}

\r\n\t\t\t)}\r\n\t\t\t{enabledHeaders.length > 0 && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{data.title && }\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{enabledHeaders?.map((header: any, headerIndex: number) => (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{data.rows.length > 0 && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{data.rows.map((row: any, index: number) => (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{enabledHeaders?.map((header: any, index: number) => {\r\n\t\t\t\t\t\t\t\t\t\t\tif (matrix && index === 0) {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t item.path === header.path\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)?.dataType &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata.properties\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.find((item) => item.path === header.path)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t?.dataType.toLowerCase() === 'int64' &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'text-right'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{row[header.path] || row[header.name]}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
{data.title}
\r\n\t\t\t\t\t\t\t\t\t\t{enableSort && (\r\n\t\t\t\t\t\t\t\t\t\t\t item.path === header.path)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t?.dataType.toLowerCase() === 'int64' && 'mx-auto'\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\tproperty={header.path}\r\n\t\t\t\t\t\t\t\t\t\t\t\tdirection={header.direction}\r\n\t\t\t\t\t\t\t\t\t\t\t\torderByText={`Sortera på: ${header.name}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={sortCallback}\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{header.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t{!enableSort && <>{header.name}}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{row[header.path] || row[header.name]}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\t{(source || lastUpdated) && (\r\n\t\t\t\t
\r\n\t\t\t\t\t{source &&

{source}

}\r\n\t\t\t\t\t{lastUpdated && (\r\n\t\t\t\t\t\t

{`Statistikdatabasen uppdatering ${lastUpdated}`}

\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\t{enablePagination && (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{showMoreButtonText || 'Ladda fler'}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default StatisticTable;\r\n","const formData = {\r\n\tforms: [\r\n\t\t{\r\n\t\t\tname: 'Byggnad eller Anläggning',\r\n\t\t\ttoolTip: '',\r\n\t\t\treferenceObjects: [\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'Flerbostadshus med betongstomme',\r\n\t\t\t\t\ttoolTip:\r\n\t\t\t\t\t\t'Referensobjekten är konventionella typlösningar som motsvarar standardprojekt idag.',\r\n\t\t\t\t\tinfo: 'Klimatpåverkan från byggnation och drift under 50 år av ett flerbostadshus med betongstomme färdigställt 2010 som anses vara representativt (Blå Jungfrun, etapp 1, i Hökarängen utanför Stockholm). Energianvändning enligt högsta tillåtna energianvändning enligt BBR. Byggnaden antas vara fjärrvärmevärmd. ',\r\n\t\t\t\t\treferenceData: {\r\n\t\t\t\t\t\tunit: 'm2 A-temp',\r\n\t\t\t\t\t\tamount: 331,\r\n\t\t\t\t\t},\r\n\t\t\t\t\treferenceDataOperation: {\r\n\t\t\t\t\t\tunit: 'm2 A-temp',\r\n\t\t\t\t\t\tamount: 7.27567,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlifeLengthReferenceData: {\r\n\t\t\t\t\t\tunit: 'År',\r\n\t\t\t\t\t\tlifeLength: 50,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tinputObjectLifeLength: {\r\n\t\t\t\t\t\tinfo: 'Arean av samtliga våningsplan, vindsplan och källarplan för temperaturreglerade utrymmen, avsedda att värmas till mer än 10 °C, som begränsas av klimatskärmens insida. Area som upptas av innerväggar, öppningar för trappa, schakt och dylikt inräknas. Area för garage, inom byggnaden i bostadshus eller annan lokalbyggnad än garage, inräknas inte. Något lägre än måttet kvadratmeter bruttoarea, eftersom ytor som till exempel garage inte inkluderas.',\r\n\t\t\t\t\t\tobjectLifeLengthUnit: 'År',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tinputUnit: {\r\n\t\t\t\t\t\tinfo: 'Arean av samtliga våningsplan, vindsplan och källarplan för temperaturreglerade utrymmen, avsedda att värmas till mer än 10 °C, som begränsas av klimatskärmens insida. Area som upptas av innerväggar, öppningar för trappa, schakt och dylikt inräknas. Area för garage, inom byggnaden i bostadshus eller annan lokalbyggnad än garage, inräknas inte. Något lägre än måttet kvadratmeter bruttoarea, eftersom ytor som till exempel garage inte inkluderas.',\r\n\t\t\t\t\t\tunit: 'kvadratmeter A-temp',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tmeasures: [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tname: 'Trästomme istället för betongstomme',\r\n\t\t\t\t\t\t\ttoolTip: '',\r\n\t\t\t\t\t\t\tinfo: 'Utbyte av betongstomme till stomme av korslimmat trä, med de förändringar i övrig konstruktion som anses behövas. Övrig konstruktion och material är exakt samma som i referensfall.',\r\n\t\t\t\t\t\t\tprocurementReason:\r\n\t\t\t\t\t\t\t\t'Stommens material är en fråga som måste lyftas mycket tidigt för att kunna påverkas, och bör tas upp redan i förstudieskede och programhandlingar.',\r\n\t\t\t\t\t\t\tmeasureBuildVaule: 223,\r\n\t\t\t\t\t\t\tmeaseureOperationVaule: 7.27567,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tname: 'Klimatförbättrad betong',\r\n\t\t\t\t\t\t\ttoolTip: '',\r\n\t\t\t\t\t\t\tinfo: 'Ett alternativ till att byta till en trästomme är att välja en klimatförbättrad betong med lägre klimatpåverkan. Hur stor reduktionen kan bli beror på hur mycket betong, och vilken betongtyp som används i byggnaden, och kan därmed variera.',\r\n\t\t\t\t\t\t\tprocurementReason:\r\n\t\t\t\t\t\t\t\t'Krav bör ställas på både projektör och entreprenör att använda klimatförbättrad betong.',\r\n\t\t\t\t\t\t\tmeasureBuildVaule: 298,\r\n\t\t\t\t\t\t\tmeaseureOperationVaule: 7.27567,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tname: 'HVO och energieffektiva bodar på byggarbetsplats',\r\n\t\t\t\t\t\t\ttoolTip: '',\r\n\t\t\t\t\t\t\tinfo: 'Alternativa bränslen kan användas i stället för diesel i arbetsmaskiner på byggarbetsplatsen vilket minskar utsläppen, och energieffektiva bodar minskar behov av el och värme. ',\r\n\t\t\t\t\t\t\tprocurementReason:\r\n\t\t\t\t\t\t\t\t\"Krav kan ställas på entreprenören att använda ett klimatsmart bränsle, se kriteriedatabasens.\",\r\n\t\t\t\t\t\t\tmeasureBuildVaule: 319,\r\n\t\t\t\t\t\t\tmeaseureOperationVaule: 7.27567,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tname: 'Energieffektivisering spjutspetsnivå',\r\n\t\t\t\t\t\t\ttoolTip: '',\r\n\t\t\t\t\t\t\tinfo: 'Visar effekten av att samma flerbostadshus med betongstomme skulle byggts med krav på hög energieffektivitet vad gäller uppvärmning i enlighet med upphandlingsmyndighetens krav på spjutspetsnivå. Upphandlingsmyndighetens kriterium för minskad energianvändning finns även i ambitionsnivåerna Bas och Avancerad. Klimatpåverkan från byggskedet är identiskt som i ursprungsfallet. Byggnaden antas värmas med fjärrvärme.',\r\n\t\t\t\t\t\t\tprocurementReason:\r\n\t\t\t\t\t\t\t\t\"Krav kan ställas på projektör och entreprenör att byggnaden skall hålla hög energiprestanda, se kriteriedatabasens energikrav.\",\r\n\t\t\t\t\t\t\tmeasureBuildVaule: 331,\r\n\t\t\t\t\t\t\tmeaseureOperationVaule: 6.01455,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t],\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'Kontor',\r\n\t\t\t\t\ttoolTip:\r\n\t\t\t\t\t\t'Referensobjekten är konventionella typlösningar som motsvarar standardprojekt idag.',\r\n\t\t\t\t\tinfo: 'Klimatpåverkan från byggnation och drift under 50 år baserat på genomsnitt av ett större urval kontorsbyggnader i Sverige med varierande storlek och konstruktion (KTH 2021, byggfas). Energianvändning är högsta tillåtna energianvändning enligt BBR. Byggnaden antas vara elvärmd.',\r\n\t\t\t\t\treferenceData: {\r\n\t\t\t\t\t\tunit: 'm2 A-temp',\r\n\t\t\t\t\t\tamount: 395,\r\n\t\t\t\t\t},\r\n\t\t\t\t\treferenceDataOperation: {\r\n\t\t\t\t\t\tunit: 'm2 A-temp',\r\n\t\t\t\t\t\tamount: 6.79062,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlifeLengthReferenceData: {\r\n\t\t\t\t\t\tunit: 'År',\r\n\t\t\t\t\t\tlifeLength: 50,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tinputObjectLifeLength: {\r\n\t\t\t\t\t\tinfo: 'Arean av samtliga våningsplan, vindsplan och källarplan för temperaturreglerade utrymmen, avsedda att värmas till mer än 10 °C, som begränsas av klimatskärmens insida. Area som upptas av innerväggar, öppningar för trappa, schakt och dylikt inräknas. Area för garage, inom byggnaden i bostadshus eller annan lokalbyggnad än garage, inräknas inte. Något lägre än måttet kvadratmeter bruttoarea, eftersom ytor som till exempel garage inte inkluderas.',\r\n\t\t\t\t\t\tobjectLifeLengthUnit: 'År',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tinputUnit: {\r\n\t\t\t\t\t\tinfo: 'Arean av samtliga våningsplan, vindsplan och källarplan för temperaturreglerade utrymmen, avsedda att värmas till mer än 10 °C, som begränsas av klimatskärmens insida. Area som upptas av innerväggar, öppningar för trappa, schakt och dylikt inräknas. Area för garage, inom byggnaden i bostadshus eller annan lokalbyggnad än garage, inräknas inte. Något lägre än måttet kvadratmeter bruttoarea, eftersom ytor som till exempel garage inte inkluderas.',\r\n\t\t\t\t\t\tunit: 'kvadratmeter A-temp',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tmeasures: [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tname: 'Klimatförbättrade materialval',\r\n\t\t\t\t\t\t\ttoolTip: '',\r\n\t\t\t\t\t\t\tinfo: 'Val av klimatsmart betong, konstruktionsstål och aluminium istället för konventionella produkter i enlighet med dagens utbud på marknaden.',\r\n\t\t\t\t\t\t\tprocurementReason:\r\n\t\t\t\t\t\t\t\t'Krav bör ställas på både projektör och entreprenör att använda klimatförbättrade materialval.',\r\n\t\t\t\t\t\t\tmeasureBuildVaule: 333,\r\n\t\t\t\t\t\t\tmeaseureOperationVaule: 6.79062,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tname: 'Energieffektivisering spjutspetsnivå',\r\n\t\t\t\t\t\t\ttoolTip: '',\r\n\t\t\t\t\t\t\tinfo: 'Visar effekten av att samma skolbyggnad med betongstomme skulle byggts med krav på hög energieffektivitet vad gäller uppvärmning i enlighet med upphandlingsmyndighetens krav på spjutspetsnivå. Upphandlingsmyndighetens kriterium för minskad energianvändning finns även i ambitionsnivåerna Bas och Avancerad. Klimatpåverkan från byggskedet är identiskt som i ursprungsfallet. Byggnaden antas värmas med fjärrvärme.',\r\n\t\t\t\t\t\t\tprocurementReason:\r\n\t\t\t\t\t\t\t\t\"Krav kan ställas på projektör och entreprenör att byggnaden skall hålla hög energiprestanda, se kriteriedatabasens energikrav.\",\r\n\t\t\t\t\t\t\tmeasureBuildVaule: 395,\r\n\t\t\t\t\t\t\tmeaseureOperationVaule: 3.97736,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t],\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'Gång och cykelväg',\r\n\t\t\t\t\ttoolTip:\r\n\t\t\t\t\t\t'Referensobjekten är konventionella typlösningar som motsvarar standardprojekt idag.',\r\n\t\t\t\t\tinfo: 'Byggnation av en typisk gång-och cykelväg med konventionell asfalt (ej drift och underhåll då bakgrundsdata saknas).',\r\n\t\t\t\t\treferenceData: {\r\n\t\t\t\t\t\tunit: 'kilometer väg',\r\n\t\t\t\t\t\tamount: 40671,\r\n\t\t\t\t\t},\r\n\t\t\t\t\treferenceDataOperation: {\r\n\t\t\t\t\t\tunit: 'm2 A-temp',\r\n\t\t\t\t\t\tamount: 0,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlifeLengthReferenceData: {\r\n\t\t\t\t\t\tunit: 'År',\r\n\t\t\t\t\t\tlifeLength: 50,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tconstructionPhaseData: {\r\n\t\t\t\t\t\tconstructionPhase: 'Endast byggskede',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tinputObjectLifeLength: {\r\n\t\t\t\t\t\tinfo: '',\r\n\t\t\t\t\t\tobjectLifeLengthUnit: 'År',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tinputUnit: {\r\n\t\t\t\t\t\tinfo: '',\r\n\t\t\t\t\t\tunit: 'kilometer',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tmeasures: [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tname: 'Klimatsmart asfalt',\r\n\t\t\t\t\t\t\ttoolTip: '',\r\n\t\t\t\t\t\t\tinfo: 'Användning av samma asfaltssort, men som tillverkats med en viss andel återvunnen asfalt och högre energieffektiviet',\r\n\t\t\t\t\t\t\tprocurementReason:\r\n\t\t\t\t\t\t\t\t'Det finns flertalet sätt att sänka klimatpåverkan från asfalt, och marknaden utvecklas kontinuerligt med nya produkter. Krav kan ställas på leverantören att asfalt med låg klimatpåverkan ska användas.',\r\n\t\t\t\t\t\t\tmeasureBuildVaule: 34615,\r\n\t\t\t\t\t\t\tmeaseureOperationVaule: 0,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t],\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'Tvåfältsväg',\r\n\t\t\t\t\ttoolTip:\r\n\t\t\t\t\t\t'Referensobjekten är konventionella typlösningar som motsvarar standardprojekt idag.',\r\n\t\t\t\t\tinfo: 'Byggnation samt drift och underhåll i 60 år av en typisk tvåfältsväg från Trafikverkets klimatkalkyl med asfalt som tillverkas med fossila bränslen.',\r\n\t\t\t\t\treferenceData: {\r\n\t\t\t\t\t\tunit: 'kilometer väg',\r\n\t\t\t\t\t\tamount: 285208,\r\n\t\t\t\t\t},\r\n\t\t\t\t\treferenceDataOperation: {\r\n\t\t\t\t\t\tunit: 'm2 A-temp',\r\n\t\t\t\t\t\tamount: 1680,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlifeLengthReferenceData: {\r\n\t\t\t\t\t\tunit: 'År',\r\n\t\t\t\t\t\tlifeLength: 60,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tinputObjectLifeLength: {\r\n\t\t\t\t\t\tinfo: '',\r\n\t\t\t\t\t\tobjectLifeLengthUnit: 'År',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tinputUnit: {\r\n\t\t\t\t\t\tinfo: '',\r\n\t\t\t\t\t\tunit: 'kilometer',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tmeasures: [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tname: 'Klimatsmart asfalt',\r\n\t\t\t\t\t\t\ttoolTip: '',\r\n\t\t\t\t\t\t\tinfo: 'Användning av samma asfaltssort, men som tillverkats med en viss andel återvunnen asfalt och högre energieffektiviet',\r\n\t\t\t\t\t\t\tprocurementReason:\r\n\t\t\t\t\t\t\t\t'Det finns flertalet sätt att sänka klimatpåverkan från asfalt, och marknaden utvecklas kontinuerligt med nya produkter. Krav kan ställas på leverantören att asfalt med låg klimatpåverkan ska användas.',\r\n\t\t\t\t\t\t\tmeasureBuildVaule: 253208,\r\n\t\t\t\t\t\t\tmeaseureOperationVaule: 1680,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t],\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'Skola',\r\n\t\t\t\t\ttoolTip:\r\n\t\t\t\t\t\t'Referensobjekten är konventionella typlösningar som motsvarar standardprojekt idag.',\r\n\t\t\t\t\tinfo: 'Klimatpåverkan från byggnation och drift under 50 år baserat på genomsnitt av ett större urval skolbyggnader i Sverige med varierande storlek och konstruktion (KTH 2021, byggfas). Energianvändning är högsta tillåtna energianvändning enligt BBR. Byggnaden antas vara elvärmd.',\r\n\t\t\t\t\treferenceData: {\r\n\t\t\t\t\t\tunit: 'm2 A-temp',\r\n\t\t\t\t\t\tamount: 368,\r\n\t\t\t\t\t},\r\n\t\t\t\t\treferenceDataOperation: {\r\n\t\t\t\t\t\tunit: 'm2 A-temp',\r\n\t\t\t\t\t\tamount: 6.79062,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlifeLengthReferenceData: {\r\n\t\t\t\t\t\tunit: 'År',\r\n\t\t\t\t\t\tlifeLength: 50,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tinputObjectLifeLength: {\r\n\t\t\t\t\t\tinfo: 'Arean av samtliga våningsplan, vindsplan och källarplan för temperaturreglerade utrymmen, avsedda att värmas till mer än 10 °C, som begränsas av klimatskärmens insida. Area som upptas av innerväggar, öppningar för trappa, schakt och dylikt inräknas. Area för garage, inom byggnaden i bostadshus eller annan lokalbyggnad än garage, inräknas inte. Något lägre än måttet kvadratmeter bruttoarea, eftersom ytor som till exempel garage inte inkluderas.',\r\n\t\t\t\t\t\tobjectLifeLengthUnit: 'År',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tinputUnit: {\r\n\t\t\t\t\t\tinfo: 'Arean av samtliga våningsplan, vindsplan och källarplan för temperaturreglerade utrymmen, avsedda att värmas till mer än 10 °C, som begränsas av klimatskärmens insida. Area som upptas av innerväggar, öppningar för trappa, schakt och dylikt inräknas. Area för garage, inom byggnaden i bostadshus eller annan lokalbyggnad än garage, inräknas inte. Något lägre än måttet kvadratmeter bruttoarea, eftersom ytor som till exempel garage inte inkluderas.',\r\n\t\t\t\t\t\tunit: 'kvadratmeter A-temp',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tmeasures: [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tname: 'Klimatförbättrade materialval',\r\n\t\t\t\t\t\t\ttoolTip: '',\r\n\t\t\t\t\t\t\tinfo: 'Val av klimatsmart betong, konstruktionsstål och aluminium istället för konventionella produkter i enlighet med dagens utbud på marknaden.',\r\n\t\t\t\t\t\t\tprocurementReason:\r\n\t\t\t\t\t\t\t\t'Krav bör ställas på både projektör och entreprenör att använda klimatförbättrade materialval.',\r\n\t\t\t\t\t\t\tmeasureBuildVaule: 328,\r\n\t\t\t\t\t\t\tmeaseureOperationVaule: 6.79062,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tname: 'Energieffektivisering spjutspetsnivå',\r\n\t\t\t\t\t\t\ttoolTip: '',\r\n\t\t\t\t\t\t\tinfo: 'Visar effekten av att samma skolbyggnad med betongstomme skulle byggts med krav på hög energieffektivitet vad gäller uppvärmning i enlighet med upphandlingsmyndighetens krav på spjutspetsnivå. Upphandlingsmyndighetens kriterium för minskad energianvändning finns även i ambitionsnivåerna Bas och Avancerad. Klimatpåverkan från byggskedet är identiskt som i ursprungsfallet. Byggnaden antas värmas med fjärrvärme.',\r\n\t\t\t\t\t\t\tprocurementReason:\r\n\t\t\t\t\t\t\t\t\"Krav kan ställas på projektör och entreprenör att byggnaden skall hålla hög energiprestanda, se kriteriedatabasens energikrav.\",\r\n\t\t\t\t\t\t\tmeasureBuildVaule: 368,\r\n\t\t\t\t\t\t\tmeaseureOperationVaule: 4.85044,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t],\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'Förskola',\r\n\t\t\t\t\ttoolTip:\r\n\t\t\t\t\t\t'Referensobjekten är konventionella typlösningar som motsvarar standardprojekt idag.',\r\n\t\t\t\t\tinfo: 'Klimatpåverkan från byggnation och drift under 50 år baserat på genomsnitt av ett större urval förskolebyggnader i Sverige med varierande storlek och konstruktion (KTH 2021, byggfas). Energianvändning är högsta tillåtna energianvändning enligt BBR. Byggnaden antas vara elvärmd.',\r\n\t\t\t\t\treferenceData: {\r\n\t\t\t\t\t\tunit: 'm2 A-temp',\r\n\t\t\t\t\t\tamount: 343,\r\n\t\t\t\t\t},\r\n\t\t\t\t\treferenceDataOperation: {\r\n\t\t\t\t\t\tunit: 'm2 A-temp',\r\n\t\t\t\t\t\tamount: 6.79062,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlifeLengthReferenceData: {\r\n\t\t\t\t\t\tunit: 'År',\r\n\t\t\t\t\t\tlifeLength: 50,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tinputObjectLifeLength: {\r\n\t\t\t\t\t\tinfo: 'Arean av samtliga våningsplan, vindsplan och källarplan för temperaturreglerade utrymmen, avsedda att värmas till mer än 10 °C, som begränsas av klimatskärmens insida. Area som upptas av innerväggar, öppningar för trappa, schakt och dylikt inräknas. Area för garage, inom byggnaden i bostadshus eller annan lokalbyggnad än garage, inräknas inte. Något lägre än måttet kvadratmeter bruttoarea, eftersom ytor som till exempel garage inte inkluderas.',\r\n\t\t\t\t\t\tobjectLifeLengthUnit: 'År',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tinputUnit: {\r\n\t\t\t\t\t\tinfo: 'Arean av samtliga våningsplan, vindsplan och källarplan för temperaturreglerade utrymmen, avsedda att värmas till mer än 10 °C, som begränsas av klimatskärmens insida. Area som upptas av innerväggar, öppningar för trappa, schakt och dylikt inräknas. Area för garage, inom byggnaden i bostadshus eller annan lokalbyggnad än garage, inräknas inte. Något lägre än måttet kvadratmeter bruttoarea, eftersom ytor som till exempel garage inte inkluderas.',\r\n\t\t\t\t\t\tunit: 'kvadratmeter A-temp',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tmeasures: [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tname: 'Klimatförbättrade materialval',\r\n\t\t\t\t\t\t\ttoolTip: '',\r\n\t\t\t\t\t\t\tinfo: 'Val av klimatsmart betong, konstruktionsstål och aluminium istället för konventionella produkter i enlighet med dagens utbud på marknaden.',\r\n\t\t\t\t\t\t\tprocurementReason:\r\n\t\t\t\t\t\t\t\t'Krav bör ställas på både projektör och entreprenör att använda klimatförbättrade materialval.',\r\n\t\t\t\t\t\t\tmeasureBuildVaule: 316,\r\n\t\t\t\t\t\t\tmeaseureOperationVaule: 6.79062,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tname: 'Energieffektivisering spjutspetsnivå',\r\n\t\t\t\t\t\t\ttoolTip: '',\r\n\t\t\t\t\t\t\tinfo: 'Visar effekten av att samma förskola med betongstomme skulle byggts med krav på hög energieffektivitet vad gäller uppvärmning i enlighet med upphandlingsmyndighetens krav på spjutspetsnivå. Upphandlingsmyndighetens kriterium för minskad energianvändning finns även i ambitionsnivåerna Bas och Avancerad. Klimatpåverkan från byggskedet är identiskt som i ursprungsfallet. Byggnaden antas värmas med fjärrvärme.',\r\n\t\t\t\t\t\t\tprocurementReason:\r\n\t\t\t\t\t\t\t\t\"Krav kan ställas på projektör och entreprenör att byggnaden skall hålla hög energiprestanda, se kriteriedatabasens energikrav.\",\r\n\t\t\t\t\t\t\tmeasureBuildVaule: 343,\r\n\t\t\t\t\t\t\tmeaseureOperationVaule: 4.85044,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t},\r\n\t\t{\r\n\t\t\tname: 'Materialval',\r\n\t\t\treferenceObjects: [\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'Konventionell byggbetong',\r\n\t\t\t\t\ttoolTip:\r\n\t\t\t\t\t\t'Referensmaterialen är konventionella materialval som motsvarar valen i standardprojekt idag.',\r\n\t\t\t\t\tinfo: 'Tillverkning av konventionell byggbetong. Se metodblad för beskrivning av vilken betongtyp som används. ',\r\n\t\t\t\t\treferenceData: {\r\n\t\t\t\t\t\tunit: 'ton',\r\n\t\t\t\t\t\tamount: 105,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tinputUnit: {\r\n\t\t\t\t\t\tinfo: '',\r\n\t\t\t\t\t\tunit: 'ton',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tmeasures: [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tname: 'Klimatförbättrad byggbetong',\r\n\t\t\t\t\t\t\ttoolTip: '',\r\n\t\t\t\t\t\t\tinfo: 'Produktion av samma betongtyp, men med alternativa bindemedel använda istället för cement',\r\n\t\t\t\t\t\t\tprocurementReason:\r\n\t\t\t\t\t\t\t\t\"Krav att använda klimatförbättrad betong bör ställas på både projektör och entreprenör eftersom projekteringen kan behöva ta hänsyn till andra materialspecifikationer i den klimatförbättrade betongen. I vår kriterietjänst finns förslag på kriterier för klimatförbättrad betong, som kan användas i upphandling.\",\r\n\t\t\t\t\t\t\tmeasureBuildVaule: 93,\r\n\t\t\t\t\t\t\tmeaseureOperationVaule: 0,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t],\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'Konventionell anläggningsbetong',\r\n\t\t\t\t\ttoolTip:\r\n\t\t\t\t\t\t'Referensmaterialen är konventionella materialval som motsvarar valen i standardprojekt idag.',\r\n\t\t\t\t\tinfo: 'Tillverkning av konventionell anläggningsbetong. Se metodblad för beskrivning av vilken betongtyp som används.',\r\n\t\t\t\t\treferenceData: {\r\n\t\t\t\t\t\tunit: 'ton',\r\n\t\t\t\t\t\tamount: 169,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tinputUnit: {\r\n\t\t\t\t\t\tinfo: '',\r\n\t\t\t\t\t\tunit: 'ton',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tmeasures: [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tname: 'Klimatförbättrad anläggningsbetong',\r\n\t\t\t\t\t\t\ttoolTip: '',\r\n\t\t\t\t\t\t\tinfo: 'Produktion av samma betongtyp, men med alternativa bindemedel använda istället för cement',\r\n\t\t\t\t\t\t\tprocurementReason:\r\n\t\t\t\t\t\t\t\t\"Krav att använda klimatförbättrad betong bör ställas på både projektör och entreprenör eftersom projekteringen kan behöva ta hänsyn till andra materialspecifikationer i den klimatförbättrade betongen. I vår kriterietjänst finns kriterieförslag på klimatförbättrad betong som kan användas.\",\r\n\t\t\t\t\t\t\tmeasureBuildVaule: 125,\r\n\t\t\t\t\t\t\tmeaseureOperationVaule: 0,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t],\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'Konventionell asfalt',\r\n\t\t\t\t\ttoolTip:\r\n\t\t\t\t\t\t'Referensmaterialen är konventionella materialval som motsvarar valen i standardprojekt idag.',\r\n\t\t\t\t\tinfo: 'Tillverkning av konventionell asfalt. Se metodblad för beskrivning av vilken asfaltstyp som används.',\r\n\t\t\t\t\treferenceData: {\r\n\t\t\t\t\t\tunit: 'ton',\r\n\t\t\t\t\t\tamount: 49,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tinputUnit: {\r\n\t\t\t\t\t\tinfo: '',\r\n\t\t\t\t\t\tunit: 'ton',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tmeasures: [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tname: 'Klimatsmart asfalt',\r\n\t\t\t\t\t\t\ttoolTip: '',\r\n\t\t\t\t\t\t\tinfo: 'Produktion av samma asfalt, men med 20 % återvunnen asfalt och högre energieffektivitet',\r\n\t\t\t\t\t\t\tprocurementReason:\r\n\t\t\t\t\t\t\t\t\"Det finns flertalet sätt att sänka klimatpåverkan från asfalt, och marknaden utvecklas kontinuerligt med nya produkter. Krav kan ställas på leverantören att asfalt med låg klimatpåverkan ska användas. Se kriteriedatabasens för mer information.\",\r\n\t\t\t\t\t\t\tmeasureBuildVaule: 31.4,\r\n\t\t\t\t\t\t\tmeaseureOperationVaule: 0,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t},\r\n\t],\r\n};\r\n\r\nexport { formData };\r\n","import React from 'react';\r\nimport {\r\n\tBarChart,\r\n\tBar,\r\n\tXAxis,\r\n\tYAxis,\r\n\tCartesianGrid,\r\n\tReferenceLine,\r\n\tLabelList,\r\n\tResponsiveContainer,\r\n\tLabel,\r\n\tLegend,\r\n\t// @ts-ignore\r\n} from 'recharts';\r\nimport { CalculatedData } from './ClimateImpactEvaluationForm';\r\n\r\nconst ClimateImpactEvaluationDiagram: React.FC<{ data: CalculatedData }> = ({\r\n\tdata,\r\n}) => {\r\n\tconst {\r\n\t\tco2AmountBuildTraditional,\r\n\t\tco2AmountOperationTraditional,\r\n\t\tco2AmountBuildEnvironmental,\r\n\t\tco2AmountOperationEnvironmental,\r\n\t\tmeasureType,\r\n\t\tformType,\r\n\t} = data;\r\n\r\n\tconst ResultData = [\r\n\t\t{\r\n\t\t\tname: 'Utgångsläge',\r\n\t\t\tBygg: co2AmountBuildTraditional,\r\n\t\t\tDrift: co2AmountOperationTraditional,\r\n\t\t},\r\n\t\t{\r\n\t\t\tname: measureType,\r\n\t\t\tBygg: co2AmountBuildEnvironmental,\r\n\t\t\tDrift: co2AmountOperationEnvironmental,\r\n\t\t},\r\n\t];\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{formType !== 'Material' && co2AmountOperationEnvironmental !== 0 ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : null}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default ClimateImpactEvaluationDiagram;\r\n","import React from 'react';\r\nimport { CalculatedData } from './ClimateImpactEvaluationForm';\r\n\r\nconst ClimateImpactEvaluationTable: React.FC<{ data: CalculatedData }> = ({\r\n\tdata,\r\n}) => {\r\n\tconst {\r\n\t\tformType,\r\n\t\tunit,\r\n\t\tco2AmountBuildTraditional,\r\n\t\tco2AmountBuildDifference,\r\n\t\tco2AmountOperationTraditional,\r\n\t\tco2precentBuildDifference,\r\n\t\treferenceObjectType,\r\n\t\tco2AmountBuildEnvironmental,\r\n\t\tco2AmountOperationEnvironmental,\r\n\t\tmeasureType,\r\n\t\tinputAmount,\r\n\t\tco2AmountOperationDifference,\r\n\t\tco2precentOperationDifference,\r\n\t} = data;\r\n\r\n\tconst co2AmountBuildTraditionalFormatted = new Intl.NumberFormat(\r\n\t\t'sv-SE'\r\n\t).format(co2AmountBuildTraditional);\r\n\tconst co2AmountOperationTraditionalFormatted = new Intl.NumberFormat(\r\n\t\t'sv-SE'\r\n\t).format(co2AmountOperationTraditional);\r\n\tconst co2AmountBuildEnvironmentalFormatted = new Intl.NumberFormat(\r\n\t\t'sv-SE'\r\n\t).format(co2AmountBuildEnvironmental);\r\n\tconst co2AmountOperationEnvironmentalFormatted = new Intl.NumberFormat(\r\n\t\t'sv-SE'\r\n\t).format(co2AmountOperationEnvironmental);\r\n\tconst co2AmountBuildDifferenceFormatted = new Intl.NumberFormat(\r\n\t\t'sv-SE'\r\n\t).format(co2AmountBuildDifference);\r\n\r\n\tlet buildObjectTypesWithoutMaterial;\r\n\r\n\tswitch (referenceObjectType) {\r\n\t\tcase 'Flerbostadshus med betongstomme':\r\n\t\tcase 'Kontor':\r\n\t\tcase 'Skola':\r\n\t\tcase 'Förskola':\r\n\t\t\tbuildObjectTypesWithoutMaterial = 'Byggskede A1-A5';\r\n\t\t\tbreak;\r\n\t\tcase 'Gång och cykelväg':\r\n\t\tcase 'Tvåfältsväg':\r\n\t\t\tbuildObjectTypesWithoutMaterial = 'Byggskede A1-A3';\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\tlet operationObjectTypes;\r\n\r\n\tswitch (referenceObjectType) {\r\n\t\tcase 'Flerbostadshus med betongstomme':\r\n\t\tcase 'Kontor':\r\n\t\tcase 'Skola':\r\n\t\tcase 'Förskola':\r\n\t\t\toperationObjectTypes = 'Driftskede B6';\r\n\t\t\tbreak;\r\n\t\tcase 'Tvåfältsväg':\r\n\t\t\toperationObjectTypes = 'Driftskede B2-B4';\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{formType !== 'Material' &&\r\n\t\t\t\t\treferenceObjectType !== 'Gång och cykelväg' ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : null}\r\n\r\n\t\t\t\t\t{formType !== 'Material' ? : null}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{formType !== 'Material' &&\r\n\t\t\t\t\treferenceObjectType !== 'Gång och cykelväg' ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : null}\r\n\t\t\t\t\t{formType !== 'Material' ? : null}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{formType !== 'Material' &&\r\n\t\t\t\t\treferenceObjectType !== 'Gång och cykelväg' ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : null}\r\n\t\t\t\t\t{formType !== 'Material' ? : null}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{formType !== 'Material' &&\r\n\t\t\t\t\treferenceObjectType !== 'Gång och cykelväg' ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : null}\r\n\t\t\t\t\t{formType !== 'Material' ? : null}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
Resultat
{formType}\r\n\t\t\t\t\t\t{formType === 'Byggnad eller anläggning' ? 'Storlek' : 'Mängd'}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{formType === 'Material'\r\n\t\t\t\t\t\t\t? 'Byggskede A1-A3'\r\n\t\t\t\t\t\t\t: buildObjectTypesWithoutMaterial}\r\n\t\t\t\t\t{operationObjectTypes}
{referenceObjectType}\r\n\t\t\t\t\t\t{inputAmount} {unit}\r\n\t\t\t\t\t{co2AmountBuildTraditionalFormatted}{co2AmountOperationTraditionalFormatted}ton CO2e
{measureType}\r\n\t\t\t\t\t\t{inputAmount} {unit}\r\n\t\t\t\t\t{co2AmountBuildEnvironmentalFormatted}{co2AmountOperationEnvironmentalFormatted}ton CO2e
\r\n\t\t\t\t\t\t

Åtgärdseffekt

\r\n\t\t\t\t\t\t

%

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{

- {co2AmountBuildDifferenceFormatted}

}\r\n\t\t\t\t\t\t{

- {co2precentBuildDifference} %

}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{

- {co2AmountOperationDifference}

}\r\n\t\t\t\t\t\t\t{

- {co2precentOperationDifference} %

}\r\n\t\t\t\t\t\t
ton CO2e
\r\n\t);\r\n};\r\nexport default ClimateImpactEvaluationTable;\r\n","/**\r\n * ClimateImpactEvaluationForm\r\n */\r\n\r\nimport React, { useState } from 'react';\r\nimport { formData } from './ClimateImpactEvaluationForm-data';\r\nimport {\r\n\tErrorSpan,\r\n\tField,\r\n\tForm,\r\n\tLabel,\r\n\tSelect,\r\n\tText,\r\n\tTooltip,\r\n} from 'ui-component-library/base';\r\nimport { Button } from 'ui-component-library/base/Form';\r\nimport ClimateImpactEvaluationDiagram from './ClimateImpactEvaluationDiagram';\r\nimport ClimateImpactEvaluationTable from './ClimateImpactEvaluationTable';\r\n\r\nexport interface ClimateImpactEvaluationForms {\r\n\tforms: FormModel[];\r\n}\r\n\r\nexport interface FormModel {\r\n\tname: string;\r\n\ttoolTip: string;\r\n\treferenceObjects: ReferenceObject[];\r\n}\r\n\r\nexport interface ReferenceObject {\r\n\tname: string;\r\n\ttoolTip: string;\r\n\tinfo: string;\r\n\treferenceData: ReferenceData;\r\n\tlifeLengthReferenceData: LifeLengthReferenceData;\r\n\tinputObjectLifeLength: InputObjectLifeLength;\r\n\tinputUnit: InputUnit;\r\n\tmeasures: Measure[];\r\n\tconstructionPhaseData: ConstructionPhaseData;\r\n\treferenceDataOperation: ReferenceDataOperation;\r\n}\r\n\r\nexport interface InputUnit {\r\n\tinfo: string;\r\n\tunit: string;\r\n}\r\n\r\nexport interface InputObjectLifeLength {\r\n\tinfo: string;\r\n\tobjectLifeLengthUnit: string;\r\n}\r\n\r\nexport interface Measure {\r\n\tname: string;\r\n\tinfo: string;\r\n\ttoolTip: string;\r\n\tprocurementReason: string;\r\n\tmeasureBuildVaule: number;\r\n\tmeaseureOperationVaule: number;\r\n}\r\n\r\nexport interface ReferenceData {\r\n\tunit: string;\r\n\tamount: number;\r\n}\r\n\r\nexport interface ReferenceDataOperation {\r\n\tunit: string;\r\n\tamount: number;\r\n}\r\n\r\nexport interface LifeLengthReferenceData {\r\n\tunit: string;\r\n\tlifeLength: number;\r\n}\r\n\r\nexport interface ConstructionPhaseData {\r\n\tconstructionPhase: string;\r\n}\r\n\r\nexport interface CalculatedData {\r\n\tformType: string;\r\n\tco2AmountBuildTraditional: number;\r\n\tco2AmountOperationTraditional: number;\r\n\tunit: string;\r\n\tco2precentBuildDifference: number;\r\n\tco2AmountBuildDifference: number;\r\n\treferenceObjectType: string;\r\n\tmeasureType: string;\r\n\tinputObjectLifeLengthAmount: number;\r\n\tinputObjectLifeLengthUnit: string;\r\n\tinputAmount: number;\r\n\tco2AmountBuildEnvironmental: number;\r\n\tco2AmountOperationEnvironmental: number;\r\n\tco2AmountOperationDifference: number;\r\n\tco2precentOperationDifference: number;\r\n}\r\n\r\nconst getOptions = (data: { name: string }[], type: string) => {\r\n\tlet options: { value: string; caption: string }[] = [];\r\n\r\n\tif (type === 'form') {\r\n\t\toptions.push({\r\n\t\t\tvalue: '',\r\n\t\t\tcaption: 'Välj vad du vill räkna på',\r\n\t\t});\r\n\r\n\t\tdata.forEach((data: any) =>\r\n\t\t\toptions.push({\r\n\t\t\t\tvalue: data.name,\r\n\t\t\t\tcaption: data.name,\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tif (type === 'referenceObject' || type === 'referenceMaterial') {\r\n\t\tif (type === 'referenceObject') {\r\n\t\t\toptions.push({\r\n\t\t\t\tvalue: '',\r\n\t\t\t\tcaption: 'Välj referensobjekt',\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\toptions.push({\r\n\t\t\t\tvalue: '',\r\n\t\t\t\tcaption: 'Välj referensmaterial',\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tdata.forEach((data: any) =>\r\n\t\t\toptions.push({\r\n\t\t\t\tvalue: data.name,\r\n\t\t\t\tcaption: data.name,\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tif (type === 'objectMeasure' || type === 'materialMeasure') {\r\n\t\tif (type === 'objectMeasure') {\r\n\t\t\toptions.push({\r\n\t\t\t\tvalue: '',\r\n\t\t\t\tcaption: 'Välj klimatförbättrande åtgärd',\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\toptions.push({\r\n\t\t\t\tvalue: '',\r\n\t\t\t\tcaption: 'Välj klimatförbättrande material',\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tdata.forEach((data: any) =>\r\n\t\t\toptions.push({\r\n\t\t\t\tvalue: data.name,\r\n\t\t\t\tcaption: data.name,\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\treturn options;\r\n};\r\n\r\nfunction calculateData(\r\n\tinputAmount: number,\r\n\treferenceAmount: number,\r\n\treferenceAmountUnit: string,\r\n\treferenceObjectType: string,\r\n\tmeasureAmountBuild: number,\r\n\tmeasureType: string,\r\n\tformName: string,\r\n\tinputObjectLifeLengthAmount: number,\r\n\tinputObjectLifeLengthUnit: string,\r\n\treferenceAmountOperation: number,\r\n\tmeasureAmountOperation: number\r\n) {\r\n\tlet co2AmountTraditionalBuild = inputAmount * referenceAmount;\r\n\r\n\tlet co2AmountEnvironmentalBuild = inputAmount * measureAmountBuild;\r\n\r\n\tlet co2AmountTraditionalOperation =\r\n\t\tinputAmount * referenceAmountOperation * inputObjectLifeLengthAmount;\r\n\r\n\tlet co2AmountEnvironmentalOperation =\r\n\t\tinputAmount * measureAmountOperation * inputObjectLifeLengthAmount;\r\n\r\n\tconst co2AmountBuildTraditional = co2AmountTraditionalBuild / 1000;\r\n\r\n\tconst co2AmountOperationTraditional = Math.round(\r\n\t\tco2AmountTraditionalOperation / 1000\r\n\t);\r\n\r\n\tconst co2AmountBuildEnvironmental = co2AmountEnvironmentalBuild / 1000;\r\n\r\n\tconst co2AmountOperationEnvironmental = Math.round(\r\n\t\tco2AmountEnvironmentalOperation / 1000\r\n\t);\r\n\r\n\tconst co2AmountBuildDifference =\r\n\t\tco2AmountBuildTraditional - co2AmountBuildEnvironmental;\r\n\r\n\tconst co2AmountOperationDifference =\r\n\t\tco2AmountOperationTraditional - co2AmountOperationEnvironmental;\r\n\r\n\tconst precentBuildDifference = Math.round(\r\n\t\t(co2AmountBuildDifference / co2AmountBuildTraditional) * 100\r\n\t);\r\n\r\n\tconst precentOperationDifference = Math.round(\r\n\t\t(co2AmountOperationDifference / co2AmountOperationTraditional) * 100\r\n\t);\r\n\r\n\tconst formType =\r\n\t\tformName === 'Byggnad eller Anläggning'\r\n\t\t\t? 'Byggnad eller anläggning'\r\n\t\t\t: 'Material';\r\n\r\n\tconst calculatedData: CalculatedData = {\r\n\t\tformType: formType,\r\n\t\tco2AmountBuildTraditional: co2AmountBuildTraditional,\r\n\t\tco2AmountOperationTraditional: co2AmountOperationTraditional,\r\n\t\tco2AmountBuildEnvironmental: co2AmountBuildEnvironmental,\r\n\t\tco2AmountOperationEnvironmental: co2AmountOperationEnvironmental,\r\n\t\tunit: referenceAmountUnit,\r\n\t\tco2precentBuildDifference: precentBuildDifference,\r\n\t\tco2AmountBuildDifference: co2AmountBuildDifference,\r\n\t\treferenceObjectType: referenceObjectType,\r\n\t\tmeasureType: measureType,\r\n\t\tinputObjectLifeLengthAmount: inputObjectLifeLengthAmount,\r\n\t\tinputObjectLifeLengthUnit: inputObjectLifeLengthUnit,\r\n\t\tinputAmount: inputAmount,\r\n\t\tco2AmountOperationDifference: co2AmountOperationDifference,\r\n\t\tco2precentOperationDifference: precentOperationDifference,\r\n\t};\r\n\treturn calculatedData;\r\n}\r\n\r\n/** Main description for this component. */\r\nconst ClimateImpactEvaluationForm: React.FC = () => {\r\n\tconst { forms } = formData as ClimateImpactEvaluationForms;\r\n\r\n\tconst [allForms] = useState(forms);\r\n\tconst [form, setForm] = useState(null);\r\n\tconst [referenceObject, setReferenceObject] =\r\n\t\tuseState(null);\r\n\tconst [measure, setMeasure] = useState(null);\r\n\r\n\tconst [calculatedData, setCalculatedData] = useState(\r\n\t\tnull\r\n\t);\r\n\r\n\tconst handleSubmit = (e: any) => {\r\n\t\tif (parseInt(e.amount) > 0 && form && referenceObject && measure) {\r\n\t\t\tconst calculatedData = calculateData(\r\n\t\t\t\te.amount,\r\n\t\t\t\treferenceObject.referenceData.amount,\r\n\t\t\t\treferenceObject.referenceData.unit,\r\n\t\t\t\treferenceObject?.name,\r\n\t\t\t\tmeasure.measureBuildVaule,\r\n\t\t\t\tmeasure.name,\r\n\t\t\t\tform.name,\r\n\t\t\t\treferenceObject?.lifeLengthReferenceData?.lifeLength,\r\n\t\t\t\treferenceObject?.lifeLengthReferenceData?.unit,\r\n\t\t\t\treferenceObject?.referenceDataOperation?.amount,\r\n\t\t\t\tmeasure.measeureOperationVaule\r\n\t\t\t);\r\n\r\n\t\t\tsetCalculatedData(calculatedData);\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleReset = () => {\r\n\t\tsetForm(null);\r\n\t\tsetReferenceObject(null);\r\n\t\tsetMeasure(null);\r\n\t\tsetCalculatedData(null);\r\n\t};\r\n\r\n\tconst handleFormChange = (e: { name: string; value: string }) => {\r\n\t\tif (e.name === 'formType') {\r\n\t\t\tconst index = allForms.findIndex((form) => form.name === e.value);\r\n\r\n\t\t\tif (index !== undefined && index !== -1) {\r\n\t\t\t\tconst form = forms[index] as FormModel;\r\n\r\n\t\t\t\tsetForm(form);\r\n\t\t\t\tsetReferenceObject(null);\r\n\t\t\t\tsetMeasure(null);\r\n\t\t\t\tsetCalculatedData(null);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (e.name === 'referenceObject') {\r\n\t\t\tconst index = form?.referenceObjects.findIndex(\r\n\t\t\t\t(referenceObject) => referenceObject.name === e.value\r\n\t\t\t);\r\n\r\n\t\t\tif (index !== undefined && index !== -1) {\r\n\t\t\t\tconst referenceObject = form?.referenceObjects[\r\n\t\t\t\t\tindex\r\n\t\t\t\t] as ReferenceObject;\r\n\t\t\t\tsetReferenceObject(referenceObject);\r\n\t\t\t\tsetMeasure(null);\r\n\t\t\t\tsetCalculatedData(null);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (e.name === 'measure') {\r\n\t\t\tconst index = referenceObject?.measures.findIndex(\r\n\t\t\t\t(measure) => measure.name === e.value\r\n\t\t\t);\r\n\r\n\t\t\tif (index !== undefined && index !== -1) {\r\n\t\t\t\tconst measure = referenceObject?.measures[index] as Measure;\r\n\t\t\t\tsetMeasure(measure);\r\n\t\t\t\tsetCalculatedData(null);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{form?.toolTip && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t{form && (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{referenceObject?.toolTip && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{referenceObject?.info &&\r\n\t\t\t\t\t\t\t\treferenceObject?.constructionPhaseData?.constructionPhase !==\r\n\t\t\t\t\t\t\t\t\tundefined ? (\r\n\t\t\t\t\t\t\t\t\t{`${referenceObject.info} ${referenceObject?.constructionPhaseData?.constructionPhase}.`}\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t{referenceObject?.info}\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t{referenceObject && (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{referenceObject.inputUnit.info && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{measure?.toolTip && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t{measure?.info && (\r\n\t\t\t\t\t\t\t\t\t\t\t{measure.info}\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{measure && (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\t{calculatedData && form && (\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{measure?.procurementReason && (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default ClimateImpactEvaluationForm;\r\n","import { HighchartsBaseModel } from 'types';\r\nimport * as HighchartsJs from 'highcharts';\r\n\r\ninterface GetOptionsFromProps {\r\n\t(props: HighchartsBaseModel): HighchartsJs.Options;\r\n}\r\n\r\nexport const getOptionsFromProps: GetOptionsFromProps = (props) => {\r\n\tconst {\r\n\t\tchartType,\r\n\t\ttitle,\r\n\t\tsubtitle,\r\n\t\ttooltipValueDecimals,\r\n\t\ttooltipValuePrefix,\r\n\t\ttooltipValueSuffix,\r\n\t\tyAxisTitle,\r\n\t\tyAxisLabelFormat,\r\n\t\tyAxisMin,\r\n\t\tyAxisMax,\r\n\t\txAxisTitle,\r\n\t\txAxisLabelFormat,\r\n\t\txAxisCategories,\r\n\t\tseries,\r\n\t\tstacked,\r\n\t\tshowLegend,\r\n\t\tchartHeight,\r\n\t} = props;\r\n\tlet stacking: 'normal' | 'percent' | undefined;\r\n\r\n\tswitch (stacked) {\r\n\t\tcase 'percent':\r\n\t\t\tstacking = 'percent';\r\n\t\t\tbreak;\r\n\t\tcase true:\r\n\t\tcase 'normal':\r\n\t\t\tstacking = 'normal';\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\tstacking = undefined;\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\tconst options: Highcharts.Options = {\r\n\t\ttitle: {\r\n\t\t\ttext: title || undefined,\r\n\t\t},\r\n\r\n\t\tcolors: [\r\n\t\t\t'#008A2B',\r\n\t\t\t'#6B2879',\r\n\t\t\t'#E05B27',\r\n\t\t\t'#00636A',\r\n\t\t\t'#779F32',\r\n\t\t\t'#231E13',\r\n\t\t\t'#DD2879',\r\n\t\t\t'#1F497D',\r\n\t\t\t'#7B7871',\r\n\t\t\t'#B4135B',\r\n\t\t],\r\n\t\tcredits: {\r\n\t\t\tenabled: false,\r\n\t\t},\r\n\t\tsubtitle: {\r\n\t\t\ttext: subtitle || undefined,\r\n\t\t},\r\n\t\tchart: {\r\n\t\t\ttype: chartType,\r\n\t\t\tstyle: {\r\n\t\t\t\tfontFamily: '\"IBM Plex Sans\", sans-serif',\r\n\t\t\t},\r\n\t\t\theight: chartHeight,\r\n\t\t\tmarginRight: 15,\r\n\t\t},\r\n\t\tyAxis: {\r\n\t\t\ttitle: {\r\n\t\t\t\ttext: yAxisTitle || undefined,\r\n\t\t\t},\r\n\t\t\tlabels: {\r\n\t\t\t\tformat: yAxisLabelFormat || undefined,\r\n\t\t\t},\r\n\t\t\tmin: yAxisMin || undefined,\r\n\t\t\tmax: yAxisMax || undefined,\r\n\t\t\tminTickInterval: 1,\r\n\t\t},\r\n\t\txAxis: {\r\n\t\t\ttitle: {\r\n\t\t\t\ttext: xAxisTitle || undefined,\r\n\t\t\t},\r\n\t\t\tcategories: xAxisCategories || undefined,\r\n\t\t\tlabels: {\r\n\t\t\t\tformat: xAxisLabelFormat || undefined,\r\n\t\t\t},\r\n\t\t\t// categories: null,\r\n\t\t},\r\n\t\tplotOptions: {\r\n\t\t\tseries: {\r\n\t\t\t\tstacking: stacking, //'normal',\r\n\t\t\t},\r\n\t\t\tpie: {\r\n\t\t\t\tdataLabels: {\r\n\t\t\t\t\t//alignTo: 'plotEdges',\r\n\t\t\t\t\t// \tpadding: 0,\r\n\t\t\t\t},\r\n\r\n\t\t\t\ttooltip: {\r\n\t\t\t\t\theaderFormat: '{point.key}
',\r\n\t\t\t\t\tpointFormat: `${\r\n\t\t\t\t\t\ttooltipValueSuffix !== '%' ? 'Antal: {point.y}
' : ''\r\n\t\t\t\t\t}Andel: {point.percentage:.1f} %`,\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t\tlegend: {\r\n\t\t\tenabled: showLegend !== false,\r\n\t\t\tmaxHeight: 115,\r\n\t\t},\r\n\t\ttooltip: {\r\n\t\t\tvalueDecimals: tooltipValueDecimals,\r\n\t\t\tvaluePrefix: tooltipValuePrefix,\r\n\t\t\tvalueSuffix: tooltipValueSuffix,\r\n\t\t},\r\n\t\tseries: series,\r\n\t\texporting: {\r\n\t\t\tsourceWidth: 1400,\r\n\t\t\tsourceHeight: 800,\r\n\t\t\tbuttons: {\r\n\t\t\t\tcontextButton: {\r\n\t\t\t\t\tenabled: false,\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\tchartOptions: {\r\n\t\t\t\t// specific options for the exported image\r\n\t\t\t\tplotOptions: {\r\n\t\t\t\t\tseries: {\r\n\t\t\t\t\t\tdataLabels: {\r\n\t\t\t\t\t\t\tenabled: true,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t\tpie: {\r\n\t\t\t\t\t\tsize: '50%',\r\n\t\t\t\t\t\tdataLabels: {\r\n\t\t\t\t\t\t\tdistance: '120px',\r\n\t\t\t\t\t\t\tpadding: 0,\r\n\t\t\t\t\t\t\t//alignTo: 'plotEdges',\r\n\t\t\t\t\t\t\tenabled: true,\r\n\t\t\t\t\t\t\tformat: `{point.name}
${\r\n\t\t\t\t\t\t\t\ttooltipValueSuffix !== '%' ? 'Antal: {point.y}
' : ''\r\n\t\t\t\t\t\t\t}Andel: {point.percentage:.1f} %`,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tlegend: {\r\n\t\t\t\t\tnavigation: {\r\n\t\t\t\t\t\tenabled: false,\r\n\t\t\t\t\t},\r\n\t\t\t\t\titemDistance: 100,\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\t//console.log(options);\r\n\r\n\treturn options;\r\n};\r\n","/**\r\n * Highcharts\r\n */\r\n\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Icon, Text } from 'ui-component-library/base';\r\nimport { HighchartsBaseModel } from 'types';\r\nimport { getOptionsFromProps } from './helpers/getOptionsFromProps';\r\n\r\ninterface Props extends HighchartsBaseModel {\r\n\t/** Chart heading */\r\n\theading?: string;\r\n\r\n\t/** Chart source */\r\n\tsource?: string;\r\n\r\n\t/** Last date when the statistics data was updated */\r\n\tlastUpdated?: string | null;\r\n\r\n\t/** Ref to Highchart */\r\n\tchartRef?: any;\r\n\r\n\t/** Should the loading spinner be visible? */\r\n\tshowSpinner?: boolean;\r\n}\r\n\r\n/** Integration with Highcharts.js. */\r\nconst Highcharts: React.FC = ({\r\n\theading,\r\n\tsource,\r\n\tlastUpdated,\r\n\tchartRef,\r\n\tshowSpinner = true,\r\n\t...chartProperties\r\n}) => {\r\n\tconst [highchartsJs, setHighchartsJs] = useState();\r\n\tconst [HighchartsReact, setHighchartsReact] = useState();\r\n\tconst [options, setOptions] = useState(\r\n\t\tgetOptionsFromProps(chartProperties)\r\n\t);\r\n\r\n\tuseEffect(() => {\r\n\t\timport('highcharts').then((data) => {\r\n\t\t\tsetHighchartsJs(data.default);\r\n\t\t\trequire('highcharts/modules/exporting')(data.default);\r\n\t\t});\r\n\t\timport('highcharts-react-official').then((data) =>\r\n\t\t\tsetHighchartsReact(data.default)\r\n\t\t);\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetOptions(getOptionsFromProps(chartProperties));\r\n\t}, [\r\n\t\tchartProperties.stacked,\r\n\t\tchartProperties.series,\r\n\t\tchartProperties.title,\r\n\t\tchartProperties.subtitle,\r\n\t\tchartProperties.tooltipValueDecimals,\r\n\t\tchartProperties.tooltipValuePrefix,\r\n\t\tchartProperties.tooltipValueSuffix,\r\n\t\tchartProperties.chartType,\r\n\t\tchartProperties.yAxisTitle,\r\n\t\tchartProperties.yAxisLabelFormat,\r\n\t\tchartProperties.yAxisMin,\r\n\t\tchartProperties.yAxisMax,\r\n\t\tchartProperties.xAxisTitle,\r\n\t\tchartProperties.xAxisCategories,\r\n\t\tchartProperties.xAxisLabelFormat,\r\n\t\tchartProperties.chartHeight,\r\n\t]);\r\n\t// Stack with percent\r\n\r\n\tif (!highchartsJs || !HighchartsReact) {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t{showSpinner && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{source &&

{source}

}\r\n\t\t\t
\r\n\t\t);\r\n\t} else {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{source &&

{source}

}\r\n\t\t\t\t{lastUpdated && (\r\n\t\t\t\t\t

{`Statistikdatabasen uppdatering ${lastUpdated}`}

\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n};\r\n\r\nexport default Highcharts;\r\n","import axios from 'axios';\r\nimport { createMachine, assign } from 'xstate';\r\n\r\ntype PaginationEventType = {\r\n\ttype: 'FETCH';\r\n\toffset: number;\r\n\tfetch: number;\r\n\tsortOrder?: number;\r\n\tapiUrl: string;\r\n\tfilter?: string;\r\n\tcategoryId?: number;\r\n};\r\n\r\ntype PaginationContext = {\r\n\tapiUrl: string;\r\n\tresult?: any;\r\n\terror: any;\r\n};\r\n\r\nconst resultData = async (\r\n\tapiUrl: string,\r\n\t_offset: number,\r\n\tfetch: number,\r\n\tsortOrder?: number,\r\n\tfilter?: string,\r\n\tcategoryId?: number\r\n) => {\r\n\tlet firstDelimiter = '?';\r\n\r\n\tif (apiUrl.indexOf('?') > -1) {\r\n\t\tfirstDelimiter = '&';\r\n\t}\r\n\r\n\tlet url = `${apiUrl}${firstDelimiter}fetch=${fetch}`;\r\n\r\n\tif (sortOrder) {\r\n\t\turl += `&sortOrder=${sortOrder}`;\r\n\t}\r\n\r\n\tif (filter) {\r\n\t\turl += `&${filter}`;\r\n\t}\r\n\r\n\tif (categoryId) {\r\n\t\turl += `&categoryId=${categoryId}`;\r\n\t}\r\n\r\n\tconst { data } = await axios.get(url, {\r\n\t\theaders: { 'Content-Language': window.__culture },\r\n\t});\r\n\r\n\treturn data;\r\n};\r\n\r\nexport const showMorePaginationMachine = createMachine<\r\n\tPaginationContext,\r\n\tPaginationEventType\r\n>({\r\n\tid: 'showMorePaginationMachine',\r\n\tinitial: 'idle',\r\n\tcontext: {\r\n\t\tapiUrl: '',\r\n\t\tresult: undefined,\r\n\t\terror: undefined,\r\n\t},\r\n\tstates: {\r\n\t\tidle: {},\r\n\t\tloading: {\r\n\t\t\tinvoke: {\r\n\t\t\t\tid: 'getData',\r\n\t\t\t\tsrc: (_context, event) =>\r\n\t\t\t\t\tresultData(\r\n\t\t\t\t\t\tevent.apiUrl,\r\n\t\t\t\t\t\tevent.offset,\r\n\t\t\t\t\t\tevent.fetch,\r\n\t\t\t\t\t\tevent.sortOrder,\r\n\t\t\t\t\t\tevent.filter,\r\n\t\t\t\t\t\tevent.categoryId\r\n\t\t\t\t\t),\r\n\t\t\t\tonDone: {\r\n\t\t\t\t\ttarget: 'success',\r\n\t\t\t\t\tactions: assign({\r\n\t\t\t\t\t\tresult: (_context, event) => event.data,\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t\tonError: {\r\n\t\t\t\t\ttarget: 'failure',\r\n\t\t\t\t\tactions: assign({\r\n\t\t\t\t\t\terror: (_context, event) => event.data,\r\n\t\t\t\t\t\tresult: (_context, _event) => undefined,\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t\tsuccess: {},\r\n\t\tfailure: {},\r\n\t},\r\n\ton: {\r\n\t\tFETCH: [\r\n\t\t\t{\r\n\t\t\t\ttarget: 'loading',\r\n\t\t\t\tactions: [],\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n});\r\n","/**\r\n * ExportDataDropdown\r\n */\r\n\r\nimport clsx from 'clsx';\r\nimport { useUuid } from 'hooks';\r\nimport React, { useRef, useState } from 'react';\r\nimport { Icon } from 'ui-component-library/base';\r\nimport { useOutsideClick } from 'ui-component-library/hooks';\r\n\r\ninterface Props {\r\n\t/** Button text of the dropdown */\r\n\tbuttonText: string;\r\n\r\n\t/** Title of the diagram or table */\r\n\tdataTitle?: string;\r\n\r\n\t/** If the element is disabled */\r\n\tdisabled?: boolean;\r\n\r\n\t/** Pass an optional className */\r\n\tclassName?: string;\r\n}\r\n\r\n/** Main description for this component. */\r\nconst ExportDataDropdown: React.FC = ({\r\n\tbuttonText,\r\n\tdataTitle,\r\n\tdisabled,\r\n\tclassName,\r\n\tchildren,\r\n}) => {\r\n\tconst [getUuid] = useUuid();\r\n\tconst id = getUuid();\r\n\tconst exportResultsdRef = useRef();\r\n\tconst [exportResultExpanded, setExportResultExpanded] = useState(false);\r\n\r\n\tuseOutsideClick(exportResultsdRef, () => {\r\n\t\tsetExportResultExpanded(false);\r\n\t});\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t setExportResultExpanded(!exportResultExpanded)}\r\n\t\t\t\taria-controls={`export-dropdown-${id}`}\r\n\t\t\t\taria-expanded={exportResultExpanded}\r\n\t\t\t\tdisabled={disabled}\r\n\t\t\t>\r\n\t\t\t\t\r\n\t\t\t\t\t{buttonText}\r\n\t\t\t\t\t{dataTitle && {` ${dataTitle}`}}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{exportResultExpanded && (\r\n\t\t\t\t\r\n\t\t\t\t\t
    {children}
\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default ExportDataDropdown;\r\n","export const exportDataByUrl = (url: string) => {\r\n\tlet a = document.createElement('a');\r\n\ta.classList.add('hidden');\r\n\tdocument.body.appendChild(a);\r\n\ta.href = url;\r\n\ta.download = url;\r\n\ta.click();\r\n\ta.remove();\r\n};\r\n\r\nexport const exportDataHighcharts = (chartRef: any, exportType: string) => {\r\n\tif (chartRef.current !== null && exportType) {\r\n\t\tchartRef.current.chart?.exportChart({\r\n\t\t\ttype: exportType,\r\n\t\t});\r\n\t}\r\n};\r\n","/**\r\n * ExportDataOption\r\n */\r\n\r\nimport {\r\n\texportDataByUrl,\r\n\texportDataHighcharts,\r\n} from 'components/StatisticService/helpers';\r\nimport React from 'react';\r\n\r\ninterface Props {\r\n\t/** Export option type */\r\n\ttype: string;\r\n\r\n\t/** Export url */\r\n\turl?: string;\r\n\r\n\t/** Reference to highchart */\r\n\tchartRef?: any;\r\n\r\n\t/** OnClick callback */\r\n\tonClick?: any;\r\n\r\n\t/** Pass an optional className */\r\n\tclassName?: string;\r\n}\r\n\r\n/** Main description for this component. */\r\nconst ExportDataOption: React.FC = ({\r\n\ttype,\r\n\turl,\r\n\tchartRef,\r\n\tonClick,\r\n\tclassName,\r\n\tchildren,\r\n}) => {\r\n\tconst handleExportData = (exportType: string, url?: string) => {\r\n\t\tswitch (exportType) {\r\n\t\t\tcase 'csv':\r\n\t\t\tcase 'excel':\r\n\t\t\t\tif (url) {\r\n\t\t\t\t\texportDataByUrl(url);\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'svg':\r\n\t\t\t\texportDataHighcharts(chartRef, 'image/svg+xml');\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'png':\r\n\t\t\tcase 'jpeg':\r\n\t\t\t\texportDataHighcharts(chartRef, `image/${exportType}`);\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t
  • \r\n\t\t\t {\r\n\t\t\t\t\t(onClick && onClick()) || handleExportData(type, url);\r\n\t\t\t\t}}\r\n\t\t\t>\r\n\t\t\t\t{children}\r\n\t\t\t\r\n\t\t
  • \r\n\t);\r\n};\r\n\r\nexport default ExportDataOption;\r\n","/**\r\n * StatisticsDataBlock\r\n */\r\n\r\nimport StatisticTable from 'components/StatisticTable';\r\nimport Text from 'components/Text';\r\nimport Highcharts from 'components/Highcharts';\r\nimport React, { useEffect, useRef, useState } from 'react';\r\nimport {\r\n\tStatisticsDataDiagramModel,\r\n\tStatisticsDataExportOptionModel,\r\n\tStatisticsDataTableModel,\r\n\tStatisticTableModel,\r\n} from 'types';\r\nimport { FilterButton, FilterButtonGroup } from 'ui-component-library/base';\r\nimport { useMachine } from '@xstate/react';\r\nimport { showMorePaginationMachine } from 'state-machines/showMorePagination.machine';\r\nimport ExportDataDropdown from 'components/ExportDataDropdown';\r\nimport ExportDataOption from 'components/ExportDataDropdown/ExportDataOption';\r\n\r\ninterface Props {\r\n\t/** Heading for the block */\r\n\theading: string;\r\n\r\n\t/** Properties and data for the table */\r\n\ttableData?: StatisticsDataTableModel;\r\n\r\n\t/** Properties and data for highcharts */\r\n\tdiagramData?: StatisticsDataDiagramModel;\r\n\r\n\t/** Pass a unique id for the tabs */\r\n\tid: number | string;\r\n\r\n\t/** Pass a optional className */\r\n\tclassName?: string;\r\n}\r\n\r\n/** Main description for this component. */\r\nconst StatisticsDataBlock: React.FC = ({\r\n\theading,\r\n\ttableData,\r\n\tdiagramData,\r\n\tid,\r\n\tclassName,\r\n}) => {\r\n\tconst [state, send] = useMachine(showMorePaginationMachine);\r\n\tconst chartRef = useRef(null);\r\n\tconst [activeTab, setActiveTab] = useState(\r\n\t\t(tableData?.isActive && `table-tab-${id}`) ||\r\n\t\t\t(diagramData?.isActive && `diagram-tab-${id}`)\r\n\t);\r\n\tconst [tableProps, setTableProps] = useState(\r\n\t\tnull\r\n\t);\r\n\r\n\tlet totalFetch = 0;\r\n\tif (tableProps && tableData) {\r\n\t\ttotalFetch =\r\n\t\t\ttableProps.offset + tableProps.fetch + tableData.numberOfHitsPerPage;\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tsetTableProps(state.context.result);\r\n\t}, [state.context.result]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (tableData) setTableProps(tableData.tableProperties);\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t{heading}\r\n\t\t\t
    \r\n\t\t\t{(diagramData || tableData) && (\r\n\t\t\t\t\r\n\t\t\t\t\t{tableData && (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tsetActiveTab(`table-tab-${id}`);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{tableData.tabName}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{diagramData && (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tsetActiveTab(`diagram-tab-${id}`);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{diagramData.tabName}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t
    \r\n\t\t\t\t{tableData && activeTab === `table-tab-${id}` && tableProps && (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{tableData.exports && (\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{tableData.exports.options.map(\r\n\t\t\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t\t\toption: StatisticsDataExportOptionModel,\r\n\t\t\t\t\t\t\t\t\t\t\tindex: number\r\n\t\t\t\t\t\t\t\t\t\t) => {\r\n\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{option.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t totalFetch}\r\n\t\t\t\t\t\t\tpaginationCallback={() => {\r\n\t\t\t\t\t\t\t\tsend('FETCH', {\r\n\t\t\t\t\t\t\t\t\toffset: 0,\r\n\t\t\t\t\t\t\t\t\tfetch: totalFetch,\r\n\t\t\t\t\t\t\t\t\tapiUrl: tableData.apiUrl,\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{diagramData && activeTab === `diagram-tab-${id}` && (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{diagramData.exports && (\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{diagramData.exports.options.map(\r\n\t\t\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t\t\toption: StatisticsDataExportOptionModel,\r\n\t\t\t\t\t\t\t\t\t\t\tindex: number\r\n\t\t\t\t\t\t\t\t\t\t) => {\r\n\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{option.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default StatisticsDataBlock;\r\n","/**\r\n * StatisticChart\r\n */\r\n\r\nimport React, { useRef } from 'react';\r\nimport Highcharts from 'components/Highcharts';\r\nimport { HighchartsBaseModel, StatisticsDataExportOptionModel } from 'types';\r\nimport ExportDataDropdown from 'components/ExportDataDropdown';\r\nimport ExportDataOption from 'components/ExportDataDropdown/ExportDataOption';\r\n\r\ninterface Props {\r\n\t/** Chart heading */\r\n\theading?: string;\r\n\r\n\t/** Chart source */\r\n\tsource?: string;\r\n\r\n\t/** Chart properties */\r\n\tchartProperties?: HighchartsBaseModel;\r\n}\r\n\r\n/** Main description for this component. */\r\nconst StatisticChart: React.FC = ({\r\n\theading,\r\n\tsource,\r\n\tchartProperties,\r\n}) => {\r\n\tconst chartRef = useRef(null);\r\n\treturn (\r\n\t\t
    \r\n\t\t\t{chartProperties?.exports && (\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{chartProperties.exports.options.map(\r\n\t\t\t\t\t\t\t(option: StatisticsDataExportOptionModel, index: number) => {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{option.name}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t)}\r\n\t\t\t 16\r\n\t\t\t\t\t\t? 100 + '%'\r\n\t\t\t\t\t\t: null\r\n\t\t\t\t}\r\n\t\t\t\tchartRef={chartRef}\r\n\t\t\t/>\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default StatisticChart;\r\n","/**\r\n * EpiFragments\r\n */\r\n\r\nimport React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport {\r\n\tResponsiveIframe,\r\n\tInfoBox,\r\n\tImageModal,\r\n\tQuote,\r\n\tDescriptionList,\r\n\tDescriptionWrapper,\r\n\tDescriptionTerm,\r\n\tDescriptionText,\r\n\tLinkListItem,\r\n\tLinkList,\r\n\tGrid,\r\n\tCell,\r\n\tButton,\r\n\tIcon,\r\n} from 'ui-component-library/base';\r\nimport EkoForm from 'components/EkoForm/EkoForm/EkoForm';\r\nimport {\r\n\tStepByStepItem,\r\n\tQuestionList,\r\n\tQuestionListHeader,\r\n\tQuestionListItem,\r\n\tEpiForms,\r\n\tCriteriaLevelSelect,\r\n\tCriteriaLevel,\r\n\tInfoBoxCriteria,\r\n\tInfoBoxCriteriaItem,\r\n\tGuidanceBox,\r\n\tReferenceAccordion,\r\n} from 'ui-component-library/uhmse';\r\nimport { selectEpi } from 'store/modules/epi';\r\nimport {\r\n\tFragmentModelTypes,\r\n\tRawFragmentModel,\r\n\tHeadingFragmentModel,\r\n\tImageFragmentModel,\r\n\tVideoFragmentModel,\r\n\tInfoBoxFragmentModel,\r\n\tReferencesBoxFragmentModel,\r\n\tStepByStepModel,\r\n\tTableFragmentModel,\r\n\tRelatedDialogsModel,\r\n\tStepFragmentModel,\r\n\tFormContainerFragmentModel,\r\n\tChapterFragmentModel,\r\n\tQuoteFragmentModel,\r\n\tDescriptionListFragmentModel,\r\n\tLinkListFragmentModel,\r\n\tRequirementLevelComparerModel,\r\n\tRequirementLevelRowModel,\r\n\tInfoBoxesModel,\r\n\tEmbeddedScriptModel,\r\n\tInfoBoxCriteriaModel,\r\n\tRiskAssessmentsMatrixModel,\r\n\tRiskAssessmentsMatrixSmallModel,\r\n\tHighchartsModel,\r\n\tServiceButtonFragmentModel,\r\n\tStatisticsDataBlockModel,\r\n\tEmploymentRequirementsCalculationFormModel,\r\n\tStatisticsDataExportOptionModel,\r\n\tGuidanceInfoBoxFragmentModel,\r\n\tReferencesAccordionFragmentModel,\r\n} from 'types';\r\nimport StepByStep from 'components/StepByStep';\r\nimport Text from 'components/Text';\r\nimport RichText from 'components/RichText';\r\nimport Image from 'components/Image';\r\nimport clsx from 'clsx';\r\nimport Link from 'components/Link';\r\nimport EmbedScript from 'components/EmbedScript';\r\nimport RiskTable from 'components/RiskTable';\r\nimport StatisticTable from 'components/StatisticTable';\r\nimport ClimateImpactEvaluationForm from '../ClimateImpactEvaluationForm';\r\nimport StatisticsDataBlock from 'components/StatisticsDataBlock';\r\nimport StatisticChart from 'components/StatisticChart';\r\nimport ExportDataDropdown from 'components/ExportDataDropdown';\r\nimport ExportDataOption from 'components/ExportDataDropdown/ExportDataOption';\r\nimport { useLocation } from 'react-router-dom';\r\ninterface Props {\r\n\t/** Epi property to use when edit the text */\r\n\tprop?: string;\r\n\r\n\t/** Fragments that should be rendered. */\r\n\tfragments?: FragmentModelTypes[];\r\n\r\n\t/** Optional className */\r\n\tclassName?: string;\r\n}\r\n\r\nconst getHeadingLevel = (level: number) => {\r\n\tswitch (level) {\r\n\t\tcase 1:\r\n\t\t\treturn 'h1';\r\n\t\tcase 2:\r\n\t\t\treturn 'h2';\r\n\t\tcase 3:\r\n\t\t\treturn 'h3';\r\n\t\tcase 4:\r\n\t\t\treturn 'h4';\r\n\t\tcase 5:\r\n\t\t\treturn 'h5';\r\n\t\tcase 6:\r\n\t\t\treturn 'h6';\r\n\t\tdefault:\r\n\t\t\treturn 'h2';\r\n\t}\r\n};\r\n\r\n/** Component for rendering Episerver fragments. */\r\nconst EpiFragments: React.FC = ({ prop, fragments, className }) => {\r\n\tlet hashstring = useLocation().hash;\r\n\r\n\tconst getFragment = (fragment: FragmentModelTypes, index: number) => {\r\n\t\tswitch (fragment.modelType) {\r\n\t\t\tcase 'EmbeddedScriptModel':\r\n\t\t\t\tconst scriptData = fragment as EmbeddedScriptModel;\r\n\t\t\t\treturn ;\r\n\t\t\tcase 'Step':\r\n\t\t\t\tconst stepData = fragment as StepFragmentModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t);\r\n\t\t\tcase 'StepByStep':\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\tcase 'HeadingFragment':\r\n\t\t\t\tconst data = fragment as HeadingFragmentModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\r\n\t\t\tcase 'Image':\r\n\t\t\t\tconst imgData = fragment as ImageFragmentModel;\r\n\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{imgData.zoom ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\tcase 'Video':\r\n\t\t\t\tconst videoData = fragment as VideoFragmentModel;\r\n\t\t\t\tconst handleClick = () => {\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\ttypeof window !== 'undefined' &&\r\n\t\t\t\t\t\twindow.CookieConsent &&\r\n\t\t\t\t\t\twindow.CookieConsent.renew\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\twindow.CookieConsent.renew();\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\r\n\t\t\t\tvar src = '';\r\n\t\t\t\tif (videoData.embedUrl.includes('youtube'))\r\n\t\t\t\t{\r\n\t\t\t\t\tif (videoData.embedUrl.includes('?'))\r\n\t\t\t\t\t\tsrc = `${videoData.embedUrl}&enablejsapi=1`;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tsrc = `${videoData.embedUrl}?enablejsapi=1`;\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\tsrc = videoData.embedUrl;\r\n\t\t\t\t}\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{videoData.missingConsentText}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t);\r\n\t\t\tcase 'InfoBox':\r\n\t\t\t\tconst infoBoxData = fragment as InfoBoxFragmentModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t);\r\n\t\t\tcase 'ReferencesBox':\r\n\t\t\t\tconst referencesData = fragment as ReferencesBoxFragmentModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t);\r\n\t\t\tcase 'ReferencesAccordion':\r\n\t\t\t\tconst accordionData = fragment as ReferencesAccordionFragmentModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t);\r\n\t\t\tcase 'GuidanceInfoBox':\r\n\t\t\t\tconst guidanceInfoBoxData = fragment as GuidanceInfoBoxFragmentModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t);\r\n\t\t\tcase 'TableFragment':\r\n\t\t\t\tconst tableData = fragment as TableFragmentModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t);\r\n\t\t\tcase 'RelatedDialogsModel':\r\n\t\t\t\tconst dialogData = fragment as RelatedDialogsModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{dialogData.heading && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{dialogData.dialogs.map((dialog, index) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\tcase 'RawFragment':\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\tcase 'FormContainer':\r\n\t\t\t\tconst formData = fragment as FormContainerFragmentModel;\r\n\t\t\t\treturn ;\r\n\r\n\t\t\tcase 'EmploymentRequirementsCalculationForm':\r\n\t\t\t\tconst ekoFormData =\r\n\t\t\t\t\tfragment as EmploymentRequirementsCalculationFormModel;\r\n\t\t\t\treturn ;\r\n\t\t\tcase 'Chapter':\r\n\t\t\t\tconst chapterData = fragment as ChapterFragmentModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{chapterData.text.fragments?.map(getFragment)}\r\n\t\t\t\t\t
    \r\n\t\t\t\t);\r\n\t\t\tcase 'Quote':\r\n\t\t\t\tconst quoteData = fragment as QuoteFragmentModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{quoteData.text}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t);\r\n\t\t\tcase 'DescriptionList':\r\n\t\t\t\tconst descriptionListData = fragment as DescriptionListFragmentModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{descriptionListData.sections.map(\r\n\t\t\t\t\t\t\t(section, indexDescriptionWrapper) => {\r\n\t\t\t\t\t\t\t\tswitch (section.type) {\r\n\t\t\t\t\t\t\t\t\tcase 'text':\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\tcase 'breadcrumb':\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{section.items?.map((item, indexDescriptionItem) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{section.items &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindexDescriptionItem !==\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsection.items.length - 1 &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t' / '}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\tcase 'listWithLinks':\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{section.items && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{section.items.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(item, indexDescriptionItem) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\t\t\t\treturn null;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\tcase 'LinkList':\r\n\t\t\t\tconst linkListData = fragment as LinkListFragmentModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{linkListData.items.map((item, indexLinkList) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\tcase 'ServiceButton':\r\n\t\t\t\tconst buttonData = fragment as ServiceButtonFragmentModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{buttonData.icon && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{buttonData.text}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\tcase 'RequirementLevelComparerModel':\r\n\t\t\t\tconst levelComparerData = fragment as RequirementLevelComparerModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{levelComparerData.heading}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{levelComparerData.levels.map((level, index) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{level.rows &&\r\n\t\t\t\t\t\t\t\t\t\tlevel.rows.length > 0 &&\r\n\t\t\t\t\t\t\t\t\t\tlevel.rows.map((row, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\tswitch (row.modelType) {\r\n\t\t\t\t\t\t\t\t\t\t\t\tcase 'CompareStringProperty':\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{row.text}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\tcase 'CompareHtmlProperty':\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn null;\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\tcase 'InfoBoxes':\r\n\t\t\t\tconst infoBoxesData = fragment as InfoBoxesModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{infoBoxesData.boxes &&\r\n\t\t\t\t\t\t\tinfoBoxesData.boxes.length > 0 &&\r\n\t\t\t\t\t\t\tinfoBoxesData.boxes.map((box, index) => {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\r\n\t\t\tcase 'InfoBoxCriteria':\r\n\t\t\t\tconst infoBoxCriteriaData = fragment as InfoBoxCriteriaModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{infoBoxCriteriaData.items.map((item, index) => {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{item.fragments && item.fragments.length > 0 && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t{item.items &&\r\n\t\t\t\t\t\t\t\t\t\titem.items.length > 0 &&\r\n\t\t\t\t\t\t\t\t\t\titem.items.map((subItem, subIndex) => {\r\n\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{subItem.fragments &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsubItem.fragments.length > 0 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\tcase 'RiskAssessmentsMatrix':\r\n\t\t\t\tconst matrixData = fragment as RiskAssessmentsMatrixModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\r\n\t\t\tcase 'RiskAssessmentsMatrixSmall':\r\n\t\t\t\tconst matrixSmallData = fragment as RiskAssessmentsMatrixSmallModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\r\n\t\t\tcase 'ClimateImpactEvaluationForm':\r\n\t\t\t\treturn ;\r\n\r\n\t\t\tcase 'Highcharts':\r\n\t\t\t\tconst highchartsData = fragment as HighchartsModel;\r\n\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{highchartsData.chartProperties ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : highchartsData.tableProperties ? (\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{highchartsData.tableProperties.exports && (\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{highchartsData.tableProperties.exports.options.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\toption: StatisticsDataExportOptionModel,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsubindex: number\r\n\t\t\t\t\t\t\t\t\t\t\t\t) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{option.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t{highchartsData.text && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
    \r\n\t\t\t\t);\r\n\t\t\tcase 'StatisticsDataBlock':\r\n\t\t\t\tconst statisticsData = fragment as StatisticsDataBlockModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\tdefault:\r\n\t\t\t\treturn null;\r\n\t\t}\r\n\t};\r\n\r\n\tconst epi = useSelector(selectEpi);\r\n\tconst epiProps: any = {};\r\n\r\n\tif (epi?.beta?.isEditable && prop) {\r\n\t\tepiProps['data-epi-property-name'] = prop;\r\n\t\tepiProps['data-epi-property-render'] = 'none';\r\n\t}\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t{fragments?.map(getFragment)}\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default EpiFragments;\r\n","import axios from 'axios';\r\nimport { createMachine, assign } from 'xstate';\r\nimport { SearchResultModel } from 'types';\r\n\r\ntype SearchEventType = { type: 'SEARCH'; value: string; size: number };\r\n\r\ntype SearchContext = {\r\n\tapiUrl: string;\r\n\tresult?: SearchResultModel;\r\n\terror: any;\r\n\tquery: string;\r\n\tsize: number;\r\n\tdebounce?: number;\r\n};\r\n\r\nconst searchData = async (apiUrl: string, query: string, size: number = 10) => {\r\n\tconst { data } = await axios.get(\r\n\t\t`${apiUrl}?query=${encodeURIComponent(query)}&size=${size}`,\r\n\t\t{\r\n\t\t\theaders: {\r\n\t\t\t\t'X-Content-Language': window.__culture,\r\n\t\t\t\t'Content-Language': window.__culture,\r\n\t\t\t\t'Accept-Language': window.__culture,\r\n\t\t\t},\r\n\t\t}\r\n\t);\r\n\treturn data;\r\n};\r\n\r\nexport const searchMachine = createMachine(\r\n\t{\r\n\t\tid: 'searchMachine',\r\n\t\tinitial: 'idle',\r\n\t\tcontext: {\r\n\t\t\tapiUrl: '',\r\n\t\t\tresult: undefined,\r\n\t\t\terror: undefined,\r\n\t\t\tquery: '',\r\n\t\t\tsize: 10,\r\n\t\t\tdebounce: 0,\r\n\t\t},\r\n\t\tstates: {\r\n\t\t\tidle: {},\r\n\t\t\tdebouncing: {\r\n\t\t\t\tafter: {\r\n\t\t\t\t\tDEBOUNCE_DELAY: { target: 'loading' },\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\tloading: {\r\n\t\t\t\tinvoke: {\r\n\t\t\t\t\tid: 'getData',\r\n\t\t\t\t\tsrc: (context, _event) =>\r\n\t\t\t\t\t\tsearchData(context.apiUrl, context.query, context.size),\r\n\t\t\t\t\tonDone: {\r\n\t\t\t\t\t\ttarget: 'success',\r\n\t\t\t\t\t\tactions: assign({\r\n\t\t\t\t\t\t\tresult: (_context, event) => event.data,\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t},\r\n\t\t\t\t\tonError: {\r\n\t\t\t\t\t\ttarget: 'failure',\r\n\t\t\t\t\t\tactions: assign({\r\n\t\t\t\t\t\t\terror: (_context, event) => event.data,\r\n\t\t\t\t\t\t\tresult: (_context, _event) => undefined,\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\tsuccess: {},\r\n\t\t\tfailure: {},\r\n\t\t},\r\n\t\ton: {\r\n\t\t\tSEARCH: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttarget: 'debouncing',\r\n\t\t\t\t\tcond: 'searchValid',\r\n\t\t\t\t\tinternal: false,\r\n\t\t\t\t\tactions: [\r\n\t\t\t\t\t\tassign({\r\n\t\t\t\t\t\t\tquery: (_context, event) => event.value,\r\n\t\t\t\t\t\t\tsize: (context, event) => event.size || context.size,\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t],\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttarget: 'idle',\r\n\t\t\t\t\tactions: [\r\n\t\t\t\t\t\tassign({\r\n\t\t\t\t\t\t\tquery: (_context, _event) => '',\r\n\t\t\t\t\t\t\tresult: (_context, _event) => undefined,\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t},\r\n\t},\r\n\t{\r\n\t\tguards: {\r\n\t\t\tsearchValid: (_context, event): any => {\r\n\t\t\t\treturn event.value && event.value.length >= 3;\r\n\t\t\t},\r\n\t\t},\r\n\t\tdelays: {\r\n\t\t\tDEBOUNCE_DELAY: (context, _event) => {\r\n\t\t\t\treturn context.debounce || 0;\r\n\t\t\t},\r\n\t\t},\r\n\t}\r\n);\r\n","import { createMachine } from 'xstate';\r\n\r\ninterface SearchFieldContext {}\r\n\r\ntype SearchFieldEventType =\r\n\t| { type: 'OPEN'; value: string; size: number }\r\n\t| { type: 'CLOSE'; value: string; size: number };\r\n\r\nexport const searchFieldMachine = createMachine<\r\n\tSearchFieldContext,\r\n\tSearchFieldEventType\r\n>({\r\n\tid: 'searchFieldMachine',\r\n\tinitial: 'idle',\r\n\tstates: {\r\n\t\tidle: {\r\n\t\t\ton: {\r\n\t\t\t\tOPEN: {\r\n\t\t\t\t\ttarget: 'active',\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t\tactive: {\r\n\t\t\ton: {\r\n\t\t\t\tCLOSE: {\r\n\t\t\t\t\ttarget: 'idle',\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n});\r\n","/**\r\n * LanguageSelector\r\n */\r\n\r\nimport React from 'react';\r\nimport Icon, { iconTypes } from 'ui-component-library/base/Icon';\r\n\r\ninterface Props {\r\n\t/** Text for link item */\r\n\ttext: string;\r\n\r\n\t/** url for link item */\r\n\turl: string;\r\n\r\n\t/** Optional icon next to text */\r\n\ticon?: iconTypes;\r\n\r\n\t/** Optional id for link item */\r\n\tid?: string;\r\n}\r\n\r\n/** Main description for this component. */\r\nconst LanguageSelector: React.FC = ({ text, url, icon, id }) => {\r\n\treturn (\r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t\t{icon && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{text}\r\n\t\t\t\r\n\t\t
  • \r\n\t);\r\n};\r\n\r\nexport default LanguageSelector;\r\n","import { useState, useEffect } from 'react';\r\n\r\ninterface UseMediaQuery {\r\n\t(query: string): boolean;\r\n}\r\n\r\nexport const useMediaQuery: UseMediaQuery = (query) => {\r\n\tconst [matches, setMatches] = useState(false);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst media = window.matchMedia(query);\r\n\t\tif (media.matches !== matches) {\r\n\t\t\tsetMatches(media.matches);\r\n\t\t}\r\n\t\tconst listener = () => {\r\n\t\t\tsetMatches(media.matches);\r\n\t\t};\r\n\t\tmedia.addListener(listener);\r\n\t\treturn () => media.removeListener(listener);\r\n\t}, [matches, query]);\r\n\r\n\treturn matches;\r\n};\r\n\r\nexport const useIsMobile = () => {\r\n\treturn useMediaQuery(`(max-width: 767px)`);\r\n};\r\n\r\nexport const useIsTablet = () => {\r\n\treturn useMediaQuery(`(min-width: 768px) and (max-width: 1023px)`);\r\n};\r\n\r\nexport const useIsTabletOrLarger = () => {\r\n\treturn useMediaQuery(`(min-width: 400px)`);\r\n};\r\n\r\nexport const useIsDesktop = () => {\r\n\treturn useMediaQuery(`(min-width: 1024px)`);\r\n};\r\n","import Axios from 'axios';\r\nimport { CriteriaCartModel, CriteriaServiceCartPageModel } from 'types';\r\nimport { createMachine, assign } from 'xstate';\r\n\r\n/*\r\n * types & interfaces\r\n */\r\n\r\ntype fetchCartPageEvent = {\r\n\ttype: 'FETCH_CART_PAGE';\r\n\tapi: string;\r\n};\r\ntype addCriteriaEvent = {\r\n\ttype: 'ADD_CRITERIA';\r\n\titem: string;\r\n};\r\ntype removeCriteriaEvent = {\r\n\ttype: 'REMOVE_CRITERIA';\r\n\titem: string;\r\n};\r\ntype clearCartEvent = {\r\n\ttype: 'CLEAR_CART';\r\n};\r\ntype downloadCriteriasEvent = {\r\n\ttype: 'DOWNLOAD_CRITERIAS';\r\n\tapi: string;\r\n\tculture: string;\r\n\tformat: string;\r\n};\r\n\r\ntype criteriaCartEventType =\r\n\t| fetchCartPageEvent\r\n\t| addCriteriaEvent\r\n\t| removeCriteriaEvent\r\n\t| clearCartEvent\r\n\t| downloadCriteriasEvent;\r\n\r\ntype criteriaCartContext = CriteriaCartModel & {\r\n\terror: any;\r\n};\r\n\r\ninterface GetCriteriaCart {\r\n\t(): string[];\r\n}\r\ninterface AddCriteria {\r\n\t(item: string): Promise;\r\n}\r\ninterface RemoveCriteria {\r\n\t(item: string): Promise;\r\n}\r\ninterface ClearCart {\r\n\t(): Promise;\r\n}\r\n\r\n/*\r\n * fetchCartPage service\r\n * - Fetchs the criteria cart content\r\n */\r\nconst fetchCartPage = async (apiUrl: string, criterias: any) => {\r\n\tconst criteriaData = {\r\n\t\tcriteriaDescriptors: criterias,\r\n\t\tculture: window.__culture,\r\n\t};\r\n\r\n\tconst { data } = await Axios.post(apiUrl, criteriaData);\r\n\r\n\treturn data;\r\n};\r\n\r\n/*\r\n * generateDownloadFile service\r\n * - Fetchs download file in selected format for all criterias in cart\r\n */\r\nconst generateDownloadFile = async (\r\n\tapiUrl: string,\r\n\tculture: string,\r\n\tformat: string,\r\n\tcriterias: any\r\n) => {\r\n\tconst criteriaData = {\r\n\t\tcriteriaDescriptors: criterias,\r\n\t\tculture: culture,\r\n\t\tfileFormat: format,\r\n\t};\r\n\tconst { data } = await Axios.post(apiUrl, criteriaData);\r\n\r\n\treturn data;\r\n};\r\n\r\n/*\r\n * getCriteriaCart service\r\n * - Loads all criterias from localStorage.\r\n */\r\nconst getCriteriaCart: GetCriteriaCart = () => {\r\n\tlet criteriaCart: any = null;\r\n\tif (typeof localStorage !== 'undefined') {\r\n\t\tcriteriaCart = localStorage.getItem('criteriaCart');\r\n\t}\r\n\r\n\tif (criteriaCart != null) {\r\n\t\tcriteriaCart = JSON.parse(criteriaCart);\r\n\t} else {\r\n\t\tcriteriaCart = [];\r\n\t}\r\n\r\n\treturn criteriaCart;\r\n};\r\n\r\n/*\r\n * addCriteria service\r\n * - adds a new criteria to localStorage.\r\n */\r\nconst addCriteria: AddCriteria = (item: string) => {\r\n\treturn new Promise((resolve, reject) => {\r\n\t\ttry {\r\n\t\t\tconst criteriaCart = getCriteriaCart();\r\n\t\t\tcriteriaCart.push(item);\r\n\t\t\tif (typeof localStorage !== 'undefined') {\r\n\t\t\t\tlocalStorage.setItem('criteriaCart', JSON.stringify(criteriaCart));\r\n\t\t\t}\r\n\t\t\tresolve(criteriaCart);\r\n\t\t} catch (e) {\r\n\t\t\treject(e);\r\n\t\t}\r\n\t});\r\n};\r\n\r\n/*\r\n * removeCriteria service\r\n * - removes a criteria from localStorage.\r\n */\r\nconst removeCriteria: RemoveCriteria = (item) => {\r\n\treturn new Promise((resolve, reject) => {\r\n\t\ttry {\r\n\t\t\tconst criteriaCart = getCriteriaCart();\r\n\t\t\tconst updatedCriteriaCart = criteriaCart.filter(\r\n\t\t\t\t(criteria: string) => criteria !== item\r\n\t\t\t);\r\n\t\t\tif (typeof localStorage !== 'undefined') {\r\n\t\t\t\tlocalStorage.setItem(\r\n\t\t\t\t\t'criteriaCart',\r\n\t\t\t\t\tJSON.stringify(updatedCriteriaCart)\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\tresolve(updatedCriteriaCart);\r\n\t\t} catch (e) {\r\n\t\t\treject(e);\r\n\t\t}\r\n\t});\r\n};\r\n\r\n/*\r\n * clearCart service\r\n * - removes all criterias from localStorage.\r\n */\r\nconst clearCart: ClearCart = () => {\r\n\treturn new Promise((resolve, reject) => {\r\n\t\ttry {\r\n\t\t\tif (typeof localStorage !== 'undefined') {\r\n\t\t\t\tlocalStorage.removeItem('criteriaCart');\r\n\t\t\t}\r\n\t\t\tresolve([]);\r\n\t\t} catch (e) {\r\n\t\t\treject(e);\r\n\t\t}\r\n\t});\r\n};\r\n\r\n/*\r\n * xstate selectors\r\n */\r\nexport const selectCriterias = (current: any): string[] => {\r\n\treturn current.context.criterias;\r\n};\r\n\r\nexport const selectCriteriaCartModel = (\r\n\tcurrent: any\r\n): CriteriaServiceCartPageModel => {\r\n\treturn current.context.model;\r\n};\r\n\r\nexport const selectDownloadFileUrl = (current: any): string => {\r\n\treturn current.context.downloadFileUrl;\r\n};\r\n\r\nexport const selectCriteriaCartError = (current: any): string => {\r\n\treturn current.context.error;\r\n};\r\n\r\n/*\r\n * criteriaCartMachine\r\n */\r\nexport const criteriaCartMachine = createMachine<\r\n\tcriteriaCartContext,\r\n\tcriteriaCartEventType\r\n>({\r\n\tid: 'criteriaCartMachine',\r\n\tinitial: 'idle',\r\n\tcontext: {\r\n\t\tmodel: undefined,\r\n\t\tcriterias: getCriteriaCart(),\r\n\t\tdonloadFileUrl: '',\r\n\t\terror: undefined,\r\n\t},\r\n\tstates: {\r\n\t\tidle: {\r\n\t\t\ton: {\r\n\t\t\t\tFETCH_CART_PAGE: 'fetchingCartPage',\r\n\t\t\t\tADD_CRITERIA: 'addingCriteria',\r\n\t\t\t\tREMOVE_CRITERIA: 'removingCriteria',\r\n\t\t\t\tCLEAR_CART: 'clearingCart',\r\n\t\t\t\tDOWNLOAD_CRITERIAS: 'downloadingCriterias',\r\n\t\t\t},\r\n\t\t},\r\n\t\tfailure: {\r\n\t\t\ton: {\r\n\t\t\t\tFETCH_CART_PAGE: 'fetchingCartPage',\r\n\t\t\t\tADD_CRITERIA: 'addingCriteria',\r\n\t\t\t\tREMOVE_CRITERIA: 'removingCriteria',\r\n\t\t\t\tCLEAR_CART: 'clearingCart',\r\n\t\t\t\tDOWNLOAD_CRITERIAS: 'downloadingCriterias',\r\n\t\t\t},\r\n\t\t},\r\n\t\tfetchingCartPage: {\r\n\t\t\tinvoke: {\r\n\t\t\t\tid: 'fetchCartPage',\r\n\t\t\t\tsrc: (_context, _event) => {\r\n\t\t\t\t\tconst event = _event as fetchCartPageEvent;\r\n\t\t\t\t\treturn fetchCartPage(event.api, _context.criterias);\r\n\t\t\t\t},\r\n\t\t\t\tonDone: {\r\n\t\t\t\t\ttarget: 'idle',\r\n\t\t\t\t\tactions: assign({\r\n\t\t\t\t\t\tmodel: (_context, event) => event.data,\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t\tonError: {\r\n\t\t\t\t\ttarget: 'failure',\r\n\t\t\t\t\tactions: assign({\r\n\t\t\t\t\t\terror: (_context, event) => event.data.error,\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t\taddingCriteria: {\r\n\t\t\tinvoke: {\r\n\t\t\t\tid: 'addCriteria',\r\n\t\t\t\tsrc: (_context, _event) => {\r\n\t\t\t\t\tconst event = _event as addCriteriaEvent;\r\n\t\t\t\t\treturn addCriteria(event.item || '');\r\n\t\t\t\t},\r\n\t\t\t\tonDone: {\r\n\t\t\t\t\ttarget: 'idle',\r\n\t\t\t\t\tactions: assign((_context, event) => {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tcriterias: event.data,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t\tonError: {\r\n\t\t\t\t\ttarget: 'failure',\r\n\t\t\t\t\tactions: assign({\r\n\t\t\t\t\t\terror: (_context, event) => event.data.error,\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t\tremovingCriteria: {\r\n\t\t\tinvoke: {\r\n\t\t\t\tid: 'removeCriteria',\r\n\t\t\t\tsrc: (_context, _event) => {\r\n\t\t\t\t\tconst event = _event as removeCriteriaEvent;\r\n\r\n\t\t\t\t\treturn removeCriteria(event.item || '');\r\n\t\t\t\t},\r\n\t\t\t\tonDone: {\r\n\t\t\t\t\ttarget: 'idle',\r\n\t\t\t\t\tactions: assign((_context, event) => {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tcriterias: event.data,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t\tonError: {\r\n\t\t\t\t\ttarget: 'failure',\r\n\t\t\t\t\tactions: assign({\r\n\t\t\t\t\t\terror: (_context, event) => event.data.error,\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t\tclearingCart: {\r\n\t\t\tinvoke: {\r\n\t\t\t\tid: 'clearingCart',\r\n\t\t\t\tsrc: (_context, _event) => {\r\n\t\t\t\t\treturn clearCart();\r\n\t\t\t\t},\r\n\t\t\t\tonDone: {\r\n\t\t\t\t\ttarget: 'idle',\r\n\t\t\t\t\tactions: assign((_context, event) => {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tcriterias: event.data,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t\tonError: {\r\n\t\t\t\t\ttarget: 'failure',\r\n\t\t\t\t\tactions: assign({\r\n\t\t\t\t\t\terror: (_context, event) => event.data.error,\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t\tdownloadingCriterias: {\r\n\t\t\tinvoke: {\r\n\t\t\t\tid: 'downloadCriterias',\r\n\t\t\t\tsrc: (_context, _event) => {\r\n\t\t\t\t\tconst event = _event as downloadCriteriasEvent;\r\n\t\t\t\t\treturn generateDownloadFile(\r\n\t\t\t\t\t\tevent.api,\r\n\t\t\t\t\t\tevent.culture,\r\n\t\t\t\t\t\tevent.format,\r\n\t\t\t\t\t\t_context.criterias\r\n\t\t\t\t\t);\r\n\t\t\t\t},\r\n\t\t\t\tonDone: {\r\n\t\t\t\t\ttarget: 'idle',\r\n\t\t\t\t\tactions: (_context, event) => {\r\n\t\t\t\t\t\tlet a = document.createElement('a');\r\n\t\t\t\t\t\ta.classList.add('hidden');\r\n\t\t\t\t\t\tdocument.body.appendChild(a);\r\n\t\t\t\t\t\ta.href = event.data.reportUrl;\r\n\t\t\t\t\t\ta.download = event.data.reportUrl;\r\n\t\t\t\t\t\ta.click();\r\n\t\t\t\t\t\ta.remove();\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tonError: {\r\n\t\t\t\t\ttarget: 'failure',\r\n\t\t\t\t\tactions: assign({\r\n\t\t\t\t\t\terror: (_context, event) => {\r\n\t\t\t\t\t\t\treturn `Error ${event.data.response.status} - ${event.data.response.statusText}`;\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n});\r\n","import DataTableCart from './DataTableCart';\r\n\r\nexport default DataTableCart;\r\n","/**\r\n * DataTableCart\r\n */\r\n\r\nimport clsx from 'clsx';\r\nimport React from 'react';\r\nimport { DataTablePropertyModel } from 'types';\r\n// import DataTableSortButton from './DataTableCartSortButton';\r\n\r\ninterface Props {\r\n\t/** Pass optional classnames for the html */\r\n\tclassName?: string;\r\n\r\n\t/** Table caption */\r\n\tcaption?: string;\r\n\r\n\t/** Data tabel headers */\r\n\tproperties?: DataTablePropertyModel[];\r\n\r\n\tonSortChange?: any;\r\n}\r\n\r\ntype RowIds = { [key: string]: boolean };\r\n\r\n/** Main description for this component. */\r\nconst DataTableCart: React.FC = ({\r\n\tclassName,\r\n\tcaption = 'DataTableCart',\r\n\tproperties,\r\n\tonSortChange,\r\n\tchildren,\r\n}) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{properties && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{properties.map((header, index) => {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{children}\r\n\t\t\t
    {caption}
    \r\n\t\t\t\t\t\t\t\t\t\t{/* {header.path && header.orderByText ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{header.heading}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t{header.heading}\r\n\t\t\t\t\t\t\t\t\t\t)} */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{header.heading}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default DataTableCart;\r\n","/**\r\n * DataTableCartRow\r\n */\r\n\r\nimport React from 'react';\r\nimport { ButtonSupportive, Icon } from 'ui-component-library/base';\r\nimport { DataTablePropertyModel, DataTableCartRowModel } from 'types';\r\nimport Link from 'components/Link';\r\n\r\ninterface Props {\r\n\t/** Pass an array with all table rows */\r\n\trow: DataTableCartRowModel;\r\n\r\n\t/** Pass array with headers */\r\n\theaders: DataTablePropertyModel[];\r\n\r\n\t/** Callback function to handle link click */\r\n\thandleLinkClick: any;\r\n\t/** Callback function to handle delete single criteria */\r\n\thandleDelete: Function;\r\n}\r\n\r\n/** Naviagation list with links. */\r\nconst DataTableCartRow: React.FC = ({\r\n\trow,\r\n\theaders,\r\n\thandleDelete,\r\n\thandleLinkClick,\r\n}) => {\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t{headers.map((header, index) => {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{header.property === 'requirementName' ? (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t{row.url ? (\r\n\t\t\t\t\t\t\t\t\t\t\t handleLinkClick()}\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{(row as any)[header.property]}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t

    {(row as any)[header.property]}

    \r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t{row.warningText && (\r\n\t\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t\t\t\t{row.warningText}\r\n\t\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t) : header.property === 'removeFromCartButtonText' ? (\r\n\t\t\t\t\t\t\t\t\t handleDelete(row.criteriaDescriptor)}\r\n\t\t\t\t\t\t\t\t\t\tclassName=\"float-right\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{(row as any)[header.property]}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t(row as any)[header.property]\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t);\r\n\t\t\t\t})}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default DataTableCartRow;\r\n","/**\r\n * CriteriaCartDownloadButton\r\n */\r\n\r\nimport Axios from 'axios';\r\nimport clsx from 'clsx';\r\nimport React, { useState } from 'react';\r\nimport { Button, Icon } from 'ui-component-library/base';\r\n\r\ninterface Props {\r\n\t/** Button text */\r\n\ttext: string;\r\n\r\n\tprogressText: string;\r\n\r\n\tculture: string;\r\n\r\n\tformat: string;\r\n\r\n\tapi: string;\r\n\r\n\tcriterias?: string[];\r\n\r\n\tdisabled?: boolean;\r\n\r\n\t/** Pass an optional className */\r\n\tclassName?: string;\r\n\r\n\tonDownloadError?: any;\r\n\r\n\titems?: any;\r\n}\r\n\r\nconst CriteriaCartDownloadButton: React.FC = ({\r\n\ttext,\r\n\tprogressText,\r\n\tculture,\r\n\tformat,\r\n\tapi,\r\n\tcriterias,\r\n\tdisabled,\r\n\tclassName,\r\n\tonDownloadError,\r\n\titems,\r\n}) => {\r\n\tconst [loading, setLoading] = useState(false);\r\n\tconst handleDownloadCriterias = async () => {\r\n\t\tsetLoading(true);\r\n\t\tconst criteriaData = {\r\n\t\t\tcriteriaDescriptors: criterias,\r\n\t\t\tculture: culture,\r\n\t\t\tfileFormat: format,\r\n\t\t};\r\n\r\n\t\ttry {\r\n\t\t\tconst { data } = await Axios.post(api, criteriaData);\r\n\t\t\tlet a = document.createElement('a');\r\n\t\t\ta.classList.add('hidden');\r\n\t\t\tdocument.body.appendChild(a);\r\n\t\t\ta.href = data.reportUrl;\r\n\t\t\ta.download = data.reportUrl;\r\n\t\t\ta.click();\r\n\t\t\ta.remove();\r\n\t\t\tonDownloadError('');\r\n\r\n\t\t\tif (window.dataLayer && window.dataLayer.push && items) {\r\n\t\t\t\titems.map((item: any) => {\r\n\t\t\t\t\treturn window.dataLayer.push({\r\n\t\t\t\t\t\tevent: 'criteriaDownload',\r\n\t\t\t\t\t\tcriteriaProductArea: item.requirementInfo.criteriaProductArea,\r\n\t\t\t\t\t\tcriteriaProductGroup: item.requirementInfo.criteriaProductGroup,\r\n\t\t\t\t\t\tcriteriaProductSubgroup:\r\n\t\t\t\t\t\t\titem.requirementInfo.criteriaProductSubgroup,\r\n\t\t\t\t\t\tcriteriaItem: item.requirementInfo.criteriaItem,\r\n\t\t\t\t\t\tcriteriaLevel: item.requirementInfo.criteriaLevel,\r\n\t\t\t\t\t\tcriteriaLanguage: culture,\r\n\t\t\t\t\t\tcriteriaFormat: format,\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tonDownloadError((error as any).toString());\r\n\t\t} finally {\r\n\t\t\tsetLoading(false);\r\n\t\t}\r\n\t};\r\n\treturn (\r\n\t\t handleDownloadCriterias()}\r\n\t\t>\r\n\t\t\t{loading ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{progressText}\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{text}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default CriteriaCartDownloadButton;\r\n","/**\r\n * CriteriaCartToast\r\n */\r\n\r\nimport clsx from 'clsx';\r\nimport { usePrevious } from 'hooks';\r\nimport React, { useEffect, useRef, useState } from 'react';\r\nimport { Alert } from 'ui-component-library/base';\r\nimport { Transition } from 'react-transition-group';\r\nimport { TransitionState } from 'ui-component-library/base/types';\r\nimport Text from 'components/Text';\r\n\r\ninterface Props {\r\n\t/** Toast message */\r\n\ttext: string;\r\n\r\n\t/** Current criteria cart quantity */\r\n\tcurrentQuantity: number;\r\n}\r\n\r\nconst CriteriaCartToast: React.FC = ({ text, currentQuantity }) => {\r\n\tconst previousQuantity = usePrevious(currentQuantity);\r\n\tconst [visible, setVisible] = useState(false);\r\n\tconst timer = useRef(null);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (currentQuantity > previousQuantity) {\r\n\t\t\tif (timer.current != null) {\r\n\t\t\t\tclearTimeout(timer.current);\r\n\t\t\t}\r\n\r\n\t\t\tsetVisible(true);\r\n\t\t\ttimer.current = setTimeout(() => {\r\n\t\t\t\tsetVisible(false);\r\n\t\t\t}, 6000);\r\n\t\t}\r\n\r\n\t\t// clear on component unmount\r\n\t\treturn () => {\r\n\t\t\tif (timer.current != null) {\r\n\t\t\t\tclearTimeout(timer.current);\r\n\t\t\t\tsetVisible(false);\r\n\t\t\t}\r\n\t\t};\r\n\t\t// eslint-disable-next-line\r\n\t}, [currentQuantity]);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{\r\n\t\t\t\t\r\n\t\t\t\t\t{(state: TransitionState) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t setVisible(false)}>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{text}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default CriteriaCartToast;\r\n","import { useRef, useEffect } from 'react';\r\n\r\ninterface UsePrevious {\r\n\t(value: any): any;\r\n}\r\n\r\nexport const usePrevious: UsePrevious = (value) => {\r\n\tconst ref = useRef();\r\n\tuseEffect(() => {\r\n\t\tref.current = value;\r\n\t});\r\n\treturn ref.current;\r\n};\r\n","/**\r\n * CriteriaCart\r\n */\r\n\r\nimport React, { useContext, useEffect, useState } from 'react';\r\nimport { useSelector as useXstateSelector } from '@xstate/react';\r\nimport { GlobalStateContext } from 'App';\r\nimport {\r\n\tselectCriteriaCartModel,\r\n\tselectCriterias,\r\n} from 'state-machines/criteriaCart.machine';\r\nimport {\r\n\tAlert,\r\n\tButtonSupportive,\r\n\tCell,\r\n\tGrid,\r\n\tIcon,\r\n} from 'ui-component-library/base';\r\nimport { Transition } from 'react-transition-group';\r\nimport { TransitionState } from 'ui-component-library/base/types';\r\nimport clsx from 'clsx';\r\nimport Text from 'components/Text';\r\nimport DataTableCart from 'components/DataTableCart';\r\nimport DataTableCartRow from 'components/DataTableCart/DataTableCartRow';\r\nimport { DataTableCartRowModel, DownloadBlockModel } from 'types';\r\nimport CriteriaCartDownloadButton from './CriteriaCartDownloadButton';\r\nimport CriteriaCartToast from './CriteriaCartToast';\r\n\r\ninterface Props {\r\n\t/** Label for the criteria cart button showing on desktop/tablet */\r\n\tcartLabel: string;\r\n\r\n\t/** Label for open the criteria cart modal */\r\n\tcloseCartText: string;\r\n\r\n\t/** If the current page has breadbrumbs */\r\n\thasBreadcrumbs: boolean;\r\n\r\n\t/** If the current page has theme border */\r\n\thasThemeBorder: boolean;\r\n\r\n\t/** Fetch cart api url */\r\n\tapiUrl: string;\r\n\r\n\t/** Toast message */\r\n\ttoastText: string;\r\n\r\n\t/** Callback function when toogle cart modal */\r\n\tonToggle: any;\r\n}\r\n\r\n/** Demo of using the global criteriaCart machine/service. */\r\nconst CriteriaCart: React.FC = ({\r\n\tcartLabel,\r\n\tcloseCartText,\r\n\thasBreadcrumbs,\r\n\thasThemeBorder,\r\n\tapiUrl,\r\n\ttoastText,\r\n\tonToggle,\r\n}) => {\r\n\tconst globalServices = useContext(GlobalStateContext);\r\n\tconst { state, send } = globalServices.criteriaCartService;\r\n\tconst criteriasInCart = useXstateSelector(\r\n\t\tglobalServices.criteriaCartService,\r\n\t\tselectCriterias\r\n\t);\r\n\tconst content = useXstateSelector(\r\n\t\tglobalServices.criteriaCartService,\r\n\t\tselectCriteriaCartModel\r\n\t);\r\n\tconst [error, setError] = useState('');\r\n\tconst [expanded, setExpanded] = useState(false);\r\n\tconst [criterias, setCriterias] = useState<\r\n\t\tDataTableCartRowModel[] | undefined\r\n\t>(undefined);\r\n\r\n\tconst handleRemoveCriteria = (criteria: string) => {\r\n\t\tsend('REMOVE_CRITERIA', { item: criteria });\r\n\r\n\t\tconst items = criterias?.filter(\r\n\t\t\t(item: DataTableCartRowModel) => item.criteriaDescriptor !== criteria\r\n\t\t);\r\n\t\tsetCriterias(items);\r\n\t};\r\n\r\n\tconst handleDisableExportButton = (culture: string) => {\r\n\t\tif (criteriasInCart.length === 0) {\r\n\t\t\treturn true;\r\n\t\t} else if (culture === 'en') {\r\n\t\t\treturn criterias?.every((item) => item.warningText);\r\n\t\t} else {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleClearCart = () => {\r\n\t\tsend('CLEAR_CART');\r\n\t\tsetCriterias(undefined);\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tsetCriterias(content?.requirements?.items);\r\n\t}, [content]);\r\n\r\n\tconst handleDownloadError = (message: string) => {\r\n\t\tsetError(message);\r\n\t};\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t {\r\n\t\t\t\t\tif (!expanded) {\r\n\t\t\t\t\t\tsend('FETCH_CART_PAGE', { api: apiUrl });\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsetExpanded(!expanded);\r\n\t\t\t\t\tsetError('');\r\n\t\t\t\t\tonToggle();\r\n\t\t\t\t}}\r\n\t\t\t\tclassName=\"align-middle\"\r\n\t\t\t>\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{criteriasInCart.length || 0}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{toastText && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\t{(transState: TransitionState) => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\tsetExpanded(false);\r\n\t\t\t\t\t\t\t\t\t\tsetError('');\r\n\t\t\t\t\t\t\t\t\t\tonToggle();\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{closeCartText}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{state && state.matches('fetchingCartPage') ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t{content && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{criterias && criterias.length > 0 ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{content.heading.replace(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'{0}',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcriteriasInCart.length.toString()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{content?.preamble && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{content.preamble}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{content.noCriteriasHeading}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{content.noCriteriasPreamble && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{content.noCriteriasPreamble}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t{criterias && criterias.length > 0 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{content?.requirements?.properties &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcriterias.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(row: DataTableCartRowModel, index: number) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetExpanded(false);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonToggle();\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={index}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t handleClearCart()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"float-right\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{content.emptyCartText}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t\t{content &&\r\n\t\t\t\t\t\t\t\t\t\tcontent.downloadBlocks &&\r\n\t\t\t\t\t\t\t\t\t\tcontent.downloadBlocks.length > 0 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{content?.downloadHeading}\r\n\t\t\t\t\t\t\t\t\t\t\t\t

    \r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{content.downloadBlocks.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(block: DownloadBlockModel, blockIndex: number) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t 0 && 'mt-8')}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{block.heading}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{block.preamble && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

    {block.preamble}

    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{block.buttons.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(button: any, buttonIndex: number) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{error && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{error}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default CriteriaCart;\r\n","const HTMLElementBase =\r\n\ttypeof HTMLElement === 'undefined' ? function () {} : HTMLElement;\r\n\r\n/**\r\n * KundoLazyButton\r\n * - web component that displays a chat button,\r\n * when clicked it will lazy load the Kundo scripts\r\n * and starts the chat.\r\n * @class\r\n * @constructor\r\n * @public\r\n */\r\nclass KundoLazyButton extends HTMLElementBase {\r\n\tconstructor() {\r\n\t\tsuper();\r\n\r\n\t\t/**\r\n\t\t * Events to listen for to determine if Kundo has loaded and initialized.\r\n\t\t * @type {string[]}\r\n\t\t */\r\n\t\tthis.kundoInitEvents = [\r\n\t\t\t'kundo-chat:chat-available',\r\n\t\t\t'kundo-chat:chat-unavailable',\r\n\t\t\t'kundo-chat:chat-closed',\r\n\t\t];\r\n\r\n\t\t/**\r\n\t\t * Bind methods to this\r\n\t\t */\r\n\t\tthis.chatInitialized = this.chatInitialized.bind(this);\r\n\t\tthis.loadKundoScript = this.loadKundoScript.bind(this);\r\n\t\tthis.startChat = this.startChat.bind(this);\r\n\t\tthis.initiateKundoChat = this.initiateKundoChat.bind(this);\r\n\r\n\t\t/**\r\n\t\t * @type {ShadowRoot}\r\n\t\t */\r\n\t\tthis.shadow = this.attachShadow({ mode: 'open' });\r\n\r\n\t\t/**\r\n\t\t * @type {string}\r\n\t\t */\r\n\t\tthis.scriptSrc = '';\r\n\t}\r\n\r\n\t/**\r\n\t * connectedCallback\r\n\t * Render html/css & attatch event listeners\r\n\t */\r\n\tconnectedCallback() {\r\n\t\t/**\r\n\t\t * @type {string}\r\n\t\t */\r\n\t\tthis.text = this.getAttribute('text') || 'Chat with us';\r\n\r\n\t\t/**\r\n\t\t * @type {string}\r\n\t\t */\r\n\t\tthis.scriptSrc = this.getAttribute('script') || '';\r\n\r\n\t\t// Render\r\n\t\tthis.render();\r\n\r\n\t\t/**\r\n\t\t * @type {HTMLDivElement}\r\n\t\t */\r\n\t\tthis.loader = /** @type {HTMLDivElement} */ (\r\n\t\t\tthis.shadow.getElementById('loader')\r\n\t\t);\r\n\r\n\t\t/**\r\n\t\t * @type {HTMLButtonElement | null}\r\n\t\t */\r\n\t\tthis.button = this.shadow.querySelector('button');\r\n\r\n\t\t/**\r\n\t\t * @type {HTMLSpanElement | null}\r\n\t\t */\r\n\t\tthis.textHolder = this.shadow.getElementById('text-holder');\r\n\r\n\t\t// Attach event listeners\r\n\t\tthis.button &&\r\n\t\t\tthis.button.addEventListener('click', this.initiateKundoChat);\r\n\t\tthis.kundoInitEvents.forEach((e) =>\r\n\t\t\tdocument.addEventListener(e, this.chatInitialized)\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * disconnectedCallback\r\n\t * Remove listeners for detect when Kundo is initialized.\r\n\t */\r\n\tdisconnectedCallback() {\r\n\t\tthis.kundoInitEvents.forEach((e) =>\r\n\t\t\tdocument.removeEventListener(e, this.chatInitialized)\r\n\t\t);\r\n\t\tthis.button &&\r\n\t\t\tthis.button.removeEventListener('click', this.initiateKundoChat);\r\n\t}\r\n\r\n\t/**\r\n\t * Handles the button status.\r\n\t * @param {boolean} isLoading - Is it currently loading.\r\n\t */\r\n\tsetButtonStatus(isLoading) {\r\n\t\tif (!this.textHolder || !this.loader) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (isLoading) {\r\n\t\t\tthis.textHolder.setAttribute('hidden', 'true');\r\n\t\t\tthis.loader.removeAttribute('hidden');\r\n\t\t} else {\r\n\t\t\tthis.textHolder.removeAttribute('hidden');\r\n\t\t\tthis.loader.setAttribute('hidden', 'true');\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Callback method when Kundo is loaded.\r\n\t * Removes event listeners and calls startChat()\r\n\t */\r\n\tchatInitialized() {\r\n\t\tthis.kundoInitEvents.forEach((e) =>\r\n\t\t\tdocument.removeEventListener(e, this.chatInitialized)\r\n\t\t);\r\n\t\tthis.startChat();\r\n\t}\r\n\r\n\t/**\r\n\t * Loads the Kundo scripts,\r\n\t * @param {string} fileUrl - The scripts url.\r\n\t */\r\n\tloadKundoScript(fileUrl) {\r\n\t\tlet scriptEle = document.createElement('script');\r\n\t\tscriptEle.setAttribute('src', fileUrl);\r\n\t\tscriptEle.setAttribute('type', 'text/javascript');\r\n\t\tdocument.body.appendChild(scriptEle);\r\n\r\n\t\tscriptEle.addEventListener('load', () => {\r\n\t\t\twindow.$kundo_chat = window.$kundo_chat || {};\r\n\t\t\twindow.$kundo_chat.disable_widget = true;\r\n\t\t});\r\n\t\tscriptEle.addEventListener('error', (ev) => {\r\n\t\t\tthis.setButtonStatus(false);\r\n\t\t\talert('An error occurred when loading Kundo, please try again later');\r\n\t\t\tconsole.log('Error on loading file', ev);\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Starts the chat.\r\n\t * If it's not completely loaded it retries every 0.5s.\r\n\t */\r\n\tstartChat() {\r\n\t\tif (window.$kundo_chat?.start_chat) {\r\n\t\t\tthis.setButtonStatus(false);\r\n\t\t\twindow.$kundo_chat.start_chat();\r\n\t\t} else {\r\n\t\t\tsetTimeout(this.startChat, 500);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Initiate the chat, it will load the scripts if needed.\r\n\t */\r\n\tinitiateKundoChat() {\r\n\t\tif (window.$kundo_chat?.start_chat) {\r\n\t\t\tthis.startChat();\r\n\t\t} else {\r\n\t\t\tthis.setButtonStatus(true);\r\n\t\t\tthis.loadKundoScript(this.scriptSrc);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Renders the component html/css.\r\n\t */\r\n\trender() {\r\n\t\tif (!this.scriptSrc) {\r\n\t\t\tconsole.warn('script-attribute is missing on kundo-lazy-button element.');\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.shadow.innerHTML = `\r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ${this.text}\r\n \r\n\t\t\t\t \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n `;\r\n\t}\r\n}\r\n\r\nif (typeof window !== 'undefined') {\r\n\tif (typeof window.customElements !== 'undefined') {\r\n\t\twindow.customElements.define('kundo-lazy-button', KundoLazyButton);\r\n\t}\r\n}\r\nexport {};\r\n","/**\r\n * BaseLayout\r\n * TODO: Använd tailwind theme för att hitta rätt mediaquery värde\r\n */\r\n\r\nimport React, { useEffect, useState, useRef } from 'react';\r\nimport { useLocation, useHistory } from 'react-router-dom';\r\nimport queryString from 'query-string';\r\nimport { useSelector } from 'react-redux';\r\nimport { useMachine } from '@xstate/react';\r\nimport { useOutsideClick } from 'ui-component-library/hooks';\r\nimport {\r\n\tselectBreadcrumbs,\r\n\t// selectQuicklinks,\r\n\tselectBetaBar,\r\n\tselectCookieBar,\r\n\tselectQuickLinksBar,\r\n\tselectSearch,\r\n\tselectFooterContact,\r\n\tselectFooterQuickLinks,\r\n\tselectFooterPopularPages,\r\n\tselectNavigation,\r\n\tselectSkipToMainContent,\r\n\tselectAlertBar,\r\n\tselectLanguageSelector,\r\n\tselectLogotype,\r\n\tselectContent,\r\n\tselectCriteriaCart,\r\n} from 'store/modules/model';\r\nimport {\r\n\tInfoBar,\r\n\tCookiebar,\r\n\tSearchField,\r\n\tIcon,\r\n\tButton,\r\n\tGrid,\r\n\tCell,\r\n\tMobileSearch,\r\n\tMobileMenu,\r\n\tMobileMenuItem,\r\n\tSkipToMainContent,\r\n\tText,\r\n\tQuickLinksBar,\r\n\tQuickLink,\r\n\tAlertBar,\r\n\tBreadcrumbs,\r\n\tBreadcrumbsItem,\r\n} from 'ui-component-library/base';\r\nimport { iconTypes } from 'ui-component-library/base/Icon';\r\n\r\nimport {\r\n\tSearchFieldDropdown,\r\n\tSearchFieldDropdownItem,\r\n} from 'ui-component-library/base/SearchField';\r\nimport {\r\n\tPageFooter,\r\n\tPageFooterBottom,\r\n\tPageHeader,\r\n\tSearchResultList,\r\n\tSearchResultListItem,\r\n\tSearchItemNoResults,\r\n\t// QuickLinks,\r\n\t// QuickLinksItem,\r\n} from 'ui-component-library/uhmse';\r\nimport {\r\n\tFooterHeader,\r\n\tFooterText,\r\n\tFooterDescList,\r\n\tFooterLinkList,\r\n\tContentWrapper,\r\n\tBottomContent,\r\n} from 'ui-component-library/uhmse/PageFooter';\r\nimport Link from 'components/Link';\r\nimport Meta from 'components/Meta';\r\nimport EpiFragments from 'components/EpiFragments';\r\nimport { SearchListItemTypes, SearchResultItemModel } from 'types';\r\nimport { searchMachine } from 'state-machines/search.machine';\r\nimport { searchFieldMachine } from 'state-machines/searchField.machine';\r\nimport LanguageSelector from 'components/LanguageSelector';\r\nimport clsx from 'clsx';\r\nimport { useIsMobile, useIsTabletOrLarger } from 'hooks/useMediaQuery';\r\nimport CriteriaCart from 'components/CriteriaCart';\r\nimport 'utils/kundo-lazy-button.js';\r\n\r\ninterface Props {\r\n\t/** Set theme border under breadcrumbs */\r\n\tthemeBorder?: boolean;\r\n}\r\n\r\n/** BaseLayout that adds header and footer to the page. */\r\nconst BaseLayout: React.FC = ({ themeBorder = false, children }) => {\r\n\tconst isTabletOrLarger = useIsTabletOrLarger();\r\n\tconst isMobile = useIsMobile();\r\n\tconst searchfieldWrapperRef = useRef(null);\r\n\tconst searchfieldMobileWrapperRef = useRef(null);\r\n\tconst searchfieldInputRef = useRef(null);\r\n\tconst searchfieldMobileInputRef = useRef(null);\r\n\tconst location = useLocation();\r\n\tconst history = useHistory();\r\n\tconst { query } = queryString.parse(location.search);\r\n\tconst breadcrumbs = useSelector(selectBreadcrumbs);\r\n\t// const quickLinks = useSelector(selectQuicklinks);\r\n\tconst alertBar = useSelector(selectAlertBar);\r\n\tconst betaBar = useSelector(selectBetaBar);\r\n\tconst cookieBar = useSelector(selectCookieBar);\r\n\tconst quickLinksBar = useSelector(selectQuickLinksBar);\r\n\tconst skipToMainContent = useSelector(selectSkipToMainContent);\r\n\tconst searchSettings = useSelector(selectSearch);\r\n\tconst contact = useSelector(selectFooterContact);\r\n\tconst quickLinksFooter = useSelector(selectFooterQuickLinks);\r\n\tconst popularPages = useSelector(selectFooterPopularPages);\r\n\tconst navigation = useSelector(selectNavigation);\r\n\tconst logotype = useSelector(selectLogotype);\r\n\tconst content = useSelector(selectContent);\r\n\tconst criteriaCart = useSelector(selectCriteriaCart);\r\n\r\n\tconst [showCookieBar, setShowCookieBar] = useState(false);\r\n\tconst [cartExpanded, setCartExpanded] = useState(false);\r\n\tconst [stateSearch, sendSearch] = useMachine(searchMachine, {\r\n\t\tcontext: {\r\n\t\t\tapiUrl: searchSettings?.apiUrl || '',\r\n\t\t\tsize: isTabletOrLarger ? 5 : searchSettings?.numberOfHitsPerPage || 5,\r\n\t\t\tdebounce: 500,\r\n\t\t},\r\n\t});\r\n\tconst [stateField, sendField] = useMachine(searchFieldMachine);\r\n\tconst languages = useSelector(selectLanguageSelector);\r\n\tuseEffect(() => {\r\n\t\tsetShowCookieBar(true);\r\n\t}, []);\r\n\r\n\tuseOutsideClick(searchfieldWrapperRef, () => {\r\n\t\tif (searchSettings) {\r\n\t\t\tsendField('CLOSE');\r\n\t\t}\r\n\t});\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t\r\n\t\t\t{cookieBar && showCookieBar && (\r\n\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t

    {cookieBar.heading}

    \r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t {\r\n\t\t\t\t\t\t\t\tstateField.value === 'active' &&\r\n\t\t\t\t\t\t\t\t\tsendSearch('SEARCH', {\r\n\t\t\t\t\t\t\t\t\t\tvalue: e.value,\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tonSubmit={(e: any) => {\r\n\t\t\t\t\t\t\t\tsendField('CLOSE');\r\n\t\t\t\t\t\t\t\tsearchfieldInputRef?.current?.blur();\r\n\t\t\t\t\t\t\t\thistory.push(\r\n\t\t\t\t\t\t\t\t\t`${searchSettings.searchPageUrl}?query=${encodeURIComponent(\r\n\t\t\t\t\t\t\t\t\t\te.searchfieldDesktop\r\n\t\t\t\t\t\t\t\t\t)}`\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tonFocus={() => {\r\n\t\t\t\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\t\t\t\tsendField('OPEN');\r\n\t\t\t\t\t\t\t\t}, 200);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{stateField.value === 'active' &&\r\n\t\t\t\t\t\t\t\tstateSearch.context.result &&\r\n\t\t\t\t\t\t\t\tstateSearch.context.query !== '' && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{stateSearch.context.result.results &&\r\n\t\t\t\t\t\t\t\t\t\t\tstateSearch.context.result.results.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t(item: SearchListItemTypes) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.heading}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t{stateSearch.context.result.numberOfHits >\r\n\t\t\t\t\t\t\t\t\t\t\tstateSearch.context.result.size && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsendField('CLOSE');\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{searchSettings.showMoreResultsText}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t{stateSearch.context.result.numberOfHits === 0 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t

    Inga träffar hittades

    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t\tSearchComponentMobile={\r\n\t\t\t\t\tsearchSettings && (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\tstateField.value === 'active' &&\r\n\t\t\t\t\t\t\t\t\t\t\tsendSearch('SEARCH', {\r\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: e.value,\r\n\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\tonSubmit={(e: any) => {\r\n\t\t\t\t\t\t\t\t\t\tsendField('CLOSE');\r\n\t\t\t\t\t\t\t\t\t\tsearchfieldMobileInputRef?.current?.blur();\r\n\t\t\t\t\t\t\t\t\t\thistory.push(\r\n\t\t\t\t\t\t\t\t\t\t\t`${\r\n\t\t\t\t\t\t\t\t\t\t\t\tsearchSettings.searchPageUrl\r\n\t\t\t\t\t\t\t\t\t\t\t}?query=${encodeURIComponent(e.searchfieldMobile)}`\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\tonFocus={() => {\r\n\t\t\t\t\t\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\t\t\t\t\t\tsendField('OPEN');\r\n\t\t\t\t\t\t\t\t\t\t}, 200);\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tSearchResult={\r\n\t\t\t\t\t\t\t\tstateField.value === 'active' &&\r\n\t\t\t\t\t\t\t\tstateSearch.context.result &&\r\n\t\t\t\t\t\t\t\tstateSearch.context.query !== '' && (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{stateSearch.context.result.results &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tstateSearch.context.result.results.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t(item: SearchListItemTypes) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst searchItem = item as SearchResultItemModel;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t{stateSearch.context.result.numberOfHits === 0 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{stateSearch.context.result.numberOfHits >\r\n\t\t\t\t\t\t\t\t\t\t\tstateSearch.context.result.size && (\r\n\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsendField('CLOSE');\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsearchfieldInputRef?.current?.blur();\r\n\t\t\t\t\t\t\t\t\t\t\t\t\thistory.push(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t`${\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsearchSettings.searchPageUrl\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}?query=${encodeURIComponent(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstateSearch.context.query\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}`\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{searchSettings.showMoreResultsText}{' '}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t\tMenuComponent={\r\n\t\t\t\t\tnavigation &&\r\n\t\t\t\t\tnavigation.items &&\r\n\t\t\t\t\tnavigation.items.length > 0 && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{navigation.items.map((item, index) => {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{item.items &&\r\n\t\t\t\t\t\t\t\t\t\t\titem.items.length > 0 &&\r\n\t\t\t\t\t\t\t\t\t\t\titem.items.map((subItem, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{subItem.items &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsubItem.items.length > 0 &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsubItem.items.map((subSubItem, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{isMobile &&\r\n\t\t\t\t\t\t\t\tquickLinksBar &&\r\n\t\t\t\t\t\t\t\tquickLinksBar.links.length > 0 &&\r\n\t\t\t\t\t\t\t\tquickLinksBar.links.map((item, index) => {\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t\tCriteriaCartComponent={\r\n\t\t\t\t\tcriteriaCart && (\r\n\t\t\t\t\t\t 1) || false}\r\n\t\t\t\t\t\t\thasThemeBorder={themeBorder}\r\n\t\t\t\t\t\t\tapiUrl={criteriaCart.apiUrl}\r\n\t\t\t\t\t\t\ttoastText={criteriaCart.toastCriteriaAdded}\r\n\t\t\t\t\t\t\tonToggle={() => setCartExpanded(!cartExpanded)}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t>\r\n\t\t\t\t{alertBar &&\r\n\t\t\t\t\talertBar.alerts.map((item, index) => {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{item.text.fragments.map((fragment, index) => (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t})}\r\n\t\t\t\t{skipToMainContent && skipToMainContent.text && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{skipToMainContent.text}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{betaBar && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{betaBar.text.fragments.map((fragment, index) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{quickLinksBar?.links && quickLinksBar.links.length > 0 && !isMobile && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{quickLinksBar.links.map((item, index) => {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{item.modelType === 'LanguageSelector' ? (\r\n\t\t\t\t\t\t\t\t\t\tlanguages?.languages &&\r\n\t\t\t\t\t\t\t\t\t\tlanguages.languages.length > 0 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\r\n\t\t\t{breadcrumbs && breadcrumbs.length > 1 && (\r\n\t\t\t\t\r\n\t\t\t\t\t{breadcrumbs.map((item, index) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\t{children}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{contact && (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{contact.addresses.first?.name}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{contact.addresses.first?.street}\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t{contact.addresses.first?.zipCode}{' '}\r\n\t\t\t\t\t\t\t\t\t{contact.addresses.first?.city}\r\n\t\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\t{contact.channels.heading}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{contact.channels.items.map((item, index) => {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    {item.name}
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    {item.value}
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{contact.addresses.second?.name}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{contact.addresses.second?.street}\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t{contact.addresses.second?.zipCode}{' '}\r\n\t\t\t\t\t\t\t\t\t{contact.addresses.second?.city}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t{popularPages?.first && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{popularPages.first.heading}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{popularPages.first.links.map((link, index) => {\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{link.text}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t{popularPages?.second && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{popularPages.second.heading}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{popularPages.second.links.map((link, index) => {\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{link.text}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)}\r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t{quickLinksFooter &&\r\n\t\t\t\t\t\t\t\t\t\tquickLinksFooter.quickLinks.map((link, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{link.text}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{contact &&\r\n\t\t\t\t\t\t\t\t\t\tcontact.social.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t{/* @ts-ignore */}\r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default BaseLayout;\r\n","/**\r\n * EditorList\r\n */\r\n\r\nimport React from 'react';\r\nimport { useState } from 'react';\r\nimport { Button } from 'ui-component-library/base';\r\n\r\ninterface Props {\r\n\t/** Number of editors to show when not expanded */\r\n\tshowNumberOfEditors: number;\r\n\r\n\t/** Show more button text */\r\n\tshowMoreButtonText: string;\r\n\r\n\t/** Show less button text */\r\n\tshowLessButtonText: string;\r\n}\r\n\r\n/** Main description for this component. */\r\nconst EditorList: React.FC = ({\r\n\tshowNumberOfEditors,\r\n\tshowMoreButtonText,\r\n\tshowLessButtonText,\r\n\tchildren,\r\n}) => {\r\n\tconst [expanded, setExpanded] = useState(false);\r\n\r\n\tlet totalEditors = 0;\r\n\tReact.Children.forEach(children, () => {\r\n\t\treturn totalEditors++;\r\n\t});\r\n\r\n\tconst renderChildren = (children: any) => {\r\n\t\treturn React.Children.map(children, (child, index) => {\r\n\t\t\tif (!child || index >= showNumberOfEditors) {\r\n\t\t\t\treturn null;\r\n\t\t\t} else {\r\n\t\t\t\treturn React.cloneElement(child, child.props || {});\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t{expanded ? children : renderChildren(children)}\r\n\t\t\t
    \r\n\t\t\t{totalEditors > showNumberOfEditors && (\r\n\t\t\t\t setExpanded(!expanded)}\r\n\t\t\t\t>\r\n\t\t\t\t\t{expanded ? showLessButtonText : showMoreButtonText}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default EditorList;\r\n","/**\r\n * ModalButton\r\n */\r\n\r\nimport clsx from 'clsx';\r\nimport React from 'react';\r\nimport { useState } from 'react';\r\nimport { Button, Icon, Modal } from 'ui-component-library/base';\r\n\r\ninterface Props {\r\n\t/** Text for the button */\r\n\tbuttonText: string;\r\n\r\n\t/** Close button text for the modal */\r\n\tcloseModalButtonText: string;\r\n\r\n\t/** Id for IconButton */\r\n\tid?: string;\r\n\r\n\t/** Pass an optional className */\r\n\tclassName?: string;\r\n}\r\n\r\n/** Main description for this component. */\r\nconst ModalButton: React.FC = ({\r\n\tbuttonText,\r\n\tcloseModalButtonText,\r\n\tid,\r\n\tclassName,\r\n\tchildren,\r\n}) => {\r\n\tconst [isOpen, setIsOpen] = useState(false);\r\n\r\n\tconst onToggle = () => {\r\n\t\tsetIsOpen(!isOpen);\r\n\t};\r\n\treturn (\r\n\t\t
    \r\n\t\t\t\r\n\r\n\t\t\t{isOpen && (\r\n\t\t\t\t\r\n\t\t\t\t\t{children}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default ModalButton;\r\n","import { BlockTypes } from 'types';\r\n\r\nexport const getSectionColumnDesktop = (modelType: BlockTypes): number => {\r\n\tswitch (modelType) {\r\n\t\tcase 'SectionColumnSmall':\r\n\t\t\treturn 4;\r\n\t\tcase 'SectionColumnMedium':\r\n\t\t\treturn 8;\r\n\t\tcase 'SectionColumnLarge':\r\n\t\t\treturn 12;\r\n\t\tdefault:\r\n\t\t\treturn 12;\r\n\t}\r\n};\r\nexport const getSectionColumnTablet = (modelType: BlockTypes): number => {\r\n\tswitch (modelType) {\r\n\t\tcase 'SectionColumnSmall':\r\n\t\t\treturn 6;\r\n\t\tdefault:\r\n\t\t\treturn 12;\r\n\t}\r\n};\r\nexport const getBlockColumnDesktop = (\r\n\tblockModelType: BlockTypes,\r\n\titemModelType: BlockTypes\r\n): number => {\r\n\tswitch (itemModelType) {\r\n\t\tcase 'DialogsLarge':\r\n\t\tcase 'EditorsLarge':\r\n\t\tcase 'TextBlock':\r\n\t\t\treturn 12;\r\n\t\tcase 'DialogsMedium':\r\n\t\tcase 'EditorsMedium':\r\n\t\t\treturn 8;\r\n\t\tcase 'Dialogs':\r\n\t\tcase 'DialogsSmall':\r\n\t\tcase 'Editors':\r\n\t\tcase 'EditorsSmall':\r\n\t\t\treturn 4;\r\n\t}\r\n\r\n\tswitch (blockModelType) {\r\n\t\tcase 'SectionColumnSmall':\r\n\t\t\treturn 12;\r\n\t\tcase 'SectionColumnMedium':\r\n\t\t\treturn 6;\r\n\t\tcase 'SectionColumnLarge':\r\n\t\t\treturn 4;\r\n\t\tdefault:\r\n\t\t\treturn 12;\r\n\t}\r\n};\r\n\r\nexport const getBlockColumnTablet = (\r\n\tblockModelType: BlockTypes,\r\n\titemModelType: BlockTypes\r\n): number => {\r\n\tswitch (itemModelType) {\r\n\t\tcase 'DialogsLarge':\r\n\t\tcase 'EditorsLarge':\r\n\t\tcase 'TextBlock':\r\n\t\t\treturn 12;\r\n\t}\r\n\r\n\tswitch (blockModelType) {\r\n\t\tcase 'SectionColumnSmall':\r\n\t\t\treturn 12;\r\n\t\tdefault:\r\n\t\t\treturn 6;\r\n\t}\r\n};\r\n\r\nexport const getPuffMarginBottom = (\r\n\tblockModelType: BlockTypes,\r\n\tisMobile: boolean,\r\n\tisTablet: boolean,\r\n\titemsLength: number,\r\n\titemIndex: number\r\n): string => {\r\n\tconst marginBottom = 'mb-10 md:mb-16';\r\n\tconst isLastItem = itemIndex === itemsLength - 1;\r\n\tconst isSecondLastItem = itemIndex === itemsLength - 2;\r\n\tconst isThirdLastItem = itemIndex === itemsLength - 3;\r\n\r\n\tswitch (blockModelType) {\r\n\t\tcase 'SectionColumnSmall':\r\n\t\t\treturn isLastItem ? marginBottom : '';\r\n\r\n\t\tcase 'SectionColumnMedium':\r\n\t\t\tlet remainderMedium = itemsLength % 2;\r\n\r\n\t\t\tif (isMobile) {\r\n\t\t\t\treturn isLastItem ? marginBottom : '';\r\n\t\t\t} else {\r\n\t\t\t\tif (remainderMedium === 0) {\r\n\t\t\t\t\tif (isSecondLastItem || isLastItem) {\r\n\t\t\t\t\t\treturn marginBottom;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if (remainderMedium === 1) {\r\n\t\t\t\t\tif (isLastItem) {\r\n\t\t\t\t\t\treturn marginBottom;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 'SectionColumnLarge':\r\n\t\t\tlet remainderLarge = isMobile\r\n\t\t\t\t? itemsLength % 1\r\n\t\t\t\t: isTablet\r\n\t\t\t\t? itemsLength % 2\r\n\t\t\t\t: itemsLength % 3;\r\n\r\n\t\t\tif (isMobile) {\r\n\t\t\t\treturn isLastItem ? marginBottom : '';\r\n\t\t\t} else if (isTablet) {\r\n\t\t\t\tif (remainderLarge === 0) {\r\n\t\t\t\t\tif (isSecondLastItem || isLastItem) {\r\n\t\t\t\t\t\treturn marginBottom;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn isLastItem ? marginBottom : '';\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (remainderLarge === 0) {\r\n\t\t\t\t\tif (isThirdLastItem || isSecondLastItem || isLastItem) {\r\n\t\t\t\t\t\treturn marginBottom;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if (remainderLarge === 1) {\r\n\t\t\t\t\tif (isLastItem) {\r\n\t\t\t\t\t\treturn marginBottom;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (isSecondLastItem || isLastItem) {\r\n\t\t\t\t\t\treturn marginBottom;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\treturn '';\r\n\t}\r\n\treturn '';\r\n};\r\n","/**\r\n * ChartPuff\r\n */\r\n\r\nimport React from 'react';\r\nimport clsx from 'clsx';\r\nimport { HeadingLevels } from 'ui-component-library/base/types';\r\nimport { HighchartsBaseModel } from 'types';\r\nimport Highcharts from 'components/Highcharts';\r\n\r\ninterface Props {\r\n\t/** The puff image src */\r\n\tsrc?: string;\r\n\r\n\t/** The puff image alt */\r\n\talt?: string;\r\n\r\n\t/** The puff heading */\r\n\theading: string;\r\n\r\n\t/** The puff text */\r\n\ttext?: string;\r\n\r\n\t/** Publish date of the article */\r\n\tpublished?: string;\r\n\r\n\t/** url to the article */\r\n\turl: string;\r\n\r\n\t/** Optional other heading-level for the navigation items. */\r\n\theadingLevel?: HeadingLevels;\r\n\r\n\t/** An optional component to be used as link. */\r\n\tLinkComponent?: any;\r\n\r\n\t/** Chart properties that passes into HighCharts component */\r\n\tchartProperties?: HighchartsBaseModel;\r\n\r\n\t/** Pass optional classnames for the html */\r\n\tclassName?: string;\r\n}\r\n\r\n/** Main description for this component. */\r\nconst ChartPuff: React.FC = ({\r\n\theading,\r\n\ttext,\r\n\tpublished,\r\n\tclassName,\r\n\theadingLevel = 'h3',\r\n\turl,\r\n\tLinkComponent,\r\n\tchartProperties,\r\n\tchildren,\r\n}) => {\r\n\tconst Heading = headingLevel;\r\n\tconst Link = LinkComponent;\r\n\treturn (\r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t{chartProperties && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{(published || children) && (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{published && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{published}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{children && (\r\n\t\t\t\t\t\t\t
      {children}
    \r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
    \r\n\t\t\t\t)}\r\n\t\t\t\t

    {text}

    \r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default ChartPuff;\r\n","/**\r\n * EpiContentArea\r\n */\r\n\r\nimport clsx from 'clsx';\r\nimport React from 'react';\r\nimport {\r\n\tCalendarEventListBlockModel,\r\n\tCalendarEventPuffWithImageModel,\r\n\tNewsModel,\r\n\tPuffWithImageModel,\r\n\tNewsListBlockModel,\r\n\tSectionBlockModel,\r\n\tContentAreaModelTypes,\r\n\tPuffModel,\r\n\tTextBlockModel,\r\n\tDialogListBlockModel,\r\n\tDialogCategoryItemModel,\r\n\tEditorsBlockModel,\r\n\tEditorModel,\r\n\tButtonsAndStuffModel,\r\n\tButtonTypes,\r\n\tServicesListBlockModel,\r\n\tServiceBlockModel,\r\n\tSectionColumnBlockModel,\r\n\tPuffWithChartModel,\r\n} from 'types';\r\nimport {\r\n\tAvatarImage,\r\n\tButton,\r\n\tCell,\r\n\tGrid,\r\n\tIcon,\r\n\tIconButton,\r\n\tText,\r\n\tCalendarEventList,\r\n\tCalendarEventListItem,\r\n\tCalendarEventPuff,\r\n\tNewsList,\r\n\tNewsListItem,\r\n\tNewsPuff,\r\n\tNewsPuffCategory,\r\n} from 'ui-component-library/base';\r\nimport Link from 'components/Link';\r\nimport {\r\n\tDialogList,\r\n\tDialogListItem,\r\n\tEpiForms,\r\n\tNavigationPuff,\r\n\tServiceBlock,\r\n} from 'ui-component-library/uhmse';\r\nimport EpiFragments from 'components/EpiFragments';\r\nimport EditorList from 'components/EditorList';\r\nimport ModalButton from 'components/ModalButton';\r\nimport {\r\n\tgetBlockColumnDesktop,\r\n\tgetBlockColumnTablet,\r\n\tgetPuffMarginBottom,\r\n\tgetSectionColumnDesktop,\r\n\tgetSectionColumnTablet,\r\n} from './helpers';\r\nimport ChartPuff from 'components/ChartPuff';\r\nimport { useIsMobile, useIsTablet } from 'hooks/useMediaQuery';\r\n\r\ninterface Props {\r\n\t/** Epi property containing content for the content area */\r\n\tcontent?: any;\r\n\r\n\t/** Epi properties for on page editing */\r\n\t[htmlAttributes: string]: any;\r\n}\r\n\r\n/** Epi content area for handling blocks */\r\nconst EpiContentArea: React.FC = ({\r\n\tcontent = [],\r\n\t...htmlAttributes\r\n}) => {\r\n\tconst isMobile = useIsMobile();\r\n\tconst isTablet = useIsTablet();\r\n\tconst renderContentBlock = (\r\n\t\tblock: ContentAreaModelTypes,\r\n\t\theadingLevel: 'h2' | 'h3',\r\n\t\tindex: number\r\n\t) => {\r\n\t\tswitch (block.modelType) {\r\n\t\t\tcase 'SectionBlock':\r\n\t\t\t\tconst layoutData = block as SectionBlockModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{layoutData.items &&\r\n\t\t\t\t\t\t\t\tlayoutData.items.map((item: any, indexLayoutData: number) => {\r\n\t\t\t\t\t\t\t\t\tconst sectionHeadingLevel = 'h2';\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{renderContentBlock(\r\n\t\t\t\t\t\t\t\t\t\t\t\titem,\r\n\t\t\t\t\t\t\t\t\t\t\t\tsectionHeadingLevel,\r\n\t\t\t\t\t\t\t\t\t\t\t\tindexLayoutData\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\r\n\t\t\tcase 'SectionColumnSmall':\r\n\t\t\tcase 'SectionColumnMedium':\r\n\t\t\tcase 'SectionColumnLarge':\r\n\t\t\t\tconst sectionColumnData = block as SectionColumnBlockModel;\r\n\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{sectionColumnData.heading && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{sectionColumnData.heading}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{sectionColumnData.text && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{sectionColumnData.text}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{sectionColumnData?.items &&\r\n\t\t\t\t\t\t\t\tsectionColumnData?.items.length > 0 &&\r\n\t\t\t\t\t\t\t\tsectionColumnData?.items?.map((item, index) => {\r\n\t\t\t\t\t\t\t\t\tconst blockHeadingLevel = sectionColumnData.heading\r\n\t\t\t\t\t\t\t\t\t\t? 'h3'\r\n\t\t\t\t\t\t\t\t\t\t: 'h2';\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{renderContentBlock(item, blockHeadingLevel, index)}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\tcase 'Puff':\r\n\t\t\t\tconst puffData = block as PuffModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\tcase 'PuffWithNoImage':\r\n\t\t\tcase 'PuffWithImage':\r\n\t\t\t\tconst newsPuffData = block as PuffWithImageModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{newsPuffData.categories &&\r\n\t\t\t\t\t\t\tnewsPuffData.categories.length > 0 &&\r\n\t\t\t\t\t\t\tnewsPuffData.categories.map((category, index) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\tcase 'PuffWithChart':\r\n\t\t\t\tconst chartPuffData = block as PuffWithChartModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{chartPuffData.categories &&\r\n\t\t\t\t\t\t\tchartPuffData.categories.length > 0 &&\r\n\t\t\t\t\t\t\tchartPuffData.categories.map((category, index) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\tcase 'CalendarEventPuffWithNoImage':\r\n\t\t\tcase 'CalendarEventPuffWithImage':\r\n\t\t\t\tconst eventPuffData = block as CalendarEventPuffWithImageModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\r\n\t\t\tcase 'CalendarEventListBlock':\r\n\t\t\t\tconst eventListData = block as CalendarEventListBlockModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{eventListData.items.map((event, index) => {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{eventListData.linkText}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t);\r\n\t\t\tcase 'NewsListBlock':\r\n\t\t\t\tconst newsListData = block as NewsListBlockModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{newsListData.items &&\r\n\t\t\t\t\t\t\t\tnewsListData.items.map((news: NewsModel, index: number) => {\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{newsListData.linkText}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t);\r\n\t\t\tcase 'TextBlock':\r\n\t\t\t\tconst textData = block as TextBlockModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t);\r\n\r\n\t\t\tcase 'Dialogs':\r\n\t\t\tcase 'DialogsSmall':\r\n\t\t\tcase 'DialogsMedium':\r\n\t\t\tcase 'DialogsLarge':\r\n\t\t\t\tconst dialogListData = block as DialogListBlockModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{dialogListData.heading}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{dialogListData.dialogs &&\r\n\t\t\t\t\t\t\t\tdialogListData.dialogs.map(\r\n\t\t\t\t\t\t\t\t\t(item: DialogCategoryItemModel, index: number) => {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{dialogListData.url && dialogListData.linkText && (\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{dialogListData.linkText}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
    \r\n\t\t\t\t);\r\n\t\t\tcase 'Editors':\r\n\t\t\tcase 'EditorsSmall':\r\n\t\t\tcase 'EditorsMedium':\r\n\t\t\tcase 'EditorsLarge':\r\n\t\t\t\tconst editorsData = block as EditorsBlockModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{editorsData?.editors?.map(\r\n\t\t\t\t\t\t\t(editor: EditorModel, subIndex: number) => {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t

    {editor.name}

    \r\n\t\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t\t\t\t{editor.title}\r\n\t\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\tcase 'ButtonsAndStuff':\r\n\t\t\t\tconst buttonsData = block as ButtonsAndStuffModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{buttonsData.heading && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{buttonsData.heading}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{buttonsData.text && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{buttonsData.text}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{buttonsData.items.map((item: ButtonTypes, subIndex: number) => {\r\n\t\t\t\t\t\t\tswitch (item.modelType) {\r\n\t\t\t\t\t\t\t\tcase 'AskQuestion':\r\n\t\t\t\t\t\t\t\t\tconst handleSubmit = (values?: any) => {\r\n\t\t\t\t\t\t\t\t\t\tif (window && window.dataLayer && window.dataLayer.push) {\r\n\t\t\t\t\t\t\t\t\t\t\t// Get field value from \"Frågerubrik\", \"Frågekategori\" and \"Kundkategori\" by id from production www.upphandlingsmyndigheten.se\"\r\n\t\t\t\t\t\t\t\t\t\t\t// Don't forget to update field id if the field order has been modified in EPI\r\n\t\t\t\t\t\t\t\t\t\t\tlet questionTitle = values.get('__field_3170'); // Frågerubrik\r\n\t\t\t\t\t\t\t\t\t\t\tlet questionCategory = values.get('__field_3172'); // Frågekategori\r\n\t\t\t\t\t\t\t\t\t\t\tlet customerCategory = values.get('__field_3173'); // Kundkategori\r\n\r\n\t\t\t\t\t\t\t\t\t\t\twindow.dataLayer.push({\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent: 'QuestionSubmit',\r\n\t\t\t\t\t\t\t\t\t\t\t\tquestionTitle: questionTitle,\r\n\t\t\t\t\t\t\t\t\t\t\t\tquestionCategory: questionCategory,\r\n\t\t\t\t\t\t\t\t\t\t\t\tcustomerCategory: customerCategory,\r\n\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\t\t\tcase 'ChatWithUs':\r\n\t\t\t\t\t\t\t\t\tconst handleOnClick = () => {\r\n\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\ttypeof window !== 'undefined' &&\r\n\t\t\t\t\t\t\t\t\t\t\twindow.$kundo_chat &&\r\n\t\t\t\t\t\t\t\t\t\t\twindow.$kundo_chat.start_chat\r\n\t\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\t\twindow.$kundo_chat.start_chat();\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{item.time}\r\n\t\t\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tcase 'CallUs':\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{item.time}\r\n\t\t\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tcase 'text':\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\t\t\treturn null;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\tcase 'ServicesList':\r\n\t\t\t\tconst serviceListData = block as ServicesListBlockModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{serviceListData.items.map(\r\n\t\t\t\t\t\t\t(item: ServiceBlockModel, subIndex: number) => {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
    \r\n\t\t\t\t);\r\n\t\t\tdefault:\r\n\t\t\t\treturn null;\r\n\t\t}\r\n\t};\r\n\t// const epi = useSelector(selectEpi);\r\n\t// const epiProps: any = {};\r\n\r\n\t// if (epi?.beta?.isEditable && prop) {\r\n\t// \tepiProps['data-epi-property-name'] = prop;\r\n\t// \tepiProps['data-epi-property-render'] = 'none';\r\n\t// }\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t{content.map((block: ContentAreaModelTypes, index: number) =>\r\n\t\t\t\trenderContentBlock(block, 'h2', index)\r\n\t\t\t)}\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default EpiContentArea;\r\n","/**\r\n * StartPage\r\n */\r\n\r\nimport React, { useRef } from 'react';\r\nimport queryString from 'query-string';\r\nimport {\r\n\tGrid,\r\n\tCell,\r\n\tIntroBlock,\r\n\tSearchField,\r\n\tIntroBlockArrow,\r\n\tIcon,\r\n} from 'ui-component-library/base';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Text from 'components/Text';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport {\r\n\tSearchFieldDropdown,\r\n\tSearchFieldDropdownItem,\r\n} from 'ui-component-library/base/SearchField';\r\nimport { SearchListItemTypes, StartPageModel } from 'types';\r\nimport { useMachine } from '@xstate/react';\r\nimport { searchMachine } from 'state-machines/search.machine';\r\nimport { useSelector } from 'react-redux';\r\nimport { selectSearch } from 'store/modules/model';\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport { searchFieldMachine } from 'state-machines/searchField.machine';\r\nimport Link from 'components/Link';\r\nimport { useOutsideClick } from 'ui-component-library/hooks';\r\nimport { useIsTabletOrLarger } from 'hooks/useMediaQuery';\r\n\r\n/** StartPage component. */\r\nconst StartPage: React.FC = ({\r\n\theading,\r\n\tpreamble,\r\n\tintroBlock,\r\n\tnavigationList,\r\n\tcontentArea,\r\n}) => {\r\n\tconst isTabletOrLarger = useIsTabletOrLarger();\r\n\tconst location = useLocation();\r\n\tconst history = useHistory();\r\n\tconst searchSettings = useSelector(selectSearch);\r\n\tconst { query } = queryString.parse(location.search);\r\n\tconst searchfieldWrapperRef = useRef(null);\r\n\tconst searchfieldInputRef = useRef(null);\r\n\tconst [stateSearch, sendSearch] = useMachine(searchMachine, {\r\n\t\tcontext: {\r\n\t\t\tapiUrl: introBlock?.apiUrl || searchSettings?.apiUrl,\r\n\t\t\tsize: isTabletOrLarger ? 5 : searchSettings?.numberOfHitsPerPage || 5,\r\n\t\t\tdebounce: 500,\r\n\t\t},\r\n\t});\r\n\tconst [stateField, sendField] = useMachine(searchFieldMachine);\r\n\r\n\tuseOutsideClick(searchfieldWrapperRef, () => {\r\n\t\tif (searchSettings) {\r\n\t\t\tsendField('CLOSE');\r\n\t\t}\r\n\t});\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{introBlock && (\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{introBlock?.heading && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{introBlock?.heading}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{introBlock?.preamble && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{introBlock?.preamble}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{introBlock?.hasSearch && (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\tstateField.value === 'active' &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsendSearch('SEARCH', {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: e.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\tonSubmit={(e: any) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tsendField('CLOSE');\r\n\t\t\t\t\t\t\t\t\t\t\t\tsearchfieldInputRef?.current?.blur();\r\n\t\t\t\t\t\t\t\t\t\t\t\thistory.push(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t`${\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tintroBlock.searchPageUrl\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}?query=${encodeURIComponent(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.searchfieldIntroBlock\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}`\r\n\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\tonFocus={() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsendField('OPEN');\r\n\t\t\t\t\t\t\t\t\t\t\t\t}, 200);\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t{stateField.value === 'active' &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tstateSearch.context.result &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tstateSearch.context.query !== '' && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{stateSearch.context.result.results &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstateSearch.context.result.results.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(item: SearchListItemTypes) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.heading}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{stateSearch.context.result.numberOfHits >\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstateSearch.context.result.size && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsendField('CLOSE');\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{searchSettings?.showMoreResultsText}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{stateSearch.context.result.numberOfHits === 0 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

    Inga träffar hittades

    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t)}\r\n\t\t\t{!introBlock && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t)}\r\n\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
    \r\n\t);\r\n};\r\nexport default StartPage;\r\n","/**\r\n * StandardPage\r\n */\r\n\r\nimport React from 'react';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Link from 'components/Link';\r\nimport { Grid, Cell } from 'ui-component-library/base';\r\nimport Text from 'components/Text';\r\nimport { StandardPageModel } from 'types';\r\n\r\nconst getHeadingTag = (level: number) => {\r\n\tswitch (level) {\r\n\t\tcase 1:\r\n\t\t\treturn 'h1';\r\n\t\tcase 2:\r\n\t\t\treturn 'h2';\r\n\t\tcase 3:\r\n\t\t\treturn 'h3';\r\n\t\tdefault:\r\n\t\t\treturn 'p';\r\n\t}\r\n};\r\n\r\nconst renderFragment = (fragment: any, i: number) => {\r\n\tswitch (fragment.modelType) {\r\n\t\tcase 'HeadingFragment':\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\tcase 'RawFragment':\r\n\t\t\treturn ;\r\n\t\tdefault:\r\n\t\t\treturn null;\r\n\t}\r\n};\r\n\r\n/** Main description for this component. */\r\nconst StandardPage: React.FC = ({\r\n\theading,\r\n\tpreamble,\r\n\ttext,\r\n}) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t

    \r\n\t\t\t\t\t\tHem / StandardPage\r\n\t\t\t\t\t

    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{text && text.fragments && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{text.fragments.map(renderFragment)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default StandardPage;\r\n","/**\r\n * ErrorPage404\r\n */\r\n\r\nimport React from 'react';\r\nimport { Grid } from 'ui-component-library/base';\r\nimport Text from 'components/Text';\r\n\r\ninterface Props {\r\n\terror?: string;\r\n}\r\n\r\n/** Main description for this component. */\r\nconst ErrorPage404: React.FC = ({ error }) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t404\r\n\t\t\t\r\n\t\t\t\tSidan kunde inte hittas.\r\n\t\t\t\t
    \r\n\t\t\t\tTill startsidan.\r\n\t\t\t
    \r\n\t\t\t{/*error && {error}*/}\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default ErrorPage404;\r\n","/**\r\n * WebGuidanceIntroBlock\r\n */\r\n\r\nimport clsx from 'clsx';\r\nimport React from 'react';\r\nimport { GuidanceAreaModel } from 'types';\r\nimport hexagonConstruction from './svg/hexagon-construction.svg';\r\nimport hexagonSupplyChains from './svg/hexagon-sustainable-supply-chains.svg';\r\nimport hexagonMunicipalLand from './svg/hexagon-municipal-land.svg';\r\nimport hexagonDefault from './svg/hexagon-default.svg';\r\nimport work from './svg/hexagon-work.svg';\r\n\r\ninterface Props {\r\n\t/** Guidance area that sets the background-image */\r\n\tarea: GuidanceAreaModel;\r\n\r\n\t/** Optional classname */\r\n\tclassName?: string;\r\n}\r\n\r\n/** Main description for this component. */\r\nconst WebGuidanceIntroBlock: React.FC = ({\r\n\tarea,\r\n\tclassName,\r\n\tchildren,\r\n}) => {\r\n\tconst getSVG = {\r\n\t\tconstruction: hexagonConstruction,\r\n\t\tsupplyChains: hexagonSupplyChains,\r\n\t\tmunicipalLand: hexagonMunicipalLand,\r\n\t\twork: work,\r\n\t\tdefault: hexagonDefault,\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{children}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default WebGuidanceIntroBlock;\r\n","/**\r\n * WebGuidanceArticlePage\r\n */\r\n\r\nimport React from 'react';\r\nimport {\r\n\tGrid,\r\n\tCell,\r\n\tLinkList,\r\n\tLinkListItem,\r\n\tArticleHeader,\r\n\tArticleHeaderCategoryList,\r\n\tArticleHeaderCategory,\r\n\tToc,\r\n\tTocLink,\r\n} from 'ui-component-library/base';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Text from 'components/Text';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport { WebGuidanceArticlePageModel } from 'types';\r\nimport Link from 'components/Link';\r\nimport EpiFragments from 'components/EpiFragments';\r\nimport clsx from 'clsx';\r\nimport { useIsDesktop } from 'hooks/useMediaQuery';\r\nimport WebGuidanceIntroBlock from 'components/WebGuidanceIntroBlock';\r\n\r\n/** WebGuidanceArticlePage component. */\r\nconst WebGuidanceArticlePage: React.FC = ({\r\n\theading,\r\n\tpreamble,\r\n\tarea,\r\n\tarticleHeader,\r\n\ttableOfContents,\r\n\ttext,\r\n\trelatedLinks,\r\n\tcontentArea,\r\n}) => {\r\n\tconst isDesktop = useIsDesktop();\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{heading && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{articleHeader && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{articleHeader.categories &&\r\n\t\t\t\t\t\t\t\t\t\tarticleHeader.categories.length > 0 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{articleHeader.categories.map((category, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{preamble && (\r\n\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t{isDesktop && (tableOfContents || relatedLinks) && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{tableOfContents && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{tableOfContents.titles.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{relatedLinks?.map((linkSection, index) => {\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{linkSection.links?.map((item, subIndex) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{!isDesktop && tableOfContents && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{tableOfContents.titles.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{!isDesktop &&\r\n\t\t\t\t\t\t\trelatedLinks?.map((linkSection, index) => {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{linkSection.links?.map((item, subIndex) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\r\n\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
    \r\n\t);\r\n};\r\nexport default WebGuidanceArticlePage;\r\n","/**\r\n * WebGuidanceLandingPage\r\n */\r\n\r\nimport React from 'react';\r\nimport {\r\n\tGrid,\r\n\tCell,\r\n\tLinkList,\r\n\tLinkListItem,\r\n\tArticleHeader,\r\n\tArticleHeaderCategoryList,\r\n\tArticleHeaderCategory,\r\n} from 'ui-component-library/base';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Text from 'components/Text';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport { WebGuidanceLandingPageModel } from 'types';\r\nimport Link from 'components/Link';\r\nimport EpiFragments from 'components/EpiFragments';\r\nimport WebGuidanceIntroBlock from 'components/WebGuidanceIntroBlock';\r\n\r\n/** WebGuidanceLandingPage component. */\r\nconst WebGuidanceLandingPage: React.FC = ({\r\n\theading,\r\n\tpreamble,\r\n\tarea,\r\n\tarticleHeader,\r\n\tfirstContentArea,\r\n\tsecondContentArea,\r\n\tfirstText,\r\n\tsecondText,\r\n\tfirstRelatedLinks,\r\n\tsecondRelatedLinks,\r\n}) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{heading && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{articleHeader && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{articleHeader.categories &&\r\n\t\t\t\t\t\t\t\t\t\tarticleHeader.categories.length > 0 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{articleHeader.categories.map((category, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{preamble && (\r\n\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t{((firstText?.fragments && firstText?.fragments.length > 0) ||\r\n\t\t\t\t(firstRelatedLinks && firstRelatedLinks.length > 0)) && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{firstRelatedLinks?.map((linkSection, index) => {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{linkSection.links?.map((item, subIndex) => (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{firstContentArea && firstContentArea.length > 0 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{((secondText?.fragments && secondText.fragments.length > 0) ||\r\n\t\t\t\t(secondRelatedLinks && secondRelatedLinks.length > 0)) && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{secondRelatedLinks?.map((linkSection, index) => {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{linkSection.links?.map((item, subIndex) => (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{secondContentArea && secondContentArea.length > 0 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
    \r\n\t);\r\n};\r\nexport default WebGuidanceLandingPage;\r\n","/**\r\n * CriteriaCartAddButton\r\n */\r\n\r\nimport { GlobalStateContext } from 'App';\r\nimport React, { useContext, useEffect, useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { selectCriteriaCart } from 'store/modules/model';\r\nimport { useSelector as useXstateSelector } from '@xstate/react';\r\nimport { selectCriterias } from 'state-machines/criteriaCart.machine';\r\nimport { Icon, ButtonSupportive } from 'ui-component-library/base';\r\n\r\ninterface Props {\r\n\t/** Download added button text */\r\n\tdownloadAddedText: string;\r\n\r\n\t/** Add to download button text */\r\n\taddToDownloadsText: string;\r\n\r\n\t/** The descriptor for the criteria */\r\n\tcriteriaDescriptor: string;\r\n\r\n\t/** Variant of button */\r\n\tvariant?: 'standard' | 'table';\r\n\r\n\t/** Pass an optional className */\r\n\tclassName?: string;\r\n\r\n\t/** Pass info about criteria */\r\n\trequirementInfo?: any;\r\n}\r\n\r\n/** Main description for this component. */\r\nconst CriteriaCartAddButton: React.FC = ({\r\n\tdownloadAddedText,\r\n\taddToDownloadsText,\r\n\tcriteriaDescriptor,\r\n\tvariant = 'standard',\r\n\tclassName,\r\n\trequirementInfo,\r\n}) => {\r\n\tconst criteriaCart = useSelector(selectCriteriaCart);\r\n\tconst globalServices = useContext(GlobalStateContext);\r\n\tconst { send } = globalServices.criteriaCartService;\r\n\tconst [isAdded, setIsAdded] = useState(false);\r\n\tconst criteriasInCart = useXstateSelector(\r\n\t\tglobalServices.criteriaCartService,\r\n\t\tselectCriterias\r\n\t);\r\n\r\n\tconst handleAddToCart = (e: any) => {\r\n\t\te.preventDefault();\r\n\t\tif (isAdded) {\r\n\t\t\tsend('REMOVE_CRITERIA', {\r\n\t\t\t\titem: criteriaDescriptor,\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tsend('ADD_CRITERIA', {\r\n\t\t\t\titem: criteriaDescriptor,\r\n\t\t\t});\r\n\r\n\t\t\tif (window.dataLayer && window.dataLayer.push) {\r\n\t\t\t\twindow.dataLayer.push({\r\n\t\t\t\t\tevent: 'saveCriteria',\r\n\t\t\t\t\tcriteriaProductArea: requirementInfo.criteriaProductArea,\r\n\t\t\t\t\tcriteriaProductGroup: requirementInfo.criteriaProductGroup,\r\n\t\t\t\t\tcriteriaProductSubgroup: requirementInfo.criteriaProductSubgroup,\r\n\t\t\t\t\tcriteriaItem: requirementInfo.criteriaItem,\r\n\t\t\t\t\tcriteriaLevel: requirementInfo.criteriaLevel,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t\tsetIsAdded(!isAdded);\r\n\t};\r\n\tconst getCriteriaStatusInCart = (criteria: string) => {\r\n\t\tlet found = criteriasInCart.filter((item) => item === criteria);\r\n\t\treturn found && found.length > 0 ? true : false;\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (criteriaDescriptor) {\r\n\t\t\tsetIsAdded(getCriteriaStatusInCart(criteriaDescriptor));\r\n\t\t}\r\n\t\t// eslint-disable-next-line\r\n\t}, [criteriasInCart, criteriaDescriptor]);\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{criteriaCart && (\r\n\t\t\t\t handleAddToCart(e)}\r\n\t\t\t\t\tcolor={isAdded ? 'teal' : 'grey'}\r\n\t\t\t\t\tvariant=\"squared\"\r\n\t\t\t\t\tclassName={className}\r\n\t\t\t\t>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{isAdded ? downloadAddedText : addToDownloadsText}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default CriteriaCartAddButton;\r\n","/**\r\n * CriteriaServiceRequirementPageV2\r\n */\r\n\r\nimport clsx from 'clsx';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport EpiFragments from 'components/EpiFragments';\r\nimport Text from 'components/Text';\r\nimport { useIsDesktop, useIsMobile } from 'hooks/useMediaQuery';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport React, { useEffect, useState } from 'react';\r\nimport {\r\n\tCriteriaDescriptionModel,\r\n\tCriteriaServiceRequirementPageV2Model,\r\n\tTabModel,\r\n} from 'types';\r\nimport { selectMetaData, selectContent } from 'store/modules/model';\r\nimport {\r\n\tButton,\r\n\tCell,\r\n\tGrid,\r\n\tArticleHeader,\r\n\tFilterButton,\r\n\tFilterButtonGroup,\r\n\tAlert,\r\n} from 'ui-component-library/base';\r\nimport {\r\n\tCriteriaDescriptionList,\r\n\tCriteriaDescriptionTerm,\r\n\tCriteriaDescriptionText,\r\n\tCriteriaDescriptionWrapper,\r\n\tFilterButtonAccordion,\r\n} from 'ui-component-library/uhmse';\r\nimport Link from 'components/Link';\r\nimport CriteriaCartAddButton from 'components/CriteriaCartAddButton';\r\nimport { useSelector } from 'react-redux';\r\n\r\n/** Main description for this component. */\r\nconst CriteriaServiceRequirementPageV2: React.FC =\r\n\t({\r\n\t\theading,\r\n\t\tpreamble,\r\n\t\tcriteriaInfo,\r\n\t\tlevelSwitcherTextWithLinks,\r\n\t\ttabs,\r\n\t\tcompareButton,\r\n\t\taddToCartButton,\r\n\t\tcontentArea,\r\n\t\trequirementInfo,\r\n\t\turl,\r\n\t\tdisclaimer,\r\n\t}) => {\r\n\t\tconst isDesktop = useIsDesktop();\r\n\t\tconst metaData = useSelector(selectMetaData);\r\n\t\tconst pageContent = useSelector(selectContent);\r\n\t\tconst isMobile = useIsMobile();\r\n\t\tconst [activeTab, setActiveTab] = useState('');\r\n\t\tconst handleAccordionClick = (tabId: string) => {\r\n\t\t\tif (activeTab === tabId) {\r\n\t\t\t\tsetActiveTab('');\r\n\t\t\t} else {\r\n\t\t\t\tconst tabEl = document?.getElementById(\r\n\t\t\t\t\t`accordion-button-${tabId}`\r\n\t\t\t\t)?.offsetTop;\r\n\t\t\t\tif (tabEl) {\r\n\t\t\t\t\twindow.scrollTo({\r\n\t\t\t\t\t\ttop: tabEl,\r\n\t\t\t\t\t\tbehavior: 'smooth',\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\tsetActiveTab(tabId);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tuseEffect(() => {\r\n\t\t\tif (isMobile) {\r\n\t\t\t\tsetActiveTab('');\r\n\t\t\t} else {\r\n\t\t\t\tsetActiveTab((tabs && tabs.length > 0 && tabs[0].id) as string);\r\n\t\t\t}\r\n\t\t\t// eslint-disable-next-line\r\n\t\t}, [isMobile]);\r\n\r\n\t\tuseEffect(() => {\r\n\t\t\tif (pageContent) {\r\n\t\t\t\tif (window.dataLayer && window.dataLayer.push && requirementInfo) {\r\n\t\t\t\t\twindow.dataLayer.push({\r\n\t\t\t\t\t\tevent: 'Pageview',\r\n\t\t\t\t\t\tpagePath: window.location.pathname || url,\r\n\t\t\t\t\t\tpageTitle: metaData?.title,\r\n\t\t\t\t\t\tpageType: pageContent.modelType,\r\n\t\t\t\t\t\tcriteriaProductArea: requirementInfo.criteriaProductArea,\r\n\t\t\t\t\t\tcriteriaProductGroup: requirementInfo.criteriaProductGroup,\r\n\t\t\t\t\t\tcriteriaProductSubgroup: requirementInfo.criteriaProductSubgroup,\r\n\t\t\t\t\t\tcriteriaItem: requirementInfo.criteriaItem,\r\n\t\t\t\t\t\tcriteriaLevel: requirementInfo.criteriaLevel,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, []);\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{isDesktop && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{criteriaInfo && (\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t{criteriaInfo.heading && (\r\n\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t\t\t{criteriaInfo.heading}\r\n\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t{criteriaInfo.items && criteriaInfo.items.length > 0 && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{criteriaInfo.items?.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t(item: CriteriaDescriptionModel, index: number) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{addToCartButton && addToCartButton.criteriaDescriptor && (\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t{compareButton && (\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{compareButton.text}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{levelSwitcherTextWithLinks && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{disclaimer && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{!isDesktop && (\r\n\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t{criteriaInfo?.heading && (\r\n\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t\t\t{criteriaInfo.heading}\r\n\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t{criteriaInfo?.items && criteriaInfo?.items.length > 0 && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{criteriaInfo.items?.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t(item: CriteriaDescriptionModel, index: number) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t{addToCartButton && addToCartButton.criteriaDescriptor && (\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t{compareButton && (\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{compareButton.text}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{!isMobile ? (\r\n\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t{tabs && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{tabs.map((tab: TabModel, index: number) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetActiveTab(tab.id);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={index}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{tab.tabName}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t\t{tabs?.map((tab: TabModel, index: number) => {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{tab.text && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\ttabs?.map((tab: TabModel, index: number) => {\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t handleAccordionClick(tab.id)}\r\n\t\t\t\t\t\t\t\t\t\t\tid={tab.id}\r\n\t\t\t\t\t\t\t\t\t\t\texpanded={activeTab === tab.id}\r\n\t\t\t\t\t\t\t\t\t\t\tkey={index}\r\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"mb-1\"\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t{tab.text && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
    \r\n\t\t);\r\n\t};\r\n\r\nexport default CriteriaServiceRequirementPageV2;\r\n","/**\r\n * CriteriaComparisonColumn\r\n */\r\n\r\nimport clsx from 'clsx';\r\nimport EpiFragments from 'components/EpiFragments';\r\nimport Link from 'components/Link';\r\nimport React, { useEffect, useState } from 'react';\r\nimport {\r\n\tComparisonColumnModel,\r\n\tComparisonSelectModel,\r\n\tComparisonSelectOptionModel,\r\n} from 'types';\r\nimport { Alert, Icon } from 'ui-component-library/base';\r\nimport CriteriaCartAddButton from 'components/CriteriaCartAddButton';\r\nimport Text from 'components/Text';\r\n\r\ninterface Props {\r\n\t/** column data of selects and criteriaInfo */\r\n\tcolumn: ComparisonColumnModel;\r\n\r\n\t/** Add-to-donwload button text */\r\n\taddToDownloadsText: string;\r\n\r\n\t/** Donwload-added button text */\r\n\tdownloadAddedText: string;\r\n\r\n\t/** Index of a criteria column */\r\n\tcolumnIndex: number;\r\n\r\n\t/** Callback function for select change */\r\n\tonChange: any;\r\n\r\n\t/** Callback funktion that sends events to state machine */\r\n\tsend: Function;\r\n\r\n\t/** Error message response from AJAX-request */\r\n\terrorMessage?: string;\r\n\r\n\t/** If the component is in loading state */\r\n\tloading?: boolean;\r\n}\r\n\r\nconst createQueryString = (\r\n\tselects: ComparisonSelectModel[],\r\n\tcolumnIndex: number,\r\n\tid?: string,\r\n\tvalue?: string\r\n) => {\r\n\tlet query: string[] = [];\r\n\tlet endLoop = false;\r\n\tfor (let selectIndex in selects) {\r\n\t\tif (endLoop) break;\r\n\r\n\t\tconst select = selects[selectIndex];\r\n\t\tfor (let optionIndex in select.options) {\r\n\t\t\tconst option = select.options[optionIndex as any];\r\n\t\t\tif (option.selected) {\r\n\t\t\t\tif (id === `column${columnIndex}-select-${select.path}`) {\r\n\t\t\t\t\tquery.push(`${select.path}=${value}`);\r\n\t\t\t\t\tendLoop = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tquery.push(`${select.path}=${option.value}`);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn query.join('&');\r\n};\r\n\r\nconst hasOptionSelected = (options: ComparisonSelectOptionModel[]) => {\r\n\tlet selectedOption = options.filter(\r\n\t\t(option: ComparisonSelectOptionModel) => option.selected === true\r\n\t);\r\n\treturn selectedOption?.length > 0 || false;\r\n};\r\n\r\n/** Main description for this component. */\r\nconst CriteriaComparisonColumn: React.FC = ({\r\n\tcolumn,\r\n\taddToDownloadsText,\r\n\tdownloadAddedText,\r\n\tcolumnIndex,\r\n\tonChange,\r\n\tsend,\r\n\terrorMessage,\r\n\tloading,\r\n}) => {\r\n\tconst { selects, criteriaInfo } = column;\r\n\tconst [requirementInfo, setRequirementInfo] = useState({\r\n\t\tcriteriaProductArea: null,\r\n\t\tcriteriaProductGroup: null,\r\n\t\tcriteriaProductSubgroup: null,\r\n\t\tcriteriaItem: null,\r\n\t\tcriteriaLevel: null,\r\n\t});\r\n\tconst handleSelectChange = (e: any) => {\r\n\t\tconst { id, value } = e.target;\r\n\t\tlet selectsData = JSON.parse(JSON.stringify(selects));\r\n\t\tlet endLoop = false;\r\n\t\tselectsData.forEach((select: any, index: number) => {\r\n\t\t\tif (`column${columnIndex}-select-${select.path}` === id) {\r\n\t\t\t\tselect.options?.forEach((option: any) => {\r\n\t\t\t\t\tif (option.value === value) {\r\n\t\t\t\t\t\toption.selected = true;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\toption.selected = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tendLoop = true;\r\n\t\t\t} else if (endLoop) {\r\n\t\t\t\tselect.options?.forEach((option: any) => {\r\n\t\t\t\t\toption.selected = false;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tonChange(columnIndex, selectsData);\r\n\r\n\t\tsend('FETCH', {\r\n\t\t\tquery: createQueryString(selectsData, columnIndex, id, value),\r\n\t\t});\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tlet selectsData = JSON.parse(JSON.stringify(selects));\r\n\r\n\t\tlet criteriaProductArea =\r\n\t\t\tselectsData[0].options &&\r\n\t\t\tselectsData[0].options.find((opt: any) => opt.selected) &&\r\n\t\t\tselectsData[0].options.find((opt: any) => opt.selected).term;\r\n\r\n\t\tlet criteriaProductGroup =\r\n\t\t\tselectsData[1].options &&\r\n\t\t\tselectsData[1].options.find((opt: any) => opt.selected) &&\r\n\t\t\tselectsData[1].options.find((opt: any) => opt.selected).term;\r\n\r\n\t\tlet criteriaProductSubGroup =\r\n\t\t\tselectsData[2].options &&\r\n\t\t\tselectsData[2].options.find((opt: any) => opt.selected) &&\r\n\t\t\tselectsData[2].options.find((opt: any) => opt.selected).term;\r\n\r\n\t\tlet criteriaItem =\r\n\t\t\tselectsData[3].options &&\r\n\t\t\tselectsData[3].options.find((opt: any) => opt.selected) &&\r\n\t\t\tselectsData[3].options.find((opt: any) => opt.selected).term;\r\n\r\n\t\tlet criteriaLevel =\r\n\t\t\tselectsData[4].options &&\r\n\t\t\tselectsData[4].options.find((opt: any) => opt.selected) &&\r\n\t\t\tselectsData[4].options.find((opt: any) => opt.selected).term;\r\n\r\n\t\tif (window && window.dataLayer && window.dataLayer.push && criteriaInfo) {\r\n\t\t\tsetRequirementInfo({\r\n\t\t\t\tcriteriaProductArea: criteriaProductArea ?? '',\r\n\t\t\t\tcriteriaProductGroup: criteriaProductGroup ?? '',\r\n\t\t\t\tcriteriaProductSubgroup: criteriaProductSubGroup ?? '',\r\n\t\t\t\tcriteriaItem: criteriaItem ?? '',\r\n\t\t\t\tcriteriaLevel: criteriaLevel ?? '',\r\n\t\t\t});\r\n\r\n\t\t\twindow.dataLayer.push({\r\n\t\t\t\tevent: 'compareCriteria',\r\n\t\t\t\tcriteriaProductArea: criteriaProductArea ?? '',\r\n\t\t\t\tcriteriaProductGroup: criteriaProductGroup ?? '',\r\n\t\t\t\tcriteriaProductSubGroup: criteriaProductSubGroup ?? '',\r\n\t\t\t\tcriteriaItem: criteriaItem ?? '',\r\n\t\t\t\tcriteriaLevel: criteriaLevel ?? '',\r\n\t\t\t});\r\n\t\t}\r\n\t}, [criteriaInfo]);\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t{`Jämför kriterie ${columnIndex}, formuläret skickas in automatiskt när ett alternativ har valts`}\r\n\t\t\t\t\r\n\t\t\t\t{selects.map((select: ComparisonSelectModel, selectIndex: number) => {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{`${select.name} för kriterie ${columnIndex}`}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{select.name}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{select.options?.map(\r\n\t\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t\toption: ComparisonSelectOptionModel,\r\n\t\t\t\t\t\t\t\t\t\toptionIndex: number\r\n\t\t\t\t\t\t\t\t\t) => {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{option.term}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t);\r\n\t\t\t\t})}\r\n\t\t\t\t {\r\n\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\tsend('FETCH', {\r\n\t\t\t\t\t\t\tquery: createQueryString(selects, columnIndex),\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}}\r\n\t\t\t\t>\r\n\t\t\t\t\t{`Skicka in formulär för kriterie ${columnIndex}`}\r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t{errorMessage && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{errorMessage}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t{criteriaInfo && (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{criteriaInfo.heading}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t{loading && (\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t)}\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default CriteriaComparisonColumn;\r\n","import axios from 'axios';\r\nimport { assign, createMachine } from 'xstate';\r\n\r\ntype ComparisonEventType =\r\n\t| {\r\n\t\t\ttype: 'FETCH';\r\n\t\t\tquery: string;\r\n\t }\r\n\t| { type: 'RESET'; apiUrl: string; model: any };\r\n\r\ntype ComparisonContext = {\r\n\tapiUrl: string;\r\n\tmodel: any;\r\n\terror: any;\r\n};\r\n\r\nconst getCriteriaColumnData = async (apiUrl: string, querystring: any) => {\r\n\tconst { data } = await axios.get(`${apiUrl}?${querystring}`, {\r\n\t\theaders: {\r\n\t\t\t'X-Content-Language':\r\n\t\t\t\twindow?.__model?.languages?.culture || window.__culture,\r\n\t\t\t'Content-Language':\r\n\t\t\t\twindow?.__model?.languages?.culture || window.__culture,\r\n\t\t\t'Accept-Language':\r\n\t\t\t\twindow?.__model?.languages?.culture || window.__culture,\r\n\t\t},\r\n\t});\r\n\r\n\treturn { data, querystring };\r\n};\r\n\r\nexport const criteriaComparisonMachine = createMachine<\r\n\tComparisonContext,\r\n\tComparisonEventType\r\n>(\r\n\t{\r\n\t\tid: 'criteriaComparisonMachine',\r\n\t\tinitial: 'idle',\r\n\t\tcontext: {\r\n\t\t\tapiUrl: '',\r\n\t\t\tmodel: {},\r\n\t\t\terror: undefined,\r\n\t\t},\r\n\t\tstates: {\r\n\t\t\tidle: {},\r\n\t\t\tloading: {\r\n\t\t\t\tinvoke: {\r\n\t\t\t\t\tid: 'getData',\r\n\t\t\t\t\tsrc: (_context, event: any) => {\r\n\t\t\t\t\t\treturn getCriteriaColumnData(_context.apiUrl, event.query);\r\n\t\t\t\t\t},\r\n\t\t\t\t\tonDone: {\r\n\t\t\t\t\t\ttarget: 'success',\r\n\t\t\t\t\t\tactions: assign({\r\n\t\t\t\t\t\t\tmodel: (_context, event) => event.data.data,\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t},\r\n\t\t\t\t\tonError: {\r\n\t\t\t\t\t\ttarget: 'failure',\r\n\t\t\t\t\t\tactions: assign({\r\n\t\t\t\t\t\t\terror: (_context, event) => {\r\n\t\t\t\t\t\t\t\treturn `Error ${event.data.response.status} - ${event.data.response.statusText}`;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\tsuccess: {},\r\n\t\t\tfailure: {},\r\n\t\t\treseting: {\r\n\t\t\t\tentry: ['resetContext'],\r\n\t\t\t\talways: [{ target: 'idle' }],\r\n\t\t\t},\r\n\t\t},\r\n\t\ton: {\r\n\t\t\tFETCH: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttarget: 'loading',\r\n\t\t\t\t\tactions: [],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tRESET: 'reseting',\r\n\t\t},\r\n\t},\r\n\t{\r\n\t\tactions: {\r\n\t\t\tresetContext: assign({\r\n\t\t\t\tapiUrl: (context, event: any) => event.apiUrl || context.apiUrl,\r\n\t\t\t\tmodel: (context, event: any) => event.model || context.model,\r\n\t\t\t}),\r\n\t\t},\r\n\t}\r\n);\r\n","/**\r\n * CriteriaServiceComparisonPage\r\n */\r\n\r\nimport CriteriaComparisonColumn from 'components/CriteriaComparisonColumn';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport Text from 'components/Text';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { useHistory, useLocation } from 'react-router';\r\nimport queryString from 'query-string';\r\nimport {\r\n\tComparisonSelectModel,\r\n\tComparisonSelectOptionModel,\r\n\tCriteriaServiceComparisonPageModel,\r\n} from 'types';\r\nimport { Cell, Grid } from 'ui-component-library/base';\r\nimport { useMachine } from '@xstate/react';\r\nimport { criteriaComparisonMachine } from 'state-machines/criteriaComparison.machine';\r\n\r\n/** Main description for this component. */\r\nconst CriteriaServiceComparisonPage: React.FC =\r\n\t({\r\n\t\theading,\r\n\t\tpreamble,\r\n\t\tapiUrl,\r\n\t\turl,\r\n\t\tcolumns,\r\n\t\taddToDownloadsText,\r\n\t\tdownloadAddedText,\r\n\t\tcontentArea,\r\n\t}) => {\r\n\t\tconst location = useLocation();\r\n\t\tconst history = useHistory();\r\n\t\tconst urlQuery = queryString.parse(location.search);\r\n\t\tconst [columnQueries, setColumnQueries] = useState({\r\n\t\t\tcolumn1: '',\r\n\t\t\tcolumn2: '',\r\n\t\t\tcolumn3: '',\r\n\t\t});\r\n\r\n\t\tconst [state1, send1] = useMachine(criteriaComparisonMachine, {\r\n\t\t\tcontext: {\r\n\t\t\t\tapiUrl: apiUrl,\r\n\t\t\t\tmodel: columns[0],\r\n\t\t\t},\r\n\t\t});\r\n\t\tconst [state2, send2] = useMachine(criteriaComparisonMachine, {\r\n\t\t\tcontext: {\r\n\t\t\t\tapiUrl: apiUrl,\r\n\t\t\t\tmodel: columns[1],\r\n\t\t\t},\r\n\t\t});\r\n\t\tconst [state3, send3] = useMachine(criteriaComparisonMachine, {\r\n\t\t\tcontext: {\r\n\t\t\t\tapiUrl: apiUrl,\r\n\t\t\t\tmodel: columns[2],\r\n\t\t\t},\r\n\t\t});\r\n\r\n\t\tconst handleChange = (\r\n\t\t\tcolumnIndex: number,\r\n\t\t\tselects: ComparisonSelectModel[]\r\n\t\t) => {\r\n\t\t\tlet query: string[] = [];\r\n\t\t\tselects.forEach((select: ComparisonSelectModel) => {\r\n\t\t\t\tselect.options?.forEach((option: ComparisonSelectOptionModel) => {\r\n\t\t\t\t\tif (option.selected) {\r\n\t\t\t\t\t\tquery.push(option.value);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t\tquery.join(',');\r\n\r\n\t\t\tlet queryFull: string[] = [];\r\n\t\t\tif (query) {\r\n\t\t\t\tObject.keys(columnQueries as any).forEach((key) => {\r\n\t\t\t\t\tif (key === `column${columnIndex}`) {\r\n\t\t\t\t\t\tqueryFull = queryFull.concat([`${key}=${query}`]);\r\n\t\t\t\t\t} else if ((columnQueries as any)[key]) {\r\n\t\t\t\t\t\tqueryFull = queryFull.concat([\r\n\t\t\t\t\t\t\t`${key}=${(columnQueries as any)[key]}`,\r\n\t\t\t\t\t\t]);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\thistory.replace(`${url}?${queryFull.join('&')}`);\r\n\t\t\t}\r\n\t\t\tsetColumnQueries({\r\n\t\t\t\t...columnQueries,\r\n\t\t\t\t[`column${columnIndex}`]: `${query}`,\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tuseEffect(() => {\r\n\t\t\tsetColumnQueries({ ...columnQueries, ...urlQuery });\r\n\t\t\t// eslint-disable-next-line\r\n\t\t}, []);\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\nexport default CriteriaServiceComparisonPage;\r\n","/**\r\n * QuestionPortalDialogPage\r\n */\r\n\r\nimport React, { useEffect } from 'react';\r\nimport {\r\n\tGrid,\r\n\tCell,\r\n\tArticleHeader,\r\n\tArticleHeaderCategory,\r\n\tAlert,\r\n} from 'ui-component-library/base';\r\nimport { DialogBlockModel, QuestionPortalDialogPageModel } from 'types';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Text from 'components/Text';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport { DialogBlock, EpiForms } from 'ui-component-library/uhmse';\r\nimport RichText from 'components/RichText';\r\nimport { useSelector } from 'react-redux';\r\nimport { selectContent, selectMetaData } from 'store/modules/model';\r\nimport Link from 'components/Link';\r\nimport { ArticleHeaderCategoryList } from 'ui-component-library/base/ArticleHeader';\r\n\r\n/** QuestionPortalDialogPage component. */\r\nconst QuestionPortalDialogPage: React.FC = ({\r\n\theading,\r\n\tarticleHeader,\r\n\tapiUrl,\r\n\ttext,\r\n\ttopic,\r\n\tuser,\r\n\tlistingModel,\r\n\tcommentForm,\r\n\tcommentsLocked,\r\n\tcontentArea,\r\n\tarchived,\r\n}) => {\r\n\tconst pageContent = useSelector(selectContent);\r\n\tconst metaData = useSelector(selectMetaData);\r\n\tconst handleSubmit = () => {\r\n\t\tif (window && window.dataLayer && window.dataLayer.push) {\r\n\t\t\twindow.dataLayer.push({\r\n\t\t\t\tevent: 'CommentSubmit',\r\n\t\t\t\tquestionTitle: heading,\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tconst userComment = 1;\r\n\t\tlet commentCount = listingModel.comments.length + userComment;\r\n\r\n\t\tlet isOrganizationReply =\r\n\t\t\tlistingModel.comments.find((x) => x.isOrganizationReply)\r\n\t\t\t\t?.isOrganizationReply || false;\r\n\r\n\t\tif (window && window.dataLayer && window.dataLayer.push) {\r\n\t\t\twindow.dataLayer.push({\r\n\t\t\t\tevent: 'Pageview',\r\n\t\t\t\tpagePath: window.location.pathname || pageContent?.url,\r\n\t\t\t\tpageTitle: metaData?.title,\r\n\t\t\t\tpageType: pageContent?.modelType,\r\n\t\t\t\tcommentCount: commentCount,\r\n\t\t\t\torganisationAnswer: isOrganizationReply,\r\n\t\t\t\tquestionCategory: topic,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t// Add meta tag to prevent search engine indexing\r\n\r\n\t\tif (archived && window) {\r\n\t\t\tconst metaTag = document.createElement('meta');\r\n\t\t\tmetaTag.setAttribute('name', 'robots');\r\n\t\t\tmetaTag.setAttribute('content', 'noindex');\r\n\t\t\tdocument.head.appendChild(metaTag);\r\n\t\t}\r\n\r\n\t\t// Reset GTM scroll-tracker\r\n\t\tif (window.__ScrollTracker) {\r\n\t\t\twindow.__ScrollTracker.reset();\r\n\t\t}\r\n\t\t// eslint-disable-next-line\r\n\t}, [pageContent]);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{articleHeader && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{articleHeader.categories && articleHeader.categories.length > 0 && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{articleHeader.categories.map((category, index) => {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{listingModel.comments.map(\r\n\t\t\t\t\t\t(item: DialogBlockModel, index: number) => {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{commentForm && !commentsLocked && (\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{commentsLocked && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tTråden är låst för vidare kommentar.\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
    \r\n\t\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default QuestionPortalDialogPage;\r\n","/**\r\n * QuestionPortalCategoryPage\r\n */\r\n\r\nimport React, { useEffect, useRef, useState } from 'react';\r\nimport { useMachine } from '@xstate/react';\r\nimport {\r\n\tGrid,\r\n\tCell,\r\n\tButton,\r\n\tIcon,\r\n\tSearchField,\r\n} from 'ui-component-library/base';\r\nimport {\r\n\tDialogCategoryItemModel,\r\n\tQuestionPortalCategoryPageModel,\r\n} from 'types';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Text from 'components/Text';\r\nimport { showMorePaginationMachine } from 'state-machines/showMorePagination.machine';\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport Link from 'components/Link';\r\nimport { DialogList, DialogListItem } from 'ui-component-library/uhmse';\r\n\r\n/** QuestionPortalCategoryPage component. */\r\nconst QuestionPortalCategoryPage: React.FC = ({\r\n\tshowMoreButtonText,\r\n\tnumberOfHitsPerPage,\r\n\tapiUrl,\r\n\tlistingModel,\r\n\tintroBlock,\r\n\tcontentArea,\r\n}) => {\r\n\tconst location = useLocation();\r\n\tconst history = useHistory();\r\n\r\n\tconst [state, send] = useMachine(showMorePaginationMachine);\r\n\tconst [click, setClick] = useState(0);\r\n\tconst searchfieldWrapperRef = useRef(null);\r\n\tconst searchfieldInputRef = useRef(null);\r\n\r\n\tif (state.context.result) {\r\n\t\tlistingModel = state.context.result;\r\n\t}\r\n\r\n\tconst fetch = listingModel.offset + listingModel.fetch + numberOfHitsPerPage;\r\n\tconst hasMore = listingModel.offset + listingModel.fetch < listingModel.total;\r\n\r\n\tuseEffect(() => {\r\n\t\tif (click > 0) {\r\n\t\t\tsend('FETCH', {\r\n\t\t\t\toffset: 0,\r\n\t\t\t\tfetch: fetch,\r\n\t\t\t\tapiUrl,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t// eslint-disable-next-line\r\n\t}, [click]);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{introBlock?.heading && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{introBlock.heading}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{introBlock?.preamble && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{introBlock.preamble}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{introBlock?.hasSearch && (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tsearchfieldInputRef?.current?.blur();\r\n\t\t\t\t\t\t\t\thistory.push(\r\n\t\t\t\t\t\t\t\t\t`${introBlock.searchPageUrl}?query=${encodeURIComponent(\r\n\t\t\t\t\t\t\t\t\t\te.searchfieldCategoryPage\r\n\t\t\t\t\t\t\t\t\t)}`\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{listingModel.items.map(\r\n\t\t\t\t\t\t\t(item: DialogCategoryItemModel, index: number) => {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{hasMore && (\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tsetClick(click + 1);\r\n\t\t\t\t\t\t\t\t\thistory.push(`${location.pathname}?fetch=${fetch}`);\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{showMoreButtonText}\r\n\t\t\t\t\t\t\t\t{state.value === 'loading' && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{state.value !== 'loading' && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)}\r\n\t\t\t\t
    \r\n\t\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default QuestionPortalCategoryPage;\r\n","/**\r\n * QuestionPortalStartPage\r\n */\r\n\r\nimport React, { useRef } from 'react';\r\nimport queryString from 'query-string';\r\nimport {\r\n\tGrid,\r\n\tCell,\r\n\tIntroBlock,\r\n\tSearchField,\r\n\tIntroBlockArrow,\r\n\tIcon,\r\n} from 'ui-component-library/base';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Text from 'components/Text';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport {\r\n\tSearchFieldDropdown,\r\n\tSearchFieldDropdownItem,\r\n} from 'ui-component-library/base/SearchField';\r\nimport { SearchListItemTypes, QuestionPortalStartPageModel } from 'types';\r\nimport { useMachine } from '@xstate/react';\r\nimport { searchMachine } from 'state-machines/search.machine';\r\nimport { useSelector } from 'react-redux';\r\nimport { selectSearch } from 'store/modules/model';\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport { searchFieldMachine } from 'state-machines/searchField.machine';\r\nimport Link from 'components/Link';\r\nimport { useOutsideClick } from 'ui-component-library/hooks';\r\nimport { useIsTabletOrLarger } from 'hooks/useMediaQuery';\r\n\r\n/** QuestionPortalStartPage component. */\r\nconst QuestionPortalStartPage: React.FC = ({\r\n\theading,\r\n\tpreamble,\r\n\tintroBlock,\r\n\tnavigationList,\r\n\tcontentArea,\r\n}) => {\r\n\tconst isTabletOrLarger = useIsTabletOrLarger();\r\n\tconst location = useLocation();\r\n\tconst history = useHistory();\r\n\tconst searchSettings = useSelector(selectSearch);\r\n\tconst { query } = queryString.parse(location.search);\r\n\tconst searchfieldWrapperRef = useRef(null);\r\n\tconst searchfieldInputRef = useRef(null);\r\n\tconst [stateSearch, sendSearch] = useMachine(searchMachine, {\r\n\t\tcontext: {\r\n\t\t\tapiUrl: introBlock?.apiUrl || searchSettings?.apiUrl,\r\n\t\t\tsize: isTabletOrLarger ? 5 : searchSettings?.numberOfHitsPerPage || 5,\r\n\t\t\tdebounce: 500,\r\n\t\t},\r\n\t});\r\n\tconst [stateField, sendField] = useMachine(searchFieldMachine);\r\n\r\n\tuseOutsideClick(searchfieldWrapperRef, () => {\r\n\t\tif (searchSettings) {\r\n\t\t\tsendField('CLOSE');\r\n\t\t}\r\n\t});\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{introBlock && (\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{introBlock?.heading && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{introBlock.icon && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{introBlock?.preamble && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{introBlock?.preamble}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{introBlock?.hasSearch && (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\tstateField.value === 'active' &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsendSearch('SEARCH', {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: e.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\tonSubmit={(e: any) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tsendField('CLOSE');\r\n\t\t\t\t\t\t\t\t\t\t\t\tsearchfieldInputRef?.current?.blur();\r\n\t\t\t\t\t\t\t\t\t\t\t\thistory.push(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t`${\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tintroBlock.searchPageUrl\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}?query=${encodeURIComponent(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.searchfieldIntroBlock\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}`\r\n\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\tonFocus={() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsendField('OPEN');\r\n\t\t\t\t\t\t\t\t\t\t\t\t}, 200);\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t{stateField.value === 'active' &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tstateSearch.context.result &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tstateSearch.context.query !== '' && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{stateSearch.context.result.results &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstateSearch.context.result.results.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(item: SearchListItemTypes) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.heading}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{stateSearch.context.result.numberOfHits >\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstateSearch.context.result.size && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsendField('CLOSE');\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{searchSettings?.showMoreResultsText}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{stateSearch.context.result.numberOfHits === 0 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

    Inga träffar hittades

    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t)}\r\n\t\t\t{!introBlock && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t)}\r\n\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
    \r\n\t);\r\n};\r\nexport default QuestionPortalStartPage;\r\n","/**\r\n * PublicationPage\r\n */\r\n\r\nimport React from 'react';\r\nimport {\r\n\tGrid,\r\n\tCell,\r\n\tArticleHeader,\r\n\tArticleHeaderCategory,\r\n} from 'ui-component-library/base';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Text from 'components/Text';\r\nimport { PublicationPageModel } from 'types';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport { Publication, PublicationDetail } from 'ui-component-library/uhmse';\r\nimport { ArticleHeaderCategoryList } from 'ui-component-library/base/ArticleHeader';\r\n\r\n/** Main description for this component. */\r\nconst PublicationPage: React.FC = ({\r\n\theading,\r\n\tpreamble,\r\n\tcontentArea,\r\n\tarticleHeader,\r\n\tpublicationDetails,\r\n\tdownloadText,\r\n\tpublicationUrl,\r\n\timage,\r\n\talt,\r\n}) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{articleHeader && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{articleHeader.categories && articleHeader.categories.length > 0 && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{articleHeader.categories.map((category, index) => {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{image && alt && downloadText && publicationUrl && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{publicationDetails &&\r\n\t\t\t\t\t\t\t\tpublicationDetails.map((detail, index) => {\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default PublicationPage;\r\n","/**\r\n * PublicationsListingPage\r\n */\r\n\r\nimport React, { useEffect, useState } from 'react';\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport { useMachine } from '@xstate/react';\r\n\r\nimport {\r\n\tPublicationGroupModel,\r\n\tPublicationModel,\r\n\tPublicationsListingPageModel,\r\n} from 'types';\r\nimport { showMorePaginationMachine } from 'state-machines/showMorePagination.machine';\r\n\r\nimport { Grid, Cell, Button, Icon } from 'ui-component-library/base';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\n\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Text from 'components/Text';\r\nimport {\r\n\tPublicationGroup,\r\n\tPublicationList,\r\n\tPublicationListItem,\r\n\tPublicationListItemCategory,\r\n} from 'ui-component-library/uhmse';\r\nimport Link from 'components/Link';\r\n\r\n/** Main description for this component. */\r\nconst PublicationsListingPage: React.FC = ({\r\n\theading,\r\n\tpreamble,\r\n\tshowMoreButtonText,\r\n\tnumberOfHitsPerPage,\r\n\tdownloadText,\r\n\tapiUrl,\r\n\tlistingModel,\r\n\tcontentArea,\r\n}) => {\r\n\tconst location = useLocation();\r\n\tconst history = useHistory();\r\n\r\n\tconst [state, send] = useMachine(showMorePaginationMachine);\r\n\tconst [click, setClick] = useState(0);\r\n\r\n\tif (state.context.result) {\r\n\t\tlistingModel = state.context.result;\r\n\t}\r\n\r\n\tconst fetch = listingModel.offset + listingModel.fetch + numberOfHitsPerPage;\r\n\tconst hasMore = listingModel.offset + listingModel.fetch < listingModel.total;\r\n\tconst sortOrder = listingModel.sortOrder;\r\n\r\n\tuseEffect(() => {\r\n\t\tif (click > 0) {\r\n\t\t\tsend('FETCH', {\r\n\t\t\t\toffset: 0,\r\n\t\t\t\tfetch: fetch,\r\n\t\t\t\tapiUrl,\r\n\t\t\t\tsortOrder,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t// eslint-disable-next-line\r\n\t}, [click]);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{listingModel.groups.map(\r\n\t\t\t\t\t\t(event: PublicationGroupModel, index: number) => {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{event.items.map(\r\n\t\t\t\t\t\t\t\t\t\t(publication: PublicationModel, index: number) => {\r\n\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{publication.categories &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpublication.categories.map((category, i) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{hasMore && (\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tsetClick(click + 1);\r\n\t\t\t\t\t\t\t\t\thistory.push(`${location.pathname}?fetch=${fetch}`);\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{showMoreButtonText}\r\n\t\t\t\t\t\t\t\t{state.value === 'loading' && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{state.value !== 'loading' && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)}\r\n\t\t\t\t
    \r\n\t\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default PublicationsListingPage;\r\n","/**\r\n * CalendarEventPage\r\n */\r\n\r\nimport React from 'react';\r\nimport {\r\n\tGrid,\r\n\tCell,\r\n\tToc,\r\n\tTocLink,\r\n\tArticleHeader,\r\n\tArticleHeaderCategory,\r\n\tImageHeader,\r\n\tCalendarEventDetailList,\r\n\tCalendarEventDetailListItem,\r\n} from 'ui-component-library/base';\r\nimport { CalendarEventPageModel } from 'types';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Text from 'components/Text';\r\nimport EpiFragments from 'components/EpiFragments';\r\nimport clsx from 'clsx';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport Link from 'components/Link';\r\nimport { useIsDesktop } from 'hooks/useMediaQuery';\r\nimport { ArticleHeaderCategoryList } from 'ui-component-library/base/ArticleHeader';\r\n\r\n/** CalendarEventPage component. */\r\nconst CalendarEventPage: React.FC = ({\r\n\theading,\r\n\tpreamble,\r\n\ttext,\r\n\ttableOfContents,\r\n\tarticleHeader,\r\n\timageHeader,\r\n\tcalendarEventDetails,\r\n\tcontentArea,\r\n}) => {\r\n\tconst isDesktop = useIsDesktop();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{imageHeader && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{articleHeader && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{articleHeader.categories && articleHeader.categories.length > 0 && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{articleHeader.categories.map((category, index) => {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{calendarEventDetails && calendarEventDetails.length > 0 && (\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{calendarEventDetails.map((item, index) => {\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{item.type === 'link' && item.url ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\titem.text\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)}\r\n\t\t\t\t
    \r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{isDesktop && tableOfContents && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{tableOfContents.titles.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{!isDesktop && tableOfContents && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{tableOfContents.titles.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default CalendarEventPage;\r\n","/**\r\n * AttachmentPage\r\n */\r\n\r\nimport React from 'react';\r\nimport {\r\n\tGrid,\r\n\tCell,\r\n\tToc,\r\n\tTocLink,\r\n\tArticleHeader,\r\n\tArticleHeaderCategory,\r\n\tImageHeader,\r\n} from 'ui-component-library/base';\r\nimport { AttachmentPageModel } from 'types';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Text from 'components/Text';\r\nimport EpiFragments from 'components/EpiFragments';\r\nimport clsx from 'clsx';\r\nimport Link from 'components/Link';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport { useIsDesktop } from 'hooks/useMediaQuery';\r\nimport { ArticleHeaderCategoryList } from 'ui-component-library/base/ArticleHeader';\r\n\r\n/** AttachmentPage component. */\r\nconst AttachmentPage: React.FC = ({\r\n\theading,\r\n\ttext,\r\n\ttableOfContents,\r\n\tarticleHeader,\r\n\timageHeader,\r\n\tcontentArea,\r\n}) => {\r\n\tconst isDesktop = useIsDesktop();\r\n\treturn (\r\n\t\t\r\n\t\t\t{imageHeader && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{articleHeader && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{articleHeader.categories && articleHeader.categories.length > 0 && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{articleHeader.categories.map((category, index) => {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{isDesktop && tableOfContents && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{tableOfContents.titles.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t{!isDesktop && tableOfContents && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{tableOfContents.titles.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default AttachmentPage;\r\n","/**\r\n * RiskAnalysisPage\r\n */\r\n\r\nimport React from 'react';\r\nimport { Grid, Cell, Toc, TocLink } from 'ui-component-library/base';\r\nimport { RiskAnalysisPageModel } from 'types';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Text from 'components/Text';\r\nimport clsx from 'clsx';\r\nimport EpiFragments from 'components/EpiFragments';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport { useIsDesktop } from 'hooks/useMediaQuery';\r\n\r\n/** Main description for this component. */\r\nconst RiskAnalysisPage: React.FC = ({\r\n\theading,\r\n\tpreamble,\r\n\ttableOfContents,\r\n\ttext,\r\n\tcontentArea,\r\n}) => {\r\n\tconst isDesktop = useIsDesktop();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{isDesktop && tableOfContents && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{tableOfContents.titles.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{!isDesktop && tableOfContents && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{tableOfContents.titles.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\r\n\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default RiskAnalysisPage;\r\n","/**\r\n * RiskAnalysisServicePage\r\n */\r\n\r\nimport React, { useRef } from 'react';\r\nimport {\r\n\tGrid,\r\n\tCell,\r\n\tToc,\r\n\tTocLink,\r\n\tIntroBlock,\r\n\tIcon,\r\n\tSearchField,\r\n\tIntroBlockArrow,\r\n} from 'ui-component-library/base';\r\nimport { RiskAnalysisServicePageModel, SearchListItemTypes } from 'types';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Text from 'components/Text';\r\nimport clsx from 'clsx';\r\nimport { CategoryList, CategoryListItem } from 'ui-component-library/uhmse';\r\nimport EpiFragments from 'components/EpiFragments';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport { useIsDesktop, useIsTabletOrLarger } from 'hooks/useMediaQuery';\r\nimport {\r\n\tSearchFieldDropdown,\r\n\tSearchFieldDropdownItem,\r\n} from 'ui-component-library/base/SearchField';\r\nimport Link from 'components/Link';\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport { selectSearch } from 'store/modules/model';\r\nimport queryString from 'query-string';\r\nimport { useMachine } from '@xstate/react';\r\nimport { searchMachine } from 'state-machines/search.machine';\r\nimport { searchFieldMachine } from 'state-machines/searchField.machine';\r\nimport { useOutsideClick } from 'ui-component-library/hooks';\r\n\r\n/** RiskAnalysisServicePage component. */\r\nconst RiskAnalysisServicePage: React.FC = ({\r\n\tintroBlock,\r\n\theading,\r\n\tpreamble,\r\n\ttableOfContents,\r\n\tcategorySection,\r\n\ttext,\r\n\tcontentArea,\r\n}) => {\r\n\tconst isDesktop = useIsDesktop();\r\n\tconst isTabletOrLarger = useIsTabletOrLarger();\r\n\tconst location = useLocation();\r\n\tconst history = useHistory();\r\n\tconst searchSettings = useSelector(selectSearch);\r\n\tconst { query } = queryString.parse(location.search);\r\n\tconst searchfieldWrapperRef = useRef(null);\r\n\tconst searchfieldInputRef = useRef(null);\r\n\tconst [stateSearch, sendSearch] = useMachine(searchMachine, {\r\n\t\tcontext: {\r\n\t\t\tapiUrl: introBlock?.apiUrl || searchSettings?.apiUrl,\r\n\t\t\tsize: isTabletOrLarger ? 5 : searchSettings?.numberOfHitsPerPage || 5,\r\n\t\t\tdebounce: 500,\r\n\t\t},\r\n\t});\r\n\tconst [stateField, sendField] = useMachine(searchFieldMachine);\r\n\r\n\tuseOutsideClick(searchfieldWrapperRef, () => {\r\n\t\tif (searchSettings) {\r\n\t\t\tsendField('CLOSE');\r\n\t\t}\r\n\t});\r\n\r\n\tconst renderCategoryList = (category: any) => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{category.items &&\r\n\t\t\t\t\tcategory.items.length > 0 &&\r\n\t\t\t\t\tcategory.items.map((item: any, index: number) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{introBlock && (\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{introBlock?.heading && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{introBlock.icon && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{introBlock?.preamble && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{introBlock?.preamble}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{introBlock?.hasSearch && (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\tstateField.value === 'active' &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsendSearch('SEARCH', {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: e.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\tonSubmit={(e: any) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tsendField('CLOSE');\r\n\t\t\t\t\t\t\t\t\t\t\t\tsearchfieldInputRef?.current?.blur();\r\n\t\t\t\t\t\t\t\t\t\t\t\thistory.push(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t`${\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tintroBlock.searchPageUrl\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}?query=${encodeURIComponent(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.searchfieldIntroBlock\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}`\r\n\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\tonFocus={() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsendField('OPEN');\r\n\t\t\t\t\t\t\t\t\t\t\t\t}, 200);\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t{stateField.value === 'active' &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tstateSearch.context.result &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tstateSearch.context.query !== '' && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{stateSearch.context.result.results &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstateSearch.context.result.results.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(item: SearchListItemTypes) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.heading}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{stateSearch.context.result.numberOfHits >\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstateSearch.context.result.size && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsendField('CLOSE');\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{searchSettings?.showMoreResultsText}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{stateSearch.context.result.numberOfHits === 0 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

    Inga träffar hittades

    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t)}\r\n\t\t\t{!introBlock && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\t{isDesktop && tableOfContents && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{tableOfContents.titles.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t{!introBlock && (\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{!isDesktop && tableOfContents && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{tableOfContents.titles.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t{categorySection &&\r\n\t\t\t\t\t\tcategorySection.categories &&\r\n\t\t\t\t\t\tcategorySection.categories.length > 0 && (\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{categorySection.categories.map(\r\n\t\t\t\t\t\t\t\t\t\t\t(category: any, index: number) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{index <\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMath.ceil(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcategorySection.categories.length / 2\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) && renderCategoryList(category)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{categorySection.categories.length !== 1 && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{categorySection.categories.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t(category: any, index: number) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{index >=\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMath.ceil(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcategorySection.categories.length / 2\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) && renderCategoryList(category)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\r\n\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default RiskAnalysisServicePage;\r\n","/**\r\n * CriteriaServiceRequirementPage\r\n */\r\n\r\nimport React from 'react';\r\n\r\nimport { Grid, Cell, Toc, TocLink } from 'ui-component-library/base';\r\nimport { CriteriaServiceRequirementPageModel } from 'types';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Text from 'components/Text';\r\nimport clsx from 'clsx';\r\nimport EpiFragments from 'components/EpiFragments';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport { selectLanguageSelector } from 'store/modules/model';\r\nimport { useSelector } from 'react-redux';\r\nimport Link from 'components/Link';\r\nimport { useIsMobile } from 'hooks/useMediaQuery';\r\n\r\n/** Main description for this component. */\r\nconst CriteriaServiceRequirementPage: React.FC =\r\n\t({ heading, preamble, tableOfContents, text, contentArea }) => {\r\n\t\tconst languages = useSelector(selectLanguageSelector);\r\n\t\tconst isMobile = useIsMobile();\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{languages &&\r\n\t\t\t\t\t\t\tlanguages.languages &&\r\n\t\t\t\t\t\t\tlanguages.languages.length > 0 && (\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t{languages.languages.map((item, index) => {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{!isMobile && tableOfContents && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{tableOfContents.titles.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{isMobile && tableOfContents && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{tableOfContents.titles.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
    \r\n\t\t);\r\n\t};\r\n\r\nexport default CriteriaServiceRequirementPage;\r\n","/**\r\n * MultiSelectFilter\r\n */\r\n\r\nimport React, { useState, useEffect } from 'react';\r\nimport { useFirstRender } from 'ui-component-library/hooks';\r\nimport { AggregationsModel } from 'types';\r\nimport FilterChip from 'ui-component-library/base/FilterChip';\r\nimport {\r\n\tMultiselectDropdown,\r\n\tMultiselectOption,\r\n} from 'ui-component-library/base/MultiselectDropdown';\r\n\r\ninterface Props {\r\n\t/** The filters for the component*/\r\n\tfilters: AggregationsModel[];\r\n\r\n\t/** Callback for on filter change */\r\n\tonChange?: any;\r\n\r\n\t/** Clear text for filters */\r\n\tclearText?: string;\r\n\r\n\t/** Text for expand button in dropdown */\r\n\texpandText?: string;\r\n}\r\n\r\nconst createFilterQuery = (filters: AggregationsModel[]) => {\r\n\tlet query: string[] = [];\r\n\r\n\tfilters.forEach((filter) => {\r\n\t\tconst selectedInBucket: string[] = [];\r\n\t\tfilter.buckets.forEach((bucket) => {\r\n\t\t\tif (bucket.selected) {\r\n\t\t\t\tselectedInBucket.push(bucket.term);\r\n\t\t\t}\r\n\t\t});\r\n\t\tif (selectedInBucket.length > 0) {\r\n\t\t\tquery.push(`${filter.path}=${selectedInBucket.join(',')}`);\r\n\t\t}\r\n\t});\r\n\r\n\treturn query.join('&');\r\n};\r\n\r\ntype SelectedFilterType = {\r\n\tbucketId: string;\r\n\tbucketName: string;\r\n\tselectedBuckets: number;\r\n};\r\n\r\nconst getSelectedFilters = (\r\n\tfilters: AggregationsModel[]\r\n): SelectedFilterType[] => {\r\n\tlet selectedFilters: SelectedFilterType[] = [];\r\n\r\n\tfilters.forEach((filter) => {\r\n\t\tfilter.buckets.forEach((bucket, index) => {\r\n\t\t\tif (bucket.selected) {\r\n\t\t\t\tselectedFilters.push({\r\n\t\t\t\t\tbucketId: `${filter.path}-${index}`,\r\n\t\t\t\t\tbucketName: bucket.term,\r\n\t\t\t\t\tselectedBuckets: filter.selectedBuckets,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\r\n\treturn selectedFilters;\r\n};\r\n\r\n/** Filter component. */\r\nconst MultiSelectFilter: React.FC = ({\r\n\tfilters: defaultFilters,\r\n\tonChange,\r\n\tclearText,\r\n\texpandText,\r\n}) => {\r\n\tconst [filters, setFilters] = useState(defaultFilters);\r\n\tconst isFirstRender = useFirstRender();\r\n\r\n\tconst filterOnChange = (\r\n\t\te?: React.FormEvent,\r\n\t\tuncheckFilter?: string\r\n\t) => {\r\n\t\tconst newFilterObj: AggregationsModel[] = JSON.parse(\r\n\t\t\tJSON.stringify(filters)\r\n\t\t);\r\n\r\n\t\tif (e) {\r\n\t\t\tconst { id, name, checked } = e.currentTarget;\r\n\t\t\tnewFilterObj.forEach((filter) =>\r\n\t\t\t\tfilter.buckets.forEach((bucket, index) => {\r\n\t\t\t\t\tif (filter.path === name && `${filter.path}-${index}` === id) {\r\n\t\t\t\t\t\tbucket.selected = checked;\r\n\t\t\t\t\t\tif (!checked) {\r\n\t\t\t\t\t\t\t--filter.selectedBuckets;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t++filter.selectedBuckets;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t} else if (uncheckFilter) {\r\n\t\t\tnewFilterObj.forEach((filter) =>\r\n\t\t\t\tfilter.buckets.forEach((bucket, index) => {\r\n\t\t\t\t\tif (`${filter.path}-${index}` === uncheckFilter) {\r\n\t\t\t\t\t\tbucket.selected = false;\r\n\t\t\t\t\t\t--filter.selectedBuckets;\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tsetFilters(newFilterObj);\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!isFirstRender) {\r\n\t\t\tonChange(filters, createFilterQuery(filters));\r\n\t\t}\r\n\t\t// eslint-disable-next-line\r\n\t}, [filters]);\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t{filters.map((filter, i) => (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{filter.buckets.map((bucket, index) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{bucket.term}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t))}\r\n\t\t\t
    \r\n\r\n\t\t\t
    \r\n\t\t\t\t{getSelectedFilters(filters).map((item, i) => (\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tfilterOnChange(undefined, item.bucketId);\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t\tclassName=\"mr-2 mb-2\"\r\n\t\t\t\t\t\tkey={i}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{clearText}\r\n\t\t\t\t\t\t{item.bucketName}\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default MultiSelectFilter;\r\n","import axios from 'axios';\r\nimport { getFilterSortQuery } from 'utils/helpers';\r\nimport { createMachine, assign } from 'xstate';\r\n\r\ntype FilterSortEventType = {\r\n\ttype: 'FETCH';\r\n\tfilterQuery: string;\r\n\tsortQuery: string;\r\n\tapiUrl: string;\r\n};\r\n\r\ntype FilterSortContext = {\r\n\tapiUrl: string;\r\n\tresult?: any;\r\n\terror: any;\r\n};\r\n\r\nconst resultData = async (\r\n\tapiUrl: string,\r\n\tfilterQuery?: string,\r\n\tsortQuery?: string\r\n) => {\r\n\tconst query = getFilterSortQuery(filterQuery, sortQuery);\r\n\r\n\tconst { data } = await axios.get(`${apiUrl}${query}`, {\r\n\t\theaders: { 'Content-Language': window.__culture },\r\n\t});\r\n\r\n\treturn data;\r\n};\r\n\r\nexport const filterSortMachine = createMachine<\r\n\tFilterSortContext,\r\n\tFilterSortEventType\r\n>({\r\n\tid: 'filterSortMachine',\r\n\tinitial: 'idle',\r\n\tcontext: {\r\n\t\tapiUrl: '',\r\n\t\tresult: undefined,\r\n\t\terror: undefined,\r\n\t},\r\n\tstates: {\r\n\t\tidle: {},\r\n\t\tloading: {\r\n\t\t\tinvoke: {\r\n\t\t\t\tid: 'getData',\r\n\t\t\t\tsrc: (_context, event) =>\r\n\t\t\t\t\tresultData(event.apiUrl, event.filterQuery, event.sortQuery),\r\n\t\t\t\tonDone: {\r\n\t\t\t\t\ttarget: 'success',\r\n\t\t\t\t\tactions: assign({\r\n\t\t\t\t\t\tresult: (_context, event) => event.data,\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t\tonError: {\r\n\t\t\t\t\ttarget: 'failure',\r\n\t\t\t\t\tactions: assign({\r\n\t\t\t\t\t\terror: (_context, event) => {\r\n\t\t\t\t\t\t\treturn `Error ${event.data.response.status} - ${event.data.response.statusText}`;\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t\tsuccess: {},\r\n\t\tfailure: {},\r\n\t},\r\n\ton: {\r\n\t\tFETCH: [\r\n\t\t\t{\r\n\t\t\t\ttarget: 'loading',\r\n\t\t\t\tactions: [],\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n});\r\n","/**\r\n * DataTableProductGroupSortButton\r\n */\r\n\r\nimport React from 'react';\r\nimport { Icon } from 'ui-component-library/base';\r\n\r\ninterface Props {\r\n\tproperty: string;\r\n\r\n\tdirection?: string;\r\n\r\n\torderByText: string;\r\n\t/** Callback for on sort change */\r\n\tonChange: any;\r\n}\r\n\r\nconst DataTableProductGroupSortButton: React.FC = ({\r\n\tproperty,\r\n\tdirection,\r\n\tonChange,\r\n\torderByText,\r\n\tchildren,\r\n}) => {\r\n\tconst getNextDirection = () => {\r\n\t\tswitch (direction) {\r\n\t\t\tcase 'ASC':\r\n\t\t\t\treturn 'DESC';\r\n\t\t\tcase 'DESC':\r\n\t\t\t\treturn '';\r\n\t\t\tdefault:\r\n\t\t\t\treturn 'ASC';\r\n\t\t}\r\n\t};\r\n\treturn (\r\n\t\t onChange(property, getNextDirection())}\r\n\t\t>\r\n\t\t\t{children}\r\n\t\t\t{orderByText}\r\n\t\t\t{direction === 'ASC' ? (\r\n\t\t\t\t\r\n\t\t\t) : direction === 'DESC' ? (\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default DataTableProductGroupSortButton;\r\n","/**\r\n * DataTableProductGroup\r\n */\r\n\r\nimport clsx from 'clsx';\r\nimport React from 'react';\r\nimport { DataTablePropertyModel } from 'types';\r\nimport DataTableProductGroupSortButton from './DataTableProductGroupSortButton';\r\n\r\ninterface Props {\r\n\t/** Pass optional classnames for the html */\r\n\tclassName?: string;\r\n\r\n\t/** Table caption */\r\n\tcaption?: string;\r\n\r\n\t/** Data tabel headers */\r\n\tproperties?: DataTablePropertyModel[];\r\n\r\n\tonSortChange?: any;\r\n}\r\n/** Main description for this component. */\r\nconst DataTableProductGroup: React.FC = ({\r\n\tclassName,\r\n\tcaption = 'DataTableProductGroup',\r\n\tproperties,\r\n\tonSortChange,\r\n\tchildren,\r\n}) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{properties && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{properties.map((header, index) => {\r\n\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\theader.property === 'addToCartButton' ||\r\n\t\t\t\t\t\t\t\t\theader.property === 'description'\r\n\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{header.heading}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{children}\r\n\t\t\t
    {caption}
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{header.heading}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default DataTableProductGroup;\r\n","/**\r\n * DataTableProductGroupRow\r\n */\r\n\r\nimport clsx from 'clsx';\r\nimport React, { useState } from 'react';\r\nimport { Icon } from 'ui-component-library/base';\r\nimport { Transition } from 'react-transition-group';\r\nimport { TransitionState } from 'ui-component-library/base/types';\r\nimport { useUuid } from 'ui-component-library/hooks';\r\nimport { DataTablePropertyModel, DataTableProductGroupRowModel } from 'types';\r\nimport Link from 'components/Link';\r\nimport CriteriaCartAddButton from 'components/CriteriaCartAddButton';\r\n\r\ninterface Props {\r\n\t/** Pass an array with all table rows */\r\n\trow: DataTableProductGroupRowModel;\r\n\r\n\t/** Pass array with headers */\r\n\theaders: DataTablePropertyModel[];\r\n\r\n\t/** Optional content */\r\n\r\n\tpageContent?: any;\r\n}\r\n\r\n/** Naviagation list with links. */\r\nconst DataTableProductGroupRow: React.FC = ({\r\n\trow,\r\n\theaders,\r\n\tpageContent,\r\n}) => {\r\n\tconst [expanded, setExpanded] = useState(false);\r\n\tconst [getUuid] = useUuid();\r\n\tconst id = getUuid();\r\n\r\n\tconst getHeaderLength = () => {\r\n\t\tlet headerLength = 0;\r\n\r\n\t\treturn (headerLength += headers.length);\r\n\t};\r\n\tconst renderCellData = (property: string) => {\r\n\t\tswitch (property) {\r\n\t\t\tcase 'requirementName':\r\n\t\t\t\treturn {(row as any)[property]};\r\n\t\t\tcase 'addToCartButton':\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\tcase 'description':\r\n\t\t\t\tif (row.description) {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tsetExpanded(!expanded);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t);\r\n\t\t\t\t} else break;\r\n\t\t\tdefault:\r\n\t\t\t\treturn (row as any)[property];\r\n\t\t}\r\n\t};\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t{headers.map((header, index) => {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{renderCellData(header.property)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t);\r\n\t\t\t\t})}\r\n\t\t\t\r\n\t\t\t{row.description && (\r\n\t\t\t\t\r\n\t\t\t\t\t{(state: TransitionState) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default DataTableProductGroupRow;\r\n","/**\r\n * ProductSubGroupPageV2\r\n */\r\n\r\nimport React, { useEffect, useState, useRef } from 'react';\r\nimport { useMachine } from '@xstate/react';\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport {\r\n\tGrid,\r\n\tCell,\r\n\tLinkList,\r\n\tLinkListItem,\r\n\tIcon,\r\n\tButton,\r\n\tAlert,\r\n} from 'ui-component-library/base';\r\nimport Link from 'components/Link';\r\nimport { AggregationsModel, ProductSubGroupPageV2Model } from 'types';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Text from 'components/Text';\r\nimport clsx from 'clsx';\r\nimport EpiFragments from 'components/EpiFragments';\r\nimport MultiSelectFilter from 'components/MultiSelectFilter';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport { selectContent, selectLanguageSelector } from 'store/modules/model';\r\nimport { filterSortMachine } from 'state-machines/filterSort.machine';\r\nimport { getFilterSortQuery } from 'utils/helpers';\r\nimport { DataTableProductGroup } from 'components/DataTableProductGroup';\r\nimport DataTableProductGroupRow from 'components/DataTableProductGroup/DataTableProductGroupRow';\r\n\r\n/** ProductSubGroupPageV2 component. */\r\nconst ProductSubGroupPageV2: React.FC = ({\r\n\theading,\r\n\tpreamble,\r\n\tshowMorePreamble,\r\n\tshowLessPreamble,\r\n\tlinkList,\r\n\trequirements: defaultRequirements,\r\n\ttableCaptionText,\r\n\ttext,\r\n\tcontentArea,\r\n\tapiUrl,\r\n\tclearFilterText,\r\n\texpandFilterText,\r\n\tfilterHeading,\r\n\tcompareButton,\r\n}) => {\r\n\tconst location = useLocation();\r\n\tconst history = useHistory();\r\n\tconst [requirements, setRequirements] = useState(defaultRequirements);\r\n\tconst [state, send] = useMachine(filterSortMachine);\r\n\tconst ariaLiveRef = useRef(null);\r\n\tconst [preambleExpanded, setPreambleExpanded] = useState(false);\r\n\tconst languages = useSelector(selectLanguageSelector);\r\n\tconst pageContent = useSelector(selectContent);\r\n\tconst [queries, setQueries] = useState({ filterQuery: '', sortQuery: '' });\r\n\r\n\tuseEffect(() => {\r\n\t\tsetRequirements(defaultRequirements);\r\n\t}, [defaultRequirements]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (state.context.result) {\r\n\t\t\tsetRequirements(state.context.result);\r\n\t\t}\r\n\t}, [state.context.result]);\r\n\r\n\tconst onFilterChange = (filters: AggregationsModel, filterQuery: string) => {\r\n\t\tsetQueries({ ...queries, filterQuery: filterQuery });\r\n\t\tsend('FETCH', {\r\n\t\t\tapiUrl: apiUrl,\r\n\t\t\tfilterQuery,\r\n\t\t\tsortQuery: queries.sortQuery,\r\n\t\t});\r\n\r\n\t\tlet query = getFilterSortQuery(filterQuery, queries.sortQuery);\r\n\t\thistory.push(`${location.pathname}${query}`);\r\n\t};\r\n\r\n\tconst onSortChange = (property: string, direction: string) => {\r\n\t\tlet sortQuery = '';\r\n\t\tif (direction) {\r\n\t\t\tsortQuery = `${property}_${direction}`;\r\n\t\t}\r\n\r\n\t\tsetQueries({ ...queries, sortQuery: sortQuery });\r\n\t\tsend('FETCH', {\r\n\t\t\tapiUrl: apiUrl,\r\n\t\t\tfilterQuery: queries.filterQuery,\r\n\t\t\tsortQuery,\r\n\t\t});\r\n\t\tlet query = getFilterSortQuery(queries.filterQuery, sortQuery);\r\n\t\thistory.push(`${location.pathname}${query}`);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{languages &&\r\n\t\t\t\t\t\t\tlanguages.languages &&\r\n\t\t\t\t\t\t\tlanguages.languages.length > 0 && (\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t{languages.languages.map((item, index) => {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{showMorePreamble && showLessPreamble && (\r\n\t\t\t\t\t\t\t setPreambleExpanded(!preambleExpanded)}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{preambleExpanded ? (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{showLessPreamble}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{showMorePreamble}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t{requirements?.aggregations && requirements?.aggregations.length > 0 && (\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{filterHeading && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{filterHeading}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{state.value === 'failure' && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{state.context.error}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)}\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{linkList &&\r\n\t\t\t\t\t\t\tlinkList.length > 0 &&\r\n\t\t\t\t\t\t\tlinkList.map((list, index) => {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{list.items &&\r\n\t\t\t\t\t\t\t\t\t\t\tlist.items.length > 0 &&\r\n\t\t\t\t\t\t\t\t\t\t\tlist.items.map((item, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t{compareButton && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t{requirements?.properties &&\r\n\t\t\t\t\t\trequirements.properties.length > 0 &&\r\n\t\t\t\t\t\trequirements?.items &&\r\n\t\t\t\t\t\trequirements?.items.length > 0 && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{requirements?.items?.map((row, index) => {\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default ProductSubGroupPageV2;\r\n","/**\r\n * DataTableRow\r\n */\r\n\r\nimport clsx from 'clsx';\r\nimport React, { useState } from 'react';\r\nimport { Icon } from 'ui-component-library/base';\r\nimport { Transition } from 'react-transition-group';\r\nimport { TransitionState } from 'ui-component-library/base/types';\r\nimport { useUuid } from 'ui-component-library/hooks';\r\nimport { Link as LinkBase } from 'ui-component-library/base';\r\nimport { DataTablePropertyModel, DataTableRowModel } from 'types';\r\n\r\ninterface Props {\r\n\t/** Pass an array with all table rows */\r\n\trow: DataTableRowModel;\r\n\r\n\t/** Pass array with headers */\r\n\theaders: DataTablePropertyModel[];\r\n\r\n\t/** Possible to expand a table row for more information? */\r\n\texpandable?: boolean;\r\n\r\n\t/** Possible to select a row by checking a ckeckbox? */\r\n\tselectable?: boolean;\r\n\r\n\t/** Is the row is checked? */\r\n\tchecked?: boolean;\r\n\r\n\t/** Callback function to handle single check */\r\n\thandleCheck?: Function;\r\n\r\n\t/** An optional component to be used as link. */\r\n\tLinkComponent?: any;\r\n}\r\n\r\n/** Naviagation list with links. */\r\nconst DataTableRow: React.FC = ({\r\n\trow,\r\n\theaders,\r\n\texpandable,\r\n\tselectable,\r\n\tchecked,\r\n\thandleCheck,\r\n\tLinkComponent = LinkBase,\r\n}) => {\r\n\tconst [expanded, setExpanded] = useState(false);\r\n\tconst [getUuid] = useUuid();\r\n\tconst id = getUuid();\r\n\tconst Link = LinkComponent;\r\n\r\n\tconst getHeaderLength = () => {\r\n\t\tlet headerLength = 0;\r\n\r\n\t\tif (selectable) {\r\n\t\t\theaderLength += 1;\r\n\t\t}\r\n\t\tif (expandable) {\r\n\t\t\theaderLength += 1;\r\n\t\t}\r\n\r\n\t\treturn (headerLength += headers.length);\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t{selectable && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\thandleCheck && handleCheck(row.documentId);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{headers.map((header, index) => {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{header.property === 'requirementName' ? (\r\n\t\t\t\t\t\t\t\t\t{(row as any)[header.property]}\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t(row as any)[header.property]\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t);\r\n\t\t\t\t})}\r\n\t\t\t\t{expandable && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{row.description && (\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tsetExpanded(!expanded);\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\t{expandable && (\r\n\t\t\t\t\r\n\t\t\t\t\t{(state: TransitionState) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default DataTableRow;\r\n","/**\r\n * DataTable\r\n */\r\n\r\nimport clsx from 'clsx';\r\nimport React, { useState } from 'react';\r\nimport { Transition } from 'react-transition-group';\r\nimport {\r\n\tDataTablePropertyModel,\r\n\tDataTableRowModel,\r\n\tSelectedRequirementsModel,\r\n} from 'types';\r\nimport { Icon, Label, Select, Form } from 'ui-component-library/base';\r\nimport { Button } from 'ui-component-library/base/Form';\r\nimport { TransitionState } from 'ui-component-library/base/types';\r\nimport DataTableRow from './DataTableRow';\r\nimport DataTableSortButton from './DataTableSortButton';\r\n\r\ninterface Props {\r\n\t/** Pass optional classnames for the html */\r\n\tclassName?: string;\r\n\r\n\t/** Array with filters */\r\n\tfilters?: any;\r\n\r\n\tquery?: string;\r\n\r\n\toffset?: number;\r\n\r\n\tfetch?: number;\r\n\r\n\tnumberOfHits?: number;\r\n\r\n\titems?: DataTableRowModel[];\r\n\r\n\t/** Possible to select a row by checking a ckeckbox? */\r\n\tselectable?: boolean;\r\n\r\n\t/** Pass a render function */\r\n\tRenderFunction?: Function;\r\n\r\n\t/** Heading to the export section */\r\n\texportHeading?: string;\r\n\r\n\tcheckedBoxes?: any;\r\n\r\n\tsetCheckedBoxes?: any;\r\n\r\n\t/** An optional component to be used as link. */\r\n\tLinkComponent?: any;\r\n\r\n\t/** Table caption */\r\n\tcaption?: string;\r\n\r\n\t/** Data tabel headers */\r\n\tproperties?: DataTablePropertyModel[];\r\n\r\n\tonSortChange?: any;\r\n}\r\n\r\ntype RowIds = { [key: string]: boolean };\r\n\r\n/** Main description for this component. */\r\nconst DataTable: React.FC = ({\r\n\tclassName,\r\n\tfilters,\r\n\tquery,\r\n\toffset,\r\n\tfetch,\r\n\tnumberOfHits,\r\n\tcaption = 'Datatable',\r\n\tproperties,\r\n\tonSortChange,\r\n\titems,\r\n\tselectable = false,\r\n\tRenderFunction,\r\n\texportHeading,\r\n\tcheckedBoxes,\r\n\tsetCheckedBoxes,\r\n\tLinkComponent,\r\n\tchildren,\r\n}) => {\r\n\t/** Logics for checkboxes */\r\n\tconst [expanded, setExpanded] = useState(false);\r\n\r\n\tconst isAllChecked = () => {\r\n\t\tif (Object.keys(checkedBoxes).length === 0) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tfor (let id in checkedBoxes) {\r\n\t\t\tif (!checkedBoxes[id].selected) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t};\r\n\r\n\tconst handleCheckSingle = (id: string) => {\r\n\t\tif (checkedBoxes[id]) {\r\n\t\t\tsetCheckedBoxes({\r\n\t\t\t\t[id]: {\r\n\t\t\t\t\t...checkedBoxes[id],\r\n\t\t\t\t\tselected: !checkedBoxes[id].selected,\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleCheckAll = () => {\r\n\t\tlet newCheckedBoxes: SelectedRequirementsModel = {};\r\n\r\n\t\tif (isAllChecked()) {\r\n\t\t\tfor (let id in checkedBoxes) {\r\n\t\t\t\tnewCheckedBoxes[id] = { ...checkedBoxes[id], selected: false };\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tfor (let id in checkedBoxes) {\r\n\t\t\t\tnewCheckedBoxes[id] = { ...checkedBoxes[id], selected: true };\r\n\t\t\t}\r\n\t\t}\r\n\t\tsetCheckedBoxes(newCheckedBoxes);\r\n\t};\r\n\r\n\tconst renderChildren = (children: any) => {\r\n\t\tconst renderedChildren = React.Children.map(children, (child, index) => {\r\n\t\t\tconst props: any = child && child.props ? { ...child.props } : {};\r\n\t\t\tprops.checkedBoxes = checkedBoxes;\r\n\r\n\t\t\treturn React.cloneElement(child, props);\r\n\t\t});\r\n\r\n\t\treturn renderedChildren;\r\n\t};\r\n\r\n\tconst expandable = true;\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t\r\n\t\t\t\t{filters && filters.length > 0 && (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t setExpanded(!expanded)}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tFiltrera\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{expanded ? 'Dölj' : 'Visa'}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{(state: TransitionState) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t{filters.map((filter: any) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{filter.type === 'select' && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{properties && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{selectable && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{properties.map((header, index) => {\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t{expandable && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{items && properties && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{items.map((row, index) => {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
    {caption}
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{header.heading}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tExpandera rad för mer information\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t{exportHeading && (\r\n\t\t\t\t\t

    \r\n\t\t\t\t\t\t{exportHeading}\r\n\t\t\t\t\t

    \r\n\t\t\t\t)}\r\n\t\t\t\t{children && (\r\n\t\t\t\t\t
    {renderChildren(children)}
    \r\n\t\t\t\t)}\r\n\t\t\t
    \r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default DataTable;\r\n","/**\r\n * DataTableExportButton\r\n */\r\n\r\nimport clsx from 'clsx';\r\nimport React from 'react';\r\nimport { Icon } from 'ui-component-library/base';\r\n\r\ninterface Props {\r\n\t/** Button text */\r\n\ttext?: string;\r\n\r\n\t/** Callback function */\r\n\tonClick: Function;\r\n\r\n\t/** Array with checked boxes */\r\n\tcheckedBoxes?: any;\r\n\r\n\tloading?: boolean;\r\n\r\n\tdisabled?: boolean;\r\n}\r\n\r\n/** Naviagation list with links. */\r\nconst DataTableExportButton: React.FC = ({\r\n\ttext,\r\n\tonClick,\r\n\tcheckedBoxes,\r\n\tloading = false,\r\n\tdisabled = false,\r\n}) => {\r\n\treturn (\r\n\t\t onClick()}\r\n\t\t\tdisabled={loading || disabled}\r\n\t\t>\r\n\t\t\t<>\r\n\t\t\t\t{text}{' '}\r\n\t\t\t\t{loading && }\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default DataTableExportButton;\r\n","import axios from 'axios';\r\nimport {\r\n\tDataTableModel,\r\n\tRequirementExportModel,\r\n\tRequirementModel,\r\n\tSelectedRequirementsModel,\r\n} from 'types';\r\n\r\ninterface ApiParameterModel {\r\n\tproductGroupId: number;\r\n\tproductSubGroups: number[];\r\n\tculture: string;\r\n\trequirements: RequirementModel[];\r\n}\r\n\r\nexport const generateReport = async (\r\n\tproductGroupId: number,\r\n\tselectedRequirements: SelectedRequirementsModel,\r\n\trequirementsList: DataTableModel,\r\n\tlanguage: string\r\n) => {\r\n\tconst url = `/api/upphandlingsmyndigheten/criteriaservice/generate/report/requirements`;\r\n\tlet productSubGroups: number[] = [];\r\n\tlet requirements: RequirementModel[] = [];\r\n\t\r\n\tfor (let id in selectedRequirements) {\r\n\t\tif (selectedRequirements[id].selected) {\r\n\t\t\trequirements.push(selectedRequirements[id]);\r\n\t\t}\r\n\t\t\r\n\t\tif (requirementsList.items) {\r\n\t\t\tfor (let i in requirementsList.items) {\r\n\t\t\t\tconst productSubGroupId = requirementsList.items[i].productSubGroupId;\r\n\t\t\t\tif (\r\n\t\t\t\t\trequirementsList.items[i].documentId === id &&\r\n\t\t\t\t\tproductSubGroupId &&\r\n\t\t\t\t\t!productSubGroups.includes(productSubGroupId)\r\n\t\t\t\t) {\r\n\t\t\t\t\tproductSubGroups.push(productSubGroupId);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tconst parameters: ApiParameterModel = {\r\n\t\tproductGroupId: productGroupId,\r\n\t\tproductSubGroups: productSubGroups,\r\n\t\tculture: language,\r\n\t\trequirements: requirements,\r\n\t};\r\n\r\n\tconst { data } = await axios.post(url, parameters);\r\n\r\n\treturn data;\r\n};\r\n","/**\r\n * ProductSubGroupPage\r\n */\r\n\r\nimport React, { useEffect, useState, useRef } from 'react';\r\nimport { useMachine } from '@xstate/react';\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport {\r\n\tGrid,\r\n\tCell,\r\n\tLinkList,\r\n\tLinkListItem,\r\n\tIcon,\r\n} from 'ui-component-library/base';\r\nimport {\r\n\tProductSubGroupPageModel,\r\n\tRequirementExportModel,\r\n\tSelectedRequirementsModel,\r\n\tAggregationsModel,\r\n} from 'types';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Text from 'components/Text';\r\nimport EpiFragments from 'components/EpiFragments';\r\nimport { DataTable, DataTableExportButton } from 'components/DataTable';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport MultiSelectFilter from 'components/MultiSelectFilter';\r\nimport {\r\n\tinitSelectedRequirements,\r\n\tselectProductGroups,\r\n\tupdateSelectedRequirements,\r\n} from 'store/modules/requirements';\r\nimport { generateReport } from 'api/requirementApi';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport { selectLanguageSelector } from 'store/modules/model';\r\nimport Link from 'components/Link';\r\nimport { filterSortMachine } from 'state-machines/filterSort.machine';\r\nimport { getFilterSortQuery } from 'utils/helpers';\r\nimport clsx from 'clsx';\r\n\r\n/** ProductSubGroupPage component. */\r\nconst ProductSubGroupPage: React.FC = ({\r\n\theading,\r\n\tpreamble,\r\n\tshowMorePreamble,\r\n\tshowLessPreamble,\r\n\trequirements: defaultRequirements,\r\n\ttableCaptionText,\r\n\tdownloadHeading,\r\n\tgenerateFileButtonText,\r\n\tgenerateFileProgressText,\r\n\tdownloadFileButtonText,\r\n\ttext,\r\n\tcontentArea,\r\n\tapiUrl,\r\n\tclearFilterText,\r\n\texpandFilterText,\r\n\tfilterHeading,\r\n\tlinkList,\r\n}) => {\r\n\tconst location = useLocation();\r\n\tconst history = useHistory();\r\n\tconst dispatch = useDispatch();\r\n\tconst [requirements, setRequirements] = useState(defaultRequirements);\r\n\tconst [state, send] = useMachine(filterSortMachine);\r\n\tconst ariaLiveRef = useRef(null);\r\n\tconst [exportLoading, setExportLoading] = useState(false);\r\n\tconst [exportResult, setExportResult] = useState({});\r\n\tconst languages = useSelector(selectLanguageSelector);\r\n\tconst selectedGroups = useSelector(selectProductGroups);\r\n\tconst [queries, setQueries] = useState({ filterQuery: '', sortQuery: '' });\r\n\tconst [preambleExpanded, setPreambleExpanded] = useState(false);\r\n\tconst productGroupId: number =\r\n\t\trequirements &&\r\n\t\trequirements.items &&\r\n\t\trequirements.items.length > 0 &&\r\n\t\trequirements.items[0].productGroupId !== undefined\r\n\t\t\t? requirements.items[0].productGroupId\r\n\t\t\t: 0;\r\n\tconst selectedRequirements: SelectedRequirementsModel =\r\n\t\tselectedGroups && selectedGroups[productGroupId]\r\n\t\t\t? selectedGroups[productGroupId].selectedRequirements\r\n\t\t\t: {};\r\n\r\n\tconst setSelectedRequirements = (\r\n\t\tselectedRequirement: SelectedRequirementsModel\r\n\t) => {\r\n\t\tsetExportResult({});\r\n\t\tdispatch(updateSelectedRequirements(productGroupId, selectedRequirement));\r\n\t};\r\n\r\n\tconst showExportButton = (\r\n\t\tselectedRequirement: SelectedRequirementsModel\r\n\t): boolean => {\r\n\t\tfor (let id in selectedRequirement) {\r\n\t\t\tif (selectedRequirement[id].selected) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t};\r\n\r\n\tconst requestExportFile = () => {\r\n\t\tsetExportLoading(true);\r\n\t\tsetExportResult({});\r\n\r\n\t\tif (requirements) {\r\n\t\t\tconst data = generateReport(\r\n\t\t\t\tproductGroupId,\r\n\t\t\t\tselectedRequirements,\r\n\t\t\t\trequirements,\r\n\t\t\t\tlanguages?.culture || 'sv-SE'\r\n\t\t\t);\r\n\r\n\t\t\tdata\r\n\t\t\t\t.then((response) => {\r\n\t\t\t\t\tsetExportResult(response);\r\n\t\t\t\t\tsetExportLoading(false);\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tsetExportResult({\r\n\t\t\t\t\t\tmessage: 'Ett fel uppstod, försök igen',\r\n\t\t\t\t\t});\r\n\t\t\t\t\tsetExportLoading(false);\r\n\t\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tsetRequirements(defaultRequirements);\r\n\t}, [defaultRequirements]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (state.context.result) {\r\n\t\t\tsetRequirements(state.context.result);\r\n\t\t}\r\n\t}, [state.context.result]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (requirements) {\r\n\t\t\tdispatch(\r\n\t\t\t\tinitSelectedRequirements(\r\n\t\t\t\t\tproductGroupId,\r\n\t\t\t\t\trequirements,\r\n\t\t\t\t\tselectedRequirements\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t\t}\r\n\t\t// eslint-disable-next-line\r\n\t}, [productGroupId, requirements]);\r\n\r\n\tconst onFilterChange = (filters: AggregationsModel, filterQuery: string) => {\r\n\t\tsetQueries({ ...queries, filterQuery: filterQuery });\r\n\t\tsend('FETCH', {\r\n\t\t\tapiUrl: apiUrl,\r\n\t\t\tfilterQuery,\r\n\t\t\tsortQuery: queries.sortQuery,\r\n\t\t});\r\n\r\n\t\tlet query = getFilterSortQuery(filterQuery, queries.sortQuery);\r\n\t\thistory.push(`${location.pathname}${query}`);\r\n\t};\r\n\r\n\tconst onSortChange = (property: string, direction: string) => {\r\n\t\tlet sortQuery = '';\r\n\t\tif (direction) {\r\n\t\t\tsortQuery = `${property}_${direction}`;\r\n\t\t}\r\n\r\n\t\tsetQueries({ ...queries, sortQuery: sortQuery });\r\n\t\tsend('FETCH', {\r\n\t\t\tapiUrl: apiUrl,\r\n\t\t\tfilterQuery: queries.filterQuery,\r\n\t\t\tsortQuery,\r\n\t\t});\r\n\t\tlet query = getFilterSortQuery(queries.filterQuery, sortQuery);\r\n\t\thistory.push(`${location.pathname}${query}`);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{languages &&\r\n\t\t\t\t\t\t\tlanguages.languages &&\r\n\t\t\t\t\t\t\tlanguages.languages.length > 0 && (\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t{languages.languages.map((item, index) => {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{showMorePreamble && showLessPreamble && (\r\n\t\t\t\t\t\t\t setPreambleExpanded(!preambleExpanded)}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{preambleExpanded ? (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{showLessPreamble}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{showMorePreamble}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t{requirements?.aggregations && requirements?.aggregations.length > 0 && (\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{filterHeading && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{filterHeading}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{state.value === 'error' &&

    Ett fel uppstod...

    }\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)}\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{linkList &&\r\n\t\t\t\t\t\t\tlinkList.length > 0 &&\r\n\t\t\t\t\t\t\tlinkList.map((list, index) => {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{list.items &&\r\n\t\t\t\t\t\t\t\t\t\t\tlist.items.length > 0 &&\r\n\t\t\t\t\t\t\t\t\t\t\tlist.items.map((item, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t requestExportFile()}\r\n\t\t\t\t\t\t\t\tdisabled={!showExportButton(selectedRequirements)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t{exportResult.reportUrl && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{downloadFileButtonText}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{exportResult.message && (\r\n\t\t\t\t\t\t\t\t{exportResult.message}\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default ProductSubGroupPage;\r\n","/**\r\n * CriteriaServicePage\r\n */\r\n\r\nimport React, { useEffect, useRef, useState } from 'react';\r\nimport {\r\n\tGrid,\r\n\tCell,\r\n\tIntroBlock,\r\n\tSearchField,\r\n\tIcon,\r\n\tIntroBlockArrow,\r\n\tToc,\r\n\tTocLink,\r\n\tAlert,\r\n} from 'ui-component-library/base';\r\nimport {\r\n\tCriteriaServicePageModel,\r\n\tAggregationsModel,\r\n\tSearchListItemTypes,\r\n} from 'types';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Text from 'components/Text';\r\nimport clsx from 'clsx';\r\nimport { CategoryList, CategoryListItem } from 'ui-component-library/uhmse';\r\nimport EpiFragments from 'components/EpiFragments';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport { useIsMobile, useIsTabletOrLarger } from 'hooks/useMediaQuery';\r\nimport { useHistory, useLocation } from 'react-router';\r\nimport { useSelector } from 'react-redux';\r\nimport { selectSearch } from 'store/modules/model';\r\nimport queryString from 'query-string';\r\nimport { useMachine } from '@xstate/react';\r\nimport { searchMachine } from 'state-machines/search.machine';\r\nimport { searchFieldMachine } from 'state-machines/searchField.machine';\r\nimport { useOutsideClick } from 'ui-component-library/hooks';\r\nimport {\r\n\tSearchFieldDropdown,\r\n\tSearchFieldDropdownItem,\r\n} from 'ui-component-library/base/SearchField';\r\nimport Link from 'components/Link';\r\nimport MultiSelectFilter from 'components/MultiSelectFilter';\r\nimport { filterSortMachine } from 'state-machines/filterSort.machine';\r\n\r\n/** CriteriaServicePage component. */\r\nconst CriteriaServicePage: React.FC = ({\r\n\theading,\r\n\tpreamble,\r\n\tintroBlock,\r\n\ttableOfContents,\r\n\tfilterHeading,\r\n\tclearFilterText,\r\n\texpandFilterText,\r\n\tapiUrl,\r\n\tcategorySection: defaultCategorySection,\r\n\ttext,\r\n\tcontentArea,\r\n}) => {\r\n\tconst isMobile = useIsMobile();\r\n\tconst isTabletOrLarger = useIsTabletOrLarger();\r\n\tconst [categorySection, setCategorySection] = useState(\r\n\t\tdefaultCategorySection\r\n\t);\r\n\tconst [state, send] = useMachine(filterSortMachine);\r\n\tconst location = useLocation();\r\n\tconst history = useHistory();\r\n\tconst searchSettings = useSelector(selectSearch);\r\n\tconst { query } = queryString.parse(location.search);\r\n\tconst searchfieldWrapperRef = useRef(null);\r\n\tconst searchfieldInputRef = useRef(null);\r\n\tconst [stateSearch, sendSearch] = useMachine(searchMachine, {\r\n\t\tcontext: {\r\n\t\t\tapiUrl: introBlock?.apiUrl || searchSettings?.apiUrl,\r\n\t\t\tsize: isTabletOrLarger ? 5 : searchSettings?.numberOfHitsPerPage || 5,\r\n\t\t\tdebounce: 500,\r\n\t\t},\r\n\t});\r\n\tconst [stateField, sendField] = useMachine(searchFieldMachine);\r\n\r\n\tuseOutsideClick(searchfieldWrapperRef, () => {\r\n\t\tif (searchSettings) {\r\n\t\t\tsendField('CLOSE');\r\n\t\t}\r\n\t});\r\n\r\n\tconst renderCategoryList = (category: any) => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{category?.items?.length > 0 ? (\r\n\t\t\t\t\tcategory.items.map((item: any, index: number) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))\r\n\t\t\t\t) : (\r\n\t\t\t\t\t
  • \r\n\t\t\t\t\t\t

    {categorySection?.noItemsText}

    \r\n\t\t\t\t\t
  • \r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst onFilterChange = (filters: AggregationsModel, query: string) => {\r\n\t\tsend('FETCH', {\r\n\t\t\tapiUrl: apiUrl,\r\n\t\t\tfilterQuery: query,\r\n\t\t});\r\n\r\n\t\thistory.push(`${location.pathname}?${query}`);\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tsetCategorySection(defaultCategorySection);\r\n\t}, [defaultCategorySection]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (state.context.result) {\r\n\t\t\tsetCategorySection(state.context.result);\r\n\t\t}\r\n\t}, [state.context.result]);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{introBlock && (\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{introBlock?.heading && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{introBlock.icon && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{introBlock?.preamble && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{introBlock?.preamble}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{introBlock?.hasSearch && (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\tstateField.value === 'active' &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsendSearch('SEARCH', {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: e.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\tonSubmit={(e: any) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tsendField('CLOSE');\r\n\t\t\t\t\t\t\t\t\t\t\t\tsearchfieldInputRef?.current?.blur();\r\n\t\t\t\t\t\t\t\t\t\t\t\thistory.push(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t`${\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tintroBlock.searchPageUrl\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}?query=${encodeURIComponent(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.searchfieldIntroBlock\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}`\r\n\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\tonFocus={() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsendField('OPEN');\r\n\t\t\t\t\t\t\t\t\t\t\t\t}, 200);\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t{stateField.value === 'active' &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tstateSearch.context.result &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tstateSearch.context.query !== '' && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{stateSearch.context.result.results &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstateSearch.context.result.results.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(item: SearchListItemTypes) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.heading}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{stateSearch.context.result.numberOfHits >\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstateSearch.context.result.size && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsendField('CLOSE');\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{searchSettings?.showMoreResultsText}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{stateSearch.context.result.numberOfHits === 0 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

    Inga träffar hittades

    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t)}\r\n\t\t\t{!introBlock && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\t{!isMobile && tableOfContents && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{tableOfContents.titles.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t{isMobile && tableOfContents && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{tableOfContents.titles.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{categorySection?.aggregations &&\r\n\t\t\t\t\t\tcategorySection?.aggregations.length > 0 && (\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{filterHeading && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{filterHeading}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t{state.value === 'failure' && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{state.context.error}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t{categorySection &&\r\n\t\t\t\t\t\tcategorySection.categories &&\r\n\t\t\t\t\t\tcategorySection.categories.length > 0 && (\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{state.value === 'loading' && (\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{categorySection.categories.map(\r\n\t\t\t\t\t\t\t\t\t\t\t(category: any, index: number) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{index <\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMath.ceil(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcategorySection.categories.length / 2\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) && renderCategoryList(category)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{categorySection.categories.length !== 1 && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{categorySection.categories.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t(category: any, index: number) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{index >=\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMath.ceil(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcategorySection.categories.length / 2\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) && renderCategoryList(category)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\r\n\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default CriteriaServicePage;\r\n","/**\r\n * ProductGroupPageV2\r\n */\r\n\r\nimport React, { useEffect, useState, useRef } from 'react';\r\nimport { useMachine } from '@xstate/react';\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport {\r\n\tGrid,\r\n\tCell,\r\n\tLinkList,\r\n\tLinkListItem,\r\n\tIcon,\r\n\tButton,\r\n\tAlert,\r\n} from 'ui-component-library/base';\r\nimport Link from 'components/Link';\r\nimport { AggregationsModel, ProductGroupPageV2Model } from 'types';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Text from 'components/Text';\r\nimport clsx from 'clsx';\r\nimport EpiFragments from 'components/EpiFragments';\r\nimport MultiSelectFilter from 'components/MultiSelectFilter';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport { selectContent, selectLanguageSelector } from 'store/modules/model';\r\nimport { filterSortMachine } from 'state-machines/filterSort.machine';\r\nimport { getFilterSortQuery } from 'utils/helpers';\r\nimport { DataTableProductGroup } from 'components/DataTableProductGroup';\r\nimport DataTableProductGroupRow from 'components/DataTableProductGroup/DataTableProductGroupRow';\r\n\r\n/** ProductGroupPageV2 component. */\r\nconst ProductGroupPageV2: React.FC = ({\r\n\theading,\r\n\tpreamble,\r\n\tshowMorePreamble,\r\n\tshowLessPreamble,\r\n\tlinkList,\r\n\trequirements: defaultRequirements,\r\n\ttableCaptionText,\r\n\ttext,\r\n\tcontentArea,\r\n\tapiUrl,\r\n\tclearFilterText,\r\n\texpandFilterText,\r\n\tfilterHeading,\r\n\tcompareButton,\r\n}) => {\r\n\tconst location = useLocation();\r\n\tconst history = useHistory();\r\n\tconst [requirements, setRequirements] = useState(defaultRequirements);\r\n\tconst [state, send] = useMachine(filterSortMachine);\r\n\tconst ariaLiveRef = useRef(null);\r\n\tconst [preambleExpanded, setPreambleExpanded] = useState(false);\r\n\tconst languages = useSelector(selectLanguageSelector);\r\n\tconst pageContent = useSelector(selectContent);\r\n\tconst [queries, setQueries] = useState({ filterQuery: '', sortQuery: '' });\r\n\r\n\tuseEffect(() => {\r\n\t\tsetRequirements(defaultRequirements);\r\n\t}, [defaultRequirements]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (state.context.result) {\r\n\t\t\tsetRequirements(state.context.result);\r\n\t\t}\r\n\t}, [state.context.result]);\r\n\r\n\tconst onFilterChange = (filters: AggregationsModel, filterQuery: string) => {\r\n\t\tsetQueries({ ...queries, filterQuery: filterQuery });\r\n\t\tsend('FETCH', {\r\n\t\t\tapiUrl: apiUrl,\r\n\t\t\tfilterQuery,\r\n\t\t\tsortQuery: queries.sortQuery,\r\n\t\t});\r\n\r\n\t\tlet query = getFilterSortQuery(filterQuery, queries.sortQuery);\r\n\t\thistory.push(`${location.pathname}${query}`);\r\n\t};\r\n\r\n\tconst onSortChange = (property: string, direction: string) => {\r\n\t\tlet sortQuery = '';\r\n\t\tif (direction) {\r\n\t\t\tsortQuery = `${property}_${direction}`;\r\n\t\t}\r\n\r\n\t\tsetQueries({ ...queries, sortQuery: sortQuery });\r\n\t\tsend('FETCH', {\r\n\t\t\tapiUrl: apiUrl,\r\n\t\t\tfilterQuery: queries.filterQuery,\r\n\t\t\tsortQuery,\r\n\t\t});\r\n\t\tlet query = getFilterSortQuery(queries.filterQuery, sortQuery);\r\n\t\thistory.push(`${location.pathname}${query}`);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{languages &&\r\n\t\t\t\t\t\t\tlanguages.languages &&\r\n\t\t\t\t\t\t\tlanguages.languages.length > 0 && (\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t{languages.languages.map((item, index) => {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{showMorePreamble && showLessPreamble && (\r\n\t\t\t\t\t\t\t setPreambleExpanded(!preambleExpanded)}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{preambleExpanded ? (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{showLessPreamble}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{showMorePreamble}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t{requirements?.aggregations && requirements?.aggregations.length > 0 && (\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{filterHeading && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{filterHeading}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{state.value === 'failure' && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{state.context.error}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)}\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{linkList &&\r\n\t\t\t\t\t\t\tlinkList.length > 0 &&\r\n\t\t\t\t\t\t\tlinkList.map((list, index) => {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{list.items &&\r\n\t\t\t\t\t\t\t\t\t\t\tlist.items.length > 0 &&\r\n\t\t\t\t\t\t\t\t\t\t\tlist.items.map((item, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t{compareButton && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{compareButton.text}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t{requirements?.properties &&\r\n\t\t\t\t\t\trequirements.properties.length > 0 &&\r\n\t\t\t\t\t\trequirements?.items &&\r\n\t\t\t\t\t\trequirements?.items.length > 0 && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{requirements?.items?.map((row, index) => {\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default ProductGroupPageV2;\r\n","/**\r\n * ProductGroupPage\r\n */\r\nimport React, { useEffect, useState, useRef } from 'react';\r\nimport { useMachine } from '@xstate/react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport {\r\n\tGrid,\r\n\tCell,\r\n\tLinkList,\r\n\tLinkListItem,\r\n\tIcon,\r\n} from 'ui-component-library/base';\r\nimport Link from 'components/Link';\r\nimport {\r\n\tProductGroupPageModel,\r\n\tRequirementExportModel,\r\n\tSelectedRequirementsModel,\r\n\tAggregationsModel,\r\n} from 'types';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Text from 'components/Text';\r\nimport clsx from 'clsx';\r\nimport EpiFragments from 'components/EpiFragments';\r\nimport { DataTable, DataTableExportButton } from 'components/DataTable';\r\nimport MultiSelectFilter from 'components/MultiSelectFilter';\r\nimport {\r\n\tinitSelectedRequirements,\r\n\tselectProductGroups,\r\n\tupdateSelectedRequirements,\r\n} from 'store/modules/requirements';\r\nimport { generateReport } from 'api/requirementApi';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport { selectLanguageSelector } from 'store/modules/model';\r\nimport { filterSortMachine } from 'state-machines/filterSort.machine';\r\nimport { getFilterSortQuery } from 'utils/helpers';\r\n\r\n/** ProductGroupPage component. */\r\nconst ProductGroupPage: React.FC = ({\r\n\theading,\r\n\tpreamble,\r\n\tshowMorePreamble,\r\n\tshowLessPreamble,\r\n\tlinkList,\r\n\trequirements: defaultRequirements,\r\n\ttableCaptionText,\r\n\tdownloadHeading,\r\n\tgenerateFileButtonText,\r\n\tgenerateFileProgressText,\r\n\tdownloadFileButtonText,\r\n\ttext,\r\n\tcontentArea,\r\n\tapiUrl,\r\n\tclearFilterText,\r\n\texpandFilterText,\r\n\tfilterHeading,\r\n}) => {\r\n\tconst location = useLocation();\r\n\tconst history = useHistory();\r\n\tconst dispatch = useDispatch();\r\n\tconst [requirements, setRequirements] = useState(defaultRequirements);\r\n\tconst [state, send] = useMachine(filterSortMachine);\r\n\tconst ariaLiveRef = useRef(null);\r\n\tconst [exportLoading, setExportLoading] = useState(false);\r\n\tconst [exportResult, setExportResult] = useState({});\r\n\tconst [preambleExpanded, setPreambleExpanded] = useState(false);\r\n\tconst selectedGroups = useSelector(selectProductGroups);\r\n\tconst languages = useSelector(selectLanguageSelector);\r\n\tconst [queries, setQueries] = useState({ filterQuery: '', sortQuery: '' });\r\n\tconst productGroupId: number =\r\n\t\trequirements &&\r\n\t\trequirements.items &&\r\n\t\trequirements.items.length > 0 &&\r\n\t\trequirements.items[0].productGroupId !== undefined\r\n\t\t\t? requirements.items[0].productGroupId\r\n\t\t\t: 0;\r\n\tconst selectedRequirements: SelectedRequirementsModel =\r\n\t\tselectedGroups && selectedGroups[productGroupId]\r\n\t\t\t? selectedGroups[productGroupId].selectedRequirements\r\n\t\t\t: {};\r\n\r\n\tconst setSelectedRequirements = (\r\n\t\tselectedRequirement: SelectedRequirementsModel\r\n\t) => {\r\n\t\tsetExportResult({});\r\n\t\tdispatch(updateSelectedRequirements(productGroupId, selectedRequirement));\r\n\t};\r\n\r\n\tconst showExportButton = (\r\n\t\tselectedRequirement: SelectedRequirementsModel\r\n\t): boolean => {\r\n\t\tfor (let id in selectedRequirement) {\r\n\t\t\tif (selectedRequirement[id].selected) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t};\r\n\r\n\tconst requestExportFile = () => {\r\n\t\tsetExportLoading(true);\r\n\t\tsetExportResult({});\r\n\r\n\t\tif (requirements) {\r\n\t\t\tconst data = generateReport(\r\n\t\t\t\tproductGroupId,\r\n\t\t\t\tselectedRequirements,\r\n\t\t\t\trequirements,\r\n\t\t\t\tlanguages?.culture || 'sv-SE'\r\n\t\t\t);\r\n\r\n\t\t\tdata\r\n\t\t\t\t.then((response) => {\r\n\t\t\t\t\tsetExportResult(response);\r\n\t\t\t\t\tsetExportLoading(false);\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tsetExportResult({\r\n\t\t\t\t\t\tmessage: 'Ett fel uppstod, försök igen',\r\n\t\t\t\t\t});\r\n\t\t\t\t\tsetExportLoading(false);\r\n\t\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tsetRequirements(defaultRequirements);\r\n\t}, [defaultRequirements]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (state.context.result) {\r\n\t\t\tsetRequirements(state.context.result);\r\n\t\t}\r\n\t}, [state.context.result]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (requirements) {\r\n\t\t\tdispatch(\r\n\t\t\t\tinitSelectedRequirements(\r\n\t\t\t\t\tproductGroupId,\r\n\t\t\t\t\trequirements,\r\n\t\t\t\t\tselectedRequirements\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t\t}\r\n\t\t// eslint-disable-next-line\r\n\t}, [productGroupId, requirements]);\r\n\r\n\tconst onFilterChange = (filters: AggregationsModel, filterQuery: string) => {\r\n\t\tsetQueries({ ...queries, filterQuery: filterQuery });\r\n\t\tsend('FETCH', {\r\n\t\t\tapiUrl: apiUrl,\r\n\t\t\tfilterQuery,\r\n\t\t\tsortQuery: queries.sortQuery,\r\n\t\t});\r\n\r\n\t\tlet query = getFilterSortQuery(filterQuery, queries.sortQuery);\r\n\t\thistory.push(`${location.pathname}${query}`);\r\n\t};\r\n\r\n\tconst onSortChange = (property: string, direction: string) => {\r\n\t\tlet sortQuery = '';\r\n\t\tif (direction) {\r\n\t\t\tsortQuery = `${property}_${direction}`;\r\n\t\t}\r\n\r\n\t\tsetQueries({ ...queries, sortQuery: sortQuery });\r\n\t\tsend('FETCH', {\r\n\t\t\tapiUrl: apiUrl,\r\n\t\t\tfilterQuery: queries.filterQuery,\r\n\t\t\tsortQuery,\r\n\t\t});\r\n\t\tlet query = getFilterSortQuery(queries.filterQuery, sortQuery);\r\n\t\thistory.push(`${location.pathname}${query}`);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{languages &&\r\n\t\t\t\t\t\t\tlanguages.languages &&\r\n\t\t\t\t\t\t\tlanguages.languages.length > 0 && (\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t{languages.languages.map((item, index) => {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{showMorePreamble && showLessPreamble && (\r\n\t\t\t\t\t\t\t setPreambleExpanded(!preambleExpanded)}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{preambleExpanded ? (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{showLessPreamble}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{showMorePreamble}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t{requirements?.aggregations && requirements?.aggregations.length > 0 && (\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{filterHeading && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{filterHeading}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{state.value === 'error' &&

    Ett fel uppstod...

    }\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)}\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{linkList &&\r\n\t\t\t\t\t\t\tlinkList.length > 0 &&\r\n\t\t\t\t\t\t\tlinkList.map((list, index) => {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{list.items &&\r\n\t\t\t\t\t\t\t\t\t\t\tlist.items.length > 0 &&\r\n\t\t\t\t\t\t\t\t\t\t\tlist.items.map((item, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t requestExportFile()}\r\n\t\t\t\t\t\t\t\tdisabled={!showExportButton(selectedRequirements)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t{exportResult.reportUrl && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{downloadFileButtonText}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{exportResult.message && (\r\n\t\t\t\t\t\t\t\t{exportResult.message}\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default ProductGroupPage;\r\n","/**\r\n * SectionPage\r\n */\r\n\r\nimport React from 'react';\r\n\r\nimport { SectionPageModel } from 'types';\r\n\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport { Grid, Cell, Text } from 'ui-component-library/base';\r\n\r\nimport EpiContentArea from 'components/EpiContentArea';\r\n\r\n/** Main description for this component. */\r\nconst SectionPage: React.FC = ({\r\n\theading,\r\n\tpreamble,\r\n\tcontentArea,\r\n}) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default SectionPage;\r\n","/**\r\n * NewsListingPage\r\n */\r\n\r\nimport React, { useEffect, useState } from 'react';\r\nimport { useMachine } from '@xstate/react';\r\nimport {\r\n\tGrid,\r\n\tCell,\r\n\tButton,\r\n\tIcon,\r\n\tNewsList,\r\n\tNewsListItem,\r\n} from 'ui-component-library/base';\r\nimport { NewsListingPageModel, NewsModel } from 'types';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Text from 'components/Text';\r\nimport { showMorePaginationMachine } from 'state-machines/showMorePagination.machine';\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport Link from 'components/Link';\r\n\r\n/** NewsListingPage component. */\r\nconst NewsListingPage: React.FC = ({\r\n\theading,\r\n\tpreamble,\r\n\tshowMoreButtonText,\r\n\tnumberOfHitsPerPage,\r\n\tapiUrl,\r\n\tlistingModel,\r\n\tcontentArea,\r\n}) => {\r\n\tconst location = useLocation();\r\n\tconst history = useHistory();\r\n\r\n\tconst [state, send] = useMachine(showMorePaginationMachine);\r\n\tconst [click, setClick] = useState(0);\r\n\r\n\tif (state.context.result) {\r\n\t\tlistingModel = state.context.result;\r\n\t}\r\n\r\n\tconst fetch = listingModel.offset + listingModel.fetch + numberOfHitsPerPage;\r\n\tconst hasMore = listingModel.offset + listingModel.fetch < listingModel.total;\r\n\tconst sortOrder = listingModel.sortOrder;\r\n\tconst categoryId = listingModel?.categoryId;\r\n\r\n\tuseEffect(() => {\r\n\t\tif (click > 0) {\r\n\t\t\tsend('FETCH', {\r\n\t\t\t\toffset: 0,\r\n\t\t\t\tfetch: fetch,\r\n\t\t\t\tapiUrl,\r\n\t\t\t\tsortOrder,\r\n\t\t\t\tcategoryId,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t// eslint-disable-next-line\r\n\t}, [click]);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{listingModel.items.map((event: NewsModel, index: number) => {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{hasMore && (\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tsetClick(click + 1);\r\n\t\t\t\t\t\t\t\t\thistory.push(\r\n\t\t\t\t\t\t\t\t\t\t`${location.pathname}?fetch=${fetch}&sortOrder=${sortOrder}`\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{showMoreButtonText}\r\n\t\t\t\t\t\t\t\t{state.value === 'loading' && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{state.value !== 'loading' && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)}\r\n\t\t\t\t
    \r\n\t\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default NewsListingPage;\r\n","/**\r\n * CalendarEventListingPage\r\n */\r\n\r\nimport React, { useEffect, useState } from 'react';\r\nimport { useMachine } from '@xstate/react';\r\nimport {\r\n\tGrid,\r\n\tCell,\r\n\tButton,\r\n\tIcon,\r\n\tCalendarEventList,\r\n\tCalendarEventListItem,\r\n\tFilterButton,\r\n\tFilterButtonGroup,\r\n} from 'ui-component-library/base';\r\nimport {\r\n\tCalendarEventListingPageModel,\r\n\tCalendarEventModel,\r\n\tFilterButtonGroupAggregationsBucketModel,\r\n} from 'types';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Text from 'components/Text';\r\nimport { showMorePaginationMachine } from 'state-machines/showMorePagination.machine';\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport Link from 'components/Link';\r\n\r\n/** CalendarEventListingPage component. */\r\nconst CalendarEventListingPage: React.FC = ({\r\n\theading,\r\n\tpreamble,\r\n\tshowMoreButtonText,\r\n\tnumberOfHitsPerPage,\r\n\tapiUrl,\r\n\tlistingModel,\r\n\tcontentArea,\r\n}) => {\r\n\tconst location = useLocation();\r\n\tconst history = useHistory();\r\n\r\n\tconst [state, send] = useMachine(showMorePaginationMachine);\r\n\tconst [click, setClick] = useState(0);\r\n\tconst [tabSelection, setTabSelection] = useState('');\r\n\tconst [fetch, setFetch] = useState(numberOfHitsPerPage);\r\n\r\n\tif (state.context.result) {\r\n\t\tlistingModel = state.context.result;\r\n\t}\r\n\r\n\tconst showMoreFetch =\r\n\t\tlistingModel.offset + listingModel.fetch + numberOfHitsPerPage;\r\n\tconst hasMore = listingModel.offset + listingModel.fetch < listingModel.total;\r\n\tconst sortOrder = listingModel.sortOrder;\r\n\tconst tabs = listingModel.aggregations.find(\r\n\t\t(x) => x.path === 'calendarEvent.state'\r\n\t);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (click > 0 || tabSelection.length > 0) {\r\n\t\t\tsend('FETCH', {\r\n\t\t\t\toffset: 0,\r\n\t\t\t\tfetch: fetch,\r\n\t\t\t\tsortOrder,\r\n\t\t\t\tapiUrl,\r\n\t\t\t\tfilter: tabSelection,\r\n\t\t\t});\r\n\t\t}\r\n\t\t// eslint-disable-next-line\r\n\t}, [click, tabSelection]);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{tabs && (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t{tabs.buckets.map(\r\n\t\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t\titem: FilterButtonGroupAggregationsBucketModel,\r\n\t\t\t\t\t\t\t\t\t\tindex: number\r\n\t\t\t\t\t\t\t\t\t) => {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetTabSelection(`${tabs.path}=${item.term}`);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetFetch(numberOfHitsPerPage);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\thistory.push(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t`${location.pathname}?fetch=${fetch}&${tabs.path}=${item.term}`\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{listingModel.calendarEvents.map(\r\n\t\t\t\t\t\t\t(event: CalendarEventModel, index: number) => {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{hasMore && (\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tsetClick(click + 1);\r\n\t\t\t\t\t\t\t\t\tsetFetch(showMoreFetch);\r\n\t\t\t\t\t\t\t\t\thistory.push(\r\n\t\t\t\t\t\t\t\t\t\t`${location.pathname}?fetch=${fetch}&sortOrder=${sortOrder}`\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{`${showMoreButtonText} `}\r\n\t\t\t\t\t\t\t\t{state.value === 'loading' && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{state.value !== 'loading' && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)}\r\n\t\t\t\t
    \r\n\t\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default CalendarEventListingPage;\r\n","/**\r\n * InspirationPage\r\n */\r\n\r\nimport React from 'react';\r\nimport {\r\n\tGrid,\r\n\tCell,\r\n\tToc,\r\n\tTocLink,\r\n\tArticleHeader,\r\n\tArticleHeaderCategory,\r\n\tImageHeader,\r\n} from 'ui-component-library/base';\r\nimport { InspirationPageModel } from 'types';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Text from 'components/Text';\r\nimport EpiFragments from 'components/EpiFragments';\r\nimport clsx from 'clsx';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport Link from 'components/Link';\r\nimport { useIsDesktop } from 'hooks/useMediaQuery';\r\nimport { ArticleHeaderCategoryList } from 'ui-component-library/base/ArticleHeader';\r\n\r\n/** InspirationPage component. */\r\nconst InspirationPage: React.FC = ({\r\n\theading,\r\n\tpreamble,\r\n\ttext,\r\n\ttableOfContents,\r\n\tarticleHeader,\r\n\timageHeader,\r\n\tcontentArea,\r\n}) => {\r\n\tconst isDesktop = useIsDesktop();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{imageHeader && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{articleHeader && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{articleHeader.categories && articleHeader.categories.length > 0 && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{articleHeader.categories.map((category, index) => {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{isDesktop && tableOfContents && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{tableOfContents.titles.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{!isDesktop && tableOfContents && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{tableOfContents.titles.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default InspirationPage;\r\n","/**\r\n * SearchPage\r\n */\r\n\r\nimport React, { useEffect, useState } from 'react';\r\nimport { useLocation, useHistory } from 'react-router-dom';\r\nimport queryString from 'query-string';\r\nimport { useSelector } from 'react-redux';\r\nimport { useMachine } from '@xstate/react';\r\nimport {\r\n\tSearchResultList,\r\n\tSearchResultListItem,\r\n} from 'ui-component-library/uhmse';\r\nimport {\r\n\tselectSearch,\r\n\tselectMetaData,\r\n\tselectContent,\r\n} from 'store/modules/model';\r\nimport { Grid, Cell, Button, Icon } from 'ui-component-library/base';\r\nimport {\r\n\tSearchListItemTypes,\r\n\tSearchPageModel,\r\n\tSearchResultItemModel,\r\n} from 'types';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Link from 'components/Link';\r\nimport Text from 'components/Text';\r\nimport { usePageQuery } from 'hooks';\r\nimport { searchMachine } from 'state-machines/search.machine';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\n\r\n/** SearchPage component. */\r\nconst SearchPage: React.FC = ({ heading, contentArea }) => {\r\n\tconst location = useLocation();\r\n\tconst pageContent = useSelector(selectContent);\r\n\tconst metaData = useSelector(selectMetaData);\r\n\tconst { query } = queryString.parse(location.search);\r\n\tconst page = usePageQuery();\r\n\tconst [currentPage, setCurrentPage] = useState(page);\r\n\tconst searchSettings = useSelector(selectSearch);\r\n\tconst history = useHistory();\r\n\tconst size = (searchSettings?.numberOfHitsPerPage || 10) * currentPage;\r\n\r\n\tconst [state, send] = useMachine(searchMachine, {\r\n\t\tcontext: {\r\n\t\t\tapiUrl: searchSettings?.apiUrl || '',\r\n\t\t\tsize,\r\n\t\t},\r\n\t});\r\n\r\n\tuseEffect(() => {\r\n\t\tsend('SEARCH', { value: query, size });\r\n\t\tif (pageContent) {\r\n\t\t\tif (window.dataLayer && window.dataLayer.push) {\r\n\t\t\t\twindow.dataLayer.push({\r\n\t\t\t\t\tevent: 'Pageview',\r\n\t\t\t\t\tpagePath: `${pageContent.url}${location.search}`,\r\n\t\t\t\t\tpageTitle: metaData?.title,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t\t// eslint-disable-next-line\r\n\t}, [query, size, send]);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetCurrentPage(page);\r\n\t}, [page]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (\r\n\t\t\tstate?.context?.result?.results &&\r\n\t\t\tstate.context.result.results.length === 0\r\n\t\t) {\r\n\t\t\tif (window.dataLayer && window.dataLayer.push) {\r\n\t\t\t\twindow.dataLayer.push({\r\n\t\t\t\t\tevent: 'ZeroHitSearch',\r\n\t\t\t\t\tsearchQuery: query,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t\t// eslint-disable-next-line\r\n\t}, [state]);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\t{state.value === 'loading' && !state.context.result && (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{state.context.result && state.context.result.results && (\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{state.context.result.numberOfHits} sökresultat för ‘\r\n\t\t\t\t\t\t\t\t{state.context.query}’.\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t{state.context.result && state.context.result.results && (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{state.context.result.results.map(\r\n\t\t\t\t\t\t\t\t\t(item: SearchListItemTypes) => {\r\n\t\t\t\t\t\t\t\t\t\tconst searchItem = item as SearchResultItemModel;\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t bc.text)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t.join(' / ')}\r\n\t\t\t\t\t\t\t\t\t\t\t\theading={searchItem.heading}\r\n\t\t\t\t\t\t\t\t\t\t\t\ttext={searchItem.excerpt}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{state.context.result.numberOfHits >\r\n\t\t\t\t\t\t\t\tstate.context.result.size && (\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\thistory.push(\r\n\t\t\t\t\t\t\t\t\t\t\t`${location.pathname}?query=${query}&page=${\r\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentPage + 1\r\n\t\t\t\t\t\t\t\t\t\t\t}`\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t{searchSettings?.showMoreResultsText}{' '}\r\n\t\t\t\t\t\t\t\t\t{state.value === 'loading' && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t{state.value !== 'loading' && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
    \r\n\t\t\t\r\n\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default SearchPage;\r\n","import React from 'react';\r\nimport {\r\n\tMultiselectDropdown,\r\n\tMultiselectOption,\r\n} from 'ui-component-library/base';\r\nimport { useUuid } from 'ui-component-library/hooks';\r\n\r\ninterface MultiselectFilterModel {\r\n\tname: string;\r\n\tpath: string;\r\n\tbuckets: Bucket[];\r\n\tsearchPlaceholder: string;\r\n\tonChange?: any;\r\n\tid: string;\r\n\tgroupName: string;\r\n}\r\n\r\ninterface Bucket {\r\n\tterm: string;\r\n\tselected?: boolean;\r\n}\r\n\r\n/** Main description for this component. */\r\nconst MultiselectFilter: React.FC = ({\r\n\tname,\r\n\tsearchPlaceholder,\r\n\tpath,\r\n\tbuckets,\r\n\tonChange,\r\n\tid,\r\n\tgroupName,\r\n}) => {\r\n\tconst onSelectChange = (bucket: Bucket) => {\r\n\t\tconst selectedOptions = buckets.filter(\r\n\t\t\t(item) => item.term !== bucket.term && item.selected\r\n\t\t);\r\n\t\tlet selectBuckets = [];\r\n\r\n\t\tif (bucket.selected) {\r\n\t\t\tselectBuckets = [...selectedOptions];\r\n\t\t} else {\r\n\t\t\tselectBuckets = [\r\n\t\t\t\t...selectedOptions,\r\n\t\t\t\tObject.assign({}, bucket, { selected: true }),\r\n\t\t\t];\r\n\t\t}\r\n\t\tconst aggregation = Object.assign(\r\n\t\t\t{},\r\n\t\t\t{\r\n\t\t\t\tname,\r\n\t\t\t\tpath,\r\n\t\t\t\tbuckets: selectBuckets,\r\n\t\t\t}\r\n\t\t);\r\n\t\tonChange(aggregation);\r\n\t};\r\n\tconst [getUuid] = useUuid();\r\n\tconst uid = getUuid();\r\n\r\n\treturn (\r\n\t\t bucket.selected).length}\r\n\t\t>\r\n\t\t\t{buckets.map((bucket, index) => (\r\n\t\t\t\t onSelectChange(bucket)}\r\n\t\t\t\t>\r\n\t\t\t\t\t{bucket.term}\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default MultiselectFilter;\r\n","import React from 'react';\r\nimport { RadioButtonBase } from 'ui-component-library/base';\r\n\r\ninterface RadioFilterModel {\r\n\tname: string;\r\n\tpath: string;\r\n\tbuckets: Bucket[];\r\n\ttype: string;\r\n\tonChange?: any;\r\n\tgroupName: string;\r\n}\r\n\r\ninterface Bucket {\r\n\tterm: string;\r\n\tselected?: boolean;\r\n}\r\n\r\n/** Main description for this component. */\r\nconst RadioFilter: React.FC = ({\r\n\tname,\r\n\ttype,\r\n\tpath,\r\n\tbuckets,\r\n\tonChange,\r\n\tgroupName,\r\n}) => {\r\n\tconst onTermChange = (bucket: Bucket) => {\r\n\t\tconst aggregation = Object.assign(\r\n\t\t\t{},\r\n\t\t\t{\r\n\t\t\t\tname,\r\n\t\t\t\ttype,\r\n\t\t\t\tpath,\r\n\t\t\t\tbuckets: [Object.assign({}, bucket, { selected: true })],\r\n\t\t\t}\r\n\t\t);\r\n\r\n\t\tonChange(aggregation);\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t
    \r\n\t\t\t\t{name}\r\n\t\t\t\t{buckets?.map((bucket) => {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t onTermChange(bucket)}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{bucket.term}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t);\r\n\t\t\t\t})}\r\n\t\t\t
    \r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default RadioFilter;\r\n","import React from 'react';\r\nimport {\r\n\tSingleSelectDropdown,\r\n\tSingleSelectOption,\r\n} from 'ui-component-library/base';\r\n\r\ninterface SingSelectFilterModel {\r\n\tname: string;\r\n\tpath: string;\r\n\tbuckets: Bucket[];\r\n\tonChange?: any;\r\n\tsearchPlaceholder: string;\r\n\tgroupName: string;\r\n}\r\n\r\ninterface Bucket {\r\n\tterm: string;\r\n\tselected?: boolean;\r\n}\r\n\r\n/** Main description for this component. */\r\nconst SingleSelectFilter: React.FC = ({\r\n\tname,\r\n\tpath,\r\n\tbuckets,\r\n\tonChange,\r\n\tsearchPlaceholder,\r\n\tgroupName,\r\n}) => {\r\n\tconst onTermChange = (bucket: Bucket) => {\r\n\t\tconst aggregation = Object.assign(\r\n\t\t\t{},\r\n\t\t\t{\r\n\t\t\t\tname,\r\n\t\t\t\tpath,\r\n\t\t\t\tbuckets: [Object.assign({}, bucket, { selected: true })],\r\n\t\t\t}\r\n\t\t);\r\n\r\n\t\tonChange(aggregation);\r\n\t};\r\n\r\n\tconst getLegend = () => {\r\n\t\tlet selectedBucket = buckets.find((bucket) => bucket.selected);\r\n\r\n\t\tif (selectedBucket) {\r\n\t\t\treturn selectedBucket.term;\r\n\t\t} else {\r\n\t\t\treturn name;\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{buckets.map((bucket, index) => (\r\n\t\t\t\t onTermChange(bucket)}\r\n\t\t\t\t>\r\n\t\t\t))}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default SingleSelectFilter;\r\n","import clsx from 'clsx';\r\nimport React from 'react';\r\nimport { SearchAggregationModel, SearchFilterGroupModel } from 'types';\r\nimport { FilterChip } from 'ui-component-library/base';\r\nimport { Filterings } from 'ui-component-library/uhmse';\r\nimport MultiselectFilter from './MultiselectFilter';\r\nimport RadioFilter from './RadioFilter';\r\nimport SingleSelectFilter from './SingleSelectFilter';\r\n\r\ninterface Props {\r\n\tfilterGroups: SearchFilterGroupModel[];\r\n\tclearFilterText: string;\r\n\tonChange?: any;\r\n}\r\n\r\ntype SelectedFilterType = {\r\n\tbucketId: string;\r\n\tbucketName: string;\r\n\tbucketPath: string;\r\n\tgroupName: string;\r\n};\r\n\r\n/** Main description for this component. */\r\nconst SearchFilters: React.FC = ({\r\n\tfilterGroups,\r\n\tonChange,\r\n\tclearFilterText,\r\n}) => {\r\n\tconst renderFilterType = (\r\n\t\taggregation: SearchAggregationModel,\r\n\t\tgroupName: string\r\n\t) => {\r\n\t\tswitch (aggregation.aggregatorType) {\r\n\t\t\tcase 'radio':\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\tcase 'multiselect':\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\tcase 'select':\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t};\r\n\r\n\tconst getSelectedFilters = (): SelectedFilterType[] => {\r\n\t\tlet selectedFilters: SelectedFilterType[] = [];\r\n\t\tfilterGroups.forEach((filterGroup) => {\r\n\t\t\tfilterGroup.aggregations.forEach((filter) =>\r\n\t\t\t\tfilter.buckets.forEach((bucket, index) => {\r\n\t\t\t\t\tif (bucket.selected) {\r\n\t\t\t\t\t\tselectedFilters.push({\r\n\t\t\t\t\t\t\tbucketId: `${filter.path}-${index}`,\r\n\t\t\t\t\t\t\tbucketName: bucket.term,\r\n\t\t\t\t\t\t\tbucketPath: filter.path,\r\n\t\t\t\t\t\t\tgroupName: filterGroup.groupName,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t});\r\n\t\treturn selectedFilters;\r\n\t};\r\n\r\n\tconst onRemoveFilter = (bucket: SelectedFilterType) => {\r\n\t\tlet groups = JSON.parse(JSON.stringify(filterGroups));\r\n\t\tlet group = groups.find(\r\n\t\t\t(group: any) => group.groupName === bucket.groupName\r\n\t\t);\r\n\t\tlet aggregation = group.aggregations.find(\r\n\t\t\t(a: any) => a.path === bucket.bucketPath\r\n\t\t);\r\n\r\n\t\tconst selectedBuckets = aggregation.buckets.filter(\r\n\t\t\t(item: any) => item.term !== bucket.bucketName && item.selected\r\n\t\t);\r\n\r\n\t\tconst agg = Object.assign(\r\n\t\t\t{},\r\n\t\t\t{\r\n\t\t\t\tname: aggregation.name,\r\n\t\t\t\tpath: aggregation.path,\r\n\t\t\t\tbuckets: selectedBuckets,\r\n\t\t\t}\r\n\t\t);\r\n\r\n\t\tonChange(agg);\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t
    \r\n\t\t\t\t{getSelectedFilters().map((item, i) => (\r\n\t\t\t\t\t onRemoveFilter(item)}\r\n\t\t\t\t\t\tclassName=\"mr-2 mb-2 max-w-full flex justify-between items-center\"\r\n\t\t\t\t\t\ttitle={item.bucketName}\r\n\t\t\t\t\t\tkey={i}\r\n\t\t\t\t\t\tdata-button-action={clearFilterText}\r\n\t\t\t\t\t\tvalue={item.bucketName}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{clearFilterText}\r\n\t\t\t\t\t\t{item.bucketName}\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t
    \r\n\t\t\t{filterGroups.map((filterGroup, index) => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{filterGroup.aggregations.map((aggregation) =>\r\n\t\t\t\t\t\t\trenderFilterType(aggregation, filterGroup.groupName)\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\t})}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default SearchFilters;\r\n","/**\r\n * SearchResultList\r\n */\r\n\r\nimport Link from 'components/Link';\r\nimport React from 'react';\r\nimport {\r\n\tSearchListItemTypes,\r\n\tDialogSearchHitItemModel,\r\n\tSearchResultItemModel,\r\n} from 'types';\r\nimport {\r\n\tSearchResultList as SearchResultListUI,\r\n\tDialogSearchHitItem,\r\n\tSearchResultListItem,\r\n} from 'ui-component-library/uhmse';\r\n\r\ninterface Props {\r\n\t/** Description of this property */\r\n\tsearchList: SearchListItemTypes[];\r\n}\r\n\r\n/** Main description for this component. */\r\nconst SearchResultList: React.FC = ({ searchList }) => {\r\n\tconst getSearchItem = (item: SearchListItemTypes, index: number) => {\r\n\t\tswitch (item.modelType) {\r\n\t\t\tcase 'DialogSearchHit':\r\n\t\t\t\tconst searchHitdata = item as DialogSearchHitItemModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t item).join(', ')}\r\n\t\t\t\t\t\tcomments={searchHitdata.numberOfComments}\r\n\t\t\t\t\t\tLinkComponent={Link}\r\n\t\t\t\t\t/>\r\n\t\t\t\t);\r\n\t\t\tdefault:\r\n\t\t\t\tconst searchdata = item as SearchResultItemModel;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t bc.text)\r\n\t\t\t\t\t\t\t.join(' / ')}\r\n\t\t\t\t\t\theading={searchdata.heading}\r\n\t\t\t\t\t\ttext={searchdata.excerpt}\r\n\t\t\t\t\t\tLinkComponent={Link}\r\n\t\t\t\t\t/>\r\n\t\t\t\t);\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t{searchList?.map(getSearchItem)}\r\n\t);\r\n};\r\n\r\nexport default SearchResultList;\r\n","/**\r\n * ServiceTabs\r\n */\r\nimport clsx from 'clsx';\r\nimport React from 'react';\r\n\r\ninterface Props {\r\n\tclassName?: string;\r\n}\r\n\r\n/** Main description for this component. */\r\nconst ServiceTabs: React.FC = ({ className, children }) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t{children}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default ServiceTabs;\r\n","/**\r\n * ServiceTabItem\r\n */\r\n\r\nimport clsx from 'clsx';\r\nimport React from 'react';\r\nimport { ServiceModel } from 'types';\r\nimport { Icon } from 'ui-component-library/base';\r\n\r\ninterface Props {\r\n\t/** Array with services */\r\n\tservice: ServiceModel;\r\n\r\n\t/** Boolean to indicate if the result is loaded */\r\n\tloading?: boolean;\r\n\r\n\t/** Boolean to indicate if the tab is active */\r\n\tisActive: boolean;\r\n\r\n\t/** The number of total search hits */\r\n\tnumberOfHits?: number;\r\n\r\n\t/** Callback function for onClick */\r\n\tonClick?: Function;\r\n}\r\n\r\n/** Main description for this component. */\r\nconst ServiceTabItem: React.FC = ({\r\n\tservice,\r\n\tloading = false,\r\n\tisActive,\r\n\tnumberOfHits,\r\n\tonClick = () => {},\r\n}) => {\r\n\treturn (\r\n\t\t onClick(service)}\r\n\t\t>\r\n\t\t\t{service.name}\r\n\t\t\t{loading ? (\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t{`(${numberOfHits})`}\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default ServiceTabItem;\r\n","import axios from 'axios';\r\nimport {\r\n\tSearchAggregationModel,\r\n\tSearchFilterGroupModel,\r\n\tSearchSortingModel,\r\n} from 'types';\r\nimport { createQueryString } from 'utils/helpers';\r\nimport { createMachine, assign } from 'xstate';\r\n\r\ntype SearchEventType =\r\n\t| {\r\n\t\t\ttype: 'SEARCH';\r\n\t\t\tquery: string;\r\n\t\t\toffset: number;\r\n\t\t\tfetch: number;\r\n\t\t\taggregations: any[];\r\n\t }\r\n\t| { type: 'RESET'; apiUrl: string; model: any };\r\n\r\ntype SearchContext = {\r\n\turl: string;\r\n\tapiUrl: string;\r\n\tquery: string;\r\n\tnumberOfHits: number;\r\n\tnumberOfHitsPerPage: number;\r\n\toffset: number;\r\n\tfetch: number;\r\n\torderBy: string | null;\r\n\tresults: any;\r\n\tfilterGroups: SearchFilterGroupModel[] | [];\r\n\tselectedAggregations: SearchAggregationModel[] | null;\r\n\tsorting: SearchSortingModel | null;\r\n\terror: any;\r\n\tquerystring: string;\r\n\trouter: any;\r\n};\r\n\r\ninterface LoadApiData {\r\n\t(apiUrl: string, context?: SearchContext): Promise;\r\n}\r\n\r\nconst search: LoadApiData = async (apiUrl, context) => {\r\n\tconst { data } = await axios.get(`${apiUrl}?${context?.querystring}`, {\r\n\t\theaders: {\r\n\t\t\t'X-Content-Language':\r\n\t\t\t\twindow?.__model?.languages?.culture || window.__culture,\r\n\t\t\t'Content-Language':\r\n\t\t\t\twindow?.__model?.languages?.culture || window.__culture,\r\n\t\t\t'Accept-Language':\r\n\t\t\t\twindow?.__model?.languages?.culture || window.__culture,\r\n\t\t},\r\n\t});\r\n\r\n\treturn { data };\r\n};\r\n\r\nexport const searchMachine = createMachine(\r\n\t{\r\n\t\tid: 'searchAdvance',\r\n\t\tinitial: 'idle',\r\n\t\tcontext: {\r\n\t\t\turl: '',\r\n\t\t\tapiUrl: '',\r\n\t\t\tquery: '',\r\n\t\t\tquerystring: '',\r\n\t\t\toffset: 0,\r\n\t\t\tfetch: 0,\r\n\t\t\torderBy: null,\r\n\t\t\tnumberOfHits: 0,\r\n\t\t\tnumberOfHitsPerPage: 0,\r\n\t\t\tresults: [],\r\n\t\t\tfilterGroups: [],\r\n\t\t\tselectedAggregations: [],\r\n\t\t\tsorting: null,\r\n\t\t\terror: undefined,\r\n\t\t\trouter: null,\r\n\t\t},\r\n\t\tstates: {\r\n\t\t\tidle: {},\r\n\t\t\tloading: {\r\n\t\t\t\tinvoke: {\r\n\t\t\t\t\tid: 'getData',\r\n\t\t\t\t\tsrc: (context, event) => {\r\n\t\t\t\t\t\treturn search(context.apiUrl, context);\r\n\t\t\t\t\t},\r\n\t\t\t\t\tonDone: {\r\n\t\t\t\t\t\ttarget: 'success',\r\n\t\t\t\t\t\tactions: 'setResponseData',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tonError: {\r\n\t\t\t\t\t\ttarget: 'failure',\r\n\t\t\t\t\t\tactions: assign({\r\n\t\t\t\t\t\t\terror: (_, event) => {\r\n\t\t\t\t\t\t\t\treturn `Error ${event.data.response.status} - ${event.data.response.statusText}`;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\tsuccess: {},\r\n\t\t\tfailure: {},\r\n\t\t\treseting: {\r\n\t\t\t\tentry: ['resetContext'],\r\n\t\t\t\talways: [{ target: 'idle' }],\r\n\t\t\t},\r\n\t\t},\r\n\t\ton: {\r\n\t\t\tINIT: {\r\n\t\t\t\ttarget: 'loading',\r\n\t\t\t\tactions: ['querySearch', 'setQuerystring'],\r\n\t\t\t},\r\n\t\t\tQUERY_SEARCH: {\r\n\t\t\t\ttarget: 'loading',\r\n\t\t\t\tactions: ['querySearch', 'setQuerystring', 'updateUrl'],\r\n\t\t\t},\r\n\t\t\tRESET: 'reseting',\r\n\t\t\tLOAD_MORE: {\r\n\t\t\t\ttarget: 'loading',\r\n\t\t\t\tactions: ['loadMore', 'setQuerystring', 'updateUrl'],\r\n\t\t\t},\r\n\t\t\tTAB_CHANGE: {\r\n\t\t\t\tactions: 'tabChange',\r\n\t\t\t},\r\n\t\t\tFILTER_CHANGE: {\r\n\t\t\t\ttarget: 'loading',\r\n\t\t\t\tactions: ['filterChange', 'setQuerystring', 'updateUrl'],\r\n\t\t\t},\r\n\t\t\tRESET_FILTERS: {\r\n\t\t\t\ttarget: 'loading',\r\n\t\t\t\tactions: ['resetFilters', 'setQuerystring', 'updateUrl'],\r\n\t\t\t},\r\n\t\t\tSORT: {\r\n\t\t\t\ttarget: 'loading',\r\n\t\t\t\tactions: ['sort', 'setQuerystring', 'updateUrl'],\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n\t{\r\n\t\tactions: {\r\n\t\t\tresetContext: assign({\r\n\t\t\t\tapiUrl: (context, event: any) => event.apiUrl || context.apiUrl,\r\n\t\t\t\tquery: (context, event: any) => event.query || context.query,\r\n\t\t\t\tresults: (context, event: any) => event.model || context.results,\r\n\t\t\t}),\r\n\t\t\tupdateUrl: (context, event) => {\r\n\t\t\t\tif (context.querystring) {\r\n\t\t\t\t\tcontext.router.push(`${context.url}?${context.querystring}`);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcontext.router.push(`${context.url}`);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tsetQuerystring: assign({\r\n\t\t\t\tquerystring: (context, event) => {\r\n\t\t\t\t\tconst querystring = createQueryString({\r\n\t\t\t\t\t\tquery: context.query,\r\n\t\t\t\t\t\tfetch: context.fetch,\r\n\t\t\t\t\t\taggregations: context.selectedAggregations,\r\n\t\t\t\t\t\torderBy: context.orderBy,\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\treturn querystring || '';\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t\tsetResponseData: assign({\r\n\t\t\t\tnumberOfHits: (context, event) => event.data.data.numberOfHits,\r\n\t\t\t\tfilterGroups: (context, event) => event.data.data.filterGroups,\r\n\t\t\t\tsorting: (context, event) => event.data.data.sorting,\r\n\t\t\t\tresults: (context, event) => event.data.data.results,\r\n\t\t\t}),\r\n\t\t\ttabChange: (context, event) => {\r\n\t\t\t\tconst querystring = createQueryString({\r\n\t\t\t\t\tquery: context.query,\r\n\t\t\t\t\tfetch: event.fetch,\r\n\t\t\t\t\taggregations: event.aggregations,\r\n\t\t\t\t\torderBy: event.orderBy,\r\n\t\t\t\t});\r\n\r\n\t\t\t\tif (querystring) {\r\n\t\t\t\t\tcontext.router.push(`${event.url}?${querystring}`);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcontext.router.push(`${event.url}`);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tresetFilters: assign({\r\n\t\t\t\tfetch: (context, event) => context.numberOfHitsPerPage,\r\n\t\t\t\tselectedAggregations: (context, event) => null,\r\n\t\t\t}),\r\n\t\t\tquerySearch: assign({\r\n\t\t\t\tfetch: (context, event) => context.numberOfHitsPerPage,\r\n\t\t\t\tquery: (context, event) => event.query,\r\n\t\t\t\tselectedAggregations: (context, event) => {\r\n\t\t\t\t\treturn event.selectedAggregations;\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t\tloadMore: assign({\r\n\t\t\t\tfetch: (context, event) => event.fetch,\r\n\t\t\t\tselectedAggregations: (context, event) => {\r\n\t\t\t\t\treturn event.selectedAggregations;\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t\tfilterChange: assign({\r\n\t\t\t\tfetch: (context, event) => context.numberOfHitsPerPage,\r\n\t\t\t\tselectedAggregations: (context, event) => {\r\n\t\t\t\t\tconst { aggregation } = event;\r\n\t\t\t\t\tconst existingAggregations = context.selectedAggregations || [];\r\n\r\n\t\t\t\t\tconst updatedAggregations = existingAggregations.filter(\r\n\t\t\t\t\t\t(a) => a.path !== aggregation.path\r\n\t\t\t\t\t);\r\n\r\n\t\t\t\t\tupdatedAggregations.push(aggregation);\r\n\r\n\t\t\t\t\treturn updatedAggregations;\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t\tsort: assign({\r\n\t\t\t\tfetch: (context, event) => context.numberOfHitsPerPage,\r\n\t\t\t\torderBy: (context, event) => event.orderBy,\r\n\t\t\t}),\r\n\t\t},\r\n\t}\r\n);\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { Icon } from 'ui-component-library/base';\r\nimport { useOutsideClick } from 'ui-component-library/hooks';\r\n\r\ninterface Props {\r\n\tbuttonText: string;\r\n}\r\n\r\n/** Main description for this component. */\r\nconst SearchSortList: React.FC = ({ buttonText, children }) => {\r\n\tconst [expanded, setExpanded] = useState(false);\r\n\tconst sortListRef = useRef();\r\n\tuseOutsideClick(sortListRef, () => {\r\n\t\tsetExpanded(false);\r\n\t});\r\n\r\n\tconst renderChildren = (children: any) => {\r\n\t\treturn React.Children.map(children, (child, index) => {\r\n\t\t\treturn (\r\n\t\t\t\t
  • {React.cloneElement(child, child.props || {})}
  • \r\n\t\t\t);\r\n\t\t});\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tsetExpanded(false);\r\n\t}, [buttonText]);\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t setExpanded(!expanded)}\r\n\t\t\t\taria-controls=\"sort-list\"\r\n\t\t\t\taria-expanded={expanded}\r\n\t\t\t\tclassName=\"text-teal p-2\"\r\n\t\t\t>\r\n\t\t\t\t{buttonText}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{expanded && (\r\n\t\t\t\t\r\n\t\t\t\t\t
      {renderChildren(children)}
    \r\n\t\t\t\t
    \r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default SearchSortList;\r\n","/**\r\n * SearchPage\r\n */\r\n\r\nimport React, { useEffect, useRef, useState } from 'react';\r\nimport { useLocation, useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport { useMachine } from '@xstate/react';\r\nimport SearchFilters from 'components/SearchFilters';\r\nimport SearchResultList from 'components/SearchResultList';\r\nimport { ServiceTabs, ServiceTabItem } from 'components/ServiceTabs';\r\nimport { useFirstRender } from 'ui-component-library/hooks';\r\nimport { selectMetaData } from 'store/modules/model';\r\nimport {\r\n\tGrid,\r\n\tCell,\r\n\tButton,\r\n\tIcon,\r\n\tSearchField,\r\n\tButtonSupportive,\r\n\tModal,\r\n\tAlert,\r\n} from 'ui-component-library/base';\r\nimport {\r\n\tSearchItemNoResults,\r\n\tSearchResultList as SearchResultListUI,\r\n} from 'ui-component-library/uhmse';\r\nimport {\r\n\tSearchAggregationModel,\r\n\tSearchFilterGroupModel,\r\n\tSearchPageAdvanceModel,\r\n\tServiceModel,\r\n\tSortingOptionModel,\r\n} from 'types';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Text from 'components/Text';\r\nimport { searchMachine } from 'state-machines/searchAdvance.machine';\r\nimport queryString from 'query-string';\r\nimport clsx from 'clsx';\r\nimport SearchSortList from 'components/SearchSortList/SearchSortList';\r\nimport { useIsMobile, useIsTablet, useIsDesktop } from 'hooks/useMediaQuery';\r\nimport { getActiveAggregations } from 'utils/helpers';\r\n\r\n/** SearchPageAdvance component. */\r\nconst SearchPageAdvance: React.FC = ({\r\n\theading,\r\n\tservices,\r\n\tnumberOfHitsPerPage,\r\n\tshowMoreButtonText,\r\n\tsearchResult,\r\n\turl: defaultUrl,\r\n\thitsInOtherTab,\r\n\tzeroHitsHeading,\r\n\tzeroHitsText,\r\n\tservicesResultText,\r\n\tfilterHeading,\r\n\tclearFilterText,\r\n\tshowResultText,\r\n\tcloseFilterModalText,\r\n}) => {\r\n\tconst location = useLocation();\r\n\tconst { query } = queryString.parse(location.search);\r\n\tconst history = useHistory();\r\n\tconst isFirstRender = useFirstRender();\r\n\tconst searchfieldWrapperRef = useRef(null);\r\n\tconst searchfieldInputRef = useRef(null);\r\n\tconst isMobile = useIsMobile();\r\n\tconst isTablet = useIsTablet();\r\n\tconst isDesktop = useIsDesktop();\r\n\tconst [modalExpanded, setModalExpanded] = useState(false);\r\n\tconst [activeTabId, setActiveTabId] = useState(\r\n\t\tservices.find((x) => x.isActive)?.id || 'web'\r\n\t);\r\n\tconst getSelectedAggregations = (filterGroups: any) => {\r\n\t\tlet aggs: any[] = [];\r\n\t\tfilterGroups.forEach((filterGroup: any) => {\r\n\t\t\taggs.concat(getActiveAggregations(filterGroup.aggregations));\r\n\t\t});\r\n\r\n\t\treturn aggs;\r\n\t};\r\n\r\n\tconst getInitContextData = (serviceId: 'web' | 'faq' | 'criteria') => {\r\n\t\tlet service = services.find((x) => x.id === serviceId);\r\n\r\n\t\treturn {\r\n\t\t\turl: service?.url,\r\n\t\t\tapiUrl: service?.apiUrl,\r\n\t\t\tquery: query as string,\r\n\t\t\tnumberOfHits: service?.isActive ? searchResult.numberOfHits : 0,\r\n\t\t\tnumberOfHitsPerPage: numberOfHitsPerPage,\r\n\t\t\tfetch: searchResult.fetch,\r\n\t\t\toffset: searchResult.offset,\r\n\t\t\tfilterGroups: service?.isActive ? searchResult.filterGroups : [],\r\n\t\t\tselectedAggregations: service?.isActive\r\n\t\t\t\t? getSelectedAggregations(searchResult.filterGroups)\r\n\t\t\t\t: null,\r\n\t\t\tsorting: service?.isActive ? searchResult.sorting : null,\r\n\t\t\tresults: service?.isActive ? searchResult.results : {},\r\n\t\t\trouter: history,\r\n\t\t};\r\n\t};\r\n\r\n\tconst [stateWeb, sendWeb] = useMachine(searchMachine, {\r\n\t\tcontext: getInitContextData('web'),\r\n\t});\r\n\r\n\tconst [stateFaq, sendFaq] = useMachine(searchMachine, {\r\n\t\tcontext: getInitContextData('faq'),\r\n\t});\r\n\r\n\tconst [stateCriteria, sendCriteria] = useMachine(searchMachine, {\r\n\t\tcontext: getInitContextData('criteria'),\r\n\t});\r\n\r\n\tconst machines: any = {\r\n\t\tweb: {\r\n\t\t\tstate: stateWeb,\r\n\t\t\tsend: sendWeb,\r\n\t\t},\r\n\t\tfaq: {\r\n\t\t\tstate: stateFaq,\r\n\t\t\tsend: sendFaq,\r\n\t\t},\r\n\t\tcriteria: {\r\n\t\t\tstate: stateCriteria,\r\n\t\t\tsend: sendCriteria,\r\n\t\t},\r\n\t};\r\n\r\n\t// Functions to call the active stateMachine - state and send\r\n\tconst sendGlobal = (action: any, payload: any) => {\r\n\t\tmachines[activeTabId].send(action, payload);\r\n\t};\r\n\r\n\tconst stateGlobal = () => {\r\n\t\treturn machines[activeTabId].state;\r\n\t};\r\n\r\n\tconst metaData = useSelector(selectMetaData);\r\n\r\n\tconst { fetch, numberOfHits, orderBy, results, filterGroups, sorting } =\r\n\t\tstateGlobal().context || {};\r\n\r\n\tconst onTabChange = (service: ServiceModel) => {\r\n\t\tconst { url, id } = service;\r\n\t\tconst {\r\n\t\t\tfetch: currentFetch,\r\n\t\t\tselectedAggregations: currentSelectedAggregations,\r\n\t\t\torderBy: currentOrderBy,\r\n\t\t} = machines[id].state.context;\r\n\r\n\t\tsendGlobal('TAB_CHANGE', {\r\n\t\t\turl: url,\r\n\t\t\taggregations: currentSelectedAggregations,\r\n\t\t\tfetch: currentFetch,\r\n\t\t\torderBy: currentOrderBy,\r\n\t\t});\r\n\r\n\t\tsetActiveTabId(id);\r\n\t};\r\n\r\n\tconst onQueryChanged = (ev: any) => {\r\n\t\tsendGlobal('QUERY_SEARCH', {\r\n\t\t\tquery: ev.searchfieldSearchPage,\r\n\t\t\tselectedAggregations: getActiveAggregations(\r\n\t\t\t\tstateGlobal().context.filterGroups[0].aggregations\r\n\t\t\t),\r\n\t\t});\r\n\r\n\t\tservices.forEach((service) => {\r\n\t\t\tif (service.id !== activeTabId) {\r\n\t\t\t\tmachines[service.id].send('INIT', {\r\n\t\t\t\t\tquery: ev.searchfieldSearchPage,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!isFirstRender) {\r\n\t\t\tsendGlobal('RESET', {\r\n\t\t\t\tquery: searchResult.query,\r\n\t\t\t\tresults: searchResult,\r\n\t\t\t});\r\n\t\t\tconst id = services.find((x) => x.isActive)?.id;\r\n\r\n\t\t\tservices.forEach((service) => {\r\n\t\t\t\tif (service.id !== id) {\r\n\t\t\t\t\tmachines[service.id].send('SEARCH', {\r\n\t\t\t\t\t\tquery,\r\n\t\t\t\t\t\tfetch: numberOfHitsPerPage,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tif (id) {\r\n\t\t\t\tsetActiveTabId(id);\r\n\t\t\t}\r\n\t\t}\r\n\t\t// eslint-disable-next-line\r\n\t}, [defaultUrl]);\r\n\r\n\tuseEffect(() => {\r\n\t\t//Fetch search result in background for tabs that are not active\r\n\t\tservices.forEach((service) => {\r\n\t\t\tif (service.id !== activeTabId) {\r\n\t\t\t\tmachines[service.id].send('INIT', {\r\n\t\t\t\t\tquery,\r\n\t\t\t\t\tfetch: numberOfHitsPerPage,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t//eslint-disable-next-line\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!isFirstRender) {\r\n\t\t\tif (query != null && query !== stateGlobal().context.query) {\r\n\t\t\t\tsendGlobal('INIT', {\r\n\t\t\t\t\tquery,\r\n\t\t\t\t});\r\n\r\n\t\t\t\tservices.forEach((service) => {\r\n\t\t\t\t\tif (service.id !== activeTabId) {\r\n\t\t\t\t\t\tmachines[service.id].send('INIT', {\r\n\t\t\t\t\t\t\tquery,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// eslint-disable-next-line\r\n\t}, [query]);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst serviceString = services.filter(\r\n\t\t\t(service) => service.isActive === true\r\n\t\t)[0].name;\r\n\t\tlet query = '';\r\n\r\n\t\tif (stateGlobal().context.querystring) {\r\n\t\t\tquery = `${\r\n\t\t\t\tstateGlobal().context.querystring\r\n\t\t\t}&service=${encodeURIComponent(serviceString)}`;\r\n\t\t} else if (searchResult.query !== '') {\r\n\t\t\tquery = `query=${searchResult.query}&service=${encodeURIComponent(\r\n\t\t\t\tserviceString\r\n\t\t\t)}`;\r\n\t\t} else {\r\n\t\t\tquery = `service=${encodeURIComponent(serviceString)}`;\r\n\t\t}\r\n\r\n\t\tif (window.dataLayer && window.dataLayer.push) {\r\n\t\t\twindow.dataLayer.push({\r\n\t\t\t\tevent: 'Pageview',\r\n\t\t\t\tpagePath: `${location.pathname}?${query}`,\r\n\t\t\t\tpageTitle: metaData?.title,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t// Reset GTM scroll-tracker\r\n\t\tif (window.__ScrollTracker) {\r\n\t\t\twindow.__ScrollTracker.reset();\r\n\t\t}\r\n\r\n\t\t// eslint-disable-next-line\r\n\t}, [query, defaultUrl]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (numberOfHits === 0) {\r\n\t\t\tif (window.dataLayer && window.dataLayer.push) {\r\n\t\t\t\twindow.dataLayer.push({\r\n\t\t\t\t\tevent: 'ZeroHitSearch',\r\n\t\t\t\t\tsearchQuery: query,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t\t// eslint-disable-next-line\r\n\t}, [numberOfHits]);\r\n\r\n\tconst hasOtherSearchHits =\r\n\t\tservices.filter(\r\n\t\t\t(service) => machines[service.id].state.context?.numberOfHits > 0\r\n\t\t).length > 0;\r\n\r\n\tconst getTotalSelectedAggregations = () => {\r\n\t\tlet count = filterGroups.reduce(\r\n\t\t\t(accumulator: number, filterGroup: SearchFilterGroupModel) => {\r\n\t\t\t\treturn accumulator + filterGroup.selectedBuckets;\r\n\t\t\t},\r\n\t\t\t0\r\n\t\t);\r\n\r\n\t\treturn count > 0 ? `(${count})` : '';\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\t{stateGlobal().value === 'loading' && (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t x.id === activeTabId)?.performSearchText ||\r\n\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tsubmitLabel=\"submit\"\r\n\t\t\t\t\t\tclassName=\"text-black\"\r\n\t\t\t\t\t\tdefaultValue={query ? query.toString() : undefined}\r\n\t\t\t\t\t\tonSubmit={onQueryChanged}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{stateGlobal().value === 'failure' && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{stateGlobal().context.error}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\r\n\r\n\t\t\t 0 && 'flex-row-reverse'\r\n\t\t\t\t)}\r\n\t\t\t>\r\n\t\t\t\t{isDesktop && filterGroups?.length > 0 && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t

    {filterHeading}

    \r\n\t\t\t\t\t\t\t sendGlobal('RESET_FILTERS', {})}\r\n\t\t\t\t\t\t\t\tdata-button-action={clearFilterText}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{clearFilterText}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tsendGlobal('FILTER_CHANGE', {\r\n\t\t\t\t\t\t\t\t\taggregation: aggregation,\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t
    \r\n\t\t\t\t)}\r\n\t\t\t\t{(isTablet || isMobile) && filterGroups?.length > 0 && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t setModalExpanded(!modalExpanded)}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{`${filterHeading} ${getTotalSelectedAggregations()}`}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{modalExpanded && (\r\n\t\t\t\t\t\t\t setModalExpanded(!modalExpanded)}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t

    {filterHeading}

    \r\n\t\t\t\t\t\t\t\t\t\t\t sendGlobal('RESET_FILTERS', {})}\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{clearFilterText}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tsendGlobal('FILTER_CHANGE', {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\taggregation: aggregation,\r\n\t\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t setModalExpanded(!modalExpanded)}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t{showResultText}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{services?.map((service: ServiceModel, index: number) => {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{sorting && sorting.options?.length > 0 && results?.length > 0 && (\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t option.path === orderBy\r\n\t\t\t\t\t\t\t\t\t\t)?.name || sorting.placeholder\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t{sorting.options.map(\r\n\t\t\t\t\t\t\t\t\t\t(option: SortingOptionModel, index: number) => {\r\n\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsendGlobal('SORT', {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\torderBy: option.path,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata-filter={sorting.placeholder}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={option.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={index}\r\n\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{option.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t{results?.length > 0 ? (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t{fetch < numberOfHits && (\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tsendGlobal('LOAD_MORE', {\r\n\t\t\t\t\t\t\t\t\t\t\t\tfetch: fetch + numberOfHitsPerPage,\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedAggregations: getActiveAggregations(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsearchResult.filterGroups[0].aggregations\r\n\t\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t{showMoreButtonText}\r\n\t\t\t\t\t\t\t\t\t\t{stateGlobal().value === 'loading' && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t{stateGlobal().value !== 'loading' && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{hasOtherSearchHits && (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t

    {hitsInOtherTab}

    \r\n\t\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t\t{services.map((service: ServiceModel, index: number) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{service.id !== activeTabId &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmachines[service.id].state.context?.numberOfHits >\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t0 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{'-'}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t onTabChange(service)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"text-teal ml-2 group\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{service.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{`(${\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmachines[service.id].state.context\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t?.numberOfHits\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} ${servicesResultText})`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)}\r\n\t\t\t\t
    \r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default SearchPageAdvance;\r\n","/**\r\n * ArticlePage\r\n */\r\n\r\nimport React from 'react';\r\nimport {\r\n\tGrid,\r\n\tCell,\r\n\tToc,\r\n\tTocLink,\r\n\tArticleHeader,\r\n\tArticleHeaderCategory,\r\n\tImageHeader,\r\n\tLinkList,\r\n\tLinkListItem,\r\n} from 'ui-component-library/base';\r\nimport { ArticlePageModel } from 'types';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Text from 'components/Text';\r\nimport EpiFragments from 'components/EpiFragments';\r\nimport clsx from 'clsx';\r\nimport Link from 'components/Link';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport { useIsDesktop } from 'hooks/useMediaQuery';\r\nimport { ArticleHeaderCategoryList } from 'ui-component-library/base/ArticleHeader';\r\n\r\n/** ArticlePage component. */\r\nconst ArticlePage: React.FC = ({\r\n\theading,\r\n\tpreamble,\r\n\ttext,\r\n\ttableOfContents,\r\n\trelatedLinks,\r\n\tarticleHeader,\r\n\timageHeader,\r\n\tcontentArea,\r\n}) => {\r\n\tconst isDesktop = useIsDesktop();\r\n\treturn (\r\n\t\t\r\n\t\t\t{imageHeader && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{articleHeader && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{articleHeader.categories && articleHeader.categories.length > 0 && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{articleHeader.categories.map((category, index) => {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{isDesktop && (tableOfContents || relatedLinks) && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{tableOfContents && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{tableOfContents.titles.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{relatedLinks?.map((linkSection, index) => {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{linkSection.links?.map((item, subIndex) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t)}\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{!isDesktop && tableOfContents && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{tableOfContents.titles.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{!isDesktop &&\r\n\t\t\t\t\t\trelatedLinks?.map((linkSection, index) => {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{linkSection.links?.map((item, subIndex) => (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default ArticlePage;\r\n","/**\r\n * NavigationPage\r\n * TODO: Line 55 should have margin bottom 7rem.\r\n */\r\n\r\nimport React from 'react';\r\nimport {\r\n\tNavigationBlockItem,\r\n\tNavigationBlocks,\r\n\tNavigationList,\r\n\tNavigationListItem,\r\n} from 'ui-component-library/uhmse';\r\nimport { Grid, Cell } from 'ui-component-library/base';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Link from 'components/Link';\r\nimport Text from 'components/Text';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport { NavigationPageModel } from 'types';\r\n\r\n/** NavigationPage component. */\r\nconst NavigationPage: React.FC = ({\r\n\theading,\r\n\tpreamble,\r\n\tnavigationList,\r\n\tcontentArea,\r\n}) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{navigationList && (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t{navigationList.layout === 'grid' && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{navigationList.items.map((link, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{navigationList.layout === 'list' && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{navigationList.items.map((link, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default NavigationPage;\r\n","/**\r\n * ProcessPage\r\n */\r\n\r\nimport React from 'react';\r\nimport {\r\n\tPhaseNavigation,\r\n\tPhaseNavigationItem,\r\n} from 'ui-component-library/uhmse';\r\nimport { Grid, Cell, Toc, TocLink } from 'ui-component-library/base';\r\nimport { ProcessPageModel } from 'types';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Text from 'components/Text';\r\nimport Link from 'components/Link';\r\nimport EpiFragments from 'components/EpiFragments';\r\nimport clsx from 'clsx';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport { useIsDesktop } from 'hooks/useMediaQuery';\r\n\r\n/** ProcessPage component. */\r\nconst ProcessPage: React.FC = ({\r\n\theading,\r\n\tpreamble,\r\n\ttext,\r\n\ttableOfContents,\r\n\tphase,\r\n\tcontentArea,\r\n}) => {\r\n\tconst isDesktop = useIsDesktop();\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{isDesktop && tableOfContents && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{tableOfContents.titles.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{!isDesktop && tableOfContents && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{tableOfContents.titles.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t{phase && (phase.next || phase.previous) && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{phase.next && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{phase.previous && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
    \r\n\t\t\t\r\n\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default ProcessPage;\r\n","import { createMachine, assign } from 'xstate';\r\nimport { stringify, parse } from 'query-string';\r\nimport axios, { CancelTokenSource } from 'axios';\r\nimport {\r\n\texportDataByUrl,\r\n\texportDataHighcharts,\r\n} from 'components/StatisticService/helpers';\r\nimport Axios from 'axios';\r\n\r\nexport let cancelTokenSource: CancelTokenSource = axios.CancelToken.source();\r\nexport const cancelRequest = () => {\r\n\tif (cancelTokenSource) {\r\n\t\tcancelTokenSource.cancel();\r\n\t}\r\n\r\n\tconst CancelToken = axios.CancelToken;\r\n\tcancelTokenSource = CancelToken.source();\r\n};\r\n\r\nexport interface DataModel {\r\n\tareas: OptionData[] | null;\r\n\tproducts: OptionData[] | null;\r\n\tunits: OptionData[] | null;\r\n\tdistributedUnits: OptionData[] | null;\r\n\ttime: OptionDataTimeGroup | null;\r\n\tparameters: OptionDataParameterGroup[] | null;\r\n\tfilters: OptionDataFiltersGroup[] | null;\r\n\tsearchFilters: any;\r\n\tmeasurements: OptionData[] | null;\r\n\tvariables: OptionData[] | null;\r\n\t// result: Result | null;\r\n\tresult: any;\r\n\tresultError: errorModel | null;\r\n\tlastUpdated: string | null;\r\n}\r\n\r\nexport interface errorModel {\r\n\tstatusCode: number;\r\n\tmessage: string;\r\n}\r\n\r\nexport interface OptionData {\r\n\tid: string;\r\n\tname: string;\r\n\tvalue: string;\r\n\ttext: string;\r\n\tdisabled: boolean;\r\n\tdescription?: string;\r\n}\r\n\r\nexport interface OptionDataTimeGroup {\r\n\tyears: OptionData[] | null;\r\n\tfragments: OptionData[] | null;\r\n}\r\n\r\nexport interface OptionDataFiltersGroup {\r\n\tquery?: string;\r\n\toffset?: number;\r\n\tfetch?: number;\r\n\ttotal?: number;\r\n\tapiUrl?: string;\r\n\tselectedBuckets?: number;\r\n\ttext: string;\r\n\ttype: 'multiselect' | 'multiselectSearch';\r\n\titems: OptionData[];\r\n}\r\n\r\nexport interface OptionDataParameterGroup {\r\n\theading?: string;\r\n\ttext?: string;\r\n\tdescription?: string;\r\n\tdimensions?: OptionDataParameterDimension[];\r\n}\r\n\r\nexport interface OptionDataParameterDimension {\r\n\theading: string;\r\n\ttext?: string;\r\n\tdescription?: string;\r\n\tproperties: OptionData[];\r\n}\r\nexport interface ResultData {\r\n\tCalendarYear: string;\r\n\tAmount: string;\r\n\t[key: string]: string;\r\n}\r\n\r\nexport interface Result {\r\n\theaders: ResultData;\r\n\tdata: ResultData[];\r\n}\r\n\r\ntype resultFormats = 'table' | 'matrixtable' | 'chart';\r\ntype chartTypes = 'bar' | 'column' | 'pie' | 'line';\r\ntype filterType = { [key: string]: string[] };\r\n\r\ninterface Context extends DataModel {\r\n\tapiUrl: string;\r\n\trouter: any;\r\n\tresultHeading: string;\r\n\terror: any;\r\n\treqCancelled: boolean;\r\n\tselectedArea: string | null;\r\n\tselectedProduct: string | null;\r\n\tselectedUnit: string | null;\r\n\tselectedDistributedUnit: string | null;\r\n\tselectedYear: string[];\r\n\tselectedTimeFragment: string[];\r\n\tselectedMeasurement: string | null;\r\n\tselectedParameters: string[];\r\n\tselectedFilters: string[];\r\n\tselectedVariable: string | null;\r\n\tselectedResultFormat: resultFormats;\r\n\tselectedChartType: chartTypes;\r\n\tselectedChartStacked: boolean;\r\n\torder: string | null;\r\n\tnumItemsToFetch: number;\r\n\tnumItemsTotal: number;\r\n\titemsPerPage: number;\r\n\tlastUpdated: string | null;\r\n}\r\n\r\ninterface LoadApiData {\r\n\t(apiUrl: string, context?: Context): Promise;\r\n}\r\n\r\ninterface SearchApiData {\r\n\t(\r\n\t\tapiUrl: string,\r\n\t\tcontext: Context,\r\n\t\titemsToFetch: number,\r\n\t\tfilter: string,\r\n\t\tsearchterm?: string\r\n\t): Promise;\r\n}\r\n\r\nconst getUrlQueries = (context: Context): string => {\r\n\tconst query: any = {};\r\n\r\n\tif (context.selectedArea) {\r\n\t\tquery.area = context.selectedArea;\r\n\t}\r\n\tif (context.selectedProduct) {\r\n\t\tquery.product = context.selectedProduct;\r\n\t}\r\n\tif (context.selectedUnit) {\r\n\t\tquery.unit = context.selectedUnit;\r\n\t}\r\n\tif (context.selectedDistributedUnit) {\r\n\t\tquery.distributedUnit = context.selectedDistributedUnit;\r\n\t}\r\n\tif (context.selectedMeasurement) {\r\n\t\tquery.measurement = context.selectedMeasurement;\r\n\t}\r\n\tif (context.selectedYear) {\r\n\t\tquery.year = context.selectedYear;\r\n\t}\r\n\tif (\r\n\t\tcontext.selectedTimeFragment &&\r\n\t\tquery.area &&\r\n\t\tquery.product &&\r\n\t\tquery.unit\r\n\t) {\r\n\t\tif (\r\n\t\t\tcontext.selectedTimeFragment.indexOf('Tidsperiod.Månad') !== -1 &&\r\n\t\t\tcontext.selectedResultFormat !== 'chart'\r\n\t\t) {\r\n\t\t\tquery.timefragment = ['Tidsperiod.År', 'Tidsperiod.Månad'];\r\n\t\t} else {\r\n\t\t\tquery.timefragment = context.selectedTimeFragment;\r\n\t\t}\r\n\t}\r\n\tif (context.selectedParameters) {\r\n\t\tquery.param = context.selectedParameters;\r\n\t}\r\n\tif (context.selectedFilters) {\r\n\t\tquery.filter = context.selectedFilters;\r\n\t}\r\n\tif (context.selectedVariable) {\r\n\t\tquery.variable = context.selectedVariable;\r\n\t}\r\n\tquery.resultFormat = context.selectedResultFormat;\r\n\tquery.chartType = context.selectedChartType;\r\n\tquery.chartStacked = context.selectedChartStacked;\r\n\tif (context.order) {\r\n\t\tquery.orderBy = context.order;\r\n\t}\r\n\tif (context.numItemsToFetch) {\r\n\t\tquery.fetch = context.numItemsToFetch;\r\n\t}\r\n\r\n\treturn `?${stringify(query, { arrayFormat: 'none' })}`;\r\n};\r\n\r\nconst loadApiData: LoadApiData = async (apiUrl, context) => {\r\n\tlet query: string = '';\r\n\tif (context) {\r\n\t\tquery = getUrlQueries(context);\r\n\t}\r\n\tconst { data } = await axios({\r\n\t\tmethod: 'GET',\r\n\t\turl: `${apiUrl}${query}`,\r\n\t\tcancelToken: cancelTokenSource?.token,\r\n\t});\r\n\r\n\treturn data;\r\n};\r\n\r\nconst searchApiData: SearchApiData = async (\r\n\tapiUrl,\r\n\tcontext,\r\n\titemsToFetch,\r\n\tfilter,\r\n\tsearchterm\r\n) => {\r\n\t// uncomment this below to be able to test with prep api and disable cors in the browser to make it work\r\n\t// apiUrl =\r\n\t// 'http://webapi-prep.upphandlingsmyndigheten.se/api/statisticsbridge/filter';\r\n\r\n\tapiUrl = '/api/sv/statisticsservice/bridgeapi/filter';\r\n\r\n\tlet url = `${apiUrl}?area=${context.selectedArea}&distributedUnit=${\r\n\t\tcontext.selectedDistributedUnit\r\n\t}&dimension=${context.selectedParameters.filter((f: string) =>\r\n\t\tf.includes(filter)\r\n\t)}&product=${context.selectedProduct}&unit=${context.selectedUnit}`;\r\n\r\n\tif (searchterm) url += `&searchterm=${searchterm}`;\r\n\r\n\tif (itemsToFetch) url += `&fetch=${itemsToFetch}`;\r\n\r\n\tconst { data } = await axios({\r\n\t\tmethod: 'GET',\r\n\t\turl: url,\r\n\t});\r\n\r\n\treturn data;\r\n};\r\n\r\nexport const statisticServiceMachine = createMachine(\r\n\t{\r\n\t\tid: 'statisticServiceMachine',\r\n\t\tinitial: 'idle',\r\n\t\tcontext: {\r\n\t\t\tapiUrl: '',\r\n\t\t\trouter: null,\r\n\t\t\tresultHeading: 'Resultat',\r\n\t\t\terror: null,\r\n\t\t\treqCancelled: false,\r\n\t\t\tareas: null,\r\n\t\t\tproducts: null,\r\n\t\t\tunits: null,\r\n\t\t\tdistributedUnits: null,\r\n\t\t\ttime: null,\r\n\t\t\tparameters: null,\r\n\t\t\tfilters: null,\r\n\t\t\tsearchFilters: null,\r\n\t\t\tvariables: null,\r\n\t\t\tmeasurements: null,\r\n\t\t\tselectedArea: null,\r\n\t\t\tselectedProduct: null,\r\n\t\t\tselectedUnit: null,\r\n\t\t\tselectedDistributedUnit: null,\r\n\t\t\tselectedYear: [],\r\n\t\t\tselectedTimeFragment: ['Tidsperiod.År'],\r\n\t\t\tselectedMeasurement: null,\r\n\t\t\tselectedParameters: [],\r\n\t\t\tselectedFilters: [],\r\n\t\t\tselectedVariable: null,\r\n\t\t\tselectedResultFormat: 'table',\r\n\t\t\tselectedChartType: 'column',\r\n\t\t\tselectedChartStacked: false,\r\n\t\t\tresult: null,\r\n\t\t\torder: null,\r\n\t\t\tnumItemsToFetch: 100,\r\n\t\t\tnumItemsTotal: 0,\r\n\t\t\titemsPerPage: 100,\r\n\t\t\tresultError: null,\r\n\t\t\tlastUpdated: null,\r\n\t\t},\r\n\t\tstates: {\r\n\t\t\tidle: {\r\n\t\t\t\ton: {\r\n\t\t\t\t\t// INITIALIZE: 'loadingAreas',\r\n\t\t\t\t\tINITIALIZE: 'initialize',\r\n\t\t\t\t},\r\n\t\t\t},\r\n\r\n\t\t\tinitialize: {\r\n\t\t\t\tentry: ['setContextFromQuery'],\r\n\t\t\t\tinvoke: {\r\n\t\t\t\t\tid: 'initialize',\r\n\t\t\t\t\tsrc: (context, _event) => loadApiData(context.apiUrl, context),\r\n\t\t\t\t\tonDone: {\r\n\t\t\t\t\t\ttarget: 'initialized',\r\n\t\t\t\t\t\tactions: 'setData',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tonError: {\r\n\t\t\t\t\t\ttarget: 'idle',\r\n\t\t\t\t\t\tactions: assign({\r\n\t\t\t\t\t\t\terror: (_context, event) => event.data.error,\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\r\n\t\t\tinitialized: {\r\n\t\t\t\tentry: ['createResultHeading'],\r\n\t\t\t\talways: [\r\n\t\t\t\t\t{ target: 'result.success', cond: 'hasResult' },\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttarget: 'result.success',\r\n\t\t\t\t\t\tcond: 'hasDistributedUnits',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{ target: 'selectingUnit', cond: 'hasUnits' },\r\n\t\t\t\t\t{ target: 'selectingProduct', cond: 'hasProducts' },\r\n\t\t\t\t\t{ target: 'selectingArea', cond: 'hasAreas' },\r\n\t\t\t\t\t{ target: 'loadingAreas' },\r\n\t\t\t\t],\r\n\t\t\t},\r\n\r\n\t\t\tloadingAreas: {\r\n\t\t\t\tinvoke: {\r\n\t\t\t\t\tid: 'getAreas',\r\n\t\t\t\t\tsrc: (context, _event) => loadApiData(context.apiUrl),\r\n\t\t\t\t\tonDone: {\r\n\t\t\t\t\t\ttarget: 'selectingArea',\r\n\t\t\t\t\t\tactions: 'setData',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tonError: {\r\n\t\t\t\t\t\ttarget: 'errorArea',\r\n\t\t\t\t\t\tactions: assign({\r\n\t\t\t\t\t\t\terror: (_context, event) => {\r\n\t\t\t\t\t\t\t\treturn `Error ${event.data.response.status} - ${event.data.response.statusText}`;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\treqCancelled: (_context, event) => Axios.isCancel(event.data),\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\r\n\t\t\tselectingArea: {\r\n\t\t\t\t// Pre-select area\r\n\t\t\t\talways: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttarget: 'loadingProducts',\r\n\t\t\t\t\t\tactions: [\r\n\t\t\t\t\t\t\t{ type: 'clearContext', clearAfter: 'area' },\r\n\t\t\t\t\t\t\t'setPreSelectedArea',\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\r\n\t\t\tloadingProducts: {\r\n\t\t\t\tentry: ['updateUrl'],\r\n\t\t\t\tinvoke: {\r\n\t\t\t\t\tid: 'getProducts',\r\n\t\t\t\t\tsrc: (context, _event) => loadApiData(context.apiUrl, context),\r\n\t\t\t\t\tonDone: {\r\n\t\t\t\t\t\ttarget: 'selectingProduct',\r\n\t\t\t\t\t\tactions: 'setData',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tonError: {\r\n\t\t\t\t\t\ttarget: 'errorProduct',\r\n\t\t\t\t\t\tactions: assign({\r\n\t\t\t\t\t\t\terror: (_context, event) => {\r\n\t\t\t\t\t\t\t\treturn `Error ${event.data.response.status} - ${event.data.response.statusText}`;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\treqCancelled: (_context, event) => Axios.isCancel(event.data),\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\r\n\t\t\tselectingProduct: {},\r\n\r\n\t\t\tloadingUnits: {\r\n\t\t\t\tentry: ['updateUrl'],\r\n\t\t\t\tinvoke: {\r\n\t\t\t\t\tid: 'getUnits',\r\n\t\t\t\t\tsrc: (context, _event) => loadApiData(context.apiUrl, context),\r\n\t\t\t\t\tonDone: {\r\n\t\t\t\t\t\ttarget: 'selectingUnit',\r\n\t\t\t\t\t\tactions: 'setData',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tonError: {\r\n\t\t\t\t\t\ttarget: 'errorUnit',\r\n\t\t\t\t\t\tactions: assign({\r\n\t\t\t\t\t\t\terror: (_context, event) => {\r\n\t\t\t\t\t\t\t\treturn `Error ${event.data.response.status} - ${event.data.response.statusText}`;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\treqCancelled: (_context, event) => Axios.isCancel(event.data),\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\r\n\t\t\tselectingUnit: {},\r\n\r\n\t\t\tloadingDistributedUnits: {\r\n\t\t\t\tentry: ['updateUrl'],\r\n\t\t\t\tinvoke: {\r\n\t\t\t\t\tid: 'getDistributedUnits',\r\n\t\t\t\t\tsrc: (context, _event) => loadApiData(context.apiUrl, context),\r\n\t\t\t\t\tonDone: {\r\n\t\t\t\t\t\ttarget: 'selectingDistributedUnit',\r\n\t\t\t\t\t\tactions: 'setData',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tonError: {\r\n\t\t\t\t\t\ttarget: 'errorDistributedUnit',\r\n\t\t\t\t\t\tactions: assign({\r\n\t\t\t\t\t\t\terror: (_context, event) => {\r\n\t\t\t\t\t\t\t\treturn `Error ${event.data.response.status} - ${event.data.response.statusText}`;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\treqCancelled: (_context, event) => Axios.isCancel(event.data),\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\r\n\t\t\tselectingDistributedUnit: {},\r\n\r\n\t\t\tresult: {\r\n\t\t\t\tid: 'parameters',\r\n\t\t\t\tinitial: 'loadingStatistics',\r\n\t\t\t\tstates: {\r\n\t\t\t\t\tloadingStatistics: {\r\n\t\t\t\t\t\tentry: ['updateUrl'],\r\n\t\t\t\t\t\tinvoke: {\r\n\t\t\t\t\t\t\tid: 'getResult',\r\n\t\t\t\t\t\t\tsrc: (context, _event) => {\r\n\t\t\t\t\t\t\t\treturn loadApiData(context.apiUrl, context);\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tonDone: {\r\n\t\t\t\t\t\t\t\ttarget: 'success',\r\n\t\t\t\t\t\t\t\tactions: 'setData',\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tonError: {\r\n\t\t\t\t\t\t\t\ttarget: 'error',\r\n\t\t\t\t\t\t\t\tactions: assign({\r\n\t\t\t\t\t\t\t\t\terror: (_context, event) => event.data.message,\r\n\t\t\t\t\t\t\t\t\treqCancelled: (_context, event) => Axios.isCancel(event.data),\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\ton: {\r\n\t\t\t\t\t\t\tRETRY: {\r\n\t\t\t\t\t\t\t\ttarget: 'loadingStatistics',\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\talways: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttarget: 'loadingStatistics',\r\n\t\t\t\t\t\t\t\tcond: 'isCancelled',\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\t\t\t\t\tsuccess: {\r\n\t\t\t\t\t\tentry: ['createResultHeading'],\r\n\t\t\t\t\t\t// Pre-select parameter & years\r\n\t\t\t\t\t\talways: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttarget: 'loadingStatistics',\r\n\t\t\t\t\t\t\t\tcond: 'canPreSelectParameter',\r\n\t\t\t\t\t\t\t\tactions: 'setPreSelectedParameter',\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttarget: 'loadingStatistics',\r\n\t\t\t\t\t\t\t\tcond: 'canPreSelectYear',\r\n\t\t\t\t\t\t\t\tactions: 'setPreSelectedYear',\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t\tloadingFilterItems: {\r\n\t\t\t\t\t\tinvoke: {\r\n\t\t\t\t\t\t\tid: 'getFilterItems',\r\n\t\t\t\t\t\t\tsrc: (context, _event) => {\r\n\t\t\t\t\t\t\t\treturn searchApiData(\r\n\t\t\t\t\t\t\t\t\tcontext.apiUrl,\r\n\t\t\t\t\t\t\t\t\tcontext,\r\n\t\t\t\t\t\t\t\t\t_event.itemsToFetch,\r\n\t\t\t\t\t\t\t\t\t_event.filter,\r\n\t\t\t\t\t\t\t\t\t_event.searchterm\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tonDone: {\r\n\t\t\t\t\t\t\t\ttarget: 'success',\r\n\t\t\t\t\t\t\t\tactions: 'setFilterItems',\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tonError: {\r\n\t\t\t\t\t\t\t\ttarget: 'error',\r\n\t\t\t\t\t\t\t\tactions: assign({\r\n\t\t\t\t\t\t\t\t\terror: (_context, event) => event.data.message,\r\n\t\t\t\t\t\t\t\t\treqCancelled: (_context, event) => Axios.isCancel(event.data),\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\ton: {\r\n\t\t\t\t\tSET_FILTER: {\r\n\t\t\t\t\t\ttarget: '.loadingStatistics',\r\n\t\t\t\t\t\tactions: ['setFilter', 'cancelPrevRequest'],\r\n\t\t\t\t\t},\r\n\t\t\t\t\tCLEAR_FILTER: {\r\n\t\t\t\t\t\ttarget: '.loadingStatistics',\r\n\t\t\t\t\t\tactions: ['clearFilter', 'cancelPrevRequest'],\r\n\t\t\t\t\t},\r\n\t\t\t\t\tRESET_FILTERS: {\r\n\t\t\t\t\t\ttarget: '.loadingStatistics',\r\n\t\t\t\t\t\tactions: ['resetFilters', 'cancelPrevRequest'],\r\n\t\t\t\t\t},\r\n\t\t\t\t\tADD_YEAR: {\r\n\t\t\t\t\t\ttarget: '.loadingStatistics',\r\n\t\t\t\t\t\tactions: ['addYear', 'cancelPrevRequest'],\r\n\t\t\t\t\t},\r\n\t\t\t\t\tREMOVE_YEAR: {\r\n\t\t\t\t\t\ttarget: '.loadingStatistics',\r\n\t\t\t\t\t\tactions: ['removeYear', 'cancelPrevRequest'],\r\n\t\t\t\t\t},\r\n\t\t\t\t\tSET_TIME_FRAGMENT: {\r\n\t\t\t\t\t\ttarget: '.loadingStatistics',\r\n\t\t\t\t\t\tactions: ['setTimeFragment', 'cancelPrevRequest'],\r\n\t\t\t\t\t},\r\n\t\t\t\t\tSELECT_MEASUREMENT: {\r\n\t\t\t\t\t\ttarget: '.loadingStatistics',\r\n\t\t\t\t\t\tactions: ['selectMeasurement', 'cancelPrevRequest'],\r\n\t\t\t\t\t},\r\n\t\t\t\t\tSELECT_VARIABLE: {\r\n\t\t\t\t\t\ttarget: '.loadingStatistics',\r\n\t\t\t\t\t\tactions: ['selectVariable', 'cancelPrevRequest'],\r\n\t\t\t\t\t},\r\n\t\t\t\t\tADD_PARAMETER: {\r\n\t\t\t\t\t\ttarget: '.loadingStatistics',\r\n\t\t\t\t\t\tactions: ['addParameter', 'cancelPrevRequest'],\r\n\t\t\t\t\t},\r\n\t\t\t\t\tREMOVE_PARAMETER: {\r\n\t\t\t\t\t\ttarget: '.loadingStatistics',\r\n\t\t\t\t\t\tactions: ['removeParameter', 'cancelPrevRequest'],\r\n\t\t\t\t\t},\r\n\t\t\t\t\tSELECT_SORT: '.loadingStatistics',\r\n\t\t\t\t\tSELECT_RESULT_FORMAT: {\r\n\t\t\t\t\t\ttarget: '.loadingStatistics',\r\n\t\t\t\t\t\tactions: ['selectResultFormat', 'cancelPrevRequest'],\r\n\t\t\t\t\t},\r\n\t\t\t\t\tSET_CHART_STACKED: {\r\n\t\t\t\t\t\ttarget: '.loadingStatistics',\r\n\t\t\t\t\t\tactions: ['setChartStacked', 'cancelPrevRequest'],\r\n\t\t\t\t\t},\r\n\t\t\t\t\tUNSET_CHART_STACKED: {\r\n\t\t\t\t\t\ttarget: '.loadingStatistics',\r\n\t\t\t\t\t\tactions: ['unsetChartStacked', 'cancelPrevRequest'],\r\n\t\t\t\t\t},\r\n\t\t\t\t\tSELECT_CHART_TYPE: {\r\n\t\t\t\t\t\ttarget: '.loadingStatistics',\r\n\t\t\t\t\t\tactions: ['selectChartType', 'cancelPrevRequest'],\r\n\t\t\t\t\t},\r\n\t\t\t\t\tCHANGE_ORDER: {\r\n\t\t\t\t\t\ttarget: '.loadingStatistics',\r\n\t\t\t\t\t\tactions: ['changeOrder', 'cancelPrevRequest'],\r\n\t\t\t\t\t},\r\n\t\t\t\t\tLOAD_MORE: {\r\n\t\t\t\t\t\ttarget: '.loadingStatistics',\r\n\t\t\t\t\t\tactions: ['loadMore', 'cancelPrevRequest'],\r\n\t\t\t\t\t},\r\n\t\t\t\t\tEXPORT_RESULTS: {\r\n\t\t\t\t\t\tactions: 'exportingResults',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tSEARCH_FILTER: {\r\n\t\t\t\t\t\ttarget: '.loadingFilterItems',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tLOAD_MORE_FILTERITEMS: {\r\n\t\t\t\t\t\ttarget: '.loadingFilterItems',\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\r\n\t\t\terrorArea: {\r\n\t\t\t\ton: {\r\n\t\t\t\t\tRETRY: {\r\n\t\t\t\t\t\ttarget: 'loadingAreas',\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\r\n\t\t\terrorProduct: {\r\n\t\t\t\ton: {\r\n\t\t\t\t\tRETRY: {\r\n\t\t\t\t\t\ttarget: 'loadingProducts',\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\r\n\t\t\terrorUnit: {\r\n\t\t\t\ton: {\r\n\t\t\t\t\tRETRY: {\r\n\t\t\t\t\t\ttarget: 'loadingUnits',\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\terrorDistributedUnit: {\r\n\t\t\t\ton: {\r\n\t\t\t\t\tRETRY: {\r\n\t\t\t\t\t\ttarget: 'loadingDistributedUnits',\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\r\n\t\t\terrorParameters: {\r\n\t\t\t\ton: {\r\n\t\t\t\t\tRETRY: {\r\n\t\t\t\t\t\ttarget: 'result',\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t\ton: {\r\n\t\t\tSELECT_AREA: {\r\n\t\t\t\ttarget: 'loadingProducts',\r\n\t\t\t\tactions: [\r\n\t\t\t\t\t{ type: 'clearContext', clearAfter: 'area' },\r\n\t\t\t\t\t'setSelectedArea',\r\n\t\t\t\t\t'cancelPrevRequest',\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\tSELECT_PRODUCT: {\r\n\t\t\t\tcond: 'canSelectProduct',\r\n\t\t\t\ttarget: 'loadingUnits',\r\n\t\t\t\tactions: [\r\n\t\t\t\t\t{ type: 'clearContext', clearAfter: 'product' },\r\n\t\t\t\t\t'setSelectedProduct',\r\n\t\t\t\t\t'cancelPrevRequest',\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\tSELECT_UNIT: {\r\n\t\t\t\tcond: 'canSelectUnit',\r\n\t\t\t\ttarget: 'loadingDistributedUnits',\r\n\t\t\t\tactions: [\r\n\t\t\t\t\t{ type: 'clearContext', clearAfter: 'unit' },\r\n\t\t\t\t\t'setSelectedUnit',\r\n\t\t\t\t\t'cancelPrevRequest',\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\tSELECT_DISTRIBUTED_UNIT: {\r\n\t\t\t\tcond: 'canSelectDistributedUnit',\r\n\t\t\t\ttarget: 'result',\r\n\t\t\t\tactions: [\r\n\t\t\t\t\t{ type: 'clearContext', clearAfter: 'distributedUnit' },\r\n\t\t\t\t\t'setSelectedDistributedUnit',\r\n\t\t\t\t\t'cancelPrevRequest',\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\tCLEAR_ALL: {\r\n\t\t\t\ttarget: 'loadingAreas',\r\n\t\t\t\tactions: [\r\n\t\t\t\t\t{ type: 'clearContext', clearAfter: 'all' },\r\n\t\t\t\t\t'cancelPrevRequest',\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n\t{\r\n\t\tguards: {\r\n\t\t\tisCancelled: (context) => {\r\n\t\t\t\treturn context.reqCancelled;\r\n\t\t\t},\r\n\t\t\tcanSelectProduct: (context) => {\r\n\t\t\t\treturn context.selectedArea !== null;\r\n\t\t\t},\r\n\t\t\tcanSelectUnit: (context) => {\r\n\t\t\t\treturn context.selectedProduct !== null;\r\n\t\t\t},\r\n\t\t\tcanSelectDistributedUnit: (context) => {\r\n\t\t\t\treturn context.selectedUnit !== null;\r\n\t\t\t},\r\n\t\t\tcanPreSelectParameter: (context) => {\r\n\t\t\t\tif (\r\n\t\t\t\t\tcontext.selectedParameters.length === 0 &&\r\n\t\t\t\t\tcontext.selectedDistributedUnit &&\r\n\t\t\t\t\t(context.selectedDistributedUnit.includes(\r\n\t\t\t\t\t\t'Upphandlingar, Socialtyp.Antal socialt hållbara upphandlingar'\r\n\t\t\t\t\t) ||\r\n\t\t\t\t\t\tcontext.selectedDistributedUnit.includes(\r\n\t\t\t\t\t\t\t'Upphandlingar, Innovationstyp.Antal innovationsupphandlingar'\r\n\t\t\t\t\t\t) ||\r\n\t\t\t\t\t\tcontext.selectedDistributedUnit.includes(\r\n\t\t\t\t\t\t\t'Upphandlingar, Miljötyp.Antal miljömässigt hållbara upphandlingar'\r\n\t\t\t\t\t\t))\r\n\t\t\t\t) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn (\r\n\t\t\t\t\tcontext.selectedParameters.length === 0 &&\r\n\t\t\t\t\tcontext.parameters?.length === 1 &&\r\n\t\t\t\t\tcontext.parameters[0]?.dimensions?.length === 1 &&\r\n\t\t\t\t\tcontext.parameters[0]?.dimensions[0]?.properties?.length === 1\r\n\t\t\t\t);\r\n\t\t\t},\r\n\t\t\tcanPreSelectYear: (context) => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\tcontext.selectedYear.length === 0 &&\r\n\t\t\t\t\tcontext.time?.years?.length !== undefined &&\r\n\t\t\t\t\tcontext.time?.years?.length >= 0\r\n\t\t\t\t);\r\n\t\t\t},\r\n\t\t\thasResult: (context) => {\r\n\t\t\t\treturn context.result !== null;\r\n\t\t\t},\r\n\t\t\thasAreas: (context) => {\r\n\t\t\t\treturn context.areas !== null;\r\n\t\t\t},\r\n\t\t\thasProducts: (context) => {\r\n\t\t\t\treturn context.products !== null;\r\n\t\t\t},\r\n\t\t\thasUnits: (context) => {\r\n\t\t\t\treturn context.units !== null;\r\n\t\t\t},\r\n\t\t\thasDistributedUnits: (context) => {\r\n\t\t\t\treturn context.distributedUnits !== null;\r\n\t\t\t},\r\n\t\t},\r\n\t\tactions: {\r\n\t\t\tsetData: assign({\r\n\t\t\t\tareas: (_context, event) => event.data.areas,\r\n\t\t\t\tproducts: (_context, event) => event.data.products,\r\n\t\t\t\tunits: (_context, event) => event.data.units,\r\n\t\t\t\tdistributedUnits: (_context, event) => event.data.distributedUnits,\r\n\t\t\t\ttime: (_context, event) => event.data.time,\r\n\t\t\t\tparameters: (_context, event) => event.data.parameters,\r\n\t\t\t\tfilters: (_context, event) => event.data.filters,\r\n\t\t\t\tmeasurements: (_context, event) => event.data.measurements,\r\n\t\t\t\tvariables: (_context, event) => event.data.variables,\r\n\t\t\t\tresult: (_context, event) => event.data.result,\r\n\t\t\t\tresultError: (_context, event) => event.data.resultError,\r\n\t\t\t\tselectedMeasurement: (context, event) => {\r\n\t\t\t\t\tif (context.selectedMeasurement) {\r\n\t\t\t\t\t\treturn context.selectedMeasurement;\r\n\t\t\t\t\t} else if (event.data.measurements && event.data.measurements[0]) {\r\n\t\t\t\t\t\treturn event.data.measurements[0].value;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn null;\r\n\t\t\t\t},\r\n\t\t\t\tnumItemsToFetch: (context, event) =>\r\n\t\t\t\t\tevent.data.result?.fetch || context.numItemsToFetch,\r\n\t\t\t\tnumItemsTotal: (context, event) =>\r\n\t\t\t\t\tevent.data.result?.total || context.numItemsTotal,\r\n\t\t\t\tlastUpdated: (context, event) =>\r\n\t\t\t\t\tevent.data.lastUpdated || context.lastUpdated,\r\n\t\t\t\terror: (context, event) => {\r\n\t\t\t\t\treturn null;\r\n\t\t\t\t},\r\n\t\t\t\treqCancelled: (context, event) => false,\r\n\t\t\t\tselectedTimeFragment: (context, event) => {\r\n\t\t\t\t\tif (context.selectedTimeFragment.length > 1) {\r\n\t\t\t\t\t\treturn [context.selectedTimeFragment[1]];\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn context.selectedTimeFragment;\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t\tcreateResultHeading: assign({\r\n\t\t\t\tresultHeading: (context, event) => {\r\n\t\t\t\t\tlet resultHeading = '';\r\n\t\t\t\t\tlet filters: any = [];\r\n\r\n\t\t\t\t\t// if (context.selectedArea && context.areas) {\r\n\t\t\t\t\t// \tresultHeading += context.areas.filter(area => area.value === context.selectedArea)[0].text;\r\n\t\t\t\t\t// }\r\n\t\t\t\t\t// if (context.selectedProduct && context.products) {\r\n\t\t\t\t\t// \tresultHeading +=\r\n\t\t\t\t\t// \t\tcontext.products.filter(\r\n\t\t\t\t\t// \t\t\t(item) => item.value === context.selectedProduct\r\n\t\t\t\t\t// \t\t)[0].text + '. ';\r\n\t\t\t\t\t// }\r\n\t\t\t\t\tif (context.selectedUnit && context.units) {\r\n\t\t\t\t\t\tresultHeading +=\r\n\t\t\t\t\t\t\tcontext.units.filter(\r\n\t\t\t\t\t\t\t\t(item) => item.value === context.selectedUnit\r\n\t\t\t\t\t\t\t)[0].text + ' ';\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (context.selectedTimeFragment && context.time?.fragments) {\r\n\t\t\t\t\t\tfilters.push(\r\n\t\t\t\t\t\t\tcontext.selectedTimeFragment[0].substring(\r\n\t\t\t\t\t\t\t\tcontext.selectedTimeFragment[0].indexOf('.') + 1\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// if (context.selectedYear.length > 0) {\r\n\t\t\t\t\t// \tfilters.push('år');\r\n\t\t\t\t\t// }\r\n\t\t\t\t\tif (context.selectedParameters && context.parameters) {\r\n\t\t\t\t\t\tfor (const key in context.parameters) {\r\n\t\t\t\t\t\t\tconst paramGroup: any = context.parameters[key].dimensions;\r\n\t\t\t\t\t\t\tfor (const key2 in paramGroup) {\r\n\t\t\t\t\t\t\t\tconst properties: any = paramGroup[key2].properties;\r\n\t\t\t\t\t\t\t\tconst matches = properties.filter((item: OptionData) =>\r\n\t\t\t\t\t\t\t\t\tcontext.selectedParameters.indexOf(item.value) !== -1\r\n\t\t\t\t\t\t\t\t\t\t? item\r\n\t\t\t\t\t\t\t\t\t\t: null\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tif (matches.length > 0) {\r\n\t\t\t\t\t\t\t\t\tmatches.forEach((item: any) => {\r\n\t\t\t\t\t\t\t\t\t\tfilters.push(item.text);\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tfilters = filters.map((item: any) => item.toLowerCase());\r\n\t\t\t\t\tif (filters.length > 1) {\r\n\t\t\t\t\t\tconst lastFilter = filters.pop();\r\n\t\t\t\t\t\tresultHeading = `${resultHeading} efter ${filters.join(\r\n\t\t\t\t\t\t\t', '\r\n\t\t\t\t\t\t)} och ${lastFilter}`;\r\n\t\t\t\t\t} else if (filters.length === 1) {\r\n\t\t\t\t\t\tresultHeading = `${resultHeading} efter ${filters.join(', ')}`;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn resultHeading;\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t\tsetSelectedArea: assign({\r\n\t\t\t\tselectedArea: (_context, event) => event.data,\r\n\t\t\t}),\r\n\t\t\tsetSelectedProduct: assign({\r\n\t\t\t\tselectedProduct: (_context, event) => event.data,\r\n\t\t\t}),\r\n\t\t\tsetSelectedUnit: assign({\r\n\t\t\t\tselectedUnit: (_context, event) => event.data,\r\n\t\t\t}),\r\n\t\t\tsetSelectedDistributedUnit: assign({\r\n\t\t\t\tselectedDistributedUnit: (_context, event) => event.data,\r\n\t\t\t}),\r\n\t\t\t// Temporary actions - setPreSelectedArea\r\n\t\t\tsetPreSelectedArea: assign({\r\n\t\t\t\tselectedArea: (_context, event) =>\r\n\t\t\t\t\t_context.areas && _context.areas[0].value,\r\n\t\t\t}),\r\n\t\t\tsetFilter: assign({\r\n\t\t\t\tselectedFilters: (context, event) => {\r\n\t\t\t\t\treturn [...context.selectedFilters, event.value];\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t\tsetFilterItems: assign({\r\n\t\t\t\tfilters: (context, event) => {\r\n\t\t\t\t\tcontext.filters?.map((filter: OptionDataFiltersGroup) => {\r\n\t\t\t\t\t\tif (event.data.items && filter.text === event.data.text) {\r\n\t\t\t\t\t\t\tfilter.items = event.data.items;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\treturn context.filters;\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t\tclearFilter: assign({\r\n\t\t\t\tselectedFilters: (context, event) => {\r\n\t\t\t\t\treturn context.selectedFilters.filter((val) => val !== event.value);\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t\tresetFilters: assign({\r\n\t\t\t\tselectedFilters: (context, event) => {\r\n\t\t\t\t\treturn [];\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t\taddYear: assign({\r\n\t\t\t\tselectedYear: (context, event) => {\r\n\t\t\t\t\treturn [...context.selectedYear, event.data];\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t\tremoveYear: assign({\r\n\t\t\t\tselectedYear: (context, event) => {\r\n\t\t\t\t\treturn context.selectedYear.filter((val) => val !== event.data);\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t\tselectMeasurement: assign({\r\n\t\t\t\tselectedMeasurement: (_context, event) => event.data,\r\n\t\t\t}),\r\n\t\t\tselectVariable: assign({\r\n\t\t\t\tselectedVariable: (_context, event) => event.data,\r\n\t\t\t}),\r\n\t\t\tselectResultFormat: assign({\r\n\t\t\t\tselectedResultFormat: (_context, event) => event.data,\r\n\t\t\t}),\r\n\t\t\tselectChartType: assign({\r\n\t\t\t\tselectedChartType: (_context, event) => event.data,\r\n\t\t\t}),\r\n\t\t\tchangeOrder: assign({\r\n\t\t\t\torder: (_context, event) => `${event.orderBy}_${event.orderDirection}`,\r\n\t\t\t}),\r\n\t\t\tloadMore: assign({\r\n\t\t\t\tnumItemsToFetch: (context, _event) =>\r\n\t\t\t\t\tcontext.numItemsToFetch + context.itemsPerPage,\r\n\t\t\t}),\r\n\t\t\tsetChartStacked: assign({\r\n\t\t\t\tselectedChartStacked: (_context, _event) => true,\r\n\t\t\t}),\r\n\t\t\tunsetChartStacked: assign({\r\n\t\t\t\tselectedChartStacked: (_context, _event) => false,\r\n\t\t\t}),\r\n\t\t\taddParameter: assign({\r\n\t\t\t\tselectedParameters: (context, event) => {\r\n\t\t\t\t\treturn [...context.selectedParameters, event.data];\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t\tremoveParameter: assign({\r\n\t\t\t\tselectedParameters: (context, event) => {\r\n\t\t\t\t\treturn context.selectedParameters.filter((val) => val !== event.data);\r\n\t\t\t\t},\r\n\t\t\t\tselectedFilters: (context, event) => {\r\n\t\t\t\t\treturn context.selectedFilters.filter(\r\n\t\t\t\t\t\t(val: string) => !val.includes(`${event.data}|`)\r\n\t\t\t\t\t);\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t\tsetPreSelectedParameter: assign({\r\n\t\t\t\tselectedParameters: (context, event) => {\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tcontext.parameters &&\r\n\t\t\t\t\t\tcontext.selectedDistributedUnit &&\r\n\t\t\t\t\t\tcontext.selectedDistributedUnit.includes(\r\n\t\t\t\t\t\t\t'Upphandlingar, Socialtyp.Antal socialt hållbara upphandlingar'\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\treturn [\r\n\t\t\t\t\t\t\t'Typ av socialt hållbar upphandling.Typ av socialt hållbar upphandling',\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t} else if (\r\n\t\t\t\t\t\tcontext.parameters &&\r\n\t\t\t\t\t\tcontext.selectedDistributedUnit &&\r\n\t\t\t\t\t\tcontext.selectedDistributedUnit.includes(\r\n\t\t\t\t\t\t\t'Upphandlingar, Innovationstyp.Antal innovationsupphandlingar'\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\treturn [\r\n\t\t\t\t\t\t\t'Typ av innovationsupphandling.Typ av innovationsupphandling',\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t} else if (\r\n\t\t\t\t\t\tcontext.parameters &&\r\n\t\t\t\t\t\tcontext.selectedDistributedUnit &&\r\n\t\t\t\t\t\tcontext.selectedDistributedUnit.includes(\r\n\t\t\t\t\t\t\t'Upphandlingar, Miljötyp.Antal miljömässigt hållbara upphandlingar'\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\treturn [\r\n\t\t\t\t\t\t\t'Typ av miljömässigt hållbar upphandling.Typ av miljömässigt hållbar upphandling',\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tcontext.parameters &&\r\n\t\t\t\t\t\tcontext.parameters[0].dimensions &&\r\n\t\t\t\t\t\tcontext.parameters[0].dimensions[0].properties &&\r\n\t\t\t\t\t\tcontext.parameters[0].dimensions[0].properties[0].value\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\treturn [context.parameters[0].dimensions[0].properties[0].value];\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn [];\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t\tsetPreSelectedYear: assign({\r\n\t\t\t\tselectedYear: (context, event) => {\r\n\t\t\t\t\tif (context.time && context.time.years && context.time.years[0]) {\r\n\t\t\t\t\t\treturn [context.time.years[0].value];\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn [];\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t\tsetTimeFragment: assign({\r\n\t\t\t\tselectedTimeFragment: (_context, event) => {\r\n\t\t\t\t\treturn [event.data];\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t\tclearContext: assign((_context, _event, { action }) => {\r\n\t\t\t\tswitch (action.clearAfter) {\r\n\t\t\t\t\tcase 'all':\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tareas: null,\r\n\t\t\t\t\t\t\tproducts: null,\r\n\t\t\t\t\t\t\tparameters: null,\r\n\t\t\t\t\t\t\ttime: null,\r\n\t\t\t\t\t\t\tfilters: null,\r\n\t\t\t\t\t\t\tsearchFilters: null,\r\n\t\t\t\t\t\t\tmeasurements: null,\r\n\t\t\t\t\t\t\tunits: null,\r\n\t\t\t\t\t\t\tdistributedUnits: null,\r\n\t\t\t\t\t\t\tselectedProduct: null,\r\n\t\t\t\t\t\t\tselectedUnit: null,\r\n\t\t\t\t\t\t\tselectedDistributedUnit: null,\r\n\t\t\t\t\t\t\tselectedMeasurement: null,\r\n\t\t\t\t\t\t\tselectedVariable: null,\r\n\t\t\t\t\t\t\tselectedFilters: [],\r\n\t\t\t\t\t\t\tselectedYear: [],\r\n\t\t\t\t\t\t\tselectedTimeFragment: ['Tidsperiod.År'],\r\n\t\t\t\t\t\t\tselectedParameters: [],\r\n\t\t\t\t\t\t\tselectedResultFormat: 'table',\r\n\t\t\t\t\t\t\tselectedChartType: 'column',\r\n\t\t\t\t\t\t\tselectedChartStacked: false,\r\n\t\t\t\t\t\t\tnumItemsToFetch: 20,\r\n\t\t\t\t\t\t\tresult: null,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\tcase 'area':\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tproducts: null,\r\n\t\t\t\t\t\t\tparameters: null,\r\n\t\t\t\t\t\t\ttime: null,\r\n\t\t\t\t\t\t\tfilters: null,\r\n\t\t\t\t\t\t\tsearchFilters: null,\r\n\t\t\t\t\t\t\tmeasurements: null,\r\n\t\t\t\t\t\t\tunits: null,\r\n\t\t\t\t\t\t\tdistributedUnits: null,\r\n\t\t\t\t\t\t\tselectedProduct: null,\r\n\t\t\t\t\t\t\tselectedUnit: null,\r\n\t\t\t\t\t\t\tselectedDistributedUnit: null,\r\n\t\t\t\t\t\t\tselectedMeasurement: null,\r\n\t\t\t\t\t\t\tselectedVariable: null,\r\n\t\t\t\t\t\t\tselectedFilters: [],\r\n\t\t\t\t\t\t\tselectedYear: [],\r\n\t\t\t\t\t\t\tselectedTimeFragment: ['Tidsperiod.År'],\r\n\t\t\t\t\t\t\tselectedParameters: [],\r\n\t\t\t\t\t\t\tselectedResultFormat: 'table',\r\n\t\t\t\t\t\t\tselectedChartType: 'column',\r\n\t\t\t\t\t\t\tselectedChartStacked: false,\r\n\t\t\t\t\t\t\tnumItemsToFetch: 20,\r\n\t\t\t\t\t\t\tresult: null,\r\n\t\t\t\t\t\t\tresultError: null,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\tcase 'product':\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tparameters: null,\r\n\t\t\t\t\t\t\ttime: null,\r\n\t\t\t\t\t\t\tfilters: null,\r\n\t\t\t\t\t\t\tsearchFilters: null,\r\n\t\t\t\t\t\t\tmeasurements: null,\r\n\t\t\t\t\t\t\tunits: null,\r\n\t\t\t\t\t\t\tdistributedUnits: null,\r\n\t\t\t\t\t\t\tselectedUnit: null,\r\n\t\t\t\t\t\t\tselectedDistributedUnit: null,\r\n\t\t\t\t\t\t\tselectedMeasurement: null,\r\n\t\t\t\t\t\t\tselectedVariable: null,\r\n\t\t\t\t\t\t\tselectedFilters: [],\r\n\t\t\t\t\t\t\tselectedYear: [],\r\n\t\t\t\t\t\t\tselectedTimeFragment: ['Tidsperiod.År'],\r\n\t\t\t\t\t\t\tselectedParameters: [],\r\n\t\t\t\t\t\t\tselectedResultFormat: 'table',\r\n\t\t\t\t\t\t\tselectedChartType: 'column',\r\n\t\t\t\t\t\t\tselectedChartStacked: false,\r\n\t\t\t\t\t\t\tnumItemsToFetch: 20,\r\n\t\t\t\t\t\t\tresult: null,\r\n\t\t\t\t\t\t\tresultError: null,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\tcase 'unit':\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tparameters: null,\r\n\t\t\t\t\t\t\ttime: null,\r\n\t\t\t\t\t\t\tfilters: null,\r\n\t\t\t\t\t\t\tsearchFilters: null,\r\n\t\t\t\t\t\t\tmeasurements: null,\r\n\t\t\t\t\t\t\tdistributedUnits: null,\r\n\t\t\t\t\t\t\tselectedDistributedUnit: null,\r\n\t\t\t\t\t\t\tselectedMeasurement: null,\r\n\t\t\t\t\t\t\tselectedVariable: null,\r\n\t\t\t\t\t\t\tselectedFilters: [],\r\n\t\t\t\t\t\t\tselectedYear: [],\r\n\t\t\t\t\t\t\tselectedTimeFragment: ['Tidsperiod.År'],\r\n\t\t\t\t\t\t\tselectedParameters: [],\r\n\t\t\t\t\t\t\tselectedResultFormat: 'table',\r\n\t\t\t\t\t\t\tselectedChartType: 'column',\r\n\t\t\t\t\t\t\tselectedChartStacked: false,\r\n\t\t\t\t\t\t\tresultError: null,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\tcase 'distributedUnit':\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tparameters: null,\r\n\t\t\t\t\t\t\ttime: null,\r\n\t\t\t\t\t\t\tfilters: null,\r\n\t\t\t\t\t\t\tsearchFilters: null,\r\n\t\t\t\t\t\t\tmeasurements: null,\r\n\t\t\t\t\t\t\tselectedMeasurement: null,\r\n\t\t\t\t\t\t\tselectedVariable: null,\r\n\t\t\t\t\t\t\tselectedFilters: [],\r\n\t\t\t\t\t\t\tselectedYear: [],\r\n\t\t\t\t\t\t\tselectedTimeFragment: ['Tidsperiod.År'],\r\n\t\t\t\t\t\t\tselectedParameters: [],\r\n\t\t\t\t\t\t\tselectedResultFormat: 'table',\r\n\t\t\t\t\t\t\tselectedChartType: 'column',\r\n\t\t\t\t\t\t\tselectedChartStacked: false,\r\n\t\t\t\t\t\t\tresultError: null,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\tcase 'parameters':\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tselectedMeasurement: null,\r\n\t\t\t\t\t\t\tselectedVariable: null,\r\n\t\t\t\t\t\t\tselectedYear: [],\r\n\t\t\t\t\t\t\tselectedTimeFragment: ['Tidsperiod.År'],\r\n\t\t\t\t\t\t\tselectedParameters: [],\r\n\t\t\t\t\t\t\tselectedFilters: [],\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\treturn {};\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\r\n\t\t\tsetContextFromQuery: assign((context, _event) => {\r\n\t\t\t\tconst {\r\n\t\t\t\t\tarea,\r\n\t\t\t\t\tproduct,\r\n\t\t\t\t\tunit,\r\n\t\t\t\t\tdistributedUnit,\r\n\t\t\t\t\tmeasurement,\r\n\t\t\t\t\tvariable,\r\n\t\t\t\t\tyear,\r\n\t\t\t\t\ttimefragment,\r\n\t\t\t\t\tparam,\r\n\t\t\t\t\tresultFormat,\r\n\t\t\t\t\tchartType,\r\n\t\t\t\t\tchartStacked,\r\n\t\t\t\t\torderBy,\r\n\t\t\t\t\tfetch: fetchProp,\r\n\t\t\t\t\ttotal,\r\n\t\t\t\t\tfilter,\r\n\t\t\t\t} = parse(window.location.search);\r\n\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...context,\r\n\t\t\t\t\tselectedArea: (area as string) || null,\r\n\t\t\t\t\tselectedProduct: (product as string) || null,\r\n\t\t\t\t\tselectedUnit: (unit as string) || null,\r\n\t\t\t\t\tselectedDistributedUnit: (distributedUnit as string) || null,\r\n\t\t\t\t\tselectedMeasurement: (measurement as string) || null,\r\n\t\t\t\t\tselectedVariable: (variable as string) || null,\r\n\t\t\t\t\tselectedYear:\r\n\t\t\t\t\t\t(Array.isArray(year) && (year as string[])) ||\r\n\t\t\t\t\t\t(typeof year === 'string' && ([year] as string[])) ||\r\n\t\t\t\t\t\t[],\r\n\t\t\t\t\tselectedTimeFragment:\r\n\t\t\t\t\t\t(Array.isArray(timefragment) && (timefragment as string[])) ||\r\n\t\t\t\t\t\t(typeof timefragment === 'string' &&\r\n\t\t\t\t\t\t\t([timefragment] as string[])) ||\r\n\t\t\t\t\t\t[],\r\n\t\t\t\t\tselectedParameters:\r\n\t\t\t\t\t\t(Array.isArray(param) && (param as string[])) ||\r\n\t\t\t\t\t\t(typeof param === 'string' && ([param] as string[])) ||\r\n\t\t\t\t\t\t[],\r\n\t\t\t\t\tselectedFilters:\r\n\t\t\t\t\t\t(Array.isArray(filter) && (filter as string[])) ||\r\n\t\t\t\t\t\t(typeof filter === 'string' && ([filter] as string[])) ||\r\n\t\t\t\t\t\t[],\r\n\t\t\t\t\tselectedResultFormat: (resultFormat as resultFormats) || 'table',\r\n\t\t\t\t\tselectedChartType: (chartType as chartTypes) || 'column',\r\n\t\t\t\t\tselectedChartStacked: chartStacked === 'true' || false,\r\n\t\t\t\t\torder: (orderBy as string) || null,\r\n\t\t\t\t\tnumItemsToFetch:\r\n\t\t\t\t\t\tparseInt(fetchProp as string, 10) || context.itemsPerPage,\r\n\t\t\t\t\tnumItemsTotal: parseInt(total as string, 10) || 0,\r\n\t\t\t\t};\r\n\t\t\t}),\r\n\t\t\t// Update the url according to the pager\r\n\t\t\tupdateUrl: (context, _event) => {\r\n\t\t\t\tif (context.router) {\r\n\t\t\t\t\tcontext.router.replace(getUrlQueries(context));\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tcancelPrevRequest: (context, _event) => {\r\n\t\t\t\tcancelRequest();\r\n\t\t\t},\r\n\t\t\texportingResults: (context, _event) => {\r\n\t\t\t\tlet fileUrl = '';\r\n\r\n\t\t\t\tswitch (_event.value) {\r\n\t\t\t\t\tcase 'csv':\r\n\t\t\t\t\tcase 'excel':\r\n\t\t\t\t\t\tif (_event.value === 'csv') {\r\n\t\t\t\t\t\t\tfileUrl = `${context.apiUrl}/export/csv${getUrlQueries(context)}`;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tfileUrl = `${context.apiUrl}/export/excel${getUrlQueries(\r\n\t\t\t\t\t\t\t\tcontext\r\n\t\t\t\t\t\t\t)}`;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\texportDataByUrl(fileUrl);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'svg':\r\n\t\t\t\t\t\texportDataHighcharts(_event.chartRef, 'image/svg+xml');\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'png':\r\n\t\t\t\t\tcase 'jpeg':\r\n\t\t\t\t\t\texportDataHighcharts(_event.chartRef, `image/${_event.value}`);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t},\r\n\t}\r\n);\r\n","/**\r\n * StatisticService.chart\r\n */\r\n\r\nimport React, { useState, useEffect } from 'react';\r\nimport Highcharts from 'components/Highcharts';\r\n// import * as Highcharts from 'highcharts';\r\n// import HighchartsReact from 'highcharts-react-official';\r\n//import { Result } from 'state-machines/statisticService.machine';\r\nimport { RadioButtonBase } from 'ui-component-library/base';\r\n//import { getHighchartOptions } from './helpers';\r\n//import { chartTypes, chartStackTypes } from './helpers/getHighchartOptions';\r\n\r\ninterface Props {\r\n\t/** Data to render */\r\n\t// data: Result;\r\n\tdata: any;\r\n\r\n\t/** Last date when the statistics data was updated */\r\n\tlastUpdated?: string | null;\r\n\r\n\t/** Send method from the machine */\r\n\tsend: any;\r\n\r\n\t/** Ref to Highchart */\r\n\tchartRef?: any;\r\n\r\n\t/** Show diagram when content has been loaded */\r\n\tisLoading?: boolean;\r\n}\r\n\r\n/** StatisticServiceChart component. */\r\nconst StatisticServiceChart: React.FC = ({\r\n\tdata,\r\n\tlastUpdated,\r\n\tsend,\r\n\tchartRef,\r\n\tisLoading = false,\r\n}) => {\r\n\tconst {\r\n\t\tyAxisTitle,\r\n\t\tyAxisLabelFormat,\r\n\t\txAxisCategories,\r\n\t\ttooltipValueDecimals,\r\n\t\ttooltipValuePrefix,\r\n\t\ttooltipValueSuffix,\r\n\t\tseries,\r\n\t} = data;\r\n\r\n\tconst [stacked, setStacked] = useState(data.stacked);\r\n\tconst [chartType, setChartType] = useState(data.chartType);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetChartType(data.chartType);\r\n\t}, [data.chartType]);\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t{!isLoading && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{(chartType === 'bar' || chartType === 'column') && (\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\tDiagramtyp\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tsetChartType(e.target.value);\r\n\t\t\t\t\t\t\t\t// send({\r\n\t\t\t\t\t\t\t\t// \ttype: 'SELECT_CHART_TYPE',\r\n\t\t\t\t\t\t\t\t// \tdata: e.target.value,\r\n\t\t\t\t\t\t\t\t// });\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\ttheme=\"teal\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\tStående\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tsetChartType(e.target.value);\r\n\t\t\t\t\t\t\t\t// send({\r\n\t\t\t\t\t\t\t\t// \ttype: 'SELECT_CHART_TYPE',\r\n\t\t\t\t\t\t\t\t// \tdata: e.target.value,\r\n\t\t\t\t\t\t\t\t// });\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\ttheme=\"teal\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\tLiggande\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\tStapling\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tsend('UNSET_CHART_STACKED');\r\n\t\t\t\t\t\t\t\tsetStacked(false);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\ttheme=\"teal\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\tEj staplat\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tsend('SET_CHART_STACKED');\r\n\t\t\t\t\t\t\t\tsetStacked(true);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\ttheme=\"teal\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\tStaplat\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t)}\r\n\t\t
    \r\n\t);\r\n\t// const [chartType, setChartType] = useState(initialChartType);\r\n\t// const [chartStacked, setChartStacked] = useState(undefined);\r\n\t// const initialFormValues = {\r\n\t// \t'chart-type': 'column',\r\n\t// \t'chart-stack': 'null',\r\n\t// };\r\n\t// const options = getHighchartOptions(data, variable, chartType, chartStacked);\r\n\t// console.log(JSON.stringify(options, null, '\\t'));\r\n\r\n\t// return (\r\n\t// \t
    \r\n\r\n\t// \t\t\r\n\t// \t\t{(chartType === 'bar' || chartType === 'column') && (\r\n\t// \t\t\t {\r\n\t// \t\t\t\t\tswitch (e.name) {\r\n\t// \t\t\t\t\t\tcase 'chart-type':\r\n\t// \t\t\t\t\t\t\tsetChartType(e.value);\r\n\t// \t\t\t\t\t\t\treturn;\r\n\t// \t\t\t\t\t\tcase 'chart-stack':\r\n\t// \t\t\t\t\t\t\tsetChartStacked(e.value === 'null' ? undefined : e.value);\r\n\t// \t\t\t\t\t\t\treturn;\r\n\t// \t\t\t\t\t}\r\n\t// \t\t\t\t}}\r\n\t// \t\t\t>\r\n\t// \t\t\t\t
    \r\n\t// \t\t\t\t\tDiagramtyp\r\n\t// \t\t\t\t\t\r\n\t// \t\t\t\t\t\tStående\r\n\t// \t\t\t\t\t\r\n\t// \t\t\t\t\t\r\n\t// \t\t\t\t\t\tLiggande\r\n\t// \t\t\t\t\t\r\n\t// \t\t\t\t
    \r\n\t// \t\t\t\t
    \r\n\t// \t\t\t\t\tStapling\r\n\t// \t\t\t\t\t\r\n\t// \t\t\t\t\t\tEj staplat\r\n\t// \t\t\t\t\t\r\n\t// \t\t\t\t\t\r\n\t// \t\t\t\t\t\tStaplat\r\n\t// \t\t\t\t\t\r\n\t// \t\t\t\t
    \r\n\t// \t\t\t\r\n\t// \t\t)}\r\n\t// \t
    \r\n\t// );\r\n};\r\n\r\nexport default StatisticServiceChart;\r\n","/**\r\n * SearchFieldSelect\r\n */\r\n\r\nimport clsx from 'clsx';\r\nimport React, { useEffect, useRef, useState } from 'react';\r\nimport { Text, Icon, Loader, Button } from 'ui-component-library/base';\r\nimport { useOutsideClick } from 'ui-component-library/hooks';\r\nimport StatisticsServiceFilterOption from './StatisticsServiceFilterOption';\r\n\r\ninterface Props {\r\n\t/** id/name for searchfield */\r\n\tid: string;\r\n\r\n\t/** Label for searchfield */\r\n\tlabel: string;\r\n\r\n\t/** Button text */\r\n\tshowMoreButtonText?: string;\r\n\r\n\t/** Collapse button text */\r\n\tcollapseButtonText: string;\r\n\r\n\t/** Button screen reader text */\r\n\texpandButtonText: string;\r\n\r\n\t/** Default value for searchfield */\r\n\tdefaultValue?: string;\r\n\r\n\t/** Ref to be forwarded to the input element */\r\n\tfieldRef?: any;\r\n\r\n\t/** onFocus callback method */\r\n\tonFocus?: any;\r\n\r\n\t/** onBlur callback method */\r\n\tonBlur?: any;\r\n\r\n\t/** Pass optional classnames for the html */\r\n\tclassName?: string;\r\n\r\n\t/** Total items to fetch */\r\n\titemsToFetch: number;\r\n\r\n\t/** Label for the search button */\r\n\tsearchSubmitLabel: string;\r\n\r\n\t/** Placeholder for the search input */\r\n\tsearchPlaceholder: string;\r\n\r\n\tselectedBuckets?: any;\r\n\r\n\tsend: Function;\r\n}\r\n\r\n/** Searchfield Select component. */\r\nconst SearchFieldSelect: React.FC = ({\r\n\tlabel,\r\n\tshowMoreButtonText,\r\n\tcollapseButtonText,\r\n\texpandButtonText,\r\n\tsearchSubmitLabel,\r\n\tsearchPlaceholder,\r\n\tonFocus,\r\n\tonBlur,\r\n\tid,\r\n\tclassName,\r\n\tfieldRef,\r\n\titemsToFetch,\r\n\tselectedBuckets,\r\n\tsend,\r\n\tchildren,\r\n}) => {\r\n\tconst wrapperRef = useRef();\r\n\tconst [visibleOptions, setVisibleOptions] = useState(false);\r\n\r\n\tconst [emptyQuery, setEmptyQuery] = useState(false);\r\n\tconst [fetch, setFetch] = useState(itemsToFetch);\r\n\r\n\tconst [query, setQuery] = useState('');\r\n\r\n\tuseOutsideClick(wrapperRef, () => {\r\n\t\tsetVisibleOptions(false);\r\n\t});\r\n\r\n\tconst buttonBorder = visibleOptions\r\n\t\t? 'border-2 border-greySemiLight border-b-0 rounded-br-none rounded-bl-none'\r\n\t\t: 'border-2 border-greySemiLight';\r\n\r\n\tconst handleGetData = (enterClick = false) => {\r\n\t\tsend('SEARCH_FILTER', {\r\n\t\t\tfilter: label,\r\n\t\t\tsearchterm: query,\r\n\t\t\titemsToFetch: itemsToFetch,\r\n\t\t});\r\n\t\tsetFetch(itemsToFetch);\r\n\t};\r\n\r\n\tconst handleLoadMore = (e: any) => {\r\n\t\tsend('LOAD_MORE_FILTERITEMS', {\r\n\t\t\tfilter: label,\r\n\t\t\tsearchterm: query,\r\n\t\t\titemsToFetch: fetch + 10,\r\n\t\t});\r\n\t\tsetFetch(fetch + 10);\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\thandleGetData();\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tif ((query && query.length >= 3) || emptyQuery) {\r\n\t\t\thandleGetData();\r\n\t\t}\r\n\t}, [query]);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{visibleOptions && (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t setQuery(e.target.value)}\r\n\t\t\t\t\t\t\tonKeyPress={(e: any) => e.key === 'Enter' && handleGetData()}\r\n\t\t\t\t\t\t\tclassName={clsx(\r\n\t\t\t\t\t\t\t\t'text-p',\r\n\t\t\t\t\t\t\t\t'leading-4',\r\n\t\t\t\t\t\t\t\t'h-10',\r\n\t\t\t\t\t\t\t\t'w-full',\r\n\t\t\t\t\t\t\t\t'px-3',\r\n\t\t\t\t\t\t\t\t'py-1',\r\n\t\t\t\t\t\t\t\t'border-2',\r\n\t\t\t\t\t\t\t\t'border-greySemiLight focus:border-blue',\r\n\t\t\t\t\t\t\t\t'rounded',\r\n\t\t\t\t\t\t\t\t'transition-all',\r\n\t\t\t\t\t\t\t\t'focus:outline-none',\r\n\t\t\t\t\t\t\t\t'disabled:text-greyLight',\r\n\t\t\t\t\t\t\t\t'disabled:cursor-not-allowed',\r\n\t\t\t\t\t\t\t\t'placeholder-greyDarker',\r\n\t\t\t\t\t\t\t\t'placeholder-opacity-100',\r\n\t\t\t\t\t\t\t\t'pr-10'\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t handleGetData()}\r\n\t\t\t\t\t\t\tid={id}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{searchSubmitLabel}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t
    \r\n\t\t\t\t)}\r\n\r\n\t\t\t\t setVisibleOptions((visible) => !visible)}\r\n\t\t\t\t\taria-expanded={visibleOptions}\r\n\t\t\t\t\taria-controls={`${id}-dropdown`}\r\n\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\tclassName={clsx(\r\n\t\t\t\t\t\t'flex items-center',\r\n\t\t\t\t\t\tvisibleOptions\r\n\t\t\t\t\t\t\t? 'justify-center ml-3 mr-1'\r\n\t\t\t\t\t\t\t: 'justify-between w-full'\r\n\t\t\t\t\t)}\r\n\t\t\t\t>\r\n\t\t\t\t\t{!visibleOptions && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{label}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{selectedBuckets > 0 && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{selectedBuckets}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{visibleOptions ? collapseButtonText : expandButtonText}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t{children}\r\n\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t handleLoadMore(e)}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\tVisa fler\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default SearchFieldSelect;\r\n","/**\r\n * SearchFieldSelectOption\r\n */\r\n\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Icon } from 'ui-component-library/base';\r\n\r\ninterface Props {\r\n\t/** Should the search pane be open by default? */\r\n\tisOpen?: boolean;\r\n\r\n\t/** A item structured as JSON */\r\n\titem: any;\r\n\r\n\t/** On change function */\r\n\tonChange?: any;\r\n\r\n\t/** isCheck callback method, check whenever a checkbox is checked or not */\r\n\tisChecked?: any;\r\n}\r\n\r\n/** Search field select option. */\r\nconst StatisticsServiceFilterOption: React.FC = ({\r\n\titem,\r\n\r\n\tonChange,\r\n\tisOpen,\r\n\tisChecked,\r\n\t...props\r\n}) => {\r\n\tconst [checked, setChecked] = useState(isChecked(item));\r\n\r\n\tconst handleOnChange = (e: React.FormEvent) => {\r\n\t\tsetChecked(!checked);\r\n\t\tonChange(e);\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tsetChecked(isChecked(item));\r\n\t}, [item]);\r\n\r\n\treturn (\r\n\t\t
  • \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
  • \r\n\t);\r\n};\r\nexport default StatisticsServiceFilterOption;\r\n","/**\r\n * StatisticService\r\n */\r\n\r\nimport React, { useEffect, useRef, useState } from 'react';\r\nimport clsx from 'clsx';\r\nimport { useMachine } from '@xstate/react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport {\r\n\tstatisticServiceMachine,\r\n\tOptionDataFiltersGroup,\r\n\tOptionData,\r\n\tOptionDataParameterGroup,\r\n\tOptionDataParameterDimension,\r\n} from 'state-machines/statisticService.machine';\r\nimport Text from 'components/Text';\r\nimport {\r\n\tGrid,\r\n\tIcon,\r\n\tCell,\r\n\tForm,\r\n\tRadioButtonBase,\r\n\tCheckboxBase,\r\n\tTooltip,\r\n\tButtonSupportive,\r\n\tFilterButton,\r\n\tFilterButtonGroup,\r\n\tAlert,\r\n\tButton,\r\n} from 'ui-component-library/base';\r\nimport StatisticServiceChart from './StatisticService.chart';\r\nimport StatisticTable from 'components/StatisticTable';\r\nimport { useIsMobile } from 'hooks/useMediaQuery';\r\nimport ScrollableTable from 'components/ScrollableTable';\r\nimport ExportDataDropdown from 'components/ExportDataDropdown';\r\nimport ExportDataOption from 'components/ExportDataDropdown/ExportDataOption';\r\nimport StatisticsServiceFilter from './StatisticsServiceFilter';\r\nimport StatisticsServiceFilterOption from './StatisticsServiceFilterOption';\r\n\r\nconst diagramExportOptions = [\r\n\t{ value: 'svg', caption: 'Till SVG' },\r\n\t{ value: 'png', caption: 'Till PNG' },\r\n\t{ value: 'jpeg', caption: 'Till JPEG' },\r\n];\r\n\r\nconst tableExportOptions = [\r\n\t{ value: 'csv', caption: 'Till CSV' },\r\n\t{ value: 'excel', caption: 'Till Excel' },\r\n];\r\n\r\nconst dataButtonActions = {\r\n\ttooltip: 'Tooltip',\r\n\trensaUrval: 'Rensa urval',\r\n\tresultAvDittUrval: 'Resultat av ditt urval',\r\n\ttableButton: 'Tabell',\r\n\tdiagramButton: 'Diagram',\r\n};\r\n\r\nconst renderParameterGroup = (\r\n\toptions: OptionData[],\r\n\theading: string,\r\n\tselectedParameters: string[],\r\n\tsend: any,\r\n\tisLastColumn: boolean,\r\n\tdescription?: string\r\n): JSX.Element | null => {\r\n\tif (!options) {\r\n\t\treturn null;\r\n\t}\r\n\treturn (\r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t{heading}\r\n\t\t\t\t\t{description && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t{options.map((option) => {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tsend({\r\n\t\t\t\t\t\t\t\t\ttype: e.target.checked ? 'ADD_PARAMETER' : 'REMOVE_PARAMETER',\r\n\t\t\t\t\t\t\t\t\tdata: e.target.value,\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\thandleActionClick(e, 'Fler variabler', option.text);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{option.text}\r\n\t\t\t\t\t\t\t\t{option.description && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t);\r\n\t\t\t\t})}\r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n};\r\n\r\nconst handleActionClick = (\r\n\te: any,\r\n\tparameterName: string,\r\n\tvariableName: string\r\n) => {\r\n\tconst { type, checked } = e.target;\r\n\r\n\tconst getFilterAction = () => {\r\n\t\tswitch (type) {\r\n\t\t\tcase 'radio':\r\n\t\t\t\treturn 'selection';\r\n\t\t\tcase 'checkbox':\r\n\t\t\t\tif (checked) {\r\n\t\t\t\t\treturn 'selection';\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn 'removal';\r\n\t\t\t\t}\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t};\r\n\r\n\tif (window.dataLayer && window.dataLayer.push) {\r\n\t\twindow.dataLayer.push({\r\n\t\t\tevent: 'statistics_database_filter',\r\n\t\t\tparameterName: parameterName,\r\n\t\t\tvariableName: variableName,\r\n\t\t\tfilterAction: getFilterAction(),\r\n\t\t});\r\n\t}\r\n};\r\n\r\n/** StatisticService component. */\r\nconst StatisticService: React.FC = () => {\r\n\tconst history = useHistory();\r\n\tconst chartRef = useRef(null);\r\n\tconst [current, send] = useMachine(statisticServiceMachine, {\r\n\t\tcontext: {\r\n\t\t\tapiUrl: '/api/sv/statisticsservice/bridgeapi/statistics',\r\n\t\t\t// uncomment this below to be able to test with prep api and disable cors in the browser to make it work\r\n\t\t\t// apiUrl:\r\n\t\t\t// 'https://dkn-prep.upphandlingsmyndigheten.se/api/sv/statisticsservice/bridgeapi/statistics',\r\n\t\t\trouter: history,\r\n\t\t\titemsPerPage: 20,\r\n\t\t},\r\n\t\tdevTools: true,\r\n\t});\r\n\tconst resultDivRef = useRef(null);\r\n\tconst resultBarRef = useRef(null);\r\n\tconst [parametersExpanded, setParametersExpanded] = useState(false);\r\n\tconst isMobile = useIsMobile();\r\n\r\n\tconst srollToResult = () => {\r\n\t\tif (resultDivRef.current && resultBarRef.current) {\r\n\t\t\twindow.scrollTo({\r\n\t\t\t\ttop: resultDivRef.current.offsetTop - resultBarRef.current.offsetHeight,\r\n\t\t\t\tbehavior: 'smooth',\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\tconst renderRadioButton = (\r\n\t\toption: OptionData,\r\n\t\tchecked: boolean = false,\r\n\t\tonChange: any\r\n\t): JSX.Element => (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{option.text}\r\n\t\t\t\t{option.description && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n\r\n\tconst handleExportData = (exportFormat: string) => {\r\n\t\tlet format =\r\n\t\t\tcurrent.context.selectedResultFormat === 'table' ||\r\n\t\t\tcurrent.context.selectedResultFormat === 'matrixtable'\r\n\t\t\t\t? `Tabell: ${current.context.selectedResultFormat}`\r\n\t\t\t\t: `Diagram: ${current.context.selectedChartType}`;\r\n\r\n\t\tif (window.dataLayer && window.dataLayer.push) {\r\n\t\t\twindow.dataLayer.push({\r\n\t\t\t\tevent: 'statistics_database_export',\r\n\t\t\t\tformat: format,\r\n\t\t\t\texportFormat: exportFormat,\r\n\t\t\t\tparameter1: `Statistikområde: ${current.context.selectedArea}`,\r\n\t\t\t\tparameter2: `Statistikprodukt: ${current.context.selectedProduct}`,\r\n\t\t\t\tparameter3: `Variabel: ${current.context.selectedUnit}`,\r\n\t\t\t\tparameter4: `Definiera urval: ${current.context.selectedDistributedUnit}`,\r\n\t\t\t\tparameter5: `Fler variabler: ${current?.context?.selectedParameters\r\n\t\t\t\t\t?.map((param) => `${param}`)\r\n\t\t\t\t\t?.join(', ')}`,\r\n\t\t\t\tparameter6: `Tidsperiod: ${\r\n\t\t\t\t\t(current.context.selectedYear?.length > 0 &&\r\n\t\t\t\t\t\tcurrent.context.selectedYear?.map((year) => `${year}`)?.join(', ') +\r\n\t\t\t\t\t\t\t`,`) ||\r\n\t\t\t\t\t''\r\n\t\t\t\t} ${current.context.selectedTimeFragment}`,\r\n\t\t\t\tparameter7: `Mått: ${current.context.selectedMeasurement}`,\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\tconst onScroll = () => {\r\n\t\tif (resultDivRef.current && window) {\r\n\t\t\tif (\r\n\t\t\t\twindow.pageYOffset + window.innerHeight >=\r\n\t\t\t\tresultDivRef.current.offsetTop +\r\n\t\t\t\t\tresultDivRef.current.offsetHeight * 0.75\r\n\t\t\t) {\r\n\t\t\t\tlet format =\r\n\t\t\t\t\tcurrent.context.selectedResultFormat === 'table' ||\r\n\t\t\t\t\tcurrent.context.selectedResultFormat === 'matrixtable'\r\n\t\t\t\t\t\t? `Tabell: ${current.context.selectedResultFormat}`\r\n\t\t\t\t\t\t: `Diagram: ${current.context.selectedChartType}`;\r\n\r\n\t\t\t\tif (window.dataLayer && window.dataLayer.push) {\r\n\t\t\t\t\twindow.dataLayer.push({\r\n\t\t\t\t\t\tevent: 'statistics_database_view',\r\n\t\t\t\t\t\tformat: format,\r\n\t\t\t\t\t\tparameter1: `Statistikområde: ${current.context.selectedArea}`,\r\n\t\t\t\t\t\tparameter2: `Statistikprodukt: ${current.context.selectedProduct}`,\r\n\t\t\t\t\t\tparameter3: `Variabel: ${current.context.selectedUnit}`,\r\n\t\t\t\t\t\tparameter4: `Definiera urval: ${current.context.selectedDistributedUnit}`,\r\n\t\t\t\t\t\tparameter5: `Fler variabler: ${current?.context?.selectedParameters\r\n\t\t\t\t\t\t\t?.map((param) => `${param}`)\r\n\t\t\t\t\t\t\t?.join(', ')}`,\r\n\t\t\t\t\t\tparameter6: `Tidsperiod: ${\r\n\t\t\t\t\t\t\t(current.context.selectedYear?.length > 0 &&\r\n\t\t\t\t\t\t\t\tcurrent.context.selectedYear\r\n\t\t\t\t\t\t\t\t\t?.map((year) => `${year}`)\r\n\t\t\t\t\t\t\t\t\t?.join(', ') + `,`) ||\r\n\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t} ${current.context.selectedTimeFragment}`,\r\n\t\t\t\t\t\tparameter7: `Mått: ${current.context.selectedMeasurement}`,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (window) {\r\n\t\t\t\t\twindow.removeEventListener('scroll', onScroll);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tsend('INITIALIZE');\r\n\t\t// setTimeout(() => send('SELECT_AREA'), 1000);\r\n\t\t// setTimeout(() => send('SELECT_PRODUCT'), 2000);\r\n\t\t// setTimeout(() => send('SELECT_UNIT'), 3000);\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (current.context.result) {\r\n\t\t\tif (resultDivRef.current) {\r\n\t\t\t\tif (window) {\r\n\t\t\t\t\twindow.addEventListener('scroll', onScroll);\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn () => {\r\n\t\t\t\t\tif (window) {\r\n\t\t\t\t\t\twindow.removeEventListener('scroll', onScroll);\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t}\r\n\t}, [current.context.result]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (current.context.resultError?.message) {\r\n\t\t\tif (window.dataLayer && window.dataLayer.push) {\r\n\t\t\t\tlet format =\r\n\t\t\t\t\tcurrent.context.selectedResultFormat === 'table' ||\r\n\t\t\t\t\tcurrent.context.selectedResultFormat === 'matrixtable'\r\n\t\t\t\t\t\t? 'Tabell'\r\n\t\t\t\t\t\t: 'Diagram';\r\n\t\t\t\twindow.dataLayer.push({\r\n\t\t\t\t\tevent: 'statisticsServiceError',\r\n\t\t\t\t\terrorType: current.context.resultError.message,\r\n\t\t\t\t\tformat: format,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}, [current.context.resultError?.message]);\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tGör ditt val\r\n\t\t\t\t\t\t{current.matches('initialize') && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tsend('CLEAR_ALL');\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tdata-button-action={dataButtonActions.rensaUrval}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\tRensa urval\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tStatistikområde\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t(Obligatoriskt)\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{current.matches('loadingAreas') && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tVälj ett statistikområde\r\n\t\t\t\t\t\t\t{current.context.areas && (\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t{current.context.areas.map((option) =>\r\n\t\t\t\t\t\t\t\t\t\t\trenderRadioButton(\r\n\t\t\t\t\t\t\t\t\t\t\t\toption,\r\n\t\t\t\t\t\t\t\t\t\t\t\toption.value === current.context.selectedArea,\r\n\t\t\t\t\t\t\t\t\t\t\t\t(e: any) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsend({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'SELECT_AREA',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata: e.target.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\thandleActionClick(e, 'Statistikområde', option.text);\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t{/* \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{'Rättsfallsstatistik (kommer 2023)'}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t */}\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{current.matches('errorProduct') && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{current.context.error}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tStatistikprodukt\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t(Obligatoriskt)\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{current.matches('loadingProducts') && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tVälj en statistikprodukt\r\n\t\t\t\t\t\t\t{current.context.products && (\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t{current.context.products.map((option) =>\r\n\t\t\t\t\t\t\t\t\t\t\trenderRadioButton(\r\n\t\t\t\t\t\t\t\t\t\t\t\toption,\r\n\t\t\t\t\t\t\t\t\t\t\t\toption.value === current.context.selectedProduct,\r\n\t\t\t\t\t\t\t\t\t\t\t\t(e: any) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsend({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'SELECT_PRODUCT',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata: e.target.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\thandleActionClick(e, 'Statistikprodukt', option.text);\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{current.matches('errorUnit') && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{current.context.error}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tVariabel\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t(Obligatoriskt)\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{current.matches('loadingUnits') && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tVälj en variabel\r\n\t\t\t\t\t\t\t{current.context.units && (\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t{current.context.units.map((option) =>\r\n\t\t\t\t\t\t\t\t\t\t\trenderRadioButton(\r\n\t\t\t\t\t\t\t\t\t\t\t\toption,\r\n\t\t\t\t\t\t\t\t\t\t\t\toption.value === current.context.selectedUnit,\r\n\t\t\t\t\t\t\t\t\t\t\t\t(e: any) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsend({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'SELECT_UNIT',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata: e.target.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\thandleActionClick(e, 'Variabel', option.text);\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{current.matches('errorDistributedUnit') && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{current.context.error}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tDefiniera urval\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t(Obligatoriskt)\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{current.matches('loadingDistributedUnits') && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tDefiniera urvalet genom att välja en variabel\r\n\t\t\t\t\t\t\t{current.context.distributedUnits && (\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t{current.context.distributedUnits.map((option) =>\r\n\t\t\t\t\t\t\t\t\t\t\trenderRadioButton(\r\n\t\t\t\t\t\t\t\t\t\t\t\toption,\r\n\t\t\t\t\t\t\t\t\t\t\t\toption.value ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrent.context.selectedDistributedUnit,\r\n\t\t\t\t\t\t\t\t\t\t\t\t(e: any) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsend({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'SELECT_DISTRIBUTED_UNIT',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata: e.target.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\thandleActionClick(e, 'Definiera urval', option.text);\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t{current.context.parameters?.length === 1 &&\r\n\t\t\t\t\t\tcurrent.context.parameters[0].dimensions?.length === 1 &&\r\n\t\t\t\t\t\tcurrent.context.parameters[0]?.dimensions[0]?.properties?.length >\r\n\t\t\t\t\t\t\t0 ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{current.context.parameters[0]?.dimensions[0].heading}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t(Obligatoriskt)\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{current.context.parameters[0]?.dimensions[0].description && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t{current.matches('result.loadingStatistics') && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{current.context.parameters[0]?.dimensions[0].text}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{current.context.parameters[0].dimensions[0].properties && (\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t{current.context.parameters[0].dimensions[0].properties\r\n\t\t\t\t\t\t\t\t\t\t\t\t.length === 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t? current.context.parameters[0].dimensions[0].properties.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(option) =>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trenderRadioButton(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toption,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toption.value ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrent.context.selectedParameters[0],\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(e: any) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsend({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: e.target.checked\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'ADD_PARAMETER'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'REMOVE_PARAMETER',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata: e.target.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t )\r\n\t\t\t\t\t\t\t\t\t\t\t\t: current.context.parameters[0].dimensions[0].properties.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(option) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsend({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: e.target.checked\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'ADD_PARAMETER'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'REMOVE_PARAMETER',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata: e.target.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrent.context.parameters &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrent.context.parameters[0].dimensions &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrent.context.parameters[0]?.dimensions[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.heading\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleActionClick(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrent.context.parameters[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t?.dimensions[0].heading,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toption.text\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{option.text}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{option.description && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t )}\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tFler variabler\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{current.matches('result.loadingStatistics') && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t// isMobile\r\n\t\t\t\t\t\t\t\t\t\t\t// \t? 'Ej möjligt att välja fler variabler i mobilläge. Använd desktop för att välja fler variabler.'\r\n\t\t\t\t\t\t\t\t\t\t\t// \t:\r\n\t\t\t\t\t\t\t\t\t\t\t'Välj en eller flera variabler för att visa statistik'\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t{current.context.parameters && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetParametersExpanded(!parametersExpanded)\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={clsx(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tparametersExpanded\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'flex w-full'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'inline-block text-greyDarker',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t'py-2 px-3 leading-5 justify-between '\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\tdata-button-action={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tparametersExpanded ? 'Dölj fler val' : 'Visa fler val'\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{parametersExpanded\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'Dölj fler val'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'Visa fler val'}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{parametersExpanded && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// send({ type: 'SELECT_UNIT', data: e.value });\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{current.context.parameters.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: OptionDataParameterGroup,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolIndex: number\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlet isLastColumn =\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(current.context.parameters &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolIndex ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrent.context.parameters.length -\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1) ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{column.heading && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{column.heading}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{column.description && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{column.text && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{column.text}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{column.dimensions?.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdimension: OptionDataParameterDimension,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdimIndex: number\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{renderParameterGroup(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdimension.properties,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdimension.heading,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrent.context\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.selectedParameters,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsend,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisLastColumn,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdimension.description\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tTidsperiod\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t(Obligatoriskt)\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tVälj tidsperiod\r\n\t\t\t\t\t\t\t{current.context.time?.years && (\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t{current.context.time.years.map((option) =>\r\n\t\t\t\t\t\t\t\t\t\t\tcurrent.context.time?.years?.length === 1 ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\trenderRadioButton(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\toption,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\toption.value === current.context.selectedYear[0],\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t(e: any) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsend({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: e.target.checked\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'ADD_YEAR'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'REMOVE_YEAR',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata: e.target.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsend({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: e.target.checked\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'ADD_YEAR'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'REMOVE_YEAR',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata: e.target.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleActionClick(e, 'Tidsperiod', option.text);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{option.text}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t{current.context.time?.fragments && (\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t{current.context.time.fragments.map((option) =>\r\n\t\t\t\t\t\t\t\t\t\t\t\trenderRadioButton(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\toption,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\toption.value ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrent.context.selectedTimeFragment[0],\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t(e: any) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsend({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'SET_TIME_FRAGMENT',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata: e.target.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleActionClick(e, 'Tidsperiod', option.text);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{current.context?.measurements && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tMått\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t(Obligatoriskt)\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tVälj måttenhet\r\n\t\t\t\t\t\t\t\t{current.context.measurements && (\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t{current.context.measurements.map((option) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsend({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'SELECT_MEASUREMENT',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata: e.target.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleActionClick(e, 'Mått', option.text);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{option.text}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{current.context.result || current.context.resultError ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tResultat av ditt urval{' '}\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tResultat av ditt urval{' '}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{!current.context.result && !current.context.resultError && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tAktuellt urval ger ingen statistik. Välj en variabel för att\r\n\t\t\t\t\t\t\t\tvisa ett resultat av ditt urval.\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tFiltrera\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t{current.context?.filters?.map(\r\n\t\t\t\t\t\t\t\t\t\t\t(filter: OptionDataFiltersGroup, filterIndex: number) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{filter.items.map((item: any, index: number) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst { name, value, checked } =\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (checked) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsend({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'SET_FILTER',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsend({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'CLEAR_FILTER',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisChecked={(option: OptionData) =>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrent.context.selectedFilters.indexOf(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toption.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) !== -1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\tsend('RESET_FILTERS');\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\tRensa filter\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t{(current.context.result || current.context.resultError) && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{current.context.resultHeading}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\tsend({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'SELECT_RESULT_FORMAT',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata: 'table',\r\n\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\tdata-button-action={dataButtonActions.tableButton}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\tsend({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'SELECT_RESULT_FORMAT',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata: 'chart',\r\n\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\tdata-button-action={dataButtonActions.diagramButton}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\t{(current.context.selectedResultFormat === 'table' ||\r\n\t\t\t\t\t\t\t\t\tcurrent.context.selectedResultFormat === 'matrixtable') && (\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsend({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'SELECT_RESULT_FORMAT',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata: e.target.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\ttheme=\"teal\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrent.context.resultError?.message ? true : false\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\tTabell\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsend({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'SELECT_RESULT_FORMAT',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata: e.target.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\ttheme=\"teal\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrent.context.resultError?.message ? true : false\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\tMatristabell\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{tableExportOptions.map((option: any, index: number) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsend({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'EXPORT_RESULTS',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: option.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tchartRef: chartRef,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleExportData(option.value);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={index}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{option.caption}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{current.context.selectedResultFormat === 'chart' && (\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsend({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'SELECT_CHART_TYPE',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata: e.target.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\ttheme=\"teal\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrent.context.resultError?.message ? true : false\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\tStapeldiagram\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsend({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'SELECT_CHART_TYPE',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata: e.target.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\ttheme=\"teal\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrent.context.resultError?.message ? true : false\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\tLinjediagram\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsend({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'SELECT_CHART_TYPE',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata: e.target.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\ttheme=\"teal\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrent.context.resultError?.message ? true : false\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\tCirkeldiagram\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{diagramExportOptions.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t(option: any, index: number) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsend({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'EXPORT_RESULTS',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: option.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tchartRef: chartRef,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleExportData(option.value);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={index}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{option.caption}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t{/* {current.context.selectedResultFormat !== 'table' &&\r\n\t\t\t\t\t\t\t\t\tcurrent.context.variables && (\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsend({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'SELECT_VARIABLE',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata: e.target.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={current.context.selectedVariable || undefined}\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{current.context.variables.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t({ id, text, value }) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)} */}\r\n\r\n\t\t\t\t\t\t\t\t{current.context.selectedResultFormat === 'table' &&\r\n\t\t\t\t\t\t\t\t\t!current.matches('result.loadingStatistics') &&\r\n\t\t\t\t\t\t\t\t\t!current.context.resultError && (\r\n\t\t\t\t\t\t\t\t\t\t 0 &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t`1-${current.context.result.rows.length} av ${current.context.result.total}`) ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tenableSort={true}\r\n\t\t\t\t\t\t\t\t\t\t\tenablePagination={\r\n\t\t\t\t\t\t\t\t\t\t\t\tcurrent.context.numItemsTotal >\r\n\t\t\t\t\t\t\t\t\t\t\t\tcurrent.context.numItemsToFetch\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tsortCallback={(prop: string, dir: string) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tsend('CHANGE_ORDER', {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\torderBy: prop,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\torderDirection: dir === '' ? 'ASC' : dir,\r\n\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\tpaginationCallback={() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tsend('LOAD_MORE');\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{current.context.selectedResultFormat === 'matrixtable' &&\r\n\t\t\t\t\t\t\t\t\t!current.matches('result.loadingStatistics') &&\r\n\t\t\t\t\t\t\t\t\t!current.context.resultError && (\r\n\t\t\t\t\t\t\t\t\t\t 0 &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t`1-${current.context.result.rows.length - 1} av ${\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrent.context.result.total\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}`) ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tmatrix={true}\r\n\t\t\t\t\t\t\t\t\t\t\tenableSort={true}\r\n\t\t\t\t\t\t\t\t\t\t\tenablePagination={\r\n\t\t\t\t\t\t\t\t\t\t\t\tcurrent.context.numItemsTotal >\r\n\t\t\t\t\t\t\t\t\t\t\t\tcurrent.context.numItemsToFetch\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tsortCallback={(prop: string, dir: string) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tsend('CHANGE_ORDER', {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\torderBy: prop,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\torderDirection: dir === '' ? 'ASC' : dir,\r\n\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\tpaginationCallback={() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tsend('LOAD_MORE');\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{current.matches('result.loadingStatistics') && (\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{current.context.selectedResultFormat === 'chart' &&\r\n\t\t\t\t\t\t\t\t\t!current.context.resultError && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{!current.matches('result.loadingStatistics') &&\r\n\t\t\t\t\t\t\t\t\t\tcurrent.context.resultError?.message && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{current.context.resultError?.message}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default StatisticService;\r\n","/**\r\n * StatisticServicePage\r\n */\r\n\r\nimport React from 'react';\r\nimport { Grid, Cell } from 'ui-component-library/base';\r\nimport { StatisticServicePageModel } from 'types';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Text from 'components/Text';\r\nimport StatisticService from 'components/StatisticService';\r\nimport EpiFragments from 'components/EpiFragments';\r\n\r\n/** StatisticServicePage component. */\r\nconst StatisticServicePage: React.FC = ({\r\n\theading,\r\n\tpreamble,\r\n\ttext,\r\n}) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{text && (\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)}\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default StatisticServicePage;\r\n","/**\r\n * StatisticServiceStartPage\r\n */\r\n\r\nimport React, { useRef } from 'react';\r\nimport queryString from 'query-string';\r\nimport {\r\n\tGrid,\r\n\tCell,\r\n\tIntroBlock,\r\n\tSearchField,\r\n\tIntroBlockArrow,\r\n\tIcon,\r\n} from 'ui-component-library/base';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Text from 'components/Text';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport {\r\n\tSearchFieldDropdown,\r\n\tSearchFieldDropdownItem,\r\n} from 'ui-component-library/base/SearchField';\r\nimport { SearchListItemTypes, StatisticServiceStartPageModel } from 'types';\r\nimport { useMachine } from '@xstate/react';\r\nimport { searchMachine } from 'state-machines/search.machine';\r\nimport { useSelector } from 'react-redux';\r\nimport { selectSearch } from 'store/modules/model';\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport { searchFieldMachine } from 'state-machines/searchField.machine';\r\nimport Link from 'components/Link';\r\nimport { useOutsideClick } from 'ui-component-library/hooks';\r\nimport { useIsTabletOrLarger } from 'hooks/useMediaQuery';\r\n\r\n/** StatisticServiceStartPage component. */\r\nconst StatisticServiceStartPage: React.FC = ({\r\n\theading,\r\n\tpreamble,\r\n\tintroBlock,\r\n\tcontentArea,\r\n}) => {\r\n\tconst isTabletOrLarger = useIsTabletOrLarger();\r\n\tconst location = useLocation();\r\n\tconst history = useHistory();\r\n\tconst searchSettings = useSelector(selectSearch);\r\n\tconst { query } = queryString.parse(location.search);\r\n\tconst searchfieldWrapperRef = useRef(null);\r\n\tconst searchfieldInputRef = useRef(null);\r\n\tconst [stateSearch, sendSearch] = useMachine(searchMachine, {\r\n\t\tcontext: {\r\n\t\t\tapiUrl: introBlock?.apiUrl || searchSettings?.apiUrl,\r\n\t\t\tsize: isTabletOrLarger ? 5 : searchSettings?.numberOfHitsPerPage || 5,\r\n\t\t\tdebounce: 500,\r\n\t\t},\r\n\t});\r\n\tconst [stateField, sendField] = useMachine(searchFieldMachine);\r\n\r\n\tuseOutsideClick(searchfieldWrapperRef, () => {\r\n\t\tif (searchSettings) {\r\n\t\t\tsendField('CLOSE');\r\n\t\t}\r\n\t});\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{introBlock && (\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{introBlock?.heading && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{introBlock.icon && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{introBlock?.preamble && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{introBlock?.preamble}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{introBlock?.hasSearch && (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\tstateField.value === 'active' &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsendSearch('SEARCH', {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: e.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\tonSubmit={(e: any) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tsendField('CLOSE');\r\n\t\t\t\t\t\t\t\t\t\t\t\tsearchfieldInputRef?.current?.blur();\r\n\t\t\t\t\t\t\t\t\t\t\t\thistory.push(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t`${\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tintroBlock.searchPageUrl\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}?query=${encodeURIComponent(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.searchfieldIntroBlock\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}`\r\n\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\tonFocus={() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsendField('OPEN');\r\n\t\t\t\t\t\t\t\t\t\t\t\t}, 200);\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t{stateField.value === 'active' &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tstateSearch.context.result &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tstateSearch.context.query !== '' && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{stateSearch.context.result.results &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstateSearch.context.result.results.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(item: SearchListItemTypes) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.heading}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{stateSearch.context.result.numberOfHits >\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstateSearch.context.result.size && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsendField('CLOSE');\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{searchSettings?.showMoreResultsText}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{stateSearch.context.result.numberOfHits === 0 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

    Inga träffar hittades

    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t)}\r\n\t\t\t{!introBlock && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t)}\r\n\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
    \r\n\t);\r\n};\r\nexport default StatisticServiceStartPage;\r\n","/**\r\n * StatisticServiceArticlePage\r\n */\r\n\r\nimport React from 'react';\r\nimport {\r\n\tGrid,\r\n\tCell,\r\n\tToc,\r\n\tTocLink,\r\n\tArticleHeader,\r\n\tArticleHeaderCategory,\r\n\tImageHeader,\r\n} from 'ui-component-library/base';\r\nimport { StatisticServiceArticlePageModel } from 'types';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Text from 'components/Text';\r\nimport EpiFragments from 'components/EpiFragments';\r\nimport clsx from 'clsx';\r\nimport Link from 'components/Link';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport { useIsDesktop } from 'hooks/useMediaQuery';\r\nimport { ArticleHeaderCategoryList } from 'ui-component-library/base/ArticleHeader';\r\n\r\n/** StatisticServiceArticlePage component. */\r\nconst StatisticServiceArticlePage: React.FC =\r\n\t({\r\n\t\theading,\r\n\t\tpreamble,\r\n\t\ttext,\r\n\t\ttableOfContents,\r\n\t\tarticleHeader,\r\n\t\timageHeader,\r\n\t\tcontentArea,\r\n\t}) => {\r\n\t\tconst isDesktop = useIsDesktop();\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{imageHeader && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{articleHeader && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{articleHeader.categories &&\r\n\t\t\t\t\t\t\t\t\tarticleHeader.categories.length > 0 && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{articleHeader.categories.map((category, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{isDesktop && tableOfContents && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{tableOfContents.titles.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{!isDesktop && tableOfContents && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{tableOfContents.titles.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\nexport default StatisticServiceArticlePage;\r\n","/**\r\n * StatisticServiceArticleListingPage\r\n */\r\n\r\nimport React, { useEffect, useState } from 'react';\r\nimport { useMachine } from '@xstate/react';\r\nimport {\r\n\tGrid,\r\n\tCell,\r\n\tButton,\r\n\tIcon,\r\n\tNewsList,\r\n\tNewsListItem,\r\n} from 'ui-component-library/base';\r\nimport { StatisticServiceArticleListingPageModel, NewsModel } from 'types';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Text from 'components/Text';\r\nimport { showMorePaginationMachine } from 'state-machines/showMorePagination.machine';\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport Link from 'components/Link';\r\n\r\n/** StatisticServiceArticleListingPage component. */\r\nconst StatisticServiceArticleListingPage: React.FC =\r\n\t({\r\n\t\theading,\r\n\t\tpreamble,\r\n\t\tshowMoreButtonText,\r\n\t\tnumberOfHitsPerPage,\r\n\t\tapiUrl,\r\n\t\tlistingModel,\r\n\t\tcontentArea,\r\n\t}) => {\r\n\t\tconst location = useLocation();\r\n\t\tconst history = useHistory();\r\n\t\tconst [state, send] = useMachine(showMorePaginationMachine);\r\n\t\tconst [click, setClick] = useState(0);\r\n\r\n\t\tif (state.context.result) {\r\n\t\t\tlistingModel = state.context.result;\r\n\t\t}\r\n\r\n\t\tconst fetch =\r\n\t\t\tlistingModel.offset + listingModel.fetch + numberOfHitsPerPage;\r\n\t\tconst hasMore =\r\n\t\t\tlistingModel.offset + listingModel.fetch < listingModel.total;\r\n\t\tconst sortOrder = listingModel.sortOrder;\r\n\r\n\t\tuseEffect(() => {\r\n\t\t\tif (click > 0) {\r\n\t\t\t\tsend('FETCH', {\r\n\t\t\t\t\toffset: 0,\r\n\t\t\t\t\tfetch: fetch,\r\n\t\t\t\t\tapiUrl,\r\n\t\t\t\t\tsortOrder,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\t// eslint-disable-next-line\r\n\t\t}, [click]);\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{listingModel.items.map((event: NewsModel, index: number) => {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{hasMore && (\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\tsetClick(click + 1);\r\n\t\t\t\t\t\t\t\t\t\thistory.push(\r\n\t\t\t\t\t\t\t\t\t\t\t`${location.pathname}?fetch=${fetch}&sortOrder=${sortOrder}`\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t{showMoreButtonText}\r\n\t\t\t\t\t\t\t\t\t{state.value === 'loading' && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t{state.value !== 'loading' && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t);\r\n\t};\r\n\r\nexport default StatisticServiceArticleListingPage;\r\n","/**\r\n * StatisticServiceNavigationPage\r\n * TODO: Line 55 should have margin bottom 7rem.\r\n */\r\n\r\nimport React from 'react';\r\nimport {\r\n\tNavigationBlockItem,\r\n\tNavigationBlocks,\r\n\tNavigationList,\r\n\tNavigationListItem,\r\n} from 'ui-component-library/uhmse';\r\nimport { Grid, Cell } from 'ui-component-library/base';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport Link from 'components/Link';\r\nimport Text from 'components/Text';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport { StatisticServiceNavigationPageModel } from 'types';\r\nimport EpiFragments from 'components/EpiFragments';\r\n\r\n/** StatisticServiceNavigationPage component. */\r\nconst StatisticServiceNavigationPage: React.FC =\r\n\t({ heading, preamble, navigationList, contentArea, text }) => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{navigationList && (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t{navigationList.layout === 'grid' && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{navigationList.items.map((link, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{navigationList.layout === 'list' && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{navigationList.items.map((link, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\nexport default StatisticServiceNavigationPage;\r\n","/**\r\n * StatisticServiceSectionPage\r\n */\r\n\r\nimport React from 'react';\r\n\r\nimport { StatisticServiceSectionPageModel } from 'types';\r\n\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport {\r\n\tGrid,\r\n\tCell,\r\n\tText,\r\n\tArticleHeader,\r\n\tArticleHeaderCategory,\r\n} from 'ui-component-library/base';\r\nimport Link from 'components/Link';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport EpiFragments from 'components/EpiFragments';\r\nimport { ArticleHeaderCategoryList } from 'ui-component-library/base/ArticleHeader';\r\n\r\n/** Main description for this component. */\r\nconst StatisticServiceSectionPage: React.FC =\r\n\t({ heading, preamble, articleHeader, contentArea, text }) => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{articleHeader && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{articleHeader.categories &&\r\n\t\t\t\t\t\t\t\t\tarticleHeader.categories.length > 0 && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{articleHeader.categories.map((category, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\nexport default StatisticServiceSectionPage;\r\n","/**\r\n * ValfrihetArticlePage\r\n */\r\n\r\nimport clsx from 'clsx';\r\nimport EpiContentArea from 'components/EpiContentArea';\r\nimport EpiFragments from 'components/EpiFragments';\r\nimport Link from 'components/Link';\r\nimport Text from 'components/Text';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport React from 'react';\r\nimport { ValfrihetArticlePageModel } from 'types';\r\nimport { Cell, Grid, Icon, IntroBlock } from 'ui-component-library/base';\r\n\r\n/** Main description for this component. */\r\nconst ValfrihetArticlePage: React.FC = ({\r\n\tid,\r\n\turl,\r\n\tmainHeading,\r\n\tmainPreamble,\r\n\tintroBlock,\r\n\tsubNavigation,\r\n\ttext,\r\n\tcontentArea,\r\n}) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{introBlock?.heading && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{introBlock.icon && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{introBlock?.preamble && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{introBlock?.preamble}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\r\n\t\t\t\r\n\t\t\t\t{subNavigation && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t{subNavigation.map((item, index) => (\r\n\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\t{mainHeading && {mainHeading}}\r\n\t\t\t\t\t{mainPreamble && {mainPreamble}}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{contentArea && contentArea.length > 0 && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default ValfrihetArticlePage;\r\n","import axios from 'axios';\r\nimport { AggregationsModel, SearchSortingModel } from 'types';\r\nimport { createQueryString } from 'utils/helpers';\r\nimport { createMachine, assign } from 'xstate';\r\n\r\ntype SearchEventType =\r\n\t| {\r\n\t\t\ttype: 'SEARCH';\r\n\t\t\tquery: string;\r\n\t\t\toffset: number;\r\n\t\t\tfetch: number;\r\n\t\t\taggregations: any[];\r\n\t }\r\n\t| { type: 'RESET'; apiUrl: string; model: any };\r\n\r\ntype SearchContext = {\r\n\turl: string;\r\n\tapiUrl: string;\r\n\tquery: string;\r\n\tnumberOfHits: number;\r\n\tnumberOfHitsPerPage: number;\r\n\toffset: number;\r\n\tfetch: number;\r\n\torderBy: string | null;\r\n\tresults: any;\r\n\taggregations: AggregationsModel[] | null;\r\n\tselectedAggregations: AggregationsModel[] | null;\r\n\tsorting: SearchSortingModel | null;\r\n\terror: any;\r\n\tquerystring: string;\r\n\trouter: any;\r\n\tsubmitResponse: {\r\n\t\theading: string;\r\n\t\ttext: string;\r\n\t};\r\n};\r\n\r\ninterface LoadApiData {\r\n\t(apiUrl: string, context?: SearchContext): Promise;\r\n}\r\n\r\nconst search: LoadApiData = async (apiUrl, context) => {\r\n\tconst { data } = await axios.get(`${apiUrl}?${context?.querystring}`, {\r\n\t\theaders: {\r\n\t\t\t'X-Content-Language':\r\n\t\t\t\twindow?.__model?.languages?.culture || window.__culture,\r\n\t\t\t'Content-Language':\r\n\t\t\t\twindow?.__model?.languages?.culture || window.__culture,\r\n\t\t\t'Accept-Language':\r\n\t\t\t\twindow?.__model?.languages?.culture || window.__culture,\r\n\t\t},\r\n\t});\r\n\r\n\treturn { data };\r\n};\r\n\r\nconst submitForm = async (\r\n\tsubmitApiUrl: string,\r\n\tquerystring: string,\r\n\temail: string\r\n) => {\r\n\tconst res = await fetch(submitApiUrl, {\r\n\t\tmethod: 'POST',\r\n\t\tbody: JSON.stringify({ email: email, query: querystring }),\r\n\t});\r\n\r\n\tif (res.status === 200) {\r\n\t\tif (window.dataLayer && window.dataLayer.push) {\r\n\t\t\twindow.dataLayer.push({\r\n\t\t\t\tevent: 'createMonitoredSearch',\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\treturn await res.json();\r\n};\r\n\r\nexport const valfrihetMachine = createMachine(\r\n\t{\r\n\t\tid: 'valfrihet',\r\n\t\tinitial: 'idle',\r\n\t\tcontext: {\r\n\t\t\turl: '',\r\n\t\t\tapiUrl: '',\r\n\t\t\tquery: '',\r\n\t\t\tnumberOfHits: 0,\r\n\t\t\tnumberOfHitsPerPage: 0,\r\n\t\t\toffset: 0,\r\n\t\t\tfetch: 0,\r\n\t\t\torderBy: null,\r\n\t\t\tresults: [],\r\n\t\t\taggregations: [],\r\n\t\t\tselectedAggregations: [],\r\n\t\t\tsorting: null,\r\n\t\t\terror: null,\r\n\t\t\tquerystring: '',\r\n\t\t\trouter: null,\r\n\t\t\tsubmitResponse: {\r\n\t\t\t\theading: '',\r\n\t\t\t\ttext: '',\r\n\t\t\t},\r\n\t\t},\r\n\t\tstates: {\r\n\t\t\tidle: {},\r\n\t\t\tloading: {\r\n\t\t\t\tinvoke: {\r\n\t\t\t\t\tid: 'getData',\r\n\t\t\t\t\tsrc: (context) => search(context.apiUrl, context),\r\n\t\t\t\t\tonDone: {\r\n\t\t\t\t\t\ttarget: 'success',\r\n\t\t\t\t\t\tactions: 'setResponseData',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tonError: {\r\n\t\t\t\t\t\ttarget: 'failure',\r\n\t\t\t\t\t\tactions: assign({\r\n\t\t\t\t\t\t\terror: (_, event) => {\r\n\t\t\t\t\t\t\t\treturn `Error: ${event.data.response.status} - ${event.data.response.statusText}`;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\tsubmitting: {\r\n\t\t\t\tinvoke: {\r\n\t\t\t\t\tid: 'submitForm',\r\n\t\t\t\t\tsrc: (context, event) =>\r\n\t\t\t\t\t\tsubmitForm(event.submitApiUrl, context.querystring, event.email),\r\n\t\t\t\t\tonDone: {\r\n\t\t\t\t\t\ttarget: 'submit_success',\r\n\t\t\t\t\t\tactions: assign({\r\n\t\t\t\t\t\t\tsubmitResponse: (context, event) => event.data,\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t},\r\n\t\t\t\t\tonError: {\r\n\t\t\t\t\t\ttarget: 'submit_failure',\r\n\t\t\t\t\t\tactions: assign({\r\n\t\t\t\t\t\t\tsubmitResponse: (context, event) => event.data,\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\tresetting: {\r\n\t\t\t\tentry: ['resetContext'],\r\n\t\t\t\talways: [{ target: 'idle' }],\r\n\t\t\t},\r\n\t\t\tsuccess: {},\r\n\t\t\tfailure: {},\r\n\t\t\tsubmit_success: {},\r\n\t\t\tsubmit_failure: {},\r\n\t\t},\r\n\t\ton: {\r\n\t\t\tINIT: {\r\n\t\t\t\ttarget: 'loading',\r\n\t\t\t\tactions: ['querySearch', 'setQuerystring'],\r\n\t\t\t},\r\n\t\t\tQUERY_SEARCH: {\r\n\t\t\t\ttarget: 'loading',\r\n\t\t\t\tactions: ['querySearch', 'setQuerystring', 'updateUrl'],\r\n\t\t\t},\r\n\t\t\tRESET: {\r\n\t\t\t\ttarget: 'resetting',\r\n\t\t\t},\r\n\t\t\tLOAD_MORE: {\r\n\t\t\t\ttarget: 'loading',\r\n\t\t\t\tactions: ['loadMore', 'setQuerystring', 'updateUrl'],\r\n\t\t\t},\r\n\t\t\tFILTER_CHANGE: {\r\n\t\t\t\ttarget: 'loading',\r\n\t\t\t\tactions: ['filterChange', 'setQuerystring', 'updateUrl'],\r\n\t\t\t},\r\n\t\t\tRESET_FILTERS: {\r\n\t\t\t\ttarget: 'loading',\r\n\t\t\t\tactions: ['resetFilters', 'setQuerystring', 'updateUrl'],\r\n\t\t\t},\r\n\t\t\tSORT: {\r\n\t\t\t\ttarget: 'loading',\r\n\t\t\t\tactions: ['sort', 'setQuerystring', 'updateUrl'],\r\n\t\t\t},\r\n\t\t\tSUBMIT: {\r\n\t\t\t\ttarget: 'submitting',\r\n\t\t\t},\r\n\t\t\tRESET_SUBMITFORM: {\r\n\t\t\t\tactions: 'resetForm',\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n\t{\r\n\t\tactions: {\r\n\t\t\tresetContext: assign({\r\n\t\t\t\tapiUrl: (context, event: any) => event.apiUrl || context.apiUrl,\r\n\t\t\t\tquery: (context, event: any) => event.query || context.query,\r\n\t\t\t\tresults: (context, event: any) => event.model || context.results,\r\n\t\t\t}),\r\n\t\t\tupdateUrl: (context, event) => {\r\n\t\t\t\tif (context.querystring) {\r\n\t\t\t\t\tcontext.router.push(`${context.url}?${context.querystring}`);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcontext.router.push(`${context.url}`);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tsetQuerystring: assign({\r\n\t\t\t\tquerystring: (context, event) => {\r\n\t\t\t\t\tconst querystring = createQueryString({\r\n\t\t\t\t\t\tquery: context.query,\r\n\t\t\t\t\t\tfetch: context.fetch,\r\n\t\t\t\t\t\taggregations: context.selectedAggregations,\r\n\t\t\t\t\t\torderBy: context.orderBy,\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\treturn querystring || '';\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t\tsetResponseData: assign({\r\n\t\t\t\tnumberOfHits: (context, event) => event.data.data.numberOfHits,\r\n\t\t\t\tsorting: (context, event) => event.data.data.sorting,\r\n\t\t\t\tresults: (context, event) => event.data.data.results,\r\n\t\t\t\taggregations: (context, event) => event.data.data.aggregations,\r\n\t\t\t}),\r\n\t\t\tresetFilters: assign({\r\n\t\t\t\tfetch: (context, event) => context.numberOfHitsPerPage,\r\n\t\t\t\tselectedAggregations: (context, event) => null,\r\n\t\t\t}),\r\n\t\t\tquerySearch: assign({\r\n\t\t\t\tfetch: (context, event) => context.numberOfHitsPerPage,\r\n\t\t\t\tquery: (context, event) => event.query,\r\n\t\t\t}),\r\n\t\t\tloadMore: assign({\r\n\t\t\t\tfetch: (context, event) => event.fetch,\r\n\t\t\t}),\r\n\t\t\tfilterChange: assign({\r\n\t\t\t\tfetch: (context, event) => context.numberOfHitsPerPage,\r\n\t\t\t\tselectedAggregations: (context, event) => {\r\n\t\t\t\t\treturn event.aggregations;\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t\tsort: assign({\r\n\t\t\t\tfetch: (context, event) => context.numberOfHitsPerPage,\r\n\t\t\t\torderBy: (context, event) => event.orderBy,\r\n\t\t\t}),\r\n\t\t\tresetForm: assign({\r\n\t\t\t\tsubmitResponse: (context, event) => event.submitResponse,\r\n\t\t\t}),\r\n\t\t},\r\n\t}\r\n);\r\n","/**\r\n * ValfrihetModal\r\n */\r\n\r\nimport React, { useEffect, useState } from 'react';\r\nimport {\r\n\tButton,\r\n\tErrorSpan,\r\n\tField,\r\n\tForm,\r\n\tIcon,\r\n\tLabel,\r\n\tModal,\r\n} from 'ui-component-library/base';\r\n\r\ninterface Props {\r\n\theading?: string;\r\n\r\n\tpreamble?: string;\r\n\r\n\tbuttonText?: string;\r\n\r\n\tcloseModal: Function;\r\n\r\n\tfilters?: any;\r\n\r\n\tapiUrl?: string;\r\n\r\n\tstate: any;\r\n\r\n\tsend: any;\r\n}\r\n\r\nconst ValfrihetModal: React.FC = ({\r\n\theading,\r\n\tpreamble,\r\n\tbuttonText,\r\n\tfilters,\r\n\tstate,\r\n\tsend,\r\n\tcloseModal,\r\n\tapiUrl,\r\n}) => {\r\n\tconst [email, setEmail] = useState('');\r\n\r\n\tconst EMAIL_REGEX =\r\n\t\t/(?:[a-z0-9+!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])/gi;\r\n\r\n\treturn (\r\n\t\t {\r\n\t\t\t\tsend('RESET_SUBMITFORM', {\r\n\t\t\t\t\tsubmitResponse: { heading: '', text: '' },\r\n\t\t\t\t});\r\n\t\t\t\tcloseModal();\r\n\t\t\t}}\r\n\t\t\tcloseBtnLabel={'Stäng'}\r\n\t\t>\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t

    \r\n\t\t\t\t\t\t{state.context.submitResponse.heading\r\n\t\t\t\t\t\t\t? state.context.submitResponse.heading\r\n\t\t\t\t\t\t\t: heading}\r\n\t\t\t\t\t

    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t

    \r\n\t\t\t\t\t\t{state.context.submitResponse.text\r\n\t\t\t\t\t\t\t? state.context.submitResponse.text\r\n\t\t\t\t\t\t\t: preamble}\r\n\t\t\t\t\t

    \r\n\t\t\t\t\t{!state.context.submitResponse.heading ? (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t{filters && (\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t{filters.map((filter: any) => filter.bucketName).join(', ')}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tsend('SUBMIT', {\r\n\t\t\t\t\t\t\t\t\t\tsubmitApiUrl: apiUrl ?? '',\r\n\t\t\t\t\t\t\t\t\t\temail: email,\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\tonChange={(e: { name: string; value: string }) => {\r\n\t\t\t\t\t\t\t\t\tsetEmail(e.value);\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t{state.matches('submitting') ? (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{buttonText}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tsend('RESET_SUBMITFORM', {\r\n\t\t\t\t\t\t\t\t\t\tsubmitResponse: { heading: '', text: '' },\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tcloseModal();\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\tStäng\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)}\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default ValfrihetModal;\r\n","/**\r\n * ValfrihetSearchPage\r\n */\r\n\r\nimport clsx from 'clsx';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { useMachine } from '@xstate/react';\r\nimport {\r\n\tAggregationsModel,\r\n\tSortingOptionModel,\r\n\tValfrihetStartPageModel,\r\n} from 'types';\r\nimport {\r\n\tButton,\r\n\tButtonSupportive,\r\n\tCell,\r\n\tFilterChip,\r\n\tGrid,\r\n\tIcon,\r\n\tIntroBlock,\r\n\tMultiselectDropdown,\r\n\tMultiselectOption,\r\n\tSearchField,\r\n\tText,\r\n} from 'ui-component-library/base';\r\nimport { ValfrihetAdBlock } from 'ui-component-library/uhmse';\r\nimport queryString from 'query-string';\r\nimport { valfrihetMachine } from 'state-machines/valfrihet.machine';\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport SearchSortList from 'components/SearchSortList/SearchSortList';\r\nimport { useFirstRender } from 'ui-component-library/hooks';\r\nimport { getActiveAggregations } from 'utils/helpers';\r\nimport Link from 'components/Link';\r\nimport { useSelector } from 'react-redux';\r\nimport { selectContent, selectMetaData } from 'store/modules/model';\r\nimport ValfrihetMonitorModal from 'components/ValfrihetMonitorModal';\r\n\r\ntype SelectedFilterType = {\r\n\tbucketId: string;\r\n\tbucketName: string;\r\n\tselectedBuckets: number;\r\n};\r\n\r\nconst getSelectedFilters = (\r\n\tfilters: AggregationsModel[]\r\n): SelectedFilterType[] => {\r\n\tlet selectedFilters: SelectedFilterType[] = [];\r\n\r\n\tfilters.forEach((filter) => {\r\n\t\tfilter.buckets.forEach((bucket, index) => {\r\n\t\t\tif (bucket.selected) {\r\n\t\t\t\tselectedFilters.push({\r\n\t\t\t\t\tbucketId: `${filter.path}-${index}`,\r\n\t\t\t\t\tbucketName: bucket.name || bucket.term,\r\n\t\t\t\t\tselectedBuckets: filter.selectedBuckets,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\r\n\treturn selectedFilters;\r\n};\r\n\r\nconst ValfrihetStartPage: React.FC = ({\r\n\turl: defaultUrl,\r\n\tapiUrl,\r\n\tloginButton,\r\n\theading,\r\n\tpreamble,\r\n\tintroBlock,\r\n\tsubNavigation,\r\n\tnumberOfHitsPerPage,\r\n\tsearchPlaceholder,\r\n\tsearchResult,\r\n\tshowMoreButtonText,\r\n\tsearchMonitor,\r\n}) => {\r\n\tconst [showMoreFilters, setShowMoreFilters] = useState(false);\r\n\tconst [modal, setModal] = useState(false);\r\n\r\n\tconst pageContent = useSelector(selectContent);\r\n\tconst metaData = useSelector(selectMetaData);\r\n\tconst location = useLocation();\r\n\tconst { query } = queryString.parse(location.search);\r\n\tconst history = useHistory();\r\n\tconst isFirstRender = useFirstRender();\r\n\tconst [state, send] = useMachine(valfrihetMachine, {\r\n\t\tcontext: {\r\n\t\t\tapiUrl: apiUrl,\r\n\t\t\tquery: query as string,\r\n\t\t\tsorting: searchResult?.sorting,\r\n\t\t\tresults: searchResult?.results || [],\r\n\t\t\taggregations: searchResult?.aggregations,\r\n\t\t\tselectedAggregations:\r\n\t\t\t\tsearchResult?.aggregations &&\r\n\t\t\t\tgetActiveAggregations(searchResult?.aggregations),\r\n\t\t\tfetch: searchResult?.fetch,\r\n\t\t\tnumberOfHitsPerPage: numberOfHitsPerPage,\r\n\t\t\trouter: history,\r\n\t\t\tnumberOfHits: searchResult?.numberOfHits,\r\n\t\t},\r\n\t});\r\n\r\n\tconst { fetch, orderBy, results, sorting, aggregations, numberOfHits } =\r\n\t\tstate.context || {};\r\n\r\n\tconst [filters, setFilters] = useState(aggregations || []);\r\n\r\n\tconst onQueryChange = (e: any) => {\r\n\t\tsend('QUERY_SEARCH', {\r\n\t\t\tquery: e.searchfieldValfrihetStartPage,\r\n\t\t});\r\n\t};\r\n\r\n\tconst resetFilters = () => {\r\n\t\tconst newFilterObj: AggregationsModel[] = JSON.parse(\r\n\t\t\tJSON.stringify(filters)\r\n\t\t);\r\n\t\tsend('RESET_FILTERS');\r\n\t\tnewFilterObj.forEach((filter) =>\r\n\t\t\tfilter.buckets.forEach((bucket, index) => {\r\n\t\t\t\tbucket.selected = false;\r\n\t\t\t\t--filter.selectedBuckets;\r\n\t\t\t})\r\n\t\t);\r\n\r\n\t\tsetFilters(newFilterObj);\r\n\t};\r\n\r\n\tconst filterOnChange = (\r\n\t\te?: React.FormEvent,\r\n\t\tuncheckFilter?: string\r\n\t) => {\r\n\t\tconst newFilterObj: AggregationsModel[] = JSON.parse(\r\n\t\t\tJSON.stringify(filters)\r\n\t\t);\r\n\r\n\t\tif (e) {\r\n\t\t\tconst { id, name, checked } = e.currentTarget;\r\n\t\t\tnewFilterObj.forEach((filter) =>\r\n\t\t\t\tfilter.buckets.forEach((bucket, index) => {\r\n\t\t\t\t\tif (filter.path === name && `${filter.path}-${index}` === id) {\r\n\t\t\t\t\t\tbucket.selected = checked;\r\n\t\t\t\t\t\tif (!checked) {\r\n\t\t\t\t\t\t\t--filter.selectedBuckets;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t++filter.selectedBuckets;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t} else if (uncheckFilter) {\r\n\t\t\tnewFilterObj.forEach((filter) =>\r\n\t\t\t\tfilter.buckets.forEach((bucket, index) => {\r\n\t\t\t\t\tif (`${filter.path}-${index}` === uncheckFilter) {\r\n\t\t\t\t\t\tbucket.selected = false;\r\n\t\t\t\t\t\t--filter.selectedBuckets;\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tsend('FILTER_CHANGE', {\r\n\t\t\taggregations: newFilterObj,\r\n\t\t});\r\n\r\n\t\tsetFilters(newFilterObj);\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (query && query.length > 0) {\r\n\t\t\tif (window.dataLayer && window.dataLayer.push) {\r\n\t\t\t\twindow.dataLayer.push({\r\n\t\t\t\t\tevent: 'hluAdSearch',\r\n\t\t\t\t\tsearchQuery: query,\r\n\t\t\t\t\ttotalSearchResults: numberOfHits,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// if (aggregations) {\r\n\t\t// \tsend('FILTER_CHANGE', {\r\n\t\t// \t\taggregations: aggregations,\r\n\t\t// \t});\r\n\r\n\t\t// \taggregations && setFilters(aggregations);\r\n\t\t// }\r\n\t}, [numberOfHits]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isFirstRender && window.dataLayer && window.dataLayer.push) {\r\n\t\t\twindow.dataLayer.push({\r\n\t\t\t\tevent: 'Pageview',\r\n\t\t\t\tpagePath: `${location.pathname + location.search}`,\r\n\t\t\t\tpageTitle: metaData?.title,\r\n\t\t\t\tpageType: pageContent?.modelType,\r\n\t\t\t});\r\n\t\t\t// Reset GTM scroll-tracker\r\n\t\t\tif (window.__ScrollTracker) {\r\n\t\t\t\twindow.__ScrollTracker.reset();\r\n\t\t\t}\r\n\t\t}\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!isFirstRender) {\r\n\t\t\tsend('RESET', {\r\n\t\t\t\tquery: searchResult?.query,\r\n\t\t\t\tresults: searchResult,\r\n\t\t\t});\r\n\r\n\t\t\tsend('SEARCH', {\r\n\t\t\t\tquery,\r\n\t\t\t\tfetch: numberOfHitsPerPage,\r\n\t\t\t});\r\n\t\t}\r\n\t\t// eslint-disable-next-line\r\n\t}, [defaultUrl]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!isFirstRender) {\r\n\t\t\tif (query != null && query !== state.context.query) {\r\n\t\t\t\tsend('INIT', {\r\n\t\t\t\t\tquery,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// eslint-disable-next-line\r\n\t}, [query]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isFirstRender) {\r\n\t\t\tfilters &&\r\n\t\t\t\tfilters\r\n\t\t\t\t\t.filter((f) => f.hiddenByDefault)\r\n\t\t\t\t\t.map((f) => {\r\n\t\t\t\t\t\tf.buckets.map((b) => {\r\n\t\t\t\t\t\t\tb.selected && setShowMoreFilters(true);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t}\r\n\t});\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{modal && searchMonitor && (\r\n\t\t\t\t setModal(false)}\r\n\t\t\t\t\tstate={state}\r\n\t\t\t\t\tsend={send}\r\n\t\t\t\t\t{...searchMonitor}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{introBlock?.heading && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{introBlock.icon && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{introBlock?.preamble && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{introBlock?.preamble}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{loginButton?.text} \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t{subNavigation && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t{subNavigation.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)}\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{heading && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{preamble && {preamble}}\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\te.value === '' &&\r\n\t\t\t\t\t\t\t\tsend('QUERY_SEARCH', {\r\n\t\t\t\t\t\t\t\t\tquery: '',\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{filters\r\n\t\t\t\t\t\t\t\t\t?.filter((a) => !a.hiddenByDefault)\r\n\t\t\t\t\t\t\t\t\t.map((filter, i) => (\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t= 10 && true}\r\n\t\t\t\t\t\t\t\t\t\t\t\tid={`${filter.path}-${i}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\tlegend={filter.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"bg-white\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedBuckets={filter.selectedBuckets}\r\n\t\t\t\t\t\t\t\t\t\t\t\tdropdownClassName=\"left-4 right-4 md:right-auto md:left-auto\"\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{filter.buckets.map((bucket, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{bucket.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{showMoreFilters && (\r\n\t\t\t\t\t\t\t\t setShowMoreFilters(false)}\r\n\t\t\t\t\t\t\t\t\tdata-filter-action=\"Hide filters\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\tDölj fler filter\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{showMoreFilters && (\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t{filters\r\n\t\t\t\t\t\t\t\t\t\t?.filter((a) => a.hiddenByDefault)\r\n\t\t\t\t\t\t\t\t\t\t.map((filter, i) => (\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t= 10 && true}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tid={`${filter.path}-${i}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tlegend={filter.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"bg-white\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tselectedBuckets={filter.selectedBuckets}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdropdownClassName=\"left-4 right-4 md:right-auto md:left-auto\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{filter.buckets.map((bucket, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{bucket.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{!showMoreFilters && (\r\n\t\t\t\t\t\t\t\t setShowMoreFilters(true)}\r\n\t\t\t\t\t\t\t\t\tdata-filter-action=\"Show more filters\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\tVisa fler filter\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{filters &&\r\n\t\t\t\t\t\t\t\t\tgetSelectedFilters(filters).map((item, i) => (\r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\tfilterOnChange(undefined, item.bucketId);\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"mr-4 mb-2\"\r\n\t\t\t\t\t\t\t\t\t\t\tkey={i}\r\n\t\t\t\t\t\t\t\t\t\t\tdata-button-action=\"Rensa filter\"\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\tRensa\r\n\t\t\t\t\t\t\t\t\t\t\t{item.bucketName}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t{filters && getSelectedFilters(filters).length > 0 && (\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tresetFilters();\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\tRensa filter{' '}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{filters && getSelectedFilters(filters).length > 0 && (\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\t\t\t\t\tsetModal(true);\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\tdata-button-action=\"Monitor search\"\r\n\t\t\t\t\t\t\t\t\tclassName=\"mt-6 pl-3 pr-2\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\tBevaka sökning\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{numberOfHits && numberOfHits > 0 ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{numberOfHits} annons\r\n\t\t\t\t\t\t\t\t\t{numberOfHits > 1 ? 'er' : ''}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tInget resultat.\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t{sorting && numberOfHits > 1 && (\r\n\t\t\t\t\t\t\t\t option.path === orderBy\r\n\t\t\t\t\t\t\t\t\t\t)?.name || sorting.placeholder\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t{sorting.options.map(\r\n\t\t\t\t\t\t\t\t\t\t(option: SortingOptionModel, index: number) => {\r\n\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsend('SORT', {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\torderBy: option.path,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata-filter={sorting.placeholder}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={option.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={index}\r\n\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{option.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t{results?.length > 0 &&\r\n\t\t\t\t\t\t\tresults.map((value: any) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\r\n\t\t\t\t\t\t{numberOfHits > fetch && (\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\t\t\t\t\tsend('LOAD_MORE', {\r\n\t\t\t\t\t\t\t\t\t\t\tfetch: fetch + numberOfHitsPerPage,\r\n\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t{showMoreButtonText}\r\n\t\t\t\t\t\t\t\t\t{state.value === 'loading' && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t{state.value !== 'loading' && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default ValfrihetStartPage;\r\n","import UpphandlingsmyndighetenStartPage from './StartPage';\r\nimport StandardPage from './StandardPage';\r\nimport ErrorPage404 from './ErrorPage404';\r\n/* PLOP_INJECT_IMPORT */\r\nimport WebGuidanceArticlePage from './WebGuidanceArticlePage';\r\nimport WebGuidanceLandingPage from './WebGuidanceLandingPage';\r\nimport CriteriaServiceRequirementPageV2 from './CriteriaServiceRequirementPageV2';\r\nimport CriteriaServiceComparisonPage from './CriteriaServiceComparisonPage';\r\nimport QuestionPortalDialogPage from './QuestionPortalDialogPage';\r\nimport QuestionPortalCategoryPage from './QuestionPortalCategoryPage';\r\nimport QuestionPortalStartPage from './QuestionPortalStartPage';\r\nimport UpphandlingsmyndighetenPublicationPage from './PublicationPage';\r\nimport UpphandlingsmyndighetenPublicationsListingPage from './PublicationsListingPage';\r\nimport UpphandlingsmyndighetenCalendarEventPage from './CalendarEventPage';\r\nimport AttachmentPage from './AttachmentPage';\r\nimport RiskAnalysisPage from './RiskAnalysisPage';\r\nimport RiskAnalysisServicePage from './RiskAnalysisServicePage';\r\nimport CriteriaServiceRequirementPage from './CriteriaServiceRequirementPage';\r\nimport ProductSubGroupV2 from './ProductSubGroupPageV2';\r\nimport ProductSubGroup from './ProductSubGroupPage';\r\nimport CriteriaServicePage from './CriteriaServicePage';\r\nimport ProductGroupV2 from './ProductGroupPageV2';\r\nimport ProductGroup from './ProductGroupPage';\r\nimport PublicationsListingPage from './PublicationsListingPage';\r\nimport UpphandlingsmyndighetenSectionPage from './SectionPage';\r\nimport UpphandlingsmyndighetenNewsListingPage from './NewsListingPage';\r\nimport UpphandlingsmyndighetenCalendarEventListingPage from './CalendarEventListingPage';\r\nimport UpphandlingsmyndighetenInspirationPage from './InspirationPage';\r\nimport UpphandlingsmyndighetenSearchPage from './SearchPage';\r\nimport UpphandlingsmyndighetenSearchPageAdvance from './SearchPageAdvance';\r\nimport UpphandlingsmyndighetenArticlePage from './ArticlePage';\r\nimport UpphandlingsmyndighetenNavigationPage from './NavigationPage';\r\nimport UpphandlingsmyndighetenProcessPage from './ProcessPage';\r\nimport UpphandlingsmyndighetenStatisticServicePage from './StatisticServicePage';\r\nimport StatisticServiceStartPage from './StatisticServiceStartPage';\r\nimport StatisticServiceArticlePage from './StatisticServiceArticlePage';\r\nimport StatisticServiceArticleListingPage from './StatisticServiceArticleListingPage';\r\nimport StatisticServiceNavigationPage from './StatisticServiceNavigationPage';\r\nimport StatisticServiceSectionPage from './StatisticServiceSectionPage';\r\nimport ValfrihetArticlePage from './ValfrihetArticlePage';\r\nimport ValfrihetStartPage from './ValfrihetStartPage';\r\nimport ValfrihetAdPage from './ValfrihetAdPage';\r\nimport ValfrihetMonitorPage from './ValfrihetMonitorPage';\r\n\r\nimport { ContentTypes } from 'types';\r\n\r\nconst Pages: any = {\r\n\tStandardPage,\r\n\tErrorPage404,\r\n\t/* PLOP_INJECT_PAGE */\r\n\tWebGuidanceArticlePage,\r\n\tWebGuidanceLandingPage,\r\n\tProductSubGroupV2,\r\n\tProductGroupV2,\r\n\tCriteriaServiceRequirementPageV2,\r\n\tCriteriaServiceComparisonPage,\r\n\tQuestionPortalDialogPage,\r\n\tQuestionPortalCategoryPage,\r\n\tQuestionPortalStartPage,\r\n\tUpphandlingsmyndighetenSectionPage,\r\n\tUpphandlingsmyndighetenPublicationPage,\r\n\tUpphandlingsmyndighetenPublicationsListingPage,\r\n\tUpphandlingsmyndighetenCalendarEventPage,\r\n\tAttachmentPage,\r\n\tRiskAnalysisPage,\r\n\tRiskAnalysisServicePage,\r\n\tCriteriaServiceRequirementPage,\r\n\tProductSubGroup,\r\n\tCriteriaServicePage,\r\n\tProductGroup,\r\n\tPublicationsListingPage,\r\n\tUpphandlingsmyndighetenNewsListingPage,\r\n\tUpphandlingsmyndighetenCalendarEventListingPage,\r\n\tUpphandlingsmyndighetenStartPage,\r\n\tUpphandlingsmyndighetenInspirationPage,\r\n\tUpphandlingsmyndighetenSearchPage,\r\n\tUpphandlingsmyndighetenSearchPageAdvance,\r\n\tUpphandlingsmyndighetenArticlePage,\r\n\tUpphandlingsmyndighetenNavigationPage,\r\n\tUpphandlingsmyndighetenProcessPage,\r\n\tUpphandlingsmyndighetenStatisticServicePage,\r\n\tStatisticServiceStartPage,\r\n\tStatisticServiceArticlePage,\r\n\tStatisticServiceArticleListingPage,\r\n\tStatisticServiceNavigationPage,\r\n\tStatisticServiceSectionPage,\r\n\tValfrihetArticlePage,\r\n\tValfrihetAdPage,\r\n\tValfrihetStartPage,\r\n\tValfrihetMonitorPage,\r\n};\r\n\r\nexport const PagesMapper = (pageContent: ContentTypes | undefined) => {\r\n\tif (pageContent) {\r\n\t\tlet page: any = Pages[pageContent.modelType];\r\n\r\n\t\tif (page) {\r\n\t\t\treturn page;\r\n\t\t}\r\n\t}\r\n\r\n\treturn ErrorPage404;\r\n};\r\n","/**\r\n * ValfrihetAdPage\r\n */\r\n\r\nimport EpiFragments from 'components/EpiFragments';\r\nimport Link from 'components/Link';\r\nimport Text from 'components/Text';\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport React from 'react';\r\nimport { ValfrihetAdPageModel } from 'types';\r\nimport { Button, Cell, Grid, Icon } from 'ui-component-library/base';\r\n\r\nconst ValfrihetAdPage: React.FC = ({\r\n\theading,\r\n\tpreamble,\r\n\tshowBackLink,\r\n\tupdated,\r\n\tlogo,\r\n\tbutton,\r\n\tuhmNotice,\r\n\tregionType,\r\n\tregionName,\r\n\tbusinessAreas,\r\n\tstartDate,\r\n\tendDate,\r\n\tcontactPersons,\r\n\tregistryNo,\r\n}) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\t{showBackLink && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t window.history.back()}\r\n\t\t\t\t\t\t\t\tclassName=\"text-teal flex items-center\"\r\n\t\t\t\t\t\t\t\tdata-cid=\"Back button\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tTillbaka till din sökning\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t{heading && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{heading}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t{updated && (\r\n\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t\t\tSenast uppdaterad: {updated}\r\n\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t{preamble && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{preamble}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t{button && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{button.text}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{uhmNotice && (\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    {regionType}
    \r\n\t\t\t\t\t\t\t\t\t
    {regionName}
    \r\n\t\t\t\t\t\t\t\t\t
    Verksamhetsområde
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t\t{businessAreas?.map((businessArea: any, i: number) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    • {businessArea}
    • \r\n\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t{startDate && (\r\n\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t
    Startdatum
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    {startDate}
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t{endDate && (\r\n\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t
    Slutdatum
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    {endDate}
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t{registryNo && (\r\n\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t
    Diarienummer
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    {registryNo}
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{contactPersons.length > 1\r\n\t\t\t\t\t\t\t\t\t\t? 'Kontaktpersoner'\r\n\t\t\t\t\t\t\t\t\t\t: 'Kontaktperson'}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t{contactPersons.map((cp: any, i: number) => (\r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      {cp.name}

      \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{cp.phone}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{cp.email}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default ValfrihetAdPage;\r\n","/**\r\n * ValfrihetMonitorPage\r\n */\r\n\r\nimport BaseLayout from 'layouts/BaseLayout';\r\nimport React from 'react';\r\nimport { ValfrihetMonitorPageModel } from 'types';\r\nimport { Button, Cell, Grid, Icon, Link } from 'ui-component-library/base';\r\n\r\nconst ValfrihetMonitorPage: React.FC = ({\r\n\theading,\r\n\tpreamble,\r\n\tbuttonText,\r\n\tbuttonLink,\r\n}) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t

    {heading}

    \r\n\t\t\t\t
    \r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t

    {preamble}

    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{buttonText}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default ValfrihetMonitorPage;\r\n","/**\r\n * RouteHandler\r\n */\r\n\r\nimport React, { useRef, useState, useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { useParams, useHistory, useLocation } from 'react-router-dom';\r\nimport { PagesMapper } from 'pages';\r\nimport ErrorPage404 from 'pages/ErrorPage404';\r\nimport { Icon } from 'ui-component-library/base';\r\nimport {\r\n\tselectModel,\r\n\tselectContent,\r\n\tselectMetaData,\r\n\tfetchPage,\r\n\tselectTheme,\r\n\tselectLanguageSelector,\r\n} from 'store/modules/model';\r\nimport { updateRenderingState, selectReact } from 'store/modules/react';\r\nimport { RenderingStates, ThemeTypes } from './types';\r\nimport { useFirstRender } from 'ui-component-library/hooks';\r\n\r\n/** Loads data and renders the correct page based on the route. */\r\nconst RouteHandler: React.FC = () => {\r\n\tlet { siteRoute } = useParams();\r\n\tconst history = useHistory();\r\n\tlet querystring = useLocation().search;\r\n\tlet hashstring = useLocation().hash;\r\n\tsiteRoute = siteRoute || '/';\r\n\tconst ariaLiveRef = useRef(null);\r\n\tconst emptyFocusDivRef = useRef(null);\r\n\tconst pageRef = useRef(null);\r\n\tconst { action } = useHistory();\r\n\tconst dispatch = useDispatch();\r\n\tconst { error, loading } = useSelector(selectModel);\r\n\tconst pageContent = useSelector(selectContent);\r\n\tconst metaData = useSelector(selectMetaData);\r\n\tconst languages = useSelector(selectLanguageSelector);\r\n\tconst theme = useSelector(selectTheme);\r\n\tconst { renderingState, apiUrl } = useSelector(selectReact);\r\n\tconst [loaderVisible, setLoaderVisible] = useState(false);\r\n\tconst Page = PagesMapper(pageContent);\r\n\tconst isFirstRender = useFirstRender();\r\n\r\n\t// Fix siteRoute so we don't request '//'.\r\n\tif (\r\n\t\tapiUrl &&\r\n\t\tsiteRoute &&\r\n\t\tapiUrl.charAt(apiUrl.length - 1) === '/' &&\r\n\t\tsiteRoute.charAt(0) === '/'\r\n\t) {\r\n\t\tsiteRoute = siteRoute.substr(1);\r\n\t}\r\n\r\n\t// Load the page\r\n\tuseEffect(() => {\r\n\t\t// First hydrate rendering we wont be doing any request, becase we already have the data from the SSR.\r\n\t\tif (renderingState !== RenderingStates.ClientSide && pageContent) {\r\n\t\t\tif (window && languages) {\r\n\t\t\t\twindow.__culture = languages.culture;\r\n\t\t\t}\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Send a history.push state preventFetch=true to prevent doing any request when the url is updated\r\n\t\tif (\r\n\t\t\t(history.location.state as any)?.preventFetch &&\r\n\t\t\thistory.action === 'PUSH'\r\n\t\t) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tdispatch(fetchPage(apiUrl, siteRoute, querystring, hashstring));\r\n\t\t// eslint-disable-next-line\r\n\t}, [apiUrl, siteRoute, dispatch]);\r\n\r\n\t// Set renderingState to clientside after the first (hydration) render.\r\n\tuseEffect(() => {\r\n\t\tdispatch(updateRenderingState(RenderingStates.ClientSide));\r\n\t\t// eslint-disable-next-line\r\n\t}, []);\r\n\r\n\t// If we have been waiting for the response more than 400ms we display the loader\r\n\tuseEffect(() => {\r\n\t\tlet loaderTimeout: any;\r\n\r\n\t\tif (loading) {\r\n\t\t\tloaderTimeout = setTimeout(() => {\r\n\t\t\t\t// Tell sighted users\r\n\t\t\t\tsetLoaderVisible(true);\r\n\t\t\t\tif (ariaLiveRef.current) {\r\n\t\t\t\t\tariaLiveRef.current.innerHTML = 'Sidan laddar';\r\n\t\t\t\t}\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tif (ariaLiveRef.current) {\r\n\t\t\t\t\t\tariaLiveRef.current.innerHTML = '';\r\n\t\t\t\t\t}\r\n\t\t\t\t}, 500);\r\n\t\t\t}, 400);\r\n\t\t} else {\r\n\t\t\tsetLoaderVisible(false);\r\n\t\t\tif (action === 'PUSH' && !hashstring) {\r\n\t\t\t\twindow.scrollTo(0, 0);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn () => {\r\n\t\t\tif (loaderTimeout) {\r\n\t\t\t\tclearTimeout(loaderTimeout);\r\n\t\t\t}\r\n\t\t};\r\n\t\t// eslint-disable-next-line\r\n\t}, [loading]);\r\n\r\n\t// Page is loaded\r\n\tuseEffect(() => {\r\n\t\t// if (renderingState !== RenderingStates.ClientSide && pageContent) {\r\n\t\t// \treturn;\r\n\t\t// }\r\n\r\n\t\tif (pageContent) {\r\n\t\t\tif (ariaLiveRef.current) {\r\n\t\t\t\tariaLiveRef.current.innerHTML = 'Sidan har laddats';\r\n\t\t\t}\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tif (ariaLiveRef.current) {\r\n\t\t\t\t\tariaLiveRef.current.innerHTML = '';\r\n\t\t\t\t}\r\n\t\t\t}, 500);\r\n\r\n\t\t\tif (\r\n\t\t\t\t!isFirstRender &&\r\n\t\t\t\twindow.CookieInformation &&\r\n\t\t\t\twindow.CookieInformation.loadConsent\r\n\t\t\t) {\r\n\t\t\t\twindow.CookieInformation.loadConsent();\r\n\t\t\t}\r\n\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tif (pageRef.current) {\r\n\t\t\t\t\tlet x = window.scrollX;\r\n\t\t\t\t\tlet y = window.scrollY;\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tdocument.hasFocus() &&\r\n\t\t\t\t\t\tdocument.activeElement === emptyFocusDivRef.current\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tconst firstH1 = pageRef.current.querySelector('h1');\r\n\t\t\t\t\t\tif (firstH1) {\r\n\t\t\t\t\t\t\tfirstH1.setAttribute('tabindex', -1);\r\n\t\t\t\t\t\t\tfirstH1.style.outline = 'none';\r\n\t\t\t\t\t\t\tfirstH1.focus();\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tpageRef.current.focus();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\twindow.scrollTo(x, y);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (hashstring) {\r\n\t\t\t\t\tconst targetElement = document.getElementById(\r\n\t\t\t\t\t\thashstring.substring(1)\r\n\t\t\t\t\t);\r\n\t\t\t\t\tif (targetElement) {\r\n\t\t\t\t\t\twindow.scrollTo({\r\n\t\t\t\t\t\t\ttop: targetElement.offsetTop,\r\n\t\t\t\t\t\t\tbehavior: 'smooth',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}, 1200);\r\n\r\n\t\t\tif (\r\n\t\t\t\twindow.dataLayer &&\r\n\t\t\t\twindow.dataLayer.push &&\r\n\t\t\t\tpageContent.modelType !== 'UpphandlingsmyndighetenSearchPage' &&\r\n\t\t\t\tpageContent.modelType !== 'UpphandlingsmyndighetenSearchPageAdvance' &&\r\n\t\t\t\tpageContent.modelType !== 'ValfrihetStartPage' &&\r\n\t\t\t\tpageContent.modelType !== 'QuestionPortalDialogPage' &&\r\n\t\t\t\tpageContent.modelType !== 'CriteriaServiceRequirementPageV2'\r\n\t\t\t) {\r\n\t\t\t\twindow.dataLayer.push({\r\n\t\t\t\t\texpandedBlock: undefined,\r\n\t\t\t\t});\r\n\t\t\t\twindow.dataLayer.push({\r\n\t\t\t\t\tevent: 'Pageview',\r\n\t\t\t\t\tpagePath: window.location.pathname || pageContent.url,\r\n\t\t\t\t\tpageTitle: metaData?.title,\r\n\t\t\t\t\tpageType: pageContent.modelType,\r\n\t\t\t\t});\r\n\r\n\t\t\t\t// Reset GTM scroll-tracker\r\n\t\t\t\tif (window.__ScrollTracker) {\r\n\t\t\t\t\twindow.__ScrollTracker.reset();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}, [pageContent, metaData]);\r\n\r\n\tconst setPageTheme = (themeClass: ThemeTypes) => {\r\n\t\tdocument.body.className = '';\r\n\t\tdocument.body.classList.add('theme-uhm', themeClass);\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (theme?.color === 'default') {\r\n\t\t\tsetPageTheme('purple');\r\n\t\t} else if (theme?.color != null) {\r\n\t\t\tsetPageTheme(theme.color);\r\n\t\t} else {\r\n\t\t\tsetPageTheme('purple');\r\n\t\t}\r\n\t}, [theme?.color]);\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{loading && loaderVisible && (\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t)}\r\n\t\t\t{error && error.indexOf('404') !== -1 && }\r\n\t\t\t{pageContent && !error && (\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t)}\r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\r\n\t);\r\n};\r\nexport { RouteHandler };\r\n","import React, { useEffect, createContext } from 'react';\r\nimport './tailwind.output.css';\r\nimport './fonts.css';\r\nimport { useSelector } from 'react-redux';\r\nimport { Route, Switch } from 'react-router-dom';\r\nimport { useInterpret } from '@xstate/react';\r\nimport { RouteHandler } from './routeHandler';\r\nimport { useEpiEvents, useTabFocus } from 'hooks';\r\nimport { selectContent } from 'store/modules/model';\r\nimport { ContentTypes } from 'types';\r\nimport objectFitImages from 'object-fit-images';\r\nimport ClipboardJS from 'clipboard';\r\nimport { criteriaCartMachine } from 'state-machines/criteriaCart.machine';\r\n\r\ninterface PropsInterface {\r\n\tRouter: any;\r\n}\r\n\r\nexport const routePatterns = ['/:siteRoute*'];\r\n\r\n// Global xstate context.\r\nexport const GlobalStateContext = createContext({});\r\n\r\nconst getLocation = (pageContent: ContentTypes | undefined) => {\r\n\tlet location = '';\r\n\r\n\tif (pageContent?.url) {\r\n\t\tlocation = pageContent.url;\r\n\t} else if (typeof window !== 'undefined') {\r\n\t\tlocation = window.location.pathname;\r\n\t}\r\n\r\n\treturn location;\r\n};\r\n\r\nconst App: React.FC = ({ Router }) => {\r\n\tconst pageContent = useSelector(selectContent);\r\n\tconst location = getLocation(pageContent);\r\n\tconst criteriaCartService = useInterpret(criteriaCartMachine, {\r\n\t\tdevTools: true,\r\n\t});\r\n\tuseEpiEvents();\r\n\tuseTabFocus();\r\n\r\n\tuseEffect(() => {\r\n\t\tnew ClipboardJS('.clipboard');\r\n\r\n\t\t// Polyfill - Object-fit-images\r\n\t\tobjectFitImages(null);\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{routePatterns.map((routePattern) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default App;\r\n","/**\r\n * useTabFocus\r\n */\r\n\r\nimport { useEffect } from 'react';\r\n\r\nexport const useTabFocus = () => {\r\n\tuseEffect(() => {\r\n\t\tconst onKeyUp = (event: KeyboardEvent) => {\r\n\t\t\tconst el = event.target as Element;\r\n\t\t\tconst keyCode = event.keyCode ? event.keyCode : event.which;\r\n\r\n\t\t\tif (\r\n\t\t\t\t['a', 'button', 'input', 'textarea', 'select'].indexOf(\r\n\t\t\t\t\tel.tagName.toLowerCase()\r\n\t\t\t\t) !== -1 &&\r\n\t\t\t\t!el.hasAttribute('disabled') &&\r\n\t\t\t\tkeyCode === 9\r\n\t\t\t) {\r\n\t\t\t\tel.classList.add('usability--tab-focus');\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tconst onClick = (event: MouseEvent) => {\r\n\t\t\tconst el = event.target as Element;\r\n\r\n\t\t\tif (['input', 'textarea'].indexOf(el.tagName.toLowerCase()) !== -1) {\r\n\t\t\t\tel.classList.add('usability--tab-focus');\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tconst onBlur = (event: FocusEvent) => {\r\n\t\t\tconst el = event.target as Element;\r\n\r\n\t\t\tif (el.classList && el.classList.contains('usability--tab-focus')) {\r\n\t\t\t\tel.classList.remove('usability--tab-focus');\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tdocument.addEventListener('keyup', onKeyUp);\r\n\t\tdocument.addEventListener('click', onClick);\r\n\t\tdocument.addEventListener('blur', onBlur, true);\r\n\r\n\t\treturn () => {\r\n\t\t\tdocument.removeEventListener('keyup', onKeyUp);\r\n\t\t\tdocument.removeEventListener('click', onClick);\r\n\t\t\tdocument.removeEventListener('blur', onBlur, true);\r\n\t\t};\r\n\t}, []);\r\n};\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { Provider } from 'react-redux';\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport initStore from 'store';\r\nimport { initialState as reactInitialState } from 'store/modules/react';\r\nimport Application from './App';\r\nimport { RenderingStates } from './types';\r\nimport { getLCP, getFID, getCLS, getFCP, getTTFB } from 'web-vitals';\r\nimport 'formdata-polyfill';\r\nimport { inspect } from '@xstate/inspect';\r\n\r\nif (process.env.NODE_ENV === 'development') {\r\n\tif (\r\n\t\tprocess.env.REACT_APP_XSTATE_INSPECT === 'true' &&\r\n\t\ttypeof window !== 'undefined'\r\n\t) {\r\n\t\tinspect({\r\n\t\t\turl: 'https://statecharts.io/inspect',\r\n\t\t\tiframe: false,\r\n\t\t});\r\n\t}\r\n}\r\n\r\nif (process.env.REACT_APP_ENABLE_MOCKING === 'true') {\r\n\tconst { worker } = require('./mocks/browser');\r\n\tworker.start();\r\n}\r\n\r\n// Set default rendermethod and a basic model.\r\n// eslint-disable-next-line\r\nlet renderMethod = ReactDOM.render;\r\nlet model = {\r\n\thead: {},\r\n\treact: reactInitialState,\r\n};\r\n\r\n// Replace our basic model if one exitst on the window-object,\r\n// then we also change rendermethod to hydrate.\r\nif (window.__model) {\r\n\t// eslint-disable-next-line\r\n\trenderMethod = ReactDOM.hydrate;\r\n\tmodel = window.__model;\r\n\tmodel.react.renderingState = RenderingStates.Hydrate;\r\n}\r\n\r\nlet react = model.react;\r\ndelete model.react;\r\n\r\nconst preloadedState = {\r\n\treact,\r\n\tmodel: { model },\r\n};\r\n\r\nconst reportWebVitals = (onPerfEntry: any) => {\r\n\tgetCLS(onPerfEntry);\r\n\tgetFID(onPerfEntry);\r\n\tgetFCP(onPerfEntry);\r\n\tgetLCP(onPerfEntry);\r\n\tgetTTFB(onPerfEntry);\r\n};\r\n\r\n// Render the application to the DOM\r\nconst element = document.getElementById(react.containerId);\r\nif (element) {\r\n\trenderMethod(\r\n\t\t\r\n\t\t\t\r\n\t\t,\r\n\t\telement,\r\n\t\t() => reportWebVitals(console.log)\r\n\t);\r\n}\r\n","import {\r\n\tResponseResolver,\r\n\tRestRequest,\r\n\tDefaultRequestBody,\r\n\tRequestParams,\r\n\tRestContext,\r\n} from 'msw';\r\nimport criteria_column from './comparison-column.json';\r\n\r\nexport const getMockCriteriaColumnData: ResponseResolver<\r\n\tRestRequest,\r\n\tRestContext,\r\n\tany\r\n> = async (req, res, ctx) => {\r\n\tconst criteriaArea = req.url.searchParams.get('criteriaArea');\r\n\tconst productGroup = req.url.searchParams.get('productGroup');\r\n\tconst productSubGroup = req.url.searchParams.get('productSubGroup');\r\n\tconst criteriaName = req.url.searchParams.get('criteriaName');\r\n\tconst criteriaLevel = req.url.searchParams.get('criteriaLevel');\r\n\r\n\tlet criteriaData = JSON.parse(JSON.stringify(criteria_column));\r\n\r\n\tconst updateSelectedOption = (index: number, queryParam: string) => {\r\n\t\tcriteriaData.selects[index]?.options?.forEach((option: any) => {\r\n\t\t\tif (option.value === queryParam) {\r\n\t\t\t\toption.selected = true;\r\n\t\t\t} else {\r\n\t\t\t\toption.selected = false;\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\tif (\r\n\t\tcriteriaArea &&\r\n\t\t!productGroup &&\r\n\t\t!productSubGroup &&\r\n\t\t!criteriaName &&\r\n\t\t!criteriaLevel\r\n\t) {\r\n\t\tupdateSelectedOption(0, criteriaArea);\r\n\r\n\t\tcriteriaData.selects.forEach((select: any, index: number) => {\r\n\t\t\tif (index > 1) {\r\n\t\t\t\tselect.options = null;\r\n\t\t\t}\r\n\t\t});\r\n\t\tcriteriaData.criteriaInfo = null;\r\n\t} else if (\r\n\t\tcriteriaArea &&\r\n\t\tproductGroup &&\r\n\t\t!productSubGroup &&\r\n\t\t!criteriaName &&\r\n\t\t!criteriaLevel\r\n\t) {\r\n\t\tupdateSelectedOption(0, criteriaArea);\r\n\t\tupdateSelectedOption(1, productGroup);\r\n\r\n\t\tcriteriaData.selects.forEach((select: any, index: number) => {\r\n\t\t\tif (index > 2) {\r\n\t\t\t\tselect.options = null;\r\n\t\t\t}\r\n\t\t});\r\n\t\tcriteriaData.criteriaInfo = null;\r\n\t} else if (\r\n\t\tcriteriaArea &&\r\n\t\tproductGroup &&\r\n\t\tproductSubGroup &&\r\n\t\t!criteriaName &&\r\n\t\t!criteriaLevel\r\n\t) {\r\n\t\tupdateSelectedOption(0, criteriaArea);\r\n\t\tupdateSelectedOption(1, productGroup);\r\n\t\tupdateSelectedOption(2, productSubGroup);\r\n\t\tcriteriaData.selects.forEach((select: any, index: number) => {\r\n\t\t\tif (index > 3) {\r\n\t\t\t\tselect.options = null;\r\n\t\t\t}\r\n\t\t});\r\n\t\tcriteriaData.criteriaInfo = null;\r\n\t} else if (\r\n\t\tcriteriaArea &&\r\n\t\tproductGroup &&\r\n\t\tproductSubGroup &&\r\n\t\tcriteriaName &&\r\n\t\t!criteriaLevel\r\n\t) {\r\n\t\tupdateSelectedOption(0, criteriaArea);\r\n\t\tupdateSelectedOption(1, productGroup);\r\n\t\tupdateSelectedOption(2, productSubGroup);\r\n\t\tupdateSelectedOption(3, criteriaName);\r\n\t\tcriteriaData.criteriaInfo = null;\r\n\t} else if (\r\n\t\tcriteriaArea &&\r\n\t\tproductGroup &&\r\n\t\tproductSubGroup &&\r\n\t\tcriteriaName &&\r\n\t\tcriteriaLevel &&\r\n\t\tcriteriaLevel !== 'basniva'\r\n\t) {\r\n\t\tupdateSelectedOption(0, criteriaArea);\r\n\t\tupdateSelectedOption(1, productGroup);\r\n\t\tupdateSelectedOption(2, productSubGroup);\r\n\t\tupdateSelectedOption(3, criteriaName);\r\n\t\tupdateSelectedOption(4, criteriaLevel);\r\n\t} else if (\r\n\t\tcriteriaArea &&\r\n\t\tproductGroup &&\r\n\t\tproductSubGroup &&\r\n\t\tcriteriaName &&\r\n\t\tcriteriaLevel &&\r\n\t\tcriteriaLevel === 'basniva'\r\n\t) {\r\n\t\treturn res(ctx.status(404), ctx.body(''));\r\n\t}\r\n\r\n\tawait new Promise((resolve, reject) => {\r\n\t\tsetTimeout(() => {\r\n\t\t\tresolve();\r\n\t\t}, 1000);\r\n\t});\r\n\treturn res(ctx.status(200), ctx.json(criteriaData));\r\n};\r\n","import {\r\n\tResponseResolver,\r\n\tRestRequest,\r\n\tDefaultRequestBody,\r\n\tRequestParams,\r\n\tRestContext,\r\n} from 'msw';\r\nimport criteria_cart_data from './criteria-cart.json';\r\n\r\nexport const getMockCriteriaCartData: ResponseResolver<\r\n\tRestRequest,\r\n\tRestContext,\r\n\tany\r\n> = async (req, res, ctx) => {\r\n\tawait new Promise((resolve, reject) => {\r\n\t\tsetTimeout(() => {\r\n\t\t\tresolve();\r\n\t\t}, 1000);\r\n\r\n\t\tlet body = req.body as any;\r\n\r\n\t\tlet items: any = [];\r\n\t\tbody.criteriaDescriptors?.forEach((criteria: any, index: number) => {\r\n\t\t\tlet item = {\r\n\t\t\t\trequirementName: `Kriterie ${index}`,\r\n\t\t\t\tproductSubGroupName: criteria === '44321_sv' ? 'Ljudnivå' : 'Griskött',\r\n\t\t\t\trequirementLevelLevel:\r\n\t\t\t\t\tcriteria === '1234_sv'\r\n\t\t\t\t\t\t? 'Bas'\r\n\t\t\t\t\t\t: criteria === '5678_sv'\r\n\t\t\t\t\t\t? 'Spjutspets'\r\n\t\t\t\t\t\t: criteria === '7890_sv' || criteria === '44321_sv'\r\n\t\t\t\t\t\t? 'Avancerad'\r\n\t\t\t\t\t\t: '',\r\n\t\t\t\tremoveFromCartButtonText: 'Ta bort',\r\n\t\t\t\turl: '/kriteriesida',\r\n\t\t\t\twarningText: criteria === '5678_sv' ? 'Finns ej på Engelska' : null,\r\n\t\t\t\tcriteriaDescriptor: criteria,\r\n\t\t\t};\r\n\r\n\t\t\titems.push(item);\r\n\t\t});\r\n\t\tcriteria_cart_data.requirements.items = items;\r\n\t});\r\n\r\n\treturn res(ctx.status(200), ctx.body(JSON.stringify(criteria_cart_data)));\r\n};\r\n","export const sortTable = (\r\n\ttable: any,\r\n\torderBy?: string,\r\n\torderDirection: string = 'DESC'\r\n) => {\r\n\tif (!orderBy || !table.rows[0][orderBy]) {\r\n\t\treturn table;\r\n\t}\r\n\r\n\ttable.rows.sort((a: any, b: any) => {\r\n\t\tvar nameA = a[orderBy].toUpperCase();\r\n\t\tvar nameB = b[orderBy].toUpperCase();\r\n\t\tif (nameA < nameB) {\r\n\t\t\treturn orderDirection === 'ASC' ? -1 : 1;\r\n\t\t}\r\n\t\tif (nameA > nameB) {\r\n\t\t\treturn orderDirection === 'ASC' ? 1 : -1;\r\n\t\t}\r\n\t\treturn 0;\r\n\t});\r\n\r\n\treturn updateTableHeader(table, orderBy, orderDirection);\r\n};\r\n\r\nexport const updateTableHeader = (\r\n\ttable: any,\r\n\torderBy?: string,\r\n\torderDirection: string = 'DESC'\r\n) => {\r\n\tif (!orderBy || !table.rows[0][orderBy]) {\r\n\t\treturn table;\r\n\t}\r\n\r\n\ttable.properties.map((prop: any) => {\r\n\t\tif (prop.path === orderBy) {\r\n\t\t\tprop.direction = orderDirection;\r\n\t\t\t// prop.direction = orderDirection === 'DESC' ? 'ASC' : 'DESC';\r\n\t\t} else {\r\n\t\t\tdelete prop.direction;\r\n\t\t}\r\n\t});\r\n\r\n\treturn table;\r\n};\r\n","export const paginateTable = (table: any, fetch?: number) => {\r\n\ttable.fetch = fetch;\r\n\ttable.rows.splice(fetch);\r\n\treturn table;\r\n};\r\n","import { rest } from 'msw';\r\nimport search from './Search/search.json';\r\nimport valfrihet from './Search/valfrihet.json';\r\nimport search_en from './Search/search_en.json';\r\nimport cpvSearch from './Search/cpv_search.json';\r\nimport faq from './Search/fragor-och-svar.json';\r\nimport faq_en from './Search/fragor-och-svar_en.json';\r\nimport criterias from './Search/kriterier.json';\r\nimport criterias_en from './Search/kriterier_en.json';\r\nimport { getMockCriteriaColumnData } from './CriteriaService/getMockCriteriaColumnData';\r\nimport { getMockCriteriaCartData } from './CriteriaService/getMockCriteriaCartData';\r\nimport { getMockStatistics } from './statistics/getMockStatistics';\r\nimport { paginateTable } from './statistics/helpers/paginateTable';\r\nimport resultTable from './statistics/result-table.json';\r\nimport { getMockSearch } from './Search/getMockSearch';\r\n\r\nexport const handlers = [\r\n\t// SearchPageAdvance - Get search result from tab \"Webbsidor\"\r\n\trest.get('/api/search', getMockSearch),\r\n\r\n\trest.get('/api/en/search', (req, res, ctx) => {\r\n\t\tconst query = req.url.searchParams.get('query');\r\n\t\tconst fetch = req.url.searchParams.get('fetch');\r\n\r\n\t\tif (query != null) {\r\n\t\t\tsearch.query = query;\r\n\t\t}\r\n\r\n\t\tif (fetch != null) {\r\n\t\t\tsearch.fetch = parseInt(fetch);\r\n\t\t}\r\n\t\treturn res(ctx.status(200), ctx.body(JSON.stringify(search)));\r\n\t}),\r\n\r\n\t// SearchPageAdvance - Get search result from tab \"Frågor och svar\" & \"Kriterier\"\r\n\trest.get('/api/search/:service', (req, res, ctx) => {\r\n\t\tconst { service } = req.params;\r\n\t\tconst query = req.url.searchParams.get('query');\r\n\t\tconst fetch = req.url.searchParams.get('fetch');\r\n\t\tconst tag = req.url.searchParams.get('tag');\r\n\t\tconst categories = req.url.searchParams.get('categories');\r\n\r\n\t\tlet serviceData;\r\n\t\tswitch (service) {\r\n\t\t\tcase 'fragor-och-svar':\r\n\t\t\t\tserviceData = faq;\r\n\t\t\t\tlet aggs = serviceData?.filterGroups[0]?.aggregations;\r\n\t\t\t\tlet tagBuckets = aggs.find((filter) => filter?.path === 'tag')?.buckets;\r\n\r\n\t\t\t\tif (tagBuckets && tagBuckets.length > 0) {\r\n\t\t\t\t\ttagBuckets.forEach((bucket: any) => {\r\n\t\t\t\t\t\tif (tag != null && tag.length > 0) {\r\n\t\t\t\t\t\t\tif (tag.split(',').find((i) => i === bucket.term)) {\r\n\t\t\t\t\t\t\t\tbucket.selected = true;\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tbucket.selected = false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tbucket.selected = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\tlet categoriesBuckets = aggs.find(\r\n\t\t\t\t\t(filter) => filter?.path === 'categories'\r\n\t\t\t\t)?.buckets;\r\n\r\n\t\t\t\tif (categoriesBuckets && categoriesBuckets.length > 0) {\r\n\t\t\t\t\tcategoriesBuckets.forEach((bucket: any) => {\r\n\t\t\t\t\t\tif (categories != null && categories.length > 0) {\r\n\t\t\t\t\t\t\tif (categories.split(',').find((i) => i === bucket.term)) {\r\n\t\t\t\t\t\t\t\tbucket.selected = true;\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tbucket.selected = false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tbucket.selected = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (tag && !categories) {\r\n\t\t\t\t\tserviceData.filterGroups[0].selectedBuckets = tag.split(',').length;\r\n\t\t\t\t} else if (!tag && categories) {\r\n\t\t\t\t\tserviceData.filterGroups[0].selectedBuckets =\r\n\t\t\t\t\t\tcategories.split(',').length;\r\n\t\t\t\t} else if (tag && categories) {\r\n\t\t\t\t\tserviceData.filterGroups[0].selectedBuckets =\r\n\t\t\t\t\t\ttag.split(',').length + categories.split(',').length;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tserviceData.filterGroups[0].selectedBuckets = 0;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'kriterier':\r\n\t\t\t\tserviceData = criterias;\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tserviceData = search;\r\n\t\t}\r\n\t\tif (query != null) {\r\n\t\t\tserviceData.query = query;\r\n\t\t}\r\n\r\n\t\tif (fetch != null) {\r\n\t\t\tserviceData.fetch = parseInt(fetch);\r\n\t\t}\r\n\t\treturn res(ctx.status(200), ctx.body(JSON.stringify(serviceData)));\r\n\t}),\r\n\r\n\t// SearchPageAdvance - Get search result from tab \"Frågor och svar\" & \"Kriterier\"\r\n\trest.get('/api/en/search/:service', (req, res, ctx) => {\r\n\t\tconst { service } = req.params;\r\n\t\tconst query = req.url.searchParams.get('query');\r\n\t\tconst fetch = req.url.searchParams.get('fetch');\r\n\r\n\t\tlet serviceData;\r\n\t\tswitch (service) {\r\n\t\t\tcase 'questionportal':\r\n\t\t\t\tserviceData = faq_en;\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'criterias':\r\n\t\t\t\tserviceData = criterias_en;\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tserviceData = search_en;\r\n\t\t}\r\n\t\tif (query != null) {\r\n\t\t\tserviceData.query = query;\r\n\t\t}\r\n\r\n\t\tif (fetch != null) {\r\n\t\t\tserviceData.fetch = parseInt(fetch);\r\n\t\t}\r\n\t\treturn res(ctx.status(200), ctx.body(JSON.stringify(serviceData)));\r\n\t}),\r\n\r\n\t// ValfrihetStart\r\n\trest.get('/api/valfrihet', (req, res, ctx) => {\r\n\t\tconst query = req.url.searchParams.get('query');\r\n\t\tconst fetch = req.url.searchParams.get('fetch');\r\n\t\tconst orderBy = req.url.searchParams.get('orderBy')?.split('_')[0]; // Order by\r\n\r\n\t\tlet response = {\r\n\t\t\t...valfrihet,\r\n\t\t};\r\n\r\n\t\tif (query !== null) {\r\n\t\t\tresponse.query = query;\r\n\t\t\tresponse.results = response.results.filter(\r\n\t\t\t\t(item: any) =>\r\n\t\t\t\t\titem.excerpt.toLowerCase().indexOf(query.toLowerCase().trim()) !== -1\r\n\t\t\t);\r\n\t\t\tresponse.numberOfHits = response.results.length;\r\n\t\t}\r\n\r\n\t\tif (fetch != null) {\r\n\t\t\tresponse.results = response.results.slice(0, parseInt(fetch));\r\n\t\t}\r\n\r\n\t\tif (orderBy !== undefined) {\r\n\t\t\tresponse.results = response.results.sort((a: any, b: any) => {\r\n\t\t\t\treturn a[orderBy] > b[orderBy] ? 1 : -1;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\treturn res(ctx.status(200), ctx.body(JSON.stringify(response)));\r\n\t}),\r\n\t// Valfrihet - create search monitoring\r\n\r\n\trest.post('/api/valfrihet/monitor', async (req, res, ctx) => {\r\n\t\tconsole.log(req);\r\n\r\n\t\tlet code = 200;\r\n\r\n\t\tcode = Math.random() > 0.5 ? 200 : 501;\r\n\r\n\t\treturn res(\r\n\t\t\tctx.status(code),\r\n\t\t\tctx.delay(1000),\r\n\t\t\tctx.body(\r\n\t\t\t\tcode === 200\r\n\t\t\t\t\t? JSON.stringify({\r\n\t\t\t\t\t\t\theading: 'Aktivera bevakning',\r\n\t\t\t\t\t\t\ttext: 'Vi har tagit emot din bla bla',\r\n\t\t\t\t\t })\r\n\t\t\t\t\t: JSON.stringify({\r\n\t\t\t\t\t\t\theading: 'Något gick fel',\r\n\t\t\t\t\t\t\ttext: 'Denna tjänsten är inte implementerad än...',\r\n\t\t\t\t\t })\r\n\t\t\t)\r\n\t\t);\r\n\t}),\r\n\r\n\trest.get('/api/cpv-search', (req, res, ctx) => {\r\n\t\tconst query = req.url.searchParams.get('query'); // query\r\n\t\tconst fetch = req.url.searchParams.get('fetch'); // Number of items to load\r\n\r\n\t\tlet response = {\r\n\t\t\tdata: { ...cpvSearch },\r\n\t\t\tmessage: '',\r\n\t\t};\r\n\r\n\t\tif (query !== null) {\r\n\t\t\tresponse.data.items = response.data.items.filter(\r\n\t\t\t\t(item) =>\r\n\t\t\t\t\titem.text.toLowerCase().indexOf(query.toLowerCase().trim()) !== -1\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tif (fetch !== null) {\r\n\t\t\tresponse.data.items = response.data.items.slice(0, parseInt(fetch));\r\n\t\t}\r\n\r\n\t\tif (response.data.items.length <= 0) {\r\n\t\t\tresponse.message = 'Hittade inget resultat';\r\n\t\t}\r\n\r\n\t\treturn res(ctx.status(200), ctx.body(JSON.stringify(response)));\r\n\t}),\r\n\r\n\t// Statistic service mock api\r\n\trest.get('/api/sv/statisticsservice/bridgeapi/statistics', getMockStatistics),\r\n\r\n\t// // Error 403\"\r\n\t// rest.get('/api/search.json', (req, res, ctx) => {\r\n\t// \tconst query = req.url.searchParams.get('query');\r\n\r\n\t// \tif (query === '403') {\r\n\t// \t\treturn res(ctx.status(403), ctx.body(''));\r\n\t// \t}\r\n\t// }),\r\n\r\n\t// StatisticServiceDataBlock Table Pagination\r\n\trest.get('/api/sv/statisticsservice/table', async (req, res, ctx) => {\r\n\t\tconst fetch = req.url.searchParams.get('fetch'); // Number of items to load\r\n\t\tlet resultTableData = {};\r\n\t\tif (fetch) {\r\n\t\t\tresultTableData = paginateTable(\r\n\t\t\t\tJSON.parse(JSON.stringify(resultTable)),\r\n\t\t\t\tparseInt(fetch)\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\treturn res(ctx.status(200), ctx.body(JSON.stringify(resultTableData)));\r\n\t}),\r\n\r\n\t// CriteriaServiceComparisonPage\r\n\trest.get('/api/criteriaservice/compare-criterias', getMockCriteriaColumnData),\r\n\r\n\t// CriteriaServiceCartPage - fetch page\r\n\trest.post('/api/criteriaservice/criteira-cart', getMockCriteriaCartData),\r\n\r\n\t// CriteriaServiceCartPage - download file\r\n\trest.post('/api/criteriaservice/generate/report', async (req, res, ctx) => {\r\n\t\tlet body = req.body as any;\r\n\t\tawait new Promise((resolve, reject) => {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tresolve();\r\n\t\t\t}, 2000);\r\n\t\t});\r\n\r\n\t\tif (body.culture === 'sv') {\r\n\t\t\treturn res(\r\n\t\t\t\tctx.status(200),\r\n\t\t\t\tctx.body(\r\n\t\t\t\t\tJSON.stringify({\r\n\t\t\t\t\t\treportUrl: '/Users/sofdam/Documents/Work/wcag-mall.docx',\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\treturn res(ctx.status(400), ctx.body(''));\r\n\t\t}\r\n\t}),\r\n\trest.get('/produktgrupp-v2', async (req, res, ctx) => {\r\n\t\tconst subGroup = req.url.searchParams.get('productSubGroup.name'); // Number of items to load\r\n\t\tif (!subGroup) {\r\n\t\t\treturn res(ctx.status(403), ctx.body(''));\r\n\t\t}\r\n\t}),\r\n\trest.get('/produktundergrupp-v2', async (req, res, ctx) => {\r\n\t\tconst subGroup = req.url.searchParams.get('productSubGroup.name'); // Number of items to load\r\n\t\tif (!subGroup) {\r\n\t\t\treturn res(ctx.status(403), ctx.body(''));\r\n\t\t}\r\n\t}),\r\n];\r\n","import {\r\n\tResponseResolver,\r\n\tRestRequest,\r\n\tDefaultRequestBody,\r\n\tRequestParams,\r\n\tRestContext,\r\n} from 'msw';\r\nimport search from './search.json';\r\n\r\nexport const getMockSearch: ResponseResolver<\r\n\tRestRequest,\r\n\tRestContext,\r\n\tany\r\n> = (req, res, ctx) => {\r\n\tconst query = req.url.searchParams.get('query');\r\n\tconst fetch = req.url.searchParams.get('fetch');\r\n\tconst siteType = req.url.searchParams.get('siteType');\r\n\tconst lastUpdated = req.url.searchParams.get('lastUpdated');\r\n\tconst tag = req.url.searchParams.get('tag');\r\n\tconst tagMulti = req.url.searchParams.get('tagMulti');\r\n\tconst orderBy = req.url.searchParams.get('orderBy');\r\n\r\n\tif (query != null) {\r\n\t\tsearch.query = query;\r\n\t}\r\n\r\n\tif (fetch != null) {\r\n\t\tsearch.fetch = parseInt(fetch);\r\n\t}\r\n\t// Radio filter - lastUpdated\r\n\tlet aggs: any[] = search?.filterGroups[0]?.aggregations;\r\n\r\n\tlet lastUpdatedBuckets = aggs.find(\r\n\t\t(filter) => filter?.path === 'lastUpdated'\r\n\t)?.buckets;\r\n\tif (lastUpdatedBuckets && lastUpdatedBuckets.length > 0) {\r\n\t\tlastUpdatedBuckets.forEach((bucket: any) => {\r\n\t\t\tif (bucket.term === lastUpdated) {\r\n\t\t\t\tbucket.selected = true;\r\n\t\t\t} else {\r\n\t\t\t\tbucket.selected = false;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tif (lastUpdated) {\r\n\t\tsearch.filterGroups[0].selectedBuckets = 1;\r\n\t} else {\r\n\t\tsearch.filterGroups[0].selectedBuckets = 0;\r\n\t}\r\n\r\n\t// Radio filter - siteType\r\n\taggs = search?.filterGroups[1]?.aggregations;\r\n\r\n\tlet siteTypeBuckets = aggs.find(\r\n\t\t(filter) => filter?.path === 'siteType'\r\n\t)?.buckets;\r\n\tif (siteTypeBuckets && siteTypeBuckets.length > 0) {\r\n\t\tsiteTypeBuckets.forEach((bucket: any) => {\r\n\t\t\tif (bucket.term === siteType) {\r\n\t\t\t\tbucket.selected = true;\r\n\t\t\t} else {\r\n\t\t\t\tbucket.selected = false;\r\n\t\t\t}\r\n\t\t});\r\n\t\tsearch.filterGroups[1].selectedBuckets = 1;\r\n\t}\r\n\tif (siteType) {\r\n\t\tsearch.filterGroups[1].selectedBuckets = 1;\r\n\t} else {\r\n\t\tsearch.filterGroups[1].selectedBuckets = 0;\r\n\t}\r\n\r\n\t// SingleSelect - tag\r\n\taggs = search?.filterGroups[2]?.aggregations;\r\n\r\n\tlet tagBuckets = aggs.find((filter) => filter?.path === 'tag')?.buckets;\r\n\r\n\tif (tagBuckets && tagBuckets.length > 0) {\r\n\t\ttagBuckets.forEach((bucket: any) => {\r\n\t\t\tif (tag != null && tag.length > 0) {\r\n\t\t\t\tif (tag.split(',').find((i) => i === bucket.term)) {\r\n\t\t\t\t\tbucket.selected = true;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tbucket.selected = false;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tbucket.selected = false;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\tif (tag) {\r\n\t\tsearch.filterGroups[2].selectedBuckets = tag.split(',').length;\r\n\t} else {\r\n\t\tsearch.filterGroups[2].selectedBuckets = 0;\r\n\t}\r\n\r\n\t// Multiselect - tagMulti\r\n\taggs = search?.filterGroups[3]?.aggregations;\r\n\r\n\tlet tagMultiBuckets = aggs.find(\r\n\t\t(filter) => filter?.path === 'tagMulti'\r\n\t)?.buckets;\r\n\r\n\tif (tagMultiBuckets && tagMultiBuckets.length > 0) {\r\n\t\ttagMultiBuckets.forEach((bucket: any) => {\r\n\t\t\tif (tagMulti != null && tagMulti.length > 0) {\r\n\t\t\t\tif (tagMulti.split(',').find((i) => i === bucket.term)) {\r\n\t\t\t\t\tbucket.selected = true;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tbucket.selected = false;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tbucket.selected = false;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\tif (tagMulti) {\r\n\t\tsearch.filterGroups[3].selectedBuckets = tagMulti.split(',').length;\r\n\t} else {\r\n\t\tsearch.filterGroups[3].selectedBuckets = 0;\r\n\t}\r\n\r\n\t// Sort - OrderBy\r\n\r\n\tif (orderBy) {\r\n\t\tsearch.sorting.options.forEach((option) => {\r\n\t\t\tif (option.path === orderBy) {\r\n\t\t\t\toption.selected = true;\r\n\t\t\t} else {\r\n\t\t\t\toption.selected = false;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\t// if (query === '403') {\r\n\t// \treturn res(ctx.status(403), ctx.body(''));\r\n\t// }\r\n\r\n\treturn res(ctx.status(200), ctx.body(JSON.stringify(search)));\r\n};\r\n","import {\r\n\tResponseResolver,\r\n\tRestRequest,\r\n\tDefaultRequestBody,\r\n\tRequestParams,\r\n\tRestContext,\r\n} from 'msw';\r\nimport areas from './areas.json';\r\nimport products from './products.json';\r\nimport units from './units.json';\r\nimport distributedUnits from './distributed-units.json';\r\nimport cpvs from './cpvs.json';\r\nimport deliveryAreas from './delivery-areas.json';\r\nimport time from './time.json';\r\nimport parameters from './parameters-v2.json';\r\nimport filters from './filters.json';\r\nimport measurements from './measurements.json';\r\nimport result from './result.json';\r\nimport resultTable from './result-table.json';\r\nimport resultTableMatrix from './result-matrix-table.json';\r\nimport resultTableMatrix2 from './result-matrix-table-2.json';\r\nimport resultChart from './result-chart-bar-column.json';\r\nimport resultChartLine from './result-chart-line.json';\r\nimport resultChartPie from './result-chart-pie.json';\r\nimport variables from './variables.json';\r\nimport {\r\n\tDataModel,\r\n\tOptionDataFiltersGroup,\r\n} from 'state-machines/statisticService.machine';\r\nimport { sortTable } from './helpers/sortTable';\r\nimport { paginateTable } from './helpers/paginateTable';\r\n\r\nexport const getMockStatistics: ResponseResolver<\r\n\tRestRequest,\r\n\tRestContext,\r\n\tany\r\n> = (req, res, ctx) => {\r\n\tlet data: DataModel = {\r\n\t\tareas: null,\r\n\t\tproducts: null,\r\n\t\tunits: null,\r\n\t\tdistributedUnits: null,\r\n\t\ttime: null,\r\n\t\tparameters: null,\r\n\t\tfilters: null,\r\n\t\tsearchFilters: null,\r\n\t\tmeasurements: null,\r\n\t\tvariables: null,\r\n\t\tresult: null,\r\n\t\tresultError: null,\r\n\t\tlastUpdated: '2022-02-18',\r\n\t};\r\n\tconst area = req.url.searchParams.get('area');\r\n\tconst product = req.url.searchParams.get('product');\r\n\tconst unit = req.url.searchParams.get('unit');\r\n\tconst distributedUnit = req.url.searchParams.get('distributedUnit');\r\n\tconst years = req.url.searchParams.getAll('Tidsperiod.År');\r\n\tconst params = req.url.searchParams.getAll('param');\r\n\tconst filter = req.url.searchParams.getAll('geography');\r\n\tconst resultFormat = req.url.searchParams.get('resultFormat');\r\n\tconst chartType = req.url.searchParams.get('chartType');\r\n\tconst chartStacked = req.url.searchParams.get('chartStacked');\r\n\tconst order = req.url.searchParams.get('orderBy');\r\n\tconst variable = req.url.searchParams.get('variable');\r\n\tconst numToFetchString = req.url.searchParams.get('fetch');\r\n\tlet numToFetch: any;\r\n\tconst orderBy = order?.split('_')[0] || undefined;\r\n\tconst orderDirection = order?.split('_')[1] || undefined;\r\n\r\n\tconst getResult = () => {\r\n\t\tconst resultData: any = JSON.parse(JSON.stringify(result));\r\n\t\tconst resultTableData: any = paginateTable(\r\n\t\t\tsortTable(\r\n\t\t\t\tJSON.parse(JSON.stringify(resultTable)),\r\n\t\t\t\torderBy,\r\n\t\t\t\torderDirection\r\n\t\t\t),\r\n\t\t\tnumToFetch\r\n\t\t);\r\n\t\tconst resultTableMatrixData: any = paginateTable(\r\n\t\t\tsortTable(\r\n\t\t\t\tJSON.parse(\r\n\t\t\t\t\tJSON.stringify(\r\n\t\t\t\t\t\tparams.indexOf('Köpare.Namn för köpare') !== -1\r\n\t\t\t\t\t\t\t? resultTableMatrix2\r\n\t\t\t\t\t\t\t: resultTableMatrix\r\n\t\t\t\t\t)\r\n\t\t\t\t),\r\n\t\t\t\torderBy,\r\n\t\t\t\torderDirection\r\n\t\t\t),\r\n\t\t\tnumToFetch\r\n\t\t);\r\n\t\tconst resultChartData: any = JSON.parse(JSON.stringify(resultChart));\r\n\t\tconst resultChartLineData: any = JSON.parse(\r\n\t\t\tJSON.stringify(resultChartLine)\r\n\t\t);\r\n\t\tconst resultChartPieData: any = JSON.parse(JSON.stringify(resultChartPie));\r\n\t\tconst paramData: any = JSON.parse(JSON.stringify(parameters));\r\n\t\tif (years.length > 0) {\r\n\t\t\tresultData.data = resultData.data.filter((item: any) => {\r\n\t\t\t\treturn years.indexOf(item.CalendarYear.toString()) !== -1;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (params.indexOf('whereAndWhy.cpv') !== -1) {\r\n\t\t\tparamData.whereAndWhy.otherProductClassifications.map((item: any) => {\r\n\t\t\t\titem.disabled = true;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t// Parameters\r\n\t\tif (\r\n\t\t\tdistributedUnit === 'antal-upphandlingar-bas' ||\r\n\t\t\t(unit && !distributedUnit)\r\n\t\t) {\r\n\t\t\tdata.parameters = paramData;\r\n\t\t} else if (distributedUnit === 'antal-upphandlingar-cpv') {\r\n\t\t\tconst paramData: any = JSON.parse(JSON.stringify(cpvs));\r\n\t\t\tdata.parameters = paramData;\r\n\t\t} else if (distributedUnit === 'antal-upphandlingar-leveransort') {\r\n\t\t\tconst paramData: any = JSON.parse(JSON.stringify(deliveryAreas));\r\n\t\t\tdata.parameters = paramData;\r\n\t\t}\r\n\r\n\t\tdata.time = time;\r\n\t\tdata.measurements = measurements;\r\n\t\tdata.variables = variables;\r\n\r\n\t\tif (params.indexOf('Förfarande, metoder och krav.Direktivstyrd') === 0) {\r\n\t\t\tdata.filters = filters as OptionDataFiltersGroup[];\r\n\t\t\tdata.filters[0].selectedBuckets = filter.length; // Geography\r\n\t\t}\r\n\r\n\t\tif (resultFormat === 'table') {\r\n\t\t\tdata.result = { ...resultTableData };\r\n\t\t} else if (resultFormat === 'matrixtable') {\r\n\t\t\tdata.result = { ...resultTableMatrixData };\r\n\t\t} else if (resultFormat === 'chart') {\r\n\t\t\t// Return an error message if selected params is more than 5\r\n\t\t\tif (params.length > 5) {\r\n\t\t\t\tdata.result = null;\r\n\t\t\t\tdata.resultError = {\r\n\t\t\t\t\tstatusCode: 404,\r\n\t\t\t\t\tmessage:\r\n\t\t\t\t\t\t'Max antal val under “Fler variabler” är fem. Minska dina val för att visa diagram.',\r\n\t\t\t\t};\r\n\t\t\t} else if (chartType === 'line') {\r\n\t\t\t\tdata.result = { ...resultChartLineData, chartType };\r\n\t\t\t} else if (chartType === 'pie') {\r\n\t\t\t\tdata.result = { ...resultChartPieData, chartType };\r\n\t\t\t} else {\r\n\t\t\t\tdata.result = {\r\n\t\t\t\t\t...resultChartData,\r\n\t\t\t\t\tchartType,\r\n\t\t\t\t\tstacked: chartStacked === 'true' ? true : false,\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tdata.result = resultData;\r\n\t\t}\r\n\t};\r\n\r\n\tif (numToFetchString) {\r\n\t\tnumToFetch = parseInt(numToFetchString, 10);\r\n\t}\r\n\r\n\t// Handle areas\r\n\tif (area) {\r\n\t\t// areas.map((a) => (a.selected = a.value === area));\r\n\t\tdata.products = products;\r\n\t}\r\n\tdata.areas = areas;\r\n\r\n\t// Handlle product\r\n\tif (product) {\r\n\t\t// products.map((p) => (p.selected = p.value === product));\r\n\t\tdata.units = units;\r\n\t}\r\n\r\n\t// Handlle unit\r\n\tif (unit) {\r\n\t\t// unit.map((p) => (p.selected = p.value === unit));\r\n\t\tif (\r\n\t\t\tunit === 'antal-upphandlingar' ||\r\n\t\t\tunit === 'uppskattat-varde' ||\r\n\t\t\tunit === 'kontrakterat-varde'\r\n\t\t) {\r\n\t\t\tdata.distributedUnits = distributedUnits;\r\n\t\t} else if (unit === 'annonserat-varde') {\r\n\t\t\treturn res(ctx.status(404), ctx.body(''));\r\n\t\t} else {\r\n\t\t\tgetResult();\r\n\t\t}\r\n\t}\r\n\r\n\t// Handlle distributedUnit\r\n\tif (distributedUnit) {\r\n\t\tif (distributedUnit === 'antal-upphandlingar-cpv') {\r\n\t\t\tconst paramData: any = JSON.parse(JSON.stringify(cpvs));\r\n\t\t\tdata.parameters = paramData;\r\n\t\t\tif (params.length > 0) {\r\n\t\t\t\tgetResult();\r\n\t\t\t}\r\n\t\t} else if (distributedUnit === 'antal-upphandlingar-leveransort') {\r\n\t\t\tconst paramData: any = JSON.parse(JSON.stringify(deliveryAreas));\r\n\t\t\tdata.parameters = paramData;\r\n\t\t\tif (params.length > 0) {\r\n\t\t\t\tgetResult();\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tgetResult();\r\n\t\t}\r\n\t}\r\n\r\n\t// Return an error message if the request url is longer than 700 characters\r\n\tif (req.url.href.length > 700) {\r\n\t\tdata.result = null;\r\n\t\tdata.resultError = {\r\n\t\t\tstatusCode: 404,\r\n\t\t\tmessage: 'Minska dina urval eller din filtrering för att visa diagram.',\r\n\t\t};\r\n\t}\r\n\r\n\tconst delay =\r\n\t\tarea === 'ovrigt' ||\r\n\t\tresultFormat === 'chart' ||\r\n\t\tresultFormat === 'matrixtable' ||\r\n\t\tparams.length > 0\r\n\t\t\t? 2000\r\n\t\t\t: 200;\r\n\t// Demo 500 error\r\n\tif (product === 'annonserade-valfrihetssystem') {\r\n\t\treturn res(\r\n\t\t\tctx.delay(delay),\r\n\t\t\tctx.status(500),\r\n\t\t\tctx.json({ error: 'Generic server error' })\r\n\t\t);\r\n\t}\r\n\r\n\treturn res(ctx.delay(delay), ctx.status(200), ctx.json(data));\r\n};\r\n","import { setupWorker } from 'msw';\r\nimport { handlers } from './handlers';\r\n\r\nexport const worker = setupWorker(...handlers);\r\n","/**\r\n * React\r\n */\r\n\r\nimport { createSlice, PayloadAction } from '@reduxjs/toolkit';\r\nimport { ModelReact, RenderingStates } from 'types';\r\nimport { RootState } from 'store';\r\n\r\nexport const initialState: ModelReact = {\r\n\tcontainerId: 'root',\r\n\tclientOnly: true,\r\n\trenderingState: RenderingStates.ClientSide,\r\n\tapiUrl: `${process?.env?.PUBLIC_URL}/api/`,\r\n\tapiEditUrl: '/api/content',\r\n};\r\n\r\nconst slice = createSlice({\r\n\tname: 'react',\r\n\tinitialState,\r\n\treducers: {\r\n\t\tupdateRenderingState: (state, action: PayloadAction) => {\r\n\t\t\tstate.renderingState = action.payload;\r\n\t\t},\r\n\t},\r\n});\r\n\r\nexport const selectReact = (state: RootState) => state.react;\r\nexport const { updateRenderingState } = slice.actions;\r\n\r\nexport default slice.reducer;\r\n","import { iconTypes } from 'ui-component-library/base/Icon/Icon';\r\nimport * as HighchartsJs from 'highcharts';\r\nimport { HeadingLevels } from 'ui-component-library/base/types';\r\n\r\ndeclare global {\r\n\tinterface Window {\r\n\t\t__model: any;\r\n\t\t__culture: string;\r\n\t\t__ScrollTracker: any;\r\n\t\tepi: any;\r\n\t\tdataLayer: any;\r\n\t\t$kundo_chat: any;\r\n\t\tCookieConsent: any;\r\n\t\tCookieInformation: any;\r\n\t}\r\n\t// eslint-disable-next-line @typescript-eslint/no-namespace\r\n\tnamespace NodeJS {\r\n\t\tinterface Global {\r\n\t\t\twindow: any;\r\n\t\t\tdocument: any;\r\n\t\t\tStyled: any;\r\n\t\t\tReact: any;\r\n\t\t\tReactDOM: any;\r\n\t\t\tReactDOMServer: any;\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport interface EpiEvent {\r\n\tbeta?: {\r\n\t\tisEditable: boolean;\r\n\t\tinEditMode: boolean;\r\n\t\tready: boolean;\r\n\t};\r\n}\r\n\r\nexport type ContentTypes =\r\n\t| StandardPageModel\r\n\t| StartPageModel\r\n\t| ProcessPageModel\r\n\t| NavigationPageModel\r\n\t| InspirationPageModel\r\n\t| ArticlePageModel\r\n\t| SearchPageModel\r\n\t| SearchPageAdvanceModel\r\n\t| ProductGroupPageModel\r\n\t| ProductSubGroupPageModel\r\n\t| CriteriaServicePageModel\r\n\t| CriteriaServiceRequirementPageModel\r\n\t| CriteriaServiceRequirementPageV2Model\r\n\t| CriteriaServiceComparisonPageModel\r\n\t| RiskAnalysisServicePageModel\r\n\t| RiskAnalysisPageModel\r\n\t| AttachmentPageModel\r\n\t| SectionPageModel\r\n\t| CalendarEventPageModel\r\n\t| PublicationsListingPageModel\r\n\t| QuestionPortalStartPageModel\r\n\t| QuestionPortalCategoryPageModel\r\n\t| QuestionPortalDialogPageModel\r\n\t| NewsListingPageModel\r\n\t| PublicationPageModel\r\n\t| StatisticServiceStartPageModel\r\n\t| StatisticServicePageModel\r\n\t| StatisticServiceArticlePageModel\r\n\t| StatisticServiceNavigationPageModel\r\n\t| StatisticServiceSectionPageModel\r\n\t| WebGuidanceLandingPageModel\r\n\t| WebGuidanceArticlePageModel\r\n\t| ValfrihetStartPageModel\r\n\t| ValfrihetAdPageModel\r\n\t| ValfrihetMonitorPageModel\r\n\t| ValfrihetArticlePageModel;\r\n\r\nexport interface Address {\r\n\tname: string;\r\n\tstreet: string;\r\n\tzipCode: string;\r\n\tcity: string;\r\n}\r\n\r\nexport interface ContactChannel {\r\n\tname: string;\r\n\tvalue: string;\r\n\ttype: string;\r\n}\r\n\r\nexport interface NavigationItemModel {\r\n\ttitle: string;\r\n\turl: string;\r\n\tisOpen?: boolean;\r\n\tisActive?: boolean;\r\n\titems?: NavigationItemModel[];\r\n}\r\n\r\nexport interface LogotypeModel {\r\n\turl?: string;\r\n\talt?: string;\r\n\tlogo?: string;\r\n}\r\nexport interface Model {\r\n\thead?: ModelHead;\r\n\tlanguageTags?: Array<{\r\n\t\tculture: string;\r\n\t\turl: string;\r\n\t}>;\r\n\tmetadata?: ModelMetadata;\r\n\tcontent?: ContentTypes;\r\n\tlogotype?: LogotypeModel;\r\n\tnavigation?: {\r\n\t\tnavigationButtonLabel: string;\r\n\t\taccessibilityDescription: string;\r\n\t\topenNavigationPaneLabel: string;\r\n\t\tcloseNavigationPaneLabel: string;\r\n\t\topenNavigationItemLabel: string;\r\n\t\tcloseNavigationItemLabel: string;\r\n\t\titems: NavigationItemModel[];\r\n\t};\r\n\tcriteriaCart?: {\r\n\t\tcartLabel: string;\r\n\t\topenCartText: string;\r\n\t\tcloseCartText: string;\r\n\t\tapiUrl: string;\r\n\t\ttoastCriteriaAdded: string;\r\n\t};\r\n\tsearch?: ModelSearch;\r\n\tbreadcrumbs?: {\r\n\t\tbreadcrumbs: ModelBreadcrumbs[];\r\n\t};\r\n\tquickLinks?: {\r\n\t\tquickLinks: QuickLink[];\r\n\t};\r\n\talertBar?: {\r\n\t\talerts: Array<{\r\n\t\t\tid: string;\r\n\t\t\ttext: {\r\n\t\t\t\tmodelType: 'Html';\r\n\t\t\t\tfragments: RawFragmentModel[];\r\n\t\t\t};\r\n\t\t\tcloseButtonLabel: string;\r\n\t\t\tisCloseable: boolean;\r\n\t\t}>;\r\n\t};\r\n\tbetaBar?: {\r\n\t\ttext: {\r\n\t\t\tmodelType: 'Html';\r\n\t\t\tfragments: RawFragmentModel[];\r\n\t\t};\r\n\t};\r\n\tquickLinksBar?: {\r\n\t\tlabel: string;\r\n\t\tlinks: Array<{\r\n\t\t\turl: string;\r\n\t\t\ttext: string;\r\n\t\t\ttarget?: string;\r\n\t\t\ticon?: iconTypes;\r\n\t\t\tmodelType?: string;\r\n\t\t}>;\r\n\t};\r\n\tcookieBar?: {\r\n\t\theading: string;\r\n\t\ttext: {\r\n\t\t\tmodelType: 'Html';\r\n\t\t\tfragments: RawFragmentModel[];\r\n\t\t};\r\n\t\tbuttonText: string;\r\n\t};\r\n\tskipToMainContent?: {\r\n\t\ttext: string;\r\n\t};\r\n\tcontact?: {\r\n\t\taddresses: {\r\n\t\t\tfirst?: Address;\r\n\t\t\tsecond?: Address;\r\n\t\t};\r\n\t\tchannels: {\r\n\t\t\theading: string;\r\n\t\t\titems: ContactChannel[];\r\n\t\t};\r\n\t\tsocial: ContactChannel[];\r\n\t};\r\n\tpopularPages?: PopularPagesModel;\r\n\tquickLinksFooter?: {\r\n\t\tquickLinks: QuickLink[];\r\n\t};\r\n\tcopyrightFooter?: string;\r\n\ttheme?: {\r\n\t\tcolor?: ThemeTypes;\r\n\t};\r\n\tlanguages?: {\r\n\t\tculture: string;\r\n\t\tlanguages: Array<{\r\n\t\t\tid: string;\r\n\t\t\ttext: string;\r\n\t\t\tname: string;\r\n\t\t\turl: string;\r\n\t\t\tisActive: boolean;\r\n\t\t}>;\r\n\t};\r\n}\r\n\r\nexport type ThemeTypes =\r\n\t| 'default'\r\n\t| 'magenta'\r\n\t| 'green'\r\n\t| 'orange'\r\n\t| 'purple'\r\n\t| 'teal'\r\n\t| 'none'\r\n\t| 'RiskAnalysisService';\r\n\r\nexport interface ModelSearch {\r\n\tapiUrl: string;\r\n\tsearchPageUrl: string;\r\n\tplaceholderText: string;\r\n\tperformSearchText: string;\r\n\tshowMoreResultsText: string;\r\n\tnumberOfHitsPerPage: number;\r\n}\r\n\r\nexport interface QuickLink {\r\n\thref: string;\r\n\ttitle: string;\r\n\ttext: string;\r\n\ttarget: string;\r\n}\r\n\r\nexport interface ModelBreadcrumbs {\r\n\turl: string;\r\n\ttext: string;\r\n\tisActive: boolean;\r\n}\r\n\r\ninterface ModelMetadata {\r\n\tlanguageTags: string | null;\r\n\ttitle?: string | null;\r\n\tkeywords?: string | null;\r\n\tdescription?: string | null;\r\n\tcanonicalUrl?: string | null;\r\n\ttwitter?: {\r\n\t\tcard?: string | null;\r\n\t\ttitle?: string | null;\r\n\t\tdescription?: string | null;\r\n\t\timage?: string | null;\r\n\t};\r\n\topenGraph?: {\r\n\t\ttitle?: string | null;\r\n\t\tsiteName?: string | null;\r\n\t\ttype?: string | null;\r\n\t\turl?: string | null;\r\n\t\tdescription?: string | null;\r\n\t\timage?: string | null;\r\n\t};\r\n\tlanguages?: LangaugeTag[];\r\n\tcontentId?: string;\r\n}\r\n\r\ninterface LangaugeTag {\r\n\tculture: string;\r\n\turl: string;\r\n}\r\n\r\ninterface ModelHead {\r\n\ttitle?: string | null;\r\n\tkeywords?: string | null;\r\n\tdescription?: string | null;\r\n\topenGraphTitle?: string | null;\r\n\topenGraphImageUrl?: string | null;\r\n\topenGraphDescription?: string | null;\r\n\ttwitterTitle?: string | null;\r\n\ttwitterDescription?: string | null;\r\n\ttwitterImageUrl?: string | null;\r\n}\r\n\r\nexport interface ModelReact {\r\n\tcontainerId: string;\r\n\tclientOnly: boolean;\r\n\tapiUrl: string;\r\n\tapiEditUrl: string;\r\n\trenderingState: RenderingStates;\r\n}\r\n\r\nexport enum RenderingStates {\r\n\tServerSide = 1,\r\n\tHydrate,\r\n\tClientSide,\r\n}\r\n\r\nexport interface StartPageModel {\r\n\tmodelType: 'UpphandlingsmyndighetenStartPage';\r\n\tid: string;\r\n\theading: string;\r\n\tpreamble?: string;\r\n\turl?: string;\r\n\tnavigationList: NavigationListModel;\r\n\tintroBlock?: IntroBlockModel;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n}\r\n\r\nexport interface StandardPageModel {\r\n\tmodelType: 'StandardPage';\r\n\tid: string;\r\n\theading: string;\r\n\tpreamble: string;\r\n\ttext: any;\r\n\turl?: string;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n}\r\n\r\nexport interface ProcessPageModel {\r\n\tmodelType: 'UpphandlingsmyndighetenProcessPage';\r\n\tid: string;\r\n\theading: string;\r\n\tpreamble?: string;\r\n\ttableOfContents?: TocModel;\r\n\tphase?: PhaseModel;\r\n\turl?: string;\r\n\ttext: TextHtmlModel;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n}\r\n\r\nexport interface ArticlePageModel {\r\n\tmodelType: 'UpphandlingsmyndighetenArticlePage';\r\n\tid: string;\r\n\theading: string;\r\n\tpreamble?: string;\r\n\ttableOfContents?: TocModel;\r\n\trelatedLinks?: RelatedLinksModel[];\r\n\turl?: string;\r\n\ttext: TextHtmlModel;\r\n\tarticleHeader?: ArticleHeaderModel;\r\n\timageHeader?: ImageHeaderModel;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n}\r\n\r\nexport interface InspirationPageModel {\r\n\tmodelType: 'UpphandlingsmyndighetenInspirationPage';\r\n\tid: string;\r\n\theading: string;\r\n\tpreamble?: string;\r\n\ttableOfContents?: TocModel;\r\n\turl?: string;\r\n\ttext: TextHtmlModel;\r\n\tarticleHeader?: ArticleHeaderModel;\r\n\timageHeader?: ImageHeaderModel;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n}\r\n\r\nexport interface CalendarEventPageModel {\r\n\tmodelType: 'UpphandlingsmyndighetenCalendarEventPage';\r\n\tid: string;\r\n\theading: string;\r\n\tpreamble?: string;\r\n\ttableOfContents?: TocModel;\r\n\turl?: string;\r\n\ttext: TextHtmlModel;\r\n\tarticleHeader?: ArticleHeaderModel;\r\n\timageHeader?: ImageHeaderModel;\r\n\tcalendarEventDetails?: calendarEventDetailsItemModel[];\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n}\r\n\r\nexport interface NavigationPageModel {\r\n\tmodelType: 'UpphandlingsmyndighetenNavigationPage';\r\n\tid: string;\r\n\theading: string;\r\n\tpreamble?: string;\r\n\turl?: string;\r\n\tnavigationList: NavigationListModel;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n}\r\n\r\nexport interface SearchPageModel {\r\n\tmodelType: 'UpphandlingsmyndighetenSearchPage';\r\n\tid: string;\r\n\theading: string;\r\n\turl?: string;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n}\r\n\r\nexport interface SearchPageAdvanceModel {\r\n\tmodelType: 'UpphandlingsmyndighetenSearchPageAdvance';\r\n\tid: string;\r\n\theading: string;\r\n\turl?: string;\r\n\tapiUrl: string;\r\n\tnumberOfHitsPerPage: number;\r\n\tshowMoreButtonText: string;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n\tsearchResult: SearchResultModel;\r\n\tservices: ServiceModel[];\r\n\thitsInOtherTab: string;\r\n\tzeroHitsHeading: string;\r\n\tzeroHitsText: string;\r\n\tservicesResultText: string;\r\n\tfilterHeading: string;\r\n\tclearFilterText: string;\r\n\tshowResultText: string;\r\n\tcloseFilterModalText: string;\r\n}\r\nexport interface CalendarEventListingPageModel {\r\n\tmodelType: 'UpphandlingsmyndighetenCalendarEventListingPage';\r\n\tid: string;\r\n\theading: string;\r\n\tpreamble?: string;\r\n\tshowMoreButtonText: string;\r\n\tapiUrl: string;\r\n\tnumberOfHitsPerPage: number;\r\n\tlistingModel: CalendarEventsListingModel;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n}\r\n\r\nexport interface FilterButtonGroupAggregationsModel {\r\n\tname: string;\r\n\ttype: string;\r\n\tpath: string;\r\n\tbuckets: FilterButtonGroupAggregationsBucketModel[];\r\n}\r\n\r\nexport interface FilterButtonGroupAggregationsBucketModel {\r\n\tname: string;\r\n\tcount?: number;\r\n\tterm?: string;\r\n\tdisabled?: boolean;\r\n\tselected?: boolean;\r\n}\r\n\r\nexport interface NewsListingPageModel {\r\n\tmodelType: 'UpphandlingsmyndighetenNewsListingPage';\r\n\tid: string;\r\n\theading: string;\r\n\tpreamble?: string;\r\n\tshowMoreButtonText: string;\r\n\tapiUrl: string;\r\n\tnumberOfHitsPerPage: number;\r\n\tlistingModel: NewsListingModel;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n\turl?: string;\r\n}\r\n\r\nexport interface PublicationsListingPageModel {\r\n\tmodelType: 'UpphandlingsmyndighetenPublicationsListingPage';\r\n\tid: string;\r\n\theading: string;\r\n\tpreamble: string;\r\n\tshowMoreButtonText: string;\r\n\tapiUrl: string;\r\n\turl?: string;\r\n\tnumberOfHitsPerPage: number;\r\n\tlistingModel: PublicationListingModel;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n\tdownloadText?: string;\r\n}\r\n\r\nexport interface SectionPageModel {\r\n\tmodelType: 'UpphandlingsmyndighetenSectionPage';\r\n\tid: string;\r\n\theading: string;\r\n\tpreamble: string;\r\n\tapiUrl: string;\r\n\turl?: string;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n}\r\n\r\nexport interface PublicationPageModel {\r\n\tmodelType: 'UpphandlingsmyndighetenPublicationPage';\r\n\tid: string;\r\n\theading: string;\r\n\tpreamble?: string;\r\n\tapiUrl: string;\r\n\tarticleHeader?: ArticleHeaderModel;\r\n\tpublicationDetails: publicationDetailsItemModel[];\r\n\turl?: string;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n\timage?: string;\r\n\talt?: string;\r\n\tdownloadText?: string;\r\n\tpublicationUrl?: string;\r\n}\r\n\r\nexport interface CriteriaServiceCartPageModel {\r\n\tmodelType: 'CriteriaServiceCartPage';\r\n\tid: string;\r\n\theading: string;\r\n\tnoCriteriasHeading: string;\r\n\tnoCriteriasPreamble?: string;\r\n\tpreamble?: string;\r\n\ttableCaptionText: string;\r\n\tdownloadHeading: string;\r\n\tdownloadBlocks: DownloadBlockModel[];\r\n\tapiUrl?: string;\r\n\turl?: string;\r\n\trequirements?: DataTableCartModel;\r\n\temptyCartText: string;\r\n}\r\nexport interface DownloadBlockModel {\r\n\theading: string;\r\n\tpreamble: string;\r\n\tgenerateFileProgressText: string;\r\n\tcreateDownloadUrl: string;\r\n\tculture: string;\r\n\tbuttons: [\r\n\t\t{\r\n\t\t\ttext: string;\r\n\t\t\tformat: string;\r\n\t\t}\r\n\t];\r\n}\r\n\r\nexport interface CriteriaServicePageModel {\r\n\tmodelType: 'CriteriaServicePage';\r\n\tid: string;\r\n\theading: string;\r\n\tpreamble?: string;\r\n\tintroBlock?: IntroBlockModel;\r\n\ttableOfContents?: TocModel;\r\n\tapiUrl?: string;\r\n\tfilterHeading?: string;\r\n\texpandFilterText?: string;\r\n\tclearFilterText?: string;\r\n\tcategorySection?: CategorySectionModel;\r\n\ttext: TextHtmlModel;\r\n\turl?: string;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n}\r\nexport interface ProductGroupPageModel {\r\n\tmodelType: 'ProductGroup';\r\n\tid: string;\r\n\theading: string;\r\n\tpreamble?: string;\r\n\tshowMorePreamble?: string;\r\n\tshowLessPreamble?: string;\r\n\tlinkList?: LinkListModel[];\r\n\turl?: string;\r\n\tapiUrl?: string;\r\n\tfilterHeading?: string;\r\n\texpandFilterText?: string;\r\n\tclearFilterText?: string;\r\n\trequirements?: DataTableModel;\r\n\ttableCaptionText?: string;\r\n\tdownloadHeading: string;\r\n\tgenerateFileButtonText: string;\r\n\tgenerateFileProgressText: string;\r\n\tdownloadFileButtonText: string;\r\n\ttext: TextHtmlModel;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n}\r\n\r\nexport interface ProductGroupPageV2Model {\r\n\tmodelType: 'ProductGroupV2';\r\n\tid: string;\r\n\theading: string;\r\n\tpreamble?: string;\r\n\tshowMorePreamble?: string;\r\n\tshowLessPreamble?: string;\r\n\tlinkList?: LinkListModel[];\r\n\turl?: string;\r\n\tapiUrl?: string;\r\n\tfilterHeading?: string;\r\n\texpandFilterText?: string;\r\n\tclearFilterText?: string;\r\n\trequirements?: DataTableProductGroupModel;\r\n\tcompareButton?: CompareButtonModel;\r\n\ttableCaptionText?: string;\r\n\ttext: TextHtmlModel;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n}\r\n\r\nexport interface ProductSubGroupPageModel {\r\n\tmodelType: 'ProductSubGroup';\r\n\tid: string;\r\n\theading: string;\r\n\tpreamble?: string;\r\n\tshowMorePreamble?: string;\r\n\tshowLessPreamble?: string;\r\n\turl?: string;\r\n\tapiUrl?: string;\r\n\tfilterHeading?: string;\r\n\texpandFilterText?: string;\r\n\tclearFilterText?: string;\r\n\trequirements?: DataTableModel;\r\n\ttableCaptionText?: string;\r\n\tdownloadHeading: string;\r\n\tgenerateFileButtonText: string;\r\n\tgenerateFileProgressText: string;\r\n\tdownloadFileButtonText: string;\r\n\ttext: TextHtmlModel;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n\tlinkList?: LinkListModel[];\r\n}\r\n\r\nexport interface ProductSubGroupPageV2Model {\r\n\tmodelType: 'ProductSubGroupV2';\r\n\tid: string;\r\n\theading: string;\r\n\tpreamble?: string;\r\n\tshowMorePreamble?: string;\r\n\tshowLessPreamble?: string;\r\n\tlinkList?: LinkListModel[];\r\n\turl?: string;\r\n\tapiUrl?: string;\r\n\tfilterHeading?: string;\r\n\texpandFilterText?: string;\r\n\tclearFilterText?: string;\r\n\trequirements?: DataTableProductGroupModel;\r\n\tcompareButton?: CompareButtonModel;\r\n\ttableCaptionText?: string;\r\n\ttext: TextHtmlModel;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n}\r\n\r\nexport interface CriteriaServiceRequirementPageModel {\r\n\tmodelType: 'CriteriaServiceRequirementPage';\r\n\tid: string;\r\n\theading: string;\r\n\tpreamble?: string;\r\n\ttableOfContents?: TocModel;\r\n\ttext: TextHtmlModel;\r\n\turl?: string;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n}\r\n\r\nexport interface CriteriaServiceRequirementPageV2Model {\r\n\tmodelType: 'CriteriaServiceRequirementPageV2';\r\n\tid: string;\r\n\tlevelSwitcherTextWithLinks?: string;\r\n\tcriteriaInfo?: CriteriaDescriptionListModel;\r\n\ttabs?: TabModel[];\r\n\tcompareButton?: CompareButtonModel;\r\n\taddToCartButton: AddToCartButtonModel;\r\n\theading: string;\r\n\tpreamble?: string;\r\n\turl?: string;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n\trequirementInfo?: any;\r\n\tdisclaimer?: TextHtmlModel;\r\n}\r\n\r\nexport interface CriteriaServiceComparisonPageModel {\r\n\tmodelType: 'CriteriaServiceComparisonPage';\r\n\tid: string;\r\n\theading: string;\r\n\tpreamble?: string;\r\n\turl?: string;\r\n\taddToDownloadsText: string;\r\n\tdownloadAddedText: string;\r\n\tapiUrl: string;\r\n\tcolumns: ComparisonColumnModel[];\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n}\r\n\r\nexport interface RiskAnalysisServicePageModel {\r\n\tmodelType: 'RiskAnalysisServicePage';\r\n\tid: string;\r\n\tintroBlock?: IntroBlockModel;\r\n\theading: string;\r\n\tpreamble?: string;\r\n\ttableOfContents?: TocModel;\r\n\tcategorySection?: any;\r\n\ttext: TextHtmlModel;\r\n\turl?: string;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n}\r\n\r\nexport interface RiskAnalysisPageModel {\r\n\tmodelType: 'RiskAnalysisPage';\r\n\tid: string;\r\n\theading: string;\r\n\tpreamble?: string;\r\n\ttableOfContents?: TocModel;\r\n\ttext: TextHtmlModel;\r\n\turl?: string;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n}\r\n\r\nexport interface AttachmentPageModel {\r\n\tmodelType: 'AttachmentPage';\r\n\tid: string;\r\n\theading: string;\r\n\ttableOfContents?: TocModel;\r\n\turl?: string;\r\n\ttext: TextHtmlModel;\r\n\tarticleHeader?: ArticleHeaderModel;\r\n\timageHeader?: ImageHeaderModel;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n}\r\n\r\nexport interface QuestionPortalStartPageModel {\r\n\tmodelType: 'QuestionPortalStartPage';\r\n\tid: string;\r\n\theading: string;\r\n\tpreamble?: string;\r\n\turl?: string;\r\n\tnavigationList: NavigationListModel;\r\n\tintroBlock?: IntroBlockModel;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n}\r\n\r\nexport interface QuestionPortalCategoryPageModel {\r\n\tmodelType: 'QuestionPortalCategoryPage';\r\n\tid: string;\r\n\theading?: string;\r\n\tpreamble?: string;\r\n\tshowMoreButtonText: string;\r\n\tapiUrl: string;\r\n\turl?: string;\r\n\tnumberOfHitsPerPage: number;\r\n\tlistingModel: DialogCategoryListingModel;\r\n\tintroBlock: IntroBlockModel;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n}\r\n\r\nexport interface QuestionPortalDialogPageModel {\r\n\tmodelType: 'QuestionPortalDialogPage';\r\n\tid: string;\r\n\theading: string;\r\n\tpreamble?: string;\r\n\ttext: string;\r\n\tarticleHeader?: ArticleHeaderModel;\r\n\tuser: EditorModel;\r\n\tapiUrl: string;\r\n\turl?: string;\r\n\tlistingModel: DialogListingModel;\r\n\tcommentForm: FormContainerFragmentModel;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n\ttopic: string;\r\n\tcommentsLocked?: boolean;\r\n\tarchived?: boolean;\r\n}\r\n\r\nexport interface StatisticServiceStartPageModel {\r\n\tmodelType: 'StatisticServiceStartPage';\r\n\tid: string;\r\n\theading: string;\r\n\tpreamble?: string;\r\n\turl?: string;\r\n\tnavigationList: NavigationListModel;\r\n\tintroBlock?: IntroBlockModel;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n}\r\n\r\nexport interface StatisticServiceArticlePageModel {\r\n\tmodelType: 'StatisticServiceArticlePage';\r\n\tid: string;\r\n\theading: string;\r\n\tpreamble?: string;\r\n\ttableOfContents?: TocModel;\r\n\turl?: string;\r\n\ttext: TextHtmlModel;\r\n\tarticleHeader?: ArticleHeaderModel;\r\n\timageHeader?: ImageHeaderModel;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n}\r\n\r\nexport interface StatisticServiceNavigationPageModel {\r\n\tmodelType: 'StatisticServiceNavigationPage';\r\n\tid: string;\r\n\theading: string;\r\n\tpreamble?: string;\r\n\turl?: string;\r\n\ttext?: TextHtmlModel;\r\n\tnavigationList: NavigationListModel;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n}\r\n\r\nexport interface StatisticServiceSectionPageModel {\r\n\tmodelType: 'StatisticServiceSectionPage';\r\n\tid: string;\r\n\theading: string;\r\n\tpreamble: string;\r\n\tapiUrl: string;\r\n\turl?: string;\r\n\ttext?: TextHtmlModel;\r\n\tarticleHeader?: ArticleHeaderModel;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n}\r\n\r\nexport interface StatisticServiceArticleListingPageModel {\r\n\tmodelType: 'StatisticServiceArticleListingPage';\r\n\tid: string;\r\n\theading: string;\r\n\tpreamble?: string;\r\n\tshowMoreButtonText: string;\r\n\tapiUrl: string;\r\n\tnumberOfHitsPerPage: number;\r\n\tlistingModel: NewsListingModel;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n}\r\nexport interface StatisticServicePageModel {\r\n\tmodelType: 'UpphandlingsmyndighetenStatisticServicePage';\r\n\tid: string;\r\n\theading: string;\r\n\tpreamble?: string;\r\n\ttext?: TextHtmlModel;\r\n\turl?: string;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n}\r\n\r\nexport interface WebGuidanceLandingPageModel {\r\n\tmodelType: 'WebGuidanceLandingPage';\r\n\tid: string;\r\n\theading: string;\r\n\tpreamble?: string;\r\n\tarea: GuidanceAreaModel;\r\n\turl?: string;\r\n\tarticleHeader?: ArticleHeaderModel;\r\n\tfirstContentArea?: ContentAreaModelTypes[];\r\n\tsecondContentArea?: ContentAreaModelTypes[];\r\n\tfirstText?: TextHtmlModel;\r\n\tsecondText?: TextHtmlModel;\r\n\tfirstRelatedLinks?: RelatedLinksModel[];\r\n\tsecondRelatedLinks?: RelatedLinksModel[];\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n}\r\n\r\nexport interface WebGuidanceArticlePageModel {\r\n\tmodelType: 'WebGuidanceArticlePage';\r\n\tid: string;\r\n\theading: string;\r\n\tpreamble?: string;\r\n\tarea: GuidanceAreaModel;\r\n\ttext: TextHtmlModel;\r\n\turl?: string;\r\n\tarticleHeader?: ArticleHeaderModel;\r\n\ttableOfContents?: TocModel;\r\n\trelatedLinks?: RelatedLinksModel[];\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n}\r\n\r\nexport interface ValfrihetArticlePageModel {\r\n\tmodelType: 'ValfrihetArticlePage';\r\n\tid: string;\r\n\turl?: string;\r\n\tmainHeading?: string;\r\n\tmainPreamble?: string;\r\n\tintroBlock: IntroBlockModel;\r\n\tsubNavigation: [{ url: string; text: string; isActive: boolean }];\r\n\ttext: TextHtmlModel;\r\n\tcontentArea: ContentAreaModelTypes[];\r\n}\r\n\r\nexport interface ValfrihetStartPageModel {\r\n\tmodelType: 'ValfrihetStartPage';\r\n\tfilters?: AggregationsModel[];\r\n\tid: string;\r\n\turl?: string;\r\n\theading?: string;\r\n\tpreamble?: string;\r\n\tintroBlock: IntroBlockModel;\r\n\tsubNavigation: [{ url: string; text: string; isActive: boolean }];\r\n\tloginButton?: { text?: string; url?: string };\r\n\tsearchPlaceholder?: string;\r\n\tsearchResult?: SearchResultModel;\r\n\tshowMoreButtonText: string;\r\n\tnumberOfHitsPerPage: number;\r\n\tapiUrl: string;\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n\tsearchMonitor?: {\r\n\t\theading: string;\r\n\t\tpreamble: string;\r\n\t\tapiUrl: string;\r\n\t\tbuttonText: string;\r\n\t};\r\n}\r\n\r\nexport interface ValfrihetMonitorPageModel {\r\n\tmodelType: 'ValfrihetMonitorPage';\r\n\tid: string;\r\n\turl?: string;\r\n\theading: string;\r\n\tpreamble: string;\r\n\tbuttonText: string;\r\n\tbuttonLink: string;\r\n}\r\n\r\nexport interface ValfrihetAdPageModel {\r\n\tmodelType: 'ValfrihetAdPage';\r\n\tid: string;\r\n\turl?: string;\r\n\tsubNavigation: [{ url: string; text: string; isActive: boolean }];\r\n\theading: string;\r\n\tpreamble?: string;\r\n\tshowBackLink?: boolean;\r\n\tupdated?: string;\r\n\tlogo?: string;\r\n\tbutton?: { text: string; url: string; color: string; icon: iconTypes };\r\n\tuhmNotice?: TextHtmlModel;\r\n\tregionType?: string;\r\n\tregionName?: string;\r\n\tbusinessAreas?: string[];\r\n\tstartDate?: string;\r\n\tendDate?: string;\r\n\tregistryNo?: string;\r\n\tcontactPersons: [\r\n\t\t{\r\n\t\t\tname?: string;\r\n\t\t\temail?: string;\r\n\t\t\tphone?: string;\r\n\t\t}\r\n\t];\r\n\tcontentArea?: ContentAreaModelTypes[];\r\n\tregistryNumber?: string;\r\n}\r\n\r\nexport interface CalendarEventsListingModel {\r\n\toffset: number;\r\n\tfetch: number;\r\n\tsize: number;\r\n\ttotal: number;\r\n\tsortOrder: number;\r\n\thasMultiDayEvents: boolean;\r\n\thasMore: boolean;\r\n\tcalendarEvents: CalendarEventModel[];\r\n\taggregations: FilterButtonGroupAggregationsModel[];\r\n}\r\n\r\nexport interface NewsListingModel {\r\n\toffset: number;\r\n\tfetch: number;\r\n\tsize: number;\r\n\ttotal: number;\r\n\tsortOrder: number;\r\n\titems: NewsModel[];\r\n\tcategoryId?: number;\r\n}\r\n\r\nexport interface DialogCategoryListingModel {\r\n\toffset: number;\r\n\tfetch: number;\r\n\tsize: number;\r\n\ttotal: number;\r\n\titems: DialogCategoryItemModel[];\r\n}\r\n\r\nexport interface DialogListingModel {\r\n\tcomments: DialogBlockModel[];\r\n}\r\n\r\nexport interface PublicationListingModel {\r\n\toffset: number;\r\n\tfetch: number;\r\n\tsize: number;\r\n\ttotal: number;\r\n\tsortOrder: number;\r\n\tgroups: PublicationGroupModel[];\r\n}\r\n\r\nexport interface CriteriaDescriptionListModel {\r\n\theading: string;\r\n\titems: CriteriaDescriptionModel[];\r\n}\r\n\r\nexport interface CriteriaDescriptionModel {\r\n\theading: string;\r\n\ttext: string;\r\n}\r\n\r\nexport interface TabModel {\r\n\ttabName: string;\r\n\tid: string;\r\n\ttext: {\r\n\t\tmodelType: 'Html';\r\n\t\tfragments: RawFragmentModel[];\r\n\t};\r\n}\r\n\r\nexport interface CompareButtonModel {\r\n\ttext: string;\r\n\turl: string;\r\n}\r\n\r\nexport interface AddToCartButtonModel {\r\n\taddToDownloadsText: string;\r\n\tdownloadAddedText: string;\r\n\tcriteriaDescriptor: string;\r\n}\r\n\r\nexport interface ComparisonColumnModel {\r\n\tselects: ComparisonSelectModel[];\r\n\tcriteriaInfo?: CriteriaInfoModel;\r\n}\r\n\r\nexport interface ComparisonSelectModel {\r\n\tid?: string;\r\n\tpath: string;\r\n\tname: string;\r\n\toptions?: ComparisonSelectOptionModel[];\r\n\tcriteriaInfo?: CriteriaInfoModel;\r\n}\r\n\r\nexport interface CriteriaInfoModel {\r\n\theading: string;\r\n\turl: string;\r\n\tcriteriaDescriptor: string;\r\n\ttext: {\r\n\t\tmodelType: 'Html';\r\n\t\tfragments: RawFragmentModel[];\r\n\t};\r\n}\r\n\r\nexport interface ComparisonSelectOptionModel {\r\n\tterm: string;\r\n\tvalue: string;\r\n\tselected: boolean;\r\n}\r\nexport interface ListingModel {\r\n\tpage: number;\r\n\tsize: number;\r\n\ttotal: number;\r\n\tcalendarEvents?: CalendarEventModel[];\r\n\tnews?: NewsModel[];\r\n\tgroups?: PublicationGroupModel[];\r\n\tpublications?: PublicationModel[];\r\n}\r\n\r\nexport interface CategorySectionModel {\r\n\tid: string;\r\n\topenCategoryLabel: string;\r\n\tcloseCategoryLabel: string;\r\n\tnoItemsText: string;\r\n\tcategories: CategoryModel[];\r\n\taggregations?: AggregationsModel[];\r\n}\r\n\r\nexport interface CategoryModel {\r\n\theading: string;\r\n\tisOpen: boolean;\r\n\titems?: Array<{ text: string; url: string; count?: number }>;\r\n}\r\nexport interface NewsModel {\r\n\tpublished: string;\r\n\theading: string;\r\n\ttext: string;\r\n\turl: string;\r\n}\r\n\r\nexport interface DialogCategoryItemModel {\r\n\theading: string;\r\n\turl: string;\r\n\tnumberOfComments: number;\r\n\tupdated?: string;\r\n}\r\n\r\nexport interface DialogBlockModel {\r\n\tisOrganizationReply: boolean;\r\n\tisBestReply?: boolean;\r\n\ttext: string;\r\n\tpublishedDate: string;\r\n\tupdatedDate?: string;\r\n\tuser: EditorModel;\r\n}\r\n\r\nexport interface EditorModel {\r\n\tname: string;\r\n\ttitle: string;\r\n\timage: string;\r\n}\r\nexport interface PublicationGroupModel {\r\n\theading: string;\r\n\titems: PublicationModel[];\r\n}\r\n\r\nexport interface PublicationModel {\r\n\tid?: string;\r\n\tpublicationContentId?: string;\r\n\tculture?: string;\r\n\turl?: string;\r\n\timage?: string;\r\n\talt?: string;\r\n\tpublished?: string;\r\n\tname?: string;\r\n\tdescription?: string;\r\n\tpublicationUrl?: string;\r\n\tcategories?: [];\r\n}\r\n\r\nexport interface CalendarEventModel {\r\n\tstart: { day: string; monthNameShort: string };\r\n\tend: { day: string; monthNameShort: string };\r\n\theading: string;\r\n\tcategory: string;\r\n\ttext?: string;\r\n\turl: string;\r\n}\r\n\r\nexport interface NavigationListLinkModel {\r\n\theading: string;\r\n\turl: string;\r\n\ttext: string;\r\n}\r\n\r\nexport interface NavigationListModel {\r\n\titems: NavigationListLinkModel[];\r\n\tlayout?: 'grid' | 'list';\r\n\taccessibilityDescription: string;\r\n}\r\n\r\nexport interface IntroBlockModel {\r\n\theading?: string;\r\n\tpreamble?: string;\r\n\thasSearch?: boolean;\r\n\tplaceholderSearchText: string;\r\n\tperformSearchText: string;\r\n\tsearchPageUrl?: string;\r\n\tapiUrl?: string;\r\n\ticon?: iconTypes;\r\n}\r\n\r\nexport interface RelatedLinksModel {\r\n\theading: string;\r\n\tlinks?: LinkModel[];\r\n}\r\n\r\nexport interface TextHtmlModel {\r\n\tmodelType: 'Html';\r\n\tfragments: FragmentModelTypes[];\r\n}\r\n\r\nexport interface LinkListModel {\r\n\theading: string;\r\n\ttooltipLabel: string;\r\n\ttooltipText: string;\r\n\twidth: 50 | 100;\r\n\titems: Array<{ text: string; url: string; external?: boolean }>;\r\n}\r\n\r\nexport interface DataTableModel {\r\n\tsortBy?: string;\r\n\torderBy?: string;\r\n\tfilters?: AggregationsModel[];\r\n\taggregations?: AggregationsModel[];\r\n\tquery?: string;\r\n\toffset?: number;\r\n\tfetch?: number;\r\n\tnumberOfHits?: number;\r\n\tproperties?: DataTablePropertyModel[];\r\n\titems?: DataTableRowModel[];\r\n}\r\n\r\nexport interface DataTableProductGroupModel {\r\n\tsortBy?: string;\r\n\torderBy?: string;\r\n\tfilters?: AggregationsModel[];\r\n\taggregations?: AggregationsModel[];\r\n\tquery?: string;\r\n\toffset?: number;\r\n\tfetch?: number;\r\n\tnumberOfHits?: number;\r\n\tproperties?: DataTablePropertyModel[];\r\n\titems?: DataTableProductGroupRowModel[];\r\n}\r\n\r\nexport interface DataTableCartModel {\r\n\tproperties?: DataTablePropertyModel[];\r\n\titems?: DataTableCartRowModel[];\r\n}\r\n\r\nexport interface AggregationsModel {\r\n\tname: string;\r\n\ttype: string;\r\n\tpath: string;\r\n\tselectedBuckets: number;\r\n\tbuckets: AggregationsBucketModel[];\r\n\thiddenByDefault?: boolean;\r\n}\r\n\r\nexport interface AggregationsBucketModel {\r\n\tname?: string;\r\n\tcount: number;\r\n\tterm: string;\r\n\tselected?: boolean;\r\n\tdisabled?: boolean;\r\n}\r\n\r\nexport interface FilterButtonGroupAggregationsBucketModel {\r\n\tname: string;\r\n\tcount?: number;\r\n\tterm?: string;\r\n\tdisabled?: boolean;\r\n\tselected?: boolean;\r\n}\r\n\r\nexport interface DataTableRowModel {\r\n\tdocumentId: string;\r\n\tscore: number;\r\n\turl?: string;\r\n\trequirementName?: string;\r\n\trequirementLevelLevel?: string;\r\n\trequirementLevelType?: string;\r\n\tproductGroupId?: number;\r\n\tproductSubGroupId?: number;\r\n\tproductSubGroupName?: string;\r\n\trequirementWithLevel: RequirementModel;\r\n\tdescription?: string;\r\n}\r\n\r\nexport interface DataTableProductGroupRowModel {\r\n\turl?: string;\r\n\trequirementName: string;\r\n\trequirementLevelLevel?: string;\r\n\trequirementLevelType?: string;\r\n\tproductSubGroupName?: string;\r\n\taddToCartButton: AddToCartButtonModel;\r\n\tdescription?: string;\r\n}\r\n\r\nexport interface DataTableCartRowModel {\r\n\turl?: string;\r\n\trequirementName: string;\r\n\trequirementLevelLevel?: string;\r\n\tproductSubGroupName?: string;\r\n\tremoveFromCartButtonText: string;\r\n\tcriteriaDescriptor: string;\r\n\twarningText?: string;\r\n}\r\n\r\nexport interface DataTablePropertyModel {\r\n\tproperty: string;\r\n\tpath: string;\r\n\theading: string;\r\n\tdirection?: string;\r\n\torderByText: string;\r\n}\r\n\r\nexport interface TocModel {\r\n\theading: string;\r\n\ttitles: TocItemModel[];\r\n\tchapters: Array;\r\n\tisSticky?: boolean;\r\n}\r\n\r\nexport interface TocItemModel {\r\n\ttext: string;\r\n\ttargetId: string;\r\n\ttitles?: TocItemModel[];\r\n}\r\n\r\nexport interface ArticleHeaderModel {\r\n\tpublished?: string;\r\n\tcategories?: ArticleHeaderCategoriesModel[];\r\n\tsocial?: boolean;\r\n}\r\n\r\nexport interface ArticleHeaderCategoriesModel {\r\n\turl?: string;\r\n\ttext: string;\r\n}\r\n\r\nexport interface ImageHeaderModel {\r\n\tsrc?: string;\r\n\taltText?: string;\r\n\ttext?: string;\r\n}\r\n\r\nexport interface calendarEventDetailsItemModel {\r\n\theading: string;\r\n\ttext: string;\r\n\ttype: string;\r\n\turl?: string;\r\n}\r\n\r\nexport interface publicationDetailsItemModel {\r\n\ttext: string;\r\n\tbold: boolean;\r\n\theading: string;\r\n\ttype: string;\r\n}\r\n\r\nexport interface PhaseModel {\r\n\tname: string;\r\n\turl: string;\r\n\tnext?: PhaseModel | null;\r\n\tprevious?: PhaseModel | null;\r\n\ti18n: {\r\n\t\tnext: string;\r\n\t\tprevious: string;\r\n\t};\r\n}\r\n\r\nexport interface ProductModel {\r\n\tname: string;\r\n\tcode: string;\r\n\tprice: {\r\n\t\tamount: number;\r\n\t\tcurrency: string;\r\n\t};\r\n\timage: string;\r\n\turl: string;\r\n}\r\n\r\ninterface stdImage {\r\n\tsrc: string;\r\n\talt: string;\r\n\tsizes: {\r\n\t\tw300: string;\r\n\t\tw600: string;\r\n\t\tw800: string;\r\n\t};\r\n}\r\n\r\nexport interface PuffModel {\r\n\tmodelType: 'Puff';\r\n\theading: string;\r\n\turl: string;\r\n\ttext: string;\r\n}\r\n\r\nexport interface StepModel {\r\n\theading: string;\r\n\tsubHeading?: string;\r\n\tid?: string;\r\n\tisOpen: boolean;\r\n\tfragments: FragmentModelTypes[];\r\n\tsteps?: StepModel[];\r\n}\r\n\r\nexport interface CriteriaItemBaseModel {\r\n\theading: string;\r\n\tlevel: number;\r\n\tsubHeading?: string;\r\n\tid?: string;\r\n\turl?: string;\r\n\tlinkText?: string;\r\n}\r\n\r\nexport interface CriteriaItemModel extends CriteriaItemBaseModel {\r\n\tfragments: FragmentModelTypes[];\r\n\titems?: CriteriaItemModel[];\r\n}\r\n\r\nexport interface AssessmentModel {\r\n\triskAreaName?: string;\r\n\ttargetId?: string;\r\n\tstep: number;\r\n\tstepName: string;\r\n\tassessment: string;\r\n\tassessmentValue: string;\r\n}\r\n\r\nexport type GuidanceAreaModel =\r\n\t| 'construction'\r\n\t| 'default'\r\n\t| 'work'\r\n\t| 'supplyChains'\r\n\t| 'municipalLand';\r\n\r\nexport type FragmentTypes =\r\n\t| 'HeadingFragment'\r\n\t| 'RawFragment'\r\n\t| 'ListFragment'\r\n\t| 'Image'\r\n\t| 'StepByStep'\r\n\t| 'Video'\r\n\t| 'InfoBox'\r\n\t| 'TableFragment'\r\n\t| 'ReferencesBox'\r\n\t| 'ReferencesAccordion'\r\n\t| 'RelatedDialogsModel'\r\n\t| 'Step'\r\n\t| 'FormContainer'\r\n\t| 'EmploymentRequirementsCalculationForm'\r\n\t| 'Chapter'\r\n\t| 'Quote'\r\n\t| 'DescriptionList'\r\n\t| 'LinkList'\r\n\t| 'ServiceButton'\r\n\t| 'RequirementLevelComparerModel'\r\n\t| 'InfoBoxes'\r\n\t| 'EmbeddedScriptModel'\r\n\t| 'InfoBoxCriteria'\r\n\t| 'RiskAssessmentsMatrix'\r\n\t| 'RiskAssessmentsMatrixSmall'\r\n\t| 'ClimateImpactEvaluationForm'\r\n\t| 'Highcharts'\r\n\t| 'StatisticsDataBlock'\r\n\t| 'GuidanceInfoBox';\r\n\r\nexport interface FragmentModel {\r\n\tmodelType: FragmentTypes;\r\n}\r\n\r\nexport interface HeadingFragmentModel extends FragmentModel {\r\n\tlevel: number;\r\n\tid?: string;\r\n\traw: string;\r\n}\r\n\r\nexport interface StepFragmentModel extends FragmentModel {\r\n\theading: string;\r\n\tid?: string;\r\n\tisOpen: boolean;\r\n\tfragments: FragmentModelTypes[];\r\n}\r\n\r\nexport interface RawFragmentModel extends FragmentModel {\r\n\traw: string;\r\n}\r\n\r\nexport interface EmploymentRequirementsCalculationFormModel\r\n\textends FragmentModel {\r\n\tapiUrl: string;\r\n}\r\n\r\nexport interface ListFragmentModel extends FragmentModel {\r\n\traw: string;\r\n}\r\n\r\nexport interface ImageFragmentModel extends FragmentModel {\r\n\tsrc: string;\r\n\tlargeSrc?: string;\r\n\talt: string;\r\n\tprop?: string;\r\n\tcaption?: string;\r\n\tzoom?: boolean;\r\n\topenBtnLabel?: string;\r\n\tcloseBtnLabel?: string;\r\n\tsize?: 'default' | 'medium' | 'large';\r\n\theight?: number;\r\n\twidth?: number;\r\n\tloading?: string;\r\n}\r\n\r\nexport interface VideoFragmentModel extends FragmentModel {\r\n\tembedUrl: string;\r\n\tmissingConsentText: string;\r\n}\r\n\r\nexport interface InfoBoxFragmentModel extends FragmentModel {\r\n\theading: string;\r\n\ttooltipText?: string;\r\n\ttooltipLabel?: string;\r\n\ttext: {\r\n\t\tmodelType: 'Html';\r\n\t\tfragments: RawFragmentModel[];\r\n\t};\r\n\tstyle: 'warning' | 'default';\r\n\tcopyToClipboardText?: string;\r\n}\r\n\r\nexport interface ReferencesBoxFragmentModel extends FragmentModel {\r\n\theading: string;\r\n\ttext: {\r\n\t\tmodelType: 'Html';\r\n\t\tfragments: RawFragmentModel[];\r\n\t};\r\n}\r\n\r\nexport interface ReferencesAccordionFragmentModel extends FragmentModel {\r\n\theading: string;\r\n\theadingLevel: HeadingLevels;\r\n\ttext: {\r\n\t\tmodelType: 'Html';\r\n\t\tfragments: RawFragmentModel[];\r\n\t};\r\n}\r\n\r\nexport interface GuidanceInfoBoxFragmentModel extends FragmentModel {\r\n\timage: string;\r\n\talt: string;\r\n\ttext: string;\r\n\tlink?: LinkModel;\r\n}\r\n\r\nexport interface TableFragmentModel extends FragmentModel {\r\n\tcaption?: string;\r\n\traw: string;\r\n\tstickyColumn?: boolean;\r\n}\r\n\r\nexport interface ChapterFragmentModel extends FragmentModel {\r\n\tid: string;\r\n\ttext: {\r\n\t\tmodelType: 'Html';\r\n\t\tfragments: RawFragmentModel[];\r\n\t};\r\n}\r\n\r\nexport interface QuoteFragmentModel extends FragmentModel {\r\n\ttext?: string;\r\n\tauthor?: string;\r\n\tauthorInformation?: string;\r\n}\r\n\r\nexport interface InfoBoxesModel extends FragmentModel {\r\n\tboxes: Array<{\r\n\t\theading: string;\r\n\t\ttext: {\r\n\t\t\tmodelType: 'Html';\r\n\t\t\tfragments: RawFragmentModel[];\r\n\t\t};\r\n\t}>;\r\n}\r\n\r\nexport interface InfoBoxCriteriaModel extends FragmentModel {\r\n\titems: CriteriaItemModel[];\r\n}\r\n\r\nexport interface RiskAssessmentsMatrixModel extends FragmentModel {\r\n\tcaption: string;\r\n\trowHeading: string;\r\n\tcolumnHeading: string;\r\n\tassessments: AssessmentModel[];\r\n}\r\n\r\nexport interface RiskAssessmentsMatrixSmallModel extends FragmentModel {\r\n\tcaption: string;\r\n\theading: string;\r\n\tassessments: AssessmentModel[];\r\n}\r\nexport interface RequirementLevelComparerModel extends FragmentModel {\r\n\theading: string;\r\n\tshowDetailsText: string;\r\n\thideDetailsText: string;\r\n\tlevels: RequirementLevelModel[];\r\n}\r\n\r\nexport interface EmbeddedScriptModel extends FragmentModel {\r\n\turl: string;\r\n}\r\nexport interface RequirementLevelModel {\r\n\theading: string;\r\n\turl: string;\r\n\tisActive: boolean;\r\n\trows: RequirementLevelRowModel[];\r\n}\r\n\r\nexport interface RequirementLevelRowModel {\r\n\ttext?: string;\r\n\thtml?: string;\r\n\tmodelType: string;\r\n}\r\n\r\nexport interface DescriptionListFragmentModel extends FragmentModel {\r\n\tlineBreak?: boolean;\r\n\tsections: DescriptionListModel[];\r\n}\r\n\r\nexport type chartTypes = 'column' | 'bar' | 'line' | 'pie';\r\nexport interface HighchartsBaseModel {\r\n\tchartType?: chartTypes;\r\n\tstacked?: boolean | 'normal' | 'percent';\r\n\ttitle?: string;\r\n\tsubtitle?: string;\r\n\ttooltipValueDecimals?: number;\r\n\ttooltipValuePrefix?: string;\r\n\ttooltipValueSuffix?: string;\r\n\tyAxisTitle?: string;\r\n\tyAxisLabelFormat?: string;\r\n\tyAxisMin?: number;\r\n\tyAxisMax?: number;\r\n\txAxisTitle?: string;\r\n\txAxisLabelFormat?: string;\r\n\txAxisCategories?: string[];\r\n\tshowLegend?: boolean;\r\n\tseries?: HighchartsJs.SeriesOptionsType[];\r\n\tchartHeight?: number | string | null;\r\n\texports?: StatisticsDataExportModel;\r\n}\r\n\r\nexport interface StatisticTableBaseModel {\r\n\ttitle?: string;\r\n\tstickyColumn?: boolean;\r\n\tmatrix?: boolean;\r\n\tproperties: StatisticTableProperty[];\r\n\trows: { [key: string]: string }[];\r\n\texports?: StatisticsDataExportModel;\r\n}\r\n\r\nexport interface HighchartsModel extends FragmentModel {\r\n\theading: string;\r\n\tsource?: string;\r\n\ttext?: TextHtmlModel;\r\n\tchartProperties?: HighchartsBaseModel;\r\n\ttableProperties?: StatisticTableBaseModel;\r\n}\r\n\r\nexport interface StatisticTableModel extends StatisticTableBaseModel {\r\n\toffset: number;\r\n\tfetch: number;\r\n\ttotal: number;\r\n}\r\n\r\nexport interface StatisticTableProperty {\r\n\tpath: string;\r\n\tname: string;\r\n\tenabled: boolean;\r\n\ttype: string;\r\n\tdirection?: string;\r\n\tdataType: string;\r\n\tdescription?: string;\r\n}\r\n\r\nexport interface DescriptionListModel {\r\n\tbold: boolean;\r\n\theading: string;\r\n\ttype: 'text' | 'breadcrumb' | 'listWithLinks';\r\n\ttext?: string;\r\n\titems?: DescriptionListLinkModel[];\r\n}\r\n\r\nexport interface DescriptionListLinkModel {\r\n\turl: string;\r\n\ttext: string;\r\n\timage?: string;\r\n\texternal?: boolean;\r\n}\r\n\r\nexport interface LinkListFragmentModel extends FragmentModel {\r\n\titems: LinkListLinkModel[];\r\n}\r\n\r\nexport interface ServiceButtonFragmentModel extends FragmentModel {\r\n\ttext: string;\r\n\turl: string;\r\n\ticon?: iconTypes;\r\n\tcolor?: 'magenta' | 'teal';\r\n}\r\nexport interface LinkListLinkModel {\r\n\turl: string;\r\n\ttext: string;\r\n\ticon?: iconTypes;\r\n\texternal?: boolean;\r\n}\r\n\r\nexport interface FormContainerFragmentModel extends FragmentModel {\r\n\tid: string;\r\n\tcurrentStepIndex: number;\r\n\tmethod?: string;\r\n\taction?: string;\r\n\tencodingType?: string;\r\n\ttitle?: string | null;\r\n\tdescription?: string | null;\r\n\tredirectUrl?: string;\r\n\tsteps: any[];\r\n\tfields: any;\r\n\tconfirmationMessage: string | null;\r\n\tdependencies?: any[];\r\n\trequestVerificationToken: string;\r\n}\r\n\r\nexport interface StepByStepModel extends FragmentModel {\r\n\tsteps: StepModel[];\r\n\tlistType: 'none' | 'numbers' | 'letters';\r\n}\r\n\r\nexport interface RelatedDialogsModel extends FragmentModel {\r\n\theading?: string;\r\n\ttext: {\r\n\t\tmodelType: 'Html';\r\n\t\tfragments: RawFragmentModel[];\r\n\t};\r\n\tsize: number;\r\n\ttags: string[];\r\n\tdialogs: DialogModel[];\r\n}\r\n\r\nexport interface DialogModel {\r\n\theading: string;\r\n\ttext: string;\r\n\turl: string;\r\n\tnumberOfComments: number;\r\n\tconversationState: string;\r\n\ttags: string[];\r\n\tlastActivity: string;\r\n\tpublishedDate: string;\r\n}\r\n\r\nexport interface StatisticsDataBlockModel extends FragmentModel {\r\n\theading: string;\r\n\tdiagram?: StatisticsDataDiagramModel;\r\n\ttable?: StatisticsDataTableModel;\r\n\tid: number | string;\r\n}\r\n\r\nexport interface StatisticsDataExportModel {\r\n\tplaceholder: string;\r\n\toptions: StatisticsDataExportOptionModel[];\r\n}\r\nexport interface StatisticsDataExportOptionModel {\r\n\tname: string;\r\n\ttype: string;\r\n\turl?: string;\r\n}\r\n\r\nexport interface StatisticsDataDiagramModel {\r\n\ttabName: string;\r\n\tisActive: boolean;\r\n\tlastUpdated?: string;\r\n\tsource?: string;\r\n\tchartProperties: HighchartsBaseModel;\r\n\texports?: StatisticsDataExportModel;\r\n}\r\n\r\nexport interface StatisticsDataTableModel {\r\n\ttabName: string;\r\n\tisActive: boolean;\r\n\tlastUpdated?: string;\r\n\tsource?: string;\r\n\tapiUrl: string;\r\n\tnumberOfHitsPerPage: number;\r\n\tshowMoreButtonText?: string;\r\n\ttableProperties: StatisticTableModel;\r\n\texports?: StatisticsDataExportModel;\r\n}\r\n\r\nexport type FragmentModelTypes =\r\n\t| HeadingFragmentModel\r\n\t| RawFragmentModel\r\n\t| ListFragmentModel\r\n\t| ImageFragmentModel\r\n\t| StepByStepModel\r\n\t| VideoFragmentModel\r\n\t| InfoBoxFragmentModel\r\n\t| ReferencesBoxFragmentModel\r\n\t| ReferencesAccordionFragmentModel\r\n\t| GuidanceInfoBoxFragmentModel\r\n\t| TableFragmentModel\r\n\t| RelatedDialogsModel\r\n\t| StepFragmentModel\r\n\t| FormContainerFragmentModel\r\n\t| EmploymentRequirementsCalculationFormModel\r\n\t| ChapterFragmentModel\r\n\t| DescriptionListFragmentModel\r\n\t| LinkListFragmentModel\r\n\t| ServiceButtonFragmentModel\r\n\t| RequirementLevelComparerModel\r\n\t| InfoBoxesModel\r\n\t| EmbeddedScriptModel\r\n\t| InfoBoxCriteriaModel\r\n\t| RiskAssessmentsMatrixModel\r\n\t| RiskAssessmentsMatrixSmallModel\r\n\t| HighchartsModel\r\n\t| StatisticsDataBlockModel;\r\n\r\nexport interface CalendarEventPuffWithImageModel extends BlockModel {\r\n\timage?: string;\r\n\talt?: string;\r\n\theading: string;\r\n\turl: string;\r\n\ttext?: string;\r\n\teventDate?: string;\r\n\teventMonth?: string;\r\n\tcategory?: string;\r\n}\r\n\r\nexport interface PuffWithImageModel extends BlockModel {\r\n\timage?: string;\r\n\talt?: string;\r\n\theading: string;\r\n\turl: string;\r\n\ttext?: string;\r\n\tpublished: string;\r\n\tcategories?: Array<{ url: string; text: string }>;\r\n\tisRounded?: boolean;\r\n}\r\n\r\nexport interface PuffWithChartModel extends BlockModel {\r\n\tchartProperties: HighchartsBaseModel;\r\n\theading: string;\r\n\turl: string;\r\n\ttext?: string;\r\n\tpublished?: string;\r\n\tcategories?: Array<{ url: string; text: string }>;\r\n}\r\nexport interface CalendarEventListBlockModel extends BlockModel {\r\n\theading: string;\r\n\tlink: string;\r\n\tlinkText: string;\r\n\thasMultiDayEvents: boolean;\r\n\titems: CalendarEventModel[];\r\n}\r\n\r\nexport interface ServicesListBlockModel extends BlockModel {\r\n\theading: string;\r\n\titems: ServiceBlockModel[];\r\n}\r\n\r\nexport interface ServiceBlockModel {\r\n\theading: string;\r\n\ttext?: string;\r\n\turl: string;\r\n\ticon: iconTypes;\r\n}\r\nexport interface NewsListBlockModel extends BlockModel {\r\n\theading: string;\r\n\tlink: string;\r\n\tlinkText?: string;\r\n\titems?: NewsModel[];\r\n}\r\n\r\nexport interface SectionBlockModel extends BlockModel {\r\n\tbackground: boolean;\r\n\titems?: ContentAreaModelTypes[];\r\n}\r\n\r\nexport interface SectionColumnBlockModel extends BlockModel {\r\n\theading?: string;\r\n\tid?: string;\r\n\ttext?: string;\r\n\titems?: ContentAreaModelTypes[];\r\n}\r\n\r\nexport interface TextBlockModel extends BlockModel {\r\n\ttext: {\r\n\t\tmodelType: 'Html';\r\n\t\tfragments: RawFragmentModel[];\r\n\t};\r\n}\r\n\r\nexport interface DialogListBlockModel extends BlockModel {\r\n\theading: string;\r\n\turl: string;\r\n\tlinkText?: string;\r\n\tdialogs?: DialogCategoryItemModel[];\r\n}\r\n\r\nexport interface EditorsBlockModel extends BlockModel {\r\n\tshowNumberOfEditors: number;\r\n\tshowMoreButtonText: string;\r\n\tshowLessButtonText: string;\r\n\teditors: EditorModel[];\r\n}\r\n\r\nexport interface AskQuestionButtonModel {\r\n\tmodelType: 'AskQuestion';\r\n\ttext: string;\r\n\tcloseModalButtonText: string;\r\n\tformData: FormContainerFragmentModel;\r\n}\r\n\r\nexport interface ChatWithUsButtonModel {\r\n\tmodelType: 'ChatWithUs';\r\n\ttext: string;\r\n\ttime: string;\r\n}\r\n\r\nexport interface CallUsButtonModel {\r\n\tmodelType: 'CallUs';\r\n\ttext: string;\r\n\tphone: string;\r\n\ttime: string;\r\n}\r\n\r\nexport interface TextButtonModel {\r\n\tmodelType: 'text';\r\n\ttext: string;\r\n}\r\n\r\nexport type ButtonTypes =\r\n\t| AskQuestionButtonModel\r\n\t| ChatWithUsButtonModel\r\n\t| CallUsButtonModel\r\n\t| TextButtonModel;\r\n\r\nexport interface ButtonsAndStuffModel extends BlockModel {\r\n\theading?: string;\r\n\ttext?: string;\r\n\tid: string;\r\n\titems: ButtonTypes[];\r\n}\r\n\r\nexport type ContentAreaModelTypes =\r\n\t| SectionBlockModel\r\n\t| SectionColumnBlockModel\r\n\t| PuffModel\r\n\t| CalendarEventPuffWithImageModel\r\n\t| PuffWithImageModel\r\n\t| PuffWithChartModel\r\n\t| NewsListBlockModel\r\n\t| CalendarEventListBlockModel\r\n\t| TextBlockModel\r\n\t| DialogListBlockModel\r\n\t| EditorsBlockModel\r\n\t| ButtonsAndStuffModel\r\n\t| ServicesListBlockModel;\r\n\r\nexport type BlockTypes =\r\n\t| 'SectionBlock'\r\n\t| 'SectionColumnSmall'\r\n\t| 'SectionColumnMedium'\r\n\t| 'SectionColumnLarge'\r\n\t| 'Puff'\r\n\t| 'PuffWithImage'\r\n\t| 'PuffWithNoImage'\r\n\t| 'PuffWithChart'\r\n\t| 'CalendarEventPuffWithImage'\r\n\t| 'CalendarEventPuffWithNoImage'\r\n\t| 'CalendarEventListBlock'\r\n\t| 'NewsListBlock'\r\n\t| 'TextBlock'\r\n\t| 'Dialogs'\r\n\t| 'DialogsSmall'\r\n\t| 'DialogsMedium'\r\n\t| 'DialogsLarge'\r\n\t| 'Editors'\r\n\t| 'EditorsSmall'\r\n\t| 'EditorsMedium'\r\n\t| 'EditorsLarge'\r\n\t| 'ButtonsAndStuff'\r\n\t| 'ServicesList';\r\n\r\nexport interface BlockModel {\r\n\tmodelType: BlockTypes;\r\n}\r\n\r\nexport type SearchListItemTypes =\r\n\t| SearchResultItemModel\r\n\t| DialogSearchHitItemModel;\r\n\r\nexport interface SearchResultModel {\r\n\tquery: string;\r\n\tpage: number;\r\n\toffset: number;\r\n\tfetch: number;\r\n\tsize: number;\r\n\tnumberOfHits: number;\r\n\tbuckets: any[];\r\n\tresults: SearchResultItemModel[];\r\n\tfilterGroups: SearchFilterGroupModel[];\r\n\tsorting: SearchSortingModel;\r\n\taggregations: AggregationsModel[];\r\n}\r\n\r\nexport interface SearchSortingModel {\r\n\tpath: string;\r\n\tplaceholder: string;\r\n\toptions: SortingOptionModel[];\r\n}\r\n\r\nexport interface SortingOptionModel {\r\n\tname: string;\r\n\tpath: string;\r\n\tselected: boolean;\r\n}\r\nexport interface SearchFilterGroupModel {\r\n\tgroupName: string;\r\n\tselectedBuckets: number;\r\n\taggregations: SearchAggregationModel[];\r\n}\r\nexport interface SearchAggregationModel {\r\n\tname: string;\r\n\ttype: string;\r\n\tpath: string;\r\n\tsearchPlaceholder?: string;\r\n\taggregatorType: 'radio' | 'multiselect' | 'select';\r\n\tbuckets: SearchResultAggregationsBucketModel[];\r\n}\r\n\r\nexport interface SearchResultAggregationsBucketModel {\r\n\tterm: string;\r\n\tselected: boolean;\r\n}\r\n\r\nexport interface SearchResultItemModel {\r\n\tdocumentId: string;\r\n\tscore: number;\r\n\turl: string;\r\n\theading: string;\r\n\texcerpt: string;\r\n\tbreadcrumbs?: {\r\n\t\tbreadcrumbs: ModelBreadcrumbs[];\r\n\t};\r\n\tcategories: string[];\r\n\tmodelType: string;\r\n}\r\n\r\nexport interface DialogSearchHitItemModel {\r\n\tdocumentId: string;\r\n\tnumberOfComments: number;\r\n\turl: string;\r\n\theading: string;\r\n\texcerpt?: string;\r\n\tcategories: string[];\r\n\tmodelType: string;\r\n}\r\n\r\nexport interface ValfrihetSearchResultModel {\r\n\tdocumentId: string;\r\n\tscore: number;\r\n\turl: string;\r\n\theading: string;\r\n\texcerpt: string;\r\n\tbusinessArea: string;\r\n\tregionName: string;\r\n\tupdated: string;\r\n\tmodelType: string;\r\n}\r\n\r\nexport interface ServiceModel {\r\n\tname: string;\r\n\tisActive: boolean;\r\n\turl: string;\r\n\tapiUrl: string;\r\n\tid: string;\r\n\tperformSearchText: string;\r\n}\r\n\r\nexport interface PopularPagesModel {\r\n\tfirst: PopularPagesLinksModel;\r\n\tsecond: PopularPagesLinksModel;\r\n}\r\n\r\nexport interface PopularPagesLinksModel {\r\n\theading: string;\r\n\tlinks: LinkModel[];\r\n}\r\n\r\nexport interface LinkModel {\r\n\thref: string;\r\n\ttext: string;\r\n\ttitle: string;\r\n\ttarget: string;\r\n\texternal?: boolean;\r\n}\r\n\r\nexport interface CriteriaLevelsModel {\r\n\theading: string;\r\n\tlevels: CriteriaLevelModel[];\r\n}\r\n\r\nexport interface CriteriaLevelModel {\r\n\ttitle: string;\r\n\turl: string;\r\n\tactive: boolean;\r\n\tfragments: FragmentModelTypes[];\r\n}\r\n\r\nexport interface RequirementModel {\r\n\tid: string;\r\n\tlevel: string;\r\n\tselected: boolean;\r\n}\r\n\r\nexport interface SelectedRequirementsModel {\r\n\t[id: string]: RequirementModel;\r\n}\r\n\r\nexport interface ProductGroupSelectedRequirementsModel {\r\n\t[productGroupId: number]: {\r\n\t\tselectedRequirements: SelectedRequirementsModel;\r\n\t};\r\n}\r\n\r\nexport interface RequirementExportModel {\r\n\tmessage?: string;\r\n\treportUrl?: string;\r\n}\r\n\r\nexport interface CriteriaCartModel {\r\n\tcriterias: string[];\r\n\tmodel?: CriteriaServiceCartPageModel;\r\n\tdonloadFileUrl?: string;\r\n}\r\n","module.exports = __webpack_public_path__ + \"static/media/none.4887231f.svg\";"],"sourceRoot":""}