{"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","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","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,mBCpE1DqK,GAAU,eAAA3pB,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAClBC,EACAupB,EACAC,EACAC,EACA5jB,GAAe,IAAA6jB,EAAAnpB,EAAA8B,EAAA/J,EAAA,OAAAuH,IAAAY,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAgBd,OAdG8oB,EAAiB,IAEjB1pB,EAAOgU,QAAQ,MAAQ,IAC1B0V,EAAiB,KAGdnpB,EAAG,GAAAM,OAAMb,GAAMa,OAAG6oB,EAAc,UAAA7oB,OAAS2oB,GAEzCC,IACHlpB,GAAG,cAAAM,OAAkB4oB,IAGlB5jB,IACHtF,GAAG,IAAAM,OAAQgF,IACXvD,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,SAGLpJ,GAAI,yBAAAgK,EAAAX,UAAA5B,OACX,gBA3Be6B,EAAAC,EAAAC,EAAAC,EAAAQ,GAAA,OAAA5C,EAAAlG,MAAA,KAAAuI,YAAA,GA6BH2nB,GAA4BC,aAGvC,CACDtV,GAAI,4BACJuV,QAAS,OACTC,QAAS,CACR9pB,OAAQ,GACRrG,YAAQ6C,EACRd,WAAOc,GAERutB,OAAQ,CACPC,KAAM,GACNvnB,QAAS,CACRwnB,OAAQ,CACP3V,GAAI,UACJ/Y,IAAK,SAACmF,EAAU9E,GAAK,OACpB0tB,GACC1tB,EAAMoE,OACNpE,EAAMyU,OACNzU,EAAM4tB,MACN5tB,EAAM6tB,UACN7tB,EAAMiK,SAERqkB,OAAQ,CACP9tB,OAAQ,UACRqD,QAASqH,aAAO,CACfnN,OAAQ,SAAC+G,EAAU9E,GAAK,OAAKA,EAAMtD,SAGrC6xB,QAAS,CACR/tB,OAAQ,UACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GAAK,OAAKA,EAAMtD,MAClCqB,OAAQ,SAAC+G,EAAU0pB,UAKvBC,QAAS,GACTC,QAAS,IAEVC,GAAI,CACHC,MAAO,CACN,CACCpuB,OAAQ,UACRqD,QAAS,QCGEgrB,GAvE6B,SAAH9qB,GAMlC,IALN+qB,EAAU/qB,EAAV+qB,WACAC,EAAShrB,EAATgrB,UACA7V,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,MAERkR,EAAoBlY,mBAC1Bb,EAAwDC,oBAAS,GAAMC,EAAAC,aAAAH,EAAA,GAAhEgZ,EAAoB9Y,EAAA,GAAE+Y,EAAuB/Y,EAAA,GAMpD,OAJAgZ,aAAgBH,GAAmB,WAClCE,GAAwB,MAIxBpsB,IAAAxD,cAAA,OACC2O,UAAWoM,aAAKpM,EAAW,oBAC3ByL,IAAKsV,GAELlsB,IAAAxD,cAAA,UACC2O,UAAWoM,aACV,kBACA,WACA,YACA,SACA,OACA,OACA,WACA,uBACA,UACA,iBACA,qBACA,0BACA,8BACA,yBACA,0BACA,wBAEDoI,QAAS,kBAAMyM,GAAyBD,IACxCG,gBAAA,mBAAAnqB,OAAkCyT,GAClC2W,gBAAeJ,EACf/V,SAAUA,GAEVpW,IAAAxD,cAAA,QAAM2O,UAAWoM,cAAM4U,GAAwB,oBAC7CH,EACAC,GAAajsB,IAAAxD,cAAA,QAAM2O,UAAU,WAAS,IAAAhJ,OAAM8pB,KAE9CjsB,IAAAxD,cAAA,QAAM2O,UAAU,QACfnL,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLC,MAAM,UACNE,cAAY,OACZtM,KAAM,IACNsV,UAAY0M,EAA8B,OAAP,SAIrCA,GACAnsB,IAAAxD,cAAA,OACCoZ,GAAE,mBAAAzT,OAAqByT,GACvBzK,UAAU,oHAEVnL,IAAAxD,cAAA,UAAKyO,MCzFGuhB,GAAkB,SAAC3qB,GAC/B,IAAI8X,EAAIpd,SAASC,cAAc,KAC/Bmd,EAAE8S,UAAUC,IAAI,UAChBnwB,SAAS+d,KAAKrc,YAAY0b,GAC1BA,EAAElX,KAAOZ,EACT8X,EAAEgT,SAAW9qB,EACb8X,EAAEiT,QACFjT,EAAEkT,UAGUC,GAAuB,SAAC/C,EAAegD,GACL,IAADC,EAApB,OAArBjD,EAASnV,SAAoBmY,IACV,QAAtBC,EAAAjD,EAASnV,QAAQsT,aAAK,IAAA8E,GAAtBA,EAAwBC,YAAY,CACnCzvB,KAAMuvB,MCyDMG,GA1C2B,SAAHjsB,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,SAACoN,EAAoBlrB,GAC7C,OAAQkrB,GACP,IAAK,MACL,IAAK,QACAlrB,GACH2qB,GAAgB3qB,GAEjB,MACD,IAAK,MACJirB,GAAqB/C,EAAU,iBAC/B,MACD,IAAK,MACL,IAAK,OACJ+C,GAAqB/C,EAAS,SAAD5nB,OAAW4qB,KAYbI,CAAiB3vB,EAAMqE,KAGjDoJ,KCsJUmiB,GAhL8B,SAAHnsB,GAMnC,IALNkR,EAAOlR,EAAPkR,QACAkb,EAASpsB,EAATosB,UACAC,EAAWrsB,EAAXqsB,YACA1X,EAAE3U,EAAF2U,GACAzK,EAASlK,EAATkK,UAEAoiB,EAAsBC,aAAWvC,IAA0BwC,EAAAna,aAAAia,EAAA,GAApD7sB,EAAK+sB,EAAA,GAAEC,EAAID,EAAA,GACZ1D,EAAW/V,iBAAY,MAC7Bb,EAAkCC,oBACvB,OAATia,QAAS,IAATA,OAAS,EAATA,EAAWM,WAAQ,aAAAxrB,OAAiByT,KACxB,OAAX0X,QAAW,IAAXA,OAAW,EAAXA,EAAaK,WAAQ,eAAAxrB,OAAmByT,IAC1CvC,EAAAC,aAAAH,EAAA,GAHMya,EAASva,EAAA,GAAEwa,EAAYxa,EAAA,GAI9BG,EAAoCJ,mBACnC,MACAK,EAAAH,aAAAE,EAAA,GAFMsa,EAAUra,EAAA,GAAEsa,EAAata,EAAA,GAI5Bua,EAAa,EAcjB,OAbIF,GAAcT,IACjBW,EACCF,EAAWnc,OAASmc,EAAWhD,MAAQuC,EAAUY,qBAGnDzU,qBAAU,WACTuU,EAAcrtB,EAAM0qB,QAAQnwB,UAC1B,CAACyF,EAAM0qB,QAAQnwB,SAElBue,qBAAU,WACL6T,GAAWU,EAAcV,EAAUa,mBACrC,IAGFluB,IAAAxD,cAAA,OAAK2O,UAAWA,EAAWgQ,WAAS,uBACnCnb,IAAAxD,cAAA,OAAK2O,UAAU,4CACdnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,MAAMjD,KAEdmb,GAAeD,IAChBrtB,IAAAxD,cAAC2xB,KAAiB,KAChBd,GACArtB,IAAAxD,cAAC4xB,KAAY,CACZ/Y,KAAMgY,EAAUgB,QAChBzY,GAAE,aAAAzT,OAAeyT,GACjB0W,gBAAA,aAAAnqB,OAA4ByT,EAAE,YAC9B0Y,iBAAe,EACfX,SAAUC,IAAS,aAAAzrB,OAAkByT,GACrC+J,QAAS,WACRkO,EAAa,aAAD1rB,OAAcyT,MAG1ByX,EAAUgB,SAGZf,GACAttB,IAAAxD,cAAC4xB,KAAY,CACZ/Y,KAAMiY,EAAYe,QAClBzY,GAAE,eAAAzT,OAAiByT,GACnB0W,gBAAA,eAAAnqB,OAA8ByT,EAAE,YAChC0Y,iBAAe,EACfX,SAAUC,IAAS,eAAAzrB,OAAoByT,GACvC+J,QAAS,WACRkO,EAAa,eAAD1rB,OAAgByT,MAG5B0X,EAAYe,UAKjBruB,IAAAxD,cAAA,OAAK+xB,KAAK,WAAW3Y,GAAE,GAAAzT,OAAKyrB,EAAS,YAAYziB,UAAU,QACzDkiB,GAAaO,IAAS,aAAAzrB,OAAkByT,IAAQkY,GAChD9tB,IAAAxD,cAAAwD,IAAAiU,SAAA,KACEoZ,EAAU1xB,SACVqE,IAAAxD,cAAA,OAAK2O,UAAU,8BACdnL,IAAAxD,cAACuvB,GAAkB,CAClBC,WAAYqB,EAAU1xB,QAAQ6yB,YAC9BvC,UAAW6B,EAAWhhB,OAErBugB,EAAU1xB,QAAQ0W,QAAQ9K,KAC1B,SACC0O,EACAuF,GAEA,OACCxb,IAAAxD,cAAC0wB,GAAgB,CAChB1vB,KAAMyY,EAAOzY,KACbqE,IAAKoU,EAAOpU,IACZkoB,SAAUA,EACV3qB,IAAKoc,GAEJvF,EAAOrY,WAQfoC,IAAAxD,cAACsjB,GAAc,CACdE,YAAaqN,EAAUrN,YACvBO,OAAQ8M,EAAU9M,OAClB3mB,KAAMk0B,EACN7P,OAAQ6P,EAAW7P,OACnBuC,mBAAoB6M,EAAU7M,mBAC9BF,iBAAkBwN,EAAWW,MAAQT,EACrCpN,mBAAoB,WACnB8M,EAAK,QAAS,CACb/b,OAAQ,EACRmZ,MAAOkD,EACP1sB,OAAQ+rB,EAAU/rB,aAMtBgsB,GAAeM,IAAS,eAAAzrB,OAAoByT,IAC5C5V,IAAAxD,cAAAwD,IAAAiU,SAAA,KACEqZ,EAAY3xB,SACZqE,IAAAxD,cAAA,OAAK2O,UAAU,8BACdnL,IAAAxD,cAACuvB,GAAkB,CAClBC,WAAYsB,EAAY3xB,QAAQ6yB,YAChCvC,UAAWqB,EAAYpD,gBAAgBpd,OAEtCwgB,EAAY3xB,QAAQ0W,QAAQ9K,KAC5B,SACC0O,EACAuF,GAEA,OACCxb,IAAAxD,cAAC0wB,GAAgB,CAChB1vB,KAAMyY,EAAOzY,KACbqE,IAAKoU,EAAOpU,IACZkoB,SAAUA,EACV3qB,IAAKoc,GAEJvF,EAAOrY,WAQfoC,IAAAxD,cAACstB,GAAU,CACV9C,UAAWsG,EAAYpD,gBAAgBlD,UACvCa,QAASyF,EAAYpD,gBAAgBrC,QACrC/a,MAAOwgB,EAAYpD,gBAAgBpd,MACnCma,SAAUqG,EAAYpD,gBAAgBjD,SACtCC,qBACCoG,EAAYpD,gBAAgBhD,qBAE7BC,mBACCmG,EAAYpD,gBAAgB/C,mBAE7BC,mBACCkG,EAAYpD,gBAAgB9C,mBAE7BC,WAAYiG,EAAYpD,gBAAgB7C,WACxCC,iBAAkBgG,EAAYpD,gBAAgB5C,iBAC9CC,SAAU+F,EAAYpD,gBAAgB3C,SACtCC,SAAU8F,EAAYpD,gBAAgB1C,SACtCC,WAAY6F,EAAYpD,gBAAgBzC,WACxCE,gBAAiB2F,EAAYpD,gBAAgBvC,gBAC7CD,iBAAkB4F,EAAYpD,gBAAgBxC,iBAC9CI,WAAYwF,EAAYpD,gBAAgBpC,WACxCF,OAAQ0F,EAAYpD,gBAAgBtC,OACpC5H,YAAasN,EAAYtN,YACzB+J,SAAUA,EACVxJ,OAAQ+M,EAAY/M,aCxHZmO,GA/DyB,SAAHztB,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,cAACuvB,GAAkB,CAClBC,WAAY9B,EAAgBvuB,QAAQ6yB,YACpCvC,UAAW/B,EAAgBpd,OAE1Bod,EAAgBvuB,QAAQ0W,QAAQ9K,KAChC,SAAC0O,EAAyCuF,GACzC,OACCxb,IAAAxD,cAAC0wB,GAAgB,CAChB1vB,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,MCgBR4E,GAAkB,SAACzS,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,GAClB+tB,EAAgB,GAOtB,OALO,OAAH9tB,QAAG,IAAHA,GAAS,QAANiK,EAAHjK,EAAKV,YAAI,IAAA2K,OAAN,EAAHA,EAAW1K,aAAcyY,IAC5B8V,EAAS,0BAA4B9V,EACrC8V,EAAS,4BAA8B,QAIvC5uB,IAAAxD,cAAA,MAAAnC,OAAA+N,OAAA,GAASwmB,EAAQ,CAAEzjB,UAAWA,IACnB,OAAT4M,QAAS,IAATA,OAAS,EAATA,EAAWxQ,KAtlBM,SAAdsnB,EAAeC,EAA8BtT,GAAmB,IAADuT,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACpE,OAAQT,EAASrgB,WAChB,IAAK,sBACJ,IAAM+gB,EAAaV,EACnB,OAAO9uB,IAAAxD,cAACwd,GAAW,CAAC5a,IAAKoc,EAAO3e,IAAK2yB,EAAW3tB,MACjD,IAAK,OACJ,IAAM4tB,EAAWX,EACjB,OACC9uB,IAAAxD,cAAA,OAAK2O,UAAU,QAAQ/L,IAAKoc,GAC3Bxb,IAAAxD,cAAC0b,KAAc,CACdtC,GAAI6Z,EAAS7Z,GACb6B,OAAQgY,EAAStd,QACjBgG,KACEsX,EAAS7Z,IAAMnU,EAAW2W,SAASqX,EAAS7Z,KAC7C6Z,EAASpX,OAEVC,SAAS,OACTC,UAAU,UACVC,WAAW,EACXrN,UAAU,QAEVnL,IAAAxD,cAACsb,EAAY,CAACC,UAAW0X,EAAS1X,cAItC,IAAK,aACJ,OACC/X,IAAAxD,cAACqa,GAAU,CACVzX,IAAKoc,EACL1E,MAAQgY,EAA6BhY,MACrCE,SAAW8X,EAA6B9X,WAG3C,IAAK,kBACJ,IAAMpd,EAAOk1B,EACb,OACC9uB,IAAAxD,cAAC2Y,GAAI,CACJC,GAAIuZ,GAAgB/0B,EAAKsiB,OACzBtG,GAAIhc,EAAKgc,IAAkB,KAAZhc,EAAKgc,GAAYhc,EAAKgc,GAAK,KAC1CxW,IAAKoc,GAELxb,IAAAxD,cAAA,QAAMmqB,wBAAyB,CAAEC,OAAQhtB,EAAK81B,QAIjD,IAAK,QACJ,IAAMC,EAAUb,EAEhB,OACC9uB,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAKoc,GACnBmU,EAAQC,KACR5vB,IAAAxD,cAACqzB,KAAU,CACVC,aAAcH,EAAQG,aACtBC,cAAeJ,EAAQG,cAEvB9vB,IAAAxD,cAACsd,GAAK,CACL/V,QAAQ,OACRlH,IAAK8yB,EAAQ9yB,IAAM,aACnBkf,IAAK4T,EAAQ5T,IACbjD,KAAM6W,EAAQ7W,KACdkX,WAAYL,EAAQzZ,QACpB+Z,SAAUN,EAAQM,SAClB9lB,KAAMwlB,EAAQxlB,KACdoG,OAAQof,EAAQpf,OAChBD,MAAOqf,EAAQrf,SAIjBtQ,IAAAxD,cAACsd,GAAK,CACL/V,QAAQ,OACRlH,IAAK8yB,EAAQ9yB,IAAM,aACnBkf,IAAK4T,EAAQ5T,IACbjD,KAAM6W,EAAQ7W,KACdkX,WAAYL,EAAQzZ,QACpB/L,KAAMwlB,EAAQxlB,KACdoG,OAAQof,EAAQpf,OAChBD,MAAOqf,EAAQrf,SAKpB,IAAK,QACJ,IAAM4f,EAAYpB,EAWdjyB,EAAM,GAYV,OAREA,EAHEqzB,EAAUC,SAAS/X,SAAS,WAE3B8X,EAAUC,SAAS/X,SAAS,KAC5B,GAAAjW,OAAM+tB,EAAUC,SAAQ,kBAExB,GAAAhuB,OAAM+tB,EAAUC,SAAQ,kBAItBD,EAAUC,SAGhBnwB,IAAAxD,cAAA,OAAK2O,UAAU,OAAO/L,IAAKoc,GAC1Bxb,IAAAxD,cAAC4zB,MAAgB,CAChBC,aAAW,iBACXxzB,IAAKA,EACLyzB,mBAAkBzzB,EAClB0zB,wBAAsB,wBAEtBvwB,IAAAxD,cAAA,UACC2O,UAAU,+GACVqlB,gBAAc,uBACd7Q,QAjCgB,WAEA,qBAAXpd,QACPA,OAAOkuB,eACPluB,OAAOkuB,cAAcC,OAErBnuB,OAAOkuB,cAAcC,UA6BlBR,EAAUS,sBAKhB,IAAK,UACJ,IAAMC,EAAc9B,EACpB,OACC9uB,IAAAxD,cAAA,OAAK2O,UAAU,cAAc/L,IAAKoc,GACjCxb,IAAAxD,cAACq0B,KAAO,CACP1e,QAASye,EAAYze,QACrBuE,QAASka,EAAYvgB,MACrBygB,YAAaF,EAAYE,YACzBC,aAAcH,EAAYG,aAC1BC,oBAAqBJ,EAAYI,qBAEjChxB,IAAAxD,cAACsb,EAAY,CAACC,UAA2B,QAAlBgX,EAAE6B,EAAYvb,YAAI,IAAA0Z,OAAA,EAAhBA,EAAkBhX,cAI/C,IAAK,gBACJ,IAAMkZ,EAAiBnC,EACvB,OACC9uB,IAAAxD,cAAA,OAAK2O,UAAU,cAAc/L,IAAKoc,GACjCxb,IAAAxD,cAACq0B,KAAO,CAAC1e,QAAS8e,EAAe9e,QAASuE,QAAQ,cACjD1W,IAAAxD,cAACsb,EAAY,CAACC,UAA8B,QAArBiX,EAAEiC,EAAe5b,YAAI,IAAA2Z,OAAA,EAAnBA,EAAqBjX,cAIlD,IAAK,sBACJ,IAAMmZ,EAAgBpC,EACtB,OACC9uB,IAAAxD,cAAA,OAAK2O,UAAU,cAAc/L,IAAKoc,GACjCxb,IAAAxD,cAAC20B,KAAkB,CAClBhf,QAAS+e,EAAc/e,QACvBsG,aAAwC,QAA5BwW,EAAEiC,EAAczY,oBAAY,IAAAwW,IAAI,MAE5CjvB,IAAAxD,cAACsb,EAAY,CAACC,UAA6B,QAApBmX,EAAEgC,EAAc7b,YAAI,IAAA6Z,OAAA,EAAlBA,EAAoBnX,cAIjD,IAAK,kBACJ,IAAMqZ,EAAsBtC,EAC5B,OACC9uB,IAAAxD,cAAA,OAAK2O,UAAU,cAAc/L,IAAKoc,GACjCxb,IAAAxD,cAAC60B,KAAW,CACXhc,KAAM+b,EAAoB/b,KAC1BxT,IAA6B,QAA1BstB,EAAEiC,EAAoBE,YAAI,IAAAnC,OAAA,EAAxBA,EAA0B1sB,KAC/B8uB,SAAkC,QAA1BnC,EAAEgC,EAAoBE,YAAI,IAAAlC,OAAA,EAAxBA,EAA0B/Z,KACpCxY,IAAKu0B,EAAoB5jB,MACzBuO,IAAKqV,EAAoBrV,OAI7B,IAAK,gBACJ,IAAMsR,EAAYyB,EAClB,OACC9uB,IAAAxD,cAAA,OAAK2O,UAAU,uBAAuB/L,IAAKoc,GAC1Cxb,IAAAxD,cAAA,OACC2O,UAAWoM,aACV,mBACA8V,EAAUrP,cAAgB,oBAE3B2I,wBAAyB,CAAEC,OAAQyG,EAAUqC,QAIjD,IAAK,sBACJ,IAAM8B,EAAa1C,EACnB,OACC9uB,IAAAxD,cAACi1B,KAAY,CAACryB,IAAKoc,GACjBgW,EAAWrf,SACXnS,IAAAxD,cAACk1B,KAAkB,CAACja,OAAQ+Z,EAAWrf,SACtCnS,IAAAxD,cAACsb,EAAY,CAACC,UAA0B,QAAjBsX,EAAEmC,EAAWnc,YAAI,IAAAga,OAAA,EAAfA,EAAiBtX,aAG3CyZ,EAAWG,QAAQpqB,KAAI,SAACqqB,EAAQpW,GAAK,OACrCxb,IAAAxD,cAACq1B,KAAgB,CAChBhwB,IAAK+vB,EAAO/vB,IACZsQ,QAASyf,EAAOzf,QAChB/S,IAAKoc,QAKV,IAAK,cACJ,OACCxb,IAAAxD,cAACyc,GAAQ,CAAC7Z,IAAKoc,GACdxb,IAAAxD,cAAA,OACCmqB,wBAAyB,CACxBC,OAASkI,EAA8BY,QAK5C,IAAK,gBACJ,IAAMxd,EAAW4c,EACjB,OAAO9uB,IAAAxD,cAACs1B,KAAQz3B,OAAA+N,OAAA,CAAChJ,IAAKoc,GAAWtJ,IAElC,IAAK,wCACJ,IAAM6f,EACLjD,EACD,OAAO9uB,IAAAxD,cAAC0W,GAAO,CAAC5R,OAAQywB,EAAYzwB,OAAQlC,IAAKoc,IAClD,IAAK,UACJ,IAAMwW,EAAclD,EACpB,OACC9uB,IAAAxD,cAAA,OAAKoZ,GAAIoc,EAAYpc,GAAIxW,IAAKoc,GACF,QADQ8T,EAClC0C,EAAY3c,KAAK0C,iBAAS,IAAAuX,OAAA,EAA1BA,EAA4B/nB,IAAIsnB,IAGpC,IAAK,QACJ,IAAMoD,EAAYnD,EAClB,OACC9uB,IAAAxD,cAAA,OAAK2O,UAAU,QAAQ/L,IAAKoc,GAC3Bxb,IAAAxD,cAAC01B,MAAK,CACLC,OAAQF,EAAUE,OAClBC,WAAYH,EAAUI,mBAErBJ,EAAU5c,OAIf,IAAK,kBACJ,IAAMid,EAAsBxD,EAC5B,OACC9uB,IAAAxD,cAAC+1B,KAAe,CACfnzB,IAAKoc,EACLgX,UAAWF,EAAoBE,WAE9BF,EAAoBG,SAASlrB,KAC7B,SAAC0L,EAASyf,GAA6B,IAADC,EACrC,OAAQ1f,EAAQzV,MACf,IAAK,OACJ,OACCwC,IAAAxD,cAACo2B,KAAkB,CAACxzB,IAAKszB,GACxB1yB,IAAAxD,cAACq2B,KAAe,CACfxd,KAAMpC,EAAQd,QACd2gB,WAAa7f,EAAQ8f,KAAmB,OAAZ,YAE7B/yB,IAAAxD,cAACw2B,KAAe,KACfhzB,IAAAxD,cAAA,OACC2O,UAAU,WACVwb,wBAAyB,CACxBC,QAAe,OAAP3T,QAAO,IAAPA,OAAO,EAAPA,EAASoC,OAAQ,QAM/B,IAAK,aACJ,OACCrV,IAAAxD,cAACo2B,KAAkB,CAACxzB,IAAKszB,GACxB1yB,IAAAxD,cAACq2B,KAAe,CACfxd,KAAMpC,EAAQd,QACd2gB,WAAa7f,EAAQ8f,KAAmB,OAAZ,YAE7B/yB,IAAAxD,cAACw2B,KAAe,KACD,QADCL,EACd1f,EAAQhK,aAAK,IAAA0pB,OAAA,EAAbA,EAAeprB,KAAI,SAAC6G,EAAM6kB,GAAoB,OAC9CjzB,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAK6zB,GACpBjzB,IAAAxD,cAACsO,GAAI,CAACK,UAAU,kBAAkBH,GAAIoD,EAAKvM,KAC1C7B,IAAAxD,cAAA,QAAM2O,UAAU,yBACdiD,EAAKiH,OAGPpC,EAAQhK,OACRgqB,IACChgB,EAAQhK,MAAM7O,OAAS,GACxB,YAMP,IAAK,gBACJ,OACC4F,IAAAxD,cAACo2B,KAAkB,CAACxzB,IAAKszB,GACxB1yB,IAAAxD,cAACq2B,KAAe,CACfxd,KAAMpC,EAAQd,QACd2gB,WAAa7f,EAAQ8f,KAAmB,OAAZ,YAE7B/yB,IAAAxD,cAACw2B,KAAe,KACd/f,EAAQhK,OACRjJ,IAAAxD,cAAC02B,KAAQ,KACPjgB,EAAQhK,MAAM1B,KACd,SAAC6G,EAAM6kB,GAAoB,OAC1BjzB,IAAAxD,cAAC22B,KAAY,CACZ3lB,MAAOY,EAAKZ,MACZ3L,IAAKuM,EAAKvM,IACVwT,KAAMjH,EAAKiH,KACX+d,cAAetoB,GACf1L,IAAK6zB,EACLI,SAAUjlB,EAAKilB,iBASxB,QACC,OAAO,UAMd,IAAK,WACJ,IAAMC,EAAexE,EACrB,OACC9uB,IAAAxD,cAAC02B,KAAQ,CAAC9zB,IAAKoc,GACb8X,EAAarqB,MAAM1B,KAAI,SAAC6G,EAAMmlB,GAAa,OAC3CvzB,IAAAxD,cAAC22B,KAAY,CACZ9d,KAAMjH,EAAKiH,KACXxT,IAAKuM,EAAKvM,IACVyU,KAAMlI,EAAKkI,KACX8c,cAAetoB,GACf1L,IAAKm0B,EACLF,SAAUjlB,EAAKilB,eAKpB,IAAK,gBACJ,IAAMG,EAAa1E,EACnB,OACC9uB,IAAAxD,cAAC2Z,KAAM,CACNf,GAAG,IACHge,cAAetoB,GACfrI,KAAM+wB,EAAW3xB,IACjB0U,MAAOid,EAAWjd,MAClBpL,UAAU,iBACV/L,IAAKoc,GAEJgY,EAAWld,MACXtW,IAAAxD,cAAA,YACCwD,IAAAxD,cAAC6Z,KAAI,CACJC,KAAMkd,EAAWld,KACjBnM,KAAM,EACNgB,UAAU,aACVsL,eAAa,KAIf+c,EAAWne,KACZrV,IAAAxD,cAAA,YACCwD,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAU,OACVtV,KAAM,IACNgB,UAAU,OACVsL,eAAa,MAKlB,IAAK,gCACJ,IAAMgd,EAAoB3E,EAC1B,OACC9uB,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAKoc,GACpBxb,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,MAAMqe,EAAkBthB,SACjCnS,IAAAxD,cAACk3B,KAAmB,CACnBC,gBAAiBF,EAAkBE,gBACnCC,gBAAiBH,EAAkBG,iBAElCH,EAAkBI,OAAOtsB,KAAI,SAAC2U,EAAOV,GAAK,OAC1Cxb,IAAAxD,cAACs3B,KAAa,CACbhnB,MAAOoP,EAAM/J,QACbtQ,IAAKqa,EAAMra,IACXkyB,OAAQ7X,EAAMyR,SACdvuB,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,EAAiC6qB,MAClC,OAKN,QACC,OAAO,eAQjB,IAAK,YACJ,IAAMC,EAAgBnF,EACtB,OACC9uB,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,aACV/L,IAAKoc,GAEJyY,EAAcE,OACdF,EAAcE,MAAM/5B,OAAS,GAC7B65B,EAAcE,MAAM5sB,KAAI,SAAC6sB,EAAK5Y,GAAW,IAAD6Y,EACvC,OACCr0B,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGp1B,IAAKoc,GAChCxb,IAAAxD,cAAA,OAAK2O,UAAU,QACdnL,IAAAxD,cAACq0B,KAAO,CAAC1e,QAASiiB,EAAIjiB,QAASuE,QAAQ,SACtC1W,IAAAxD,cAACsb,EAAY,CAACC,UAAmB,QAAVsc,EAAED,EAAI/e,YAAI,IAAAgf,OAAA,EAARA,EAAUtc,mBAS5C,IAAK,kBACJ,IAAM0c,EAAsB3F,EAC5B,OACC9uB,IAAAxD,cAAAwD,IAAAiU,SAAA,KACEwgB,EAAoBxrB,MAAM1B,KAAI,SAAC6G,EAAMoN,GACrC,OACCxb,IAAAxD,cAACk4B,KAAe,CACfviB,QAAS/D,EAAK+D,QACdsG,aAAckW,GAAgBvgB,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,SAACotB,EAASC,GACxB,OACC50B,IAAAxD,cAACq4B,KAAmB,CACnB1iB,QAASwiB,EAAQxiB,QACjBsG,aAAckW,GAAgBgG,EAAQzY,OACtCvE,WAAYgd,EAAQhd,WACpB9V,IAAK8yB,EAAQ9yB,IACb0vB,SAAUoD,EAAQpD,SAClB6B,cAAetoB,GACf1L,IAAKw1B,GAEJD,EAAQ5c,WACR4c,EAAQ5c,UAAU3d,OAAS,GAC1B4F,IAAAxD,cAACsb,EAAY,CAACC,UAAW4c,EAAQ5c,qBAU7C,IAAK,wBACJ,IAAM+c,EAAahG,EACnB,OACC9uB,IAAAxD,cAACigB,GAAS,CACTrd,IAAKoc,EACLtF,QAAS4e,EAAW5e,QACpBwE,WAAYoa,EAAWpa,WACvBC,cAAema,EAAWna,cAC1B+B,YAAaoY,EAAWpY,YACxBvR,UAAU,UAIb,IAAK,6BACJ,IAAM4pB,EAAkBjG,EACxB,OACC9uB,IAAAxD,cAACigB,GAAS,CACTrd,IAAKoc,EACL9E,QAAQ,QACRR,QAAS6e,EAAgB7e,QACzByE,cAAeoa,EAAgB5iB,QAC/BuK,YAAaqY,EAAgBrY,YAC7BvR,UAAU,UAIb,IAAK,8BACJ,OAAOnL,IAAAxD,cAACkoB,GAA2B,MAEpC,IAAK,aACJ,IAAMsQ,EAAiBlG,EAEvB,OACC9uB,IAAAxD,cAAA,OAAK2O,UAAU,SACb6pB,EAAe9K,gBACflqB,IAAAxD,cAACkyB,GAAc,CACdvc,QAAS6iB,EAAe7iB,QACxBoO,OAAQyU,EAAezU,OACvB2J,gBAAiB8K,EAAe9K,kBAE9B8K,EAAe9G,gBAClBluB,IAAAxD,cAAA,WACEw4B,EAAe9G,gBAAgBvyB,SAC/BqE,IAAAxD,cAAA,OAAK2O,UAAU,8BACdnL,IAAAxD,cAACuvB,GAAkB,CAClBC,WACCgJ,EAAe9G,gBAAgBvyB,QAAQ6yB,YAExCvC,UAAW+I,EAAe9G,gBAAgBphB,OAEzCkoB,EAAe9G,gBAAgBvyB,QAAQ0W,QAAQ9K,KAC/C,SACC0O,EACAgf,GAEA,OACCj1B,IAAAxD,cAAC0wB,GAAgB,CAChB1vB,KAAMyY,EAAOzY,KACbqE,IAAKoU,EAAOpU,IACZzC,IAAK61B,GAEJhf,EAAOrY,WAQfoC,IAAAxD,cAACsjB,GAAc,CACdlmB,KAAMo7B,EAAe9G,gBACrBjQ,OAAQ+W,EAAe9G,gBAAgBjQ,OACvCsC,OAAQyU,EAAezU,OACvBnhB,IAAKoc,KAGJ,KACHwZ,EAAe3f,MACfrV,IAAAxD,cAACsb,EAAY,CACZgB,KAAK,YACLf,UAA8B,QAArBwX,EAAEyF,EAAe3f,YAAI,IAAAka,OAAA,EAAnBA,EAAqBxX,aAKrC,IAAK,sBACJ,IAAMmd,EAAiBpG,EACvB,OACC9uB,IAAAxD,cAAC4wB,GAAmB,CACnBjb,QAAS+iB,EAAe/iB,QACxBkb,UAAW6H,EAAeC,MAC1B7H,YAAa4H,EAAeE,QAC5Bxf,GAAIsf,EAAetf,GACnBzK,UAAU,OACV/L,IAAKoc,IAGR,QACC,OAAO,WC/qBL6Z,GAAU,eAAAp0B,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOC,EAAgBgT,GAAa,IAAAnK,EAAAxG,EAAA/J,EAAA07B,EAAAhyB,UAAA,OAAAnC,IAAAY,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAAmB,OAAjBiI,EAAYmrB,EAAAl7B,OAAA,QAAA0D,IAAAw3B,EAAA,GAAAA,EAAA,GAAG,GAAE1xB,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,GAcHiyB,GAAgBrK,aAC5B,CACCtV,GAAI,gBACJuV,QAAS,OACTC,QAAS,CACR9pB,OAAQ,GACRrG,YAAQ6C,EACRd,WAAOc,EACPwW,MAAO,GACPnK,KAAM,GACNqrB,SAAU,GAEXnK,OAAQ,CACPC,KAAM,GACNmK,WAAY,CACXC,MAAO,CACNC,eAAgB,CAAEj4B,OAAQ,aAG5BqG,QAAS,CACRwnB,OAAQ,CACP3V,GAAI,UACJ/Y,IAAK,SAACuuB,EAASM,GAAM,OACpB2J,GAAWjK,EAAQ9pB,OAAQ8pB,EAAQ9W,MAAO8W,EAAQjhB,OACnDqhB,OAAQ,CACP9tB,OAAQ,UACRqD,QAASqH,aAAO,CACfnN,OAAQ,SAAC+G,EAAU9E,GAAK,OAAKA,EAAMtD,SAGrC6xB,QAAS,CACR/tB,OAAQ,UACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GAAK,OAAKA,EAAMtD,MAClCqB,OAAQ,SAAC+G,EAAU0pB,UAKvBC,QAAS,GACTC,QAAS,IAEVC,GAAI,CACH+J,OAAQ,CACP,CACCl4B,OAAQ,aACRm4B,KAAM,cACNC,UAAU,EACV/0B,QAAS,CACRqH,aAAO,CACNkM,MAAO,SAACtS,EAAU9E,GAAK,OAAKA,EAAM4B,OAClCqL,KAAM,SAACihB,EAASluB,GAAK,OAAKA,EAAMiN,MAAQihB,EAAQjhB,UAInD,CACCzM,OAAQ,OACRqD,QAAS,CACRqH,aAAO,CACNkM,MAAO,SAACtS,EAAU0pB,GAAM,MAAK,IAC7BzwB,OAAQ,SAAC+G,EAAU0pB,YAOzB,CACCqK,OAAQ,CACPC,YAAa,SAACh0B,EAAU9E,GACvB,OAAOA,EAAM4B,OAAS5B,EAAM4B,MAAM1E,QAAU,IAG9C67B,OAAQ,CACPN,eAAgB,SAACvK,EAASM,GACzB,OAAON,EAAQoK,UAAY,MChGlBU,GAAqBhL,aAGhC,CACDtV,GAAI,qBACJuV,QAAS,OACTE,OAAQ,CACPC,KAAM,CACLO,GAAI,CACHsK,KAAM,CACLz4B,OAAQ,YAIXq2B,OAAQ,CACPlI,GAAI,CACHuK,MAAO,CACN14B,OAAQ,a,SCcE24B,GAjB2B,SAAHp1B,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,KC3BQihB,GAA+B,SAAChiB,GAC5C,IAAAnB,EAA8BC,oBAAS,GAAMC,EAAAC,aAAAH,EAAA,GAAtCojB,EAAOljB,EAAA,GAAEmjB,EAAUnjB,EAAA,GAc1B,OAZAmG,qBAAU,WACT,IAAMid,EAAQl0B,OAAOm0B,WAAWpiB,GAC5BmiB,EAAMF,UAAYA,GACrBC,EAAWC,EAAMF,SAElB,IAAMI,EAAW,WAChBH,EAAWC,EAAMF,UAGlB,OADAE,EAAMG,YAAYD,GACX,kBAAMF,EAAMI,eAAeF,MAChC,CAACJ,EAASjiB,IAENiiB,GAGKO,GAAc,WAC1B,OAAOR,GAAc,uBAGTS,GAAc,WAC1B,OAAOT,GAAc,+CAGTU,GAAsB,WAClC,OAAOV,GAAc,uBAGTW,GAAe,WAC3B,OAAOX,GAAc,wB,UCqBhBY,GAAa,eAAAj2B,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOC,EAAgB61B,GAAc,IAAAC,EAAAC,EAAAz9B,EAAA,OAAAuH,IAAAY,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAIzD,OAHKk1B,EAAe,CACpBE,oBAAqBH,EACrBr0B,QAASP,OAAOQ,WAChBa,EAAA1B,KAAA,EAEsBq1B,IAAMC,KAAKl2B,EAAQ81B,GAAc,KAAD,EAA3C,OAA2CC,EAAAzzB,EAAAvB,KAA/CzI,EAAIy9B,EAAJz9B,KAAIgK,EAAAZ,OAAA,SAELpJ,GAAI,wBAAAgK,EAAAX,UAAA5B,OACX,gBATkB6B,EAAAC,GAAA,OAAAlC,EAAAlG,MAAA,KAAAuI,YAAA,GAebm0B,GAAoB,eAAAj0B,EAAAtC,YAAAC,IAAAC,MAAG,SAAAqC,EAC5BnC,EACAwB,EACAshB,EACA+S,GAAc,IAAAC,EAAAM,EAAA99B,EAAA,OAAAuH,IAAAY,MAAA,SAAA41B,GAAA,cAAAA,EAAA11B,KAAA01B,EAAAz1B,MAAA,OAMb,OAJKk1B,EAAe,CACpBE,oBAAqBH,EACrBr0B,QAASA,EACT80B,WAAYxT,GACZuT,EAAAz1B,KAAA,EACsBq1B,IAAMC,KAAKl2B,EAAQ81B,GAAc,KAAD,EAA3C,OAA2CM,EAAAC,EAAAt1B,KAA/CzI,EAAI89B,EAAJ99B,KAAI+9B,EAAA30B,OAAA,SAELpJ,GAAI,wBAAA+9B,EAAA10B,UAAAQ,OACX,gBAdyBL,EAAAC,EAAAQ,EAAAC,GAAA,OAAAN,EAAAzI,MAAA,KAAAuI,YAAA,GAoBpBu0B,GAAmC,WACxC,IAAIvxB,EAAoB,KAWxB,MAV4B,qBAAjBgC,eACVhC,EAAegC,aAAawvB,QAAQ,iBAIpCxxB,EADmB,MAAhBA,EACYkC,KAAKC,MAAMnC,GAEX,IAqEJyxB,GAAkB,SAACnjB,GAC/B,OAAOA,EAAQwW,QAAQ+L,WAGXa,GAA0B,SACtCpjB,GAEA,OAAOA,EAAQwW,QAAQpnB,OAcXi0B,GAAsB/M,aAGjC,CACDtV,GAAI,sBACJuV,QAAS,OACTC,QAAS,CACRpnB,WAAOlG,EACPq5B,UAAWU,KACXK,eAAgB,GAChBl7B,WAAOc,GAERutB,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,CACP3V,GAAI,gBACJ/Y,IAAK,SAACmF,EAAU0pB,GAEf,OAAOwL,GADOxL,EACa+M,IAAKz2B,EAASm1B,YAE1C3L,OAAQ,CACP9tB,OAAQ,OACRqD,QAASqH,aAAO,CACfpE,MAAO,SAAChC,EAAU9E,GAAK,OAAKA,EAAMtD,SAGpC6xB,QAAS,CACR/tB,OAAQ,UACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GAAK,OAAKA,EAAMtD,KAAKoD,YAK3C07B,eAAgB,CACfnN,OAAQ,CACP3V,GAAI,cACJ/Y,IAAK,SAACmF,EAAU0pB,GACf,IAxI6Btd,EAyI7B,OAzI6BA,EAwIfsd,EACWtd,MAAQ,GAxI9B,IAAIlS,SAAQ,SAACC,EAASC,GAC5B,IACC,IAAMkK,EAAeuxB,KACrBvxB,EAAa5L,KAAK0T,GACU,qBAAjB9F,cACVA,aAAaqwB,QAAQ,eAAgBnwB,KAAKgB,UAAUlD,IAErDnK,EAAQmK,GACP,MAAOxK,GACRM,EAAON,QAiIN0vB,OAAQ,CACP9tB,OAAQ,OACRqD,QAASqH,cAAO,SAACpG,EAAU9E,GAC1B,MAAO,CACNi6B,UAAWj6B,EAAMtD,UAIpB6xB,QAAS,CACR/tB,OAAQ,UACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GAAK,OAAKA,EAAMtD,KAAKoD,YAK3C47B,iBAAkB,CACjBrN,OAAQ,CACP3V,GAAI,iBACJ/Y,IAAK,SAACmF,EAAU0pB,GACf,IA5ImCtd,EA8InC,OA9ImCA,EA4IrBsd,EAEctd,MAAQ,GA7IjC,IAAIlS,SAAQ,SAACC,EAASC,GAC5B,IACC,IACMy8B,EADehB,KACoB1wB,QACxC,SAAC2xB,GAAgB,OAAKA,IAAa1qB,KAER,qBAAjB9F,cACVA,aAAaqwB,QACZ,eACAnwB,KAAKgB,UAAUqvB,IAGjB18B,EAAQ08B,GACP,MAAO/8B,GACRM,EAAON,QAiIN0vB,OAAQ,CACP9tB,OAAQ,OACRqD,QAASqH,cAAO,SAACpG,EAAU9E,GAC1B,MAAO,CACNi6B,UAAWj6B,EAAMtD,UAIpB6xB,QAAS,CACR/tB,OAAQ,UACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GAAK,OAAKA,EAAMtD,KAAKoD,YAK3C+7B,aAAc,CACbxN,OAAQ,CACP3V,GAAI,eACJ/Y,IAAK,SAACmF,EAAU0pB,GACf,OA3IG,IAAIxvB,SAAQ,SAACC,EAASC,GAC5B,IAC6B,qBAAjBkM,cACVA,aAAa0wB,WAAW,gBAEzB78B,EAAQ,IACP,MAAOL,GACRM,EAAON,QAsIN0vB,OAAQ,CACP9tB,OAAQ,OACRqD,QAASqH,cAAO,SAACpG,EAAU9E,GAC1B,MAAO,CACNi6B,UAAWj6B,EAAMtD,UAIpB6xB,QAAS,CACR/tB,OAAQ,UACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GAAK,OAAKA,EAAMtD,KAAKoD,YAK3Ci8B,qBAAsB,CACrB1N,OAAQ,CACP3V,GAAI,oBACJ/Y,IAAK,SAACmF,EAAU0pB,GACf,IAAMxuB,EAAQwuB,EACd,OAAO+L,GACNv6B,EAAMu7B,IACNv7B,EAAM4F,QACN5F,EAAMknB,OACNpiB,EAASm1B,YAGX3L,OAAQ,CACP9tB,OAAQ,OACRqD,QAAS,SAACiB,EAAU9E,GACnB,IAAIyc,EAAIpd,SAASC,cAAc,KAC/Bmd,EAAE8S,UAAUC,IAAI,UAChBnwB,SAAS+d,KAAKrc,YAAY0b,GAC1BA,EAAElX,KAAOvF,EAAMtD,KAAKs/B,UACpBvf,EAAEgT,SAAWzvB,EAAMtD,KAAKs/B,UACxBvf,EAAEiT,QACFjT,EAAEkT,WAGJpB,QAAS,CACR/tB,OAAQ,UACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GACjB,MAAM,SAANiF,OAAgBjF,EAAMtD,KAAK+a,SAASwkB,OAAM,OAAAh3B,OAAMjF,EAAMtD,KAAK+a,SAASykB,qB,UCnV5DC,GCuBwB,SAAHp4B,GAM7B,IALNkK,EAASlK,EAATkK,UAASmuB,EAAAr4B,EACTiV,eAAO,IAAAojB,EAAG,gBAAeA,EACzBxY,EAAU7f,EAAV6f,WAEA7V,GADYhK,EAAZs4B,aACQt4B,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,MCcGuuB,GA7D2B,SAAHv4B,GAKhC,IAJNkI,EAAGlI,EAAHkI,IACAqL,EAAOvT,EAAPuT,QACAilB,EAAYx4B,EAAZw4B,aACArgB,EAAenY,EAAfmY,gBAEA,OACCpZ,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAA,MAAIk9B,mBAAkBvwB,EAAIwwB,iBACxBnlB,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,EAAIywB,aACJ55B,IAAAxD,cAAA,KAAG2O,UAAU,wCACXhC,EAAIywB,cAIe,6BAApBniB,EAAOjY,SACVQ,IAAAxD,cAACq9B,KAAgB,CAChBha,qBAAqB1W,EAAYsO,EAAOjY,UACxCkX,QAAQ,UACRiJ,QAAS,kBAAM8Z,EAAatwB,EAAI2wB,qBAChC3uB,UAAU,eAEVnL,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,WACLnM,KAAM,IACNsM,eAAa,EACbtL,UAAU,eAEXnL,IAAAxD,cAAA,QAAM2O,UAAU,sBACbhC,EAAYsO,EAAOjY,YAItB2J,EAAYsO,EAAOjY,kBC0Cdu6B,GAlFqC,SAAH94B,GAW1C,IAVNoU,EAAIpU,EAAJoU,KACA2kB,EAAY/4B,EAAZ+4B,aACAl3B,EAAO7B,EAAP6B,QACAshB,EAAMnjB,EAANmjB,OACAqU,EAAGx3B,EAAHw3B,IACAtB,EAASl2B,EAATk2B,UACA/gB,EAAQnV,EAARmV,SACAjL,EAASlK,EAATkK,UACA8uB,EAAeh5B,EAAfg5B,gBACAhxB,EAAKhI,EAALgI,MAEAkK,EAA8BC,oBAAkB,GAAMC,EAAAC,aAAAH,EAAA,GAA/CpP,EAAOsP,EAAA,GAAES,EAAUT,EAAA,GACpB6mB,EAAuB,eAAA12B,EAAAtC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAA+1B,EAAAC,EAAAz9B,EAAA+f,EAAA,OAAAxY,IAAAY,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAM9B,OALD4R,GAAW,GACLsjB,EAAe,CACpBE,oBAAqBH,EACrBr0B,QAASA,EACT80B,WAAYxT,GACZpiB,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAGuBq1B,IAAMC,KAAKiB,EAAKrB,GAAc,KAAD,EAAAC,EAAAr1B,EAAAK,KAA5CzI,EAAIy9B,EAAJz9B,MACJ+f,EAAIpd,SAASC,cAAc,MAC7BiwB,UAAUC,IAAI,UAChBnwB,SAAS+d,KAAKrc,YAAY0b,GAC1BA,EAAElX,KAAO7I,EAAKs/B,UACdvf,EAAEgT,SAAW/yB,EAAKs/B,UAClBvf,EAAEiT,QACFjT,EAAEkT,SACFoN,EAAgB,IAEZ13B,OAAOqW,WAAarW,OAAOqW,UAAUle,MAAQuO,GAChDA,EAAM1B,KAAI,SAAC6G,GACV,OAAO7L,OAAOqW,UAAUle,KAAK,CAC5BwC,MAAO,mBACPi9B,oBAAqB/rB,EAAKgsB,gBAAgBD,oBAC1CE,qBAAsBjsB,EAAKgsB,gBAAgBC,qBAC3CC,wBACClsB,EAAKgsB,gBAAgBE,wBACtBC,aAAcnsB,EAAKgsB,gBAAgBG,aACnCC,cAAepsB,EAAKgsB,gBAAgBI,cACpCC,iBAAkB33B,EAClB43B,eAAgBtW,OAGlBpiB,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAqb,GAAArb,EAAA,SAEDi4B,EAAgBj4B,EAAAqb,GAAesd,YAAY,QAEzB,OAFyB34B,EAAAC,KAAA,GAE3C6R,GAAW,GAAO9R,EAAA44B,OAAA,6BAAA54B,EAAAiB,UAAA5B,EAAA,yBAEnB,kBAvC4B,OAAAmC,EAAAzI,MAAA,KAAAuI,YAAA,GAwC7B,OACCtD,IAAAxD,cAAC2Z,KAAM,CACN0J,qBAAmB,wBACnBgb,2BAAmC,OAAT1D,QAAS,IAATA,OAAS,EAATA,EAAW/8B,OACrCsc,QAAQ,UACRvL,UAAWoM,aAAK,OAAQpM,GACxBiL,SAAUA,GAAYrS,EACtB4b,QAAS,kBAAMua,MAEdn2B,EACA/D,IAAAxD,cAAA,YACCwD,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLE,QAAQ,OACRrL,UAAU,YACVsL,eAAa,IAEbujB,GAGFh6B,IAAAxD,cAAA,YACCwD,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,WAAWnL,UAAU,aAAasL,eAAa,IACzDpB,KC7BSylB,GA3D4B,SAAH75B,GAAmC,IAA7BoU,EAAIpU,EAAJoU,KAAM0lB,EAAe95B,EAAf85B,gBAC7CC,ECfiC,SAACl8B,GACxC,IAAM8X,EAAM5C,mBAIZ,OAHAwF,qBAAU,WACT5C,EAAIhC,QAAU9V,KAER8X,EAAIhC,QDUcqmB,CAAYF,GACrC5nB,EAA8BC,oBAAkB,GAAMC,EAAAC,aAAAH,EAAA,GAA/C+nB,EAAO7nB,EAAA,GAAE8nB,EAAU9nB,EAAA,GACpB+nB,EAAQpnB,iBAA8B,MAwB5C,OAtBAwF,qBAAU,WAaT,OAZIuhB,EAAkBC,IACA,MAAjBI,EAAMxmB,SACTvX,aAAa+9B,EAAMxmB,SAGpBumB,GAAW,GACXC,EAAMxmB,QAAU7W,YAAW,WAC1Bo9B,GAAW,KACT,MAIG,WACe,MAAjBC,EAAMxmB,UACTvX,aAAa+9B,EAAMxmB,SACnBumB,GAAW,OAIX,CAACJ,IAGH/6B,IAAAxD,cAAA,OACC2O,UAAWoM,aACV2jB,GAAW,SACX,sCAEDG,YAAU,UAGTr7B,IAAAxD,cAAC8+B,KAAU,CAACC,GAAIL,EAASx+B,QAAS,MAChC,SAACgE,GAAsB,OACvBV,IAAAxD,cAAA,OACC2O,UAAWoM,aACA,YAAV7W,EACG,uBACA,uBAEJ86B,OAAkB,WAAV96B,GAERV,IAAAxD,cAACi/B,KAAK,CAAC/kB,QAAQ,UAAUiJ,QAAS,kBAAMwb,GAAW,KAClDn7B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,EAAOzF,UAAU,QACpCkK,UEiSKqmB,GAjTuB,SAAHz6B,GAQ5B,IAPN06B,EAAS16B,EAAT06B,UACAC,EAAa36B,EAAb26B,cACAC,EAAc56B,EAAd46B,eACAC,EAAc76B,EAAd66B,eACAx6B,EAAML,EAANK,OACAy6B,EAAS96B,EAAT86B,UACArjB,EAAQzX,EAARyX,SAEMsjB,EAAiBC,qBAAWC,IAClCC,EAAwBH,EAAeI,oBAA/B17B,EAAKy7B,EAALz7B,MAAOgtB,EAAIyO,EAAJzO,KACT2O,EAAkBC,aACvBN,EAAeI,oBACfrE,IAEKz1B,EAAUg6B,aACfN,EAAeI,oBACfpE,IAED7kB,EAA0BC,mBAAS,IAAGC,EAAAC,aAAAH,EAAA,GAA/BnW,EAAKqW,EAAA,GAAEkpB,EAAQlpB,EAAA,GACtBG,EAAgCJ,oBAAS,GAAMK,EAAAH,aAAAE,EAAA,GAAxCmF,EAAQlF,EAAA,GAAE+oB,EAAW/oB,EAAA,GAC5BG,EAAkCR,wBAEhCtV,GAAU+V,EAAAP,aAAAM,EAAA,GAFLujB,EAAStjB,EAAA,GAAE4oB,EAAY5oB,EAAA,GAIxB6oB,EAAuB,SAAC5D,GAC7BpL,EAAK,kBAAmB,CAAEtf,KAAM0qB,IAEhC,IAAM7vB,EAAiB,OAATkuB,QAAS,IAATA,OAAS,EAATA,EAAWhwB,QACxB,SAACiH,GAA2B,OAAKA,EAAK0rB,qBAAuBhB,KAE9D2D,EAAaxzB,IAkBduQ,qBAAU,WAAO,IAADmjB,EACfF,EAAoB,OAAPn6B,QAAO,IAAPA,GAAqB,QAAdq6B,EAAPr6B,EAASiG,oBAAY,IAAAo0B,OAAd,EAAPA,EAAuB1zB,SAClC,CAAC3G,IAEJ,IAAMs6B,EAAsB,SAACj/B,GAC5B4+B,EAAS5+B,IAGV,OACCqC,IAAAxD,cAAA,WACCwD,IAAAxD,cAAA,UACC8vB,gBAAA,gBACAC,gBAAe5T,EACfwC,WAAS,eACTwE,QAAS,WACHhH,GACJ+U,EAAK,kBAAmB,CAAE+K,IAAKn3B,IAEhCk7B,GAAa7jB,GACb4jB,EAAS,IACT7jB,KAEDvN,UAAU,gBAEVnL,IAAAxD,cAAA,QAAM2O,UAAU,oCAAoCwwB,GACpD37B,IAAAxD,cAAA,QAAM2O,UAAU,YACfnL,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,cACLG,eAAa,EACbtM,KAAM,KACNgB,UAAU,eAEXnL,IAAAxD,cAAA,QAAM2O,UAAU,oGACdkxB,EAAgBjiC,QAAU,KAI7B2hC,GACA/7B,IAAAxD,cAACs+B,GAAiB,CACjBzlB,KAAM0mB,EACNhB,gBAAiBsB,EAAgBjiC,SAGnC4F,IAAAxD,cAAC8+B,KAAU,CAACC,GAAI5iB,EAAUjc,QAAS,MACjC,SAACmgC,GAA2B,IAAAC,EAAAC,EAAA,OAC5B/8B,IAAAxD,cAAA,OACC2O,UAAWoM,aACVskB,IAAmBC,EAChB,4BACAD,GAAkBC,EAClB,iBACA,OACH,sFAEDlmB,GAAE,gBACF4lB,OAAuB,WAAfqB,GAER78B,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAWoM,aACK,YAAfslB,EACG,4BACA,2BACH,sCAGD78B,IAAAxD,cAAC83B,KAAI,CACJC,KAAM,GACN3jB,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAA,UACCmjB,QAAS,WACR6c,GAAY,GACZD,EAAS,IACT7jB,MAGD1Y,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,QAAQG,eAAa,EAAMtM,KAAM,IAC5CnK,IAAAxD,cAAA,QAAM2O,UAAU,WAAWywB,KAG5Bl7B,GAASA,EAAM61B,QAAQ,oBACvBv2B,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIppB,UAAU,UACzBnL,IAAAxD,cAAA,OAAK2O,UAAU,oCACdnL,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLnM,KAAM,EACNqM,QAAQ,OACRD,MAAM,UACN8Z,aAAW,aAKdrwB,IAAAxD,cAAAwD,IAAAiU,SAAA,KACE3R,GACAtC,IAAAxD,cAAC83B,KAAI,CACJC,KAAM,GACNC,QAAS,EACT5jB,QAAQ,EACRzF,UAAU,iBAETgsB,GAAaA,EAAU/8B,OAAS,EAChC4F,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjBxW,EAAQ6P,QAAQnD,QAChB,MACAqtB,EAAgBjiC,OAAOugC,cAGjB,OAAPr4B,QAAO,IAAPA,OAAO,EAAPA,EAAS06B,WACTh9B,IAAAxD,cAAA,OAAK2O,UAAU,QACdnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBxW,EAAQ06B,YAMbh9B,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjBxW,EAAQ26B,oBAET36B,EAAQ46B,qBACRl9B,IAAAxD,cAAA,OAAK2O,UAAU,QACdnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBxW,EAAQ46B,uBAOb/F,GAAaA,EAAU/8B,OAAS,GAChC4F,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAC68B,GAAa,CACbvY,WAAmB,OAAPxe,QAAO,IAAPA,GAAqB,QAAdw6B,EAAPx6B,EAASiG,oBAAY,IAAAu0B,OAAd,EAAPA,EAAuBhc,aAE3B,OAAPxe,QAAO,IAAPA,GAAqB,QAAdy6B,EAAPz6B,EAASiG,oBAAY,IAAAw0B,OAAd,EAAPA,EAAuBjc,aACvBqW,EAAU5vB,KACT,SAAC4B,EAA4BqS,GAAmB,IAAD2hB,EAC9C,OACCn9B,IAAAxD,cAACg9B,GAAgB,CAChBrwB,IAAKA,EACLqL,SACQ,OAAPlS,QAAO,IAAPA,GAAqB,QAAd66B,EAAP76B,EAASiG,oBAAY,IAAA40B,OAAd,EAAPA,EAAuBrc,aAAc,GAEtC2Y,aAAciD,EACdtjB,gBAAiB,WAChBojB,GAAY,GACZ9jB,KAEDtZ,IAAKoc,QAMXxb,IAAAxD,cAACq9B,KAAgB,CAChBha,qBAAoBvd,EAAQ86B,cAC5B1mB,QAAQ,UACRiJ,QAAS,kBAvKrB+N,EAAK,mBACL+O,OAAa3+B,IAuKDqN,UAAU,eAEVnL,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,WACLnM,KAAM,IACNsM,eAAa,EACbtL,UAAU,eAEXnL,IAAAxD,cAAA,YAAO8F,EAAQ86B,kBAOnB96B,GACAA,EAAQ+6B,gBACR/6B,EAAQ+6B,eAAejjC,OAAS,GAC/B4F,IAAAxD,cAAC83B,KAAI,CACJC,KAAM,GACN+I,OAAQ,EACR9I,QAAS,EACT5jB,QAAQ,EACRzF,UAAU,mBAEVnL,IAAAxD,cAAA,MAAI2O,UAAU,8BACL,OAAP7I,QAAO,IAAPA,OAAO,EAAPA,EAASi7B,iBAGXv9B,IAAAxD,cAAA,OAAK2O,UAAU,qCACb7I,EAAQ+6B,eAAe91B,KACvB,SAACi2B,EAA2BC,GAC3B,OACCz9B,IAAAxD,cAAA,OACC4C,IAAKq+B,EACLtyB,UAAWoM,aAAKkmB,EAAa,GAAK,SAElCz9B,IAAAxD,cAAA,MAAI2O,UAAU,kBACZqyB,EAAMrrB,SAEPqrB,EAAMR,UACNh9B,IAAAxD,cAAA,KAAG2O,UAAU,QAAQqyB,EAAMR,UAE3BQ,EAAM/T,QAAQliB,KACd,SAACm2B,EAAaC,GAAyB,IAADC,EA/NpB96B,EAgOjB,OACC9C,IAAAxD,cAACu9B,GAA0B,CAC1B36B,IAAKu+B,EACLtoB,KAAMqoB,EAAOroB,KACb2kB,aACCwD,EAAMK,yBAEP/6B,QAAS06B,EAAM16B,QACfshB,OAAQsZ,EAAOtZ,OACfqU,IAAK+E,EAAMM,kBACX3G,UAAWkF,EACXjmB,UA3OetT,EA4Od06B,EAAM16B,QA3OK,IAA3Bu5B,EAAgBjiC,QAEG,OAAZ0I,IACM,OAATq0B,QAAS,IAATA,OAAS,EAATA,EAAWjtB,OAAM,SAACkE,GAAI,OAAKA,EAAKwrB,iBA0OrBzuB,UAAU,OACV8uB,gBAAiB2C,EACjB3zB,MAAc,OAAP3G,QAAO,IAAPA,GAAqB,QAAds7B,EAAPt7B,EAASiG,oBAAY,IAAAq1B,OAAd,EAAPA,EAAuB30B,gBAUvCjJ,IAAAxD,cAAA,OAAK6+B,YAAU,UACbr+B,GACAgD,IAAAxD,cAACi/B,KAAK,CAAC/kB,QAAQ,SAASvL,UAAU,QACjCnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,EAAOzF,UAAU,QACpCnO,c,6CCxUX+gC,GAAe,SAAAC,GAAAC,aAAAF,EAAAC,GAAA,IAAAE,EAAAC,aAAAJ,GACpB,SAAAA,IAAe,IAADK,EA6BO,OA7BPC,aAAA,KAAAN,IACbK,EAAAF,EAAA1jC,KAAA,OAMK8jC,gBAAkB,CACtB,4BACA,8BACA,0BAMDF,EAAKG,gBAAkBH,EAAKG,gBAAgBl/B,KAAIm/B,aAAAJ,IAChDA,EAAKK,gBAAkBL,EAAKK,gBAAgBp/B,KAAIm/B,aAAAJ,IAChDA,EAAKM,UAAYN,EAAKM,UAAUr/B,KAAIm/B,aAAAJ,IACpCA,EAAKO,kBAAoBP,EAAKO,kBAAkBt/B,KAAIm/B,aAAAJ,IAKpDA,EAAKQ,OAASR,EAAKS,aAAa,CAAE7/B,KAAM,SAKxCo/B,EAAKU,UAAY,GAAGV,EA2SpB,OAxSDW,aAAAhB,EAAA,EAAA3+B,IAAA,oBAAAN,MAIA,WAAqB,IAADkgC,EAAA,KAInBn/B,KAAKwV,KAAOxV,KAAKwZ,aAAa,SAAW,eAKzCxZ,KAAKi/B,UAAYj/B,KAAKwZ,aAAa,WAAa,GAGhDxZ,KAAKo/B,SAKLp/B,KAAKq/B,OACJr/B,KAAK++B,OAAOO,eAAe,UAM5Bt/B,KAAK69B,OAAS79B,KAAK++B,OAAO1f,cAAc,UAKxCrf,KAAKu/B,WAAav/B,KAAK++B,OAAOO,eAAe,eAG7Ct/B,KAAK69B,QACJ79B,KAAK69B,OAAO9jB,iBAAiB,QAAS/Z,KAAK8+B,mBAC5C9+B,KAAKy+B,gBAAgBtrB,SAAQ,SAAClX,GAAC,OAC9BS,SAASqd,iBAAiB9d,EAAGkjC,EAAKT,sBAIpC,CAAAn/B,IAAA,uBAAAN,MAIA,WAAwB,IAADugC,EAAA,KACtBx/B,KAAKy+B,gBAAgBtrB,SAAQ,SAAClX,GAAC,OAC9BS,SAASsd,oBAAoB/d,EAAGujC,EAAKd,oBAEtC1+B,KAAK69B,QACJ79B,KAAK69B,OAAO7jB,oBAAoB,QAASha,KAAK8+B,qBAGhD,CAAAv/B,IAAA,kBAAAN,MAIA,SAAgBwgC,GACVz/B,KAAKu/B,YAAev/B,KAAKq/B,SAI1BI,GACHz/B,KAAKu/B,WAAWxiC,aAAa,SAAU,QACvCiD,KAAKq/B,OAAOK,gBAAgB,YAE5B1/B,KAAKu/B,WAAWG,gBAAgB,UAChC1/B,KAAKq/B,OAAOtiC,aAAa,SAAU,YAIrC,CAAAwC,IAAA,kBAAAN,MAIA,WAAmB,IAAD0gC,EAAA,KACjB3/B,KAAKy+B,gBAAgBtrB,SAAQ,SAAClX,GAAC,OAC9BS,SAASsd,oBAAoB/d,EAAG0jC,EAAKjB,oBAEtC1+B,KAAK6+B,cAGN,CAAAt/B,IAAA,kBAAAN,MAIA,SAAgB2gC,GAAU,IAADC,EAAA,KACpBC,EAAYpjC,SAASC,cAAc,UACvCmjC,EAAU/iC,aAAa,MAAO6iC,GAC9BE,EAAU/iC,aAAa,OAAQ,mBAC/BL,SAAS+d,KAAKrc,YAAY0hC,GAE1BA,EAAU/lB,iBAAiB,QAAQ,WAClCrX,OAAOq9B,YAAcr9B,OAAOq9B,aAAe,GAC3Cr9B,OAAOq9B,YAAYC,gBAAiB,KAErCF,EAAU/lB,iBAAiB,SAAS,SAACkmB,GACpCJ,EAAKK,iBAAgB,GACrBC,MAAM,gEACNrgC,QAAQiP,IAAI,wBAAyBkxB,QAIvC,CAAA1gC,IAAA,YAAAN,MAIA,WAAa,IAADmhC,GACW,QAAtBA,EAAI19B,OAAOq9B,mBAAW,IAAAK,OAAA,EAAlBA,EAAoBC,aACvBrgC,KAAKkgC,iBAAgB,GACrBx9B,OAAOq9B,YAAYM,cAEnBniC,WAAW8B,KAAK6+B,UAAW,OAI7B,CAAAt/B,IAAA,oBAAAN,MAGA,WAAqB,IAADqhC,GACG,QAAtBA,EAAI59B,OAAOq9B,mBAAW,IAAAO,OAAA,EAAlBA,EAAoBD,YACvBrgC,KAAK6+B,aAEL7+B,KAAKkgC,iBAAgB,GACrBlgC,KAAK4+B,gBAAgB5+B,KAAKi/B,cAI5B,CAAA1/B,IAAA,SAAAN,MAGA,WACMe,KAAKi/B,UAKVj/B,KAAK++B,OAAOxkB,UAAS,8xJAAAjY,OAmJHtC,KAAKwV,KAAI,iRAvJ1B1V,QAAQygC,KAAK,iEAiKdrC,EAzUmB,CAXG,qBAAhBsC,YAA8B,aAAiBA,aAuVjC,qBAAX99B,QAC2B,qBAA1BA,OAAO+9B,gBACjB/9B,OAAO+9B,eAAeC,OAAO,oBAAqBxC,IChQpD,IAqhBeyC,GArhBqB,SAAHv/B,GAA2C,IAADw/B,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAjgC,EAApCkgC,mBAAW,IAAAD,GAAQA,EAAEj2B,EAAQhK,EAARgK,SACrDm2B,EAAmBpK,KACnBqK,EAAWvK,KACXwK,EAAwBttB,iBAAY,MACpCutB,EAA8BvtB,iBAAY,MAC1CwtB,EAAsBxtB,iBAAY,MAClCytB,EAA4BztB,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,GAChCg8B,EAAiBn2B,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,GAAlDwuB,GAAatuB,GAAA,GAAEuuB,GAAgBvuB,GAAA,GACtCG,GAAwCJ,oBAAS,GAAMK,GAAAH,aAAAE,GAAA,GAAhDquB,GAAYpuB,GAAA,GAAEquB,GAAeruB,GAAA,GACpC8Z,GAAkCC,aAAW+H,GAAe,CAC3DnK,QAAS,CACR9pB,QAAsB,OAAdogC,QAAc,IAAdA,OAAc,EAAdA,EAAgBpgC,SAAU,GAClC6I,KAAMi3B,EAAmB,GAAkB,OAAdM,QAAc,IAAdA,OAAc,EAAdA,EAAgBzT,sBAAuB,EACpEuH,SAAU,OAEV/H,GAAAna,aAAAia,GAAA,GANKwU,GAAWtU,GAAA,GAAEuU,GAAUvU,GAAA,GAO9BwU,GAAgCzU,aAAW0I,IAAmBgM,GAAA5uB,aAAA2uB,GAAA,GAAvDE,GAAUD,GAAA,GAAEE,GAASF,GAAA,GACtBr/B,GAAY0I,YAAYvF,GAW9B,OAVAwT,qBAAU,WACTooB,IAAiB,KACf,IAEHvV,aAAgBiV,GAAuB,WAClCI,GACHU,GAAU,YAKXpiC,IAAAxD,cAAA,OAAK2O,UAAWoM,aAAKjR,GAAgB,aACpCtG,IAAAxD,cAACkP,GAAI,MACJjG,GAAak8B,IACb3hC,IAAAxD,cAAC6lC,KAAS,CACTC,WAAW,UACXC,iBAAiB,EACjBpqB,MAAM,EACN6T,WAAYvmB,EAAUumB,YAEtBhsB,IAAAxD,cAAA,OAAK2O,UAAU,YACdnL,IAAAxD,cAAA,MAAI2O,UAAU,SAAS1F,EAAU0M,SAEjCnS,IAAAxD,cAACsb,GAAY,CAACgB,KAAK,OAAOf,UAAyB,QAAhB0oB,EAAEh7B,EAAU4P,YAAI,IAAAorB,OAAA,EAAdA,EAAgB1oB,cAIxD/X,IAAAxD,cAACgmC,KAAU,CACV11B,OAAe,OAAR1G,QAAQ,IAARA,OAAQ,EAARA,EAAU2V,MAAO,YACxB0mB,UAAkB,OAARr8B,QAAQ,IAARA,OAAQ,EAARA,EAAUvE,MAAO,IAC3B6gC,QAAiB,OAARt8B,QAAQ,IAARA,OAAQ,EAARA,EAAUu8B,KACnBC,gBACClB,GACC1hC,IAAAxD,cAACqmC,MAAW,CACXjtB,GAAG,qBACHktB,WAAYxB,EACZyB,SAAUvB,EACV/vB,MAAOiwB,EAAesB,gBACtBC,YAAavB,EAAewB,kBAC5BjZ,YAAmC,YAAtB8X,GAAYjjC,MACzBwT,aAAcgC,EAAQA,EAAMqmB,gBAAa78B,EACzCiX,SAAU,SAACjZ,GACW,WAArBqmC,GAAWrjC,OACVkjC,GAAW,SAAU,CACpBljC,MAAOhD,EAAEgD,SAGZsV,SAAU,SAACtY,GAAY,IAADqnC,EACrBf,GAAU,SACS,OAAnBZ,QAAmB,IAAnBA,GAA4B,QAAT2B,EAAnB3B,EAAqB5sB,eAAO,IAAAuuB,GAA5BA,EAA8BC,OAC9BzgC,EAAQjI,KAAK,GAADyH,OACRu/B,EAAe2B,cAAa,WAAAlhC,OAAUqF,mBACxC1L,EAAEwnC,uBAILC,QAAS,WACRxlC,YAAW,WACVqkC,GAAU,UACR,OAGkB,WAArBD,GAAWrjC,OACXijC,GAAY3W,QAAQnwB,QACU,KAA9B8mC,GAAY3W,QAAQ9W,OACnBtU,IAAAxD,cAACgnC,KAAmB,KAClBzB,GAAY3W,QAAQnwB,OAAOwoC,SAC3B1B,GAAY3W,QAAQnwB,OAAOwoC,QAAQl8B,KAClC,SAAC6G,GAAyB,OACzBpO,IAAAxD,cAACknC,KAAuB,CAACtkC,IAAKgP,EAAKhF,YAClCpJ,IAAAxD,cAACsO,GAAI,CAACE,GAAIoD,EAAKvM,KACd7B,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAU,OACVhJ,eAAa,EACbtM,KAAM,MAENiE,EAAK+D,aAKV4vB,GAAY3W,QAAQnwB,OAAO0oC,aAC3B5B,GAAY3W,QAAQnwB,OAAOkP,MAC3BnK,IAAAxD,cAACknC,KAAuB,KACvB1jC,IAAAxD,cAACsO,GAAI,CACJE,GAAE,GAAA7I,OACDu/B,EAAe2B,cAAa,WAAAlhC,OACnBqF,mBACTu6B,GAAY3W,QAAQnwB,OAAOqZ,QAE5BqL,QAAS,WACRyiB,GAAU,WAGVV,EAAekC,sBAI0B,IAA5C7B,GAAY3W,QAAQnwB,OAAO0oC,cAC3B3jC,IAAAxD,cAACknC,KAAuB,KACvB1jC,IAAAxD,cAAA,SAAG,+BAQXqnC,sBACCnC,GACC1hC,IAAAxD,cAACsnC,KAAY,CACZC,eAAe,kBACfC,gBAAgB,yBAChBnB,YACC7iC,IAAAxD,cAACqmC,MAAW,CACXjtB,GAAG,oBACHktB,WAAYvB,EACZwB,SAAUtB,EACVhwB,MAAOiwB,EAAesB,gBACtBC,YAAavB,EAAewB,kBAC5BjZ,YAAmC,YAAtB8X,GAAYjjC,MACzBwT,aAAcgC,EAAQA,EAAMqmB,gBAAa78B,EACzCiX,SAAU,SAACjZ,GACW,WAArBqmC,GAAWrjC,OACVkjC,GAAW,SAAU,CACpBljC,MAAOhD,EAAEgD,SAGZsV,SAAU,SAACtY,GAAY,IAADmoC,EACrB7B,GAAU,SACe,OAAzBX,QAAyB,IAAzBA,GAAkC,QAATwC,EAAzBxC,EAA2B7sB,eAAO,IAAAqvB,GAAlCA,EAAoCb,OACpCzgC,EAAQjI,KAAK,GAADyH,OAEVu/B,EAAe2B,cAAa,WAAAlhC,OACnBqF,mBAAmB1L,EAAEooC,sBAGjCX,QAAS,WACRxlC,YAAW,WACVqkC,GAAU,UACR,QAIN+B,aACsB,WAArBhC,GAAWrjC,OACXijC,GAAY3W,QAAQnwB,QACU,KAA9B8mC,GAAY3W,QAAQ9W,OACnBtU,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAC4nC,KAAgB,KACfrC,GAAY3W,QAAQnwB,OAAOwoC,SAC3B1B,GAAY3W,QAAQnwB,OAAOwoC,QAAQl8B,KAClC,SAAC6G,GACA,IAAMi2B,EAAaj2B,EACnB,OACCpO,IAAAxD,cAAC8nC,KAAoB,CACpBziC,IAAKwiC,EAAWxiC,IAChBsQ,QAASkyB,EAAWlyB,QACpBkD,KAAMgvB,EAAWE,QACjBnlC,IAAKilC,EAAWj7B,WAChBgqB,cAAetoB,QAKyB,IAA5Ci3B,GAAY3W,QAAQnwB,OAAO0oC,cAC3B3jC,IAAAxD,cAACgoC,KAAmB,CAACryB,QAAQ,8BAG9B4vB,GAAY3W,QAAQnwB,OAAO0oC,aAC3B5B,GAAY3W,QAAQnwB,OAAOkP,MAC3BnK,IAAAxD,cAAC2Z,KAAM,CACNhM,KAAK,QACLuM,QAAQ,UACRlZ,KAAK,SACLmiB,QAAS,WAAO,IAAD8kB,EACdrC,GAAU,SACS,OAAnBZ,QAAmB,IAAnBA,GAA4B,QAATiD,EAAnBjD,EAAqB5sB,eAAO,IAAA6vB,GAA5BA,EAA8BrB,OAC9BzgC,EAAQjI,KAAK,GAADyH,OAEVu/B,EAAe2B,cAAa,WAAAlhC,OACnBqF,mBACTu6B,GAAY3W,QAAQ9W,WAKtBotB,EAAekC,oBAAqB,IACrC5jC,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,UAAUmJ,UAAU,KAAKlJ,MAAM,cASlDmuB,cACCx+B,GACAA,EAAW+C,OACX/C,EAAW+C,MAAM7O,OAAS,GACzB4F,IAAAxD,cAACmoC,KAAU,CACVC,sBAAuB1+B,EAAW0+B,sBAClCC,UAAW3+B,EAAW4+B,yBACtBC,kBAAmB7+B,EAAW8+B,wBAC9BC,mBAAoB/+B,EAAWg/B,yBAC/B1iC,SAAUA,EACV2I,UAAU,yBAETjF,EAAW+C,MAAM1B,KAAI,SAAC6G,EAAMoN,GAC5B,OACCxb,IAAAxD,cAAC2oC,KAAc,CACdC,UAAW,EACXt4B,MAAOsB,EAAKtB,MACZjL,IAAKuM,EAAKvM,IACVwW,OAAQjK,EAAKiK,OACbsV,SAAUvf,EAAKuf,SACfyF,cAAetoB,GACf1L,IAAKoc,GAEJpN,EAAKnF,OACLmF,EAAKnF,MAAM7O,OAAS,GACpBgU,EAAKnF,MAAM1B,KAAI,SAACotB,EAASnZ,GACxB,OACCxb,IAAAxD,cAAC2oC,KAAc,CACdC,UAAW,EACXt4B,MAAO6nB,EAAQ7nB,MACfjL,IAAK8yB,EAAQ9yB,IACbwW,OAAQsc,EAAQtc,OAChBsV,SAAUgH,EAAQhH,SAClByF,cAAetoB,GACf1L,IAAKoc,GAEJmZ,EAAQ1rB,OACR0rB,EAAQ1rB,MAAM7O,OAAS,GACvBu6B,EAAQ1rB,MAAM1B,KAAI,SAAC89B,EAAY7pB,GAC9B,OACCxb,IAAAxD,cAAC2oC,KAAc,CACdC,UAAW,EACXt4B,MAAOu4B,EAAWv4B,MAClBjL,IAAKwjC,EAAWxjC,IAChBwW,OAAQgtB,EAAWhtB,OACnBsV,SAAU0X,EAAW1X,SACrByF,cAAetoB,GACf1L,IAAKoc,eAUf6lB,GACAp8B,GACAA,EAAcqgC,MAAMlrC,OAAS,GAC7B6K,EAAcqgC,MAAM/9B,KAAI,SAAC6G,EAAMoN,GAC9B,OACCxb,IAAAxD,cAAC2oC,KAAc,CACd/lC,IAAKoc,EACL+pB,aAAa,EACbz4B,MAAOsB,EAAKiH,KACZxT,IAAKuM,EAAKvM,IACVuxB,cAAetoB,SAOtB06B,sBACCl/B,GACCtG,IAAAxD,cAACk/B,GAAY,CACZC,UAAWr1B,EAAaq1B,UACxBC,cAAet1B,EAAas1B,cAC5BC,eAAiBp3B,GAAeA,EAAYrK,OAAS,IAAM,EAC3D0hC,eAAgBqF,EAChB7/B,OAAQgF,EAAahF,OACrBy6B,UAAWz1B,EAAam/B,mBACxB/sB,SAAU,kBAAMopB,IAAiBD,QAKnCh9B,GACAA,EAAS6gC,OAAOn+B,KAAI,SAAC6G,EAAMoN,GAC1B,OACCxb,IAAAxD,cAACmpC,KAAQ,CACRvmC,IAAKoc,EACLoqB,aAAY,GAAAzjC,OAAKiM,EAAKwH,IACtBiwB,mBAAmB,EACnBC,YAAa13B,EAAK03B,YAClBC,iBAAkB33B,EAAK23B,kBAEtB33B,EAAKiH,KAAK0C,UAAUxQ,KAAI,SAACunB,EAAUtT,GAAK,OACxCxb,IAAAxD,cAAA,OACCmqB,wBAAyB,CAAEC,OAAQkI,EAASY,KAC5CtwB,IAAKoc,WAMV7V,GAAqBA,EAAkB0P,MACvCrV,IAAAxD,cAACwpC,MAAiB,CAACvjC,KAAK,iBACvBzC,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,QAAQzP,EAAkB0P,OAGpCtQ,GACA/E,IAAAxD,cAACypC,KAAO,KACNlhC,EAAQsQ,KAAK0C,UAAUxQ,KAAI,SAACunB,EAAUtT,GAAK,OAC3Cxb,IAAAxD,cAAA,OACCmqB,wBAAyB,CAAEC,OAAQkI,EAASY,KAC5CtwB,IAAKoc,SAKK,OAAbvW,QAAa,IAAbA,OAAa,EAAbA,EAAeqgC,QAASrgC,EAAcqgC,MAAMlrC,OAAS,IAAMinC,GAC3DrhC,IAAAxD,cAAC0pC,MAAa,CAAC7V,aAAYprB,EAAcwM,OACvCxM,EAAcqgC,MAAM/9B,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,cAAC65B,GAAgB,CAChBzgB,GAAI/S,GAAUA,UAAU,GAAG+S,GAC3BP,KAAMxS,GAAUA,UAAU,GAAGwS,KAC7BxT,IAAKgB,GAAUA,UAAU,GAAGhB,MAI9B7B,IAAAxD,cAAC2pC,MAAS,CACT9wB,KAAMjH,EAAKiH,KACXxT,IAAKuM,EAAKvM,IACVnE,OAAQ0Q,EAAK1Q,OACb4Y,KAAMlI,EAAKkI,KACX8c,cAAetoB,WAUtBrG,GAAeA,EAAYrK,OAAS,GACpC4F,IAAAxD,cAAC4pC,KAAW,CACX/V,aAAW,gBACXllB,UAAWoM,aAAK4pB,GAAe,iBAE9B18B,EAAY8C,KAAI,SAAC6G,EAAMoN,GAAK,OAC5Bxb,IAAAxD,cAAC6pC,KAAe,CACfjnC,IAAKoc,EACL3Z,KAAMuM,EAAKuf,UAAYvf,EAAKvM,IAAMuM,EAAKvM,IAAM,GAC7CwT,KAAMjH,EAAKiH,WAKfrV,IAAAxD,cAAA,QACC2O,UAAWoM,aACV,qCACAsqB,IAAgB,iCAEjBjsB,GAAG,gBAEF3K,GAEFjL,IAAAxD,cAAC8pC,KAAU,CAACn7B,UAAU,uBACrBnL,IAAAxD,cAAC03B,KAAI,CAAC1iB,SAAS,EAAOrG,UAAU,gBAC9BhG,GACAnF,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAC83B,KAAI,CAACE,QAAS,EAAGD,KAAM,IACvBv0B,IAAAxD,cAAC+pC,KAAY,KAAyB,QAAzB7F,EAAEv7B,EAAQqhC,UAAUC,aAAK,IAAA/F,OAAA,EAAvBA,EAAyB9iC,MACxCoC,IAAAxD,cAACkqC,KAAU,KACc,QADd/F,EACTx7B,EAAQqhC,UAAUC,aAAK,IAAA9F,OAAA,EAAvBA,EAAyBgG,OAC1B3mC,IAAAxD,cAAA,WACwB,QADlBokC,EACLz7B,EAAQqhC,UAAUC,aAAK,IAAA7F,OAAA,EAAvBA,EAAyBgG,QAAS,IACX,QADc/F,EACrC17B,EAAQqhC,UAAUC,aAAK,IAAA5F,OAAA,EAAvBA,EAAyBgG,MAG3B7mC,IAAAxD,cAAC+pC,KAAY,KAAEphC,EAAQ2hC,SAAS30B,SAChCnS,IAAAxD,cAACuqC,KAAc,KACb5hC,EAAQ2hC,SAAS79B,MAAM1B,KAAI,SAAC6G,EAAMoN,GAClC,OACCxb,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAKoc,GACpBxb,IAAAxD,cAAA,UAAK4R,EAAKxQ,MACVoC,IAAAxD,cAAA,UAAK4R,EAAKtP,aAOfkB,IAAAxD,cAAC83B,KAAI,CAACE,QAAS,EAAGD,KAAM,IACvBv0B,IAAAxD,cAAC+pC,KAAY,KAA0B,QAA1BzF,EAAE37B,EAAQqhC,UAAUQ,cAAM,IAAAlG,OAAA,EAAxBA,EAA0BljC,MACzCoC,IAAAxD,cAACkqC,KAAU,KACe,QADf3F,EACT57B,EAAQqhC,UAAUQ,cAAM,IAAAjG,OAAA,EAAxBA,EAA0B4F,OAC3B3mC,IAAAxD,cAAA,WACyB,QADnBwkC,EACL77B,EAAQqhC,UAAUQ,cAAM,IAAAhG,OAAA,EAAxBA,EAA0B4F,QAAS,IACX,QADc3F,EACtC97B,EAAQqhC,UAAUQ,cAAM,IAAA/F,OAAA,EAAxBA,EAA0B4F,SAMlB,OAAZthC,QAAY,IAAZA,OAAY,EAAZA,EAAckhC,QACdzmC,IAAAxD,cAAC83B,KAAI,CAACE,QAAS,EAAGD,KAAM,IACvBv0B,IAAAxD,cAAC+pC,KAAY,KAAEhhC,EAAakhC,MAAMt0B,SAClCnS,IAAAxD,cAACyqC,KAAc,KACb1hC,EAAakhC,MAAMnB,MAAM/9B,KAAI,SAAC+pB,EAAM9V,GACpC,OACCxb,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAKoc,GACpBxb,IAAAxD,cAAA,MAAI4C,IAAKoc,GACRxb,IAAAxD,cAACsO,GAAI,CAACrI,KAAM6uB,EAAK7uB,KAAM/E,OAAQ4zB,EAAK5zB,QAClC4zB,EAAKjc,cAUD,OAAZ9P,QAAY,IAAZA,OAAY,EAAZA,EAAcyhC,SACdhnC,IAAAxD,cAAC83B,KAAI,CAACE,QAAS,EAAGD,KAAM,IACvBv0B,IAAAxD,cAAC+pC,KAAY,KAAEhhC,EAAayhC,OAAO70B,SACnCnS,IAAAxD,cAACyqC,KAAc,KACb1hC,EAAayhC,OAAO1B,MAAM/9B,KAAI,SAAC+pB,EAAM9V,GACrC,OACCxb,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAKoc,GACpBxb,IAAAxD,cAAA,MAAI4C,IAAKoc,GACRxb,IAAAxD,cAACsO,GAAI,CAACrI,KAAM6uB,EAAK7uB,KAAM/E,OAAQ4zB,EAAK5zB,QAClC4zB,EAAKjc,cAUfrV,IAAAxD,cAAC0qC,KAAgB,KAChBlnC,IAAAxD,cAAC03B,KAAI,CAAC1iB,SAAS,EAAOrG,UAAU,gBAC/BnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,IACXv0B,IAAAxD,cAAC2qC,KAAc,KACdnnC,IAAAxD,cAAA,OAAK2O,UAAU,gBACb9F,GACAA,EAAiB+hC,WAAW7/B,KAAI,SAAC+pB,EAAM9V,GAAK,OAC3Cxb,IAAAxD,cAACsO,GAAI,CACJK,UAAU,4DACV1I,KAAM6uB,EAAK7uB,KACXrD,IAAKoc,EACL9d,OAAQ4zB,EAAK5zB,QAEZ4zB,EAAKjc,UAIVrV,IAAAxD,cAAC6qC,KAAa,KACZliC,GACAA,EAAQmiC,OAAO//B,KAAI,SAAC6G,EAAMoN,GAAK,OAC9Bxb,IAAAxD,cAAA,KAAGiG,KAAM2L,EAAKtP,MAAOgO,MAAOsB,EAAKxQ,KAAMwB,IAAKoc,GAC3Cxb,IAAAxD,cAAC6Z,KAAI,CACJC,KAAMlI,EAAK5Q,KACX6yB,aAAYjiB,EAAKxQ,KACjBuM,KAAM,EACNokB,KAAK,MACL9X,cAAY,OACZtL,UAAU,uJAWpBnL,IAAAxD,cAAA,qBACC6Y,KAAK,iBACL/Y,OAAO,6DC3iBIirC,GAzCqB,SAAHtmC,GAK1B,IAJNumC,EAAmBvmC,EAAnBumC,oBACAhnB,EAAkBvf,EAAlBuf,mBACAinB,EAAkBxmC,EAAlBwmC,mBACAx8B,EAAQhK,EAARgK,SAEAkI,EAAgCC,oBAAkB,GAAMC,EAAAC,aAAAH,EAAA,GAAjDwF,EAAQtF,EAAA,GAAEmpB,EAAWnpB,EAAA,GAExBq0B,EAAe,EACnB1nC,IAAM2nC,SAAS30B,QAAQ/H,GAAU,WAChC,OAAOy8B,OAaR,OACC1nC,IAAAxD,cAAA,OAAK2e,WAAS,aAAahQ,UAAU,kBACpCnL,IAAAxD,cAAA,OAAK2O,UAAU,sBAAsBkwB,YAAU,UAC7C1iB,EAAW1N,EAbQ,SAACA,GACvB,OAAOjL,IAAM2nC,SAASpgC,IAAI0D,GAAU,SAAC28B,EAAOpsB,GAC3C,OAAKosB,GAASpsB,GAASgsB,EACf,KAEAxnC,IAAM6nC,aAAaD,EAAOA,EAAM9gB,OAAS,OAQzBghB,CAAe78B,IAEtCy8B,EAAeF,GACfxnC,IAAAxD,cAAC2Z,KAAM,CACNO,QAAQ,YACR6V,iBAAgB5T,EAChBgH,QAAS,kBAAM6c,GAAa7jB,KAE3BA,EAAW8uB,EAAqBjnB,KCAvBunB,GA9BsB,SAAH9mC,GAM3B,IALN+qB,EAAU/qB,EAAV+qB,WACAgc,EAAoB/mC,EAApB+mC,qBACApyB,EAAE3U,EAAF2U,GACAzK,EAASlK,EAATkK,UACAF,EAAQhK,EAARgK,SAEAkI,EAA4BC,oBAAkB,GAAMC,EAAAC,aAAAH,EAAA,GAA7CkF,EAAMhF,EAAA,GAAE40B,EAAS50B,EAAA,GAElBqF,EAAW,WAChBuvB,GAAW5vB,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,UAEtD6gB,GAGD3T,GACArY,IAAAxD,cAAC0rC,KAAK,CAACnY,cAAeiY,EAAsBtvB,SAAUA,GACpDzN,KC7COk9B,GAA0B,SAAC15B,GACvC,OAAQA,GACP,IAAK,qBACJ,OAAO,EACR,IAAK,sBACJ,OAAO,EACR,IAAK,qBAEL,QACC,OAAO,KAGG25B,GAAyB,SAAC35B,GACtC,OAAQA,GACP,IAAK,qBACJ,OAAO,EACR,QACC,OAAO,KAGG45B,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,SAAHloC,GAUzB,IATNkR,EAAOlR,EAAPkR,QACAkD,EAAIpU,EAAJoU,KACA+zB,EAASnoC,EAATmoC,UACAj+B,EAASlK,EAATkK,UAASk+B,EAAApoC,EACTwX,oBAAY,IAAA4wB,EAAG,KAAIA,EACnBxnC,EAAGZ,EAAHY,IACAuxB,EAAanyB,EAAbmyB,cACAlJ,EAAejpB,EAAfipB,gBACAjf,EAAQhK,EAARgK,SAEMq+B,EAAU7wB,EACV3N,EAAOsoB,EACb,OACCpzB,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,cAAC8sC,EAAO,CAACn+B,UAAU,8DACjBgH,KAGDi3B,GAAan+B,IACdjL,IAAAxD,cAAA,OAAK2O,UAAU,aACbi+B,GACAppC,IAAAxD,cAAA,QAAM2O,UAAU,sDACdi+B,GAGFn+B,GACAjL,IAAAxD,cAAA,MAAI2O,UAAU,6BAA6BF,IAI9CjL,IAAAxD,cAAA,KAAG2O,UAAU,mCAAmCkK,M,eCwerCk0B,GAhgByB,SAAHtoC,GAG9B,IAADuoC,EAAAvoC,EAFLqB,eAAO,IAAAknC,EAAG,GAAEA,EACTp+B,EAAcC,aAAApK,EAAAqK,IAEX+1B,EAAWvK,KACX4R,EAAW3R,KAkfjB,OACC/2B,IAAAxD,cAAA,MAAS4O,EACP9I,EAAQiF,KAAI,SAACi2B,EAA8BhiB,GAAa,OAnfhC,SAArBiuB,EACLjM,EACA/kB,EACA+C,GACK,IAADkuB,EAAAC,EACJ,OAAQnM,EAAM/uB,WACb,IAAK,eACJ,IAAMm7B,EAAapM,EACnB,OACCx9B,IAAAxD,cAAA,OACC2e,WAAS,eACThQ,UAAWoM,aACVqyB,EAAWC,WAAa,wBAA0B,SAEnDzqC,IAAKoc,GAELxb,IAAAxD,cAAC03B,KAAI,CAAC1iB,SAAS,EAAOrG,UAAU,iCAC9By+B,EAAW3gC,OACX2gC,EAAW3gC,MAAM1B,KAAI,SAAC6G,EAAW07B,GAEhC,OACC9pC,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAK0qC,GACnBL,EACAr7B,EAJyB,KAMzB07B,SAST,IAAK,qBACL,IAAK,sBACL,IAAK,qBACJ,IAAMC,EAAoBvM,EAE1B,OACCx9B,IAAAxD,cAAC83B,KAAI,CACJC,KAAM,GACN+I,OAAQ8K,GAAuB5K,EAAM/uB,WACrC+lB,QAAS2T,GAAwB3K,EAAM/uB,WACvCu7B,mBAAmC,OAAjBD,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmB53B,QACrCyD,GAAIm0B,EAAkBn0B,IAEtB5V,IAAAxD,cAAA,WACEutC,EAAkB53B,SAClBnS,IAAAxD,cAAC2Y,MAAI,CAACC,GAAIqD,EAAc7H,QAAQ,EAAOzF,UAAU,QAC/C4+B,EAAkB53B,SAGpB43B,EAAkB10B,MAClBrV,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,IAAIxE,QAAQ,EAAOzF,UAAU,mBACpC4+B,EAAkB10B,OAItBrV,IAAAxD,cAAC03B,KAAI,CAAC1iB,SAAS,EAAOrG,UAAU,UACb,OAAjB4+B,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmB9gC,SACF,OAAjB8gC,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmB9gC,MAAM7O,QAAS,IACjB,OAAjB2vC,QAAiB,IAAjBA,GAAwB,QAAPL,EAAjBK,EAAmB9gC,aAAK,IAAAygC,OAAP,EAAjBA,EAA0BniC,KAAI,SAAC6G,EAAMoN,GAAW,IAADyuB,EACxCC,EAAoBH,EAAkB53B,QACzC,KACA,KACH,OACCnS,IAAAxD,cAAC83B,KAAI,CACJC,KAAM,GACN+I,OAAQkL,GACPhL,EAAM/uB,UACNL,EAAKK,WAEN+lB,QAAS6T,GACR7K,EAAM/uB,UACNL,EAAKK,WAENtD,UAAWoM,aACS,SAAnBnJ,EAAKK,WAAoB,mEAAAtM,OAEtBsmC,GACDjL,EAAM/uB,UACN4yB,EACAqH,EACuB,QADfuB,EACRF,EAAkB9gC,aAAK,IAAAghC,OAAA,EAAvBA,EAAyB7vC,OACzBohB,KAGHpc,IAAKoc,GAEJiuB,EAAmBr7B,EAAM87B,EAAmB1uB,UAOrD,IAAK,OACJ,IAAM2uB,EAAW3M,EACjB,OACCx9B,IAAAxD,cAAC4tC,KAAc,CACdvoC,IAAKsoC,EAAStoC,IACdsQ,QAASg4B,EAASh4B,QAClBkD,KAAM80B,EAAS90B,KACfoD,aAAcA,EACd2a,cAAetoB,GACf1L,IAAKoc,IAGR,IAAK,kBACL,IAAK,gBACJ,IAAM6uB,EAAe7M,EACrB,OACCx9B,IAAAxD,cAAC8tC,KAAQ,CACRztC,IAAKwtC,EAAa78B,MAClBuO,IAAKsuB,EAAatuB,IAClB5J,QAASk4B,EAAal4B,QACtBkD,KAAMg1B,EAAah1B,KACnB+zB,UAAWiB,EAAajB,UACxBvnC,IAAKwoC,EAAaxoC,IAClBuxB,cAAetoB,GACf2N,aAAcA,EACd/B,QAAS2zB,EAAaE,UAAY,UAAY,WAC9CnrC,IAAKoc,GAEJ6uB,EAAa1hB,YACb0hB,EAAa1hB,WAAWvuB,OAAS,GACjCiwC,EAAa1hB,WAAWphB,KAAI,SAACijC,EAAUhvB,GAAK,OAC3Cxb,IAAAxD,cAACiuC,MAAgB,CAChBrrC,IAAG,QAAA+C,OAAUqZ,GACbnG,KAAMm1B,EAASn1B,KACfxT,IAAK2oC,EAAS3oC,IACduxB,cAAetoB,SAKrB,IAAK,gBACJ,IAAM4/B,EAAgBlN,EACtB,OACCx9B,IAAAxD,cAAC2sC,GAAS,CACTh3B,QAASu4B,EAAcv4B,QACvBsG,aAAcA,EACdpD,KAAMq1B,EAAcr1B,KACpB+zB,UAAWsB,EAActB,UACzBvnC,IAAK6oC,EAAc7oC,IACnBuxB,cAAetoB,GACfof,gBAAiBwgB,EAAcxgB,gBAC/B/e,UAAU,iBACV/L,IAAG,cAAA+C,OAAgBqZ,IAElBkvB,EAAc/hB,YACd+hB,EAAc/hB,WAAWvuB,OAAS,GAClCswC,EAAc/hB,WAAWphB,KAAI,SAACijC,EAAUhvB,GAAK,OAC5Cxb,IAAAxD,cAACiuC,MAAgB,CAChBrrC,IAAG,cAAA+C,OAAgBqZ,GACnBnG,KAAMm1B,EAASn1B,KACfxT,IAAK2oC,EAAS3oC,IACduxB,cAAetoB,SAKrB,IAAK,+BACL,IAAK,6BACJ,IAAM6/B,EAAgBnN,EACtB,OACCx9B,IAAAxD,cAACouC,KAAiB,CACjB/tC,IAAK8tC,EAAcn9B,MACnBuO,IAAK4uB,EAAc5uB,IACnB5J,QAASw4B,EAAcx4B,QACvBkD,KAAMs1B,EAAct1B,KACpBw1B,UAAWF,EAAcE,UACzBC,WAAYH,EAAcG,WAC1BjpC,IAAK8oC,EAAc9oC,IACnB2oC,SAAUG,EAAcH,SACxBpX,cAAetoB,GACf2N,aAAcA,EACdtN,UAAU,iBACV/L,IAAKoc,IAIR,IAAK,yBACJ,IAAMuvB,EAAgBvN,EACtB,OACCx9B,IAAAxD,cAAA,OAAK4C,IAAKoc,EAAOrQ,UAAU,kBAC1BnL,IAAAxD,cAACwuC,KAAiB,CAACxyB,WAAW,EAAMrN,UAAU,QAC5C4/B,EAAc9hC,MAAM1B,KAAI,SAACrK,EAAOse,GAChC,OACCxb,IAAAxD,cAACyuC,KAAqB,CACrBC,SAAUhuC,EAAMiuC,MAAMC,IACtBC,WAAYnuC,EAAMiuC,MAAMG,eACxBC,OAAQruC,EAAMsuC,IAAIJ,IAClBK,SAAUvuC,EAAMsuC,IAAIF,eACpBn5B,QAASjV,EAAMiV,QACfq4B,SAAUttC,EAAMstC,SAChB3oC,IAAK3E,EAAM2E,IACX6pC,WAAYX,EAAcY,kBAC1BvY,cAAetoB,GACf2N,aAAcA,EACdrZ,IAAKoc,QAKTxb,IAAAxD,cAAA,OAAK2O,UAAU,uBACdnL,IAAAxD,cAAC2Z,KAAM,CACNO,QAAQ,YACRjU,KAAMsoC,EAAczZ,KACpB8B,cAAetoB,GACfsK,GAAG,IACHyK,qBAAmB,YAElBkrB,EAAcxZ,SACfvxB,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAU,OACVtV,KAAM,IACNgB,UAAU,OACVsL,eAAa,OAMnB,IAAK,gBACJ,IAAMm1B,EAAepO,EACrB,OACCx9B,IAAAxD,cAAA,OAAK4C,IAAKoc,EAAOrQ,UAAU,kBAC1BnL,IAAAxD,cAACqvC,KAAQ,CAAC1gC,UAAU,QAClBygC,EAAa3iC,OACb2iC,EAAa3iC,MAAM1B,KAAI,SAACukC,EAAiBtwB,GACxC,OACCxb,IAAAxD,cAACuvC,KAAY,CACZC,KAAMF,EAAK1C,UACXj3B,QAAS25B,EAAK35B,QACdtQ,IAAKiqC,EAAKjqC,IACVuxB,cAAetoB,GACf2N,aAAcA,EACdrZ,IAAKoc,QAKVxb,IAAAxD,cAAA,OAAK2O,UAAU,uBACdnL,IAAAxD,cAAC2Z,KAAM,CACNO,QAAQ,YACRjU,KAAMmpC,EAAata,KACnB8B,cAAetoB,GACfsK,GAAG,IACHyK,qBAAmB,YAElB+rB,EAAara,SACdvxB,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAU,OACVtV,KAAM,IACNgB,UAAU,OACVsL,eAAa,OAMnB,IAAK,YACJ,IAAMw1B,EAAWzO,EACjB,OACCx9B,IAAAxD,cAAA,OAAK2O,UAAU,kBACdnL,IAAAxD,cAACsb,GAAY,CACZgB,KAAK,OACL1Z,IAAKoc,EACLzD,UAAWk0B,EAAS52B,KAAK0C,aAK7B,IAAK,UACL,IAAK,eACL,IAAK,gBACL,IAAK,eACJ,IAAMm0B,EAAiB1O,EACvB,OACCx9B,IAAAxD,cAAA,OAAK4C,IAAKoc,EAAOrQ,UAAU,kBAC1BnL,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,KAAKxE,QAAQ,EAAOzF,UAAU,mBACrC+gC,EAAe/5B,SAEjBnS,IAAAxD,cAAC2vC,KAAU,KACTD,EAAeva,SACfua,EAAeva,QAAQpqB,KACtB,SAAC6G,EAA+BoN,GAC/B,OACCxb,IAAAxD,cAAC4vC,KAAc,CACdj6B,QAAS/D,EAAK+D,QACdtQ,IAAKuM,EAAKvM,IACVwqC,iBAAkBj+B,EAAKi+B,iBACvBjZ,cAAetoB,GACf2N,aAAa,KACbrZ,IAAKoc,QAMV0wB,EAAerqC,KAAOqqC,EAAe3a,UACrCvxB,IAAAxD,cAAA,OAAK2O,UAAU,aACdnL,IAAAxD,cAAC2Z,KAAM,CACNO,QAAQ,YACRjU,KAAMypC,EAAerqC,IACrBuT,GAAG,IACHge,cAAetoB,GACf+U,qBAAmB,YAElBqsB,EAAe3a,SAChBvxB,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAU,OACVtV,KAAM,IACNgB,UAAU,OACVsL,eAAa,OAOpB,IAAK,UACL,IAAK,eACL,IAAK,gBACL,IAAK,eACJ,IAAM61B,EAAc9O,EACpB,OACCx9B,IAAAxD,cAAC+qC,GAAU,CACV/mB,mBAAoB8rB,EAAY9rB,mBAChCinB,mBAAoB6E,EAAY7E,mBAChCD,oBAAqB8E,EAAY9E,oBACjCpoC,IAAKoc,GAEO,OAAX8wB,QAAW,IAAXA,GAAoB,QAAT3C,EAAX2C,EAAaC,eAAO,IAAA5C,OAAT,EAAXA,EAAsBpiC,KACtB,SAACilC,EAAqB5X,GACrB,OACC50B,IAAAxD,cAAA,OAAK4C,IAAKw1B,EAAUzpB,UAAU,+BAC7BnL,IAAAxD,cAACiwC,KAAW,CAACj/B,MAAOg/B,EAAOh/B,MAAOk/B,SAAS,IAC3C1sC,IAAAxD,cAAA,OAAK2O,UAAU,QACdnL,IAAAxD,cAAA,MAAI2O,UAAU,WAAWqhC,EAAO5uC,MAChCoC,IAAAxD,cAAA,KAAG2O,UAAU,qCACXqhC,EAAO1/B,aASjB,IAAK,kBACJ,IAAM6/B,EAAcnP,EACpB,OACCx9B,IAAAxD,cAAA,OACC4C,IAAKoc,EACLrQ,UAAU,iBACVgQ,WAAS,oBAERwxB,EAAYx6B,SACZnS,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,KAAKxE,QAAQ,EAAOzF,UAAU,mBACrCwhC,EAAYx6B,SAGdw6B,EAAYt3B,MACZrV,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,IAAIxE,QAAQ,EAAOzF,UAAU,yBACpCwhC,EAAYt3B,MAGds3B,EAAY1jC,MAAM1B,KAAI,SAAC6G,EAAmBwmB,GAC1C,OAAQxmB,EAAKK,WACZ,IAAK,cAiBJ,OACCzO,IAAAxD,cAAA,OAAK2O,UAAU,OAAO/L,IAAKw1B,GAC1B50B,IAAAxD,cAACurC,GAAW,CACX/b,WAAY5d,EAAKiH,KACjB2yB,qBAAsB55B,EAAK45B,qBAC3BpyB,GAAE,eAAAzT,OAAiBwqC,EAAY/2B,KAE/B5V,IAAAxD,cAAA,OAAK2O,UAAU,iBACdnL,IAAAxD,cAACs1B,KAAQz3B,OAAA+N,OAAA,GACJgG,EAAK8D,SAAQ,CACjB06B,gBA1BgB,SAAC1lC,GACrB,GAAI3E,QAAUA,OAAOqW,WAAarW,OAAOqW,UAAUle,KAAM,CAGxD,IAAImyC,EAAgB3lC,EAAOxI,IAAI,gBAC3BouC,EAAmB5lC,EAAOxI,IAAI,gBAC9BquC,EAAmB7lC,EAAOxI,IAAI,gBAElC6D,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,iBACP2vC,cAAeA,EACfC,iBAAkBA,EAClBC,iBAAkBA,YAqBtB,IAAK,aAUJ,OACC/sC,IAAAxD,cAAA,OAAK2O,UAAU,OAAO/L,IAAKw1B,GAC1B50B,IAAAxD,cAACwwC,KAAU,CACV12B,KAAK,gBACLV,GAAE,cAAAzT,OAAgBwqC,EAAY/2B,IAC9B+J,QAdmB,WAEF,qBAAXpd,QACPA,OAAOq9B,aACPr9B,OAAOq9B,YAAYM,YAEnB39B,OAAOq9B,YAAYM,cASlB/tB,QAAS/D,EAAKiH,MAEdrV,IAAAxD,cAAA,KAAG2O,UAAU,qCACXiD,EAAK6+B,QAKX,IAAK,SACJ,OACCjtC,IAAAxD,cAAA,OAAK2O,UAAU,OAAO/L,IAAKw1B,GAC1B50B,IAAAxD,cAACwwC,KAAU,CACV12B,KAAK,QACL42B,IAAI,IACJrrC,IAAG,QAAAM,OAAUiM,EAAK++B,OAClBv3B,GAAE,UAAAzT,OAAYwqC,EAAY/2B,IAC1BzD,QAAS/D,EAAKiH,MAEdrV,IAAAxD,cAAA,KAAG2O,UAAU,qCACXiD,EAAK6+B,QAKX,IAAK,OACJ,OACCjtC,IAAAxD,cAAA,OAAK2O,UAAU,YAAY/L,IAAKw1B,GAC/B50B,IAAAxD,cAAA,KAAG2O,UAAU,qCACXiD,EAAKiH,OAIV,QACC,OAAO,UAKb,IAAK,eACJ,IAAM+3B,EAAkB5P,EACxB,OACCx9B,IAAAxD,cAAA,OAAK4C,IAAKoc,EAAOrQ,UAAU,kBACzBiiC,EAAgBnkC,MAAM1B,KACtB,SAAC6G,EAAyBwmB,GACzB,OACC50B,IAAAxD,cAAA,OAAK2O,UAAU,OAAO/L,IAAKw1B,GAC1B50B,IAAAxD,cAAC6wC,KAAY,CACZl7B,QAAS/D,EAAK+D,QACdsG,aAAcA,EACdpD,KAAMjH,EAAKiH,KACXxT,IAAKuM,EAAKvM,IACVyU,KAAMlI,EAAKkI,KACX8c,cAAetoB,UAQvB,QACC,OAAO,MAcP2+B,CAAmBjM,EAAO,KAAMhiB,QCrYrB8xB,GA7J6B,SAAHrsC,GAMlC,IALNkR,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACAuQ,EAAUtsC,EAAVssC,WAEAC,GADcvsC,EAAdwsC,eACWxsC,EAAXusC,aAEMpM,EAAmBpK,KACnBx0B,EAAWyU,eACXtU,EAAUuW,eACVwoB,EAAiBn2B,YAAYzF,GAC3BwO,EAAUoJ,KAAYjV,MAAMjG,EAASuD,QAArCuO,MACFgtB,EAAwBttB,iBAAY,MACpCwtB,EAAsBxtB,iBAAY,MACxCuZ,EAAkCC,aAAW+H,GAAe,CAC3DnK,QAAS,CACR9pB,QAAkB,OAAVisC,QAAU,IAAVA,OAAU,EAAVA,EAAYjsC,UAAwB,OAAdogC,QAAc,IAAdA,OAAc,EAAdA,EAAgBpgC,QAC9C6I,KAAMi3B,EAAmB,GAAkB,OAAdM,QAAc,IAAdA,OAAc,EAAdA,EAAgBzT,sBAAuB,EACpEuH,SAAU,OAEV/H,EAAAna,aAAAia,EAAA,GANKwU,EAAWtU,EAAA,GAAEuU,EAAUvU,EAAA,GAO9BwU,EAAgCzU,aAAW0I,IAAmBgM,EAAA5uB,aAAA2uB,EAAA,GAAvDE,EAAUD,EAAA,GAAEE,EAASF,EAAA,GAQ5B,OANA7V,aAAgBiV,GAAuB,WAClCI,GACHU,EAAU,YAKXpiC,IAAAxD,cAACgkC,GAAU,KACT+M,GACAvtC,IAAAxD,cAAA,OAAK2O,UAAU,mBACdnL,IAAAxD,cAACkxC,KAAU,KACV1tC,IAAAxD,cAAC03B,KAAI,CAAC1iB,SAAS,EAAOrG,UAAU,gBAC/BnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,IACb,OAAV+Y,QAAU,IAAVA,OAAU,EAAVA,EAAYp7B,UACZnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAKxE,QAAQ,EAAOzF,UAAU,QAC3B,OAAVoiC,QAAU,IAAVA,OAAU,EAAVA,EAAYp7B,UAGJ,OAAVo7B,QAAU,IAAVA,OAAU,EAAVA,EAAYvQ,WACZh9B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,GACT,OAAV28B,QAAU,IAAVA,OAAU,EAAVA,EAAYvQ,WAGJ,OAAVuQ,QAAU,IAAVA,OAAU,EAAVA,EAAYI,YACZ3tC,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAACqmC,MAAW,CACXjtB,GAAG,wBACHnE,MAAO87B,EAAWK,sBAClB3K,YAAasK,EAAWrK,kBACxB/3B,UAAU,kBACV23B,WAAYxB,EACZyB,SAAUvB,EACVvX,YAAmC,YAAtB8X,EAAYjjC,MACzBwT,aAAcgC,EAAQA,EAAMqmB,gBAAa78B,EACzCiX,SAAU,SAACjZ,GACW,WAArBqmC,EAAWrjC,OACVkjC,EAAW,SAAU,CACpBljC,MAAOhD,EAAEgD,SAGZsV,SAAU,SAACtY,GAAY,IAADqnC,EACrBf,EAAU,SACS,OAAnBZ,QAAmB,IAAnBA,GAA4B,QAAT2B,EAAnB3B,EAAqB5sB,eAAO,IAAAuuB,GAA5BA,EAA8BC,OAC9BzgC,EAAQjI,KAAK,GAADyH,OAEVorC,EAAWlK,cAAa,WAAAlhC,OACfqF,mBACT1L,EAAE+xC,0BAILtK,QAAS,WACRxlC,YAAW,WACVqkC,EAAU,UACR,OAGkB,WAArBD,EAAWrjC,OACXijC,EAAY3W,QAAQnwB,QACU,KAA9B8mC,EAAY3W,QAAQ9W,OACnBtU,IAAAxD,cAACgnC,KAAmB,KAClBzB,EAAY3W,QAAQnwB,OAAOwoC,SAC3B1B,EAAY3W,QAAQnwB,OAAOwoC,QAAQl8B,KAClC,SAAC6G,GAAyB,OACzBpO,IAAAxD,cAACknC,KAAuB,CACvBtkC,IAAKgP,EAAKhF,YAEVpJ,IAAAxD,cAACsO,GAAI,CAACE,GAAIoD,EAAKvM,KACd7B,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAU,OACVhJ,eAAa,EACbtM,KAAM,MAENiE,EAAK+D,aAKV4vB,EAAY3W,QAAQnwB,OAAO0oC,aAC3B5B,EAAY3W,QAAQnwB,OAAOkP,MAC3BnK,IAAAxD,cAACknC,KAAuB,KACvB1jC,IAAAxD,cAACsO,GAAI,CACJE,GAAE,GAAA7I,OACa,OAAdu/B,QAAc,IAAdA,OAAc,EAAdA,EAAgB2B,cAAa,WAAAlhC,OACpBqF,mBACTu6B,EAAY3W,QAAQnwB,OAAOqZ,QAE5BqL,QAAS,WACRyiB,EAAU,WAGI,OAAdV,QAAc,IAAdA,OAAc,EAAdA,EAAgBkC,sBAIyB,IAA5C7B,EAAY3W,QAAQnwB,OAAO0oC,cAC3B3jC,IAAAxD,cAACknC,KAAuB,KACvB1jC,IAAAxD,cAAA,SAAG,+BAMTwD,IAAAxD,cAACsxC,KAAe,YAQrBP,GACDvtC,IAAAxD,cAAC03B,KAAI,KACJl0B,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,IACXv0B,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,YACvBkkB,OAONwQ,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,MC9KvBO,GAAgB,SAAC7xB,GACtB,OAAQA,GACP,KAAK,EACJ,MAAO,KACR,KAAK,EACJ,MAAO,KACR,KAAK,EACJ,MAAO,KACR,QACC,MAAO,MAIJ8xB,GAAiB,SAAClf,EAAe50B,GACtC,OAAQ40B,EAASrgB,WAChB,IAAK,kBACJ,OACCzO,IAAAxD,cAAC2Y,GAAI,CACJC,GAAI24B,GAAcjf,EAAS5S,OAC3B7G,KAAMyZ,EAASY,IACftwB,IAAKlF,IAGR,IAAK,cACJ,OAAO8F,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIC,KAAMyZ,EAASY,IAAKtwB,IAAKlF,IAC9C,QACC,OAAO,OA8BK+zC,GAzBmC,SAAHhtC,GAIxC,IAHNkR,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACA3nB,EAAIpU,EAAJoU,KAEA,OACCrV,IAAAxD,cAACgkC,GAAU,KACVxgC,IAAAxD,cAAC03B,KAAI,KACJl0B,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGrpB,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,KAAM2nB,IAClC3nB,GAAQA,EAAK0C,WACb/X,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,MAAM0D,KAAK,QAClBzD,EAAK0C,UAAUxQ,IAAIymC,SC/BZE,GAduB,SAAHjtC,GAAWA,EAALjE,MACxC,OACCgD,IAAAxD,cAAC03B,KAAI,KACJl0B,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+BpB0rC,GA7BgC,SAAHltC,GAIrC,IAHNmtC,EAAIntC,EAAJmtC,KACAjjC,EAASlK,EAATkK,UACAF,EAAQhK,EAARgK,SAEMojC,EAAS,CACdC,aAAcC,KACdC,aAAcC,KACdC,cAAeC,KACfC,KAAMA,KACNpkB,QAASqkB,MAGV,OACC7uC,IAAAxD,cAAA,OACC2e,WAAS,qBACThQ,UAAWoM,aACVpM,EACA,iBACA,aACA,iDAEDkF,MAAO,CAAEy+B,gBAAgB,OAAD3sC,OAASksC,EAAOD,GAAK,OAE5CnjC,ICiIW8jC,GApJuD,SAAH9tC,GAS5D,IARNkR,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACAoR,EAAIntC,EAAJmtC,KACAY,EAAa/tC,EAAb+tC,cACAC,EAAehuC,EAAfguC,gBACA55B,EAAIpU,EAAJoU,KACA65B,EAAYjuC,EAAZiuC,aACA1B,EAAWvsC,EAAXusC,YAEM2B,EAAYlY,KAClB,OACCj3B,IAAAxD,cAACgkC,GAAU,KACVxgC,IAAAxD,cAAA,OAAK2O,UAAU,mBACdnL,IAAAxD,cAAC2xC,GAAqB,CAACC,KAAMA,EAAMjjC,UAAU,SAC5CnL,IAAAxD,cAAC03B,KAAI,CAAC1iB,SAAS,EAAOrG,UAAU,gBAC/BnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACvBriB,GACAnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,UAAUlI,QAAQ,EAAOzF,UAAU,QACpDgH,GAGF68B,GACAhvC,IAAAxD,cAAC4yC,KAAa,CACb9H,OAAQ0H,EAAc1H,OACtB+H,cAAc,aAEbL,EAAcrmB,YACdqmB,EAAcrmB,WAAWvuB,OAAS,GACjC4F,IAAAxD,cAAC8yC,KAAyB,KACxBN,EAAcrmB,WAAWphB,KAAI,SAACijC,EAAUhvB,GACxC,OACCxb,IAAAxD,cAAC+yC,KAAqB,CACrBnwC,IAAKoc,EACL3Z,IAAK2oC,EAAS3oC,IACdwT,KAAMm1B,EAASn1B,KACf+d,cAAetoB,UAQtBkyB,GACAh9B,IAAAxD,cAAA,KAAG2O,UAAU,yCACX6xB,MAMNh9B,IAAAxD,cAAC03B,KAAI,CACJtjB,QAAQ,EACRY,SAAS,EACTrG,UAAWoM,cACT03B,GAAmBC,IAAiB,mBACrC,iBAGAC,IAAcF,GAAmBC,IACjClvC,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,EAAGppB,UAAU,gBACxBnL,IAAAxD,cAAA,OAAK2O,UAAU,cACb8jC,GACAjvC,IAAAxD,cAACgzC,MAAG,CACHr9B,QAAS88B,EAAgB98B,QACzBlJ,MAAOgmC,EAAgBQ,SACvBtkC,UAAU,SAET8jC,EAAgBS,OAAOnoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACmzC,MAAO,CAACltC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,UAKG,OAAZ65B,QAAY,IAAZA,OAAY,EAAZA,EAAc3nC,KAAI,SAACqoC,EAAap0B,GAAW,IAADq0B,EAC1C,OACC7vC,IAAAxD,cAAC02B,KAAQ,CACR9zB,IAAKoc,EACLrJ,QAAoB,OAAXy9B,QAAW,IAAXA,OAAW,EAAXA,EAAaz9B,QACtBhH,UAAU,SAEQ,QAFD0kC,EAEhBD,EAAYtK,aAAK,IAAAuK,OAAA,EAAjBA,EAAmBtoC,KAAI,SAAC6G,EAAMwmB,GAAQ,OACtC50B,IAAAxD,cAAC22B,KAAY,CACZ9d,KAAMjH,EAAKiH,KACXxT,IAAKuM,EAAK3L,KACV6T,KAAM,QACN5Y,OAAQ0Q,EAAK1Q,OACb01B,cAAetoB,GACf1L,IAAKw1B,EACLvB,SAAUjlB,EAAKilB,oBAUvBrzB,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,IACtB2a,GAAaF,GACdjvC,IAAAxD,cAACgzC,MAAG,CACHr9B,QAAS88B,EAAgB98B,QACzBlJ,MAAO,GACPkC,UAAU,QAET8jC,EAAgBS,OAAOnoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACmzC,MAAO,CAACltC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,WAKR85B,IACW,OAAZD,QAAY,IAAZA,OAAY,EAAZA,EAAc3nC,KAAI,SAACqoC,EAAap0B,GAAW,IAADs0B,EACzC,OACC9vC,IAAAxD,cAAC02B,KAAQ,CACR9zB,IAAKoc,EACLrJ,QAAoB,OAAXy9B,QAAW,IAAXA,OAAW,EAAXA,EAAaz9B,QACtBhH,UAAU,SAEQ,QAFD2kC,EAEhBF,EAAYtK,aAAK,IAAAwK,OAAA,EAAjBA,EAAmBvoC,KAAI,SAAC6G,EAAMwmB,GAAQ,OACtC50B,IAAAxD,cAAC22B,KAAY,CACZ9d,KAAMjH,EAAKiH,KACXxT,IAAKuM,EAAK3L,KACV6T,KAAM,QACN5Y,OAAQ0Q,EAAK1Q,OACb01B,cAAetoB,GACf1L,IAAKw1B,EACLvB,SAAUjlB,EAAKilB,mBAMrBrzB,IAAAxD,cAACsb,GAAY,CAACgB,KAAK,OAAOf,UAAe,OAAJ1C,QAAI,IAAJA,OAAI,EAAJA,EAAM0C,eAK7Cy1B,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,MC1BduC,GAzHuD,SAAH9uC,GAW5D,IAVNkR,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACAoR,EAAIntC,EAAJmtC,KACAY,EAAa/tC,EAAb+tC,cACAgB,EAAgB/uC,EAAhB+uC,iBACAC,EAAiBhvC,EAAjBgvC,kBACAC,EAASjvC,EAATivC,UACAC,EAAUlvC,EAAVkvC,WACAC,EAAiBnvC,EAAjBmvC,kBACAC,EAAkBpvC,EAAlBovC,mBAEA,OACCrwC,IAAAxD,cAACgkC,GAAU,KACVxgC,IAAAxD,cAAA,OAAK2O,UAAU,mBACdnL,IAAAxD,cAAC2xC,GAAqB,CAACC,KAAMA,GAC5BpuC,IAAAxD,cAAC03B,KAAI,CAAC1iB,SAAS,EAAOrG,UAAU,gBAC/BnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACvBriB,GACAnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,UAAUlI,QAAQ,EAAOzF,UAAU,QACpDgH,GAGF68B,GACAhvC,IAAAxD,cAAC4yC,KAAa,CACb9H,OAAQ0H,EAAc1H,OACtB+H,cAAc,aAEbL,EAAcrmB,YACdqmB,EAAcrmB,WAAWvuB,OAAS,GACjC4F,IAAAxD,cAAC8yC,KAAyB,KACxBN,EAAcrmB,WAAWphB,KAAI,SAACijC,EAAUhvB,GACxC,OACCxb,IAAAxD,cAAC+yC,KAAqB,CACrBnwC,IAAKoc,EACL3Z,IAAK2oC,EAAS3oC,IACdwT,KAAMm1B,EAASn1B,KACf+d,cAAetoB,UAQtBkyB,GACAh9B,IAAAxD,cAAA,KAAG2O,UAAU,yCACX6xB,SAOK,OAATkT,QAAS,IAATA,OAAS,EAATA,EAAWn4B,aAAsB,OAATm4B,QAAS,IAATA,OAAS,EAATA,EAAWn4B,UAAU3d,QAAS,GACvDg2C,GAAqBA,EAAkBh2C,OAAS,IACjD4F,IAAAxD,cAAC03B,KAAI,KACJl0B,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAACsb,GAAY,CAACgB,KAAK,OAAOf,UAAoB,OAATm4B,QAAS,IAATA,OAAS,EAATA,EAAWn4B,aAEjD/X,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGrpB,UAAU,4BACnB,OAAjBilC,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmB7oC,KAAI,SAACqoC,EAAap0B,GAAW,IAADq0B,EAC/C,OACC7vC,IAAAxD,cAAC02B,KAAQ,CACR9zB,IAAKoc,EACLrJ,QAAoB,OAAXy9B,QAAW,IAAXA,OAAW,EAAXA,EAAaz9B,QACtBhH,UAAU,SAEQ,QAFD0kC,EAEhBD,EAAYtK,aAAK,IAAAuK,OAAA,EAAjBA,EAAmBtoC,KAAI,SAAC6G,EAAMwmB,GAAQ,OACtC50B,IAAAxD,cAAC22B,KAAY,CACZ9d,KAAMjH,EAAKiH,KACXxT,IAAKuM,EAAK3L,KACV6T,KAAM,QACN5Y,OAAQ0Q,EAAK1Q,OACb01B,cAAetoB,GACf1L,IAAKw1B,EACLvB,SAAUjlB,EAAKilB,oBAStB2c,GAAoBA,EAAiB51C,OAAS,GAC9C4F,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAAS0tC,MAEb,OAAVG,QAAU,IAAVA,OAAU,EAAVA,EAAYp4B,YAAao4B,EAAWp4B,UAAU3d,OAAS,GACxDi2C,GAAsBA,EAAmBj2C,OAAS,IACnD4F,IAAAxD,cAAC03B,KAAI,KACJl0B,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAACsb,GAAY,CAACgB,KAAK,OAAOf,UAAqB,OAAVo4B,QAAU,IAAVA,OAAU,EAAVA,EAAYp4B,aAElD/X,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGrpB,UAAU,4BAClB,OAAlBklC,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoB9oC,KAAI,SAACqoC,EAAap0B,GAAW,IAADs0B,EAChD,OACC9vC,IAAAxD,cAAC02B,KAAQ,CAAC9zB,IAAKoc,EAAOrJ,QAAoB,OAAXy9B,QAAW,IAAXA,OAAW,EAAXA,EAAaz9B,SACzB,QADiC29B,EAClDF,EAAYtK,aAAK,IAAAwK,OAAA,EAAjBA,EAAmBvoC,KAAI,SAAC6G,EAAMwmB,GAAQ,OACtC50B,IAAAxD,cAAC22B,KAAY,CACZ9d,KAAMjH,EAAKiH,KACXxT,IAAKuM,EAAK3L,KACV6T,KAAM,QACN5Y,OAAQ0Q,EAAK1Q,OACb01B,cAAetoB,GACf1L,IAAKw1B,EACLvB,SAAUjlB,EAAKilB,oBAStB4c,GAAqBA,EAAkB71C,OAAS,GAChD4F,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAAS2tC,MC7BdK,GA7EgC,SAAHrvC,GAOrC,IANNsvC,EAAiBtvC,EAAjBsvC,kBACAC,EAAkBvvC,EAAlBuvC,mBACA1W,EAAkB74B,EAAlB64B,mBAEA3uB,GAFkBlK,EAClByV,QACSzV,EAATkK,WACAivB,EAAen5B,EAAfm5B,gBAEM9zB,EAAeiF,YAAYlF,GAC3B21B,EAAiBC,qBAAWC,IAC1BxO,EAASsO,EAAeI,oBAAxB1O,KACRva,EAA8BC,oBAAkB,GAAMC,EAAAC,aAAAH,EAAA,GAA/Cs9B,EAAOp9B,EAAA,GAAEq9B,EAAUr9B,EAAA,GACpBgpB,EAAkBC,aACvBN,EAAeI,oBACfrE,IAuCD,OAPAve,qBAAU,WACLsgB,GACH4W,EAP8B,SAAC5X,GAChC,IAAI6X,EAAQtU,EAAgBl1B,QAAO,SAACiH,GAAI,OAAKA,IAAS0qB,KACtD,SAAO6X,GAASA,EAAMv2C,OAAS,GAKnBw2C,CAAwB9W,MAGlC,CAACuC,EAAiBvC,IAGpB95B,IAAAxD,cAAAwD,IAAAiU,SAAA,KACE3N,GACAtG,IAAAxD,cAACq9B,KAAgB,CAChBha,qBAAmB,2BACnBF,QAAS,SAAC7jB,GAAC,OAzCS,SAACA,GACxBA,EAAEyd,iBACEk3B,EACH/iB,EAAK,kBAAmB,CACvBtf,KAAM0rB,KAGPpM,EAAK,eAAgB,CACpBtf,KAAM0rB,IAGHv3B,OAAOqW,WAAarW,OAAOqW,UAAUle,MACxC6H,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,eACPi9B,oBAAqBC,EAAgBD,oBACrCE,qBAAsBD,EAAgBC,qBACtCC,wBAAyBF,EAAgBE,wBACzCC,aAAcH,EAAgBG,aAC9BC,cAAeJ,EAAgBI,iBAIlCkW,GAAYD,GAmBOI,CAAgB/0C,IAChCya,MAAOk6B,EAAU,OAAS,OAC1B/5B,QAAQ,UACRvL,UAAWA,GAEXnL,IAAAxD,cAAC6Z,KAAI,CACJC,KAAMm6B,EAAU,cAAgB,SAChCh6B,eAAa,EACbtL,UAAU,eAEXnL,IAAAxD,cAAA,QAAM2O,UAAU,sBACdslC,EAAUF,EAAoBC,MCyNtBM,GAxRd,SADsF7vC,GAa/E,IAAD8vC,EAAAC,EAXL7+B,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACAiU,EAAYhwC,EAAZgwC,aACAC,EAA0BjwC,EAA1BiwC,2BACAC,EAAIlwC,EAAJkwC,KACAC,EAAanwC,EAAbmwC,cACAC,EAAepwC,EAAfowC,gBACA7D,EAAWvsC,EAAXusC,YACApT,EAAen5B,EAAfm5B,gBACAv4B,EAAGZ,EAAHY,IACAyvC,EAAUrwC,EAAVqwC,WAEMnC,EAAYlY,KACZrqB,EAAWrB,YAAY7G,GACvB6sC,EAAchmC,YAAYjH,GAC1B+8B,EAAWvK,KACjB3jB,EAAkCC,mBAAiB,IAAGC,EAAAC,aAAAH,EAAA,GAA/Cya,EAASva,EAAA,GAAEwa,EAAYxa,EAAA,GA6C9B,OA3BAmG,qBAAU,WAERqU,EADGwT,EACU,GAEC8P,GAAQA,EAAK/2C,OAAS,GAAK+2C,EAAK,GAAGv7B,MAGhD,CAACyrB,IAEJ7nB,qBAAU,WACL+3B,GACChvC,OAAOqW,WAAarW,OAAOqW,UAAUle,MAAQ0/B,GAChD73B,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,WACPs0C,SAAUjvC,OAAOC,SAASivC,UAAY5vC,EACtC6vC,UAAmB,OAAR9kC,QAAQ,IAARA,OAAQ,EAARA,EAAUE,MACrB6kC,SAAUJ,EAAY9iC,UACtB0rB,oBAAqBC,EAAgBD,oBACrCE,qBAAsBD,EAAgBC,qBACtCC,wBAAyBF,EAAgBE,wBACzCC,aAAcH,EAAgBG,aAC9BC,cAAeJ,EAAgBI,kBAIhC,IAGFx6B,IAAAxD,cAACgkC,GAAU,CAACW,aAAa,GACxBnhC,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,KAIJnS,IAAAxD,cAAC03B,KAAI,CACJtjB,QAAQ,EACRY,SAAS,EACTrG,UAAWoM,aAAK,kCAEf43B,GACAnvC,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,EAAGppB,UAAU,gBACvB8lC,GACAjxC,IAAAxD,cAAA,OAAK2O,UAAU,QACb8lC,EAAa9+B,SACbnS,IAAAxD,cAAA,MAAI2O,UAAU,8BACZ8lC,EAAa9+B,SAGf8+B,EAAahoC,OAASgoC,EAAahoC,MAAM7O,OAAS,GAClD4F,IAAAxD,cAACo1C,KAAuB,KACJ,QADIb,EACtBE,EAAahoC,aAAK,IAAA8nC,OAAA,EAAlBA,EAAoBxpC,KACpB,SAAC6G,EAAgCoN,GAChC,OACCxb,IAAAxD,cAACq1C,KAA0B,CAACzyC,IAAKoc,GAChCxb,IAAAxD,cAACs1C,KAAuB,CAACz8B,KAAMjH,EAAK+D,UACpCnS,IAAAxD,cAACu1C,KAAuB,KACvB/xC,IAAAxD,cAAA,OACC2O,UAAU,uBACVwb,wBAAyB,CACxBC,OAAQxY,EAAKiH,eAYvBg8B,GAAmBA,EAAgBvX,oBACnC95B,IAAAxD,cAAA,OAAK2O,UAAU,cACdnL,IAAAxD,cAAC8zC,GAAqB,CACrBC,kBAAmBc,EAAgBd,kBACnCC,mBAAoBa,EAAgBb,mBACpC1W,mBAAoBuX,EAAgBvX,mBACpCM,gBAAiBA,KAKnBgX,GACApxC,IAAAxD,cAAA,OAAK2O,UAAU,cACdnL,IAAAxD,cAAC2Z,KAAM,CACN0J,qBAAoBuxB,EAAc/7B,KAClCD,GAAG,IACHge,cAAetoB,GACfrI,KAAM2uC,EAAcvvC,KAEnBuvC,EAAc/7B,QAOpBrV,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAA,OAAK2O,UAAU,kBACdnL,IAAAxD,cAAC4yC,KAAa,CAAC9H,QAAQ,EAAMn8B,UAAU,gBACrC+lC,GACAlxC,IAAAxD,cAAA,OACCmqB,wBAAyB,CACxBC,OAAQsqB,GAET/lC,UAAU,cAIbnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBkkB,GAEDsU,GACAtxC,IAAAxD,cAACi/B,KAAK,CAAC/kB,QAAQ,UAAUvL,UAAU,QAClCnL,IAAAxD,cAACsb,GAAY,CAACC,UAAWu5B,EAAWv5B,cAGpCo3B,GACDnvC,IAAAxD,cAAAwD,IAAAiU,SAAA,MACc,OAAZg9B,QAAY,IAAZA,OAAY,EAAZA,EAAc9+B,UACdnS,IAAAxD,cAAA,MAAI2O,UAAU,8BACZ8lC,EAAa9+B,UAGH,OAAZ8+B,QAAY,IAAZA,OAAY,EAAZA,EAAchoC,SAAqB,OAAZgoC,QAAY,IAAZA,OAAY,EAAZA,EAAchoC,MAAM7O,QAAS,GACpD4F,IAAAxD,cAACo1C,KAAuB,CAACzmC,UAAU,QACf,QADqB6lC,EACvCC,EAAahoC,aAAK,IAAA+nC,OAAA,EAAlBA,EAAoBzpC,KACpB,SAAC6G,EAAgCoN,GAChC,OACCxb,IAAAxD,cAACq1C,KAA0B,CAACzyC,IAAKoc,GAChCxb,IAAAxD,cAACs1C,KAAuB,CAACz8B,KAAMjH,EAAK+D,UACpCnS,IAAAxD,cAACu1C,KAAuB,KACvB/xC,IAAAxD,cAAA,OACC2O,UAAU,uBACVwb,wBAAyB,CACxBC,OAAQxY,EAAKiH,cAUrBg8B,GAAmBA,EAAgBvX,oBACnC95B,IAAAxD,cAAA,OAAK2O,UAAU,cACdnL,IAAAxD,cAAC8zC,GAAqB,CACrBC,kBAAmBc,EAAgBd,kBACnCC,mBAAoBa,EAAgBb,mBACpC1W,mBAAoBuX,EAAgBvX,mBACpCM,gBAAiBA,KAInBgX,GACApxC,IAAAxD,cAAA,OAAK2O,UAAU,cACdnL,IAAAxD,cAAC2Z,KAAM,CACNf,GAAG,IACHge,cAAetoB,GACfrI,KAAM2uC,EAAcvvC,KAEnBuvC,EAAc/7B,QAMlBgsB,EA0CG,OAAJ8P,QAAI,IAAJA,OAAI,EAAJA,EAAM5pC,KAAI,SAACyqC,EAAex2B,GACzB,OACCxb,IAAAxD,cAACy1C,KAAqB,CACrB58B,KAAM28B,EAAI3jB,QACV1O,QAAS,kBA7OW,SAACuyB,GAC7B,GAAItkB,IAAcskB,EACjBrkB,EAAa,QACP,CAAC,IAADskB,EAAAC,EACAC,EAAgB,QAAXF,EAAG51C,gBAAQ,IAAA41C,GAErB,QAFqBC,EAARD,EAAUhT,eAAe,oBAADh9B,OACjB+vC,WACpB,IAAAE,OAFqB,EAARA,EAEXE,UACCD,GACH9vC,OAAOgwC,SAAS,CACf1hC,IAAKwhC,EACLG,SAAU,WAGZ3kB,EAAaqkB,IAgOSO,CAAqBT,EAAIp8B,KACxCA,GAAIo8B,EAAIp8B,GACR+C,SAAUiV,IAAcokB,EAAIp8B,GAC5BxW,IAAKoc,EACLrQ,UAAU,QAEVnL,IAAAxD,cAAA,OAAK2O,UAAU,QACb6mC,EAAI38B,MACJrV,IAAAxD,cAACsb,GAAY,CAACC,UAAWi6B,EAAI38B,KAAK0C,iBArDvC/X,IAAAxD,cAAAwD,IAAAiU,SAAA,KACEk9B,GACAnxC,IAAAxD,cAAC2xB,KAAiB,KAChBgjB,EAAK5pC,KAAI,SAACyqC,EAAex2B,GACzB,OACCxb,IAAAxD,cAAC4xB,KAAY,CACZ/Y,KAAM28B,EAAI3jB,QACVzY,GAAIo8B,EAAIp8B,GACR0W,gBAAA,GAAAnqB,OAAkB6vC,EAAIp8B,GAAE,YACxB0Y,iBAAe,EACfX,SAAUC,IAAcokB,EAAIp8B,GAC5B+J,QAAS,WACRkO,EAAamkB,EAAIp8B,KAElBxW,IAAKoc,GAEJw2B,EAAI3jB,aAOL,OAAJ8iB,QAAI,IAAJA,OAAI,EAAJA,EAAM5pC,KAAI,SAACyqC,EAAex2B,GAC1B,OACCxb,IAAAxD,cAAA,OACC+xB,KAAK,WACL3Y,GAAE,GAAAzT,OAAK6vC,EAAIp8B,GAAE,YACbxW,IAAKoc,EACLrQ,UAAWoM,aACVqW,IAAcokB,EAAIp8B,GAAK,QAAU,WAGjCo8B,EAAI38B,MACJrV,IAAAxD,cAACsb,GAAY,CAACC,UAAWi6B,EAAI38B,KAAK0C,oBA6B1Cy1B,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,MC9QxBhnC,GAAoB,SACzBksC,EACAC,EACA/8B,EACA9W,GAEA,IAAIwV,EAAkB,GAClBs+B,GAAU,EACd,IAAK,IAAIC,KAAeH,EAAS,CAChC,GAAIE,EAAS,MAEb,IAAME,EAASJ,EAAQG,GACvB,IAAK,IAAIE,KAAeD,EAAOzgC,QAAS,CACvC,IAAM4D,EAAS68B,EAAOzgC,QAAQ0gC,GAC9B,GAAI98B,EAAO5O,SAAU,CACpB,GAAIuO,IAAE,SAAAzT,OAAcwwC,EAAW,YAAAxwC,OAAW2wC,EAAOprC,MAAQ,CACxD4M,EAAM5Z,KAAK,GAADyH,OAAI2wC,EAAOprC,KAAI,KAAAvF,OAAIrD,IAC7B8zC,GAAU,EACV,MAEAt+B,EAAM5Z,KAAK,GAADyH,OAAI2wC,EAAOprC,KAAI,KAAAvF,OAAI8T,EAAOnX,UAKxC,OAAOwV,EAAM7M,KAAK,MAGburC,GAAoB,SAAC3gC,GAC1B,IAAI4gC,EAAiB5gC,EAAQlL,QAC5B,SAAC8O,GAAmC,OAAyB,IAApBA,EAAO5O,YAEjD,OAAqB,OAAd4rC,QAAc,IAAdA,OAAc,EAAdA,EAAgB74C,QAAS,IAAK,GAsNvB84C,GAlNmC,SAAHjyC,GASxC,IAADkyC,EARLC,EAAMnyC,EAANmyC,OACA5C,EAAkBvvC,EAAlBuvC,mBACAD,EAAiBtvC,EAAjBsvC,kBACAoC,EAAW1xC,EAAX0xC,YACA59B,EAAQ9T,EAAR8T,SACA2Y,EAAIzsB,EAAJysB,KACA2lB,EAAYpyC,EAAZoyC,aACAtvC,EAAO9C,EAAP8C,QAEQ2uC,EAA0BU,EAA1BV,QAASzB,EAAiBmC,EAAjBnC,aACjB99B,EAA8CC,mBAAS,CACtD+mB,oBAAqB,KACrBE,qBAAsB,KACtBC,wBAAyB,KACzBC,aAAc,KACdC,cAAe,OACdnnB,EAAAC,aAAAH,EAAA,GANKinB,EAAe/mB,EAAA,GAAEigC,EAAkBjgC,EAAA,GAOpCkgC,EAAqB,SAACz3C,GAC3B,IAAA03C,EAAsB13C,EAAE4B,OAAhBkY,EAAE49B,EAAF59B,GAAI9W,EAAK00C,EAAL10C,MACR20C,EAAcjrC,KAAKC,MAAMD,KAAKgB,UAAUkpC,IACxCE,GAAU,EACda,EAAYzgC,SAAQ,SAAC8/B,EAAat3B,GACyB,IAADk4B,EAAzD,GAAI,SAAAvxC,OAASwwC,EAAW,YAAAxwC,OAAW2wC,EAAOprC,QAAWkO,EACtC,QAAd89B,EAAAZ,EAAOzgC,eAAO,IAAAqhC,GAAdA,EAAgB1gC,SAAQ,SAACiD,GACpBA,EAAOnX,QAAUA,EACpBmX,EAAO5O,UAAW,EAElB4O,EAAO5O,UAAW,KAGpBurC,GAAU,OACJ,GAAIA,EAAS,CAAC,IAADe,EACL,QAAdA,EAAAb,EAAOzgC,eAAO,IAAAshC,GAAdA,EAAgB3gC,SAAQ,SAACiD,GACxBA,EAAO5O,UAAW,SAKrB0N,EAAS49B,EAAac,GAEtB/lB,EAAK,QAAS,CACbpZ,MAAO9N,GAAkBitC,EAAad,EAAa/8B,EAAI9W,MAoDzD,OAhDA0a,qBAAU,WACT,IAAIi6B,EAAcjrC,KAAKC,MAAMD,KAAKgB,UAAUkpC,IAExCvY,EACHsZ,EAAY,GAAGphC,SACfohC,EAAY,GAAGphC,QAAQ8O,MAAK,SAACyyB,GAAQ,OAAKA,EAAIvsC,aAC9CosC,EAAY,GAAGphC,QAAQ8O,MAAK,SAACyyB,GAAQ,OAAKA,EAAIvsC,YAAUC,KAErD+yB,EACHoZ,EAAY,GAAGphC,SACfohC,EAAY,GAAGphC,QAAQ8O,MAAK,SAACyyB,GAAQ,OAAKA,EAAIvsC,aAC9CosC,EAAY,GAAGphC,QAAQ8O,MAAK,SAACyyB,GAAQ,OAAKA,EAAIvsC,YAAUC,KAErDusC,EACHJ,EAAY,GAAGphC,SACfohC,EAAY,GAAGphC,QAAQ8O,MAAK,SAACyyB,GAAQ,OAAKA,EAAIvsC,aAC9CosC,EAAY,GAAGphC,QAAQ8O,MAAK,SAACyyB,GAAQ,OAAKA,EAAIvsC,YAAUC,KAErDizB,EACHkZ,EAAY,GAAGphC,SACfohC,EAAY,GAAGphC,QAAQ8O,MAAK,SAACyyB,GAAQ,OAAKA,EAAIvsC,aAC9CosC,EAAY,GAAGphC,QAAQ8O,MAAK,SAACyyB,GAAQ,OAAKA,EAAIvsC,YAAUC,KAErDkzB,EACHiZ,EAAY,GAAGphC,SACfohC,EAAY,GAAGphC,QAAQ8O,MAAK,SAACyyB,GAAQ,OAAKA,EAAIvsC,aAC9CosC,EAAY,GAAGphC,QAAQ8O,MAAK,SAACyyB,GAAQ,OAAKA,EAAIvsC,YAAUC,KAErD/E,QAAUA,OAAOqW,WAAarW,OAAOqW,UAAUle,MAAQu2C,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,KAGjCj4B,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,kBACPi9B,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,IAGHjxC,IAAAxD,cAAA,QAAM2O,UAAU,YACfnL,IAAAxD,cAAA,gBACCwD,IAAAxD,cAAA,UAAQ2O,UAAU,wBAAsB,yBAAAhJ,OACnBwwC,EAAW,2EAE/BD,EAAQnrC,KAAI,SAACurC,EAA+BD,GAAyB,IAADiB,EACpE,OACC9zC,IAAAxD,cAAA,OACC4C,IAAKyzC,EACL1nC,UAAWoM,cAAMu7B,EAAOzgC,SAAW,aAAc,SAEjDrS,IAAAxD,cAAA,SACCgZ,QAAO,SAAArT,OAAWwwC,EAAW,YAAAxwC,OAAW2wC,EAAOprC,MAC/CyD,UAAU,WAAS,GAAAhJ,OAEf2wC,EAAOl1C,KAAI,qBAAAuE,OAAiBwwC,IAEjC3yC,IAAAxD,cAAA,UACCoB,KAAI,SAAAuE,OAAWwwC,EAAW,YAAAxwC,OAAW2wC,EAAOprC,MAC5CkO,GAAE,SAAAzT,OAAWwwC,EAAW,YAAAxwC,OAAW2wC,EAAOprC,MAC1C0O,UAAW08B,EAAOzgC,QAClB0C,SAAUw+B,EACV99B,UAAQ,EACRtK,UAAWoM,aACV,gRAIAvX,IAAAxD,cAAA,UACCsC,MAAM,GACNsX,UAAQ,EACR/O,UACEyrC,EAAOzgC,UAAY2gC,GAAkBF,EAAOzgC,UAG7CygC,EAAOl1C,MAGK,QAFLk2C,EAEThB,EAAOzgC,eAAO,IAAAyhC,OAAA,EAAdA,EAAgBvsC,KAChB,SACC0O,EACA88B,GAEA,OACC/yC,IAAAxD,cAAA,UACCsC,MAAOmX,EAAOnX,MACduI,SAAU4O,EAAO5O,SACjBjI,IAAK2zC,GAEJ98B,EAAO3O,cAShBtH,IAAAxD,cAAA,UACCgB,KAAK,SACL2N,UAAU,UACVwU,QAAS,SAAC7jB,GACTA,EAAEyd,iBACFmU,EAAK,QAAS,CACbpZ,MAAO9N,GAAkBksC,EAASC,OAElC,yCAAAxwC,OAEkCwwC,IAErC3yC,IAAAxD,cAAA,OAAK6+B,YAAU,SAAS0Y,cAAY,QAClCV,GACArzC,IAAAxD,cAACi/B,KAAK,CAAC/kB,QAAQ,SAASvL,UAAU,QACjCnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,EAAOzF,UAAU,QACpCkoC,KAKLrzC,IAAAxD,cAAA,OAAK2O,UAAU,OAAOkwB,YAAU,SAAS0Y,cAAY,QACnD9C,GACAjxC,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAC8zC,GAAqB,CACrBC,kBAAmBA,EACnBC,mBAAoBA,EACpB1W,mBAAoBmX,EAAanX,mBACjC3uB,UAAU,OACVivB,gBAAiBA,GAAmBA,IAGrCp6B,IAAAxD,cAAA,MAAI2O,UAAU,aACbnL,IAAAxD,cAACsO,GAAI,CACJE,GAAIimC,EAAapvC,IACjBsJ,UAAU,oCAET8lC,EAAa9+B,UAGhBnS,IAAAxD,cAACsb,GAAY,CACZgB,KAAK,OACLf,UAAuB,OAAZk5B,QAAY,IAAZA,GAAkB,QAANkC,EAAZlC,EAAc57B,YAAI,IAAA89B,OAAN,EAAZA,EAAoBp7B,eAMnChU,GACA/D,IAAAxD,cAAA,OAAK2O,UAAU,mFACdnL,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,SAASnM,KAAM,EAAGqM,QAAQ,OAAO6Z,aAAW,cC1QtD2jB,GAAqB,eAAA/yC,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOC,EAAgBE,GAAgB,IAAAyyC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA9wC,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,QAANy/B,EAAA1xC,cAAM,IAAA0xC,GAAS,QAATC,EAAND,EAAQS,eAAO,IAAAR,GAAW,QAAXC,EAAfD,EAAiBrxC,iBAAS,IAAAsxC,OAApB,EAANA,EAA4BrxC,UAAWP,OAAOQ,UAC/C,oBACO,QAANqxC,EAAA7xC,cAAM,IAAA6xC,GAAS,QAATC,EAAND,EAAQM,eAAO,IAAAL,GAAW,QAAXC,EAAfD,EAAiBxxC,iBAAS,IAAAyxC,OAApB,EAANA,EAA4BxxC,UAAWP,OAAOQ,UAC/C,mBACO,QAANwxC,EAAAhyC,cAAM,IAAAgyC,GAAS,QAATC,EAAND,EAAQG,eAAO,IAAAF,GAAW,QAAXC,EAAfD,EAAiB3xC,iBAAS,IAAA4xC,OAApB,EAANA,EAA4B3xC,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,GAedqxC,GAA4BzpB,aAIxC,CACCtV,GAAI,4BACJuV,QAAS,OACTC,QAAS,CACR9pB,OAAQ,GACR0C,MAAO,GACPhH,WAAOc,GAERutB,OAAQ,CACPC,KAAM,GACNvnB,QAAS,CACRwnB,OAAQ,CACP3V,GAAI,UACJ/Y,IAAK,SAACmF,EAAU9E,GACf,OAAO82C,GAAsBhyC,EAASV,OAAQpE,EAAMoX,QAErDkX,OAAQ,CACP9tB,OAAQ,UACRqD,QAASqH,aAAO,CACfpE,MAAO,SAAChC,EAAU9E,GAAK,OAAKA,EAAMtD,KAAKA,SAGzC6xB,QAAS,CACR/tB,OAAQ,UACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GACjB,MAAM,SAANiF,OAAgBjF,EAAMtD,KAAK+a,SAASwkB,OAAM,OAAAh3B,OAAMjF,EAAMtD,KAAK+a,SAASykB,kBAMzEzN,QAAS,GACTC,QAAS,GACTgpB,SAAU,CACTC,MAAO,CAAC,gBACRC,OAAQ,CAAC,CAAEp3C,OAAQ,WAGrBmuB,GAAI,CACHC,MAAO,CACN,CACCpuB,OAAQ,UACRqD,QAAS,KAGXg0C,MAAO,aAGT,CACCh0C,QAAS,CACRi0C,aAAc5sC,aAAO,CACpB9G,OAAQ,SAAC8pB,EAASluB,GAAU,OAAKA,EAAMoE,QAAU8pB,EAAQ9pB,QACzD0C,MAAO,SAAConB,EAASluB,GAAU,OAAKA,EAAM8G,OAASonB,EAAQpnB,YCwE5CixC,GA1Id,SADgFh0C,GAUzE,IARNkR,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACA17B,EAAML,EAANK,OACAO,EAAGZ,EAAHY,IACAqzC,EAAOj0C,EAAPi0C,QACA1E,EAAkBvvC,EAAlBuvC,mBACAD,EAAiBtvC,EAAjBsvC,kBACA/C,EAAWvsC,EAAXusC,YAEMhrC,EAAWyU,eACXtU,EAAUuW,eACVi8B,EAAWz3B,KAAYjV,MAAMjG,EAASuD,QAC5CoN,EAA0CC,mBAAc,CACvDgiC,QAAS,GACTC,QAAS,GACTC,QAAS,KACRjiC,EAAAC,aAAAH,EAAA,GAJKoiC,EAAaliC,EAAA,GAAEmiC,EAAgBniC,EAAA,GAMtCka,EAAwBC,aAAWmnB,GAA2B,CAC7DvpB,QAAS,CACR9pB,OAAQA,EACR0C,MAAOkxC,EAAQ,MAEfznB,EAAAna,aAAAia,EAAA,GALKkoB,EAAMhoB,EAAA,GAAEioB,EAAKjoB,EAAA,GAMpBwU,EAAwBzU,aAAWmnB,GAA2B,CAC7DvpB,QAAS,CACR9pB,OAAQA,EACR0C,MAAOkxC,EAAQ,MAEfhT,EAAA5uB,aAAA2uB,EAAA,GALK0T,EAAMzT,EAAA,GAAE0T,EAAK1T,EAAA,GAMpB2T,EAAwBroB,aAAWmnB,GAA2B,CAC7DvpB,QAAS,CACR9pB,OAAQA,EACR0C,MAAOkxC,EAAQ,MAEfY,EAAAxiC,aAAAuiC,EAAA,GALKE,EAAMD,EAAA,GAAEE,EAAKF,EAAA,GAOdG,EAAe,SACpBtD,EACAD,GAEA,IAAIp+B,EAAkB,GACtBo+B,EAAQ1/B,SAAQ,SAAC8/B,GAAmC,IAADY,EACpC,QAAdA,EAAAZ,EAAOzgC,eAAO,IAAAqhC,GAAdA,EAAgB1gC,SAAQ,SAACiD,GACpBA,EAAO5O,UACViN,EAAM5Z,KAAKub,EAAOnX,aAIrBwV,EAAM7M,KAAK,KAEX,IAAIyuC,EAAsB,GACtB5hC,IACHja,OAAO0P,KAAKwrC,GAAsBviC,SAAQ,SAAC5T,GACtCA,IAAG,SAAA+C,OAAcwwC,GACpBuD,EAAYA,EAAU/zC,OAAO,CAAC,GAADA,OAAI/C,EAAG,KAAA+C,OAAImS,KAC7BihC,EAAsBn2C,KACjC82C,EAAYA,EAAU/zC,OAAO,CAAC,GAADA,OACzB/C,EAAG,KAAA+C,OAAKozC,EAAsBn2C,UAIpCuD,EAAQqM,QAAQ,GAAD7M,OAAIN,EAAG,KAAAM,OAAI+zC,EAAUzuC,KAAK,QAE1C+tC,EAAgB7sC,wBAAC,GACb4sC,GAAa,GAAAhsC,YAAA,YAAApH,OACNwwC,GAAW,GAAAxwC,OAAQmS,OAS/B,OALAkF,qBAAU,WACTg8B,EAAgB7sC,wBAAC,GAAK4sC,GAAkBJ,MAEtC,IAGFn1C,IAAAxD,cAACgkC,GAAU,CAACW,aAAa,GACxBnhC,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAEFnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBkkB,KAIJh9B,IAAAxD,cAAC03B,KAAI,CAAC1iB,SAAS,EAAOrG,UAAU,wBAC/BnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAI+I,OAAQ,EAAG9I,QAAS,GACnCx0B,IAAAxD,cAAC02C,GAAwB,CACxBE,OAAQqC,EAAOrqB,QAAQpnB,MACvBwsC,mBAAoBA,EACpBD,kBAAmBA,EACnBoC,YAAa,EACb59B,SAAUkhC,EACVvoB,KAAMgoB,EACNrC,aAAcoC,EAAOrqB,QAAQpuB,MAC7B+G,QAAS0xC,GAAUA,EAAOlf,QAAQ,cAGpCv2B,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAI+I,OAAQ,EAAG9I,QAAS,GACnCx0B,IAAAxD,cAAC02C,GAAwB,CACxBE,OAAQuC,EAAOvqB,QAAQpnB,MACvBwsC,mBAAoBA,EACpBD,kBAAmBA,EACnBoC,YAAa,EACb59B,SAAUkhC,EACVvoB,KAAMkoB,EACNvC,aAAcsC,EAAOvqB,QAAQpuB,MAC7B+G,QAAS4xC,GAAUA,EAAOpf,QAAQ,cAGpCv2B,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAI+I,OAAQ,EAAG9I,QAAS,GACnCx0B,IAAAxD,cAAC02C,GAAwB,CACxBE,OAAQ2C,EAAO3qB,QAAQpnB,MACvBwsC,mBAAoBA,EACpBD,kBAAmBA,EACnBoC,YAAa,EACb59B,SAAUkhC,EACVvoB,KAAMsoB,EACN3C,aAAc0C,EAAO3qB,QAAQpuB,MAC7B+G,QAASgyC,GAAUA,EAAOxf,QAAQ,eAKpCiX,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,M,SCqCf2I,GAvK2D,SAAHl1C,GAYhE,IAXNkR,EAAOlR,EAAPkR,QACA68B,EAAa/tC,EAAb+tC,cAEA35B,GADMpU,EAANK,OACIL,EAAJoU,MACA+gC,EAAKn1C,EAALm1C,MACAC,EAAIp1C,EAAJo1C,KACAC,EAAYr1C,EAAZq1C,aACAC,EAAWt1C,EAAXs1C,YACAC,EAAcv1C,EAAdu1C,eACAhJ,EAAWvsC,EAAXusC,YACAiJ,EAAQx1C,EAARw1C,SAEMlF,EAAchmC,YAAYjH,GAC1BsI,EAAWrB,YAAY7G,GA8C7B,OApCA8U,qBAAU,WAAO,IAADk9B,EAEXC,EAAeL,EAAaM,SAASx8C,OADrB,EAGhBy8C,GACqD,QAAxDH,EAAAJ,EAAaM,SAASz1B,MAAK,SAAC21B,GAAC,OAAKA,EAAED,8BAAoB,IAAAH,OAAA,EAAxDA,EACGG,uBAAuB,EAgB3B,GAdIt0C,QAAUA,OAAOqW,WAAarW,OAAOqW,UAAUle,MAClD6H,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,WACPs0C,SAAUjvC,OAAOC,SAASivC,WAAuB,OAAXF,QAAW,IAAXA,OAAW,EAAXA,EAAa1vC,KACnD6vC,UAAmB,OAAR9kC,QAAQ,IAARA,OAAQ,EAARA,EAAUE,MACrB6kC,SAAqB,OAAXJ,QAAW,IAAXA,OAAW,EAAXA,EAAa9iC,UACvBkoC,aAAcA,EACdI,mBAAoBF,EACpB/J,iBAAkBsJ,IAMhBK,GAAYl0C,OAAQ,CACvB,IAAMy0C,EAAUz6C,SAASC,cAAc,QACvCw6C,EAAQp6C,aAAa,OAAQ,UAC7Bo6C,EAAQp6C,aAAa,UAAW,WAChCL,SAASyB,KAAKC,YAAY+4C,GAIvBz0C,OAAO00C,iBACV10C,OAAO00C,gBAAgBC,UAGtB,CAAC3F,IAGHvxC,IAAAxD,cAACgkC,GAAU,CAACW,aAAa,GACxBnhC,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAED68B,GACAhvC,IAAAxD,cAAC4yC,KAAa,CACbhG,UAAW4F,EAAc5F,UACzB9B,OAAQ0H,EAAc1H,OACtBn8B,UAAU,QAET6jC,EAAcrmB,YAAcqmB,EAAcrmB,WAAWvuB,OAAS,GAC9D4F,IAAAxD,cAAC8yC,KAAyB,KACxBN,EAAcrmB,WAAWphB,KAAI,SAACijC,EAAUhvB,GACxC,OACCxb,IAAAxD,cAAC+yC,KAAqB,CACrBnwC,IAAKoc,EACL3Z,IAAK2oC,EAAS3oC,IACdwT,KAAMm1B,EAASn1B,KACf+d,cAAetoB,YAUxB9K,IAAAxD,cAAC03B,KAAI,CAAC1iB,SAAS,EAAOZ,QAAQ,EAAOzF,UAAU,2BAC9CnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAC26C,KAAW,CACX3pC,MAAO6oC,EAAK7oC,MACZ5P,KAAMy4C,EAAKz4C,KACXkP,MAAOupC,EAAKvpC,MACZs8B,WAAwB,OAAb4F,QAAa,IAAbA,OAAa,EAAbA,EAAe5F,YAAa,GACvCyN,qBAAqB,EACrB1rC,UAAU,gBAEVnL,IAAAxD,cAACyc,GAAQ,KACRjZ,IAAAxD,cAAA,OACCmqB,wBAAyB,CACxBC,OAAQvR,GAETlK,UAAU,mBAKZmrC,EAAaM,SAASrvC,KACtB,SAAC6G,EAAwBoN,GACxB,OACCxb,IAAAxD,cAAC26C,KAAW,CACX3pC,MAAOY,EAAKioC,KAAK7oC,MACjB5P,KAAMwQ,EAAKioC,KAAKz4C,KAChBkP,MAAOsB,EAAKioC,KAAKvpC,MACjBs8B,UAAWh7B,EAAKgpC,cAChBC,QAASjpC,EAAKkpC,YACdT,oBAAqBzoC,EAAKyoC,oBAC1B1rC,UAAU,eACV/L,IAAKoc,GAELxb,IAAAxD,cAACyc,GAAQ,CAAC7Z,IAAKoc,GACdxb,IAAAxD,cAAA,OACCmqB,wBAAyB,CACxBC,OAAQxY,EAAKiH,MAEdlK,UAAU,sBAOforC,IAAgBC,GAChBx2C,IAAAxD,cAAA,OAAK2O,UAAU,qDACdnL,IAAAxD,cAACs1B,KAAQz3B,OAAA+N,OAAA,GAAKmuC,EAAW,CAAE3J,gBA/HZ,WAChBrqC,QAAUA,OAAOqW,WAAarW,OAAOqW,UAAUle,MAClD6H,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,gBACP2vC,cAAe16B,SA8HbqkC,GACAx2C,IAAAxD,cAACi/B,KAAK,CACL/kB,QAAQ,UACRvL,UAAU,+BACVmL,KAAK,QAELtW,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,EAAOzF,UAAU,QAAO,sDAM/CqiC,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGrpB,UAAU,cACrCnL,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,QClBhB+J,GA3I+D,SAAHt2C,GAOpE,IANNuf,EAAkBvf,EAAlBuf,mBACAyN,EAAmBhtB,EAAnBgtB,oBACA3sB,EAAML,EAANK,OACAg1C,EAAYr1C,EAAZq1C,aACA/I,EAAUtsC,EAAVssC,WACAC,EAAWvsC,EAAXusC,YAEMhrC,EAAWyU,eACXtU,EAAUuW,eAEhBqU,EAAsBC,aAAWvC,IAA0BwC,EAAAna,aAAAia,EAAA,GAApD7sB,EAAK+sB,EAAA,GAAEC,EAAID,EAAA,GAClBta,EAA0BC,mBAAS,GAAEC,EAAAC,aAAAH,EAAA,GAA9ByZ,EAAKvZ,EAAA,GAAEmkC,EAAQnkC,EAAA,GAChBiuB,EAAwBttB,iBAAY,MACpCwtB,EAAsBxtB,iBAAY,MAEpCtT,EAAM0qB,QAAQnwB,SACjBq7C,EAAe51C,EAAM0qB,QAAQnwB,QAG9B,IAAM6vB,EAAQwrB,EAAa3kC,OAAS2kC,EAAaxrB,MAAQmD,EACnDwpB,EAAUnB,EAAa3kC,OAAS2kC,EAAaxrB,MAAQwrB,EAAa7nB,MAcxE,OAZAjV,qBAAU,WACLoT,EAAQ,GACXc,EAAK,QAAS,CACb/b,OAAQ,EACRmZ,MAAOA,EACPxpB,aAKA,CAACsrB,IAGH5sB,IAAAxD,cAACgkC,GAAU,CAACW,aAAa,GACxBnhC,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGrpB,UAAU,YAC1B,OAAVoiC,QAAU,IAAVA,OAAU,EAAVA,EAAYp7B,UACZnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjBy0B,EAAWp7B,UAGH,OAAVo7B,QAAU,IAAVA,OAAU,EAAVA,EAAYvQ,WACZh9B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBy0B,EAAWvQ,WAGH,OAAVuQ,QAAU,IAAVA,OAAU,EAAVA,EAAYI,YACZ3tC,IAAAxD,cAACqmC,MAAW,CACXjtB,GAAG,0BACHnE,MAAO87B,EAAWK,sBAClB3K,YAAasK,EAAWrK,kBACxB/3B,UAAU,kBACV23B,WAAYxB,EACZyB,SAAUvB,EACVptB,SAAU,SAACtY,GAAY,IAADqnC,EACF,OAAnB3B,QAAmB,IAAnBA,GAA4B,QAAT2B,EAAnB3B,EAAqB5sB,eAAO,IAAAuuB,GAA5BA,EAA8BC,OAC9BzgC,EAAQjI,KAAK,GAADyH,OACRorC,EAAWlK,cAAa,WAAAlhC,OAAUqF,mBACpC1L,EAAE47C,gCAQT13C,IAAAxD,cAAC03B,KAAI,CAAC1iB,SAAS,EAAOZ,QAAQ,EAAOzF,UAAU,2BAC9CnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGrpB,UAAU,wBACrCnL,IAAAxD,cAAC2vC,KAAU,KACTmK,EAAartC,MAAM1B,KACnB,SAAC6G,EAA+BoN,GAC/B,OACCxb,IAAAxD,cAAC4vC,KAAc,CACdhtC,IAAKoc,EACL67B,QAASjpC,EAAKipC,QACdllC,QAAS/D,EAAK+D,QACdk6B,iBAAkBj+B,EAAKi+B,iBACvBxqC,IAAKuM,EAAKvM,IACV4W,aAAa,KACb2a,cAAetoB,SAMnB2sC,GACAz3C,IAAAxD,cAAA,OAAK2O,UAAU,4BACdnL,IAAAxD,cAAC2Z,KAAM,CACN0J,qBAAoBW,EACpBrV,UAAU,UACVuL,QAAQ,UACRN,SAA0B,YAAhB1V,EAAM5B,MAChB6gB,QAAS,WACR63B,EAAS5qB,EAAQ,GACjBjqB,EAAQjI,KAAK,GAADyH,OAAIK,EAASivC,SAAQ,WAAAtvC,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,OAOlB+2B,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGrpB,UAAU,cACrCnL,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,QCyChBmK,GArKyD,SAAH12C,GAM9D,IALNkR,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACAuQ,EAAUtsC,EAAVssC,WAEAC,GADcvsC,EAAdwsC,eACWxsC,EAAXusC,aAEMpM,EAAmBpK,KACnBx0B,EAAWyU,eACXtU,EAAUuW,eACVwoB,EAAiBn2B,YAAYzF,GAC3BwO,EAAUoJ,KAAYjV,MAAMjG,EAASuD,QAArCuO,MACFgtB,EAAwBttB,iBAAY,MACpCwtB,EAAsBxtB,iBAAY,MACxCuZ,EAAkCC,aAAW+H,GAAe,CAC3DnK,QAAS,CACR9pB,QAAkB,OAAVisC,QAAU,IAAVA,OAAU,EAAVA,EAAYjsC,UAAwB,OAAdogC,QAAc,IAAdA,OAAc,EAAdA,EAAgBpgC,QAC9C6I,KAAMi3B,EAAmB,GAAkB,OAAdM,QAAc,IAAdA,OAAc,EAAdA,EAAgBzT,sBAAuB,EACpEuH,SAAU,OAEV/H,EAAAna,aAAAia,EAAA,GANKwU,EAAWtU,EAAA,GAAEuU,EAAUvU,EAAA,GAO9BwU,EAAgCzU,aAAW0I,IAAmBgM,EAAA5uB,aAAA2uB,EAAA,GAAvDE,EAAUD,EAAA,GAAEE,EAASF,EAAA,GAQ5B,OANA7V,aAAgBiV,GAAuB,WAClCI,GACHU,EAAU,YAKXpiC,IAAAxD,cAACgkC,GAAU,KACT+M,GACAvtC,IAAAxD,cAAA,OAAK2O,UAAU,mBACdnL,IAAAxD,cAACkxC,KAAU,KACV1tC,IAAAxD,cAAC03B,KAAI,CAAC1iB,SAAS,EAAOrG,UAAU,gBAC/BnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,IACb,OAAV+Y,QAAU,IAAVA,OAAU,EAAVA,EAAYp7B,UACZnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAKxE,QAAQ,EAAOzF,UAAU,iBACrCoiC,EAAWj3B,MACXtW,IAAAxD,cAAC6Z,KAAI,CACJC,KAAMi3B,EAAWj3B,KACjBnM,KAAM,EACNgB,UAAU,oDACVsL,eAAa,IAGJ,OAAV82B,QAAU,IAAVA,OAAU,EAAVA,EAAYp7B,UAGJ,OAAVo7B,QAAU,IAAVA,OAAU,EAAVA,EAAYvQ,WACZh9B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,GACT,OAAV28B,QAAU,IAAVA,OAAU,EAAVA,EAAYvQ,WAGJ,OAAVuQ,QAAU,IAAVA,OAAU,EAAVA,EAAYI,YACZ3tC,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAACqmC,MAAW,CACXjtB,GAAG,wBACHnE,MAAO87B,EAAWK,sBAClB3K,YAAasK,EAAWrK,kBACxB/3B,UAAU,kBACV23B,WAAYxB,EACZyB,SAAUvB,EACVvX,YAAmC,YAAtB8X,EAAYjjC,MACzBwT,aAAcgC,EAAQA,EAAMqmB,gBAAa78B,EACzCiX,SAAU,SAACjZ,GACW,WAArBqmC,EAAWrjC,OACVkjC,EAAW,SAAU,CACpBljC,MAAOhD,EAAEgD,SAGZsV,SAAU,SAACtY,GAAY,IAADqnC,EACrBf,EAAU,SACS,OAAnBZ,QAAmB,IAAnBA,GAA4B,QAAT2B,EAAnB3B,EAAqB5sB,eAAO,IAAAuuB,GAA5BA,EAA8BC,OAC9BzgC,EAAQjI,KAAK,GAADyH,OAEVorC,EAAWlK,cAAa,WAAAlhC,OACfqF,mBACT1L,EAAE+xC,0BAILtK,QAAS,WACRxlC,YAAW,WACVqkC,EAAU,UACR,OAGkB,WAArBD,EAAWrjC,OACXijC,EAAY3W,QAAQnwB,QACU,KAA9B8mC,EAAY3W,QAAQ9W,OACnBtU,IAAAxD,cAACgnC,KAAmB,KAClBzB,EAAY3W,QAAQnwB,OAAOwoC,SAC3B1B,EAAY3W,QAAQnwB,OAAOwoC,QAAQl8B,KAClC,SAAC6G,GAAyB,OACzBpO,IAAAxD,cAACknC,KAAuB,CACvBtkC,IAAKgP,EAAKhF,YAEVpJ,IAAAxD,cAACsO,GAAI,CAACE,GAAIoD,EAAKvM,KACd7B,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAU,OACVhJ,eAAa,EACbtM,KAAM,MAENiE,EAAK+D,aAKV4vB,EAAY3W,QAAQnwB,OAAO0oC,aAC3B5B,EAAY3W,QAAQnwB,OAAOkP,MAC3BnK,IAAAxD,cAACknC,KAAuB,KACvB1jC,IAAAxD,cAACsO,GAAI,CACJE,GAAE,GAAA7I,OACS,OAAVorC,QAAU,IAAVA,OAAU,EAAVA,EAAYlK,cAAa,WAAAlhC,OAChBqF,mBACTu6B,EAAY3W,QAAQnwB,OAAOqZ,QAE5BqL,QAAS,WACRyiB,EAAU,WAGI,OAAdV,QAAc,IAAdA,OAAc,EAAdA,EAAgBkC,sBAIyB,IAA5C7B,EAAY3W,QAAQnwB,OAAO0oC,cAC3B3jC,IAAAxD,cAACknC,KAAuB,KACvB1jC,IAAAxD,cAAA,SAAG,+BAMTwD,IAAAxD,cAACsxC,KAAe,YAQrBP,GACDvtC,IAAAxD,cAAC03B,KAAI,KACJl0B,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,IACXv0B,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,YACvBkkB,OAONwQ,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,MCpGdoK,GA1EyC,SAAH32C,GAU9C,IATNkR,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACAwQ,EAAWvsC,EAAXusC,YACAwB,EAAa/tC,EAAb+tC,cACA6I,EAAkB52C,EAAlB42C,mBACAC,EAAY72C,EAAZ62C,aACAC,EAAc92C,EAAd82C,eACAvqC,EAAKvM,EAALuM,MACAuO,EAAG9a,EAAH8a,IAEA,OACC/b,IAAAxD,cAACgkC,GAAU,KACVxgC,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAED68B,GACAhvC,IAAAxD,cAAC4yC,KAAa,CACbhG,UAAW4F,EAAc5F,UACzB9B,OAAQ0H,EAAc1H,OACtBn8B,UAAU,QAET6jC,EAAcrmB,YAAcqmB,EAAcrmB,WAAWvuB,OAAS,GAC9D4F,IAAAxD,cAAC8yC,KAAyB,KACxBN,EAAcrmB,WAAWphB,KAAI,SAACijC,EAAUhvB,GACxC,OACCxb,IAAAxD,cAAC+yC,KAAqB,CACrBnwC,IAAKoc,EACL3Z,IAAK2oC,EAAS3oC,IACdwT,KAAMm1B,EAASn1B,YAQrB7H,GAASuO,GAAO+7B,GAAgBC,GAChC/3C,IAAAxD,cAACw7C,KAAW,CACXxqC,MAAOA,EACPuO,IAAKA,EACL+7B,aAAcA,EACdC,eAAgBA,GAEfF,GACAA,EAAmBtwC,KAAI,SAAC0wC,EAAQz8B,GAC/B,OACCxb,IAAAxD,cAAC07C,KAAiB,CACjB/lC,QAAS8lC,EAAO9lC,QAChBkD,KAAM4iC,EAAO5iC,KACbjW,IAAKoc,QAMXxb,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBkkB,KAIHwQ,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,MCkFd2K,GA5IyD,SAAHl3C,GAS9D,IARNkR,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACAxc,EAAkBvf,EAAlBuf,mBACAyN,EAAmBhtB,EAAnBgtB,oBACA6pB,EAAY72C,EAAZ62C,aACAx2C,EAAML,EAANK,OACAg1C,EAAYr1C,EAAZq1C,aACA9I,EAAWvsC,EAAXusC,YAEMhrC,EAAWyU,eACXtU,EAAUuW,eAEhBqU,EAAsBC,aAAWvC,IAA0BwC,EAAAna,aAAAia,EAAA,GAApD7sB,EAAK+sB,EAAA,GAAEC,EAAID,EAAA,GAClBta,EAA0BC,mBAAS,GAAEC,EAAAC,aAAAH,EAAA,GAA9ByZ,EAAKvZ,EAAA,GAAEmkC,EAAQnkC,EAAA,GAElB3S,EAAM0qB,QAAQnwB,SACjBq7C,EAAe51C,EAAM0qB,QAAQnwB,QAG9B,IAAM6vB,EAAQwrB,EAAa3kC,OAAS2kC,EAAaxrB,MAAQmD,EACnDwpB,EAAUnB,EAAa3kC,OAAS2kC,EAAaxrB,MAAQwrB,EAAa7nB,MAClE1D,EAAYurB,EAAavrB,UAe/B,OAbAvR,qBAAU,WACLoT,EAAQ,GACXc,EAAK,QAAS,CACb/b,OAAQ,EACRmZ,MAAOA,EACPxpB,SACAypB,gBAKA,CAAC6B,IAGH5sB,IAAAxD,cAACgkC,GAAU,KACVxgC,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAEFnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBkkB,KAIJh9B,IAAAxD,cAAC03B,KAAI,CAAC1iB,SAAS,EAAOZ,QAAQ,EAAOzF,UAAU,sBAC9CnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGrpB,UAAU,gBACpCmrC,EAAa8B,OAAO7wC,KACpB,SAACrK,EAA8Bse,GAC9B,OACCxb,IAAAxD,cAAC67C,KAAgB,CAAClmC,QAASjV,EAAMiV,QAAS/S,IAAKoc,GAC7Cte,EAAM+L,MAAM1B,KACZ,SAAC+wC,EAA+B98B,GAC/B,OACCxb,IAAAxD,cAAC+7C,KAAe,CAACn5C,IAAKoc,GACrBxb,IAAAxD,cAACg8C,KAAmB,CACnB32C,IAAKy2C,EAAYz2C,IACjB2L,MAAO8qC,EAAY9qC,MACnBuO,IAAKu8B,EAAYv8B,KAAO,GACxB08B,gBAAiBH,EAAYlP,UAC7BxrC,KAAM06C,EAAY16C,KAClBk6C,aAAcA,EACdC,eAAgBO,EAAYP,eAC5B/a,SAAUsb,EAAYhrC,YACtB8lB,cAAetoB,GACf1L,IAAKoc,GAEJ88B,EAAY3vB,YACZ2vB,EAAY3vB,WAAWphB,KAAI,SAACijC,EAAUtwC,GACrC,OACC8F,IAAAxD,cAACk8C,KAA2B,CAC3Bt5C,IAAKlF,EACLmb,KAAMm1B,gBAalBiN,GACAz3C,IAAAxD,cAAA,OAAK2O,UAAU,4BACdnL,IAAAxD,cAAC2Z,KAAM,CACN0J,qBAAoBW,EACpBrV,UAAU,UACVuL,QAAQ,UACRN,SAA0B,YAAhB1V,EAAM5B,MAChB6gB,QAAS,WACR63B,EAAS5qB,EAAQ,GACjBjqB,EAAQjI,KAAK,GAADyH,OAAIK,EAASivC,SAAQ,WAAAtvC,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,OAOlB+2B,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGrpB,UAAU,cACrCnL,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,QCXhBmL,GA3H6C,SAAH13C,GASlD,IARNkR,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACA3nB,EAAIpU,EAAJoU,KACA45B,EAAehuC,EAAfguC,gBACAD,EAAa/tC,EAAb+tC,cACA4J,EAAW33C,EAAX23C,YACAC,EAAoB53C,EAApB43C,qBACArL,EAAWvsC,EAAXusC,YAEM2B,EAAYlY,KAElB,OACCj3B,IAAAxD,cAACgkC,GAAU,KACToY,GACA54C,IAAAxD,cAACs8C,KAAW,CACXj8C,IAAK+7C,EAAY/7C,IACjBkf,IAAK68B,EAAYG,QACjB/oB,WAAY4oB,EAAYvjC,KACxBlK,UAAU,oBAGZnL,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAWoM,aACVqhC,EAAc,eAAiB,wBAC/B,iBAGD54C,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAED68B,GACAhvC,IAAAxD,cAAC4yC,KAAa,CAAC9H,OAAQ0H,EAAc1H,OAAQn8B,UAAU,QACrD6jC,EAAcrmB,YAAcqmB,EAAcrmB,WAAWvuB,OAAS,GAC9D4F,IAAAxD,cAAC8yC,KAAyB,KACxBN,EAAcrmB,WAAWphB,KAAI,SAACijC,EAAUhvB,GACxC,OACCxb,IAAAxD,cAAC+yC,KAAqB,CACrBnwC,IAAKoc,EACL3Z,IAAK2oC,EAAS3oC,IACdwT,KAAMm1B,EAASn1B,KACf+d,cAAetoB,UAQrB+tC,GAAwBA,EAAqBz+C,OAAS,GACtD4F,IAAAxD,cAAA,OAAK2O,UAAU,iBACdnL,IAAAxD,cAACw8C,KAAuB,KACtBH,EAAqBtxC,KAAI,SAAC6G,EAAMoN,GAChC,OACCxb,IAAAxD,cAACy8C,KAA2B,CAC3B75C,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,cAAC03B,KAAI,CACJtjB,QAAQ,EACRY,SAAS,EACTrG,UAAWoM,aAAK03B,GAAmB,mBAAoB,iBAEtDE,GAAaF,GACbjvC,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,EAAGppB,UAAU,gBACxBnL,IAAAxD,cAACgzC,MAAG,CACHr9B,QAAS88B,EAAgB98B,QACzBlJ,MAAOgmC,EAAgBQ,SACvByJ,OAAQjK,EAAgBkK,UAEvBlK,EAAgBS,OAAOnoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACmzC,MAAO,CAACltC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,WAOXrV,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBkkB,IAEAmS,GAAaF,GACdjvC,IAAAxD,cAACgzC,MAAG,CAACr9B,QAAS88B,EAAgB98B,QAASlJ,MAAO,GAAIkC,UAAU,SAC1D8jC,EAAgBS,OAAOnoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACmzC,MAAO,CAACltC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,UAKVrV,IAAAxD,cAACsb,GAAY,CAACgB,KAAK,OAAOf,UAAe,OAAJ1C,QAAI,IAAJA,OAAI,EAAJA,EAAM0C,cAG5Cy1B,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,MCvBd4L,GAhGuC,SAAHn4C,GAO5C,IANNkR,EAAOlR,EAAPkR,QACAkD,EAAIpU,EAAJoU,KACA45B,EAAehuC,EAAfguC,gBACAD,EAAa/tC,EAAb+tC,cACA4J,EAAW33C,EAAX23C,YACApL,EAAWvsC,EAAXusC,YAEM2B,EAAYlY,KAClB,OACCj3B,IAAAxD,cAACgkC,GAAU,KACToY,GACA54C,IAAAxD,cAACs8C,KAAW,CACXj8C,IAAK+7C,EAAY/7C,IACjBkf,IAAK68B,EAAYG,QACjB/oB,WAAY4oB,EAAYvjC,KACxBlK,UAAU,oBAGZnL,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAWoM,aACVqhC,EAAc,gBAAkB,gBAChC,iBAGD54C,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAED68B,GACAhvC,IAAAxD,cAAC4yC,KAAa,CACbhG,UAAW4F,EAAc5F,UACzB9B,OAAQ0H,EAAc1H,OACtBn8B,UAAU,QAET6jC,EAAcrmB,YAAcqmB,EAAcrmB,WAAWvuB,OAAS,GAC9D4F,IAAAxD,cAAC8yC,KAAyB,KACxBN,EAAcrmB,WAAWphB,KAAI,SAACijC,EAAUhvB,GACxC,OACCxb,IAAAxD,cAAC+yC,KAAqB,CACrBnwC,IAAKoc,EACL3Z,IAAK2oC,EAAS3oC,IACdwT,KAAMm1B,EAASn1B,KACf+d,cAAetoB,YAUxB9K,IAAAxD,cAAC03B,KAAI,CACJtjB,QAAQ,EACRY,SAAS,EACTrG,UAAWoM,aAAK03B,GAAmB,mBAAoB,iBAEtDE,GAAaF,GACbjvC,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,EAAGppB,UAAU,gBACxBnL,IAAAxD,cAACgzC,MAAG,CACHr9B,QAAS88B,EAAgB98B,QACzBlJ,MAAOgmC,EAAgBQ,SACvByJ,OAAQjK,EAAgBkK,UAEvBlK,EAAgBS,OAAOnoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACmzC,MAAO,CAACltC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,WAOXrV,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,IACtB2a,GAAaF,GACdjvC,IAAAxD,cAACgzC,MAAG,CAACr9B,QAAS88B,EAAgB98B,QAASlJ,MAAO,GAAIkC,UAAU,QAC1D8jC,EAAgBS,OAAOnoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACmzC,MAAO,CAACltC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,UAKVrV,IAAAxD,cAACsb,GAAY,CAACgB,KAAK,OAAOf,UAAe,OAAJ1C,QAAI,IAAJA,OAAI,EAAJA,EAAM0C,cAG5Cy1B,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,MC5Bd6L,GAxE2C,SAAHp4C,GAMhD,IALNkR,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACAiS,EAAehuC,EAAfguC,gBACA55B,EAAIpU,EAAJoU,KACAm4B,EAAWvsC,EAAXusC,YAEM2B,EAAYlY,KAElB,OACCj3B,IAAAxD,cAACgkC,GAAU,CAACW,aAAa,GACxBnhC,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,KAIJnS,IAAAxD,cAAC03B,KAAI,CACJtjB,QAAQ,EACRY,SAAS,EACTrG,UAAWoM,aAAK03B,GAAmB,mBAAoB,iBAEtDE,GAAaF,GACbjvC,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,EAAGppB,UAAU,gBACxBnL,IAAAxD,cAACgzC,MAAG,CACHr9B,QAAS88B,EAAgB98B,QACzBlJ,MAAOgmC,EAAgBQ,SACvByJ,OAAQjK,EAAgBkK,UAEvBlK,EAAgBS,OAAOnoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACmzC,MAAO,CAACltC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,WAOXrV,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAA,OAAK2O,UAAU,QACdnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBkkB,IAEAmS,GAAaF,GACdjvC,IAAAxD,cAACgzC,MAAG,CACHr9B,QAAS88B,EAAgB98B,QACzBlJ,MAAO,GACPkC,UAAU,QAET8jC,EAAgBS,OAAOnoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACmzC,MAAO,CAACltC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,UAKVrV,IAAAxD,cAACsb,GAAY,CAACC,UAAW1C,EAAK0C,eAIhCy1B,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,MCiOd8L,GA5QyD,SAAHr4C,GAQ9D,IAPNssC,EAAUtsC,EAAVssC,WACAp7B,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACAiS,EAAehuC,EAAfguC,gBACAsK,EAAet4C,EAAfs4C,gBACAlkC,EAAIpU,EAAJoU,KACAm4B,EAAWvsC,EAAXusC,YAEM2B,EAAYlY,KACZmK,EAAmBpK,KACnBx0B,EAAWyU,eACXtU,EAAUuW,eACVwoB,EAAiBn2B,YAAYzF,GAC3BwO,EAAUoJ,KAAYjV,MAAMjG,EAASuD,QAArCuO,MACFgtB,EAAwBttB,iBAAY,MACpCwtB,EAAsBxtB,iBAAY,MACxCuZ,EAAkCC,aAAW+H,GAAe,CAC3DnK,QAAS,CACR9pB,QAAkB,OAAVisC,QAAU,IAAVA,OAAU,EAAVA,EAAYjsC,UAAwB,OAAdogC,QAAc,IAAdA,OAAc,EAAdA,EAAgBpgC,QAC9C6I,KAAMi3B,EAAmB,GAAkB,OAAdM,QAAc,IAAdA,OAAc,EAAdA,EAAgBzT,sBAAuB,EACpEuH,SAAU,OAEV/H,EAAAna,aAAAia,EAAA,GANKwU,EAAWtU,EAAA,GAAEuU,EAAUvU,EAAA,GAO9BwU,EAAgCzU,aAAW0I,IAAmBgM,EAAA5uB,aAAA2uB,EAAA,GAAvDE,EAAUD,EAAA,GAAEE,EAASF,EAAA,GAE5B7V,aAAgBiV,GAAuB,WAClCI,GACHU,EAAU,YAIZ,IAAMoX,EAAqB,SAAChP,GAC3B,OACCxqC,IAAAxD,cAACi9C,KAAY,CACZhiC,OAAQ+yB,EAASr4B,QACjBgG,KAAMqyB,EAASnyB,OACfqhC,kBAAmBH,EAAgBG,kBACnCC,mBAAoBJ,EAAgBI,mBACpCxuC,UAAU,QAETq/B,EAASvhC,OACTuhC,EAASvhC,MAAM7O,OAAS,GACxBowC,EAASvhC,MAAM1B,KAAI,SAAC6G,EAAWoN,GAAa,OAC3Cxb,IAAAxD,cAACo9C,KAAgB,CAACx6C,IAAKoc,EAAOnG,KAAMjH,EAAKiH,KAAMxT,IAAKuM,EAAKvM,WAM9D,OACC7B,IAAAxD,cAACgkC,GAAU,KACT+M,GACAvtC,IAAAxD,cAAA,OAAK2O,UAAU,mBACdnL,IAAAxD,cAACkxC,KAAU,KACV1tC,IAAAxD,cAAC03B,KAAI,CAAC1iB,SAAS,EAAOrG,UAAU,gBAC/BnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,IACb,OAAV+Y,QAAU,IAAVA,OAAU,EAAVA,EAAYp7B,UACZnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAKxE,QAAQ,EAAOzF,UAAU,iBACrCoiC,EAAWj3B,MACXtW,IAAAxD,cAAC6Z,KAAI,CACJC,KAAMi3B,EAAWj3B,KACjBnM,KAAM,EACNgB,UAAU,oDACVsL,eAAa,IAGJ,OAAV82B,QAAU,IAAVA,OAAU,EAAVA,EAAYp7B,UAGJ,OAAVo7B,QAAU,IAAVA,OAAU,EAAVA,EAAYvQ,WACZh9B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,GACT,OAAV28B,QAAU,IAAVA,OAAU,EAAVA,EAAYvQ,WAGJ,OAAVuQ,QAAU,IAAVA,OAAU,EAAVA,EAAYI,YACZ3tC,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAACqmC,MAAW,CACXjtB,GAAG,wBACHnE,MAAO87B,EAAWK,sBAClB3K,YAAasK,EAAWrK,kBACxB/3B,UAAU,kBACV23B,WAAYxB,EACZyB,SAAUvB,EACVvX,YAAmC,YAAtB8X,EAAYjjC,MACzBwT,aAAcgC,EAAQA,EAAMqmB,gBAAa78B,EACzCiX,SAAU,SAACjZ,GACW,WAArBqmC,EAAWrjC,OACVkjC,EAAW,SAAU,CACpBljC,MAAOhD,EAAEgD,SAGZsV,SAAU,SAACtY,GAAY,IAADqnC,EACrBf,EAAU,SACS,OAAnBZ,QAAmB,IAAnBA,GAA4B,QAAT2B,EAAnB3B,EAAqB5sB,eAAO,IAAAuuB,GAA5BA,EAA8BC,OAC9BzgC,EAAQjI,KAAK,GAADyH,OAEVorC,EAAWlK,cAAa,WAAAlhC,OACfqF,mBACT1L,EAAE+xC,0BAILtK,QAAS,WACRxlC,YAAW,WACVqkC,EAAU,UACR,OAGkB,WAArBD,EAAWrjC,OACXijC,EAAY3W,QAAQnwB,QACU,KAA9B8mC,EAAY3W,QAAQ9W,OACnBtU,IAAAxD,cAACgnC,KAAmB,KAClBzB,EAAY3W,QAAQnwB,OAAOwoC,SAC3B1B,EAAY3W,QAAQnwB,OAAOwoC,QAAQl8B,KAClC,SAAC6G,GAAyB,OACzBpO,IAAAxD,cAACknC,KAAuB,CACvBtkC,IAAKgP,EAAKhF,YAEVpJ,IAAAxD,cAACsO,GAAI,CAACE,GAAIoD,EAAKvM,KACd7B,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAU,OACVhJ,eAAa,EACbtM,KAAM,MAENiE,EAAK+D,aAKV4vB,EAAY3W,QAAQnwB,OAAO0oC,aAC3B5B,EAAY3W,QAAQnwB,OAAOkP,MAC3BnK,IAAAxD,cAACknC,KAAuB,KACvB1jC,IAAAxD,cAACsO,GAAI,CACJE,GAAE,GAAA7I,OACS,OAAVorC,QAAU,IAAVA,OAAU,EAAVA,EAAYlK,cAAa,WAAAlhC,OAChBqF,mBACTu6B,EAAY3W,QAAQnwB,OAAOqZ,QAE5BqL,QAAS,WACRyiB,EAAU,WAGI,OAAdV,QAAc,IAAdA,OAAc,EAAdA,EAAgBkC,sBAIyB,IAA5C7B,EAAY3W,QAAQnwB,OAAO0oC,cAC3B3jC,IAAAxD,cAACknC,KAAuB,KACvB1jC,IAAAxD,cAAA,SAAG,+BAMTwD,IAAAxD,cAACsxC,KAAe,YAQrBP,GACDvtC,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,KAKLnS,IAAAxD,cAAC03B,KAAI,CACJtjB,QAAQ,EACRY,SAAS,EACTrG,UAAWoM,aACV03B,GAAmB,mBACnB1B,GAAc,WACd,iBAGA4B,GAAaF,GACbjvC,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,EAAGppB,UAAU,gBACxBnL,IAAAxD,cAACgzC,MAAG,CACHr9B,QAAS88B,EAAgB98B,QACzBlJ,MAAOgmC,EAAgBQ,SACvByJ,OAAQjK,EAAgBkK,UAEvBlK,EAAgBS,OAAOnoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACmzC,MAAO,CAACltC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,WAOXrV,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,IACtB+Y,GACDvtC,IAAAxD,cAAA,OAAK2O,UAAU,QACdnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBkkB,KAIFmS,GAAaF,GACdjvC,IAAAxD,cAACgzC,MAAG,CAACr9B,QAAS88B,EAAgB98B,QAASlJ,MAAO,GAAIkC,UAAU,SAC1D8jC,EAAgBS,OAAOnoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACmzC,MAAO,CAACltC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,UAMTkkC,GACAA,EAAgB5wB,YAChB4wB,EAAgB5wB,WAAWvuB,OAAS,GACnC4F,IAAAxD,cAAA,OAAKoZ,GAAI2jC,EAAgB3jC,IACxB5V,IAAAxD,cAAC03B,KAAI,CAAC1iB,SAAS,GACdxR,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAI+I,OAAQ,GACtBic,EAAgB5wB,WAAWphB,KAC3B,SAACijC,EAAehvB,GACf,OACCxb,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAKoc,GACnBA,EACA7L,KAAKkqC,KACJN,EAAgB5wB,WAAWvuB,OAAS,IAChCo/C,EAAmBhP,QAMS,IAAtC+O,EAAgB5wB,WAAWvuB,QAC3B4F,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAI+I,OAAQ,GACtBic,EAAgB5wB,WAAWphB,KAC3B,SAACijC,EAAehvB,GACf,OACCxb,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAKoc,GACnBA,GACA7L,KAAKkqC,KACJN,EAAgB5wB,WAAWvuB,OAAS,IAChCo/C,EAAmBhP,UAUnCxqC,IAAAxD,cAACsb,GAAY,CAACC,UAAW1C,EAAK0C,cAG/By1B,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,MClMdsM,GAtFd,SADkF74C,GAClB,IAA7DkR,EAAOlR,EAAPkR,QAAS6qB,EAAQ/7B,EAAR+7B,SAAUiS,EAAehuC,EAAfguC,gBAAiB55B,EAAIpU,EAAJoU,KAAMm4B,EAAWvsC,EAAXusC,YACtC3qC,EAAY0I,YAAYvF,GACxBq7B,EAAWvK,KACjB,OACC92B,IAAAxD,cAACgkC,GAAU,CAACW,aAAa,GACxBnhC,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,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,cAAC03B,KAAI,CACJtjB,QAAQ,EACRY,SAAS,EACTrG,UAAWoM,aACV03B,GAAmB,mBACnB,kBAGC5N,GAAY4N,GACbjvC,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,EAAGppB,UAAU,gBACxBnL,IAAAxD,cAACgzC,MAAG,CACHr9B,QAAS88B,EAAgB98B,QACzBlJ,MAAOgmC,EAAgBQ,SACvByJ,OAAQjK,EAAgBkK,UAEvBlK,EAAgBS,OAAOnoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACmzC,MAAO,CAACltC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,WAOXrV,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAA,OAAK2O,UAAU,kBACdnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBkkB,GAEDqE,GAAY4N,GACZjvC,IAAAxD,cAACgzC,MAAG,CACHr9B,QAAS88B,EAAgB98B,QACzBlJ,MAAO,GACPkC,UAAU,QAET8jC,EAAgBS,OAAOnoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACmzC,MAAO,CAACltC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,UAKVrV,IAAAxD,cAACsb,GAAY,CAACC,UAAW1C,EAAK0C,eAIhCy1B,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,M,mBCyEfuM,GArG4B,SAAH94C,GAKjC,IAJG+4C,EAAc/4C,EAAvBg5C,QACAllC,EAAQ9T,EAAR8T,SACAmlC,EAASj5C,EAATi5C,UACAC,EAAUl5C,EAAVk5C,WAEAhnC,EAA8BC,mBAAS4mC,GAAe3mC,EAAAC,aAAAH,EAAA,GAA/C8mC,EAAO5mC,EAAA,GAAE+mC,EAAU/mC,EAAA,GACpBgnC,EAAgBC,eAEhBC,EAAiB,SACtBz+C,EACA0+C,GAEA,IAAMC,EAAoCjyC,KAAKC,MAC9CD,KAAKgB,UAAUywC,IAGhB,GAAIn+C,EAAG,CACN,IAAA4+C,EAA8B5+C,EAAE6+C,cAAxB/kC,EAAE8kC,EAAF9kC,GAAIhY,EAAI88C,EAAJ98C,KAAMg9C,EAAOF,EAAPE,QAClBH,EAAaznC,SAAQ,SAAC7L,GAAM,OAC3BA,EAAOP,QAAQoM,SAAQ,SAAC6nC,EAAQr/B,GAC3BrU,EAAOO,OAAS9J,GAAQ,GAAAuE,OAAGgF,EAAOO,KAAI,KAAAvF,OAAIqZ,KAAY5F,IACzDilC,EAAOxzC,SAAWuzC,EACbA,IAGFzzC,EAAO2zC,kBAFP3zC,EAAO2zC,4BAOHN,GACVC,EAAaznC,SAAQ,SAAC7L,GAAM,OAC3BA,EAAOP,QAAQoM,SAAQ,SAAC6nC,EAAQr/B,GAC3B,GAAArZ,OAAGgF,EAAOO,KAAI,KAAAvF,OAAIqZ,KAAYg/B,IACjCK,EAAOxzC,UAAW,IAChBF,EAAO2zC,uBAMbV,EAAWK,IAUZ,OAPAjhC,qBAAU,WACJ6gC,GACJtlC,EAASklC,EA5Fc,SAACA,GAC1B,IAAI3lC,EAAkB,GActB,OAZA2lC,EAAQjnC,SAAQ,SAAC7L,GAChB,IAAM4zC,EAA6B,GACnC5zC,EAAOP,QAAQoM,SAAQ,SAAC6nC,GACnBA,EAAOxzC,UACV0zC,EAAiBrgD,KAAKmgD,EAAOvzC,SAG3ByzC,EAAiB3gD,OAAS,GAC7Bka,EAAM5Z,KAAK,GAADyH,OAAIgF,EAAOO,KAAI,KAAAvF,OAAI44C,EAAiBtzC,KAAK,UAI9C6M,EAAM7M,KAAK,KA6EEuzC,CAAkBf,MAGnC,CAACA,IAGHj6C,IAAAxD,cAAA,YACCwD,IAAAxD,cAAA,OAAK2O,UAAU,uCACb8uC,EAAQ1yC,KAAI,SAACJ,EAAQjN,GAAC,OACtB8F,IAAAxD,cAAA,OAAK2O,UAAU,oBAAoB/L,IAAK+H,EAAOO,MAC9C1H,IAAAxD,cAACy+C,KAAmB,CACnBrlC,GAAE,UAAAzT,OAAYjI,GACd+uB,OAAQ9hB,EAAOvJ,KACfs9C,aAAcf,EACdW,gBAAiB3zC,EAAO2zC,iBAEvB3zC,EAAOP,QAAQW,KAAI,SAACszC,EAAQr/B,GAAK,OACjCxb,IAAAxD,cAAC2+C,KAAiB,CACjB/7C,IAAKoc,EACL5F,GAAE,GAAAzT,OAAKgF,EAAOO,KAAI,KAAAvF,OAAIqZ,GACtBo/B,QAASC,EAAOxzC,SAChBzJ,KAAMuJ,EAAOO,KACb5I,MAAO+7C,EAAOvzC,KACd8O,SAAUykC,EAAOzkC,SACjBrB,SAAUwlC,EACVa,MAAOP,EAAOO,MACdC,cAAal0C,EAAOvJ,MAEnBi9C,EAAOvzC,eAQdtH,IAAAxD,cAAA,OAAK2O,UAAU,uBAxGS,SAC1B8uC,GAEA,IAAIqB,EAAwC,GAc5C,OAZArB,EAAQjnC,SAAQ,SAAC7L,GAChBA,EAAOP,QAAQoM,SAAQ,SAAC6nC,EAAQr/B,GAC3Bq/B,EAAOxzC,UACVi0C,EAAgB5gD,KAAK,CACpB6gD,SAAS,GAADp5C,OAAKgF,EAAOO,KAAI,KAAAvF,OAAIqZ,GAC5BggC,WAAYX,EAAOvzC,KACnBwzC,gBAAiB3zC,EAAO2zC,wBAMrBQ,EAwFHG,CAAmBxB,GAAS1yC,KAAI,SAAC6G,EAAMlU,GAAC,OACxC8F,IAAAxD,cAACk/C,KAAU,CACV/7B,QAAS,WACR46B,OAAez8C,EAAWsQ,EAAKmtC,WAEhCpwC,UAAU,YACV/L,IAAKlF,GAEL8F,IAAAxD,cAAA,QAAM2O,UAAU,WAAW+uC,GAC1B9rC,EAAKotC,kBCpJN5wB,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,GAcHq4C,GAAoBzwB,aAG/B,CACDtV,GAAI,oBACJuV,QAAS,OACTC,QAAS,CACR9pB,OAAQ,GACRrG,YAAQ6C,EACRd,WAAOc,GAERutB,OAAQ,CACPC,KAAM,GACNvnB,QAAS,CACRwnB,OAAQ,CACP3V,GAAI,UACJ/Y,IAAK,SAACmF,EAAU9E,GAAK,OACpB0tB,GAAW1tB,EAAMoE,OAAQpE,EAAM2K,YAAa3K,EAAM4K,YACnD0jB,OAAQ,CACP9tB,OAAQ,UACRqD,QAASqH,aAAO,CACfnN,OAAQ,SAAC+G,EAAU9E,GAAK,OAAKA,EAAMtD,SAGrC6xB,QAAS,CACR/tB,OAAQ,UACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GACjB,MAAM,SAANiF,OAAgBjF,EAAMtD,KAAK+a,SAASwkB,OAAM,OAAAh3B,OAAMjF,EAAMtD,KAAK+a,SAASykB,kBAMzEzN,QAAS,GACTC,QAAS,IAEVC,GAAI,CACHC,MAAO,CACN,CACCpuB,OAAQ,UACRqD,QAAS,QCFE66C,GArD0C,SAAH36C,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,cCeIslC,GAxDgC,SAAH56C,GAMrC,IALNkK,EAASlK,EAATkK,UAASmuB,EAAAr4B,EACTiV,eAAO,IAAAojB,EAAG,wBAAuBA,EACjCxY,EAAU7f,EAAV6f,WACAyY,EAAYt4B,EAAZs4B,aACAtuB,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,cAACo/C,GAA+B,CAC/Bp8C,SAAUiY,EAAO/P,KACjB+X,UAAWhI,EAAOgI,UAClBC,YAAajI,EAAOiI,YACpB3K,SAAUwkB,GAET9hB,EAAOtF,eASfnS,IAAAxD,cAAA,aAAQyO,MC6DG6wC,GA1GmC,SAAH76C,GAIxC,IAHNkI,EAAGlI,EAAHkI,IACAqL,EAAOvT,EAAPuT,QACA+8B,EAAWtwC,EAAXswC,YAEAp+B,EAAgCC,oBAAkB,GAAMC,EAAAC,aAAAH,EAAA,GAAjDwF,EAAQtF,EAAA,GAAEmpB,EAAWnpB,EAAA,GAC5B2H,EAAkBC,eACZrF,GAAKsF,EADgB5H,aAAA0H,EAAA,GAAb,MAwDd,OACChb,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAA,MACCk9B,mBAAkBvwB,EAAIwwB,gBACtBxuB,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,cAAC8zC,GAAqB,CACrBC,kBAAoBpnC,EAAY3J,GAAU+wC,kBAC1CC,mBAAqBrnC,EAAY3J,GAAUgxC,mBAC3C1W,mBAAqB3wB,EAAY3J,GAAUs6B,mBAC3CpjB,QAAQ,QACR0jB,gBAAiB,CAChBD,oBACCoX,EAAYnX,gBAAgBD,oBAC7BE,qBACCkX,EAAYnX,gBAAgBC,qBAC7BC,wBAA0BnxB,EAAiC,oBAC3DoxB,aAAepxB,EAA6B,gBAC5CqxB,cAAgBrxB,EAAmC,yBAIvD,IAAK,cACJ,GAAIA,EAAImE,YACP,OACCtN,IAAAxD,cAAA,UACC6zB,aAAA,0BAAAluB,OAAsCyT,GACtCzK,UAAU,YACVohB,gBAAe5T,EACf2T,gBAAA,yBAAAnqB,OAAwCyT,GACxCA,GAAE,oBAAAzT,OAAsByT,GACxB+J,QAAS,WACR6c,GAAa7jB,KAGd3Y,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAW9G,EAAW,OAAS,KAC/BxN,UAAU,GACVsL,eAAa,KAIV,MACR,QACC,OAAQtN,EAAY3J,IAYZu8C,CAAetkC,EAAOjY,gBAK9B2J,EAAImE,aACJtN,IAAAxD,cAAC8+B,KAAU,CAACC,GAAI5iB,EAAUjc,QAAS,MACjC,SAACgE,GAAsB,OACvBV,IAAAxD,cAAA,MACCoZ,GAAE,yBAAAzT,OAA2ByT,GAC7B2Y,KAAM,SACNytB,kBAAA,oBAAA75C,OAAqCyT,GACrC4lB,OAAkB,WAAV96B,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,aC6IlD2uC,GAtOqD,SAAHh7C,GAe1D,IAADi7C,EAdL/pC,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACAmf,EAAgBl7C,EAAhBk7C,iBACAC,EAAgBn7C,EAAhBm7C,iBACAC,EAAQp7C,EAARo7C,SACcC,EAAmBr7C,EAAjCsH,aACAg0C,EAAgBt7C,EAAhBs7C,iBACAlnC,EAAIpU,EAAJoU,KACAm4B,EAAWvsC,EAAXusC,YACAlsC,EAAML,EAANK,OACAk7C,EAAev7C,EAAfu7C,gBACAC,EAAgBx7C,EAAhBw7C,iBACAC,EAAaz7C,EAAby7C,cACAtL,EAAanwC,EAAbmwC,cAEM5uC,EAAWyU,eACXtU,EAAUuW,eAChB/F,EAAwCC,mBAASkpC,GAAoBjpC,EAAAC,aAAAH,EAAA,GAA9D5K,EAAY8K,EAAA,GAAEspC,EAAetpC,EAAA,GACpCka,EAAsBC,aAAWmuB,IAAkBluB,EAAAna,aAAAia,EAAA,GAA5C7sB,EAAK+sB,EAAA,GAAEC,EAAID,EAAA,GACZmvB,EAAc5oC,iBAAuB,MAC3CR,EAAgDJ,oBAAkB,GAAMK,EAAAH,aAAAE,EAAA,GAAjEqpC,EAAgBppC,EAAA,GAAEqpC,EAAmBrpC,EAAA,GACtC5Q,EAAY0I,YAAYvF,GACxBurC,EAAchmC,YAAYjH,GAChCsP,EAA8BR,mBAAS,CAAEvL,YAAa,GAAIC,UAAW,KAAK+L,EAAAP,aAAAM,EAAA,GAAnEmpC,EAAOlpC,EAAA,GAAEmpC,EAAUnpC,EAAA,GAE1B2F,qBAAU,WACTmjC,EAAgBL,KACd,CAACA,IAEJ9iC,qBAAU,WACL9Y,EAAM0qB,QAAQnwB,QACjB0hD,EAAgBj8C,EAAM0qB,QAAQnwB,UAE7B,CAACyF,EAAM0qB,QAAQnwB,SA8BlB,OACC+E,IAAAxD,cAACgkC,GAAU,CAACW,aAAa,GACxBnhC,IAAAxD,cAAA,OAAK2O,UAAU,UAAUkwB,YAAU,YAAYzkB,IAAKgmC,IACpD58C,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GAAIrpB,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,cACTslC,GACAT,GACAA,GACA,eACD,gBAEDxmC,GAAG,YAEFonB,GAEDmf,GAAoBC,GACpBp8C,IAAAxD,cAAA,UACC2O,UAAU,oBACVohB,gBAAeswB,EACfvwB,gBAAc,WACd3M,QAAS,kBAAMm9B,GAAqBD,KAEnCA,EACA78C,IAAAxD,cAAA,YACE4/C,EACDp8C,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,UAAUmJ,UAAU,OAAOtU,UAAU,UAGjDnL,IAAAxD,cAAA,YACE2/C,EACDn8C,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,QACbuxC,GACA18C,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK6nC,QAAQ,MACpBP,GAGH18C,IAAAxD,cAACu9C,GAAiB,CACjBE,QAAS1xC,EAAaP,aACtB+M,SAxGgB,SAACklC,EAA4BpyC,GACnDm1C,EAAUr0C,wBAAC,GAAKo0C,GAAO,IAAEl1C,YAAaA,KACtC6lB,EAAK,QAAS,CACbpsB,OAAQA,EACRuG,cACAC,UAAWi1C,EAAQj1C,YAGpB,IAAIwM,EAAQ1M,GAAmBC,EAAak1C,EAAQj1C,WACpDnF,EAAQjI,KAAK,GAADyH,OAAIK,EAASivC,UAAQtvC,OAAGmS,KAgG9B4lC,UAAWsC,EACXrC,WAAYsC,IAEbz8C,IAAAxD,cAAA,OAAK6+B,YAAU,SAASlwB,UAAU,YAChB,YAAhBzK,EAAM5B,OACNkB,IAAAxD,cAACi/B,KAAK,CAAC/kB,QAAQ,SAASvL,UAAU,QACjCnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,EAAOzF,UAAU,QACpCzK,EAAM0qB,QAAQpuB,UAOrBgD,IAAAxD,cAAA,OAAK2O,UAAU,mDACbkxC,GACAA,EAASjiD,OAAS,GAClBiiD,EAAS90C,KAAI,SAAC21C,EAAM1hC,GACnB,OACCxb,IAAAxD,cAAC02B,KAAQ,CACR9zB,IAAKoc,EACLrJ,QAAS+qC,EAAK/qC,QACd4e,aAAcmsB,EAAKnsB,aACnBD,YAAaosB,EAAKpsB,YAClBxgB,MAAO4sC,EAAK5sC,MACZnF,UAAWoM,aACK,KAAf2lC,EAAK5sC,OAAgB,cACN,MAAf4sC,EAAK5sC,OAAiB,SACtB,YAGA4sC,EAAKj0C,OACLi0C,EAAKj0C,MAAM7O,OAAS,GACpB8iD,EAAKj0C,MAAM1B,KAAI,SAAC6G,EAAMoN,GACrB,OACCxb,IAAAxD,cAAC22B,KAAY,CACZ9d,KAAMjH,EAAKiH,KACXxT,IAAKuM,EAAKvM,IACVuxB,cAAetoB,GACf1L,IAAKoc,EACL6X,SAAUjlB,EAAKilB,mBAQvB+d,GACApxC,IAAAxD,cAAC2Z,KAAM,CAACf,GAAG,IAAIge,cAAetoB,GAAMrI,KAAM2uC,EAAcvvC,KACtDuvC,EAAc/7B,OAIlBrV,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GAAIrpB,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,cAACq/C,GAAqBxhD,OAAA+N,OAAA,GACjBG,EAAY,CAChB2N,QAASqmC,EACTpxC,UAAU,aACVouB,aA5Jc,SAAC/5B,EAAkBigB,GACvC,IAAI3X,EAAY,GACZ2X,IACH3X,EAAS,GAAA3F,OAAM3C,EAAQ,KAAA2C,OAAIsd,IAG5Bu9B,EAAUr0C,wBAAC,GAAKo0C,GAAO,IAAEj1C,UAAWA,KACpC4lB,EAAK,QAAS,CACbpsB,OAAQA,EACRuG,YAAak1C,EAAQl1C,YACrBC,cAED,IAAIwM,EAAQ1M,GAAmBm1C,EAAQl1C,YAAaC,GACpDnF,EAAQjI,KAAK,GAADyH,OAAIK,EAASivC,UAAQtvC,OAAGmS,OAiJjB,OAAZ/L,QAAY,IAAZA,GAAmB,QAAP2zC,EAAZ3zC,EAAcU,aAAK,IAAAizC,OAAP,EAAZA,EAAqB30C,KAAI,SAAC4B,EAAKqS,GAC/B,OACCxb,IAAAxD,cAACs/C,GAAwB,CACxB3yC,IAAKA,EACLqL,QAASjM,EAAauY,YAAc,GACpC1hB,IAAKoc,EACL+1B,YAAaA,SAOpBvxC,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGrpB,UAAU,cACrCnL,IAAAxD,cAACsb,GAAY,CAACC,UAAW1C,EAAK0C,cAG/By1B,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,MC1Gd2P,GAjHuB,SAAHl8C,GAQ5B,IAPNkI,EAAGlI,EAAHkI,IACAqL,EAAOvT,EAAPuT,QACA4oC,EAAUn8C,EAAVm8C,WACAC,EAAUp8C,EAAVo8C,WACAzC,EAAO35C,EAAP25C,QACA0C,EAAWr8C,EAAXq8C,YAAWC,EAAAt8C,EACXmyB,qBAAa,IAAAmqB,EAAGC,KAAQD,EAExBpqC,EAAgCC,oBAAkB,GAAMC,EAAAC,aAAAH,EAAA,GAAjDwF,EAAQtF,EAAA,GAAEmpB,EAAWnpB,EAAA,GAC5B2H,EAAkBC,eACZrF,GAAKsF,EADgB5H,aAAA0H,EAAA,GAAb,MAERlQ,EAAOsoB,EAEPqqB,EAAkB,WACvB,IAAIC,EAAe,EASnB,OAPIL,IACHK,GAAgB,GAEbN,IACHM,GAAgB,GAGTA,EAAgBlpC,EAAQpa,QAGjC,OACC4F,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAA,MAAIk9B,mBAAkBvwB,EAAIwwB,iBACxB0jB,GACAr9C,IAAAxD,cAAA,UACCwD,IAAAxD,cAAA,SACCgB,KAAK,WACL6yB,aAAA,qBAAAluB,OAA8BgH,EAAIwwB,iBAClCihB,QAASA,EACT7lC,SAAU,WACTuoC,GAAeA,EAAYn0C,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,eAMxB49C,GACAp9C,IAAAxD,cAAA,UACE2M,EAAImE,aACJtN,IAAAxD,cAAA,UACC6zB,aAAA,0BAAAluB,OAAsCyT,GACtCzK,UAAU,gBACVohB,gBAAe5T,EACf2T,gBAAA,yBAAAnqB,OAAwCyT,GACxCA,GAAE,oBAAAzT,OAAsByT,GACxB+J,QAAS,WACR6c,GAAa7jB,KAGd3Y,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAW9G,EAAW,OAAS,KAC/BxN,UAAU,GACVsL,eAAa,OAOlB2mC,GACAp9C,IAAAxD,cAAC8+B,KAAU,CAACC,GAAI5iB,EAAUjc,QAAS,MACjC,SAACgE,GAAsB,OACvBV,IAAAxD,cAAA,MACCoZ,GACCwnC,GAAcj0C,EAAImE,aAAW,yBAAAnL,OAA6ByT,GAE3D2Y,KAAM6uB,GAAcj0C,EAAImE,aAAe,SACvC0uC,kBACCoB,GAAcj0C,EAAImE,aAAW,oBAAAnL,OAAwByT,GAEtD4lB,OAAkB,WAAV96B,GAAuB08C,IAAej0C,EAAImE,YAClDnC,UAAWoM,aACA,YAAV7W,EAAsB,mBAAqB,kBAC3C,4BAGDV,IAAAxD,cAAA,MAAI6e,QAASoiC,KACZz9C,IAAAxD,cAAA,OACC2O,UAAU,yCACVwb,wBAAyB,CACxBC,OAASzd,EAA0BmE,aAAe,aC0I7CqwC,GArNoB,SAAH18C,GAkBzB,IAjBNkK,EAASlK,EAATkK,UACA8uC,EAAOh5C,EAAPg5C,QAIY3gB,GAHPr4B,EAALqT,MACMrT,EAAN0Q,OACK1Q,EAAL6pB,MACY7pB,EAAZ0iC,aAAY1iC,EACZiV,gBAAO,IAAAojB,EAAG,YAAWA,EACrBxY,EAAU7f,EAAV6f,WACAyY,EAAYt4B,EAAZs4B,aACAtwB,EAAKhI,EAALgI,MAAK20C,EAAA38C,EACLo8C,kBAAU,IAAAO,GAAQA,EAElBC,GADc58C,EAAd68C,eACa78C,EAAb48C,eACAE,EAAY98C,EAAZ88C,aACAC,EAAe/8C,EAAf+8C,gBACA5qB,EAAanyB,EAAbmyB,cACAnoB,EAAQhK,EAARgK,SAGAkI,EAAgCC,oBAAkB,GAAMC,EAAAC,aAAAH,EAAA,GAAjDwF,EAAQtF,EAAA,GAAEmpB,EAAWnpB,EAAA,GAEtB4qC,EAAe,WACpB,GAAyC,IAArC5jD,OAAO0P,KAAKg0C,GAAc3jD,OAC7B,OAAO,EAER,IAAK,IAAIwb,KAAMmoC,EACd,IAAKA,EAAanoC,GAAIvO,SACrB,OAAO,EAGT,OAAO,GAGF62C,EAAoB,SAACtoC,GACtBmoC,EAAanoC,IAChBooC,EAAez0C,YAAC,GACdqM,EAAEjN,wBAAA,GACCo1C,EAAanoC,IAAG,IACnBvO,UAAW02C,EAAanoC,GAAIvO,cAkChC,OACCrH,IAAAxD,cAAA,OAAK2O,UAAWA,EAAWgQ,WAAS,yBACnCnb,IAAAxD,cAAA,OACC2O,UAAWoM,aACVpM,EACA,qFAGA8uC,GAAWA,EAAQ7/C,OAAS,GAC5B4F,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAA,UACC2O,UAAU,2DACVohB,gBAAe5T,EACf2T,gBAAc,gBACd3M,QAAS,kBAAM6c,GAAa7jB,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,cAAC8+B,KAAU,CAACC,GAAI5iB,EAAUjc,QAAS,MACjC,SAACgE,GAAsB,OACvBV,IAAAxD,cAAA,OACCoZ,GAAG,gBACH4lB,OAAkB,WAAV96B,EACRyK,UAAWoM,aACA,YAAV7W,EACG,mBACA,kBACH,6BAGDV,IAAAxD,cAAC0X,KAAI,KACJlU,IAAAxD,cAAA,OAAK2O,UAAU,wDACb8uC,EAAQ1yC,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,UACE6gD,GACAr9C,IAAAxD,cAAA,MAAI8e,MAAM,OACTtb,IAAAxD,cAAA,SACCgB,KAAK,WACL6yB,aAAW,qBACXuqB,QAASqD,IACTlpC,SAxGa,WACtB,IAAIopC,EAA6C,GAEjD,GAAIF,IACH,IAAK,IAAIroC,KAAMmoC,EACdI,EAAgBvoC,GAAGjN,wBAAA,GAAQo1C,EAAanoC,IAAG,IAAEvO,UAAU,SAGxD,IAAK,IAAIuO,KAAMmoC,EACdI,EAAgBvoC,GAAGjN,wBAAA,GAAQo1C,EAAanoC,IAAG,IAAEvO,UAAU,IAGzD22C,EAAgBG,OAgGTr9B,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,SAAUwkB,GAET9hB,EAAOtF,aAMXnS,IAAAxD,cAAA,MAAI2O,UAAU,UAAUmQ,MAAM,OAAM,0CAOvCrS,GAAS6X,GACT9gB,IAAAxD,cAAA,aACEyM,EAAM1B,KAAI,SAAC4B,EAAKqS,GAChB,OACCxb,IAAAxD,cAAC2gD,GAAY,CACZh0C,IAAKA,EACLi0C,YA9GU,EA+GVC,WAAYA,EACZzC,UACCmD,EAAa50C,EAAIC,aACd20C,EAAa50C,EAAIC,YAAY/B,SAGjCi2C,YAAaY,EACb9qB,cAAeA,EACf5e,QAASsM,EACT1hB,IAAKoc,UAQZxb,IAAAxD,cAAA,OAAK2O,UAAU,QACb0yC,GACA79C,IAAAxD,cAAA,MAAI2O,UAAU,gDACZ0yC,GAGF5yC,GACAjL,IAAAxD,cAAA,OAAK2O,UAAU,uBAlJI,SAACF,GAQvB,OAPyBjL,IAAM2nC,SAASpgC,IAAI0D,GAAU,SAAC28B,EAAOpsB,GAC7D,IAAMsL,EAAa8gB,GAASA,EAAM9gB,MAAKne,YAAA,GAAQi/B,EAAM9gB,OAAU,GAG/D,OAFAA,EAAMi3B,aAAeA,EAEd/9C,IAAM6nC,aAAaD,EAAO9gB,MA6IOghB,CAAe78B,OC3N3CmzC,GA1BgC,SAAHn9C,GAMrC,IALNoU,EAAIpU,EAAJoU,KACAsK,EAAO1e,EAAP0e,QACY0+B,GAAAp9C,EAAZ88C,aAAY98C,EACZ8C,gBAAO,IAAAs6C,GAAQA,EAAAC,EAAAr9C,EACfmV,gBAAQ,IAAAkoC,GAAQA,EAEhB,OACCt+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,YC7BhDozC,GAAc,eAAAt9C,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAC7BwH,EACAC,EACA01C,EACAC,GAAgB,IAAAC,EAAAn2C,EAAAqN,EAAA1b,EAAAykD,EAAAC,EAAAC,EAAAjlD,EAAA,OAAAuH,IAAAY,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAMhB,IAAS0T,IAJA,4EACL8oC,EAA6B,GAC7Bn2C,EAAmC,GAExBO,EAKd,GAJIA,EAAqB8M,GAAIvO,UAC5BkB,EAAa7N,KAAKoO,EAAqB8M,IAGpC4oC,EAAiBv1C,MACpB,IAAS/O,KAAKskD,EAAiBv1C,MACxB01C,EAAoBH,EAAiBv1C,MAAM/O,GAAGykD,kBAEnDH,EAAiBv1C,MAAM/O,GAAGkP,aAAewM,GACzC+oC,IACCD,EAAiBtmC,SAASumC,IAE3BD,EAAiBhkD,KAAKikD,GAWzB,OALKC,EAAgC,CACrC/1C,eAAgBA,EAChB61C,iBAAkBA,EAClB57C,QAAS27C,EACTl2C,aAAcA,GACdvG,EAAAE,KAAA,EAEsBE,IAAMo1B,KA9BpB,4EA8BsDonB,GAAY,KAAD,EAA9D,OAA8DC,EAAA78C,EAAAK,KAAlEzI,EAAIilD,EAAJjlD,KAAIoI,EAAAgB,OAAA,SAELpJ,GAAI,yBAAAoI,EAAAiB,UAAA5B,OACX,gBAvC0B6B,EAAAC,EAAAC,EAAAC,GAAA,OAAApC,EAAAlG,MAAA,KAAAuI,YAAA,GCwUZw7C,GA/SiD,SAAH79C,GAkBtD,IAjBNkR,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACAmf,EAAgBl7C,EAAhBk7C,iBACAC,EAAgBn7C,EAAhBm7C,iBACcE,EAAmBr7C,EAAjCsH,aACAg0C,EAAgBt7C,EAAhBs7C,iBACAhf,EAAet8B,EAAfs8B,gBACAwhB,EAAsB99C,EAAtB89C,uBACAlhB,EAAwB58B,EAAxB48B,yBACAmhB,EAAsB/9C,EAAtB+9C,uBACA3pC,EAAIpU,EAAJoU,KACAm4B,EAAWvsC,EAAXusC,YACAlsC,EAAML,EAANK,OACAk7C,EAAev7C,EAAfu7C,gBACAC,EAAgBx7C,EAAhBw7C,iBACAC,EAAaz7C,EAAby7C,cACAL,EAAQp7C,EAARo7C,SAEM75C,EAAWyU,eACXtU,EAAUuW,eACVlQ,EAAW8T,cACjB3J,EAAwCC,mBAASkpC,GAAoBjpC,EAAAC,aAAAH,EAAA,GAA9D5K,EAAY8K,EAAA,GAAEspC,EAAetpC,EAAA,GACpCka,EAAsBC,aAAWmuB,IAAkBluB,EAAAna,aAAAia,EAAA,GAA5C7sB,EAAK+sB,EAAA,GAAEC,EAAID,EAAA,GACZmvB,EAAc5oC,iBAAuB,MAC3CR,EAA0CJ,oBAAkB,GAAMK,EAAAH,aAAAE,EAAA,GAA3DyrC,EAAaxrC,EAAA,GAAEyrC,EAAgBzrC,EAAA,GACtCG,EAAwCR,mBAAiC,IAAGS,EAAAP,aAAAM,EAAA,GAArEurC,EAAYtrC,EAAA,GAAEurC,EAAevrC,EAAA,GAC9BhR,EAAY0I,YAAYvF,GACxBq5C,EAAiB9zC,YAAYjB,IACnC4a,EAA8B9R,mBAAS,CAAEvL,YAAa,GAAIC,UAAW,KAAKqd,EAAA7R,aAAA4R,EAAA,GAAnE63B,EAAO53B,EAAA,GAAE63B,EAAU73B,EAAA,GAC1BG,EAAgDlS,oBAAkB,GAAMmS,EAAAjS,aAAAgS,EAAA,GAAjEu3B,EAAgBt3B,EAAA,GAAEu3B,EAAmBv3B,EAAA,GACtC1c,EACLN,GACAA,EAAaU,OACbV,EAAaU,MAAM7O,OAAS,QACa0D,IAAzCyK,EAAaU,MAAM,GAAGJ,eACnBN,EAAaU,MAAM,GAAGJ,eACtB,EACEC,GACLu2C,GAAkBA,EAAex2C,GAC9Bw2C,EAAex2C,GAAgBC,qBAC/B,GA8CJ0Q,qBAAU,WACTmjC,EAAgBL,KACd,CAACA,IAEJ9iC,qBAAU,WACL9Y,EAAM0qB,QAAQnwB,QACjB0hD,EAAgBj8C,EAAM0qB,QAAQnwB,UAE7B,CAACyF,EAAM0qB,QAAQnwB,SAElBue,qBAAU,WACLjR,GACHS,EACCD,GACCF,EACAN,EACAO,OAKD,CAACD,EAAgBN,IA8BpB,OACCvI,IAAAxD,cAACgkC,GAAU,CAACW,aAAa,GACxBnhC,IAAAxD,cAAA,OAAK2O,UAAU,UAAUkwB,YAAU,YAAYzkB,IAAKgmC,IACpD58C,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GAAIrpB,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,cACTslC,GACAT,GACAA,GACA,eACD,gBAEDxmC,GAAG,YAEFonB,GAEDmf,GAAoBC,GACpBp8C,IAAAxD,cAAA,UACC2O,UAAU,oBACVohB,gBAAeswB,EACfvwB,gBAAc,WACd3M,QAAS,kBAAMm9B,GAAqBD,KAEnCA,EACA78C,IAAAxD,cAAA,YACE4/C,EACDp8C,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,UAAUmJ,UAAU,OAAOtU,UAAU,UAGjDnL,IAAAxD,cAAA,YACE2/C,EACDn8C,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,QACbuxC,GACA18C,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK6nC,QAAQ,MACpBP,GAGH18C,IAAAxD,cAACu9C,GAAiB,CACjBE,QAAS1xC,EAAaP,aACtB+M,SAxGgB,SAACklC,EAA4BpyC,GACnDm1C,EAAUr0C,wBAAC,GAAKo0C,GAAO,IAAEl1C,YAAaA,KACtC6lB,EAAK,QAAS,CACbpsB,OAAQA,EACRuG,cACAC,UAAWi1C,EAAQj1C,YAGpB,IAAIwM,EAAQ1M,GAAmBC,EAAak1C,EAAQj1C,WACpDnF,EAAQjI,KAAK,GAADyH,OAAIK,EAASivC,UAAQtvC,OAAGmS,KAgG9B4lC,UAAWsC,EACXrC,WAAYsC,IAEI,UAAhB/7C,EAAM5B,OAAqBkB,IAAAxD,cAAA,SAAG,uBAGjCwD,IAAAxD,cAAA,OAAK2O,UAAU,8CACbkxC,GACAA,EAASjiD,OAAS,GAClBiiD,EAAS90C,KAAI,SAAC21C,EAAM1hC,GACnB,OACCxb,IAAAxD,cAAC02B,KAAQ,CACR9zB,IAAKoc,EACLrJ,QAAS+qC,EAAK/qC,QACd4e,aAAcmsB,EAAKnsB,aACnBD,YAAaosB,EAAKpsB,YAClBxgB,MAAO4sC,EAAK5sC,MACZnF,UAAWoM,aACK,KAAf2lC,EAAK5sC,OAAgB,cACN,MAAf4sC,EAAK5sC,OAAiB,SACtB,YAGA4sC,EAAKj0C,OACLi0C,EAAKj0C,MAAM7O,OAAS,GACpB8iD,EAAKj0C,MAAM1B,KAAI,SAAC6G,EAAMoN,GACrB,OACCxb,IAAAxD,cAAC22B,KAAY,CACZ9d,KAAMjH,EAAKiH,KACXxT,IAAKuM,EAAKvM,IACVuxB,cAAetoB,GACf1L,IAAKoc,EACL6X,SAAUjlB,EAAKilB,oBASzBrzB,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GAAIrpB,UAAU,cACtCnL,IAAAxD,cAACmhD,GAAStjD,OAAA+N,OAAA,GACLG,EAAY,CAChB2N,QAASqmC,EACTwB,aAAcj1C,GACdk1C,gBA1N2B,SAC/BsB,GAEAF,EAAgB,IAChBp2C,EAASqB,GAA2BxB,EAAgBy2C,KAuNhDjC,YAAU,EACVlyC,UAAU,QACV0yC,cAAetgB,EACfhE,aA/IgB,SAAC/5B,EAAkBigB,GACvC,IAAI3X,EAAY,GACZ2X,IACH3X,EAAS,GAAA3F,OAAM3C,EAAQ,KAAA2C,OAAIsd,IAG5Bu9B,EAAUr0C,wBAAC,GAAKo0C,GAAO,IAAEj1C,UAAWA,KACpC4lB,EAAK,QAAS,CACbpsB,OAAQA,EACRuG,YAAak1C,EAAQl1C,YACrBC,cAED,IAAIwM,EAAQ1M,GAAmBm1C,EAAQl1C,YAAaC,GACpDnF,EAAQjI,KAAK,GAADyH,OAAIK,EAASivC,UAAQtvC,OAAGmS,OAoIhCtU,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAC4hD,GAAqB,CACrB/oC,KACC4pC,EACGphB,EACAkhB,EAEJh7C,QAASk7C,EACTt/B,QAAS,WArNfu/B,GAAiB,GACjBE,EAAgB,IAEZ72C,GACUg2C,GACZ11C,EACAC,GACAP,GACS,OAAT1F,QAAS,IAATA,OAAS,EAATA,EAAWC,UAAW,SAIrB4R,MAAK,SAACC,GACNyqC,EAAgBzqC,GAChBuqC,GAAiB,MAEjBpqC,OAAM,WACNsqC,EAAgB,CACfzhD,QAAS,uCAEVuhD,GAAiB,OAkMd9oC,UAlOkB,SACxBkpC,GAEA,IAAK,IAAI1pC,KAAM0pC,EACd,GAAIA,EAAoB1pC,GAAIvO,SAC3B,OAAO,EAGT,OAAO,EA0NUk4C,CAAiBz2C,MAE5Bq2C,EAAajmB,WACbl5B,IAAAxD,cAAA,KACCiG,KAAM08C,EAAajmB,UACnB/tB,UAAU,2IAET6zC,GAGFG,EAAaxhD,SACbqC,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK+pC,EAAaxhD,YAK/BqC,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGrpB,UAAU,cACrCnL,IAAAxD,cAACsb,GAAY,CAACC,UAAW1C,EAAK0C,cAG/By1B,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,MCqCdgS,GAzUiD,SAAHv+C,GAYtD,IAXNkR,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACAuQ,EAAUtsC,EAAVssC,WACA0B,EAAehuC,EAAfguC,gBACAyN,EAAaz7C,EAAby7C,cACAF,EAAev7C,EAAfu7C,gBACAC,EAAgBx7C,EAAhBw7C,iBACAn7C,EAAML,EAANK,OACiBm+C,EAAsBx+C,EAAvCs4C,gBACAlkC,EAAIpU,EAAJoU,KACAm4B,EAAWvsC,EAAXusC,YAEMnM,EAAWvK,KACXsK,EAAmBpK,KACzB7jB,EAA8CC,mBAC7CqsC,GACApsC,EAAAC,aAAAH,EAAA,GAFMomC,EAAelmC,EAAA,GAAEqsC,EAAkBrsC,EAAA,GAG1Cka,EAAsBC,aAAWmuB,IAAkBluB,EAAAna,aAAAia,EAAA,GAA5C7sB,EAAK+sB,EAAA,GAAEC,EAAID,EAAA,GACZjrB,EAAWyU,eACXtU,EAAUuW,eACVwoB,EAAiBn2B,YAAYzF,GAC3BwO,EAAUoJ,KAAYjV,MAAMjG,EAASuD,QAArCuO,MACFgtB,EAAwBttB,iBAAY,MACpCwtB,EAAsBxtB,iBAAY,MACxCiuB,EAAkCzU,aAAW+H,GAAe,CAC3DnK,QAAS,CACR9pB,QAAkB,OAAVisC,QAAU,IAAVA,OAAU,EAAVA,EAAYjsC,UAAwB,OAAdogC,QAAc,IAAdA,OAAc,EAAdA,EAAgBpgC,QAC9C6I,KAAMi3B,EAAmB,GAAkB,OAAdM,QAAc,IAAdA,OAAc,EAAdA,EAAgBzT,sBAAuB,EACpEuH,SAAU,OAEV0M,EAAA5uB,aAAA2uB,EAAA,GANKF,EAAWG,EAAA,GAAEF,EAAUE,EAAA,GAO9B2T,EAAgCroB,aAAW0I,IAAmB4f,EAAAxiC,aAAAuiC,EAAA,GAAvD1T,EAAU2T,EAAA,GAAE1T,EAAS0T,EAAA,GAE5BzpB,aAAgBiV,GAAuB,WAClCI,GACHU,EAAU,YAIZ,IAAMoX,EAAqB,SAAChP,GAAmB,IAADmV,EAC7C,OACC3/C,IAAAxD,cAACi9C,KAAY,CACZhiC,OAAQ+yB,EAASr4B,QACjBgG,KAAMqyB,EAASnyB,OACfqhC,kBAAkC,OAAfH,QAAe,IAAfA,OAAe,EAAfA,EAAiBG,kBACpCC,mBAAmC,OAAfJ,QAAe,IAAfA,OAAe,EAAfA,EAAiBI,mBACrCxuC,UAAU,SAED,OAARq/B,QAAQ,IAARA,GAAe,QAAPmV,EAARnV,EAAUvhC,aAAK,IAAA02C,OAAP,EAARA,EAAiBvlD,QAAS,EAC1BowC,EAASvhC,MAAM1B,KAAI,SAAC6G,EAAWoN,GAAa,OAC3Cxb,IAAAxD,cAACo9C,KAAgB,CAChBgG,qBAAoBpV,EAASr4B,QAC7B0tC,qBAAoBzxC,EAAKiH,KACzBjW,IAAKoc,EACLnG,KAAMjH,EAAKiH,KACX+lC,MAAOhtC,EAAKgtC,MACZv5C,IAAG,GAAAM,OAAKiM,EAAKvM,KAAGM,OAAGK,EAASuD,QAC5BqtB,cAAetoB,QAIjB9K,IAAAxD,cAAA,MAAI2O,UAAU,QACbnL,IAAAxD,cAAA,KAAG2O,UAAU,UAAyB,OAAfouC,QAAe,IAAfA,OAAe,EAAfA,EAAiBuG,gBA0B7C,OAVAtmC,qBAAU,WACTkmC,EAAmBD,KACjB,CAACA,IAEJjmC,qBAAU,WACL9Y,EAAM0qB,QAAQnwB,QACjBykD,EAAmBh/C,EAAM0qB,QAAQnwB,UAEhC,CAACyF,EAAM0qB,QAAQnwB,SAGjB+E,IAAAxD,cAACgkC,GAAU,KACT+M,GACAvtC,IAAAxD,cAAA,OAAK2O,UAAU,mBACdnL,IAAAxD,cAACkxC,KAAU,KACV1tC,IAAAxD,cAAC03B,KAAI,CAAC1iB,SAAS,EAAOrG,UAAU,gBAC/BnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,IACb,OAAV+Y,QAAU,IAAVA,OAAU,EAAVA,EAAYp7B,UACZnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAKxE,QAAQ,EAAOzF,UAAU,iBACrCoiC,EAAWj3B,MACXtW,IAAAxD,cAAC6Z,KAAI,CACJC,KAAMi3B,EAAWj3B,KACjBnM,KAAM,EACNgB,UAAU,oDACVsL,eAAa,IAGJ,OAAV82B,QAAU,IAAVA,OAAU,EAAVA,EAAYp7B,UAGJ,OAAVo7B,QAAU,IAAVA,OAAU,EAAVA,EAAYvQ,WACZh9B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,GACT,OAAV28B,QAAU,IAAVA,OAAU,EAAVA,EAAYvQ,WAGJ,OAAVuQ,QAAU,IAAVA,OAAU,EAAVA,EAAYI,YACZ3tC,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAACqmC,MAAW,CACXjtB,GAAG,wBACHnE,MAAO87B,EAAWK,sBAClB3K,YAAasK,EAAWrK,kBACxB/3B,UAAU,kBACV23B,WAAYxB,EACZyB,SAAUvB,EACVvX,YAAmC,YAAtB8X,EAAYjjC,MACzBwT,aAAcgC,EAAQA,EAAMqmB,gBAAa78B,EACzCiX,SAAU,SAACjZ,GACW,WAArBqmC,EAAWrjC,OACVkjC,EAAW,SAAU,CACpBljC,MAAOhD,EAAEgD,SAGZsV,SAAU,SAACtY,GAAY,IAADqnC,EACrBf,EAAU,SACS,OAAnBZ,QAAmB,IAAnBA,GAA4B,QAAT2B,EAAnB3B,EAAqB5sB,eAAO,IAAAuuB,GAA5BA,EAA8BC,OAC9BzgC,EAAQjI,KAAK,GAADyH,OAEVorC,EAAWlK,cAAa,WAAAlhC,OACfqF,mBACT1L,EAAE+xC,0BAILtK,QAAS,WACRxlC,YAAW,WACVqkC,EAAU,UACR,OAGkB,WAArBD,EAAWrjC,OACXijC,EAAY3W,QAAQnwB,QACU,KAA9B8mC,EAAY3W,QAAQ9W,OACnBtU,IAAAxD,cAACgnC,KAAmB,KAClBzB,EAAY3W,QAAQnwB,OAAOwoC,SAC3B1B,EAAY3W,QAAQnwB,OAAOwoC,QAAQl8B,KAClC,SAAC6G,GAAyB,OACzBpO,IAAAxD,cAACknC,KAAuB,CACvBtkC,IAAKgP,EAAKhF,YAEVpJ,IAAAxD,cAACsO,GAAI,CAACE,GAAIoD,EAAKvM,KACd7B,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAU,OACVhJ,eAAa,EACbtM,KAAM,MAENiE,EAAK+D,aAKV4vB,EAAY3W,QAAQnwB,OAAO0oC,aAC3B5B,EAAY3W,QAAQnwB,OAAOkP,MAC3BnK,IAAAxD,cAACknC,KAAuB,KACvB1jC,IAAAxD,cAACsO,GAAI,CACJE,GAAE,GAAA7I,OACS,OAAVorC,QAAU,IAAVA,OAAU,EAAVA,EAAYlK,cAAa,WAAAlhC,OAChBqF,mBACTu6B,EAAY3W,QAAQnwB,OAAOqZ,QAE5BqL,QAAS,WACRyiB,EAAU,WAGI,OAAdV,QAAc,IAAdA,OAAc,EAAdA,EAAgBkC,sBAIyB,IAA5C7B,EAAY3W,QAAQnwB,OAAO0oC,cAC3B3jC,IAAAxD,cAACknC,KAAuB,KACvB1jC,IAAAxD,cAAA,SAAG,+BAMTwD,IAAAxD,cAACsxC,KAAe,YAQrBP,GACDvtC,IAAAxD,cAAC03B,KAAI,KACJl0B,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAEFnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBkkB,MAMNh9B,IAAAxD,cAAC03B,KAAI,CACJtjB,QAAQ,EACRY,SAAS,EACTrG,UAAWoM,aACV03B,GAAmB,mBACnB,4BAGC5N,GAAY4N,GACbjvC,IAAAxD,cAAC83B,KAAI,CAACgJ,OAAQ,GAAI9I,QAAS,EAAGrpB,UAAU,8BACvCnL,IAAAxD,cAACgzC,MAAG,CACHr9B,QAAS88B,EAAgB98B,QACzBlJ,MAAOgmC,EAAgBQ,SACvByJ,OAAQjK,EAAgBkK,UAEvBlK,EAAgBS,OAAOnoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACmzC,MAAO,CAACltC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,WAOXrV,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACvB6M,GAAY4N,GACZjvC,IAAAxD,cAACgzC,MAAG,CAACr9B,QAAS88B,EAAgB98B,QAASlJ,MAAO,GAAIkC,UAAU,SAC1D8jC,EAAgBS,OAAOnoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACmzC,MAAO,CAACltC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,WAKM,OAAfkkC,QAAe,IAAfA,OAAe,EAAfA,EAAiBvxC,gBACF,OAAfuxC,QAAe,IAAfA,OAAe,EAAfA,EAAiBvxC,aAAa5N,QAAS,GACtC4F,IAAAxD,cAAA,OAAK2O,UAAU,QACbuxC,GACA18C,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK6nC,QAAQ,MACpBP,GAGH18C,IAAAxD,cAACu9C,GAAiB,CACjBE,QAASV,EAAgBvxC,aACzB+M,SA/Le,SAACklC,EAA4B3lC,GACnDoZ,EAAK,QAAS,CACbpsB,OAAQA,EACRuG,YAAayM,IAGd3R,EAAQjI,KAAK,GAADyH,OAAIK,EAASivC,SAAQ,KAAAtvC,OAAImS,KA0L9B4lC,UAAWsC,EACXrC,WAAYsC,IAEbz8C,IAAAxD,cAAA,OAAK6+B,YAAU,SAASlwB,UAAU,YAChB,YAAhBzK,EAAM5B,OACNkB,IAAAxD,cAACi/B,KAAK,CAAC/kB,QAAQ,SAASvL,UAAU,QACjCnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,EAAOzF,UAAU,QACpCzK,EAAM0qB,QAAQpuB,UAOrBu8C,GACAA,EAAgB5wB,YAChB4wB,EAAgB5wB,WAAWvuB,OAAS,GACnC4F,IAAAxD,cAAA,OAAKoZ,GAAI2jC,EAAgB3jC,GAAIzK,UAAU,YACrB,YAAhBzK,EAAM5B,OACNkB,IAAAxD,cAAA,OAAK2O,UAAU,6EACdnL,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,SAASnM,KAAM,EAAGqM,QAAQ,OAAOrL,UAAU,MAGxDnL,IAAAxD,cAAC03B,KAAI,CAAC1iB,SAAS,GACdxR,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAI+I,OAAQ,GACtBic,EAAgB5wB,WAAWphB,KAC3B,SAACijC,EAAehvB,GACf,OACCxb,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAKoc,GACnBA,EACA7L,KAAKkqC,KACJN,EAAgB5wB,WAAWvuB,OAAS,IAChCo/C,EAAmBhP,QAMS,IAAtC+O,EAAgB5wB,WAAWvuB,QAC3B4F,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAI+I,OAAQ,GACtBic,EAAgB5wB,WAAWphB,KAC3B,SAACijC,EAAehvB,GACf,OACCxb,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAKoc,GACnBA,GACA7L,KAAKkqC,KACJN,EAAgB5wB,WAAWvuB,OAAS,IAChCo/C,EAAmBhP,UAUnCxqC,IAAAxD,cAACsb,GAAY,CAACC,UAAW1C,EAAK0C,cAG/By1B,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,MCrGduS,GA3O+C,SAAH9+C,GAepD,IAADi7C,EAdL/pC,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACAmf,EAAgBl7C,EAAhBk7C,iBACAC,EAAgBn7C,EAAhBm7C,iBACAC,EAAQp7C,EAARo7C,SACcC,EAAmBr7C,EAAjCsH,aACAg0C,EAAgBt7C,EAAhBs7C,iBACAlnC,EAAIpU,EAAJoU,KACAm4B,EAAWvsC,EAAXusC,YACAlsC,EAAML,EAANK,OACAk7C,EAAev7C,EAAfu7C,gBACAC,EAAgBx7C,EAAhBw7C,iBACAC,EAAaz7C,EAAby7C,cACAtL,EAAanwC,EAAbmwC,cAEM5uC,EAAWyU,eACXtU,EAAUuW,eAChB/F,EAAwCC,mBAASkpC,GAAoBjpC,EAAAC,aAAAH,EAAA,GAA9D5K,EAAY8K,EAAA,GAAEspC,EAAetpC,EAAA,GACpCka,EAAsBC,aAAWmuB,IAAkBluB,EAAAna,aAAAia,EAAA,GAA5C7sB,EAAK+sB,EAAA,GAAEC,EAAID,EAAA,GACZmvB,EAAc5oC,iBAAuB,MAC3CR,EAAgDJ,oBAAkB,GAAMK,EAAAH,aAAAE,EAAA,GAAjEqpC,EAAgBppC,EAAA,GAAEqpC,EAAmBrpC,EAAA,GACtC5Q,EAAY0I,YAAYvF,GACxBurC,EAAchmC,YAAYjH,GAChCsP,EAA8BR,mBAAS,CAAEvL,YAAa,GAAIC,UAAW,KAAK+L,EAAAP,aAAAM,EAAA,GAAnEmpC,EAAOlpC,EAAA,GAAEmpC,EAAUnpC,EAAA,GAE1B2F,qBAAU,WACTmjC,EAAgBL,KACd,CAACA,IAEJ9iC,qBAAU,WACL9Y,EAAM0qB,QAAQnwB,QACjB0hD,EAAgBj8C,EAAM0qB,QAAQnwB,UAE7B,CAACyF,EAAM0qB,QAAQnwB,SA8BlB,OACC+E,IAAAxD,cAACgkC,GAAU,CAACW,aAAa,GACxBnhC,IAAAxD,cAAA,OAAK2O,UAAU,UAAUkwB,YAAU,YAAYzkB,IAAKgmC,IACpD58C,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GAAIrpB,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,cACTslC,GACAT,GACAA,GACA,eACD,gBAEDxmC,GAAG,YAEFonB,GAEDmf,GAAoBC,GACpBp8C,IAAAxD,cAAA,UACC2O,UAAU,oBACVohB,gBAAeswB,EACfvwB,gBAAc,WACd3M,QAAS,kBAAMm9B,GAAqBD,KAEnCA,EACA78C,IAAAxD,cAAA,YACE4/C,EACDp8C,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,UAAUmJ,UAAU,OAAOtU,UAAU,UAGjDnL,IAAAxD,cAAA,YACE2/C,EACDn8C,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,QACbuxC,GACA18C,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK6nC,QAAQ,MACpBP,GAGH18C,IAAAxD,cAACu9C,GAAiB,CACjBE,QAAS1xC,EAAaP,aACtB+M,SAxGgB,SAACklC,EAA4BpyC,GACnDm1C,EAAUr0C,wBAAC,GAAKo0C,GAAO,IAAEl1C,YAAaA,KACtC6lB,EAAK,QAAS,CACbpsB,OAAQA,EACRuG,cACAC,UAAWi1C,EAAQj1C,YAGpB,IAAIwM,EAAQ1M,GAAmBC,EAAak1C,EAAQj1C,WACpDnF,EAAQjI,KAAK,GAADyH,OAAIK,EAASivC,UAAQtvC,OAAGmS,KAgG9B4lC,UAAWsC,EACXrC,WAAYsC,IAEbz8C,IAAAxD,cAAA,OAAK6+B,YAAU,SAASlwB,UAAU,YAChB,YAAhBzK,EAAM5B,OACNkB,IAAAxD,cAACi/B,KAAK,CAAC/kB,QAAQ,SAASvL,UAAU,QACjCnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,EAAOzF,UAAU,QACpCzK,EAAM0qB,QAAQpuB,UAOrBgD,IAAAxD,cAAA,OAAK2O,UAAU,mDACbkxC,GACAA,EAASjiD,OAAS,GAClBiiD,EAAS90C,KAAI,SAAC21C,EAAM1hC,GACnB,OACCxb,IAAAxD,cAAC02B,KAAQ,CACR9zB,IAAKoc,EACLrJ,QAAS+qC,EAAK/qC,QACd4e,aAAcmsB,EAAKnsB,aACnBD,YAAaosB,EAAKpsB,YAClBxgB,MAAO4sC,EAAK5sC,MACZnF,UAAWoM,aACK,KAAf2lC,EAAK5sC,OAAgB,cACN,MAAf4sC,EAAK5sC,OAAiB,SACtB,YAGA4sC,EAAKj0C,OACLi0C,EAAKj0C,MAAM7O,OAAS,GACpB8iD,EAAKj0C,MAAM1B,KAAI,SAAC6G,EAAMoN,GACrB,OACCxb,IAAAxD,cAAC22B,KAAY,CACZ9d,KAAMjH,EAAKiH,KACXxT,IAAKuM,EAAKvM,IACVuxB,cAAetoB,GACf1L,IAAKoc,EACL6X,SAAUjlB,EAAKilB,mBAQvB+d,GACApxC,IAAAxD,cAAC2Z,KAAM,CACN0J,qBAAoBuxB,EAAc/7B,KAClCD,GAAG,IACHge,cAAetoB,GACfrI,KAAM2uC,EAAcvvC,KAEnBuvC,EAAc/7B,OAIlBrV,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GAAIrpB,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,cAACq/C,GAAqBxhD,OAAA+N,OAAA,GACjBG,EAAY,CAChB2N,QAASqmC,EACTpxC,UAAU,aACVouB,aAjKc,SAAC/5B,EAAkBigB,GACvC,IAAI3X,EAAY,GACZ2X,IACH3X,EAAS,GAAA3F,OAAM3C,EAAQ,KAAA2C,OAAIsd,IAG5Bu9B,EAAUr0C,wBAAC,GAAKo0C,GAAO,IAAEj1C,UAAWA,KACpC4lB,EAAK,QAAS,CACbpsB,OAAQA,EACRuG,YAAak1C,EAAQl1C,YACrBC,cAED,IAAIwM,EAAQ1M,GAAmBm1C,EAAQl1C,YAAaC,GACpDnF,EAAQjI,KAAK,GAADyH,OAAIK,EAASivC,UAAQtvC,OAAGmS,OAsJjB,OAAZ/L,QAAY,IAAZA,GAAmB,QAAP2zC,EAAZ3zC,EAAcU,aAAK,IAAAizC,OAAP,EAAZA,EAAqB30C,KAAI,SAAC4B,EAAKqS,GAC/B,OACCxb,IAAAxD,cAACs/C,GAAwB,CACxB3yC,IAAKA,EACLqL,QAASjM,EAAauY,YAAc,GACpC1hB,IAAKoc,EACL+1B,YAAaA,SAOpBvxC,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGrpB,UAAU,cACrCnL,IAAAxD,cAACsb,GAAY,CAACC,UAAW1C,EAAK0C,cAG/By1B,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,MCiFdwS,GA/S2C,SAAH/+C,GAkBhD,IAjBNkR,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACAmf,EAAgBl7C,EAAhBk7C,iBACAC,EAAgBn7C,EAAhBm7C,iBACAC,EAAQp7C,EAARo7C,SACcC,EAAmBr7C,EAAjCsH,aACAg0C,EAAgBt7C,EAAhBs7C,iBACAhf,EAAet8B,EAAfs8B,gBACAwhB,EAAsB99C,EAAtB89C,uBACAlhB,EAAwB58B,EAAxB48B,yBACAmhB,EAAsB/9C,EAAtB+9C,uBACA3pC,EAAIpU,EAAJoU,KACAm4B,EAAWvsC,EAAXusC,YACAlsC,EAAML,EAANK,OACAk7C,EAAev7C,EAAfu7C,gBACAC,EAAgBx7C,EAAhBw7C,iBACAC,EAAaz7C,EAAby7C,cAEMl6C,EAAWyU,eACXtU,EAAUuW,eACVlQ,EAAW8T,cACjB3J,EAAwCC,mBAASkpC,GAAoBjpC,EAAAC,aAAAH,EAAA,GAA9D5K,EAAY8K,EAAA,GAAEspC,EAAetpC,EAAA,GACpCka,EAAsBC,aAAWmuB,IAAkBluB,EAAAna,aAAAia,EAAA,GAA5C7sB,EAAK+sB,EAAA,GAAEC,EAAID,EAAA,GACZmvB,EAAc5oC,iBAAuB,MAC3CR,EAA0CJ,oBAAkB,GAAMK,EAAAH,aAAAE,EAAA,GAA3DyrC,EAAaxrC,EAAA,GAAEyrC,EAAgBzrC,EAAA,GACtCG,EAAwCR,mBAAiC,IAAGS,EAAAP,aAAAM,EAAA,GAArEurC,EAAYtrC,EAAA,GAAEurC,EAAevrC,EAAA,GACpCqR,EAAgD9R,oBAAkB,GAAM+R,EAAA7R,aAAA4R,EAAA,GAAjE23B,EAAgB13B,EAAA,GAAE23B,EAAmB33B,EAAA,GACtCk6B,EAAiB9zC,YAAYjB,IAC7BzH,EAAY0I,YAAYvF,GAC9Bsf,EAA8BlS,mBAAS,CAAEvL,YAAa,GAAIC,UAAW,KAAKyd,EAAAjS,aAAAgS,EAAA,GAAnEy3B,EAAOx3B,EAAA,GAAEy3B,EAAUz3B,EAAA,GACpB1c,EACLN,GACAA,EAAaU,OACbV,EAAaU,MAAM7O,OAAS,QACa0D,IAAzCyK,EAAaU,MAAM,GAAGJ,eACnBN,EAAaU,MAAM,GAAGJ,eACtB,EACEC,GACLu2C,GAAkBA,EAAex2C,GAC9Bw2C,EAAex2C,GAAgBC,qBAC/B,GA8CJ0Q,qBAAU,WACTmjC,EAAgBL,KACd,CAACA,IAEJ9iC,qBAAU,WACL9Y,EAAM0qB,QAAQnwB,QACjB0hD,EAAgBj8C,EAAM0qB,QAAQnwB,UAE7B,CAACyF,EAAM0qB,QAAQnwB,SAElBue,qBAAU,WACLjR,GACHS,EACCD,GACCF,EACAN,EACAO,OAKD,CAACD,EAAgBN,IA8BpB,OACCvI,IAAAxD,cAACgkC,GAAU,CAACW,aAAa,GACxBnhC,IAAAxD,cAAA,OAAK2O,UAAU,UAAUkwB,YAAU,YAAYzkB,IAAKgmC,IACpD58C,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GAAIrpB,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,cACTslC,GACAT,GACAA,GACA,eACD,gBAEDxmC,GAAG,YAEFonB,GAEDmf,GAAoBC,GACpBp8C,IAAAxD,cAAA,UACC2O,UAAU,oBACVohB,gBAAeswB,EACfvwB,gBAAc,WACd3M,QAAS,kBAAMm9B,GAAqBD,KAEnCA,EACA78C,IAAAxD,cAAA,YACE4/C,EACDp8C,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,UAAUmJ,UAAU,OAAOtU,UAAU,UAGjDnL,IAAAxD,cAAA,YACE2/C,EACDn8C,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,QACbuxC,GACA18C,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK6nC,QAAQ,MACpBP,GAGH18C,IAAAxD,cAACu9C,GAAiB,CACjBE,QAAS1xC,EAAaP,aACtB+M,SAxGgB,SAACklC,EAA4BpyC,GACnDm1C,EAAUr0C,wBAAC,GAAKo0C,GAAO,IAAEl1C,YAAaA,KACtC6lB,EAAK,QAAS,CACbpsB,OAAQA,EACRuG,cACAC,UAAWi1C,EAAQj1C,YAGpB,IAAIwM,EAAQ1M,GAAmBC,EAAak1C,EAAQj1C,WACpDnF,EAAQjI,KAAK,GAADyH,OAAIK,EAASivC,UAAQtvC,OAAGmS,KAgG9B4lC,UAAWsC,EACXrC,WAAYsC,IAEI,UAAhB/7C,EAAM5B,OAAqBkB,IAAAxD,cAAA,SAAG,uBAGjCwD,IAAAxD,cAAA,OAAK2O,UAAU,8CACbkxC,GACAA,EAASjiD,OAAS,GAClBiiD,EAAS90C,KAAI,SAAC21C,EAAM1hC,GACnB,OACCxb,IAAAxD,cAAC02B,KAAQ,CACR9zB,IAAKoc,EACLrJ,QAAS+qC,EAAK/qC,QACd4e,aAAcmsB,EAAKnsB,aACnBD,YAAaosB,EAAKpsB,YAClBxgB,MAAO4sC,EAAK5sC,MACZnF,UAAWoM,aACK,KAAf2lC,EAAK5sC,OAAgB,cACN,MAAf4sC,EAAK5sC,OAAiB,SACtB,YAGA4sC,EAAKj0C,OACLi0C,EAAKj0C,MAAM7O,OAAS,GACpB8iD,EAAKj0C,MAAM1B,KAAI,SAAC6G,EAAMoN,GACrB,OACCxb,IAAAxD,cAAC22B,KAAY,CACZ9d,KAAMjH,EAAKiH,KACXxT,IAAKuM,EAAKvM,IACVuxB,cAAetoB,GACf1L,IAAKoc,EACL6X,SAAUjlB,EAAKilB,oBASzBrzB,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GAAIrpB,UAAU,cACtCnL,IAAAxD,cAACmhD,GAAStjD,OAAA+N,OAAA,GACLG,EAAY,CAChB2N,QAASqmC,EACTwB,aAAcj1C,GACdk1C,gBA1N2B,SAC/BsB,GAEAF,EAAgB,IAChBp2C,EAASqB,GAA2BxB,EAAgBy2C,KAuNhDjC,YAAU,EACVlyC,UAAU,QACV0yC,cAAetgB,EACfhE,aA/IgB,SAAC/5B,EAAkBigB,GACvC,IAAI3X,EAAY,GACZ2X,IACH3X,EAAS,GAAA3F,OAAM3C,EAAQ,KAAA2C,OAAIsd,IAG5Bu9B,EAAUr0C,wBAAC,GAAKo0C,GAAO,IAAEj1C,UAAWA,KACpC4lB,EAAK,QAAS,CACbpsB,OAAQA,EACRuG,YAAak1C,EAAQl1C,YACrBC,cAED,IAAIwM,EAAQ1M,GAAmBm1C,EAAQl1C,YAAaC,GACpDnF,EAAQjI,KAAK,GAADyH,OAAIK,EAASivC,UAAQtvC,OAAGmS,OAoIhCtU,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAC4hD,GAAqB,CACrB/oC,KACC4pC,EACGphB,EACAkhB,EAEJh7C,QAASk7C,EACTt/B,QAAS,WArNfu/B,GAAiB,GACjBE,EAAgB,IAEZ72C,GACUg2C,GACZ11C,EACAC,GACAP,GACS,OAAT1F,QAAS,IAATA,OAAS,EAATA,EAAWC,UAAW,SAIrB4R,MAAK,SAACC,GACNyqC,EAAgBzqC,GAChBuqC,GAAiB,MAEjBpqC,OAAM,WACNsqC,EAAgB,CACfzhD,QAAS,uCAEVuhD,GAAiB,OAkMd9oC,UAlOkB,SACxBkpC,GAEA,IAAK,IAAI1pC,KAAM0pC,EACd,GAAIA,EAAoB1pC,GAAIvO,SAC3B,OAAO,EAGT,OAAO,EA0NUk4C,CAAiBz2C,MAE5Bq2C,EAAajmB,WACbl5B,IAAAxD,cAAA,KACCiG,KAAM08C,EAAajmB,UACnB/tB,UAAU,2IAET6zC,GAGFG,EAAaxhD,SACbqC,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK+pC,EAAaxhD,YAK/BqC,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGrpB,UAAU,cACrCnL,IAAAxD,cAACsb,GAAY,CAACC,UAAW1C,EAAK0C,cAG/By1B,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,MCtSdyS,GA5BiC,SAAHh/C,GAItC,IAHNkR,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACAwQ,EAAWvsC,EAAXusC,YAEA,OACCxtC,IAAAxD,cAACgkC,GAAU,KACVxgC,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,sCAEVnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAEFnS,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBkkB,KAIHwQ,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,MCwGd0S,GArHyC,SAAHj/C,GAQ9C,IAPNkR,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACAxc,EAAkBvf,EAAlBuf,mBACAyN,EAAmBhtB,EAAnBgtB,oBACA3sB,EAAML,EAANK,OACAg1C,EAAYr1C,EAAZq1C,aACA9I,EAAWvsC,EAAXusC,YAEMhrC,EAAWyU,eACXtU,EAAUuW,eAEhBqU,EAAsBC,aAAWvC,IAA0BwC,EAAAna,aAAAia,EAAA,GAApD7sB,EAAK+sB,EAAA,GAAEC,EAAID,EAAA,GAClBta,EAA0BC,mBAAS,GAAEC,EAAAC,aAAAH,EAAA,GAA9ByZ,EAAKvZ,EAAA,GAAEmkC,EAAQnkC,EAAA,GAElB3S,EAAM0qB,QAAQnwB,SACjBq7C,EAAe51C,EAAM0qB,QAAQnwB,QAG9B,IAAM6vB,EAAQwrB,EAAa3kC,OAAS2kC,EAAaxrB,MAAQmD,EACnDwpB,EAAUnB,EAAa3kC,OAAS2kC,EAAaxrB,MAAQwrB,EAAa7nB,MAClE1D,EAAYurB,EAAavrB,UAe/B,OAbAvR,qBAAU,WACLoT,EAAQ,GACXc,EAAK,QAAS,CACb/b,OAAQ,EACRmZ,MAAOA,EACPxpB,SACAypB,gBAKA,CAAC6B,IAGH5sB,IAAAxD,cAACgkC,GAAU,KACVxgC,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAEFnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBkkB,KAIJh9B,IAAAxD,cAAC03B,KAAI,CAAC1iB,SAAS,EAAOZ,QAAQ,EAAOzF,UAAU,sBAC9CnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGrpB,UAAU,gBACrCnL,IAAAxD,cAACqvC,KAAQ,KACPyK,EAAartC,MAAM1B,KAAI,SAACrK,EAAkBse,GAC1C,OACCxb,IAAAxD,cAACuvC,KAAY,CACZC,KAAM9uC,EAAMksC,UACZj3B,QAASjV,EAAMiV,QACfkD,KAAMnY,EAAMmY,KACZxT,IAAK3E,EAAM2E,IACXuxB,cAAetoB,GACf1L,IAAKoc,QAKRi8B,GACAz3C,IAAAxD,cAAA,OAAK2O,UAAU,4BACdnL,IAAAxD,cAAC2Z,KAAM,CACN0J,qBAAoBW,EACpBrV,UAAU,UACVuL,QAAQ,UACRN,SAA0B,YAAhB1V,EAAM5B,MAChB6gB,QAAS,WACR63B,EAAS5qB,EAAQ,GACjBjqB,EAAQjI,KAAK,GAADyH,OACRK,EAASivC,SAAQ,WAAAtvC,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,OAOlB+2B,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGrpB,UAAU,cACrCnL,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,QC0DhB2S,GAjK2D,SAAHl/C,GAQhE,IAPNkR,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACAxc,EAAkBvf,EAAlBuf,mBACAyN,EAAmBhtB,EAAnBgtB,oBACA3sB,EAAML,EAANK,OACAg1C,EAAYr1C,EAAZq1C,aACA9I,EAAWvsC,EAAXusC,YAEMhrC,EAAWyU,eACXtU,EAAUuW,eAEhBqU,EAAsBC,aAAWvC,IAA0BwC,EAAAna,aAAAia,EAAA,GAApD7sB,EAAK+sB,EAAA,GAAEC,EAAID,EAAA,GAClBta,EAA0BC,mBAAS,GAAEC,EAAAC,aAAAH,EAAA,GAA9ByZ,EAAKvZ,EAAA,GAAEmkC,EAAQnkC,EAAA,GACtBG,EAAwCJ,mBAAS,IAAGK,EAAAH,aAAAE,EAAA,GAA7C4sC,EAAY3sC,EAAA,GAAE4sC,EAAe5sC,EAAA,GACpCG,EAA0BR,mBAAS6a,GAAoBpa,EAAAP,aAAAM,EAAA,GAAhDkX,EAAKjX,EAAA,GAAEysC,EAAQzsC,EAAA,GAElBnT,EAAM0qB,QAAQnwB,SACjBq7C,EAAe51C,EAAM0qB,QAAQnwB,QAG9B,IAAMslD,EACLjK,EAAa3kC,OAAS2kC,EAAaxrB,MAAQmD,EACtCwpB,EAAUnB,EAAa3kC,OAAS2kC,EAAaxrB,MAAQwrB,EAAa7nB,MAClE1D,EAAYurB,EAAavrB,UACzBomB,EAAOmF,EAAatuC,aAAamZ,MACtC,SAAC21B,GAAC,MAAgB,wBAAXA,EAAEpvC,QAgBV,OAbA8R,qBAAU,YACLoT,EAAQ,GAAKwzB,EAAahmD,OAAS,IACtCszB,EAAK,QAAS,CACb/b,OAAQ,EACRmZ,MAAOA,EACPC,YACAzpB,SACA6F,OAAQi5C,MAIR,CAACxzB,EAAOwzB,IAGVpgD,IAAAxD,cAACgkC,GAAU,KACVxgC,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAEFnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBkkB,KAIJh9B,IAAAxD,cAAC03B,KAAI,CAAC1iB,SAAS,EAAOZ,QAAQ,EAAOzF,UAAU,sBAC9CnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGrpB,UAAU,gBACrCnL,IAAAxD,cAAC2xB,KAAiB,KAChBgjB,GACAnxC,IAAAxD,cAAAwD,IAAAiU,SAAA,KACEk9B,EAAKvqC,QAAQW,KACb,SACC6G,EACAoN,GAEA,OACCxb,IAAAxD,cAAC4xB,KAAY,CACZT,UACmB,IAAlBvf,EAAK/G,UAAoB+G,EAAK/G,SAE/BgO,KAAMjH,EAAKxQ,KACXwB,IAAKoc,EACLmE,QAAS,SAAC7jB,GACTukD,EAAgB,GAADl+C,OAAIgvC,EAAKzpC,KAAI,KAAAvF,OAAIiM,EAAK9G,OACrCg5C,EAASryB,GACTtrB,EAAQjI,KAAK,GAADyH,OACRK,EAASivC,SAAQ,WAAAtvC,OAAU2oB,EAAK,KAAA3oB,OAAIgvC,EAAKzpC,KAAI,KAAAvF,OAAIiM,EAAK9G,eAUlEtH,IAAAxD,cAACwuC,KAAiB,KAChBsL,EAAakK,eAAej5C,KAC5B,SAACrK,EAA2Bse,GAC3B,OACCxb,IAAAxD,cAACyuC,KAAqB,CACrBC,SAAUhuC,EAAMiuC,MAAMC,IACtBC,WAAYnuC,EAAMiuC,MAAMG,eACxBC,OAAQruC,EAAMsuC,IAAIJ,IAClBK,SAAUvuC,EAAMsuC,IAAIF,eACpBn5B,QAASjV,EAAMiV,QACfq4B,SAAUttC,EAAMstC,SAChBn1B,KAAMnY,EAAMmY,KACZxT,IAAK3E,EAAM2E,IACX6pC,WAAY4K,EAAa3K,kBACzBvY,cAAetoB,GACf1L,IAAKoc,QAOTi8B,GACAz3C,IAAAxD,cAAA,OAAK2O,UAAU,4BACdnL,IAAAxD,cAAC2Z,KAAM,CACN0J,qBAAoBW,EACpBrV,UAAU,UACVuL,QAAQ,UACRN,SAA0B,YAAhB1V,EAAM5B,MAChB6gB,QAAS,WACR63B,EAAS5qB,EAAQ,GACjB0zB,EAASC,GACT59C,EAAQjI,KAAK,GAADyH,OACRK,EAASivC,SAAQ,WAAAtvC,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,OAOlB+2B,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGrpB,UAAU,mBACrCnL,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,QCxDhBiT,GArGyC,SAAHx/C,GAQ9C,IAPNkR,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACA3nB,EAAIpU,EAAJoU,KACA45B,EAAehuC,EAAfguC,gBACAD,EAAa/tC,EAAb+tC,cACA4J,EAAW33C,EAAX23C,YACApL,EAAWvsC,EAAXusC,YAEM2B,EAAYlY,KAElB,OACCj3B,IAAAxD,cAACgkC,GAAU,KACToY,GACA54C,IAAAxD,cAACs8C,KAAW,CACXj8C,IAAK+7C,EAAY/7C,IACjBkf,IAAK68B,EAAYG,QACjB/oB,WAAY4oB,EAAYvjC,KACxBlK,UAAU,oBAGZnL,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAWoM,aACVqhC,EAAc,eAAiB,gBAC/B,iBAGD54C,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAED68B,GACAhvC,IAAAxD,cAAC4yC,KAAa,CACbhG,UAAW4F,EAAc5F,UACzB9B,OAAQ0H,EAAc1H,OACtBn8B,UAAU,QAET6jC,EAAcrmB,YAAcqmB,EAAcrmB,WAAWvuB,OAAS,GAC9D4F,IAAAxD,cAAC8yC,KAAyB,KACxBN,EAAcrmB,WAAWphB,KAAI,SAACijC,EAAUhvB,GACxC,OACCxb,IAAAxD,cAAC+yC,KAAqB,CACrBnwC,IAAKoc,EACL3Z,IAAK2oC,EAAS3oC,IACdwT,KAAMm1B,EAASn1B,KACf+d,cAAetoB,YAUxB9K,IAAAxD,cAAC03B,KAAI,CACJtjB,QAAQ,EACRY,SAAS,EACTrG,UAAWoM,aAAK03B,GAAmB,mBAAoB,iBAEtDE,GAAaF,GACbjvC,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,EAAGppB,UAAU,gBACxBnL,IAAAxD,cAACgzC,MAAG,CACHr9B,QAAS88B,EAAgB98B,QACzBlJ,MAAOgmC,EAAgBQ,SACvByJ,OAAQjK,EAAgBkK,UAEvBlK,EAAgBS,OAAOnoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACmzC,MAAO,CAACltC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,WAOXrV,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBkkB,IAEAmS,GAAaF,GACdjvC,IAAAxD,cAACgzC,MAAG,CAACr9B,QAAS88B,EAAgB98B,QAASlJ,MAAO,GAAIkC,UAAU,QAC1D8jC,EAAgBS,OAAOnoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACmzC,MAAO,CAACltC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,UAKVrV,IAAAxD,cAACsb,GAAY,CAACgB,KAAK,OAAOf,UAAe,OAAJ1C,QAAI,IAAJA,OAAI,EAAJA,EAAM0C,cAG5Cy1B,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,MC8CdkT,GAtI+B,SAAHz/C,GAAkC,IAA5BkR,EAAOlR,EAAPkR,QAASq7B,EAAWvsC,EAAXusC,YACnDhrC,EAAWyU,eACXs6B,EAAchmC,YAAYjH,GAC1BsI,EAAWrB,YAAY7G,GACrB4P,EAAUoJ,KAAYjV,MAAMjG,EAASuD,QAArCuO,MACFmJ,EAAOD,KACbrK,EAAsCC,mBAASqK,GAAKpK,EAAAC,aAAAH,EAAA,GAA7CwtC,EAAWttC,EAAA,GAAEutC,EAAcvtC,EAAA,GAC5BquB,EAAiBn2B,YAAYzF,GAC7BnD,EAAUuW,eACV/O,IAAsB,OAAdu3B,QAAc,IAAdA,OAAc,EAAdA,EAAgBzT,sBAAuB,IAAM0yB,EAE3DpzB,EAAsBC,aAAW+H,GAAe,CAC/CnK,QAAS,CACR9pB,QAAsB,OAAdogC,QAAc,IAAdA,OAAc,EAAdA,EAAgBpgC,SAAU,GAClC6I,UAEAsjB,EAAAna,aAAAia,EAAA,GALK7sB,EAAK+sB,EAAA,GAAEC,EAAID,EAAA,GAwClB,OAjCAjU,qBAAU,WACTkU,EAAK,SAAU,CAAE5uB,MAAOwV,EAAOnK,SAC3BonC,GACChvC,OAAOqW,WAAarW,OAAOqW,UAAUle,MACxC6H,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,WACPs0C,SAAS,GAADrvC,OAAKovC,EAAY1vC,KAAGM,OAAGK,EAASuD,QACxC2rC,UAAmB,OAAR9kC,QAAQ,IAARA,OAAQ,EAARA,EAAUE,UAKtB,CAACwH,EAAOnK,EAAMujB,IAEjBlU,qBAAU,WACTonC,EAAenjC,KACb,CAACA,IAEJjE,qBAAU,WAAO,IAADqnC,EAAAC,GAET,OAALpgD,QAAK,IAALA,GAAc,QAATmgD,EAALngD,EAAO0qB,eAAO,IAAAy1B,GAAQ,QAARC,EAAdD,EAAgB5lD,cAAM,IAAA6lD,OAAjB,EAALA,EAAwBrd,UACgB,IAAxC/iC,EAAM0qB,QAAQnwB,OAAOwoC,QAAQrpC,QAEzBmI,OAAOqW,WAAarW,OAAOqW,UAAUle,MACxC6H,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,gBACP6jD,YAAazsC,MAKd,CAAC5T,IAGHV,IAAAxD,cAACgkC,GAAU,KACVxgC,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,2CAEVnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,EACgB,YAAhBzR,EAAM5B,QAAwB4B,EAAM0qB,QAAQnwB,QAC5C+E,IAAAxD,cAAAwD,IAAAiU,SAAA,KACE,IACDjU,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,SAASE,QAAQ,OAAOrM,KAAM,MAI3CzJ,EAAM0qB,QAAQnwB,QAAUyF,EAAM0qB,QAAQnwB,OAAOwoC,SAC7CzjC,IAAAxD,cAAA,OAAK2O,UAAU,QACdnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,WAAWlD,GAAG,cACrClV,EAAM0qB,QAAQnwB,OAAO0oC,aAAa,gCAClCjjC,EAAM0qB,QAAQ9W,MAAM,YAKvB5T,EAAM0qB,QAAQnwB,QAAUyF,EAAM0qB,QAAQnwB,OAAOwoC,SAC7CzjC,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAC4nC,KAAgB,KACf1jC,EAAM0qB,QAAQnwB,OAAOwoC,QAAQl8B,KAC7B,SAAC6G,GAA+B,IAAD4yC,EACxB3c,EAAaj2B,EACnB,OACCpO,IAAAxD,cAAC8nC,KAAoB,CACpBllC,IAAKilC,EAAWj7B,WAChBvH,IAAKwiC,EAAWxiC,IAChBuxB,cAAetoB,GACf0/B,SAAgC,QAAxBwW,EAAE3c,EAAW5/B,mBAAW,IAAAu8C,OAAA,EAAtBA,EAAwBv8C,YAChC8C,KAAI,SAAC05C,GAAE,OAAKA,EAAG5rC,QACf5N,KAAK,OACP0K,QAASkyB,EAAWlyB,QACpBkD,KAAMgvB,EAAWE,cAMrB7jC,EAAM0qB,QAAQnwB,OAAO0oC,aACrBjjC,EAAM0qB,QAAQnwB,OAAOkP,MACrBnK,IAAAxD,cAAC2Z,KAAM,CACN+qC,aAAa,UACb/2C,KAAK,QACLuM,QAAQ,UACRN,SAA0B,YAAhB1V,EAAM5B,MAChBqiD,UAAU,EACVxhC,QAAS,WACRhd,EAAQjI,KAAK,GAADyH,OACRK,EAASivC,SAAQ,WAAAtvC,OAAUmS,EAAK,UAAAnS,OAClCw+C,EAAc,MAKF,OAAdjf,QAAc,IAAdA,OAAc,EAAdA,EAAgBkC,oBAAqB,IACrB,YAAhBljC,EAAM5B,OACNkB,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,SAASC,MAAM,QAAQC,QAAQ,SAE1B,YAAhB9V,EAAM5B,OACNkB,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,UAAUmJ,UAAU,KAAKlJ,MAAM,cAQhDi3B,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,M,SCxEd4T,GAjE6C,SAAHngD,GAQlD,IAPNrD,EAAIqD,EAAJrD,KACAyjD,EAAiBpgD,EAAjBogD,kBACA35C,EAAIzG,EAAJyG,KACAd,EAAO3F,EAAP2F,QACAmO,EAAQ9T,EAAR8T,SACAa,EAAE3U,EAAF2U,GACA0rC,EAASrgD,EAATqgD,UAEMC,EAAiB,SAAC1G,GACvB,IAAM2G,EAAkB56C,EAAQO,QAC/B,SAACiH,GAAI,OAAKA,EAAK9G,OAASuzC,EAAOvzC,MAAQ8G,EAAK/G,YAEzCo6C,EAAgB,GAGnBA,EADG5G,EAAOxzC,SACGq6C,aAAOF,GAEP,GAAAr/C,OAAAu/C,aACTF,GAAe,CAClBnnD,OAAO+N,OAAO,GAAIyyC,EAAQ,CAAExzC,UAAU,MAGxC,IAAMJ,EAAc5M,OAAO+N,OAC1B,GACA,CACCxK,OACA8J,OACAd,QAAS66C,IAGX1sC,EAAS9N,IAEV+T,EAAkBC,eACZ0mC,GAAMzmC,EADe5H,aAAA0H,EAAA,GAAb,MAGd,OACChb,IAAAxD,cAACy+C,KAAmB,CACnB9vC,UAAU,8BACV+vC,aAAa,YACbtlC,GAAE,UAAAzT,OAAYyT,EAAE,KAAAzT,OAAIw/C,GACpB14B,OAAQrrB,EACRyjD,kBAAmBA,EACnBO,gBAAgB,EAChBC,kBAAkB,SAClB/G,gBAAiBl0C,EAAQO,QAAO,SAAC0zC,GAAM,OAAKA,EAAOxzC,YAAUjN,QAE5DwM,EAAQW,KAAI,SAACszC,EAAQr/B,GAAK,OAC1Bxb,IAAAxD,cAAC2+C,KAAiB,CACjBhwC,UAAU,SACVyK,GAAE,UAAAzT,OAAYyT,EAAE,KAAAzT,OAAIqZ,GACpBpc,IAAKoc,EACL1c,MAAO+7C,EAAOvzC,KACd1J,KAAM8J,EACNkzC,QAASC,EAAOxzC,SAChBg0C,cAAaiG,EACbvsC,SAAU,kBAAMwsC,EAAe1G,KAE9BA,EAAOvzC,WCjBEw6C,GA9CiC,SAAH7gD,GAOtC,IANNrD,EAAIqD,EAAJrD,KACAJ,EAAIyD,EAAJzD,KACAkK,EAAIzG,EAAJyG,KACAd,EAAO3F,EAAP2F,QACAmO,EAAQ9T,EAAR8T,SACAusC,EAASrgD,EAATqgD,UAEMS,EAAe,SAAClH,GACrB,IAAM5zC,EAAc5M,OAAO+N,OAC1B,GACA,CACCxK,OACAJ,OACAkK,OACAd,QAAS,CAACvM,OAAO+N,OAAO,GAAIyyC,EAAQ,CAAExzC,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,SAACszC,GACd,OACC76C,IAAAxD,cAACwlD,MAAe,CACf5iD,IAAG,GAAA+C,OAAKuF,EAAI,KAAAvF,OAAI04C,EAAOvzC,MACvBsO,GAAE,GAAAzT,OAAKuF,EAAI,KAAAvF,OAAI04C,EAAOvzC,MACtB1J,KAAI,GAAAuE,OAAKuF,GACT5I,MAAO+7C,EAAOvzC,KACdszC,QAASC,EAAOxzC,SAChBg0C,cAAaiG,EACbvsC,SAAU,kBAAMgtC,EAAalH,KAE5BA,EAAOvzC,YCiBA26C,GAnD6C,SAAHhhD,GAOlD,IANNrD,EAAIqD,EAAJrD,KACA8J,EAAIzG,EAAJyG,KACAd,EAAO3F,EAAP2F,QACAmO,EAAQ9T,EAAR8T,SACAssC,EAAiBpgD,EAAjBogD,kBACAC,EAASrgD,EAATqgD,UAEMS,EAAe,SAAClH,GACrB,IAAM5zC,EAAc5M,OAAO+N,OAC1B,GACA,CACCxK,OACA8J,OACAd,QAAS,CAACvM,OAAO+N,OAAO,GAAIyyC,EAAQ,CAAExzC,UAAU,OAIlD0N,EAAS9N,IAaV,OACCjH,IAAAxD,cAAC0lD,MAAoB,CACpBj5B,OAZgB,WACjB,IAAIk5B,EAAiBv7C,EAAQua,MAAK,SAAC05B,GAAM,OAAKA,EAAOxzC,YAErD,OAAI86C,EACIA,EAAe76C,KAEf1J,EAMCwkD,GACRf,kBAAmBA,EACnBO,gBAAgB,EAChBz2C,UAAU,sBAETvE,EAAQW,KAAI,SAACszC,EAAQr/B,GAAK,OAC1Bxb,IAAAxD,cAAC6lD,MAAkB,CAClBjjD,IAAKoc,EACLnG,KAAMwlC,EAAOvzC,KACbxI,MAAO+7C,EAAOvzC,KACd+zC,cAAaiG,EACbvsC,SAAU,kBAAMgtC,EAAalH,WC4FnByH,GAtIwB,SAAHrhD,GAI7B,IAHNshD,EAAYthD,EAAZshD,aACAxtC,EAAQ9T,EAAR8T,SACAynC,EAAev7C,EAAfu7C,gBA8FA,OACCx8C,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAA,OAAK2O,UAAU,uBA9CU,WAC1B,IAAImwC,EAAwC,GAe5C,OAdAiH,EAAavvC,SAAQ,SAACwvC,GACrBA,EAAYx6C,aAAagL,SAAQ,SAAC7L,GAAM,OACvCA,EAAOP,QAAQoM,SAAQ,SAAC6nC,EAAQr/B,GAC3Bq/B,EAAOxzC,UACVi0C,EAAgB5gD,KAAK,CACpB6gD,SAAS,GAADp5C,OAAKgF,EAAOO,KAAI,KAAAvF,OAAIqZ,GAC5BggC,WAAYX,EAAOvzC,KACnBm7C,WAAYt7C,EAAOO,KACnB45C,UAAWkB,EAAYlB,qBAMrBhG,EA+BJG,GAAqBl0C,KAAI,SAAC6G,EAAMlU,GAAC,OACjC8F,IAAAxD,cAACk/C,KAAU,CACV/7B,QAAS,kBA9BS,SAACk7B,GACvB,IAII5zC,EAJSuB,KAAKC,MAAMD,KAAKgB,UAAU+4C,IACpBphC,MAClB,SAACuhC,GAAU,OAAKA,EAAMpB,YAAczG,EAAOyG,aAEpBt5C,aAAamZ,MACpC,SAACxH,GAAM,OAAKA,EAAEjS,OAASmzC,EAAO4H,cAGzB3H,EAAkB7zC,EAAYL,QAAQO,QAC3C,SAACiH,GAAS,OAAKA,EAAK9G,OAASuzC,EAAOW,YAAcptC,EAAK/G,YAGlDs7C,EAAMtoD,OAAO+N,OAClB,GACA,CACCxK,KAAMqJ,EAAYrJ,KAClB8J,KAAMT,EAAYS,KAClBd,QAASk0C,IAIX/lC,EAAS4tC,GAQUC,CAAex0C,IAC9BjD,UAAU,yDACV2B,MAAOsB,EAAKotC,WACZp8C,IAAKlF,EACL2lB,qBAAoB28B,EACpB19C,MAAOsP,EAAKotC,YAEZx7C,IAAAxD,cAAA,QAAM2O,UAAU,WAAWqxC,GAC3Bx8C,IAAAxD,cAAA,QAAM2O,UAAU,qBAAqBiD,EAAKotC,iBAI5C+G,EAAah7C,KAAI,SAACi7C,EAAahnC,GAC/B,OACCxb,IAAAxD,cAACqmD,KAAU,CACV1wC,QAASqwC,EAAYlB,UACrB1rC,GAAI4sC,EAAYlB,UAChBn2C,UAAWoM,aAAe,IAAViE,GAAe,iBAC/Bpc,IAAKoc,EACLs/B,gBAAiB0H,EAAY1H,gBAC7BniC,UAAU,GAET6pC,EAAYx6C,aAAaT,KAAI,SAACN,GAAW,OAvHtB,SACxBA,EACAq6C,GAEA,OAAQr6C,EAAY67C,gBACnB,IAAK,QACJ,OACC9iD,IAAAxD,cAACslD,GAAW,CACX1iD,IAAK6H,EAAYS,KACjBqN,SAAUA,EACVnX,KAAMqJ,EAAYrJ,KAClB8J,KAAMT,EAAYS,KAClBd,QAASK,EAAYL,QACrBpJ,KAAMyJ,EAAYzJ,KAClB8jD,UAAWA,IAGd,IAAK,cACJ,OACCthD,IAAAxD,cAAC4kD,GAAiB,CACjBhiD,IAAK6H,EAAYS,KACjBkO,GAAI3O,EAAYS,KAChBqN,SAAUA,EACVnX,KAAMqJ,EAAYrJ,KAClB8J,KAAMT,EAAYS,KAClBd,QAASK,EAAYL,QACrBy6C,kBAAmBp6C,EAAYo6C,mBAAqB,GACpDC,UAAWA,IAGd,IAAK,SACJ,OACCthD,IAAAxD,cAACylD,GAAkB,CAClB7iD,IAAK6H,EAAYS,KACjB9J,KAAMqJ,EAAYrJ,KAClB8J,KAAMT,EAAYS,KAClBd,QAASK,EAAYL,QACrBmO,SAAUA,EACVssC,kBAAmBp6C,EAAYo6C,mBAAqB,GACpDC,UAAWA,KAiFVyB,CAAiB97C,EAAau7C,EAAYlB,oBCxFlCld,GArC2B,SAAHnjC,GAAwB,IAAlB+hD,EAAU/hD,EAAV+hD,WAgC5C,OACChjD,IAAAxD,cAACymD,KAAkB,KAAY,OAAVD,QAAU,IAAVA,OAAU,EAAVA,EAAYz7C,KAhCZ,SAAC6G,EAA2BoN,GAAmB,IAAD0nC,EACnE,OAAQ90C,EAAKK,WACZ,IAAK,kBACJ,IAAM00C,EAAgB/0C,EACtB,OACCpO,IAAAxD,cAAC4mD,KAAmB,CACnBhkD,IAAKoc,EACL3Z,IAAKshD,EAActhD,IACnBsQ,QAASgxC,EAAchxC,QACvB+6B,IAAKiW,EAAcx6B,WAAWphB,KAAI,SAAC6G,GAAI,OAAKA,KAAM3G,KAAK,MACvDmvC,SAAUuM,EAAc9W,iBACxBjZ,cAAetoB,KAGlB,QACC,IAAMu4C,EAAaj1C,EACnB,OACCpO,IAAAxD,cAAC8nC,KAAoB,CACpBllC,IAAKoc,EACL3Z,IAAKwhD,EAAWxhD,IAChB2oC,SAAgC,QAAxB0Y,EAAEG,EAAW5+C,mBAAW,IAAAy+C,OAAA,EAAtBA,EAAwBz+C,YAChC8C,KAAI,SAAC05C,GAAE,OAAKA,EAAG5rC,QACf5N,KAAK,OACP0K,QAASkxC,EAAWlxC,QACpBkD,KAAMguC,EAAW9e,QACjBnR,cAAetoB,WCvBNw4C,GAfsB,SAAHriD,GAAiC,IAA3BkK,EAASlK,EAATkK,UAAWF,EAAQhK,EAARgK,SAClD,OACCjL,IAAAxD,cAAA,OACC+xB,KAAK,UACL8B,aAAW,UACXllB,UAAWoM,aACVpM,EACA,oFAGAF,ICkCWs4C,GA5ByB,SAAHtiD,GAM9B,IALNuiD,EAAOviD,EAAPuiD,QAAOnF,EAAAp9C,EACP8C,eAAO,IAAAs6C,GAAQA,EACf1wB,EAAQ1sB,EAAR0sB,SACAgW,EAAY1iC,EAAZ0iC,aAAY8f,EAAAxiD,EACZ0e,eAAO,IAAA8jC,EAAG,aAAQA,EAElB,OACCzjD,IAAAxD,cAAA,UACC2e,WAAUqoC,EAAQ5lD,KAClBwB,IAAKokD,EAAQ3hD,IACb0sB,KAAK,MACLpjB,UAAWoM,aACV,8KACAoW,GAAY,yBAEbhO,QAAS,kBAAMA,EAAQ6jC,KAEtBA,EAAQ5lD,KACRmG,EACA/D,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,SAASE,QAAS,OAAQrL,UAAU,SAE/CnL,IAAAxD,cAAA,QAAM2O,UAAU,QAAM,IAAAhJ,OAAMwhC,EAAY,QCRtC59B,GAAmB,eAAA9E,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOC,EAAQ8pB,GAAO,IAAA6oB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA9wC,EAAA/J,EAAA,OAAAuH,IAAAY,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EAC1BE,IAAM1D,IAAI,GAADyD,OAAIb,EAAM,KAAAa,OAAW,OAAPipB,QAAO,IAAPA,OAAO,EAAPA,EAAS5pB,aAAe,CACrEgT,QAAS,CACR,sBACO,QAANy/B,EAAA1xC,cAAM,IAAA0xC,GAAS,QAATC,EAAND,EAAQS,eAAO,IAAAR,GAAW,QAAXC,EAAfD,EAAiBrxC,iBAAS,IAAAsxC,OAApB,EAANA,EAA4BrxC,UAAWP,OAAOQ,UAC/C,oBACO,QAANqxC,EAAA7xC,cAAM,IAAA6xC,GAAS,QAATC,EAAND,EAAQM,eAAO,IAAAL,GAAW,QAAXC,EAAfD,EAAiBxxC,iBAAS,IAAAyxC,OAApB,EAANA,EAA4BxxC,UAAWP,OAAOQ,UAC/C,mBACO,QAANwxC,EAAAhyC,cAAM,IAAAgyC,GAAS,QAATC,EAAND,EAAQG,eAAO,IAAAF,GAAW,QAAXC,EAAfD,EAAiB3xC,iBAAS,IAAA4xC,OAApB,EAANA,EAA4B3xC,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,GAeZiyB,GAAgBrK,aAC5B,CACCtV,GAAI,gBACJuV,QAAS,OACTC,QAAS,CACRvpB,IAAK,GACLP,OAAQ,GACRgT,MAAO,GACP9S,YAAa,GACbmQ,OAAQ,EACRmZ,MAAO,EACP44B,QAAS,KACT/f,aAAc,EACd1V,oBAAqB,EACrBwV,QAAS,GACT8e,aAAc,GACdoB,qBAAsB,GACtBC,QAAS,KACT5mD,WAAOc,EACP+lD,OAAQ,MAETx4B,OAAQ,CACPC,KAAM,GACNvnB,QAAS,CACRwnB,OAAQ,CACP3V,GAAI,UACJ/Y,IAAK,SAACuuB,EAASluB,GACd,OAAO6I,GAAOqlB,EAAQ9pB,OAAQ8pB,IAE/BI,OAAQ,CACP9tB,OAAQ,UACRqD,QAAS,mBAEV0qB,QAAS,CACR/tB,OAAQ,UACRqD,QAASqH,aAAO,CACfpL,MAAO,SAAC8mD,EAAG5mD,GACV,MAAM,SAANiF,OAAgBjF,EAAMtD,KAAK+a,SAASwkB,OAAM,OAAAh3B,OAAMjF,EAAMtD,KAAK+a,SAASykB,kBAMzEzN,QAAS,GACTC,QAAS,GACTgpB,SAAU,CACTC,MAAO,CAAC,gBACRC,OAAQ,CAAC,CAAEp3C,OAAQ,WAGrBmuB,GAAI,CACHk4B,KAAM,CACLrmD,OAAQ,UACRqD,QAAS,CAAC,cAAe,mBAE1BijD,aAAc,CACbtmD,OAAQ,UACRqD,QAAS,CAAC,cAAe,iBAAkB,cAE5Cg0C,MAAO,WACPkP,UAAW,CACVvmD,OAAQ,UACRqD,QAAS,CAAC,WAAY,iBAAkB,cAEzCmjD,WAAY,CACXnjD,QAAS,aAEVojD,cAAe,CACdzmD,OAAQ,UACRqD,QAAS,CAAC,eAAgB,iBAAkB,cAE7CqjD,cAAe,CACd1mD,OAAQ,UACRqD,QAAS,CAAC,eAAgB,iBAAkB,cAE7CsjD,KAAM,CACL3mD,OAAQ,UACRqD,QAAS,CAAC,OAAQ,iBAAkB,gBAIvC,CACCA,QAAS,CACRi0C,aAAc5sC,aAAO,CACpB9G,OAAQ,SAAC8pB,EAASluB,GAAU,OAAKA,EAAMoE,QAAU8pB,EAAQ9pB,QACzDgT,MAAO,SAAC8W,EAASluB,GAAU,OAAKA,EAAMoX,OAAS8W,EAAQ9W,OACvDmvB,QAAS,SAACrY,EAASluB,GAAU,OAAKA,EAAM8G,OAASonB,EAAQqY,WAE1D6gB,UAAW,SAACl5B,EAASluB,GAChBkuB,EAAQ5pB,YACX4pB,EAAQy4B,OAAOnpD,KAAK,GAADyH,OAAIipB,EAAQvpB,IAAG,KAAAM,OAAIipB,EAAQ5pB,cAE9C4pB,EAAQy4B,OAAOnpD,KAAK,GAADyH,OAAIipB,EAAQvpB,OAGjC0iD,eAAgBn8C,aAAO,CACtB5G,YAAa,SAAC4pB,EAASluB,GACtB,IAAMsE,EAAcgF,EAAkB,CACrC8N,MAAO8W,EAAQ9W,MACfwW,MAAOM,EAAQN,MACf9iB,aAAcojB,EAAQu4B,qBACtBD,QAASt4B,EAAQs4B,UAGlB,OAAOliD,GAAe,MAGxBmS,gBAAiBvL,aAAO,CACvBu7B,aAAc,SAACvY,EAASluB,GAAK,OAAKA,EAAMtD,KAAKA,KAAK+pC,cAClD4e,aAAc,SAACn3B,EAASluB,GAAK,OAAKA,EAAMtD,KAAKA,KAAK2oD,cAClDqB,QAAS,SAACx4B,EAASluB,GAAK,OAAKA,EAAMtD,KAAKA,KAAKgqD,SAC7CngB,QAAS,SAACrY,EAASluB,GAAK,OAAKA,EAAMtD,KAAKA,KAAK6pC,WAE9C+gB,UAAW,SAACp5B,EAASluB,GACpB,IAAMsE,EAAcgF,EAAkB,CACrC8N,MAAO8W,EAAQ9W,MACfwW,MAAO5tB,EAAM4tB,MACb9iB,aAAc9K,EAAM8K,aACpB07C,QAASxmD,EAAMwmD,UAGZliD,EACH4pB,EAAQy4B,OAAOnpD,KAAK,GAADyH,OAAIjF,EAAM2E,IAAG,KAAAM,OAAIX,IAEpC4pB,EAAQy4B,OAAOnpD,KAAK,GAADyH,OAAIjF,EAAM2E,OAG/B4iD,aAAcr8C,aAAO,CACpB0iB,MAAO,SAACM,EAASluB,GAAK,OAAKkuB,EAAQ6C,qBACnC01B,qBAAsB,SAACv4B,EAASluB,GAAK,OAAK,QAE3CwnD,YAAat8C,aAAO,CACnB0iB,MAAO,SAACM,EAASluB,GAAK,OAAKkuB,EAAQ6C,qBACnC3Z,MAAO,SAAC8W,EAASluB,GAAK,OAAKA,EAAMoX,OACjCqvC,qBAAsB,SAACv4B,EAASluB,GAC/B,OAAOA,EAAMymD,wBAGfgB,SAAUv8C,aAAO,CAChB0iB,MAAO,SAACM,EAASluB,GAAK,OAAKA,EAAM4tB,OACjC64B,qBAAsB,SAACv4B,EAASluB,GAC/B,OAAOA,EAAMymD,wBAGfiB,aAAcx8C,aAAO,CACpB0iB,MAAO,SAACM,EAASluB,GAAK,OAAKkuB,EAAQ6C,qBACnC01B,qBAAsB,SAACv4B,EAASluB,GAC/B,IAAQ+J,EAAgB/J,EAAhB+J,YAGF49C,GAFuBz5B,EAAQu4B,sBAAwB,IAEZx8C,QAChD,SAACwS,GAAC,OAAKA,EAAEjS,OAAST,EAAYS,QAK/B,OAFAm9C,EAAoBnqD,KAAKuM,GAElB49C,KAGTjoC,KAAMxU,aAAO,CACZ0iB,MAAO,SAACM,EAASluB,GAAK,OAAKkuB,EAAQ6C,qBACnCy1B,QAAS,SAACt4B,EAASluB,GAAK,OAAKA,EAAMwmD,cCtKxBoB,GA1CyB,SAAH7jD,GAAkC,IAA5B+qB,EAAU/qB,EAAV+qB,WAAY/gB,EAAQhK,EAARgK,SACtDkI,EAAgCC,oBAAS,GAAMC,EAAAC,aAAAH,EAAA,GAAxCwF,EAAQtF,EAAA,GAAEmpB,EAAWnpB,EAAA,GACtB0xC,EAAc/wC,mBACpBqY,aAAgB04B,GAAa,WAC5BvoB,GAAY,MAeb,OAJAhjB,qBAAU,WACTgjB,GAAY,KACV,CAACxQ,IAGHhsB,IAAAxD,cAAA,OAAK2O,UAAU,WAAWyL,IAAKmuC,GAC9B/kD,IAAAxD,cAAA,UACCmjB,QAAS,kBAAM6c,GAAa7jB,IAC5B2T,gBAAc,YACdC,gBAAe5T,EACfxN,UAAU,iBAEVnL,IAAAxD,cAAA,YAAOwvB,GACPhsB,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,IAAM2nC,SAASpgC,IAAI0D,GAAU,SAAC28B,EAAOpsB,GAC3C,OACCxb,IAAAxD,cAAA,MAAI4C,IAAKoc,GAAQxb,IAAM6nC,aAAaD,EAAOA,EAAM9gB,OAAS,QAyB/BghB,CAAe78B,OC6hB/B+5C,GA7hB6C,SAAH/jD,GAelD,IAADgkD,EAAAC,EAAAC,EAAAC,EAdLjzC,EAAOlR,EAAPkR,QACAkzC,EAAQpkD,EAARokD,SACAp3B,EAAmBhtB,EAAnBgtB,oBACAzN,EAAkBvf,EAAlBuf,mBACA8kC,EAAYrkD,EAAZqkD,aACKC,EAAUtkD,EAAfY,IACA2jD,EAAcvkD,EAAdukD,eACAC,EAAexkD,EAAfwkD,gBACAC,EAAYzkD,EAAZykD,aACAC,EAAkB1kD,EAAlB0kD,mBACAjJ,EAAaz7C,EAAby7C,cACAF,EAAev7C,EAAfu7C,gBACAoJ,EAAc3kD,EAAd2kD,eACAC,EAAoB5kD,EAApB4kD,qBAEMrjD,EAAWyU,eACT3C,EAAUoJ,KAAYjV,MAAMjG,EAASuD,QAArCuO,MACF3R,EAAUuW,eACVmhC,EAAgBC,eAChBhZ,EAAwBttB,iBAAY,MACpCwtB,EAAsBxtB,iBAAY,MAClCqtB,EAAWvK,KACX4R,EAAW3R,KACXoY,EAAYlY,KAClB9jB,EAA0CC,oBAAS,GAAMC,EAAAC,aAAAH,EAAA,GAAlD2yC,EAAazyC,EAAA,GAAE0yC,EAAgB1yC,EAAA,GACtCG,EAAsCJ,oBACL,QAAhC6xC,EAAAI,EAASlkC,MAAK,SAAC21B,GAAC,OAAKA,EAAEnpB,mBAAS,IAAAs3B,OAAA,EAAhCA,EAAkCrvC,KAAM,OACxCnC,EAAAH,aAAAE,EAAA,GAFMwyC,EAAWvyC,EAAA,GAAEwyC,EAAcxyC,EAAA,GAG5ByyC,EAA0B,SAAC3D,GAChC,IAAIr6C,EAAc,GAKlB,OAJAq6C,EAAavvC,SAAQ,SAACwvC,GACrBt6C,EAAK/F,OAAO4F,GAAsBy6C,EAAYx6C,kBAGxCE,GAGFi+C,EAAqB,SAACC,GAC3B,IAAI5C,EAAU6B,EAASlkC,MAAK,SAAC21B,GAAC,OAAKA,EAAElhC,KAAOwwC,KAE5C,MAAO,CACNvkD,IAAY,OAAP2hD,QAAO,IAAPA,OAAO,EAAPA,EAAS3hD,IACdP,OAAe,OAAPkiD,QAAO,IAAPA,OAAO,EAAPA,EAASliD,OACjBgT,MAAOA,EACPqvB,cAAqB,OAAP6f,QAAO,IAAPA,OAAO,EAAPA,EAAS71B,UAAW23B,EAAa3hB,aAAe,EAC9D1V,oBAAqBA,EACrBnD,MAAOw6B,EAAax6B,MACpBnZ,OAAQ2zC,EAAa3zC,OACrB4wC,cAAqB,OAAPiB,QAAO,IAAPA,OAAO,EAAPA,EAAS71B,UAAW23B,EAAa/C,aAAe,GAC9DoB,sBAA6B,OAAPH,QAAO,IAAPA,OAAO,EAAPA,EAAS71B,UAC5Bu4B,EAAwBZ,EAAa/C,cACrC,KACHqB,SAAgB,OAAPJ,QAAO,IAAPA,OAAO,EAAPA,EAAS71B,UAAW23B,EAAa1B,QAAU,KACpDngB,SAAgB,OAAP+f,QAAO,IAAPA,OAAO,EAAPA,EAAS71B,UAAW23B,EAAa7hB,QAAU,GACpDogB,OAAQlhD,IAIV4qB,EAA4BC,aAAW+H,GAAe,CACrDnK,QAAS+6B,EAAmB,SAC3B14B,EAAAna,aAAAia,EAAA,GAFK84B,EAAQ54B,EAAA,GAAE64B,EAAO74B,EAAA,GAIxBwU,EAA4BzU,aAAW+H,GAAe,CACrDnK,QAAS+6B,EAAmB,SAC3BjkB,EAAA5uB,aAAA2uB,EAAA,GAFKskB,EAAQrkB,EAAA,GAAEskB,EAAOtkB,EAAA,GAIxB2T,EAAsCroB,aAAW+H,GAAe,CAC/DnK,QAAS+6B,EAAmB,cAC3BrQ,EAAAxiC,aAAAuiC,EAAA,GAEI4Q,EAAgB,CACrBC,IAAK,CACJhmD,MAAO2lD,EACP34B,KAAM44B,GAEPK,IAAK,CACJjmD,MAAO6lD,EACP74B,KAAM84B,GAEP1tB,SAAU,CACTp4B,MAdkBo1C,EAAA,GAelBpoB,KAfgCooB,EAAA,KAoB5B8Q,EAAa,SAACjmD,EAAaC,GAChC6lD,EAAST,GAAat4B,KAAK/sB,EAAQC,IAG9BimD,GAAc,WACnB,OAAOJ,EAAST,GAAatlD,OAGxBkM,GAAWrB,YAAY7G,GAE7BlB,GACCqjD,KAAcz7B,SAAW,GADlBN,GAAKtnB,GAALsnB,MAAO6Y,GAAYngC,GAAZmgC,aAAc+f,GAAOlgD,GAAPkgD,QAASjgB,GAAOjgC,GAAPigC,QAAS8e,GAAY/+C,GAAZ++C,aAAcqB,GAAOpgD,GAAPogD,QAGvDkD,GAAc,SAACtD,GACpB,IAAQ3hD,EAAY2hD,EAAZ3hD,IAAK+T,EAAO4tC,EAAP5tC,GACbmxC,EAIIN,EAAS7wC,GAAIlV,MAAM0qB,QAHf47B,EAAYD,EAAnBj8B,MACsBm8B,EAA2BF,EAAjDpD,qBACSuD,EAAcH,EAAvBrD,QAGDkD,EAAW,aAAc,CACxB/kD,IAAKA,EACLmG,aAAci/C,EACdn8B,MAAOk8B,EACPtD,QAASwD,IAGVjB,EAAerwC,IAoBhB4D,qBAAU,WACT,IAAK6gC,EAAe,CAAC,IAAD8M,EACnBP,EAAW,QAAS,CACnBtyC,MAAOgxC,EAAahxC,MACpBmvB,QAAS6hB,IAEV,IAAM1vC,EAAqC,QAAnCuxC,EAAG9B,EAASlkC,MAAK,SAAC21B,GAAC,OAAKA,EAAEnpB,mBAAS,IAAAw5B,OAAA,EAAhCA,EAAkCvxC,GAE7CyvC,EAASryC,SAAQ,SAACwwC,GACbA,EAAQ5tC,KAAOA,GAClB6wC,EAASjD,EAAQ5tC,IAAI8X,KAAK,SAAU,CACnCpZ,QACAwW,MAAOmD,OAKNrY,GACHqwC,EAAerwC,MAIf,CAAC2vC,IAEJ/rC,qBAAU,WAET6rC,EAASryC,SAAQ,SAACwwC,GACbA,EAAQ5tC,KAAOowC,GAClBS,EAASjD,EAAQ5tC,IAAI8X,KAAK,OAAQ,CACjCpZ,QACAwW,MAAOmD,SAMR,IAEHzU,qBAAU,WACJ6gC,GACS,MAAT/lC,GAAiBA,IAAUuyC,KAAcz7B,QAAQ9W,QACpDsyC,EAAW,OAAQ,CAClBtyC,UAGD+wC,EAASryC,SAAQ,SAACwwC,GACbA,EAAQ5tC,KAAOowC,GAClBS,EAASjD,EAAQ5tC,IAAI8X,KAAK,OAAQ,CACjCpZ,gBAQH,CAACA,IAEJkF,qBAAU,WACT,IAAM4tC,EAAgB/B,EAASl+C,QAC9B,SAACq8C,GAAO,OAA0B,IAArBA,EAAQ71B,YACpB,GAAG/vB,KACD0W,EAAQ,GAGXA,EADGuyC,KAAcz7B,QAAQ5pB,YACpB,GAAAW,OACJ0kD,KAAcz7B,QAAQ5pB,YAAW,aAAAW,OACtBqF,mBAAmB4/C,IACE,KAAvB9B,EAAahxC,MAClB,SAAAnS,OAAYmjD,EAAahxC,MAAK,aAAAnS,OAAYqF,mBAC9C4/C,IAGI,WAAAjlD,OAAcqF,mBAAmB4/C,IAGnC7kD,OAAOqW,WAAarW,OAAOqW,UAAUle,MACxC6H,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,WACPs0C,SAAS,GAADrvC,OAAKK,EAASivC,SAAQ,KAAAtvC,OAAImS,GAClCo9B,UAAmB,OAAR9kC,SAAQ,IAARA,QAAQ,EAARA,GAAUE,QAKnBvK,OAAO00C,iBACV10C,OAAO00C,gBAAgBC,UAItB,CAAC5iC,EAAOixC,IAEX/rC,qBAAU,WACY,IAAjBmqB,IACCphC,OAAOqW,WAAarW,OAAOqW,UAAUle,MACxC6H,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,gBACP6jD,YAAazsC,MAKd,CAACqvB,KAEJ,IAAM0jB,GACLhC,EAASl+C,QACR,SAACq8C,GAAO,IAAA8D,EAAA,OAAuC,QAAlCA,EAAAb,EAASjD,EAAQ5tC,IAAIlV,MAAM0qB,eAAO,IAAAk8B,OAAA,EAAlCA,EAAoC3jB,cAAe,KAC/DvpC,OAAS,EAaZ,OACC4F,IAAAxD,cAACgkC,GAAU,KACVxgC,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,sCAEVnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,EACwB,YAAxB00C,KAAc/nD,OACdkB,IAAAxD,cAAAwD,IAAAiU,SAAA,KACE,IACDjU,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,SAASE,QAAQ,OAAOrM,KAAM,OAK7CnK,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAACqmC,MAAW,CACXjtB,GAAG,wBACHktB,WAAYxB,EACZyB,SAAUvB,EACV/vB,OAC2C,QAA1CyzC,EAAAG,EAASlkC,MAAK,SAAC21B,GAAC,OAAKA,EAAElhC,KAAOowC,YAAY,IAAAd,OAAA,EAA1CA,EAA4ChiB,oBAC5C,GAEDD,YAAY,SACZ93B,UAAU,aACVmH,aAAcgC,EAAQA,EAAMqmB,gBAAa78B,EACzCsW,SAvKkB,SAAC0rB,GACvB8mB,EAAW,eAAgB,CAC1BtyC,MAAOwrB,EAAGynB,sBACV5D,qBAAsB57C,GACrB8+C,KAAcz7B,QAAQm3B,aAAa,GAAGv6C,gBAIxCq9C,EAASryC,SAAQ,SAACwwC,GACbA,EAAQ5tC,KAAOowC,GAClBS,EAASjD,EAAQ5tC,IAAI8X,KAAK,OAAQ,CACjCpZ,MAAOwrB,EAAGynB,8BA8JVvnD,IAAAxD,cAAA,OAAK6+B,YAAU,SAASlwB,UAAU,YACR,YAAxB07C,KAAc/nD,OACdkB,IAAAxD,cAACi/B,KAAK,CAAC/kB,QAAQ,SAASvL,UAAU,QACjCnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,EAAOzF,UAAU,QACpC07C,KAAcz7B,QAAQpuB,WAQ7BgD,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAWoM,aACV,0BACY,OAAZgrC,SAAY,IAAZA,QAAY,EAAZA,GAAcnoD,QAAS,GAAK,qBAG5B+0C,IAAyB,OAAZoT,SAAY,IAAZA,QAAY,EAAZA,GAAcnoD,QAAS,GACpC4F,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGrpB,UAAU,0BACrCnL,IAAAxD,cAAA,OAAK2O,UAAU,qCACdnL,IAAAxD,cAAA,MAAI2O,UAAU,wBAAwBuxC,GACtC18C,IAAAxD,cAACq9B,KAAgB,CAChBr8B,KAAK,SACLkZ,QAAQ,UACRiJ,QAAS,kBAAMinC,EAAW,gBAAiB,KAC3C/mC,qBAAoB28B,GAEnBA,EACDx8C,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,WACLG,eAAa,EACbtL,UAAU,iBAKbnL,IAAAxD,cAAC8lD,GAAa,CACbC,aAAcA,GACd/F,gBAAiBA,EACjBznC,SAAU,SAAC9N,GAAmC,OAC7C2/C,EAAW,gBAAiB,CAC3B3/C,YAAaA,SAMhByhC,GAAYrH,KAAyB,OAAZkhB,SAAY,IAAZA,QAAY,EAAZA,GAAcnoD,QAAS,GACjD4F,IAAAxD,cAAC83B,KAAI,CACJC,KAAM,GACNC,QAAS,EACTrpB,UAAU,sDAEVnL,IAAAxD,cAAC2Z,KAAM,CACNO,QAAQ,YACRvL,UAAU,iBACVwU,QAAS,kBAAMomC,GAAkBD,KAEjC9lD,IAAAxD,cAAA,eAAA2F,OAAUu6C,EAAa,KAAAv6C,OAxGQ,WACpC,IAAIi5C,EAAQmH,GAAaz4C,QACxB,SAAC09C,EAAqBhF,GACrB,OAAOgF,EAAchF,EAAY1H,kBAElC,GAGD,OAAOM,EAAQ,EAAC,IAAAj5C,OAAOi5C,EAAK,KAAM,GAgGFqM,KAC3BznD,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,SAASC,MAAM,UAAUpL,UAAU,UAE9C26C,GACA9lD,IAAAxD,cAAC0rC,KAAK,CACLnY,cAAe81B,EACfntC,SAAU,kBAAMqtC,GAAkBD,KAElC9lD,IAAAxD,cAAA,OAAK2O,UAAU,iEACdnL,IAAAxD,cAAA,OAAK2O,UAAU,+BACdnL,IAAAxD,cAAA,OAAK2O,UAAU,qCACdnL,IAAAxD,cAAA,MAAI2O,UAAU,wBAAwBuxC,GACtC18C,IAAAxD,cAACq9B,KAAgB,CAChBr8B,KAAK,SACLkZ,QAAQ,UACRiJ,QAAS,kBAAMinC,EAAW,gBAAiB,MAE1CpK,EACDx8C,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,WACLG,eAAa,EACbtL,UAAU,iBAKbnL,IAAAxD,cAAC8lD,GAAa,CACbC,aAAcA,GACd/F,gBAAiBA,EACjBznC,SAAU,SAAC9N,GAAmC,OAC7C2/C,EAAW,gBAAiB,CAC3B3/C,YAAaA,QAKjBjH,IAAAxD,cAAA,OAAK2O,UAAU,qCACdnL,IAAAxD,cAAC2Z,KAAM,CACNO,QAAQ,UACRH,MAAM,OACNpL,UAAU,iBACVwU,QAAS,kBAAMomC,GAAkBD,KAEhCF,OAQR5lD,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGrpB,UAAU,2BACrCnL,IAAAxD,cAAA,OAAK2O,UAAU,YACdnL,IAAAxD,cAAC8mD,GAAW,CAACn4C,UAAU,WACb,OAARk6C,QAAQ,IAARA,OAAQ,EAARA,EAAU99C,KAAI,SAACi8C,EAAuBhoC,GAAmB,IAADksC,EAAAC,EAAAC,EACxD,OACC5nD,IAAAxD,cAAC+mD,GAAc,CACdC,QAASA,EACT7jC,QAASmnC,GACTn5B,SAAUq4B,IAAgBxC,EAAQ5tC,GAClC7R,QAA8C,YAArC0iD,EAASjD,EAAQ5tC,IAAIlV,MAAM5B,MACpC6kC,aACqB,QADT+jB,EACXjB,EAASjD,EAAQ5tC,WAAG,IAAA8xC,GAAO,QAAPC,EAApBD,EAAsBhnD,aAAK,IAAAinD,GAAS,QAATC,EAA3BD,EAA6Bv8B,eAAO,IAAAw8B,OAAhB,EAApBA,EAAsCjkB,aAEvCvkC,IAAKoc,QAKRooC,KAA0B,QAAfuB,EAAAvB,GAAQvxC,eAAO,IAAA8yC,OAAA,EAAfA,EAAiB/qD,QAAS,IAAY,OAAPqpC,SAAO,IAAPA,QAAO,EAAPA,GAASrpC,QAAS,GAC5D4F,IAAAxD,cAAA,OAAK2O,UAAU,wEACdnL,IAAAxD,cAACsoD,GAAc,CACd94B,YAGE,QAFDo5B,EAAAxB,GAAQvxC,QAAQ8O,MACf,SAAClL,GAA0B,OAAKA,EAAOvO,OAASg8C,aAChD,IAAA0B,OAAA,EAFDA,EAEGxnD,OAAQgmD,GAAQp1B,aAGnBo1B,GAAQvxC,QAAQ9K,KAChB,SAAC0O,EAA4BuF,GAC5B,OACCxb,IAAAxD,cAAA,UACC2O,UAAU,mEACVwU,QAAS,WACRinC,EAAW,OAAQ,CAClBlD,QAASztC,EAAOvO,QAGlB2zC,cAAauI,GAAQp1B,YACrB1vB,MAAOmX,EAAOrY,KACdwB,IAAKoc,GAEJvF,EAAOrY,aASR,OAAP6lC,SAAO,IAAPA,QAAO,EAAPA,GAASrpC,QAAS,EAClB4F,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAC4nC,GAAgB,CAAC4e,WAAYvf,KAE7B3Y,GAAQ6Y,IACR3jC,IAAAxD,cAAA,OAAK2O,UAAU,uBACdnL,IAAAxD,cAAC2Z,KAAM,CACN0J,qBAAmB,aACnBnJ,QAAQ,UACRvL,UAAU,UACViL,SAAkC,YAAxBywC,KAAc/nD,MACxB6gB,QAAS,kBACRinC,EAAW,YAAa,CACvB97B,MAAOA,GAAQmD,EACf01B,qBAAsB57C,GACrBu9C,EAAa/C,aAAa,GAAGv6C,kBAK/BwY,EACwB,YAAxBqmC,KAAc/nD,OACdkB,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLC,MAAM,QACNC,QAAQ,OACRrM,KAAM,IACNgB,UAAU,OACVsL,eAAa,IAGU,YAAxBowC,KAAc/nD,OACdkB,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAU,KACVlJ,MAAM,QACNpM,KAAM,IACNgB,UAAU,OACVsL,eAAa,OAQnBzW,IAAAxD,cAACymD,KAAkB,KAClBjjD,IAAAxD,cAACgoC,KAAmB,CACnBryB,QAASszC,EACTpwC,KAAMqwC,EAAa12C,QAAQ,MAAQsF,GAAS,KAE3C+yC,IACArnD,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAA,SAAIgpD,GACJxlD,IAAAxD,cAAA,UACE6oD,EAAS99C,KAAI,SAACi8C,EAAuBhoC,GAAmB,IAADqsC,EAAAC,EACvD,OACC9nD,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAKoc,GACnBgoC,EAAQ5tC,KAAOowC,IACmB,QAAlC6B,EAAApB,EAASjD,EAAQ5tC,IAAIlV,MAAM0qB,eAAO,IAAAy8B,OAAA,EAAlCA,EAAoClkB,cACnC,GACA3jC,IAAAxD,cAAA,UACE,IACDwD,IAAAxD,cAAA,UACCmjB,QAAS,kBAAMmnC,GAAYtD,IAC3Br4C,UAAU,wBAEVnL,IAAAxD,cAAA,QAAM2O,UAAU,yBACdq4C,EAAQ5lD,MAEVoC,IAAAxD,cAAA,QAAM2O,UAAU,mBAAiB,IAAAhJ,OACE,QADF2lD,EAChCrB,EAASjD,EAAQ5tC,IAAIlV,MAAM0qB,eAAO,IAAA08B,OAAA,EAAlCA,EACGnkB,aAAY,KAAAxhC,OACZwjD,EAAkB,oBCpYzBoC,GAvJiC,SAAH9mD,GAStC,IARNkR,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACA3nB,EAAIpU,EAAJoU,KACA45B,EAAehuC,EAAfguC,gBACAC,EAAYjuC,EAAZiuC,aACAF,EAAa/tC,EAAb+tC,cACA4J,EAAW33C,EAAX23C,YACApL,EAAWvsC,EAAXusC,YAEM2B,EAAYlY,KAClB,OACCj3B,IAAAxD,cAACgkC,GAAU,KACToY,GACA54C,IAAAxD,cAACs8C,KAAW,CACXj8C,IAAK+7C,EAAY/7C,IACjBkf,IAAK68B,EAAYG,QACjB/oB,WAAY4oB,EAAYvjC,KACxBlK,UAAU,oBAGZnL,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAWoM,aACVqhC,EAAc,eAAiB,gBAC/B,iBAGD54C,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAED68B,GACAhvC,IAAAxD,cAAC4yC,KAAa,CACbhG,UAAW4F,EAAc5F,UACzB9B,OAAQ0H,EAAc1H,OACtBn8B,UAAU,QAET6jC,EAAcrmB,YAAcqmB,EAAcrmB,WAAWvuB,OAAS,GAC9D4F,IAAAxD,cAAC8yC,KAAyB,KACxBN,EAAcrmB,WAAWphB,KAAI,SAACijC,EAAUhvB,GACxC,OACCxb,IAAAxD,cAAC+yC,KAAqB,CACrBnwC,IAAKoc,EACL3Z,IAAK2oC,EAAS3oC,IACdwT,KAAMm1B,EAASn1B,KACf+d,cAAetoB,YAUxB9K,IAAAxD,cAAC03B,KAAI,CACJtjB,QAAQ,EACRY,SAAS,EACTrG,UAAWoM,cACT03B,GAAmBC,IAAiB,mBACrC,iBAGAC,IAAcF,GAAmBC,IACjClvC,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,EAAGppB,UAAU,gBACxBnL,IAAAxD,cAAA,OAAK2O,UAAU,cACb8jC,GACAjvC,IAAAxD,cAACgzC,MAAG,CACHr9B,QAAS88B,EAAgB98B,QACzBlJ,MAAOgmC,EAAgBQ,SACvBtkC,UAAU,SAET8jC,EAAgBS,OAAOnoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACmzC,MAAO,CAACltC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,UAKG,OAAZ65B,QAAY,IAAZA,OAAY,EAAZA,EAAc3nC,KAAI,SAACqoC,EAAap0B,GAAW,IAADq0B,EAC1C,OACC7vC,IAAAxD,cAAC02B,KAAQ,CACR9zB,IAAKoc,EACLrJ,QAAoB,OAAXy9B,QAAW,IAAXA,OAAW,EAAXA,EAAaz9B,QACtBhH,UAAU,SAEQ,QAFD0kC,EAEhBD,EAAYtK,aAAK,IAAAuK,OAAA,EAAjBA,EAAmBtoC,KAAI,SAAC6G,EAAMwmB,GAAQ,OACtC50B,IAAAxD,cAAC22B,KAAY,CACZ9d,KAAMjH,EAAKiH,KACXxT,IAAKuM,EAAK3L,KACV6T,KAAM,QACN5Y,OAAQ0Q,EAAK1Q,OACb01B,cAAetoB,GACf1L,IAAKw1B,EACLvB,SAAUjlB,EAAKilB,oBAUvBrzB,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBkkB,IAEAmS,GAAaF,GACdjvC,IAAAxD,cAACgzC,MAAG,CAACr9B,QAAS88B,EAAgB98B,QAASlJ,MAAO,GAAIkC,UAAU,QAC1D8jC,EAAgBS,OAAOnoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACmzC,MAAO,CAACltC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,WAKR85B,IACW,OAAZD,QAAY,IAAZA,OAAY,EAAZA,EAAc3nC,KAAI,SAACqoC,EAAap0B,GAAW,IAADs0B,EACzC,OACC9vC,IAAAxD,cAAC02B,KAAQ,CACR9zB,IAAKoc,EACLrJ,QAAoB,OAAXy9B,QAAW,IAAXA,OAAW,EAAXA,EAAaz9B,QACtBhH,UAAU,SAEQ,QAFD2kC,EAEhBF,EAAYtK,aAAK,IAAAwK,OAAA,EAAjBA,EAAmBvoC,KAAI,SAAC6G,EAAMwmB,GAAQ,OACtC50B,IAAAxD,cAAC22B,KAAY,CACZ9d,KAAMjH,EAAKiH,KACXxT,IAAKuM,EAAK3L,KACV6T,KAAM,QACN5Y,OAAQ0Q,EAAK1Q,OACb01B,cAAetoB,GACf1L,IAAKw1B,EACLvB,SAAUjlB,EAAKilB,mBAMrBrzB,IAAAxD,cAACsb,GAAY,CAACgB,KAAK,OAAOf,UAAe,OAAJ1C,QAAI,IAAJA,OAAI,EAAJA,EAAM0C,cAG5Cy1B,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,MC1Edwa,GA9EuC,SAAH/mD,GAK5C,IAJNkR,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACAyQ,EAAcxsC,EAAdwsC,eACAD,EAAWvsC,EAAXusC,YAEA,OACCxtC,IAAAxD,cAACgkC,GAAU,KACVxgC,IAAAxD,cAAC03B,KAAI,CAAC1iB,SAAS,EAAOrG,UAAU,gBAC/BnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAmC,SAA1BiZ,EAAewa,OAAoB,GAAK,GAChEjoD,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAEFnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBkkB,GAEDyQ,GACAztC,IAAAxD,cAAAwD,IAAAiU,SAAA,KAC4B,SAA1Bw5B,EAAewa,QACfjoD,IAAAxD,cAAC0rD,KAAgB,CAChB73B,aAAYod,EAAe3I,0BAE1B2I,EAAexkC,MAAM1B,KAAI,SAAC+pB,EAAM9V,GAAK,OACrCxb,IAAAxD,cAAC2rD,KAAmB,CACnB/0B,cAAetoB,GACfjJ,IAAKyvB,EAAKzvB,IACVsQ,QAASmf,EAAKnf,QACdkD,KAAMic,EAAKjc,KACXjW,IAAKoc,EACLlF,KACCgb,EAAKzvB,KAA8B,MAAvByvB,EAAKzvB,IAAI2J,OAAO,GACzB,QACA8lB,EAAKzvB,MAEJ,IADDyvB,EAAKzvB,IAAIyT,QAAQ,8BAEjB,aACA,eAEJkD,YAAWgD,EAAQ,SAKI,SAA1BiyB,EAAewa,QACfjoD,IAAAxD,cAAC4rD,KAAc,CACd/3B,aAAYod,EAAe3I,0BAE1B2I,EAAexkC,MAAM1B,KAAI,SAAC+pB,EAAM9V,GAAK,OACrCxb,IAAAxD,cAAC6rD,KAAkB,CAClBj1B,cAAetoB,GACfjJ,IAAKyvB,EAAKzvB,IACVsQ,QAASmf,EAAKnf,QACdkD,KAAMic,EAAKjc,KACXjW,IAAKoc,EACLlF,KACCgb,EAAKzvB,KAA8B,MAAvByvB,EAAKzvB,IAAI2J,OAAO,GACzB,QACA8lB,EAAKzvB,MAEJ,IADDyvB,EAAKzvB,IAAIyT,QAAQ,8BAEjB,aACA,wBAUXk4B,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,MCmBd8a,GA3FiC,SAAHrnD,GAOtC,IANNkR,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACA3nB,EAAIpU,EAAJoU,KACA45B,EAAehuC,EAAfguC,gBACAsZ,EAAKtnD,EAALsnD,MACA/a,EAAWvsC,EAAXusC,YAEM2B,EAAYlY,KAClB,OACCj3B,IAAAxD,cAACgkC,GAAU,KACVxgC,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,KAIJnS,IAAAxD,cAAC03B,KAAI,CACJtjB,QAAQ,EACRY,SAAS,EACTrG,UAAWoM,aAAK03B,GAAmB,mBAAoB,iBAEtDE,GAAaF,GACbjvC,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,EAAGppB,UAAU,gBACxBnL,IAAAxD,cAACgzC,MAAG,CACHr9B,QAAS88B,EAAgB98B,QACzBlJ,MAAOgmC,EAAgBQ,SACvByJ,OAAQjK,EAAgBkK,UAEvBlK,EAAgBS,OAAOnoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACmzC,MAAO,CAACltC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,WAMXrV,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBkkB,IAGAmS,GAAaF,GACdjvC,IAAAxD,cAACgzC,MAAG,CAACr9B,QAAS88B,EAAgB98B,QAASlJ,MAAO,GAAIkC,UAAU,QAC1D8jC,EAAgBS,OAAOnoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACmzC,MAAO,CAACltC,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,aAG3CwwC,IAAUA,EAAMrmD,MAAQqmD,EAAMC,WAC9BxoD,IAAAxD,cAACisD,KAAe,KACdF,EAAMrmD,MACNlC,IAAAxD,cAACksD,KAAmB,CACnB9qD,KAAM2qD,EAAMrmD,KAAKtE,KACjBiE,IAAK0mD,EAAMrmD,KAAKL,IAChBrE,KAAK,OACLiU,MAAO82C,EAAMI,KAAKzmD,KAClBkxB,cAAetoB,KAGhBy9C,EAAMC,UACNxoD,IAAAxD,cAACksD,KAAmB,CACnB9qD,KAAM2qD,EAAMC,SAAS5qD,KACrBiE,IAAK0mD,EAAMC,SAAS3mD,IACpBrE,KAAK,WACLiU,MAAO82C,EAAMI,KAAKH,SAClBp1B,cAAetoB,QAOpB0iC,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,MChGlBob,GAAuCxmD,IAAMymD,YAAYtoC,SA8H9DuoC,GAAgB,SAAC19B,GACtB,IAAM9W,EAAa,GAsDnB,OApDI8W,EAAQ29B,eACXz0C,EAAM85B,KAAOhjB,EAAQ29B,cAElB39B,EAAQ49B,kBACX10C,EAAM20C,QAAU79B,EAAQ49B,iBAErB59B,EAAQ89B,eACX50C,EAAMuN,KAAOuJ,EAAQ89B,cAElB99B,EAAQ+9B,0BACX70C,EAAM80C,gBAAkBh+B,EAAQ+9B,yBAE7B/9B,EAAQi+B,sBACX/0C,EAAMg1C,YAAcl+B,EAAQi+B,qBAEzBj+B,EAAQm+B,eACXj1C,EAAMk1C,KAAOp+B,EAAQm+B,cAGrBn+B,EAAQq+B,sBACRn1C,EAAM85B,MACN95B,EAAM20C,SACN30C,EAAMuN,QAGyD,IAA9DuJ,EAAQq+B,qBAAqBn0C,QAAQ,wBACJ,UAAjC8V,EAAQs+B,qBAERp1C,EAAMq1C,aAAe,CAAC,mBAAiB,uBAEvCr1C,EAAMq1C,aAAev+B,EAAQq+B,sBAG3Br+B,EAAQw+B,qBACXt1C,EAAMu1C,MAAQz+B,EAAQw+B,oBAEnBx+B,EAAQkwB,kBACXhnC,EAAMnN,OAASikB,EAAQkwB,iBAEpBlwB,EAAQ0+B,mBACXx1C,EAAMy1C,SAAW3+B,EAAQ0+B,kBAE1Bx1C,EAAM01C,aAAe5+B,EAAQs+B,qBAC7Bp1C,EAAM0S,UAAYoE,EAAQ6+B,kBAC1B31C,EAAM41C,aAAe9+B,EAAQ++B,qBACzB/+B,EAAQg/B,QACX91C,EAAMovC,QAAUt4B,EAAQg/B,OAErBh/B,EAAQi/B,kBACX/1C,EAAMwW,MAAQM,EAAQi/B,iBAGjB,IAANloD,OAAWqH,qBAAU8K,EAAO,CAAEg2C,YAAa,WAGtCC,GAAwB,eAAAtpD,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOC,EAAQ8pB,GAAO,IAAAo/B,EAAAl2C,EAAAm2C,EAAA7wD,EAAA,OAAAuH,IAAAY,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAIrD,OAHGoS,EAAgB,GAChB8W,IACH9W,EAAQw0C,GAAc19B,IACtBxnB,EAAA1B,KAAA,EACsBE,IAAM,CAC5BsoD,OAAQ,MACR7oD,IAAI,GAADM,OAAKb,GAAMa,OAAGmS,GACjBq2C,YAA8B,QAAnBH,EAAE5B,UAAiB,IAAA4B,OAAA,EAAjBA,EAAmBI,QAC9B,KAAD,EAJU,OAIVH,EAAA7mD,EAAAvB,KAJMzI,EAAI6wD,EAAJ7wD,KAAIgK,EAAAZ,OAAA,SAMLpJ,GAAI,wBAAAgK,EAAAX,UAAA5B,OACX,gBAZ6B6B,EAAAC,GAAA,OAAAlC,EAAAlG,MAAA,KAAAuI,YAAA,GAcxBunD,GAA4B,eAAArnD,EAAAtC,YAAAC,IAAAC,MAAG,SAAAqC,EACpCnC,EACA8pB,EACA0/B,EACA3jD,EACA4jD,GAAU,IAAAlpD,EAAAmpD,EAAApxD,EAAA,OAAAuH,IAAAY,MAAA,SAAA41B,GAAA,cAAAA,EAAA11B,KAAA01B,EAAAz1B,MAAA,OAgBwC,MAVzC,6CAELL,EAAG,GAAAM,OAFE,6CAEU,UAAAA,OAASipB,EAAQ29B,aAAY,qBAAA5mD,OAC/CipB,EAAQ+9B,wBAAuB,eAAAhnD,OAClBipB,EAAQw+B,mBAAmBziD,QAAO,SAACQ,GAAS,OACzDA,EAAEyQ,SAASjR,MACX,aAAAhF,OAAYipB,EAAQ49B,gBAAe,UAAA7mD,OAASipB,EAAQ89B,cAEjD6B,IAAYlpD,GAAG,eAAAM,OAAmB4oD,IAElCD,IAAcjpD,GAAG,UAAAM,OAAc2oD,IAAenzB,EAAAz1B,KAAA,EAE3BE,IAAM,CAC5BsoD,OAAQ,MACR7oD,IAAKA,IACH,KAAD,EAHU,OAGVmpD,EAAArzB,EAAAt1B,KAHMzI,EAAIoxD,EAAJpxD,KAAI+9B,EAAA30B,OAAA,SAKLpJ,GAAI,wBAAA+9B,EAAA10B,UAAAQ,OACX,gBA7BiCL,EAAAC,EAAAQ,EAAAC,EAAAmnD,GAAA,OAAAznD,EAAAzI,MAAA,KAAAuI,YAAA,GA+BrB4nD,GAA0BhgC,aACtC,CACCtV,GAAI,0BACJuV,QAAS,OACTC,QAAS,CACR9pB,OAAQ,GACRuiD,OAAQ,KACRsH,cAAe,WACfnuD,MAAO,KACPouD,cAAc,EACdC,MAAO,KACPC,SAAU,KACVC,MAAO,KACPC,iBAAkB,KAClBve,KAAM,KACN2R,WAAY,KACZ3E,QAAS,KACTwR,cAAe,KACfC,UAAW,KACXC,aAAc,KACd5C,aAAc,KACdC,gBAAiB,KACjBE,aAAc,KACdC,wBAAyB,KACzBI,aAAc,GACdE,qBAAsB,CAAC,oBACvBJ,oBAAqB,KACrBO,mBAAoB,GACpBtO,gBAAiB,GACjBwO,iBAAkB,KAClBJ,qBAAsB,QACtBO,kBAAmB,SACnBE,sBAAsB,EACtBlvD,OAAQ,KACRmvD,MAAO,KACPC,gBAAiB,IACjBuB,cAAe,EACfC,aAAc,IACdC,YAAa,KACb9rC,YAAa,MAEdqL,OAAQ,CACPC,KAAM,CACLO,GAAI,CAEHkgC,WAAY,eAIdC,WAAY,CACXnX,MAAO,CAAC,uBACRtpB,OAAQ,CACP3V,GAAI,aACJ/Y,IAAK,SAACuuB,EAASM,GAAM,OAAK6+B,GAAYn/B,EAAQ9pB,OAAQ8pB,IACtDI,OAAQ,CACP9tB,OAAQ,cACRqD,QAAS,WAEV0qB,QAAS,CACR/tB,OAAQ,OACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GAAK,OAAKA,EAAMtD,KAAKoD,YAM3CivD,YAAa,CACZpX,MAAO,CAAC,uBACRC,OAAQ,CACP,CAAEp3C,OAAQ,iBAAkBm4B,KAAM,aAClC,CACCn4B,OAAQ,iBACRm4B,KAAM,uBAEP,CAAEn4B,OAAQ,gBAAiBm4B,KAAM,YACjC,CAAEn4B,OAAQ,mBAAoBm4B,KAAM,eACpC,CAAEn4B,OAAQ,gBAAiBm4B,KAAM,YACjC,CAAEn4B,OAAQ,kBAIZwuD,aAAc,CACb3gC,OAAQ,CACP3V,GAAI,WACJ/Y,IAAK,SAACuuB,EAASM,GAAM,OAAK6+B,GAAYn/B,EAAQ9pB,SAC9CkqB,OAAQ,CACP9tB,OAAQ,gBACRqD,QAAS,WAEV0qB,QAAS,CACR/tB,OAAQ,YACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GACjB,MAAM,SAANiF,OAAgBjF,EAAMtD,KAAK+a,SAASwkB,OAAM,OAAAh3B,OAAMjF,EAAMtD,KAAK+a,SAASykB,aAErEgyB,aAAc,SAACppD,EAAU9E,GAAK,OAAKq6B,IAAM40B,SAASjvD,EAAMtD,YAM5DwyD,cAAe,CAEdtX,OAAQ,CACP,CACCp3C,OAAQ,kBACRqD,QAAS,CACR,CAAEvD,KAAM,eAAgB6uD,WAAY,QACpC,yBAMJC,gBAAiB,CAChBzX,MAAO,CAAC,aACRtpB,OAAQ,CACP3V,GAAI,cACJ/Y,IAAK,SAACuuB,EAASM,GAAM,OAAK6+B,GAAYn/B,EAAQ9pB,OAAQ8pB,IACtDI,OAAQ,CACP9tB,OAAQ,mBACRqD,QAAS,WAEV0qB,QAAS,CACR/tB,OAAQ,eACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GACjB,MAAM,SAANiF,OAAgBjF,EAAMtD,KAAK+a,SAASwkB,OAAM,OAAAh3B,OAAMjF,EAAMtD,KAAK+a,SAASykB,aAErEgyB,aAAc,SAACppD,EAAU9E,GAAK,OAAKq6B,IAAM40B,SAASjvD,EAAMtD,YAM5D2yD,iBAAkB,GAElBC,aAAc,CACb3X,MAAO,CAAC,aACRtpB,OAAQ,CACP3V,GAAI,WACJ/Y,IAAK,SAACuuB,EAASM,GAAM,OAAK6+B,GAAYn/B,EAAQ9pB,OAAQ8pB,IACtDI,OAAQ,CACP9tB,OAAQ,gBACRqD,QAAS,WAEV0qB,QAAS,CACR/tB,OAAQ,YACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GACjB,MAAM,SAANiF,OAAgBjF,EAAMtD,KAAK+a,SAASwkB,OAAM,OAAAh3B,OAAMjF,EAAMtD,KAAK+a,SAASykB,aAErEgyB,aAAc,SAACppD,EAAU9E,GAAK,OAAKq6B,IAAM40B,SAASjvD,EAAMtD,YAM5D6yD,cAAe,GAEfC,wBAAyB,CACxB7X,MAAO,CAAC,aACRtpB,OAAQ,CACP3V,GAAI,sBACJ/Y,IAAK,SAACuuB,EAASM,GAAM,OAAK6+B,GAAYn/B,EAAQ9pB,OAAQ8pB,IACtDI,OAAQ,CACP9tB,OAAQ,2BACRqD,QAAS,WAEV0qB,QAAS,CACR/tB,OAAQ,uBACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GACjB,MAAM,SAANiF,OAAgBjF,EAAMtD,KAAK+a,SAASwkB,OAAM,OAAAh3B,OAAMjF,EAAMtD,KAAK+a,SAASykB,aAErEgyB,aAAc,SAACppD,EAAU9E,GAAK,OAAKq6B,IAAM40B,SAASjvD,EAAMtD,YAM5D+yD,yBAA0B,GAE1B1xD,OAAQ,CACP2a,GAAI,aACJuV,QAAS,oBACTE,OAAQ,CACPuhC,kBAAmB,CAClB/X,MAAO,CAAC,aACRtpB,OAAQ,CACP3V,GAAI,YACJ/Y,IAAK,SAACuuB,EAASM,GACd,OAAO6+B,GAAYn/B,EAAQ9pB,OAAQ8pB,IAEpCI,OAAQ,CACP9tB,OAAQ,UACRqD,QAAS,WAEV0qB,QAAS,CACR/tB,OAAQ,QACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GAAK,OAAKA,EAAMtD,KAAK+D,SACvCytD,aAAc,SAACppD,EAAU9E,GAAK,OAAKq6B,IAAM40B,SAASjvD,EAAMtD,YAM5DoD,MAAO,CACN6uB,GAAI,CACHghC,MAAO,CACNnvD,OAAQ,sBAGVo3C,OAAQ,CACP,CACCp3C,OAAQ,oBACRm4B,KAAM,iBAITlK,QAAS,CACRkpB,MAAO,CAAC,uBAERC,OAAQ,CACP,CACCp3C,OAAQ,oBACRm4B,KAAM,wBACN90B,QAAS,2BAEV,CACCrD,OAAQ,oBACRm4B,KAAM,mBACN90B,QAAS,wBAKZ+rD,mBAAoB,CACnBvhC,OAAQ,CACP3V,GAAI,iBACJ/Y,IAAK,SAACuuB,EAASM,GACd,OAAOm/B,GACNz/B,EAAQ9pB,OACR8pB,EACAM,EAAOo/B,aACPp/B,EAAOvkB,OACPukB,EAAOq/B,aAGTv/B,OAAQ,CACP9tB,OAAQ,UACRqD,QAAS,kBAEV0qB,QAAS,CACR/tB,OAAQ,QACRqD,QAASqH,aAAO,CACfpL,MAAO,SAACgF,EAAU9E,GAAK,OAAKA,EAAMtD,KAAK+D,SACvCytD,aAAc,SAACppD,EAAU9E,GAAK,OAAKq6B,IAAM40B,SAASjvD,EAAMtD,aAM7DiyB,GAAI,CACHkhC,WAAY,CACXrvD,OAAQ,qBACRqD,QAAS,CAAC,YAAa,sBAExBisD,aAAc,CACbtvD,OAAQ,qBACRqD,QAAS,CAAC,cAAe,sBAE1BqjD,cAAe,CACd1mD,OAAQ,qBACRqD,QAAS,CAAC,eAAgB,sBAE3BksD,SAAU,CACTvvD,OAAQ,qBACRqD,QAAS,CAAC,UAAW,sBAEtBmsD,YAAa,CACZxvD,OAAQ,qBACRqD,QAAS,CAAC,aAAc,sBAEzBosD,kBAAmB,CAClBzvD,OAAQ,qBACRqD,QAAS,CAAC,kBAAmB,sBAE9BqsD,mBAAoB,CACnB1vD,OAAQ,qBACRqD,QAAS,CAAC,oBAAqB,sBAEhCssD,gBAAiB,CAChB3vD,OAAQ,qBACRqD,QAAS,CAAC,iBAAkB,sBAE7BusD,cAAe,CACd5vD,OAAQ,qBACRqD,QAAS,CAAC,eAAgB,sBAE3BwsD,iBAAkB,CACjB7vD,OAAQ,qBACRqD,QAAS,CAAC,kBAAmB,sBAE9BysD,YAAa,qBACbC,qBAAsB,CACrB/vD,OAAQ,qBACRqD,QAAS,CAAC,qBAAsB,sBAEjC2sD,kBAAmB,CAClBhwD,OAAQ,qBACRqD,QAAS,CAAC,kBAAmB,sBAE9B4sD,oBAAqB,CACpBjwD,OAAQ,qBACRqD,QAAS,CAAC,oBAAqB,sBAEhC6sD,kBAAmB,CAClBlwD,OAAQ,qBACRqD,QAAS,CAAC,kBAAmB,sBAE9B8sD,aAAc,CACbnwD,OAAQ,qBACRqD,QAAS,CAAC,cAAe,sBAE1BkjD,UAAW,CACVvmD,OAAQ,qBACRqD,QAAS,CAAC,WAAY,sBAEvB+sD,eAAgB,CACf/sD,QAAS,oBAEVgtD,cAAe,CACdrwD,OAAQ,uBAETswD,sBAAuB,CACtBtwD,OAAQ,yBAKXuwD,UAAW,CACVpiC,GAAI,CACHghC,MAAO,CACNnvD,OAAQ,kBAKXwwD,aAAc,CACbriC,GAAI,CACHghC,MAAO,CACNnvD,OAAQ,qBAKXywD,UAAW,CACVtiC,GAAI,CACHghC,MAAO,CACNnvD,OAAQ,kBAIX0wD,qBAAsB,CACrBviC,GAAI,CACHghC,MAAO,CACNnvD,OAAQ,6BAKX2wD,gBAAiB,CAChBxiC,GAAI,CACHghC,MAAO,CACNnvD,OAAQ,aAKZmuB,GAAI,CACHyiC,YAAa,CACZ5wD,OAAQ,kBACRqD,QAAS,CACR,CAAEvD,KAAM,eAAgB6uD,WAAY,QACpC,kBACA,sBAGFkC,eAAgB,CACf14B,KAAM,mBACNn4B,OAAQ,eACRqD,QAAS,CACR,CAAEvD,KAAM,eAAgB6uD,WAAY,WACpC,qBACA,sBAGFmC,YAAa,CACZ34B,KAAM,gBACNn4B,OAAQ,0BACRqD,QAAS,CACR,CAAEvD,KAAM,eAAgB6uD,WAAY,QACpC,kBACA,sBAGFoC,wBAAyB,CACxB54B,KAAM,2BACNn4B,OAAQ,SACRqD,QAAS,CACR,CAAEvD,KAAM,eAAgB6uD,WAAY,mBACpC,6BACA,sBAGFqC,UAAW,CACVhxD,OAAQ,eACRqD,QAAS,CACR,CAAEvD,KAAM,eAAgB6uD,WAAY,OACpC,wBAKJ,CACCt2B,OAAQ,CACP44B,YAAa,SAACvjC,GACb,OAAOA,EAAQggC,cAEhBwD,iBAAkB,SAACxjC,GAClB,OAAgC,OAAzBA,EAAQ29B,cAEhB8F,cAAe,SAACzjC,GACf,OAAmC,OAA5BA,EAAQ49B,iBAEhB8F,yBAA0B,SAAC1jC,GAC1B,OAAgC,OAAzBA,EAAQ89B,cAEhB6F,sBAAuB,SAAC3jC,GAAa,IAAD4jC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACnC,QACuC,IAAtCjkC,EAAQw+B,mBAAmBxvD,SAC3BgxB,EAAQ+9B,2BACP/9B,EAAQ+9B,wBAAwB/wC,SAChC,qEAEAgT,EAAQ+9B,wBAAwB/wC,SAC/B,iEAEDgT,EAAQ+9B,wBAAwB/wC,SAC/B,oFAOoC,IAAtCgT,EAAQw+B,mBAAmBxvD,QACI,KAAb,QAAlB40D,EAAA5jC,EAAQwzB,kBAAU,IAAAoQ,OAAA,EAAlBA,EAAoB50D,SAC0B,KAAzB,QAArB60D,EAAA7jC,EAAQwzB,WAAW,UAAE,IAAAqQ,GAAY,QAAZC,EAArBD,EAAuBK,kBAAU,IAAAJ,OAAZ,EAArBA,EAAmC90D,SAC0B,KAAxC,QAArB+0D,EAAA/jC,EAAQwzB,WAAW,UAAE,IAAAuQ,GAAe,QAAfC,EAArBD,EAAuBG,WAAW,UAAE,IAAAF,GAAY,QAAZC,EAApCD,EAAsCtuC,kBAAU,IAAAuuC,OAA3B,EAArBA,EAAkDj1D,SAGpDm1D,iBAAkB,SAACnkC,GAAa,IAADokC,EAAAC,EAAAC,EAAAC,EAC9B,OACiC,IAAhCvkC,EAAQm+B,aAAanvD,aACW0D,KAApB,QAAZ0xD,EAAApkC,EAAQ6hB,YAAI,IAAAuiB,GAAO,QAAPC,EAAZD,EAAcI,aAAK,IAAAH,OAAP,EAAZA,EAAqBr1D,UACT,QAAZs1D,EAAAtkC,EAAQ6hB,YAAI,IAAAyiB,GAAO,QAAPC,EAAZD,EAAcE,aAAK,IAAAD,OAAP,EAAZA,EAAqBv1D,SAAU,GAGjCy1D,UAAW,SAACzkC,GACX,OAA0B,OAAnBA,EAAQnwB,QAEhB60D,SAAU,SAAC1kC,GACV,OAAyB,OAAlBA,EAAQigC,OAEhB0E,YAAa,SAAC3kC,GACb,OAA4B,OAArBA,EAAQkgC,UAEhB0E,SAAU,SAAC5kC,GACV,OAAyB,OAAlBA,EAAQmgC,OAEhB0E,oBAAqB,SAAC7kC,GACrB,OAAoC,OAA7BA,EAAQogC,mBAGjBzqD,QAAS,CACRmvD,QAAS9nD,aAAO,CACfijD,MAAO,SAACrpD,EAAU9E,GAAK,OAAKA,EAAMtD,KAAKyxD,OACvCC,SAAU,SAACtpD,EAAU9E,GAAK,OAAKA,EAAMtD,KAAK0xD,UAC1CC,MAAO,SAACvpD,EAAU9E,GAAK,OAAKA,EAAMtD,KAAK2xD,OACvCC,iBAAkB,SAACxpD,EAAU9E,GAAK,OAAKA,EAAMtD,KAAK4xD,kBAClDve,KAAM,SAACjrC,EAAU9E,GAAK,OAAKA,EAAMtD,KAAKqzC,MACtC2R,WAAY,SAAC58C,EAAU9E,GAAK,OAAKA,EAAMtD,KAAKglD,YAC5C3E,QAAS,SAACj4C,EAAU9E,GAAK,OAAKA,EAAMtD,KAAKqgD,SACzC0R,aAAc,SAAC3pD,EAAU9E,GAAK,OAAKA,EAAMtD,KAAK+xD,cAC9CD,UAAW,SAAC1pD,EAAU9E,GAAK,OAAKA,EAAMtD,KAAK8xD,WAC3CzwD,OAAQ,SAAC+G,EAAU9E,GAAK,OAAKA,EAAMtD,KAAKqB,QACxC6wD,YAAa,SAAC9pD,EAAU9E,GAAK,OAAKA,EAAMtD,KAAKkyD,aAC7CzC,oBAAqB,SAACj+B,EAASluB,GAC9B,OAAIkuB,EAAQi+B,oBACJj+B,EAAQi+B,oBACLnsD,EAAMtD,KAAK+xD,cAAgBzuD,EAAMtD,KAAK+xD,aAAa,GACtDzuD,EAAMtD,KAAK+xD,aAAa,GAAG7sD,MAE5B,MAERurD,gBAAiB,SAACj/B,EAASluB,GAAK,IAAAizD,EAAA,OACd,QAAjBA,EAAAjzD,EAAMtD,KAAKqB,cAAM,IAAAk1D,OAAA,EAAjBA,EAAmBrlC,QAASM,EAAQi/B,iBACrCuB,cAAe,SAACxgC,EAASluB,GAAK,IAAAkzD,EAAA,OACZ,QAAjBA,EAAAlzD,EAAMtD,KAAKqB,cAAM,IAAAm1D,OAAA,EAAjBA,EAAmB3hC,QAASrD,EAAQwgC,eACrC5rC,YAAa,SAACoL,EAASluB,GAAK,OAC3BA,EAAMtD,KAAKomB,aAAeoL,EAAQpL,aACnChjB,MAAO,SAACouB,EAASluB,GAChB,OAAO,MAERkuD,aAAc,SAAChgC,EAASluB,GAAK,OAAK,GAClCusD,qBAAsB,SAACr+B,EAASluB,GAC/B,OAAIkuB,EAAQq+B,qBAAqBrvD,OAAS,EAClC,CAACgxB,EAAQq+B,qBAAqB,IAE9Br+B,EAAQq+B,wBAIlB4G,oBAAqBjoD,aAAO,CAC3B+iD,cAAe,SAAC//B,EAASluB,GAAW,IAADozD,EAC9BnF,EAAgB,GAChBlR,EAAe,GA2BnB,GAhBI7uB,EAAQ89B,cAAgB99B,EAAQmgC,QACnCJ,GACC//B,EAAQmgC,MAAMpkD,QACb,SAACiH,GAAI,OAAKA,EAAKtP,QAAUssB,EAAQ89B,gBAChC,GAAG7zC,KAAO,KAEV+V,EAAQq+B,uBAAoC,QAAhB6G,EAAIllC,EAAQ6hB,YAAI,IAAAqjB,OAAA,EAAZA,EAAcv4C,YACjDkiC,EAAQv/C,KACP0wB,EAAQq+B,qBAAqB,GAAG/mD,UAC/B0oB,EAAQq+B,qBAAqB,GAAGn0C,QAAQ,KAAO,IAO9C8V,EAAQw+B,oBAAsBx+B,EAAQwzB,WACzC,IAAK,IAAMx/C,KAAOgsB,EAAQwzB,WAAY,CACrC,IAAM2R,EAAkBnlC,EAAQwzB,WAAWx/C,GAAKkwD,WAChD,IAAK,IAAMkB,KAAQD,EAAY,CAC9B,IACMh6B,EADkBg6B,EAAWC,GAAM1vC,WACd3Z,QAAO,SAACiH,GAAgB,OACE,IAApDgd,EAAQw+B,mBAAmBt0C,QAAQlH,EAAKtP,OACrCsP,EACA,QAEAmoB,EAAQn8B,OAAS,GACpBm8B,EAAQvjB,SAAQ,SAAC5E,GAChB6rC,EAAQv/C,KAAK0T,EAAKiH,UAQvB,IADA4kC,EAAUA,EAAQ1yC,KAAI,SAAC6G,GAAS,OAAKA,EAAK+N,kBAC9B/hB,OAAS,EAAG,CACvB,IAAMq2D,EAAaxW,EAAQyW,MAC3BvF,EAAa,GAAAhpD,OAAMgpD,EAAa,WAAAhpD,OAAU83C,EAAQxyC,KACjD,MACA,SAAAtF,OAAQsuD,QACoB,IAAnBxW,EAAQ7/C,SAClB+wD,EAAa,GAAAhpD,OAAMgpD,EAAa,WAAAhpD,OAAU83C,EAAQxyC,KAAK,QAExD,OAAO0jD,KAGTwF,gBAAiBvoD,aAAO,CACvB2gD,aAAc,SAAC/mD,EAAU9E,GAAK,OAAKA,EAAMtD,QAE1Cg3D,mBAAoBxoD,aAAO,CAC1B4gD,gBAAiB,SAAChnD,EAAU9E,GAAK,OAAKA,EAAMtD,QAE7Ci3D,gBAAiBzoD,aAAO,CACvB8gD,aAAc,SAAClnD,EAAU9E,GAAK,OAAKA,EAAMtD,QAE1Ck3D,2BAA4B1oD,aAAO,CAClC+gD,wBAAyB,SAACnnD,EAAU9E,GAAK,OAAKA,EAAMtD,QAGrDm3D,mBAAoB3oD,aAAO,CAC1B2gD,aAAc,SAAC/mD,EAAU9E,GAAK,OAC7B8E,EAASqpD,OAASrpD,EAASqpD,MAAM,GAAGvsD,SAEtCkyD,UAAW5oD,aAAO,CACjBkzC,gBAAiB,SAAClwB,EAASluB,GAC1B,MAAM,GAANiF,OAAAu/C,aAAWt2B,EAAQkwB,iBAAe,CAAEp+C,EAAM4B,WAG5CmyD,eAAgB7oD,aAAO,CACtB6xC,QAAS,SAAC7uB,EAASluB,GAAW,IAADg0D,EAO5B,OANe,QAAfA,EAAA9lC,EAAQ6uB,eAAO,IAAAiX,GAAfA,EAAiB3pD,KAAI,SAACJ,GACjBjK,EAAMtD,KAAKqP,OAAS9B,EAAOkO,OAASnY,EAAMtD,KAAKyb,OAClDlO,EAAO8B,MAAQ/L,EAAMtD,KAAKqP,UAIrBmiB,EAAQ6uB,WAGjBkX,YAAa/oD,aAAO,CACnBkzC,gBAAiB,SAAClwB,EAASluB,GAC1B,OAAOkuB,EAAQkwB,gBAAgBn0C,QAAO,SAACiqD,GAAG,OAAKA,IAAQl0D,EAAM4B,YAG/D2lD,aAAcr8C,aAAO,CACpBkzC,gBAAiB,SAAClwB,EAASluB,GAC1B,MAAO,MAGTm0D,QAASjpD,aAAO,CACfmhD,aAAc,SAACn+B,EAASluB,GACvB,MAAM,GAANiF,OAAAu/C,aAAWt2B,EAAQm+B,cAAY,CAAErsD,EAAMtD,UAGzC03D,WAAYlpD,aAAO,CAClBmhD,aAAc,SAACn+B,EAASluB,GACvB,OAAOkuB,EAAQm+B,aAAapiD,QAAO,SAACiqD,GAAG,OAAKA,IAAQl0D,EAAMtD,WAG5D23D,kBAAmBnpD,aAAO,CACzBihD,oBAAqB,SAACrnD,EAAU9E,GAAK,OAAKA,EAAMtD,QAEjD43D,eAAgBppD,aAAO,CACtB0hD,iBAAkB,SAAC9nD,EAAU9E,GAAK,OAAKA,EAAMtD,QAE9C63D,mBAAoBrpD,aAAO,CAC1BshD,qBAAsB,SAAC1nD,EAAU9E,GAAK,OAAKA,EAAMtD,QAElD83D,gBAAiBtpD,aAAO,CACvB6hD,kBAAmB,SAACjoD,EAAU9E,GAAK,OAAKA,EAAMtD,QAE/C+3D,YAAavpD,aAAO,CACnBgiD,MAAO,SAACpoD,EAAU9E,GAAK,SAAAiF,OAAQjF,EAAMwmD,QAAO,KAAAvhD,OAAIjF,EAAM00D,mBAEvDjN,SAAUv8C,aAAO,CAChBiiD,gBAAiB,SAACj/B,EAASM,GAAM,OAChCN,EAAQi/B,gBAAkBj/B,EAAQygC,gBAEpCgG,gBAAiBzpD,aAAO,CACvB+hD,qBAAsB,SAACnoD,EAAU0pB,GAAM,OAAK,KAE7ComC,kBAAmB1pD,aAAO,CACzB+hD,qBAAsB,SAACnoD,EAAU0pB,GAAM,OAAK,KAE7CqmC,aAAc3pD,aAAO,CACpBwhD,mBAAoB,SAACx+B,EAASluB,GAC7B,MAAM,GAANiF,OAAAu/C,aAAWt2B,EAAQw+B,oBAAkB,CAAE1sD,EAAMtD,UAG/Co4D,gBAAiB5pD,aAAO,CACvBwhD,mBAAoB,SAACx+B,EAASluB,GAC7B,OAAOkuB,EAAQw+B,mBAAmBziD,QAAO,SAACiqD,GAAG,OAAKA,IAAQl0D,EAAMtD,SAEjE0hD,gBAAiB,SAAClwB,EAASluB,GAC1B,OAAOkuB,EAAQkwB,gBAAgBn0C,QAC9B,SAACiqD,GAAW,OAAMA,EAAIh5C,SAAS,GAADjW,OAAIjF,EAAMtD,KAAI,YAI/Cq4D,wBAAyB7pD,aAAO,CAC/BwhD,mBAAoB,SAACx+B,EAASluB,GAC7B,OACCkuB,EAAQwzB,YACRxzB,EAAQ+9B,yBACR/9B,EAAQ+9B,wBAAwB/wC,SAC/B,oEAGM,CACN,+EAGDgT,EAAQwzB,YACRxzB,EAAQ+9B,yBACR/9B,EAAQ+9B,wBAAwB/wC,SAC/B,gEAGM,CACN,+DAGDgT,EAAQwzB,YACRxzB,EAAQ+9B,yBACR/9B,EAAQ+9B,wBAAwB/wC,SAC/B,iFAGM,CACN,qGAKDgT,EAAQwzB,YACRxzB,EAAQwzB,WAAW,GAAG0Q,YACtBlkC,EAAQwzB,WAAW,GAAG0Q,WAAW,GAAGxuC,YACpCsK,EAAQwzB,WAAW,GAAG0Q,WAAW,GAAGxuC,WAAW,GAAGhiB,MAE3C,CAACssB,EAAQwzB,WAAW,GAAG0Q,WAAW,GAAGxuC,WAAW,GAAGhiB,OAEnD,MAIVozD,mBAAoB9pD,aAAO,CAC1BmhD,aAAc,SAACn+B,EAASluB,GACvB,OAAIkuB,EAAQ6hB,MAAQ7hB,EAAQ6hB,KAAK2iB,OAASxkC,EAAQ6hB,KAAK2iB,MAAM,GACrD,CAACxkC,EAAQ6hB,KAAK2iB,MAAM,GAAG9wD,OAEvB,MAIVqzD,gBAAiB/pD,aAAO,CACvBqhD,qBAAsB,SAACznD,EAAU9E,GAChC,MAAO,CAACA,EAAMtD,SAGhBw4D,aAAchqD,cAAO,SAACpG,EAAU0pB,EAAM2mC,GACrC,OAD+CA,EAAN1xD,OAC1B0rD,YACd,IAAK,MACJ,MAAO,CACNhB,MAAO,KACPC,SAAU,KACV1M,WAAY,KACZ3R,KAAM,KACNgN,QAAS,KACTwR,cAAe,KACfE,aAAc,KACdJ,MAAO,KACPC,iBAAkB,KAClBxC,gBAAiB,KACjBE,aAAc,KACdC,wBAAyB,KACzBE,oBAAqB,KACrBS,iBAAkB,KAClBxO,gBAAiB,GACjBiO,aAAc,GACdE,qBAAsB,CAAC,oBACvBG,mBAAoB,GACpBF,qBAAsB,QACtBO,kBAAmB,SACnBE,sBAAsB,EACtBE,gBAAiB,GACjBpvD,OAAQ,MAEV,IAAK,OACJ,MAAO,CACNqwD,SAAU,KACV1M,WAAY,KACZ3R,KAAM,KACNgN,QAAS,KACTwR,cAAe,KACfE,aAAc,KACdJ,MAAO,KACPC,iBAAkB,KAClBxC,gBAAiB,KACjBE,aAAc,KACdC,wBAAyB,KACzBE,oBAAqB,KACrBS,iBAAkB,KAClBxO,gBAAiB,GACjBiO,aAAc,GACdE,qBAAsB,CAAC,oBACvBG,mBAAoB,GACpBF,qBAAsB,QACtBO,kBAAmB,SACnBE,sBAAsB,EACtBE,gBAAiB,GACjBpvD,OAAQ,KACR6wD,YAAa,MAEf,IAAK,UACJ,MAAO,CACNlN,WAAY,KACZ3R,KAAM,KACNgN,QAAS,KACTwR,cAAe,KACfE,aAAc,KACdJ,MAAO,KACPC,iBAAkB,KAClBtC,aAAc,KACdC,wBAAyB,KACzBE,oBAAqB,KACrBS,iBAAkB,KAClBxO,gBAAiB,GACjBiO,aAAc,GACdE,qBAAsB,CAAC,oBACvBG,mBAAoB,GACpBF,qBAAsB,QACtBO,kBAAmB,SACnBE,sBAAsB,EACtBE,gBAAiB,GACjBpvD,OAAQ,KACR6wD,YAAa,MAEf,IAAK,OACJ,MAAO,CACNlN,WAAY,KACZ3R,KAAM,KACNgN,QAAS,KACTwR,cAAe,KACfE,aAAc,KACdH,iBAAkB,KAClBrC,wBAAyB,KACzBE,oBAAqB,KACrBS,iBAAkB,KAClBxO,gBAAiB,GACjBiO,aAAc,GACdE,qBAAsB,CAAC,oBACvBG,mBAAoB,GACpBF,qBAAsB,QACtBO,kBAAmB,SACnBE,sBAAsB,EACtB2B,YAAa,MAEf,IAAK,kBACJ,MAAO,CACNlN,WAAY,KACZ3R,KAAM,KACNgN,QAAS,KACTwR,cAAe,KACfE,aAAc,KACdtC,oBAAqB,KACrBS,iBAAkB,KAClBxO,gBAAiB,GACjBiO,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,GACpBtO,gBAAiB,IAEnB,QACC,MAAO,OAIVgX,oBAAqBlqD,cAAO,SAACgjB,EAASM,GACrC,IAAA6mC,EAiBI9pD,iBAAMlG,OAAOC,SAASuD,QAhBzBqoC,EAAImkB,EAAJnkB,KACA6a,EAAOsJ,EAAPtJ,QACApnC,EAAI0wC,EAAJ1wC,KACAunC,EAAemJ,EAAfnJ,gBACAE,EAAWiJ,EAAXjJ,YACAS,EAAQwI,EAARxI,SACAP,EAAI+I,EAAJ/I,KACAG,EAAY4I,EAAZ5I,aACAE,EAAK0I,EAAL1I,MACAG,EAAYuI,EAAZvI,aACAhjC,EAASurC,EAATvrC,UACAkjC,EAAYqI,EAAZrI,aACAxG,EAAO6O,EAAP7O,QACO8O,EAASD,EAAhBznC,MACA2D,EAAK8jC,EAAL9jC,MACAtnB,EAAMorD,EAANprD,OAGD,OAAAwB,wBAAA,GACIyiB,GAAO,IACV29B,aAAe3a,GAAmB,KAClC4a,gBAAkBC,GAAsB,KACxCC,aAAernC,GAAmB,KAClCsnC,wBAA0BC,GAA8B,KACxDC,oBAAsBC,GAA0B,KAChDQ,iBAAmBC,GAAuB,KAC1CR,aACE7iD,MAAMC,QAAQ6iD,IAAUA,GACR,kBAATA,GAAsB,CAACA,IAC/B,GACDC,qBACE/iD,MAAMC,QAAQgjD,IAAkBA,GACR,kBAAjBA,GACN,CAACA,IACH,GACDC,mBACEljD,MAAMC,QAAQkjD,IAAWA,GACR,kBAAVA,GAAuB,CAACA,IAChC,GACDvO,gBACE50C,MAAMC,QAAQQ,IAAYA,GACR,kBAAXA,GAAwB,CAACA,IACjC,GACDuiD,qBAAuBM,GAAkC,QACzDC,kBAAoBjjC,GAA4B,SAChDmjC,qBAAuC,SAAjBD,IAA2B,EACjDE,MAAQ1G,GAAsB,KAC9B2G,gBACCt7C,SAASyjD,EAAqB,KAAOpnC,EAAQygC,aAC9CD,cAAe78C,SAAS0f,EAAiB,KAAO,OAIlD61B,UAAW,SAACl5B,EAASM,GAChBN,EAAQy4B,QACXz4B,EAAQy4B,OAAO70C,QAAQ85C,GAAc19B,KAGvCqnC,kBAAmB,SAACrnC,EAASM,IAvoCH,WACxBk9B,IACHA,GAAkB8J,SAGnB,IAAM7J,EAAczmD,IAAMymD,YAC1BD,GAAoBC,EAAYtoC,SAkoC7BoyC,IAEDC,iBAAkB,SAACxnC,EAASM,GAC3B,IAAI+T,EAAU,GAEd,OAAQ/T,EAAO5sB,OACd,IAAK,MACL,IAAK,QAEH2gC,EADoB,QAAjB/T,EAAO5sB,MACH,GAAAqD,OAAMipB,EAAQ9pB,OAAM,eAAAa,OAAc2mD,GAAc19B,IAEhD,GAAAjpB,OAAMipB,EAAQ9pB,OAAM,iBAAAa,OAAgB2mD,GAC1C19B,IAGFoB,GAAgBiT,GAChB,MACD,IAAK,MACJ3S,GAAqBpB,EAAO3B,SAAU,iBACtC,MACD,IAAK,MACL,IAAK,OACJ+C,GAAqBpB,EAAO3B,SAAS,SAAD5nB,OAAWupB,EAAO5sB,aCx8B7C+zD,GAhMgC,SAAH5xD,GAMrC,IALNrH,EAAIqH,EAAJrH,KACAomB,EAAW/e,EAAX+e,YACA0N,EAAIzsB,EAAJysB,KACA3D,EAAQ9oB,EAAR8oB,SAAQ+oC,EAAA7xD,EACRq+B,iBAAS,IAAAwzB,GAAQA,EAGhBzrC,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,GAAE0/C,EAAU1/C,EAAA,GAC1BG,EAAkCJ,mBAASxZ,EAAKotB,WAAUvT,EAAAH,aAAAE,EAAA,GAAnDwT,EAASvT,EAAA,GAAEu/C,EAAYv/C,EAAA,GAM9B,OAJA+F,qBAAU,WACTw5C,EAAap5D,EAAKotB,aAChB,CAACptB,EAAKotB,YAGRhnB,IAAAxD,cAAA,OAAK2O,UAAU,UACZm0B,GACDt/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,cAACwlD,MAAe,CACfpsC,GAAG,oBACHhY,KAAK,aACLkB,MAAM,SACNqM,UAAU,OACVyvC,QAAuB,WAAd5zB,EACTjS,SAAU,SAACjZ,GACVk3D,EAAal3D,EAAE4B,OAAOoB,QAMvB+G,MAAM,QACN,cAGD7F,IAAAxD,cAACwlD,MAAe,CACfpsC,GAAG,iBACHhY,KAAK,aACLkB,MAAM,MACNqM,UAAU,OACVyvC,QAAuB,QAAd5zB,EACTjS,SAAU,SAACjZ,GACVk3D,EAAal3D,EAAE4B,OAAOoB,QAMvB+G,MAAM,QACN,aAIF7F,IAAAxD,cAAA,gBACCwD,IAAAxD,cAAA,UAAQ2O,UAAU,kBAAiB,YACnCnL,IAAAxD,cAACwlD,MAAe,CACfpsC,GAAG,oBACHhY,KAAK,cACLkB,MAAM,OACNqM,UAAU,OACVyvC,SAAU/yB,EACV9S,SAAU,WACT2Y,EAAK,uBACLqlC,GAAW,IAEZltD,MAAM,QACN,cAGD7F,IAAAxD,cAACwlD,MAAe,CACfpsC,GAAG,mBACHhY,KAAK,cACLkB,MAAM,SACNqM,UAAU,OACVyvC,QAAS/yB,EACT9S,SAAU,WACT2Y,EAAK,qBACLqlC,GAAW,IAEZltD,MAAM,QACN,eCiHQotD,GArM4B,SAAHhyD,GAgBjC,IAfNwQ,EAAKxQ,EAALwQ,MAEAyhD,GADkBjyD,EAAlBuf,mBACkBvf,EAAlBiyD,oBACAC,EAAgBlyD,EAAhBkyD,iBACAC,EAAiBnyD,EAAjBmyD,kBACA/R,EAAiBpgD,EAAjBogD,kBACA9d,EAAOtiC,EAAPsiC,QACA8vB,EAAMpyD,EAANoyD,OACAz9C,EAAE3U,EAAF2U,GACAzK,EAASlK,EAATkK,UACA43B,EAAQ9hC,EAAR8hC,SACA+nB,EAAY7pD,EAAZ6pD,aACAhQ,EAAe75C,EAAf65C,gBACAptB,EAAIzsB,EAAJysB,KACAziB,EAAQhK,EAARgK,SAEM63B,EAAa9uB,mBACnBb,EAA4CC,oBAAS,GAAMC,EAAAC,aAAAH,EAAA,GAApDmgD,EAAcjgD,EAAA,GAAEkgD,EAAiBlgD,EAAA,GAExCG,EAAoCJ,oBAAS,GAAMK,EAAAH,aAAAE,EAAA,GAA5CggD,EAAU//C,EAAA,GACjBG,GADgCH,EAAA,GACNL,mBAAS03C,IAAaj3C,EAAAP,aAAAM,EAAA,GAAzCkX,EAAKjX,EAAA,GAAEysC,EAAQzsC,EAAA,GAEtBqR,EAA0B9R,mBAAS,IAAG+R,EAAA7R,aAAA4R,EAAA,GAA/B5Q,EAAK6Q,EAAA,GAAEsuC,EAAQtuC,EAAA,GAEtBkH,aAAgByW,GAAY,WAC3BywB,GAAkB,MAGnB,IAAMG,EAAeJ,EAClB,2EACA,gCAEGK,EAAgB,WACrBjmC,EAAK,gBAAiB,CACrBvmB,OAAQsK,EACRs5C,WAAYz2C,EACZw2C,aAAcA,IAEfxK,EAASwK,IAsBV,OAVAtxC,qBAAU,WACTm6C,MACE,IAEHn6C,qBAAU,YACJlF,GAASA,EAAMla,QAAU,GAAMo5D,IACnCG,MAEC,CAACr/C,IAGHtU,IAAAxD,cAAA,OACCoa,IAAKksB,EACL33B,UAAWoM,aAAK,gCAAiCpM,IAEjDnL,IAAAxD,cAAA,OACC2O,UAAWoM,aACV,qDACA+7C,EAAiB,iBAAmB,YACpCI,IAGAJ,GACAtzD,IAAAxD,cAAA,OAAK2O,UAAU,mBACdnL,IAAAxD,cAAA,SAAO2O,UAAU,UAAUqK,QAASI,GAClCnE,GAEFzR,IAAAxD,cAAA,SACCgB,KAAK,OACLoY,GAAIA,EACJhY,KAAMgY,EACN4Y,YAAa6yB,EACb9d,QAASA,EACT8vB,OAAQA,EACRz8C,IAAKmsB,EACLjkC,MAAOwV,EACPS,SAAU,SAACjZ,GAAM,OAAK23D,EAAS33D,EAAE4B,OAAOoB,QACxC80D,WAAY,SAAC93D,GAAM,MAAe,UAAVA,EAAEsD,KAAmBu0D,KAC7CxoD,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,kBAAMg0C,KACf/9C,GAAIA,GAEJ5V,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,OAAO6nC,QAAQ,gBACtBmW,GAEFpzD,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLnM,KAAM,KACNsM,eAAa,EACbF,MAAM,WAEE,KAIZvW,IAAAxD,cAAA,UACCmjB,QAAS,kBAAM4zC,GAAkB,SAACr4B,GAAO,OAAMA,MAC/C3O,gBAAe+mC,EACfhnC,gBAAA,GAAAnqB,OAAkByT,EAAE,aACpBpY,KAAK,SACL2N,UAAWoM,aACV,oBACA+7C,EACG,2BACA,4BAGFA,GACDtzD,IAAAxD,cAAA,QAAM2O,UAAU,6DACdsG,GAGFqpC,EAAkB,GAClB96C,IAAAxD,cAAA,QAAM2O,UAAU,wFACd2vC,GAGH96C,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,OAAO6nC,QAAQ,gBACtBqW,EAAiBJ,EAAqBC,GAExCnzD,IAAAxD,cAAA,YACCwD,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLC,MAAM,UACNpM,KAAM,IACNsM,cAAY,OACZgJ,UAAY6zC,EAAwB,OAAP,UAMjCtzD,IAAAxD,cAAA,OACCg/B,QAAS83B,EACT19C,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,OAtIhB4xB,EAAK,wBAAyB,CAC7BvmB,OAAQsK,EACRs5C,WAAYz2C,EACZw2C,aAAchgC,EAAQ,UAEvBw1B,EAASx1B,EAAQ,MAkIZ,YAEA9qB,IAAAxD,cAAA,QAAM2O,UAAU,QACfnL,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLC,MAAM,UACNE,cAAY,OACZgJ,UAAU,KACVtV,KAAM,a,4CCjLA0pD,GA3CwC,SAAH5yD,GAO7C,IANNmN,EAAInN,EAAJmN,KAEA2G,EAAQ9T,EAAR8T,SAEA++C,GADM7yD,EAANoX,OACSpX,EAAT6yD,WACGhtC,EAAKzb,aAAApK,EAAAqK,IAER6H,EAA8BC,mBAAS0gD,EAAU1lD,IAAMiF,EAAAC,aAAAH,EAAA,GAAhDynC,EAAOvnC,EAAA,GAAE0gD,EAAU1gD,EAAA,GAW1B,OAJAmG,qBAAU,WACTu6C,EAAWD,EAAU1lD,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,MACZ87C,QAASA,EACTzvC,UAAU,wBACV4J,SApBkB,SAACjZ,GACvBi4D,GAAYnZ,GACZ7lC,EAASjZ,IAmBLsa,SAAUhI,EAAKgI,UACX0Q,IAEL9mB,IAAAxD,cAAA,OAAK2O,UAAU,8LACbyvC,GAAW56C,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,QAAQnM,KAAM,QAErCiE,EAAKiH,SCpBL2+C,GAAuB,CAC5B,CAAEl1D,MAAO,MAAOoX,QAAS,YACzB,CAAEpX,MAAO,MAAOoX,QAAS,YACzB,CAAEpX,MAAO,OAAQoX,QAAS,cAGrB+9C,GAAqB,CAC1B,CAAEn1D,MAAO,MAAOoX,QAAS,YACzB,CAAEpX,MAAO,QAASoX,QAAS,eAGtBg+C,GACI,UADJA,GAEO,cAFPA,GAGc,yBAHdA,GAIQ,SAJRA,GAKU,UAiFVC,GAAoB,SACzBr4D,EACAs4D,EACAC,GAEA,IAAA7gB,EAA0B13C,EAAE4B,OAApBF,EAAIg2C,EAAJh2C,KAAMo9C,EAAOpH,EAAPoH,QAiBVr4C,OAAOqW,WAAarW,OAAOqW,UAAUle,MACxC6H,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,6BACPk3D,cAAeA,EACfC,aAAcA,EACdC,aApBsB,WACvB,OAAQ92D,GACP,IAAK,QACJ,MAAO,YACR,IAAK,WACJ,OAAIo9C,EACI,YAEA,WAYK2Z,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,EAClC1zD,EAAUuW,eACV6Q,EAAW/V,iBAAY,MAC7BuZ,EAAwBC,aAAW09B,GAAyB,CAC3D9/B,QAAS,CACR9pB,OAAQ,iDAIRuiD,OAAQlhD,EACRkpD,aAAc,IAEfyK,UAAU,IACT7oC,EAAAna,aAAAia,EAAA,GAVK3Y,EAAO6Y,EAAA,GAAEC,EAAID,EAAA,GAWd8oC,EAAeviD,iBAAuB,MACtCwiD,EAAexiD,iBAAuB,MAC5Cb,EAAoDC,oBAAkB,GAAMC,EAAAC,aAAAH,EAAA,GAArEsjD,EAAkBpjD,EAAA,GAAEqjD,EAAqBrjD,EAAA,GAC1CguB,EAAWvK,KAEX6/B,EAAgB,WACjBJ,EAAa3hD,SAAW4hD,EAAa5hD,SACxCrS,OAAOgwC,SAAS,CACf1hC,IAAK0lD,EAAa3hD,QAAQ09B,UAAYkkB,EAAa5hD,QAAQgiD,aAC3DpkB,SAAU,YAKPqkB,EAAoB,SACzB5gD,GAAkB,IAClB2kC,EAAgBt3C,UAAAlJ,OAAA,QAAA0D,IAAAwF,UAAA,IAAAA,UAAA,GAChByR,EAAazR,UAAAlJ,OAAA,EAAAkJ,UAAA,QAAAxF,EAAA,OAEbkC,IAAAxD,cAACwlD,MAAe,CACfpsC,GAAIK,EAAOL,GACXxW,IAAK6W,EAAOL,GACZhY,KAAMqY,EAAOrY,KACbkB,MAAOmX,EAAOnX,MACd87C,QAASA,EACTzvC,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,SAAU2vB,EAAW,SAAW,QAChCxhB,qBAAoBq0C,QAOnB/mC,EAAmB,SAAC2pC,GACzB,IAM+CC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAN3ChzC,EACsC,UAAzCxP,EAAQwW,QAAQs+B,sBACyB,gBAAzC90C,EAAQwW,QAAQs+B,qBAAsC,WAAAvnD,OACxCyS,EAAQwW,QAAQs+B,sBAAoB,YAAAvnD,OACnCyS,EAAQwW,QAAQ6+B,mBAE5B1nD,OAAOqW,WAAarW,OAAOqW,UAAUle,MACxC6H,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,6BACPknB,OAAQA,EACR0yC,aAAcA,EACdO,WAAW,uBAADl1D,OAAsByS,EAAQwW,QAAQ29B,cAChDuO,WAAW,qBAADn1D,OAAuByS,EAAQwW,QAAQ49B,iBACjDuO,WAAW,aAADp1D,OAAeyS,EAAQwW,QAAQ89B,cACzCsO,WAAW,oBAADr1D,OAAsByS,EAAQwW,QAAQ+9B,yBAChDsO,WAAW,mBAADt1D,OAA4B,OAAPyS,QAAO,IAAPA,GAAgB,QAATmiD,EAAPniD,EAASwW,eAAO,IAAA2rC,GAAoB,QAApBC,EAAhBD,EAAkBnN,0BAAkB,IAAAoN,GACtC,QADsCC,EAApCD,EAC5BzvD,KAAI,SAACsiD,GAAK,SAAA1nD,OAAQ0nD,aAAQ,IAAAoN,OADS,EAAPA,EAE5BxvD,KAAK,OACRiwD,WAAW,eAADv1D,QACoB,QAA5B+0D,EAAAtiD,EAAQwW,QAAQm+B,oBAAY,IAAA2N,OAAA,EAA5BA,EAA8B98D,QAAS,IACX,QAA5B+8D,EAAAviD,EAAQwW,QAAQm+B,oBAAY,IAAA4N,GAA0B,QAA1BC,EAA5BD,EAA8B5vD,KAAI,SAACiiD,GAAI,SAAArnD,OAAQqnD,aAAO,IAAA4N,OAA1B,EAA5BA,EAAwD3vD,KAAK,OAAK,KAEnE,GAAE,KAAAtF,OACCyS,EAAQwW,QAAQq+B,sBACpBkO,WAAW,YAADx1D,OAAWyS,EAAQwW,QAAQi+B,wBAKlCuO,EAAW,SAAXA,IACL,GAAIrB,EAAa3hD,SAAWrS,QAE1BA,OAAOs1D,YAAct1D,OAAOu1D,aAC5BvB,EAAa3hD,QAAQ09B,UACgB,IAApCikB,EAAa3hD,QAAQgiD,aACrB,CACD,IAM+CmB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAN3Ch0C,EACsC,UAAzCxP,EAAQwW,QAAQs+B,sBACyB,gBAAzC90C,EAAQwW,QAAQs+B,qBAAsC,WAAAvnD,OACxCyS,EAAQwW,QAAQs+B,sBAAoB,YAAAvnD,OACnCyS,EAAQwW,QAAQ6+B,mBAEhC,GAAI1nD,OAAOqW,WAAarW,OAAOqW,UAAUle,KACxC6H,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,2BACPknB,OAAQA,EACRizC,WAAW,uBAADl1D,OAAsByS,EAAQwW,QAAQ29B,cAChDuO,WAAW,qBAADn1D,OAAuByS,EAAQwW,QAAQ49B,iBACjDuO,WAAW,aAADp1D,OAAeyS,EAAQwW,QAAQ89B,cACzCsO,WAAW,oBAADr1D,OAAsByS,EAAQwW,QAAQ+9B,yBAChDsO,WAAW,mBAADt1D,OAA4B,OAAPyS,QAAO,IAAPA,GAAgB,QAATmjD,EAAPnjD,EAASwW,eAAO,IAAA2sC,GAAoB,QAApBC,EAAhBD,EAAkBnO,0BAAkB,IAAAoO,GACtC,QADsCC,EAApCD,EAC5BzwD,KAAI,SAACsiD,GAAK,SAAA1nD,OAAQ0nD,aAAQ,IAAAoO,OADS,EAAPA,EAE5BxwD,KAAK,OACRiwD,WAAW,eAADv1D,QACoB,QAA5B+1D,EAAAtjD,EAAQwW,QAAQm+B,oBAAY,IAAA2O,OAAA,EAA5BA,EAA8B99D,QAAS,IACX,QAA5B+9D,EAAAvjD,EAAQwW,QAAQm+B,oBAAY,IAAA4O,GACD,QADCC,EAA5BD,EACG5wD,KAAI,SAACiiD,GAAI,SAAArnD,OAAQqnD,aAAO,IAAA4O,OADC,EAA5BA,EAEG3wD,KAAK,OAAK,KACd,GAAE,KAAAtF,OACCyS,EAAQwW,QAAQq+B,sBACpBkO,WAAW,YAADx1D,OAAWyS,EAAQwW,QAAQi+B,uBAInC9mD,QACHA,OAAOsX,oBAAoB,SAAU+9C,KA8CzC,OAxCAp+C,qBAAU,WACTkU,EAAK,gBAIH,IAEHlU,qBAAU,WACT,GAAI5E,EAAQwW,QAAQnwB,QACfs7D,EAAa3hD,QAKhB,OAJIrS,QACHA,OAAOqX,iBAAiB,SAAUg+C,GAG5B,WACFr1D,QACHA,OAAOsX,oBAAoB,SAAU+9C,MAKvC,CAAChjD,EAAQwW,QAAQnwB,SAEpBue,qBAAU,WAAO,IAAD6+C,EACf,IAA+B,QAA/BA,EAAIzjD,EAAQwW,QAAQ0gC,mBAAW,IAAAuM,OAAA,EAA3BA,EAA6B16D,UAC5B4E,OAAOqW,WAAarW,OAAOqW,UAAUle,KAAM,CAC9C,IAAI0pB,EACsC,UAAzCxP,EAAQwW,QAAQs+B,sBACyB,gBAAzC90C,EAAQwW,QAAQs+B,qBACb,SACA,UACJnnD,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,yBACPK,UAAWqX,EAAQwW,QAAQ0gC,YAAYnuD,QACvCymB,OAAQA,OAIT,CAA4B,QAA5BqwC,EAAC7/C,EAAQwW,QAAQ0gC,mBAAW,IAAA2I,OAAA,EAA3BA,EAA6B92D,UAGhCqC,IAAAxD,cAAA,WACCwD,IAAAxD,cAAC03B,KAAI,CAACtjB,QAAQ,EAAOY,SAAS,EAAOrG,UAAU,gBAC9CnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIppB,UAAU,qCACzBnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,MAAK,kBAEZR,EAAQ2hB,QAAQ,eAChBv2B,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLnM,KAAM,EACNqM,QAAQ,OACRD,MAAM,UACNpL,UAAU,uBAIbnL,IAAAxD,cAAA,OACC2O,UAAWoM,aACV,0EACC3C,EAAQwW,QAAQ29B,cAAgB,cAGlC/oD,IAAAxD,cAACq9B,KAAgB,CAChBr8B,KAAK,SACLkZ,QAAQ,UACRiJ,QAAS,WACR+N,EAAK,cAEN7N,qBAAoBq0C,IACpB,cAEAl0D,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,WAAWG,eAAa,EAAMtL,UAAU,mBAMvDnL,IAAAxD,cAAA,WACCwD,IAAAxD,cAAC03B,KAAI,CAACtjB,QAAQ,EAAOY,SAAS,EAAOrG,UAAU,gBAC9CnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,IACXv0B,IAAAxD,cAAA,OACC2O,UAAWoM,aACV,oEACC3C,EAAQwW,QAAQigC,OAAS,eAG3BrrD,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,MAAK,qBAEbpV,IAAAxD,cAAA,QAAM2O,UAAU,oCAAmC,mBAGnDnL,IAAAxD,cAACkZ,MAAO,CACPvK,UAAU,sBACVsG,MAAM,oCACNnE,YAAY,+GACZoE,SAAU2vB,EAAW,OAAS,SAC9BxhB,qBAAoBq0C,KAEpBt/C,EAAQ2hB,QAAQ,iBAChBv2B,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLnM,KAAM,EACNqM,QAAQ,OACRD,MAAM,UACNpL,UAAU,uBAIbnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAI,kCACZR,EAAQwW,QAAQigC,OAChBrrD,IAAAxD,cAAA,QAAM2O,UAAU,QACfnL,IAAAxD,cAAA,YAAU2O,UAAU,uCAClByJ,EAAQwW,QAAQigC,MAAM9jD,KAAI,SAAC0O,GAAM,OACjC4gD,EACC5gD,EACAA,EAAOnX,QAAU8V,EAAQwW,QAAQ29B,cACjC,SAACjtD,GACA4xB,EAAK,CACJlwB,KAAM,cACN5D,KAAMkC,EAAE4B,OAAOoB,QAEhBq1D,GAAkBr4D,EAAG,qBAAmBma,EAAOZ,cA6BrDrV,IAAAxD,cAAA,OACC6+B,YAAU,SACV0Y,cAAY,OACZ5oC,UAAU,2BAETyJ,EAAQ2hB,QAAQ,iBAChBv2B,IAAAxD,cAACi/B,KAAK,CAAC/kB,QAAQ,UACd1W,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,EAAOzF,UAAU,QACpCyJ,EAAQwW,QAAQpuB,UAOtBgD,IAAAxD,cAAA,OACC2O,UAAWoM,aACV,oEACC3C,EAAQwW,QAAQkgC,UAAY,eAG9BtrD,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,MAAK,mBAEbpV,IAAAxD,cAAA,QAAM2O,UAAU,oCAAmC,mBAGnDnL,IAAAxD,cAACkZ,MAAO,CACPvK,UAAU,sBACVsG,MAAM,kCACNnE,YAAY,qJACZoE,SAAU2vB,EAAW,OAAS,SAC9BxhB,qBAAoBq0C,KAEpBt/C,EAAQ2hB,QAAQ,oBAChBv2B,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLnM,KAAM,EACNqM,QAAQ,OACRD,MAAM,UACNpL,UAAU,uBAIbnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAI,+BACZR,EAAQwW,QAAQkgC,UAChBtrD,IAAAxD,cAAA,QAAM2O,UAAU,QACfnL,IAAAxD,cAAA,YAAU2O,UAAU,uCAClByJ,EAAQwW,QAAQkgC,SAAS/jD,KAAI,SAAC0O,GAAM,OACpC4gD,EACC5gD,EACAA,EAAOnX,QAAU8V,EAAQwW,QAAQ49B,iBACjC,SAACltD,GACA4xB,EAAK,CACJlwB,KAAM,iBACN5D,KAAMkC,EAAE4B,OAAOoB,QAEhBq1D,GAAkBr4D,EAAG,mBAAoBma,EAAOZ,cAOtDrV,IAAAxD,cAAA,OACC6+B,YAAU,SACV0Y,cAAY,OACZ5oC,UAAU,2BAETyJ,EAAQ2hB,QAAQ,cAChBv2B,IAAAxD,cAACi/B,KAAK,CAAC/kB,QAAQ,UACd1W,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,EAAOzF,UAAU,QACpCyJ,EAAQwW,QAAQpuB,UAOtBgD,IAAAxD,cAAA,OACC2O,UAAWoM,aACV,oEACC3C,EAAQwW,QAAQmgC,OAAS,eAG3BvrD,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,qBAAoBq0C,KAEpBt/C,EAAQ2hB,QAAQ,iBAChBv2B,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLnM,KAAM,EACNqM,QAAQ,OACRD,MAAM,UACNpL,UAAU,uBAIbnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAI,uBACZR,EAAQwW,QAAQmgC,OAChBvrD,IAAAxD,cAAA,QAAM2O,UAAU,QACfnL,IAAAxD,cAAA,YAAU2O,UAAU,uCAClByJ,EAAQwW,QAAQmgC,MAAMhkD,KAAI,SAAC0O,GAAM,OACjC4gD,EACC5gD,EACAA,EAAOnX,QAAU8V,EAAQwW,QAAQ89B,cACjC,SAACptD,GACA4xB,EAAK,CACJlwB,KAAM,cACN5D,KAAMkC,EAAE4B,OAAOoB,QAEhBq1D,GAAkBr4D,EAAG,WAAYma,EAAOZ,cAO9CrV,IAAAxD,cAAA,OACC6+B,YAAU,SACV0Y,cAAY,OACZ5oC,UAAU,2BAETyJ,EAAQ2hB,QAAQ,yBAChBv2B,IAAAxD,cAACi/B,KAAK,CAAC/kB,QAAQ,UACd1W,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,EAAOzF,UAAU,QACpCyJ,EAAQwW,QAAQpuB,UAMtBgD,IAAAxD,cAAA,OACC2O,UAAWoM,aACV,oEACC3C,EAAQwW,QAAQogC,kBAAoB,WAGtCxrD,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,MAAK,kBAEbpV,IAAAxD,cAAA,QAAM2O,UAAU,oCAAmC,mBAGnDnL,IAAAxD,cAACkZ,MAAO,CACPvK,UAAU,sBACVsG,MAAM,iCACNnE,YAAY,qHACZoE,SAAU2vB,EAAW,OAAS,QAC9BxhB,qBAAoBq0C,KAEpBt/C,EAAQ2hB,QAAQ,4BAChBv2B,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLnM,KAAM,EACNqM,QAAQ,OACRD,MAAM,UACNpL,UAAU,uBAIbnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAI,oDACZR,EAAQwW,QAAQogC,kBAChBxrD,IAAAxD,cAAA,QAAM2O,UAAU,QACfnL,IAAAxD,cAAA,YAAU2O,UAAU,uCAClByJ,EAAQwW,QAAQogC,iBAAiBjkD,KAAI,SAAC0O,GAAM,OAC5C4gD,EACC5gD,EACAA,EAAOnX,QACN8V,EAAQwW,QAAQ+9B,yBACjB,SAACrtD,GACA4xB,EAAK,CACJlwB,KAAM,0BACN5D,KAAMkC,EAAE4B,OAAOoB,QAEhBq1D,GAAkBr4D,EAAG,kBAAmBma,EAAOZ,eASd,KAAb,QAA1Bq/C,EAAA9/C,EAAQwW,QAAQwzB,kBAAU,IAAA8V,OAAA,EAA1BA,EAA4Bt6D,SACwB,KAAb,QAAxCu6D,EAAA//C,EAAQwW,QAAQwzB,WAAW,GAAG0Q,kBAAU,IAAAqF,OAAA,EAAxCA,EAA0Cv6D,UACb,QAA7Bw6D,EAAAhgD,EAAQwW,QAAQwzB,WAAW,UAAE,IAAAgW,GAAe,QAAfC,EAA7BD,EAA+BtF,WAAW,UAAE,IAAAuF,GAAY,QAAZC,EAA5CD,EAA8C/zC,kBAAU,IAAAg0C,OAA3B,EAA7BA,EAA0D16D,QACzD,EACA4F,IAAAxD,cAAA,OACC2O,UAAWoM,aACV,oEACC3C,EAAQwW,QAAQwzB,YAAc,WAGhC5+C,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,MACsB,QADlB2/C,EACXngD,EAAQwW,QAAQwzB,WAAW,UAAE,IAAAmW,OAAA,EAA7BA,EAA+BzF,WAAW,GAAGn9C,QAC9CnS,IAAAxD,cAAA,QAAM2O,UAAU,oCAAmC,oBAGrB,QAA7B6pD,EAAApgD,EAAQwW,QAAQwzB,WAAW,UAAE,IAAAoW,OAAA,EAA7BA,EAA+B1F,WAAW,GAAGhiD,cAC7CtN,IAAAxD,cAACkZ,MAAO,CACPvK,UAAU,sBACVsG,MAAK,kBAAAtP,OAAiD,QAAjD8yD,EAAoBrgD,EAAQwW,QAAQwzB,WAAW,UAAE,IAAAqW,OAAA,EAA7BA,EAA+B3F,WAAW,GAAGn9C,SACtE7E,YAC8B,QADnB4nD,EACVtgD,EAAQwW,QAAQwzB,WAAW,UAAE,IAAAsW,OAAA,EAA7BA,EAA+B5F,WAAW,GAAGhiD,YAE9CoE,SAAS,QACTmO,qBAAoBq0C,KAGrBt/C,EAAQ2hB,QAAQ,6BAChBv2B,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLnM,KAAM,EACNqM,QAAQ,OACRD,MAAM,UACNpL,UAAU,uBAIbnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KACsB,QADnB+/C,EACVvgD,EAAQwW,QAAQwzB,WAAW,UAAE,IAAAuW,OAAA,EAA7BA,EAA+B7F,WAAW,GAAGj6C,MAE9CT,EAAQwW,QAAQwzB,WAAW,GAAG0Q,WAAW,GAAGxuC,YAC5C9gB,IAAAxD,cAAA,QAAM2O,UAAU,QACfnL,IAAAxD,cAAA,YAAU2O,UAAU,kBAEN,IADZyJ,EAAQwW,QAAQwzB,WAAW,GAAG0Q,WAAW,GAAGxuC,WAC3C1mB,OACCwa,EAAQwW,QAAQwzB,WAAW,GAAG0Q,WAAW,GAAGxuC,WAAWvZ,KACvD,SAAC0O,GAAM,OACN4gD,EACC5gD,EACAA,EAAOnX,QACN8V,EAAQwW,QAAQw+B,mBAAmB,IACpC,SAAC9tD,GACA4xB,EAAK,CACJlwB,KAAM1B,EAAE4B,OAAOk9C,QACZ,gBACA,mBACHhhD,KAAMkC,EAAE4B,OAAOoB,cAKnB8V,EAAQwW,QAAQwzB,WAAW,GAAG0Q,WAAW,GAAGxuC,WAAWvZ,KACvD,SAAC0O,GAAM,OACNjW,IAAAxD,cAAC87D,KAAY,CACZ1iD,GAAIK,EAAOL,GACXxW,IAAK6W,EAAOL,GACZhY,KAAMqY,EAAOrY,KACbkB,MAAOmX,EAAOnX,MACd87C,SAGQ,IAFPhmC,EAAQwW,QAAQw+B,mBAAmBt0C,QAClCW,EAAOnX,OAGT+G,MAAM,OACNsF,UAAU,OACV4J,SAAU,SAACjZ,GAAY,IAADy8D,EAAAC,EACrB9qC,EAAK,CACJlwB,KAAM1B,EAAE4B,OAAOk9C,QACZ,gBACA,mBACHhhD,KAAMkC,EAAE4B,OAAOoB,QAGf8V,EAAQwW,QAAQwzB,YAChBhqC,EAAQwW,QAAQwzB,WAAW,GAAG0Q,aACD,QADWiJ,EACxC3jD,EAAQwW,QAAQwzB,WAAW,UAAE,IAAA2Z,OAAA,EAA7BA,EAA+BjJ,WAAW,GACxCn9C,UAEFgiD,GACCr4D,EAC6B,QAD5B08D,EACD5jD,EAAQwW,QAAQwzB,WAAW,UAAE,IAAA4Z,OAAA,EAA7BA,EACGlJ,WAAW,GAAGn9C,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,qBACCq0C,aAabl0D,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAA,OACC2O,UAAWoM,aACV,oEACC3C,EAAQwW,QAAQwzB,YAAc,WAGhC5+C,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,MAAK,iBAEbpV,IAAAxD,cAACkZ,MAAO,CACPvK,UAAU,sBACVsG,MAAM,iCACNnE,YAAY,0IACZoE,SAAS,QACTmO,qBAAoBq0C,KAEpBt/C,EAAQ2hB,QAAQ,6BAChBv2B,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLnM,KAAM,EACNqM,QAAQ,OACRD,MAAM,UACNpL,UAAU,uBAIbnL,IAAAxD,cAAC2Y,GAAI,CACJC,GAAG,IACHxE,QAAQ,EACRzF,UAAWoM,aAAK8pB,EAAW,OAAS,SAMnC,8DAGDzsB,EAAQwW,QAAQwzB,YAChB5+C,IAAAxD,cAAA,OACC2O,UAAWoM,aACV,eACA,0DAGDvX,IAAAxD,cAAA,UACCmjB,QAAS,kBACR+2C,GAAuBD,IAExBtrD,UAAWoM,aACVk/C,EACG,cACA,+BACH,wCAED52C,qBACC42C,EAAqB,mBAAkB,iBAGxCz2D,IAAAxD,cAAA,YACEi6D,EACE,mBACA,iBAEJz2D,IAAAxD,cAAA,QAAM2O,UAAU,QACfnL,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLnM,KAAM,IACNsV,UAAWg3C,EAAqB,OAAS,KACzClgD,MAAM,cAIRkgD,GACAz2D,IAAAxD,cAAC0X,KAAI,CACJ/I,UAAU,oEACV4J,SAAU,SAACjZ,MAIXkE,IAAAxD,cAACuhB,GAAe,CAACI,gBAAc,GAC9Bne,IAAAxD,cAAA,OAAK2O,UAAU,iDACbyJ,EAAQwW,QAAQwzB,WAAWr3C,KAC3B,SACC6rC,EACAqlB,GACK,IAADC,EACAC,EACF/jD,EAAQwW,QAAQwzB,YAChB6Z,IACC7jD,EAAQwW,QAAQwzB,WAAWxkD,OAC1B,IACH,EACD,OACC4F,IAAAxD,cAAA,OAAK2O,UAAU,OAAO/L,IAAKq5D,GACzBrlB,EAAOjhC,SACPnS,IAAAxD,cAAC2Y,GAAI,CACJC,GAAG,KACHjK,UAAU,uBAETioC,EAAOjhC,QACPihC,EAAO9lC,aACPtN,IAAAxD,cAACkZ,MAAO,CACPvK,UAAU,kCACVsG,MAAM,6BACNnE,YAAa8lC,EAAO9lC,YACpBoE,SACCinD,EAAe,OAAS,QAEzB94C,qBACCq0C,MAMJ9gB,EAAO/9B,MACPrV,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIjK,UAAU,QACrBioC,EAAO/9B,MAGQ,QADjBqjD,EACAtlB,EAAOkc,kBAAU,IAAAoJ,OAAA,EAAjBA,EAAmBnxD,KACnB,SACCqxD,EACAC,GAAgB,OAEhB74D,IAAAxD,cAACwD,IAAMiU,SAAQ,CAAC7U,IAAKy5D,GAzzBb,SAC5BxmD,EACAF,EACAy3C,EACAl8B,EACAirC,EACArrD,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,SAAUinD,EAAe,OAAS,QAClC94C,qBAAoBq0C,MAItB7hD,EAAQ9K,KAAI,SAAC0O,GACb,OACCjW,IAAAxD,cAAC87D,KAAY,CACZ1iD,GAAIK,EAAOL,GACXxW,IAAK6W,EAAOL,GACZhY,KAAMqY,EAAOrY,KACbkB,MAAOmX,EAAOnX,MACd+G,MAAM,OACN+0C,SAC+C,IAA9CgP,EAAmBt0C,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,GACV4xB,EAAK,CACJlwB,KAAM1B,EAAE4B,OAAOk9C,QAAU,gBAAkB,mBAC3ChhD,KAAMkC,EAAE4B,OAAOoB,QAEhBq1D,GAAkBr4D,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,SAAUinD,EAAe,OAAS,iBAzDnC,KAizBcG,CACAF,EAAU93C,WACV83C,EAAUzmD,QACVyC,EAAQwW,QACNw+B,mBACFl8B,EACAirC,EACAC,EAAUtrD,2BAmB3BtN,IAAAxD,cAAA,OACC2O,UAAWoM,aACV,oEACC3C,EAAQwW,QAAQ6hB,MAAQ,WAG1BjtC,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,MAAK,aAEbpV,IAAAxD,cAAA,QAAM2O,UAAU,oCAAmC,mBAGnDnL,IAAAxD,cAACkZ,MAAO,CACPvK,UAAU,sBACVsG,MAAM,qBACNnE,YAAY,wGACZoE,SAAU2vB,EAAW,SAAW,QAChCxhB,qBAAoBq0C,MAGtBl0D,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAI,uBACQ,QAApBggD,EAAAxgD,EAAQwW,QAAQ6hB,YAAI,IAAAmoB,OAAA,EAApBA,EAAsBxF,QACtB5vD,IAAAxD,cAAA,QAAM2O,UAAU,QACfnL,IAAAxD,cAAA,YAAU2O,UAAU,kBAClByJ,EAAQwW,QAAQ6hB,KAAK2iB,MAAMroD,KAAI,SAAC0O,GAAM,IAAA8iD,EAAAC,EAAA,OACE,KAApB,QAApBD,EAAAnkD,EAAQwW,QAAQ6hB,YAAI,IAAA8rB,GAAO,QAAPC,EAApBD,EAAsBnJ,aAAK,IAAAoJ,OAAP,EAApBA,EAA6B5+D,QAC5By8D,EACC5gD,EACAA,EAAOnX,QAAU8V,EAAQwW,QAAQm+B,aAAa,IAC9C,SAACztD,GACA4xB,EAAK,CACJlwB,KAAM1B,EAAE4B,OAAOk9C,QACZ,WACA,cACHhhD,KAAMkC,EAAE4B,OAAOoB,WAKlBkB,IAAAxD,cAAC87D,KAAY,CACZ1iD,GAAIK,EAAOL,GACXxW,IAAK6W,EAAOL,GACZhY,KAAMqY,EAAOrY,KACbkB,MAAOmX,EAAOnX,MACd+G,MAAM,OACN+0C,SAGQ,IAFPhmC,EAAQwW,QAAQm+B,aAAaj0C,QAC5BW,EAAOnX,OAGTqM,UAAU,OACV4J,SAAU,SAACjZ,GACV4xB,EAAK,CACJlwB,KAAM1B,EAAE4B,OAAOk9C,QACZ,WACA,cACHhhD,KAAMkC,EAAE4B,OAAOoB,QAEhBq1D,GAAkBr4D,EAAG,aAAcma,EAAOZ,QAG1CY,EAAOZ,WAKS,QAApBggD,EAAAzgD,EAAQwW,QAAQ6hB,YAAI,IAAAooB,OAAA,EAApBA,EAAsBt9C,YACtB/X,IAAAxD,cAAA,YAAU2O,UAAU,kBAClByJ,EAAQwW,QAAQ6hB,KAAKl1B,UAAUxQ,KAAI,SAAC0O,GAAM,OAC1C4gD,EACC5gD,EACAA,EAAOnX,QACN8V,EAAQwW,QAAQq+B,qBAAqB,IACtC,SAAC3tD,GACA4xB,EAAK,CACJlwB,KAAM,oBACN5D,KAAMkC,EAAE4B,OAAOoB,QAEhBq1D,GAAkBr4D,EAAG,aAAcma,EAAOZ,gBASlC,QAAfigD,EAAA1gD,EAAQwW,eAAO,IAAAkqC,OAAA,EAAfA,EAAiB3J,eACjB3rD,IAAAxD,cAAA,OACC2O,UAAWoM,aACV,oEACC3C,EAAQwW,QAAQugC,cAAgB,eAGlC3rD,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,MAAK,UAEbpV,IAAAxD,cAAA,QAAM2O,UAAU,oCAAmC,oBAIpDnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAI,wBACZR,EAAQwW,QAAQugC,cAChB3rD,IAAAxD,cAAA,QAAM2O,UAAU,QACfnL,IAAAxD,cAAA,YAAU2O,UAAU,kBAClByJ,EAAQwW,QAAQugC,aAAapkD,KAAI,SAAC0O,GAAM,OACxCjW,IAAAxD,cAACwlD,MAAe,CACfpsC,GAAIK,EAAOL,GACXxW,IAAK6W,EAAOL,GACZhY,KAAMqY,EAAOrY,KACbkB,MAAOmX,EAAOnX,MACd+G,MAAM,OACN+0C,QACChmC,EAAQwW,QAAQi+B,sBAAwBpzC,EAAOnX,MAEhDqM,UAAU,OACV4J,SAAU,SAACjZ,GACV4xB,EAAK,CACJlwB,KAAM,qBACN5D,KAAMkC,EAAE4B,OAAOoB,QAEhBq1D,GAAkBr4D,EAAG,UAAQma,EAAOZ,QAGpCY,EAAOZ,YAQfrV,IAAAxD,cAAA,OACC2O,UAAWoM,aACV,kGACC3C,EAAQwW,QAAQnwB,QAAU2Z,EAAQwW,QAAQ0gC,cAC1C,kBACAl3C,EAAQwW,QAAQnwB,SACf2Z,EAAQwW,QAAQ0gC,aACjB,iBAEFl1C,IAAK4/C,GAEJ5hD,EAAQwW,QAAQnwB,QAAU2Z,EAAQwW,QAAQ0gC,YAC1C9rD,IAAAxD,cAAA,UACCgB,KAAK,SACLqiB,qBAAoBq0C,GACpBv0C,QAASg3C,EACTxrD,UAAU,6BACV,yBACuB,IACvBnL,IAAAxD,cAAA,OAAK2O,UAAU,4BACdnL,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,QAAQnL,UAAU,OAAOsU,UAAU,WAIhDzf,IAAAxD,cAAA,UACCgB,KAAK,SACLqiB,qBAAoBq0C,GACpBv0C,QAASg3C,EACTvgD,UAAQ,EACRjL,UAAU,kBACV,yBACuB,IACvBnL,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,QAAQnL,UAAU,OAAOsU,UAAU,YAI/C7K,EAAQwW,QAAQnwB,SAAW2Z,EAAQwW,QAAQ0gC,aAC5C9rD,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAKjK,UAAU,cAAa,0GAQzCnL,IAAAxD,cAAA,OAAKoa,IAAK2/C,GACTv2D,IAAAxD,cAAC03B,KAAI,CAACtjB,QAAQ,EAAOY,SAAS,EAAOrG,UAAU,gBAC9CnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,IACXv0B,IAAAxD,cAAA,OACC2O,UAAWoM,aACV,oEACC3C,EAAQwW,QAAQ6uB,SAAW,WAG7Bj6C,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,MAAK,WAEbpV,IAAAxD,cAACkZ,MAAO,CACPvK,UAAU,sBACVsG,MAAM,0BACNnE,YAAY,yGACZoE,SAAS,QACTmO,qBAAoBq0C,MAGtBl0D,IAAAxD,cAAC0X,KAAI,CAAC/I,UAAU,sCACfnL,IAAAxD,cAAA,OAAK2O,UAAU,kBACdnL,IAAAxD,cAAAwD,IAAAiU,SAAA,KACiB,QADjBshD,EACE3gD,EAAQwW,eAAO,IAAAmqC,GAAS,QAATC,EAAfD,EAAiBtb,eAAO,IAAAub,OAAT,EAAfA,EAA0BjuD,KAC1B,SAACJ,EAAgC8xD,GAChC,OACCj5D,IAAAxD,cAAC08D,GAAuB,CACvB95D,IAAK+H,EAAOkO,KACZlK,UAAU,YACV2/C,aAAc,GACdhQ,gBAAiB3zC,EAAO2zC,gBACxBllC,GAAG,SACHnE,MAAOtK,EAAOkO,KACdgsC,kBAAiB,gBAAAl/C,OAAYgF,EAAOkO,MACpCmL,mBAAmB,YACnB2yC,iBAAiB,gBACjBD,mBAAmB,mBACnBE,kBAAkB,yBAClB1lC,KAAMA,GAEN1tB,IAAAxD,cAAA,MAAI2O,UAAU,QACZhE,EAAO8B,MAAM1B,KAAI,SAAC6G,EAAWoN,GAAa,OAC1Cxb,IAAAxD,cAACq3D,GAA6B,CAC7Bz0D,IAAKoc,EACLpN,KAAMA,EACN2G,SAAU,SACTjZ,GAEA,IAAA4+C,EACC5+C,EAAE6+C,cADK/8C,EAAI88C,EAAJ98C,KAAMkB,EAAK47C,EAAL57C,MAAO87C,EAAOF,EAAPE,QAGpBltB,EADGktB,EACE,CACJp9C,KAAM,aACNI,OACAkB,SAGI,CACJtB,KAAM,eACNI,OACAkB,WAIHg1D,UAAW,SAAC79C,GAAkB,OAGtB,IAFPrB,EAAQwW,QAAQkwB,gBAAgBhmC,QAC/BW,EAAOnX,oBAYlBkB,IAAAxD,cAACq9B,KAAgB,CAChBr8B,KAAK,SACLkZ,QAAQ,UACRiJ,QAAS,WACR+N,EAAK,mBAEN,eAEA1tB,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,WACLG,eAAa,EACbtL,UAAU,mBAMZyJ,EAAQwW,QAAQnwB,QAAU2Z,EAAQwW,QAAQ0gC,cAC3C9rD,IAAAxD,cAAA,OACC2O,UAAWoM,aACV,qDAGDvX,IAAAxD,cAAA,OAAK2O,UAAU,0DACdnL,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAKxE,QAAQ,EAAOzF,UAAU,QACrCyJ,EAAQwW,QAAQ+/B,gBAGnBnrD,IAAAxD,cAAA,OAAK2O,UAAU,aACdnL,IAAAxD,cAAC2xB,KAAiB,KACjBnuB,IAAAxD,cAAC4xB,KAAY,CACZT,SAC0C,UAAzC/Y,EAAQwW,QAAQs+B,sBACyB,gBAAzC90C,EAAQwW,QAAQs+B,qBAEjBr0C,KAAK,SACLsK,QAAS,WACR+N,EAAK,CACJlwB,KAAM,uBACN5D,KAAM,WAGRimB,qBAAoBq0C,KAErBl0D,IAAAxD,cAAC4xB,KAAY,CACZT,SAC0C,UAAzC/Y,EAAQwW,QAAQs+B,qBAEjBr0C,KAAK,UACLsK,QAAS,WACR+N,EAAK,CACJlwB,KAAM,uBACN5D,KAAM,WAGRimB,qBAAoBq0C,QAKoB,UAAzCt/C,EAAQwW,QAAQs+B,sBACwB,gBAAzC90C,EAAQwW,QAAQs+B,uBAChB1pD,IAAAxD,cAAA,OAAK2O,UAAU,6BACdnL,IAAAxD,cAAA,QAAM2O,UAAU,kBACfnL,IAAAxD,cAACwlD,MAAe,CACfpsC,GAAG,mBACHhY,KAAK,WACLkB,MAAM,QACN87C,QAC0C,UAAzChmC,EAAQwW,QAAQs+B,qBAEjBv+C,UAAU,YACV4J,SAAU,SAACjZ,GACV4xB,EAAK,CACJlwB,KAAM,uBACN5D,KAAMkC,EAAE4B,OAAOoB,SAGjB+G,MAAM,OACNuQ,YAC4B,QAA3Bq/C,EAAA7gD,EAAQwW,QAAQ0gC,mBAAW,IAAA2J,OAAA,EAA3BA,EAA6B93D,UAE9B,UAGDqC,IAAAxD,cAACwlD,MAAe,CACfpsC,GAAG,oBACHhY,KAAK,WACLkB,MAAM,cACN87C,QAC0C,gBAAzChmC,EAAQwW,QAAQs+B,qBAEjBv+C,UAAU,YACV4J,SAAU,SAACjZ,GACV4xB,EAAK,CACJlwB,KAAM,uBACN5D,KAAMkC,EAAE4B,OAAOoB,SAGjB+G,MAAM,OACNuQ,YAC4B,QAA3Bs/C,EAAA9gD,EAAQwW,QAAQ0gC,mBAAW,IAAA4J,OAAA,EAA3BA,EAA6B/3D,UAE9B,iBAIFqC,IAAAxD,cAACuvB,GAAkB,CAClBC,WAAW,qBACX5V,YAC4B,QAA3Bu/C,EAAA/gD,EAAQwW,QAAQ0gC,mBAAW,IAAA6J,OAAA,EAA3BA,EAA6Bh4D,UAG7Bs2D,GAAmB1sD,KAAI,SAAC0O,EAAauF,GACrC,OACCxb,IAAAxD,cAAC0wB,GAAgB,CAChB1vB,KAAMyY,EAAOnX,MACbirB,SAAUA,EACVpK,QAAS,WACR+N,EAAK,CACJlwB,KAAM,iBACNsB,MAAOmX,EAAOnX,MACdirB,SAAUA,IAEXoD,EAAiBlX,EAAOnX,QAEzBM,IAAKoc,GAEJvF,EAAOC,cAO4B,UAAzCtB,EAAQwW,QAAQs+B,sBAChB1pD,IAAAxD,cAAA,OAAK2O,UAAU,6BACdnL,IAAAxD,cAAA,QAAM2O,UAAU,kBACfnL,IAAAxD,cAACwlD,MAAe,CACfpsC,GAAG,iBACHhY,KAAK,WACLkB,MAAM,SACN87C,QACuC,WAAtChmC,EAAQwW,QAAQ6+B,mBACsB,QAAtCr1C,EAAQwW,QAAQ6+B,kBAEjB9+C,UAAU,YACV4J,SAAU,SAACjZ,GACV4xB,EAAK,CACJlwB,KAAM,oBACN5D,KAAMkC,EAAE4B,OAAOoB,SAGjB+G,MAAM,OACNuQ,YAC4B,QAA3Bw/C,EAAAhhD,EAAQwW,QAAQ0gC,mBAAW,IAAA8J,OAAA,EAA3BA,EAA6Bj4D,UAE9B,iBAGDqC,IAAAxD,cAACwlD,MAAe,CACfpsC,GAAG,kBACHhY,KAAK,WACLkB,MAAM,OACN87C,QAA+C,SAAtChmC,EAAQwW,QAAQ6+B,kBACzB9+C,UAAU,YACV4J,SAAU,SAACjZ,GACV4xB,EAAK,CACJlwB,KAAM,oBACN5D,KAAMkC,EAAE4B,OAAOoB,SAGjB+G,MAAM,OACNuQ,YAC4B,QAA3By/C,EAAAjhD,EAAQwW,QAAQ0gC,mBAAW,IAAA+J,OAAA,EAA3BA,EAA6Bl4D,UAE9B,gBAGDqC,IAAAxD,cAACwlD,MAAe,CACfpsC,GAAG,iBACHhY,KAAK,WACLkB,MAAM,MACN87C,QAA+C,QAAtChmC,EAAQwW,QAAQ6+B,kBACzB9+C,UAAU,YACV4J,SAAU,SAACjZ,GACV4xB,EAAK,CACJlwB,KAAM,oBACN5D,KAAMkC,EAAE4B,OAAOoB,SAGjB+G,MAAM,OACNuQ,YAC4B,QAA3B0/C,EAAAlhD,EAAQwW,QAAQ0gC,mBAAW,IAAAgK,OAAA,EAA3BA,EAA6Bn4D,UAE9B,kBAIFqC,IAAAxD,cAACuvB,GAAkB,CAClBC,WAAW,qBACX5V,YAC4B,QAA3B2/C,EAAAnhD,EAAQwW,QAAQ0gC,mBAAW,IAAAiK,OAAA,EAA3BA,EAA6Bp4D,UAG7Bq2D,GAAqBzsD,KACrB,SAAC0O,EAAauF,GACb,OACCxb,IAAAxD,cAAC0wB,GAAgB,CAChB1vB,KAAMyY,EAAOnX,MACbirB,SAAUA,EACVpK,QAAS,WACR+N,EAAK,CACJlwB,KAAM,iBACNsB,MAAOmX,EAAOnX,MACdirB,SAAUA,IAEXoD,EAAiBlX,EAAOnX,QAEzBM,IAAKoc,GAEJvF,EAAOC,cAqC2B,UAAzCtB,EAAQwW,QAAQs+B,uBACf90C,EAAQ2hB,QAAQ,8BAChB3hB,EAAQwW,QAAQ0gC,aAChB9rD,IAAAxD,cAACsjB,GAAc,CACdlmB,KAAMgb,EAAQwW,QAAQnwB,OACtB+kB,YAAapL,EAAQwW,QAAQpL,YAC7BC,WACwB,QAAtB+1C,EAAAphD,EAAQwW,QAAQnwB,cAAM,IAAA+6D,GAAM,QAANC,EAAtBD,EAAwB30C,YAAI,IAAA40C,OAAN,EAAtBA,EAA8B77D,QAAS,GAAC,KAAA+H,OACnCyS,EAAQwW,QAAQnwB,OAAOomB,KAAKjnB,OAAM,QAAA+H,OAAOyS,EAAQwW,QAAQnwB,OAAOwzB,QACtE,GAEDrO,YAAY,EACZE,iBACC1L,EAAQwW,QAAQwgC,cAChBh3C,EAAQwW,QAAQi/B,gBAEjB3pC,aAAc,SAAC5H,EAAcqgD,GAC5BzrC,EAAK,eAAgB,CACpBg2B,QAAS5qC,EACT84C,eAAwB,KAARuH,EAAa,MAAQA,KAGvCv4C,mBAAoB,WACnB8M,EAAK,gBAIiC,gBAAzC9Y,EAAQwW,QAAQs+B,uBACf90C,EAAQ2hB,QAAQ,8BAChB3hB,EAAQwW,QAAQ0gC,aAChB9rD,IAAAxD,cAACsjB,GAAc,CACde,YACyC,QAAxCjM,EAAQwW,QAAQi+B,oBAEjBzvD,KAAMgb,EAAQwW,QAAQnwB,OACtB+kB,YAAapL,EAAQwW,QAAQpL,YAC7BC,WACwB,QAAtBi2C,EAAAthD,EAAQwW,QAAQnwB,cAAM,IAAAi7D,GAAM,QAANC,EAAtBD,EAAwB70C,YAAI,IAAA80C,OAAN,EAAtBA,EAA8B/7D,QAAS,GAAC,KAAA+H,OACnCyS,EAAQwW,QAAQnwB,OAAOomB,KAAKjnB,OAAS,EAAC,QAAA+H,OAC1CyS,EAAQwW,QAAQnwB,OAAOwzB,QAEzB,GAEDxQ,QAAQ,EACRmC,YAAY,EACZE,iBACC1L,EAAQwW,QAAQwgC,cAChBh3C,EAAQwW,QAAQi/B,gBAEjB3pC,aAAc,SAAC5H,EAAcqgD,GAC5BzrC,EAAK,eAAgB,CACpBg2B,QAAS5qC,EACT84C,eAAwB,KAARuH,EAAa,MAAQA,KAGvCv4C,mBAAoB,WACnB8M,EAAK,gBAIR9Y,EAAQ2hB,QAAQ,6BAChBv2B,IAAAxD,cAAA,OAAK2O,UAAU,uBACdnL,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,SACLnM,KAAM,EACNqM,QAAQ,OACRD,MAAM,UACNpL,UAAU,uBAI6B,UAAzCyJ,EAAQwW,QAAQs+B,uBACf90C,EAAQwW,QAAQ0gC,aAChB9rD,IAAAxD,cAACq2D,GAAqB,CACrBj5D,KAAMgb,EAAQwW,QAAQnwB,OACtB+kB,YAAapL,EAAQwW,QAAQpL,YAC7B+J,SAAUA,EACV2D,KAAMA,EACN4R,UAAW1qB,EAAQ2hB,QAAQ,8BAI9Bv2B,IAAAxD,cAAA,OACC6+B,YAAU,SACV0Y,cAAY,OACZ5oC,UAAU,4BAERyJ,EAAQ2hB,QAAQ,8BACU,QADiB6/B,EAC5CxhD,EAAQwW,QAAQ0gC,mBAAW,IAAAsK,OAAA,EAA3BA,EAA6Bz4D,UAC5BqC,IAAAxD,cAACi/B,KAAK,CAAC/kB,QAAQ,WACd1W,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,EAAOzF,UAAU,QACT,QADekrD,EAC1CzhD,EAAQwW,QAAQ0gC,mBAAW,IAAAuK,OAAA,EAA3BA,EAA6B14D,iBCl7C5By7D,GAxCmD,SAAHn4D,GAIxD,IAHNkR,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACA3nB,EAAIpU,EAAJoU,KAEA,OACCrV,IAAAxD,cAACgkC,GAAU,CAACW,aAAa,GACxBnhC,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,sCAEVnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,KAIJnS,IAAAxD,cAAC03B,KAAI,CAACtjB,QAAQ,EAAOY,SAAS,EAAOrG,UAAU,gBAC9CnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAC2Y,GAAI,CACJC,GAAG,WACH0D,KAAK,WACLlI,QAAQyE,EACRlK,UAAU,QAET6xB,GAED3nB,GACArV,IAAAxD,cAAA,OAAK2O,UAAU,QACdnL,IAAAxD,cAACsb,GAAY,CAACgB,KAAK,OAAOf,UAAe,OAAJ1C,QAAI,IAAJA,OAAI,EAAJA,EAAM0C,eAK/C/X,IAAAxD,cAACg4D,GAAgB,QCqJL6E,GApK6D,SAAHp4D,GAKlE,IAJNkR,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACAuQ,EAAUtsC,EAAVssC,WACAC,EAAWvsC,EAAXusC,YAEMpM,EAAmBpK,KACnBx0B,EAAWyU,eACXtU,EAAUuW,eACVwoB,EAAiBn2B,YAAYzF,GAC3BwO,EAAUoJ,KAAYjV,MAAMjG,EAASuD,QAArCuO,MACFgtB,EAAwBttB,iBAAY,MACpCwtB,EAAsBxtB,iBAAY,MACxCuZ,EAAkCC,aAAW+H,GAAe,CAC3DnK,QAAS,CACR9pB,QAAkB,OAAVisC,QAAU,IAAVA,OAAU,EAAVA,EAAYjsC,UAAwB,OAAdogC,QAAc,IAAdA,OAAc,EAAdA,EAAgBpgC,QAC9C6I,KAAMi3B,EAAmB,GAAkB,OAAdM,QAAc,IAAdA,OAAc,EAAdA,EAAgBzT,sBAAuB,EACpEuH,SAAU,OAEV/H,EAAAna,aAAAia,EAAA,GANKwU,EAAWtU,EAAA,GAAEuU,EAAUvU,EAAA,GAO9BwU,EAAgCzU,aAAW0I,IAAmBgM,EAAA5uB,aAAA2uB,EAAA,GAAvDE,EAAUD,EAAA,GAAEE,EAASF,EAAA,GAQ5B,OANA7V,aAAgBiV,GAAuB,WAClCI,GACHU,EAAU,YAKXpiC,IAAAxD,cAACgkC,GAAU,KACT+M,GACAvtC,IAAAxD,cAAA,OAAK2O,UAAU,mBACdnL,IAAAxD,cAACkxC,KAAU,KACV1tC,IAAAxD,cAAC03B,KAAI,CAAC1iB,SAAS,EAAOrG,UAAU,gBAC/BnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,IACb,OAAV+Y,QAAU,IAAVA,OAAU,EAAVA,EAAYp7B,UACZnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAKxE,QAAQ,EAAOzF,UAAU,iBACrCoiC,EAAWj3B,MACXtW,IAAAxD,cAAC6Z,KAAI,CACJC,KAAMi3B,EAAWj3B,KACjBnM,KAAM,EACNgB,UAAU,oDACVsL,eAAa,IAGJ,OAAV82B,QAAU,IAAVA,OAAU,EAAVA,EAAYp7B,UAGJ,OAAVo7B,QAAU,IAAVA,OAAU,EAAVA,EAAYvQ,WACZh9B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,GACT,OAAV28B,QAAU,IAAVA,OAAU,EAAVA,EAAYvQ,WAGJ,OAAVuQ,QAAU,IAAVA,OAAU,EAAVA,EAAYI,YACZ3tC,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAACqmC,MAAW,CACXjtB,GAAG,wBACHnE,MAAO87B,EAAWK,sBAClB3K,YAAasK,EAAWrK,kBACxB/3B,UAAU,kBACV23B,WAAYxB,EACZyB,SAAUvB,EACVvX,YAAmC,YAAtB8X,EAAYjjC,MACzBwT,aAAcgC,EAAQA,EAAMqmB,gBAAa78B,EACzCiX,SAAU,SAACjZ,GACW,WAArBqmC,EAAWrjC,OACVkjC,EAAW,SAAU,CACpBljC,MAAOhD,EAAEgD,SAGZsV,SAAU,SAACtY,GAAY,IAADqnC,EACrBf,EAAU,SACS,OAAnBZ,QAAmB,IAAnBA,GAA4B,QAAT2B,EAAnB3B,EAAqB5sB,eAAO,IAAAuuB,GAA5BA,EAA8BC,OAC9BzgC,EAAQjI,KAAK,GAADyH,OAEVorC,EAAWlK,cAAa,WAAAlhC,OACfqF,mBACT1L,EAAE+xC,0BAILtK,QAAS,WACRxlC,YAAW,WACVqkC,EAAU,UACR,OAGkB,WAArBD,EAAWrjC,OACXijC,EAAY3W,QAAQnwB,QACU,KAA9B8mC,EAAY3W,QAAQ9W,OACnBtU,IAAAxD,cAACgnC,KAAmB,KAClBzB,EAAY3W,QAAQnwB,OAAOwoC,SAC3B1B,EAAY3W,QAAQnwB,OAAOwoC,QAAQl8B,KAClC,SAAC6G,GAAyB,OACzBpO,IAAAxD,cAACknC,KAAuB,CACvBtkC,IAAKgP,EAAKhF,YAEVpJ,IAAAxD,cAACsO,GAAI,CAACE,GAAIoD,EAAKvM,KACd7B,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLmJ,UAAU,OACVhJ,eAAa,EACbtM,KAAM,MAENiE,EAAK+D,aAKV4vB,EAAY3W,QAAQnwB,OAAO0oC,aAC3B5B,EAAY3W,QAAQnwB,OAAOkP,MAC3BnK,IAAAxD,cAACknC,KAAuB,KACvB1jC,IAAAxD,cAACsO,GAAI,CACJE,GAAE,GAAA7I,OACS,OAAVorC,QAAU,IAAVA,OAAU,EAAVA,EAAYlK,cAAa,WAAAlhC,OAChBqF,mBACTu6B,EAAY3W,QAAQnwB,OAAOqZ,QAE5BqL,QAAS,WACRyiB,EAAU,WAGI,OAAdV,QAAc,IAAdA,OAAc,EAAdA,EAAgBkC,sBAIyB,IAA5C7B,EAAY3W,QAAQnwB,OAAO0oC,cAC3B3jC,IAAAxD,cAACknC,KAAuB,KACvB1jC,IAAAxD,cAAA,SAAG,+BAMTwD,IAAAxD,cAACsxC,KAAe,YAQrBP,GACDvtC,IAAAxD,cAAC03B,KAAI,KACJl0B,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,IACXv0B,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,YACvBkkB,OAONwQ,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,MC1Dd8rB,GA5Gd,SAD4Er4D,GASrE,IAPNkR,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACA3nB,EAAIpU,EAAJoU,KACA45B,EAAehuC,EAAfguC,gBACAD,EAAa/tC,EAAb+tC,cACA4J,EAAW33C,EAAX23C,YACApL,EAAWvsC,EAAXusC,YAEM2B,EAAYlY,KAClB,OACCj3B,IAAAxD,cAACgkC,GAAU,CAACW,aAAa,GACvByX,GACA54C,IAAAxD,cAACs8C,KAAW,CACXj8C,IAAK+7C,EAAY/7C,IACjBkf,IAAK68B,EAAYG,QACjB/oB,WAAY4oB,EAAYvjC,KACxBlK,UAAU,oBAGZnL,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAWoM,aACVqhC,EAAc,eAAiB,gBAC/B,iBAGD54C,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAED68B,GACAhvC,IAAAxD,cAAC4yC,KAAa,CACbhG,UAAW4F,EAAc5F,UACzB9B,OAAQ0H,EAAc1H,OACtBn8B,UAAU,QAET6jC,EAAcrmB,YACdqmB,EAAcrmB,WAAWvuB,OAAS,GACjC4F,IAAAxD,cAAC8yC,KAAyB,KACxBN,EAAcrmB,WAAWphB,KAAI,SAACijC,EAAUhvB,GACxC,OACCxb,IAAAxD,cAAC+yC,KAAqB,CACrBnwC,IAAKoc,EACL3Z,IAAK2oC,EAAS3oC,IACdwT,KAAMm1B,EAASn1B,KACf+d,cAAetoB,YAUzB9K,IAAAxD,cAAC03B,KAAI,CACJtjB,QAAQ,EACRY,SAAS,EACTrG,UAAWoM,aACV03B,GAAmB,mBACnB,iBAGAE,GAAaF,GACbjvC,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,EAAGppB,UAAU,gBACxBnL,IAAAxD,cAACgzC,MAAG,CACHr9B,QAAS88B,EAAgB98B,QACzBlJ,MAAOgmC,EAAgBQ,SACvByJ,OAAQjK,EAAgBkK,UAEvBlK,EAAgBS,OAAOnoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACmzC,MAAO,CAACltC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,WAOXrV,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,WAAWlI,QAAQ,EAAOzF,UAAU,QAC3D6xB,IAEAmS,GAAaF,GACdjvC,IAAAxD,cAACgzC,MAAG,CACHr9B,QAAS88B,EAAgB98B,QACzBlJ,MAAO,GACPkC,UAAU,QAET8jC,EAAgBS,OAAOnoC,KAAI,SAAC6G,EAAMoN,GAAK,OACvCxb,IAAAxD,cAACmzC,MAAO,CAACltC,KAAI,IAAAN,OAAMiM,EAAKsN,UAAYtc,IAAKoc,GACvCpN,EAAKiH,UAKVrV,IAAAxD,cAACsb,GAAY,CAACgB,KAAK,OAAOf,UAAe,OAAJ1C,QAAI,IAAJA,OAAI,EAAJA,EAAM0C,cAG5Cy1B,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,MCcf+rB,GAtHd,SAD0Ft4D,GASnF,IAPNkR,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACAxc,EAAkBvf,EAAlBuf,mBACAyN,EAAmBhtB,EAAnBgtB,oBACA3sB,EAAML,EAANK,OACAg1C,EAAYr1C,EAAZq1C,aACA9I,EAAWvsC,EAAXusC,YAEMhrC,EAAWyU,eACXtU,EAAUuW,eAChBqU,EAAsBC,aAAWvC,IAA0BwC,EAAAna,aAAAia,EAAA,GAApD7sB,EAAK+sB,EAAA,GAAEC,EAAID,EAAA,GAClBta,EAA0BC,mBAAS,GAAEC,EAAAC,aAAAH,EAAA,GAA9ByZ,EAAKvZ,EAAA,GAAEmkC,EAAQnkC,EAAA,GAElB3S,EAAM0qB,QAAQnwB,SACjBq7C,EAAe51C,EAAM0qB,QAAQnwB,QAG9B,IAAM6vB,EACLwrB,EAAa3kC,OAAS2kC,EAAaxrB,MAAQmD,EACtCwpB,EACLnB,EAAa3kC,OAAS2kC,EAAaxrB,MAAQwrB,EAAa7nB,MACnD1D,EAAYurB,EAAavrB,UAe/B,OAbAvR,qBAAU,WACLoT,EAAQ,GACXc,EAAK,QAAS,CACb/b,OAAQ,EACRmZ,MAAOA,EACPxpB,SACAypB,gBAKA,CAAC6B,IAGH5sB,IAAAxD,cAACgkC,GAAU,CAACW,aAAa,GACxBnhC,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,8BAEVnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAEFnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBkkB,KAIJh9B,IAAAxD,cAAC03B,KAAI,CAAC1iB,SAAS,EAAOZ,QAAQ,EAAOzF,UAAU,sBAC9CnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGrpB,UAAU,SACrCnL,IAAAxD,cAACqvC,KAAQ,KACPyK,EAAartC,MAAM1B,KAAI,SAACrK,EAAkBse,GAC1C,OACCxb,IAAAxD,cAACuvC,KAAY,CACZC,KAAM9uC,EAAMksC,UACZj3B,QAASjV,EAAMiV,QACfkD,KAAMnY,EAAMmY,KACZxT,IAAK3E,EAAM2E,IACXuxB,cAAetoB,GACf1L,IAAKoc,QAKRi8B,GACAz3C,IAAAxD,cAAA,OAAK2O,UAAU,4BACdnL,IAAAxD,cAAC2Z,KAAM,CACN0J,qBAAoBW,EACpBrV,UAAU,UACVuL,QAAQ,UACRN,SAA0B,YAAhB1V,EAAM5B,MAChB6gB,QAAS,WACR63B,EAAS5qB,EAAQ,GACjBjqB,EAAQjI,KAAK,GAADyH,OACRK,EAASivC,SAAQ,WAAAtvC,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,OAOlB+2B,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGrpB,UAAU,cACrCnL,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,QCpCjBgsB,GA5Ed,SADkFv4D,GACnB,IAA5DkR,EAAOlR,EAAPkR,QAAS6qB,EAAQ/7B,EAAR+7B,SAAUyQ,EAAcxsC,EAAdwsC,eAAgBD,EAAWvsC,EAAXusC,YAAan4B,EAAIpU,EAAJoU,KAClD,OACCrV,IAAAxD,cAACgkC,GAAU,CAACW,aAAa,GACxBnhC,IAAAxD,cAAC03B,KAAI,CAAC1iB,SAAS,EAAOrG,UAAU,gBAC/BnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAmC,SAA1BiZ,EAAewa,OAAoB,GAAK,GAChEjoD,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAEFnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,WAAW0D,KAAK,YACvBkkB,GAEDyQ,GACAztC,IAAAxD,cAAAwD,IAAAiU,SAAA,KAC4B,SAA1Bw5B,EAAewa,QACfjoD,IAAAxD,cAAC0rD,KAAgB,CAChB73B,aAAYod,EAAe3I,0BAE1B2I,EAAexkC,MAAM1B,KAAI,SAAC+pB,EAAM9V,GAAK,OACrCxb,IAAAxD,cAAC2rD,KAAmB,CACnB/0B,cAAetoB,GACfjJ,IAAKyvB,EAAKzvB,IACVsQ,QAASmf,EAAKnf,QACdkD,KAAMic,EAAKjc,KACXjW,IAAKoc,EACLlF,KACCgb,EAAKzvB,KAA8B,MAAvByvB,EAAKzvB,IAAI2J,OAAO,GACzB,QACA8lB,EAAKzvB,MAEJ,IADDyvB,EAAKzvB,IAAIyT,QAAQ,8BAEjB,aACA,eAEJkD,YAAWgD,EAAQ,SAKI,SAA1BiyB,EAAewa,QACfjoD,IAAAxD,cAAC4rD,KAAc,CACd/3B,aAAYod,EAAe3I,0BAE1B2I,EAAexkC,MAAM1B,KAAI,SAAC+pB,EAAM9V,GAAK,OACrCxb,IAAAxD,cAAC6rD,KAAkB,CAClBj1B,cAAetoB,GACfjJ,IAAKyvB,EAAKzvB,IACVsQ,QAASmf,EAAKnf,QACdkD,KAAMic,EAAKjc,KACXjW,IAAKoc,EACLlF,KACCgb,EAAKzvB,KAA8B,MAAvByvB,EAAKzvB,IAAI2J,OAAO,GACzB,QACA8lB,EAAKzvB,MAEJ,IADDyvB,EAAKzvB,IAAIyT,QAAQ,8BAEjB,aACA,uBASXtV,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAACsb,GAAY,CAACgB,KAAK,OAAOf,UAAe,OAAJ1C,QAAI,IAAJA,OAAI,EAAJA,EAAM0C,cAG5Cy1B,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,MCrBfisB,GAhDd,SAD4Ex4D,GACd,IAA3DkR,EAAOlR,EAAPkR,QAAS6qB,EAAQ/7B,EAAR+7B,SAAUgS,EAAa/tC,EAAb+tC,cAAexB,EAAWvsC,EAAXusC,YAAan4B,EAAIpU,EAAJoU,KACjD,OACCrV,IAAAxD,cAACgkC,GAAU,CAACW,aAAa,GACxBnhC,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,sCAEVnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,KAAK0D,KAAK,WACjB3G,GAED68B,GACAhvC,IAAAxD,cAAC4yC,KAAa,CACbhG,UAAW4F,EAAc5F,UACzB9B,OAAQ0H,EAAc1H,OACtBn8B,UAAU,QAET6jC,EAAcrmB,YACdqmB,EAAcrmB,WAAWvuB,OAAS,GACjC4F,IAAAxD,cAAC8yC,KAAyB,KACxBN,EAAcrmB,WAAWphB,KAAI,SAACijC,EAAUhvB,GACxC,OACCxb,IAAAxD,cAAC+yC,KAAqB,CACrBnwC,IAAKoc,EACL3Z,IAAK2oC,EAAS3oC,IACdwT,KAAMm1B,EAASn1B,KACf+d,cAAetoB,UAQvB9K,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,WAAW0D,KAAK,WAAWlI,QAAQ,EAAOzF,UAAU,QAC3D6xB,GAEFh9B,IAAAxD,cAACsb,GAAY,CAACgB,KAAK,OAAOf,UAAe,OAAJ1C,QAAI,IAAJA,OAAI,EAAJA,EAAM0C,cAG5Cy1B,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,MC2BfksB,GA7EmD,SAAHz4D,GAC5DA,EAAF2U,GACG3U,EAAHY,IAOM,IANN83D,EAAW14D,EAAX04D,YACAC,EAAY34D,EAAZ24D,aACArsB,EAAUtsC,EAAVssC,WACAssB,EAAa54D,EAAb44D,cACAxkD,EAAIpU,EAAJoU,KACAm4B,EAAWvsC,EAAXusC,YAEA,OACCxtC,IAAAxD,cAACgkC,GAAU,KACVxgC,IAAAxD,cAAA,OAAK2O,UAAU,mBACdnL,IAAAxD,cAACkxC,KAAU,KACV1tC,IAAAxD,cAAC03B,KAAI,CAAC1iB,SAAS,EAAOrG,UAAU,gBAC/BnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,IACb,OAAV+Y,QAAU,IAAVA,OAAU,EAAVA,EAAYp7B,UACZnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAKxE,QAAQ,EAAOzF,UAAU,iBACrCoiC,EAAWj3B,MACXtW,IAAAxD,cAAC6Z,KAAI,CACJC,KAAMi3B,EAAWj3B,KACjBnM,KAAM,EACNgB,UAAU,oDACVsL,eAAa,IAGJ,OAAV82B,QAAU,IAAVA,OAAU,EAAVA,EAAYp7B,QACbnS,IAAAxD,cAAA,QAAM2O,UAAU,WAAWwuD,KAGlB,OAAVpsB,QAAU,IAAVA,OAAU,EAAVA,EAAYvQ,WACZh9B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIxE,QAAQ,GACT,OAAV28B,QAAU,IAAVA,OAAU,EAAVA,EAAYvQ,cAQnBh9B,IAAAxD,cAAC03B,KAAI,CAAC1iB,SAAS,EAAOrG,UAAU,qBAC9B0uD,GACA75D,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIpZ,WAAS,iBACxBnb,IAAAxD,cAAA,MAAI2O,UAAU,mBACZ0uD,EAActyD,KAAI,SAAC6G,EAAMoN,GAAK,OAC9Bxb,IAAAxD,cAAA,MAAI4C,IAAKoc,GACRxb,IAAAxD,cAACsO,GAAI,CACJrI,KAAM2L,EAAKvM,IACXsJ,UAAWoM,aACVnJ,EAAKuf,UAAY,yBACjB,+BAGAvf,EAAKiH,YAOZrV,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGrpB,UAAU,kBACpCwuD,GAAe35D,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,MAAMukD,GAC9BC,GAAgB55D,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAKwkD,IAEhC55D,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGrpB,UAAU,0BACrCnL,IAAAxD,cAACsb,GAAY,CAACgB,KAAK,OAAOf,UAAe,OAAJ1C,QAAI,IAAJA,OAAI,EAAJA,EAAM0C,aAE5C/X,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGrpB,UAAU,8BACpCqiC,GAAeA,EAAYpzC,OAAS,GACpC4F,IAAAxD,cAAC+sC,GAAc,CAACjnC,QAASkrC,QC3CzBznC,GAAmB,eAAA9E,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOC,EAAQ8pB,GAAO,IAAA6oB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA9wC,EAAA/J,EAAA,OAAAuH,IAAAY,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EAC1BE,IAAM1D,IAAI,GAADyD,OAAIb,EAAM,KAAAa,OAAW,OAAPipB,QAAO,IAAPA,OAAO,EAAPA,EAAS5pB,aAAe,CACrEgT,QAAS,CACR,sBACO,QAANy/B,EAAA1xC,cAAM,IAAA0xC,GAAS,QAATC,EAAND,EAAQS,eAAO,IAAAR,GAAW,QAAXC,EAAfD,EAAiBrxC,iBAAS,IAAAsxC,OAApB,EAANA,EAA4BrxC,UAAWP,OAAOQ,UAC/C,oBACO,QAANqxC,EAAA7xC,cAAM,IAAA6xC,GAAS,QAATC,EAAND,EAAQM,eAAO,IAAAL,GAAW,QAAXC,EAAfD,EAAiBxxC,iBAAS,IAAAyxC,OAApB,EAANA,EAA4BxxC,UAAWP,OAAOQ,UAC/C,mBACO,QAANwxC,EAAAhyC,cAAM,IAAAgyC,GAAS,QAATC,EAAND,EAAQG,eAAO,IAAAF,GAAW,QAAXC,EAAfD,EAAiB3xC,iBAAS,IAAA4xC,OAApB,EAANA,EAA4B3xC,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,GAenBw2D,GAAU,eAAAt2D,EAAAtC,YAAAC,IAAAC,MAAG,SAAAqC,EAClBs2D,EACAv4D,EACAw4D,GAAa,IAAAC,EAAA,OAAA94D,IAAAY,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EAEK4oB,MAAMivC,EAAc,CACrCrP,OAAQ,OACRpwC,KAAM9R,KAAKgB,UAAU,CAAEwwD,MAAOA,EAAO1lD,MAAO9S,MAC1C,KAAD,EAQD,OANkB,OALby4D,EAAGr2D,EAAAvB,MAKD82B,QACH52B,OAAOqW,WAAarW,OAAOqW,UAAUle,MACxC6H,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,0BAGT0G,EAAA1B,KAAA,EAEY+3D,EAAIC,OAAO,KAAD,SAAAt2D,EAAAZ,OAAA,SAAAY,EAAAvB,MAAA,wBAAAuB,EAAAX,UAAAQ,OACvB,gBAnBeL,EAAAC,EAAAQ,GAAA,OAAAL,EAAAzI,MAAA,KAAAuI,YAAA,GAqBH62D,GAAmBjvC,aAC/B,CACCtV,GAAI,YACJuV,QAAS,OACTC,QAAS,CACRvpB,IAAK,GACLP,OAAQ,GACRgT,MAAO,GACPqvB,aAAc,EACd1V,oBAAqB,EACrBtc,OAAQ,EACRmZ,MAAO,EACP44B,QAAS,KACTjgB,QAAS,GACTz7B,aAAc,GACd27C,qBAAsB,GACtBC,QAAS,KACT5mD,MAAO,KACPwE,YAAa,GACbqiD,OAAQ,KACRuW,eAAgB,CACfjoD,QAAS,GACTkD,KAAM,KAGRgW,OAAQ,CACPC,KAAM,GACNvnB,QAAS,CACRwnB,OAAQ,CACP3V,GAAI,UACJ/Y,IAAK,SAACuuB,GAAO,OAAKrlB,GAAOqlB,EAAQ9pB,OAAQ8pB,IACzCI,OAAQ,CACP9tB,OAAQ,UACRqD,QAAS,mBAEV0qB,QAAS,CACR/tB,OAAQ,UACRqD,QAASqH,aAAO,CACfpL,MAAO,SAAC8mD,EAAG5mD,GACV,MAAM,UAANiF,OAAiBjF,EAAMtD,KAAK+a,SAASwkB,OAAM,OAAAh3B,OAAMjF,EAAMtD,KAAK+a,SAASykB,kBAM1EihC,WAAY,CACX9uC,OAAQ,CACP3V,GAAI,aACJ/Y,IAAK,SAACuuB,EAASluB,GAAK,OACnB48D,GAAW58D,EAAM68D,aAAc3uC,EAAQ5pB,YAAatE,EAAM88D,QAC3DxuC,OAAQ,CACP9tB,OAAQ,iBACRqD,QAASqH,aAAO,CACfgyD,eAAgB,SAAChvC,EAASluB,GAAK,OAAKA,EAAMtD,SAG5C6xB,QAAS,CACR/tB,OAAQ,iBACRqD,QAASqH,aAAO,CACfgyD,eAAgB,SAAChvC,EAASluB,GAAK,OAAKA,EAAMtD,WAK9C0gE,UAAW,CACVzlB,MAAO,CAAC,gBACRC,OAAQ,CAAC,CAAEp3C,OAAQ,UAEpBiuB,QAAS,GACTC,QAAS,GACT2uC,eAAgB,GAChBC,eAAgB,IAEjB3uC,GAAI,CACHk4B,KAAM,CACLrmD,OAAQ,UACRqD,QAAS,CAAC,cAAe,mBAE1BijD,aAAc,CACbtmD,OAAQ,UACRqD,QAAS,CAAC,cAAe,iBAAkB,cAE5Cg0C,MAAO,CACNr3C,OAAQ,aAETumD,UAAW,CACVvmD,OAAQ,UACRqD,QAAS,CAAC,WAAY,iBAAkB,cAEzCojD,cAAe,CACdzmD,OAAQ,UACRqD,QAAS,CAAC,eAAgB,iBAAkB,cAE7CqjD,cAAe,CACd1mD,OAAQ,UACRqD,QAAS,CAAC,eAAgB,iBAAkB,cAE7CsjD,KAAM,CACL3mD,OAAQ,UACRqD,QAAS,CAAC,OAAQ,iBAAkB,cAErC05D,OAAQ,CACP/8D,OAAQ,cAETg9D,iBAAkB,CACjB35D,QAAS,eAIZ,CACCA,QAAS,CACRi0C,aAAc5sC,aAAO,CACpB9G,OAAQ,SAAC8pB,EAASluB,GAAU,OAAKA,EAAMoE,QAAU8pB,EAAQ9pB,QACzDgT,MAAO,SAAC8W,EAASluB,GAAU,OAAKA,EAAMoX,OAAS8W,EAAQ9W,OACvDmvB,QAAS,SAACrY,EAASluB,GAAU,OAAKA,EAAM8G,OAASonB,EAAQqY,WAE1D6gB,UAAW,SAACl5B,EAASluB,GAChBkuB,EAAQ5pB,YACX4pB,EAAQy4B,OAAOnpD,KAAK,GAADyH,OAAIipB,EAAQvpB,IAAG,KAAAM,OAAIipB,EAAQ5pB,cAE9C4pB,EAAQy4B,OAAOnpD,KAAK,GAADyH,OAAIipB,EAAQvpB,OAGjC0iD,eAAgBn8C,aAAO,CACtB5G,YAAa,SAAC4pB,EAASluB,GACtB,IAAMsE,EAAcgF,EAAkB,CACrC8N,MAAO8W,EAAQ9W,MACfwW,MAAOM,EAAQN,MACf9iB,aAAcojB,EAAQu4B,qBACtBD,QAASt4B,EAAQs4B,UAGlB,OAAOliD,GAAe,MAGxBmS,gBAAiBvL,aAAO,CACvBu7B,aAAc,SAACvY,EAASluB,GAAK,OAAKA,EAAMtD,KAAKA,KAAK+pC,cAClDigB,QAAS,SAACx4B,EAASluB,GAAK,OAAKA,EAAMtD,KAAKA,KAAKgqD,SAC7CngB,QAAS,SAACrY,EAASluB,GAAK,OAAKA,EAAMtD,KAAKA,KAAK6pC,SAC7Cz7B,aAAc,SAACojB,EAASluB,GAAK,OAAKA,EAAMtD,KAAKA,KAAKoO,gBAEnDy8C,aAAcr8C,aAAO,CACpB0iB,MAAO,SAACM,EAASluB,GAAK,OAAKkuB,EAAQ6C,qBACnC01B,qBAAsB,SAACv4B,EAASluB,GAAK,OAAK,QAE3CwnD,YAAat8C,aAAO,CACnB0iB,MAAO,SAACM,EAASluB,GAAK,OAAKkuB,EAAQ6C,qBACnC3Z,MAAO,SAAC8W,EAASluB,GAAK,OAAKA,EAAMoX,SAElCqwC,SAAUv8C,aAAO,CAChB0iB,MAAO,SAACM,EAASluB,GAAK,OAAKA,EAAM4tB,SAElC85B,aAAcx8C,aAAO,CACpB0iB,MAAO,SAACM,EAASluB,GAAK,OAAKkuB,EAAQ6C,qBACnC01B,qBAAsB,SAACv4B,EAASluB,GAC/B,OAAOA,EAAM8K,gBAGf4U,KAAMxU,aAAO,CACZ0iB,MAAO,SAACM,EAASluB,GAAK,OAAKkuB,EAAQ6C,qBACnCy1B,QAAS,SAACt4B,EAASluB,GAAK,OAAKA,EAAMwmD,WAEpCiX,UAAWvyD,aAAO,CACjBgyD,eAAgB,SAAChvC,EAASluB,GAAK,OAAKA,EAAMk9D,qBClF/BQ,GA7HyB,SAAH35D,GAS9B,IARNkR,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACAhR,EAAU/qB,EAAV+qB,WACAiuB,EAAOh5C,EAAPg5C,QACAv5C,EAAKO,EAALP,MACAgtB,EAAIzsB,EAAJysB,KACAmtC,EAAU55D,EAAV45D,WACAv5D,EAAML,EAANK,OAEA6R,EAA0BC,mBAAS,IAAGC,EAAAC,aAAAH,EAAA,GAA/B6mD,EAAK3mD,EAAA,GAAEynD,EAAQznD,EAAA,GAKtB,OACCrT,IAAAxD,cAAC0rC,KAAK,CACL/8B,UAAU,wCACVuN,SAAU,WACTgV,EAAK,mBAAoB,CACxB0sC,eAAgB,CAAEjoD,QAAS,GAAIkD,KAAM,MAEtCwlD,KAED9qC,cAAe,YAEf/vB,IAAAxD,cAAA,OAAK2O,UAAU,4BACdnL,IAAAxD,cAAA,OAAK2O,UAAU,oCACdnL,IAAAxD,cAAA,MAAI2O,UAAU,iBACZzK,EAAM0qB,QAAQgvC,eAAejoD,QAC3BzR,EAAM0qB,QAAQgvC,eAAejoD,QAC7BA,IAGLnS,IAAAxD,cAAA,OAAK2O,UAAU,oCACdnL,IAAAxD,cAAA,OAAK2O,UAAU,qCACfnL,IAAAxD,cAAA,KAAG2O,UAAU,QACXzK,EAAM0qB,QAAQgvC,eAAe/kD,KAC3B3U,EAAM0qB,QAAQgvC,eAAe/kD,KAC7B2nB,GAEFt8B,EAAM0qB,QAAQgvC,eAAejoD,QA8D9BnS,IAAAxD,cAAA,OAAK2O,UAAU,mCACdnL,IAAAxD,cAAA,OAAK2O,UAAU,qCACfnL,IAAAxD,cAAC2Z,KAAM,CACNhL,UAAU,OACVoL,MAAM,OACNoJ,QAAS,WACR+N,EAAK,mBAAoB,CACxB0sC,eAAgB,CAAEjoD,QAAS,GAAIkD,KAAM,MAEtCwlD,MAED,aAxEF76D,IAAAxD,cAAAwD,IAAAiU,SAAA,KACEgmC,GACAj6C,IAAAxD,cAAA,OAAK2O,UAAU,4BACdnL,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,OAAOnL,UAAU,iBAAiBsL,eAAA,IAE5CwjC,EAAQ1yC,KAAI,SAACJ,GAAW,OAAKA,EAAOq0C,cAAY/zC,KAAK,OAIxDzH,IAAAxD,cAAC0X,KAAI,CACJ/I,UAAU,WACViJ,SAAU,SAACtY,GACV4xB,EAAK,SAAU,CACdqsC,aAAoB,OAANz4D,QAAM,IAANA,IAAU,GACxB04D,MAAOA,KAGTjlD,SAAU,SAACjZ,GACVg/D,EAASh/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,MAAOk7D,IAERh6D,IAAAxD,cAACsZ,KAAS,CAACC,QAAS,UAEpB/V,IAAAxD,cAAA,OAAK2O,UAAU,mCACdnL,IAAAxD,cAAA,OAAK2O,UAAU,qCACdzK,EAAM61B,QAAQ,cACdv2B,IAAAxD,cAAC6Z,KAAI,CACJlL,UAAU,OACVmL,KAAK,SACLnM,KAAM,EACNqM,QAAQ,OACRD,MAAM,UACN8Z,aAAW,WAGZrwB,IAAAxD,cAAC2Z,KAAM,CACNhL,UAAU,OACViL,UAAW4jD,EAAMe,MA/E1B,ibAgFSv9D,KAAK,SACL+Y,MAAM,QAELyV,UCrFNyvB,GAAqB,SAC1BxB,GAEA,IAAIqB,EAAwC,GAc5C,OAZArB,EAAQjnC,SAAQ,SAAC7L,GAChBA,EAAOP,QAAQoM,SAAQ,SAAC6nC,EAAQr/B,GAC3Bq/B,EAAOxzC,UACVi0C,EAAgB5gD,KAAK,CACpB6gD,SAAS,GAADp5C,OAAKgF,EAAOO,KAAI,KAAAvF,OAAIqZ,GAC5BggC,WAAYX,EAAOj9C,MAAQi9C,EAAOvzC,KAClCwzC,gBAAiB3zC,EAAO2zC,wBAMrBQ,GCfF0f,GAAa,CAClB/sB,gBACAC,gBAEAa,0BACAgB,0BACAkrB,qBACAC,kBACApqB,oCACAmE,iCACAkB,4BACAoB,8BACAI,2BACAwjB,sCACAC,0CACAC,kDACAC,4CACAliB,kBACAC,oBACAC,2BACAQ,kCACAyhB,mBACA/b,uBACAgc,gBACArjB,2BACAsjB,0CACAC,mDACAC,oCACAC,0CACAC,qCACAC,4CACAC,sCACAC,yCACAC,sCACAC,+CACA7C,6BACAC,+BACAC,sCACAC,kCACAC,+BACAC,wBACAyC,gBC3EuD,SAAHl7D,GAe9C,IAdNkR,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACAo/B,EAAYn7D,EAAZm7D,aACA/kB,EAAOp2C,EAAPo2C,QACA1U,EAAI1hC,EAAJ0hC,KACAjF,EAAMz8B,EAANy8B,OACA2+B,EAASp7D,EAATo7D,UACAC,EAAUr7D,EAAVq7D,WACAC,EAAUt7D,EAAVs7D,WACAC,EAAav7D,EAAbu7D,cACAC,EAASx7D,EAATw7D,UACAC,EAAOz7D,EAAPy7D,QACAC,EAAc17D,EAAd07D,eACAC,EAAU37D,EAAV27D,WAEA,OACC58D,IAAAxD,cAACgkC,GAAU,KACVxgC,IAAAxD,cAAA,OAAK2O,UAAU,sDACbixD,GACAp8D,IAAAxD,cAAC03B,KAAI,CAAC/oB,UAAU,UACfnL,IAAAxD,cAAC83B,KAAI,KACJt0B,IAAAxD,cAACsO,GAAI,CACJrI,KAAK,IACLkd,QAAS,kBAAMpd,OAAOI,QAAQk6D,QAC9B1xD,UAAU,8BACVgQ,WAAS,eAETnb,IAAAxD,cAAC6Z,KAAI,CACJI,eAAa,EACbH,KAAK,UACLnM,KAAM,IACNgB,UAAU,SACT,kCAMNnL,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTZ,QAAQ,EACRzF,UAAU,mDAEVnL,IAAAxD,cAAC83B,KAAI,KACJt0B,IAAAxD,cAAC03B,KAAI,CACJ1iB,SAAS,EACTrG,UAAU,mEAEVnL,IAAAxD,cAAC83B,KAAI,CACJC,KAAM,GACNC,QAAS,EACTrpB,UAAU,oEAEVnL,IAAAxD,cAAA,WACE2V,GACAnS,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAKxE,QAAQ,EAAOzF,UAAU,QACrCgH,GAGFklC,GACAr3C,IAAAxD,cAAA,KAAG2O,UAAU,kCAAiC,sBACzBksC,GAGrBra,GACAh9B,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,IAAIjK,UAAU,oBACrB6xB,GAGFU,GACA19B,IAAAxD,cAAC2Z,KAAM,CACNI,MAAM,OACNpL,UAAU,OACViK,GAAG,IACH3S,KAAMi7B,EAAO77B,IACbnE,OAAO,SACP2Q,IAAI,sBACJwR,qBAAoB6d,EAAOroB,MAE1BqoB,EAAOroB,KACRrV,IAAAxD,cAAC6Z,KAAI,CAAClL,UAAU,OAAOmL,KAAMonB,EAAOpnB,KAAMnM,KAAM,SAIlDkyD,GACAr8D,IAAAxD,cAAA,OAAK2O,UAAU,kEACdnL,IAAAxD,cAACsb,GAAY,CAACgB,KAAK,OAAOf,UAAWskD,EAAUtkD,cAKlD/X,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAA,OACCuH,QAAQ,OACRlH,IAAK8lC,EACL5mB,IAAKwgD,EACLpxD,UAAU,8BAEXnL,IAAAxD,cAAA,UACCwD,IAAAxD,cAAA,MAAI2O,UAAU,SAASmxD,GACvBt8D,IAAAxD,cAAA,MAAI2O,UAAU,iBAAiBoxD,GAC/Bv8D,IAAAxD,cAAA,MAAI2O,UAAU,QAAO,wBACrBnL,IAAAxD,cAAA,MAAI2O,UAAU,iBACbnL,IAAAxD,cAAA,UACe,OAAbggE,QAAa,IAAbA,OAAa,EAAbA,EAAej1D,KAAI,SAACu1D,EAAmB5iE,GAAS,OAChD8F,IAAAxD,cAAA,MAAI4C,IAAKlF,GAAI4iE,QAIfL,GACAz8D,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAA,MAAI2O,UAAU,QAAO,cACrBnL,IAAAxD,cAAA,MAAI2O,UAAU,iBAAiBsxD,IAGhCC,GACA18D,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAA,MAAI2O,UAAU,QAAO,aACrBnL,IAAAxD,cAAA,MAAI2O,UAAU,iBAAiBuxD,IAGhCE,GACA58D,IAAAxD,cAAAwD,IAAAiU,SAAA,KACCjU,IAAAxD,cAAA,MAAI2O,UAAU,QAAO,gBACrBnL,IAAAxD,cAAA,MAAI2O,UAAU,iBAAiByxD,KAIlC58D,IAAAxD,cAAC2Y,GAAI,CAACC,GAAG,KAAK6nC,QAAQ,IAAIrsC,QAAQ,EAAOzF,UAAU,SACjDwxD,EAAeviE,OAAS,EACtB,kBACA,iBAEJ4F,IAAAxD,cAAA,MAAI2O,UAAU,SACZwxD,EAAep1D,KAAI,SAACw1D,EAAS7iE,GAAS,OACtC8F,IAAAxD,cAAA,MAAI4C,IAAKlF,GACR8F,IAAAxD,cAAA,KAAG2O,UAAU,gCAAgC4xD,EAAGn/D,MAChDoC,IAAAxD,cAAA,KACCsQ,MAAOiwD,EAAG5vB,MACVhiC,UAAU,YACV1I,KAAI,OAAAN,OAAS46D,EAAG5vB,QAEf4vB,EAAG5vB,OAELntC,IAAAxD,cAAA,KACCsQ,MAAOiwD,EAAG/C,MACV7uD,UAAU,qDACV1I,KAAI,UAAAN,OAAY46D,EAAG/C,QAElB+C,EAAG/C,mBD1EfgD,mBDxB6D,SAAH/7D,GAapD,IAADg8D,EAAA7X,EAZAG,EAAUtkD,EAAfY,IACAP,EAAML,EAANK,OACA47D,EAAWj8D,EAAXi8D,YACA/qD,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACAuQ,EAAUtsC,EAAVssC,WACAssB,EAAa54D,EAAb44D,cACA5rC,EAAmBhtB,EAAnBgtB,oBACAozB,EAAiBpgD,EAAjBogD,kBACAiE,EAAYrkD,EAAZqkD,aACA9kC,EAAkBvf,EAAlBuf,mBACA28C,EAAal8D,EAAbk8D,cAEAhqD,EAA8CC,oBAAS,GAAMC,EAAAC,aAAAH,EAAA,GAAtDiqD,EAAe/pD,EAAA,GAAEgqD,EAAkBhqD,EAAA,GAC1CG,EAA0BJ,oBAAS,GAAMK,EAAAH,aAAAE,EAAA,GAAlC8pD,EAAK7pD,EAAA,GAAE8pD,EAAQ9pD,EAAA,GAEhB89B,EAAchmC,YAAYjH,GAC1BsI,EAAWrB,YAAY7G,GACvBlC,EAAWyU,eACT3C,EAAUoJ,KAAYjV,MAAMjG,EAASuD,QAArCuO,MACF3R,EAAUuW,eACVmhC,EAAgBC,eACtB/sB,EAAsBC,aAAW2sC,GAAkB,CAClD/uC,QAAS,CACR9pB,OAAQA,EACRgT,MAAOA,EACPsvC,QAAqB,OAAZ0B,QAAY,IAAZA,OAAY,EAAZA,EAAc1B,QACvBngB,SAAqB,OAAZ6hB,QAAY,IAAZA,OAAY,EAAZA,EAAc7hB,UAAW,GAClCz7B,aAA0B,OAAZs9C,QAAY,IAAZA,OAAY,EAAZA,EAAct9C,aAC5B27C,sBACa,OAAZ2B,QAAY,IAAZA,OAAY,EAAZA,EAAct9C,eACdD,GAAkC,OAAZu9C,QAAY,IAAZA,OAAY,EAAZA,EAAct9C,cACrC8iB,MAAmB,OAAZw6B,QAAY,IAAZA,OAAY,EAAZA,EAAcx6B,MACrBmD,oBAAqBA,EACrB41B,OAAQlhD,EACRghC,aAA0B,OAAZ2hB,QAAY,IAAZA,OAAY,EAAZA,EAAc3hB,gBAE5BlW,EAAAna,aAAAia,EAAA,GAfK7sB,EAAK+sB,EAAA,GAAEC,EAAID,EAAA,GAiBlBjqB,EACC9C,EAAM0qB,SAAW,GADVN,EAAKtnB,EAALsnB,MAAO44B,EAAOlgD,EAAPkgD,QAASjgB,EAAOjgC,EAAPigC,QAASmgB,EAAOpgD,EAAPogD,QAAS57C,EAAYxE,EAAZwE,aAAc27B,EAAYngC,EAAZmgC,aAGxD/vB,EAA8BR,mBAASpL,GAAgB,IAAG6L,EAAAP,aAAAM,EAAA,GAAnDqmC,EAAOpmC,EAAA,GAAEumC,EAAUvmC,EAAA,GAuBpB0mC,EAAiB,SACtBz+C,EACA0+C,GAEA,IAAMC,EAAoCjyC,KAAKC,MAC9CD,KAAKgB,UAAUywC,IAGhB,GAAIn+C,EAAG,CACN,IAAA4+C,EAA8B5+C,EAAE6+C,cAAxB/kC,EAAE8kC,EAAF9kC,GAAIhY,EAAI88C,EAAJ98C,KAAMg9C,EAAOF,EAAPE,QAClBH,EAAaznC,SAAQ,SAAC7L,GAAM,OAC3BA,EAAOP,QAAQoM,SAAQ,SAAC6nC,EAAQr/B,GAC3BrU,EAAOO,OAAS9J,GAAQ,GAAAuE,OAAGgF,EAAOO,KAAI,KAAAvF,OAAIqZ,KAAY5F,IACzDilC,EAAOxzC,SAAWuzC,EACbA,IAGFzzC,EAAO2zC,kBAFP3zC,EAAO2zC,4BAOHN,GACVC,EAAaznC,SAAQ,SAAC7L,GAAM,OAC3BA,EAAOP,QAAQoM,SAAQ,SAAC6nC,EAAQr/B,GAC3B,GAAArZ,OAAGgF,EAAOO,KAAI,KAAAvF,OAAIqZ,KAAYg/B,IACjCK,EAAOxzC,UAAW,IAChBF,EAAO2zC,uBAMbptB,EAAK,gBAAiB,CACrB1lB,aAAcyyC,IAGfL,EAAWK,IA8EZ,OA3EAjhC,qBAAU,WACLlF,GAASA,EAAMla,OAAS,GACvBmI,OAAOqW,WAAarW,OAAOqW,UAAUle,MACxC6H,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,cACP6jD,YAAazsC,EACbkpD,mBAAoB75B,MAYrB,CAACA,IAEJnqB,qBAAU,WACL6gC,GAAiB93C,OAAOqW,WAAarW,OAAOqW,UAAUle,OACzD6H,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,WACPs0C,SAAS,GAADrvC,OAAKK,EAASivC,SAAWjvC,EAASuD,QAC1C2rC,UAAmB,OAAR9kC,QAAQ,IAARA,OAAQ,EAARA,EAAUE,MACrB6kC,SAAqB,OAAXJ,QAAW,IAAXA,OAAW,EAAXA,EAAa9iC,YAGpBlM,OAAO00C,iBACV10C,OAAO00C,gBAAgBC,WAGvB,IAEH19B,qBAAU,WACJ6gC,IACJ3sB,EAAK,QAAS,CACbpZ,MAAmB,OAAZgxC,QAAY,IAAZA,OAAY,EAAZA,EAAchxC,MACrBmvB,QAAS6hB,IAGV53B,EAAK,SAAU,CACdpZ,QACAwW,MAAOmD,OAIP,CAACs3B,IAEJ/rC,qBAAU,WACJ6gC,GACS,MAAT/lC,GAAiBA,IAAU5T,EAAM0qB,QAAQ9W,OAC5CoZ,EAAK,OAAQ,CACZpZ,YAMD,CAACA,IAEJkF,qBAAU,WACL6gC,GACHJ,GACCA,EACE9yC,QAAO,SAACQ,GAAC,OAAKA,EAAE81D,mBAChBl2D,KAAI,SAACI,GACLA,EAAEf,QAAQW,KAAI,SAACH,GACdA,EAAEC,UAAYg2D,GAAmB,YAOtCr9D,IAAAxD,cAACgkC,GAAU,KACT88B,GAASH,GACTn9D,IAAAxD,cAACkhE,GAAqBrjE,OAAA+N,OAAA,CACrB6xC,QAASA,GAAWwB,GAAmBxB,GACvC4gB,WAAY,kBAAM0C,GAAS,IAC3B78D,MAAOA,EACPgtB,KAAMA,GACFyvC,IAINn9D,IAAAxD,cAAA,OAAK2O,UAAU,mBACdnL,IAAAxD,cAACkxC,KAAU,KACV1tC,IAAAxD,cAAC03B,KAAI,CAAC1iB,SAAS,EAAOrG,UAAU,gBAC/BnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,IACb,OAAV+Y,QAAU,IAAVA,OAAU,EAAVA,EAAYp7B,UACZnS,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,KAAKxE,QAAQ,EAAOzF,UAAU,iBACrCoiC,EAAWj3B,MACXtW,IAAAxD,cAAC6Z,KAAI,CACJC,KAAMi3B,EAAWj3B,KACjBnM,KAAM,EACNgB,UAAU,oDACVsL,eAAa,IAGJ,OAAV82B,QAAU,IAAVA,OAAU,EAAVA,EAAYp7B,QACbnS,IAAAxD,cAAA,QAAM2O,UAAU,WAAWgH,KAGlB,OAAVo7B,QAAU,IAAVA,OAAU,EAAVA,EAAYvQ,WACZh9B,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,IAAIxE,QAAQ,GACT,OAAV28B,QAAU,IAAVA,OAAU,EAAVA,EAAYvQ,WAIhBh9B,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGrpB,UAAU,oBACrCnL,IAAAxD,cAAA,KACC2e,WAAS,eACThQ,UAAU,+FACV1I,KAAsB,QAAlBw6D,EAAa,OAAXC,QAAW,IAAXA,OAAW,EAAXA,EAAar7D,WAAG,IAAAo7D,IAAI,IAEd,OAAXC,QAAW,IAAXA,OAAW,EAAXA,EAAa7nD,KAAK,IAACrV,IAAAxD,cAAC6Z,KAAI,CAAClL,UAAU,OAAOmL,KAAK,cAMrDtW,IAAAxD,cAAA,OAAK2O,UAAU,YACdnL,IAAAxD,cAAC03B,KAAI,CAAC1iB,SAAS,EAAOrG,UAAU,gBAC9B0uD,GACA75D,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIppB,UAAU,YAAYgQ,WAAS,iBAC9Cnb,IAAAxD,cAAA,MAAI2O,UAAU,mBACZ0uD,EAActyD,KAAI,SAAC6G,EAAMoN,GAAK,OAC9Bxb,IAAAxD,cAAA,MAAI4C,IAAKoc,GACRxb,IAAAxD,cAACsO,GAAI,CACJE,GAAIoD,EAAKvM,IACTsJ,UAAWoM,aACVnJ,EAAKuf,UAAY,yBACjB,+BAGAvf,EAAKiH,cASdrV,IAAAxD,cAAA,OAAK2O,UAAU,mBACdnL,IAAAxD,cAAC03B,KAAI,CAAC1iB,SAAS,EAAOrG,UAAU,gBAC/BnL,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,EAAGrpB,UAAU,QACpCgH,GACAnS,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,KAAKjK,UAAU,cACtBgH,GAGF6qB,GAAYh9B,IAAAxD,cAAC2Y,MAAI,CAACC,GAAG,KAAK4nB,GAE3Bh9B,IAAAxD,cAACqmC,MAAW,CACX13B,UAAU,OACVyK,GAAG,gCACHnE,MAAwB,OAAjB4vC,QAAiB,IAAjBA,IAAqB,SAC5Bpe,YAAY,yBACZ7uB,SA9NgB,SAACtY,GACtB4xB,EAAK,eAAgB,CACpBpZ,MAAOxY,EAAE6hE,iCA6NLrrD,aAAcgC,EAAQA,EAAMqmB,gBAAa78B,EACzCiX,SAAU,SAACjZ,GAAM,MACJ,KAAZA,EAAEgD,OACF4uB,EAAK,eAAgB,CACpBpZ,MAAO,SAMXtU,IAAAxD,cAAC83B,KAAI,CAACC,KAAM,GAAIC,QAAS,GACxBx0B,IAAAxD,cAAA,YACCwD,IAAAxD,cAAA,OAAK2O,UAAU,+DACN,OAAP8uC,QAAO,IAAPA,OAAO,EAAPA,EACE9yC,QAAO,SAACwS,GAAC,OAAMA,EAAE8jD,mBAClBl2D,KAAI,SAACJ,EAAQjN,GAAC,OACd8F,IAAAxD,cAAA,OAAK2O,UAAU,eAAe/L,IAAK+H,EAAOO,MACzC1H,IAAAxD,cAACy+C,KAAmB,CACnBoG,kBAAmB,UAASl6C,EAAOvJ,KAAKue,cACxCylC,eAAgBz6C,EAAOP,QAAQxM,QAAU,KAAM,EAC/Cwb,GAAE,GAAAzT,OAAKgF,EAAOO,KAAI,KAAAvF,OAAIjI,GACtB+uB,OAAQ9hB,EAAOvJ,KACfuN,UAAU,WACV2vC,gBAAiB3zC,EAAO2zC,gBACxB+G,kBAAkB,6CAEjB16C,EAAOP,QAAQW,KAAI,SAACszC,EAAQr/B,GAAK,OACjCxb,IAAAxD,cAAC2+C,KAAiB,CACjB/7C,IAAKoc,EACL5F,GAAE,GAAAzT,OAAKgF,EAAOO,KAAI,KAAAvF,OAAIqZ,GACtBo/B,QAASC,EAAOxzC,SAChBzJ,KAAMuJ,EAAOO,KACb5I,MAAO+7C,EAAOvzC,KACd8O,SAAUykC,EAAOzkC,SACjBrB,SAAUwlC,EAEVc,cAAal0C,EAAOvJ,KACpBggE,oBAAmB/iB,EAAOj9C,MAEzBi9C,EAAOj9C,eAOdw/D,GACAp9D,IAAAxD,cAAA,KACC2O,UAAU,yEACVwU,QAAS,kBAAM09C,GAAmB,IAClCQ,qBAAmB,gBACnB,sBAEA79D,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLnM,KAAM,KACNsV,UAAU,OACVtU,UAAU,UAIZiyD,GACAp9D,IAAAxD,cAAA,OAAK2O,UAAU,+DACN,OAAP8uC,QAAO,IAAPA,OAAO,EAAPA,EACE9yC,QAAO,SAACwS,GAAC,OAAKA,EAAE8jD,mBACjBl2D,KAAI,SAACJ,EAAQjN,GAAC,OACd8F,IAAAxD,cAAA,OAAK2O,UAAU,eAAe/L,IAAK+H,EAAOO,MACzC1H,IAAAxD,cAACy+C,KAAmB,CACnBoG,kBAAmB,UAASl6C,EAAOvJ,KAAKue,cACxCylC,eAAgBz6C,EAAOP,QAAQxM,QAAU,KAAM,EAC/Cwb,GAAE,GAAAzT,OAAKgF,EAAOO,KAAI,KAAAvF,OAAIjI,GACtB+uB,OAAQ9hB,EAAOvJ,KACfuN,UAAU,WACV2vC,gBAAiB3zC,EAAO2zC,gBACxB+G,kBAAkB,6CAEjB16C,EAAOP,QAAQW,KAAI,SAACszC,EAAQr/B,GAAK,OACjCxb,IAAAxD,cAAC2+C,KAAiB,CACjB/7C,IAAKoc,EACL5F,GAAE,GAAAzT,OAAKgF,EAAOO,KAAI,KAAAvF,OAAIqZ,GACtBo/B,QAASC,EAAOxzC,SAChBzJ,KAAMuJ,EAAOO,KACb5I,MAAO+7C,EAAOvzC,KACd8O,SAAUykC,EAAOzkC,SACjBrB,SAAUwlC,EAEVc,cAAal0C,EAAOvJ,KACpBggE,oBAAmB/iB,EAAOj9C,MAEzBi9C,EAAOj9C,gBAQdw/D,GACDp9D,IAAAxD,cAAA,KACC2O,UAAU,iEACVwU,QAAS,kBAAM09C,GAAmB,IAClCQ,qBAAmB,qBACnB,mBAEA79D,IAAAxD,cAAC6Z,KAAI,CACJC,KAAK,UACLnM,KAAM,KACNsV,UAAU,KACVtU,UAAU,UAIbnL,IAAAxD,cAAA,OAAK2O,UAAU,uBACb8uC,GACAwB,GAAmBxB,GAAS1yC,KAAI,SAAC6G,EAAMlU,GAAC,OACvC8F,IAAAxD,cAACk/C,KAAU,CACV/7B,QAAS,WACR46B,OAAez8C,EAAWsQ,EAAKmtC,WAEhCpwC,UAAU,YACV/L,IAAKlF,EACL2lB,qBAAmB,gBAEnB7f,IAAAxD,cAAA,QAAM2O,UAAU,WAAU,SACzBiD,EAAKotC,eAGRvB,GAAWwB,GAAmBxB,GAAS7/C,OAAS,GAChD4F,IAAAxD,cAACq9B,KAAgB,CAChBha,qBAAmB,eACnBwQ,aAAW,eACXllB,UAAU,YACVwU,QAAS,YA7VG,WACpB,IAAM86B,EAAoCjyC,KAAKC,MAC9CD,KAAKgB,UAAUywC,IAEhBvsB,EAAK,iBACL+sB,EAAaznC,SAAQ,SAAC7L,GAAM,OAC3BA,EAAOP,QAAQoM,SAAQ,SAAC6nC,EAAQr/B,GAC/Bq/B,EAAOxzC,UAAW,IAChBF,EAAO2zC,sBAIXV,EAAWK,GAkVFgK,KAED,eACa,IACbzkD,IAAAxD,cAAC6Z,KAAI,CACJI,eAAa,EACbH,KAAK,WACLnL,UAAU,gBAKb8uC,GAAWwB,GAAmBxB,GAAS7/C,OAAS,GAChD4F,IAAAxD,cAACq9B,KAAgB,CAChBla,QAAS,SAAC7jB,GACTA,EAAEyd,iBACFgkD,GAAS,IAEV19C,qBAAmB,iBACnB1U,UAAU,kBACV,oBAEAnL,IAAAxD,cAAC6Z,KAAI,CACJI,eAAa,EACbH,KAAK,OACLnM,KAAM,IACNgB,UAAU,YAOfnL,IAAAxD,cAAC83B,KAAI,CACJC,KAAM,GACNC,QAAS,EACTrpB,UAAU,sCAEVnL,IAAAxD,cAAA,OAAK2O,UAAU,4CACbw4B,GAAgBA,EAAe,EAC/B3jC,IAAAxD,cAAA,OACC2O,UAAWoM,aACVqsC,GAA4B,IAAjBjgB,GAAsB,OACjC,yBAGAA,EAAa,UACbA,EAAe,EAAI,KAAO,IAG5B3jC,IAAAxD,cAAA,OACC2O,UAAU,uBACVyK,GAAG,iBACHuF,WAAS,wBACT,mBAKDyoC,GAAWjgB,EAAe,GAC1B3jC,IAAAxD,cAACsoD,GAAc,CACd94B,YAGE,QAFDo5B,EAAAxB,EAAQvxC,QAAQ8O,MACf,SAAClL,GAA0B,OAAKA,EAAOvO,OAASg8C,YAChD,IAAA0B,OAAA,EAFDA,EAEGxnD,OAAQgmD,EAAQp1B,aAGnBo1B,EAAQvxC,QAAQ9K,KAChB,SAAC0O,EAA4BuF,GAC5B,OACCxb,IAAAxD,cAAA,UACC2O,UAAU,mEACVwU,QAAS,WACR+N,EAAK,OAAQ,CACZg2B,QAASztC,EAAOvO,QAGlB2zC,cAAauI,EAAQp1B,YACrB1vB,MAAOmX,EAAOrY,KACdwB,IAAKoc,GAEJvF,EAAOrY,YAQP,OAAP6lC,QAAO,IAAPA,OAAO,EAAPA,EAASrpC,QAAS,GAClBqpC,EAAQl8B,KAAI,SAACzI,GAAU,OACtBkB,IAAAxD,cAACshE,KAAgB,CAChB1+D,IAAKN,EAAMsK,WACXvH,IAAK/C,EAAM+C,IACXsQ,QAASrT,EAAMqT,QACfoqD,WAAYz9D,EAAMy9D,WAClBh4B,QAASzlC,EAAMylC,QACfi4B,cAAe19D,EAAM09D,cAAc/0D,KAAK,MACxC4vC,QAASv4C,EAAMu4C,aAIjB1T,EAAe7Y,GACf9qB,IAAAxD,cAAA,OAAK2O,UAAU,uBACdnL,IAAAxD,cAAC2Z,KAAM,CACN0J,qBAAoBW,EACpBjK,MAAM,OACNG,QAAQ,UACRvL,UAAU,UACViL,SAA0B,YAAhB1V,EAAM5B,MAChB6gB,QAAS,kBACR+N,EAAK,YAAa,CACjB5C,MAAOA,EAAQmD,MAIhBzN,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,WC9fvBsnD,qBEhFiE,SAAH98D,GAKxD,IAJNkR,EAAOlR,EAAPkR,QACA6qB,EAAQ/7B,EAAR+7B,SACAhR,EAAU/qB,EAAV+qB,WACAgyC,EAAU/8D,EAAV+8D,WAEA,OACCh+D,IAAAxD,cAACgkC,GAAU,KACVxgC,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,cAAC03B,KAAI,CAAC/oB,UAAU,QACfnL,IAAAxD,cAAC83B,KAAI,CAACnpB,UAAU,qCACfnL,IAAAxD,cAAA,KAAG2O,UAAU,uBAAuB6xB,GACpCh9B,IAAAxD,cAAC2Z,KAAM,CACNid,cAAetoB,KACfK,UAAU,QACVH,GAAIgzD,EACJznD,MAAM,OACNnB,GAAG,KAEF4W,S,SCVFiyC,GAAyB,WAC9B,IAAMC,EAAcC,eAAdD,UACAv7D,EAAUuW,eACZ1X,EAAcyV,eAAclR,OAC5BtE,EAAawV,eAAcC,KAC/BgnD,EAAYA,GAAa,IACzB,IAAMthB,EAAc5oC,iBAAuB,MACrCoqD,EAAmBpqD,iBAAuB,MAC1CqqD,EAAUrqD,iBAAY,MACpBrT,EAAWuY,eAAXvY,OACFqI,EAAW8T,cACjBwhD,EAA2B/yD,YAAYlH,GAA/BrH,EAAKshE,EAALthE,MAAO+G,EAAOu6D,EAAPv6D,QACTwtC,EAAchmC,YAAYjH,GAC1BsI,EAAWrB,YAAY7G,GACvB7B,EAAY0I,YAAYvF,GACxBH,EAAQ0F,YAAY3F,GAC1B24D,EAAmChzD,YAAYyR,KAAvCwhD,EAAcD,EAAdC,eAAgBl9D,EAAMi9D,EAANj9D,OACxB6R,EAA0CC,oBAAS,GAAMC,EAAAC,aAAAH,EAAA,GAAlDsrD,EAAaprD,EAAA,GAAEqrD,EAAgBrrD,EAAA,GAChCsrD,EHmDoB,SAACptB,GAC3B,GAAIA,EAAa,CAChB,IAAI9zB,EAAYu9C,GAAMzpB,EAAY9iC,WAElC,GAAIgP,EACH,OAAOA,EAIT,OAAOywB,GG5DM0wB,CAAYrtB,GACnB8I,EAAgBC,eAIrBh5C,GACA48D,GACqC,MAArC58D,EAAOkK,OAAOlK,EAAOlH,OAAS,IACN,MAAxB8jE,EAAU1yD,OAAO,KAEjB0yD,EAAYA,EAAUW,OAAO,IAI9BrlD,qBAAU,WAAO,IAADvY,EAEXu9D,IAAmBM,KAAgBC,YAAcxtB,EAChDhvC,QAAUM,IACbN,OAAOQ,UAAYF,EAAUC,UAQP,QAAvB7B,EAAC0B,EAAQH,SAAS9B,aAAK,IAAAO,OAAA,EAAvBA,EAAiC+9D,eACd,SAAnBr8D,EAAQhC,QAKTqI,EhI9BD,SACCi2D,EACA19D,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,EAAWi+D,EAAa19D,EAAOC,EAAaC,GAAY,KAAD,EAApE7H,EAAIoI,EAAAK,KAAAL,EAAAE,KAAA,gBAIH,OAJGF,EAAAC,KAAA,EAAAD,EAAAqb,GAAArb,EAAA,SAEwB,MAAxBA,EAAAqb,GAAI1I,SAASwkB,QAChBnwB,EAAS7E,EAAe+6D,IACxBl9D,EAAAgB,OAAA,kBAIFgG,EAAS9E,EAAgBtK,IAAO,yBAAAoI,EAAAiB,UAAA5B,EAAA,kBAChC,gBAAA6B,GAAA,OAAAjC,EAAAlG,MAAA,KAAAuI,YAhBkB,GgI0BT67D,CAAU79D,EAAQ48D,EAAW18D,EAAaC,MAEjD,CAACH,EAAQ48D,EAAWl1D,IAGvBwQ,qBAAU,WACTxQ,EAASo2D,YAAqBN,KAAgBC,eAE5C,IAGHvlD,qBAAU,WACT,IAAI6lD,EAsBJ,OApBIt7D,EACHs7D,EAAgBthE,YAAW,WAE1B2gE,GAAiB,GACb9hB,EAAYhoC,UACfgoC,EAAYhoC,QAAQwF,UAAY,gBAEjCrc,YAAW,WACN6+C,EAAYhoC,UACfgoC,EAAYhoC,QAAQwF,UAAY,MAE/B,OACD,MAEHskD,GAAiB,GACF,SAAX/9D,GAAsBc,GACzBc,OAAOgwC,SAAS,EAAG,IAId,WACF8sB,GACHhiE,aAAagiE,MAIb,CAACt7D,IAGJyV,qBAAU,WAKL+3B,IACCqL,EAAYhoC,UACfgoC,EAAYhoC,QAAQwF,UAAY,qBAEjCrc,YAAW,WACN6+C,EAAYhoC,UACfgoC,EAAYhoC,QAAQwF,UAAY,MAE/B,MAGDigC,GACD93C,OAAO+8D,mBACP/8D,OAAO+8D,kBAAkBC,aAEzBh9D,OAAO+8D,kBAAkBC,cAG1BxhE,YAAW,WACV,GAAIsgE,EAAQzpD,QAAS,CACpB,IAAIkiC,EAAIv0C,OAAOi9D,QACX3tD,EAAItP,OAAOk9D,QACf,GACCljE,SAASmjE,YACTnjE,SAASojE,gBAAkBvB,EAAiBxpD,QAC3C,CACD,IAAMgrD,EAAUvB,EAAQzpD,QAAQsK,cAAc,MAC1C0gD,GACHA,EAAQhjE,aAAa,YAAa,GAClCgjE,EAAQvvD,MAAMwvD,QAAU,OACxBD,EAAQ/qD,SAERwpD,EAAQzpD,QAAQC,QAGlBtS,OAAOgwC,SAASuE,EAAGjlC,GAGpB,GAAIpQ,EAAY,CACf,IAAMq+D,EAAgBvjE,SAAS4iC,eAC9B19B,EAAWiB,UAAU,IAElBo9D,GACHv9D,OAAOgwC,SAAS,CACf1hC,IAAKivD,EAAcxtB,UACnBE,SAAU,cAIX,MAGFjwC,OAAOqW,WACPrW,OAAOqW,UAAUle,MACS,sCAA1B62C,EAAY9iC,WACc,6CAA1B8iC,EAAY9iC,WACc,uBAA1B8iC,EAAY9iC,WACc,6BAA1B8iC,EAAY9iC,WACc,qCAA1B8iC,EAAY9iC,YAEZlM,OAAOqW,UAAUle,KAAK,CACrBme,mBAAe/a,IAEhByE,OAAOqW,UAAUle,KAAK,CACrBwC,MAAO,WACPs0C,SAAUjvC,OAAOC,SAASivC,UAAYF,EAAY1vC,IAClD6vC,UAAmB,OAAR9kC,QAAQ,IAARA,OAAQ,EAARA,EAAUE,MACrB6kC,SAAUJ,EAAY9iC,YAInBlM,OAAO00C,iBACV10C,OAAO00C,gBAAgBC,YAIxB,CAAC3F,EAAa3kC,IAEjB,IAAMmzD,EAAe,SAACC,GACrBzjE,SAAS+d,KAAKnP,UAAY,GAC1B5O,SAAS+d,KAAKmS,UAAUC,IAAI,YAAaszC,IAa1C,OAVAxmD,qBAAU,WACY,aAAZ,OAAL3T,QAAK,IAALA,OAAK,EAALA,EAAO0Q,OACVwpD,EAAa,UACa,OAAX,OAALl6D,QAAK,IAALA,OAAK,EAALA,EAAO0Q,OACjBwpD,EAAal6D,EAAM0Q,OAEnBwpD,EAAa,YAEZ,CAAM,OAALl6D,QAAK,IAALA,OAAK,EAALA,EAAO0Q,QAGVvW,IAAAxD,cAAAwD,IAAAiU,SAAA,KACElQ,GAAW06D,GACXz+D,IAAAxD,cAAA,OAAK2O,UAAU,iFACdnL,IAAAxD,cAAC6Z,KAAI,CAACC,KAAK,SAASnM,KAAM,EAAGqM,QAAQ,OAAOD,MAAM,aAGnDvZ,IAAmC,IAA1BA,EAAMsY,QAAQ,QAAiBtV,IAAAxD,cAAC0xC,GAAY,CAAClxC,MAAOA,IAC7Du0C,IAAgBv0C,GAChBgD,IAAAxD,cAAA,OAAKoa,IAAKynD,EAAS1nD,UAAW,EAAGtG,MAAO,CAAEwvD,QAAS,SAClD7/D,IAAAxD,cAACmiE,EAASptB,IAGZvxC,IAAAxD,cAAA,OAAK2O,UAAU,UAAUkwB,YAAU,YAAYzkB,IAAKgmC,IACpD58C,IAAAxD,cAAA,OACCma,UAAW,EACXC,IAAKwnD,EACL/tD,MAAO,CAAEwvD,QAAS,Y,0CCrNTI,GAAgB,CAAC,gBAGjB/jC,GAAqBgkC,wBAAmB,IA6CtCC,GA/BuB,SAAHl/D,GAAoB,IAAdm/D,EAAMn/D,EAANm/D,OAElC59D,EAda,SAAC+uC,GACpB,IAAI/uC,EAAW,GAQf,OANe,OAAX+uC,QAAW,IAAXA,OAAW,EAAXA,EAAa1vC,KAChBW,EAAW+uC,EAAY1vC,IACK,qBAAXU,SACjBC,EAAWD,OAAOC,SAASivC,UAGrBjvC,EAKU69D,CADG90D,YAAYjH,IAE1B83B,EAAsBkkC,aAAaroC,GAAqB,CAC7Dq+B,UAAU,IAYX,OAVAz5C,KClCArD,qBAAU,WACT,IAAM+mD,EAAU,SAACrjE,GAChB,IAAMsjE,EAAKtjE,EAAMQ,OACX+iE,EAAUvjE,EAAMujE,QAAUvjE,EAAMujE,QAAUvjE,EAAMwjE,OAK9C,IAFP,CAAC,IAAK,SAAU,QAAS,WAAY,UAAUprD,QAC9CkrD,EAAGG,QAAQxkD,gBAEXqkD,EAAGI,aAAa,aACL,IAAZH,GAEAD,EAAG/zC,UAAUC,IAAI,yBAIb/M,EAAU,SAACziB,GAChB,IAAMsjE,EAAKtjE,EAAMQ,QAEgD,IAA7D,CAAC,QAAS,YAAY4X,QAAQkrD,EAAGG,QAAQxkD,gBAC5CqkD,EAAG/zC,UAAUC,IAAI,yBAIb2mC,EAAS,SAACn2D,GACf,IAAMsjE,EAAKtjE,EAAMQ,OAEb8iE,EAAG/zC,WAAa+zC,EAAG/zC,UAAUo0C,SAAS,yBACzCL,EAAG/zC,UAAUI,OAAO,yBAQtB,OAJAtwB,SAASqd,iBAAiB,QAAS2mD,GACnChkE,SAASqd,iBAAiB,QAAS+F,GACnCpjB,SAASqd,iBAAiB,OAAQy5C,GAAQ,GAEnC,WACN92D,SAASsd,oBAAoB,QAAS0mD,GACtChkE,SAASsd,oBAAoB,QAAS8F,GACtCpjB,SAASsd,oBAAoB,OAAQw5C,GAAQ,MAE5C,IDJH75C,qBAAU,WACT,IAAIsnD,KAAY,cAGhBC,KAAgB,QACd,IAGF/gE,IAAAxD,cAAC0/B,GAAmB8kC,SAAQ,CAACliE,MAAO,CAAEs9B,wBACrCp8B,IAAAxD,cAAC4jE,EAAM,CAAC59D,SAAUA,EAAU4oB,QAAS,IACpCprB,IAAAxD,cAACykE,KAAM,KACLhB,GAAc14D,KAAI,SAAC25D,GAAY,OAC/BlhE,IAAAxD,cAAC2kE,KAAK,CAAC/hE,IAAK8hE,EAAcx5D,KAAMw5D,GAC/BlhE,IAAAxD,cAACyhE,GAAY,c,gBEjCyB,SAAzCmD,mHAAYC,0BACI52C,EAAQ,KAAnB62C,OACDn2B,QAKR,IAAIo2B,GAAethE,IAASg/B,OACxBj7B,GAAQ,CACXhG,KAAM,GACN0M,MAAO82D,KAKJj/D,OAAOmyC,UAEV6sB,GAAethE,IAASwhE,SACxBz9D,GAAQzB,OAAOmyC,SACThqC,MAAM8zD,eAAiBM,KAAgB4C,SAG9C,IAAIh3D,GAAQ1G,GAAM0G,aACX1G,GAAM0G,MAEb,IhIhCgBi3D,GgIgCVA,GAAiB,CACtBj3D,SACA1G,MAAO,CAAEA,WAYJ49D,GAAUrlE,SAAS4iC,eAAez0B,GAAMm3D,aAC1CD,IACHL,GACCvhE,IAAAxD,cAACwkE,IAAQ,CAACc,OhIjDIH,GgIiDaA,GhIhDrBI,YAAe,CACrBC,QAASz3D,GACTo3D,sBgI+CC3hE,IAAAxD,cAACylE,GAAW,CAAC7B,OAAQ8B,OAEtBN,IACA,kBAhBuBO,EAgBDxiE,QAAQiP,IAf/BwzD,aAAOD,GACPE,aAAOF,GACPG,aAAOH,GACPI,aAAOJ,QACPK,aAAQL,GALe,IAACA,M,4NC7CZM,EAIZ,eAAAxhE,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOqhE,EAAKzI,EAAK0I,GAAG,IAAAC,EAAAt5D,EAAAu5D,EAAAC,EAAAtoC,EAAApD,EAAA2rC,EAAA,OAAA5hE,IAAAY,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAiBrB,GAhBI0gE,EAAeF,EAAI7gE,IAAImhE,aAAatkE,IAAI,gBACxC4K,EAAeo5D,EAAI7gE,IAAImhE,aAAatkE,IAAI,gBACxCmkE,EAAkBH,EAAI7gE,IAAImhE,aAAatkE,IAAI,mBAC3CokE,EAAeJ,EAAI7gE,IAAImhE,aAAatkE,IAAI,gBACxC87B,EAAgBkoC,EAAI7gE,IAAImhE,aAAatkE,IAAI,iBAE3C04B,EAAe5uB,KAAKC,MAAMD,KAAKgB,UAAUy5D,IAEvCF,EAAuB,SAACvnD,EAAe0nD,GAAwB,IAADC,EAAAC,EACxC,QAA3BD,EAAA/rC,EAAasb,QAAQl3B,UAAM,IAAA2nD,GAAS,QAATC,EAA3BD,EAA6B9wD,eAAO,IAAA+wD,GAApCA,EAAsCpwD,SAAQ,SAACiD,GAC1CA,EAAOnX,QAAUokE,EACpBjtD,EAAO5O,UAAW,EAElB4O,EAAO5O,UAAW,OAKpBu7D,GACCt5D,GACAu5D,GACAC,GACAtoC,EAAa,CAAAx4B,EAAAE,KAAA,SAEd6gE,EAAqB,EAAGH,GAExBxrC,EAAasb,QAAQ1/B,SAAQ,SAAC8/B,EAAat3B,GACtCA,EAAQ,IACXs3B,EAAOzgC,QAAU,SAGnB+kB,EAAa6Z,aAAe,KAAKjvC,EAAAE,KAAA,qBAEjC0gE,IACAt5D,GACCu5D,GACAC,GACAtoC,EAAa,CAAAx4B,EAAAE,KAAA,SAEd6gE,EAAqB,EAAGH,GACxBG,EAAqB,EAAGz5D,GAExB8tB,EAAasb,QAAQ1/B,SAAQ,SAAC8/B,EAAat3B,GACtCA,EAAQ,IACXs3B,EAAOzgC,QAAU,SAGnB+kB,EAAa6Z,aAAe,KAAKjvC,EAAAE,KAAA,sBAEjC0gE,GACAt5D,GACAu5D,IACCC,GACAtoC,EAAa,CAAAx4B,EAAAE,KAAA,SAEd6gE,EAAqB,EAAGH,GACxBG,EAAqB,EAAGz5D,GACxBy5D,EAAqB,EAAGF,GACxBzrC,EAAasb,QAAQ1/B,SAAQ,SAAC8/B,EAAat3B,GACtCA,EAAQ,IACXs3B,EAAOzgC,QAAU,SAGnB+kB,EAAa6Z,aAAe,KAAKjvC,EAAAE,KAAA,sBAEjC0gE,GACAt5D,GACAu5D,GACAC,IACCtoC,EAAa,CAAAx4B,EAAAE,KAAA,SAEd6gE,EAAqB,EAAGH,GACxBG,EAAqB,EAAGz5D,GACxBy5D,EAAqB,EAAGF,GACxBE,EAAqB,EAAGD,GACxB1rC,EAAa6Z,aAAe,KAAKjvC,EAAAE,KAAA,sBAEjC0gE,GACAt5D,GACAu5D,GACAC,GACAtoC,GACkB,YAAlBA,GAA2B,CAAAx4B,EAAAE,KAAA,SAE3B6gE,EAAqB,EAAGH,GACxBG,EAAqB,EAAGz5D,GACxBy5D,EAAqB,EAAGF,GACxBE,EAAqB,EAAGD,GACxBC,EAAqB,EAAGvoC,GAAex4B,EAAAE,KAAA,sBAEvC0gE,GACAt5D,GACAu5D,GACAC,GACAtoC,GACkB,YAAlBA,GAA2B,CAAAx4B,EAAAE,KAAA,gBAAAF,EAAAgB,OAAA,SAEpBi3D,EAAI0I,EAAIxpC,OAAO,KAAMwpC,EAAIroD,KAAK,MAAI,eAAAtY,EAAAE,KAAA,GAGpC,IAAIhG,SAAc,SAACC,EAASC,GACjC2B,YAAW,WACV5B,MACE,QACD,KAAD,UAAA6F,EAAAgB,OAAA,SACKi3D,EAAI0I,EAAIxpC,OAAO,KAAMwpC,EAAIzI,KAAK9iC,KAAc,yBAAAp1B,EAAAiB,UAAA5B,OACnD,gBA3GA6B,EAAAC,EAAAC,GAAA,OAAAnC,EAAAlG,MAAA,KAAAuI,YAAA,G,SCJY+/D,EAIZ,eAAApiE,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOqhE,EAAKzI,EAAK0I,GAAG,OAAAxhE,IAAAY,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACjB,IAAIhG,SAAc,SAACC,EAASC,GAAY,IAADknE,EAC5CvlE,YAAW,WACV5B,MACE,KAEH,IAAIme,EAAOooD,EAAIpoD,KAEXrR,EAAa,GACO,QAAxBq6D,EAAAhpD,EAAKgd,2BAAmB,IAAAgsC,GAAxBA,EAA0BtwD,SAAQ,SAAC8lB,EAAetd,GACjD,IAAIpN,EAAO,CACVurB,gBAAgB,YAADx3B,OAAcqZ,GAC7B+nD,oBAAkC,aAAbzqC,EAA0B,cAAa,cAC5D0qC,sBACc,YAAb1qC,EACG,MACa,YAAbA,EACA,aACa,YAAbA,GAAuC,aAAbA,EAC1B,YACA,GACJ2qC,yBAA0B,UAC1B5hE,IAAK,gBACL+3B,YAA0B,YAAbd,EAAyB,0BAAyB,KAC/DgB,mBAAoBhB,GAGrB7vB,EAAMvO,KAAK0T,MAEZs1D,EAAmBn7D,aAAaU,MAAQA,KACtC,KAAD,SAAAjH,EAAAgB,OAAA,SAEKi3D,EAAI0I,EAAIxpC,OAAO,KAAMwpC,EAAIroD,KAAK9R,KAAKgB,UAAUk6D,MAAqB,wBAAA1hE,EAAAiB,UAAA5B,OACzE,gBAjCA6B,EAAAC,EAAAC,GAAA,OAAAnC,EAAAlG,MAAA,KAAAuI,YAAA,G,kKCbYqgE,EAAY,SACxBxuC,EACAuuB,GAEK,IADLkO,EAAsBtuD,UAAAlJ,OAAA,QAAA0D,IAAAwF,UAAA,GAAAA,UAAA,GAAG,OAEzB,OAAKogD,GAAYvuB,EAAM9T,KAAK,GAAGqiC,IAI/BvuB,EAAM9T,KAAKzE,MAAK,SAACjD,EAAQvS,GACxB,IAAIw8D,EAAQjqD,EAAE+pC,GAASmgB,cACnBC,EAAQ18D,EAAEs8C,GAASmgB,cACvB,OAAID,EAAQE,EACe,QAAnBlS,GAA4B,EAAI,EAEpCgS,EAAQE,EACe,QAAnBlS,EAA2B,GAAK,EAEjC,KAGDmS,EAAkB5uC,EAAOuuB,EAASkO,IAfjCz8B,GAkBI4uC,EAAoB,SAChC5uC,EACAuuB,GAEK,IADLkO,EAAsBtuD,UAAAlJ,OAAA,QAAA0D,IAAAwF,UAAA,GAAAA,UAAA,GAAG,OAEzB,OAAKogD,GAAYvuB,EAAM9T,KAAK,GAAGqiC,IAI/BvuB,EAAMrU,WAAWvZ,KAAI,SAACuR,GACjBA,EAAKpR,OAASg8C,EACjB5qC,EAAK2G,UAAYmyC,SAGV94C,EAAK2G,aAIP0V,GAZCA,GC9BI6uC,EAAgB,SAAC7uC,EAAYrK,GAGzC,OAFAqK,EAAMrK,MAAQA,EACdqK,EAAM9T,KAAK/lB,OAAOwvB,GACXqK,GCaK8uC,EAAW,CAEvBC,IAAKxlE,IAAI,eCLN,SAACgkE,EAAKzI,EAAK0I,GAAS,IAADwB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAChBpwD,EAAQouD,EAAI7gE,IAAImhE,aAAatkE,IAAI,SACjCosB,EAAQ43C,EAAI7gE,IAAImhE,aAAatkE,IAAI,SACjCimE,EAAWjC,EAAI7gE,IAAImhE,aAAatkE,IAAI,YACpCshB,EAAc0iD,EAAI7gE,IAAImhE,aAAatkE,IAAI,eACvCwuC,EAAMw1B,EAAI7gE,IAAImhE,aAAatkE,IAAI,OAC/BkmE,EAAWlC,EAAI7gE,IAAImhE,aAAatkE,IAAI,YACpCglD,EAAUgf,EAAI7gE,IAAImhE,aAAatkE,IAAI,WAE5B,MAAT4V,IACHvO,EAAOuO,MAAQA,GAGH,MAATwW,IACH/kB,EAAO+kB,MAAQ/b,SAAS+b,IAGzB,IAAI5iB,EAAoB,OAANnC,QAAM,IAANA,GAAuB,QAAjBo+D,EAANp+D,EAAQw8C,aAAa,UAAE,IAAA4hB,OAAjB,EAANA,EAAyBn8D,aAEvC68D,EAEH,QAFqBT,EAAGl8D,EAAKiZ,MAC7B,SAACha,GAAM,MAAsB,iBAAX,OAANA,QAAM,IAANA,OAAM,EAANA,EAAQO,gBACpB,IAAA08D,OAAA,EAFwBA,EAEtBx9D,QACCi+D,GAAsBA,EAAmBzqE,OAAS,GACrDyqE,EAAmB7xD,SAAQ,SAAC6nC,GACvBA,EAAOvzC,OAAS0Y,EACnB66B,EAAOxzC,UAAW,EAElBwzC,EAAOxzC,UAAW,KAMpBtB,EAAOw8C,aAAa,GAAGzH,gBADpB96B,EACsC,EAEA,EAM1C,IAAI8kD,EAEH,QAFkBR,GAFnBp8D,EAAa,OAANnC,QAAM,IAANA,GAAuB,QAAjBs+D,EAANt+D,EAAQw8C,aAAa,UAAE,IAAA8hB,OAAjB,EAANA,EAAyBr8D,cAELmZ,MAC1B,SAACha,GAAM,MAAsB,cAAX,OAANA,QAAM,IAANA,OAAM,EAANA,EAAQO,gBACpB,IAAA48D,OAAA,EAFqBA,EAEnB19D,QACCk+D,GAAmBA,EAAgB1qE,OAAS,IAC/C0qE,EAAgB9xD,SAAQ,SAAC6nC,GACpBA,EAAOvzC,OAASq9D,EACnB9pB,EAAOxzC,UAAW,EAElBwzC,EAAOxzC,UAAW,KAGpBtB,EAAOw8C,aAAa,GAAGzH,gBAAkB,GAGzC/0C,EAAOw8C,aAAa,GAAGzH,gBADpB6pB,EACsC,EAEA,EAM1C,IAAII,EAA0D,QAAhDP,GAFdt8D,EAAa,OAANnC,QAAM,IAANA,GAAuB,QAAjBw+D,EAANx+D,EAAQw8C,aAAa,UAAE,IAAAgiB,OAAjB,EAANA,EAAyBv8D,cAEVmZ,MAAK,SAACha,GAAM,MAAsB,SAAX,OAANA,QAAM,IAANA,OAAM,EAANA,EAAQO,gBAAe,IAAA88D,OAAA,EAA7CA,EAA+C59D,QAE5Dm+D,GAAcA,EAAW3qE,OAAS,GACrC2qE,EAAW/xD,SAAQ,SAAC6nC,GACR,MAAP3N,GAAeA,EAAI9yC,OAAS,GAC3B8yC,EAAI9vB,MAAM,KAAK+D,MAAK,SAACjnB,GAAC,OAAKA,IAAM2gD,EAAOvzC,QAC3CuzC,EAAOxzC,UAAW,EAKnBwzC,EAAOxzC,UAAW,KAKpBtB,EAAOw8C,aAAa,GAAGzH,gBADpB5N,EACsCA,EAAI9vB,MAAM,KAAKhjB,OAEf,EAM1C,IAAI4qE,EAEH,QAFkBN,GAFnBx8D,EAAa,OAANnC,QAAM,IAANA,GAAuB,QAAjB0+D,EAAN1+D,EAAQw8C,aAAa,UAAE,IAAAkiB,OAAjB,EAANA,EAAyBz8D,cAELmZ,MAC1B,SAACha,GAAM,MAAsB,cAAX,OAANA,QAAM,IAANA,OAAM,EAANA,EAAQO,gBACpB,IAAAg9D,OAAA,EAFqBA,EAEnB99D,QAqCH,OAnCIo+D,GAAmBA,EAAgB5qE,OAAS,GAC/C4qE,EAAgBhyD,SAAQ,SAAC6nC,GACR,MAAZ+pB,GAAoBA,EAASxqE,OAAS,GACrCwqE,EAASxnD,MAAM,KAAK+D,MAAK,SAACjnB,GAAC,OAAKA,IAAM2gD,EAAOvzC,QAChDuzC,EAAOxzC,UAAW,EAKnBwzC,EAAOxzC,UAAW,KAKpBtB,EAAOw8C,aAAa,GAAGzH,gBADpB8pB,EACsCA,EAASxnD,MAAM,KAAKhjB,OAEpB,EAKtCspD,GACH39C,EAAO69C,QAAQvxC,QAAQW,SAAQ,SAACiD,GAC3BA,EAAOvO,OAASg8C,EACnBztC,EAAO5O,UAAW,EAElB4O,EAAO5O,UAAW,KASd4yD,EAAI0I,EAAIxpC,OAAO,KAAMwpC,EAAIroD,KAAK9R,KAAKgB,UAAUzD,QDvHpDm+D,IAAKxlE,IAAI,kBAAkB,SAACgkE,EAAKzI,EAAK0I,GACrC,IAAMruD,EAAQouD,EAAI7gE,IAAImhE,aAAatkE,IAAI,SACjCosB,EAAQ43C,EAAI7gE,IAAImhE,aAAatkE,IAAI,SASvC,OAPa,MAAT4V,IACHvO,EAAOuO,MAAQA,GAGH,MAATwW,IACH/kB,EAAO+kB,MAAQ/b,SAAS+b,IAElBmvC,EAAI0I,EAAIxpC,OAAO,KAAMwpC,EAAIroD,KAAK9R,KAAKgB,UAAUzD,QAIrDm+D,IAAKxlE,IAAI,wBAAwB,SAACgkE,EAAKzI,EAAK0I,GAAS,IAADsC,EAAAC,EAAAd,EAAAE,EAO/Ca,EANI3hB,EAAYkf,EAAIj8D,OAAhB+8C,QACFlvC,EAAQouD,EAAI7gE,IAAImhE,aAAatkE,IAAI,SACjCosB,EAAQ43C,EAAI7gE,IAAImhE,aAAatkE,IAAI,SACjCwuC,EAAMw1B,EAAI7gE,IAAImhE,aAAatkE,IAAI,OAC/BiqB,EAAa+5C,EAAI7gE,IAAImhE,aAAatkE,IAAI,cAG5C,OAAQ8kD,GACP,IAAK,kBAEJ,IAAIt7C,EAAkB,QAAd+8D,EADRE,EAAcxe,SACQ,IAAAse,GAAiB,QAAjBC,EAAXD,EAAa1iB,aAAa,UAAE,IAAA2iB,OAAjB,EAAXA,EAA8Bl9D,aACrC+8D,EAA0D,QAAhDX,EAAGl8D,EAAKiZ,MAAK,SAACha,GAAM,MAAsB,SAAX,OAANA,QAAM,IAANA,OAAM,EAANA,EAAQO,gBAAe,IAAA08D,OAAA,EAA7CA,EAA+Cx9D,QAE5Dm+D,GAAcA,EAAW3qE,OAAS,GACrC2qE,EAAW/xD,SAAQ,SAAC6nC,GACR,MAAP3N,GAAeA,EAAI9yC,OAAS,GAC3B8yC,EAAI9vB,MAAM,KAAK+D,MAAK,SAACjnB,GAAC,OAAKA,IAAM2gD,EAAOvzC,QAC3CuzC,EAAOxzC,UAAW,EAKnBwzC,EAAOxzC,UAAW,KAKrB,IAAI+9D,EAEH,QAFoBd,EAAGp8D,EAAKiZ,MAC5B,SAACha,GAAM,MAAsB,gBAAX,OAANA,QAAM,IAANA,OAAM,EAANA,EAAQO,gBACpB,IAAA48D,OAAA,EAFuBA,EAErB19D,QAECw+D,GAAqBA,EAAkBhrE,OAAS,GACnDgrE,EAAkBpyD,SAAQ,SAAC6nC,GACR,MAAdlyB,GAAsBA,EAAWvuB,OAAS,GACzCuuB,EAAWvL,MAAM,KAAK+D,MAAK,SAACjnB,GAAC,OAAKA,IAAM2gD,EAAOvzC,QAClDuzC,EAAOxzC,UAAW,EAKnBwzC,EAAOxzC,UAAW,KAMpB89D,EAAY5iB,aAAa,GAAGzH,gBADzB5N,IAAQvkB,EACmCukB,EAAI9vB,MAAM,KAAKhjB,QAClD8yC,GAAOvkB,EAEjBA,EAAWvL,MAAM,KAAKhjB,OACb8yC,GAAOvkB,EAEhBukB,EAAI9vB,MAAM,KAAKhjB,OAASuuB,EAAWvL,MAAM,KAAKhjB,OAED,EAG/C,MACD,IAAK,YACJ+qE,EAAchuC,EACd,MACD,QACCguC,EAAcp/D,EAShB,OAPa,MAATuO,IACH6wD,EAAY7wD,MAAQA,GAGR,MAATwW,IACHq6C,EAAYr6C,MAAQ/b,SAAS+b,IAEvBmvC,EAAI0I,EAAIxpC,OAAO,KAAMwpC,EAAIroD,KAAK9R,KAAKgB,UAAU27D,QAIrDjB,IAAKxlE,IAAI,2BAA2B,SAACgkE,EAAKzI,EAAK0I,GAC9C,IAIIwC,EAJI3hB,EAAYkf,EAAIj8D,OAAhB+8C,QACFlvC,EAAQouD,EAAI7gE,IAAImhE,aAAatkE,IAAI,SACjCosB,EAAQ43C,EAAI7gE,IAAImhE,aAAatkE,IAAI,SAGvC,OAAQ8kD,GACP,IAAK,iBACJ2hB,EAAcE,EACd,MACD,IAAK,YACJF,EAAcG,EACd,MACD,QACCH,EAAcI,EAShB,OAPa,MAATjxD,IACH6wD,EAAY7wD,MAAQA,GAGR,MAATwW,IACHq6C,EAAYr6C,MAAQ/b,SAAS+b,IAEvBmvC,EAAI0I,EAAIxpC,OAAO,KAAMwpC,EAAIroD,KAAK9R,KAAKgB,UAAU27D,QAIrDjB,IAAKxlE,IAAI,kBAAkB,SAACgkE,EAAKzI,EAAK0I,GAAS,IAAD6C,EACvClxD,EAAQouD,EAAI7gE,IAAImhE,aAAatkE,IAAI,SACjCosB,EAAQ43C,EAAI7gE,IAAImhE,aAAatkE,IAAI,SACjCglD,EAA6C,QAAtC8hB,EAAG9C,EAAI7gE,IAAImhE,aAAatkE,IAAI,kBAAU,IAAA8mE,OAAA,EAAnCA,EAAqCpoD,MAAM,KAAK,GAE5DzI,EAAQhM,YAAA,GACR88D,GAsBJ,OAnBc,OAAVnxD,IACHK,EAASL,MAAQA,EACjBK,EAAS8uB,QAAU9uB,EAAS8uB,QAAQt8B,QACnC,SAACiH,GAAS,OAC2D,IAApEA,EAAKm2B,QAAQpoB,cAAc7G,QAAQhB,EAAM6H,cAAcupD,WAEzD/wD,EAASgvB,aAAehvB,EAAS8uB,QAAQrpC,QAG7B,MAAT0wB,IACHnW,EAAS8uB,QAAU9uB,EAAS8uB,QAAQ1jC,MAAM,EAAGgP,SAAS+b,UAGvChtB,IAAZ4lD,IACH/uC,EAAS8uB,QAAU9uB,EAAS8uB,QAAQ7mB,MAAK,SAACjD,EAAQvS,GACjD,OAAOuS,EAAE+pC,GAAWt8C,EAAEs8C,GAAW,GAAK,MAIjCuW,EAAI0I,EAAIxpC,OAAO,KAAMwpC,EAAIroD,KAAK9R,KAAKgB,UAAUmL,QAIrDuvD,IAAK1sC,KAAK,yBAAwB,eAAAv2B,EAAAC,YAAAC,IAAAC,MAAE,SAAAC,EAAOqhE,EAAKzI,EAAK0I,GAAG,IAAAgD,EAAA,OAAAxkE,IAAAY,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAKhB,OAJvCvC,QAAQiP,IAAI8zD,GAED,IAEXiD,EAAOh2D,KAAKi2D,SAAW,GAAM,IAAM,IAAI5jE,EAAAgB,OAAA,SAEhCi3D,EACN0I,EAAIxpC,OAAOwsC,GACXhD,EAAIkD,MAAM,KACVlD,EAAIroD,KACM,MAATqrD,EACGn9D,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,IAwBlC4gE,IAAKxlE,IAAI,mBAAmB,SAACgkE,EAAKzI,EAAK0I,GACtC,IAAMruD,EAAQouD,EAAI7gE,IAAImhE,aAAatkE,IAAI,SACjCosB,EAAQ43C,EAAI7gE,IAAImhE,aAAatkE,IAAI,SAEnCiW,EAAW,CACd/a,KAAI+O,YAAA,GAAOm9D,GACXnoE,QAAS,IAkBV,OAfc,OAAV2W,IACHK,EAAS/a,KAAKqP,MAAQ0L,EAAS/a,KAAKqP,MAAM9B,QACzC,SAACiH,GAAI,OAC6D,IAAjEA,EAAKiH,KAAK8G,cAAc7G,QAAQhB,EAAM6H,cAAcupD,YAIzC,OAAV56C,IACHnW,EAAS/a,KAAKqP,MAAQ0L,EAAS/a,KAAKqP,MAAMlJ,MAAM,EAAGgP,SAAS+b,KAGzDnW,EAAS/a,KAAKqP,MAAM7O,QAAU,IACjCua,EAAShX,QAAU,0BAGbs8D,EAAI0I,EAAIxpC,OAAO,KAAMwpC,EAAIroD,KAAK9R,KAAKgB,UAAUmL,QAIrDuvD,IAAKxlE,IAAI,kDE1LN,SAACgkE,EAAKzI,EAAK0I,GACd,IA4BIoD,EA5BAnsE,EAAkB,CACrByxD,MAAO,KACPC,SAAU,KACVC,MAAO,KACPC,iBAAkB,KAClBve,KAAM,KACN2R,WAAY,KACZ3E,QAAS,KACTwR,cAAe,KACfE,aAAc,KACdD,UAAW,KACXzwD,OAAQ,KACR6wD,YAAa,KACb9rC,YAAa,cAERouB,EAAOs0B,EAAI7gE,IAAImhE,aAAatkE,IAAI,QAChCuqD,EAAUyZ,EAAI7gE,IAAImhE,aAAatkE,IAAI,WACnCmjB,EAAO6gD,EAAI7gE,IAAImhE,aAAatkE,IAAI,QAChC0qD,EAAkBsZ,EAAI7gE,IAAImhE,aAAatkE,IAAI,mBAC3CkxD,EAAQ8S,EAAI7gE,IAAImhE,aAAagD,OAAO,oBACpCv/D,EAASi8D,EAAI7gE,IAAImhE,aAAagD,OAAO,SACrC7+D,EAASu7D,EAAI7gE,IAAImhE,aAAagD,OAAO,aACrChc,EAAe0Y,EAAI7gE,IAAImhE,aAAatkE,IAAI,gBACxCsoB,EAAY07C,EAAI7gE,IAAImhE,aAAatkE,IAAI,aACrCwrD,EAAewY,EAAI7gE,IAAImhE,aAAatkE,IAAI,gBACxC0rD,EAAQsY,EAAI7gE,IAAImhE,aAAatkE,IAAI,WAEjCunE,GADWvD,EAAI7gE,IAAImhE,aAAatkE,IAAI,YACjBgkE,EAAI7gE,IAAImhE,aAAatkE,IAAI,UAE5CglD,GAAe,OAAL0G,QAAK,IAALA,OAAK,EAALA,EAAOhtC,MAAM,KAAK,UAAMtf,EAClC8zD,GAAsB,OAALxH,QAAK,IAALA,OAAK,EAALA,EAAOhtC,MAAM,KAAK,UAAMtf,EAEzCooE,EAAY,WACjB,IAAMt7C,EAAkBpiB,KAAKC,MAAMD,KAAKgB,UAAUvO,IAC5CkrE,EAAuBnC,EAC5BL,EACCn7D,KAAKC,MAAMD,KAAKgB,UAAU48D,IAC1B1iB,EACAkO,GAEDmU,GAEKM,EAA6BrC,EAClCL,EACCn7D,KAAKC,MACJD,KAAKgB,WAC0C,IAA9C/C,EAAO6O,QAAQ,mCACZgxD,EACAC,IAGL7iB,EACAkO,GAEDmU,GAEKS,EAAuBh+D,KAAKC,MAAMD,KAAKgB,UAAUi9D,IACjDC,EAA2Bl+D,KAAKC,MACrCD,KAAKgB,UAAUm9D,IAEVC,EAA0Bp+D,KAAKC,MAAMD,KAAKgB,UAAUq9D,IACpDC,EAAiBt+D,KAAKC,MAAMD,KAAKgB,UAAUo1C,IAcjD,GAbIgR,EAAMx1D,OAAS,IAClBwwB,EAAWhxB,KAAOgxB,EAAWhxB,KAAKuN,QAAO,SAACiH,GACzC,OAAwD,IAAjDwhD,EAAMt6C,QAAQlH,EAAK24D,aAAapsC,iBAIE,IAAvCl0B,EAAO6O,QAAQ,oBAClBwxD,EAAUE,YAAYC,4BAA4B1/D,KAAI,SAAC6G,GACtDA,EAAKgI,UAAW,KAMG,4BAApBgzC,GACCvnC,IAASunC,EAEVxvD,EAAKglD,WAAakoB,OACZ,GAAwB,4BAApB1d,EAA+C,CACzD,IAAM0d,EAAiBt+D,KAAKC,MAAMD,KAAKgB,UAAU09D,IACjDttE,EAAKglD,WAAakoB,OACZ,GAAwB,oCAApB1d,EAAuD,CACjE,IAAM0d,EAAiBt+D,KAAKC,MAAMD,KAAKgB,UAAU29D,IACjDvtE,EAAKglD,WAAakoB,EAGnBltE,EAAKqzC,KAAOA,EACZrzC,EAAK+xD,aAAeA,EACpB/xD,EAAK8xD,UAAYA,EAEoD,IAAjEjlD,EAAO6O,QAAQ,mDAClB1b,EAAKqgD,QAAUA,EACfrgD,EAAKqgD,QAAQ,GAAGa,gBAAkB3zC,EAAO/M,QAGrB,UAAjB4vD,EACHpwD,EAAKqB,OAAM0N,YAAA,GAAQw9D,GACQ,gBAAjBnc,EACVpwD,EAAKqB,OAAM0N,YAAA,GAAQ09D,GACQ,UAAjBrc,EAENvjD,EAAOrM,OAAS,GACnBR,EAAKqB,OAAS,KACdrB,EAAKkyD,YAAc,CAClBsb,WAAY,IACZzpE,QACC,uGAGF/D,EAAKqB,OADmB,SAAd+rB,EACCre,wBAAA,GAAQ+9D,GAAmB,IAAE1/C,cAChB,QAAdA,EACCre,wBAAA,GAAQi+D,GAAkB,IAAE5/C,cAE5Bre,wBAAA,GACP69D,GAAe,IAClBx/C,YACAa,QAA0B,SAAjBqiC,IAIXtwD,EAAKqB,OAAS2vB,GAsBhB,GAlBIq7C,IACHF,EAAah3D,SAASk3D,EAAkB,KAIrC73B,IAEHx0C,EAAK0xD,SAAWA,GAEjB1xD,EAAKyxD,MAAQA,EAGTpC,IAEHrvD,EAAK2xD,MAAQA,GAIV1pC,EAEH,GACU,wBAATA,GACS,qBAATA,GACS,uBAATA,EAEAjoB,EAAK4xD,iBAAmBA,MAClB,IAAa,qBAAT3pC,EACV,OAAOo4C,EAAI0I,EAAIxpC,OAAO,KAAMwpC,EAAIroD,KAAK,KAErC4rD,IAKF,GAAI9c,EACH,GAAwB,4BAApBA,EAA+C,CAClD,IAAM0d,EAAiBt+D,KAAKC,MAAMD,KAAKgB,UAAU09D,IACjDttE,EAAKglD,WAAakoB,EACdrgE,EAAOrM,OAAS,GACnB8rE,SAEK,GAAwB,oCAApB9c,EAAuD,CACjE,IAAM0d,EAAiBt+D,KAAKC,MAAMD,KAAKgB,UAAU29D,IACjDvtE,EAAKglD,WAAakoB,EACdrgE,EAAOrM,OAAS,GACnB8rE,SAGDA,IAKExD,EAAI7gE,IAAIY,KAAKrI,OAAS,MACzBR,EAAKqB,OAAS,KACdrB,EAAKkyD,YAAc,CAClBsb,WAAY,IACZzpE,QAAS,oEAIX,IAAMkoE,EACI,WAATz3B,GACiB,UAAjB4b,GACiB,gBAAjBA,GACAvjD,EAAOrM,OAAS,EACb,IACA,IAEJ,MAAgB,iCAAZ6uD,EACIgR,EACN0I,EAAIkD,MAAMA,GACVlD,EAAIxpC,OAAO,KACXwpC,EAAIzI,KAAK,CAAEl9D,MAAO,0BAIbi9D,EAAI0I,EAAIkD,MAAMA,GAAQlD,EAAIxpC,OAAO,KAAMwpC,EAAIzI,KAAKtgE,OFNvDsqE,IAAKxlE,IAAI,kCAAiC,eAAA8E,EAAAtC,YAAAC,IAAAC,MAAE,SAAAqC,EAAOi/D,EAAKzI,EAAK0I,GAAG,IAAA73C,EAAAq7C,EAAA,OAAAhlE,IAAAY,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAQ9D,OAPK4oB,EAAQ43C,EAAI7gE,IAAImhE,aAAatkE,IAAI,SACnCynE,EAAkB,GAClBr7C,IACHq7C,EAAkBnC,EACjBx7D,KAAKC,MAAMD,KAAKgB,UAAU48D,IAC1Br3D,SAAS+b,KAEVlnB,EAAAZ,OAAA,SAEMi3D,EAAI0I,EAAIxpC,OAAO,KAAMwpC,EAAIroD,KAAK9R,KAAKgB,UAAU28D,MAAkB,wBAAAviE,EAAAX,UAAAQ,OACtE,gBAAAJ,EAAAQ,EAAAC,GAAA,OAAAN,EAAAzI,MAAA,KAAAuI,YAXyC,IAc1C4gE,IAAKxlE,IAAI,yCAA0C+jE,GAGnDyB,IAAK1sC,KAAK,qCAAsC6rC,GAGhDa,IAAK1sC,KAAK,uCAAsC,eAAA66B,EAAAnxD,YAAAC,IAAAC,MAAE,SAAAimE,EAAO3E,EAAKzI,EAAK0I,GAAG,IAAAroD,EAAA,OAAAnZ,IAAAY,MAAA,SAAA41B,GAAA,cAAAA,EAAA11B,KAAA01B,EAAAz1B,MAAA,OAClD,OAAfoY,EAAOooD,EAAIpoD,KAAIqd,EAAAz1B,KAAA,EACb,IAAIhG,SAAc,SAACC,EAASC,GACjC2B,YAAW,WACV5B,MACE,QACD,KAAD,KAEmB,OAAjBme,EAAKxX,QAAgB,CAAA60B,EAAAz1B,KAAA,eAAAy1B,EAAA30B,OAAA,SACjBi3D,EACN0I,EAAIxpC,OAAO,KACXwpC,EAAIroD,KACH9R,KAAKgB,UAAU,CACd0vB,UAAW,mDAGb,cAAAvB,EAAA30B,OAAA,SAEMi3D,EAAI0I,EAAIxpC,OAAO,KAAMwpC,EAAIroD,KAAK,MAAI,wBAAAqd,EAAA10B,UAAAokE,OAE1C,gBAAApc,EAAAqc,EAAAC,GAAA,OAAAlV,EAAAt3D,MAAA,KAAAuI,YApB+C,IAqBhD4gE,IAAKxlE,IAAI,mBAAkB,eAAA8oE,EAAAtmE,YAAAC,IAAAC,MAAE,SAAAqmE,EAAO/E,EAAKzI,EAAK0I,GAAG,OAAAxhE,IAAAY,MAAA,SAAA2lE,GAAA,cAAAA,EAAAzlE,KAAAylE,EAAAxlE,MAAA,OACmB,GAAlDwgE,EAAI7gE,IAAImhE,aAAatkE,IAAI,wBAC5B,CAADgpE,EAAAxlE,KAAA,eAAAwlE,EAAA1kE,OAAA,SACLi3D,EAAI0I,EAAIxpC,OAAO,KAAMwpC,EAAIroD,KAAK,MAAI,wBAAAotD,EAAAzkE,UAAAwkE,OAE1C,gBAAAE,EAAAC,EAAAC,GAAA,OAAAL,EAAAzsE,MAAA,KAAAuI,YAL0B,IAM3B4gE,IAAKxlE,IAAI,wBAAuB,eAAAopE,EAAA5mE,YAAAC,IAAAC,MAAE,SAAA2mE,EAAOrF,EAAKzI,EAAK0I,GAAG,OAAAxhE,IAAAY,MAAA,SAAAimE,GAAA,cAAAA,EAAA/lE,KAAA+lE,EAAA9lE,MAAA,OACc,GAAlDwgE,EAAI7gE,IAAImhE,aAAatkE,IAAI,wBAC5B,CAADspE,EAAA9lE,KAAA,eAAA8lE,EAAAhlE,OAAA,SACLi3D,EAAI0I,EAAIxpC,OAAO,KAAMwpC,EAAIroD,KAAK,MAAI,wBAAA0tD,EAAA/kE,UAAA8kE,OAE1C,gBAAAE,EAAAC,EAAAC,GAAA,OAAAL,EAAA/sE,MAAA,KAAAuI,YAL+B,KGtRpBg+D,EAAS8G,IAAWrtE,WAAC,EAAD2mD,YAAIuiB,K,mKCKxB9jE,EAA2B,CACvC0hE,YAAa,OACbwG,YAAY,EACZ7J,e,MAAgBM,EAAgBC,WAChCz9D,OAAO,GAADa,OAAY,QAAZmmE,EAAKlH,SAAO,IAAAkH,GAAK,QAALC,EAAPD,0HAAY,IAAAC,OAAL,EAAPA,EAAcC,WAAU,SACnCzrD,WAAY,gBAGPhd,EAAQG,YAAY,CACzBtC,KAAM,QACNuC,eACAK,SAAU,CACT4+D,qBAAsB,SAAC1+D,EAAOC,GAC7BD,EAAM89D,eAAiB79D,EAAOC,YAKpBoc,EAAc,SAACtc,GAAgB,OAAKA,EAAMgK,OACxC00D,EAAyBr/D,EAAMgB,QAA/Bq+D,qBAEAr/D,MAAa,U,mDC6PrB,IAAK++D,EAAZ,kCAIC,SAJWA,OAAe,2BAAfA,IAAe,qBAAfA,IAAe,2BAI1B,CAJWA,MAAe,M,mBC1R3BljE,EAAOD,QAAU,IAA0B","file":"client/client-main.091c3633.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};\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) => {\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\tconst { data } = await axios.get(url, {\r\n\t\theaders: { 'Content-Language': window.__culture },\r\n\t});\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),\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\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\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\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}\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":""}