{"version":3,"sources":["webpack:///./.nuxt/nuxt-i18n/options.js","webpack:///./.nuxt/router.scrollBehavior.js","webpack:///./.nuxt/router.js","webpack:///./.nuxt/components/nuxt-child.js","webpack:///./.nuxt/components/nuxt-error.vue?eddf","webpack:///.nuxt/components/nuxt-error.vue","webpack:///./.nuxt/components/nuxt-error.vue","webpack:///./.nuxt/components/nuxt-error.vue?a03b","webpack:///./.nuxt/components/nuxt.js","webpack:///./.nuxt/components/nuxt-loading.vue?2c81","webpack:///.nuxt/components/nuxt-loading.vue","webpack:///./.nuxt/components/nuxt-loading.vue","webpack:///./components/shared/headers/TheHeader.vue?f2ab","webpack:///components/shared/headers/TheHeader.vue","webpack:///./components/shared/headers/TheHeader.vue","webpack:///./components/shared/headers/TheHeader.vue?4132","webpack:///./components/shared/footers/TheFooter.vue?288c","webpack:///components/shared/footers/TheFooter.vue","webpack:///./layouts/default.vue?25a9","webpack:///layouts/default.vue","webpack:///./components/shared/footers/TheFooter.vue","webpack:///./components/shared/footers/TheFooter.vue?0f45","webpack:///./layouts/default.vue","webpack:///./layouts/default.vue?a767","webpack:///./components/shared/headers/SimpleHeader.vue","webpack:///./components/shared/headers/SimpleHeader.vue?0bb7","webpack:///./layouts/simple.vue?1e11","webpack:///layouts/simple.vue","webpack:///./components/shared/footers/SimpleFooter.vue","webpack:///./components/shared/footers/SimpleFooter.vue?0d4e","webpack:///./layouts/simple.vue","webpack:///./layouts/simple.vue?1a43","webpack:///./.nuxt/App.js","webpack:///./.nuxt/store.js","webpack:///./.nuxt/nuxt-user-agent.js","webpack:///./.nuxt/moment.js","webpack:///./.nuxt/nuxt-i18n/middleware.js","webpack:///./.nuxt/nuxt-i18n/plugin.routing.js","webpack:///./.nuxt/nuxt-i18n/seo-head.js","webpack:///./.nuxt/nuxt-i18n/utils-common.js","webpack:///./.nuxt/nuxt-i18n/plugin.main.js","webpack:///./.nuxt/axios.js","webpack:///./.nuxt/recaptcha.js","webpack:///./.nuxt/google-analytics.js","webpack:///./plugins/nuxt-client-init.js","webpack:///./components/base/icon/BaseIcon.vue?1a8e","webpack:///components/base/icon/BaseIcon.vue","webpack:///./components/base/icon/BaseIcon.vue","webpack:///./components/base/icon/BaseIcon.vue?a2f4","webpack:///./components/base/image/BaseImage.vue?eb70","webpack:///components/base/image/BaseImage.vue","webpack:///./components/base/image/BaseImage.vue","webpack:///./components/base/image/BaseImage.vue?3913","webpack:///./plugins/global.js","webpack:///./.nuxt/index.js","webpack:///./plugins/axios.js","webpack:///./.nuxt/utils.js","webpack:///./.nuxt/middleware.js","webpack:///./.nuxt/components/nuxt-error.vue?5a4b","webpack:///./.nuxt/components/nuxt-loading.vue?3599","webpack:///./components/shared/headers/TheHeader.vue?298a","webpack:///./components/shared/footers/TheFooter.vue?d1d7","webpack:///./components/shared/headers/SimpleHeader.vue?b65e","webpack:///./components/shared/footers/SimpleFooter.vue?b26c","webpack:///./.nuxt/components/nuxt-link.client.js","webpack:///./.nuxt/mixins/fetch.client.js","webpack:///./assets/images/background_bottom.png","webpack:///./assets/images/background_top.png","webpack:///./.nuxt/client.js","webpack:///./.nuxt/components/nuxt-error.vue?6f6e","webpack:///./.nuxt/components/nuxt-error.vue?cb5d","webpack:///./.nuxt/components/nuxt-loading.vue?3172","webpack:///./.nuxt/components/nuxt-loading.vue?e5ab","webpack:///./assets/scss/main.scss?384d","webpack:///./assets/scss/main.scss","webpack:///./assets/fonts/Roboto/Roboto-Thin.woff","webpack:///./assets/fonts/Roboto/Roboto-Thin.woff2","webpack:///./assets/fonts/Roboto/Roboto-Thin.ttf","webpack:///./assets/fonts/Roboto/Roboto-Thin-webfont.eot","webpack:///./assets/fonts/Roboto/Roboto-Light.woff","webpack:///./assets/fonts/Roboto/Roboto-Light.woff2","webpack:///./assets/fonts/Roboto/Roboto-Light.ttf","webpack:///./assets/fonts/Roboto/Roboto-Light-webfont.eot","webpack:///./assets/fonts/Roboto/Roboto-Regular.woff","webpack:///./assets/fonts/Roboto/Roboto-Regular.woff2","webpack:///./assets/fonts/Roboto/Roboto-Regular.ttf","webpack:///./assets/fonts/Roboto/Roboto-Regular-webfont.eot","webpack:///./assets/fonts/Roboto/Roboto-Medium.woff","webpack:///./assets/fonts/Roboto/Roboto-Medium.woff2","webpack:///./assets/fonts/Roboto/Roboto-Medium.ttf","webpack:///./assets/fonts/Roboto/Roboto-Medium-webfont.eot","webpack:///./assets/fonts/Roboto/Roboto-Bold.woff","webpack:///./assets/fonts/Roboto/Roboto-Bold.woff2","webpack:///./assets/fonts/Roboto/Roboto-Bold.ttf","webpack:///./assets/fonts/Roboto/Roboto-Bold-webfont.eot","webpack:///./assets/fonts/Comfortaa/Comfortaa-regular.woff","webpack:///./assets/fonts/Comfortaa/Comfortaa-regular.woff2","webpack:///./assets/fonts/Comfortaa/Comfortaa-regular.ttf","webpack:///./assets/fonts/Comfortaa/Comfortaa-regular.eot","webpack:///./components/shared/headers/TheHeader.vue?e16d","webpack:///./components/shared/headers/TheHeader.vue?37b4","webpack:///./components/shared/footers/TheFooter.vue?3254","webpack:///./components/shared/footers/TheFooter.vue?a48b","webpack:///./components/shared/headers/SimpleHeader.vue?8714","webpack:///./components/shared/headers/SimpleHeader.vue?022d","webpack:///./components/shared/footers/SimpleFooter.vue?4f90","webpack:///./components/shared/footers/SimpleFooter.vue?ae75","webpack:///./store/index.js","webpack:///./node_modules/moment/locale sync [/\\\\](da(\\.js)","webpack:///./.nuxt/nuxt-i18n/utils.js","webpack:///./assets/language lazy ^\\.\\/.*$ namespace object","webpack:///./assets/icons ","webpack:///./assets/icons/AAF.svg","webpack:///./assets/icons/AAK.svg","webpack:///./assets/icons/AAU.svg","webpack:///./assets/icons/Instagram.svg","webpack:///./assets/icons/Niras.svg","webpack:///./assets/icons/close.svg","webpack:///./assets/icons/hamburgermenu.svg","webpack:///./assets/icons/home.svg","webpack:///./assets/icons/logo.svg","webpack:///./assets/icons/logo_brave.svg","webpack:///./assets/icons/logo_chrome.svg","webpack:///./assets/icons/logo_edge.svg","webpack:///./assets/icons/logo_firefox.svg","webpack:///./assets/icons/logo_opera.svg","webpack:///./assets/icons/marker.svg","webpack:///./assets/icons/pdf.svg","webpack:///./assets/icons/reporting.svg","webpack:///./assets/icons/signup.svg","webpack:///./assets/images sync ^\\.\\/.*$","webpack:///./assets/images/byen.svg","webpack:///./assets/images/logo_brave.png","webpack:///./assets/images/logo_chrome.png","webpack:///./assets/images/logo_edge.png","webpack:///./assets/images/logo_firefox.png","webpack:///./assets/images/logo_opera.png","webpack:///./assets/images/maaler.svg","webpack:///./assets/images ","webpack:///./assets/images/byen.svg?945f","webpack:///./assets/images/maaler.svg?fb04"],"names":["vueI18n","locales","defaultLocale","routesNameSeparator","defaultLocaleRouteNameSuffix","strategy","lazy","rootRedirect","detectBrowserLanguage","differentDomains","baseUrl","vuex","beforeLanguageSwitch","onLanguageSwitched","IS_UNIVERSAL_MODE","MODULE_NAME","LOCALE_CODE_KEY","LOCALE_ISO_KEY","LOCALE_DOMAIN_KEY","LOCALE_FILE_KEY","STRATEGIES","COMPONENT_OPTIONS_KEY","localeCodes","window","history","scrollRestoration","addEventListener","emptyFn","originalPush","Router","prototype","push","location","onComplete","onAbort","call","this","Vue","use","routerOptions","mode","base","decodeURI","linkActiveClass","linkExactActiveClass","scrollBehavior","to","from","savedPosition","position","Pages","getMatchedComponents","length","every","Page","options","scrollToTop","some","x","y","nuxt","$nuxt","path","hash","$nextTick","$emit","Promise","resolve","$once","CSS","escape","substr","document","querySelector","selector","e","console","warn","routes","component","interopDefault","name","fallback","createRouter","functional","props","nuxtChildKey","type","String","default","keepAlive","Boolean","keepAliveProps","Object","undefined","render","_","parent","data","h","$createElement","nuxtChild","_parent","transitions","defaultTransition","depth","$vnode","$parent","nuxtChildDepth","transition","transitionProps","transitionsKeys","forEach","key","listeners","listenersKeys","bind","beforeEnter","el","css","leave","done","routerView","on","error","computed","statusCode","message","head","title","meta","_vm","_h","_c","_self","staticClass","attrs","_v","_s","_e","_m","components","NuxtChild","NuxtError","errorCaptured","displayingNuxtError","errorFromNuxtError","$forceUpdate","routerViewKey","$route","matched","compile","params","matchedRoute","Component","test","replace","beforeCreate","util","defineReactive","$root","$options","err","toString","$props","percent","show","canSucceed","reversed","skipTimerCount","rtl","throttle","duration","continuous","left","beforeDestroy","clear","methods","clearInterval","_timer","clearTimeout","_throttle","start","setTimeout","startTimer","set","Math","min","max","floor","num","get","increase","decrease","pause","resume","finish","hide","fail","_cut","setInterval","class","style","width","isMobile","innerWidth","showMenu","created","toggleMobileMenu","$t","$event","cookie_accept","cookie_message","cookie_linkText","TheHeader","TheFooter","slot","staticStyle","mounted","root","setProperty","detectTouch","matchMedia","matches","isTouch","layouts","sanitizeComponent","_6f6c098b","_ee7125b0","loadingEl","ref","layoutEl","layout","templateEl","domProps","id","layoutName","transitionEl","isOnline","nbFetching","refreshOnlineStatus","context","$loading","$refs","loading","watch","isOffline","isFetching","navigator","onLine","refresh","pages","getMatchedComponentsInstances","promises","map","page","p","fetch","promisify","$fetch","getChildrenComponentInstancesUsingFetch","componentInstance","asyncData","then","newData","$data","all","globalHandleError","errorChanged","setLayout","loadLayout","NuxtLoading","Vuex","store","moduleData","filePath","commit","Error","assign","state","normalizeModule","normalizeRoot","require","modules","createStore","Function","Store","strict","process","ANDROID_MOBILE","UA","ua","_ua","_parsed","woothee","category","os","os_version","version","vendor","isFromIphone","isFromIpad","isFromIpod","isFromAndroidMobile","isFromAndroidTablet","deviceType","isFromTablet","ctx","inject","userAgent","req","headers","$ua","moment","locale","$moment","middleware","nuxti18n","app","isHMR","i18n","__onNavigate","localePath","route","localizedRoute","localeRoute","fullPath","NO_PREFIX","PREFIX_EXCEPT_DEFAULT","PREFIX_AND_DEFAULT","includes","getRouteBaseName","routeName","getLocaleRouteName","pathMatch","router","switchLocalePath","routeCopy","langSwitchParams","syncRouteParams","getters","moduleName","baseRoute","0","lang","find","l","protocol","split","givenRoute","VueInstanceProxy","targetFunction","proxy","$i18n","$router","$store","apply","arguments","NuxtContextProxy","plugin","install","mixin","nuxtI18nSeo","VueMeta","hasMetaInfo","_hasMetaInfo","seo","metaObject","htmlAttrs","link","currentLocale","codeFromLocale","currentLocaleIso","isoFromLocale","addHreflangLinks","__baseUrl","addCanonicalLinks","addCurrentOgLocale","addAlternateOgLocales","localeMap","Map","localeIso","language","region","isCatchallLocale","has","entries","iso","mapLocale","hid","rel","href","code","hreflang","currentLocaleCode","canonicalPath","canonicalPathIsDifferentFromCurrent","property","content","underscoreIsoFromLocale","alternateLocales","filter","matchBrowserLocale","appLocales","browserLocales","matchedLocales","index","browserCode","matchedCode","appCode","toLowerCase","score","languageCode","sort","localeA","localeB","resolveBaseUrl","getLocaleDomain","localDomainKey","localeCodeKey","hostname","localeDomain","getLocaleCookie","localeCode","useCookie","cookieKey","JsCookie","setLocaleCookie","res","cookieDomain","date","Date","cookieOptions","expires","setDate","getDate","sameSite","domain","registerStore","registerModule","namespaced","syncLocale","syncMessages","messages","routeParams","actions","setLocale","setMessages","setRouteParams","mutations","localeRouteParams","preserveState","syncVuex","dispatch","VueI18n","localesPattern","defaultSuffixPattern","regexpName","regexpPath","getLocaleFromRoute","join","RegExp","match","redirect","loadAndSetLocale","newLocale","initialSetup","oldLocale","loadLanguageAsync","fallbackLocale","getLocaleMessage","redirectPath","getRedirectPathForLocale","__redirect","doDetectBrowserLanguage","matchedLocale","alwaysRedirect","languages","tag","finalLocale","onNavigate","query","storedRedirect","extendVueI18nInstance","vueI18nOptions","componentInstanceCreatedListener","$nuxtI18nSeo","localeDomains","domainLocale","routeLocale","detectedBrowserLocale","axiosExtra","setBaseURL","baseURL","defaults","setHeader","value","scopes","Array","isArray","scope","setToken","token","onRequest","fn","interceptors","request","config","onResponse","response","onRequestError","reject","onResponseError","onError","create","createAxiosInstance","defu","method","axiosOptions","axios","Axios","CancelToken","isCancel","extendAxiosInstance","setupProgress","noopLoading","currentRequests","progress","onProgress","loaded","total","onUploadProgress","onDownloadProgress","$axios","ReCaptcha","hideBadge","siteKey","size","_elements","_grecaptcha","_eventBus","_ready","scripts","querySelectorAll","script","src","removeChild","contains","badge","remove","action","init","execute","widgetId","recaptchaSuccessCallback","emit","recaptchaErrorCallback","getResponse","EventEmitter","createElement","setAttribute","scriptUrl","recaptchaExpiredCallback","innerHTML","appendChild","grecaptcha","enterprise","ready","event","callback","reset","reference","sitekey","theme","$el","$config","recaptcha","runtimeConfig","googleAnalytics","asyncID","VueAnalytics","$ga","browser","NMapUtils","registerProjection","post","projectId","items","catch","alt","Notifications","BaseIcon","BaseImage","CookieLaw","$getSensorStyle","sensorType","NMapStyleCircle","fillColor","automatic","public","private","scala","radius","strokeColor","$getSensorActiveStyle","$getPopupContent","alias","ClientOnly","NoSsr","_warned","Nuxt","Meta","createApp","ssrContext","setTransitions","dateErr","_errored","normalizeError","now","App","next","url","getLocation","setContext","payload","beforeRenderFns","installKey","hasOwnProperty","defineProperty","__NUXT__","replaceState","nuxt_plugin_nuxtuseragent_902be664","nuxt_plugin_moment_ffe2b41a","nuxt_plugin_pluginrouting_095febd4","nuxt_plugin_pluginmain_6ab0b01b","nuxt_plugin_axios_dfe91776","nuxt_plugin_recaptcha_676b4f98","nuxt_plugin_googleanalytics_70acf6c1","nuxt_plugin_nuxtclientinit_373a747b","nuxt_plugin_axios_397e53b5","axiosinstance","errorHandler","promise","m","hasFetch","vm","instances","children","$children","child","applyAsyncData","__hasNuxtData","ComponentData","_originDataFn","$ssrContext","cid","_Ctor","extendOptions","extend","__file","prop","concat","keys","flatMapComponents","reduce","resolveRouteComponents","instance","getRouteData","isStatic","isDev","env","status","_redirected","pathType","formatUrl","nuxtState","currentRouteData","fromRouteData","middlewareSeries","appContext","slice","pathname","indexOf","search","str","tokens","i","pattern","flags","obj","opts","encode","pretty","encodeURIComponentPretty","encodeURIComponent","segment","optional","partial","prefix","TypeError","repeat","JSON","stringify","j","delimiter","asterisk","tokensToFunction","defaultDelimiter","PATH_REGEXP","exec","escaped","offset","capture","group","modifier","escapeGroup","escapeString","parse","getQueryDiff","toQuery","fromQuery","diff","queries","k","constructor","onNuxtReadyCbs","onNuxtReady","cb","slashAllowed","re","encodeURI","c","charCodeAt","toUpperCase","sensitive","substring","startsWith","parts","result","shift","val","val2","formatQuery","addLifecycleHook","hook","module","locals","exports","add","requestIdleCallback","didTimeout","timeRemaining","cancelIdleCallback","observer","IntersectionObserver","intersectionRatio","target","__prefetch","extends","prefetch","noPrefetch","handleId","observe","timeout","__observed","unobserve","shouldPrefetch","prefetchLink","getPrefetchComponents","canPrefetch","conn","connection","effectiveType","saveData","append","resolved","r","__prefetched","componentOrPromise","beforeMount","_hydrated","elm","dataset","fetchKey","_fetchKey","_error","$fetchState","_fetchPromise","$_fetch","pending","startTime","delayLeft","_fetchDelay","timestamp","fetchDelay","__nuxt__fetch__mixin__","fetchMixin","NuxtLink","global","_lastPaths","NUXT","mapTransitions","toComponents","componentTransitions","option","args","componentOption","fromComponents","maxDepth","mergedTransitions","toTransitions","loadAsyncComponents","_routeChanged","_paramChanged","_queryChanged","_diffQuery","manual","Components","watchQuery","reload","applySSRData","ssrData","serverRendered","resolveComponents","_Component","callMiddleware","midd","unknownMiddleware","fromMatches","nextCalled","_next","_dateLastError","_hadError","errorLayout","isValid","validate","_path","_dataRefresh","childPathChanged","watchParam","_isMounted","hasAsyncData","loadingIncrease","asyncDataResult","fetchResult","normalizeComponents","___","showNextPage","fixPrepatch","nextTick","_isDestroyed","nuxtReady","_app","_onNuxtLoaded","afterEach","__app","mount","$mount","currentRoute","beforeEach","routePath","clientFirstMount","unregisterHook","___CSS_LOADER_API_IMPORT___","___CSS_LOADER_GET_URL_IMPORT___","___CSS_LOADER_URL_IMPORT_0___","___CSS_LOADER_URL_IMPORT_1___","___CSS_LOADER_URL_IMPORT_2___","___CSS_LOADER_URL_IMPORT_3___","___CSS_LOADER_URL_IMPORT_4___","___CSS_LOADER_URL_IMPORT_5___","___CSS_LOADER_URL_IMPORT_6___","___CSS_LOADER_URL_IMPORT_7___","___CSS_LOADER_URL_IMPORT_8___","___CSS_LOADER_URL_IMPORT_9___","___CSS_LOADER_URL_IMPORT_10___","___CSS_LOADER_URL_IMPORT_11___","___CSS_LOADER_URL_IMPORT_12___","___CSS_LOADER_URL_IMPORT_13___","___CSS_LOADER_URL_IMPORT_14___","___CSS_LOADER_URL_IMPORT_15___","___CSS_LOADER_URL_IMPORT_16___","___CSS_LOADER_URL_IMPORT_17___","___CSS_LOADER_URL_IMPORT_18___","___CSS_LOADER_URL_IMPORT_19___","___CSS_LOADER_URL_IMPORT_20___","___CSS_LOADER_URL_IMPORT_21___","___CSS_LOADER_URL_IMPORT_22___","___CSS_LOADER_URL_IMPORT_23___","___CSS_LOADER_URL_REPLACEMENT_0___","___CSS_LOADER_URL_REPLACEMENT_1___","___CSS_LOADER_URL_REPLACEMENT_2___","___CSS_LOADER_URL_REPLACEMENT_3___","___CSS_LOADER_URL_REPLACEMENT_4___","___CSS_LOADER_URL_REPLACEMENT_5___","___CSS_LOADER_URL_REPLACEMENT_6___","___CSS_LOADER_URL_REPLACEMENT_7___","___CSS_LOADER_URL_REPLACEMENT_8___","___CSS_LOADER_URL_REPLACEMENT_9___","___CSS_LOADER_URL_REPLACEMENT_10___","___CSS_LOADER_URL_REPLACEMENT_11___","___CSS_LOADER_URL_REPLACEMENT_12___","___CSS_LOADER_URL_REPLACEMENT_13___","___CSS_LOADER_URL_REPLACEMENT_14___","___CSS_LOADER_URL_REPLACEMENT_15___","___CSS_LOADER_URL_REPLACEMENT_16___","___CSS_LOADER_URL_REPLACEMENT_17___","___CSS_LOADER_URL_REPLACEMENT_18___","___CSS_LOADER_URL_REPLACEMENT_19___","___CSS_LOADER_URL_REPLACEMENT_20___","___CSS_LOADER_URL_REPLACEMENT_21___","___CSS_LOADER_URL_REPLACEMENT_22___","___CSS_LOADER_URL_REPLACEMENT_23___","mapBbox","minX","minY","maxX","maxY","manualSensors","inputTypeList","selectedLanguage","resetZoomButtonContent","getProjectId","getMapBbox","getManualSensors","getInputTypeList","getSelectedLanguage","getResetZoomButtonContent","setManualSensors","setInputTypeList","webpackContext","webpackContextResolve","__webpack_require__","o","loadedLanguages","langOptions","file","setLocaleMessage","webpackAsyncContext","ids","t"],"mappings":"yFAAA,8wBAAO,IAAMA,EAAU,GAEVC,EAAU,CAAC,CAAC,KAAO,KAAK,IAAM,QAAQ,KAAO,SAAS,KAAO,YAAY,CAAC,KAAO,KAAK,IAAM,QAAQ,KAAO,UAAU,KAAO,aAC5HC,EAAgB,KAChBC,EAAsB,MACtBC,EAA+B,UAC/BC,EAAW,YACXC,GAAO,EAEPC,EAAe,KACfC,GAAwB,EACxBC,GAAmB,EAEnBC,EAAU,GACVC,EAAO,CAAC,WAAa,OAAO,YAAa,EAAM,cAAe,EAAM,iBAAkB,GAGtFC,EAAuB,kBAAM,MAC7BC,EAAqB,kBAAM,MAC3BC,GAAoB,EACpBC,EAAc,YACdC,EAAkB,OAClBC,EAAiB,MACjBC,EAAoB,SACpBC,EAAkB,OAClBC,EAAa,CAAC,OAAS,SAAS,sBAAwB,wBAAwB,mBAAqB,qBAAqB,UAAY,aACtIC,EAAwB,WACxBC,EAAc,CAAC,KAAK,O,+OCxB3B,sBAAuBC,OAAOC,UAChCD,OAAOC,QAAQC,kBAAoB,SAKnCF,OAAOG,iBAAiB,gBAAgB,WACtCH,OAAOC,QAAQC,kBAAoB,UAIrCF,OAAOG,iBAAiB,QAAQ,WAC9BH,OAAOC,QAAQC,kBAAoB,aAK1B,ICJTE,EAAU,aACVC,EAAeC,IAAOC,UAAUC,KACtCF,IAAOC,UAAUC,KAAO,SAAeC,GAAyC,IAA/BC,EAA+B,uDAAlBN,EAASO,EAAS,uCAC9E,OAAON,EAAaO,KAAKC,KAAMJ,EAAUC,EAAYC,IAGvDG,UAAIC,IAAIT,KAED,IAAMU,EAAgB,CAC3BC,KAAM,UACNC,KAAMC,UAAU,KAChBC,gBAAiB,mBACjBC,qBAAsB,yBACtBC,eDTa,SAAUC,EAAIC,EAAMC,GAGjC,IAAIC,GAAW,EAGTC,EAAQC,YAAqBL,IAEjCI,EAAME,OAAS,GACfF,EAAMG,OAAM,SAAAC,GAAI,OAAiC,IAA7BA,EAAKC,QAAQC,gBAIxBN,EAAMO,MAAK,SAAAH,GAAI,OAAIA,EAAKC,QAAQC,kBADzCP,EAAW,CAAES,EAAG,EAAGC,EAAG,IAOpBX,IACFC,EAAWD,GAGb,IAAMY,EAAOrC,OAAOsC,MAOpB,OAJIf,EAAGgB,OAASf,EAAKe,MAAQhB,EAAGiB,OAAShB,EAAKgB,MAC5CH,EAAKI,WAAU,kBAAMJ,EAAKK,MAAM,oBAG3B,IAAIC,SAAQ,SAACC,GAElBP,EAAKQ,MAAM,iBAAiB,WAG1B,GAAItB,EAAGiB,KAAM,CACX,IAAIA,EAAOjB,EAAGiB,UAEY,IAAfxC,OAAO8C,UAAoD,IAAtB9C,OAAO8C,IAAIC,SACzDP,EAAO,IAAMxC,OAAO8C,IAAIC,OAAOP,EAAKQ,OAAO,KAE7C,IACMC,SAASC,cAAcV,KAEzBd,EAAW,CAAEyB,SAAUX,IAEzB,MAAOY,GACPC,QAAQC,KAAK,oHAGjBV,EAAQlB,UCvCZ6B,OAAQ,CAAC,CACPhB,KAAM,SACNiB,UA5Bc,kBAAMC,YAAe,gCA6BnCC,KAAM,SACL,CACDnB,KAAM,UACNiB,UA/Bc,kBAAMC,YAAe,gCAgCnCC,KAAM,UACL,CACDnB,KAAM,oBACNiB,UAlCc,kBAAMC,YAAe,iCAmCnCC,KAAM,oBACL,CACDnB,KAAM,QACNiB,UArCc,kBAAMC,YAAe,iCAsCnCC,KAAM,QACL,CACDnB,KAAM,YACNiB,UAxCc,kBAAMC,YAAe,+DAyCnCC,KAAM,YACL,CACDnB,KAAM,aACNiB,UA3Cc,kBAAMC,YAAe,6DA4CnCC,KAAM,aACL,CACDnB,KAAM,sBACNiB,UA9Cc,kBAAMC,YAAe,iCA+CnCC,KAAM,sBACL,CACDnB,KAAM,uBACNiB,UAjDc,kBAAMC,YAAe,qEAkDnCC,KAAM,sBACL,CACDnB,KAAM,IACNiB,UApDc,kBAAMC,YAAe,iCAqDnCC,KAAM,UAGRC,UAAU,GAGL,SAASC,IACd,OAAO,IAAItD,IAAOU,GCxEL,OACb0C,KAAM,YACNG,YAAY,EACZC,MAAO,CACLC,aAAc,CACZC,KAAMC,OACNC,QAAS,IAEXC,UAAWC,QACXC,eAAgB,CACdL,KAAMM,OACNJ,aAASK,IAGbC,OAda,SAcLC,EAdK,GAcuB,IAAvBC,EAAuB,EAAvBA,OAAQC,KAAe,EAAfA,KAAMb,EAAS,EAATA,MACnBc,EAAIF,EAAOG,eAEjBF,KAAKG,WAAY,EAMjB,IALA,IAAMC,EAAUL,EACVM,EAAcN,EAAOpC,MAAMD,KAAK2C,YAChCC,EAAoBP,EAAOpC,MAAMD,KAAK4C,kBAExCC,EAAQ,EACLR,GACDA,EAAOS,QAAUT,EAAOS,OAAOR,KAAKG,WACtCI,IAEFR,EAASA,EAAOU,QAElBT,KAAKU,eAAiBH,EACtB,IAAMI,EAAaN,EAAYE,IAAUD,EACnCM,EAAkB,GACxBC,EAAgBC,SAAQ,SAACC,QACQ,IAApBJ,EAAWI,KACpBH,EAAgBG,GAAOJ,EAAWI,OAItC,IAAMC,EAAY,GAClBC,EAAcH,SAAQ,SAACC,GACU,mBAApBJ,EAAWI,KACpBC,EAAUD,GAAOJ,EAAWI,GAAKG,KAAKd,OAKxC,IAAMe,EAAcH,EAAUG,YAahC,GAZEH,EAAUG,YAAc,SAACC,GAKvB,GAHA/F,OAAOsC,MAAMG,WAAU,WACrBzC,OAAOsC,MAAMI,MAAM,oBAEjBoD,EACF,OAAOA,EAAYlF,KAAKmE,EAASgB,KAMhB,IAAnBT,EAAWU,IAAe,CAC5B,IAAMC,EAAQN,EAAUM,QAInBA,GAASA,EAAMpE,OAAS,KAC3B8D,EAAUM,MAAQ,SAACF,EAAIG,GACjBD,GACFA,EAAMrF,KAAKmE,EAASgB,GAGtBhB,EAAQtC,UAAUyD,KAKxB,IAAIC,EAAavB,EAAE,aAAcD,MAMjC,OAJIb,EAAMK,YACRgC,EAAavB,EAAE,aAAc,CAAEd,MAAOA,EAAMO,gBAAkB,CAAC8B,KAG1DvB,EAAE,aAAc,CACrBd,MAAOyB,EACPa,GAAIT,GACH,CAACQ,MAIFX,EAAkB,CACtB,OACA,OACA,SACA,MACA,OACA,WACA,aACA,aACA,cACA,mBACA,mBACA,mBACA,oBACA,eACA,eACA,iBAGII,EAAgB,CACpB,cACA,QACA,aACA,iBACA,cACA,QACA,aACA,iBACA,eACA,SACA,cACA,mBCxHkM,ECoBpM,CACElC,KAAM,YACNI,MAAO,CACLuC,MAAO,CACLrC,KAAMM,OACNJ,QAAS,OAGboC,SAAU,CACRC,WADJ,WAEM,OAAO,KAAb,mCAEIC,QAJJ,WAKM,OAAO3F,KAAKwF,MAAMG,SAAW,UAGjCC,KAhBF,WAiBI,MAAO,CACLC,MAAO7F,KAAK2F,QACZG,KAAM,CACZ,CACQ,KAAR,WACQ,QAAR,iG,iBCvBe,EAXC,YACd,GCTW,WAAa,IAAIC,EAAI/F,KAASgG,EAAGD,EAAI/B,eAAmBiC,EAAGF,EAAIG,MAAMD,IAAID,EAAG,OAAOC,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACF,EAAG,MAAM,CAACE,YAAY,SAAS,CAACF,EAAG,MAAM,CAACG,MAAM,CAAC,MAAQ,6BAA6B,MAAQ,KAAK,OAAS,KAAK,KAAO,UAAU,QAAU,cAAc,CAACH,EAAG,OAAO,CAACG,MAAM,CAAC,EAAI,wLAAwLL,EAAIM,GAAG,KAAKJ,EAAG,MAAM,CAACE,YAAY,SAAS,CAACJ,EAAIM,GAAGN,EAAIO,GAAGP,EAAIJ,YAAYI,EAAIM,GAAG,KAAyB,MAAnBN,EAAIL,WAAoBO,EAAG,IAAI,CAACE,YAAY,eAAe,CAACF,EAAG,WAAW,CAACE,YAAY,aAAaC,MAAM,CAAC,GAAK,MAAM,CAACL,EAAIM,GAAG,4BAA4B,GAAGN,EAAIQ,KAAKR,EAAIM,GAAG,KAAKN,EAAIS,GAAG,SAC/uB,CAAC,WAAa,IAAiBR,EAAThG,KAAgBgE,eAAmBiC,EAAnCjG,KAA0CkG,MAAMD,IAAID,EAAG,OAAOC,EAAG,MAAM,CAACE,YAAY,QAAQ,CAACF,EAAG,IAAI,CAACG,MAAM,CAAC,KAAO,qBAAqB,OAAS,SAAS,IAAM,aAAa,CAA7KpG,KAAkLqG,GAAG,kBDW/N,EACA,KACA,KACA,M,wCERa,GACbxD,KAAM,OACN4D,WAAY,CACVC,YACAC,aAEF1D,MAAO,CACLC,aAAc,CACZC,KAAMC,OACNC,aAASK,GAEXJ,UAAWC,QACXC,eAAgB,CACdL,KAAMM,OACNJ,aAASK,GAEXb,KAAM,CACJM,KAAMC,OACNC,QAAS,YAGbuD,cArBa,SAqBEpB,GAITxF,KAAK6G,sBACP7G,KAAK8G,mBAAqBtB,EAC1BxF,KAAK+G,iBAGTtB,SAAU,CACRuB,cADQ,WAGN,QAAiC,IAAtBhH,KAAKkD,cAAgClD,KAAKiH,OAAOC,QAAQlG,OAAS,EAC3E,OAAOhB,KAAKkD,cAAgBiE,YAAQnH,KAAKiH,OAAOC,QAAQ,GAAGxF,KAA/ByF,CAAqCnH,KAAKiH,OAAOG,QAHhE,IAMRC,EANQ,YAMQrH,KAAKiH,OAAOC,QANpB,MAQf,IAAKG,EACH,OAAOrH,KAAKiH,OAAOvF,KAGrB,IAAM4F,EAAYD,EAAaZ,WAAWpD,QAE1C,GAAIiE,GAAaA,EAAUnG,QAAS,KAC1BA,EAAYmG,EAAZnG,QAER,GAAIA,EAAQ0D,IACV,MAA+B,mBAAhB1D,EAAQ0D,IAAqB1D,EAAQ0D,IAAI7E,KAAKiH,QAAU9F,EAAQ0D,IAKnF,MADe,MAAM0C,KAAKF,EAAa3F,MACvB1B,KAAKiH,OAAOvF,KAAO1B,KAAKiH,OAAOvF,KAAK8F,QAAQ,MAAO,MAGvEC,aAzDa,WA0DXxH,UAAIyH,KAAKC,eAAe3H,KAAM,OAAQA,KAAK4H,MAAMC,SAASrG,OAE5DmC,OA5Da,SA4DLI,GAAG,WAET,OAAK/D,KAAKwB,KAAKsG,IAUX9H,KAAK8G,oBACP9G,KAAK4B,WAAU,kBAAO,EAAKkF,oBAAqB,KAEzC/C,EAAE,MAAO,GAAI,CAClBA,EAAE,KAAM,iDACRA,EAAE,IAAK,yFACPA,EAAE,IAAD,yBAAwB/D,KAAK8G,mBAAmBiB,aACjDhE,EAAE,YAAa,CAAEd,MAAO,CAAEvC,GAAI,MAAS,uBAK3CV,KAAK6G,qBAAsB,EAC3B7G,KAAK4B,WAAU,kBAAO,EAAKiF,qBAAsB,KAE1C9C,EAAE4C,EAAW,CAClB1D,MAAO,CACLuC,MAAOxF,KAAKwB,KAAKsG,QAzBZ/D,EAAE,YAAa,CACpBc,IAAK7E,KAAKgH,cACV/D,MAAOjD,KAAKgI,WCzEkL,G,qBCCtM,CACEnF,KAAM,cACNiB,KAFF,WAGI,MAAO,CACLmE,QAAS,EACTC,MAAM,EACNC,YAAY,EACZC,UAAU,EACVC,eAAgB,EAChBC,KAAK,EACLC,SAAU,IACVC,SAAU,IACVC,YAAY,IAGhBhD,SAAU,CACRiD,KADJ,WAEM,SAAK1I,KAAKyI,aAAezI,KAAKsI,OAGvBtI,KAAKsI,IAClB,2BACA,8BAGEK,cAzBF,WA0BI3I,KAAK4I,SAEPC,QAAS,CACPD,MADJ,WAEME,cAAc9I,KAAK+I,QACnBC,aAAahJ,KAAKiJ,WAClBjJ,KAAK+I,OAAS,MAEhBG,MANJ,WAMA,WAYM,OAXAlJ,KAAK4I,QACL5I,KAAKiI,QAAU,EACfjI,KAAKoI,UAAW,EAChBpI,KAAKqI,eAAiB,EACtBrI,KAAKmI,YAAa,EAEdnI,KAAKuI,SACPvI,KAAKiJ,UAAYE,YAAW,WAApC,uCAEQnJ,KAAKoJ,aAEApJ,MAETqJ,IApBJ,SAoBA,GAIM,OAHArJ,KAAKkI,MAAO,EACZlI,KAAKmI,YAAa,EAClBnI,KAAKiI,QAAUqB,KAAKC,IAAI,IAAKD,KAAKE,IAAI,EAAGF,KAAKG,MAAMC,KAC7C1J,MAET2J,IA1BJ,WA2BM,OAAO3J,KAAKiI,SAEd2B,SA7BJ,SA6BA,GAEM,OADA5J,KAAKiI,QAAUqB,KAAKC,IAAI,IAAKD,KAAKG,MAAMzJ,KAAKiI,QAAUyB,IAChD1J,MAET6J,SAjCJ,SAiCA,GAEM,OADA7J,KAAKiI,QAAUqB,KAAKE,IAAI,EAAGF,KAAKG,MAAMzJ,KAAKiI,QAAUyB,IAC9C1J,MAET8J,MArCJ,WAuCM,OADAhB,cAAc9I,KAAK+I,QACZ/I,MAET+J,OAzCJ,WA2CM,OADA/J,KAAKoJ,aACEpJ,MAETgK,OA7CJ,WAgDM,OAFAhK,KAAKiI,QAAUjI,KAAKoI,SAAW,EAAI,IACnCpI,KAAKiK,OACEjK,MAETiK,KAlDJ,WAkDA,WASM,OARAjK,KAAK4I,QACLO,YAAW,WACT,EAAR,QACQ,EAAR,sBACU,EAAV,UACU,EAAV,iBAEA,KACanJ,MAETkK,KA7DJ,SA6DA,GAEM,OADAlK,KAAKmI,YAAa,EACXnI,MAEToJ,WAjEJ,WAiEA,WACWpJ,KAAKkI,OACRlI,KAAKkI,MAAO,QAEW,IAAdlI,KAAKmK,OACdnK,KAAKmK,KAAO,IAAQb,KAAKG,MAAMzJ,KAAKwI,WAGtCxI,KAAK+I,OAASqB,aAAY,WAQpB,EAAZ,iBACU,EAAV,kBAIY,EAAZ,SACU,EAAV,iBAEU,EAAV,iBAGY,EAAZ,aACc,EAAd,cAIA,gBAHY,EAAZ,iBAEY,EAAZ,yBAOA,OAGEzG,OAtIF,SAsIA,GACI,IAAJ,QAcI,OAbI3D,KAAKkI,OACPhD,EAAKnB,EAAE,MAAO,CACZoC,YAAa,gBACbkE,MAAO,CACL,6BAA8BrK,KAAKqI,eAAiB,EACpD,wBAAyBrI,KAAKmI,YAEhCmC,MAAO,CACLC,MAAOvK,KAAKiI,QAAU,IACtBS,KAAM1I,KAAK0I,SAIVxD,KCnII,G,OAXC,YACd,OATE,OAAQ,GAYV,EACA,KACA,KACA,M,SCfuM,G,qBCyBzM,CACEpB,KADF,WAEI,MAAO,CACL0G,SAAUrL,OAAOsL,YAAc,IAC/BC,SAAUvL,OAAOsL,WAAa,MAGlCE,QAPF,WAOA,WACIrL,iBAAiB,UAAU,WACzB,EAAN,yBACM,EAAN,4BAGEuJ,QAAS,CACP+B,iBADJ,WAEM5K,KAAK0K,UAAY1K,KAAK0K,aCrBb,G,OAXC,YACd,GCTW,WAAa,IAAI3E,EAAI/F,KAASgG,EAAGD,EAAI/B,eAAmBiC,EAAGF,EAAIG,MAAMD,IAAID,EAAG,OAAOC,EAAG,MAAM,CAACE,YAAY,WAAWC,MAAM,CAAC,GAAK,oBAAoB,CAACH,EAAG,MAAM,CAACE,YAAY,2BAA2B,CAACF,EAAG,MAAM,CAACE,YAAY,UAAU,CAACF,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,WAAW,GAAGL,EAAIM,GAAG,KAAKJ,EAAG,YAAY,CAACG,MAAM,CAAC,GAAK,IAAI,MAAQL,EAAI8E,GAAG,kBAAkB,CAAC9E,EAAIM,GAAG,WAAWN,EAAIO,GAAGP,EAAI8E,GAAG,iBAAiB,YAAY9E,EAAIM,GAAG,KAAMN,EAAY,SAAEE,EAAG,MAAM,CAACE,YAAY,uBAAuBZ,GAAG,CAAC,MAAQ,SAASuF,GAAQ,OAAO/E,EAAI6E,sBAAsB,CAAC3E,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,oBAAoB,GAAGL,EAAIQ,MAAM,GAAGR,EAAIM,GAAG,KAAMN,EAAY,SAAEE,EAAG,MAAM,CAACE,YAAY,iBAAiB,CAACF,EAAG,YAAY,CAACG,MAAM,CAAC,GAAK,IAAI,MAAQL,EAAI8E,GAAG,yBAAyB,MAAQ,KAAK,CAAC9E,EAAIM,GAAGN,EAAIO,GAAGP,EAAI8E,GAAG,6BAA6B9E,EAAIM,GAAG,KAAKJ,EAAG,YAAY,CAACG,MAAM,CAAC,GAAK,aAAa,MAAQL,EAAI8E,GAAG,2BAA2B,CAAC9E,EAAIM,GAAGN,EAAIO,GAAGP,EAAI8E,GAAG,6BAA6B9E,EAAIM,GAAG,KAAKJ,EAAG,YAAY,CAACG,MAAM,CAAC,GAAK,SAAS,MAAQL,EAAI8E,GAAG,uBAAuB,CAAC9E,EAAIM,GAAGN,EAAIO,GAAGP,EAAI8E,GAAG,yBAAyB9E,EAAIM,GAAG,KAAKJ,EAAG,YAAY,CAACG,MAAM,CAAC,GAAK,YAAY,MAAQL,EAAI8E,GAAG,0BAA0B,CAAC9E,EAAIM,GAAGN,EAAIO,GAAGP,EAAI8E,GAAG,4BAA4B9E,EAAIM,GAAG,KAAKJ,EAAG,YAAY,CAACG,MAAM,CAAC,GAAK,UAAU,MAAQL,EAAI8E,GAAG,wBAAwB,CAAC9E,EAAIM,GAAGN,EAAIO,GAAGP,EAAI8E,GAAG,0BAA0B9E,EAAIM,GAAG,KAAKJ,EAAG,YAAY,CAACG,MAAM,CAAC,GAAK,SAAS,MAAQL,EAAI8E,GAAG,sBAAsB,CAAC9E,EAAIM,GAAGN,EAAIO,GAAGP,EAAI8E,GAAG,yBAAyB,GAAG9E,EAAIQ,SACt+C,IDWpB,EACA,KACA,WACA,M,SEfuM,ECuBzM,CACEzC,KADF,WAEI,MAAO,CACLiH,cAAe/K,KAAK6K,GAAG,wBACvBG,eAAgBhL,KAAK6K,GAAG,yBACxBI,gBAAiBjL,KAAK6K,GAAG,6BC5B4J,G,OCY3L,CACEhI,KAAM,gBACN4D,WAAY,CACVyE,UAAJ,EACIC,UCRY,YACd,GCTW,WAAa,IAAIpF,EAAI/F,KAASgG,EAAGD,EAAI/B,eAAmBiC,EAAGF,EAAIG,MAAMD,IAAID,EAAG,OAAOC,EAAG,MAAM,CAACG,MAAM,CAAC,GAAK,oBAAoB,CAACH,EAAG,MAAM,CAACE,YAAY,YAAY,CAACF,EAAG,KAAK,CAACA,EAAG,KAAK,CAACA,EAAG,IAAI,CAACG,MAAM,CAAC,KAAO,+BAA+B,CAACL,EAAIM,GAAGN,EAAIO,GAAGP,EAAI8E,GAAG,wBAAwB9E,EAAIM,GAAG,KAAKJ,EAAG,KAAK,CAACA,EAAG,IAAI,CAACG,MAAM,CAAC,KAAO,uDAAuD,OAAS,WAAW,CAACL,EAAIM,GAAGN,EAAIO,GAAGP,EAAI8E,GAAG,uBAAuB9E,EAAIM,GAAG,KAAKJ,EAAG,aAAa,CAACG,MAAM,CAAC,MAAQ,qBAAqB,cAAcL,EAAIgF,gBAAgB,CAAC9E,EAAG,MAAM,CAACG,MAAM,CAAC,KAAO,WAAWgF,KAAK,WAAW,CAACrF,EAAIM,GAAG,aAAaN,EAAIO,GAAGP,EAAIiF,gBAAgB,KAAK/E,EAAG,IAAI,CAACoF,YAAY,CAAC,cAAc,QAAQjF,MAAM,CAAC,KAAO,uDAAuD,OAAS,WAAW,CAACL,EAAIM,GAAGN,EAAIO,GAAGP,EAAIkF,yBAAyB,OAC5yB,IDWpB,EACA,KACA,WACA,M,SDGAK,QANF,WAMA,WACA,2BAEIlJ,SAAS9C,iBAAiB,aAAa,SAA3C,GACM,IAAK,EAAX,eACQ,IAAR,uBACA,wBAEQiM,EAAKjB,MAAMkB,YAAY,YAAalK,GACpCiK,EAAKjB,MAAMkB,YAAY,YAAajK,QAI1CsH,QAAS,CACP4C,YADJ,WAEM,IAAN,KAMM,MAJI,iBAAkBtM,QAAU,gBAAiBA,QAAUA,OAAOuM,WAAW,qBAAqBC,UAChGC,GAAU,GAGLA,MGrBE,EAXC,YACd,GCRW,WAAa,IAAiB5F,EAAThG,KAAgBgE,eAAmBiC,EAAnCjG,KAA0CkG,MAAMD,IAAID,EAAG,OAAOC,EAAG,MAAM,CAACG,MAAM,CAAC,GAAK,aAAa,CAACH,EAAG,cAArGjG,KAAuHqG,GAAG,KAAKJ,EAAG,gBAAgB,CAACG,MAAM,CAAC,MAAQ,OAAO,QAAU,mBAAmB,SAAW,aAAa,MAAQ,OAAtOpG,KAAkPqG,GAAG,KAAKJ,EAAG,QAA7PjG,KAAyQqG,GAAG,KAAKJ,EAAG,eAAe,KAC/S,IDUpB,EACA,KACA,KACA,M,QEIa,G,OAXC,YANH,ICDA,WAAa,IAAiBD,EAAThG,KAAgBgE,eAAmBiC,EAAnCjG,KAA0CkG,MAAMD,IAAID,EAAG,OAAOC,EAAG,MAAM,CAACE,YAAY,WAAWC,MAAM,CAAC,GAAK,oBAAoB,CAACH,EAAG,MAAM,CAACE,YAAY,2BAA2B,CAACF,EAAG,OAAO,CAA5LjG,KAAiMqG,GAAjMrG,KAAwMsG,GAAxMtG,KAA+M6K,GAAG,0BAC9N,IDUpB,EACA,KACA,WACA,M,SEdwL,G,OCW1L,CACEhI,KAAM,eACN4D,WAAY,CACVyE,UAAJ,EACIC,UCRY,YANH,ICDA,WAAa,IAAiBnF,EAAThG,KAAgBgE,eAAmBiC,EAAnCjG,KAA0CkG,MAAMD,IAAID,EAAG,OAAOC,EAAG,MAAM,CAACG,MAAM,CAAC,GAAK,oBAAoB,CAACH,EAAG,MAAM,CAACE,YAAY,YAAY,CAACF,EAAG,KAAK,CAACA,EAAG,KAAK,CAACA,EAAG,IAAI,CAACG,MAAM,CAAC,KAAO,+BAA+B,CAAnNpG,KAAwNqG,GAAxNrG,KAA+NsG,GAA/NtG,KAAsO6K,GAAG,gCACrP,IDUpB,EACA,KACA,WACA,M,WEIa,EAXC,YACd,GCRW,WAAa,IAAiB7E,EAAThG,KAAgBgE,eAAmBiC,EAAnCjG,KAA0CkG,MAAMD,IAAID,EAAG,OAAOC,EAAG,MAAM,CAACG,MAAM,CAAC,GAAK,aAAa,CAACH,EAAG,cAArGjG,KAAuHqG,GAAG,KAAKJ,EAAG,QAAlIjG,KAA8IqG,GAAG,KAAKJ,EAAG,eAAe,KACpL,IDUpB,EACA,KACA,KACA,M,yhCEOF,IAAM4F,EAAU,CAAE,SAAYC,YAAkBC,GAAW,QAAWD,YAAkBE,IAEzE,GACbrI,OADa,SACLI,EAAGd,GACT,IAAMgJ,EAAYlI,EAAE,cAAe,CAAEmI,IAAK,YAEpCC,EAAWpI,EAAE/D,KAAKoM,QAAU,QAC5BC,EAAatI,EAAE,MAAO,CAC1BuI,SAAU,CACRC,GAAI,YAEN1H,IAAK7E,KAAKwM,YACT,CAACL,IAEEM,EAAe1I,EAAE,aAAc,CACnCd,MAAO,CACLJ,KAAM,SACNzC,KAAM,UAERmF,GAAI,CACFN,YADE,SACWC,GAEX/F,OAAOsC,MAAMG,WAAU,WACrBzC,OAAOsC,MAAMI,MAAM,uBAIxB,CAACwK,IAEJ,OAAOtI,EAAE,MAAO,CACduI,SAAU,CACRC,GAAI,WAEL,CACDN,EAEAQ,KAIJ3I,KAAM,iBAAO,CACX4I,UAAU,EAEVN,OAAQ,KACRI,WAAY,GAEZG,WAAY,IAGdlF,aA/Ca,WAgDXxH,UAAIyH,KAAKC,eAAe3H,KAAM,OAAQA,KAAK6H,SAASrG,OAEtDmJ,QAlDa,WAoDX1K,UAAIP,UAAU+B,MAAQzB,KAGpBb,OAAOsC,MAAQzB,KAEfA,KAAK4M,sBAELzN,OAAOG,iBAAiB,SAAUU,KAAK4M,qBACvCzN,OAAOG,iBAAiB,UAAWU,KAAK4M,qBAG1C5M,KAAKwF,MAAQxF,KAAKwB,KAAKgE,MAEvBxF,KAAK6M,QAAU7M,KAAK6H,SAASgF,SAG/BvB,QApEa,WAqEXtL,KAAK8M,SAAW9M,KAAK+M,MAAMC,SAE7BC,MAAO,CACL,WAAY,gBAGdxH,SAAU,CACRyH,UADQ,WAEN,OAAQlN,KAAK0M,UAGbS,WALM,WAMN,OAAOnN,KAAK2M,WAAa,IAI7B9D,QAAS,CACP+D,oBADO,gBAGoC,IAA5BzN,OAAOiO,UAAUC,OAI1BrN,KAAK0M,UAAW,EAEhB1M,KAAK0M,SAAWvN,OAAOiO,UAAUC,QAKjCC,QAdC,WAcU,gKACTC,EAAQC,YAA8B,EAAKvG,SAEtCjG,OAHI,wDAMf,EAAK8L,SAAS5D,QAERuE,EAAWF,EAAMG,KAAI,SAACC,GAC1B,IAAMC,EAAI,GAMV,GAHID,EAAK9F,SAASgG,OAASF,EAAK9F,SAASgG,MAAM7M,QAC7C4M,EAAEjO,KAAKmO,YAAUH,EAAK9F,SAASgG,MAAO,EAAKhB,UAEzCc,EAAKI,OACPH,EAAEjO,KAAKgO,EAAKI,cACP,WAEmBC,YAAwCL,EAAKrJ,OAAO2J,oBAFvE,IAEL,2BAAgG,KAArFtL,UAAqF,QAC9FiL,EAAEjO,KAAKgD,UAAUoL,WAHd,+BAkBP,OAXIJ,EAAK9F,SAASqG,WAChBN,EAAEjO,KACAmO,YAAUH,EAAK9F,SAASqG,UAAW,EAAKrB,SACrCsB,MAAK,SAACC,GACL,IAAK,IAAMvJ,KAAOuJ,EAChBnO,UAAIoJ,IAAIsE,EAAKU,MAAOxJ,EAAKuJ,EAAQvJ,QAMpC/C,QAAQwM,IAAIV,MAnCN,kBAsCP9L,QAAQwM,IAAIb,GAtCL,yDAwCb,EAAKX,SAAS5C,KAAd,MACAqE,YAAkB,EAAD,IACjB,EAAK/I,MAAL,MA1Ca,QA4Cf,EAAKsH,SAAS9C,SA5CC,6DA+CjBwE,aA7DO,WA8DDxO,KAAKwB,KAAKsG,KAAO9H,KAAK8M,WACpB9M,KAAK8M,SAAS5C,MAChBlK,KAAK8M,SAAS5C,KAAKlK,KAAKwB,KAAKsG,KAE3B9H,KAAK8M,SAAS9C,QAChBhK,KAAK8M,SAAS9C,WAKpByE,UAxEO,SAwEIrC,GAMT,OALKA,GAAWP,EAAQ,IAAMO,KAC5BA,EAAS,WAEXpM,KAAKwM,WAAaJ,EAClBpM,KAAKoM,OAASP,EAAQ,IAAMO,GACrBpM,KAAKoM,QAEdsC,WAhFO,SAgFKtC,GAIV,OAHKA,GAAWP,EAAQ,IAAMO,KAC5BA,EAAS,WAEJtK,QAAQC,QAAQ8J,EAAQ,IAAMO,MAIzC3F,WAAY,CACVkI,gB,SClMJ1O,UAAIC,IAAI0O,KAER,IAAIC,EAAQ,IAGVA,EAiBF,SAAwBC,EAAYC,GAGlC,IAFAD,EAAaA,EAAWzL,SAAWyL,GAEpBE,OACb,MAAM,IAAIC,MAAJ,iBAAoBF,EAApB,0DAOR,MAJ0B,mBAAfD,IAETA,EAAarL,OAAOyL,OAAO,GAAIJ,IAKnC,SAA0BA,EAAYC,GACpC,GAAID,EAAWK,OAAqC,mBAArBL,EAAWK,MAAsB,CAC9D3M,QAAQC,KAAR,+DAAqEsM,IAErE,IAAMI,EAAQ1L,OAAOyL,OAAO,GAAIJ,EAAWK,OAE3CL,EAAarL,OAAOyL,OAAO,GAAIJ,EAAY,CAAEK,MAAO,kBAAMA,KAE5D,OAAOL,EAXAM,CAAgBN,EAAYC,GA5B3BM,CAAcC,EAAQ,KAAwB,mBAKhDC,QAAUV,EAAMU,SAAW,GAM5B,IAAMC,EAAcX,aAAiBY,SAAWZ,EAAQ,WAC7D,OAAO,IAAID,IAAKc,MAAMjM,OAAOyL,OAAO,CAClCS,QAASC,GACRf,K,+BCpBCgB,EAAiB,qBACVC,GAAb,WACI,WAAYC,GAAI,oBACZ/P,KAAKgQ,IAAMD,EACX/P,KAAKiQ,QAAUC,QAAcH,GAHrC,uDAMQ,OAAO/P,KAAKgQ,MANpB,mCASQ,OAAOhQ,KAAKiQ,QAAQE,WAT5B,2BAYQ,OAAOnQ,KAAKiQ,QAAQG,KAZ5B,kCAeQ,OAAOpQ,KAAKiQ,QAAQI,aAf5B,gCAkBQ,OAAOrQ,KAAKiQ,QAAQpN,OAlB5B,uCAqBQ,OAAO7C,KAAKiQ,QAAQK,UArB5B,sCAwBQ,OAAOtQ,KAAKiQ,QAAQM,SAxB5B,qCA2BQ,MAAqB,WAAdvQ,KAAKoQ,OA3BpB,mCA8BQ,MAAqB,SAAdpQ,KAAKoQ,OA9BpB,mCAiCQ,MAAqB,SAAdpQ,KAAKoQ,OAjCpB,kCAoCQ,OAAQpQ,KAAKwQ,gBACTxQ,KAAKyQ,cACLzQ,KAAK0Q,cACQ,OAAb1Q,KAAKoQ,OAvCjB,4CA0CQ,MAAqB,YAAdpQ,KAAKoQ,MAAsBP,EAAetI,KAAKvH,KAAKgQ,OA1CnE,4CA6CQ,MAAqB,YAAdhQ,KAAKoQ,OAAuBP,EAAetI,KAAKvH,KAAKgQ,OA7CpE,wCAgDQ,OAAOhQ,KAAK2Q,uBAAyB3Q,KAAK4Q,uBAAsC,WAAb5Q,KAAKoQ,OAhDhF,2CAmDQ,MAAqB,qBAAdpQ,KAAKoQ,OAnDpB,iCAsDQ,MAA6B,OAAtBpQ,KAAK6Q,eAtDpB,yCAyDQ,MAA6B,eAAtB7Q,KAAK6Q,eAAkC7Q,KAAK8Q,iBAzD3D,0CA4DQ,MAA6B,gBAAtB9Q,KAAK6Q,eA5DpB,wCA+DQ,MAA6B,cAAtB7Q,KAAK6Q,eA/DpB,sCAkEQ,MAA6B,YAAtB7Q,KAAK6Q,eAlEpB,qCAqEQ,OAAO7Q,KAAKyQ,cAAgBzQ,KAAK4Q,0BArEzC,KAwEe,YAACG,EAAKC,GACjB,IAAIC,EA3EmB,iIA4EA,IAAZF,EAAIG,IACXD,EAAYF,EAAIG,IAAIC,QAAQ,cAEF,oBAAd/D,YACZ6D,EAAY7D,UAAU6D,WAE1BF,EAAIK,IAAM,IAAItB,GAAGmB,GACjBD,EAAO,KAAM,IAAIlB,GAAGmB,K,4BChFxBI,KAAOC,OAAO,MAEC,gBAACP,EAAKC,GACnBD,EAAIQ,QAAUF,KACdL,EAAO,SAAUK,O,+CCNnBG,EAAWC,SAAX,sDAAsB,WAAO5E,GAAP,yFACZ6E,EAAe7E,EAAf6E,KAAe7E,EAAV8E,MADO,iEAOdD,EAAIE,KAAKC,eAPK,2CAAtB,sD,4oBCYA,SAASC,GAAYC,EAAOT,GAC1B,IAAMU,EAAiBC,GAAYlS,KAAKC,KAAM+R,EAAOT,GAErD,GAAKU,EAIL,OAAOA,EAAeE,SAGxB,SAASD,GAAaF,EAAOT,GAE3B,GAAKS,EAAL,CAFmC,IAM3BH,EAAS5R,KAAT4R,KASR,GAPI3T,OAAae,KAAWmT,WAAab,GAAUA,IAAWM,EAAKN,QAEjE9O,QAAQC,KAAR,WAAiB9D,KAAjB,4FAGF2S,EAASA,GAAUM,EAAKN,OAExB,CAKqB,iBAAVS,IAGPA,EAFe,MAAbA,EAAM,GAEA,CAAErQ,KAAMqQ,GAGR,CAAElP,KAAMkP,IAIpB,IAAMC,EAAiBvO,OAAOyL,OAAO,GAAI6C,GAEzC,GAAIA,EAAMrQ,OAASqQ,EAAMlP,KAAM,CAC7B,IAUMnB,OAVkB4P,IAAWxT,MAIV,CAACkB,KAAWoT,sBAAuBpT,KAAWqT,oBAAoBC,SAASrU,OAE9FA,OAAae,KAAWmT,WAEzBP,EAAKvT,kBAEiB,IAAH,OAAOiT,GAAP,OAAgBS,EAAMrQ,MAASqQ,EAAMrQ,KAE7DsQ,EAAetQ,KAAOA,SACjB,CACAqQ,EAAMlP,MAASkP,EAAMrQ,OACxBsQ,EAAenP,KAAO7C,KAAKuS,oBAG7BP,EAAenP,KAoEnB,SAA6B2P,EAAWlB,GACtC,IAAMzO,EAAO2P,GAAavU,OAAae,KAAWmT,UAAY,GAAKpU,KAAsBuT,GAGzF,GAAIA,IAAWxT,MAAiBG,OAAae,KAAWqT,mBACtD,OAAOxP,EAAO9E,KAAsBC,KAGtC,OAAO6E,EA5EiB4P,CAAmBT,EAAenP,KAAMyO,GALzD,IAOGlK,EAAW4K,EAAX5K,OACJA,QAA0B1D,IAAhB0D,EAAO,IAAsBA,EAAOsL,YAChDtL,EAAO,GAAOA,EAAOsL,WAIzB,OAAO1S,KAAK2S,OAAO5Q,QAAQiQ,GAAgBD,QAG7C,SAASa,GAAkBtB,GACzB,IAAMM,EAAO5R,KAAK4R,KAEd3T,OAAae,KAAWmT,WAAab,GAAUA,IAAWM,EAAKN,QAEjE9O,QAAQC,KAAR,WAAiB9D,KAAjB,kGAGF,IAAMkE,EAAO7C,KAAKuS,mBAClB,IAAK1P,EACH,MAAO,GAVwB,IAazBkP,EAAiB/R,KAAjB+R,MAAOlD,EAAU7O,KAAV6O,MACPzH,EAAyB2K,EAAzB3K,OAAWyL,EAdc,aAcAd,EAdA,YAe7Be,EAAmB,GACnBvU,MAAQA,KAAKwU,iBAAmBlE,IAClCiE,EAAmBjE,EAAMmE,QAAN,UAAiBzU,KAAK0U,WAAtB,uBAAsD3B,IAE3E,IAAM4B,EAAYzP,OAAOyL,OAAO,GAAI2D,EAAW,CAC7ChQ,OACAuE,OAAQ,GAAF,SACDA,GACA0L,GAFC,IAGJK,EAAG/L,EAAOsL,cAGVhR,KAAO1B,KAAK8R,WAAWoB,EAAW5B,GAGtC,GAAIM,EAAKvT,iBAAkB,CACzB,IAAM+U,EAAOxB,EAAK/T,QAAQwV,MAAK,SAAAC,GAAC,OAAIA,EAAE1U,QAAqB0S,KAC3D,GAAI8B,GAAQA,EAAKtU,MAQf4C,KAFavC,OAAOS,SAAS2T,SAASC,MAAM,KAAK,GAE/B,MAAQJ,EAAKtU,MAAqB4C,UAGpDc,QAAQC,KAAR,WAAiB9D,KAAjB,mDAAuE2S,IAG3E,OAAO5P,KAGT,SAAS6Q,GAAkBkB,GACzB,IAAM1B,OAAuBrO,IAAf+P,EAA2BA,EAAazT,KAAK+R,MAC3D,OAAKA,EAAMlP,KAGJkP,EAAMlP,KAAK2Q,MAAMzV,MAAqB,GAFpC,KAgBX,IAAM2V,GAAmB,SAAUC,GACjC,OAAO,WACL,IAAMC,EAAQ,CACZrB,iBAAkBvS,KAAKuS,iBACvBX,KAAM5R,KAAK6T,MACX/B,WAAY9R,KAAK8R,WACjBZ,IAA6C,KAC7Ca,MAAO/R,KAAKiH,OACZ0L,OAAQ3S,KAAK8T,QACbjF,MAAO7O,KAAK+T,QAGd,OAAOJ,EAAeK,MAAMJ,EAAOK,aAIjCC,GAAmB,SAAUrH,EAAS8G,GAC1C,OAAO,WAAY,IACTjC,EAA2B7E,EAA3B6E,IAAUK,GAAiBlF,EAAtBqE,IAAsBrE,EAAjBkF,OAAOlD,EAAUhC,EAAVgC,MAEnB+E,EAAQ,CACZrB,iBAAkBb,EAAIa,iBACtBX,KAAMF,EAAIE,KACVE,WAAYJ,EAAII,WAChBZ,IAA4B,KAC5Ba,QACAY,OAAQjB,EAAIiB,OACZ9D,SAGF,OAAO8E,EAAeK,MAAMJ,EAAOK,aAIjCE,GAAS,CACbC,QADa,SACJnU,GACPA,EAAIoU,MAAM,CACRxL,QAAS,CACPiJ,WAAY4B,GAAiB5B,IAC7BG,YAAayB,GAAiBzB,IAC9BW,iBAAkBc,GAAiBd,IACnCL,iBAAkBmB,GAAiBnB,SAM5B,YAAC1F,GACd5M,UAAIC,IAAIiU,IADkB,IAElBzC,EAAQ7E,EAAR6E,IACRA,EAAII,WAAaoC,GAAiBrH,EAASiF,IAC3CJ,EAAIO,YAAciC,GAAiBrH,EAASoF,IAC5CP,EAAIkB,iBAAmBsB,GAAiBrH,EAAS+F,IACjDlB,EAAIa,iBAAmB2B,GAAiBrH,EAAS0F,K,gjCCrM5C,IAAM+B,GAAc,WAAY,WACrC,KACIC,IAAQC,YAAcD,IAAQC,YAAYxU,MAAQA,KAAKyU,gBACxDzU,KAAK6T,QACL7T,KAAK6T,MAAMvC,SACXtR,KAAK6T,MAAMhW,UAC6B,IAAzCmC,KAAK6H,SAAS5I,OACbe,KAAK6H,SAAS5I,QAAuE,IAA7Ce,KAAK6H,SAAS5I,MAAuByV,IAE9E,MAAO,GAGT,IAAMC,EAAa,CACjBC,UAAW,GACXC,KAAM,GACN/O,KAAM,IAGFgP,EAAgB9U,KAAK6T,MAAMhW,QAAQwV,MAAK,SAAAC,GAAC,OAAIyB,GAAezB,KAAO,EAAKO,MAAMvC,UAC9E0D,EAAmBC,GAAcH,GAWvC,OATIA,GAAiBE,IACnBL,EAAWC,UAAUxB,KAAO4B,GAG9BE,GAAiBlQ,KAAKhF,KAAtBkV,CAA4BlV,KAAK6T,MAAMhW,QAASmC,KAAK6T,MAAMsB,UAAWR,EAAWE,MACjFO,GAAkBpQ,KAAKhF,KAAvBoV,CAA6BN,EAAe9U,KAAK6T,MAAMsB,UAAWR,EAAWE,MAC7EQ,GAAmBrQ,KAAKhF,KAAxBqV,CAA8BP,EAAeE,EAAkBL,EAAW7O,MAC1EwP,GAAsBtQ,KAAKhF,KAA3BsV,CAAiCtV,KAAK6T,MAAMhW,QAASmX,EAAkBL,EAAW7O,MAE3E6O,GAGT,SAASO,GAAkBrX,EAASS,EAASuW,MAC3C,GAAI5W,OAAae,KAAWmT,UAA5B,CAIA,IALiD,EAK3CoD,EAAY,IAAIC,IAL2B,KAO5B3X,GAP4B,IAOjD,2BAA8B,KAAnByT,EAAmB,QACtBmE,EAAYR,GAAc3D,GAEhC,GAAKmE,EAAL,CAH4B,MASDA,EAAUjC,MAAM,KATf,mBASrBkC,EATqB,KASXC,EATW,KAWxBD,GAAYC,IAAWrE,EAAOsE,mBAAqBL,EAAUM,IAAIH,KACnEH,EAAUlM,IAAIqM,EAAUpE,GAG1BiE,EAAUlM,IAAIoM,EAAWnE,QAVvB9O,QAAQC,KAAR,WAAiB9D,KAAjB,8DAZ6C,yCAyBlB4W,EAAUO,WAzBQ,IAyBjD,2BAAoD,8BAAxCC,EAAwC,KAAnCC,EAAmC,KAClDnB,KAAKlV,KAAK,CACRsW,IAAK,sBAAF,OAAwBF,GAC3BG,IAAK,YACLC,KAAM7X,EAAU0B,KAAK4S,iBAAiBoD,EAAUI,MAChDC,SAAUN,KA9BmC,gCAmCnD,SAASX,GAAmBN,EAAexW,EAASuW,MAClD,GAAI5W,OAAae,KAAWqT,mBAA5B,CAIA,IAAMiE,EAAoBvB,GAAeD,GACnCyB,EAAgBvW,KAAK4S,iBAAiB0D,GACtCE,EAAsCD,IAAkBvW,KAAKiH,OAAOvF,KAC/C6U,GAAiBC,GAK5C3B,KAAKlV,KAAK,CACRsW,IAAK,kBAAF,OAAoBK,GACvBJ,IAAK,YACLC,KAAM7X,EAAUiY,KAIpB,SAASlB,GAAoBP,EAAeE,EAAkBlP,MAC7BgP,GAAiBE,GAMhDlP,KAAKnG,KAAK,CACRsW,IAAK,YACLQ,SAAU,YAEVC,QAASC,GAAwB7B,KAIrC,SAASQ,GAAuBzX,EAASmX,EAAkBlP,MACzD,IAKM8Q,EALwB/Y,EAAQgZ,QAAO,SAAAvF,GAC3C,IAAMmE,EAAYR,GAAc3D,GAChC,OAAOmE,GAAaA,IAAcT,KAGWtH,KAAI,SAAA4D,GAAM,MAAK,CAC5D2E,IAAK,uBAAF,OAAyBhB,GAAc3D,IAC1CmF,SAAU,sBACVC,QAASC,GAAwBrF,OAGnCxL,KAAKnG,KAAL,MAAAmG,KAAI,aAAS8Q,IAGf,SAAS3B,GAAe3D,GACtB,OAAOA,EAAOzS,MAGhB,SAAS8X,GAAyBrF,GAChC,OAAO2D,GAAc3D,GAAQ9J,QAAQ,KAAM,KAG7C,SAASuN,GAAgBzD,GACvB,OAAOA,EAAO1S,M,gtDCjIT,IAeMkY,GAAqB,SAACC,EAAYC,GAE7C,IAFgE,EAE1DC,EAAiB,GAFyC,KAK7BD,EAAelB,WALc,kDAKpDoB,EALoD,KAK7CC,EAL6C,KAMxDC,EAAcL,EAAW1D,MAAK,SAAAgE,GAAO,OAAIA,EAAQC,gBAAkBH,EAAYG,iBACrF,GAAIF,EAEF,OADAH,EAAetX,KAAK,CAAEyW,KAAMgB,EAAaG,MAAO,EAAIL,EAAQF,EAAehW,SAC3E,SAJJ,2BAA6D,kBAIzD,OAT4D,yCAc7BgW,EAAelB,WAdc,IAchE,2BAA6D,8BAAjDoB,EAAiD,KAA1CC,EAA0C,KAC3D,GAAIA,EAAY7E,SAAS,KAAM,CAE7B,IAAMkF,EAAeL,EAAY3D,MAAM,KAAK,GAAG8D,cAE/C,GAAIP,EAAWzE,SAASkF,GAAe,CAErCP,EAAetX,KAAK,CAAEyW,KAAMoB,EAAcD,MAAO,KAAQL,EAAQF,EAAehW,SAChF,SAtB0D,8BAuChE,OAXIiW,EAAejW,OAAS,GAC1BiW,EAAeQ,MAAK,SAACC,EAASC,GAC5B,OAAID,EAAQH,QAAUI,EAAQJ,MAErBI,EAAQvB,KAAKpV,OAAS0W,EAAQtB,KAAKpV,OAGrC2W,EAAQJ,MAAQG,EAAQH,SAI5BN,EAAejW,OAASiW,EAAe,GAAGb,KAAO,MAS7CwB,GAAiB,SAACtZ,EAASuO,GACtC,MAAuB,mBAAZvO,EACFA,EAAQuO,GAGVvO,GAUIuZ,GAAkB,SAACha,EAASqT,EAAV,GAAqD,IAApC4G,EAAoC,EAApCA,eAAgBC,EAAoB,EAApBA,cACxDC,EAA4B7Y,OAAOS,SAASoY,SAElD,GAAIA,EAAU,CACZ,IAAMC,EAAepa,EAAQwV,MAAK,SAAAC,GAAC,OAAIA,EAAEwE,KAAoBE,KAC7D,GAAIC,EACF,OAAOA,EAAaF,GAIxB,OAAO,MAkDIG,GAAkB,SAAChH,EAAD,GAAgD,IAEvEiH,EAF+BC,EAAwC,EAAxCA,UAAWC,EAA6B,EAA7BA,UAAWnZ,EAAkB,EAAlBA,YAC3D,GAAIkZ,IAIAD,EAAaG,KAAS3O,IAAI0O,GAMxBnZ,EAAYoT,SAAS6F,IACvB,OAAOA,GAUAI,GAAkB,SAACjH,EAAQkH,EAAT,GAAyD,IAAzCJ,EAAyC,EAAzCA,UAAWK,EAA8B,EAA9BA,aAAcJ,EAAgB,EAAhBA,UACtE,GAAKD,EAAL,CAGA,IAAMM,EAAO,IAAIC,KACXC,EAAgB,CACpBC,QAAS,IAAIF,KAAKD,EAAKI,QAAQJ,EAAKK,UAAY,MAChDrX,KAAM,IACNsX,SAAU,OAGRP,IACFG,EAAcK,OAASR,GAIvBH,KAASjP,IAAIgP,EAAW/G,EAAQsH,KAcvBM,GAAgB,SAACrK,EAAOtQ,EAAMW,EAAa+T,GACtDpE,EAAMsK,eAAe5a,EAAK0U,WAAY,CACpCmG,YAAY,EACZjK,MAAO,qBAAC,SACF5Q,EAAK8a,WAAa,CAAE/H,OAAQ,IAAO,IACnC/S,EAAK+a,aAAe,CAAEC,SAAU,IAAO,IACvChb,EAAKwU,gBAAkB,CAAEyG,YAAa,IAAO,KAEnDC,QAAS,YACHlb,EAAK8a,WAAa,CACpBK,UADoB,WACGpI,IACrBtC,EAD6B,EAAlBA,QACJ,YAAasC,KAEpB,IACA/S,EAAK+a,aAAe,CACtBK,YADsB,WACGJ,IACvBvK,EADiC,EAApBA,QACN,cAAeuK,KAEtB,IACAhb,EAAKwU,gBAAkB,CACzB6G,eADyB,WACGxS,IAI1B4H,EAJkC,EAAlBA,QAIT,iBAAkB5H,KAEzB,IAENyS,UAAW,YACLtb,EAAK8a,WAAa,CACpBK,UADoB,SACTvK,EAAOmC,GAChBnC,EAAMmC,OAASA,IAEf,IACA/S,EAAK+a,aAAe,CACtBK,YADsB,SACTxK,EAAOoK,GAClBpK,EAAMoK,SAAWA,IAEjB,IACAhb,EAAKwU,gBAAkB,CACzB6G,eADyB,SACTzK,EAAO/H,GACrB+H,EAAMqK,YAAcpS,IAEpB,IAEN4L,QAAS,MACHzU,EAAKwU,gBAAkB,CACzB+G,kBAAmB,gBAAGN,EAAH,EAAGA,YAAH,OAAqB,SAAAlI,GAAM,OAAIkI,EAAYlI,IAAW,MACvE,KAEL,CAAEyI,gBAAiBlL,EAAMM,MAAM5Q,EAAK0U,eAW5B+G,GAAQ,sDAAG,WAAOnL,GAAP,2GAAcyC,EAAd,+BAAuB,KAAMiI,EAA7B,+BAAwC,KAAxC,2BAAgDhb,EAAhD,EAAgDA,QAC1DsQ,EADU,oBAEL,OAAXyC,IAAmB/S,EAAK8a,WAFR,gCAGZxK,EAAMoL,SAAS1b,EAAK0U,WAAa,aAAc3B,GAHnC,UAKH,OAAbiI,IAAqBhb,EAAK+a,aALV,kCAMZzK,EAAMoL,SAAS1b,EAAK0U,WAAa,eAAgBsG,GANrC,4CAAH,sDC9NrBtZ,UAAIC,IAAIga,MAER,IDkE4Chb,GAAD,GAAgBnB,GAAqBC,GACxEmc,GACAC,GACAC,GACAC,GCtEFC,IDkEsCrb,GClEWA,KDkEZ,GClEyB,CAAEnB,yBAAqBC,mCDkEhCD,GAAwD,GAAxDA,oBAAqBC,GAAmC,GAAnCA,6BACxEmc,GAAiB,IAAH,OAAOjb,GAAYsb,KAAK,KAAxB,KACdJ,GAAuB,MAAH,OAASrc,IAAT,OAA+BC,GAA/B,MACpBqc,GAAa,IAAII,OAAJ,UAAc1c,IAAd,OAAoCoc,IAApC,OAAqDC,GAArD,KAA8E,KAC3FE,GAAa,IAAIG,OAAJ,YAAgBN,GAAhB,KAAmC,KAW3B,SAAApI,GAEzB,GAAIA,EAAMlP,KAAM,CACd,IAAM8I,EAAUoG,EAAMlP,KAAK6X,MAAML,IACjC,GAAI1O,GAAWA,EAAQ3K,OAAS,EAC9B,OAAO2K,EAAQ,QAEZ,GAAIoG,EAAMrQ,KAAM,CAErB,IAAMiK,EAAUoG,EAAMrQ,KAAKgZ,MAAMJ,IACjC,GAAI3O,GAAWA,EAAQ3K,OAAS,EAC9B,OAAO2K,EAAQ,GAInB,OAAO,OC7FX,yDAAe,WAAOkB,GAAP,iIACL6E,EAA0C7E,EAA1C6E,IAAKK,EAAqClF,EAArCkF,MAAOlD,EAA8BhC,EAA9BgC,MAAOqC,EAAuBrE,EAAvBqE,IAAuBrE,EAAlB2L,IAAKmC,EAAa9N,EAAb8N,SAEjCpc,MAAQsQ,GACVqK,GAAcrK,EAAOtQ,KAAMW,KAAaP,MAGlCyZ,EAAuCha,KAAvCga,UAAWC,EAA4Bja,KAA5Bia,UAAWI,EAAiBra,KAAjBqa,aAExBmC,EATO,sDASY,WAAOC,GAAP,oJAA6C,GAA7C,IAAoBC,qBAApB,YAEFpJ,EAAIE,KAAKvT,iBAFP,oDAOnBwc,IAAcnJ,EAAIE,KAAKN,OAPJ,oDAWjByJ,EAAYrJ,EAAIE,KAAKN,OAEtBwJ,IACHpJ,EAAIE,KAAKpT,qBAAqBuc,EAAWF,GAErCzC,GACF1G,EAAIE,KAAK2G,gBAAgBsC,KAKzB3c,KAtBmB,sBAuBSoR,EAAQ,KAA9B0L,EAvBa,EAuBbA,mBAGJtJ,EAAIE,KAAKqJ,gBAAkBJ,IAAcnJ,EAAIE,KAAKqJ,eA1BjC,kCA2BbD,EAAkBnO,EAAS6E,EAAIE,KAAKqJ,gBA3BvB,yBA8BfD,EAAkBnO,EAASgO,GA9BZ,eAiCvBnJ,EAAIE,KAAKN,OAASuJ,EAjCK,UAmCjBb,GAASnL,EAAOgM,EAAWnJ,EAAIE,KAAKsJ,iBAAiBL,GAAY,CAAEtc,YAnClD,QAsCfwT,EAAUlF,EAAVkF,MACFoJ,EAAeC,EAAyBrJ,EAAO8I,GAEjDC,EAGFpJ,EAAIE,KAAKyJ,WAAaF,GAEtBzJ,EAAIE,KAAKnT,mBAAmBsc,EAAWF,GAEnCM,GACFR,EAASQ,IAjDU,4CATZ,sDA+DPC,EAA2B,SAACrJ,EAAOT,GACvC,IAAKA,GAAUI,EAAIE,KAAKvT,kBAAoBJ,OAAae,KAAWmT,UAClE,MAAO,GAGT,GAAIoI,GAAmBxI,KAAWT,EAChC,MAAO,GAIT,IAAI6J,EAAezJ,EAAIkB,iBAAiBtB,GAExC,OAAK6J,IAEHA,EAAezJ,EAAII,WAAWC,EAAMG,SAAUZ,MACzBS,EAAMG,SAKtBiJ,EAJI,IAOPG,EAA0B,WAAM,IAQhCC,EAFIC,EAAmCpd,KAAnCod,eAAgBP,EAAmB7c,KAAnB6c,eAIpB7C,IAAcmD,EAAgB7J,EAAIE,KAAKsG,qBAEO,oBAAd9K,WAA6BA,UAAUqO,UAEzEF,EAAgBzE,GAAmB5X,KAAakO,UAAUqO,WACjDvK,QAAiD,IAAnCA,EAAIC,QAAQ,qBACnCoK,EAAgBzE,GAAmB5X,KAAiCgS,EAAIC,QAAQ,mBDlIvEqC,MAAM,KAAK9F,KAAI,SAAAgO,GAAG,OAAIA,EAAIlI,MAAM,KAAK,SCqIhD,IAAMmI,EAAcJ,GAAiBN,EAGrC,GAAIU,KAAiBvD,GAAaoD,IAAmB9J,EAAIE,KAAKsG,mBAAoB,CAChF,GAAIyD,IAAgBjK,EAAIE,KAAKN,OAC3B,OAAOqK,EACEvD,IAAc1G,EAAIE,KAAKsG,mBAChCxG,EAAIE,KAAK2G,gBAAgBoD,GAI7B,OAAO,GAIHC,EAxHO,sDAwHM,iHAIE,OAHX7J,EAAUlF,EAAVkF,OAGErQ,OAAgBvD,KAJT,uBAKXuH,EAAa,IACbhE,KAAOvD,KAEiB,iBAAjBA,OACTuH,EAAavH,KAAauH,WAC1BhE,KAAOvD,KAAauD,MAGtBiZ,EAASjV,EAAD,WAAiBhE,MAAQqQ,EAAM8J,OAbxB,+BAiBXC,EAAiBpK,EAAIE,KAAKyJ,YAjBf,wBAmBf3J,EAAIE,KAAKyJ,WAAa,KACtBV,EAASmB,GApBM,kCAwBjBpK,EAAIE,KAAKuD,UAAYyC,GAAetZ,KAASuO,GAEvC8O,EACHvd,MAAyBkd,KAC1Bf,GAAmBxI,IAAUL,EAAIE,KAAKN,QAAUI,EAAIE,KAAK9T,eAAiB,GA5B3D,UA8BX4T,EAAIE,KAAK8H,UAAUiC,GA9BR,4CAxHN,qDAyJPI,EAAwB,SAAAnK,GAC5BA,EAAK/T,QAAUA,KACf+T,EAAK9T,cAAgBA,KACrB8T,EAAKvT,iBAAmBA,KACxBuT,EAAKpT,qBAAuBA,KAC5BoT,EAAKnT,mBAAqBA,KAC1BmT,EAAK2G,gBAAkB,SAAAjH,GAAM,OAAIiH,GAAgBjH,EAAQkH,EAAK,CAAEJ,YAAWK,eAAcJ,eACzFzG,EAAKsG,gBAAkB,kBAAMA,GAAgBhH,EAAK,CAAEkH,YAAWC,YAAWnZ,oBAC1E0S,EAAK8H,UAAY,SAACpI,GAAD,OAAYsJ,EAAiBtJ,MAI1C0K,EAAoC,mBAAZpe,KAAyBA,aAAQiP,GAAWjP,MAC3Dqe,iCAAmCF,EAClDrK,EAAIE,KAAO,IAAIsI,KAAQ8B,GAEvBtK,EAAIE,KAAKN,OAAS,GAClBI,EAAIE,KAAKqJ,eAAiBe,EAAef,gBAAkB,GAC3Dc,EAAsBrK,EAAIE,MAC1BF,EAAIE,KAAKuD,UAAYyC,GAAetZ,KAASuO,GAC7C6E,EAAIE,KAAKC,aAAe+J,EAGxB3b,UAAIP,UAAUwc,aAAe5H,GAEzBzF,IAEFA,EAAMgF,MAAQnC,EAAIE,KAEd/C,EAAMM,MAAMgN,eACdzK,EAAIE,KAAK/T,QAAQ+G,SAAQ,SAAA0M,GACvBA,EAAO2H,OAASpK,EAAMM,MAAMgN,cAAc7K,EAAO8E,UAKnDuF,EAAcjK,EAAIE,KAAK9T,eAAiB,GAExCS,MAAQA,KAAK8a,YAAcxK,GAAiD,KAAxCA,EAAMM,MAAM5Q,KAAK0U,YAAY3B,OACnEqK,EAAc9M,EAAMM,MAAM5Q,KAAK0U,YAAY3B,OAClCI,EAAIE,KAAKvT,kBACZ8C,EAAU,CAAE2W,eAAgBhZ,KAAmBiZ,cAAenZ,MAC9Dwd,EAAevE,GAAgBha,KAASqT,EAAK/P,GACnDwa,EAAcS,GAAgBT,GACrB1d,OAAae,KAAWmT,WAC3BkK,EAAc9B,GAAmBxI,GACvC4J,EAAcU,GAAeV,GACpBvD,IACTuD,EAAcjK,EAAIE,KAAKsG,mBAAqByD,GAGxCW,EAAwBle,MAAyBkd,IACvDK,EAAcW,GAAyBX,EA7M1B,UA8MPf,EAAiBe,EAAa,CAAEb,cAAc,IA9MvC,YAiN2Bpc,KAjN3B,kCAkNLkd,IAlNK,4CAAf,sD,+jCCGA,IA1CA,IAAMna,GAA0B,oBAAXtC,QAA0BA,OAAM,MAG/Cod,GAAa,CACjBC,WADiB,SACLC,GACVzc,KAAK0c,SAASD,QAAUA,GAE1BE,UAJiB,SAIN9Z,EAAM+Z,GAA0B,MAAnBC,EAAmB,uDAAV,SAAU,KACvBC,MAAMC,QAAQF,GAAUA,EAAS,CAAEA,IADZ,IACzC,2BAA+D,KAAtDG,EAAsD,QAC7D,IAAKJ,EAEH,mBADO5c,KAAK0c,SAASvL,QAAQ6L,GAAOna,GAGtC7C,KAAK0c,SAASvL,QAAQ6L,GAAOna,GAAQ+Z,GANE,gCAS3CK,SAbiB,SAaPC,EAAO/Z,GAAyB,IAAnB0Z,EAAmB,uDAAV,SACxBD,EAASM,GAAgB/Z,EAAOA,EAAO,IAAM,IAAM+Z,EAAlC,KACvBld,KAAK2c,UAAU,gBAAiBC,EAAOC,IAEzCM,UAjBiB,SAiBPC,GACRpd,KAAKqd,aAAaC,QAAQpd,KAAI,SAAAqd,GAAM,OAAIH,EAAGG,IAAWA,MAExDC,WApBiB,SAoBNJ,GACTpd,KAAKqd,aAAaI,SAASvd,KAAI,SAAAud,GAAQ,OAAIL,EAAGK,IAAaA,MAE7DC,eAvBiB,SAuBFN,GACbpd,KAAKqd,aAAaC,QAAQpd,SAAIwD,GAAW,SAAA8B,GAAK,OAAI4X,EAAG5X,IAAU1D,QAAQ6b,OAAOnY,OAEhFoY,gBA1BiB,SA0BDR,GACdpd,KAAKqd,aAAaI,SAASvd,SAAIwD,GAAW,SAAA8B,GAAK,OAAI4X,EAAG5X,IAAU1D,QAAQ6b,OAAOnY,OAEjFqY,QA7BiB,SA6BTT,GACNpd,KAAK0d,eAAeN,GACpBpd,KAAK4d,gBAAgBR,IAEvBU,OAjCiB,SAiCV3c,GACL,OAAO4c,GAAoBC,KAAK7c,EAASnB,KAAK0c,a,cAK7C,IAAIuB,EAAM,OACb1B,GAAW,IAAM0B,GAAU,WAAc,OAAOje,KAAKie,GAAQjK,MAAMhU,KAAMiU,WAAW9F,MAAK,SAAAqK,GAAG,OAAIA,GAAOA,EAAI1U,UAD7G,QAAmB,CAAC,UAAW,SAAU,MAAO,OAAQ,UAAW,OAAQ,MAAO,SAAlF,kBAA4F,KAI5F,IAMMia,GAAsB,SAAAG,GAE1B,IAAMC,EAAQC,KAAMN,OAAOI,GAW3B,OAVAC,EAAME,YAAcD,KAAMC,YAC1BF,EAAMG,SAAWF,KAAME,SAVG,SAAAH,GAC1B,IAAK,IAAItZ,KAAO0X,GACd4B,EAAMtZ,GAAO0X,GAAW1X,GAAKG,KAAKmZ,GAWpCI,CAAoBJ,GAIpBK,GAAcL,GAEPA,GAGHK,GAAgB,SAACL,GAMrB,IAAMM,EAAc,CAClBzU,OAAQ,aACRd,MAAO,aACPgB,KAAM,aACNb,IAAK,cAGDyD,EAAW,kBAAOrL,IAASA,GAAMqL,UAAYrL,GAAMqL,SAASzD,IAAO5H,GAAMqL,SAAW2R,GAEtFC,EAAkB,EAEtBP,EAAMhB,WAAU,SAAAI,GACVA,IAA8B,IAApBA,EAAOoB,UAIrBD,OAGFP,EAAMX,YAAW,SAAAC,GACXA,GAAYA,EAASF,SAAuC,IAA7BE,EAASF,OAAOoB,YAInDD,GACuB,IACrBA,EAAkB,EAClB5R,IAAW9C,aAIfmU,EAAMN,SAAQ,SAAArY,GACRA,GAASA,EAAM+X,SAAoC,IAA1B/X,EAAM+X,OAAOoB,WAI1CD,IAEIN,KAAME,SAAS9Y,KAInBsH,IAAW5C,OACX4C,IAAW9C,cAGb,IAAM4U,EAAa,SAAArc,GACjB,GAAKmc,EAAL,CAGA,IAAMC,SAAwB,IAAXpc,EAAEsc,QAAiBtc,EAAEuc,MAAQJ,GAChD5R,IAAWzD,IAAIC,KAAKC,IAAI,IAAKoV,aAG/BR,EAAMzB,SAASqC,iBAAmBH,EAClCT,EAAMzB,SAASsC,mBAAqBJ,GAGvB,YAAC7N,EAAKC,GAwCnB,IAAMmN,EAAQJ,GAnBO,CACnBtB,QAnBI,yBAoBJtL,QAdc,CACd,OAAU,CACN,OAAU,qCAEd,OAAU,GACV,IAAO,GACP,KAAQ,GACR,KAAQ,GACR,IAAO,GACP,MAAS,MAyBXJ,EAAIkO,OAASd,EACbnN,EAAO,QAASmN,I,yoBChLlB,IAEMe,G,WACJ,cAAoE,IAArDC,EAAqD,EAArDA,UAAWzJ,EAA0C,EAA1CA,SAAUtV,EAAgC,EAAhCA,KAAMgf,EAA0B,EAA1BA,QAAS9O,EAAiB,EAAjBA,QAAS+O,EAAQ,EAARA,KAC1D,GADkE,qBAC7DD,EACH,MAAM,IAAInQ,MAAM,oCAGlB,IAAKqB,EACH,MAAM,IAAIrB,MAAM,wCAGlBjP,KAAKsf,UAAY,GACjBtf,KAAKuf,YAAc,KAEnBvf,KAAKwf,UAAY,KACjBxf,KAAKyf,QAAS,EAEdzf,KAAKmf,UAAYA,EACjBnf,KAAK0V,SAAWA,EAEhB1V,KAAKof,QAAUA,EACfpf,KAAKsQ,QAAUA,EACftQ,KAAKqf,KAAOA,EAEZrf,KAAKI,KAAOA,E,4DAIZ,GAAIJ,KAAKyf,OAAQ,CACfzf,KAAKyf,QAAS,EADC,IAGP7Z,KAASxD,SAATwD,KACA0E,MAAUtK,KAAKsf,UAAfhV,MAEFoV,EAAU,aAAItd,SAASwD,KAAK+Z,iBAAiB,WAChD9I,QAAO,SAAA+I,QAAM,OAAIA,OAAOC,IAAIvN,SAAS,gBAEpCoN,EAAQ1e,QACV0e,EAAQ9a,SAAQ,SAAAgb,QAAM,OAAIha,KAAKka,YAAYF,WAGzCha,KAAKma,SAASzV,QAChB1E,KAAKka,YAAYxV,OAGnB,IAAM0V,EAAQ5d,SAASC,cAAc,qBACjC2d,GACFA,EAAMC,Y,wEAKGC,G,yGAELlgB,KAAKmgB,O,YAEP,eAAgBhhB,Q,yCACXa,KAAKuf,YAAYa,QACtBpgB,KAAKof,QACL,CAAEc,Y,6DAIA,IAAIjR,MAAJ,oD,yIAIGoR,GAAU,WACrB,OAAO,IAAIve,SAAQ,SAACC,EAAS4b,GAC3B,GAAI,eAAgBxe,OAClB,GAAgB,aAAb,EAAKkgB,KACN,EAAKE,YAAYa,QAAQC,GAEzBlhB,OAAOmhB,yBAA2B,SAAApD,GAChC,EAAKsC,UAAUe,KAAK,oBAAqBrD,GACzCnb,EAAQmb,IAGV/d,OAAOqhB,uBAAyB,SAAAhb,GAC9B,EAAKga,UAAUe,KAAK,kBAAmB/a,GACvCmY,EAAOnY,QAEJ,CACL,IAAMiY,EAAW,EAAK8B,YAAYkB,YAAYJ,GAE9C,GAAI5C,EACF,EAAK+B,UAAUe,KAAK,oBAAqB9C,GACzC1b,EAAQ0b,OACH,CAGL,EAAK+B,UAAUe,KAAK,kBAFC,qBAGrB5C,EAHqB,4B,6BAUvB,WACN,GAAI3d,KAAKyf,OAEP,OAAOzf,KAAKyf,OAGdzf,KAAKwf,UAAY,IAAIkB,gBACrB1gB,KAAKsf,UAAY,CACfM,OAAQxd,SAASue,cAAc,UAC/BrW,MAAOlI,SAASue,cAAc,UAT1B,MAYoB3gB,KAAKsf,UAAvBM,OAZF,EAYEA,OAAQtV,MAZV,EAYUA,MAEhBsV,OAAOgB,aAAa,QAAS,IAC7BhB,OAAOgB,aAAa,QAAS,IAE7B,IAAMxZ,EAAS,GACM,IAAjBpH,KAAKsQ,SAAiBlJ,EAAOzH,KAAK,UAAYK,KAAKof,SACnDpf,KAAK0V,UAAYtO,EAAOzH,KAAK,MAAQK,KAAK0V,UAE9C,IAAImL,EAzHQ,6CA+JZ,MApCkB,eAAd7gB,KAAKI,OACPygB,EAAYA,EAAUrZ,QAAQ,SAAU,iBACxCJ,EAAOzH,KAAK,UAAYK,KAAKof,UAG/BQ,OAAOgB,aAAa,MAAOC,EAAY,IAAMzZ,EAAOoT,KAAK,MAEzDrb,OAAOmhB,yBAA2B,SAACpD,GAAD,OAAW,EAAKsC,UAAUe,KAAK,oBAAqBrD,IACtF/d,OAAO2hB,yBAA2B,kBAAM,EAAKtB,UAAUe,KAAK,sBAC5DphB,OAAOqhB,uBAAyB,kBAAM,EAAKhB,UAAUe,KAAK,kBAAmB,sBAE7EvgB,KAAKyf,OAAS,IAAI3d,SAAQ,SAACC,EAAS4b,GAClCiC,OAAOtgB,iBAAiB,QAAQ,WACT,IAAjB,EAAKgR,SAAiB,EAAK6O,WAC7B7U,MAAMyW,UAAY,sCAClB3e,SAASwD,KAAKob,YAAY1W,QACD,IAAjB,EAAKgG,SAAiB,EAAK6O,YAGnC7U,MAAMyW,UAAY,4CAClB3e,SAASwD,KAAKob,YAAY1W,QAG5B,EAAKiV,YAAcpgB,OAAO8hB,WAAWC,YAAc/hB,OAAO8hB,WAC1D,EAAK1B,YAAY4B,MAAMpf,MAGzB6d,OAAOtgB,iBAAiB,SAAS,WAC/B8C,SAASwD,KAAKka,YAAYF,QAC1BjC,EAAO,0CACP,EAAK8B,OAAS,QAGhBrd,SAASwD,KAAKob,YAAYpB,WAGrB5f,KAAKyf,S,yBAGV2B,EAAOC,GACT,OAAOrhB,KAAKwf,UAAUja,GAAG6b,EAAOC,K,4BAG3BhB,GACgB,IAAjBrgB,KAAKsQ,cAAqC,IAAb+P,GAC/BrgB,KAAKuf,YAAY+B,MAAMjB,K,6BAInBkB,E,GAA+B,IAAlBC,EAAkB,EAAlBA,QAASC,EAAS,EAATA,MAC5B,OAAOzhB,KAAKuf,YAAY5b,OAAO4d,EAAUG,KAAOH,EAAW,CAAEC,UAASC,c,KAI3D,YAAU7d,EAAGoN,GAAQ,OACPpN,EAAE+d,SAAW,IAAhCC,iBAD0B,MACd,GADc,EAE5BzgB,EAAU,SACX,CAAC,WAAY,EAAK,SAAW,KAAK,QAAU,2CAA2C,QAAU,EAAE,KAAO,WAC1GygB,GAGL3hB,UAAI0C,UAAU,aAAa,kBAAM,kCACjCqO,EAAO,YAAa,IAAIkO,GAAU/d,K,opBCzLpC,6DAAe,WAAO4P,EAAKC,GAAZ,2FACP6Q,EAAgB9Q,EAAI4Q,SAAW5Q,EAAI4Q,QAAQG,iBAAmB,GAIrC,mBAFzB3gB,EAHO,SAES,CAAC,KAAM,EAAM,MAAQ,CAAC,aAAc,GAAM,GAAK,mBAC/B0gB,IAEnBE,QALN,gCAMQ5gB,EAAQ4gB,QAAQhR,GANxB,OAMX5P,EAAQoL,GANG,cASbtM,UAAIC,IAAI8hB,KAAR,SAA0B,CAAErP,OAAQ5B,EAAIW,IAAIiB,SAAaxR,IAEzD4P,EAAIkR,IAAMhiB,UAAIgiB,IACdjR,EAAO,KAAM/Q,UAAIgiB,KAZJ,4CAAf,wD,oBCAA,yDAAe,WAAOlR,GAAP,sFACa,sBAAtBA,EAAIK,IAAI8Q,WACVnR,EAAI4J,SAAS,uBAEfwH,aAAUC,mBAAmB,YAAa,oDAJ7B,SAKPjE,KAAMkE,KAAK,oDAAqD,CAAEC,UAAW,yCAClFnU,KADK,sDACA,WAAOsP,GAAP,gGACE1M,EAAIlC,MAAMoL,SAAS,mBAAoBwD,EAAS3Z,KAAKye,OADvD,2CADA,uDAILC,OAAM,SAAChd,GACNhD,QAAQgD,MAAM,4BAA6BA,MAVhC,uBAYP2Y,KAAMkE,KAAK,qDAAsD,IACtElU,KADK,sDACA,WAAOsP,GAAP,gGACE1M,EAAIlC,MAAMoL,SAAS,mBAAoBwD,EAAS3Z,KAAKye,OADvD,2CADA,uDAILC,OAAM,SAAChd,GACNhD,QAAQgD,MAAM,6BAA8BA,MAjBjC,2CAAf,sD,0CCHwM,GCKxM,CACE3C,KAAM,WACNI,MAAO,CACLJ,KAAM,CACJM,KAAMC,OACNC,QAAS,MCQA,GAXC,YACd,ICRW,WAAa,IAAiB2C,EAAThG,KAAgBgE,eAAuC,OAAvDhE,KAA0CkG,MAAMD,IAAID,GAAa,MAAM,CAACsG,SAAS,CAAC,UAAlFtM,KAAkGsG,GAAG,OAAS,KAA9GtG,KAAsI6C,KAAO,cACzJ,IDUpB,EACA,KACA,KACA,M,QEduM,GCMzM,CACEA,KAAM,YACNI,MAAO,CACLJ,KAAM,CACJM,KAAMC,OACNC,QAAS,IAEXF,KAAM,CACJA,KAAMC,OACNC,QAAS,OAEXof,IAAK,CACHtf,KAAMC,OACNC,QAAS,aCDA,GAXC,YACd,ICRW,WAAa,IAAI0C,EAAI/F,KAASgG,EAAGD,EAAI/B,eAAmBiC,EAAGF,EAAIG,MAAMD,IAAID,EAAG,MAAqB,QAAbD,EAAI5C,MAA+B,SAAb4C,EAAI5C,MAAgC,QAAb4C,EAAI5C,KAAgB8C,EAAG,MAAM,CAACG,MAAM,CAAC,IAAML,EAAI0c,IAAI,IAAM,OAAS,KAAqB1c,EAAIlD,KAAO,IAAMkD,EAAI5C,SAAU8C,EAAG,MAAM,CAACqG,SAAS,CAAC,UAAYvG,EAAIO,GAAG,OAAS,KAAqBP,EAAIlD,KAAO,cAC9T,IDUpB,EACA,KACA,KACA,M,uoBEPF5C,UAAIC,IAAIwiB,MACRziB,UAAI0C,UAAU,YAAaggB,IAC3B1iB,UAAI0C,UAAU,aAAcigB,IAC5B3iB,UAAI0C,UAAU,aAAckgB,MAE5B5iB,UAAIP,UAAUojB,gBAAkB,SAACC,GAO/B,OAAO,IAAIC,mBAAgB,CACzBC,UAPa,CACbC,UAAW,UACXC,OAAQ,UACRC,QAAS,UACTC,MAAO,WAGWN,IAAe,UACjCO,OAAQ,EACRC,YAAa,aAIjBtjB,UAAIP,UAAU8jB,sBAAwB,SAACT,GAOrC,OAAO,IAAIC,mBAAgB,CACzBC,UAPa,CACbC,UAAW,UACXC,OAAQ,UACRC,QAAS,UACTC,MAAO,WAGWN,IAAe,UACjCO,OAAQ,GACRC,YAAa,aAIjBtjB,UAAIP,UAAU+jB,iBAAmB,SAACC,GAChC,IAAIhN,QAAU,GAOd,OANAA,SAAW,oDAENgN,EAFM,eChBbzjB,UAAI0C,UAAUghB,IAAW9gB,KAAM8gB,KAG/B1jB,UAAI0C,UAAUihB,IAAM/gB,KAApB,SACK+gB,KADL,IAEEjgB,OAFF,SAEUI,EAAGgN,GAMT,OALuB6S,IAAMC,UAC3BD,IAAMC,SAAU,EAEhBrhB,QAAQC,KAAK,iGAERmhB,IAAMjgB,OAAOI,EAAGgN,OAK3B9Q,UAAI0C,UAAU+D,EAAU7D,KAAM6D,GAC9BzG,UAAI0C,UAAU,SAAU+D,GAKxBzG,UAAI0C,UAAUmhB,EAAKjhB,KAAMihB,GAEzB7jB,UAAIC,IAAI6jB,IAAM,CAAC,QAAU,OAAO,UAAY,cAAc,aAAe,kBAAkB,aAAe,QAE1G,IAAM3f,GAAoB,CAAC,KAAO,OAAO,KAAO,SAAS,QAAS,EAAK,YAAc,SAAS,kBAAoB,gBAAgB,cAAgB,a,SAEnI4f,G,gGAAf,WAA0BC,GAA1B,qHACuBlhB,IADvB,cACQ4P,EADR,QAGQ9D,EAAQW,EAAYyU,IAEpBnQ,QAAUnB,EAMVjB,EAXR,IAYI9L,KAAM,CAAC,MAAQ,aAAa,UAAY,CAAC,KAAO,MAAM,KAAO,CAAC,CAAC,QAAU,SAAS,CAAC,KAAO,WAAW,QAAU,uCAAuC,CAAC,IAAM,cAAc,KAAO,cAAc,QAAU,4GAA4G,KAAO,CAAC,CAAC,IAAM,OAAO,KAAO,eAAoB,KAAO,iBAAsB,OAAS,CAAC,CAAC,IAAM,+EAAkH,CAAC,IAAM,0CAA8D,OAAQ,EAAK,OAAQ,IAAO,MAAQ,IAEhnBiJ,QACA8D,SACAnR,KAAM,CACJ4C,qBACAD,YAAa,CAACC,IACd8f,eAHI,SAGY/f,GAed,OAdK2Y,MAAMC,QAAQ5Y,KACjBA,EAAc,CAACA,IAEjBA,EAAcA,EAAYuJ,KAAI,SAACjJ,GAQ7B,OAJEA,EAHGA,EAE4B,iBAAfA,EACHhB,OAAOyL,OAAO,GAAI9K,GAAmB,CAAEvB,KAAM4B,IAE7ChB,OAAOyL,OAAO,GAAI9K,GAAmBK,GAJrCL,MAQjBpE,KAAK6H,SAASrG,KAAK2C,YAAcA,EAC1BA,GAGT2D,IAAK,KACLqc,QAAS,KACT3e,MAvBI,SAuBGsC,GACLA,EAAMA,GAAO,KACb4J,EAAI7E,QAAQuX,SAAW7gB,QAAQuE,GAC/BA,EAAMA,EAAMuc,YAAevc,GAAO,KAClC,IAAItG,EAAOkQ,EAAIlQ,KAUf,OATIxB,OACFwB,EAAOxB,KAAKwB,MAAQxB,KAAK6H,SAASrG,MAEpCA,EAAK2iB,QAAUxL,KAAK2L,MACpB9iB,EAAKsG,IAAMA,EAEPmc,IACFA,EAAWziB,KAAKgE,MAAQsC,GAEnBA,KAGRyc,GAIL1V,EAAM6C,IAAMA,EAEN8S,EAAOP,EAAaA,EAAWO,KAAO,SAAA5kB,GAAQ,OAAI8R,EAAIiB,OAAOhT,KAAKC,IAGpEqkB,EACFlS,EAAQY,EAAO5Q,QAAQkiB,EAAWQ,KAAK1S,OAEjCrQ,KAAOgjB,YAAY/R,EAAOxR,QAAQd,KAAMsS,EAAOxR,QAAQf,MAC7D2R,EAAQY,EAAO5Q,QAAQL,MAAMqQ,OArEjC,UAyEQ4S,YAAWjT,EAAK,CACpB7C,QACAkD,QACAyS,OACAhf,MAAOkM,EAAIlQ,KAAKgE,MAAMR,KAAK0M,GAC3BkT,QAASX,EAAaA,EAAWW,aAAUlhB,EAC3CwN,IAAK+S,EAAaA,EAAW/S,SAAMxN,EACnC8U,IAAKyL,EAAaA,EAAWzL,SAAM9U,EACnCmhB,gBAAiBZ,EAAaA,EAAWY,qBAAkBnhB,EAC3DugB,eAlFJ,eAqFQjT,EAAS,SAAUnM,EAAK+X,GAC5B,IAAK/X,EACH,MAAM,IAAIoK,MAAM,0CAElB,QAAcvL,IAAVkZ,EACF,MAAM,IAAI3N,MAAJ,kBAAqBpK,EAArB,oCAKR6M,EAFA7M,EAAM,IAAMA,GAED+X,EAGX/N,EAAMhK,GAAO6M,EAAI7M,GAGjB,IAAMigB,EAAa,UAAYjgB,EAAM,eACjC5E,UAAI6kB,KAGR7kB,UAAI6kB,IAAc,EAElB7kB,UAAIC,KAAI,WACDuD,OAAO/D,UAAUqlB,eAAehlB,KAAKE,UAAK4E,IAC7CpB,OAAOuhB,eAAe/kB,UAAIP,UAAWmF,EAAK,CACxC8E,IADwC,WAEtC,OAAO3J,KAAK4H,MAAMC,SAAShD,WAS/B1F,OAAO8lB,UAAY9lB,OAAO8lB,SAAS9V,OACrCN,EAAMqW,aAAa/lB,OAAO8lB,SAAS9V,OAzHzC,UAgIUgW,GAAmCzT,EAAI7E,QAASmE,GAhI1D,yBAoIUoU,GAA4B1T,EAAI7E,QAASmE,GApInD,yBAwIUqU,GAAmC3T,EAAI7E,SAxIjD,WA2IiD,mBAApCyY,GA3Ib,kCA4IUA,GAAgC5T,EAAI7E,QAASmE,GA5IvD,yBAgJUuU,GAA2B7T,EAAI7E,QAASmE,GAhJlD,yBAoJUwU,GAA+B9T,EAAI7E,QAASmE,GApJtD,WAuJwE,mBAAzCyU,GAvJ/B,kCAwJUA,GAAqC/T,EAAI7E,QAASmE,GAxJ5D,WA2JuE,mBAAxC0U,GA3J/B,kCA4JUA,GAAoChU,EAAI7E,QAASmE,GA5J3D,WA+J4C,mBAA/B2U,KA/Jb,kCAgKUA,aAA2BjU,EAAI7E,QAASmE,GAhKlD,iFAwLS,CACLnC,QACA6C,MACAiB,WA3LJ,6C,4ECpDMiT,E,OAAgBzH,EAAML,SAC5B8H,EAAcvI,aAAaC,QAAQpd,KACjC,SAAUqd,GAUR,OAAOA,KAET,SAAU/X,GACR,OAAO1D,QAAQ6b,OAAOnY,MAIX,KACbmE,IADa,SACT8a,EAAKnH,EAASC,GAChB,OAAOqI,EAAcjc,IAAI8a,EAAK,CAAErd,OAAQkW,GAAW,CAAEnM,QAASoM,IAC3DpP,MAAK,SAAAsP,GAAQ,OAAI3b,QAAQC,QAAQ0b,MACjC+E,OAAM,SAAAhd,GAAK,OAAI1D,QAAQ6b,OAAOnY,OAEnC6c,KANa,SAMRoC,EAAKnH,GACR,OAAOsI,EAAcvD,KAAKoC,EAAKnH,GAC5BnP,MAAK,SAAAsP,GAAQ,OAAI3b,QAAQC,QAAQ0b,MACjC+E,OAAM,SAAChd,GACN,OAAO1D,QAAQ6b,OAAOnY,S,8+EClBvB,SAAS+I,EAAmB/I,GAC7BvF,UAAIsd,OAAOsI,cACb5lB,UAAIsd,OAAOsI,aAAargB,GAIrB,SAAS5C,EAAgBkjB,GAC9B,OAAOA,EAAQ3X,MAAK,SAAA4X,GAAC,OAAIA,EAAE1iB,SAAW0iB,KAGjC,SAASC,EAASC,GACvB,OAAOA,EAAGpe,UAAyC,mBAAtBoe,EAAGpe,SAASgG,QAAyBoY,EAAGpe,SAASgG,MAAM7M,OAE/E,SAASgN,EAAwCiY,GAAoB,MAAhBC,EAAgB,uDAAJ,GAChEC,EAAWF,EAAGG,WAAa,GADyC,IAEtDD,GAFsD,IAE1E,2BAA8B,KAAnBE,EAAmB,QACxBA,EAAMtY,OACRmY,EAAUvmB,KAAK0mB,GAGbA,EAAMD,WACRpY,EAAwCqY,EAAOH,IARuB,8BAW1E,OAAOA,EAGF,SAASI,EAAgBhf,EAAW4G,GACzC,GAGGA,IAAa5G,EAAUnG,QAAQolB,cAHlC,CAQA,IAAMC,EAAgBlf,EAAUnG,QAAQslB,eAAiBnf,EAAUnG,QAAQ2C,MAAQ,WAAc,MAAO,IACxGwD,EAAUnG,QAAQslB,cAAgBD,EAElClf,EAAUnG,QAAQ2C,KAAO,WACvB,IAAMA,KAAO0iB,EAAczmB,KAAKC,KAAMA,MAItC,OAHIA,KAAK0mB,cACPxY,EAAYlO,KAAK0mB,YAAYxY,UAAU5G,EAAUqf,MAEnD,OAAY7iB,MAASoK,IAGvB5G,EAAUnG,QAAQolB,eAAgB,EAE9Bjf,EAAUsf,OAAStf,EAAUsf,MAAMzlB,UACrCmG,EAAUsf,MAAMzlB,QAAQ2C,KAAOwD,EAAUnG,QAAQ2C,OAI9C,SAASgI,EAAmBxE,GAEjC,OAAIA,EAAUnG,SAAWmG,EAAUsf,QAAUtf,IAGxCA,EAAUnG,SAIbmG,EAAUsf,MAAQtf,EAClBA,EAAUuf,cAAgBvf,EAAUnG,UAJpCmG,EAAYrH,UAAI6mB,OAAOxf,IACbsf,MAAQtf,GAMfA,EAAUnG,QAAQ0B,MAAQyE,EAAUnG,QAAQ4lB,SAC/Czf,EAAUnG,QAAQ0B,KAAOyE,EAAUnG,QAAQ4lB,SAXpCzf,EAgBJ,SAASvG,EAAsBgR,GAA6C,IAAtCpG,EAAsC,wDAArBqb,EAAqB,uDAAd,aACnE,OAAOlK,MAAMpd,UAAUunB,OAAOjT,MAAM,GAAIjC,EAAM7K,QAAQwG,KAAI,SAACqY,EAAG7O,GAC5D,OAAOzT,OAAOyjB,KAAKnB,EAAEiB,IAAOtZ,KAAI,SAAC7I,GAE/B,OADA8G,GAAWA,EAAQhM,KAAKuX,GACjB6O,EAAEiB,GAAMniB,UAKd,SAAS2I,EAA+BuE,GAAwB,IAAjBpG,EAAiB,wDACrE,OAAO5K,EAAqBgR,EAAOpG,EAAS,aAGvC,SAASwb,EAAmBpV,EAAOqL,GACxC,OAAON,MAAMpd,UAAUunB,OAAOjT,MAAM,GAAIjC,EAAM7K,QAAQwG,KAAI,SAACqY,EAAG7O,GAC5D,OAAOzT,OAAOyjB,KAAKnB,EAAEtf,YAAY2gB,QAAO,SAAC3Z,EAAU5I,GAMjD,OALIkhB,EAAEtf,WAAW5B,GACf4I,EAAS9N,KAAKyd,EAAG2I,EAAEtf,WAAW5B,GAAMkhB,EAAEG,UAAUrhB,GAAMkhB,EAAGlhB,EAAKqS,WAEvD6O,EAAEtf,WAAW5B,GAEf4I,IACN,QAIA,SAAS4Z,EAAwBtV,EAAOqL,GAC7C,OAAOtb,QAAQwM,IACb6Y,EAAkBpV,EAAD,sDAAQ,WAAOzK,EAAWggB,EAAU5M,EAAO7V,GAAnC,mFAEE,mBAAdyC,GAA6BA,EAAUnG,QAF3B,gCAGHmG,IAHG,OAGrBA,EAHqB,qBAKvBoT,EAAMjU,WAAW5B,GAAOyC,EAAYwE,EAAkBxE,GAL/B,kBAMF,mBAAP8V,EAAoBA,EAAG9V,EAAWggB,EAAU5M,EAAO7V,GAAOyC,GANjD,2CAAR,8DAWd,SAAeigB,EAAtB,kC,2DAAO,WAA6BxV,GAA7B,mFACAA,EADA,iEAKCsV,EAAuBtV,GALxB,uCAQAA,GARA,IASHjM,KAAM/E,EAAqBgR,GAAOrE,KAAI,SAACpG,EAAW4P,GAChD,cAAY5P,EAAUnG,QAAQ2E,OAAUiM,EAAM7K,QAAQgQ,IAAU,IAAIpR,YAVnE,4C,sBAeA,SAAe6e,EAAtB,oC,2DAAO,WAA2BjT,EAAK7E,GAAhC,mGAEA6E,EAAI7E,UACP6E,EAAI7E,QAAU,CACZ2a,UAAU5X,EACV6X,OAAO,EACP9V,OAAO,EACPD,MACA7C,MAAO6C,EAAI7C,MACX+V,QAAS/X,EAAQ+X,QACjBpf,MAAOqH,EAAQrH,MACfnF,KAAM,IACNqnB,IAAK,IAGH7a,EAAQqE,MACVQ,EAAI7E,QAAQqE,IAAMrE,EAAQqE,KAExBrE,EAAQ2L,MACV9G,EAAI7E,QAAQ2L,IAAM3L,EAAQ2L,KAExB3L,EAAQoX,aACVvS,EAAI7E,QAAQoX,WAAapX,EAAQoX,YAEnCvS,EAAI7E,QAAQ8N,SAAW,SAACgN,EAAQjmB,KAAMma,GACpC,GAAK8L,EAAL,CAGAjW,EAAI7E,QAAQ+a,aAAc,EAE1B,IAAIC,EAAW,YAAOnmB,MAWtB,GAVsB,iBAAXimB,GAAqC,cAAbE,GAAyC,WAAbA,IAC7DhM,EAAQna,MAAQ,GAChBA,KAAOimB,EACPE,EAAW,YAAOnmB,MAClBimB,EAAS,KAEM,WAAbE,IACFnmB,KAAOgQ,EAAIiB,OAAO5Q,QAAQL,MAAMqQ,MAAMG,WAGpC,4BAA4B3K,KAAK7F,MAmBjC,MAZFA,KAAOomB,EAAUpmB,KAAMma,GASrB1c,OAAOS,SAAS4H,QAAQ9F,MAGlB,IAAIuN,MAAM,gBAlBlByC,EAAI7E,QAAQ2X,KAAK,CACf9iB,UACAma,QACA8L,aAuBJjW,EAAI7E,QAAQkb,UAAY5oB,OAAO8lB,UApE9B,SAyE2CnjB,QAAQwM,IAAI,CAC1DiZ,EAAa1a,EAAQkF,OACrBwV,EAAa1a,EAAQlM,QA3ElB,mCAyEEqnB,EAzEF,KAyEoBC,EAzEpB,KA8EDpb,EAAQkF,QACVL,EAAI7E,QAAQkF,MAAQiW,GAGlBnb,EAAQlM,OACV+Q,EAAI7E,QAAQlM,KAAOsnB,GAGrBvW,EAAI7E,QAAQ2X,KAAO3X,EAAQ2X,KAC3B9S,EAAI7E,QAAQ+a,aAAc,EAC1BlW,EAAI7E,QAAQuX,UAAW,EACvB1S,EAAI7E,QAAQ8E,OAAQ,EACpBD,EAAI7E,QAAQzF,OAASsK,EAAI7E,QAAQkF,MAAM3K,QAAU,GACjDsK,EAAI7E,QAAQgP,MAAQnK,EAAI7E,QAAQkF,MAAM8J,OAAS,GA3F1C,6C,sBA8FA,SAASqM,EAAkBza,EAAU0a,GAC1C,OAAK1a,EAASzM,QAAUmnB,EAAWP,aAAeO,EAAW/D,SACpDtiB,QAAQC,UAEV+L,EAAUL,EAAS,GAAI0a,GAC3Bha,MAAK,WACJ,OAAO+Z,EAAiBza,EAAS2a,MAAM,GAAID,MAI1C,SAASra,EAAWsP,EAAIvQ,GAC7B,IAAIiZ,EAgBJ,OAbEA,EAFgB,IAAd1I,EAAGpc,OAEK,IAAIc,SAAQ,SAACC,GACrBqb,EAAGvQ,GAAS,SAAU/E,EAAKhE,MACrBgE,GACF+E,EAAQrH,MAAMsC,GAGhB/F,EADA+B,KAAOA,MAAQ,UAKTsZ,EAAGvQ,KAGAiZ,aAAmBhkB,SAAmC,mBAAjBgkB,EAAQ3X,KACnD2X,EAEFhkB,QAAQC,QAAQ+jB,GAIlB,SAASpB,EAAarkB,KAAMD,GACjC,IAAIsB,KAAOpB,UAAUnB,OAAOS,SAASyoB,UACrC,MAAa,SAATjoB,EACKjB,OAAOS,SAAS+B,KAAK6F,QAAQ,OAAQ,KAE1CnH,MAA+B,IAAvBqB,KAAK4mB,QAAQjoB,QACvBqB,KAAOA,KAAK0mB,MAAM/nB,KAAKW,UAEjBU,MAAQ,KAAOvC,OAAOS,SAAS2oB,OAASppB,OAAOS,SAAS+B,MAY3D,SAASwF,EAASqhB,EAAKrnB,GAC5B,OAyKF,SAA2BsnB,EAAQtnB,GAKjC,IAHA,IAAMwK,EAAU,IAAImR,MAAM2L,EAAOznB,QAGxB0nB,EAAI,EAAGA,EAAID,EAAOznB,OAAQ0nB,IACR,WAArB,YAAOD,EAAOC,MAChB/c,EAAQ+c,GAAK,IAAIjO,OAAO,OAASgO,EAAOC,GAAGC,QAAU,KAAMC,EAAMznB,KAIrE,OAAO,SAAU0nB,EAAKC,GAMpB,IALA,IAAIpnB,KAAO,GACLoC,KAAO+kB,GAAO,GAEdE,GADUD,GAAQ,IACDE,OAASC,EAA2BC,mBAElDR,EAAI,EAAGA,EAAID,EAAOznB,OAAQ0nB,IAAK,CACtC,IAAMxL,EAAQuL,EAAOC,GAErB,GAAqB,iBAAVxL,EAAX,CAMA,IAAMN,EAAQ9Y,KAAKoZ,EAAMra,MAAQ,aAC7BsmB,OAAO,EAEX,GAAa,MAATvM,EAAe,CACjB,GAAIM,EAAMkM,SAAU,CAEdlM,EAAMmM,UACR3nB,MAAQwb,EAAMoM,QAGhB,SAEA,MAAM,IAAIC,UAAU,aAAerM,EAAMra,KAAO,mBAIpD,GAAIia,MAAMC,QAAQH,GAAlB,CACE,IAAKM,EAAMsM,OACT,MAAM,IAAID,UAAU,aAAerM,EAAMra,KAAO,kCAAoC4mB,KAAKC,UAAU9M,GAAS,KAG9G,GAAqB,IAAjBA,EAAM5b,OAAc,CACtB,GAAIkc,EAAMkM,SACR,SAEA,MAAM,IAAIG,UAAU,aAAerM,EAAMra,KAAO,qBAIpD,IAAK,IAAI8mB,EAAI,EAAGA,EAAI/M,EAAM5b,OAAQ2oB,IAAK,CAGrC,GAFAR,EAAUJ,EAAOnM,EAAM+M,KAElBhe,EAAQ+c,GAAGnhB,KAAK4hB,GACnB,MAAM,IAAII,UAAU,iBAAmBrM,EAAMra,KAAO,eAAiBqa,EAAMyL,QAAU,oBAAsBc,KAAKC,UAAUP,GAAW,KAGvIznB,OAAe,IAANioB,EAAUzM,EAAMoM,OAASpM,EAAM0M,WAAaT,OApBzD,CA4BA,GAFAA,EAAUjM,EAAM2M,SA9FbZ,EA8FuCrM,GA9FT,GA8FkBmM,EAAOnM,IAErDjR,EAAQ+c,GAAGnhB,KAAK4hB,GACnB,MAAM,IAAII,UAAU,aAAerM,EAAMra,KAAO,eAAiBqa,EAAMyL,QAAU,oBAAsBQ,EAAU,KAGnHznB,MAAQwb,EAAMoM,OAASH,QArDrBznB,MAAQwb,EAwDZ,OAAOxb,MAtPFooB,CAyDT,SAAgBtB,EAAKrnB,GACnB,IAKIqX,EALEiQ,EAAS,GACX5jB,EAAM,EACNqS,EAAQ,EACRxV,KAAO,GACLqoB,EAAoB5oB,GAAWA,EAAQyoB,WAAc,IAG3D,KAAwC,OAAhCpR,EAAMwR,EAAYC,KAAKzB,KAAe,CAC5C,IAAMzC,EAAIvN,EAAI,GACR0R,EAAU1R,EAAI,GACd2R,EAAS3R,EAAItB,MAKnB,GAJAxV,MAAQ8mB,EAAIJ,MAAMlR,EAAOiT,GACzBjT,EAAQiT,EAASpE,EAAE/kB,OAGfkpB,EACFxoB,MAAQwoB,EAAQ,OADlB,CAKA,IAAM1F,EAAOgE,EAAItR,GACXoS,EAAS9Q,EAAI,GACb3V,EAAO2V,EAAI,GACX4R,EAAU5R,EAAI,GACd6R,EAAQ7R,EAAI,GACZ8R,EAAW9R,EAAI,GACfqR,EAAWrR,EAAI,GAGjB9W,OACF+mB,EAAO9oB,KAAK+B,MACZA,KAAO,IAGT,IAAM2nB,EAAoB,MAAVC,GAA0B,MAAR9E,GAAgBA,IAAS8E,EACrDE,EAAsB,MAAbc,GAAiC,MAAbA,EAC7BlB,EAAwB,MAAbkB,GAAiC,MAAbA,EAC/BV,EAAYpR,EAAI,IAAMuR,EACtBpB,QAAUyB,GAAWC,EAE3B5B,EAAO9oB,KAAK,CACVkD,KAAMA,GAAQgC,IACdykB,OAAQA,GAAU,GAClBM,YACAR,WACAI,SACAH,UACAQ,SAAUtmB,QAAQsmB,GAClBlB,QAASA,QAAU4B,EAAY5B,SAAYkB,EAAW,KAAO,KAAOW,EAAaZ,GAAa,SAK9F1S,EAAQsR,EAAIxnB,SACdU,MAAQ8mB,EAAIrmB,OAAO+U,IAIjBxV,MACF+mB,EAAO9oB,KAAK+B,MAGd,OAAO+mB,EAxHiBgC,CAAMjC,EAAKrnB,GAAUA,GAGxC,SAASupB,EAAcC,EAASC,GACrC,IAAMC,EAAO,GACPC,EAAU,EAAH,KAAQH,GAAYC,GACjC,IAAK,IAAMG,KAAKD,EACV1nB,OAAOunB,EAAQI,MAAQ3nB,OAAOwnB,EAAUG,MAC1CF,EAAKE,IAAK,GAGd,OAAOF,EAGF,SAASxG,EAAgBvc,GAC9B,IAAInC,EACJ,GAAMmC,EAAInC,SAA0B,iBAARmC,EAO1BnC,EAAUmC,EAAInC,SAAWmC,OANzB,IACEnC,EAAU8jB,KAAKC,UAAU5hB,EAAK,KAAM,GACpC,MAAOvF,GACPoD,EAAU,IAAH,OAAOmC,EAAIkjB,YAAYnoB,KAAvB,KAKX,cACKiF,GADL,IAEEnC,UACAD,WAAaoC,EAAIpC,YAAcoC,EAAI6f,QAAW7f,EAAI2V,UAAY3V,EAAI2V,SAASkK,QAAW,MAxTxFxoB,OAAO8rB,eAAiB,GACxB9rB,OAAO+rB,YAAc,SAACC,GACpBhsB,OAAO8rB,eAAetrB,KAAKwrB,IA+T/B,IAAMnB,EAAc,IAAIvP,OAAO,CAG7B,UAOA,0GACAD,KAAK,KAAM,KAiFb,SAASyO,EAA0BT,EAAK4C,GACtC,IAAMC,EAAKD,EAAe,QAAU,SACpC,OAAOE,UAAU9C,GAAKhhB,QAAQ6jB,GAAI,SAACE,GACjC,MAAO,IAAMA,EAAEC,WAAW,GAAGzjB,SAAS,IAAI0jB,iBAoB9C,SAASjB,EAAchC,GACrB,OAAOA,EAAIhhB,QAAQ,4BAA6B,QASlD,SAAS+iB,EAAaF,GACpB,OAAOA,EAAM7iB,QAAQ,eAAgB,QA6FvC,SAASohB,EAAOznB,GACd,OAAOA,GAAWA,EAAQuqB,UAAY,GAAK,IAU7C,SAAS5D,EAAWrD,EAAK5I,GACvB,IAAItI,EACE2D,EAAQuN,EAAI6D,QAAQ,QACX,IAAXpR,GACF3D,EAAWkR,EAAIkH,UAAU,EAAGzU,GAC5BuN,EAAMA,EAAIkH,UAAUzU,EAAQ,IACnBuN,EAAImH,WAAW,QACxBnH,EAAMA,EAAIkH,UAAU,IAGtB,IAIIhqB,EAJAkqB,EAAQpH,EAAIjR,MAAM,KAClBsY,GAAUvY,EAAWA,EAAW,MAAQ,MAAQsY,EAAME,QAEtDrqB,KAAOmqB,EAAMhV,OAAOtT,SAASiX,KAAK,KAGtC,GAAqB,KADrBqR,EAAQnqB,KAAK8R,MAAM,MACTxS,OAAc,OACP6qB,EADO,mBACrBnqB,KADqB,KACfC,EADe,KAWxB,OAPAmqB,GAAUpqB,KAAO,IAAMA,KAAO,GAE1Bma,GAAmC,OAA1B4N,KAAKC,UAAU7N,KAC1BiQ,IAAqC,IAA1BrH,EAAIjR,MAAM,KAAKxS,OAAe,IAAM,KAanD,SAAsB6a,GACpB,OAAOpY,OAAOyjB,KAAKrL,GAAOpE,OAAO/J,KAAI,SAAC7I,GACpC,IAAMmnB,EAAMnQ,EAAMhX,GAClB,OAAW,MAAPmnB,EACK,GAELlP,MAAMC,QAAQiP,GACTA,EAAI5D,QAAQ1a,KAAI,SAAAue,GAAI,MAAI,CAACpnB,EAAK,IAAKonB,GAAMzR,KAAK,OAAKA,KAAK,KAE1D3V,EAAM,IAAMmnB,KAClBnV,OAAOtT,SAASiX,KAAK,KAvBgC0R,CAAYrQ,IAEpEiQ,GAAUnqB,EAAO,IAAMA,EAAO,GAwBzB,SAASwqB,EAAiBlG,EAAImG,EAAMhP,GACpC6I,EAAGpe,SAASukB,KACfnG,EAAGpe,SAASukB,GAAQ,IAEjBnG,EAAGpe,SAASukB,GAAM9Z,SAAS8K,IAC9B6I,EAAGpe,SAASukB,GAAMzsB,KAAKyd,K,iCChmBZ5L,IAFI,I,oBCGnB,IAAIkF,QAAU,EAAQ,KACA,iBAAZA,UAAsBA,QAAU,CAAC,CAAC2V,EAAO3D,EAAIhS,QAAS,MAC7DA,QAAQ4V,SAAQD,EAAOE,QAAU7V,QAAQ4V,SAG/BE,EADH,EAAQ,KAA+DnpB,SAChE,WAAYqT,SAAS,EAAM,CAAC,WAAY,K,oBCLzD,IAAIA,QAAU,EAAQ,KACA,iBAAZA,UAAsBA,QAAU,CAAC,CAAC2V,EAAO3D,EAAIhS,QAAS,MAC7DA,QAAQ4V,SAAQD,EAAOE,QAAU7V,QAAQ4V,SAG/BE,EADH,EAAQ,KAA+DnpB,SAChE,WAAYqT,SAAS,EAAM,CAAC,WAAY,K,oBCLzD,IAAIA,QAAU,EAAQ,KACA,iBAAZA,UAAsBA,QAAU,CAAC,CAAC2V,EAAO3D,EAAIhS,QAAS,MAC7DA,QAAQ4V,SAAQD,EAAOE,QAAU7V,QAAQ4V,SAG/BE,EADH,EAAQ,KAAkEnpB,SACnE,WAAYqT,SAAS,EAAM,CAAC,WAAY,K,oBCLzD,IAAIA,QAAU,EAAQ,KACA,iBAAZA,UAAsBA,QAAU,CAAC,CAAC2V,EAAO3D,EAAIhS,QAAS,MAC7DA,QAAQ4V,SAAQD,EAAOE,QAAU7V,QAAQ4V,SAG/BE,EADH,EAAQ,KAAkEnpB,SACnE,WAAYqT,SAAS,EAAM,CAAC,WAAY,K,oBCLzD,IAAIA,QAAU,EAAQ,KACA,iBAAZA,UAAsBA,QAAU,CAAC,CAAC2V,EAAO3D,EAAIhS,QAAS,MAC7DA,QAAQ4V,SAAQD,EAAOE,QAAU7V,QAAQ4V,SAG/BE,EADH,EAAQ,KAAkEnpB,SACnE,WAAYqT,SAAS,EAAM,CAAC,WAAY,K,oBCLzD,IAAIA,QAAU,EAAQ,KACA,iBAAZA,UAAsBA,QAAU,CAAC,CAAC2V,EAAO3D,EAAIhS,QAAS,MAC7DA,QAAQ4V,SAAQD,EAAOE,QAAU7V,QAAQ4V,SAG/BE,EADH,EAAQ,KAAkEnpB,SACnE,WAAYqT,SAAS,EAAM,CAAC,WAAY,K,2pCCNzD,IAAM+V,EAAsBttB,OAAOstB,qBACjC,SAAUtB,GACR,IAAMjiB,EAAQyP,KAAK2L,MACnB,OAAOnb,YAAW,WAChBgiB,EAAG,CACDuB,YAAY,EACZC,cAAe,kBAAMrjB,KAAKE,IAAI,EAAG,IAAMmP,KAAK2L,MAAQpb,SAErD,IAGD0jB,EAAqBztB,OAAOytB,oBAAsB,SAAUrgB,GAChEvD,aAAauD,IAGTsgB,EAAW1tB,OAAO2tB,sBAAwB,IAAI3tB,OAAO2tB,sBAAqB,SAAChX,GAC/EA,EAAQlR,SAAQ,YAAyC,IAAtCmoB,EAAsC,EAAtCA,kBAA2BlY,KAAW,EAAnBmY,OAChCD,GAAqB,GAGzBlY,KAAKoY,mBAIM,KACbpqB,KAAM,WACNqqB,QAASjtB,UAAI0C,UAAU,cACvBM,MAAO,CACLkqB,SAAU,CACRhqB,KAAMI,QACNF,SAAS,GAEX+pB,WAAY,CACVjqB,KAAMI,QACNF,SAAS,IAGbiI,QAba,WAcPtL,KAAKmtB,WAAantB,KAAKotB,aACzBptB,KAAKqtB,SAAWZ,EAAoBzsB,KAAKstB,QAAS,CAAEC,QAAS,QAGjE5kB,cAlBa,WAmBXikB,EAAmB5sB,KAAKqtB,UAEpBrtB,KAAKwtB,aACPX,EAASY,UAAUztB,KAAK0hB,YACjB1hB,KAAK0hB,IAAIuL,aAGpBpkB,QAAS,CACPykB,QADO,WAGAT,GAID7sB,KAAK0tB,mBACP1tB,KAAK0hB,IAAIuL,WAAajtB,KAAK2tB,aAAa3oB,KAAKhF,MAC7C6sB,EAASS,QAAQttB,KAAK0hB,KACtB1hB,KAAKwtB,YAAa,IAGtBE,eAbO,WAcL,OAAO1tB,KAAK4tB,wBAAwB5sB,OAAS,GAE/C6sB,YAhBO,WAiBL,IAAMC,EAAO1gB,UAAU2gB,WAGvB,QAFyB/tB,KAAKyB,MAAMyL,WAAc4gB,KAAUA,EAAKE,eAAiB,IAAI1b,SAAS,OAASwb,EAAKG,YAI/GL,sBAtBO,WA0BL,OAHY5tB,KAAK8T,QAAQ/R,QAAQ/B,KAAKU,GAAIV,KAAKiH,OAAQjH,KAAKkuB,QACrCC,SAASjnB,QAAQwG,KAAI,SAAA0gB,GAAC,OAAIA,EAAE3nB,WAAWpD,WAE5CwT,QAAO,SAAAvP,GAAS,MAAyB,mBAAdA,IAA6BA,EAAUnG,UAAYmG,EAAU+mB,iBAE5GV,aA5BO,WA6BL,GAAK3tB,KAAK6tB,cAAV,CAIAhB,EAASY,UAAUztB,KAAK0hB,KACxB,IANc,MAMK1hB,KAAK4tB,yBANV,IAQd,2BAAoC,KAAzBtmB,EAAyB,QAC5BgnB,EAAqBhnB,IACvBgnB,aAA8BxsB,SAChCwsB,EAAmB9L,OAAM,eAE3Blb,EAAU+mB,cAAe,GAbb,oC,sIC5EdtG,EAAY5oB,OAAO8lB,SAsBzB,SAASsJ,IACP,IAAKvuB,KAAKwuB,UACR,OAAOxuB,KAAK+N,SAIhB,SAASpD,IACP,IA9BsBsb,EA8BFjmB,MA9BYsE,QAAU2hB,EAAG3hB,OAAOmqB,KAAOxI,EAAG3hB,OAAOmqB,IAAIC,SAAWzI,EAAG3hB,OAAOmqB,IAAIC,QAAQC,SA8B1G,CA9BqB,IAAC1I,EAmCtBjmB,KAAKwuB,WAAY,EACjBxuB,KAAK4uB,WAAa5uB,KAAKsE,OAAOmqB,IAAIC,QAAQC,SAC1C,IAAM7qB,KAAOikB,EAAUla,MAAM7N,KAAK4uB,WAGlC,GAAI9qB,MAAQA,KAAK+qB,OACf7uB,KAAK8uB,YAAYtpB,MAAQ1B,KAAK+qB,YAKhC,IAAK,IAAMhqB,KAAOf,KAChB7D,UAAIoJ,IAAIrJ,KAAKqO,MAAOxJ,EAAKf,KAAKe,KAIlC,SAASkJ,IAAS,WAKhB,OAJK/N,KAAK+uB,gBACR/uB,KAAK+uB,cAAgBC,EAAQjvB,KAAKC,MAC/BmO,MAAK,kBAAe,EAAK4gB,kBAEvB/uB,KAAK+uB,c,SAGCC,I,0FAAf,qHACEhvB,KAAKyB,MAAMkL,aACX3M,KAAK8uB,YAAYG,SAAU,EAC3BjvB,KAAK8uB,YAAYtpB,MAAQ,KACzBxF,KAAKwuB,WAAY,EACbhpB,EAAQ,KACN0pB,EAAYvW,KAAK2L,MANzB,kBASUtkB,KAAK6H,SAASgG,MAAM9N,KAAKC,MATnC,yDAWIwF,EAAQ6e,YAAe,EAAD,IAX1B,cAcQ8K,EAAYnvB,KAAKovB,aAAezW,KAAK2L,MAAQ4K,IACnC,GAflB,kCAgBU,IAAIptB,SAAQ,SAAAC,GAAO,OAAIoH,WAAWpH,EAASotB,MAhBrD,QAmBEnvB,KAAK8uB,YAAYtpB,MAAQA,EACzBxF,KAAK8uB,YAAYG,SAAU,EAC3BjvB,KAAK8uB,YAAYO,UAAY1W,KAAK2L,MAElCtkB,KAAK4B,WAAU,kBAAM,EAAKH,MAAMkL,gBAvBlC,2D,sBAxDe,KACblF,aADa,WAENue,YAAShmB,QAIdA,KAAKovB,YAAkD,iBAA7BpvB,KAAK6H,SAASynB,WAA0BtvB,KAAK6H,SAASynB,WAAa,IAE7FrvB,UAAIyH,KAAKC,eAAe3H,KAAM,cAAe,CAC3CivB,SAAS,EACTzpB,MAAO,KACP6pB,UAAW1W,KAAK2L,QAGlBtkB,KAAK+N,OAASA,EAAO/I,KAAKhF,MAC1BmsB,YAAiBnsB,KAAM,UAAW2K,GAClCwhB,YAAiBnsB,KAAM,cAAeuuB,O,oBCtB1ClC,EAAOE,QAAU,IAA0B,mB,oBCA3CF,EAAOE,QAAU,IAA0B,mB,2zCCuBtCtsB,UAAIsvB,yBACPtvB,UAAIoU,MAAMmb,KACVvvB,UAAIsvB,wBAAyB,GAI/BtvB,UAAI0C,UAAU8sB,IAAS5sB,KAAM4sB,KAC7BxvB,UAAI0C,UAAU,QAAS8sB,KAElBC,EAAO7hB,QAAS6hB,EAAO7hB,MAAQA,KAGpC,IACI6D,EACAiB,EAFAgd,EAAa,GAMXC,EAAOzwB,OAAO8lB,UAAY,GAEhCxhB,OAAOyL,OAAOjP,UAAIsd,OAAQ,CAAC,QAAS,EAAK,aAAc,IAEvD,IAAMsI,EAAe5lB,UAAIsd,OAAOsI,cAAgBrjB,QAAQgD,MAgBxD,SAASqqB,EAAgBC,EAAcpvB,EAAIC,GAUzC,IATA,IAAMovB,EAAuB,SAACptB,WAC5B,IAAM8B,EAbV,SAA0B9B,UAAWkC,GACnC,IAAKlC,YAAcA,UAAUxB,UAAYwB,UAAUxB,QAAQ0D,GACzD,MAAO,GAET,IAAMmrB,OAASrtB,UAAUxB,QAAQ0D,GACjC,GAAsB,mBAAXmrB,OAAuB,4BALSC,EAKT,iCALSA,EAKT,kBAChC,OAAOD,OAAM,WAAN,EAAUC,GAEnB,OAAOD,OAKcE,CAAgBvtB,UAAW,aAAcjC,EAAIC,IAAS,GACzE,MAA8B,iBAAf8D,EAA0B,CAAE5B,KAAM4B,GAAeA,GAG5D0rB,EAAiBxvB,EAAOI,YAAqBJ,GAAQ,GACrDyvB,EAAW9mB,KAAKE,IAAIsmB,EAAa9uB,OAAQmvB,EAAenvB,QAExDqvB,EAAoB,GATqB,WAUtC3H,GAEP,IAAM4H,EAAgB7sB,OAAOyL,OAAO,GAAI6gB,EAAqBD,EAAapH,KACpEvkB,EAAcV,OAAOyL,OAAO,GAAI6gB,EAAqBI,EAAezH,KAG1EjlB,OAAOyjB,KAAKoJ,GACPzZ,QAAO,SAAAhS,GAAG,YAAkC,IAAvByrB,EAAczrB,KAAyBA,EAAIyS,cAAchF,SAAS,YACvF1N,SAAQ,SAACC,GAAUV,EAAYU,GAAOyrB,EAAczrB,MAEzDwrB,EAAkB1wB,KAAKwE,IAVhBukB,EAAE,EAAGA,EAAE0H,EAAU1H,IAAK,EAAtBA,GAYT,OAAO2H,E,SAGME,E,iGAAf,WAAoC7vB,EAAIC,EAAM6jB,GAA9C,sGAEExkB,KAAKwwB,cAAgBjtB,QAAQmO,EAAIlQ,KAAKsG,MAAQnH,EAAKkC,OAASnC,EAAGmC,KAC/D7C,KAAKywB,eAAiBzwB,KAAKwwB,eAAiB7vB,EAAKe,OAAShB,EAAGgB,KAC7D1B,KAAK0wB,eAAiB1wB,KAAKywB,eAAiB9vB,EAAKuR,WAAaxR,EAAGwR,SACjElS,KAAK2wB,WAAc3wB,KAAK0wB,cAAgBhG,YAAahqB,EAAGmb,MAAOlb,EAAKkb,OAAS,IAExE7b,KAAKwwB,eAAiBxwB,KAAKywB,gBAAkBzwB,KAAK8M,SAAS5D,QAAUlJ,KAAK8M,SAAS8jB,QACtF5wB,KAAK8M,SAAS5D,QARlB,UAYQlJ,KAAK0wB,cAZb,iCAa+BrJ,YACvB3mB,GACA,SAAC4G,EAAWggB,GAAZ,MAA0B,CAAEhgB,YAAWggB,eAf/C,OAaYuJ,EAbZ,OAkB0BA,EAAWxvB,MAAK,YAA6B,IAA1BiG,EAA0B,EAA1BA,UAAWggB,EAAe,EAAfA,SAC1CwJ,EAAaxpB,EAAUnG,QAAQ2vB,WACrC,OAAmB,IAAfA,IAGAhU,MAAMC,QAAQ+T,GACTA,EAAWzvB,MAAK,SAAAwD,GAAG,OAAI,EAAK8rB,WAAW9rB,MAEtB,mBAAfisB,GACFA,EAAW9c,MAAMsT,EAAU,CAAC5mB,EAAGmb,MAAOlb,EAAKkb,aAInC7b,KAAK8M,SAAS5D,QAAUlJ,KAAK8M,SAAS8jB,QACvD5wB,KAAK8M,SAAS5D,QAhCtB,QAqCIsb,IArCJ,qDAuCU1c,EAAM,MAAS,GACfpC,EAAaoC,EAAIpC,YAAcoC,EAAI6f,QAAW7f,EAAI2V,UAAY3V,EAAI2V,SAASkK,QAAW,IACtFhiB,EAAUmC,EAAInC,SAAW,IAI3B,uCAAuC4B,KAAK5B,GA7CpD,wBA8CMxG,OAAOS,SAASmxB,QAAO,GA9C7B,2BAkDI/wB,KAAKwF,MAAM,CAAEE,aAAYC,YACzB3F,KAAKyB,MAAMI,MAAM,eAAgBnB,EAAIC,EAAMmH,GAC3C0c,IApDJ,2D,sBAwDA,SAASwM,EAAc1pB,EAAW2pB,GAMhC,OALIrB,EAAKsB,gBAAkBD,GACzB3K,YAAehf,EAAW2pB,GAG5B3pB,EAAUsf,MAAQtf,EACXA,EAIT,SAAS6pB,EAAmBxe,GAC1B,IAAMjR,KAAOgjB,YAAY/R,EAAOxR,QAAQd,KAAMsS,EAAOxR,QAAQf,MAE7D,OAAO+mB,YAAkBxU,EAAO+H,MAAMhZ,MAAd,sDAAqB,WAAO4F,EAAW1D,EAAG8W,EAAO7V,EAAKqS,GAAjC,yFAElB,mBAAd5P,GAA6BA,EAAUnG,QAFP,gCAGvBmG,IAHuB,OAGzCA,EAHyC,qBAMrC8pB,EAAaJ,EAAallB,YAAkBxE,GAAYsoB,EAAK9rB,KAAO8rB,EAAK9rB,KAAKoT,GAAS,MAC7FwD,EAAMjU,WAAW5B,GAAOusB,EAPmB,kBAQpCA,GARoC,2CAArB,+DAY1B,SAASC,EAAgBR,EAAYhkB,EAAST,GAAQ,WAChDklB,EAAO,CAAC,YACRC,GAAoB,EA2BxB,QAxBsB,IAAXnlB,IACTklB,EAAO,IACPllB,EAASN,YAAkBM,IAChBjL,QAAQqQ,aACjB8f,EAAOA,EAAKrK,OAAO7a,EAAOjL,QAAQqQ,aAEpCqf,EAAWjsB,SAAQ,SAAC0C,GACdA,EAAUnG,QAAQqQ,aACpB8f,EAAOA,EAAKrK,OAAO3f,EAAUnG,QAAQqQ,iBAK3C8f,EAAOA,EAAK5jB,KAAI,SAAC7K,GACf,MAAoB,mBAATA,EACFA,GAEuB,mBAArB2O,IAAW3O,KACpB0uB,GAAoB,EACpB,EAAK/rB,MAAM,CAAEE,WAAY,IAAKC,QAAS,sBAAwB9C,KAE1D2O,IAAW3O,QAGhB0uB,EAGJ,OAAOrJ,YAAiBoJ,EAAMzkB,G,SAGjBlJ,E,iGAAf,WAAuBjD,EAAIC,EAAM6jB,GAAjC,6HAC6B,IAAvBxkB,KAAKwwB,gBAAkD,IAAvBxwB,KAAKywB,gBAAkD,IAAvBzwB,KAAK0wB,cAD3E,yCAEWlM,KAFX,cAKM9jB,IAAOC,EACTgvB,EAAa,IAEP6B,EAAc,GACpB7B,EAAa5uB,YAAqBJ,EAAM6wB,GAAa9jB,KAAI,SAACpG,EAAWohB,GACnE,OAAOvhB,YAAQxG,EAAKuG,QAAQsqB,EAAY9I,IAAIhnB,KAArCyF,CAA2CxG,EAAKyG,YAKvDqqB,GAAa,EACXC,EAAQ,SAAChwB,MACTf,EAAKe,OAASA,KAAKA,MAAQ,EAAKoL,SAAS9C,QAC3C,EAAK8C,SAAS9C,SAGZrJ,EAAKe,OAASA,KAAKA,MAAQ,EAAKoL,SAAShD,OAC3C,EAAKgD,SAAShD,QAGZ2nB,IAIJA,GAAa,EACbjN,EAAK9iB,QA9BT,SAkCQijB,YAAWjT,EAAK,CACpBK,MAAOrR,EACPC,OACA6jB,KAAMkN,EAAM1sB,KAAKhF,QArCrB,UAuCEA,KAAK2xB,eAAiBjgB,EAAIlQ,KAAK2iB,QAC/BnkB,KAAK4xB,UAAYruB,QAAQmO,EAAIlQ,KAAKsG,KAG5B6D,EAAU,IACVklB,EAAa9vB,YAAqBL,EAAIiL,IAG5B3K,OA/ClB,kCAiDUqwB,EAAetxB,KAAKC,KAAM6wB,EAAYnf,EAAI7E,SAjDpD,YAkDQ4kB,EAlDR,0DAuDUI,GAAelrB,IAAUxF,SAAWwF,KAAWyF,OAvDzD,UAwDyBpM,KAAK0O,WACD,mBAAhBmjB,EACHA,EAAY9xB,KAAK4G,IAAW+K,EAAI7E,SAChCglB,GA3DV,eAwDUzlB,EAxDV,iBA8DUilB,EAAetxB,KAAKC,KAAM6wB,EAAYnf,EAAI7E,QAAST,GA9D7D,YA+DQqlB,EA/DR,0DAoEI/f,EAAI7E,QAAQrH,MAAM,CAAEE,WAAY,IAAKC,QAAS,iCApElD,kBAqEW6e,KArEX,eAyEEqM,EAAWjsB,SAAQ,SAAC0C,GACdA,EAAUsf,OAAStf,EAAUsf,MAAMzlB,UACrCmG,EAAUnG,QAAQ+M,UAAY5G,EAAUsf,MAAMzlB,QAAQ+M,UACtD5G,EAAUnG,QAAQ0M,MAAQvG,EAAUsf,MAAMzlB,QAAQ0M,UAKtD7N,KAAKkkB,eAAe2L,EAAegB,EAAYnwB,EAAIC,IAjFrD,oBAqFU0wB,EAAetxB,KAAKC,KAAM6wB,EAAYnf,EAAI7E,SArFpD,YAsFQ4kB,EAtFR,uDAyFQ/f,EAAI7E,QAAQuX,SAzFpB,0CA0FaI,KA1Fb,cA+F0B,mBADlBpY,EAASykB,EAAW,GAAG1vB,QAAQiL,UAEjCA,EAASA,EAAOsF,EAAI7E,UAhG1B,UAkGmB7M,KAAK0O,WAAWtC,GAlGnC,eAkGIA,EAlGJ,iBAqGUilB,EAAetxB,KAAKC,KAAM6wB,EAAYnf,EAAI7E,QAAST,GArG7D,YAsGQqlB,EAtGR,uDAyGQ/f,EAAI7E,QAAQuX,SAzGpB,0CA0GaI,KA1Gb,QA8GQsN,GAAU,EA9GlB,cAgH8BjB,GAhH9B,8DAiHkD,mBADjCvpB,EAhHjB,SAiH6BnG,QAAQ4wB,SAjHrC,yEAqHwBzqB,EAAUnG,QAAQ4wB,SAASrgB,EAAI7E,SArHvD,WAqHQilB,EArHR,+PA6HM9xB,KAAKwF,MAAM,CACTE,WAAY,KAAgBA,YAAc,MAC1CC,QAAS,KAAgBA,UA/HjC,kBAiIa6e,KAjIb,WAqISsN,EArIT,wBAsIM9xB,KAAKwF,MAAM,CAAEE,WAAY,IAAKC,QAAS,iCAtI7C,kBAuIa6e,KAvIb,yBA4IU1iB,QAAQwM,IAAIuiB,EAAWnjB,KAAI,SAACpG,EAAWohB,GAE3CphB,EAAU0qB,MAAQ7qB,YAAQzG,EAAGwG,QAAQyE,EAAQ+c,IAAIhnB,KAA/ByF,CAAqCzG,EAAG0G,QAC1DE,EAAU2qB,cAAe,EACzB,IAAMC,EAAmB5qB,EAAU0qB,QAAUrC,EAAWjH,GAKxD,GAAI,EAAK8H,eAAiB0B,EACxB5qB,EAAU2qB,cAAe,OACpB,GAAI,EAAKxB,eAAiByB,EAAkB,CACjD,IAAMC,EAAa7qB,EAAUnG,QAAQgxB,WACrC7qB,EAAU2qB,cAA8B,IAAfE,OACpB,GAAI,EAAKzB,cAAe,CAC7B,IAAMI,EAAaxpB,EAAUnG,QAAQ2vB,YAClB,IAAfA,EACFxpB,EAAU2qB,cAAe,EAChBnV,MAAMC,QAAQ+T,GACvBxpB,EAAU2qB,aAAenB,EAAWzvB,MAAK,SAAAwD,GAAG,OAAI,EAAK8rB,WAAW9rB,MACjC,mBAAfisB,IACX5K,IACHA,EAAY1Y,YAA8B9M,IAE5C4G,EAAU2qB,aAAenB,EAAW9c,MAAMkS,EAAUwC,GAAI,CAAChoB,EAAGmb,MAAOlb,EAAKkb,SAG5E,GAAK,EAAK+V,YAAa,EAAKQ,YAAe9qB,EAAU2qB,aAArD,CAIA,IAAMxkB,EAAW,GAEX4kB,EACJ/qB,EAAUnG,QAAQ+M,WACqB,mBAAhC5G,EAAUnG,QAAQ+M,UAGrB8X,EAAWziB,QAAQ+D,EAAUnG,QAAQ0M,QAAUvG,EAAUnG,QAAQ0M,MAAM7M,OAEvEsxB,EAAmBD,GAAgBrM,EAAY,GAAK,GAG1D,GAAIqM,EAAc,CAChB,IAAMvM,EAAUhY,YAAUxG,EAAUnG,QAAQ+M,UAAWwD,EAAI7E,SACxDsB,MAAK,SAACokB,GACLjM,YAAehf,EAAWirB,GAEtB,EAAKzlB,SAASlD,UAChB,EAAKkD,SAASlD,SAAS0oB,MAG7B7kB,EAAS9N,KAAKmmB,GAOhB,GAHA,EAAKhZ,SAAS8jB,QAAuC,IAA9BtpB,EAAUnG,QAAQ6L,QAGrCgZ,EAAU,CACZ,IAAIpY,EAAItG,EAAUnG,QAAQ0M,MAAM6D,EAAI7E,SAC/Be,IAAQA,aAAa9L,SAA+B,mBAAX8L,EAAEO,QAC9CP,EAAI9L,QAAQC,QAAQ6L,IAEtBA,EAAEO,MAAK,SAACqkB,GACF,EAAK1lB,SAASlD,UAChB,EAAKkD,SAASlD,SAAS0oB,MAG3B7kB,EAAS9N,KAAKiO,GAGhB,OAAO9L,QAAQwM,IAAIb,QApNzB,QAwNSgkB,IACCzxB,KAAK8M,SAAS9C,SAAWhK,KAAK8M,SAAS8jB,QACzC5wB,KAAK8M,SAAS9C,SAGhBwa,KA7NN,sDAiO0B,kBADhBhf,EAAQ,MAAO,IACXG,QAjOd,0CAkOa3F,KAAKyB,MAAMI,MAAM,eAAgBnB,EAAIC,EAAM6E,IAlOxD,eAoOImqB,EAAa,GAEbphB,YAAkB/I,GAII,mBADlB4G,GAAUzF,IAAUxF,SAAWwF,KAAWyF,UAE5CA,EAASA,EAAOsF,EAAI7E,UA3O1B,UA6OU7M,KAAK0O,WAAWtC,GA7O1B,QA+OIpM,KAAKwF,MAAMA,GACXxF,KAAKyB,MAAMI,MAAM,eAAgBnB,EAAIC,EAAM6E,GAC3Cgf,IAjPJ,kF,sBAsPA,SAASiO,EAAqB/xB,EAAIgyB,GAChCvL,YAAkBzmB,GAAI,SAAC4G,EAAW1D,EAAG8W,EAAO7V,GAO1C,MANyB,WAArB,YAAOyC,IAA2BA,EAAUnG,WAE9CmG,EAAYrH,UAAI6mB,OAAOxf,IACbsf,MAAQtf,EAClBoT,EAAMjU,WAAW5B,GAAOyC,GAEnBA,KAIX,SAASqrB,EAAcjyB,GAEjBV,KAAK4xB,WAAa5xB,KAAK2xB,iBAAmB3xB,KAAK6H,SAASrG,KAAK2iB,SAC/DnkB,KAAKwF,QAIP,IAAI4G,EAASpM,KAAK6H,SAASrG,KAAKsG,KAC3BnB,IAAUxF,SAAWwF,KAAWyF,OACjC1L,EAAGwG,QAAQ,GAAGT,WAAWpD,QAAQlC,QAAQiL,OAEvB,mBAAXA,IACTA,EAASA,EAAOsF,EAAI7E,UAEtB7M,KAAKyO,UAAUrC,GAKjB,SAASwmB,EAAalyB,EAAIgyB,GAAK,WAC7B,IAA2B,IAAvB1yB,KAAKwwB,gBAAkD,IAAvBxwB,KAAKywB,gBAAkD,IAAvBzwB,KAAK0wB,cAAzE,CAIA,IAAMxK,EAAY1Y,YAA8B9M,GAC1CmwB,EAAa9vB,YAAqBL,GAExCT,UAAI4yB,UAAS,WACX3M,EAAUthB,SAAQ,SAAC0iB,EAAUoB,GAC3B,GAAKpB,IAAYA,EAASwL,cAKxBxL,EAAS0D,YAAYiH,cACrBpB,EAAWnI,KAAOpB,EAAS0D,cACQ,IAAnC1D,EAAShjB,OAAOR,KAAKR,WACwB,mBAAtCgkB,EAAS0D,YAAY7pB,QAAQ2C,KACpC,CACA,IAAMsK,EAAUkZ,EAAS0D,YAAY7pB,QAAQ2C,KAAK/D,KAAKunB,GACvD,IAAK,IAAMziB,KAAOuJ,EAChBnO,UAAIoJ,IAAIie,EAASjZ,MAAOxJ,EAAKuJ,EAAQvJ,IAIvC1F,OAAOsC,MAAMG,WAAU,WACrBzC,OAAOsC,MAAMI,MAAM,wBAIzB8wB,EAAa5yB,KAAK,EAAMW,OAI5B,SAASqyB,EAAWC,GAClB7zB,OAAO8rB,eAAermB,SAAQ,SAACumB,GACX,mBAAPA,GACTA,EAAG6H,MAI6B,mBAAzB7zB,OAAO8zB,eAChB9zB,OAAO8zB,cAAcD,GAGvBrgB,EAAOugB,WAAU,SAACxyB,EAAIC,GAEpBV,UAAI4yB,UAAS,kBAAMG,EAAKvxB,MAAMI,MAAM,eAAgBnB,EAAIC,S,2DAI5D,WAAyBwyB,GAAzB,mGAEEzhB,EAAMyhB,EAAMzhB,IACZiB,EAASwgB,EAAMxgB,OACPwgB,EAAMtkB,MAGRmkB,EAAO,IAAI/yB,UAAIyR,GAGf0hB,EAAQ,WACZJ,EAAKK,OAAO,WAGZ1gB,EAAOugB,UAAUT,GACjB9f,EAAOugB,UAAUN,EAAY5tB,KAAKguB,IAGlC/yB,UAAI4yB,UAAS,WAEXE,EAAUC,OApBhB,SAyB2BlxB,QAAQwM,IAAI6iB,EAAkBxe,IAzBzD,UAyBQke,EAzBR,OA4BEmC,EAAK9O,eAAiB8O,EAAKnrB,SAASrG,KAAK0iB,eAAelf,KAAKguB,GACzDnC,EAAW7vB,SACbgyB,EAAK9O,eAAe2L,EAAegB,EAAYle,EAAO2gB,eACtD3D,EAAahd,EAAO2gB,aAAapsB,QAAQwG,KAAI,SAAAqE,GAAK,OAAI5K,YAAQ4K,EAAMrQ,KAAdyF,CAAoBwL,EAAO2gB,aAAalsB,YAIhG4rB,EAAKlmB,SAAW,GACZ8iB,EAAKpqB,OACPwtB,EAAKxtB,MAAMoqB,EAAKpqB,OAIlBmN,EAAO4gB,WAAWhD,EAAoBvrB,KAAKguB,IAC3CrgB,EAAO4gB,WAAW5vB,EAAOqB,KAAKguB,KAG1BpD,EAAKsB,gBAAkBtB,EAAK4D,YAAcR,EAAKnmB,QAAQkF,MAAMrQ,KA7CnE,wBA8CI0xB,IA9CJ,2BAmDQK,EAAmB,WACvBhB,EAAoB9f,EAAO2gB,aAAc3gB,EAAO2gB,cAChDX,EAAa5yB,KAAKizB,EAAMrgB,EAAO2gB,cAE/BF,KAGFzvB,EAAO5D,KAAKizB,EAAMrgB,EAAO2gB,aAAc3gB,EAAO2gB,cAAc,SAAC5xB,MAE3D,GAAKA,KAAL,CAOA,IAAMgyB,EAAiB/gB,EAAOugB,WAAU,SAACxyB,EAAIC,GAC3C+yB,IACAD,OAIF9gB,EAAOhT,KAAK+B,UAAMgC,GAAW,SAACoE,GACxBA,GACF+d,EAAa/d,WAdf2rB,OA7DN,6C,sBAneAzP,cAAY7V,M,8CAAeqU,MAAMqD,I,oDChDjC,oBAAiZ,G,qBCEjZ0G,EADkC,EAAQ,IAChCoH,EAA4B,IAE9Bh0B,KAAK,CAAC0sB,EAAO3D,EAAI,srBAAurB,KAEhtB2D,EAAOE,QAAUA,G,iCCNjB,oBAAmZ,G,qBCEnZA,EADkC,EAAQ,IAChCoH,EAA4B,IAE9Bh0B,KAAK,CAAC0sB,EAAO3D,EAAI,kQAAmQ,KAE5R2D,EAAOE,QAAUA,G,oBCHjB,IAAI7V,QAAU,EAAQ,KACA,iBAAZA,UAAsBA,QAAU,CAAC,CAAC2V,EAAO3D,EAAIhS,QAAS,MAC7DA,QAAQ4V,SAAQD,EAAOE,QAAU7V,QAAQ4V,SAG/BE,EADH,EAAQ,KAA+DnpB,SAChE,WAAYqT,SAAS,EAAM,CAAC,WAAY,K,oBCPzD,IAAIid,EAA8B,EAAQ,KACtCC,EAAkC,EAAQ,KAC1CC,EAAgC,EAAQ,KACxCC,EAAgC,EAAQ,KACxCC,EAAgC,EAAQ,KACxCC,EAAgC,EAAQ,KACxCC,EAAgC,EAAQ,KACxCC,EAAgC,EAAQ,KACxCC,EAAgC,EAAQ,KACxCC,EAAgC,EAAQ,KACxCC,EAAgC,EAAQ,KACxCC,EAAgC,EAAQ,KACxCC,EAAiC,EAAQ,KACzCC,EAAiC,EAAQ,KACzCC,EAAiC,EAAQ,KACzCC,EAAiC,EAAQ,KACzCC,EAAiC,EAAQ,KACzCC,EAAiC,EAAQ,KACzCC,EAAiC,EAAQ,KACzCC,EAAiC,EAAQ,KACzCC,EAAiC,EAAQ,KACzCC,EAAiC,EAAQ,KACzCC,EAAiC,EAAQ,KACzCC,EAAiC,EAAQ,KACzCC,EAAiC,EAAQ,KACzCC,EAAiC,EAAQ,KAC7C7I,EAAUoH,GAA4B,GACtC,IAAI0B,EAAqCzB,EAAgCC,GACrEyB,EAAqC1B,EAAgCE,GACrEyB,EAAqC3B,EAAgCG,GACrEyB,EAAqC5B,EAAgCI,GACrEyB,EAAqC7B,EAAgCK,GACrEyB,EAAqC9B,EAAgCM,GACrEyB,EAAqC/B,EAAgCO,GACrEyB,EAAqChC,EAAgCQ,GACrEyB,EAAqCjC,EAAgCS,GACrEyB,EAAqClC,EAAgCU,GACrEyB,EAAsCnC,EAAgCW,GACtEyB,EAAsCpC,EAAgCY,GACtEyB,EAAsCrC,EAAgCa,GACtEyB,EAAsCtC,EAAgCc,GACtEyB,EAAsCvC,EAAgCe,GACtEyB,EAAsCxC,EAAgCgB,GACtEyB,EAAsCzC,EAAgCiB,GACtEyB,GAAsC1C,EAAgCkB,GACtEyB,GAAsC3C,EAAgCmB,GACtEyB,GAAsC5C,EAAgCoB,GACtEyB,GAAsC7C,EAAgCqB,GACtEyB,GAAsC9C,EAAgCsB,GACtEyB,GAAsC/C,EAAgCuB,GACtEyB,GAAsChD,EAAgCwB,GAE1E7I,EAAQ5sB,KAAK,CAAC0sB,EAAO3D,EAAI,2EAA6E2M,EAAqC,wBAA4BC,EAAqC,yBAA6BC,EAAqC,4BAAgCC,EAAqC,yGAA6GC,EAAqC,wBAA4BC,EAAqC,yBAA6BC,EAAqC,4BAAgCC,EAAqC,yGAA6GC,EAAqC,wBAA4BC,EAAqC,yBAA6BC,EAAsC,4BAAgCC,EAAsC,yGAA6GC,EAAsC,wBAA4BC,EAAsC,yBAA6BC,EAAsC,4BAAgCC,EAAsC,yGAA6GC,EAAsC,wBAA4BC,GAAsC,yBAA6BC,GAAsC,4BAAgCC,GAAsC,6GAAiHC,GAAsC,wBAA4BC,GAAsC,yBAA6BC,GAAsC,4BAAgCC,GAAsC,q6EAAw6E,KAE/8IvK,EAAOE,QAAUA,G,oBCvDjBF,EAAOE,QAAU,IAA0B,sB,oBCA3CF,EAAOE,QAAU,IAA0B,uB,oBCA3CF,EAAOE,QAAU,IAA0B,qB,oBCA3CF,EAAOE,QAAU,IAA0B,qB,oBCA3CF,EAAOE,QAAU,IAA0B,sB,oBCA3CF,EAAOE,QAAU,IAA0B,uB,oBCA3CF,EAAOE,QAAU,IAA0B,qB,oBCA3CF,EAAOE,QAAU,IAA0B,qB,oBCA3CF,EAAOE,QAAU,IAA0B,sB,oBCA3CF,EAAOE,QAAU,IAA0B,uB,oBCA3CF,EAAOE,QAAU,IAA0B,qB,oBCA3CF,EAAOE,QAAU,IAA0B,qB,oBCA3CF,EAAOE,QAAU,IAA0B,sB,oBCA3CF,EAAOE,QAAU,IAA0B,uB,oBCA3CF,EAAOE,QAAU,IAA0B,qB,oBCA3CF,EAAOE,QAAU,IAA0B,qB,oBCA3CF,EAAOE,QAAU,IAA0B,sB,oBCA3CF,EAAOE,QAAU,IAA0B,uB,oBCA3CF,EAAOE,QAAU,IAA0B,qB,oBCA3CF,EAAOE,QAAU,IAA0B,qB,oBCA3CF,EAAOE,QAAU,IAA0B,sB,oBCA3CF,EAAOE,QAAU,IAA0B,uB,oBCA3CF,EAAOE,QAAU,IAA0B,qB,oBCA3CF,EAAOE,QAAU,IAA0B,qB,iCCA3C,oBAAwf,G,qBCExfA,EADkC,EAAQ,IAChCoH,EAA4B,IAE9Bh0B,KAAK,CAAC0sB,EAAO3D,EAAI,kwCAAmwC,KAE5xC2D,EAAOE,QAAUA,G,iCCNjB,oBAAwf,G,qBCExfA,EADkC,EAAQ,IAChCoH,EAA4B,IAE9Bh0B,KAAK,CAAC0sB,EAAO3D,EAAI,gKAAiK,KAE1L2D,EAAOE,QAAUA,G,iCCNjB,oBAA2f,G,qBCE3fA,EADkC,EAAQ,IAChCoH,EAA4B,IAE9Bh0B,KAAK,CAAC0sB,EAAO3D,EAAI,8qBAA+qB,KAExsB2D,EAAOE,QAAUA,G,iCCNjB,oBAA2f,G,qBCE3fA,EADkC,EAAQ,IAChCoH,EAA4B,IAE9Bh0B,KAAK,CAAC0sB,EAAO3D,EAAI,gKAAiK,KAE1L2D,EAAOE,QAAUA,G,iCCNjB,uKAAO,IAAMpd,EAAQ,iBAAO,CAC1BmT,UAAW,uCACXuU,QAAS,CACPC,KAAM,SACNC,KAAM,SACNC,KAAM,SACNC,KAAM,WAERC,cAAe,KACfC,cAAe,KACfC,iBAAkB,KAClBC,uBAAwB,wkBAGbrkB,EAAU,CACrBskB,aAAc,SAACnoB,GACb,OAAOA,EAAMmT,WAEfiV,WAAY,SAACpoB,GACX,OAAOA,EAAM0nB,SAEfW,iBAAkB,SAACroB,GACjB,OAAOA,EAAM+nB,eAEfO,iBAAkB,SAACtoB,GACjB,OAAOA,EAAMgoB,eAEfO,oBAAqB,SAACvoB,GACpB,OAAOA,EAAMioB,kBAEfO,0BAA2B,SAACxoB,GAC1B,OAAOA,EAAMkoB,yBAIJxd,EAAY,CACvB+d,iBAAkB,SAACzoB,EAAOyV,GACxBzV,EAAM+nB,cAAgBtS,GAExBiT,iBAAkB,SAAC1oB,EAAOyV,GACxBzV,EAAMgoB,cAAgBvS,IAIbnL,EAAU,CACrBme,iBAAkB,WAAa9zB,OAC7BkL,EADsC,EAAnBA,QACZ,mBAAoBlL,OAE7B+zB,iBAAkB,WAAa/zB,OAC7BkL,EADsC,EAAnBA,QACZ,mBAAoBlL,S,oBCjD/B,IAAI4J,IAAM,CACT,OAAQ,IACR,UAAW,KAIZ,SAASoqB,EAAe5mB,GACvB,IAAI3E,EAAKwrB,EAAsB7mB,GAC/B,OAAO8mB,EAAoBzrB,GAE5B,SAASwrB,EAAsB7mB,GAC9B,IAAI8mB,EAAoBC,EAAEvqB,IAAKwD,GAAM,CACpC,IAAI3O,EAAI,IAAI0M,MAAM,uBAAyBiC,EAAM,KAEjD,MADA3O,EAAE6T,KAAO,mBACH7T,EAEP,OAAOmL,IAAIwD,GAEZ4mB,EAAe5Q,KAAO,WACrB,OAAOzjB,OAAOyjB,KAAKxZ,MAEpBoqB,EAAe/1B,QAAUg2B,EACzB1L,EAAOE,QAAUuL,EACjBA,EAAevrB,GAAK,K,gJCZb,SAAeyO,EAAtB,oC,2DAAO,WAAkCnO,EAASyE,GAA3C,oGACGI,EAAQ7E,EAAR6E,KAECE,KAAKsmB,kBACZxmB,EAAIE,KAAKsmB,gBAAkB,IAGxBxmB,EAAIE,KAAKsmB,gBAAgB5lB,SAAShB,GAPlC,sBAQG6mB,EAAczmB,EAAIE,KAAK/T,QAAQwV,MAAK,SAAAC,GAAC,OAAIA,EAAE1U,OAAqB0S,MARnE,sBAUK8mB,EAAOD,EAAYp5B,MAVxB,2CAewB,OAAgD,KAAuBq5B,GAf/F,WAeS/L,EAfT,OAiBsC,mBAD7B9S,EAAW8S,EAAOhpB,QAAUgpB,EAAOhpB,QAAUgpB,GAhBtD,kCAiByDvqB,QAAQC,QAAQwX,EAAS1M,IAjBlF,iDAiB8F0M,EAjB9F,QAiBSuS,EAjBT,KAkBGpa,EAAIE,KAAKymB,iBAAiB/mB,EAAQwa,GAClCpa,EAAIE,KAAKsmB,gBAAgBv4B,KAAK2R,GAnBjC,kDAsBG9O,QAAQgD,MAAR,MAtBH,gCA2BChD,QAAQC,KAAR,WAAiB9D,IAAjB,iDAAqE2S,IA3BtE,2D,4CCXP,IAAI5D,IAAM,CACT,UAAW,CACV,IACA,EACA,GAED,aAAc,CACb,IACA,EACA,GAED,UAAW,CACV,IACA,EACA,GAED,aAAc,CACb,IACA,EACA,IAGF,SAAS4qB,EAAoBpnB,GAC5B,IAAI8mB,EAAoBC,EAAEvqB,IAAKwD,GAC9B,OAAOpP,QAAQC,UAAUoM,MAAK,WAC7B,IAAI5L,EAAI,IAAI0M,MAAM,uBAAyBiC,EAAM,KAEjD,MADA3O,EAAE6T,KAAO,mBACH7T,KAIR,IAAIg2B,EAAM7qB,IAAIwD,GAAM3E,EAAKgsB,EAAI,GAC7B,OAAOP,EAAoBz1B,EAAEg2B,EAAI,IAAIpqB,MAAK,WACzC,OAAO6pB,EAAoBQ,EAAEjsB,EAAIgsB,EAAI,OAGvCD,EAAoBpR,KAAO,WAC1B,OAAOzjB,OAAOyjB,KAAKxZ,MAEpB4qB,EAAoB/rB,GAAK,IACzB8f,EAAOE,QAAU+L,G,oBCxCjB,IAAI5qB,IAAM,CACT,YAAa,IACb,YAAa,IACb,YAAa,IACb,kBAAmB,IACnB,cAAe,IACf,cAAe,IACf,sBAAuB,IACvB,aAAc,IACd,aAAc,IACd,mBAAoB,IACpB,oBAAqB,IACrB,kBAAmB,IACnB,qBAAsB,IACtB,mBAAoB,IACpB,eAAgB,IAChB,YAAa,IACb,kBAAmB,IACnB,eAAgB,KAIjB,SAASoqB,EAAe5mB,GACvB,IAAI3E,EAAKwrB,EAAsB7mB,GAC/B,OAAO8mB,EAAoBzrB,GAE5B,SAASwrB,EAAsB7mB,GAC9B,IAAI8mB,EAAoBC,EAAEvqB,IAAKwD,GAAM,CACpC,IAAI3O,EAAI,IAAI0M,MAAM,uBAAyBiC,EAAM,KAEjD,MADA3O,EAAE6T,KAAO,mBACH7T,EAEP,OAAOmL,IAAIwD,GAEZ4mB,EAAe5Q,KAAO,WACrB,OAAOzjB,OAAOyjB,KAAKxZ,MAEpBoqB,EAAe/1B,QAAUg2B,EACzB1L,EAAOE,QAAUuL,EACjBA,EAAevrB,GAAK,K,kBCvCpB8f,EAAOE,QAAU,05J,kBCAjBF,EAAOE,QAAU,m1N,kBCAjBF,EAAOE,QAAU,4zZ,kBCAjBF,EAAOE,QAAU,+qL,kBCAjBF,EAAOE,QAAU,mjD,kBCAjBF,EAAOE,QAAU,6Y,kBCAjBF,EAAOE,QAAU,uS,kBCAjBF,EAAOE,QAAU,+a,kBCAjBF,EAAOE,QAAU,ghD,kBCAjBF,EAAOE,QAAU,4xJ,kBCAjBF,EAAOE,QAAU,40B,kBCAjBF,EAAOE,QAAU,kgI,kBCAjBF,EAAOE,QAAU,umb,kBCAjBF,EAAOE,QAAU,wf,kBCAjBF,EAAOE,QAAU,8S,kBCAjBF,EAAOE,QAAU,0jG,kBCAjBF,EAAOE,QAAU,6gE,kBCAjBF,EAAOE,QAAU,29C,oBCAjB,IAAI7e,IAAM,CACT,0BAA2B,IAC3B,uBAAwB,IACxB,aAAc,IACd,mBAAoB,IACpB,oBAAqB,IACrB,kBAAmB,IACnB,qBAAsB,IACtB,mBAAoB,IACpB,eAAgB,KAIjB,SAASoqB,EAAe5mB,GACvB,IAAI3E,EAAKwrB,EAAsB7mB,GAC/B,OAAO8mB,EAAoBzrB,GAE5B,SAASwrB,EAAsB7mB,GAC9B,IAAI8mB,EAAoBC,EAAEvqB,IAAKwD,GAAM,CACpC,IAAI3O,EAAI,IAAI0M,MAAM,uBAAyBiC,EAAM,KAEjD,MADA3O,EAAE6T,KAAO,mBACH7T,EAEP,OAAOmL,IAAIwD,GAEZ4mB,EAAe5Q,KAAO,WACrB,OAAOzjB,OAAOyjB,KAAKxZ,MAEpBoqB,EAAe/1B,QAAUg2B,EACzB1L,EAAOE,QAAUuL,EACjBA,EAAevrB,GAAK,K,kBC9BpB8f,EAAOE,QAAU,whmkB,oBCAjBF,EAAOE,QAAU,IAA0B,mB,oBCA3CF,EAAOE,QAAU,IAA0B,mB,oBCA3CF,EAAOE,QAAU,IAA0B,mB,oBCA3CF,EAAOE,QAAU,IAA0B,mB,oBCA3CF,EAAOE,QAAU,IAA0B,mB,kBCA3CF,EAAOE,QAAU,wrxE,oBCAjB,IAAI7e,IAAM,CACT,aAAc,IACd,eAAgB,KAIjB,SAASoqB,EAAe5mB,GACvB,IAAI3E,EAAKwrB,EAAsB7mB,GAC/B,OAAO8mB,EAAoBzrB,GAE5B,SAASwrB,EAAsB7mB,GAC9B,IAAI8mB,EAAoBC,EAAEvqB,IAAKwD,GAAM,CACpC,IAAI3O,EAAI,IAAI0M,MAAM,uBAAyBiC,EAAM,KAEjD,MADA3O,EAAE6T,KAAO,mBACH7T,EAEP,OAAOmL,IAAIwD,GAEZ4mB,EAAe5Q,KAAO,WACrB,OAAOzjB,OAAOyjB,KAAKxZ,MAEpBoqB,EAAe/1B,QAAUg2B,EACzB1L,EAAOE,QAAUuL,EACjBA,EAAevrB,GAAK,K,kBCvBpB8f,EAAOE,QAAU,whmkB,kBCAjBF,EAAOE,QAAU,yrxE","file":"e3e61e02fcb112fc7433.js","sourcesContent":["export const vueI18n = {}\nexport const vueI18nLoader = false\nexport const locales = [{\"code\":\"da\",\"iso\":\"da-DK\",\"name\":\"Danish\",\"file\":\"da-DK.js\"},{\"code\":\"en\",\"iso\":\"en-US\",\"name\":\"English\",\"file\":\"en-US.js\"}]\nexport const defaultLocale = 'da'\nexport const routesNameSeparator = '___'\nexport const defaultLocaleRouteNameSuffix = 'default'\nexport const strategy = 'no_prefix'\nexport const lazy = true\nexport const langDir = 'assets/language/'\nexport const rootRedirect = null\nexport const detectBrowserLanguage = false\nexport const differentDomains = false\nexport const seo = false\nexport const baseUrl = ''\nexport const vuex = {\"moduleName\":\"i18n\",\"syncLocale\":false,\"syncMessages\":false,\"syncRouteParams\":true}\nexport const parsePages = true\nexport const pages = {}\nexport const beforeLanguageSwitch = () => null\nexport const onLanguageSwitched = () => null\nexport const IS_UNIVERSAL_MODE = false\nexport const MODULE_NAME = 'nuxt-i18n'\nexport const LOCALE_CODE_KEY = 'code'\nexport const LOCALE_ISO_KEY = 'iso'\nexport const LOCALE_DOMAIN_KEY = 'domain'\nexport const LOCALE_FILE_KEY = 'file'\nexport const STRATEGIES = {\"PREFIX\":\"prefix\",\"PREFIX_EXCEPT_DEFAULT\":\"prefix_except_default\",\"PREFIX_AND_DEFAULT\":\"prefix_and_default\",\"NO_PREFIX\":\"no_prefix\"}\nexport const COMPONENT_OPTIONS_KEY = 'nuxtI18n'\nexport const localeCodes = [\"da\",\"en\"]\n","import { getMatchedComponents } from './utils'\n\nif (process.client) {\n if ('scrollRestoration' in window.history) {\n window.history.scrollRestoration = 'manual'\n\n // reset scrollRestoration to auto when leaving page, allowing page reload\n // and back-navigation from other pages to use the browser to restore the\n // scrolling position.\n window.addEventListener('beforeunload', () => {\n window.history.scrollRestoration = 'auto'\n })\n\n // Setting scrollRestoration to manual again when returning to this page.\n window.addEventListener('load', () => {\n window.history.scrollRestoration = 'manual'\n })\n }\n}\n\nexport default function (to, from, savedPosition) {\n // if the returned position is falsy or an empty object,\n // will retain current scroll position.\n let position = false\n\n // if no children detected and scrollToTop is not explicitly disabled\n const Pages = getMatchedComponents(to)\n if (\n Pages.length < 2 &&\n Pages.every(Page => Page.options.scrollToTop !== false)\n ) {\n // scroll to the top of the page\n position = { x: 0, y: 0 }\n } else if (Pages.some(Page => Page.options.scrollToTop)) {\n // if one of the children has scrollToTop option set to true\n position = { x: 0, y: 0 }\n }\n\n // savedPosition is only available for popstate navigations (back button)\n if (savedPosition) {\n position = savedPosition\n }\n\n const nuxt = window.$nuxt\n\n // triggerScroll is only fired when a new component is loaded\n if (to.path === from.path && to.hash !== from.hash) {\n nuxt.$nextTick(() => nuxt.$emit('triggerScroll'))\n }\n\n return new Promise((resolve) => {\n // wait for the out transition to complete (if necessary)\n nuxt.$once('triggerScroll', () => {\n // coords will be used if no selector is provided,\n // or if the selector didn't match any element.\n if (to.hash) {\n let hash = to.hash\n // CSS.escape() is not supported with IE and Edge.\n if (typeof window.CSS !== 'undefined' && typeof window.CSS.escape !== 'undefined') {\n hash = '#' + window.CSS.escape(hash.substr(1))\n }\n try {\n if (document.querySelector(hash)) {\n // scroll to anchor by returning the selector\n position = { selector: hash }\n }\n } catch (e) {\n console.warn('Failed to save scroll position. Please add CSS.escape() polyfill (https://github.com/mathiasbynens/CSS.escape).')\n }\n }\n resolve(position)\n })\n })\n}\n","import Vue from 'vue'\nimport Router from 'vue-router'\nimport { interopDefault } from './utils'\nimport scrollBehavior from './router.scrollBehavior.js'\n\nconst _0da84390 = () => interopDefault(import('..\\\\pages\\\\about.vue' /* webpackChunkName: \"pages_about\" */))\nconst _00708af6 = () => interopDefault(import('..\\\\pages\\\\images.vue' /* webpackChunkName: \"pages_images\" */))\nconst _e3d8f500 = () => interopDefault(import('..\\\\pages\\\\informationsmøde.vue' /* webpackChunkName: \"pages_informationsmøde\" */))\nconst _248af6a0 = () => interopDefault(import('..\\\\pages\\\\news.vue' /* webpackChunkName: \"pages_news\" */))\nconst _0c679874 = () => interopDefault(import('..\\\\pages\\\\overview.vue' /* webpackChunkName: \"pages_overview\" */))\nconst _58aba99e = () => interopDefault(import('..\\\\pages\\\\reporting\\\\index.vue' /* webpackChunkName: \"pages_reporting_index\" */))\nconst _038ae949 = () => interopDefault(import('..\\\\pages\\\\supported_browsers.vue' /* webpackChunkName: \"pages_supported_browsers\" */))\nconst _a759049a = () => interopDefault(import('..\\\\pages\\\\reporting\\\\_sensorId.vue' /* webpackChunkName: \"pages_reporting__sensorId\" */))\nconst _2d601e55 = () => interopDefault(import('..\\\\pages\\\\index.vue' /* webpackChunkName: \"pages_index\" */))\n\n// TODO: remove in Nuxt 3\nconst emptyFn = () => {}\nconst originalPush = Router.prototype.push\nRouter.prototype.push = function push (location, onComplete = emptyFn, onAbort) {\n return originalPush.call(this, location, onComplete, onAbort)\n}\n\nVue.use(Router)\n\nexport const routerOptions = {\n mode: 'history',\n base: decodeURI('/'),\n linkActiveClass: 'nuxt-link-active',\n linkExactActiveClass: 'nuxt-link-exact-active',\n scrollBehavior,\n\n routes: [{\n path: \"/about\",\n component: _0da84390,\n name: \"about\"\n }, {\n path: \"/images\",\n component: _00708af6,\n name: \"images\"\n }, {\n path: \"/informationsmøde\",\n component: _e3d8f500,\n name: \"informationsmøde\"\n }, {\n path: \"/news\",\n component: _248af6a0,\n name: \"news\"\n }, {\n path: \"/overview\",\n component: _0c679874,\n name: \"overview\"\n }, {\n path: \"/reporting\",\n component: _58aba99e,\n name: \"reporting\"\n }, {\n path: \"/supported_browsers\",\n component: _038ae949,\n name: \"supported_browsers\"\n }, {\n path: \"/reporting/:sensorId\",\n component: _a759049a,\n name: \"reporting-sensorId\"\n }, {\n path: \"/\",\n component: _2d601e55,\n name: \"index\"\n }],\n\n fallback: false\n}\n\nexport function createRouter () {\n return new Router(routerOptions)\n}\n","\nexport default {\n name: 'NuxtChild',\n functional: true,\n props: {\n nuxtChildKey: {\n type: String,\n default: ''\n },\n keepAlive: Boolean,\n keepAliveProps: {\n type: Object,\n default: undefined\n }\n },\n render (_, { parent, data, props }) {\n const h = parent.$createElement\n\n data.nuxtChild = true\n const _parent = parent\n const transitions = parent.$nuxt.nuxt.transitions\n const defaultTransition = parent.$nuxt.nuxt.defaultTransition\n\n let depth = 0\n while (parent) {\n if (parent.$vnode && parent.$vnode.data.nuxtChild) {\n depth++\n }\n parent = parent.$parent\n }\n data.nuxtChildDepth = depth\n const transition = transitions[depth] || defaultTransition\n const transitionProps = {}\n transitionsKeys.forEach((key) => {\n if (typeof transition[key] !== 'undefined') {\n transitionProps[key] = transition[key]\n }\n })\n\n const listeners = {}\n listenersKeys.forEach((key) => {\n if (typeof transition[key] === 'function') {\n listeners[key] = transition[key].bind(_parent)\n }\n })\n if (process.client) {\n // Add triggerScroll event on beforeEnter (fix #1376)\n const beforeEnter = listeners.beforeEnter\n listeners.beforeEnter = (el) => {\n // Ensure to trigger scroll event after calling scrollBehavior\n window.$nuxt.$nextTick(() => {\n window.$nuxt.$emit('triggerScroll')\n })\n if (beforeEnter) {\n return beforeEnter.call(_parent, el)\n }\n }\n }\n\n // make sure that leave is called asynchronous (fix #5703)\n if (transition.css === false) {\n const leave = listeners.leave\n\n // only add leave listener when user didnt provide one\n // or when it misses the done argument\n if (!leave || leave.length < 2) {\n listeners.leave = (el, done) => {\n if (leave) {\n leave.call(_parent, el)\n }\n\n _parent.$nextTick(done)\n }\n }\n }\n\n let routerView = h('routerView', data)\n\n if (props.keepAlive) {\n routerView = h('keep-alive', { props: props.keepAliveProps }, [routerView])\n }\n\n return h('transition', {\n props: transitionProps,\n on: listeners\n }, [routerView])\n }\n}\n\nconst transitionsKeys = [\n 'name',\n 'mode',\n 'appear',\n 'css',\n 'type',\n 'duration',\n 'enterClass',\n 'leaveClass',\n 'appearClass',\n 'enterActiveClass',\n 'enterActiveClass',\n 'leaveActiveClass',\n 'appearActiveClass',\n 'enterToClass',\n 'leaveToClass',\n 'appearToClass'\n]\n\nconst listenersKeys = [\n 'beforeEnter',\n 'enter',\n 'afterEnter',\n 'enterCancelled',\n 'beforeLeave',\n 'leave',\n 'afterLeave',\n 'leaveCancelled',\n 'beforeAppear',\n 'appear',\n 'afterAppear',\n 'appearCancelled'\n]\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./nuxt-error.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./nuxt-error.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./nuxt-error.vue?vue&type=template&id=e0c331e2&\"\nimport script from \"./nuxt-error.vue?vue&type=script&lang=js&\"\nexport * from \"./nuxt-error.vue?vue&type=script&lang=js&\"\nimport style0 from \"./nuxt-error.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"__nuxt-error-page\"},[_c('div',{staticClass:\"error\"},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"90\",\"height\":\"90\",\"fill\":\"#DBE1EC\",\"viewBox\":\"0 0 48 48\"}},[_c('path',{attrs:{\"d\":\"M22 30h4v4h-4zm0-16h4v12h-4zm1.99-10C12.94 4 4 12.95 4 24s8.94 20 19.99 20S44 35.05 44 24 35.04 4 23.99 4zM24 40c-8.84 0-16-7.16-16-16S15.16 8 24 8s16 7.16 16 16-7.16 16-16 16z\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.message))]),_vm._v(\" \"),(_vm.statusCode === 404)?_c('p',{staticClass:\"description\"},[_c('NuxtLink',{staticClass:\"error-link\",attrs:{\"to\":\"/\"}},[_vm._v(\"Back to the home page\")])],1):_vm._e(),_vm._v(\" \"),_vm._m(0)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"logo\"},[_c('a',{attrs:{\"href\":\"https://nuxtjs.org\",\"target\":\"_blank\",\"rel\":\"noopener\"}},[_vm._v(\"Nuxt.js\")])])}]\n\nexport { render, staticRenderFns }","import Vue from 'vue'\nimport { compile } from '../utils'\n\nimport NuxtError from './nuxt-error.vue'\n\nimport NuxtChild from './nuxt-child'\n\nexport default {\n name: 'Nuxt',\n components: {\n NuxtChild,\n NuxtError\n },\n props: {\n nuxtChildKey: {\n type: String,\n default: undefined\n },\n keepAlive: Boolean,\n keepAliveProps: {\n type: Object,\n default: undefined\n },\n name: {\n type: String,\n default: 'default'\n }\n },\n errorCaptured (error) {\n // if we receive and error while showing the NuxtError component\n // capture the error and force an immediate update so we re-render\n // without the NuxtError component\n if (this.displayingNuxtError) {\n this.errorFromNuxtError = error\n this.$forceUpdate()\n }\n },\n computed: {\n routerViewKey () {\n // If nuxtChildKey prop is given or current route has children\n if (typeof this.nuxtChildKey !== 'undefined' || this.$route.matched.length > 1) {\n return this.nuxtChildKey || compile(this.$route.matched[0].path)(this.$route.params)\n }\n\n const [matchedRoute] = this.$route.matched\n\n if (!matchedRoute) {\n return this.$route.path\n }\n\n const Component = matchedRoute.components.default\n\n if (Component && Component.options) {\n const { options } = Component\n\n if (options.key) {\n return (typeof options.key === 'function' ? options.key(this.$route) : options.key)\n }\n }\n\n const strict = /\\/$/.test(matchedRoute.path)\n return strict ? this.$route.path : this.$route.path.replace(/\\/$/, '')\n }\n },\n beforeCreate () {\n Vue.util.defineReactive(this, 'nuxt', this.$root.$options.nuxt)\n },\n render (h) {\n // if there is no error\n if (!this.nuxt.err) {\n // Directly return nuxt child\n return h('NuxtChild', {\n key: this.routerViewKey,\n props: this.$props\n })\n }\n\n // if an error occured within NuxtError show a simple\n // error message instead to prevent looping\n if (this.errorFromNuxtError) {\n this.$nextTick(() => (this.errorFromNuxtError = false))\n\n return h('div', {}, [\n h('h2', 'An error occured while showing the error page'),\n h('p', 'Unfortunately an error occured and while showing the error page another error occured'),\n h('p', `Error details: ${this.errorFromNuxtError.toString()}`),\n h('nuxt-link', { props: { to: '/' } }, 'Go back to home')\n ])\n }\n\n // track if we are showing the NuxtError component\n this.displayingNuxtError = true\n this.$nextTick(() => (this.displayingNuxtError = false))\n\n return h(NuxtError, {\n props: {\n error: this.nuxt.err\n }\n })\n }\n}\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./nuxt-loading.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./nuxt-loading.vue?vue&type=script&lang=js&\"","\n\n\n","var render, staticRenderFns\nimport script from \"./nuxt-loading.vue?vue&type=script&lang=js&\"\nexport * from \"./nuxt-loading.vue?vue&type=script&lang=js&\"\nimport style0 from \"./nuxt-loading.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??ref--2-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??ref--2-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheHeader.vue?vue&type=script&lang=js&\"","\r\n\r\n\r\n\r\n\r\n","import { render, staticRenderFns } from \"./TheHeader.vue?vue&type=template&id=96abab6c&scoped=true&\"\nimport script from \"./TheHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./TheHeader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TheHeader.vue?vue&type=style&index=0&id=96abab6c&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"96abab6c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"v-header\",attrs:{\"id\":\"g-layout-header\"}},[_c('div',{staticClass:\"v-header-logo g-flexrow\"},[_c('div',{staticClass:\"v-logo\"},[_c('base-icon',{attrs:{\"name\":'logo'}})],1),_vm._v(\" \"),_c('nuxt-link',{attrs:{\"to\":\"/\",\"title\":_vm.$t('header.title')}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('header.title'))+\"\\n \")]),_vm._v(\" \"),(_vm.isMobile)?_c('div',{staticClass:\"v-header-mobile-menu\",on:{\"click\":function($event){return _vm.toggleMobileMenu()}}},[_c('base-icon',{attrs:{\"name\":'hamburgermenu'}})],1):_vm._e()],1),_vm._v(\" \"),(_vm.showMenu)?_c('div',{staticClass:\"v-header-menu\"},[_c('nuxt-link',{attrs:{\"to\":\"/\",\"title\":_vm.$t('header.menu.dashboard'),\"exact\":\"\"}},[_vm._v(_vm._s(_vm.$t('header.menu.dashboard')))]),_vm._v(\" \"),_c('nuxt-link',{attrs:{\"to\":\"/reporting\",\"title\":_vm.$t('header.menu.reporting')}},[_vm._v(_vm._s(_vm.$t('header.menu.reporting')))]),_vm._v(\" \"),_c('nuxt-link',{attrs:{\"to\":\"/about\",\"title\":_vm.$t('header.menu.about')}},[_vm._v(_vm._s(_vm.$t('header.menu.about')))]),_vm._v(\" \"),_c('nuxt-link',{attrs:{\"to\":\"/overview\",\"title\":_vm.$t('header.menu.overview')}},[_vm._v(_vm._s(_vm.$t('header.menu.overview')))]),_vm._v(\" \"),_c('nuxt-link',{attrs:{\"to\":\"/images\",\"title\":_vm.$t('header.menu.images')}},[_vm._v(_vm._s(_vm.$t('header.menu.images')))]),_vm._v(\" \"),_c('nuxt-link',{attrs:{\"to\":\"/news/\",\"title\":_vm.$t('header.menu.news')}},[_vm._v(_vm._s(_vm.$t('header.menu.news')))])],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??ref--2-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheFooter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??ref--2-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheFooter.vue?vue&type=script&lang=js&\"","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../node_modules/babel-loader/lib/index.js??ref--2-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./default.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/babel-loader/lib/index.js??ref--2-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./default.vue?vue&type=script&lang=js&\"","\n\n\n","import { render, staticRenderFns } from \"./TheFooter.vue?vue&type=template&id=5cd44e4c&scoped=true&\"\nimport script from \"./TheFooter.vue?vue&type=script&lang=js&\"\nexport * from \"./TheFooter.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TheFooter.vue?vue&type=style&index=0&id=5cd44e4c&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5cd44e4c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"g-layout-footer\"}},[_c('div',{staticClass:\"v-footer\"},[_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"mailto:vandkortet@niras.dk\"}},[_vm._v(_vm._s(_vm.$t('footer.contact')))])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://www.niras.dk/privatlivspolitik-it-tjenester/\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t('footer.gdpr')))])])]),_vm._v(\" \"),_c('cookie-law',{attrs:{\"theme\":\"dark-lime--rounded\",\"button-text\":_vm.cookie_accept}},[_c('div',{attrs:{\"slot\":\"message\"},slot:\"message\"},[_vm._v(\"\\n \"+_vm._s(_vm.cookie_message)+\" \"),_c('a',{staticStyle:{\"font-weight\":\"bold\"},attrs:{\"href\":\"https://www.niras.dk/privatlivspolitik-it-tjenester/\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.cookie_linkText))])])])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./default.vue?vue&type=template&id=69705e96&\"\nimport script from \"./default.vue?vue&type=script&lang=js&\"\nexport * from \"./default.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"g-layout\"}},[_c('the-header'),_vm._v(\" \"),_c('notifications',{attrs:{\"group\":\"info\",\"classes\":\"vue-notification\",\"position\":\"top center\",\"speed\":1000}}),_vm._v(\" \"),_c('nuxt'),_vm._v(\" \"),_c('the-footer')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SimpleHeader.vue?vue&type=template&id=0b29cabd&scoped=true&\"\nvar script = {}\nimport style0 from \"./SimpleHeader.vue?vue&type=style&index=0&id=0b29cabd&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0b29cabd\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"v-header\",attrs:{\"id\":\"g-layout-header\"}},[_c('div',{staticClass:\"v-header-logo g-flexrow\"},[_c('span',[_vm._v(_vm._s(_vm.$t('header.title')))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../node_modules/babel-loader/lib/index.js??ref--2-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./simple.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/babel-loader/lib/index.js??ref--2-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./simple.vue?vue&type=script&lang=js&\"","\n\n\n","import { render, staticRenderFns } from \"./SimpleFooter.vue?vue&type=template&id=255d0163&scoped=true&\"\nvar script = {}\nimport style0 from \"./SimpleFooter.vue?vue&type=style&index=0&id=255d0163&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"255d0163\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"g-layout-footer\"}},[_c('div',{staticClass:\"v-footer\"},[_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"mailto:vandkortet@niras.dk\"}},[_vm._v(_vm._s(_vm.$t('footer.contact')))])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./simple.vue?vue&type=template&id=8bca31d2&\"\nimport script from \"./simple.vue?vue&type=script&lang=js&\"\nexport * from \"./simple.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"g-layout\"}},[_c('the-header'),_vm._v(\" \"),_c('nuxt'),_vm._v(\" \"),_c('the-footer')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue'\n\nimport {\n getMatchedComponentsInstances,\n getChildrenComponentInstancesUsingFetch,\n promisify,\n globalHandleError,\n sanitizeComponent\n} from './utils'\n\nimport NuxtLoading from './components/nuxt-loading.vue'\n\nimport '..\\\\node_modules\\\\bulma\\\\css\\\\bulma.css'\n\nimport '..\\\\assets\\\\scss\\\\main.scss'\n\nimport '..\\\\node_modules\\\\ncomponents-map\\\\dist\\\\nmap.css'\n\nimport _6f6c098b from '..\\\\layouts\\\\default.vue'\nimport _ee7125b0 from '..\\\\layouts\\\\simple.vue'\n\nconst layouts = { \"_default\": sanitizeComponent(_6f6c098b),\"_simple\": sanitizeComponent(_ee7125b0) }\n\nexport default {\n render (h, props) {\n const loadingEl = h('NuxtLoading', { ref: 'loading' })\n\n const layoutEl = h(this.layout || 'nuxt')\n const templateEl = h('div', {\n domProps: {\n id: '__layout'\n },\n key: this.layoutName\n }, [layoutEl])\n\n const transitionEl = h('transition', {\n props: {\n name: 'layout',\n mode: 'out-in'\n },\n on: {\n beforeEnter (el) {\n // Ensure to trigger scroll event after calling scrollBehavior\n window.$nuxt.$nextTick(() => {\n window.$nuxt.$emit('triggerScroll')\n })\n }\n }\n }, [templateEl])\n\n return h('div', {\n domProps: {\n id: '__nuxt'\n }\n }, [\n loadingEl,\n\n transitionEl\n ])\n },\n\n data: () => ({\n isOnline: true,\n\n layout: null,\n layoutName: '',\n\n nbFetching: 0\n }),\n\n beforeCreate () {\n Vue.util.defineReactive(this, 'nuxt', this.$options.nuxt)\n },\n created () {\n // Add this.$nuxt in child instances\n Vue.prototype.$nuxt = this\n // add to window so we can listen when ready\n if (process.client) {\n window.$nuxt = this\n\n this.refreshOnlineStatus()\n // Setup the listeners\n window.addEventListener('online', this.refreshOnlineStatus)\n window.addEventListener('offline', this.refreshOnlineStatus)\n }\n // Add $nuxt.error()\n this.error = this.nuxt.error\n // Add $nuxt.context\n this.context = this.$options.context\n },\n\n mounted () {\n this.$loading = this.$refs.loading\n },\n watch: {\n 'nuxt.err': 'errorChanged'\n },\n\n computed: {\n isOffline () {\n return !this.isOnline\n },\n\n isFetching() {\n return this.nbFetching > 0\n }\n },\n\n methods: {\n refreshOnlineStatus () {\n if (process.client) {\n if (typeof window.navigator.onLine === 'undefined') {\n // If the browser doesn't support connection status reports\n // assume that we are online because most apps' only react\n // when they now that the connection has been interrupted\n this.isOnline = true\n } else {\n this.isOnline = window.navigator.onLine\n }\n }\n },\n\n async refresh () {\n const pages = getMatchedComponentsInstances(this.$route)\n\n if (!pages.length) {\n return\n }\n this.$loading.start()\n\n const promises = pages.map((page) => {\n const p = []\n\n // Old fetch\n if (page.$options.fetch && page.$options.fetch.length) {\n p.push(promisify(page.$options.fetch, this.context))\n }\n if (page.$fetch) {\n p.push(page.$fetch())\n } else {\n // Get all component instance to call $fetch\n for (const component of getChildrenComponentInstancesUsingFetch(page.$vnode.componentInstance)) {\n p.push(component.$fetch())\n }\n }\n\n if (page.$options.asyncData) {\n p.push(\n promisify(page.$options.asyncData, this.context)\n .then((newData) => {\n for (const key in newData) {\n Vue.set(page.$data, key, newData[key])\n }\n })\n )\n }\n\n return Promise.all(p)\n })\n try {\n await Promise.all(promises)\n } catch (error) {\n this.$loading.fail(error)\n globalHandleError(error)\n this.error(error)\n }\n this.$loading.finish()\n },\n\n errorChanged () {\n if (this.nuxt.err && this.$loading) {\n if (this.$loading.fail) {\n this.$loading.fail(this.nuxt.err)\n }\n if (this.$loading.finish) {\n this.$loading.finish()\n }\n }\n },\n\n setLayout (layout) {\n if (!layout || !layouts['_' + layout]) {\n layout = 'default'\n }\n this.layoutName = layout\n this.layout = layouts['_' + layout]\n return this.layout\n },\n loadLayout (layout) {\n if (!layout || !layouts['_' + layout]) {\n layout = 'default'\n }\n return Promise.resolve(layouts['_' + layout])\n }\n },\n\n components: {\n NuxtLoading\n }\n}\n","import Vue from 'vue'\nimport Vuex from 'vuex'\n\nVue.use(Vuex)\n\nlet store = {};\n\n(function updateModules () {\n store = normalizeRoot(require('..\\\\store\\\\index.js'), 'store/index.js')\n\n // If store is an exported method = classic mode (deprecated)\n\n // Enforce store modules\n store.modules = store.modules || {}\n\n // If the environment supports hot reloading...\n})()\n\n// createStore\nexport const createStore = store instanceof Function ? store : () => {\n return new Vuex.Store(Object.assign({\n strict: (process.env.NODE_ENV !== 'production')\n }, store))\n}\n\nfunction normalizeRoot (moduleData, filePath) {\n moduleData = moduleData.default || moduleData\n\n if (moduleData.commit) {\n throw new Error(`[nuxt] ${filePath} should export a method that returns a Vuex instance.`)\n }\n\n if (typeof moduleData !== 'function') {\n // Avoid TypeError: setting a property that has only a getter when overwriting top level keys\n moduleData = Object.assign({}, moduleData)\n }\n return normalizeModule(moduleData, filePath)\n}\n\nfunction normalizeModule (moduleData, filePath) {\n if (moduleData.state && typeof moduleData.state !== 'function') {\n console.warn(`'state' should be a method that returns an object in ${filePath}`)\n\n const state = Object.assign({}, moduleData.state)\n // Avoid TypeError: setting a property that has only a getter when overwriting top level keys\n moduleData = Object.assign({}, moduleData, { state: () => state })\n }\n return moduleData\n}\n","import * as woothee from \"woothee\";\nconst DEFAULT_USER_AGENT = \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36\";\nconst ANDROID_MOBILE = /Android.+Mobi(le)?/;\nexport class UA {\n constructor(ua) {\n this._ua = ua;\n this._parsed = woothee.parse(ua);\n }\n original() {\n return this._ua;\n }\n deviceType() {\n return this._parsed.category;\n }\n os() {\n return this._parsed.os;\n }\n osVersion() {\n return this._parsed.os_version;\n }\n browser() {\n return this._parsed.name;\n }\n browserVersion() {\n return this._parsed.version;\n }\n browserVendor() {\n return this._parsed.vendor;\n }\n isFromIphone() {\n return this.os() === \"iPhone\";\n }\n isFromIpad() {\n return this.os() === \"iPad\";\n }\n isFromIpod() {\n return this.os() === \"iPod\";\n }\n isFromIos() {\n return (this.isFromIphone() ||\n this.isFromIpad() ||\n this.isFromIpod() ||\n this.os() == \"iOS\");\n }\n isFromAndroidMobile() {\n return this.os() === \"Android\" && ANDROID_MOBILE.test(this._ua);\n }\n isFromAndroidTablet() {\n return this.os() === \"Android\" && !ANDROID_MOBILE.test(this._ua);\n }\n isFromAndroidOs() {\n return this.isFromAndroidMobile() || this.isFromAndroidTablet() || this.os() == \"Android\";\n }\n isFromWindowsPhone() {\n return this.os() === \"Windows Phone OS\";\n }\n isFromPc() {\n return this.deviceType() === \"pc\";\n }\n isFromSmartphone() {\n return this.deviceType() === \"smartphone\" && !this.isFromTablet();\n }\n isFromMobilephone() {\n return this.deviceType() === \"mobilephone\";\n }\n isFromAppliance() {\n return this.deviceType() === \"appliance\";\n }\n isFromCrawler() {\n return this.deviceType() === \"crawler\";\n }\n isFromTablet() {\n return this.isFromIpad() || this.isFromAndroidTablet();\n }\n}\nexport default (ctx, inject) => {\n let userAgent = DEFAULT_USER_AGENT;\n if (typeof ctx.req !== \"undefined\") {\n userAgent = ctx.req.headers[\"user-agent\"]; // FIXME: Better case handling - 20181125 Shin Ando\n }\n else if (typeof navigator !== \"undefined\") {\n userAgent = navigator.userAgent;\n }\n ctx.$ua = new UA(userAgent);\n inject(\"ua\", new UA(userAgent));\n};\n//# sourceMappingURL=plugin.template.js.map","import moment from 'moment'\n\nimport 'moment/locale/da'\n\nmoment.locale('da')\n\nexport default (ctx, inject) => {\n ctx.$moment = moment\n inject('moment', moment)\n}\n","import middleware from '../middleware'\n\nmiddleware.nuxti18n = async (context) => {\n const { app, isHMR } = context\n\n if (isHMR) {\n return\n }\n\n await app.i18n.__onNavigate()\n}\n","import './middleware'\nimport Vue from 'vue'\nimport {\n defaultLocale,\n defaultLocaleRouteNameSuffix,\n LOCALE_CODE_KEY,\n LOCALE_DOMAIN_KEY,\n MODULE_NAME,\n routesNameSeparator,\n STRATEGIES,\n strategy,\n vuex\n} from './options'\n\nfunction localePath (route, locale) {\n const localizedRoute = localeRoute.call(this, route, locale)\n\n if (!localizedRoute) {\n return\n }\n\n return localizedRoute.fullPath\n}\n\nfunction localeRoute (route, locale) {\n // Abort if no route or no locale\n if (!route) {\n return\n }\n\n const { i18n } = this\n\n if (strategy === STRATEGIES.NO_PREFIX && locale && locale !== i18n.locale) {\n // eslint-disable-next-line no-console\n console.warn(`[${MODULE_NAME}] Passing non-current locale to localePath is unsupported when using no_prefix strategy`)\n }\n\n locale = locale || i18n.locale\n\n if (!locale) {\n return\n }\n\n // If route parameter is a string, check if it's a path or name of route.\n if (typeof route === 'string') {\n if (route[0] === '/') {\n // If route parameter is a path, create route object with path.\n route = { path: route }\n } else {\n // Else use it as route name.\n route = { name: route }\n }\n }\n\n const localizedRoute = Object.assign({}, route)\n\n if (route.path && !route.name) {\n const isDefaultLocale = locale === defaultLocale\n // if route has a path defined but no name, resolve full route using the path\n const isPrefixed =\n // don't prefix default locale\n !(isDefaultLocale && [STRATEGIES.PREFIX_EXCEPT_DEFAULT, STRATEGIES.PREFIX_AND_DEFAULT].includes(strategy)) &&\n // no prefix for any language\n !(strategy === STRATEGIES.NO_PREFIX) &&\n // no prefix for different domains\n !i18n.differentDomains\n\n const path = (isPrefixed ? `/${locale}${route.path}` : route.path)\n\n localizedRoute.path = path\n } else {\n if (!route.name && !route.path) {\n localizedRoute.name = this.getRouteBaseName()\n }\n\n localizedRoute.name = getLocaleRouteName(localizedRoute.name, locale)\n\n const { params } = localizedRoute\n if (params && params['0'] === undefined && params.pathMatch) {\n params['0'] = params.pathMatch\n }\n }\n\n return this.router.resolve(localizedRoute).route\n}\n\nfunction switchLocalePath (locale) {\n const i18n = this.i18n\n\n if (strategy === STRATEGIES.NO_PREFIX && locale && locale !== i18n.locale) {\n // eslint-disable-next-line no-console\n console.warn(`[${MODULE_NAME}] Passing non-current locale to switchLocalePath is unsupported when using no_prefix strategy`)\n }\n\n const name = this.getRouteBaseName()\n if (!name) {\n return ''\n }\n\n const { route, store } = this\n const { params, ...routeCopy } = route\n let langSwitchParams = {}\n if (vuex && vuex.syncRouteParams && store) {\n langSwitchParams = store.getters[`${vuex.moduleName}/localeRouteParams`](locale)\n }\n const baseRoute = Object.assign({}, routeCopy, {\n name,\n params: {\n ...params,\n ...langSwitchParams,\n 0: params.pathMatch\n }\n })\n let path = this.localePath(baseRoute, locale)\n\n // Handle different domains\n if (i18n.differentDomains) {\n const lang = i18n.locales.find(l => l[LOCALE_CODE_KEY] === locale)\n if (lang && lang[LOCALE_DOMAIN_KEY]) {\n let protocol\n if (process.server) {\n const isHTTPS = require('is-https')\n protocol = isHTTPS(this.req) ? 'https' : 'http'\n } else {\n protocol = window.location.protocol.split(':')[0]\n }\n path = protocol + '://' + lang[LOCALE_DOMAIN_KEY] + path\n } else {\n // eslint-disable-next-line no-console\n console.warn(`[${MODULE_NAME}] Could not find domain name for locale ${locale}`)\n }\n }\n return path\n}\n\nfunction getRouteBaseName (givenRoute) {\n const route = givenRoute !== undefined ? givenRoute : this.route\n if (!route.name) {\n return null\n }\n return route.name.split(routesNameSeparator)[0]\n}\n\nfunction getLocaleRouteName (routeName, locale) {\n const name = routeName + (strategy === STRATEGIES.NO_PREFIX ? '' : routesNameSeparator + locale)\n\n // Match route without prefix for default locale\n if (locale === defaultLocale && strategy === STRATEGIES.PREFIX_AND_DEFAULT) {\n return name + routesNameSeparator + defaultLocaleRouteNameSuffix\n }\n\n return name\n}\n\nconst VueInstanceProxy = function (targetFunction) {\n return function () {\n const proxy = {\n getRouteBaseName: this.getRouteBaseName,\n i18n: this.$i18n,\n localePath: this.localePath,\n req: process.server ? this.$ssrContext.req : null,\n route: this.$route,\n router: this.$router,\n store: this.$store\n }\n\n return targetFunction.apply(proxy, arguments)\n }\n}\n\nconst NuxtContextProxy = function (context, targetFunction) {\n return function () {\n const { app, req, route, store } = context\n\n const proxy = {\n getRouteBaseName: app.getRouteBaseName,\n i18n: app.i18n,\n localePath: app.localePath,\n req: process.server ? req : null,\n route,\n router: app.router,\n store\n }\n\n return targetFunction.apply(proxy, arguments)\n }\n}\n\nconst plugin = {\n install (Vue) {\n Vue.mixin({\n methods: {\n localePath: VueInstanceProxy(localePath),\n localeRoute: VueInstanceProxy(localeRoute),\n switchLocalePath: VueInstanceProxy(switchLocalePath),\n getRouteBaseName: VueInstanceProxy(getRouteBaseName)\n }\n })\n }\n}\n\nexport default (context) => {\n Vue.use(plugin)\n const { app } = context\n app.localePath = NuxtContextProxy(context, localePath)\n app.localeRoute = NuxtContextProxy(context, localeRoute)\n app.switchLocalePath = NuxtContextProxy(context, switchLocalePath)\n app.getRouteBaseName = NuxtContextProxy(context, getRouteBaseName)\n}\n","import VueMeta from 'vue-meta'\nimport {\n COMPONENT_OPTIONS_KEY,\n LOCALE_CODE_KEY,\n LOCALE_ISO_KEY,\n MODULE_NAME,\n STRATEGIES,\n strategy\n} from './options'\n\nexport const nuxtI18nSeo = function () {\n if (\n !(VueMeta.hasMetaInfo ? VueMeta.hasMetaInfo(this) : this._hasMetaInfo) ||\n !this.$i18n ||\n !this.$i18n.locale ||\n !this.$i18n.locales ||\n this.$options[COMPONENT_OPTIONS_KEY] === false ||\n (this.$options[COMPONENT_OPTIONS_KEY] && this.$options[COMPONENT_OPTIONS_KEY].seo === false)\n ) {\n return {}\n }\n\n const metaObject = {\n htmlAttrs: {},\n link: [],\n meta: []\n }\n\n const currentLocale = this.$i18n.locales.find(l => codeFromLocale(l) === this.$i18n.locale)\n const currentLocaleIso = isoFromLocale(currentLocale)\n\n if (currentLocale && currentLocaleIso) {\n metaObject.htmlAttrs.lang = currentLocaleIso // TODO: simple lang or \"specific\" lang with territory?\n }\n\n addHreflangLinks.bind(this)(this.$i18n.locales, this.$i18n.__baseUrl, metaObject.link)\n addCanonicalLinks.bind(this)(currentLocale, this.$i18n.__baseUrl, metaObject.link)\n addCurrentOgLocale.bind(this)(currentLocale, currentLocaleIso, metaObject.meta)\n addAlternateOgLocales.bind(this)(this.$i18n.locales, currentLocaleIso, metaObject.meta)\n\n return metaObject\n}\n\nfunction addHreflangLinks (locales, baseUrl, link) {\n if (strategy === STRATEGIES.NO_PREFIX) {\n return\n }\n\n const localeMap = new Map()\n\n for (const locale of locales) {\n const localeIso = isoFromLocale(locale)\n\n if (!localeIso) {\n // eslint-disable-next-line no-console\n console.warn(`[${MODULE_NAME}] Locale ISO code is required to generate alternate link`)\n continue\n }\n\n const [language, region] = localeIso.split('-')\n\n if (language && region && (locale.isCatchallLocale || !localeMap.has(language))) {\n localeMap.set(language, locale)\n }\n\n localeMap.set(localeIso, locale)\n }\n\n for (const [iso, mapLocale] of localeMap.entries()) {\n link.push({\n hid: `alternate-hreflang-${iso}`,\n rel: 'alternate',\n href: baseUrl + this.switchLocalePath(mapLocale.code),\n hreflang: iso\n })\n }\n}\n\nfunction addCanonicalLinks (currentLocale, baseUrl, link) {\n if (strategy !== STRATEGIES.PREFIX_AND_DEFAULT) {\n return\n }\n\n const currentLocaleCode = codeFromLocale(currentLocale)\n const canonicalPath = this.switchLocalePath(currentLocaleCode)\n const canonicalPathIsDifferentFromCurrent = canonicalPath !== this.$route.path\n const shouldAddCanonical = canonicalPath && canonicalPathIsDifferentFromCurrent\n if (!shouldAddCanonical) {\n return\n }\n\n link.push({\n hid: `canonical-lang-${currentLocaleCode}`,\n rel: 'canonical',\n href: baseUrl + canonicalPath\n })\n}\n\nfunction addCurrentOgLocale (currentLocale, currentLocaleIso, meta) {\n const hasCurrentLocaleAndIso = currentLocale && currentLocaleIso\n\n if (!hasCurrentLocaleAndIso) {\n return\n }\n\n meta.push({\n hid: 'og:locale',\n property: 'og:locale',\n // Replace dash with underscore as defined in spec: language_TERRITORY\n content: underscoreIsoFromLocale(currentLocale)\n })\n}\n\nfunction addAlternateOgLocales (locales, currentLocaleIso, meta) {\n const localesWithoutCurrent = locales.filter(locale => {\n const localeIso = isoFromLocale(locale)\n return localeIso && localeIso !== currentLocaleIso\n })\n\n const alternateLocales = localesWithoutCurrent.map(locale => ({\n hid: `og:locale:alternate-${isoFromLocale(locale)}`,\n property: 'og:locale:alternate',\n content: underscoreIsoFromLocale(locale)\n }))\n\n meta.push(...alternateLocales)\n}\n\nfunction isoFromLocale (locale) {\n return locale[LOCALE_ISO_KEY]\n}\n\nfunction underscoreIsoFromLocale (locale) {\n return isoFromLocale(locale).replace(/-/g, '_')\n}\n\nfunction codeFromLocale (locale) {\n return locale[LOCALE_CODE_KEY]\n}\n","import Cookie from 'cookie'\nimport JsCookie from 'js-cookie'\n\n/**\n * Parses locales provided from browser through `accept-language` header.\n * @param {string} input\n * @return {string[]} An array of locale codes. Priority determined by order in array.\n */\nexport const parseAcceptLanguage = input => {\n // Example input: en-US,en;q=0.9,nb;q=0.8,no;q=0.7\n // Contains tags separated by comma.\n // Each tag consists of locale code (2-3 letter language code) and optionally country code\n // after dash. Tag can also contain score after semicolon, that is assumed to match order\n // so it's not explicitly used.\n return input.split(',').map(tag => tag.split(';')[0])\n}\n\n/**\n * Find locale code that best matches provided list of browser locales.\n * @param {string[]} appLocales The user-configured locale codes that are to be matched.\n * @param {string[]} browserLocales The locales to match against configured.\n * @return {string?}\n */\nexport const matchBrowserLocale = (appLocales, browserLocales) => {\n /** @type {{ code: string, score: number }[]} */\n const matchedLocales = []\n\n // First pass: match exact locale.\n for (const [index, browserCode] of browserLocales.entries()) {\n const matchedCode = appLocales.find(appCode => appCode.toLowerCase() === browserCode.toLowerCase())\n if (matchedCode) {\n matchedLocales.push({ code: matchedCode, score: 1 - index / browserLocales.length })\n break\n }\n }\n\n // Second pass: match only locale code part of the browser locale (not including country).\n for (const [index, browserCode] of browserLocales.entries()) {\n if (browserCode.includes('-')) {\n // For backwards-compatibility, this is lower-cased before comparing.\n const languageCode = browserCode.split('-')[0].toLowerCase()\n\n if (appLocales.includes(languageCode)) {\n // Deduct a thousandth for being non-exact match.\n matchedLocales.push({ code: languageCode, score: 0.999 - index / browserLocales.length })\n break\n }\n }\n }\n\n // Sort the list by score (0 - lowest, 1 - highest).\n if (matchedLocales.length > 1) {\n matchedLocales.sort((localeA, localeB) => {\n if (localeA.score === localeB.score) {\n // If scores are equal then pick more specific (longer) code.\n return localeB.code.length - localeA.code.length\n }\n\n return localeB.score - localeA.score\n })\n }\n\n return matchedLocales.length ? matchedLocales[0].code : null\n}\n\n/**\n * Resolves base URL value if provided as function. Otherwise just returns verbatim.\n * @param {string | function} baseUrl\n * @param {import('@nuxt/types').Context} context\n * @return {string}\n */\nexport const resolveBaseUrl = (baseUrl, context) => {\n if (typeof baseUrl === 'function') {\n return baseUrl(context)\n }\n\n return baseUrl\n}\n\n/**\n * Get locale code that corresponds to current hostname\n * @param {object} locales\n * @param {object} [req] Request object\n * @param {{ localDomainKey: string, localeCodeKey: string }} options\n * @return {string | null} Locade code found if any\n */\nexport const getLocaleDomain = (locales, req, { localDomainKey, localeCodeKey }) => {\n const hostname = process.client ? window.location.hostname : (req.headers['x-forwarded-host'] || req.headers.host)\n\n if (hostname) {\n const localeDomain = locales.find(l => l[localDomainKey] === hostname)\n if (localeDomain) {\n return localeDomain[localeCodeKey]\n }\n }\n\n return null\n}\n\n/**\n * Creates getter for getLocaleFromRoute\n * @param {string[]} localeCodes\n * @param {{ routesNameSeparator: string, defaultLocaleRouteNameSuffix: string }} options\n * @return {(route) => string| null}\n */\nexport const createLocaleFromRouteGetter = (localeCodes, { routesNameSeparator, defaultLocaleRouteNameSuffix }) => {\n const localesPattern = `(${localeCodes.join('|')})`\n const defaultSuffixPattern = `(?:${routesNameSeparator}${defaultLocaleRouteNameSuffix})?`\n const regexpName = new RegExp(`${routesNameSeparator}${localesPattern}${defaultSuffixPattern}$`, 'i')\n const regexpPath = new RegExp(`^/${localesPattern}/`, 'i')\n\n /**\n * Extract locale code from given route:\n * - If route has a name, try to extract locale from it\n * - Otherwise, fall back to using the routes'path\n * @param {Object} route\n * @param {string[]} localeCodes\n * @param {{ routesNameSeparator: string, defaultLocaleRouteNameSuffix: string }} options\n * @return {string | null} Locale code found if any\n */\n const getLocaleFromRoute = route => {\n // Extract from route name\n if (route.name) {\n const matches = route.name.match(regexpName)\n if (matches && matches.length > 1) {\n return matches[1]\n }\n } else if (route.path) {\n // Extract from path\n const matches = route.path.match(regexpPath)\n if (matches && matches.length > 1) {\n return matches[1]\n }\n }\n\n return null\n }\n\n return getLocaleFromRoute\n}\n\n/**\n * @param {object} [req]\n * @param {{ useCookie: boolean, localeCodes: string[], cookieKey: string}} options\n * @return {string | void}\n */\nexport const getLocaleCookie = (req, { useCookie, cookieKey, localeCodes }) => {\n if (useCookie) {\n let localeCode\n\n if (process.client) {\n localeCode = JsCookie.get(cookieKey)\n } else if (req && typeof req.headers.cookie !== 'undefined') {\n const cookies = req.headers && req.headers.cookie ? Cookie.parse(req.headers.cookie) : {}\n localeCode = cookies[cookieKey]\n }\n\n if (localeCodes.includes(localeCode)) {\n return localeCode\n }\n }\n}\n\n/**\n * @param {string} locale\n * @param {object} [res]\n * @param {{ useCookie: boolean, cookieDomain: string, cookieKey: string}} options\n */\nexport const setLocaleCookie = (locale, res, { useCookie, cookieDomain, cookieKey }) => {\n if (!useCookie) {\n return\n }\n const date = new Date()\n const cookieOptions = {\n expires: new Date(date.setDate(date.getDate() + 365)),\n path: '/',\n sameSite: 'lax'\n }\n\n if (cookieDomain) {\n cookieOptions.domain = cookieDomain\n }\n\n if (process.client) {\n JsCookie.set(cookieKey, locale, cookieOptions)\n } else if (res) {\n let headers = res.getHeader('Set-Cookie') || []\n if (typeof headers === 'string') {\n headers = [headers]\n }\n\n const redirectCookie = Cookie.serialize(cookieKey, locale, cookieOptions)\n headers.push(redirectCookie)\n\n res.setHeader('Set-Cookie', headers)\n }\n}\n\nexport const registerStore = (store, vuex, localeCodes, moduleName) => {\n store.registerModule(vuex.moduleName, {\n namespaced: true,\n state: () => ({\n ...(vuex.syncLocale ? { locale: '' } : {}),\n ...(vuex.syncMessages ? { messages: {} } : {}),\n ...(vuex.syncRouteParams ? { routeParams: {} } : {})\n }),\n actions: {\n ...(vuex.syncLocale ? {\n setLocale ({ commit }, locale) {\n commit('setLocale', locale)\n }\n } : {}),\n ...(vuex.syncMessages ? {\n setMessages ({ commit }, messages) {\n commit('setMessages', messages)\n }\n } : {}),\n ...(vuex.syncRouteParams ? {\n setRouteParams ({ commit }, params) {\n if (process.env.NODE_ENV === 'development') {\n validateRouteParams(params, localeCodes, moduleName)\n }\n commit('setRouteParams', params)\n }\n } : {})\n },\n mutations: {\n ...(vuex.syncLocale ? {\n setLocale (state, locale) {\n state.locale = locale\n }\n } : {}),\n ...(vuex.syncMessages ? {\n setMessages (state, messages) {\n state.messages = messages\n }\n } : {}),\n ...(vuex.syncRouteParams ? {\n setRouteParams (state, params) {\n state.routeParams = params\n }\n } : {})\n },\n getters: {\n ...(vuex.syncRouteParams ? {\n localeRouteParams: ({ routeParams }) => locale => routeParams[locale] || {}\n } : {})\n }\n }, { preserveState: !!store.state[vuex.moduleName] })\n}\n\n/**\n * Dispatch store module actions to keep it in sync with app's locale data\n * @param {Store} store Vuex store\n * @param {String} locale Current locale\n * @param {Object} messages Current messages\n * @param {{ vuex: object }} options\n * @return {Promise(void)}\n */\nexport const syncVuex = async (store, locale = null, messages = null, { vuex }) => {\n if (vuex && store) {\n if (locale !== null && vuex.syncLocale) {\n await store.dispatch(vuex.moduleName + '/setLocale', locale)\n }\n if (messages !== null && vuex.syncMessages) {\n await store.dispatch(vuex.moduleName + '/setMessages', messages)\n }\n }\n}\n\nconst isObject = value => value && !Array.isArray(value) && typeof value === 'object'\n\n/**\n * Validate setRouteParams action's payload\n * @param {object} routeParams The action's payload\n * @param {string[]} localeCodes\n * @param {string} moduleName\n */\nexport const validateRouteParams = (routeParams, localeCodes, moduleName) => {\n if (!isObject(routeParams)) {\n // eslint-disable-next-line no-console\n console.warn(`[${moduleName}] Route params should be an object`)\n return\n }\n\n for (const [key, value] of Object.entries(routeParams)) {\n if (!localeCodes.includes(key)) {\n // eslint-disable-next-line no-console\n console.warn(`[${moduleName}] Trying to set route params for key ${key} which is not a valid locale`)\n } else if (!isObject(value)) {\n // eslint-disable-next-line no-console\n console.warn(`[${moduleName}] Trying to set route params for locale ${key} with a non-object value`)\n }\n }\n}\n","import Vue from 'vue'\nimport VueI18n from 'vue-i18n'\nimport { nuxtI18nSeo } from './seo-head'\nimport {\n baseUrl,\n beforeLanguageSwitch,\n defaultLocale,\n defaultLocaleRouteNameSuffix,\n detectBrowserLanguage,\n differentDomains,\n IS_UNIVERSAL_MODE,\n lazy,\n LOCALE_CODE_KEY,\n LOCALE_DOMAIN_KEY,\n localeCodes,\n locales,\n MODULE_NAME,\n onLanguageSwitched,\n rootRedirect,\n routesNameSeparator,\n STRATEGIES,\n strategy,\n vueI18n,\n vuex\n} from './options'\nimport {\n createLocaleFromRouteGetter,\n getLocaleCookie,\n getLocaleDomain,\n resolveBaseUrl,\n matchBrowserLocale,\n parseAcceptLanguage,\n registerStore,\n setLocaleCookie,\n syncVuex\n} from './utils-common'\n\nVue.use(VueI18n)\n\nconst getLocaleFromRoute = createLocaleFromRouteGetter(localeCodes, { routesNameSeparator, defaultLocaleRouteNameSuffix })\n\n/** @type {import('@nuxt/types').Plugin} */\nexport default async (context) => {\n const { app, route, store, req, res, redirect } = context\n\n if (vuex && store) {\n registerStore(store, vuex, localeCodes, MODULE_NAME)\n }\n\n const { useCookie, cookieKey, cookieDomain } = detectBrowserLanguage\n\n const loadAndSetLocale = async (newLocale, { initialSetup = false } = {}) => {\n // Abort if different domains option enabled\n if (!initialSetup && app.i18n.differentDomains) {\n return\n }\n\n // Abort if newLocale did not change\n if (newLocale === app.i18n.locale) {\n return\n }\n\n const oldLocale = app.i18n.locale\n\n if (!initialSetup) {\n app.i18n.beforeLanguageSwitch(oldLocale, newLocale)\n\n if (useCookie) {\n app.i18n.setLocaleCookie(newLocale)\n }\n }\n\n // Lazy-loading enabled\n if (lazy) {\n const { loadLanguageAsync } = require('./utils')\n\n // Load fallback locale.\n if (app.i18n.fallbackLocale && newLocale !== app.i18n.fallbackLocale) {\n await loadLanguageAsync(context, app.i18n.fallbackLocale)\n }\n\n await loadLanguageAsync(context, newLocale)\n }\n\n app.i18n.locale = newLocale\n\n await syncVuex(store, newLocale, app.i18n.getLocaleMessage(newLocale), { vuex })\n\n // Must retrieve from context as it might have changed since plugin initialization.\n const { route } = context\n const redirectPath = getRedirectPathForLocale(route, newLocale)\n\n if (initialSetup) {\n // Redirect will be delayed until middleware runs as redirecting from plugin does not\n // work in SPA (https://github.com/nuxt/nuxt.js/issues/4491).\n app.i18n.__redirect = redirectPath\n } else {\n app.i18n.onLanguageSwitched(oldLocale, newLocale)\n\n if (redirectPath) {\n redirect(redirectPath)\n }\n }\n }\n\n const getRedirectPathForLocale = (route, locale) => {\n if (!locale || app.i18n.differentDomains || strategy === STRATEGIES.NO_PREFIX) {\n return ''\n }\n\n if (getLocaleFromRoute(route) === locale) {\n return ''\n }\n\n // At this point we are left with route that either has no or different locale.\n let redirectPath = app.switchLocalePath(locale)\n\n if (!redirectPath) {\n // Current route could be 404 in which case attempt to find matching route for given locale.\n redirectPath = app.localePath(route.fullPath, locale)\n if (redirectPath === route.fullPath) {\n return ''\n }\n }\n\n return redirectPath\n }\n\n const doDetectBrowserLanguage = () => {\n // Browser detection is ignored if it is a nuxt generate.\n if (process.static && process.server) {\n return false\n }\n\n const { alwaysRedirect, fallbackLocale } = detectBrowserLanguage\n\n let matchedLocale\n\n if (useCookie && (matchedLocale = app.i18n.getLocaleCookie())) {\n // Get preferred language from cookie if present and enabled\n } else if (process.client && typeof navigator !== 'undefined' && navigator.languages) {\n // Get browser language either from navigator if running on client side, or from the headers\n matchedLocale = matchBrowserLocale(localeCodes, navigator.languages)\n } else if (req && typeof req.headers['accept-language'] !== 'undefined') {\n matchedLocale = matchBrowserLocale(localeCodes, parseAcceptLanguage(req.headers['accept-language']))\n }\n\n const finalLocale = matchedLocale || fallbackLocale\n\n // Handle cookie option to prevent multiple redirections\n if (finalLocale && (!useCookie || alwaysRedirect || !app.i18n.getLocaleCookie())) {\n if (finalLocale !== app.i18n.locale) {\n return finalLocale\n } else if (useCookie && !app.i18n.getLocaleCookie()) {\n app.i18n.setLocaleCookie(finalLocale)\n }\n }\n\n return false\n }\n\n // Called by middleware on navigation (also on the initial one).\n const onNavigate = async () => {\n const { route } = context\n\n // Handle root path redirect\n if (route.path === '/' && rootRedirect) {\n let statusCode = 302\n let path = rootRedirect\n\n if (typeof rootRedirect !== 'string') {\n statusCode = rootRedirect.statusCode\n path = rootRedirect.path\n }\n\n redirect(statusCode, `/${path}`, route.query)\n return\n }\n\n const storedRedirect = app.i18n.__redirect\n if (storedRedirect) {\n app.i18n.__redirect = null\n redirect(storedRedirect)\n return\n }\n\n app.i18n.__baseUrl = resolveBaseUrl(baseUrl, context)\n\n const finalLocale =\n (detectBrowserLanguage && doDetectBrowserLanguage()) ||\n getLocaleFromRoute(route) || app.i18n.locale || app.i18n.defaultLocale || ''\n\n await app.i18n.setLocale(finalLocale)\n }\n\n const extendVueI18nInstance = i18n => {\n i18n.locales = locales\n i18n.defaultLocale = defaultLocale\n i18n.differentDomains = differentDomains\n i18n.beforeLanguageSwitch = beforeLanguageSwitch\n i18n.onLanguageSwitched = onLanguageSwitched\n i18n.setLocaleCookie = locale => setLocaleCookie(locale, res, { useCookie, cookieDomain, cookieKey })\n i18n.getLocaleCookie = () => getLocaleCookie(req, { useCookie, cookieKey, localeCodes })\n i18n.setLocale = (locale) => loadAndSetLocale(locale)\n }\n\n // Set instance options\n const vueI18nOptions = typeof vueI18n === 'function' ? vueI18n(context) : vueI18n\n vueI18nOptions.componentInstanceCreatedListener = extendVueI18nInstance\n app.i18n = new VueI18n(vueI18nOptions)\n // Initialize locale and fallbackLocale as vue-i18n defaults those to 'en-US' if falsey\n app.i18n.locale = ''\n app.i18n.fallbackLocale = vueI18nOptions.fallbackLocale || ''\n extendVueI18nInstance(app.i18n)\n app.i18n.__baseUrl = resolveBaseUrl(baseUrl, context)\n app.i18n.__onNavigate = onNavigate\n\n // Inject seo function\n Vue.prototype.$nuxtI18nSeo = nuxtI18nSeo\n\n if (store) {\n // Inject in store.\n store.$i18n = app.i18n\n\n if (store.state.localeDomains) {\n app.i18n.locales.forEach(locale => {\n locale.domain = store.state.localeDomains[locale.code]\n })\n }\n }\n\n let finalLocale = app.i18n.defaultLocale || ''\n\n if (vuex && vuex.syncLocale && store && store.state[vuex.moduleName].locale !== '') {\n finalLocale = store.state[vuex.moduleName].locale\n } else if (app.i18n.differentDomains) {\n const options = { localDomainKey: LOCALE_DOMAIN_KEY, localeCodeKey: LOCALE_CODE_KEY }\n const domainLocale = getLocaleDomain(locales, req, options)\n finalLocale = domainLocale || finalLocale\n } else if (strategy !== STRATEGIES.NO_PREFIX) {\n const routeLocale = getLocaleFromRoute(route)\n finalLocale = routeLocale || finalLocale\n } else if (useCookie) {\n finalLocale = app.i18n.getLocaleCookie() || finalLocale\n }\n\n const detectedBrowserLocale = detectBrowserLanguage && doDetectBrowserLanguage()\n finalLocale = detectedBrowserLocale || finalLocale\n await loadAndSetLocale(finalLocale, { initialSetup: true })\n\n // Trigger onNavigate manually for Nuxt generate in universal mode as Nuxt doesn't do that on load.\n if (process.client && process.static && IS_UNIVERSAL_MODE) {\n await onNavigate()\n }\n}\n","import Axios from 'axios'\nimport defu from 'defu'\n\nconst $nuxt = typeof window !== 'undefined' && window['$nuxt']\n\n// Axios.prototype cannot be modified\nconst axiosExtra = {\n setBaseURL (baseURL) {\n this.defaults.baseURL = baseURL\n },\n setHeader (name, value, scopes = 'common') {\n for (let scope of Array.isArray(scopes) ? scopes : [ scopes ]) {\n if (!value) {\n delete this.defaults.headers[scope][name];\n return\n }\n this.defaults.headers[scope][name] = value\n }\n },\n setToken (token, type, scopes = 'common') {\n const value = !token ? null : (type ? type + ' ' : '') + token\n this.setHeader('Authorization', value, scopes)\n },\n onRequest(fn) {\n this.interceptors.request.use(config => fn(config) || config)\n },\n onResponse(fn) {\n this.interceptors.response.use(response => fn(response) || response)\n },\n onRequestError(fn) {\n this.interceptors.request.use(undefined, error => fn(error) || Promise.reject(error))\n },\n onResponseError(fn) {\n this.interceptors.response.use(undefined, error => fn(error) || Promise.reject(error))\n },\n onError(fn) {\n this.onRequestError(fn)\n this.onResponseError(fn)\n },\n create(options) {\n return createAxiosInstance(defu(options, this.defaults))\n }\n}\n\n// Request helpers ($get, $post, ...)\nfor (let method of ['request', 'delete', 'get', 'head', 'options', 'post', 'put', 'patch']) {\n axiosExtra['$' + method] = function () { return this[method].apply(this, arguments).then(res => res && res.data) }\n}\n\nconst extendAxiosInstance = axios => {\n for (let key in axiosExtra) {\n axios[key] = axiosExtra[key].bind(axios)\n }\n}\n\nconst createAxiosInstance = axiosOptions => {\n // Create new axios instance\n const axios = Axios.create(axiosOptions)\n axios.CancelToken = Axios.CancelToken\n axios.isCancel = Axios.isCancel\n\n // Extend axios proto\n extendAxiosInstance(axios)\n\n // Setup interceptors\n\n setupProgress(axios)\n\n return axios\n}\n\nconst setupProgress = (axios) => {\n if (process.server) {\n return\n }\n\n // A noop loading inteterface for when $nuxt is not yet ready\n const noopLoading = {\n finish: () => { },\n start: () => { },\n fail: () => { },\n set: () => { }\n }\n\n const $loading = () => ($nuxt && $nuxt.$loading && $nuxt.$loading.set) ? $nuxt.$loading : noopLoading\n\n let currentRequests = 0\n\n axios.onRequest(config => {\n if (config && config.progress === false) {\n return\n }\n\n currentRequests++\n })\n\n axios.onResponse(response => {\n if (response && response.config && response.config.progress === false) {\n return\n }\n\n currentRequests--\n if (currentRequests <= 0) {\n currentRequests = 0\n $loading().finish()\n }\n })\n\n axios.onError(error => {\n if (error && error.config && error.config.progress === false) {\n return\n }\n\n currentRequests--\n\n if (Axios.isCancel(error)) {\n return\n }\n\n $loading().fail()\n $loading().finish()\n })\n\n const onProgress = e => {\n if (!currentRequests) {\n return\n }\n const progress = ((e.loaded * 100) / (e.total * currentRequests))\n $loading().set(Math.min(100, progress))\n }\n\n axios.defaults.onUploadProgress = onProgress\n axios.defaults.onDownloadProgress = onProgress\n}\n\nexport default (ctx, inject) => {\n // baseURL\n const baseURL = process.browser\n ? 'http://localhost:3000/'\n : (process.env._AXIOS_BASE_URL_ || 'http://localhost:3000/')\n\n // Create fresh objects for all default header scopes\n // Axios creates only one which is shared across SSR requests!\n // https://github.com/mzabriskie/axios/blob/master/lib/defaults.js\n const headers = {\n \"common\": {\n \"Accept\": \"application/json, text/plain, */*\"\n },\n \"delete\": {},\n \"get\": {},\n \"head\": {},\n \"post\": {},\n \"put\": {},\n \"patch\": {}\n}\n\n const axiosOptions = {\n baseURL,\n headers\n }\n\n // Proxy SSR request headers headers\n if (process.server && ctx.req && ctx.req.headers) {\n const reqHeaders = { ...ctx.req.headers }\n for (let h of [\"accept\",\"host\",\"cf-ray\",\"cf-connecting-ip\",\"content-length\",\"content-md5\",\"content-type\"]) {\n delete reqHeaders[h]\n }\n axiosOptions.headers.common = { ...reqHeaders, ...axiosOptions.headers.common }\n }\n\n if (process.server) {\n // Don't accept brotli encoding because Node can't parse it\n axiosOptions.headers.common['accept-encoding'] = 'gzip, deflate'\n }\n\n const axios = createAxiosInstance(axiosOptions)\n\n // Inject axios to the context as $axios\n ctx.$axios = axios\n inject('axios', axios)\n}\n","import { EventEmitter } from 'events'\nimport Vue from 'vue'\n\nconst API_URL = 'https://www.recaptcha.net/recaptcha/api.js'\n\nclass ReCaptcha {\n constructor ({ hideBadge, language, mode, siteKey, version, size }) {\n if (!siteKey) {\n throw new Error('ReCaptcha error: No key provided')\n }\n\n if (!version) {\n throw new Error('ReCaptcha error: No version provided')\n }\n\n this._elements = {}\n this._grecaptcha = null\n\n this._eventBus = null\n this._ready = false\n\n this.hideBadge = hideBadge\n this.language = language\n\n this.siteKey = siteKey\n this.version = version\n this.size = size\n\n this.mode = mode\n }\n\n destroy () {\n if (this._ready) {\n this._ready = false\n\n const { head } = document\n const { style } = this._elements\n\n const scripts = [...document.head.querySelectorAll('script')]\n .filter(script => script.src.includes('recaptcha'))\n\n if (scripts.length) {\n scripts.forEach(script => head.removeChild(script))\n }\n\n if (head.contains(style)) {\n head.removeChild(style)\n }\n\n const badge = document.querySelector('.grecaptcha-badge')\n if (badge) {\n badge.remove()\n }\n }\n }\n\n async execute (action) {\n try {\n await this.init()\n\n if ('grecaptcha' in window) {\n return this._grecaptcha.execute(\n this.siteKey,\n { action }\n )\n }\n } catch (error) {\n throw new Error(`ReCaptcha error: Failed to execute ${error}`)\n }\n }\n\n getResponse (widgetId) {\n return new Promise((resolve, reject) => {\n if ('grecaptcha' in window) {\n if(this.size == 'invisible'){\n this._grecaptcha.execute(widgetId)\n\n window.recaptchaSuccessCallback = token => {\n this._eventBus.emit('recaptcha-success', token)\n resolve(token)\n }\n\n window.recaptchaErrorCallback = error => {\n this._eventBus.emit('recaptcha-error', error)\n reject(error)\n }\n } else {\n const response = this._grecaptcha.getResponse(widgetId)\n\n if (response) {\n this._eventBus.emit('recaptcha-success', response)\n resolve(response)\n } else {\n const errorMessage = 'Failed to execute'\n\n this._eventBus.emit('recaptcha-error', errorMessage)\n reject(errorMessage)\n }\n }\n }\n })\n }\n\n init () {\n if (this._ready) {\n // make sure caller waits until recaptcha get ready\n return this._ready\n }\n\n this._eventBus = new EventEmitter()\n this._elements = {\n script: document.createElement('script'),\n style: document.createElement('style')\n }\n\n const { script, style } = this._elements\n\n script.setAttribute('async', '')\n script.setAttribute('defer', '')\n\n const params = []\n if (this.version === 3) { params.push('render=' + this.siteKey) }\n if (this.language) { params.push('hl=' + this.language) }\n\n let scriptUrl = API_URL\n\n if (this.mode === 'enterprise') {\n scriptUrl = scriptUrl.replace('api.js', 'enterprise.js')\n params.push('render=' + this.siteKey)\n }\n\n script.setAttribute('src', scriptUrl + '?' + params.join('&'))\n\n window.recaptchaSuccessCallback = (token) => this._eventBus.emit('recaptcha-success', token)\n window.recaptchaExpiredCallback = () => this._eventBus.emit('recaptcha-expired')\n window.recaptchaErrorCallback = () => this._eventBus.emit('recaptcha-error', 'Failed to execute')\n\n this._ready = new Promise((resolve, reject) => {\n script.addEventListener('load', () => {\n if (this.version === 3 && this.hideBadge) {\n style.innerHTML = '.grecaptcha-badge { display: none }'\n document.head.appendChild(style)\n } else if(this.version === 2 && this.hideBadge) {\n // display: none DISABLES the spam checking!\n // ref: https://stackoverflow.com/questions/44543157/how-to-hide-the-google-invisible-recaptcha-badge\n style.innerHTML = '.grecaptcha-badge { visibility: hidden; }'\n document.head.appendChild(style)\n }\n\n this._grecaptcha = window.grecaptcha.enterprise || window.grecaptcha\n this._grecaptcha.ready(resolve)\n })\n\n script.addEventListener('error', () => {\n document.head.removeChild(script)\n reject('ReCaptcha error: Failed to load script')\n this._ready = null;\n })\n\n document.head.appendChild(script)\n })\n\n return this._ready\n }\n\n on (event, callback) {\n return this._eventBus.on(event, callback)\n }\n\n reset (widgetId) {\n if (this.version === 2 || typeof widgetId !== 'undefined') {\n this._grecaptcha.reset(widgetId)\n }\n }\n\n render (reference, { sitekey, theme }) {\n return this._grecaptcha.render(reference.$el || reference, { sitekey, theme })\n }\n}\n\nexport default function (_, inject) {\n const { recaptcha = {} } = _.$config || {}\n const options = {\n ...{\"hideBadge\":true,\"language\":\"da\",\"siteKey\":\"6LdnUOMUAAAAAO1qLNX5MMESsvvBn095SCTDwO3Y\",\"version\":3,\"size\":\"normal\"},\n ...recaptcha,\n }\n\n Vue.component('Recaptcha', () => import('./recaptcha.vue'))\n inject('recaptcha', new ReCaptcha(options))\n}\n","import Vue from 'vue'\nimport VueAnalytics from 'vue-analytics'\n\nexport default async (ctx, inject) => {\n const runtimeConfig = ctx.$config && ctx.$config.googleAnalytics || {}\n const moduleOptions = {\"dev\":false,\"debug\":{\"sendHitTask\":true},\"id\":\"UA-163728804-1\"}\n const options = {...moduleOptions, ...runtimeConfig}\n\n if (typeof options.asyncID === 'function') {\n options.id = await options.asyncID(ctx)\n }\n\n Vue.use(VueAnalytics, {...{ router: ctx.app.router }, ...options})\n\n ctx.$ga = Vue.$ga\n inject('ga', Vue.$ga)\n}\n","import { NMapUtils } from 'ncomponents-map'\nimport axios from '@/plugins/axios.js'\n\nexport default async (ctx) => {\n if (ctx.$ua.browser() === 'Internet Explorer') {\n ctx.redirect('/supported_browsers')\n }\n NMapUtils.registerProjection('EPSG:4326', '+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs')\n await axios.post('https://api.iot.niras.dk/Userdata/GetLocationList', { projectId: 'e1ba78d4-146b-4ea6-9a0c-fc4ef14c4ffd' })\n .then(async (response) => {\n await ctx.store.dispatch('setManualSensors', response.data.items)\n })\n .catch((error) => {\n console.error('/Userdata/GetLocationList', error)\n })\n await axios.post('https://api.iot.niras.dk/Userdata/GetInputTypeList', {})\n .then(async (response) => {\n await ctx.store.dispatch('setInputTypeList', response.data.items)\n })\n .catch((error) => {\n console.error('/Userdata/GetInputTypeList', error)\n })\n}\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??ref--2-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseIcon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??ref--2-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseIcon.vue?vue&type=script&lang=js&\"","\n\n\n","import { render, staticRenderFns } from \"./BaseIcon.vue?vue&type=template&id=49bfc897&\"\nimport script from \"./BaseIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./BaseIcon.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{domProps:{\"innerHTML\":_vm._s(require((\"@/assets/icons/\" + _vm.name + \".svg?raw\")))}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??ref--2-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseImage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??ref--2-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseImage.vue?vue&type=script&lang=js&\"","\n\n\n","import { render, staticRenderFns } from \"./BaseImage.vue?vue&type=template&id=0b4e72b8&\"\nimport script from \"./BaseImage.vue?vue&type=script&lang=js&\"\nexport * from \"./BaseImage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.type === 'jpg' || _vm.type === 'jpeg' || _vm.type === 'png')?_c('img',{attrs:{\"alt\":_vm.alt,\"src\":require((\"@/assets/images/\" + _vm.name + \".\" + _vm.type))}}):_c('div',{domProps:{\"innerHTML\":_vm._s(require((\"@/assets/images/\" + _vm.name + \".svg?raw\")))}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue'\nimport Notifications from 'vue-notification'\nimport CookieLaw from 'vue-cookie-law'\nimport { NMapStyleCircle } from 'ncomponents-map'\nimport BaseIcon from '@/components/base/icon/BaseIcon.vue'\nimport BaseImage from '@/components/base/image/BaseImage.vue'\n\nVue.use(Notifications)\nVue.component('base-icon', BaseIcon)\nVue.component('base-image', BaseImage)\nVue.component('cookie-law', CookieLaw)\n\nVue.prototype.$getSensorStyle = (sensorType) => {\n const colors = {\n automatic: '#ff0000',\n public: '#eec443',\n private: '#20201e',\n scala: '#06B18D'\n }\n return new NMapStyleCircle({\n fillColor: colors[sensorType] || '#bbbbbb',\n radius: 7,\n strokeColor: '#000000'\n })\n}\n\nVue.prototype.$getSensorActiveStyle = (sensorType) => {\n const colors = {\n automatic: '#ff0000',\n public: '#eec443',\n private: '#20201e',\n scala: '#06B18D'\n }\n return new NMapStyleCircle({\n fillColor: colors[sensorType] || '#bbbbbb',\n radius: 12,\n strokeColor: '#000000'\n })\n}\n\nVue.prototype.$getPopupContent = (alias) => {\n let content = ''\n content += '
' +\n '
' +\n alias +\n '
' +\n '
';\n\n return content\n}\n","import Vue from 'vue'\nimport Meta from 'vue-meta'\nimport ClientOnly from 'vue-client-only'\nimport NoSsr from 'vue-no-ssr'\nimport { createRouter } from './router.js'\nimport NuxtChild from './components/nuxt-child.js'\nimport NuxtError from './components/nuxt-error.vue'\nimport Nuxt from './components/nuxt.js'\nimport App from './App.js'\nimport { setContext, getLocation, getRouteData, normalizeError } from './utils'\nimport { createStore } from './store.js'\n\n/* Plugins */\n\nimport nuxt_plugin_nuxtuseragent_902be664 from 'nuxt_plugin_nuxtuseragent_902be664' // Source: .\\\\nuxt-user-agent.js (mode: 'all')\nimport nuxt_plugin_moment_ffe2b41a from 'nuxt_plugin_moment_ffe2b41a' // Source: .\\\\moment.js (mode: 'all')\nimport nuxt_plugin_pluginrouting_095febd4 from 'nuxt_plugin_pluginrouting_095febd4' // Source: .\\\\nuxt-i18n\\\\plugin.routing.js (mode: 'all')\nimport nuxt_plugin_pluginmain_6ab0b01b from 'nuxt_plugin_pluginmain_6ab0b01b' // Source: .\\\\nuxt-i18n\\\\plugin.main.js (mode: 'all')\nimport nuxt_plugin_axios_dfe91776 from 'nuxt_plugin_axios_dfe91776' // Source: .\\\\axios.js (mode: 'all')\nimport nuxt_plugin_recaptcha_676b4f98 from 'nuxt_plugin_recaptcha_676b4f98' // Source: .\\\\recaptcha.js (mode: 'all')\nimport nuxt_plugin_googleanalytics_70acf6c1 from 'nuxt_plugin_googleanalytics_70acf6c1' // Source: .\\\\google-analytics.js (mode: 'client')\nimport nuxt_plugin_nuxtclientinit_373a747b from 'nuxt_plugin_nuxtclientinit_373a747b' // Source: ..\\\\plugins\\\\nuxt-client-init.js (mode: 'client')\nimport nuxt_plugin_axios_397e53b5 from 'nuxt_plugin_axios_397e53b5' // Source: ..\\\\plugins\\\\axios.js (mode: 'all')\nimport nuxt_plugin_global_90a6a800 from 'nuxt_plugin_global_90a6a800' // Source: ..\\\\plugins\\\\global.js (mode: 'all')\n\n// Component: \nVue.component(ClientOnly.name, ClientOnly)\n\n// TODO: Remove in Nuxt 3: \nVue.component(NoSsr.name, {\n ...NoSsr,\n render (h, ctx) {\n if (process.client && !NoSsr._warned) {\n NoSsr._warned = true\n\n console.warn(' has been deprecated and will be removed in Nuxt 3, please use instead')\n }\n return NoSsr.render(h, ctx)\n }\n})\n\n// Component: \nVue.component(NuxtChild.name, NuxtChild)\nVue.component('NChild', NuxtChild)\n\n// Component NuxtLink is imported in server.js or client.js\n\n// Component: \nVue.component(Nuxt.name, Nuxt)\n\nVue.use(Meta, {\"keyName\":\"head\",\"attribute\":\"data-n-head\",\"ssrAttribute\":\"data-n-head-ssr\",\"tagIDKeyName\":\"hid\"})\n\nconst defaultTransition = {\"name\":\"page\",\"mode\":\"out-in\",\"appear\":true,\"appearClass\":\"appear\",\"appearActiveClass\":\"appear-active\",\"appearToClass\":\"appear-to\"}\n\nasync function createApp (ssrContext) {\n const router = await createRouter(ssrContext)\n\n const store = createStore(ssrContext)\n // Add this.$router into store actions/mutations\n store.$router = router\n\n // Create Root instance\n\n // here we inject the router and store to all child components,\n // making them available everywhere as `this.$router` and `this.$store`.\n const app = {\n head: {\"title\":\"Vandkortet\",\"htmlAttrs\":{\"lang\":\"da\"},\"meta\":[{\"charset\":\"utf-8\"},{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"},{\"hid\":\"description\",\"name\":\"description\",\"content\":\"NIRAS Vandkortet. Udviklet i samarbejde med Aalborg Forsyning, Aalborg Kommune, og Aalborg Universitet.\"}],\"link\":[{\"rel\":\"icon\",\"type\":\"image\\u002Fx-icon\",\"href\":\"\\u002Ffavicon.ico\"}],\"script\":[{\"src\":\"https:\\u002F\\u002Fcdnjs.cloudflare.com\\u002Fajax\\u002Flibs\\u002Fbabel-polyfill\\u002F7.4.4\\u002Fpolyfill.min.js\"},{\"src\":\"https:\\u002F\\u002Fwww.google.com\\u002Frecaptcha\\u002Fapi.js\",\"async\":true,\"defer\":true}],\"style\":[]},\n\n store,\n router,\n nuxt: {\n defaultTransition,\n transitions: [defaultTransition],\n setTransitions (transitions) {\n if (!Array.isArray(transitions)) {\n transitions = [transitions]\n }\n transitions = transitions.map((transition) => {\n if (!transition) {\n transition = defaultTransition\n } else if (typeof transition === 'string') {\n transition = Object.assign({}, defaultTransition, { name: transition })\n } else {\n transition = Object.assign({}, defaultTransition, transition)\n }\n return transition\n })\n this.$options.nuxt.transitions = transitions\n return transitions\n },\n\n err: null,\n dateErr: null,\n error (err) {\n err = err || null\n app.context._errored = Boolean(err)\n err = err ? normalizeError(err) : null\n let nuxt = app.nuxt // to work with @vue/composition-api, see https://github.com/nuxt/nuxt.js/issues/6517#issuecomment-573280207\n if (this) {\n nuxt = this.nuxt || this.$options.nuxt\n }\n nuxt.dateErr = Date.now()\n nuxt.err = err\n // Used in src/server.js\n if (ssrContext) {\n ssrContext.nuxt.error = err\n }\n return err\n }\n },\n ...App\n }\n\n // Make app available into store via this.app\n store.app = app\n\n const next = ssrContext ? ssrContext.next : location => app.router.push(location)\n // Resolve route\n let route\n if (ssrContext) {\n route = router.resolve(ssrContext.url).route\n } else {\n const path = getLocation(router.options.base, router.options.mode)\n route = router.resolve(path).route\n }\n\n // Set context to app.context\n await setContext(app, {\n store,\n route,\n next,\n error: app.nuxt.error.bind(app),\n payload: ssrContext ? ssrContext.payload : undefined,\n req: ssrContext ? ssrContext.req : undefined,\n res: ssrContext ? ssrContext.res : undefined,\n beforeRenderFns: ssrContext ? ssrContext.beforeRenderFns : undefined,\n ssrContext\n })\n\n const inject = function (key, value) {\n if (!key) {\n throw new Error('inject(key, value) has no key provided')\n }\n if (value === undefined) {\n throw new Error(`inject('${key}', value) has no value provided`)\n }\n\n key = '$' + key\n // Add into app\n app[key] = value\n\n // Add into store\n store[key] = app[key]\n\n // Check if plugin not already installed\n const installKey = '__nuxt_' + key + '_installed__'\n if (Vue[installKey]) {\n return\n }\n Vue[installKey] = true\n // Call Vue.use() to install the plugin into vm\n Vue.use(() => {\n if (!Object.prototype.hasOwnProperty.call(Vue, key)) {\n Object.defineProperty(Vue.prototype, key, {\n get () {\n return this.$root.$options[key]\n }\n })\n }\n })\n }\n\n if (process.client) {\n // Replace store state before plugins execution\n if (window.__NUXT__ && window.__NUXT__.state) {\n store.replaceState(window.__NUXT__.state)\n }\n }\n\n // Plugin execution\n\n if (typeof nuxt_plugin_nuxtuseragent_902be664 === 'function') {\n await nuxt_plugin_nuxtuseragent_902be664(app.context, inject)\n }\n\n if (typeof nuxt_plugin_moment_ffe2b41a === 'function') {\n await nuxt_plugin_moment_ffe2b41a(app.context, inject)\n }\n\n if (typeof nuxt_plugin_pluginrouting_095febd4 === 'function') {\n await nuxt_plugin_pluginrouting_095febd4(app.context, inject)\n }\n\n if (typeof nuxt_plugin_pluginmain_6ab0b01b === 'function') {\n await nuxt_plugin_pluginmain_6ab0b01b(app.context, inject)\n }\n\n if (typeof nuxt_plugin_axios_dfe91776 === 'function') {\n await nuxt_plugin_axios_dfe91776(app.context, inject)\n }\n\n if (typeof nuxt_plugin_recaptcha_676b4f98 === 'function') {\n await nuxt_plugin_recaptcha_676b4f98(app.context, inject)\n }\n\n if (process.client && typeof nuxt_plugin_googleanalytics_70acf6c1 === 'function') {\n await nuxt_plugin_googleanalytics_70acf6c1(app.context, inject)\n }\n\n if (process.client && typeof nuxt_plugin_nuxtclientinit_373a747b === 'function') {\n await nuxt_plugin_nuxtclientinit_373a747b(app.context, inject)\n }\n\n if (typeof nuxt_plugin_axios_397e53b5 === 'function') {\n await nuxt_plugin_axios_397e53b5(app.context, inject)\n }\n\n if (typeof nuxt_plugin_global_90a6a800 === 'function') {\n await nuxt_plugin_global_90a6a800(app.context, inject)\n }\n\n // If server-side, wait for async component to be resolved first\n if (process.server && ssrContext && ssrContext.url) {\n await new Promise((resolve, reject) => {\n router.push(ssrContext.url, resolve, () => {\n // navigated to a different route in router guard\n const unregister = router.afterEach(async (to, from, next) => {\n ssrContext.url = to.fullPath\n app.context.route = await getRouteData(to)\n app.context.params = to.params || {}\n app.context.query = to.query || {}\n unregister()\n resolve()\n })\n })\n })\n }\n\n return {\n store,\n app,\n router\n }\n}\n\nexport { createApp, NuxtError }\n","import axios from 'axios'\n\nconst axiosinstance = axios.create()\naxiosinstance.interceptors.request.use(\n function (config) {\n // if (process.env.NODE_ENV === 'production') {\n // // config.baseUrl = 'https://api.iot.niras.dk/'\n // // [WEBAPI_ENDPOINT] bruges i build scripts og må ikke overskrives\n // config.baseURL = '[WEBAPI_ENDPOINT]'\n // } else {\n // config.baseURL = 'https://api.iot.niras.dk/'\n // }\n // config.withCredentials = false\n // config.headers['Content-Type'] = 'application/json'\n return config\n },\n function (error) {\n return Promise.reject(error)\n }\n)\n\nexport default {\n get(url, request, config) {\n return axiosinstance.get(url, { params: request }, { headers: config })\n .then(response => Promise.resolve(response))\n .catch(error => Promise.reject(error))\n },\n post(url, request) {\n return axiosinstance.post(url, request)\n .then(response => Promise.resolve(response))\n .catch((error) => {\n return Promise.reject(error)\n })\n }\n}\n","import Vue from 'vue'\n\n// window.{{globals.loadedCallback}} hook\n// Useful for jsdom testing or plugins (https://github.com/tmpvar/jsdom#dealing-with-asynchronous-script-loading)\nif (process.client) {\n window.onNuxtReadyCbs = []\n window.onNuxtReady = (cb) => {\n window.onNuxtReadyCbs.push(cb)\n }\n}\n\nexport function empty () {}\n\nexport function globalHandleError (error) {\n if (Vue.config.errorHandler) {\n Vue.config.errorHandler(error)\n }\n}\n\nexport function interopDefault (promise) {\n return promise.then(m => m.default || m)\n}\n\nexport function hasFetch(vm) {\n return vm.$options && typeof vm.$options.fetch === 'function' && !vm.$options.fetch.length\n}\nexport function getChildrenComponentInstancesUsingFetch(vm, instances = []) {\n const children = vm.$children || []\n for (const child of children) {\n if (child.$fetch) {\n instances.push(child)\n continue; // Don't get the children since it will reload the template\n }\n if (child.$children) {\n getChildrenComponentInstancesUsingFetch(child, instances)\n }\n }\n return instances\n}\n\nexport function applyAsyncData (Component, asyncData) {\n if (\n // For SSR, we once all this function without second param to just apply asyncData\n // Prevent doing this for each SSR request\n !asyncData && Component.options.__hasNuxtData\n ) {\n return\n }\n\n const ComponentData = Component.options._originDataFn || Component.options.data || function () { return {} }\n Component.options._originDataFn = ComponentData\n\n Component.options.data = function () {\n const data = ComponentData.call(this, this)\n if (this.$ssrContext) {\n asyncData = this.$ssrContext.asyncData[Component.cid]\n }\n return { ...data, ...asyncData }\n }\n\n Component.options.__hasNuxtData = true\n\n if (Component._Ctor && Component._Ctor.options) {\n Component._Ctor.options.data = Component.options.data\n }\n}\n\nexport function sanitizeComponent (Component) {\n // If Component already sanitized\n if (Component.options && Component._Ctor === Component) {\n return Component\n }\n if (!Component.options) {\n Component = Vue.extend(Component) // fix issue #6\n Component._Ctor = Component\n } else {\n Component._Ctor = Component\n Component.extendOptions = Component.options\n }\n // If no component name defined, set file path as name, (also fixes #5703)\n if (!Component.options.name && Component.options.__file) {\n Component.options.name = Component.options.__file\n }\n return Component\n}\n\nexport function getMatchedComponents (route, matches = false, prop = 'components') {\n return Array.prototype.concat.apply([], route.matched.map((m, index) => {\n return Object.keys(m[prop]).map((key) => {\n matches && matches.push(index)\n return m[prop][key]\n })\n }))\n}\n\nexport function getMatchedComponentsInstances (route, matches = false) {\n return getMatchedComponents(route, matches, 'instances')\n}\n\nexport function flatMapComponents (route, fn) {\n return Array.prototype.concat.apply([], route.matched.map((m, index) => {\n return Object.keys(m.components).reduce((promises, key) => {\n if (m.components[key]) {\n promises.push(fn(m.components[key], m.instances[key], m, key, index))\n } else {\n delete m.components[key]\n }\n return promises\n }, [])\n }))\n}\n\nexport function resolveRouteComponents (route, fn) {\n return Promise.all(\n flatMapComponents(route, async (Component, instance, match, key) => {\n // If component is a function, resolve it\n if (typeof Component === 'function' && !Component.options) {\n Component = await Component()\n }\n match.components[key] = Component = sanitizeComponent(Component)\n return typeof fn === 'function' ? fn(Component, instance, match, key) : Component\n })\n )\n}\n\nexport async function getRouteData (route) {\n if (!route) {\n return\n }\n // Make sure the components are resolved (code-splitting)\n await resolveRouteComponents(route)\n // Send back a copy of route with meta based on Component definition\n return {\n ...route,\n meta: getMatchedComponents(route).map((Component, index) => {\n return { ...Component.options.meta, ...(route.matched[index] || {}).meta }\n })\n }\n}\n\nexport async function setContext (app, context) {\n // If context not defined, create it\n if (!app.context) {\n app.context = {\n isStatic: process.static,\n isDev: false,\n isHMR: false,\n app,\n store: app.store,\n payload: context.payload,\n error: context.error,\n base: '/',\n env: {}\n }\n // Only set once\n if (context.req) {\n app.context.req = context.req\n }\n if (context.res) {\n app.context.res = context.res\n }\n if (context.ssrContext) {\n app.context.ssrContext = context.ssrContext\n }\n app.context.redirect = (status, path, query) => {\n if (!status) {\n return\n }\n app.context._redirected = true\n // if only 1 or 2 arguments: redirect('/') or redirect('/', { foo: 'bar' })\n let pathType = typeof path\n if (typeof status !== 'number' && (pathType === 'undefined' || pathType === 'object')) {\n query = path || {}\n path = status\n pathType = typeof path\n status = 302\n }\n if (pathType === 'object') {\n path = app.router.resolve(path).route.fullPath\n }\n // \"/absolute/route\", \"./relative/route\" or \"../relative/route\"\n if (/(^[.]{1,2}\\/)|(^\\/(?!\\/))/.test(path)) {\n app.context.next({\n path,\n query,\n status\n })\n } else {\n path = formatUrl(path, query)\n if (process.server) {\n app.context.next({\n path,\n status\n })\n }\n if (process.client) {\n // https://developer.mozilla.org/en-US/docs/Web/API/Location/replace\n window.location.replace(path)\n\n // Throw a redirect error\n throw new Error('ERR_REDIRECT')\n }\n }\n }\n if (process.server) {\n app.context.beforeNuxtRender = fn => context.beforeRenderFns.push(fn)\n }\n if (process.client) {\n app.context.nuxtState = window.__NUXT__\n }\n }\n\n // Dynamic keys\n const [currentRouteData, fromRouteData] = await Promise.all([\n getRouteData(context.route),\n getRouteData(context.from)\n ])\n\n if (context.route) {\n app.context.route = currentRouteData\n }\n\n if (context.from) {\n app.context.from = fromRouteData\n }\n\n app.context.next = context.next\n app.context._redirected = false\n app.context._errored = false\n app.context.isHMR = false\n app.context.params = app.context.route.params || {}\n app.context.query = app.context.route.query || {}\n}\n\nexport function middlewareSeries (promises, appContext) {\n if (!promises.length || appContext._redirected || appContext._errored) {\n return Promise.resolve()\n }\n return promisify(promises[0], appContext)\n .then(() => {\n return middlewareSeries(promises.slice(1), appContext)\n })\n}\n\nexport function promisify (fn, context) {\n let promise\n if (fn.length === 2) {\n // fn(context, callback)\n promise = new Promise((resolve) => {\n fn(context, function (err, data) {\n if (err) {\n context.error(err)\n }\n data = data || {}\n resolve(data)\n })\n })\n } else {\n promise = fn(context)\n }\n\n if (promise && promise instanceof Promise && typeof promise.then === 'function') {\n return promise\n }\n return Promise.resolve(promise)\n}\n\n// Imported from vue-router\nexport function getLocation (base, mode) {\n let path = decodeURI(window.location.pathname)\n if (mode === 'hash') {\n return window.location.hash.replace(/^#\\//, '')\n }\n if (base && path.indexOf(base) === 0) {\n path = path.slice(base.length)\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n// Imported from path-to-regexp\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nexport function compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\nexport function getQueryDiff (toQuery, fromQuery) {\n const diff = {}\n const queries = { ...toQuery, ...fromQuery }\n for (const k in queries) {\n if (String(toQuery[k]) !== String(fromQuery[k])) {\n diff[k] = true\n }\n }\n return diff\n}\n\nexport function normalizeError (err) {\n let message\n if (!(err.message || typeof err === 'string')) {\n try {\n message = JSON.stringify(err, null, 2)\n } catch (e) {\n message = `[${err.constructor.name}]`\n }\n } else {\n message = err.message || err\n }\n return {\n ...err,\n message,\n statusCode: (err.statusCode || err.status || (err.response && err.response.status) || 500)\n }\n}\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nconst PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n const tokens = []\n let key = 0\n let index = 0\n let path = ''\n const defaultDelimiter = (options && options.delimiter) || '/'\n let res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n const m = res[0]\n const escaped = res[1]\n const offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n const next = str[index]\n const prefix = res[2]\n const name = res[3]\n const capture = res[4]\n const group = res[5]\n const modifier = res[6]\n const asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n const partial = prefix != null && next != null && next !== prefix\n const repeat = modifier === '+' || modifier === '*'\n const optional = modifier === '?' || modifier === '*'\n const delimiter = res[2] || defaultDelimiter\n const pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter,\n optional,\n repeat,\n partial,\n asterisk: Boolean(asterisk),\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str, slashAllowed) {\n const re = slashAllowed ? /[?#]/g : /[/?#]/g\n return encodeURI(str).replace(re, (c) => {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURIComponentPretty(str, true)\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$/()])/g, '\\\\$1')\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n const matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (let i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options))\n }\n }\n\n return function (obj, opts) {\n let path = ''\n const data = obj || {}\n const options = opts || {}\n const encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n const value = data[token.name || 'pathMatch']\n let segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (Array.isArray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (let j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Format given url, append query to url query string\n *\n * @param {string} url\n * @param {string} query\n * @return {string}\n */\nfunction formatUrl (url, query) {\n let protocol\n const index = url.indexOf('://')\n if (index !== -1) {\n protocol = url.substring(0, index)\n url = url.substring(index + 3)\n } else if (url.startsWith('//')) {\n url = url.substring(2)\n }\n\n let parts = url.split('/')\n let result = (protocol ? protocol + '://' : '//') + parts.shift()\n\n let path = parts.filter(Boolean).join('/')\n let hash\n parts = path.split('#')\n if (parts.length === 2) {\n [path, hash] = parts\n }\n\n result += path ? '/' + path : ''\n\n if (query && JSON.stringify(query) !== '{}') {\n result += (url.split('?').length === 2 ? '&' : '?') + formatQuery(query)\n }\n result += hash ? '#' + hash : ''\n\n return result\n}\n\n/**\n * Transform data object to query string\n *\n * @param {object} query\n * @return {string}\n */\nfunction formatQuery (query) {\n return Object.keys(query).sort().map((key) => {\n const val = query[key]\n if (val == null) {\n return ''\n }\n if (Array.isArray(val)) {\n return val.slice().map(val2 => [key, '=', val2].join('')).join('&')\n }\n return key + '=' + val\n }).filter(Boolean).join('&')\n}\n\nexport function addLifecycleHook(vm, hook, fn) {\n if (!vm.$options[hook]) {\n vm.$options[hook] = []\n }\n if (!vm.$options[hook].includes(fn)) {\n vm.$options[hook].push(fn)\n }\n}\n","const middleware = {}\n\nexport default middleware\n","// style-loader: Adds some css to the DOM by adding a