@uxland/primary-shell 7.44.2 → 7.44.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { E as s, d as e, z as t, B as r, P as n, b as o, v as l, Q as c, n as g, w as m, o as p, p as v, m as P, c as h, u as E, f as R, q as u, e as y, y as S, g as d, j as M, x as w, s as A, l as C, A as f } from "./index-BUnSpNVB.js";
1
+ import { E as s, d as e, z as t, B as r, P as n, b as o, v as l, Q as c, n as g, w as m, o as p, p as v, m as P, c as h, u as E, f as R, q as u, e as y, y as S, g as d, j as M, x as w, s as A, l as C, A as f } from "./index-D-GssSmM.js";
2
2
  export {
3
3
  s as EcapEventManager,
4
4
  e as ExitShell,
@@ -352,7 +352,7 @@ Registered bindings:`,re.forEach(function(oe){var ne="Object";oe.implementationT
352
352
  ${template$p(this)}
353
353
  `}static get styles(){return i$S`
354
354
  ${r$M(styles$o)}
355
- `}handleTest(){console.log(this.selectedPeriodDate)}};__decorateClass$v([n$y()],ExportPdfModal.prototype,"selectedRadioOption",2),__decorateClass$v([n$y()],ExportPdfModal.prototype,"text",2),__decorateClass$v([n$y()],ExportPdfModal.prototype,"selectedVisibilityLevelElement",2),__decorateClass$v([n$y()],ExportPdfModal.prototype,"selectedPeriodDate",2),__decorateClass$v([n$y({type:Array})],ExportPdfModal.prototype,"arrayElements",2),ExportPdfModal=__decorateClass$v([t$x("export-pdf-modal")],ExportPdfModal);class ExportToPdfHandler extends ApiBaseHandler{async handle(){try{this.api.interactionService.confirm(void 0,{component:ExportPdfModal},{title:translate("modal.selectExportOption"),confirmButtonText:"Exportar",cancelButtonText:"Cancelar"})}catch(W){this._notifyError(W.message)}}_notifyError(W){this.api.notificationService.error(W||"actions.delete.error")}}class ExportPdf{}let request$e;const bootstrapExportPdf=J=>{request$e=J.registerRequest(ExportPdf,ExportToPdfHandler)},teardownExportPdf=()=>{request$e?.dispose()};function getUniqueObjects(J,W,X,te){const re=`Sense ${te.toLocaleLowerCase()}`,oe=new Map;let ne=!1;for(const ce of J){const ue=W.reduce((be,me)=>be?.[me],ce),he=X.reduce((be,me)=>be?.[me],ce);typeof ue=="string"&&ue.trim()!==""&&typeof he=="string"?oe.has(ue)||oe.set(ue,{id:ue,title:he}):ne=!0}const de=Array.from(oe.values()).sort((ce,ue)=>ce.title.localeCompare(ue.title,"ca",{sensitivity:"base"}));return ne&&de.push({id:"",title:re}),de}class TrueSpec extends Spec{isSatisfiedBy(){return!0}}class CommonFilterSpec extends Spec{constructor(W){super(),this.commonFilters=W}isSatisfiedBy(W){return this.commonFilters.filter(re=>re.enabled).reduce((re,oe)=>re.and(new oe.spec),new TrueSpec).isSatisfiedBy(W)}}class FalseSpec extends Spec{isSatisfiedBy(){return!1}}class PropPathSpec extends Spec{constructor(W,X){super(),this.propPath=W,this.value=X}isSatisfiedBy(W){return this.propPath.reduce((te,re)=>te?.[re],W)===this.value}}class CustomFilterSpec extends Spec{constructor(W){super(),this.filters=W}isSatisfiedBy(W){const X=this.filters.filter(te=>te.enabled);return X.length===0?!0:X.every(te=>{if(!this.belongsToGroup(W,te))return!0;const re=te.filters.filter(oe=>oe.enabled||oe.singleOption);return re.length===0?!0:re.every(oe=>oe.singleOption?oe.enabled?!0:new PropPathSpec(oe.propPathValue,!1).isSatisfiedBy(W):!oe.enabledValues||oe.enabledValues.length===0?!0:oe.enabledValues.reduce((de,ce)=>de.or(new PropPathSpec(oe.propPathValue,ce)),new FalseSpec).isSatisfiedBy(W))})}belongsToGroup(W,X){return W.type===X.id}}class DiagnosticCodeSpec extends Spec{constructor(W){super(),this.diagnosticCodes=this.extractAllCodes(W)}extractAllCodes(W){const X=new Set;for(const te of W){if(te.codi&&X.add(te.codi),te.evolucions&&Array.isArray(te.evolucions))for(const re of te.evolucions)re.codi&&X.add(re.codi);if(te.relacions&&Array.isArray(te.relacions))for(const re of te.relacions)re.codi&&X.add(re.codi)}return Array.from(X)}isSatisfiedBy(W){return this.diagnosticCodes?.length?(W.diagnostics??[]).some(te=>this.diagnosticCodes.includes(te.codi)):!0}}const normalizeStringToNFD=J=>J==null?"":String(J).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLocaleLowerCase(),propContainsString=(J,W)=>{const X=normalizeStringToNFD(J),te=normalizeStringToNFD(W);return X.toString().toLowerCase().indexOf(te)!==-1||X.toString().indexOf(te)!==-1},commonFieldsSearchPredicate=(J,W)=>{const X=J.professional?.name&&propContainsString(J.professional?.name,W),te=J.center?.description&&propContainsString(J.center.description,W),re=J.professional?.speciality?.description&&propContainsString(J.professional?.speciality.description,W),oe=J.professional?.role?.description&&propContainsString(J.professional?.role.description,W),ne=J.service?.description&&propContainsString(J.service.description,W),de=J.up?.description&&propContainsString(J.up.description,W),ce=J.diagnostics?.some(ue=>propContainsString(ue.descripcio,W));return X||te||re||oe||ne||de||ce};class SearchStringSpec extends Spec{constructor(W,X){super(),this.searchString=W,this.searchPredicate=X}isSatisfiedBy(W){if(!this.searchString?.trim())return!0;const X=commonFieldsSearchPredicate(W,this.searchString),te=this.searchPredicate?this.searchPredicate(this.searchString.toLowerCase(),W):!1;return!!(X||te)}}class TypeSpec extends Spec{constructor(W){super(),this.itemType=W}isSatisfiedBy(W){return W?.type===this.itemType}}class ComposedTypeSpec extends Spec{constructor(W){super(),this.filters=W}isSatisfiedBy(W){const X=this.filters.filter(re=>re.enabled).map(re=>re.id);return X.length===0?!0:X.reduce((re,oe)=>re.or(new TypeSpec(oe)),new FalseSpec).isSatisfiedBy(W)}}class UpFilterSpec extends Spec{constructor(W){super(),this.upIds=W}isSatisfiedBy(W){if(!this.upIds?.length)return!0;const X=W.up??null;return this.upIds.some(te=>X.id===te)}}const activityHistoryFiltersSelector=J=>J.activityHistoryFilters.filters,activityHistoryCommonFiltersSelector=createSelector(activityHistoryFiltersSelector,J=>J.find(isCommonFilterGroup)?.filters||[]),activityHistoryEnabledCommonFiltersSelector=createSelector(activityHistoryCommonFiltersSelector,J=>J.filter(W=>W.enabled)),areCommonFiltersActive=createSelector(activityHistoryEnabledCommonFiltersSelector,J=>!!J.length),activityHistoryCustomFilterGroupsSelector=createSelector(activityHistoryFiltersSelector,J=>J.filter(isCustomFilter).sort(sortBySortProperty)),sortBySortProperty=(J,W)=>Number(J.sort)-Number(W.sort),areCustomFiltersActive=createSelector(activityHistoryCustomFilterGroupsSelector,J=>J.some(W=>W.filters.some(X=>X.enabledValues?.length)));createSelector(activityHistoryCustomFilterGroupsSelector,J=>J.filter(W=>W.enabled).map(({id:W,title:X,enabled:te,sort:re,filters:oe})=>({id:W,title:X,enabled:te,sort:re,filters:oe.filter(ne=>ne.enabledValues?.length)})).filter(W=>W.filters.length>0));const diagnosticFilterSelector=createSelector(activityHistoryFiltersSelector,J=>J.find(isDiagnosticFilter)),diagnosticFilterEnabledValuesSelector=createSelector(diagnosticFilterSelector,J=>J?.enabledValues||[]),areDiagnosticFiltersActive=createSelector(diagnosticFilterEnabledValuesSelector,J=>!!J.length),upFilterSelector=createSelector(activityHistoryFiltersSelector,J=>J.find(isUpFilter)),upFilterEnabledValuesSelector=createSelector(upFilterSelector,J=>J?.enabledValues||[]),areUpFiltersActive=createSelector(upFilterEnabledValuesSelector,J=>!!J.length),areSameDiagnostics=(J,W)=>{if(J.length!==W.length)return!1;const X=J.map(re=>re.codi).sort(),te=W.map(re=>re.codi).sort();return X.every((re,oe)=>re===te[oe])},hasValidDiagnostic=J=>J!=null&&typeof J.codi=="string"&&(typeof J.cataleg=="string"||J.cataleg===null)&&typeof J.descripcio=="string",hasValidDiagnostics=J=>J==null?!0:Array.isArray(J)&&J.every(hasValidDiagnostic),dateStringCache=new Map,dateObjectCache=new Map,getDateString=J=>(dateStringCache.has(J)||dateStringCache.set(J,new Date(J).toDateString()),dateStringCache.get(J)),getDateObject=J=>(dateObjectCache.has(J)||dateObjectCache.set(J,new Date(J)),dateObjectCache.get(J)),createVisitKeyWithoutService=J=>{const W=`${J.professional?.id||"null"}-${J.professional?.role?.id||"null"}-${J.professional?.speciality?.id||"null"}`,X=`${J.ep?.id||"null"}-${J.up?.id||"null"}-${J.center?.id||"null"}`,te=getDateString(J.date);return`${W}|${X}|${te}`},hasService=J=>J.service?.id!=null&&J.service.id!=="",canGroupTogether=(J,W)=>{const X=createVisitKeyWithoutService(J),te=createVisitKeyWithoutService(W);return X!==te?!1:!hasService(J)||!hasService(W)?!0:J.service?.id===W.service?.id},withinEightHours=(J,W)=>{const X=getDateObject(J).getTime(),te=getDateObject(W).getTime();return Math.abs(X-te)<=480*60*1e3};function groupByValidDiagnostics(J){J.forEach(W=>{const X=[],te=[];W.items.forEach(re=>{const oe=re.diagnostics;if(oe?.length>0&&hasValidDiagnostics(oe)){let de=!1;for(const ce of X){const ue=ce.items[0];if(areSameDiagnostics(ue.diagnostics,oe)){ce.items.push(re),de=!0;break}}de||X.push({idSubGroup:generateId(),items:[re]})}else te.push(re)}),W.items=te,W.subGroups=X})}const groupActivityHistoryItems=J=>{if(!J?.length)return[];dateStringCache.clear(),dateObjectCache.clear();const W=[...J].sort((re,oe)=>getDateObject(oe.date).getTime()-getDateObject(re.date).getTime()),X=new Map,te=[];for(const re of W){const oe=createVisitKeyWithoutService(re),ne=getDateObject(re.date).getTime();let de=!1;const ce=X.get(oe)||[];for(const ue of ce){const he=ue.items[0],pe=ue.items[ue.items.length-1];if(!(!he||!pe)&&canGroupTogether(he,re)&&withinEightHours(he.date,re.date)&&withinEightHours(pe.date,re.date)){const fe=getDateObject(pe.date).getTime(),be=getDateObject(he.date).getTime(),me=Math.min(fe,ne),ge=Math.max(be,ne);let ve=!1;for(const[_e,ye]of X)if(_e!==oe){for(const Se of ye){for(const we of Se.items){const Ce=getDateObject(we.date).getTime();if(Ce>me&&Ce<ge){ve=!0;break}}if(ve)break}if(ve)break}if(!ve){ue.items.push(re),de=!0;break}}}if(!de){const ue={idGroup:Math.random().toString(36).substring(2,11),items:[re],subGroups:[]};te.push(ue);const he=X.get(oe);he?he.push(ue):X.set(oe,[ue])}}return te.sort((re,oe)=>{const ne=re.items[0],de=oe.items[0];return!ne||!de?0:getDateObject(de.date).getTime()-getDateObject(ne.date).getTime()}),groupByValidDiagnostics(te),te},sortGroupsByMostRecentDate=J=>{const W=oe=>oe.reduce((ne,de)=>{const ce=new Date(de.date);return ce>ne?ce:ne},new Date(0)),X=oe=>oe.sort((ne,de)=>new Date(de.date).getTime()-new Date(ne.date).getTime()),te=oe=>W(oe.items),re=oe=>{const ne=oe.items.length>0?[W(oe.items)]:[],de=oe.subGroups.map(te),ce=[...ne,...de];return ce.length>0?new Date(Math.max(...ce.map(ue=>ue.getTime()))):new Date(0)};return J.forEach(oe=>{oe.items=X(oe.items),oe.subGroups.forEach(ne=>{ne.items=X(ne.items)}),oe.subGroups.sort((ne,de)=>te(de).getTime()-te(ne).getTime())}),J.sort((oe,ne)=>re(ne).getTime()-re(oe).getTime())},activityHistorySearchStringSelector=J=>J.activityHistoryFilters.searchString,activityHistoryCollectionsSelector=J=>J.activityHistoryCollections.collections,historyDataImporterRulesByCollectionIdSelector=createSelector(activityHistoryCollectionsSelector,J=>{const W={};for(const[X,te]of Object.entries(J))te?.historyDataImporterRules&&(W[X]=te.historyDataImporterRules);return W}),mapItemsWithMetadata=(J,W,X,te)=>J.map(re=>({...re,searchPredicate:te,componentFactory:W,type:X})),activityHistoryMappedItems=createSelector(activityHistoryCollectionsSelector,J=>Object.values(J).flatMap(W=>mapItemsWithMetadata(W.items,W.componentFactory,W.id,W.searchPredicate)));createSelector(activityHistoryCustomFilterGroupsSelector,activityHistoryCollectionsSelector,(J,W)=>J.filter(X=>{const te=W[X.id];return te?.items&&te.items.length>0}));const customFilterGroupsWithOptionsSelector=createSelector(activityHistoryCustomFilterGroupsSelector,activityHistoryCollectionsSelector,(J,W)=>J.map(te=>{const re=W[te.id];return{...te,filters:te.filters.map(oe=>({...oe,options:(oe.singleOption?[]:re?.items&&getUniqueObjects(re.items,oe.propPathValue,oe.propsPathDescription,oe.title))||[]}))}})),activityHistoryGroupedItems=createSelector(activityHistoryMappedItems,activityHistorySearchStringSelector,activityHistoryCommonFiltersSelector,activityHistoryCustomFilterGroupsSelector,diagnosticFilterEnabledValuesSelector,upFilterEnabledValuesSelector,(J,W,X,te,re,oe)=>{const ne=new CommonFilterSpec(X),de=new ComposedTypeSpec(te),ce=new CustomFilterSpec(te),ue=new DiagnosticCodeSpec(re),he=new UpFilterSpec(oe),pe=J.filter(me=>new SearchStringSpec(W,me.searchPredicate).and(ne).and(de).and(ce).and(ue).and(he).isSatisfiedBy(me)),fe=groupActivityHistoryItems(pe);return sortGroupsByMostRecentDate(fe)});class SetCommonFilter{constructor(W){this.payload=W}}class SetCustomFilterAllValues{constructor(W){this.payload=W}}class SetCustomFilterGroup{constructor(W){this.payload=W}}class SetCustomFilterValue{constructor(W){this.payload=W}}class SetUpFiltersCommand{constructor(W){this.payload=W}}const styles$n=".filters-sidebar{padding:8px 4px;border-right:1px solid rgb(189,189,189);width:56px;height:100%;box-sizing:border-box;display:flex;flex-direction:column}.filters-sidebar dss-icon-button{align-self:center}.filters-sidebar[expanded]{width:296px}.filters-sidebar[expanded] .filters-sidebar-opened{display:flex;align-items:center;justify-content:space-between;padding-inline:8px;color:var(--color-neutral-900);font-weight:700;font-size:16px;line-height:24px}.filter-container{display:flex;flex-direction:column;padding:16px 8px 8px;overflow:auto}.filter-container .filter{padding:8px 0;border-bottom:1px solid var(--color-neutral-200)}.filter-group{display:flex;flex-direction:column;padding-top:12px;gap:var(--dss-spacing-xs);padding-bottom:12px;border-bottom:1px solid var(--color-neutral-200)}.filter-group:last-of-type{border:none}.custom-subfilters-container{display:flex;flex-direction:column;padding-left:16px;gap:12px}.custom-subfilters-container .custom-filter-content{display:flex;flex-direction:column;gap:8px}";/**
355
+ `}handleTest(){console.log(this.selectedPeriodDate)}};__decorateClass$v([n$y()],ExportPdfModal.prototype,"selectedRadioOption",2),__decorateClass$v([n$y()],ExportPdfModal.prototype,"text",2),__decorateClass$v([n$y()],ExportPdfModal.prototype,"selectedVisibilityLevelElement",2),__decorateClass$v([n$y()],ExportPdfModal.prototype,"selectedPeriodDate",2),__decorateClass$v([n$y({type:Array})],ExportPdfModal.prototype,"arrayElements",2),ExportPdfModal=__decorateClass$v([t$x("export-pdf-modal")],ExportPdfModal);class ExportToPdfHandler extends ApiBaseHandler{async handle(){try{this.api.interactionService.confirm(void 0,{component:ExportPdfModal},{title:translate("modal.selectExportOption"),confirmButtonText:"Exportar",cancelButtonText:"Cancelar"})}catch(W){this._notifyError(W.message)}}_notifyError(W){this.api.notificationService.error(W||"actions.delete.error")}}class ExportPdf{}let request$e;const bootstrapExportPdf=J=>{request$e=J.registerRequest(ExportPdf,ExportToPdfHandler)},teardownExportPdf=()=>{request$e?.dispose()};function getUniqueObjects(J,W,X,te){const re=`Sense ${te.toLocaleLowerCase()}`,oe=new Map;let ne=!1;for(const ce of J){const ue=W.reduce((be,me)=>be?.[me],ce),he=X.reduce((be,me)=>be?.[me],ce);typeof ue=="string"&&ue.trim()!==""&&typeof he=="string"?oe.has(ue)||oe.set(ue,{id:ue,title:he}):ne=!0}const de=Array.from(oe.values()).sort((ce,ue)=>ce.title.localeCompare(ue.title,"ca",{sensitivity:"base"}));return ne&&de.push({id:"",title:re}),de}class TrueSpec extends Spec{isSatisfiedBy(){return!0}}class CommonFilterSpec extends Spec{constructor(W){super(),this.commonFilters=W}isSatisfiedBy(W){return this.commonFilters.filter(re=>re.enabled).reduce((re,oe)=>re.and(new oe.spec),new TrueSpec).isSatisfiedBy(W)}}class FalseSpec extends Spec{isSatisfiedBy(){return!1}}class PropPathSpec extends Spec{constructor(W,X){super(),this.propPath=W,this.value=X}isSatisfiedBy(W){return this.propPath.reduce((te,re)=>te?.[re],W)===this.value}}class CustomFilterSpec extends Spec{constructor(W){super(),this.filters=W}isSatisfiedBy(W){const X=this.filters.filter(te=>te.enabled);return X.length===0?!0:X.every(te=>{if(!this.belongsToGroup(W,te))return!0;const re=te.filters.filter(oe=>oe.enabled||oe.singleOption);return re.length===0?!0:re.every(oe=>oe.singleOption?oe.enabled?!0:new PropPathSpec(oe.propPathValue,!1).isSatisfiedBy(W):!oe.enabledValues||oe.enabledValues.length===0?!0:oe.enabledValues.reduce((de,ce)=>de.or(new PropPathSpec(oe.propPathValue,ce)),new FalseSpec).isSatisfiedBy(W))})}belongsToGroup(W,X){return W.type===X.id}}class DiagnosticCodeSpec extends Spec{constructor(W){super(),this.diagnosticCodes=this.extractAllCodes(W)}extractAllCodes(W){const X=new Set;for(const te of W){if(te.codi&&X.add(te.codi),te.evolucions&&Array.isArray(te.evolucions))for(const re of te.evolucions)re.codi&&X.add(re.codi);if(te.relacions&&Array.isArray(te.relacions))for(const re of te.relacions)re.codi&&X.add(re.codi)}return Array.from(X)}isSatisfiedBy(W){return this.diagnosticCodes?.length?(W.diagnostics??[]).some(te=>this.diagnosticCodes.includes(te.codi)):!0}}const normalizeStringToNFD=J=>J==null?"":String(J).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLocaleLowerCase(),propContainsString=(J,W)=>{const X=normalizeStringToNFD(J),te=normalizeStringToNFD(W);return X.toString().toLowerCase().indexOf(te)!==-1||X.toString().indexOf(te)!==-1},commonFieldsSearchPredicate=(J,W)=>{const X=J.professional?.name&&propContainsString(J.professional?.name,W),te=J.center?.description&&propContainsString(J.center.description,W),re=J.professional?.speciality?.description&&propContainsString(J.professional?.speciality.description,W),oe=J.professional?.role?.description&&propContainsString(J.professional?.role.description,W),ne=J.service?.description&&propContainsString(J.service.description,W),de=J.up?.description&&propContainsString(J.up.description,W),ce=J.diagnostics?.some(ue=>propContainsString(ue.descripcio,W));return X||te||re||oe||ne||de||ce};class SearchStringSpec extends Spec{constructor(W,X){super(),this.searchString=W,this.searchPredicate=X}isSatisfiedBy(W){if(!this.searchString?.trim())return!0;const X=commonFieldsSearchPredicate(W,this.searchString),te=this.searchPredicate?this.searchPredicate(this.searchString.toLowerCase(),W):!1;return!!(X||te)}}class TypeSpec extends Spec{constructor(W){super(),this.itemType=W}isSatisfiedBy(W){return W?.type===this.itemType}}class ComposedTypeSpec extends Spec{constructor(W){super(),this.filters=W}isSatisfiedBy(W){const X=this.filters.filter(re=>re.enabled).map(re=>re.id);return X.length===0?!0:X.reduce((re,oe)=>re.or(new TypeSpec(oe)),new FalseSpec).isSatisfiedBy(W)}}class UpFilterSpec extends Spec{constructor(W){super(),this.upIds=W}isSatisfiedBy(W){if(!this.upIds?.length)return!0;const X=W.up??null;return this.upIds.some(te=>X.id===te)}}const activityHistoryFiltersSelector=J=>J.activityHistoryFilters.filters,activityHistoryCommonFiltersSelector=createSelector(activityHistoryFiltersSelector,J=>J.find(isCommonFilterGroup)?.filters||[]),activityHistoryEnabledCommonFiltersSelector=createSelector(activityHistoryCommonFiltersSelector,J=>J.filter(W=>W.enabled)),areCommonFiltersActive=createSelector(activityHistoryEnabledCommonFiltersSelector,J=>!!J.length),activityHistoryCustomFilterGroupsSelector=createSelector(activityHistoryFiltersSelector,J=>J.filter(isCustomFilter).sort(sortBySortProperty)),sortBySortProperty=(J,W)=>Number(J.sort)-Number(W.sort),areCustomFiltersActive=createSelector(activityHistoryCustomFilterGroupsSelector,J=>J.some(W=>W.filters.some(X=>X.enabledValues?.length)));createSelector(activityHistoryCustomFilterGroupsSelector,J=>J.filter(W=>W.enabled).map(({id:W,title:X,enabled:te,sort:re,filters:oe})=>({id:W,title:X,enabled:te,sort:re,filters:oe.filter(ne=>ne.enabledValues?.length)})).filter(W=>W.filters.length>0));const diagnosticFilterSelector=createSelector(activityHistoryFiltersSelector,J=>J.find(isDiagnosticFilter)),diagnosticFilterEnabledValuesSelector=createSelector(diagnosticFilterSelector,J=>J?.enabledValues||[]),areDiagnosticFiltersActive=createSelector(diagnosticFilterEnabledValuesSelector,J=>!!J.length),upFilterSelector=createSelector(activityHistoryFiltersSelector,J=>J.find(isUpFilter)),upFilterEnabledValuesSelector=createSelector(upFilterSelector,J=>J?.enabledValues||[]),areUpFiltersActive=createSelector(upFilterEnabledValuesSelector,J=>!!J.length),areSameDiagnostics=(J,W)=>{if(J.length!==W.length)return!1;const X=J.map(re=>re.codi).sort(),te=W.map(re=>re.codi).sort();return X.every((re,oe)=>re===te[oe])},hasValidDiagnostic=J=>J!=null&&typeof J.codi=="string"&&(typeof J.cataleg=="string"||J.cataleg===null)&&typeof J.descripcio=="string",hasValidDiagnostics=J=>J==null?!0:Array.isArray(J)&&J.every(hasValidDiagnostic),dateStringCache=new Map,dateObjectCache=new Map,getDateString=J=>(dateStringCache.has(J)||dateStringCache.set(J,new Date(J).toDateString()),dateStringCache.get(J)),getDateObject=J=>(dateObjectCache.has(J)||dateObjectCache.set(J,new Date(J)),dateObjectCache.get(J)),createVisitKeyWithoutService=J=>{const W=`${J.professional?.id||"null"}-${J.professional?.role?.id||"null"}-${J.professional?.speciality?.id||"null"}`,X=`${J.ep?.id||"null"}-${J.up?.id||"null"}-${J.center?.id||"null"}`,te=getDateString(J.date);return`${W}|${X}|${te}`},hasService=J=>J.service?.id!=null&&J.service.id!=="",canGroupTogether=(J,W)=>{const X=createVisitKeyWithoutService(J),te=createVisitKeyWithoutService(W);return X!==te?!1:!hasService(J)||!hasService(W)?!0:J.service?.id===W.service?.id},withinEightHours=(J,W)=>{const X=getDateObject(J).getTime(),te=getDateObject(W).getTime();return Math.abs(X-te)<=480*60*1e3};function groupByValidDiagnostics(J){J.forEach(W=>{const X=[],te=[];W.items.forEach(re=>{const oe=re.diagnostics;if(oe?.length>0&&hasValidDiagnostics(oe)){let de=!1;for(const ce of X){const ue=ce.items[0];if(areSameDiagnostics(ue.diagnostics,oe)){ce.items.push(re),de=!0;break}}de||X.push({idSubGroup:generateId(),items:[re]})}else te.push(re)}),W.items=te,W.subGroups=X})}const groupActivityHistoryItems=J=>{if(!J?.length)return[];dateStringCache.clear(),dateObjectCache.clear();const W=[...J].sort((re,oe)=>getDateObject(oe.date).getTime()-getDateObject(re.date).getTime()),X=new Map,te=[];for(const re of W){const oe=createVisitKeyWithoutService(re),ne=getDateObject(re.date).getTime();let de=!1;const ce=X.get(oe)||[];for(const ue of ce){const he=ue.items[0],pe=ue.items[ue.items.length-1];if(!(!he||!pe)&&canGroupTogether(he,re)&&withinEightHours(he.date,re.date)&&withinEightHours(pe.date,re.date)){const fe=getDateObject(pe.date).getTime(),be=getDateObject(he.date).getTime(),me=Math.min(fe,ne),ge=Math.max(be,ne);let ve=!1;for(const[_e,ye]of X)if(_e!==oe){for(const Se of ye){for(const we of Se.items){const Ce=getDateObject(we.date).getTime();if(Ce>me&&Ce<ge){ve=!0;break}}if(ve)break}if(ve)break}if(!ve){ue.items.push(re),de=!0;break}}}if(!de){const ue={idGroup:Math.random().toString(36).substring(2,11),items:[re],subGroups:[]};te.push(ue);const he=X.get(oe);he?he.push(ue):X.set(oe,[ue])}}return te.sort((re,oe)=>{const ne=re.items[0],de=oe.items[0];return!ne||!de?0:getDateObject(de.date).getTime()-getDateObject(ne.date).getTime()}),groupByValidDiagnostics(te),te},getMostRecentDate=J=>J.reduce((W,X)=>{const te=new Date(X.date);return te>W?te:W},new Date(0)),getSubGroupMostRecentDate=J=>getMostRecentDate(J.items),getGroupMostRecentDate=J=>{const W=J.items.length>0?[getMostRecentDate(J.items)]:[],X=J.subGroups.map(getSubGroupMostRecentDate),te=[...W,...X];return te.length>0?new Date(Math.max(...te.map(re=>re.getTime()))):new Date(0)},sortGroupsByMostRecentDate=J=>{const W=X=>X.sort((te,re)=>new Date(re.date).getTime()-new Date(te.date).getTime());return J.forEach(X=>{X.items=W(X.items),X.subGroups.forEach(te=>{te.items=W(te.items)}),X.subGroups.sort((te,re)=>getSubGroupMostRecentDate(re).getTime()-getSubGroupMostRecentDate(te).getTime())}),J.sort((X,te)=>getGroupMostRecentDate(te).getTime()-getGroupMostRecentDate(X).getTime())},activityHistorySearchStringSelector=J=>J.activityHistoryFilters.searchString,activityHistoryCollectionsSelector=J=>J.activityHistoryCollections.collections,historyDataImporterRulesByCollectionIdSelector=createSelector(activityHistoryCollectionsSelector,J=>{const W={};for(const[X,te]of Object.entries(J))te?.historyDataImporterRules&&(W[X]=te.historyDataImporterRules);return W}),mapItemsWithMetadata=(J,W,X,te)=>J.map(re=>({...re,searchPredicate:te,componentFactory:W,type:X})),activityHistoryMappedItems=createSelector(activityHistoryCollectionsSelector,J=>Object.values(J).flatMap(W=>mapItemsWithMetadata(W.items,W.componentFactory,W.id,W.searchPredicate)));createSelector(activityHistoryCustomFilterGroupsSelector,activityHistoryCollectionsSelector,(J,W)=>J.filter(X=>{const te=W[X.id];return te?.items&&te.items.length>0}));const customFilterGroupsWithOptionsSelector=createSelector(activityHistoryCustomFilterGroupsSelector,activityHistoryCollectionsSelector,(J,W)=>J.map(te=>{const re=W[te.id];return{...te,filters:te.filters.map(oe=>({...oe,options:(oe.singleOption?[]:re?.items&&getUniqueObjects(re.items,oe.propPathValue,oe.propsPathDescription,oe.title))||[]}))}})),activityHistoryGroupedItems=createSelector(activityHistoryMappedItems,activityHistorySearchStringSelector,activityHistoryCommonFiltersSelector,activityHistoryCustomFilterGroupsSelector,diagnosticFilterEnabledValuesSelector,upFilterEnabledValuesSelector,(J,W,X,te,re,oe)=>{const ne=new CommonFilterSpec(X),de=new ComposedTypeSpec(te),ce=new CustomFilterSpec(te),ue=new DiagnosticCodeSpec(re),he=new UpFilterSpec(oe),pe=J.filter(me=>new SearchStringSpec(W,me.searchPredicate).and(ne).and(de).and(ce).and(ue).and(he).isSatisfiedBy(me)),fe=groupActivityHistoryItems(pe);return sortGroupsByMostRecentDate(fe)});class SetCommonFilter{constructor(W){this.payload=W}}class SetCustomFilterAllValues{constructor(W){this.payload=W}}class SetCustomFilterGroup{constructor(W){this.payload=W}}class SetCustomFilterValue{constructor(W){this.payload=W}}class SetUpFiltersCommand{constructor(W){this.payload=W}}const styles$n=".filters-sidebar{padding:8px 4px;border-right:1px solid rgb(189,189,189);width:56px;height:100%;box-sizing:border-box;display:flex;flex-direction:column}.filters-sidebar dss-icon-button{align-self:center}.filters-sidebar[expanded]{width:296px}.filters-sidebar[expanded] .filters-sidebar-opened{display:flex;align-items:center;justify-content:space-between;padding-inline:8px;color:var(--color-neutral-900);font-weight:700;font-size:16px;line-height:24px}.filter-container{display:flex;flex-direction:column;padding:16px 8px 8px;overflow:auto}.filter-container .filter{padding:8px 0;border-bottom:1px solid var(--color-neutral-200)}.filter-group{display:flex;flex-direction:column;padding-top:12px;gap:var(--dss-spacing-xs);padding-bottom:12px;border-bottom:1px solid var(--color-neutral-200)}.filter-group:last-of-type{border:none}.custom-subfilters-container{display:flex;flex-direction:column;padding-left:16px;gap:12px}.custom-subfilters-container .custom-filter-content{display:flex;flex-direction:column;gap:8px}";/**
356
356
  * @license
357
357
  * Copyright 2021 Google LLC
358
358
  * SPDX-License-Identifier: BSD-3-Clause
@@ -417,11 +417,11 @@ Registered bindings:`,re.forEach(function(oe){var ne="Object";oe.implementationT
417
417
  </primaria-accordion>
418
418
  `)};var __defProp$p=Object.defineProperty,__getOwnPropDesc$g=Object.getOwnPropertyDescriptor,__decorateClass$u=(J,W,X,te)=>{for(var re=te>1?void 0:te?__getOwnPropDesc$g(W,X):W,oe=J.length-1,ne;oe>=0;oe--)(ne=J[oe])&&(re=(te?ne(W,X,re):ne(re))||re);return te&&re&&__defProp$p(W,X,re),re};let ActivityHistoryFilters=class extends h$p{constructor(){super(...arguments),this.filtersExpanded=!1}render(){return ke$1`${template$o(this)}`}updated(J){J.has("wrapperMaximized")&&(this.filtersExpanded=this.wrapperMaximized)}_toggleFilters(){this.filtersExpanded=!this.filtersExpanded}_onChangeCommonFilterValue(J,W){this.api.broker.send(new SetCommonFilter({id:J,enabled:W}))}_onChangeCustomFilterGroupValue(J,W){this.api.broker.send(new SetCustomFilterGroup({id:J,enabled:W}))}_onChangeCustomFilterValue(J,W,X,te){this.api.broker.send(new SetCustomFilterValue({filterGroupId:J,filterId:W,optionId:X,enabled:te}))}_onChangeCustomFilterAllValues(J,W,X){this.api.broker.send(new SetCustomFilterAllValues({filterGroupId:J,filterId:W,values:X}))}_handleUpFilterChange(J){const W=J.detail.selectedValue;this.api.broker.send(new SetUpFiltersCommand(W))}};ActivityHistoryFilters.styles=i$S`
419
419
  ${r$M(styles$n)}
420
- `,__decorateClass$u([connectedProperty(activityHistoryCommonFiltersSelector)],ActivityHistoryFilters.prototype,"commonFilters",2),__decorateClass$u([connectedProperty(customFilterGroupsWithOptionsSelector)],ActivityHistoryFilters.prototype,"customFilterGroups",2),__decorateClass$u([connectedProperty(upFilterSelector)],ActivityHistoryFilters.prototype,"upFilter",2),__decorateClass$u([connectedProperty(upFilterEnabledValuesSelector)],ActivityHistoryFilters.prototype,"upFilterEnabledValues",2),__decorateClass$u([lazyInject(TYPES.primaryApi)],ActivityHistoryFilters.prototype,"api",2),__decorateClass$u([r$J()],ActivityHistoryFilters.prototype,"filtersExpanded",2),__decorateClass$u([n$y({type:Boolean})],ActivityHistoryFilters.prototype,"wrapperMaximized",2),ActivityHistoryFilters=__decorateClass$u([t$x("activity-history-filters")],ActivityHistoryFilters);const{setCommonFilterValue}=activityHistoryFiltersSlice.actions;class SetCommonFilterHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(setCommonFilterValue(W.payload))}catch(X){console.error(X.message)}}}let request$d;const bootstrapSetCommonFilter=J=>{request$d=J.registerRequest(SetCommonFilter,SetCommonFilterHandler)},teardownSetCommonFilter=()=>{request$d?.dispose()},{addCustomFilters}=activityHistoryFiltersSlice.actions;class AddCustomFiltersHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(addCustomFilters(W.payload))}catch(X){console.error(X.message)}}}let request$c;const bootstrapAddCustomFilter=J=>{request$c=J.registerRequest(AddCustomFiltersCommand,AddCustomFiltersHandler)},teardownAddCustomFilter=()=>{request$c?.dispose()},{setCustomFilterAllValues}=activityHistoryFiltersSlice.actions;class SetCustomFilterAllValuesHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(setCustomFilterAllValues(W.payload))}catch(X){console.error(X.message)}}}let request$b;const bootstrapSetCustomFilterAllValues=J=>{request$b=J.registerRequest(SetCustomFilterAllValues,SetCustomFilterAllValuesHandler)},teardownSetCustomFilterAllValues=()=>{request$b?.dispose()},{setCustomFilterGroupValue}=activityHistoryFiltersSlice.actions;class SetCustomFilterGroupHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(setCustomFilterGroupValue(W.payload))}catch(X){console.error(X.message)}}}let request$a;const bootstrapSetCustomFilterGroup=J=>{request$a=J.registerRequest(SetCustomFilterGroup,SetCustomFilterGroupHandler)},teardownSetCustomFilterGroup=()=>{request$a?.dispose()},{setCustomFilterValue}=activityHistoryFiltersSlice.actions;class SetCustomFilterValueHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(setCustomFilterValue(W.payload))}catch(X){console.error(X.message)}}}let request$9;const bootstrapSetCustomFilterValue=J=>{request$9=J.registerRequest(SetCustomFilterValue,SetCustomFilterValueHandler)},teardownSetCustomFilterValue=()=>{request$9?.dispose()},{deleteDiagnosticFilterValue}=activityHistoryFiltersSlice.actions;class DeleteDiagnosticFilterValueHandler extends BaseHandler{async handle(W){try{const te=diagnosticFilterEnabledValuesSelector(this.store.getState()).find(re=>re.codi===W.payload.diagnosticCodi);if(te){const{evolucions:re,relacions:oe,...ne}=te;this.api.broker.publish(this.api.broker.events.activityHistory.diagnosticFilterDeactivated,{diagnostic:ne})}this.store.dispatch(deleteDiagnosticFilterValue(W.payload))}catch(X){console.error(X.message)}}}class DeleteDiagnosticFilterValueCommand{constructor(W){this.payload=W}}let deleteFilterValueRequest;const bootstrapDeleteDiagnosticFilterValue=J=>{deleteFilterValueRequest=J.registerRequest(DeleteDiagnosticFilterValueCommand,DeleteDiagnosticFilterValueHandler)},teardownDeleteDiagnosticFilterValue=()=>{deleteFilterValueRequest?.dispose()},{setDiagnosticFilterValues}=activityHistoryFiltersSlice.actions;class SetDiagnosticFilterValuesHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(setDiagnosticFilterValues(W.payload.diagnostics))}catch(X){console.error(X.message)}}}class SetDiagnosticFiltersValuesCommand{constructor(W){this.payload=W}}let setFiltersValueRequest;const bootstrapSetDiagnosticFilter=J=>{setFiltersValueRequest=J.registerRequest(SetDiagnosticFiltersValuesCommand,SetDiagnosticFilterValuesHandler)},teardownSetDiagnosticFilter=()=>{setFiltersValueRequest?.dispose()},subscribeDiagnosticFilters=J=>{J.broker.subscribe("cipds_diagnostic_filter_historic_requested",W=>{J.broker.send(new SetDiagnosticFiltersValuesCommand(W))})};class ResetFiltersCommand{}const{resetFilters}=activityHistoryFiltersSlice.actions;class ResetFiltersHandler extends BaseHandler{async handle(W){try{this.api.broker.publish(this.api.broker.events.activityHistory.filtersCleaned),this.store.dispatch(resetFilters())}catch(X){console.error(X.message)}}}let request$8;const bootstrapResetFilters=J=>{request$8=J.registerRequest(ResetFiltersCommand,ResetFiltersHandler)},teardownResetFilters=()=>{request$8?.dispose()},{addUpFilters}=activityHistoryFiltersSlice.actions;class AddUpFiltersHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(addUpFilters(W.payload))}catch(X){console.error(X.message)}}}class AddUpFiltersCommand{constructor(W){this.payload=W}}let request$7;const bootstrapAddUpFilter=J=>{request$7=J.registerRequest(AddUpFiltersCommand,AddUpFiltersHandler)},teardownAddUpFilter=()=>{request$7?.dispose()},{setUpFilterValues}=activityHistoryFiltersSlice.actions;class SetUpFiltersHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(setUpFilterValues(W.payload))}catch(X){console.error(X.message)}}}let request$6;const bootstrapSetUpFilter=J=>{request$6=J.registerRequest(SetUpFiltersCommand,SetUpFiltersHandler)},teardownSetUpFilter=()=>{request$6?.dispose()},bootstrapFilters=(J,W)=>{bootstrapSetCommonFilter(J),bootstrapAddCustomFilter(J),bootstrapSetCustomFilterGroup(J),bootstrapSetCustomFilterValue(J),bootstrapSetCustomFilterAllValues(J),bootstrapSetDiagnosticFilter(J),bootstrapDeleteDiagnosticFilterValue(J),bootstrapAddUpFilter(J),bootstrapSetUpFilter(J),bootstrapResetFilters(J),subscribeDiagnosticFilters(W)},teardownFilters=()=>{teardownSetCommonFilter(),teardownAddCustomFilter(),teardownSetCustomFilterGroup(),teardownSetCustomFilterValue(),teardownSetCustomFilterAllValues(),teardownSetDiagnosticFilter(),teardownDeleteDiagnosticFilterValue(),teardownAddUpFilter(),teardownSetUpFilter(),teardownResetFilters()};/**
420
+ `,__decorateClass$u([connectedProperty(activityHistoryCommonFiltersSelector)],ActivityHistoryFilters.prototype,"commonFilters",2),__decorateClass$u([connectedProperty(customFilterGroupsWithOptionsSelector)],ActivityHistoryFilters.prototype,"customFilterGroups",2),__decorateClass$u([connectedProperty(upFilterSelector)],ActivityHistoryFilters.prototype,"upFilter",2),__decorateClass$u([connectedProperty(upFilterEnabledValuesSelector)],ActivityHistoryFilters.prototype,"upFilterEnabledValues",2),__decorateClass$u([lazyInject(TYPES.primaryApi)],ActivityHistoryFilters.prototype,"api",2),__decorateClass$u([r$J()],ActivityHistoryFilters.prototype,"filtersExpanded",2),__decorateClass$u([n$y({type:Boolean})],ActivityHistoryFilters.prototype,"wrapperMaximized",2),ActivityHistoryFilters=__decorateClass$u([t$x("activity-history-filters")],ActivityHistoryFilters);const{setCommonFilterValue}=activityHistoryFiltersSlice.actions;class SetCommonFilterHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(setCommonFilterValue(W.payload))}catch(X){console.error(X.message)}}}let request$d;const bootstrapSetCommonFilter=J=>{request$d=J.registerRequest(SetCommonFilter,SetCommonFilterHandler)},teardownSetCommonFilter=()=>{request$d?.dispose()},{addCustomFilters}=activityHistoryFiltersSlice.actions;class AddCustomFiltersHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(addCustomFilters(W.payload))}catch(X){console.error(X.message)}}}let request$c;const bootstrapAddCustomFilter=J=>{request$c=J.registerRequest(AddCustomFiltersCommand,AddCustomFiltersHandler)},teardownAddCustomFilter=()=>{request$c?.dispose()},{setCustomFilterAllValues}=activityHistoryFiltersSlice.actions;class SetCustomFilterAllValuesHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(setCustomFilterAllValues(W.payload))}catch(X){console.error(X.message)}}}let request$b;const bootstrapSetCustomFilterAllValues=J=>{request$b=J.registerRequest(SetCustomFilterAllValues,SetCustomFilterAllValuesHandler)},teardownSetCustomFilterAllValues=()=>{request$b?.dispose()},{setCustomFilterGroupValue}=activityHistoryFiltersSlice.actions;class SetCustomFilterGroupHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(setCustomFilterGroupValue(W.payload))}catch(X){console.error(X.message)}}}let request$a;const bootstrapSetCustomFilterGroup=J=>{request$a=J.registerRequest(SetCustomFilterGroup,SetCustomFilterGroupHandler)},teardownSetCustomFilterGroup=()=>{request$a?.dispose()},{setCustomFilterValue}=activityHistoryFiltersSlice.actions;class SetCustomFilterValueHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(setCustomFilterValue(W.payload))}catch(X){console.error(X.message)}}}let request$9;const bootstrapSetCustomFilterValue=J=>{request$9=J.registerRequest(SetCustomFilterValue,SetCustomFilterValueHandler)},teardownSetCustomFilterValue=()=>{request$9?.dispose()},{deleteDiagnosticFilterValue}=activityHistoryFiltersSlice.actions;class DeleteDiagnosticFilterValueHandler extends BaseHandler{async handle(W){try{const te=diagnosticFilterEnabledValuesSelector(this.store.getState()).find(re=>re.codi===W.payload.diagnosticCodi);if(te){const{evolucions:re,relacions:oe,...ne}=te;this.api.broker.publish(this.api.broker.events.activityHistory.diagnosticFilterDeactivated,{diagnostic:ne})}this.store.dispatch(deleteDiagnosticFilterValue(W.payload))}catch(X){console.error(X.message)}}}class DeleteDiagnosticFilterValueCommand{constructor(W){this.payload=W}}let deleteFilterValueRequest;const bootstrapDeleteDiagnosticFilterValue=J=>{deleteFilterValueRequest=J.registerRequest(DeleteDiagnosticFilterValueCommand,DeleteDiagnosticFilterValueHandler)},teardownDeleteDiagnosticFilterValue=()=>{deleteFilterValueRequest?.dispose()},{setDiagnosticFilterValues}=activityHistoryFiltersSlice.actions;class SetDiagnosticFilterValuesHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(setDiagnosticFilterValues(W.payload.diagnostics))}catch(X){console.error(X.message)}}}class SetDiagnosticFiltersValuesCommand{constructor(W){this.payload=W}}let setFiltersValueRequest;const bootstrapSetDiagnosticFilter=J=>{setFiltersValueRequest=J.registerRequest(SetDiagnosticFiltersValuesCommand,SetDiagnosticFilterValuesHandler)},teardownSetDiagnosticFilter=()=>{setFiltersValueRequest?.dispose()},subscribeDiagnosticFilters=J=>{J.broker.subscribe("cipds_diagnostic_filter_historic_requested",W=>{J.broker.send(new SetDiagnosticFiltersValuesCommand(W))})};class ResetFiltersCommand{}const{resetFilters}=activityHistoryFiltersSlice.actions;class ResetFiltersHandler extends BaseHandler{async handle(W){try{this.api.broker.publish(this.api.broker.events.activityHistory.filtersCleaned),this.store.dispatch(resetFilters())}catch(X){console.error(X.message)}}}let request$8;const bootstrapResetFilters=J=>{request$8=J.registerRequest(ResetFiltersCommand,ResetFiltersHandler)},teardownResetFilters=()=>{request$8?.dispose()},{addUpFilters}=activityHistoryFiltersSlice.actions;class AddUpFiltersHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(addUpFilters(W.payload))}catch(X){console.error(X.message)}}}class AddUpFiltersCommand{constructor(W){this.payload=W}}let request$7;const bootstrapAddUpFilter=J=>{request$7=J.registerRequest(AddUpFiltersCommand,AddUpFiltersHandler)},teardownAddUpFilter=()=>{request$7?.dispose()},{setUpFilterValues}=activityHistoryFiltersSlice.actions;class SetUpFiltersHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(setUpFilterValues(W.payload))}catch(X){console.error(X.message)}}}let request$6;const bootstrapSetUpFilter=J=>{request$6=J.registerRequest(SetUpFiltersCommand,SetUpFiltersHandler)},teardownSetUpFilter=()=>{request$6?.dispose()},bootstrapFilters=(J,W)=>{bootstrapSetCommonFilter(J),bootstrapAddCustomFilter(J),bootstrapSetCustomFilterGroup(J),bootstrapSetCustomFilterValue(J),bootstrapSetCustomFilterAllValues(J),bootstrapSetDiagnosticFilter(J),bootstrapDeleteDiagnosticFilterValue(J),bootstrapAddUpFilter(J),bootstrapSetUpFilter(J),bootstrapResetFilters(J),subscribeDiagnosticFilters(W)},teardownFilters=()=>{teardownSetCommonFilter(),teardownAddCustomFilter(),teardownSetCustomFilterGroup(),teardownSetCustomFilterValue(),teardownSetCustomFilterAllValues(),teardownSetDiagnosticFilter(),teardownDeleteDiagnosticFilterValue(),teardownAddUpFilter(),teardownSetUpFilter(),teardownResetFilters()};function toDate(J){const W=Object.prototype.toString.call(J);return J instanceof Date||typeof J=="object"&&W==="[object Date]"?new J.constructor(+J):typeof J=="number"||W==="[object Number]"||typeof J=="string"||W==="[object String]"?new Date(J):new Date(NaN)}function constructFrom(J,W){return J instanceof Date?new J.constructor(W):new Date(W)}function addDays(J,W){const X=toDate(J);return isNaN(W)?constructFrom(J,NaN):(W&&X.setDate(X.getDate()+W),X)}const millisecondsInWeek=6048e5,millisecondsInDay=864e5,millisecondsInMinute=6e4,millisecondsInHour=36e5,millisecondsInSecond=1e3;let defaultOptions={};function getDefaultOptions$1(){return defaultOptions}function startOfWeek(J,W){const X=getDefaultOptions$1(),te=W?.weekStartsOn??W?.locale?.options?.weekStartsOn??X.weekStartsOn??X.locale?.options?.weekStartsOn??0,re=toDate(J),oe=re.getDay(),ne=(oe<te?7:0)+oe-te;return re.setDate(re.getDate()-ne),re.setHours(0,0,0,0),re}function startOfISOWeek(J){return startOfWeek(J,{weekStartsOn:1})}function getISOWeekYear(J){const W=toDate(J),X=W.getFullYear(),te=constructFrom(J,0);te.setFullYear(X+1,0,4),te.setHours(0,0,0,0);const re=startOfISOWeek(te),oe=constructFrom(J,0);oe.setFullYear(X,0,4),oe.setHours(0,0,0,0);const ne=startOfISOWeek(oe);return W.getTime()>=re.getTime()?X+1:W.getTime()>=ne.getTime()?X:X-1}function startOfDay(J){const W=toDate(J);return W.setHours(0,0,0,0),W}function getTimezoneOffsetInMilliseconds(J){const W=toDate(J),X=new Date(Date.UTC(W.getFullYear(),W.getMonth(),W.getDate(),W.getHours(),W.getMinutes(),W.getSeconds(),W.getMilliseconds()));return X.setUTCFullYear(W.getFullYear()),+J-+X}function differenceInCalendarDays(J,W){const X=startOfDay(J),te=startOfDay(W),re=+X-getTimezoneOffsetInMilliseconds(X),oe=+te-getTimezoneOffsetInMilliseconds(te);return Math.round((re-oe)/millisecondsInDay)}function startOfISOWeekYear(J){const W=getISOWeekYear(J),X=constructFrom(J,0);return X.setFullYear(W,0,4),X.setHours(0,0,0,0),startOfISOWeek(X)}function isDate(J){return J instanceof Date||typeof J=="object"&&Object.prototype.toString.call(J)==="[object Date]"}function isValid(J){if(!isDate(J)&&typeof J!="number")return!1;const W=toDate(J);return!isNaN(Number(W))}function endOfMonth(J){const W=toDate(J),X=W.getMonth();return W.setFullYear(W.getFullYear(),X+1,0),W.setHours(23,59,59,999),W}function eachDayOfInterval(J,W){const X=toDate(J.start),te=toDate(J.end);let re=+X>+te;const oe=re?+X:+te,ne=re?te:X;ne.setHours(0,0,0,0);let de=1;const ce=[];for(;+ne<=oe;)ce.push(toDate(ne)),ne.setDate(ne.getDate()+de),ne.setHours(0,0,0,0);return re?ce.reverse():ce}function startOfMonth(J){const W=toDate(J);return W.setDate(1),W.setHours(0,0,0,0),W}function startOfYear(J){const W=toDate(J),X=constructFrom(J,0);return X.setFullYear(W.getFullYear(),0,1),X.setHours(0,0,0,0),X}const formatDistanceLocale={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},formatDistance=(J,W,X)=>{let te;const re=formatDistanceLocale[J];return typeof re=="string"?te=re:W===1?te=re.one:te=re.other.replace("{{count}}",W.toString()),X?.addSuffix?X.comparison&&X.comparison>0?"in "+te:te+" ago":te};function buildFormatLongFn(J){return(W={})=>{const X=W.width?String(W.width):J.defaultWidth;return J.formats[X]||J.formats[J.defaultWidth]}}const dateFormats={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},timeFormats={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},dateTimeFormats={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong={date:buildFormatLongFn({formats:dateFormats,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats,defaultWidth:"full"})},formatRelativeLocale={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},formatRelative=(J,W,X,te)=>formatRelativeLocale[J];function buildLocalizeFn(J){return(W,X)=>{const te=X?.context?String(X.context):"standalone";let re;if(te==="formatting"&&J.formattingValues){const ne=J.defaultFormattingWidth||J.defaultWidth,de=X?.width?String(X.width):ne;re=J.formattingValues[de]||J.formattingValues[ne]}else{const ne=J.defaultWidth,de=X?.width?String(X.width):J.defaultWidth;re=J.values[de]||J.values[ne]}const oe=J.argumentCallback?J.argumentCallback(W):W;return re[oe]}}const eraValues={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},quarterValues={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},monthValues={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},dayValues={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},dayPeriodValues={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},formattingDayPeriodValues={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},ordinalNumber=(J,W)=>{const X=Number(J),te=X%100;if(te>20||te<10)switch(te%10){case 1:return X+"st";case 2:return X+"nd";case 3:return X+"rd"}return X+"th"},localize={ordinalNumber,era:buildLocalizeFn({values:eraValues,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues,defaultWidth:"wide",argumentCallback:J=>J-1}),month:buildLocalizeFn({values:monthValues,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues,defaultWidth:"wide",formattingValues:formattingDayPeriodValues,defaultFormattingWidth:"wide"})};function buildMatchFn(J){return(W,X={})=>{const te=X.width,re=te&&J.matchPatterns[te]||J.matchPatterns[J.defaultMatchWidth],oe=W.match(re);if(!oe)return null;const ne=oe[0],de=te&&J.parsePatterns[te]||J.parsePatterns[J.defaultParseWidth],ce=Array.isArray(de)?findIndex(de,pe=>pe.test(ne)):findKey(de,pe=>pe.test(ne));let ue;ue=J.valueCallback?J.valueCallback(ce):ce,ue=X.valueCallback?X.valueCallback(ue):ue;const he=W.slice(ne.length);return{value:ue,rest:he}}}function findKey(J,W){for(const X in J)if(Object.prototype.hasOwnProperty.call(J,X)&&W(J[X]))return X}function findIndex(J,W){for(let X=0;X<J.length;X++)if(W(J[X]))return X}function buildMatchPatternFn(J){return(W,X={})=>{const te=W.match(J.matchPattern);if(!te)return null;const re=te[0],oe=W.match(J.parsePattern);if(!oe)return null;let ne=J.valueCallback?J.valueCallback(oe[0]):oe[0];ne=X.valueCallback?X.valueCallback(ne):ne;const de=W.slice(re.length);return{value:ne,rest:de}}}const matchOrdinalNumberPattern=/^(\d+)(th|st|nd|rd)?/i,parseOrdinalNumberPattern=/\d+/i,matchEraPatterns={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},parseEraPatterns={any:[/^b/i,/^(a|c)/i]},matchQuarterPatterns={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},parseQuarterPatterns={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},parseMonthPatterns={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},matchDayPatterns={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},parseDayPatterns={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},matchDayPeriodPatterns={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},parseDayPeriodPatterns={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},match={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern,parsePattern:parseOrdinalNumberPattern,valueCallback:J=>parseInt(J,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns,defaultParseWidth:"any",valueCallback:J=>J+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns,defaultParseWidth:"any"})},enUS={code:"en-US",formatDistance,formatLong,formatRelative,localize,match,options:{weekStartsOn:0,firstWeekContainsDate:1}};function getDayOfYear(J){const W=toDate(J);return differenceInCalendarDays(W,startOfYear(W))+1}function getISOWeek(J){const W=toDate(J),X=+startOfISOWeek(W)-+startOfISOWeekYear(W);return Math.round(X/millisecondsInWeek)+1}function getWeekYear(J,W){const X=toDate(J),te=X.getFullYear(),re=getDefaultOptions$1(),oe=W?.firstWeekContainsDate??W?.locale?.options?.firstWeekContainsDate??re.firstWeekContainsDate??re.locale?.options?.firstWeekContainsDate??1,ne=constructFrom(J,0);ne.setFullYear(te+1,0,oe),ne.setHours(0,0,0,0);const de=startOfWeek(ne,W),ce=constructFrom(J,0);ce.setFullYear(te,0,oe),ce.setHours(0,0,0,0);const ue=startOfWeek(ce,W);return X.getTime()>=de.getTime()?te+1:X.getTime()>=ue.getTime()?te:te-1}function startOfWeekYear(J,W){const X=getDefaultOptions$1(),te=W?.firstWeekContainsDate??W?.locale?.options?.firstWeekContainsDate??X.firstWeekContainsDate??X.locale?.options?.firstWeekContainsDate??1,re=getWeekYear(J,W),oe=constructFrom(J,0);return oe.setFullYear(re,0,te),oe.setHours(0,0,0,0),startOfWeek(oe,W)}function getWeek(J,W){const X=toDate(J),te=+startOfWeek(X,W)-+startOfWeekYear(X,W);return Math.round(te/millisecondsInWeek)+1}function addLeadingZeros(J,W){const X=J<0?"-":"",te=Math.abs(J).toString().padStart(W,"0");return X+te}const lightFormatters={y(J,W){const X=J.getFullYear(),te=X>0?X:1-X;return addLeadingZeros(W==="yy"?te%100:te,W.length)},M(J,W){const X=J.getMonth();return W==="M"?String(X+1):addLeadingZeros(X+1,2)},d(J,W){return addLeadingZeros(J.getDate(),W.length)},a(J,W){const X=J.getHours()/12>=1?"pm":"am";switch(W){case"a":case"aa":return X.toUpperCase();case"aaa":return X;case"aaaaa":return X[0];case"aaaa":default:return X==="am"?"a.m.":"p.m."}},h(J,W){return addLeadingZeros(J.getHours()%12||12,W.length)},H(J,W){return addLeadingZeros(J.getHours(),W.length)},m(J,W){return addLeadingZeros(J.getMinutes(),W.length)},s(J,W){return addLeadingZeros(J.getSeconds(),W.length)},S(J,W){const X=W.length,te=J.getMilliseconds(),re=Math.trunc(te*Math.pow(10,X-3));return addLeadingZeros(re,W.length)}},dayPeriodEnum={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},formatters={G:function(J,W,X){const te=J.getFullYear()>0?1:0;switch(W){case"G":case"GG":case"GGG":return X.era(te,{width:"abbreviated"});case"GGGGG":return X.era(te,{width:"narrow"});case"GGGG":default:return X.era(te,{width:"wide"})}},y:function(J,W,X){if(W==="yo"){const te=J.getFullYear(),re=te>0?te:1-te;return X.ordinalNumber(re,{unit:"year"})}return lightFormatters.y(J,W)},Y:function(J,W,X,te){const re=getWeekYear(J,te),oe=re>0?re:1-re;if(W==="YY"){const ne=oe%100;return addLeadingZeros(ne,2)}return W==="Yo"?X.ordinalNumber(oe,{unit:"year"}):addLeadingZeros(oe,W.length)},R:function(J,W){const X=getISOWeekYear(J);return addLeadingZeros(X,W.length)},u:function(J,W){const X=J.getFullYear();return addLeadingZeros(X,W.length)},Q:function(J,W,X){const te=Math.ceil((J.getMonth()+1)/3);switch(W){case"Q":return String(te);case"QQ":return addLeadingZeros(te,2);case"Qo":return X.ordinalNumber(te,{unit:"quarter"});case"QQQ":return X.quarter(te,{width:"abbreviated",context:"formatting"});case"QQQQQ":return X.quarter(te,{width:"narrow",context:"formatting"});case"QQQQ":default:return X.quarter(te,{width:"wide",context:"formatting"})}},q:function(J,W,X){const te=Math.ceil((J.getMonth()+1)/3);switch(W){case"q":return String(te);case"qq":return addLeadingZeros(te,2);case"qo":return X.ordinalNumber(te,{unit:"quarter"});case"qqq":return X.quarter(te,{width:"abbreviated",context:"standalone"});case"qqqqq":return X.quarter(te,{width:"narrow",context:"standalone"});case"qqqq":default:return X.quarter(te,{width:"wide",context:"standalone"})}},M:function(J,W,X){const te=J.getMonth();switch(W){case"M":case"MM":return lightFormatters.M(J,W);case"Mo":return X.ordinalNumber(te+1,{unit:"month"});case"MMM":return X.month(te,{width:"abbreviated",context:"formatting"});case"MMMMM":return X.month(te,{width:"narrow",context:"formatting"});case"MMMM":default:return X.month(te,{width:"wide",context:"formatting"})}},L:function(J,W,X){const te=J.getMonth();switch(W){case"L":return String(te+1);case"LL":return addLeadingZeros(te+1,2);case"Lo":return X.ordinalNumber(te+1,{unit:"month"});case"LLL":return X.month(te,{width:"abbreviated",context:"standalone"});case"LLLLL":return X.month(te,{width:"narrow",context:"standalone"});case"LLLL":default:return X.month(te,{width:"wide",context:"standalone"})}},w:function(J,W,X,te){const re=getWeek(J,te);return W==="wo"?X.ordinalNumber(re,{unit:"week"}):addLeadingZeros(re,W.length)},I:function(J,W,X){const te=getISOWeek(J);return W==="Io"?X.ordinalNumber(te,{unit:"week"}):addLeadingZeros(te,W.length)},d:function(J,W,X){return W==="do"?X.ordinalNumber(J.getDate(),{unit:"date"}):lightFormatters.d(J,W)},D:function(J,W,X){const te=getDayOfYear(J);return W==="Do"?X.ordinalNumber(te,{unit:"dayOfYear"}):addLeadingZeros(te,W.length)},E:function(J,W,X){const te=J.getDay();switch(W){case"E":case"EE":case"EEE":return X.day(te,{width:"abbreviated",context:"formatting"});case"EEEEE":return X.day(te,{width:"narrow",context:"formatting"});case"EEEEEE":return X.day(te,{width:"short",context:"formatting"});case"EEEE":default:return X.day(te,{width:"wide",context:"formatting"})}},e:function(J,W,X,te){const re=J.getDay(),oe=(re-te.weekStartsOn+8)%7||7;switch(W){case"e":return String(oe);case"ee":return addLeadingZeros(oe,2);case"eo":return X.ordinalNumber(oe,{unit:"day"});case"eee":return X.day(re,{width:"abbreviated",context:"formatting"});case"eeeee":return X.day(re,{width:"narrow",context:"formatting"});case"eeeeee":return X.day(re,{width:"short",context:"formatting"});case"eeee":default:return X.day(re,{width:"wide",context:"formatting"})}},c:function(J,W,X,te){const re=J.getDay(),oe=(re-te.weekStartsOn+8)%7||7;switch(W){case"c":return String(oe);case"cc":return addLeadingZeros(oe,W.length);case"co":return X.ordinalNumber(oe,{unit:"day"});case"ccc":return X.day(re,{width:"abbreviated",context:"standalone"});case"ccccc":return X.day(re,{width:"narrow",context:"standalone"});case"cccccc":return X.day(re,{width:"short",context:"standalone"});case"cccc":default:return X.day(re,{width:"wide",context:"standalone"})}},i:function(J,W,X){const te=J.getDay(),re=te===0?7:te;switch(W){case"i":return String(re);case"ii":return addLeadingZeros(re,W.length);case"io":return X.ordinalNumber(re,{unit:"day"});case"iii":return X.day(te,{width:"abbreviated",context:"formatting"});case"iiiii":return X.day(te,{width:"narrow",context:"formatting"});case"iiiiii":return X.day(te,{width:"short",context:"formatting"});case"iiii":default:return X.day(te,{width:"wide",context:"formatting"})}},a:function(J,W,X){const re=J.getHours()/12>=1?"pm":"am";switch(W){case"a":case"aa":return X.dayPeriod(re,{width:"abbreviated",context:"formatting"});case"aaa":return X.dayPeriod(re,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return X.dayPeriod(re,{width:"narrow",context:"formatting"});case"aaaa":default:return X.dayPeriod(re,{width:"wide",context:"formatting"})}},b:function(J,W,X){const te=J.getHours();let re;switch(te===12?re=dayPeriodEnum.noon:te===0?re=dayPeriodEnum.midnight:re=te/12>=1?"pm":"am",W){case"b":case"bb":return X.dayPeriod(re,{width:"abbreviated",context:"formatting"});case"bbb":return X.dayPeriod(re,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return X.dayPeriod(re,{width:"narrow",context:"formatting"});case"bbbb":default:return X.dayPeriod(re,{width:"wide",context:"formatting"})}},B:function(J,W,X){const te=J.getHours();let re;switch(te>=17?re=dayPeriodEnum.evening:te>=12?re=dayPeriodEnum.afternoon:te>=4?re=dayPeriodEnum.morning:re=dayPeriodEnum.night,W){case"B":case"BB":case"BBB":return X.dayPeriod(re,{width:"abbreviated",context:"formatting"});case"BBBBB":return X.dayPeriod(re,{width:"narrow",context:"formatting"});case"BBBB":default:return X.dayPeriod(re,{width:"wide",context:"formatting"})}},h:function(J,W,X){if(W==="ho"){let te=J.getHours()%12;return te===0&&(te=12),X.ordinalNumber(te,{unit:"hour"})}return lightFormatters.h(J,W)},H:function(J,W,X){return W==="Ho"?X.ordinalNumber(J.getHours(),{unit:"hour"}):lightFormatters.H(J,W)},K:function(J,W,X){const te=J.getHours()%12;return W==="Ko"?X.ordinalNumber(te,{unit:"hour"}):addLeadingZeros(te,W.length)},k:function(J,W,X){let te=J.getHours();return te===0&&(te=24),W==="ko"?X.ordinalNumber(te,{unit:"hour"}):addLeadingZeros(te,W.length)},m:function(J,W,X){return W==="mo"?X.ordinalNumber(J.getMinutes(),{unit:"minute"}):lightFormatters.m(J,W)},s:function(J,W,X){return W==="so"?X.ordinalNumber(J.getSeconds(),{unit:"second"}):lightFormatters.s(J,W)},S:function(J,W){return lightFormatters.S(J,W)},X:function(J,W,X){const te=J.getTimezoneOffset();if(te===0)return"Z";switch(W){case"X":return formatTimezoneWithOptionalMinutes(te);case"XXXX":case"XX":return formatTimezone(te);case"XXXXX":case"XXX":default:return formatTimezone(te,":")}},x:function(J,W,X){const te=J.getTimezoneOffset();switch(W){case"x":return formatTimezoneWithOptionalMinutes(te);case"xxxx":case"xx":return formatTimezone(te);case"xxxxx":case"xxx":default:return formatTimezone(te,":")}},O:function(J,W,X){const te=J.getTimezoneOffset();switch(W){case"O":case"OO":case"OOO":return"GMT"+formatTimezoneShort(te,":");case"OOOO":default:return"GMT"+formatTimezone(te,":")}},z:function(J,W,X){const te=J.getTimezoneOffset();switch(W){case"z":case"zz":case"zzz":return"GMT"+formatTimezoneShort(te,":");case"zzzz":default:return"GMT"+formatTimezone(te,":")}},t:function(J,W,X){const te=Math.trunc(J.getTime()/1e3);return addLeadingZeros(te,W.length)},T:function(J,W,X){const te=J.getTime();return addLeadingZeros(te,W.length)}};function formatTimezoneShort(J,W=""){const X=J>0?"-":"+",te=Math.abs(J),re=Math.trunc(te/60),oe=te%60;return oe===0?X+String(re):X+String(re)+W+addLeadingZeros(oe,2)}function formatTimezoneWithOptionalMinutes(J,W){return J%60===0?(J>0?"-":"+")+addLeadingZeros(Math.abs(J)/60,2):formatTimezone(J,W)}function formatTimezone(J,W=""){const X=J>0?"-":"+",te=Math.abs(J),re=addLeadingZeros(Math.trunc(te/60),2),oe=addLeadingZeros(te%60,2);return X+re+W+oe}const dateLongFormatter=(J,W)=>{switch(J){case"P":return W.date({width:"short"});case"PP":return W.date({width:"medium"});case"PPP":return W.date({width:"long"});case"PPPP":default:return W.date({width:"full"})}},timeLongFormatter=(J,W)=>{switch(J){case"p":return W.time({width:"short"});case"pp":return W.time({width:"medium"});case"ppp":return W.time({width:"long"});case"pppp":default:return W.time({width:"full"})}},dateTimeLongFormatter=(J,W)=>{const X=J.match(/(P+)(p+)?/)||[],te=X[1],re=X[2];if(!re)return dateLongFormatter(J,W);let oe;switch(te){case"P":oe=W.dateTime({width:"short"});break;case"PP":oe=W.dateTime({width:"medium"});break;case"PPP":oe=W.dateTime({width:"long"});break;case"PPPP":default:oe=W.dateTime({width:"full"});break}return oe.replace("{{date}}",dateLongFormatter(te,W)).replace("{{time}}",timeLongFormatter(re,W))},longFormatters={p:timeLongFormatter,P:dateTimeLongFormatter},dayOfYearTokenRE=/^D+$/,weekYearTokenRE=/^Y+$/,throwTokens=["D","DD","YY","YYYY"];function isProtectedDayOfYearToken(J){return dayOfYearTokenRE.test(J)}function isProtectedWeekYearToken(J){return weekYearTokenRE.test(J)}function warnOrThrowProtectedError(J,W,X){const te=message(J,W,X);if(console.warn(te),throwTokens.includes(J))throw new RangeError(te)}function message(J,W,X){const te=J[0]==="Y"?"years":"days of the month";return`Use \`${J.toLowerCase()}\` instead of \`${J}\` (in \`${W}\`) for formatting ${te} to the input \`${X}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const formattingTokensRegExp$1=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,longFormattingTokensRegExp$1=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,escapedStringRegExp$1=/^'([^]*?)'?$/,doubleQuoteRegExp$1=/''/g,unescapedLatinCharacterRegExp$1=/[a-zA-Z]/;function format(J,W,X){const te=getDefaultOptions$1(),re=te.locale??enUS,oe=te.firstWeekContainsDate??te.locale?.options?.firstWeekContainsDate??1,ne=te.weekStartsOn??te.locale?.options?.weekStartsOn??0,de=toDate(J);if(!isValid(de))throw new RangeError("Invalid time value");let ce=W.match(longFormattingTokensRegExp$1).map(he=>{const pe=he[0];if(pe==="p"||pe==="P"){const fe=longFormatters[pe];return fe(he,re.formatLong)}return he}).join("").match(formattingTokensRegExp$1).map(he=>{if(he==="''")return{isToken:!1,value:"'"};const pe=he[0];if(pe==="'")return{isToken:!1,value:cleanEscapedString$1(he)};if(formatters[pe])return{isToken:!0,value:he};if(pe.match(unescapedLatinCharacterRegExp$1))throw new RangeError("Format string contains an unescaped latin alphabet character `"+pe+"`");return{isToken:!1,value:he}});re.localize.preprocessor&&(ce=re.localize.preprocessor(de,ce));const ue={firstWeekContainsDate:oe,weekStartsOn:ne,locale:re};return ce.map(he=>{if(!he.isToken)return he.value;const pe=he.value;(isProtectedWeekYearToken(pe)||isProtectedDayOfYearToken(pe))&&warnOrThrowProtectedError(pe,W,String(J));const fe=formatters[pe[0]];return fe(de,pe,re.localize,ue)}).join("")}function cleanEscapedString$1(J){const W=J.match(escapedStringRegExp$1);return W?W[1].replace(doubleQuoteRegExp$1,"'"):J}function getDay(J){return toDate(J).getDay()}function getDefaultOptions(){return Object.assign({},getDefaultOptions$1())}function getISODay(J){let X=toDate(J).getDay();return X===0&&(X=7),X}function transpose(J,W){const X=W instanceof Date?constructFrom(W,0):new W(0);return X.setFullYear(J.getFullYear(),J.getMonth(),J.getDate()),X.setHours(J.getHours(),J.getMinutes(),J.getSeconds(),J.getMilliseconds()),X}const TIMEZONE_UNIT_PRIORITY=10;class Setter{subPriority=0;validate(W,X){return!0}}class ValueSetter extends Setter{constructor(W,X,te,re,oe){super(),this.value=W,this.validateValue=X,this.setValue=te,this.priority=re,oe&&(this.subPriority=oe)}validate(W,X){return this.validateValue(W,this.value,X)}set(W,X,te){return this.setValue(W,X,this.value,te)}}class DateToSystemTimezoneSetter extends Setter{priority=TIMEZONE_UNIT_PRIORITY;subPriority=-1;set(W,X){return X.timestampIsSet?W:constructFrom(W,transpose(W,Date))}}class Parser{run(W,X,te,re){const oe=this.parse(W,X,te,re);return oe?{setter:new ValueSetter(oe.value,this.validate,this.set,this.priority,this.subPriority),rest:oe.rest}:null}validate(W,X,te){return!0}}class EraParser extends Parser{priority=140;parse(W,X,te){switch(X){case"G":case"GG":case"GGG":return te.era(W,{width:"abbreviated"})||te.era(W,{width:"narrow"});case"GGGGG":return te.era(W,{width:"narrow"});case"GGGG":default:return te.era(W,{width:"wide"})||te.era(W,{width:"abbreviated"})||te.era(W,{width:"narrow"})}}set(W,X,te){return X.era=te,W.setFullYear(te,0,1),W.setHours(0,0,0,0),W}incompatibleTokens=["R","u","t","T"]}const numericPatterns={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},timezonePatterns={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function mapValue(J,W){return J&&{value:W(J.value),rest:J.rest}}function parseNumericPattern(J,W){const X=W.match(J);return X?{value:parseInt(X[0],10),rest:W.slice(X[0].length)}:null}function parseTimezonePattern(J,W){const X=W.match(J);if(!X)return null;if(X[0]==="Z")return{value:0,rest:W.slice(1)};const te=X[1]==="+"?1:-1,re=X[2]?parseInt(X[2],10):0,oe=X[3]?parseInt(X[3],10):0,ne=X[5]?parseInt(X[5],10):0;return{value:te*(re*millisecondsInHour+oe*millisecondsInMinute+ne*millisecondsInSecond),rest:W.slice(X[0].length)}}function parseAnyDigitsSigned(J){return parseNumericPattern(numericPatterns.anyDigitsSigned,J)}function parseNDigits(J,W){switch(J){case 1:return parseNumericPattern(numericPatterns.singleDigit,W);case 2:return parseNumericPattern(numericPatterns.twoDigits,W);case 3:return parseNumericPattern(numericPatterns.threeDigits,W);case 4:return parseNumericPattern(numericPatterns.fourDigits,W);default:return parseNumericPattern(new RegExp("^\\d{1,"+J+"}"),W)}}function parseNDigitsSigned(J,W){switch(J){case 1:return parseNumericPattern(numericPatterns.singleDigitSigned,W);case 2:return parseNumericPattern(numericPatterns.twoDigitsSigned,W);case 3:return parseNumericPattern(numericPatterns.threeDigitsSigned,W);case 4:return parseNumericPattern(numericPatterns.fourDigitsSigned,W);default:return parseNumericPattern(new RegExp("^-?\\d{1,"+J+"}"),W)}}function dayPeriodEnumToHours(J){switch(J){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;case"am":case"midnight":case"night":default:return 0}}function normalizeTwoDigitYear(J,W){const X=W>0,te=X?W:1-W;let re;if(te<=50)re=J||100;else{const oe=te+50,ne=Math.trunc(oe/100)*100,de=J>=oe%100;re=J+ne-(de?100:0)}return X?re:1-re}function isLeapYearIndex(J){return J%400===0||J%4===0&&J%100!==0}class YearParser extends Parser{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(W,X,te){const re=oe=>({year:oe,isTwoDigitYear:X==="yy"});switch(X){case"y":return mapValue(parseNDigits(4,W),re);case"yo":return mapValue(te.ordinalNumber(W,{unit:"year"}),re);default:return mapValue(parseNDigits(X.length,W),re)}}validate(W,X){return X.isTwoDigitYear||X.year>0}set(W,X,te){const re=W.getFullYear();if(te.isTwoDigitYear){const ne=normalizeTwoDigitYear(te.year,re);return W.setFullYear(ne,0,1),W.setHours(0,0,0,0),W}const oe=!("era"in X)||X.era===1?te.year:1-te.year;return W.setFullYear(oe,0,1),W.setHours(0,0,0,0),W}}class LocalWeekYearParser extends Parser{priority=130;parse(W,X,te){const re=oe=>({year:oe,isTwoDigitYear:X==="YY"});switch(X){case"Y":return mapValue(parseNDigits(4,W),re);case"Yo":return mapValue(te.ordinalNumber(W,{unit:"year"}),re);default:return mapValue(parseNDigits(X.length,W),re)}}validate(W,X){return X.isTwoDigitYear||X.year>0}set(W,X,te,re){const oe=getWeekYear(W,re);if(te.isTwoDigitYear){const de=normalizeTwoDigitYear(te.year,oe);return W.setFullYear(de,0,re.firstWeekContainsDate),W.setHours(0,0,0,0),startOfWeek(W,re)}const ne=!("era"in X)||X.era===1?te.year:1-te.year;return W.setFullYear(ne,0,re.firstWeekContainsDate),W.setHours(0,0,0,0),startOfWeek(W,re)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]}class ISOWeekYearParser extends Parser{priority=130;parse(W,X){return parseNDigitsSigned(X==="R"?4:X.length,W)}set(W,X,te){const re=constructFrom(W,0);return re.setFullYear(te,0,4),re.setHours(0,0,0,0),startOfISOWeek(re)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]}class ExtendedYearParser extends Parser{priority=130;parse(W,X){return parseNDigitsSigned(X==="u"?4:X.length,W)}set(W,X,te){return W.setFullYear(te,0,1),W.setHours(0,0,0,0),W}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]}class QuarterParser extends Parser{priority=120;parse(W,X,te){switch(X){case"Q":case"QQ":return parseNDigits(X.length,W);case"Qo":return te.ordinalNumber(W,{unit:"quarter"});case"QQQ":return te.quarter(W,{width:"abbreviated",context:"formatting"})||te.quarter(W,{width:"narrow",context:"formatting"});case"QQQQQ":return te.quarter(W,{width:"narrow",context:"formatting"});case"QQQQ":default:return te.quarter(W,{width:"wide",context:"formatting"})||te.quarter(W,{width:"abbreviated",context:"formatting"})||te.quarter(W,{width:"narrow",context:"formatting"})}}validate(W,X){return X>=1&&X<=4}set(W,X,te){return W.setMonth((te-1)*3,1),W.setHours(0,0,0,0),W}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]}class StandAloneQuarterParser extends Parser{priority=120;parse(W,X,te){switch(X){case"q":case"qq":return parseNDigits(X.length,W);case"qo":return te.ordinalNumber(W,{unit:"quarter"});case"qqq":return te.quarter(W,{width:"abbreviated",context:"standalone"})||te.quarter(W,{width:"narrow",context:"standalone"});case"qqqqq":return te.quarter(W,{width:"narrow",context:"standalone"});case"qqqq":default:return te.quarter(W,{width:"wide",context:"standalone"})||te.quarter(W,{width:"abbreviated",context:"standalone"})||te.quarter(W,{width:"narrow",context:"standalone"})}}validate(W,X){return X>=1&&X<=4}set(W,X,te){return W.setMonth((te-1)*3,1),W.setHours(0,0,0,0),W}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]}class MonthParser extends Parser{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(W,X,te){const re=oe=>oe-1;switch(X){case"M":return mapValue(parseNumericPattern(numericPatterns.month,W),re);case"MM":return mapValue(parseNDigits(2,W),re);case"Mo":return mapValue(te.ordinalNumber(W,{unit:"month"}),re);case"MMM":return te.month(W,{width:"abbreviated",context:"formatting"})||te.month(W,{width:"narrow",context:"formatting"});case"MMMMM":return te.month(W,{width:"narrow",context:"formatting"});case"MMMM":default:return te.month(W,{width:"wide",context:"formatting"})||te.month(W,{width:"abbreviated",context:"formatting"})||te.month(W,{width:"narrow",context:"formatting"})}}validate(W,X){return X>=0&&X<=11}set(W,X,te){return W.setMonth(te,1),W.setHours(0,0,0,0),W}}class StandAloneMonthParser extends Parser{priority=110;parse(W,X,te){const re=oe=>oe-1;switch(X){case"L":return mapValue(parseNumericPattern(numericPatterns.month,W),re);case"LL":return mapValue(parseNDigits(2,W),re);case"Lo":return mapValue(te.ordinalNumber(W,{unit:"month"}),re);case"LLL":return te.month(W,{width:"abbreviated",context:"standalone"})||te.month(W,{width:"narrow",context:"standalone"});case"LLLLL":return te.month(W,{width:"narrow",context:"standalone"});case"LLLL":default:return te.month(W,{width:"wide",context:"standalone"})||te.month(W,{width:"abbreviated",context:"standalone"})||te.month(W,{width:"narrow",context:"standalone"})}}validate(W,X){return X>=0&&X<=11}set(W,X,te){return W.setMonth(te,1),W.setHours(0,0,0,0),W}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]}function setWeek(J,W,X){const te=toDate(J),re=getWeek(te,X)-W;return te.setDate(te.getDate()-re*7),te}class LocalWeekParser extends Parser{priority=100;parse(W,X,te){switch(X){case"w":return parseNumericPattern(numericPatterns.week,W);case"wo":return te.ordinalNumber(W,{unit:"week"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=1&&X<=53}set(W,X,te,re){return startOfWeek(setWeek(W,te,re),re)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]}function setISOWeek(J,W){const X=toDate(J),te=getISOWeek(X)-W;return X.setDate(X.getDate()-te*7),X}class ISOWeekParser extends Parser{priority=100;parse(W,X,te){switch(X){case"I":return parseNumericPattern(numericPatterns.week,W);case"Io":return te.ordinalNumber(W,{unit:"week"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=1&&X<=53}set(W,X,te){return startOfISOWeek(setISOWeek(W,te))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]}const DAYS_IN_MONTH=[31,28,31,30,31,30,31,31,30,31,30,31],DAYS_IN_MONTH_LEAP_YEAR=[31,29,31,30,31,30,31,31,30,31,30,31];class DateParser extends Parser{priority=90;subPriority=1;parse(W,X,te){switch(X){case"d":return parseNumericPattern(numericPatterns.date,W);case"do":return te.ordinalNumber(W,{unit:"date"});default:return parseNDigits(X.length,W)}}validate(W,X){const te=W.getFullYear(),re=isLeapYearIndex(te),oe=W.getMonth();return re?X>=1&&X<=DAYS_IN_MONTH_LEAP_YEAR[oe]:X>=1&&X<=DAYS_IN_MONTH[oe]}set(W,X,te){return W.setDate(te),W.setHours(0,0,0,0),W}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]}class DayOfYearParser extends Parser{priority=90;subpriority=1;parse(W,X,te){switch(X){case"D":case"DD":return parseNumericPattern(numericPatterns.dayOfYear,W);case"Do":return te.ordinalNumber(W,{unit:"date"});default:return parseNDigits(X.length,W)}}validate(W,X){const te=W.getFullYear();return isLeapYearIndex(te)?X>=1&&X<=366:X>=1&&X<=365}set(W,X,te){return W.setMonth(0,te),W.setHours(0,0,0,0),W}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]}function setDay(J,W,X){const te=getDefaultOptions$1(),re=X?.weekStartsOn??X?.locale?.options?.weekStartsOn??te.weekStartsOn??te.locale?.options?.weekStartsOn??0,oe=toDate(J),ne=oe.getDay(),ce=(W%7+7)%7,ue=7-re,he=W<0||W>6?W-(ne+ue)%7:(ce+ue)%7-(ne+ue)%7;return addDays(oe,he)}class DayParser extends Parser{priority=90;parse(W,X,te){switch(X){case"E":case"EE":case"EEE":return te.day(W,{width:"abbreviated",context:"formatting"})||te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"});case"EEEEE":return te.day(W,{width:"narrow",context:"formatting"});case"EEEEEE":return te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"});case"EEEE":default:return te.day(W,{width:"wide",context:"formatting"})||te.day(W,{width:"abbreviated",context:"formatting"})||te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"})}}validate(W,X){return X>=0&&X<=6}set(W,X,te,re){return W=setDay(W,te,re),W.setHours(0,0,0,0),W}incompatibleTokens=["D","i","e","c","t","T"]}class LocalDayParser extends Parser{priority=90;parse(W,X,te,re){const oe=ne=>{const de=Math.floor((ne-1)/7)*7;return(ne+re.weekStartsOn+6)%7+de};switch(X){case"e":case"ee":return mapValue(parseNDigits(X.length,W),oe);case"eo":return mapValue(te.ordinalNumber(W,{unit:"day"}),oe);case"eee":return te.day(W,{width:"abbreviated",context:"formatting"})||te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"});case"eeeee":return te.day(W,{width:"narrow",context:"formatting"});case"eeeeee":return te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"});case"eeee":default:return te.day(W,{width:"wide",context:"formatting"})||te.day(W,{width:"abbreviated",context:"formatting"})||te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"})}}validate(W,X){return X>=0&&X<=6}set(W,X,te,re){return W=setDay(W,te,re),W.setHours(0,0,0,0),W}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]}class StandAloneLocalDayParser extends Parser{priority=90;parse(W,X,te,re){const oe=ne=>{const de=Math.floor((ne-1)/7)*7;return(ne+re.weekStartsOn+6)%7+de};switch(X){case"c":case"cc":return mapValue(parseNDigits(X.length,W),oe);case"co":return mapValue(te.ordinalNumber(W,{unit:"day"}),oe);case"ccc":return te.day(W,{width:"abbreviated",context:"standalone"})||te.day(W,{width:"short",context:"standalone"})||te.day(W,{width:"narrow",context:"standalone"});case"ccccc":return te.day(W,{width:"narrow",context:"standalone"});case"cccccc":return te.day(W,{width:"short",context:"standalone"})||te.day(W,{width:"narrow",context:"standalone"});case"cccc":default:return te.day(W,{width:"wide",context:"standalone"})||te.day(W,{width:"abbreviated",context:"standalone"})||te.day(W,{width:"short",context:"standalone"})||te.day(W,{width:"narrow",context:"standalone"})}}validate(W,X){return X>=0&&X<=6}set(W,X,te,re){return W=setDay(W,te,re),W.setHours(0,0,0,0),W}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]}function setISODay(J,W){const X=toDate(J),te=getISODay(X),re=W-te;return addDays(X,re)}class ISODayParser extends Parser{priority=90;parse(W,X,te){const re=oe=>oe===0?7:oe;switch(X){case"i":case"ii":return parseNDigits(X.length,W);case"io":return te.ordinalNumber(W,{unit:"day"});case"iii":return mapValue(te.day(W,{width:"abbreviated",context:"formatting"})||te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"}),re);case"iiiii":return mapValue(te.day(W,{width:"narrow",context:"formatting"}),re);case"iiiiii":return mapValue(te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"}),re);case"iiii":default:return mapValue(te.day(W,{width:"wide",context:"formatting"})||te.day(W,{width:"abbreviated",context:"formatting"})||te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"}),re)}}validate(W,X){return X>=1&&X<=7}set(W,X,te){return W=setISODay(W,te),W.setHours(0,0,0,0),W}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]}class AMPMParser extends Parser{priority=80;parse(W,X,te){switch(X){case"a":case"aa":case"aaa":return te.dayPeriod(W,{width:"abbreviated",context:"formatting"})||te.dayPeriod(W,{width:"narrow",context:"formatting"});case"aaaaa":return te.dayPeriod(W,{width:"narrow",context:"formatting"});case"aaaa":default:return te.dayPeriod(W,{width:"wide",context:"formatting"})||te.dayPeriod(W,{width:"abbreviated",context:"formatting"})||te.dayPeriod(W,{width:"narrow",context:"formatting"})}}set(W,X,te){return W.setHours(dayPeriodEnumToHours(te),0,0,0),W}incompatibleTokens=["b","B","H","k","t","T"]}class AMPMMidnightParser extends Parser{priority=80;parse(W,X,te){switch(X){case"b":case"bb":case"bbb":return te.dayPeriod(W,{width:"abbreviated",context:"formatting"})||te.dayPeriod(W,{width:"narrow",context:"formatting"});case"bbbbb":return te.dayPeriod(W,{width:"narrow",context:"formatting"});case"bbbb":default:return te.dayPeriod(W,{width:"wide",context:"formatting"})||te.dayPeriod(W,{width:"abbreviated",context:"formatting"})||te.dayPeriod(W,{width:"narrow",context:"formatting"})}}set(W,X,te){return W.setHours(dayPeriodEnumToHours(te),0,0,0),W}incompatibleTokens=["a","B","H","k","t","T"]}class DayPeriodParser extends Parser{priority=80;parse(W,X,te){switch(X){case"B":case"BB":case"BBB":return te.dayPeriod(W,{width:"abbreviated",context:"formatting"})||te.dayPeriod(W,{width:"narrow",context:"formatting"});case"BBBBB":return te.dayPeriod(W,{width:"narrow",context:"formatting"});case"BBBB":default:return te.dayPeriod(W,{width:"wide",context:"formatting"})||te.dayPeriod(W,{width:"abbreviated",context:"formatting"})||te.dayPeriod(W,{width:"narrow",context:"formatting"})}}set(W,X,te){return W.setHours(dayPeriodEnumToHours(te),0,0,0),W}incompatibleTokens=["a","b","t","T"]}class Hour1to12Parser extends Parser{priority=70;parse(W,X,te){switch(X){case"h":return parseNumericPattern(numericPatterns.hour12h,W);case"ho":return te.ordinalNumber(W,{unit:"hour"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=1&&X<=12}set(W,X,te){const re=W.getHours()>=12;return re&&te<12?W.setHours(te+12,0,0,0):!re&&te===12?W.setHours(0,0,0,0):W.setHours(te,0,0,0),W}incompatibleTokens=["H","K","k","t","T"]}class Hour0to23Parser extends Parser{priority=70;parse(W,X,te){switch(X){case"H":return parseNumericPattern(numericPatterns.hour23h,W);case"Ho":return te.ordinalNumber(W,{unit:"hour"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=0&&X<=23}set(W,X,te){return W.setHours(te,0,0,0),W}incompatibleTokens=["a","b","h","K","k","t","T"]}class Hour0To11Parser extends Parser{priority=70;parse(W,X,te){switch(X){case"K":return parseNumericPattern(numericPatterns.hour11h,W);case"Ko":return te.ordinalNumber(W,{unit:"hour"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=0&&X<=11}set(W,X,te){return W.getHours()>=12&&te<12?W.setHours(te+12,0,0,0):W.setHours(te,0,0,0),W}incompatibleTokens=["h","H","k","t","T"]}class Hour1To24Parser extends Parser{priority=70;parse(W,X,te){switch(X){case"k":return parseNumericPattern(numericPatterns.hour24h,W);case"ko":return te.ordinalNumber(W,{unit:"hour"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=1&&X<=24}set(W,X,te){const re=te<=24?te%24:te;return W.setHours(re,0,0,0),W}incompatibleTokens=["a","b","h","H","K","t","T"]}class MinuteParser extends Parser{priority=60;parse(W,X,te){switch(X){case"m":return parseNumericPattern(numericPatterns.minute,W);case"mo":return te.ordinalNumber(W,{unit:"minute"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=0&&X<=59}set(W,X,te){return W.setMinutes(te,0,0),W}incompatibleTokens=["t","T"]}class SecondParser extends Parser{priority=50;parse(W,X,te){switch(X){case"s":return parseNumericPattern(numericPatterns.second,W);case"so":return te.ordinalNumber(W,{unit:"second"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=0&&X<=59}set(W,X,te){return W.setSeconds(te,0),W}incompatibleTokens=["t","T"]}class FractionOfSecondParser extends Parser{priority=30;parse(W,X){const te=re=>Math.trunc(re*Math.pow(10,-X.length+3));return mapValue(parseNDigits(X.length,W),te)}set(W,X,te){return W.setMilliseconds(te),W}incompatibleTokens=["t","T"]}class ISOTimezoneWithZParser extends Parser{priority=10;parse(W,X){switch(X){case"X":return parseTimezonePattern(timezonePatterns.basicOptionalMinutes,W);case"XX":return parseTimezonePattern(timezonePatterns.basic,W);case"XXXX":return parseTimezonePattern(timezonePatterns.basicOptionalSeconds,W);case"XXXXX":return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds,W);case"XXX":default:return parseTimezonePattern(timezonePatterns.extended,W)}}set(W,X,te){return X.timestampIsSet?W:constructFrom(W,W.getTime()-getTimezoneOffsetInMilliseconds(W)-te)}incompatibleTokens=["t","T","x"]}class ISOTimezoneParser extends Parser{priority=10;parse(W,X){switch(X){case"x":return parseTimezonePattern(timezonePatterns.basicOptionalMinutes,W);case"xx":return parseTimezonePattern(timezonePatterns.basic,W);case"xxxx":return parseTimezonePattern(timezonePatterns.basicOptionalSeconds,W);case"xxxxx":return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds,W);case"xxx":default:return parseTimezonePattern(timezonePatterns.extended,W)}}set(W,X,te){return X.timestampIsSet?W:constructFrom(W,W.getTime()-getTimezoneOffsetInMilliseconds(W)-te)}incompatibleTokens=["t","T","X"]}class TimestampSecondsParser extends Parser{priority=40;parse(W){return parseAnyDigitsSigned(W)}set(W,X,te){return[constructFrom(W,te*1e3),{timestampIsSet:!0}]}incompatibleTokens="*"}class TimestampMillisecondsParser extends Parser{priority=20;parse(W){return parseAnyDigitsSigned(W)}set(W,X,te){return[constructFrom(W,te),{timestampIsSet:!0}]}incompatibleTokens="*"}const parsers={G:new EraParser,y:new YearParser,Y:new LocalWeekYearParser,R:new ISOWeekYearParser,u:new ExtendedYearParser,Q:new QuarterParser,q:new StandAloneQuarterParser,M:new MonthParser,L:new StandAloneMonthParser,w:new LocalWeekParser,I:new ISOWeekParser,d:new DateParser,D:new DayOfYearParser,E:new DayParser,e:new LocalDayParser,c:new StandAloneLocalDayParser,i:new ISODayParser,a:new AMPMParser,b:new AMPMMidnightParser,B:new DayPeriodParser,h:new Hour1to12Parser,H:new Hour0to23Parser,K:new Hour0To11Parser,k:new Hour1To24Parser,m:new MinuteParser,s:new SecondParser,S:new FractionOfSecondParser,X:new ISOTimezoneWithZParser,x:new ISOTimezoneParser,t:new TimestampSecondsParser,T:new TimestampMillisecondsParser},formattingTokensRegExp=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,longFormattingTokensRegExp=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,escapedStringRegExp=/^'([^]*?)'?$/,doubleQuoteRegExp=/''/g,notWhitespaceRegExp=/\S/,unescapedLatinCharacterRegExp=/[a-zA-Z]/;function parse(J,W,X,te){const re=getDefaultOptions(),oe=re.locale??enUS,ne=re.firstWeekContainsDate??re.locale?.options?.firstWeekContainsDate??1,de=re.weekStartsOn??re.locale?.options?.weekStartsOn??0,ce={firstWeekContainsDate:ne,weekStartsOn:de,locale:oe},ue=[new DateToSystemTimezoneSetter],he=W.match(longFormattingTokensRegExp).map(ge=>{const ve=ge[0];if(ve in longFormatters){const _e=longFormatters[ve];return _e(ge,oe.formatLong)}return ge}).join("").match(formattingTokensRegExp),pe=[];for(let ge of he){isProtectedWeekYearToken(ge)&&warnOrThrowProtectedError(ge,W,J),isProtectedDayOfYearToken(ge)&&warnOrThrowProtectedError(ge,W,J);const ve=ge[0],_e=parsers[ve];if(_e){const{incompatibleTokens:ye}=_e;if(Array.isArray(ye)){const we=pe.find(Ce=>ye.includes(Ce.token)||Ce.token===ve);if(we)throw new RangeError(`The format string mustn't contain \`${we.fullToken}\` and \`${ge}\` at the same time`)}else if(_e.incompatibleTokens==="*"&&pe.length>0)throw new RangeError(`The format string mustn't contain \`${ge}\` and any other token at the same time`);pe.push({token:ve,fullToken:ge});const Se=_e.run(J,ge,oe.match,ce);if(!Se)return constructFrom(X,NaN);ue.push(Se.setter),J=Se.rest}else{if(ve.match(unescapedLatinCharacterRegExp))throw new RangeError("Format string contains an unescaped latin alphabet character `"+ve+"`");if(ge==="''"?ge="'":ve==="'"&&(ge=cleanEscapedString(ge)),J.indexOf(ge)===0)J=J.slice(ge.length);else return constructFrom(X,NaN)}}if(J.length>0&&notWhitespaceRegExp.test(J))return constructFrom(X,NaN);const fe=ue.map(ge=>ge.priority).sort((ge,ve)=>ve-ge).filter((ge,ve,_e)=>_e.indexOf(ge)===ve).map(ge=>ue.filter(ve=>ve.priority===ge).sort((ve,_e)=>_e.subPriority-ve.subPriority)).map(ge=>ge[0]);let be=toDate(X);if(isNaN(be.getTime()))return constructFrom(X,NaN);const me={};for(const ge of fe){if(!ge.validate(be,ce))return constructFrom(X,NaN);const ve=ge.set(be,me,ce);Array.isArray(ve)?(be=ve[0],Object.assign(me,ve[1])):be=ve}return constructFrom(X,be)}function cleanEscapedString(J){return J.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp,"'")}/**
421
421
  * @license
422
422
  * Copyright 2017 Google LLC
423
423
  * SPDX-License-Identifier: BSD-3-Clause
424
- */class le extends i$P{constructor(W){if(super(W),this.it=D$4,W.type!==t$u.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(W){if(W===D$4||W==null)return this._t=void 0,this.it=W;if(W===R$5)return W;if(typeof W!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(W===this.it)return this._t;this.it=W;const X=[W];return X.raw=X,this._t={_$litType$:this.constructor.resultType,strings:X,values:[]}}}le.directiveName="unsafeHTML",le.resultType=1;const ae=e$O(le),styles$m=":host{min-height:1px;display:flex;flex-direction:column;flex:1 1 0%}.virtual-container{height:100%;position:relative}.virtual-viewport{height:100%;overflow:auto;padding-inline:16px}.virtual-content{position:relative;width:100%}.virtual-items{position:relative}.container{min-height:1px;height:100%}.visit:first-child{margin-top:var(--dss-spacing-md)}.visit{width:calc(100% - var(--dss-spacing-md) - var(--dss-spacing-md));display:flex;flex-direction:column;gap:var(--dss-spacing-sm);background-color:#fff;border-radius:var(--dss-radius-sm);padding:var(--dss-spacing-sm);margin-bottom:var(--dss-spacing-md)}.visit .visit__header{display:flex;flex-direction:row;align-items:center;gap:16px}.visit .visit__header .title{flex:1;font-size:14px;line-height:24px;display:flex;flex-direction:row;gap:12px;color:var(--color-neutral-800)}.visit .visit__header .title-date{font-weight:700}.visit .visit__header .title-description{font-weight:600;display:flex;flex-direction:row;gap:4px}.visit .visit__header .highlight{background-color:#ff0;font-weight:700}.visit .visit__items{display:flex;flex-direction:column;gap:var(--dss-spacing-sm)}.visit .visit__items .item[has-divider]{border-bottom:var(--dss-border-width-sm) solid var(--color-neutral-200)}.visit .visit__items .item[has-divider]:last-of-type{border:none}.visit .diagnostics{display:flex;flex-direction:column;gap:var(--dss-spacing-sm);border-bottom:var(--dss-border-width-sm) solid var(--color-neutral-200)}.visit .diagnostics:last-of-type{border:none}.visit .diagnostics .diagnostics__header{display:flex;flex-direction:row;align-items:center;gap:16px;flex-wrap:wrap}.visit .diagnostics .diagnostics__items{display:flex;flex-direction:column}.visit .diagnostics .diagnostics__items .item[has-divider]{border-bottom:var(--dss-border-width-sm) solid var(--color-neutral-200)}.visit .diagnostics .diagnostics__items .item[has-divider]:last-of-type{border:none}.feedback{width:100%;height:100%;display:flex;align-items:center;justify-content:center}";function toDate(J){const W=Object.prototype.toString.call(J);return J instanceof Date||typeof J=="object"&&W==="[object Date]"?new J.constructor(+J):typeof J=="number"||W==="[object Number]"||typeof J=="string"||W==="[object String]"?new Date(J):new Date(NaN)}function constructFrom(J,W){return J instanceof Date?new J.constructor(W):new Date(W)}function addDays(J,W){const X=toDate(J);return isNaN(W)?constructFrom(J,NaN):(W&&X.setDate(X.getDate()+W),X)}const millisecondsInWeek=6048e5,millisecondsInDay=864e5,millisecondsInMinute=6e4,millisecondsInHour=36e5,millisecondsInSecond=1e3;let defaultOptions={};function getDefaultOptions$1(){return defaultOptions}function startOfWeek(J,W){const X=getDefaultOptions$1(),te=W?.weekStartsOn??W?.locale?.options?.weekStartsOn??X.weekStartsOn??X.locale?.options?.weekStartsOn??0,re=toDate(J),oe=re.getDay(),ne=(oe<te?7:0)+oe-te;return re.setDate(re.getDate()-ne),re.setHours(0,0,0,0),re}function startOfISOWeek(J){return startOfWeek(J,{weekStartsOn:1})}function getISOWeekYear(J){const W=toDate(J),X=W.getFullYear(),te=constructFrom(J,0);te.setFullYear(X+1,0,4),te.setHours(0,0,0,0);const re=startOfISOWeek(te),oe=constructFrom(J,0);oe.setFullYear(X,0,4),oe.setHours(0,0,0,0);const ne=startOfISOWeek(oe);return W.getTime()>=re.getTime()?X+1:W.getTime()>=ne.getTime()?X:X-1}function startOfDay(J){const W=toDate(J);return W.setHours(0,0,0,0),W}function getTimezoneOffsetInMilliseconds(J){const W=toDate(J),X=new Date(Date.UTC(W.getFullYear(),W.getMonth(),W.getDate(),W.getHours(),W.getMinutes(),W.getSeconds(),W.getMilliseconds()));return X.setUTCFullYear(W.getFullYear()),+J-+X}function differenceInCalendarDays(J,W){const X=startOfDay(J),te=startOfDay(W),re=+X-getTimezoneOffsetInMilliseconds(X),oe=+te-getTimezoneOffsetInMilliseconds(te);return Math.round((re-oe)/millisecondsInDay)}function startOfISOWeekYear(J){const W=getISOWeekYear(J),X=constructFrom(J,0);return X.setFullYear(W,0,4),X.setHours(0,0,0,0),startOfISOWeek(X)}function isDate(J){return J instanceof Date||typeof J=="object"&&Object.prototype.toString.call(J)==="[object Date]"}function isValid(J){if(!isDate(J)&&typeof J!="number")return!1;const W=toDate(J);return!isNaN(Number(W))}function endOfMonth(J){const W=toDate(J),X=W.getMonth();return W.setFullYear(W.getFullYear(),X+1,0),W.setHours(23,59,59,999),W}function eachDayOfInterval(J,W){const X=toDate(J.start),te=toDate(J.end);let re=+X>+te;const oe=re?+X:+te,ne=re?te:X;ne.setHours(0,0,0,0);let de=1;const ce=[];for(;+ne<=oe;)ce.push(toDate(ne)),ne.setDate(ne.getDate()+de),ne.setHours(0,0,0,0);return re?ce.reverse():ce}function startOfMonth(J){const W=toDate(J);return W.setDate(1),W.setHours(0,0,0,0),W}function startOfYear(J){const W=toDate(J),X=constructFrom(J,0);return X.setFullYear(W.getFullYear(),0,1),X.setHours(0,0,0,0),X}const formatDistanceLocale={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},formatDistance=(J,W,X)=>{let te;const re=formatDistanceLocale[J];return typeof re=="string"?te=re:W===1?te=re.one:te=re.other.replace("{{count}}",W.toString()),X?.addSuffix?X.comparison&&X.comparison>0?"in "+te:te+" ago":te};function buildFormatLongFn(J){return(W={})=>{const X=W.width?String(W.width):J.defaultWidth;return J.formats[X]||J.formats[J.defaultWidth]}}const dateFormats={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},timeFormats={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},dateTimeFormats={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong={date:buildFormatLongFn({formats:dateFormats,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats,defaultWidth:"full"})},formatRelativeLocale={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},formatRelative=(J,W,X,te)=>formatRelativeLocale[J];function buildLocalizeFn(J){return(W,X)=>{const te=X?.context?String(X.context):"standalone";let re;if(te==="formatting"&&J.formattingValues){const ne=J.defaultFormattingWidth||J.defaultWidth,de=X?.width?String(X.width):ne;re=J.formattingValues[de]||J.formattingValues[ne]}else{const ne=J.defaultWidth,de=X?.width?String(X.width):J.defaultWidth;re=J.values[de]||J.values[ne]}const oe=J.argumentCallback?J.argumentCallback(W):W;return re[oe]}}const eraValues={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},quarterValues={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},monthValues={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},dayValues={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},dayPeriodValues={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},formattingDayPeriodValues={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},ordinalNumber=(J,W)=>{const X=Number(J),te=X%100;if(te>20||te<10)switch(te%10){case 1:return X+"st";case 2:return X+"nd";case 3:return X+"rd"}return X+"th"},localize={ordinalNumber,era:buildLocalizeFn({values:eraValues,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues,defaultWidth:"wide",argumentCallback:J=>J-1}),month:buildLocalizeFn({values:monthValues,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues,defaultWidth:"wide",formattingValues:formattingDayPeriodValues,defaultFormattingWidth:"wide"})};function buildMatchFn(J){return(W,X={})=>{const te=X.width,re=te&&J.matchPatterns[te]||J.matchPatterns[J.defaultMatchWidth],oe=W.match(re);if(!oe)return null;const ne=oe[0],de=te&&J.parsePatterns[te]||J.parsePatterns[J.defaultParseWidth],ce=Array.isArray(de)?findIndex(de,pe=>pe.test(ne)):findKey(de,pe=>pe.test(ne));let ue;ue=J.valueCallback?J.valueCallback(ce):ce,ue=X.valueCallback?X.valueCallback(ue):ue;const he=W.slice(ne.length);return{value:ue,rest:he}}}function findKey(J,W){for(const X in J)if(Object.prototype.hasOwnProperty.call(J,X)&&W(J[X]))return X}function findIndex(J,W){for(let X=0;X<J.length;X++)if(W(J[X]))return X}function buildMatchPatternFn(J){return(W,X={})=>{const te=W.match(J.matchPattern);if(!te)return null;const re=te[0],oe=W.match(J.parsePattern);if(!oe)return null;let ne=J.valueCallback?J.valueCallback(oe[0]):oe[0];ne=X.valueCallback?X.valueCallback(ne):ne;const de=W.slice(re.length);return{value:ne,rest:de}}}const matchOrdinalNumberPattern=/^(\d+)(th|st|nd|rd)?/i,parseOrdinalNumberPattern=/\d+/i,matchEraPatterns={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},parseEraPatterns={any:[/^b/i,/^(a|c)/i]},matchQuarterPatterns={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},parseQuarterPatterns={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},parseMonthPatterns={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},matchDayPatterns={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},parseDayPatterns={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},matchDayPeriodPatterns={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},parseDayPeriodPatterns={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},match={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern,parsePattern:parseOrdinalNumberPattern,valueCallback:J=>parseInt(J,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns,defaultParseWidth:"any",valueCallback:J=>J+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns,defaultParseWidth:"any"})},enUS={code:"en-US",formatDistance,formatLong,formatRelative,localize,match,options:{weekStartsOn:0,firstWeekContainsDate:1}};function getDayOfYear(J){const W=toDate(J);return differenceInCalendarDays(W,startOfYear(W))+1}function getISOWeek(J){const W=toDate(J),X=+startOfISOWeek(W)-+startOfISOWeekYear(W);return Math.round(X/millisecondsInWeek)+1}function getWeekYear(J,W){const X=toDate(J),te=X.getFullYear(),re=getDefaultOptions$1(),oe=W?.firstWeekContainsDate??W?.locale?.options?.firstWeekContainsDate??re.firstWeekContainsDate??re.locale?.options?.firstWeekContainsDate??1,ne=constructFrom(J,0);ne.setFullYear(te+1,0,oe),ne.setHours(0,0,0,0);const de=startOfWeek(ne,W),ce=constructFrom(J,0);ce.setFullYear(te,0,oe),ce.setHours(0,0,0,0);const ue=startOfWeek(ce,W);return X.getTime()>=de.getTime()?te+1:X.getTime()>=ue.getTime()?te:te-1}function startOfWeekYear(J,W){const X=getDefaultOptions$1(),te=W?.firstWeekContainsDate??W?.locale?.options?.firstWeekContainsDate??X.firstWeekContainsDate??X.locale?.options?.firstWeekContainsDate??1,re=getWeekYear(J,W),oe=constructFrom(J,0);return oe.setFullYear(re,0,te),oe.setHours(0,0,0,0),startOfWeek(oe,W)}function getWeek(J,W){const X=toDate(J),te=+startOfWeek(X,W)-+startOfWeekYear(X,W);return Math.round(te/millisecondsInWeek)+1}function addLeadingZeros(J,W){const X=J<0?"-":"",te=Math.abs(J).toString().padStart(W,"0");return X+te}const lightFormatters={y(J,W){const X=J.getFullYear(),te=X>0?X:1-X;return addLeadingZeros(W==="yy"?te%100:te,W.length)},M(J,W){const X=J.getMonth();return W==="M"?String(X+1):addLeadingZeros(X+1,2)},d(J,W){return addLeadingZeros(J.getDate(),W.length)},a(J,W){const X=J.getHours()/12>=1?"pm":"am";switch(W){case"a":case"aa":return X.toUpperCase();case"aaa":return X;case"aaaaa":return X[0];case"aaaa":default:return X==="am"?"a.m.":"p.m."}},h(J,W){return addLeadingZeros(J.getHours()%12||12,W.length)},H(J,W){return addLeadingZeros(J.getHours(),W.length)},m(J,W){return addLeadingZeros(J.getMinutes(),W.length)},s(J,W){return addLeadingZeros(J.getSeconds(),W.length)},S(J,W){const X=W.length,te=J.getMilliseconds(),re=Math.trunc(te*Math.pow(10,X-3));return addLeadingZeros(re,W.length)}},dayPeriodEnum={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},formatters={G:function(J,W,X){const te=J.getFullYear()>0?1:0;switch(W){case"G":case"GG":case"GGG":return X.era(te,{width:"abbreviated"});case"GGGGG":return X.era(te,{width:"narrow"});case"GGGG":default:return X.era(te,{width:"wide"})}},y:function(J,W,X){if(W==="yo"){const te=J.getFullYear(),re=te>0?te:1-te;return X.ordinalNumber(re,{unit:"year"})}return lightFormatters.y(J,W)},Y:function(J,W,X,te){const re=getWeekYear(J,te),oe=re>0?re:1-re;if(W==="YY"){const ne=oe%100;return addLeadingZeros(ne,2)}return W==="Yo"?X.ordinalNumber(oe,{unit:"year"}):addLeadingZeros(oe,W.length)},R:function(J,W){const X=getISOWeekYear(J);return addLeadingZeros(X,W.length)},u:function(J,W){const X=J.getFullYear();return addLeadingZeros(X,W.length)},Q:function(J,W,X){const te=Math.ceil((J.getMonth()+1)/3);switch(W){case"Q":return String(te);case"QQ":return addLeadingZeros(te,2);case"Qo":return X.ordinalNumber(te,{unit:"quarter"});case"QQQ":return X.quarter(te,{width:"abbreviated",context:"formatting"});case"QQQQQ":return X.quarter(te,{width:"narrow",context:"formatting"});case"QQQQ":default:return X.quarter(te,{width:"wide",context:"formatting"})}},q:function(J,W,X){const te=Math.ceil((J.getMonth()+1)/3);switch(W){case"q":return String(te);case"qq":return addLeadingZeros(te,2);case"qo":return X.ordinalNumber(te,{unit:"quarter"});case"qqq":return X.quarter(te,{width:"abbreviated",context:"standalone"});case"qqqqq":return X.quarter(te,{width:"narrow",context:"standalone"});case"qqqq":default:return X.quarter(te,{width:"wide",context:"standalone"})}},M:function(J,W,X){const te=J.getMonth();switch(W){case"M":case"MM":return lightFormatters.M(J,W);case"Mo":return X.ordinalNumber(te+1,{unit:"month"});case"MMM":return X.month(te,{width:"abbreviated",context:"formatting"});case"MMMMM":return X.month(te,{width:"narrow",context:"formatting"});case"MMMM":default:return X.month(te,{width:"wide",context:"formatting"})}},L:function(J,W,X){const te=J.getMonth();switch(W){case"L":return String(te+1);case"LL":return addLeadingZeros(te+1,2);case"Lo":return X.ordinalNumber(te+1,{unit:"month"});case"LLL":return X.month(te,{width:"abbreviated",context:"standalone"});case"LLLLL":return X.month(te,{width:"narrow",context:"standalone"});case"LLLL":default:return X.month(te,{width:"wide",context:"standalone"})}},w:function(J,W,X,te){const re=getWeek(J,te);return W==="wo"?X.ordinalNumber(re,{unit:"week"}):addLeadingZeros(re,W.length)},I:function(J,W,X){const te=getISOWeek(J);return W==="Io"?X.ordinalNumber(te,{unit:"week"}):addLeadingZeros(te,W.length)},d:function(J,W,X){return W==="do"?X.ordinalNumber(J.getDate(),{unit:"date"}):lightFormatters.d(J,W)},D:function(J,W,X){const te=getDayOfYear(J);return W==="Do"?X.ordinalNumber(te,{unit:"dayOfYear"}):addLeadingZeros(te,W.length)},E:function(J,W,X){const te=J.getDay();switch(W){case"E":case"EE":case"EEE":return X.day(te,{width:"abbreviated",context:"formatting"});case"EEEEE":return X.day(te,{width:"narrow",context:"formatting"});case"EEEEEE":return X.day(te,{width:"short",context:"formatting"});case"EEEE":default:return X.day(te,{width:"wide",context:"formatting"})}},e:function(J,W,X,te){const re=J.getDay(),oe=(re-te.weekStartsOn+8)%7||7;switch(W){case"e":return String(oe);case"ee":return addLeadingZeros(oe,2);case"eo":return X.ordinalNumber(oe,{unit:"day"});case"eee":return X.day(re,{width:"abbreviated",context:"formatting"});case"eeeee":return X.day(re,{width:"narrow",context:"formatting"});case"eeeeee":return X.day(re,{width:"short",context:"formatting"});case"eeee":default:return X.day(re,{width:"wide",context:"formatting"})}},c:function(J,W,X,te){const re=J.getDay(),oe=(re-te.weekStartsOn+8)%7||7;switch(W){case"c":return String(oe);case"cc":return addLeadingZeros(oe,W.length);case"co":return X.ordinalNumber(oe,{unit:"day"});case"ccc":return X.day(re,{width:"abbreviated",context:"standalone"});case"ccccc":return X.day(re,{width:"narrow",context:"standalone"});case"cccccc":return X.day(re,{width:"short",context:"standalone"});case"cccc":default:return X.day(re,{width:"wide",context:"standalone"})}},i:function(J,W,X){const te=J.getDay(),re=te===0?7:te;switch(W){case"i":return String(re);case"ii":return addLeadingZeros(re,W.length);case"io":return X.ordinalNumber(re,{unit:"day"});case"iii":return X.day(te,{width:"abbreviated",context:"formatting"});case"iiiii":return X.day(te,{width:"narrow",context:"formatting"});case"iiiiii":return X.day(te,{width:"short",context:"formatting"});case"iiii":default:return X.day(te,{width:"wide",context:"formatting"})}},a:function(J,W,X){const re=J.getHours()/12>=1?"pm":"am";switch(W){case"a":case"aa":return X.dayPeriod(re,{width:"abbreviated",context:"formatting"});case"aaa":return X.dayPeriod(re,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return X.dayPeriod(re,{width:"narrow",context:"formatting"});case"aaaa":default:return X.dayPeriod(re,{width:"wide",context:"formatting"})}},b:function(J,W,X){const te=J.getHours();let re;switch(te===12?re=dayPeriodEnum.noon:te===0?re=dayPeriodEnum.midnight:re=te/12>=1?"pm":"am",W){case"b":case"bb":return X.dayPeriod(re,{width:"abbreviated",context:"formatting"});case"bbb":return X.dayPeriod(re,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return X.dayPeriod(re,{width:"narrow",context:"formatting"});case"bbbb":default:return X.dayPeriod(re,{width:"wide",context:"formatting"})}},B:function(J,W,X){const te=J.getHours();let re;switch(te>=17?re=dayPeriodEnum.evening:te>=12?re=dayPeriodEnum.afternoon:te>=4?re=dayPeriodEnum.morning:re=dayPeriodEnum.night,W){case"B":case"BB":case"BBB":return X.dayPeriod(re,{width:"abbreviated",context:"formatting"});case"BBBBB":return X.dayPeriod(re,{width:"narrow",context:"formatting"});case"BBBB":default:return X.dayPeriod(re,{width:"wide",context:"formatting"})}},h:function(J,W,X){if(W==="ho"){let te=J.getHours()%12;return te===0&&(te=12),X.ordinalNumber(te,{unit:"hour"})}return lightFormatters.h(J,W)},H:function(J,W,X){return W==="Ho"?X.ordinalNumber(J.getHours(),{unit:"hour"}):lightFormatters.H(J,W)},K:function(J,W,X){const te=J.getHours()%12;return W==="Ko"?X.ordinalNumber(te,{unit:"hour"}):addLeadingZeros(te,W.length)},k:function(J,W,X){let te=J.getHours();return te===0&&(te=24),W==="ko"?X.ordinalNumber(te,{unit:"hour"}):addLeadingZeros(te,W.length)},m:function(J,W,X){return W==="mo"?X.ordinalNumber(J.getMinutes(),{unit:"minute"}):lightFormatters.m(J,W)},s:function(J,W,X){return W==="so"?X.ordinalNumber(J.getSeconds(),{unit:"second"}):lightFormatters.s(J,W)},S:function(J,W){return lightFormatters.S(J,W)},X:function(J,W,X){const te=J.getTimezoneOffset();if(te===0)return"Z";switch(W){case"X":return formatTimezoneWithOptionalMinutes(te);case"XXXX":case"XX":return formatTimezone(te);case"XXXXX":case"XXX":default:return formatTimezone(te,":")}},x:function(J,W,X){const te=J.getTimezoneOffset();switch(W){case"x":return formatTimezoneWithOptionalMinutes(te);case"xxxx":case"xx":return formatTimezone(te);case"xxxxx":case"xxx":default:return formatTimezone(te,":")}},O:function(J,W,X){const te=J.getTimezoneOffset();switch(W){case"O":case"OO":case"OOO":return"GMT"+formatTimezoneShort(te,":");case"OOOO":default:return"GMT"+formatTimezone(te,":")}},z:function(J,W,X){const te=J.getTimezoneOffset();switch(W){case"z":case"zz":case"zzz":return"GMT"+formatTimezoneShort(te,":");case"zzzz":default:return"GMT"+formatTimezone(te,":")}},t:function(J,W,X){const te=Math.trunc(J.getTime()/1e3);return addLeadingZeros(te,W.length)},T:function(J,W,X){const te=J.getTime();return addLeadingZeros(te,W.length)}};function formatTimezoneShort(J,W=""){const X=J>0?"-":"+",te=Math.abs(J),re=Math.trunc(te/60),oe=te%60;return oe===0?X+String(re):X+String(re)+W+addLeadingZeros(oe,2)}function formatTimezoneWithOptionalMinutes(J,W){return J%60===0?(J>0?"-":"+")+addLeadingZeros(Math.abs(J)/60,2):formatTimezone(J,W)}function formatTimezone(J,W=""){const X=J>0?"-":"+",te=Math.abs(J),re=addLeadingZeros(Math.trunc(te/60),2),oe=addLeadingZeros(te%60,2);return X+re+W+oe}const dateLongFormatter=(J,W)=>{switch(J){case"P":return W.date({width:"short"});case"PP":return W.date({width:"medium"});case"PPP":return W.date({width:"long"});case"PPPP":default:return W.date({width:"full"})}},timeLongFormatter=(J,W)=>{switch(J){case"p":return W.time({width:"short"});case"pp":return W.time({width:"medium"});case"ppp":return W.time({width:"long"});case"pppp":default:return W.time({width:"full"})}},dateTimeLongFormatter=(J,W)=>{const X=J.match(/(P+)(p+)?/)||[],te=X[1],re=X[2];if(!re)return dateLongFormatter(J,W);let oe;switch(te){case"P":oe=W.dateTime({width:"short"});break;case"PP":oe=W.dateTime({width:"medium"});break;case"PPP":oe=W.dateTime({width:"long"});break;case"PPPP":default:oe=W.dateTime({width:"full"});break}return oe.replace("{{date}}",dateLongFormatter(te,W)).replace("{{time}}",timeLongFormatter(re,W))},longFormatters={p:timeLongFormatter,P:dateTimeLongFormatter},dayOfYearTokenRE=/^D+$/,weekYearTokenRE=/^Y+$/,throwTokens=["D","DD","YY","YYYY"];function isProtectedDayOfYearToken(J){return dayOfYearTokenRE.test(J)}function isProtectedWeekYearToken(J){return weekYearTokenRE.test(J)}function warnOrThrowProtectedError(J,W,X){const te=message(J,W,X);if(console.warn(te),throwTokens.includes(J))throw new RangeError(te)}function message(J,W,X){const te=J[0]==="Y"?"years":"days of the month";return`Use \`${J.toLowerCase()}\` instead of \`${J}\` (in \`${W}\`) for formatting ${te} to the input \`${X}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const formattingTokensRegExp$1=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,longFormattingTokensRegExp$1=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,escapedStringRegExp$1=/^'([^]*?)'?$/,doubleQuoteRegExp$1=/''/g,unescapedLatinCharacterRegExp$1=/[a-zA-Z]/;function format(J,W,X){const te=getDefaultOptions$1(),re=te.locale??enUS,oe=te.firstWeekContainsDate??te.locale?.options?.firstWeekContainsDate??1,ne=te.weekStartsOn??te.locale?.options?.weekStartsOn??0,de=toDate(J);if(!isValid(de))throw new RangeError("Invalid time value");let ce=W.match(longFormattingTokensRegExp$1).map(he=>{const pe=he[0];if(pe==="p"||pe==="P"){const fe=longFormatters[pe];return fe(he,re.formatLong)}return he}).join("").match(formattingTokensRegExp$1).map(he=>{if(he==="''")return{isToken:!1,value:"'"};const pe=he[0];if(pe==="'")return{isToken:!1,value:cleanEscapedString$1(he)};if(formatters[pe])return{isToken:!0,value:he};if(pe.match(unescapedLatinCharacterRegExp$1))throw new RangeError("Format string contains an unescaped latin alphabet character `"+pe+"`");return{isToken:!1,value:he}});re.localize.preprocessor&&(ce=re.localize.preprocessor(de,ce));const ue={firstWeekContainsDate:oe,weekStartsOn:ne,locale:re};return ce.map(he=>{if(!he.isToken)return he.value;const pe=he.value;(isProtectedWeekYearToken(pe)||isProtectedDayOfYearToken(pe))&&warnOrThrowProtectedError(pe,W,String(J));const fe=formatters[pe[0]];return fe(de,pe,re.localize,ue)}).join("")}function cleanEscapedString$1(J){const W=J.match(escapedStringRegExp$1);return W?W[1].replace(doubleQuoteRegExp$1,"'"):J}function getDay(J){return toDate(J).getDay()}function getDefaultOptions(){return Object.assign({},getDefaultOptions$1())}function getISODay(J){let X=toDate(J).getDay();return X===0&&(X=7),X}function transpose(J,W){const X=W instanceof Date?constructFrom(W,0):new W(0);return X.setFullYear(J.getFullYear(),J.getMonth(),J.getDate()),X.setHours(J.getHours(),J.getMinutes(),J.getSeconds(),J.getMilliseconds()),X}const TIMEZONE_UNIT_PRIORITY=10;class Setter{subPriority=0;validate(W,X){return!0}}class ValueSetter extends Setter{constructor(W,X,te,re,oe){super(),this.value=W,this.validateValue=X,this.setValue=te,this.priority=re,oe&&(this.subPriority=oe)}validate(W,X){return this.validateValue(W,this.value,X)}set(W,X,te){return this.setValue(W,X,this.value,te)}}class DateToSystemTimezoneSetter extends Setter{priority=TIMEZONE_UNIT_PRIORITY;subPriority=-1;set(W,X){return X.timestampIsSet?W:constructFrom(W,transpose(W,Date))}}class Parser{run(W,X,te,re){const oe=this.parse(W,X,te,re);return oe?{setter:new ValueSetter(oe.value,this.validate,this.set,this.priority,this.subPriority),rest:oe.rest}:null}validate(W,X,te){return!0}}class EraParser extends Parser{priority=140;parse(W,X,te){switch(X){case"G":case"GG":case"GGG":return te.era(W,{width:"abbreviated"})||te.era(W,{width:"narrow"});case"GGGGG":return te.era(W,{width:"narrow"});case"GGGG":default:return te.era(W,{width:"wide"})||te.era(W,{width:"abbreviated"})||te.era(W,{width:"narrow"})}}set(W,X,te){return X.era=te,W.setFullYear(te,0,1),W.setHours(0,0,0,0),W}incompatibleTokens=["R","u","t","T"]}const numericPatterns={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},timezonePatterns={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function mapValue(J,W){return J&&{value:W(J.value),rest:J.rest}}function parseNumericPattern(J,W){const X=W.match(J);return X?{value:parseInt(X[0],10),rest:W.slice(X[0].length)}:null}function parseTimezonePattern(J,W){const X=W.match(J);if(!X)return null;if(X[0]==="Z")return{value:0,rest:W.slice(1)};const te=X[1]==="+"?1:-1,re=X[2]?parseInt(X[2],10):0,oe=X[3]?parseInt(X[3],10):0,ne=X[5]?parseInt(X[5],10):0;return{value:te*(re*millisecondsInHour+oe*millisecondsInMinute+ne*millisecondsInSecond),rest:W.slice(X[0].length)}}function parseAnyDigitsSigned(J){return parseNumericPattern(numericPatterns.anyDigitsSigned,J)}function parseNDigits(J,W){switch(J){case 1:return parseNumericPattern(numericPatterns.singleDigit,W);case 2:return parseNumericPattern(numericPatterns.twoDigits,W);case 3:return parseNumericPattern(numericPatterns.threeDigits,W);case 4:return parseNumericPattern(numericPatterns.fourDigits,W);default:return parseNumericPattern(new RegExp("^\\d{1,"+J+"}"),W)}}function parseNDigitsSigned(J,W){switch(J){case 1:return parseNumericPattern(numericPatterns.singleDigitSigned,W);case 2:return parseNumericPattern(numericPatterns.twoDigitsSigned,W);case 3:return parseNumericPattern(numericPatterns.threeDigitsSigned,W);case 4:return parseNumericPattern(numericPatterns.fourDigitsSigned,W);default:return parseNumericPattern(new RegExp("^-?\\d{1,"+J+"}"),W)}}function dayPeriodEnumToHours(J){switch(J){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;case"am":case"midnight":case"night":default:return 0}}function normalizeTwoDigitYear(J,W){const X=W>0,te=X?W:1-W;let re;if(te<=50)re=J||100;else{const oe=te+50,ne=Math.trunc(oe/100)*100,de=J>=oe%100;re=J+ne-(de?100:0)}return X?re:1-re}function isLeapYearIndex(J){return J%400===0||J%4===0&&J%100!==0}class YearParser extends Parser{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(W,X,te){const re=oe=>({year:oe,isTwoDigitYear:X==="yy"});switch(X){case"y":return mapValue(parseNDigits(4,W),re);case"yo":return mapValue(te.ordinalNumber(W,{unit:"year"}),re);default:return mapValue(parseNDigits(X.length,W),re)}}validate(W,X){return X.isTwoDigitYear||X.year>0}set(W,X,te){const re=W.getFullYear();if(te.isTwoDigitYear){const ne=normalizeTwoDigitYear(te.year,re);return W.setFullYear(ne,0,1),W.setHours(0,0,0,0),W}const oe=!("era"in X)||X.era===1?te.year:1-te.year;return W.setFullYear(oe,0,1),W.setHours(0,0,0,0),W}}class LocalWeekYearParser extends Parser{priority=130;parse(W,X,te){const re=oe=>({year:oe,isTwoDigitYear:X==="YY"});switch(X){case"Y":return mapValue(parseNDigits(4,W),re);case"Yo":return mapValue(te.ordinalNumber(W,{unit:"year"}),re);default:return mapValue(parseNDigits(X.length,W),re)}}validate(W,X){return X.isTwoDigitYear||X.year>0}set(W,X,te,re){const oe=getWeekYear(W,re);if(te.isTwoDigitYear){const de=normalizeTwoDigitYear(te.year,oe);return W.setFullYear(de,0,re.firstWeekContainsDate),W.setHours(0,0,0,0),startOfWeek(W,re)}const ne=!("era"in X)||X.era===1?te.year:1-te.year;return W.setFullYear(ne,0,re.firstWeekContainsDate),W.setHours(0,0,0,0),startOfWeek(W,re)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]}class ISOWeekYearParser extends Parser{priority=130;parse(W,X){return parseNDigitsSigned(X==="R"?4:X.length,W)}set(W,X,te){const re=constructFrom(W,0);return re.setFullYear(te,0,4),re.setHours(0,0,0,0),startOfISOWeek(re)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]}class ExtendedYearParser extends Parser{priority=130;parse(W,X){return parseNDigitsSigned(X==="u"?4:X.length,W)}set(W,X,te){return W.setFullYear(te,0,1),W.setHours(0,0,0,0),W}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]}class QuarterParser extends Parser{priority=120;parse(W,X,te){switch(X){case"Q":case"QQ":return parseNDigits(X.length,W);case"Qo":return te.ordinalNumber(W,{unit:"quarter"});case"QQQ":return te.quarter(W,{width:"abbreviated",context:"formatting"})||te.quarter(W,{width:"narrow",context:"formatting"});case"QQQQQ":return te.quarter(W,{width:"narrow",context:"formatting"});case"QQQQ":default:return te.quarter(W,{width:"wide",context:"formatting"})||te.quarter(W,{width:"abbreviated",context:"formatting"})||te.quarter(W,{width:"narrow",context:"formatting"})}}validate(W,X){return X>=1&&X<=4}set(W,X,te){return W.setMonth((te-1)*3,1),W.setHours(0,0,0,0),W}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]}class StandAloneQuarterParser extends Parser{priority=120;parse(W,X,te){switch(X){case"q":case"qq":return parseNDigits(X.length,W);case"qo":return te.ordinalNumber(W,{unit:"quarter"});case"qqq":return te.quarter(W,{width:"abbreviated",context:"standalone"})||te.quarter(W,{width:"narrow",context:"standalone"});case"qqqqq":return te.quarter(W,{width:"narrow",context:"standalone"});case"qqqq":default:return te.quarter(W,{width:"wide",context:"standalone"})||te.quarter(W,{width:"abbreviated",context:"standalone"})||te.quarter(W,{width:"narrow",context:"standalone"})}}validate(W,X){return X>=1&&X<=4}set(W,X,te){return W.setMonth((te-1)*3,1),W.setHours(0,0,0,0),W}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]}class MonthParser extends Parser{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(W,X,te){const re=oe=>oe-1;switch(X){case"M":return mapValue(parseNumericPattern(numericPatterns.month,W),re);case"MM":return mapValue(parseNDigits(2,W),re);case"Mo":return mapValue(te.ordinalNumber(W,{unit:"month"}),re);case"MMM":return te.month(W,{width:"abbreviated",context:"formatting"})||te.month(W,{width:"narrow",context:"formatting"});case"MMMMM":return te.month(W,{width:"narrow",context:"formatting"});case"MMMM":default:return te.month(W,{width:"wide",context:"formatting"})||te.month(W,{width:"abbreviated",context:"formatting"})||te.month(W,{width:"narrow",context:"formatting"})}}validate(W,X){return X>=0&&X<=11}set(W,X,te){return W.setMonth(te,1),W.setHours(0,0,0,0),W}}class StandAloneMonthParser extends Parser{priority=110;parse(W,X,te){const re=oe=>oe-1;switch(X){case"L":return mapValue(parseNumericPattern(numericPatterns.month,W),re);case"LL":return mapValue(parseNDigits(2,W),re);case"Lo":return mapValue(te.ordinalNumber(W,{unit:"month"}),re);case"LLL":return te.month(W,{width:"abbreviated",context:"standalone"})||te.month(W,{width:"narrow",context:"standalone"});case"LLLLL":return te.month(W,{width:"narrow",context:"standalone"});case"LLLL":default:return te.month(W,{width:"wide",context:"standalone"})||te.month(W,{width:"abbreviated",context:"standalone"})||te.month(W,{width:"narrow",context:"standalone"})}}validate(W,X){return X>=0&&X<=11}set(W,X,te){return W.setMonth(te,1),W.setHours(0,0,0,0),W}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]}function setWeek(J,W,X){const te=toDate(J),re=getWeek(te,X)-W;return te.setDate(te.getDate()-re*7),te}class LocalWeekParser extends Parser{priority=100;parse(W,X,te){switch(X){case"w":return parseNumericPattern(numericPatterns.week,W);case"wo":return te.ordinalNumber(W,{unit:"week"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=1&&X<=53}set(W,X,te,re){return startOfWeek(setWeek(W,te,re),re)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]}function setISOWeek(J,W){const X=toDate(J),te=getISOWeek(X)-W;return X.setDate(X.getDate()-te*7),X}class ISOWeekParser extends Parser{priority=100;parse(W,X,te){switch(X){case"I":return parseNumericPattern(numericPatterns.week,W);case"Io":return te.ordinalNumber(W,{unit:"week"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=1&&X<=53}set(W,X,te){return startOfISOWeek(setISOWeek(W,te))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]}const DAYS_IN_MONTH=[31,28,31,30,31,30,31,31,30,31,30,31],DAYS_IN_MONTH_LEAP_YEAR=[31,29,31,30,31,30,31,31,30,31,30,31];class DateParser extends Parser{priority=90;subPriority=1;parse(W,X,te){switch(X){case"d":return parseNumericPattern(numericPatterns.date,W);case"do":return te.ordinalNumber(W,{unit:"date"});default:return parseNDigits(X.length,W)}}validate(W,X){const te=W.getFullYear(),re=isLeapYearIndex(te),oe=W.getMonth();return re?X>=1&&X<=DAYS_IN_MONTH_LEAP_YEAR[oe]:X>=1&&X<=DAYS_IN_MONTH[oe]}set(W,X,te){return W.setDate(te),W.setHours(0,0,0,0),W}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]}class DayOfYearParser extends Parser{priority=90;subpriority=1;parse(W,X,te){switch(X){case"D":case"DD":return parseNumericPattern(numericPatterns.dayOfYear,W);case"Do":return te.ordinalNumber(W,{unit:"date"});default:return parseNDigits(X.length,W)}}validate(W,X){const te=W.getFullYear();return isLeapYearIndex(te)?X>=1&&X<=366:X>=1&&X<=365}set(W,X,te){return W.setMonth(0,te),W.setHours(0,0,0,0),W}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]}function setDay(J,W,X){const te=getDefaultOptions$1(),re=X?.weekStartsOn??X?.locale?.options?.weekStartsOn??te.weekStartsOn??te.locale?.options?.weekStartsOn??0,oe=toDate(J),ne=oe.getDay(),ce=(W%7+7)%7,ue=7-re,he=W<0||W>6?W-(ne+ue)%7:(ce+ue)%7-(ne+ue)%7;return addDays(oe,he)}class DayParser extends Parser{priority=90;parse(W,X,te){switch(X){case"E":case"EE":case"EEE":return te.day(W,{width:"abbreviated",context:"formatting"})||te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"});case"EEEEE":return te.day(W,{width:"narrow",context:"formatting"});case"EEEEEE":return te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"});case"EEEE":default:return te.day(W,{width:"wide",context:"formatting"})||te.day(W,{width:"abbreviated",context:"formatting"})||te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"})}}validate(W,X){return X>=0&&X<=6}set(W,X,te,re){return W=setDay(W,te,re),W.setHours(0,0,0,0),W}incompatibleTokens=["D","i","e","c","t","T"]}class LocalDayParser extends Parser{priority=90;parse(W,X,te,re){const oe=ne=>{const de=Math.floor((ne-1)/7)*7;return(ne+re.weekStartsOn+6)%7+de};switch(X){case"e":case"ee":return mapValue(parseNDigits(X.length,W),oe);case"eo":return mapValue(te.ordinalNumber(W,{unit:"day"}),oe);case"eee":return te.day(W,{width:"abbreviated",context:"formatting"})||te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"});case"eeeee":return te.day(W,{width:"narrow",context:"formatting"});case"eeeeee":return te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"});case"eeee":default:return te.day(W,{width:"wide",context:"formatting"})||te.day(W,{width:"abbreviated",context:"formatting"})||te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"})}}validate(W,X){return X>=0&&X<=6}set(W,X,te,re){return W=setDay(W,te,re),W.setHours(0,0,0,0),W}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]}class StandAloneLocalDayParser extends Parser{priority=90;parse(W,X,te,re){const oe=ne=>{const de=Math.floor((ne-1)/7)*7;return(ne+re.weekStartsOn+6)%7+de};switch(X){case"c":case"cc":return mapValue(parseNDigits(X.length,W),oe);case"co":return mapValue(te.ordinalNumber(W,{unit:"day"}),oe);case"ccc":return te.day(W,{width:"abbreviated",context:"standalone"})||te.day(W,{width:"short",context:"standalone"})||te.day(W,{width:"narrow",context:"standalone"});case"ccccc":return te.day(W,{width:"narrow",context:"standalone"});case"cccccc":return te.day(W,{width:"short",context:"standalone"})||te.day(W,{width:"narrow",context:"standalone"});case"cccc":default:return te.day(W,{width:"wide",context:"standalone"})||te.day(W,{width:"abbreviated",context:"standalone"})||te.day(W,{width:"short",context:"standalone"})||te.day(W,{width:"narrow",context:"standalone"})}}validate(W,X){return X>=0&&X<=6}set(W,X,te,re){return W=setDay(W,te,re),W.setHours(0,0,0,0),W}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]}function setISODay(J,W){const X=toDate(J),te=getISODay(X),re=W-te;return addDays(X,re)}class ISODayParser extends Parser{priority=90;parse(W,X,te){const re=oe=>oe===0?7:oe;switch(X){case"i":case"ii":return parseNDigits(X.length,W);case"io":return te.ordinalNumber(W,{unit:"day"});case"iii":return mapValue(te.day(W,{width:"abbreviated",context:"formatting"})||te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"}),re);case"iiiii":return mapValue(te.day(W,{width:"narrow",context:"formatting"}),re);case"iiiiii":return mapValue(te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"}),re);case"iiii":default:return mapValue(te.day(W,{width:"wide",context:"formatting"})||te.day(W,{width:"abbreviated",context:"formatting"})||te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"}),re)}}validate(W,X){return X>=1&&X<=7}set(W,X,te){return W=setISODay(W,te),W.setHours(0,0,0,0),W}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]}class AMPMParser extends Parser{priority=80;parse(W,X,te){switch(X){case"a":case"aa":case"aaa":return te.dayPeriod(W,{width:"abbreviated",context:"formatting"})||te.dayPeriod(W,{width:"narrow",context:"formatting"});case"aaaaa":return te.dayPeriod(W,{width:"narrow",context:"formatting"});case"aaaa":default:return te.dayPeriod(W,{width:"wide",context:"formatting"})||te.dayPeriod(W,{width:"abbreviated",context:"formatting"})||te.dayPeriod(W,{width:"narrow",context:"formatting"})}}set(W,X,te){return W.setHours(dayPeriodEnumToHours(te),0,0,0),W}incompatibleTokens=["b","B","H","k","t","T"]}class AMPMMidnightParser extends Parser{priority=80;parse(W,X,te){switch(X){case"b":case"bb":case"bbb":return te.dayPeriod(W,{width:"abbreviated",context:"formatting"})||te.dayPeriod(W,{width:"narrow",context:"formatting"});case"bbbbb":return te.dayPeriod(W,{width:"narrow",context:"formatting"});case"bbbb":default:return te.dayPeriod(W,{width:"wide",context:"formatting"})||te.dayPeriod(W,{width:"abbreviated",context:"formatting"})||te.dayPeriod(W,{width:"narrow",context:"formatting"})}}set(W,X,te){return W.setHours(dayPeriodEnumToHours(te),0,0,0),W}incompatibleTokens=["a","B","H","k","t","T"]}class DayPeriodParser extends Parser{priority=80;parse(W,X,te){switch(X){case"B":case"BB":case"BBB":return te.dayPeriod(W,{width:"abbreviated",context:"formatting"})||te.dayPeriod(W,{width:"narrow",context:"formatting"});case"BBBBB":return te.dayPeriod(W,{width:"narrow",context:"formatting"});case"BBBB":default:return te.dayPeriod(W,{width:"wide",context:"formatting"})||te.dayPeriod(W,{width:"abbreviated",context:"formatting"})||te.dayPeriod(W,{width:"narrow",context:"formatting"})}}set(W,X,te){return W.setHours(dayPeriodEnumToHours(te),0,0,0),W}incompatibleTokens=["a","b","t","T"]}class Hour1to12Parser extends Parser{priority=70;parse(W,X,te){switch(X){case"h":return parseNumericPattern(numericPatterns.hour12h,W);case"ho":return te.ordinalNumber(W,{unit:"hour"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=1&&X<=12}set(W,X,te){const re=W.getHours()>=12;return re&&te<12?W.setHours(te+12,0,0,0):!re&&te===12?W.setHours(0,0,0,0):W.setHours(te,0,0,0),W}incompatibleTokens=["H","K","k","t","T"]}class Hour0to23Parser extends Parser{priority=70;parse(W,X,te){switch(X){case"H":return parseNumericPattern(numericPatterns.hour23h,W);case"Ho":return te.ordinalNumber(W,{unit:"hour"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=0&&X<=23}set(W,X,te){return W.setHours(te,0,0,0),W}incompatibleTokens=["a","b","h","K","k","t","T"]}class Hour0To11Parser extends Parser{priority=70;parse(W,X,te){switch(X){case"K":return parseNumericPattern(numericPatterns.hour11h,W);case"Ko":return te.ordinalNumber(W,{unit:"hour"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=0&&X<=11}set(W,X,te){return W.getHours()>=12&&te<12?W.setHours(te+12,0,0,0):W.setHours(te,0,0,0),W}incompatibleTokens=["h","H","k","t","T"]}class Hour1To24Parser extends Parser{priority=70;parse(W,X,te){switch(X){case"k":return parseNumericPattern(numericPatterns.hour24h,W);case"ko":return te.ordinalNumber(W,{unit:"hour"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=1&&X<=24}set(W,X,te){const re=te<=24?te%24:te;return W.setHours(re,0,0,0),W}incompatibleTokens=["a","b","h","H","K","t","T"]}class MinuteParser extends Parser{priority=60;parse(W,X,te){switch(X){case"m":return parseNumericPattern(numericPatterns.minute,W);case"mo":return te.ordinalNumber(W,{unit:"minute"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=0&&X<=59}set(W,X,te){return W.setMinutes(te,0,0),W}incompatibleTokens=["t","T"]}class SecondParser extends Parser{priority=50;parse(W,X,te){switch(X){case"s":return parseNumericPattern(numericPatterns.second,W);case"so":return te.ordinalNumber(W,{unit:"second"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=0&&X<=59}set(W,X,te){return W.setSeconds(te,0),W}incompatibleTokens=["t","T"]}class FractionOfSecondParser extends Parser{priority=30;parse(W,X){const te=re=>Math.trunc(re*Math.pow(10,-X.length+3));return mapValue(parseNDigits(X.length,W),te)}set(W,X,te){return W.setMilliseconds(te),W}incompatibleTokens=["t","T"]}class ISOTimezoneWithZParser extends Parser{priority=10;parse(W,X){switch(X){case"X":return parseTimezonePattern(timezonePatterns.basicOptionalMinutes,W);case"XX":return parseTimezonePattern(timezonePatterns.basic,W);case"XXXX":return parseTimezonePattern(timezonePatterns.basicOptionalSeconds,W);case"XXXXX":return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds,W);case"XXX":default:return parseTimezonePattern(timezonePatterns.extended,W)}}set(W,X,te){return X.timestampIsSet?W:constructFrom(W,W.getTime()-getTimezoneOffsetInMilliseconds(W)-te)}incompatibleTokens=["t","T","x"]}class ISOTimezoneParser extends Parser{priority=10;parse(W,X){switch(X){case"x":return parseTimezonePattern(timezonePatterns.basicOptionalMinutes,W);case"xx":return parseTimezonePattern(timezonePatterns.basic,W);case"xxxx":return parseTimezonePattern(timezonePatterns.basicOptionalSeconds,W);case"xxxxx":return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds,W);case"xxx":default:return parseTimezonePattern(timezonePatterns.extended,W)}}set(W,X,te){return X.timestampIsSet?W:constructFrom(W,W.getTime()-getTimezoneOffsetInMilliseconds(W)-te)}incompatibleTokens=["t","T","X"]}class TimestampSecondsParser extends Parser{priority=40;parse(W){return parseAnyDigitsSigned(W)}set(W,X,te){return[constructFrom(W,te*1e3),{timestampIsSet:!0}]}incompatibleTokens="*"}class TimestampMillisecondsParser extends Parser{priority=20;parse(W){return parseAnyDigitsSigned(W)}set(W,X,te){return[constructFrom(W,te),{timestampIsSet:!0}]}incompatibleTokens="*"}const parsers={G:new EraParser,y:new YearParser,Y:new LocalWeekYearParser,R:new ISOWeekYearParser,u:new ExtendedYearParser,Q:new QuarterParser,q:new StandAloneQuarterParser,M:new MonthParser,L:new StandAloneMonthParser,w:new LocalWeekParser,I:new ISOWeekParser,d:new DateParser,D:new DayOfYearParser,E:new DayParser,e:new LocalDayParser,c:new StandAloneLocalDayParser,i:new ISODayParser,a:new AMPMParser,b:new AMPMMidnightParser,B:new DayPeriodParser,h:new Hour1to12Parser,H:new Hour0to23Parser,K:new Hour0To11Parser,k:new Hour1To24Parser,m:new MinuteParser,s:new SecondParser,S:new FractionOfSecondParser,X:new ISOTimezoneWithZParser,x:new ISOTimezoneParser,t:new TimestampSecondsParser,T:new TimestampMillisecondsParser},formattingTokensRegExp=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,longFormattingTokensRegExp=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,escapedStringRegExp=/^'([^]*?)'?$/,doubleQuoteRegExp=/''/g,notWhitespaceRegExp=/\S/,unescapedLatinCharacterRegExp=/[a-zA-Z]/;function parse(J,W,X,te){const re=getDefaultOptions(),oe=re.locale??enUS,ne=re.firstWeekContainsDate??re.locale?.options?.firstWeekContainsDate??1,de=re.weekStartsOn??re.locale?.options?.weekStartsOn??0,ce={firstWeekContainsDate:ne,weekStartsOn:de,locale:oe},ue=[new DateToSystemTimezoneSetter],he=W.match(longFormattingTokensRegExp).map(ge=>{const ve=ge[0];if(ve in longFormatters){const _e=longFormatters[ve];return _e(ge,oe.formatLong)}return ge}).join("").match(formattingTokensRegExp),pe=[];for(let ge of he){isProtectedWeekYearToken(ge)&&warnOrThrowProtectedError(ge,W,J),isProtectedDayOfYearToken(ge)&&warnOrThrowProtectedError(ge,W,J);const ve=ge[0],_e=parsers[ve];if(_e){const{incompatibleTokens:ye}=_e;if(Array.isArray(ye)){const we=pe.find(Ce=>ye.includes(Ce.token)||Ce.token===ve);if(we)throw new RangeError(`The format string mustn't contain \`${we.fullToken}\` and \`${ge}\` at the same time`)}else if(_e.incompatibleTokens==="*"&&pe.length>0)throw new RangeError(`The format string mustn't contain \`${ge}\` and any other token at the same time`);pe.push({token:ve,fullToken:ge});const Se=_e.run(J,ge,oe.match,ce);if(!Se)return constructFrom(X,NaN);ue.push(Se.setter),J=Se.rest}else{if(ve.match(unescapedLatinCharacterRegExp))throw new RangeError("Format string contains an unescaped latin alphabet character `"+ve+"`");if(ge==="''"?ge="'":ve==="'"&&(ge=cleanEscapedString(ge)),J.indexOf(ge)===0)J=J.slice(ge.length);else return constructFrom(X,NaN)}}if(J.length>0&&notWhitespaceRegExp.test(J))return constructFrom(X,NaN);const fe=ue.map(ge=>ge.priority).sort((ge,ve)=>ve-ge).filter((ge,ve,_e)=>_e.indexOf(ge)===ve).map(ge=>ue.filter(ve=>ve.priority===ge).sort((ve,_e)=>_e.subPriority-ve.subPriority)).map(ge=>ge[0]);let be=toDate(X);if(isNaN(be.getTime()))return constructFrom(X,NaN);const me={};for(const ge of fe){if(!ge.validate(be,ce))return constructFrom(X,NaN);const ve=ge.set(be,me,ce);Array.isArray(ve)?(be=ve[0],Object.assign(me,ve[1])):be=ve}return constructFrom(X,be)}function cleanEscapedString(J){return J.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp,"'")}/**
424
+ */class le extends i$P{constructor(W){if(super(W),this.it=D$4,W.type!==t$u.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(W){if(W===D$4||W==null)return this._t=void 0,this.it=W;if(W===R$5)return W;if(typeof W!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(W===this.it)return this._t;this.it=W;const X=[W];return X.raw=X,this._t={_$litType$:this.constructor.resultType,strings:X,values:[]}}}le.directiveName="unsafeHTML",le.resultType=1;const ae=e$O(le),styles$m=":host{min-height:1px;display:flex;flex-direction:column;flex:1 1 0%}.virtual-container{height:100%;position:relative}.virtual-viewport{height:100%;overflow:auto;padding-inline:16px}.virtual-content{position:relative;width:100%}.virtual-items{position:relative}.container{min-height:1px;height:100%}.visit:first-child{margin-top:var(--dss-spacing-md)}.visit{width:calc(100% - var(--dss-spacing-md) - var(--dss-spacing-md));display:flex;flex-direction:column;gap:var(--dss-spacing-sm);background-color:#fff;border-radius:var(--dss-radius-sm);padding:var(--dss-spacing-sm);margin-bottom:var(--dss-spacing-md)}.visit .visit__header{display:flex;flex-direction:row;align-items:center;gap:16px}.visit .visit__header .title{flex:1;font-size:14px;line-height:24px;display:flex;flex-direction:row;gap:12px;color:var(--color-neutral-800)}.visit .visit__header .title-date{font-weight:700}.visit .visit__header .title-description{font-weight:600;display:flex;flex-direction:row;gap:4px}.visit .visit__header .highlight{background-color:#ff0;font-weight:700}.visit .visit__items{display:flex;flex-direction:column;gap:var(--dss-spacing-sm)}.visit .visit__items .item[has-divider]{border-bottom:var(--dss-border-width-sm) solid var(--color-neutral-200)}.visit .visit__items .item[has-divider]:last-of-type{border:none}.visit .diagnostics{display:flex;flex-direction:column;gap:var(--dss-spacing-sm);border-bottom:var(--dss-border-width-sm) solid var(--color-neutral-200)}.visit .diagnostics:last-of-type{border:none}.visit .diagnostics .diagnostics__header{display:flex;flex-direction:row;align-items:center;gap:16px;flex-wrap:wrap}.visit .diagnostics .diagnostics__items{display:flex;flex-direction:column}.visit .diagnostics .diagnostics__items .item[has-divider]{border-bottom:var(--dss-border-width-sm) solid var(--color-neutral-200)}.visit .diagnostics .diagnostics__items .item[has-divider]:last-of-type{border:none}.feedback{width:100%;height:100%;display:flex;align-items:center;justify-content:center}";/**
425
425
  * @license
426
426
  * Copyright 2018 Google LLC
427
427
  * SPDX-License-Identifier: BSD-3-Clause
@@ -514,9 +514,9 @@ ${J.searchString?.length>1?ke$1`
514
514
  `;function memo(J,W,X){let te=X.initialDeps??[],re,oe=!0;function ne(){var de,ce,ue;let he;X.key&&((de=X.debug)!=null&&de.call(X))&&(he=Date.now());const pe=J();if(!(pe.length!==te.length||pe.some((me,ge)=>te[ge]!==me)))return re;te=pe;let be;if(X.key&&((ce=X.debug)!=null&&ce.call(X))&&(be=Date.now()),re=W(...pe),X.key&&((ue=X.debug)!=null&&ue.call(X))){const me=Math.round((Date.now()-he)*100)/100,ge=Math.round((Date.now()-be)*100)/100,ve=ge/16,_e=(ye,Se)=>{for(ye=String(ye);ye.length<Se;)ye=" "+ye;return ye};console.info(`%c⏱ ${_e(ge,5)} /${_e(me,5)} ms`,`
515
515
  font-size: .6rem;
516
516
  font-weight: bold;
517
- color: hsl(${Math.max(0,Math.min(120-120*ve,120))}deg 100% 31%);`,X?.key)}return X?.onChange&&!(oe&&X.skipInitialOnChange)&&X.onChange(re),oe=!1,re}return ne.updateDeps=de=>{te=de},ne}function notUndefined(J,W){if(J===void 0)throw new Error("Unexpected undefined");return J}const approxEqual=(J,W)=>Math.abs(J-W)<1.01,debounce$1=(J,W,X)=>{let te;return function(...re){J.clearTimeout(te),te=J.setTimeout(()=>W.apply(this,re),X)}},getRect=J=>{const{offsetWidth:W,offsetHeight:X}=J;return{width:W,height:X}},defaultKeyExtractor=J=>J,defaultRangeExtractor=J=>{const W=Math.max(J.startIndex-J.overscan,0),X=Math.min(J.endIndex+J.overscan,J.count-1),te=[];for(let re=W;re<=X;re++)te.push(re);return te},observeElementRect=(J,W)=>{const X=J.scrollElement;if(!X)return;const te=J.targetWindow;if(!te)return;const re=ne=>{const{width:de,height:ce}=ne;W({width:Math.round(de),height:Math.round(ce)})};if(re(getRect(X)),!te.ResizeObserver)return()=>{};const oe=new te.ResizeObserver(ne=>{const de=()=>{const ce=ne[0];if(ce?.borderBoxSize){const ue=ce.borderBoxSize[0];if(ue){re({width:ue.inlineSize,height:ue.blockSize});return}}re(getRect(X))};J.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(de):de()});return oe.observe(X,{box:"border-box"}),()=>{oe.unobserve(X)}},addEventListenerOptions={passive:!0},supportsScrollend=typeof window>"u"?!0:"onscrollend"in window,observeElementOffset=(J,W)=>{const X=J.scrollElement;if(!X)return;const te=J.targetWindow;if(!te)return;let re=0;const oe=J.options.useScrollendEvent&&supportsScrollend?()=>{}:debounce$1(te,()=>{W(re,!1)},J.options.isScrollingResetDelay),ne=he=>()=>{const{horizontal:pe,isRtl:fe}=J.options;re=pe?X.scrollLeft*(fe&&-1||1):X.scrollTop,oe(),W(re,he)},de=ne(!0),ce=ne(!1);X.addEventListener("scroll",de,addEventListenerOptions);const ue=J.options.useScrollendEvent&&supportsScrollend;return ue&&X.addEventListener("scrollend",ce,addEventListenerOptions),()=>{X.removeEventListener("scroll",de),ue&&X.removeEventListener("scrollend",ce)}},measureElement=(J,W,X)=>{if(W?.borderBoxSize){const te=W.borderBoxSize[0];if(te)return Math.round(te[X.options.horizontal?"inlineSize":"blockSize"])}return J[X.options.horizontal?"offsetWidth":"offsetHeight"]},elementScroll=(J,{adjustments:W=0,behavior:X},te)=>{var re,oe;const ne=J+W;(oe=(re=te.scrollElement)==null?void 0:re.scrollTo)==null||oe.call(re,{[te.options.horizontal?"left":"top"]:ne,behavior:X})};class Virtualizer{constructor(W){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.laneAssignments=new Map,this.pendingMeasuredCacheIndexes=[],this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.now=()=>{var X,te,re;return((re=(te=(X=this.targetWindow)==null?void 0:X.performance)==null?void 0:te.now)==null?void 0:re.call(te))??Date.now()},this.observer=(()=>{let X=null;const te=()=>X||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:X=new this.targetWindow.ResizeObserver(re=>{re.forEach(oe=>{const ne=()=>{const de=oe.target,ce=this.indexFromElement(de);if(!de.isConnected){this.observer.unobserve(de);return}this.shouldMeasureDuringScroll(ce)&&this.resizeItem(ce,this.options.measureElement(de,oe,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(ne):ne()})}));return{disconnect:()=>{var re;(re=te())==null||re.disconnect(),X=null},observe:re=>{var oe;return(oe=te())==null?void 0:oe.observe(re,{box:"border-box"})},unobserve:re=>{var oe;return(oe=te())==null?void 0:oe.unobserve(re)}}})(),this.range=null,this.setOptions=X=>{Object.entries(X).forEach(([te,re])=>{typeof re>"u"&&delete X[te]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:defaultKeyExtractor,rangeExtractor:defaultRangeExtractor,onChange:()=>{},measureElement,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",...X}},this.notify=X=>{var te,re;(re=(te=this.options).onChange)==null||re.call(te,this,X)},this.maybeNotify=memo(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),X=>{this.notify(X)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(X=>X()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var X;const te=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==te){if(this.cleanup(),!te){this.maybeNotify();return}this.scrollElement=te,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((X=this.scrollElement)==null?void 0:X.window)??null,this.elementsCache.forEach(re=>{this.observer.observe(re)}),this.unsubs.push(this.options.observeElementRect(this,re=>{this.scrollRect=re,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(re,oe)=>{this.scrollAdjustments=0,this.scrollDirection=oe?this.getScrollOffset()<re?"forward":"backward":null,this.scrollOffset=re,this.isScrolling=oe,this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(X,te)=>{const re=new Map,oe=new Map;for(let ne=te-1;ne>=0;ne--){const de=X[ne];if(re.has(de.lane))continue;const ce=oe.get(de.lane);if(ce==null||de.end>ce.end?oe.set(de.lane,de):de.end<ce.end&&re.set(de.lane,!0),re.size===this.options.lanes)break}return oe.size===this.options.lanes?Array.from(oe.values()).sort((ne,de)=>ne.end===de.end?ne.index-de.index:ne.end-de.end)[0]:void 0},this.getMeasurementOptions=memo(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode],(X,te,re,oe,ne,de,ce)=>(this.prevLanes!==void 0&&this.prevLanes!==de&&(this.lanesChangedFlag=!0),this.prevLanes=de,this.pendingMeasuredCacheIndexes=[],{count:X,paddingStart:te,scrollMargin:re,getItemKey:oe,enabled:ne,lanes:de,laneAssignmentMode:ce}),{key:!1}),this.getMeasurements=memo(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:X,paddingStart:te,scrollMargin:re,getItemKey:oe,enabled:ne,lanes:de,laneAssignmentMode:ce},ue)=>{if(!ne)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>X)for(const be of this.laneAssignments.keys())be>=X&&this.laneAssignments.delete(be);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMeasuredCacheIndexes=[]),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(be=>{this.itemSizeCache.set(be.key,be.size)}));const he=this.lanesSettling?0:this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[],this.lanesSettling&&this.measurementsCache.length===X&&(this.lanesSettling=!1);const pe=this.measurementsCache.slice(0,he),fe=new Array(de).fill(void 0);for(let be=0;be<he;be++){const me=pe[be];me&&(fe[me.lane]=be)}for(let be=he;be<X;be++){const me=oe(be),ge=this.laneAssignments.get(be);let ve,_e;const ye=ce==="estimate"||ue.has(me);if(ge!==void 0&&this.options.lanes>1){ve=ge;const Me=fe[ve],De=Me!==void 0?pe[Me]:void 0;_e=De?De.end+this.options.gap:te+re}else{const Me=this.options.lanes===1?pe[be-1]:this.getFurthestMeasurement(pe,be);_e=Me?Me.end+this.options.gap:te+re,ve=Me?Me.lane:be%this.options.lanes,this.options.lanes>1&&ye&&this.laneAssignments.set(be,ve)}const Se=ue.get(me),we=typeof Se=="number"?Se:this.options.estimateSize(be),Ce=_e+we;pe[be]={index:be,start:_e,size:we,end:Ce,key:me,lane:ve},fe[ve]=be}return this.measurementsCache=pe,pe},{key:!1,debug:()=>this.options.debug}),this.calculateRange=memo(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(X,te,re,oe)=>this.range=X.length>0&&te>0?calculateRange({measurements:X,outerSize:te,scrollOffset:re,lanes:oe}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=memo(()=>{let X=null,te=null;const re=this.calculateRange();return re&&(X=re.startIndex,te=re.endIndex),this.maybeNotify.updateDeps([this.isScrolling,X,te]),[this.options.rangeExtractor,this.options.overscan,this.options.count,X,te]},(X,te,re,oe,ne)=>oe===null||ne===null?[]:X({startIndex:oe,endIndex:ne,overscan:te,count:re}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=X=>{const te=this.options.indexAttribute,re=X.getAttribute(te);return re?parseInt(re,10):(console.warn(`Missing attribute name '${te}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=X=>{var te;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;const re=this.scrollState.index??((te=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:te.index);if(re!==void 0&&this.range){const oe=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),ne=Math.max(0,re-oe),de=Math.min(this.options.count-1,re+oe);return X>=ne&&X<=de}return!0},this.measureElement=X=>{if(!X){this.elementsCache.forEach((ne,de)=>{ne.isConnected||(this.observer.unobserve(ne),this.elementsCache.delete(de))});return}const te=this.indexFromElement(X),re=this.options.getItemKey(te),oe=this.elementsCache.get(re);oe!==X&&(oe&&this.observer.unobserve(oe),this.observer.observe(X),this.elementsCache.set(re,X)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(te)&&this.resizeItem(te,this.options.measureElement(X,void 0,this))},this.resizeItem=(X,te)=>{var re;const oe=this.measurementsCache[X];if(!oe)return;const ne=this.itemSizeCache.get(oe.key)??oe.size,de=te-ne;de!==0&&(((re=this.scrollState)==null?void 0:re.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(oe,de,this):oe.start<this.getScrollOffset()+this.scrollAdjustments)&&this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=de,behavior:void 0}),this.pendingMeasuredCacheIndexes.push(oe.index),this.itemSizeCache=new Map(this.itemSizeCache.set(oe.key,te)),this.notify(!1))},this.getVirtualItems=memo(()=>[this.getVirtualIndexes(),this.getMeasurements()],(X,te)=>{const re=[];for(let oe=0,ne=X.length;oe<ne;oe++){const de=X[oe],ce=te[de];re.push(ce)}return re},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=X=>{const te=this.getMeasurements();if(te.length!==0)return notUndefined(te[findNearestBinarySearch(0,te.length-1,re=>notUndefined(te[re]).start,X)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const X=this.scrollElement.document.documentElement;return this.options.horizontal?X.scrollWidth-this.scrollElement.innerWidth:X.scrollHeight-this.scrollElement.innerHeight}},this.getOffsetForAlignment=(X,te,re=0)=>{if(!this.scrollElement)return 0;const oe=this.getSize(),ne=this.getScrollOffset();te==="auto"&&(te=X>=ne+oe?"end":"start"),te==="center"?X+=(re-oe)/2:te==="end"&&(X-=oe);const de=this.getMaxScrollOffset();return Math.max(Math.min(de,X),0)},this.getOffsetForIndex=(X,te="auto")=>{X=Math.max(0,Math.min(X,this.options.count-1));const re=this.getSize(),oe=this.getScrollOffset(),ne=this.measurementsCache[X];if(!ne)return;if(te==="auto")if(ne.end>=oe+re-this.options.scrollPaddingEnd)te="end";else if(ne.start<=oe+this.options.scrollPaddingStart)te="start";else return[oe,te];if(te==="end"&&X===this.options.count-1)return[this.getMaxScrollOffset(),te];const de=te==="end"?ne.end+this.options.scrollPaddingEnd:ne.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(de,te,ne.size),te]},this.scrollToOffset=(X,{align:te="start",behavior:re="auto"}={})=>{const oe=this.getOffsetForAlignment(X,te),ne=this.now();this.scrollState={index:null,align:te,behavior:re,startedAt:ne,lastTargetOffset:oe,stableFrames:0},this._scrollToOffset(oe,{adjustments:void 0,behavior:re}),this.scheduleScrollReconcile()},this.scrollToIndex=(X,{align:te="auto",behavior:re="auto"}={})=>{X=Math.max(0,Math.min(X,this.options.count-1));const oe=this.getOffsetForIndex(X,te);if(!oe)return;const[ne,de]=oe,ce=this.now();this.scrollState={index:X,align:de,behavior:re,startedAt:ce,lastTargetOffset:ne,stableFrames:0},this._scrollToOffset(ne,{adjustments:void 0,behavior:re}),this.scheduleScrollReconcile()},this.scrollBy=(X,{behavior:te="auto"}={})=>{const re=this.getScrollOffset()+X,oe=this.now();this.scrollState={index:null,align:"start",behavior:te,startedAt:oe,lastTargetOffset:re,stableFrames:0},this._scrollToOffset(re,{adjustments:void 0,behavior:te}),this.scheduleScrollReconcile()},this.getTotalSize=()=>{var X;const te=this.getMeasurements();let re;if(te.length===0)re=this.options.paddingStart;else if(this.options.lanes===1)re=((X=te[te.length-1])==null?void 0:X.end)??0;else{const oe=Array(this.options.lanes).fill(null);let ne=te.length-1;for(;ne>=0&&oe.some(de=>de===null);){const de=te[ne];oe[de.lane]===null&&(oe[de.lane]=de.end),ne--}re=Math.max(...oe.filter(de=>de!==null))}return Math.max(re-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(X,{adjustments:te,behavior:re})=>{this.options.scrollToFn(X,{behavior:re,adjustments:te},this)},this.measure=()=>{this.itemSizeCache=new Map,this.laneAssignments=new Map,this.notify(!1)},this.setOptions(W)}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}const te=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,re=te?te[0]:this.scrollState.lastTargetOffset,oe=1,ne=re!==this.scrollState.lastTargetOffset;if(!ne&&approxEqual(re,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=oe){this.scrollState=null;return}}else this.scrollState.stableFrames=0,ne&&(this.scrollState.lastTargetOffset=re,this.scrollState.behavior="auto",this._scrollToOffset(re,{adjustments:void 0,behavior:"auto"}));this.scheduleScrollReconcile()}}const findNearestBinarySearch=(J,W,X,te)=>{for(;J<=W;){const re=(J+W)/2|0,oe=X(re);if(oe<te)J=re+1;else if(oe>te)W=re-1;else return re}return J>0?J-1:0};function calculateRange({measurements:J,outerSize:W,scrollOffset:X,lanes:te}){const re=J.length-1,oe=ce=>J[ce].start;if(J.length<=te)return{startIndex:0,endIndex:re};let ne=findNearestBinarySearch(0,re,oe,X),de=ne;if(te===1)for(;de<re&&J[de].end<X+W;)de++;else if(te>1){const ce=Array(te).fill(0);for(;de<re&&ce.some(he=>he<X+W);){const he=J[de];ce[he.lane]=he.end,de++}const ue=Array(te).fill(X+W);for(;ne>=0&&ue.some(he=>he>=X);){const he=J[ne];ue[he.lane]=he.start,ne--}ne=Math.max(0,ne-ne%te),de=Math.min(re,de+(te-1-de%te))}return{startIndex:ne,endIndex:de}}const measureElementWithMargins=J=>{const W=J.getBoundingClientRect().height,X=window.getComputedStyle(J),te=Number.parseFloat(X.marginTop)||0,re=Number.parseFloat(X.marginBottom)||0;return Math.round(W+te+re)};class VirtualScroller{constructor(W){this._options=W}setup(W,X){return this._viewport=W,this._virtualizer=new Virtualizer({count:this._options.items.length,getScrollElement:()=>this._viewport??null,estimateSize:()=>this._options.estimatedItemHeight,overscan:this._options.overscan??5,measureElement:te=>(this._options.measureElement??measureElementWithMargins)(te),observeElementRect,observeElementOffset,scrollToFn:elementScroll,onChange:()=>{X(this.getState())}}),this._cleanup=this._virtualizer._didMount(),this._virtualizer._willUpdate(),X(this.getState()),()=>{this._cleanup?.()}}willUpdate(){this._virtualizer?._willUpdate()}updateItems(W,X){this._options.items=W,this._virtualizer&&(this._virtualizer.setOptions({...this._virtualizer.options,count:W.length}),this._virtualizer._willUpdate()),X&&X(this.getState())}measureElement(W){this._virtualizer?.measureElement(W)}scrollToIndex(W,X="smooth"){this._virtualizer?.scrollToIndex(W,{behavior:X})}getState(){return{virtualItems:this._virtualizer?.getVirtualItems()??[],totalHeight:this._virtualizer?.getTotalSize()??0}}findClosestIndex(W,X,te){let re=-1,oe=Number.POSITIVE_INFINITY;return this._options.items.forEach((ne,de)=>{const ce=Math.abs(te(W(ne),X));ce<oe&&(oe=ce,re=de)}),re}}var __defProp$o=Object.defineProperty,__getOwnPropDesc$e=Object.getOwnPropertyDescriptor,__decorateClass$s=(J,W,X,te)=>{for(var re=te>1?void 0:te?__getOwnPropDesc$e(W,X):W,oe=J.length-1,ne;oe>=0;oe--)(ne=J[oe])&&(re=(te?ne(W,X,re):ne(re))||re);return te&&re&&__defProp$o(W,X,re),re};let ActivityHistoryTimeline=class extends h$p{constructor(){super(...arguments),this._virtualScrollerState={virtualItems:[],totalHeight:0},this._canShowNoDataMessage=!1,this._measureElement=J=>{J&&this._virtualScroller?.measureElement(J)},this._onScroll=()=>{}}render(){return ke$1`
517
+ color: hsl(${Math.max(0,Math.min(120-120*ve,120))}deg 100% 31%);`,X?.key)}return X?.onChange&&!(oe&&X.skipInitialOnChange)&&X.onChange(re),oe=!1,re}return ne.updateDeps=de=>{te=de},ne}function notUndefined(J,W){if(J===void 0)throw new Error("Unexpected undefined");return J}const approxEqual=(J,W)=>Math.abs(J-W)<1.01,debounce$1=(J,W,X)=>{let te;return function(...re){J.clearTimeout(te),te=J.setTimeout(()=>W.apply(this,re),X)}},getRect=J=>{const{offsetWidth:W,offsetHeight:X}=J;return{width:W,height:X}},defaultKeyExtractor=J=>J,defaultRangeExtractor=J=>{const W=Math.max(J.startIndex-J.overscan,0),X=Math.min(J.endIndex+J.overscan,J.count-1),te=[];for(let re=W;re<=X;re++)te.push(re);return te},observeElementRect=(J,W)=>{const X=J.scrollElement;if(!X)return;const te=J.targetWindow;if(!te)return;const re=ne=>{const{width:de,height:ce}=ne;W({width:Math.round(de),height:Math.round(ce)})};if(re(getRect(X)),!te.ResizeObserver)return()=>{};const oe=new te.ResizeObserver(ne=>{const de=()=>{const ce=ne[0];if(ce?.borderBoxSize){const ue=ce.borderBoxSize[0];if(ue){re({width:ue.inlineSize,height:ue.blockSize});return}}re(getRect(X))};J.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(de):de()});return oe.observe(X,{box:"border-box"}),()=>{oe.unobserve(X)}},addEventListenerOptions={passive:!0},supportsScrollend=typeof window>"u"?!0:"onscrollend"in window,observeElementOffset=(J,W)=>{const X=J.scrollElement;if(!X)return;const te=J.targetWindow;if(!te)return;let re=0;const oe=J.options.useScrollendEvent&&supportsScrollend?()=>{}:debounce$1(te,()=>{W(re,!1)},J.options.isScrollingResetDelay),ne=he=>()=>{const{horizontal:pe,isRtl:fe}=J.options;re=pe?X.scrollLeft*(fe&&-1||1):X.scrollTop,oe(),W(re,he)},de=ne(!0),ce=ne(!1);X.addEventListener("scroll",de,addEventListenerOptions);const ue=J.options.useScrollendEvent&&supportsScrollend;return ue&&X.addEventListener("scrollend",ce,addEventListenerOptions),()=>{X.removeEventListener("scroll",de),ue&&X.removeEventListener("scrollend",ce)}},measureElement=(J,W,X)=>{if(W?.borderBoxSize){const te=W.borderBoxSize[0];if(te)return Math.round(te[X.options.horizontal?"inlineSize":"blockSize"])}return J[X.options.horizontal?"offsetWidth":"offsetHeight"]},elementScroll=(J,{adjustments:W=0,behavior:X},te)=>{var re,oe;const ne=J+W;(oe=(re=te.scrollElement)==null?void 0:re.scrollTo)==null||oe.call(re,{[te.options.horizontal?"left":"top"]:ne,behavior:X})};class Virtualizer{constructor(W){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.laneAssignments=new Map,this.pendingMeasuredCacheIndexes=[],this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.now=()=>{var X,te,re;return((re=(te=(X=this.targetWindow)==null?void 0:X.performance)==null?void 0:te.now)==null?void 0:re.call(te))??Date.now()},this.observer=(()=>{let X=null;const te=()=>X||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:X=new this.targetWindow.ResizeObserver(re=>{re.forEach(oe=>{const ne=()=>{const de=oe.target,ce=this.indexFromElement(de);if(!de.isConnected){this.observer.unobserve(de);return}this.shouldMeasureDuringScroll(ce)&&this.resizeItem(ce,this.options.measureElement(de,oe,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(ne):ne()})}));return{disconnect:()=>{var re;(re=te())==null||re.disconnect(),X=null},observe:re=>{var oe;return(oe=te())==null?void 0:oe.observe(re,{box:"border-box"})},unobserve:re=>{var oe;return(oe=te())==null?void 0:oe.unobserve(re)}}})(),this.range=null,this.setOptions=X=>{Object.entries(X).forEach(([te,re])=>{typeof re>"u"&&delete X[te]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:defaultKeyExtractor,rangeExtractor:defaultRangeExtractor,onChange:()=>{},measureElement,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",...X}},this.notify=X=>{var te,re;(re=(te=this.options).onChange)==null||re.call(te,this,X)},this.maybeNotify=memo(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),X=>{this.notify(X)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(X=>X()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var X;const te=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==te){if(this.cleanup(),!te){this.maybeNotify();return}this.scrollElement=te,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((X=this.scrollElement)==null?void 0:X.window)??null,this.elementsCache.forEach(re=>{this.observer.observe(re)}),this.unsubs.push(this.options.observeElementRect(this,re=>{this.scrollRect=re,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(re,oe)=>{this.scrollAdjustments=0,this.scrollDirection=oe?this.getScrollOffset()<re?"forward":"backward":null,this.scrollOffset=re,this.isScrolling=oe,this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(X,te)=>{const re=new Map,oe=new Map;for(let ne=te-1;ne>=0;ne--){const de=X[ne];if(re.has(de.lane))continue;const ce=oe.get(de.lane);if(ce==null||de.end>ce.end?oe.set(de.lane,de):de.end<ce.end&&re.set(de.lane,!0),re.size===this.options.lanes)break}return oe.size===this.options.lanes?Array.from(oe.values()).sort((ne,de)=>ne.end===de.end?ne.index-de.index:ne.end-de.end)[0]:void 0},this.getMeasurementOptions=memo(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode],(X,te,re,oe,ne,de,ce)=>(this.prevLanes!==void 0&&this.prevLanes!==de&&(this.lanesChangedFlag=!0),this.prevLanes=de,this.pendingMeasuredCacheIndexes=[],{count:X,paddingStart:te,scrollMargin:re,getItemKey:oe,enabled:ne,lanes:de,laneAssignmentMode:ce}),{key:!1}),this.getMeasurements=memo(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:X,paddingStart:te,scrollMargin:re,getItemKey:oe,enabled:ne,lanes:de,laneAssignmentMode:ce},ue)=>{if(!ne)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>X)for(const be of this.laneAssignments.keys())be>=X&&this.laneAssignments.delete(be);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMeasuredCacheIndexes=[]),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(be=>{this.itemSizeCache.set(be.key,be.size)}));const he=this.lanesSettling?0:this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[],this.lanesSettling&&this.measurementsCache.length===X&&(this.lanesSettling=!1);const pe=this.measurementsCache.slice(0,he),fe=new Array(de).fill(void 0);for(let be=0;be<he;be++){const me=pe[be];me&&(fe[me.lane]=be)}for(let be=he;be<X;be++){const me=oe(be),ge=this.laneAssignments.get(be);let ve,_e;const ye=ce==="estimate"||ue.has(me);if(ge!==void 0&&this.options.lanes>1){ve=ge;const Me=fe[ve],De=Me!==void 0?pe[Me]:void 0;_e=De?De.end+this.options.gap:te+re}else{const Me=this.options.lanes===1?pe[be-1]:this.getFurthestMeasurement(pe,be);_e=Me?Me.end+this.options.gap:te+re,ve=Me?Me.lane:be%this.options.lanes,this.options.lanes>1&&ye&&this.laneAssignments.set(be,ve)}const Se=ue.get(me),we=typeof Se=="number"?Se:this.options.estimateSize(be),Ce=_e+we;pe[be]={index:be,start:_e,size:we,end:Ce,key:me,lane:ve},fe[ve]=be}return this.measurementsCache=pe,pe},{key:!1,debug:()=>this.options.debug}),this.calculateRange=memo(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(X,te,re,oe)=>this.range=X.length>0&&te>0?calculateRange({measurements:X,outerSize:te,scrollOffset:re,lanes:oe}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=memo(()=>{let X=null,te=null;const re=this.calculateRange();return re&&(X=re.startIndex,te=re.endIndex),this.maybeNotify.updateDeps([this.isScrolling,X,te]),[this.options.rangeExtractor,this.options.overscan,this.options.count,X,te]},(X,te,re,oe,ne)=>oe===null||ne===null?[]:X({startIndex:oe,endIndex:ne,overscan:te,count:re}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=X=>{const te=this.options.indexAttribute,re=X.getAttribute(te);return re?parseInt(re,10):(console.warn(`Missing attribute name '${te}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=X=>{var te;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;const re=this.scrollState.index??((te=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:te.index);if(re!==void 0&&this.range){const oe=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),ne=Math.max(0,re-oe),de=Math.min(this.options.count-1,re+oe);return X>=ne&&X<=de}return!0},this.measureElement=X=>{if(!X){this.elementsCache.forEach((ne,de)=>{ne.isConnected||(this.observer.unobserve(ne),this.elementsCache.delete(de))});return}const te=this.indexFromElement(X),re=this.options.getItemKey(te),oe=this.elementsCache.get(re);oe!==X&&(oe&&this.observer.unobserve(oe),this.observer.observe(X),this.elementsCache.set(re,X)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(te)&&this.resizeItem(te,this.options.measureElement(X,void 0,this))},this.resizeItem=(X,te)=>{var re;const oe=this.measurementsCache[X];if(!oe)return;const ne=this.itemSizeCache.get(oe.key)??oe.size,de=te-ne;de!==0&&(((re=this.scrollState)==null?void 0:re.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(oe,de,this):oe.start<this.getScrollOffset()+this.scrollAdjustments)&&this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=de,behavior:void 0}),this.pendingMeasuredCacheIndexes.push(oe.index),this.itemSizeCache=new Map(this.itemSizeCache.set(oe.key,te)),this.notify(!1))},this.getVirtualItems=memo(()=>[this.getVirtualIndexes(),this.getMeasurements()],(X,te)=>{const re=[];for(let oe=0,ne=X.length;oe<ne;oe++){const de=X[oe],ce=te[de];re.push(ce)}return re},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=X=>{const te=this.getMeasurements();if(te.length!==0)return notUndefined(te[findNearestBinarySearch(0,te.length-1,re=>notUndefined(te[re]).start,X)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const X=this.scrollElement.document.documentElement;return this.options.horizontal?X.scrollWidth-this.scrollElement.innerWidth:X.scrollHeight-this.scrollElement.innerHeight}},this.getOffsetForAlignment=(X,te,re=0)=>{if(!this.scrollElement)return 0;const oe=this.getSize(),ne=this.getScrollOffset();te==="auto"&&(te=X>=ne+oe?"end":"start"),te==="center"?X+=(re-oe)/2:te==="end"&&(X-=oe);const de=this.getMaxScrollOffset();return Math.max(Math.min(de,X),0)},this.getOffsetForIndex=(X,te="auto")=>{X=Math.max(0,Math.min(X,this.options.count-1));const re=this.getSize(),oe=this.getScrollOffset(),ne=this.measurementsCache[X];if(!ne)return;if(te==="auto")if(ne.end>=oe+re-this.options.scrollPaddingEnd)te="end";else if(ne.start<=oe+this.options.scrollPaddingStart)te="start";else return[oe,te];if(te==="end"&&X===this.options.count-1)return[this.getMaxScrollOffset(),te];const de=te==="end"?ne.end+this.options.scrollPaddingEnd:ne.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(de,te,ne.size),te]},this.scrollToOffset=(X,{align:te="start",behavior:re="auto"}={})=>{const oe=this.getOffsetForAlignment(X,te),ne=this.now();this.scrollState={index:null,align:te,behavior:re,startedAt:ne,lastTargetOffset:oe,stableFrames:0},this._scrollToOffset(oe,{adjustments:void 0,behavior:re}),this.scheduleScrollReconcile()},this.scrollToIndex=(X,{align:te="auto",behavior:re="auto"}={})=>{X=Math.max(0,Math.min(X,this.options.count-1));const oe=this.getOffsetForIndex(X,te);if(!oe)return;const[ne,de]=oe,ce=this.now();this.scrollState={index:X,align:de,behavior:re,startedAt:ce,lastTargetOffset:ne,stableFrames:0},this._scrollToOffset(ne,{adjustments:void 0,behavior:re}),this.scheduleScrollReconcile()},this.scrollBy=(X,{behavior:te="auto"}={})=>{const re=this.getScrollOffset()+X,oe=this.now();this.scrollState={index:null,align:"start",behavior:te,startedAt:oe,lastTargetOffset:re,stableFrames:0},this._scrollToOffset(re,{adjustments:void 0,behavior:te}),this.scheduleScrollReconcile()},this.getTotalSize=()=>{var X;const te=this.getMeasurements();let re;if(te.length===0)re=this.options.paddingStart;else if(this.options.lanes===1)re=((X=te[te.length-1])==null?void 0:X.end)??0;else{const oe=Array(this.options.lanes).fill(null);let ne=te.length-1;for(;ne>=0&&oe.some(de=>de===null);){const de=te[ne];oe[de.lane]===null&&(oe[de.lane]=de.end),ne--}re=Math.max(...oe.filter(de=>de!==null))}return Math.max(re-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(X,{adjustments:te,behavior:re})=>{this.options.scrollToFn(X,{behavior:re,adjustments:te},this)},this.measure=()=>{this.itemSizeCache=new Map,this.laneAssignments=new Map,this.notify(!1)},this.setOptions(W)}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}const te=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,re=te?te[0]:this.scrollState.lastTargetOffset,oe=1,ne=re!==this.scrollState.lastTargetOffset;if(!ne&&approxEqual(re,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=oe){this.scrollState=null;return}}else this.scrollState.stableFrames=0,ne&&(this.scrollState.lastTargetOffset=re,this.scrollState.behavior="auto",this._scrollToOffset(re,{adjustments:void 0,behavior:"auto"}));this.scheduleScrollReconcile()}}const findNearestBinarySearch=(J,W,X,te)=>{for(;J<=W;){const re=(J+W)/2|0,oe=X(re);if(oe<te)J=re+1;else if(oe>te)W=re-1;else return re}return J>0?J-1:0};function calculateRange({measurements:J,outerSize:W,scrollOffset:X,lanes:te}){const re=J.length-1,oe=ce=>J[ce].start;if(J.length<=te)return{startIndex:0,endIndex:re};let ne=findNearestBinarySearch(0,re,oe,X),de=ne;if(te===1)for(;de<re&&J[de].end<X+W;)de++;else if(te>1){const ce=Array(te).fill(0);for(;de<re&&ce.some(he=>he<X+W);){const he=J[de];ce[he.lane]=he.end,de++}const ue=Array(te).fill(X+W);for(;ne>=0&&ue.some(he=>he>=X);){const he=J[ne];ue[he.lane]=he.start,ne--}ne=Math.max(0,ne-ne%te),de=Math.min(re,de+(te-1-de%te))}return{startIndex:ne,endIndex:de}}const measureElementWithMargins=J=>{const W=J.getBoundingClientRect().height,X=window.getComputedStyle(J),te=Number.parseFloat(X.marginTop)||0,re=Number.parseFloat(X.marginBottom)||0;return Math.round(W+te+re)};class VirtualScroller{constructor(W){this._options=W}setup(W,X){return this._viewport=W,this._virtualizer=new Virtualizer({count:this._options.items.length,getScrollElement:()=>this._viewport??null,estimateSize:()=>this._options.estimatedItemHeight,overscan:this._options.overscan??5,measureElement:te=>(this._options.measureElement??measureElementWithMargins)(te),observeElementRect,observeElementOffset,scrollToFn:elementScroll,onChange:()=>{X(this.getState())}}),this._cleanup=this._virtualizer._didMount(),this._virtualizer._willUpdate(),X(this.getState()),()=>{this._cleanup?.()}}willUpdate(){this._virtualizer?._willUpdate()}updateItems(W,X){this._options.items=W,this._virtualizer&&(this._virtualizer.setOptions({...this._virtualizer.options,count:W.length}),this._virtualizer._willUpdate()),X&&X(this.getState())}measureElement(W){this._virtualizer?.measureElement(W)}scrollToIndex(W,X="smooth",te="auto"){this._virtualizer?.scrollToIndex(W,{behavior:X,align:te})}getOffsetForIndex(W){return this._virtualizer?.getOffsetForIndex(W,"start")?.[0]??0}getState(){return{virtualItems:this._virtualizer?.getVirtualItems()??[],totalHeight:this._virtualizer?.getTotalSize()??0}}}var __defProp$o=Object.defineProperty,__getOwnPropDesc$e=Object.getOwnPropertyDescriptor,__decorateClass$s=(J,W,X,te)=>{for(var re=te>1?void 0:te?__getOwnPropDesc$e(W,X):W,oe=J.length-1,ne;oe>=0;oe--)(ne=J[oe])&&(re=(te?ne(W,X,re):ne(re))||re);return te&&re&&__defProp$o(W,X,re),re};let ActivityHistoryTimeline=class extends h$p{constructor(){super(...arguments),this._virtualScrollerState={virtualItems:[],totalHeight:0},this._canShowNoDataMessage=!1,this._measureElement=J=>{J&&this._virtualScroller?.measureElement(J)},this._onScroll=()=>{}}render(){return ke$1`
518
518
  ${template$m(this)}
519
- `}connectedCallback(){super.connectedCallback(),this._noDataMessageTimer=setTimeout(()=>{this._canShowNoDataMessage=!0},2e3)}disconnectedCallback(){super.disconnectedCallback(),this._cleanupVirtualScroller?.(),this._noDataMessageTimer&&clearTimeout(this._noDataMessageTimer)}async updated(J){this._virtualScroller?.willUpdate(),J.has("historyGroups")&&this.historyGroups?.length&&(await this.prepareComponents(this.historyGroups),this._updateVirtualScroller(),await this.updateComplete),this._viewport&&!this._virtualScroller&&setTimeout(()=>this._setupVirtualScroller(),0),this._viewport&&this._virtualScroller&&this._viewport!==this._lastViewportElement&&(this._cleanupVirtualScroller?.(),this._virtualScroller=void 0,setTimeout(()=>this._setupVirtualScroller(),0)),this._viewport&&(this._lastViewportElement=this._viewport)}async prepareComponents(J){for(const W of J){W.items=await Promise.all(W.items.map(async X=>({...X,component:await X.componentFactory({item:X})})));for(const X of W.subGroups)X.items=await Promise.all(X.items.map(async te=>({...te,component:await te.componentFactory({item:te})})))}}highlightMatch(J,W){if(!this.searchString||this.searchString.length<2)return J;const X=new RegExp(`(${W})`,"gi");return J.replace(X,'<span class="highlight">$1</span>')}highlighted(J){return J?ae(this.highlightMatch(J,this.searchString)):null}_scrollIntoDate(J){if(!this._virtualScroller)return;const W=this._virtualScroller.findClosestIndex(X=>{const te=X.items?.[0]?.date||X.subGroups?.[0]?.items?.[0]?.date;return te?new Date(te).getTime():0},J,(X,te)=>X-te);W!==-1&&this._virtualScroller.scrollToIndex(W)}_setupVirtualScroller(){!this._viewport||this._virtualScroller||(this._virtualScroller=new VirtualScroller({items:this.historyGroups||[],estimatedItemHeight:200,overscan:8}),this._cleanupVirtualScroller=this._virtualScroller.setup(this._viewport,J=>{this._virtualScrollerState=J,this.requestUpdate(),this.api?.broker&&this.searchString&&this.api.broker.publish(this.api.broker.events.activityHistory.searched,{searchQuery:this.searchString})}),this._virtualScrollerState=this._virtualScroller.getState())}_updateVirtualScroller(){!this._virtualScroller||!this.historyGroups?.length||(this._virtualScroller.updateItems(this.historyGroups,J=>{this._virtualScrollerState=J,this.requestUpdate(),this.api?.broker&&this.searchString&&this.api.broker.publish(this.api.broker.events.activityHistory.searched,{searchQuery:this.searchString})}),this._virtualScrollerState=this._virtualScroller.getState())}get _visibleRows(){return this._virtualScrollerState.virtualItems.map(J=>({index:J.index,group:this.historyGroups?.[J.index]})).filter(J=>!!J.group)}get _containerOffset(){return this._virtualScrollerState.virtualItems[0]?.start??0}get _totalHeight(){return this._virtualScrollerState.totalHeight}};ActivityHistoryTimeline.styles=i$S`
519
+ `}connectedCallback(){super.connectedCallback(),this._noDataMessageTimer=setTimeout(()=>{this._canShowNoDataMessage=!0},2e3)}disconnectedCallback(){super.disconnectedCallback(),this._cleanupVirtualScroller?.(),this._noDataMessageTimer&&clearTimeout(this._noDataMessageTimer)}async updated(J){this._virtualScroller?.willUpdate(),J.has("historyGroups")&&this.historyGroups?.length&&(await this.prepareComponents(this.historyGroups),this._updateVirtualScroller(),await this.updateComplete),this._viewport&&!this._virtualScroller&&setTimeout(()=>this._setupVirtualScroller(),0),this._viewport&&this._virtualScroller&&this._viewport!==this._lastViewportElement&&(this._cleanupVirtualScroller?.(),this._virtualScroller=void 0,setTimeout(()=>this._setupVirtualScroller(),0)),this._viewport&&(this._lastViewportElement=this._viewport)}async prepareComponents(J){for(const W of J){W.items=await Promise.all(W.items.map(async X=>({...X,component:await X.componentFactory({item:X})})));for(const X of W.subGroups)X.items=await Promise.all(X.items.map(async te=>({...te,component:await te.componentFactory({item:te})})))}}highlightMatch(J,W){if(!this.searchString||this.searchString.length<2)return J;const X=new RegExp(`(${W})`,"gi");return J.replace(X,'<span class="highlight">$1</span>')}highlighted(J){return J?ae(this.highlightMatch(J,this.searchString)):null}_scrollIntoDate(J){if(!this._virtualScroller||!this._viewport)return;const W=this.historyGroups??[];if(!W.length)return;const X=startOfDay(J).getTime(),te=oe=>startOfDay(getGroupMostRecentDate(oe)).getTime();let re=W.findIndex(oe=>te(oe)<=X);re===-1&&(re=W.length-1),this._viewport.scrollTop=this._virtualScroller.getOffsetForIndex(re),this._alignGroupTop(re,0)}_alignGroupTop(J,W){W>=4||!this._viewport||requestAnimationFrame(()=>{const X=this._viewport;if(!X)return;const te=this.renderRoot?.querySelector(`.visit[data-index="${J}"]`);if(!te){this._alignGroupTop(J,W+1);return}const re=Math.round(te.getBoundingClientRect().top-X.getBoundingClientRect().top);Math.abs(re)<=1||(X.scrollTop+=re,this._alignGroupTop(J,W+1))})}_setupVirtualScroller(){!this._viewport||this._virtualScroller||(this._virtualScroller=new VirtualScroller({items:this.historyGroups||[],estimatedItemHeight:200,overscan:8}),this._cleanupVirtualScroller=this._virtualScroller.setup(this._viewport,J=>{this._virtualScrollerState=J,this.requestUpdate(),this.api?.broker&&this.searchString&&this.api.broker.publish(this.api.broker.events.activityHistory.searched,{searchQuery:this.searchString})}),this._virtualScrollerState=this._virtualScroller.getState())}_updateVirtualScroller(){!this._virtualScroller||!this.historyGroups?.length||(this._virtualScroller.updateItems(this.historyGroups,J=>{this._virtualScrollerState=J,this.requestUpdate(),this.api?.broker&&this.searchString&&this.api.broker.publish(this.api.broker.events.activityHistory.searched,{searchQuery:this.searchString})}),this._virtualScrollerState=this._virtualScroller.getState())}get _visibleRows(){return this._virtualScrollerState.virtualItems.map(J=>({index:J.index,group:this.historyGroups?.[J.index]})).filter(J=>!!J.group)}get _containerOffset(){return this._virtualScrollerState.virtualItems[0]?.start??0}get _totalHeight(){return this._virtualScrollerState.totalHeight}};ActivityHistoryTimeline.styles=i$S`
520
520
  ${r$M(styles$m)}
521
521
  `,__decorateClass$s([connectedProperty(activityHistoryGroupedItems)],ActivityHistoryTimeline.prototype,"historyGroups",2),__decorateClass$s([connectedProperty(isSomeCollectionLoadedAndOtherLoading)],ActivityHistoryTimeline.prototype,"isSomeCollectionLoadedAndOtherLoading",2),__decorateClass$s([connectedProperty(isAnyCollectionBusySelector)],ActivityHistoryTimeline.prototype,"isAnyCollectionBusy",2),__decorateClass$s([connectedProperty(activityHistorySearchStringSelector)],ActivityHistoryTimeline.prototype,"searchString",2),__decorateClass$s([lazyInject(TYPES.primaryApi)],ActivityHistoryTimeline.prototype,"api",2),__decorateClass$s([e$R(".virtual-container")],ActivityHistoryTimeline.prototype,"_virtualContainer",2),__decorateClass$s([e$R(".virtual-viewport")],ActivityHistoryTimeline.prototype,"_viewport",2),__decorateClass$s([r$J()],ActivityHistoryTimeline.prototype,"_virtualScrollerState",2),__decorateClass$s([r$J()],ActivityHistoryTimeline.prototype,"_canShowNoDataMessage",2),ActivityHistoryTimeline=__decorateClass$s([t$x("activity-history-timeline")],ActivityHistoryTimeline);const template$l=J=>{const W=J.areCustomFiltersActive||J.areCommonFiltersActive||J.areDiagnosticFiltersActive||J.areUpFiltersActive;return!W&&J.searchString.length<1?D$4:ke$1`
522
522
  <div class="active-filters-header">
@@ -616,7 +616,7 @@ ${J.searchString?.length>1?ke$1`
616
616
  </div>
617
617
  `};var __defProp$i=Object.defineProperty,__getOwnPropDesc$8=Object.getOwnPropertyDescriptor,__decorateClass$m=(J,W,X,te)=>{for(var re=te>1?void 0:te?__getOwnPropDesc$8(W,X):W,oe=J.length-1,ne;oe>=0;oe--)(ne=J[oe])&&(re=(te?ne(W,X,re):ne(re))||re);return te&&re&&__defProp$i(W,X,re),re};let ActiveFiltersBadges=class extends h$p{render(){return ke$1`${template$g(this)}`}_onDeleteFilterValue(J,W,X,te){this.api.broker.send(new SetCustomFilterValue({filterGroupId:J,filterId:W,optionId:X,enabled:te}))}_onDeleteCommonFilterValue(J){this.api.broker.send(new SetCommonFilter({id:J,enabled:!1}))}_onDeleteDiagnosticFilterValue(J){this.api.broker.send(new DeleteDiagnosticFilterValueCommand({diagnosticCodi:J}))}_onDeleteUpFilterValue(J){this.api.broker.send(new SetUpFiltersCommand([...this.upFilterEnabled.enabledValues.filter(W=>W!==J)]))}resetFilters(){this.api.broker.send(new ResetFiltersCommand)}};ActiveFiltersBadges.styles=i$S`
618
618
  ${r$M(styles$f)}
619
- `,__decorateClass$m([lazyInject(TYPES.primaryApi)],ActiveFiltersBadges.prototype,"api",2),__decorateClass$m([connectedProperty(activityHistoryEnabledCommonFiltersSelector)],ActiveFiltersBadges.prototype,"enabledCommonFilters",2),__decorateClass$m([connectedProperty(customFilterGroupsWithOptionsSelector)],ActiveFiltersBadges.prototype,"enabledFilters",2),__decorateClass$m([connectedProperty(diagnosticFilterSelector)],ActiveFiltersBadges.prototype,"diagnosticFilterEnabled",2),__decorateClass$m([connectedProperty(upFilterSelector)],ActiveFiltersBadges.prototype,"upFilterEnabled",2),ActiveFiltersBadges=__decorateClass$m([t$x("active-filters-badges")],ActiveFiltersBadges);let request$3;const bootstrapSearchItems=J=>{request$3=J.registerRequest(SearchActivityHistoryItems,SearchItemsHandler)},teardownSearchItems=()=>{request$3?.dispose()},{updateActivityHistoryItem}=activityHistoryCollectionsSlice.actions;class UpdateHistoryItemHandler extends StoreBaseHandler{async handle(W){try{ensureAreValidBasicActivityHistoryItems([W.item]),this.store.dispatch(updateActivityHistoryItem({id:W.entityId,item:W.item}))}catch(X){console.error(X.message)}}}let request$2;const bootstrapUpdateHistoryItem=J=>{request$2=J.registerRequest("update_history_item_request",UpdateHistoryItemHandler)},teardownUpdateHistoryItem=()=>{request$2?.dispose()};let broker;const bootstrapActivityHistoryItem=J=>{broker=brokerExtensions(J,container),bootstrapInjectAsyncHistoryItems(broker,J),bootstrapAddHistoryItem(broker,J),bootstrapAddHistoryItems(broker,J),bootstrapHandleHistoryItemsAddError(broker),bootstrapHandleRefreshHistoryItems(broker),bootstrapUpdateHistoryItem(broker),bootstrapExportPdf(broker),bootstrapFilters(broker,J),bootstrapSearchItems(broker),bootstrapRemoveHistoryItem(broker)},teardownActivityHistoryItem=()=>{teardownInjectAsyncHistoryItems(),teardownAddHistoryItem(),teardownAddHistoryItems(),teardownHandleHistoryItemsAddError(),teardownUpdateHistoryItem(),teardownExportPdf(),teardownFilters(),teardownSearchItems(),teardownRemoveHistoryItem()},pluginName="activity-history",prepareGroupComponents=async J=>{const W=X=>Promise.all(X.map(async te=>({...te,component:te.componentFactory?await te.componentFactory({item:te}):void 0})));return Promise.all(J.map(async X=>({...X,items:await W(X.items||[]),subGroups:await Promise.all((X.subGroups||[]).map(async te=>({...te,items:await W(te.items)})))})))},INITIAL_SCROLLER_STATE={virtualItems:[],totalHeight:0};class ScrollerController{sync({viewport:W,items:X,onStateChange:te,estimatedItemHeight:re=200}){return W?(this._scroller&&W!==this._lastViewport&&this.teardown(),this._scroller?this._scroller.updateItems(X,te):(this._scroller=new VirtualScroller({items:X,estimatedItemHeight:re}),this._cleanup=this._scroller.setup(W,te)),this._lastViewport=W,this._scroller.getState()):this._scroller?.getState()??INITIAL_SCROLLER_STATE}teardown(){this._cleanup?.(),this._cleanup=void 0,this._scroller=void 0,this._lastViewport=void 0}scrollToIndex(W,X){this._scroller?.scrollToIndex(W,X)}measureElement(W){this._scroller?.measureElement(W)}findClosestIndex(W,X,te){return this._scroller?.findClosestIndex(W,X,te)??-1}}const isToday=J=>{const W=new Date(J),X=new Date;return W.toDateString()===X.toDateString()},itemMatchesToday=J=>!!(J&&isToday(J.date)),itemHasAnyDiagnostic=(J,W)=>!!J.diagnostics?.some(X=>W.includes(X.codi)),isAllowedItem=(J,W)=>{const X=J.type?W[J.type]:void 0;return!X?.allowedTagIds||X.allowedTagIds.length===0?!0:X.allowedTagIds.includes(J.tag?.id??"")},groupMatchesToday=J=>{const W=J.items?.[0]||J.subGroups?.[0]?.items?.[0];return itemMatchesToday(W)},filterGroupItemsByPredicate=(J,W)=>({...J,items:(J.items||[]).filter(W),subGroups:(J.subGroups||[]).map(X=>({...X,items:X.items.filter(W)})).filter(X=>X.items.length>0)}),filterGroupByDiagnostics=(J,W)=>filterGroupItemsByPredicate(J,X=>itemHasAnyDiagnostic(X,W)),isGroupNonEmpty=J=>J.items.length>0||J.subGroups.length>0,applyImporterFilters=(J,{todayOnly:W,selectedDiagnosticCodes:X},te={})=>{const re=J.map(de=>filterGroupItemsByPredicate(de,ce=>isAllowedItem(ce,te))).filter(isGroupNonEmpty),oe=W,ne=X.length>0;return!oe&&!ne?re:re.map(de=>oe&&groupMatchesToday(de)?de:ne?filterGroupByDiagnostics(de,X):null).filter(de=>de!==null&&isGroupNonEmpty(de))},flattenGroupItems=J=>{const W=[];for(const X of J){for(const te of X.items||[])W.push(te);for(const te of X.subGroups||[])for(const re of te.items)W.push(re)}return W},styles$e=":host{display:block;height:100%;width:100%}.importer{display:flex;flex-direction:column;gap:12px;height:100%;min-height:0;overflow:hidden}.importer__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.importer__search{display:block}.importer__filters{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding-bottom:8px;border-bottom:1px solid var(--color-neutral-200)}.importer__filters-label{color:var(--color-neutral-700);font-size:13px}.importer__empty{color:var(--color-neutral-600);font-size:13px;padding:24px 0;text-align:center}.virtual-container{flex:1;min-height:0;position:relative}.virtual-viewport{height:100%;overflow:auto}.virtual-content{position:relative;width:100%}.virtual-items{position:relative}.visit:first-child{margin-top:var(--dss-spacing-xs)}.visit{display:flex;flex-direction:column;gap:var(--dss-spacing-sm);background-color:#fff;padding:var(--dss-spacing-sm);margin-bottom:var(--dss-spacing-xs);border-bottom:2px solid var(--color-neutral-300)}.visit:last-child{border-bottom:none}.visit__items,.diagnostics{padding-left:var(--dss-spacing-md)}.visit__header{display:flex;flex-direction:row;align-items:center;gap:16px}.visit__header .title{flex:1;font-size:14px;line-height:24px;display:flex;flex-direction:row;gap:12px;color:var(--color-neutral-800)}.visit__header .title-date{font-weight:700}.visit__header .title-description{font-weight:600;display:flex;flex-direction:row;gap:4px}.visit__items{display:flex;flex-direction:column;gap:var(--dss-spacing-sm)}.visit__items .item[has-divider]{border-bottom:var(--dss-border-width-sm) solid var(--color-neutral-200)}.visit__items .item[has-divider]:last-of-type{border:none}.diagnostics{display:flex;flex-direction:column;gap:var(--dss-spacing-sm);border-bottom:var(--dss-border-width-sm) solid var(--color-neutral-200)}.diagnostics:last-of-type{border:none}.diagnostics__header{display:flex;flex-direction:row;align-items:center;gap:16px;flex-wrap:wrap}.diagnostics__items{display:flex;flex-direction:column}.diagnostics__items .item[has-divider]{border-bottom:var(--dss-border-width-sm) solid var(--color-neutral-200)}.diagnostics__items .item[has-divider]:last-of-type{border:none}.item{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start}.item__check{margin-top:4px}",checkboxState=J=>({checked:J==="all",indeterminate:J==="some"}),template$f=J=>{const W=checkboxState(J.allState());return ke$1`
619
+ `,__decorateClass$m([lazyInject(TYPES.primaryApi)],ActiveFiltersBadges.prototype,"api",2),__decorateClass$m([connectedProperty(activityHistoryEnabledCommonFiltersSelector)],ActiveFiltersBadges.prototype,"enabledCommonFilters",2),__decorateClass$m([connectedProperty(customFilterGroupsWithOptionsSelector)],ActiveFiltersBadges.prototype,"enabledFilters",2),__decorateClass$m([connectedProperty(diagnosticFilterSelector)],ActiveFiltersBadges.prototype,"diagnosticFilterEnabled",2),__decorateClass$m([connectedProperty(upFilterSelector)],ActiveFiltersBadges.prototype,"upFilterEnabled",2),ActiveFiltersBadges=__decorateClass$m([t$x("active-filters-badges")],ActiveFiltersBadges);let request$3;const bootstrapSearchItems=J=>{request$3=J.registerRequest(SearchActivityHistoryItems,SearchItemsHandler)},teardownSearchItems=()=>{request$3?.dispose()},{updateActivityHistoryItem}=activityHistoryCollectionsSlice.actions;class UpdateHistoryItemHandler extends StoreBaseHandler{async handle(W){try{ensureAreValidBasicActivityHistoryItems([W.item]),this.store.dispatch(updateActivityHistoryItem({id:W.entityId,item:W.item}))}catch(X){console.error(X.message)}}}let request$2;const bootstrapUpdateHistoryItem=J=>{request$2=J.registerRequest("update_history_item_request",UpdateHistoryItemHandler)},teardownUpdateHistoryItem=()=>{request$2?.dispose()};let broker;const bootstrapActivityHistoryItem=J=>{broker=brokerExtensions(J,container),bootstrapInjectAsyncHistoryItems(broker,J),bootstrapAddHistoryItem(broker,J),bootstrapAddHistoryItems(broker,J),bootstrapHandleHistoryItemsAddError(broker),bootstrapHandleRefreshHistoryItems(broker),bootstrapUpdateHistoryItem(broker),bootstrapExportPdf(broker),bootstrapFilters(broker,J),bootstrapSearchItems(broker),bootstrapRemoveHistoryItem(broker)},teardownActivityHistoryItem=()=>{teardownInjectAsyncHistoryItems(),teardownAddHistoryItem(),teardownAddHistoryItems(),teardownHandleHistoryItemsAddError(),teardownUpdateHistoryItem(),teardownExportPdf(),teardownFilters(),teardownSearchItems(),teardownRemoveHistoryItem()},pluginName="activity-history",prepareGroupComponents=async J=>{const W=X=>Promise.all(X.map(async te=>({...te,component:te.componentFactory?await te.componentFactory({item:te}):void 0})));return Promise.all(J.map(async X=>({...X,items:await W(X.items||[]),subGroups:await Promise.all((X.subGroups||[]).map(async te=>({...te,items:await W(te.items)})))})))},INITIAL_SCROLLER_STATE={virtualItems:[],totalHeight:0};class ScrollerController{sync({viewport:W,items:X,onStateChange:te,estimatedItemHeight:re=200}){return W?(this._scroller&&W!==this._lastViewport&&this.teardown(),this._scroller?this._scroller.updateItems(X,te):(this._scroller=new VirtualScroller({items:X,estimatedItemHeight:re}),this._cleanup=this._scroller.setup(W,te)),this._lastViewport=W,this._scroller.getState()):this._scroller?.getState()??INITIAL_SCROLLER_STATE}teardown(){this._cleanup?.(),this._cleanup=void 0,this._scroller=void 0,this._lastViewport=void 0}scrollToIndex(W,X){this._scroller?.scrollToIndex(W,X)}measureElement(W){this._scroller?.measureElement(W)}}const isToday=J=>{const W=new Date(J),X=new Date;return W.toDateString()===X.toDateString()},itemMatchesToday=J=>!!(J&&isToday(J.date)),itemHasAnyDiagnostic=(J,W)=>!!J.diagnostics?.some(X=>W.includes(X.codi)),isAllowedItem=(J,W)=>{const X=J.type?W[J.type]:void 0;return!X?.allowedTagIds||X.allowedTagIds.length===0?!0:X.allowedTagIds.includes(J.tag?.id??"")},groupMatchesToday=J=>{const W=J.items?.[0]||J.subGroups?.[0]?.items?.[0];return itemMatchesToday(W)},filterGroupItemsByPredicate=(J,W)=>({...J,items:(J.items||[]).filter(W),subGroups:(J.subGroups||[]).map(X=>({...X,items:X.items.filter(W)})).filter(X=>X.items.length>0)}),filterGroupByDiagnostics=(J,W)=>filterGroupItemsByPredicate(J,X=>itemHasAnyDiagnostic(X,W)),isGroupNonEmpty=J=>J.items.length>0||J.subGroups.length>0,applyImporterFilters=(J,{todayOnly:W,selectedDiagnosticCodes:X},te={})=>{const re=J.map(de=>filterGroupItemsByPredicate(de,ce=>isAllowedItem(ce,te))).filter(isGroupNonEmpty),oe=W,ne=X.length>0;return!oe&&!ne?re:re.map(de=>oe&&groupMatchesToday(de)?de:ne?filterGroupByDiagnostics(de,X):null).filter(de=>de!==null&&isGroupNonEmpty(de))},flattenGroupItems=J=>{const W=[];for(const X of J){for(const te of X.items||[])W.push(te);for(const te of X.subGroups||[])for(const re of te.items)W.push(re)}return W},styles$e=":host{display:block;height:100%;width:100%}.importer{display:flex;flex-direction:column;gap:12px;height:100%;min-height:0;overflow:hidden}.importer__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.importer__search{display:block}.importer__filters{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding-bottom:8px;border-bottom:1px solid var(--color-neutral-200)}.importer__filters-label{color:var(--color-neutral-700);font-size:13px}.importer__empty{color:var(--color-neutral-600);font-size:13px;padding:24px 0;text-align:center}.virtual-container{flex:1;min-height:0;position:relative}.virtual-viewport{height:100%;overflow:auto}.virtual-content{position:relative;width:100%}.virtual-items{position:relative}.visit:first-child{margin-top:var(--dss-spacing-xs)}.visit{display:flex;flex-direction:column;gap:var(--dss-spacing-sm);background-color:#fff;padding:var(--dss-spacing-sm);margin-bottom:var(--dss-spacing-xs);border-bottom:2px solid var(--color-neutral-300)}.visit:last-child{border-bottom:none}.visit__items,.diagnostics{padding-left:var(--dss-spacing-md)}.visit__header{display:flex;flex-direction:row;align-items:center;gap:16px}.visit__header .title{flex:1;font-size:14px;line-height:24px;display:flex;flex-direction:row;gap:12px;color:var(--color-neutral-800)}.visit__header .title-date{font-weight:700}.visit__header .title-description{font-weight:600;display:flex;flex-direction:row;gap:4px}.visit__items{display:flex;flex-direction:column;gap:var(--dss-spacing-sm)}.visit__items .item[has-divider]{border-bottom:var(--dss-border-width-sm) solid var(--color-neutral-200)}.visit__items .item[has-divider]:last-of-type{border:none}.diagnostics{display:flex;flex-direction:column;gap:var(--dss-spacing-sm);border-bottom:var(--dss-border-width-sm) solid var(--color-neutral-200)}.diagnostics:last-of-type{border:none}.diagnostics__header{display:flex;flex-direction:row;align-items:center;gap:16px;flex-wrap:wrap}.diagnostics__items{display:flex;flex-direction:column}.diagnostics__items .item[has-divider]{border-bottom:var(--dss-border-width-sm) solid var(--color-neutral-200)}.diagnostics__items .item[has-divider]:last-of-type{border:none}.item{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start}.item__check{margin-top:4px}",checkboxState=J=>({checked:J==="all",indeterminate:J==="some"}),template$f=J=>{const W=checkboxState(J.allState());return ke$1`
620
620
  <div class="importer">
621
621
  ${headerTemplate(J)} ${searchTemplate(J)} ${filtersTemplate(J,W)} ${listTemplate(J)}
622
622
  </div>