react-semaphor 0.0.519 → 0.0.520

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.
@@ -444,7 +444,7 @@ Valid keys: `+JSON.stringify(Object.keys(j),null," "));var Q=ne(q,Z,H,B,G+"."+Z
444
444
  [zustand devtools middleware] Unsupported __setState action format.
445
445
  When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),
446
446
  and value of this only key should be a state object. Example: { "type": "__setState", "state": { "abc123Store": { "foo": "bar" } } }
447
- `);const v=y.state[a];if(v==null)return;JSON.stringify(o.getState())!==JSON.stringify(v)&&p(v);return}o.dispatchFromDevtools&&typeof o.dispatch=="function"&&o.dispatch(y)});case"DISPATCH":switch(g.payload.type){case"RESET":return p(m),a===void 0?u==null?void 0:u.init(o.getState()):u==null?void 0:u.init(um(l.name));case"COMMIT":if(a===void 0){u==null||u.init(o.getState());return}return u==null?void 0:u.init(um(l.name));case"ROLLBACK":return qv(g.state,y=>{if(a===void 0){p(y),u==null||u.init(o.getState());return}p(y[a]),u==null||u.init(um(l.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return qv(g.state,y=>{if(a===void 0){p(y);return}JSON.stringify(o.getState())!==JSON.stringify(y[a])&&p(y[a])});case"IMPORT_STATE":{const{nextLiftedState:y}=g.payload,v=(b=y.computedStates.slice(-1)[0])==null?void 0:b.state;if(!v)return;p(a===void 0?v:v[a]),u==null||u.send(null,y);return}case"PAUSE_RECORDING":return h=!h}return}}),m},H5=MZ,qv=(e,t)=>{let n;try{n=JSON.parse(e)}catch(r){console.error("[zustand devtools middleware] Could not parse the received json",r)}n!==void 0&&t(n)};let dm;const PZ=new Uint8Array(16);function IZ(){if(!dm&&(dm=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!dm))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return dm(PZ)}const zn=[];for(let e=0;e<256;++e)zn.push((e+256).toString(16).slice(1));function jZ(e,t=0){return zn[e[t+0]]+zn[e[t+1]]+zn[e[t+2]]+zn[e[t+3]]+"-"+zn[e[t+4]]+zn[e[t+5]]+"-"+zn[e[t+6]]+zn[e[t+7]]+"-"+zn[e[t+8]]+zn[e[t+9]]+"-"+zn[e[t+10]]+zn[e[t+11]]+zn[e[t+12]]+zn[e[t+13]]+zn[e[t+14]]+zn[e[t+15]]}const TZ=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),nD={randomUUID:TZ};function br(e,t,n){if(nD.randomUUID&&!e)return nD.randomUUID();e=e||{};const r=e.random||(e.rng||IZ)();return r[6]=r[6]&15|64,r[8]=r[8]&63|128,jZ(r)}function AZ(e){var r;if(!(e!=null&&e.length))return;const t=new Map;for(const o of e)for(const i of o.filterGroups)for(const s of i.filters){if(!((r=s.field)!=null&&r.id))continue;const a=s.field.id;t.has(a)||t.set(a,[]),t.get(a).push({field:s.field,value:s.value})}const n=[];for(const[o,i]of t.entries())if(i.length===1){const s=i[0];n.push({id:br(),logicalOperator:"AND",negate:!1,conditions:[{id:br(),field:s.field,operator:"=",value:s.value}],groups:[]})}else{const s=i[0].field,l=i.map(c=>c.value).map(c=>({id:br(),field:s,operator:"=",value:c}));n.push({id:br(),logicalOperator:"OR",negate:!1,conditions:l,groups:[]})}if(n.length!==0)return{id:br(),logicalOperator:"AND",negate:!1,conditions:[],groups:n}}function OZ(e){const t=e.filter(Boolean);if(t.length!==0)return t.length===1?t[0]:{id:br(),logicalOperator:"AND",negate:!1,conditions:[],groups:t}}function FZ(e){if(!e)return;const t=n=>({logicalOperator:n.logicalOperator,negate:n.negate,conditions:n.conditions.map(r=>({field:r.field.id,operator:r.operator,value:r.value})),groups:n.groups.map(t)});return JSON.stringify(t(e))}const i2=rc((e,t)=>({context:null,setContext:n=>e({context:n}),appendCondition:n=>{const r=t().context;r&&e({context:{...r,type:"multiClick",conditions:[...r.conditions,n]}})},clear:()=>e({context:null})}));function U1({intent:e,card:t}){var i,s,a,l,c,u;const n=i2.getState().context;if(!n||!((i=n.conditions)!=null&&i.length))return;const r={sourceCardId:n.cardId,filterGroups:[{filters:n.conditions}],metric:n.metric},o=t==null?void 0:t.interactionConfig;switch(e.mode){case"clickFilter":{const[d]=(o==null?void 0:o.clickFilterInteractions)??[];return{interactionMode:"clickFilter",...r,applyToCardIds:d==null?void 0:d.applyToCardIds,excludeCardIds:d==null?void 0:d.excludeCardIds}}case"drillDown":{const d=(s=o==null?void 0:o.drillHierarchies)==null?void 0:s.find(h=>h.id===e.hierarchyId);return d?{interactionMode:"drillDown",...r,hierarchyId:d.id,toField:e.drillField}:void 0}case"dynamicDrill":return{interactionMode:"dynamicDrill",...r,toField:e.drillField};case"drillToDetail":{const d=(a=o==null?void 0:o.drillInteractions)==null?void 0:a.find(h=>h.mode==="drillToDetail");return!d||!((l=d.detailFields)!=null&&l.length)?void 0:{interactionMode:"drillToDetail",...r,detailFields:d.detailFields,sortBy:d.sortBy,limit:d.limit}}case"drillToURL":{const d=(c=o==null?void 0:o.drillInteractions)==null?void 0:c.find(h=>h.mode==="drillToURL");return!d||!d.urlTemplate?void 0:{interactionMode:"drillToURL",...r,url:d.urlTemplate}}case"drillThrough":{const d=(u=o==null?void 0:o.drillInteractions)==null?void 0:u.find(h=>h.mode==="drillThrough");return!d||!d.targetSheetId?void 0:{interactionMode:"drillThrough",...r,targetSheetId:d.targetSheetId}}case"inlineDrill":return{interactionMode:"inlineDrill",...r,fetchMode:"lazy",inlineLimit:10};default:return}}function $o(e,t){if(e.sourceCardId!==t.sourceCardId||!Array.isArray(e.filterGroups)||!Array.isArray(t.filterGroups)||e.filterGroups.length!==t.filterGroups.length)return!1;const n=s=>s.filters.map(a=>({fieldId:a.field.id,value:String(a.value),operator:a.operator??"="})).sort((a,l)=>a.fieldId!==l.fieldId?a.fieldId.localeCompare(l.fieldId):a.value.localeCompare(l.value)),r=s=>s.map(n).sort((a,l)=>{const c=a.map(d=>`${d.fieldId}:${d.value}`).join("|"),u=l.map(d=>`${d.fieldId}:${d.value}`).join("|");return c.localeCompare(u)}),o=r(e.filterGroups),i=r(t.filterGroups);return o.every((s,a)=>{const l=i[a];return s.length!==l.length?!1:s.every((c,u)=>{const d=l[u];return c.fieldId===d.fieldId&&c.value===d.value&&c.operator===d.operator})})}function LZ(e){const t=ro(),n=i2();return{handlePointerInteraction:({context:o,gesture:i,position:s,modifierKeys:a})=>{var m,g;if(n.setContext({type:i,cardId:e.id,conditions:o.conditions,metric:(m=o.metrics)==null?void 0:m[0],anchorPosition:s}),i!=="leftClick"||!((g=e.interactionConfig)==null?void 0:g.clickFilterInteractions))return;const c=U1({intent:{mode:"clickFilter"},card:e});if(!c)return;const u=t.interactionStates[e.id]??Bc(),d=u.appliedClickFilters??[],h=d.some(b=>$o(b,c));if(a==null?void 0:a.shift){const b=h?d.filter(y=>!$o(y,c)):[...d,c];t.setInteractionState(e.id,{...u,appliedClickFilters:b})}else h&&d.length===1?t.setInteractionState(e.id,{...u,appliedClickFilters:[]}):t.setInteractionState(e.id,{...u,appliedClickFilters:[c]})}}}const vf=rc()(H5((e,t)=>({clearBlurCallbacks:{},registerClearBlurCallback:(n,r)=>{e(o=>({clearBlurCallbacks:{...o.clearBlurCallbacks,[n]:r}}))},clearBlurForCard:n=>{const o=t().clearBlurCallbacks[n];if(o)try{o()}catch(i){console.warn(`Failed to clear blur for card ${n}:`,i),e(s=>{const{[n]:a,...l}=s.clearBlurCallbacks;return{clearBlurCallbacks:l}})}},clearAllBlur:()=>{const n=t(),r=[];Object.entries(n.clearBlurCallbacks).forEach(([o,i])=>{if(i)try{i()}catch(s){console.warn(`Failed to clear blur for card ${o}:`,s),r.push(o)}}),r.length>0&&e(o=>{const i={...o.clearBlurCallbacks};return r.forEach(s=>{delete i[s]}),{clearBlurCallbacks:i}})},unregisterCard:n=>{e(r=>{const{[n]:o,...i}=r.clearBlurCallbacks;return{clearBlurCallbacks:i}})}}),{name:"chartjs-store"}));function Bc(){return{breadcrumbs:[],hierarchyId:void 0,appliedClickFilters:[]}}const ro=rc()(H5(e=>({interactionStates:{},setInteractionState:(t,n)=>{e(r=>({interactionStates:{...r.interactionStates,[t]:n}}))},resetInteractionState:t=>{e(n=>({interactionStates:{...n.interactionStates,[t]:Bc()}}))},toggleClickFilter:(t,n)=>{e(r=>{const o=r.interactionStates[t]??Bc(),i=o.appliedClickFilters??[],s=i.some(l=>$o(l,n)),a=s?i.filter(l=>!$o(l,n)):[...i,n];return s&&a.filter(c=>c.sourceCardId===n.sourceCardId).length===0&&vf.getState().clearBlurForCard(n.sourceCardId),{interactionStates:{...r.interactionStates,[t]:{...o,appliedClickFilters:a}}}})},removeClickFiltersByValue:(t,n,r)=>{e(o=>{const i=o.interactionStates[t]??Bc(),s=i.appliedClickFilters??[],a=s.filter(u=>u.filterGroups.some(d=>d.filters.some(h=>{const p=h.field.label,m=h.field.name;return(p===n||m===n)&&h.value===r}))),l=new Set,c=s.filter(u=>{const d=a.some(h=>$o(u,h));return d&&l.add(u.sourceCardId),!d});return l.forEach(u=>{const d=o.interactionStates[u],p=((d==null?void 0:d.appliedClickFilters)??[]).filter(g=>!a.some(b=>$o(g,b)));let m=!1;Object.entries(o.interactionStates).forEach(([g,b])=>{g===u?p.length>0&&(m=!0):((b==null?void 0:b.appliedClickFilters)??[]).some(x=>x.sourceCardId===u)&&(m=!0)}),m||vf.getState().clearBlurForCard(u),o.interactionStates[u]={...d,appliedClickFilters:p}}),{interactionStates:{...o.interactionStates,[t]:{...i,appliedClickFilters:c}}}})},applyInteractionEvent:(t,n,r=!1)=>{e(o=>{var a;const i=o.interactionStates[t]??Bc(),s=r?Bc():i;if(n.interactionMode==="clickFilter"){const l=r?[n]:[...s.appliedClickFilters??[],n];return{interactionStates:{...o.interactionStates,[t]:{...s,appliedClickFilters:l}}}}if(n.interactionMode==="drillDown"||n.interactionMode==="dynamicDrill"){if(!((a=n.filterGroups)!=null&&a.length))return o;const l={sourceFilterGroups:n.filterGroups,toField:n.toField,granularity:n.granularity,timeComparison:n.timeComparison,metric:n.metric};return{interactionStates:{...o.interactionStates,[t]:{...i,hierarchyId:n.interactionMode==="drillDown"?n.hierarchyId:i.hierarchyId,breadcrumbs:[...i.breadcrumbs??[],l]}}}}return o})},popInteractionStep:t=>{e(n=>{var i;const r=n.interactionStates[t];if(!((i=r==null?void 0:r.breadcrumbs)!=null&&i.length))return n;const o=r.breadcrumbs.slice(0,-1);return{interactionStates:{...n.interactionStates,[t]:{...r,breadcrumbs:o,hierarchyId:o.length===0?void 0:r.hierarchyId}}}})},clearAllClickFilters:()=>{e(t=>{const n={...t.interactionStates};for(const r in n)n[r]={...n[r],appliedClickFilters:[]};return vf.getState().clearAllBlur(),{interactionStates:n}})}}),{name:"interaction-store"})),s2=e=>ro(t=>Object.values(t.interactionStates).flatMap(r=>r.appliedClickFilters??[]).filter(r=>{var o,i;return r.sourceCardId===e?!1:(o=r.applyToCardIds)!=null&&o.length?r.applyToCardIds.includes(e):(i=r.excludeCardIds)!=null&&i.length?!r.excludeCardIds.includes(e):!0}));function W5(e){var c;const t=e.id,n=(c=e.config)==null?void 0:c.filters,r=s2(t),o=AZ(r),i=ro(u=>u.interactionStates[t]),a=((i==null?void 0:i.breadcrumbs)??[]).map((u,d)=>({id:`breadcrumb-${d}`,logicalOperator:"OR",negate:!1,conditions:[],groups:u.sourceFilterGroups.map((h,p)=>({id:`breadcrumb-${d}-group-${p}`,logicalOperator:"AND",negate:!1,conditions:h.filters.map(m=>({id:`${m.field.id}-${m.value}`,field:m.field,operator:"=",value:m.value})),groups:[]}))})),l=a.length>0?{id:`${t}-drill-root`,logicalOperator:"AND",negate:!1,conditions:[],groups:a}:void 0;return OZ([n,o,l])}function U5(e){var s,a;const t=e.id,n=ro(l=>l.interactionStates[t]),r=(s=n==null?void 0:n.breadcrumbs)==null?void 0:s.slice(-1)[0],o=r!=null&&r.toField?[r.toField]:(a=e.config)==null?void 0:a.groupByColumns,i=W5(e);return{...e.config,groupByColumns:o,filters:i}}function $Z(e){const t=W5(e);return FZ(t)}function q5(){const e=re(i=>i.dashboard.filters),t=re(i=>i.filterValues),n=re(i=>i.selectedSheetId),r=e==null?void 0:e.filter(i=>i.sheetId===n||!i.sheetId),o=t==null?void 0:t.filter(i=>(r==null?void 0:r.some(s=>s.id===i.filterId))||i.filterId.endsWith(n));return{sheetFilters:r,sheetFilterValues:o}}function G5(e){const t=re(u=>u.selectedLensId),{filterColumns:n,...r}=e.queryConfig||{},o=$Z(e)||"",i=n==null?void 0:n.filter(u=>{var d,h;return(h=(d=e.queryConfig)==null?void 0:d.filters)==null?void 0:h.some(p=>p.filterColumnName===u.name)}),{sheetFilterValues:s}=q5(),a=(e==null?void 0:e.sql)||"",l=zZ((e==null?void 0:e.python)||"");return{queryKey:["query",e==null?void 0:e.id,a,l,t||"",JSON.stringify(s),JSON.stringify(r),JSON.stringify(i),JSON.stringify(e.config),o],sql:a,sheetFilterValues:s}}function zZ(e){return e===lE?"":e}const rD={},BZ=e=>({updatePageSize:t=>e(n=>{var r,o,i;return{card:{...n.card,preferences:{...(r=n.card)==null?void 0:r.preferences,tablePrefs:{...(i=(o=n.card)==null?void 0:o.preferences)==null?void 0:i.tablePrefs,pageSize:t}}}}}),updateColumnSettingsMap:t=>e(n=>{var r,o,i;return{card:{...n.card,preferences:{...(r=n.card)==null?void 0:r.preferences,tablePrefs:{...(i=(o=n.card)==null?void 0:o.preferences)==null?void 0:i.tablePrefs,columnSettingsMap:t}}}}}),updateColumnVisibility:(t,n)=>e(r=>{var s,a,l,c,u,d;const i={...((l=(a=(s=r.card)==null?void 0:s.preferences)==null?void 0:a.tablePrefs)==null?void 0:l.columnVisibility)||{},[t]:n};return{card:{...r.card,preferences:{...(c=r.card)==null?void 0:c.preferences,tablePrefs:{...(d=(u=r.card)==null?void 0:u.preferences)==null?void 0:d.tablePrefs,columnVisibility:i}}}}}),showAllColumns:()=>e(t=>{var i,s,a,l,c,u;const n=((a=(s=(i=t.card)==null?void 0:i.preferences)==null?void 0:s.tablePrefs)==null?void 0:a.columnVisibility)||rD,r=Object.keys(n);if(r.length===0)return t;const o={};return r.forEach(d=>{o[d]=!0}),{card:{...t.card,preferences:{...(l=t.card)==null?void 0:l.preferences,tablePrefs:{...(u=(c=t.card)==null?void 0:c.preferences)==null?void 0:u.tablePrefs,columnVisibility:o}}}}}),hideAllColumns:()=>e(t=>{var i,s,a,l,c,u;const n=((a=(s=(i=t.card)==null?void 0:i.preferences)==null?void 0:s.tablePrefs)==null?void 0:a.columnVisibility)||rD,r=Object.keys(n);if(r.length===0)return t;const o={};return r.forEach(d=>{o[d]=!1}),{card:{...t.card,preferences:{...(l=t.card)==null?void 0:l.preferences,tablePrefs:{...(u=(c=t.card)==null?void 0:c.preferences)==null?void 0:u.tablePrefs,columnVisibility:o}}}}}),toggleSelectColumn:t=>e(n=>{var r,o,i;return{card:{...n.card,preferences:{...(r=n.card)==null?void 0:r.preferences,tablePrefs:{...(i=(o=n.card)==null?void 0:o.preferences)==null?void 0:i.tablePrefs,selectColumnVisible:t}}}}}),initializeColumnVisibility:t=>e(n=>{var o,i,s;const r={};return t.forEach(a=>{r[a]=!0}),{card:{...n.card,preferences:{...(o=n.card)==null?void 0:o.preferences,tablePrefs:{...(s=(i=n.card)==null?void 0:i.preferences)==null?void 0:s.tablePrefs,columnVisibility:r}}}}}),updateAllColumnVisibility:t=>typeof t=="function"?(console.error("Function updater received instead of visibility object - ignoring"),e(n=>n)):e(n=>{var r,o,i;return{card:{...n.card,preferences:{...(r=n.card)==null?void 0:r.preferences,tablePrefs:{...(i=(o=n.card)==null?void 0:o.preferences)==null?void 0:i.tablePrefs,columnVisibility:t}}}}})}),VZ=(e,t)=>({updateFrame:n=>{e(r=>{Object.assign(r.frame,n)})},setActiveCardInFrame:n=>{const{frame:r}=t(),o=r.cards.find(i=>i.id===n);o&&e(i=>{i.frame.activeCardId=n,i.card=o})},addCard:()=>{const{frame:n}=t(),r={type:"bar",id:`card-${Date.now()}`,title:`Card ${n.cards.length+1}`,dataSource:{connectionId:"",connectionType:"",mode:"database",selectedEntities:[]},config:{groupByColumns:[],metricColumns:[],pivotByColumns:[],sortByColumns:[]}};e(o=>{o.frame.cards.push(r),o.frame.activeCardId=r.id,o.card=r})},removeCard:n=>{const{frame:r}=t();r.cards.length<=1||e(o=>{const i=o.frame.cards.findIndex(s=>s.id===n);if(i!==-1&&o.frame.cards.splice(i,1),o.frame.activeCardId===n){const s=o.frame.cards[0];s&&(o.frame.activeCardId=s.id,o.card=s)}})},updateCard:(n,r)=>{e(o=>{o.card.id===n&&Object.assign(o.card,r)})},setActiveCard:n=>{const{frame:r}=t(),o=r.cards.find(i=>i.id===n);o&&e(i=>{i.frame.activeCardId=n,i.card=o})},setActiveTabCard:n=>{e(r=>{r.activeTabCardId=n})},setDataSource:n=>{e(r=>{r.card.dataSource=n})},updateDataSource:n=>{e(r=>{const o={...n};r.card.dataSource=o})},updateSemanticDomain:n=>{e(r=>{r.card.dataSource?(r.card.dataSource.semanticDomainId=n,r.card.dataSource.mode="semanticDomain"):r.card.dataSource={connectionId:"",connectionType:"",mode:"semanticDomain",semanticDomainId:n,selectedEntities:[]}})},updateDirectSource:n=>{e(r=>{r.card.dataSource?r.card.dataSource={...r.card.dataSource,...n}:r.card.dataSource={connectionId:"",connectionType:"",mode:"database",...n,selectedEntities:[]}})},getAvailableFields:()=>[],updateCardConfig:(n,r)=>{e(o=>{o.card.id===n&&(o.card.config={...o.card.config,...r})})},updateRowLimit:(n,r)=>{e(o=>{o.card.id===n&&(o.card.config||(o.card.config={}),o.card.config.rowLimit=r)})},addGroupByColumn:(n,r)=>{e(o=>{var i;o.card.id===n&&((i=o.card.config)!=null&&i.groupByColumns||(o.card.config.groupByColumns=[]),o.card.config.groupByColumns.push(r))})},removeGroupByColumn:(n,r)=>{e(o=>{var i;if(o.card.id===n&&((i=o.card.config)!=null&&i.groupByColumns)){const s=o.card.config.groupByColumns.findIndex(a=>a.id===r);s!==-1&&o.card.config.groupByColumns.splice(s,1)}})},updateGroupByColumn:(n,r,o)=>{e(i=>{var s;if(i.card.id===n&&((s=i.card.config)!=null&&s.groupByColumns)){const a=i.card.config.groupByColumns.findIndex(l=>l.id===r);a!==-1&&Object.assign(i.card.config.groupByColumns[a],o)}})},addMetricColumn:(n,r)=>{e(o=>{var i;o.card.id===n&&((i=o.card.config)!=null&&i.metricColumns||(o.card.config.metricColumns=[]),o.card.config.metricColumns.push(r))})},removeMetricColumn:(n,r)=>{e(o=>{var i;if(o.card.id===n&&((i=o.card.config)!=null&&i.metricColumns)){const s=o.card.config.metricColumns.findIndex(a=>a.id===r);s!==-1&&o.card.config.metricColumns.splice(s,1)}})},updateMetricColumn:(n,r,o)=>{e(i=>{var s;if(i.card.id===n&&((s=i.card.config)!=null&&s.metricColumns)){const a=i.card.config.metricColumns.findIndex(l=>l.id===r);a!==-1&&Object.assign(i.card.config.metricColumns[a],o)}})},addPivotByColumn:(n,r)=>{e(o=>{var i;o.card.id===n&&((i=o.card.config)!=null&&i.pivotByColumns||(o.card.config.pivotByColumns=[]),o.card.config.pivotByColumns.push(r))})},removePivotByColumn:(n,r)=>{e(o=>{var i;if(o.card.id===n&&((i=o.card.config)!=null&&i.pivotByColumns)){const s=o.card.config.pivotByColumns.findIndex(a=>a.id===r);s!==-1&&o.card.config.pivotByColumns.splice(s,1)}})},updatePivotByColumn:(n,r,o)=>{e(i=>{var s;if(i.card.id===n&&((s=i.card.config)!=null&&s.pivotByColumns)){const a=i.card.config.pivotByColumns.findIndex(l=>l.id===r);a!==-1&&Object.assign(i.card.config.pivotByColumns[a],o)}})},addSortByColumn:(n,r)=>{e(o=>{var i;o.card.id===n&&((i=o.card.config)!=null&&i.sortByColumns||(o.card.config.sortByColumns=[]),o.card.config.sortByColumns.push(r))})},removeSortByColumn:(n,r)=>{e(o=>{var i;if(o.card.id===n&&((i=o.card.config)!=null&&i.sortByColumns)){const s=o.card.config.sortByColumns.findIndex(a=>a.id===r);s!==-1&&o.card.config.sortByColumns.splice(s,1)}})},updateSortByColumn:(n,r,o)=>{e(i=>{var s;if(i.card.id===n&&((s=i.card.config)!=null&&s.sortByColumns)){const a=i.card.config.sortByColumns.findIndex(l=>l.id===r);a!==-1&&Object.assign(i.card.config.sortByColumns[a],o)}})},updateFilters:(n,r)=>{e(o=>{o.card.id===n&&(o.card.config||(o.card.config={}),o.card.config.filters=r)})},clearFilters:n=>{e(r=>{r.card.id===n&&r.card.config&&(r.card.config.filters=void 0)})},addJoin:(n,r)=>{e(o=>{var i;o.card.id===n&&((i=o.card.config)!=null&&i.joinPlan||(o.card.config.joinPlan={baseEntity:{connectionId:"",connectionType:"none",type:"table",name:""},joins:[]}),o.card.config.joinPlan.joins.push(r))})},removeJoin:(n,r)=>{e(o=>{var i;if(o.card.id===n&&((i=o.card.config)!=null&&i.joinPlan)){const s=o.card.config.joinPlan.joins.findIndex(a=>a.id===r);s!==-1&&o.card.config.joinPlan.joins.splice(s,1)}})},updateJoin:(n,r,o)=>{e(i=>{var s;if(i.card.id===n&&((s=i.card.config)!=null&&s.joinPlan)){const a=i.card.config.joinPlan.joins.findIndex(l=>l.id===r);a!==-1&&Object.assign(i.card.config.joinPlan.joins[a],o)}})},reorderJoins:(n,r)=>{e(o=>{var i;if(o.card.id===n&&((i=o.card.config)!=null&&i.joinPlan)){const s=r.map((a,l)=>{const c=o.card.config.joinPlan.joins.find(u=>u.id===a);return c?{...c,sequence:l}:null}).filter(Boolean);o.card.config.joinPlan.joins=s}})}}),HZ=[],WZ=[],UZ=[],qZ=[],GZ=e=>({updateDrillHierarchies:t=>{e(n=>({card:{...n.card,interactionConfig:{...n.card.interactionConfig,drillHierarchies:t}}}))},addDrillHierarchy:t=>e(n=>{var o;const r=((o=n.card.interactionConfig)==null?void 0:o.drillHierarchies)||[];return{card:{...n.card,interactionConfig:{...n.card.interactionConfig,drillHierarchies:[...r,t]}}}}),removeDrillHierarchy:t=>e(n=>{var o;const r=((o=n.card.interactionConfig)==null?void 0:o.drillHierarchies)||[];return{card:{...n.card,interactionConfig:{...n.card.interactionConfig,drillHierarchies:r.filter(i=>i.id!==t)}}}}),updateDrillHierarchy:(t,n)=>e(r=>{var i;const o=((i=r.card.interactionConfig)==null?void 0:i.drillHierarchies)||[];return{card:{...r.card,interactionConfig:{...r.card.interactionConfig,drillHierarchies:o.map(s=>s.id===t?{...s,...n}:s)}}}}),setDefaultHierarchy:t=>e(n=>{var o;const r=((o=n.card.interactionConfig)==null?void 0:o.drillHierarchies)||[];return{card:{...n.card,interactionConfig:{...n.card.interactionConfig,drillHierarchies:r.map(i=>({...i,default:i.id===t}))}}}}),updateAllowedDrillTargets:t=>e(n=>({card:{...n.card,interactionConfig:{...n.card.interactionConfig,allowedDrillTargets:t}}})),addDrillTarget:t=>e(n=>{var o;const r=((o=n.card.interactionConfig)==null?void 0:o.allowedDrillTargets)||[];return r.some(i=>i.id===t.id)?n:{card:{...n.card,interactionConfig:{...n.card.interactionConfig,allowedDrillTargets:[...r,t]}}}}),removeDrillTarget:t=>e(n=>{var o;const r=((o=n.card.interactionConfig)==null?void 0:o.allowedDrillTargets)||[];return{card:{...n.card,interactionConfig:{...n.card.interactionConfig,allowedDrillTargets:r.filter(i=>i.id!==t)}}}}),updateDrillInteractions:t=>e(n=>({card:{...n.card,interactionConfig:{...n.card.interactionConfig,drillInteractions:t}}})),addDrillInteraction:t=>e(n=>{var o;const r=((o=n.card.interactionConfig)==null?void 0:o.drillInteractions)||[];return{card:{...n.card,interactionConfig:{...n.card.interactionConfig,drillInteractions:[...r,t]}}}}),removeDrillInteraction:t=>e(n=>{var o;const r=((o=n.card.interactionConfig)==null?void 0:o.drillInteractions)||[];return{card:{...n.card,interactionConfig:{...n.card.interactionConfig,drillInteractions:r.filter((i,s)=>s!==t)}}}}),updateClickFilterInteractions:t=>e(n=>({card:{...n.card,interactionConfig:{...n.card.interactionConfig,clickFilterInteractions:t}}})),addClickFilterInteraction:t=>e(n=>{var o;const r=((o=n.card.interactionConfig)==null?void 0:o.clickFilterInteractions)||[];return{card:{...n.card,interactionConfig:{...n.card.interactionConfig,clickFilterInteractions:[...r,t]}}}}),removeClickFilterInteraction:t=>e(n=>{var o;const r=((o=n.card.interactionConfig)==null?void 0:o.clickFilterInteractions)||[];return{card:{...n.card,interactionConfig:{...n.card.interactionConfig,clickFilterInteractions:r.filter(i=>!i.filterFields.some(s=>s.id===t))}}}}),updateInlineDrillPreview:t=>e(n=>({card:{...n.card,config:{...n.card.config,inlineDrillPreview:t}}})),toggleInlineDrillPreview:t=>e(n=>{var r,o,i,s,a;return{card:{...n.card,config:{...n.card.config,inlineDrillPreview:{...(r=n.card.config)==null?void 0:r.inlineDrillPreview,enabled:t,limit:((i=(o=n.card.config)==null?void 0:o.inlineDrillPreview)==null?void 0:i.limit)||5,mode:((a=(s=n.card.config)==null?void 0:s.inlineDrillPreview)==null?void 0:a.mode)||"lazy"}}}}}),updateInteractionConfig:t=>e(n=>({card:{...n.card,interactionConfig:{...n.card.interactionConfig,...t}}})),resetDrillConfiguration:()=>e(t=>({card:{...t.card,interactionConfig:{drillHierarchies:HZ,allowedDrillTargets:WZ,clickFilterInteractions:UZ,drillInteractions:qZ},config:{...t.card.config,inlineDrillPreview:{enabled:!1,limit:5,mode:"lazy"}}}}))}),YZ=()=>me(e=>e.card),KZ=()=>me(e=>e.actions),me=rc()(sE((e,t)=>({isDevMode:!1,userInputForAI:"",triggerAIRun:!1,showAIDialog:!1,isShowingVisual:!0,runSql:!1,sqlGen:{},sql:"",isSqlRunning:!1,queryResultColumns:[],showFilters:!1,applyFilters:!1,filterValues:[{filterId:"sample-filter-id",valueType:"string",name:"",operation:"in",values:[""]}],dataSourceState:{mode:"directSource"},card:{id:"editor-card-id",title:"Editor Card",type:"bar",data:[]},frame:{id:br(),cards:[{id:"editor-card-id",title:"Editor Card",type:"bar",data:[]}],activeCardId:"editor-card-id"},actions:{...GZ(e),...VZ(e,t),...BZ(e),setCardMode:n=>{e(r=>{r.card.mode=n==="code"?"dev":"explorer"})},setEditorFilterMode:(n,r)=>{e(o=>{var s,a;const i=(a=(s=o.card.queryConfig)==null?void 0:s.filterColumns)==null?void 0:a.find(l=>l.name===n);i&&(r==="include"?i.mode="include":i.mode="exclude")})},setCardTitle:n=>{e(r=>{r.card.title=n})},setCardDescription:n=>{e(r=>{r.card.description=n})},setQueryConfig:n=>{e(r=>{r.card.queryConfig=n})},addOrderByColumn:n=>{e(r=>{var o;r.card.queryConfig={...r.card.queryConfig,orderBy:[...((o=r.card.queryConfig)==null?void 0:o.orderBy)||[],n]}})},removeOrderByColumn:n=>{e(r=>{var o,i;r.card.queryConfig={...r.card.queryConfig,orderBy:(i=(o=r.card.queryConfig)==null?void 0:o.orderBy)==null?void 0:i.filter(s=>s.columnId!==n.columnId)}})},updateOrderByColumn:n=>{e(r=>{var o,i;r.card.queryConfig={...r.card.queryConfig,orderBy:(i=(o=r.card.queryConfig)==null?void 0:o.orderBy)==null?void 0:i.map(s=>s.columnId===n.columnId?n:s)}})},setOrderByColumns:n=>{e(r=>{r.card.queryConfig={...r.card.queryConfig,orderBy:n}})},setPivotByColumns:n=>{e(r=>{r.card.queryConfig={...r.card.queryConfig,pivotColumns:n}})},updateEditorFilterValue:(n,r,o)=>{e(i=>{var a,l,c,u,d;const s=(l=(a=i.card.queryConfig)==null?void 0:a.filters)==null?void 0:l.find(h=>h.filterColumnName===n);o&&(i.card.queryConfig={...i.card.queryConfig,filters:(u=(c=i.card.queryConfig)==null?void 0:c.filters)==null?void 0:u.filter(h=>h.filterColumnName!==n)}),s?s.filterValue=r:i.card.queryConfig={...i.card.queryConfig,filters:[...((d=i.card.queryConfig)==null?void 0:d.filters)||[],{filterColumnName:n,filterValue:r}]}})},clearEditorFilter:n=>{e(r=>{var o,i;r.card.queryConfig={...r.card.queryConfig,filters:(i=(o=r.card.queryConfig)==null?void 0:o.filters)==null?void 0:i.filter(s=>s.filterColumnName!==n.name)}})},removeEditorFilter:n=>{e(r=>{var o,i,s,a;r.card.queryConfig={...r.card.queryConfig,filters:(i=(o=r.card.queryConfig)==null?void 0:o.filters)==null?void 0:i.filter(l=>l.filterColumnName!==n.name),filterColumns:(a=(s=r.card.queryConfig)==null?void 0:s.filterColumns)==null?void 0:a.filter(l=>l.id!==n.id)}})},setTempQueryData:n=>{e(r=>{r.tempQueryData=n})},setIsDevMode:n=>{e(r=>{r.isDevMode=n,r.card.mode=n==!1?"explorer":"dev"})},setMetricColumns:n=>{e(r=>{r.card.queryConfig={...r.card.queryConfig,metricColumns:n}})},addColumnToMetricColumns:n=>{e(r=>{var o;r.card.queryConfig={...r.card.queryConfig,metricColumns:[...((o=r.card.queryConfig)==null?void 0:o.metricColumns)||[],n]}})},updateMetricColumnOld:(n,r)=>{e(o=>{var i,s;o.card.queryConfig={...o.card.queryConfig,metricColumns:(s=(i=o.card.queryConfig)==null?void 0:i.metricColumns)==null?void 0:s.map(a=>a.id===n?r:a)}})},removeColumnFromMetricColumns:n=>{e(r=>{var o,i,s,a;r.card.queryConfig={...r.card.queryConfig,metricColumns:(i=(o=r.card.queryConfig)==null?void 0:o.metricColumns)==null?void 0:i.filter(l=>l.id!==n)},r.card.queryConfig={...r.card.queryConfig,orderBy:(a=(s=r.card.queryConfig)==null?void 0:s.orderBy)==null?void 0:a.filter(l=>l.columnId!==n)}})},removeColumnFromPivotBy:n=>{e(r=>{var o,i,s,a;r.card.queryConfig={...r.card.queryConfig,pivotColumns:(i=(o=r.card.queryConfig)==null?void 0:o.pivotColumns)==null?void 0:i.filter(l=>l.id!==n)},r.card.queryConfig={...r.card.queryConfig,orderBy:(a=(s=r.card.queryConfig)==null?void 0:s.orderBy)==null?void 0:a.filter(l=>l.columnId!==n)}})},setGroupByColumns:n=>{e(r=>{r.card.queryConfig={...r.card.queryConfig,groupByColumns:n}})},addColumnToGroupBy:n=>{e(r=>{var o;r.card.queryConfig={...r.card.queryConfig,groupByColumns:[...((o=r.card.queryConfig)==null?void 0:o.groupByColumns)||[],n]}})},updateGroupByColumnOld:(n,r)=>{e(o=>{var i,s;o.card.queryConfig={...o.card.queryConfig,groupByColumns:(s=(i=o.card.queryConfig)==null?void 0:i.groupByColumns)==null?void 0:s.map(a=>a.id===n?r:a)}})},updatePivotByColumnOld:(n,r)=>{e(o=>{var i,s;o.card.queryConfig={...o.card.queryConfig,pivotColumns:(s=(i=o.card.queryConfig)==null?void 0:i.pivotColumns)==null?void 0:s.map(a=>a.id===n?r:a)}})},removeColumnFromGroupBy:n=>{e(r=>{var o,i,s,a;r.card.queryConfig={...r.card.queryConfig,groupByColumns:(i=(o=r.card.queryConfig)==null?void 0:o.groupByColumns)==null?void 0:i.filter(l=>l.id!==n)},r.card.queryConfig={...r.card.queryConfig,orderBy:(a=(s=r.card.queryConfig)==null?void 0:s.orderBy)==null?void 0:a.filter(l=>l.columnId!==n)}})},setFilterColumns:n=>{e(r=>{r.card.queryConfig={...r.card.queryConfig,filterColumns:n}})},addColumnToFilterColumns:n=>{e(r=>{var o;r.card.queryConfig={...r.card.queryConfig,filterColumns:[...((o=r.card.queryConfig)==null?void 0:o.filterColumns)||[],n]}})},updateFilterColumn:(n,r)=>{e(o=>{var i,s;o.card.queryConfig={...o.card.queryConfig,filterColumns:(s=(i=o.card.queryConfig)==null?void 0:i.filterColumns)==null?void 0:s.map(a=>a.id===n?r:a)}})},removeColumnFromFilterColumns:n=>{e(r=>{var o,i;r.card.queryConfig={...r.card.queryConfig,filterColumns:(i=(o=r.card.queryConfig)==null?void 0:o.filterColumns)==null?void 0:i.filter(s=>s.id!==n)}})},setCurrentAssitantScope:n=>{e(r=>{r.currentAssitantScope=n})},setLegendOptions:n=>{e(r=>{var o,i,s,a,l,c;r.card.preferences={...r.card.preferences,chartOptions:{...(o=r.card.preferences)==null?void 0:o.chartOptions,plugins:{...(s=(i=r.card.preferences)==null?void 0:i.chartOptions)==null?void 0:s.plugins,legend:{...(c=(l=(a=r.card.preferences)==null?void 0:a.chartOptions)==null?void 0:l.plugins)==null?void 0:c.legend,...n}}}}})},setChartGrid:n=>{e(r=>{var o,i,s,a,l,c,u,d,h,p,m,g,b,y,v;r.card.preferences={...r.card.preferences,chartOptions:{...(o=r.card.preferences)==null?void 0:o.chartOptions,scales:{x:{...(a=(s=(i=r.card.preferences)==null?void 0:i.chartOptions)==null?void 0:s.scales)==null?void 0:a.x,grid:{...(d=(u=(c=(l=r.card.preferences)==null?void 0:l.chartOptions)==null?void 0:c.scales)==null?void 0:u.x)==null?void 0:d.grid,display:n==="x"||n==="xy"}},y:{...(m=(p=(h=r.card.preferences)==null?void 0:h.chartOptions)==null?void 0:p.scales)==null?void 0:m.y,grid:{...(v=(y=(b=(g=r.card.preferences)==null?void 0:g.chartOptions)==null?void 0:b.scales)==null?void 0:y.y)==null?void 0:v.grid,display:n==="y"||n==="xy"}}}}}})},runAssistant:n=>{e(r=>{r.showAIDialog=!0,r.userInputForAI=n,r.triggerAIRun=!0})},setShowAIDialog:n=>{e(r=>{r.showAIDialog=n})},setUserInputForAI:n=>{e(r=>{r.userInputForAI=n})},setTriggerAIRun:n=>{e(r=>{r.triggerAIRun=n})},updateCardTab:(n,r)=>{e(o=>{const i=o.frame,s={...i,cards:i.cards.map(l=>l.id===r.id?r:l),activeCardId:n};o.frame=s;const a=s.cards.find(l=>l.id===n);o.card=a})},setActiveTabCardId:n=>{e(r=>{r.activeTabCardId=n})},setCustomCardPreferences:n=>{e(r=>{r.card.customCardPreferences=n})},setChartOrientation:n=>{e(r=>{var s,a,l,c,u,d;const o=r.card.preferences;let i={};((s=o==null?void 0:o.chartOptions)==null?void 0:s.indexAxis)!==n&&(i={x:(l=(a=o==null?void 0:o.chartOptions)==null?void 0:a.scales)==null?void 0:l.y,y:(u=(c=o==null?void 0:o.chartOptions)==null?void 0:c.scales)==null?void 0:u.x}),r.card.preferences={...o,chartOptions:{...o==null?void 0:o.chartOptions,scales:{...(d=o==null?void 0:o.chartOptions)==null?void 0:d.scales,...i},indexAxis:n}}})},setLowerIsBetter:n=>{e(r=>{var o;r.card.preferences={...r.card.preferences,kpiVisualOptions:{...(o=r.card.preferences)==null?void 0:o.kpiVisualOptions,lowerIsBetter:n}}})},setSortChart:n=>{e(r=>{r.card.preferences={...r.card.preferences,sortChart:n}})},setCustomVisualCode:n=>{e(r=>{r.card.preferences={...r.card.preferences,customVisualCode:n}})},setNumberFormat:(n,r,o,i)=>{e(s=>{var a,l,c;s.card.preferences={...(a=s.card)==null?void 0:a.preferences,formatNumber:{...(c=(l=s.card)==null?void 0:l.preferences)==null?void 0:c.formatNumber,decimalPlaces:n,currency:r,locale:o,suffix:i,enabled:!0}}})},setColorRanges:n=>{e(r=>{var o,i;r.card.preferences={...r.card.preferences,formatNumber:{...(i=(o=r.card)==null?void 0:o.preferences)==null?void 0:i.formatNumber,colorRanges:n}}})},setQueryResultColumns:n=>{e(r=>{r.queryResultColumns=n})},setCardPreferences:n=>{e(r=>{r.card.preferences=n})},setFilterOnClickColumnIndex:n=>{e(r=>{r.card.preferences={...r.card.preferences,filterOnClickColumnIndex:n}})},setFilterOnClickField:n=>{e(r=>{r.card.preferences={...r.card.preferences,filterOnClick:!0,filterOnClickField:n}})},setCardRefreshInterval:n=>{e(r=>{r.card.refreshInterval=n})},setIsShowingVisual:n=>{e({isShowingVisual:n})},setRunSql:n=>{e({runSql:n})},setIsSqlRunning:n=>{e({isSqlRunning:n})},clearQueryConfig:()=>{e(n=>{n.card.queryConfig=void 0})},updateCardInFrame:n=>{e(r=>{r.frame.cards=r.frame.cards.map(o=>o.id===n.id?n:o)})},setFrame:n=>{e({frame:n})},setCard:n=>{e({card:n})},switchCardType:n=>{e(r=>{r.card.type=n,r.card.sql="",r.card.python="",r.card.customCfg={},r.card.preferences={}})},setCardType:n=>{e(r=>{var o;r.card.type=n,n==="range"&&(r.card.preferences={...r.card.preferences,chartOptions:{...(o=r.card.preferences)==null?void 0:o.chartOptions,indexAxis:"y"}}),n==="kpi"&&(r.card.config={...r.card.config,comparisonType:"previous_period",showTrendline:!1,trendlineWindow:30,trendlineGranularity:"day",targetValue:0})})},setCardSql:n=>{e(r=>{r.card.sql=n})},setCardPython:n=>{e(r=>{r.card.python=n})},setPythonStdOut:n=>{e(r=>{r.pythonStdOut=n})},setCardConfig:n=>{e(r=>{r.card.config=n})},setCardCustomCfg:n=>{e(r=>{r.card.customCfg=n})},setShowFilters:n=>{e(r=>{r.showFilters=n})},setApplyFilters:n=>{e(r=>{r.applyFilters=n})},setFilterValues:n=>{e(r=>{r.filterValues=n})},setSqlGen:n=>{e(r=>{r.sqlGen=n})},setSqlGenMeasure:(n,r)=>{e(o=>{o.sqlGen.measures=[...o.sqlGen.measures||[],{name:n,calc:r}]})},setSqlGenDimension:n=>{e(r=>{r.sqlGen.dimensions=[...r.sqlGen.dimensions||[],n]})},setSelectedDatamodelId:n=>{var r,o;e(i=>{i.selectedDatamodelId=n,i.card.datamodelId=n}),(o=(r=t()).onDatamodelChange)==null||o.call(r,n)},setSelectedConnectionId:n=>{var r,o;e(i=>{i.selectedConnectionId=n,i.card.connectionId=n}),(o=(r=t()).onConnectionChange)==null||o.call(r,n)},setSelectedDatabaseName:n=>{var r,o;e(i=>{i.selectedDatabaseName=n,i.card.lastSelectedDatabase=n}),(o=(r=t()).onDatabaseChange)==null||o.call(r,n)},setSelectedSchemaName:n=>{var r,o;e(i=>{i.selectedSchemaName=n,i.card.lastSelectedSchema=n}),(o=(r=t()).onSchemaChange)==null||o.call(r,n)},setSelectedTableName:n=>{var r,o;e(i=>{i.selectedTableName=n,i.card.lastSelectedTable=n}),(o=(r=t()).onTableChange)==null||o.call(r,n)},setOnConnectionChange:n=>{e({onConnectionChange:n})},setOnDatabaseChange:n=>{e({onDatabaseChange:n})},setOnSchemaChange:n=>{e({onSchemaChange:n})},setOnTableChange:n=>{e({onTableChange:n})},setOnSave:n=>{e({onSave:n})},setOnClose:n=>{e({onClose:n})}}}))),Wn=()=>me(e=>e.actions);function No(e){var P,A,F;const{authToken:t}=ar(),n=re(T=>T.filteringCards),r=ro(T=>{var O,$;return($=(O=T.interactionStates)==null?void 0:O[e.id])==null?void 0:$.appliedClickFilters}),o=me(T=>T.isDevMode),i=e.queryConfig,s=e.config,a=e.dataSource,l=re(T=>T.isVisualEditing),c=re(T=>T.actions.getCardFrame),u=re(T=>T.authToken),d=(n==null?void 0:n.some(T=>T.id===e.id))||!1,h=c(e.id),p=(h==null?void 0:h.cards)||[],m=(p==null?void 0:p.length)==1,g=NZ((e==null?void 0:e.refreshInterval)||"0"),{queryKey:b,sql:y,sheetFilterValues:v}=G5(e);let x={};l||(x={refetchInterval:g});function E(){return s?!(r==null?void 0:r.some(O=>O.sourceCardId===e.id)):!1}function _(){var V,z,j;const T=(V=e.queryConfig)==null?void 0:V.metricColumns,O=(z=e.queryConfig)==null?void 0:z.groupByColumns,$=(j=e.queryConfig)==null?void 0:j.pivotColumns;return!!(T&&(T==null?void 0:T.length)>0||O&&(O==null?void 0:O.length)>0||$&&($==null?void 0:$.length)>0)}const S={databaseName:(e==null?void 0:e.lastSelectedDatabase)||"",schemaName:(e==null?void 0:e.lastSelectedSchema)||"",tableName:(e==null?void 0:e.lastSelectedTable)||"",datamodelId:(e==null?void 0:e.datamodelId)||""},C=U5(e),R=Tn({queryKey:b,queryFn:async()=>{var z,j,W;if(!(e!=null&&e.connectionId)&&!((z=e==null?void 0:e.dataSource)!=null&&z.connectionId))return null;const T=!!((j=e==null?void 0:e.sql)!=null&&j.trim()),O=_(),$=E();if(!T&&!O&&!$)return null;const V=((W=e.dataSource)==null?void 0:W.connectionId)||e.connectionId;try{return await jA("https://semaphor.cloud/api/v1/query",(t==null?void 0:t.accessToken)||(u==null?void 0:u.accessToken)||"",{connection_id:V,sql:y,python:e.python===lE?"":e.python,active_filters:v,cache_config:RA({card:e}),queryConfig:i,tableConfig:S,cardMode:e.mode,cardType:e.type,cardConfig:C,cardDataSource:a})}catch(L){if(l)return{records:[],error:L};throw L}},placeholderData:UG,...x,enabled:N()});function N(){var T,O;return!(t!=null&&t.accessToken)||d&&m?!1:!!((e!=null&&e.connectionId||(T=e==null?void 0:e.dataSource)!=null&&T.connectionId)&&((O=e==null?void 0:e.sql)!=null&&O.trim()||_()||E())&&!l||_()&&l&&!o||E()&&l&&!o)}const D=((P=R.error)==null?void 0:P.message)||((F=(A=R.data)==null?void 0:A.error)==null?void 0:F.message);return{...R,queryKey:b,isFilteringCard:d,isSingleCardFrame:m,errorMessage:D}}function XZ(e){return/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/.test(e)}function QZ(e,t=1){if(!XZ(e)||t===1)return e;e=e.replace(/^#/,"");const n=parseInt(e.substring(0,2),16),r=parseInt(e.substring(2,4),16),o=parseInt(e.substring(4,6),16);return t=Math.min(Math.max(t,0),1),`rgba(${n}, ${r}, ${o}, ${t})`}function Y5(e,t,n,r=1,o="none"){var u,d,h,p;const i=n==null?void 0:n.datasetOptions,s=re.getState().themeStyle,a=(d=(u=s==null?void 0:s.chart)==null?void 0:u.dataset)==null?void 0:d.backgroundColor,l=(p=(h=s==null?void 0:s.chart)==null?void 0:h.dataset)==null?void 0:p.borderColor;return e.map((m,g)=>{var R;const b=i==null?void 0:i.find(N=>N.idx===g),y=QZ(a==null?void 0:a[g%a.length],r),v=l==null?void 0:l[g%l.length],x=l==null?void 0:l[g%l.length],E=t.some(N=>N._forecast),_={borderWidth:2,pointRadius:2,segment:{borderDash:N=>{const D=N.p0DataIndex;return t[D]._forecast?[2,4]:void 0},borderColor:N=>{const D=t[N.p0DataIndex]._forecast,I=re.getState().theme==="dark";return D?I?"white":"black":x}},pointBackgroundColor:N=>{const D=re.getState().theme==="dark";return t[N.dataIndex]._forecast?D?"white":"gray":v},pointBorderColor:N=>{const D=re.getState().theme==="dark";return t[N.dataIndex]._forecast?D?"white":"gray":v}},S={backgroundColor:N=>{var I;return((I=t[N.dataIndex])==null?void 0:I._forecast)?y+"20":y}};return{label:m.charAt(0).toUpperCase()+m.slice(1),data:t.map(N=>N[m]),...b,datalabels:{...b==null?void 0:b.datalabels,color:ZZ((R=b==null?void 0:b.datalabels)==null?void 0:R.align,y)},backgroundColor:y,borderColor:x,...o==="line"&&E?_:o==="line"?{borderWidth:2,pointRadius:1.5}:{},...o==="bar"&&E?S:{}}})}function ZZ(e,t){return Pu(e==="end"||e==="start"?Yf():t)}function JZ(e,t){var d,h,p,m;const{keys:n}=un(e),r=n.length,o=n.slice(r-3),i=n.slice(0,r-3);let s=[];const a=re.getState().themeStyle,l=(h=(d=a==null?void 0:a.chart)==null?void 0:d.dataset)==null?void 0:h.backgroundColor,c=(m=(p=a==null?void 0:a.chart)==null?void 0:p.dataset)==null?void 0:m.borderColor;let u={};return t==="scatter"&&(u={radius:5}),(i==null?void 0:i.length)===1&&(s=e.map((g,b)=>({label:g[i==null?void 0:i[0]],data:[{x:g[o[0]],y:g[o[1]],r:g[o[2]]}],backgroundColor:(l==null?void 0:l[b%l.length])+"CC",borderColor:c==null?void 0:c[b%c.length],...u}))),(i==null?void 0:i.length)>1&&(s=[...new Set(e.map(b=>b[i==null?void 0:i[1]]))].map((b,y)=>{const v=e.filter(x=>x[i==null?void 0:i[1]]===b);return{label:b,data:v.map(x=>({x:x[o[0]],y:x[o[1]],r:x[o[2]],label:x[i==null?void 0:i[0]]})),backgroundColor:(l==null?void 0:l[y%l.length])+"CC",borderColor:c==null?void 0:c[y%c.length],...u}})),s}function K5(e,t){var s,a,l,c;const n=re.getState().themeStyle,r=(a=(s=n==null?void 0:n.chart)==null?void 0:s.dataset)==null?void 0:a.backgroundColor,o=(c=(l=n==null?void 0:n.chart)==null?void 0:l.dataset)==null?void 0:c.borderColor;return e.map(u=>({label:u?u.charAt(0).toUpperCase()+u.slice(1):"",data:t.map(d=>d[u]),backgroundColor:t.map((d,h)=>(d==null?void 0:d._color)||(r==null?void 0:r[h%r.length])),borderColor:t.map((d,h)=>(d==null?void 0:d._color)||(o==null?void 0:o[h%o.length]))}))}function eJ(e){const t=new Set;return e.forEach(n=>{Object.keys(n).forEach(r=>t.add(r))}),Array.from(t)}function tJ(e){let t=-1,n=0;return e.forEach((r,o)=>{const i=Object.keys(r).length;i>n&&(t=o,n=i)}),t}function un(e){if(!e||e.length===0)return{keys:[],dimensionKeys:[],metricKeys:[]};const t=tJ(e),n=eJ(e),r=n.filter(i=>{var s,a,l,c,u,d,h,p;return!!(typeof((s=e==null?void 0:e[t])==null?void 0:s[i])&&typeof((a=e==null?void 0:e[t])==null?void 0:a[i])=="string"||typeof((l=e==null?void 0:e[0])==null?void 0:l[i])&&typeof((c=e==null?void 0:e[0])==null?void 0:c[i])=="string"||typeof((u=e==null?void 0:e[1])==null?void 0:u[i])&&typeof((d=e==null?void 0:e[1])==null?void 0:d[i])=="string"||typeof((h=e==null?void 0:e[2])==null?void 0:h[i])&&typeof((p=e==null?void 0:e[2])==null?void 0:p[i])=="string")});r.length===0&&r.push(n[0]);const o=n.filter(i=>{var s,a;return((s=e==null?void 0:e[t])==null?void 0:s[i])===+((a=e==null?void 0:e[t])==null?void 0:a[i])});return{keys:n,dimensionKeys:r,metricKeys:o}}function Cl(e,t){var r;const n=(r=t==null?void 0:t.data)==null?void 0:r.datasets;return n&&n.length>0?e.map((i,s)=>({...i,...n==null?void 0:n[s],data:i.data,label:i.label})):e}function nJ(e,t="asc"){function n(r){return Object.entries(r).slice(1).reduce((s,[a,l])=>{const c=typeof l=="number"?l:parseFloat(l);return s+(isNaN(c)?0:c)},0)}return e.sort((r,o)=>{const i=n(r),s=n(o);return t==="asc"?i-s:s-i})}function L0({dataArray:e,groupKey:t,pivotKey:n,valueKey:r,sortChart:o}){const i=e.reduce((l,c)=>{const u=c[t],d=c[n],h=c[r];return l[u]||(l[u]={[t]:u}),l[u][d]=h,l},{});let s=Object.values(i);return o!=="none"&&o!==void 0&&(s=nJ(s,o)),s.map(l=>Object.fromEntries(Object.entries(l).filter(([c,u])=>u!==0)))}function Vn(e,t){var s;const n=re.getState().themeStyle,r=(s=n==null?void 0:n.chart)==null?void 0:s.options,o=Zf(r);return Kf(o,e,t)}function ep(e,t){return e.map(n=>n[t]?n[t]:"BLANK")}function Fi(e){const t=re(d=>d.authToken)||e,n=me(d=>d.selectedConnectionId),r=me(d=>{var h,p;return(p=(h=d==null?void 0:d.card)==null?void 0:h.dataSource)==null?void 0:p.connectionId}),o=n||r,{refetch:i,isPending:s,data:a,isLoading:l,isError:c}=Tn({queryKey:["connections"],queryFn:()=>vr("https://semaphor.cloud/api/v1/connections",(t==null?void 0:t.accessToken)||""),enabled:!!(t!=null&&t.accessToken)}),u=a==null?void 0:a.connections.find(d=>d.id===o);return{isPending:s,error:c,connectionsData:a,connections:(a==null?void 0:a.connections)||[],isConnectionsLoading:l,isConnectionsError:c,refetchConnections:i,selectedConnection:u}}function rJ(e){const{connections:t}=Fi(e),n=me(i=>i.selectedConnectionId),r=t.find(i=>i.id===n),o=r==null?void 0:r.capabilities.path.includes("schema");return{selectedConnection:r,capabilities:r==null?void 0:r.capabilities,connectionType:r==null?void 0:r.type,hasSchemaSupport:o}}function oJ(e){re(P=>P.isDashboardEditing);const t=re(P=>P.filterValues),n=re(P=>P.isVisualEditing);re(P=>P.selectedSheetId),re(P=>P.currentBreakpoint);const{selectedConnection:r}=Fi(),{selectedDatabaseName:o,selectedSchemaName:i,selectedTableName:s,selectedDatamodelId:a}=XW(),{removeFrame:l}=re(P=>P.actions),c=re(P=>P.actions.setIsVisualEditing),u=me(P=>P.actions.setFilterValues),d=me(P=>P.actions.setApplyFilters),{setCard:h,setFrame:p,setQueryResultColumns:m,setActiveTabCardId:g,setIsDevMode:b,setQueryConfig:y,updateDataSource:v,setCardMode:x}=Wn(),E=me(P=>P.actions.setSelectedConnectionId),_=me(P=>P.actions.setSelectedDatamodelId),S=me(P=>P.actions.setSelectedDatabaseName),C=me(P=>P.actions.setSelectedSchemaName),R=me(P=>P.actions.setSelectedTableName),N=e.cards.find(P=>P.id===e.activeCardId),{data:D}=No(N);function I(P=!1){P||c(!n),N.sql?b(!0):b(!1),h(N),N.dataSource&&v(N.dataSource),g(e.activeCardId);const{dimensionKeys:A}=un((D==null?void 0:D.records)||[]);m(A),p(e),E((N==null?void 0:N.connectionId)||(r==null?void 0:r.id)||""),N!=null&&N.datamodelId&&N.datamodelId!=="none"?(_(N==null?void 0:N.datamodelId),S("")):_(a||""),N!=null&&N.lastSelectedDatabase&&N.lastSelectedDatabase!=="none"?(S(N==null?void 0:N.lastSelectedDatabase),_("")):S(o||""),N!=null&&N.lastSelectedSchema?C(N==null?void 0:N.lastSelectedSchema):C(i||""),N!=null&&N.lastSelectedTable?R(N==null?void 0:N.lastSelectedTable):R(s||""),t&&(u(t),d(!0))}return{handleEditVisual:I,card:N,data:D}}function oD(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function iJ(...e){return t=>{let n=!1;const r=e.map(o=>{const i=oD(o,t);return!n&&typeof i=="function"&&(n=!0),i});if(n)return()=>{for(let o=0;o<r.length;o++){const i=r[o];typeof i=="function"?i():oD(e[o],null)}}}}function Bl(e){const t=aJ(e),n=w.forwardRef((r,o)=>{const{children:i,...s}=r,a=w.Children.toArray(i),l=a.find(cJ);if(l){const c=l.props.children,u=a.map(d=>d===l?w.Children.count(c)>1?w.Children.only(null):w.isValidElement(c)?c.props.children:null:d);return f.jsx(t,{...s,ref:o,children:w.isValidElement(c)?w.cloneElement(c,void 0,u):null})}return f.jsx(t,{...s,ref:o,children:i})});return n.displayName=`${e}.Slot`,n}var sJ=Bl("Slot");function aJ(e){const t=w.forwardRef((n,r)=>{const{children:o,...i}=n;if(w.isValidElement(o)){const s=dJ(o),a=uJ(i,o.props);return o.type!==w.Fragment&&(a.ref=r?iJ(r,s):s),w.cloneElement(o,a)}return w.Children.count(o)>1?w.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var lJ=Symbol("radix.slottable");function cJ(e){return w.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===lJ}function uJ(e,t){const n={...t};for(const r in t){const o=e[r],i=t[r];/^on[A-Z]/.test(r)?o&&i?n[r]=(...a)=>{const l=i(...a);return o(...a),l}:o&&(n[r]=o):r==="style"?n[r]={...o,...i}:r==="className"&&(n[r]=[o,i].filter(Boolean).join(" "))}return{...e,...n}}function dJ(e){var r,o;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}const iD=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,sD=Al,$0=(e,t)=>n=>{var r;if((t==null?void 0:t.variants)==null)return sD(e,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:o,defaultVariants:i}=t,s=Object.keys(o).map(c=>{const u=n==null?void 0:n[c],d=i==null?void 0:i[c];if(u===null)return null;const h=iD(u)||iD(d);return o[c][h]}),a=n&&Object.entries(n).reduce((c,u)=>{let[d,h]=u;return h===void 0||(c[d]=h),c},{}),l=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((c,u)=>{let{class:d,className:h,...p}=u;return Object.entries(p).every(m=>{let[g,b]=m;return Array.isArray(b)?b.includes({...i,...a}[g]):{...i,...a}[g]===b})?[...c,d,h]:c},[]);return sD(e,s,l,n==null?void 0:n.class,n==null?void 0:n.className)},eh=$0("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),Ce=w.forwardRef(({className:e,variant:t,size:n,asChild:r=!1,...o},i)=>{const s=r?sJ:"button";return f.jsx(s,{className:oe(eh({variant:t,size:n,className:e})),ref:i,...o})});Ce.displayName="Button";function sa(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function aD(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function fJ(...e){return t=>{let n=!1;const r=e.map(o=>{const i=aD(o,t);return!n&&typeof i=="function"&&(n=!0),i});if(n)return()=>{for(let o=0;o<r.length;o++){const i=r[o];typeof i=="function"?i():aD(e[o],null)}}}}function dc(...e){return w.useCallback(fJ(...e),e)}function hJ(e,t){const n=w.createContext(t),r=i=>{const{children:s,...a}=i,l=w.useMemo(()=>a,Object.values(a));return f.jsx(n.Provider,{value:l,children:s})};r.displayName=e+"Provider";function o(i){const s=w.useContext(n);if(s)return s;if(t!==void 0)return t;throw new Error(`\`${i}\` must be used within \`${e}\``)}return[r,o]}function pJ(e,t=[]){let n=[];function r(i,s){const a=w.createContext(s),l=n.length;n=[...n,s];const c=d=>{var y;const{scope:h,children:p,...m}=d,g=((y=h==null?void 0:h[e])==null?void 0:y[l])||a,b=w.useMemo(()=>m,Object.values(m));return f.jsx(g.Provider,{value:b,children:p})};c.displayName=i+"Provider";function u(d,h){var g;const p=((g=h==null?void 0:h[e])==null?void 0:g[l])||a,m=w.useContext(p);if(m)return m;if(s!==void 0)return s;throw new Error(`\`${d}\` must be used within \`${i}\``)}return[c,u]}const o=()=>{const i=n.map(s=>w.createContext(s));return function(a){const l=(a==null?void 0:a[e])||i;return w.useMemo(()=>({[`__scope${e}`]:{...a,[e]:l}}),[a,l])}};return o.scopeName=e,[r,mJ(o,...t)]}function mJ(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(i){const s=r.reduce((a,{useScope:l,scopeName:c})=>{const d=l(i)[`__scope${c}`];return{...a,...d}},{});return w.useMemo(()=>({[`__scope${t.scopeName}`]:s}),[s])}};return n.scopeName=t.scopeName,n}var th=globalThis!=null&&globalThis.document?w.useLayoutEffect:()=>{},gJ=w[" useId ".trim().toString()]||(()=>{}),bJ=0;function Gv(e){const[t,n]=w.useState(gJ());return th(()=>{n(r=>r??String(bJ++))},[e]),e||(t?`radix-${t}`:"")}var yJ=w[" useInsertionEffect ".trim().toString()]||th;function vJ({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){const[o,i,s]=xJ({defaultProp:t,onChange:n}),a=e!==void 0,l=a?e:o;{const u=w.useRef(e!==void 0);w.useEffect(()=>{const d=u.current;d!==a&&console.warn(`${r} is changing from ${d?"controlled":"uncontrolled"} to ${a?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),u.current=a},[a,r])}const c=w.useCallback(u=>{var d;if(a){const h=wJ(u)?u(e):u;h!==e&&((d=s.current)==null||d.call(s,h))}else i(u)},[a,e,i,s]);return[l,c]}function xJ({defaultProp:e,onChange:t}){const[n,r]=w.useState(e),o=w.useRef(n),i=w.useRef(t);return yJ(()=>{i.current=t},[t]),w.useEffect(()=>{var s;o.current!==n&&((s=i.current)==null||s.call(i,n),o.current=n)},[n,o]),[n,r,i]}function wJ(e){return typeof e=="function"}var CJ=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Es=CJ.reduce((e,t)=>{const n=Bl(`Primitive.${t}`),r=w.forwardRef((o,i)=>{const{asChild:s,...a}=o,l=s?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),f.jsx(l,{...a,ref:i})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function SJ(e,t){e&&ys.flushSync(()=>e.dispatchEvent(t))}function nh(e){const t=w.useRef(e);return w.useEffect(()=>{t.current=e}),w.useMemo(()=>(...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)},[])}function EJ(e,t=globalThis==null?void 0:globalThis.document){const n=nh(e);w.useEffect(()=>{const r=o=>{o.key==="Escape"&&n(o)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var _J="DismissableLayer",q1="dismissableLayer.update",kJ="dismissableLayer.pointerDownOutside",RJ="dismissableLayer.focusOutside",lD,X5=w.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Q5=w.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:i,onInteractOutside:s,onDismiss:a,...l}=e,c=w.useContext(X5),[u,d]=w.useState(null),h=(u==null?void 0:u.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,p]=w.useState({}),m=dc(t,C=>d(C)),g=Array.from(c.layers),[b]=[...c.layersWithOutsidePointerEventsDisabled].slice(-1),y=g.indexOf(b),v=u?g.indexOf(u):-1,x=c.layersWithOutsidePointerEventsDisabled.size>0,E=v>=y,_=MJ(C=>{const R=C.target,N=[...c.branches].some(D=>D.contains(R));!E||N||(o==null||o(C),s==null||s(C),C.defaultPrevented||a==null||a())},h),S=PJ(C=>{const R=C.target;[...c.branches].some(D=>D.contains(R))||(i==null||i(C),s==null||s(C),C.defaultPrevented||a==null||a())},h);return EJ(C=>{v===c.layers.size-1&&(r==null||r(C),!C.defaultPrevented&&a&&(C.preventDefault(),a()))},h),w.useEffect(()=>{if(u)return n&&(c.layersWithOutsidePointerEventsDisabled.size===0&&(lD=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),c.layersWithOutsidePointerEventsDisabled.add(u)),c.layers.add(u),cD(),()=>{n&&c.layersWithOutsidePointerEventsDisabled.size===1&&(h.body.style.pointerEvents=lD)}},[u,h,n,c]),w.useEffect(()=>()=>{u&&(c.layers.delete(u),c.layersWithOutsidePointerEventsDisabled.delete(u),cD())},[u,c]),w.useEffect(()=>{const C=()=>p({});return document.addEventListener(q1,C),()=>document.removeEventListener(q1,C)},[]),f.jsx(Es.div,{...l,ref:m,style:{pointerEvents:x?E?"auto":"none":void 0,...e.style},onFocusCapture:sa(e.onFocusCapture,S.onFocusCapture),onBlurCapture:sa(e.onBlurCapture,S.onBlurCapture),onPointerDownCapture:sa(e.onPointerDownCapture,_.onPointerDownCapture)})});Q5.displayName=_J;var NJ="DismissableLayerBranch",DJ=w.forwardRef((e,t)=>{const n=w.useContext(X5),r=w.useRef(null),o=dc(t,r);return w.useEffect(()=>{const i=r.current;if(i)return n.branches.add(i),()=>{n.branches.delete(i)}},[n.branches]),f.jsx(Es.div,{...e,ref:o})});DJ.displayName=NJ;function MJ(e,t=globalThis==null?void 0:globalThis.document){const n=nh(e),r=w.useRef(!1),o=w.useRef(()=>{});return w.useEffect(()=>{const i=a=>{if(a.target&&!r.current){let l=function(){Z5(kJ,n,c,{discrete:!0})};const c={originalEvent:a};a.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=l,t.addEventListener("click",o.current,{once:!0})):l()}else t.removeEventListener("click",o.current);r.current=!1},s=window.setTimeout(()=>{t.addEventListener("pointerdown",i)},0);return()=>{window.clearTimeout(s),t.removeEventListener("pointerdown",i),t.removeEventListener("click",o.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function PJ(e,t=globalThis==null?void 0:globalThis.document){const n=nh(e),r=w.useRef(!1);return w.useEffect(()=>{const o=i=>{i.target&&!r.current&&Z5(RJ,n,{originalEvent:i},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function cD(){const e=new CustomEvent(q1);document.dispatchEvent(e)}function Z5(e,t,n,{discrete:r}){const o=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?SJ(o,i):o.dispatchEvent(i)}var Yv="focusScope.autoFocusOnMount",Kv="focusScope.autoFocusOnUnmount",uD={bubbles:!1,cancelable:!0},IJ="FocusScope",J5=w.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:i,...s}=e,[a,l]=w.useState(null),c=nh(o),u=nh(i),d=w.useRef(null),h=dc(t,g=>l(g)),p=w.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;w.useEffect(()=>{if(r){let g=function(x){if(p.paused||!a)return;const E=x.target;a.contains(E)?d.current=E:Ls(d.current,{select:!0})},b=function(x){if(p.paused||!a)return;const E=x.relatedTarget;E!==null&&(a.contains(E)||Ls(d.current,{select:!0}))},y=function(x){if(document.activeElement===document.body)for(const _ of x)_.removedNodes.length>0&&Ls(a)};document.addEventListener("focusin",g),document.addEventListener("focusout",b);const v=new MutationObserver(y);return a&&v.observe(a,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",g),document.removeEventListener("focusout",b),v.disconnect()}}},[r,a,p.paused]),w.useEffect(()=>{if(a){fD.add(p);const g=document.activeElement;if(!a.contains(g)){const y=new CustomEvent(Yv,uD);a.addEventListener(Yv,c),a.dispatchEvent(y),y.defaultPrevented||(jJ(LJ(eF(a)),{select:!0}),document.activeElement===g&&Ls(a))}return()=>{a.removeEventListener(Yv,c),setTimeout(()=>{const y=new CustomEvent(Kv,uD);a.addEventListener(Kv,u),a.dispatchEvent(y),y.defaultPrevented||Ls(g??document.body,{select:!0}),a.removeEventListener(Kv,u),fD.remove(p)},0)}}},[a,c,u,p]);const m=w.useCallback(g=>{if(!n&&!r||p.paused)return;const b=g.key==="Tab"&&!g.altKey&&!g.ctrlKey&&!g.metaKey,y=document.activeElement;if(b&&y){const v=g.currentTarget,[x,E]=TJ(v);x&&E?!g.shiftKey&&y===E?(g.preventDefault(),n&&Ls(x,{select:!0})):g.shiftKey&&y===x&&(g.preventDefault(),n&&Ls(E,{select:!0})):y===v&&g.preventDefault()}},[n,r,p.paused]);return f.jsx(Es.div,{tabIndex:-1,...s,ref:h,onKeyDown:m})});J5.displayName=IJ;function jJ(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(Ls(r,{select:t}),document.activeElement!==n)return}function TJ(e){const t=eF(e),n=dD(t,e),r=dD(t.reverse(),e);return[n,r]}function eF(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function dD(e,t){for(const n of e)if(!AJ(n,{upTo:t}))return n}function AJ(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function OJ(e){return e instanceof HTMLInputElement&&"select"in e}function Ls(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&OJ(e)&&t&&e.select()}}var fD=FJ();function FJ(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=hD(e,t),e.unshift(t)},remove(t){var n;e=hD(e,t),(n=e[0])==null||n.resume()}}}function hD(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function LJ(e){return e.filter(t=>t.tagName!=="A")}var $J="Portal",tF=w.forwardRef((e,t)=>{var a;const{container:n,...r}=e,[o,i]=w.useState(!1);th(()=>i(!0),[]);const s=n||o&&((a=globalThis==null?void 0:globalThis.document)==null?void 0:a.body);return s?rn.createPortal(f.jsx(Es.div,{...r,ref:t}),s):null});tF.displayName=$J;function zJ(e,t){return w.useReducer((n,r)=>t[n][r]??n,e)}var z0=e=>{const{present:t,children:n}=e,r=BJ(t),o=typeof n=="function"?n({present:r.isPresent}):w.Children.only(n),i=dc(r.ref,VJ(o));return typeof n=="function"||r.isPresent?w.cloneElement(o,{ref:i}):null};z0.displayName="Presence";function BJ(e){const[t,n]=w.useState(),r=w.useRef(null),o=w.useRef(e),i=w.useRef("none"),s=e?"mounted":"unmounted",[a,l]=zJ(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return w.useEffect(()=>{const c=fm(r.current);i.current=a==="mounted"?c:"none"},[a]),th(()=>{const c=r.current,u=o.current;if(u!==e){const h=i.current,p=fm(c);e?l("MOUNT"):p==="none"||(c==null?void 0:c.display)==="none"?l("UNMOUNT"):l(u&&h!==p?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,l]),th(()=>{if(t){let c;const u=t.ownerDocument.defaultView??window,d=p=>{const g=fm(r.current).includes(p.animationName);if(p.target===t&&g&&(l("ANIMATION_END"),!o.current)){const b=t.style.animationFillMode;t.style.animationFillMode="forwards",c=u.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=b)})}},h=p=>{p.target===t&&(i.current=fm(r.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",d),t.addEventListener("animationend",d),()=>{u.clearTimeout(c),t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",d),t.removeEventListener("animationend",d)}}else l("ANIMATION_END")},[t,l]),{isPresent:["mounted","unmountSuspended"].includes(a),ref:w.useCallback(c=>{r.current=c?getComputedStyle(c):null,n(c)},[])}}function fm(e){return(e==null?void 0:e.animationName)||"none"}function VJ(e){var r,o;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Xv=0;function HJ(){w.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??pD()),document.body.insertAdjacentElement("beforeend",e[1]??pD()),Xv++,()=>{Xv===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),Xv--}},[])}function pD(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var fi=function(){return fi=Object.assign||function(t){for(var n,r=1,o=arguments.length;r<o;r++){n=arguments[r];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t},fi.apply(this,arguments)};function nF(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}function WJ(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,i;r<o;r++)(i||!(r in t))&&(i||(i=Array.prototype.slice.call(t,0,r)),i[r]=t[r]);return e.concat(i||Array.prototype.slice.call(t))}var Sg="right-scroll-bar-position",Eg="width-before-scroll-bar",UJ="with-scroll-bars-hidden",qJ="--removed-body-scroll-bar-size";function Qv(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function GJ(e,t){var n=k.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}var YJ=typeof window<"u"?w.useLayoutEffect:w.useEffect,mD=new WeakMap;function KJ(e,t){var n=GJ(null,function(r){return e.forEach(function(o){return Qv(o,r)})});return YJ(function(){var r=mD.get(n);if(r){var o=new Set(r),i=new Set(e),s=n.current;o.forEach(function(a){i.has(a)||Qv(a,null)}),i.forEach(function(a){o.has(a)||Qv(a,s)})}mD.set(n,e)},[e]),n}function XJ(e){return e}function QJ(e,t){t===void 0&&(t=XJ);var n=[],r=!1,o={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(i){var s=t(i,r);return n.push(s),function(){n=n.filter(function(a){return a!==s})}},assignSyncMedium:function(i){for(r=!0;n.length;){var s=n;n=[],s.forEach(i)}n={push:function(a){return i(a)},filter:function(){return n}}},assignMedium:function(i){r=!0;var s=[];if(n.length){var a=n;n=[],a.forEach(i),s=n}var l=function(){var u=s;s=[],u.forEach(i)},c=function(){return Promise.resolve().then(l)};c(),n={push:function(u){s.push(u),c()},filter:function(u){return s=s.filter(u),n}}}};return o}function ZJ(e){e===void 0&&(e={});var t=QJ(null);return t.options=fi({async:!0,ssr:!1},e),t}var rF=function(e){var t=e.sideCar,n=nF(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw new Error("Sidecar medium not found");return w.createElement(r,fi({},n))};rF.isSideCarExport=!0;function JJ(e,t){return e.useMedium(t),rF}var oF=ZJ(),Zv=function(){},B0=w.forwardRef(function(e,t){var n=w.useRef(null),r=w.useState({onScrollCapture:Zv,onWheelCapture:Zv,onTouchMoveCapture:Zv}),o=r[0],i=r[1],s=e.forwardProps,a=e.children,l=e.className,c=e.removeScrollBar,u=e.enabled,d=e.shards,h=e.sideCar,p=e.noIsolation,m=e.inert,g=e.allowPinchZoom,b=e.as,y=b===void 0?"div":b,v=e.gapMode,x=nF(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),E=h,_=KJ([n,t]),S=fi(fi({},x),o);return w.createElement(w.Fragment,null,u&&w.createElement(E,{sideCar:oF,removeScrollBar:c,shards:d,noIsolation:p,inert:m,setCallbacks:i,allowPinchZoom:!!g,lockRef:n,gapMode:v}),s?w.cloneElement(w.Children.only(a),fi(fi({},S),{ref:_})):w.createElement(y,fi({},S,{className:l,ref:_}),a))});B0.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};B0.classNames={fullWidth:Eg,zeroRight:Sg};var eee=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function tee(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=eee();return t&&e.setAttribute("nonce",t),e}function nee(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function ree(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var oee=function(){var e=0,t=null;return{add:function(n){e==0&&(t=tee())&&(nee(t,n),ree(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},iee=function(){var e=oee();return function(t,n){w.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},iF=function(){var e=iee(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t},see={left:0,top:0,right:0,gap:0},Jv=function(e){return parseInt(e||"",10)||0},aee=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[Jv(n),Jv(r),Jv(o)]},lee=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return see;var t=aee(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},cee=iF(),ou="data-scroll-locked",uee=function(e,t,n,r){var o=e.left,i=e.top,s=e.right,a=e.gap;return n===void 0&&(n="margin"),`
447
+ `);const v=y.state[a];if(v==null)return;JSON.stringify(o.getState())!==JSON.stringify(v)&&p(v);return}o.dispatchFromDevtools&&typeof o.dispatch=="function"&&o.dispatch(y)});case"DISPATCH":switch(g.payload.type){case"RESET":return p(m),a===void 0?u==null?void 0:u.init(o.getState()):u==null?void 0:u.init(um(l.name));case"COMMIT":if(a===void 0){u==null||u.init(o.getState());return}return u==null?void 0:u.init(um(l.name));case"ROLLBACK":return qv(g.state,y=>{if(a===void 0){p(y),u==null||u.init(o.getState());return}p(y[a]),u==null||u.init(um(l.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return qv(g.state,y=>{if(a===void 0){p(y);return}JSON.stringify(o.getState())!==JSON.stringify(y[a])&&p(y[a])});case"IMPORT_STATE":{const{nextLiftedState:y}=g.payload,v=(b=y.computedStates.slice(-1)[0])==null?void 0:b.state;if(!v)return;p(a===void 0?v:v[a]),u==null||u.send(null,y);return}case"PAUSE_RECORDING":return h=!h}return}}),m},H5=MZ,qv=(e,t)=>{let n;try{n=JSON.parse(e)}catch(r){console.error("[zustand devtools middleware] Could not parse the received json",r)}n!==void 0&&t(n)};let dm;const PZ=new Uint8Array(16);function IZ(){if(!dm&&(dm=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!dm))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return dm(PZ)}const zn=[];for(let e=0;e<256;++e)zn.push((e+256).toString(16).slice(1));function jZ(e,t=0){return zn[e[t+0]]+zn[e[t+1]]+zn[e[t+2]]+zn[e[t+3]]+"-"+zn[e[t+4]]+zn[e[t+5]]+"-"+zn[e[t+6]]+zn[e[t+7]]+"-"+zn[e[t+8]]+zn[e[t+9]]+"-"+zn[e[t+10]]+zn[e[t+11]]+zn[e[t+12]]+zn[e[t+13]]+zn[e[t+14]]+zn[e[t+15]]}const TZ=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),nD={randomUUID:TZ};function br(e,t,n){if(nD.randomUUID&&!e)return nD.randomUUID();e=e||{};const r=e.random||(e.rng||IZ)();return r[6]=r[6]&15|64,r[8]=r[8]&63|128,jZ(r)}function AZ(e){var r;if(!(e!=null&&e.length))return;const t=new Map;for(const o of e)for(const i of o.filterGroups)for(const s of i.filters){if(!((r=s.field)!=null&&r.id))continue;const a=s.field.id;t.has(a)||t.set(a,[]),t.get(a).push({field:s.field,value:s.value})}const n=[];for(const[o,i]of t.entries())if(i.length===1){const s=i[0];n.push({id:br(),logicalOperator:"AND",negate:!1,conditions:[{id:br(),field:s.field,operator:"=",value:s.value}],groups:[]})}else{const s=i[0].field,l=i.map(c=>c.value).map(c=>({id:br(),field:s,operator:"=",value:c}));n.push({id:br(),logicalOperator:"OR",negate:!1,conditions:l,groups:[]})}if(n.length!==0)return{id:br(),logicalOperator:"AND",negate:!1,conditions:[],groups:n}}function OZ(e){const t=e.filter(Boolean);if(t.length!==0)return t.length===1?t[0]:{id:br(),logicalOperator:"AND",negate:!1,conditions:[],groups:t}}function FZ(e){if(!e)return;const t=n=>({logicalOperator:n.logicalOperator,negate:n.negate,conditions:n.conditions.map(r=>({field:r.field.id,operator:r.operator,value:r.value})),groups:n.groups.map(t)});return JSON.stringify(t(e))}const i2=rc((e,t)=>({context:null,setContext:n=>e({context:n}),appendCondition:n=>{const r=t().context;r&&e({context:{...r,type:"multiClick",conditions:[...r.conditions,n]}})},clear:()=>e({context:null})}));function U1({intent:e,card:t}){var i,s,a,l,c,u;const n=i2.getState().context;if(!n||!((i=n.conditions)!=null&&i.length))return;const r={sourceCardId:n.cardId,filterGroups:[{filters:n.conditions}],metric:n.metric},o=t==null?void 0:t.interactionConfig;switch(e.mode){case"clickFilter":{const[d]=(o==null?void 0:o.clickFilterInteractions)??[];return{interactionMode:"clickFilter",...r,applyToCardIds:d==null?void 0:d.applyToCardIds,excludeCardIds:d==null?void 0:d.excludeCardIds}}case"drillDown":{const d=(s=o==null?void 0:o.drillHierarchies)==null?void 0:s.find(h=>h.id===e.hierarchyId);return d?{interactionMode:"drillDown",...r,hierarchyId:d.id,toField:e.drillField}:void 0}case"dynamicDrill":return{interactionMode:"dynamicDrill",...r,toField:e.drillField};case"drillToDetail":{const d=(a=o==null?void 0:o.drillInteractions)==null?void 0:a.find(h=>h.mode==="drillToDetail");return!d||!((l=d.detailFields)!=null&&l.length)?void 0:{interactionMode:"drillToDetail",...r,detailFields:d.detailFields,sortBy:d.sortBy,limit:d.limit}}case"drillToURL":{const d=(c=o==null?void 0:o.drillInteractions)==null?void 0:c.find(h=>h.mode==="drillToURL");return!d||!d.urlTemplate?void 0:{interactionMode:"drillToURL",...r,url:d.urlTemplate}}case"drillThrough":{const d=(u=o==null?void 0:o.drillInteractions)==null?void 0:u.find(h=>h.mode==="drillThrough");return!d||!d.targetSheetId?void 0:{interactionMode:"drillThrough",...r,targetSheetId:d.targetSheetId}}case"inlineDrill":return{interactionMode:"inlineDrill",...r,fetchMode:"lazy",inlineLimit:10};default:return}}function $o(e,t){if(e.sourceCardId!==t.sourceCardId||!Array.isArray(e.filterGroups)||!Array.isArray(t.filterGroups)||e.filterGroups.length!==t.filterGroups.length)return!1;const n=s=>s.filters.map(a=>({fieldId:a.field.id,value:String(a.value),operator:a.operator??"="})).sort((a,l)=>a.fieldId!==l.fieldId?a.fieldId.localeCompare(l.fieldId):a.value.localeCompare(l.value)),r=s=>s.map(n).sort((a,l)=>{const c=a.map(d=>`${d.fieldId}:${d.value}`).join("|"),u=l.map(d=>`${d.fieldId}:${d.value}`).join("|");return c.localeCompare(u)}),o=r(e.filterGroups),i=r(t.filterGroups);return o.every((s,a)=>{const l=i[a];return s.length!==l.length?!1:s.every((c,u)=>{const d=l[u];return c.fieldId===d.fieldId&&c.value===d.value&&c.operator===d.operator})})}function LZ(e){const t=ro(),n=i2();return{handlePointerInteraction:({context:o,gesture:i,position:s,modifierKeys:a})=>{var m,g;if(n.setContext({type:i,cardId:e.id,conditions:o.conditions,metric:(m=o.metrics)==null?void 0:m[0],anchorPosition:s}),i!=="leftClick"||!((g=e.interactionConfig)==null?void 0:g.clickFilterInteractions))return;const c=U1({intent:{mode:"clickFilter"},card:e});if(!c)return;const u=t.interactionStates[e.id]??Bc(),d=u.appliedClickFilters??[],h=d.some(b=>$o(b,c));if(a==null?void 0:a.shift){const b=h?d.filter(y=>!$o(y,c)):[...d,c];t.setInteractionState(e.id,{...u,appliedClickFilters:b})}else h&&d.length===1?t.setInteractionState(e.id,{...u,appliedClickFilters:[]}):t.setInteractionState(e.id,{...u,appliedClickFilters:[c]})}}}const vf=rc()(H5((e,t)=>({clearBlurCallbacks:{},registerClearBlurCallback:(n,r)=>{e(o=>({clearBlurCallbacks:{...o.clearBlurCallbacks,[n]:r}}))},clearBlurForCard:n=>{const o=t().clearBlurCallbacks[n];if(o)try{o()}catch(i){console.warn(`Failed to clear blur for card ${n}:`,i),e(s=>{const{[n]:a,...l}=s.clearBlurCallbacks;return{clearBlurCallbacks:l}})}},clearAllBlur:()=>{const n=t(),r=[];Object.entries(n.clearBlurCallbacks).forEach(([o,i])=>{if(i)try{i()}catch(s){console.warn(`Failed to clear blur for card ${o}:`,s),r.push(o)}}),r.length>0&&e(o=>{const i={...o.clearBlurCallbacks};return r.forEach(s=>{delete i[s]}),{clearBlurCallbacks:i}})},unregisterCard:n=>{e(r=>{const{[n]:o,...i}=r.clearBlurCallbacks;return{clearBlurCallbacks:i}})}}),{name:"chartjs-store"}));function Bc(){return{breadcrumbs:[],hierarchyId:void 0,appliedClickFilters:[]}}const ro=rc()(H5(e=>({interactionStates:{},setInteractionState:(t,n)=>{e(r=>({interactionStates:{...r.interactionStates,[t]:n}}))},resetInteractionState:t=>{e(n=>({interactionStates:{...n.interactionStates,[t]:Bc()}}))},toggleClickFilter:(t,n)=>{e(r=>{const o=r.interactionStates[t]??Bc(),i=o.appliedClickFilters??[],s=i.some(l=>$o(l,n)),a=s?i.filter(l=>!$o(l,n)):[...i,n];return s&&a.filter(c=>c.sourceCardId===n.sourceCardId).length===0&&vf.getState().clearBlurForCard(n.sourceCardId),{interactionStates:{...r.interactionStates,[t]:{...o,appliedClickFilters:a}}}})},removeClickFiltersByValue:(t,n,r)=>{e(o=>{const i=o.interactionStates[t]??Bc(),s=i.appliedClickFilters??[],a=s.filter(u=>u.filterGroups.some(d=>d.filters.some(h=>{const p=h.field.label,m=h.field.name;return(p===n||m===n)&&h.value===r}))),l=new Set,c=s.filter(u=>{const d=a.some(h=>$o(u,h));return d&&l.add(u.sourceCardId),!d});return l.forEach(u=>{const d=o.interactionStates[u],p=((d==null?void 0:d.appliedClickFilters)??[]).filter(g=>!a.some(b=>$o(g,b)));let m=!1;Object.entries(o.interactionStates).forEach(([g,b])=>{g===u?p.length>0&&(m=!0):((b==null?void 0:b.appliedClickFilters)??[]).some(x=>x.sourceCardId===u)&&(m=!0)}),m||vf.getState().clearBlurForCard(u),o.interactionStates[u]={...d,appliedClickFilters:p}}),{interactionStates:{...o.interactionStates,[t]:{...i,appliedClickFilters:c}}}})},applyInteractionEvent:(t,n,r=!1)=>{e(o=>{var a;const i=o.interactionStates[t]??Bc(),s=r?Bc():i;if(n.interactionMode==="clickFilter"){const l=r?[n]:[...s.appliedClickFilters??[],n];return{interactionStates:{...o.interactionStates,[t]:{...s,appliedClickFilters:l}}}}if(n.interactionMode==="drillDown"||n.interactionMode==="dynamicDrill"){if(!((a=n.filterGroups)!=null&&a.length))return o;const l={sourceFilterGroups:n.filterGroups,toField:n.toField,granularity:n.granularity,timeComparison:n.timeComparison,metric:n.metric};return{interactionStates:{...o.interactionStates,[t]:{...i,hierarchyId:n.interactionMode==="drillDown"?n.hierarchyId:i.hierarchyId,breadcrumbs:[...i.breadcrumbs??[],l]}}}}return o})},popInteractionStep:t=>{e(n=>{var i;const r=n.interactionStates[t];if(!((i=r==null?void 0:r.breadcrumbs)!=null&&i.length))return n;const o=r.breadcrumbs.slice(0,-1);return{interactionStates:{...n.interactionStates,[t]:{...r,breadcrumbs:o,hierarchyId:o.length===0?void 0:r.hierarchyId}}}})},clearAllClickFilters:()=>{e(t=>{const n={...t.interactionStates};for(const r in n)n[r]={...n[r],appliedClickFilters:[]};return vf.getState().clearAllBlur(),{interactionStates:n}})}}),{name:"interaction-store"})),s2=e=>ro(t=>Object.values(t.interactionStates).flatMap(r=>r.appliedClickFilters??[]).filter(r=>{var o,i;return r.sourceCardId===e?!1:(o=r.applyToCardIds)!=null&&o.length?r.applyToCardIds.includes(e):(i=r.excludeCardIds)!=null&&i.length?!r.excludeCardIds.includes(e):!0}));function W5(e){var c;const t=e.id,n=(c=e.config)==null?void 0:c.filters,r=s2(t),o=AZ(r),i=ro(u=>u.interactionStates[t]),a=((i==null?void 0:i.breadcrumbs)??[]).map((u,d)=>({id:`breadcrumb-${d}`,logicalOperator:"OR",negate:!1,conditions:[],groups:u.sourceFilterGroups.map((h,p)=>({id:`breadcrumb-${d}-group-${p}`,logicalOperator:"AND",negate:!1,conditions:h.filters.map(m=>({id:`${m.field.id}-${m.value}`,field:m.field,operator:"=",value:m.value})),groups:[]}))})),l=a.length>0?{id:`${t}-drill-root`,logicalOperator:"AND",negate:!1,conditions:[],groups:a}:void 0;return OZ([n,o,l])}function U5(e){var s,a;const t=e.id,n=ro(l=>l.interactionStates[t]),r=(s=n==null?void 0:n.breadcrumbs)==null?void 0:s.slice(-1)[0],o=r!=null&&r.toField?[r.toField]:(a=e.config)==null?void 0:a.groupByColumns,i=W5(e);return{...e.config,groupByColumns:o,filters:i}}function $Z(e){const t=W5(e);return FZ(t)}function q5(){const e=re(i=>i.dashboard.filters),t=re(i=>i.filterValues),n=re(i=>i.selectedSheetId),r=e==null?void 0:e.filter(i=>i.sheetId===n||!i.sheetId),o=t==null?void 0:t.filter(i=>(r==null?void 0:r.some(s=>s.id===i.filterId))||i.filterId.endsWith(n));return{sheetFilters:r,sheetFilterValues:o}}function G5(e){const t=re(u=>u.selectedLensId),{filterColumns:n,...r}=e.queryConfig||{},o=$Z(e)||"",i=n==null?void 0:n.filter(u=>{var d,h;return(h=(d=e.queryConfig)==null?void 0:d.filters)==null?void 0:h.some(p=>p.filterColumnName===u.name)}),{sheetFilterValues:s}=q5(),a=(e==null?void 0:e.sql)||"",l=zZ((e==null?void 0:e.python)||"");return{queryKey:["query",e==null?void 0:e.id,a,l,t||"",JSON.stringify(s),JSON.stringify(r),JSON.stringify(i),JSON.stringify(e.config),o],sql:a,sheetFilterValues:s}}function zZ(e){return e===lE?"":e}const rD={},BZ=e=>({updatePageSize:t=>e(n=>{var r,o,i;return{card:{...n.card,preferences:{...(r=n.card)==null?void 0:r.preferences,tablePrefs:{...(i=(o=n.card)==null?void 0:o.preferences)==null?void 0:i.tablePrefs,pageSize:t}}}}}),updateColumnSettingsMap:t=>e(n=>{var r,o,i;return{card:{...n.card,preferences:{...(r=n.card)==null?void 0:r.preferences,tablePrefs:{...(i=(o=n.card)==null?void 0:o.preferences)==null?void 0:i.tablePrefs,columnSettingsMap:t}}}}}),updateColumnVisibility:(t,n)=>e(r=>{var s,a,l,c,u,d;const i={...((l=(a=(s=r.card)==null?void 0:s.preferences)==null?void 0:a.tablePrefs)==null?void 0:l.columnVisibility)||{},[t]:n};return{card:{...r.card,preferences:{...(c=r.card)==null?void 0:c.preferences,tablePrefs:{...(d=(u=r.card)==null?void 0:u.preferences)==null?void 0:d.tablePrefs,columnVisibility:i}}}}}),showAllColumns:()=>e(t=>{var i,s,a,l,c,u;const n=((a=(s=(i=t.card)==null?void 0:i.preferences)==null?void 0:s.tablePrefs)==null?void 0:a.columnVisibility)||rD,r=Object.keys(n);if(r.length===0)return t;const o={};return r.forEach(d=>{o[d]=!0}),{card:{...t.card,preferences:{...(l=t.card)==null?void 0:l.preferences,tablePrefs:{...(u=(c=t.card)==null?void 0:c.preferences)==null?void 0:u.tablePrefs,columnVisibility:o}}}}}),hideAllColumns:()=>e(t=>{var i,s,a,l,c,u;const n=((a=(s=(i=t.card)==null?void 0:i.preferences)==null?void 0:s.tablePrefs)==null?void 0:a.columnVisibility)||rD,r=Object.keys(n);if(r.length===0)return t;const o={};return r.forEach(d=>{o[d]=!1}),{card:{...t.card,preferences:{...(l=t.card)==null?void 0:l.preferences,tablePrefs:{...(u=(c=t.card)==null?void 0:c.preferences)==null?void 0:u.tablePrefs,columnVisibility:o}}}}}),toggleSelectColumn:t=>e(n=>{var r,o,i;return{card:{...n.card,preferences:{...(r=n.card)==null?void 0:r.preferences,tablePrefs:{...(i=(o=n.card)==null?void 0:o.preferences)==null?void 0:i.tablePrefs,selectColumnVisible:t}}}}}),initializeColumnVisibility:t=>e(n=>{var o,i,s;const r={};return t.forEach(a=>{r[a]=!0}),{card:{...n.card,preferences:{...(o=n.card)==null?void 0:o.preferences,tablePrefs:{...(s=(i=n.card)==null?void 0:i.preferences)==null?void 0:s.tablePrefs,columnVisibility:r}}}}}),updateAllColumnVisibility:t=>typeof t=="function"?(console.error("Function updater received instead of visibility object - ignoring"),e(n=>n)):e(n=>{var r,o,i;return{card:{...n.card,preferences:{...(r=n.card)==null?void 0:r.preferences,tablePrefs:{...(i=(o=n.card)==null?void 0:o.preferences)==null?void 0:i.tablePrefs,columnVisibility:t}}}}})}),VZ=(e,t)=>({updateFrame:n=>{e(r=>{Object.assign(r.frame,n)})},setActiveCardInFrame:n=>{const{frame:r}=t(),o=r.cards.find(i=>i.id===n);o&&e(i=>{i.frame.activeCardId=n,i.card=o})},addCard:()=>{const{frame:n}=t(),r={type:"bar",id:`card-${Date.now()}`,title:`Card ${n.cards.length+1}`,dataSource:{connectionId:"",connectionType:"",mode:"database",selectedEntities:[]},config:{groupByColumns:[],metricColumns:[],pivotByColumns:[],sortByColumns:[]}};e(o=>{o.frame.cards.push(r),o.frame.activeCardId=r.id,o.card=r})},removeCard:n=>{const{frame:r}=t();r.cards.length<=1||e(o=>{const i=o.frame.cards.findIndex(s=>s.id===n);if(i!==-1&&o.frame.cards.splice(i,1),o.frame.activeCardId===n){const s=o.frame.cards[0];s&&(o.frame.activeCardId=s.id,o.card=s)}})},updateCard:(n,r)=>{e(o=>{o.card.id===n&&Object.assign(o.card,r)})},setActiveCard:n=>{const{frame:r}=t(),o=r.cards.find(i=>i.id===n);o&&e(i=>{i.frame.activeCardId=n,i.card=o})},setActiveTabCard:n=>{e(r=>{r.activeTabCardId=n})},setDataSource:n=>{e(r=>{r.card.dataSource=n})},updateDataSource:n=>{e(r=>{const o={...n};r.card.dataSource=o})},updateSemanticDomain:n=>{e(r=>{r.card.dataSource?(r.card.dataSource.semanticDomainId=n,r.card.dataSource.mode="semanticDomain"):r.card.dataSource={connectionId:"",connectionType:"",mode:"semanticDomain",semanticDomainId:n,selectedEntities:[]}})},updateDirectSource:n=>{e(r=>{r.card.dataSource?r.card.dataSource={...r.card.dataSource,...n}:r.card.dataSource={connectionId:"",connectionType:"",mode:"database",...n,selectedEntities:[]}})},getAvailableFields:()=>[],updateCardConfig:(n,r)=>{e(o=>{o.card.id===n&&(o.card.config={...o.card.config,...r})})},updateRowLimit:(n,r)=>{e(o=>{o.card.id===n&&(o.card.config||(o.card.config={}),o.card.config.rowLimit=r)})},addGroupByColumn:(n,r)=>{e(o=>{var i;o.card.id===n&&((i=o.card.config)!=null&&i.groupByColumns||(o.card.config.groupByColumns=[]),o.card.config.groupByColumns.push(r))})},removeGroupByColumn:(n,r)=>{e(o=>{var i;if(o.card.id===n&&((i=o.card.config)!=null&&i.groupByColumns)){const s=o.card.config.groupByColumns.findIndex(a=>a.id===r);s!==-1&&o.card.config.groupByColumns.splice(s,1)}})},updateGroupByColumn:(n,r,o)=>{e(i=>{var s;if(i.card.id===n&&((s=i.card.config)!=null&&s.groupByColumns)){const a=i.card.config.groupByColumns.findIndex(l=>l.id===r);a!==-1&&Object.assign(i.card.config.groupByColumns[a],o)}})},addMetricColumn:(n,r)=>{e(o=>{var i;o.card.id===n&&((i=o.card.config)!=null&&i.metricColumns||(o.card.config.metricColumns=[]),o.card.config.metricColumns.push(r))})},removeMetricColumn:(n,r)=>{e(o=>{var i;if(o.card.id===n&&((i=o.card.config)!=null&&i.metricColumns)){const s=o.card.config.metricColumns.findIndex(a=>a.id===r);s!==-1&&o.card.config.metricColumns.splice(s,1)}})},updateMetricColumn:(n,r,o)=>{e(i=>{var s;if(i.card.id===n&&((s=i.card.config)!=null&&s.metricColumns)){const a=i.card.config.metricColumns.findIndex(l=>l.id===r);a!==-1&&Object.assign(i.card.config.metricColumns[a],o)}})},addPivotByColumn:(n,r)=>{e(o=>{var i;o.card.id===n&&((i=o.card.config)!=null&&i.pivotByColumns||(o.card.config.pivotByColumns=[]),o.card.config.pivotByColumns.push(r))})},removePivotByColumn:(n,r)=>{e(o=>{var i;if(o.card.id===n&&((i=o.card.config)!=null&&i.pivotByColumns)){const s=o.card.config.pivotByColumns.findIndex(a=>a.id===r);s!==-1&&o.card.config.pivotByColumns.splice(s,1)}})},updatePivotByColumn:(n,r,o)=>{e(i=>{var s;if(i.card.id===n&&((s=i.card.config)!=null&&s.pivotByColumns)){const a=i.card.config.pivotByColumns.findIndex(l=>l.id===r);a!==-1&&Object.assign(i.card.config.pivotByColumns[a],o)}})},addSortByColumn:(n,r)=>{e(o=>{var i;o.card.id===n&&((i=o.card.config)!=null&&i.sortByColumns||(o.card.config.sortByColumns=[]),o.card.config.sortByColumns.push(r))})},removeSortByColumn:(n,r)=>{e(o=>{var i;if(o.card.id===n&&((i=o.card.config)!=null&&i.sortByColumns)){const s=o.card.config.sortByColumns.findIndex(a=>a.id===r);s!==-1&&o.card.config.sortByColumns.splice(s,1)}})},updateSortByColumn:(n,r,o)=>{e(i=>{var s;if(i.card.id===n&&((s=i.card.config)!=null&&s.sortByColumns)){const a=i.card.config.sortByColumns.findIndex(l=>l.id===r);a!==-1&&Object.assign(i.card.config.sortByColumns[a],o)}})},updateFilters:(n,r)=>{e(o=>{o.card.id===n&&(o.card.config||(o.card.config={}),o.card.config.filters=r)})},clearFilters:n=>{e(r=>{r.card.id===n&&r.card.config&&(r.card.config.filters=void 0)})},addJoin:(n,r)=>{e(o=>{var i;o.card.id===n&&((i=o.card.config)!=null&&i.joinPlan||(o.card.config.joinPlan={baseEntity:{connectionId:"",connectionType:"none",type:"table",name:""},joins:[]}),o.card.config.joinPlan.joins.push(r))})},removeJoin:(n,r)=>{e(o=>{var i;if(o.card.id===n&&((i=o.card.config)!=null&&i.joinPlan)){const s=o.card.config.joinPlan.joins.findIndex(a=>a.id===r);s!==-1&&o.card.config.joinPlan.joins.splice(s,1)}})},updateJoin:(n,r,o)=>{e(i=>{var s;if(i.card.id===n&&((s=i.card.config)!=null&&s.joinPlan)){const a=i.card.config.joinPlan.joins.findIndex(l=>l.id===r);a!==-1&&Object.assign(i.card.config.joinPlan.joins[a],o)}})},reorderJoins:(n,r)=>{e(o=>{var i;if(o.card.id===n&&((i=o.card.config)!=null&&i.joinPlan)){const s=r.map((a,l)=>{const c=o.card.config.joinPlan.joins.find(u=>u.id===a);return c?{...c,sequence:l}:null}).filter(Boolean);o.card.config.joinPlan.joins=s}})}}),HZ=[],WZ=[],UZ=[],qZ=[],GZ=e=>({updateDrillHierarchies:t=>{e(n=>({card:{...n.card,interactionConfig:{...n.card.interactionConfig,drillHierarchies:t}}}))},addDrillHierarchy:t=>e(n=>{var o;const r=((o=n.card.interactionConfig)==null?void 0:o.drillHierarchies)||[];return{card:{...n.card,interactionConfig:{...n.card.interactionConfig,drillHierarchies:[...r,t]}}}}),removeDrillHierarchy:t=>e(n=>{var o;const r=((o=n.card.interactionConfig)==null?void 0:o.drillHierarchies)||[];return{card:{...n.card,interactionConfig:{...n.card.interactionConfig,drillHierarchies:r.filter(i=>i.id!==t)}}}}),updateDrillHierarchy:(t,n)=>e(r=>{var i;const o=((i=r.card.interactionConfig)==null?void 0:i.drillHierarchies)||[];return{card:{...r.card,interactionConfig:{...r.card.interactionConfig,drillHierarchies:o.map(s=>s.id===t?{...s,...n}:s)}}}}),setDefaultHierarchy:t=>e(n=>{var o;const r=((o=n.card.interactionConfig)==null?void 0:o.drillHierarchies)||[];return{card:{...n.card,interactionConfig:{...n.card.interactionConfig,drillHierarchies:r.map(i=>({...i,default:i.id===t}))}}}}),updateAllowedDrillTargets:t=>e(n=>({card:{...n.card,interactionConfig:{...n.card.interactionConfig,allowedDrillTargets:t}}})),addDrillTarget:t=>e(n=>{var o;const r=((o=n.card.interactionConfig)==null?void 0:o.allowedDrillTargets)||[];return r.some(i=>i.id===t.id)?n:{card:{...n.card,interactionConfig:{...n.card.interactionConfig,allowedDrillTargets:[...r,t]}}}}),removeDrillTarget:t=>e(n=>{var o;const r=((o=n.card.interactionConfig)==null?void 0:o.allowedDrillTargets)||[];return{card:{...n.card,interactionConfig:{...n.card.interactionConfig,allowedDrillTargets:r.filter(i=>i.id!==t)}}}}),updateDrillInteractions:t=>e(n=>({card:{...n.card,interactionConfig:{...n.card.interactionConfig,drillInteractions:t}}})),addDrillInteraction:t=>e(n=>{var o;const r=((o=n.card.interactionConfig)==null?void 0:o.drillInteractions)||[];return{card:{...n.card,interactionConfig:{...n.card.interactionConfig,drillInteractions:[...r,t]}}}}),removeDrillInteraction:t=>e(n=>{var o;const r=((o=n.card.interactionConfig)==null?void 0:o.drillInteractions)||[];return{card:{...n.card,interactionConfig:{...n.card.interactionConfig,drillInteractions:r.filter((i,s)=>s!==t)}}}}),updateClickFilterInteractions:t=>e(n=>({card:{...n.card,interactionConfig:{...n.card.interactionConfig,clickFilterInteractions:t}}})),addClickFilterInteraction:t=>e(n=>{var o;const r=((o=n.card.interactionConfig)==null?void 0:o.clickFilterInteractions)||[];return{card:{...n.card,interactionConfig:{...n.card.interactionConfig,clickFilterInteractions:[...r,t]}}}}),removeClickFilterInteraction:t=>e(n=>{var o;const r=((o=n.card.interactionConfig)==null?void 0:o.clickFilterInteractions)||[];return{card:{...n.card,interactionConfig:{...n.card.interactionConfig,clickFilterInteractions:r.filter(i=>!i.filterFields.some(s=>s.id===t))}}}}),updateInlineDrillPreview:t=>e(n=>({card:{...n.card,config:{...n.card.config,inlineDrillPreview:t}}})),toggleInlineDrillPreview:t=>e(n=>{var r,o,i,s,a;return{card:{...n.card,config:{...n.card.config,inlineDrillPreview:{...(r=n.card.config)==null?void 0:r.inlineDrillPreview,enabled:t,limit:((i=(o=n.card.config)==null?void 0:o.inlineDrillPreview)==null?void 0:i.limit)||5,mode:((a=(s=n.card.config)==null?void 0:s.inlineDrillPreview)==null?void 0:a.mode)||"lazy"}}}}}),updateInteractionConfig:t=>e(n=>({card:{...n.card,interactionConfig:{...n.card.interactionConfig,...t}}})),resetDrillConfiguration:()=>e(t=>({card:{...t.card,interactionConfig:{drillHierarchies:HZ,allowedDrillTargets:WZ,clickFilterInteractions:UZ,drillInteractions:qZ},config:{...t.card.config,inlineDrillPreview:{enabled:!1,limit:5,mode:"lazy"}}}}))}),YZ=()=>me(e=>e.card),KZ=()=>me(e=>e.actions),me=rc()(sE((e,t)=>({isDevMode:!1,userInputForAI:"",triggerAIRun:!1,showAIDialog:!1,isShowingVisual:!0,runSql:!1,sqlGen:{},sql:"",isSqlRunning:!1,queryResultColumns:[],showFilters:!1,applyFilters:!1,filterValues:[{filterId:"sample-filter-id",valueType:"string",name:"",operation:"in",values:[""]}],dataSourceState:{mode:"directSource"},card:{id:"editor-card-id",title:"Editor Card",type:"bar",data:[]},frame:{id:br(),cards:[{id:"editor-card-id",title:"Editor Card",type:"bar",data:[]}],activeCardId:"editor-card-id"},actions:{...GZ(e),...VZ(e,t),...BZ(e),setCardMode:n=>{e(r=>{r.card.mode=n})},setEditorFilterMode:(n,r)=>{e(o=>{var s,a;const i=(a=(s=o.card.queryConfig)==null?void 0:s.filterColumns)==null?void 0:a.find(l=>l.name===n);i&&(r==="include"?i.mode="include":i.mode="exclude")})},setCardTitle:n=>{e(r=>{r.card.title=n})},setCardDescription:n=>{e(r=>{r.card.description=n})},setQueryConfig:n=>{e(r=>{r.card.queryConfig=n})},addOrderByColumn:n=>{e(r=>{var o;r.card.queryConfig={...r.card.queryConfig,orderBy:[...((o=r.card.queryConfig)==null?void 0:o.orderBy)||[],n]}})},removeOrderByColumn:n=>{e(r=>{var o,i;r.card.queryConfig={...r.card.queryConfig,orderBy:(i=(o=r.card.queryConfig)==null?void 0:o.orderBy)==null?void 0:i.filter(s=>s.columnId!==n.columnId)}})},updateOrderByColumn:n=>{e(r=>{var o,i;r.card.queryConfig={...r.card.queryConfig,orderBy:(i=(o=r.card.queryConfig)==null?void 0:o.orderBy)==null?void 0:i.map(s=>s.columnId===n.columnId?n:s)}})},setOrderByColumns:n=>{e(r=>{r.card.queryConfig={...r.card.queryConfig,orderBy:n}})},setPivotByColumns:n=>{e(r=>{r.card.queryConfig={...r.card.queryConfig,pivotColumns:n}})},updateEditorFilterValue:(n,r,o)=>{e(i=>{var a,l,c,u,d;const s=(l=(a=i.card.queryConfig)==null?void 0:a.filters)==null?void 0:l.find(h=>h.filterColumnName===n);o&&(i.card.queryConfig={...i.card.queryConfig,filters:(u=(c=i.card.queryConfig)==null?void 0:c.filters)==null?void 0:u.filter(h=>h.filterColumnName!==n)}),s?s.filterValue=r:i.card.queryConfig={...i.card.queryConfig,filters:[...((d=i.card.queryConfig)==null?void 0:d.filters)||[],{filterColumnName:n,filterValue:r}]}})},clearEditorFilter:n=>{e(r=>{var o,i;r.card.queryConfig={...r.card.queryConfig,filters:(i=(o=r.card.queryConfig)==null?void 0:o.filters)==null?void 0:i.filter(s=>s.filterColumnName!==n.name)}})},removeEditorFilter:n=>{e(r=>{var o,i,s,a;r.card.queryConfig={...r.card.queryConfig,filters:(i=(o=r.card.queryConfig)==null?void 0:o.filters)==null?void 0:i.filter(l=>l.filterColumnName!==n.name),filterColumns:(a=(s=r.card.queryConfig)==null?void 0:s.filterColumns)==null?void 0:a.filter(l=>l.id!==n.id)}})},setTempQueryData:n=>{e(r=>{r.tempQueryData=n})},setIsDevMode:n=>{e(r=>{r.isDevMode=n,r.card.mode=n==!1?"explorer":"dev"})},setMetricColumns:n=>{e(r=>{r.card.queryConfig={...r.card.queryConfig,metricColumns:n}})},addColumnToMetricColumns:n=>{e(r=>{var o;r.card.queryConfig={...r.card.queryConfig,metricColumns:[...((o=r.card.queryConfig)==null?void 0:o.metricColumns)||[],n]}})},updateMetricColumnOld:(n,r)=>{e(o=>{var i,s;o.card.queryConfig={...o.card.queryConfig,metricColumns:(s=(i=o.card.queryConfig)==null?void 0:i.metricColumns)==null?void 0:s.map(a=>a.id===n?r:a)}})},removeColumnFromMetricColumns:n=>{e(r=>{var o,i,s,a;r.card.queryConfig={...r.card.queryConfig,metricColumns:(i=(o=r.card.queryConfig)==null?void 0:o.metricColumns)==null?void 0:i.filter(l=>l.id!==n)},r.card.queryConfig={...r.card.queryConfig,orderBy:(a=(s=r.card.queryConfig)==null?void 0:s.orderBy)==null?void 0:a.filter(l=>l.columnId!==n)}})},removeColumnFromPivotBy:n=>{e(r=>{var o,i,s,a;r.card.queryConfig={...r.card.queryConfig,pivotColumns:(i=(o=r.card.queryConfig)==null?void 0:o.pivotColumns)==null?void 0:i.filter(l=>l.id!==n)},r.card.queryConfig={...r.card.queryConfig,orderBy:(a=(s=r.card.queryConfig)==null?void 0:s.orderBy)==null?void 0:a.filter(l=>l.columnId!==n)}})},setGroupByColumns:n=>{e(r=>{r.card.queryConfig={...r.card.queryConfig,groupByColumns:n}})},addColumnToGroupBy:n=>{e(r=>{var o;r.card.queryConfig={...r.card.queryConfig,groupByColumns:[...((o=r.card.queryConfig)==null?void 0:o.groupByColumns)||[],n]}})},updateGroupByColumnOld:(n,r)=>{e(o=>{var i,s;o.card.queryConfig={...o.card.queryConfig,groupByColumns:(s=(i=o.card.queryConfig)==null?void 0:i.groupByColumns)==null?void 0:s.map(a=>a.id===n?r:a)}})},updatePivotByColumnOld:(n,r)=>{e(o=>{var i,s;o.card.queryConfig={...o.card.queryConfig,pivotColumns:(s=(i=o.card.queryConfig)==null?void 0:i.pivotColumns)==null?void 0:s.map(a=>a.id===n?r:a)}})},removeColumnFromGroupBy:n=>{e(r=>{var o,i,s,a;r.card.queryConfig={...r.card.queryConfig,groupByColumns:(i=(o=r.card.queryConfig)==null?void 0:o.groupByColumns)==null?void 0:i.filter(l=>l.id!==n)},r.card.queryConfig={...r.card.queryConfig,orderBy:(a=(s=r.card.queryConfig)==null?void 0:s.orderBy)==null?void 0:a.filter(l=>l.columnId!==n)}})},setFilterColumns:n=>{e(r=>{r.card.queryConfig={...r.card.queryConfig,filterColumns:n}})},addColumnToFilterColumns:n=>{e(r=>{var o;r.card.queryConfig={...r.card.queryConfig,filterColumns:[...((o=r.card.queryConfig)==null?void 0:o.filterColumns)||[],n]}})},updateFilterColumn:(n,r)=>{e(o=>{var i,s;o.card.queryConfig={...o.card.queryConfig,filterColumns:(s=(i=o.card.queryConfig)==null?void 0:i.filterColumns)==null?void 0:s.map(a=>a.id===n?r:a)}})},removeColumnFromFilterColumns:n=>{e(r=>{var o,i;r.card.queryConfig={...r.card.queryConfig,filterColumns:(i=(o=r.card.queryConfig)==null?void 0:o.filterColumns)==null?void 0:i.filter(s=>s.id!==n)}})},setCurrentAssitantScope:n=>{e(r=>{r.currentAssitantScope=n})},setLegendOptions:n=>{e(r=>{var o,i,s,a,l,c;r.card.preferences={...r.card.preferences,chartOptions:{...(o=r.card.preferences)==null?void 0:o.chartOptions,plugins:{...(s=(i=r.card.preferences)==null?void 0:i.chartOptions)==null?void 0:s.plugins,legend:{...(c=(l=(a=r.card.preferences)==null?void 0:a.chartOptions)==null?void 0:l.plugins)==null?void 0:c.legend,...n}}}}})},setChartGrid:n=>{e(r=>{var o,i,s,a,l,c,u,d,h,p,m,g,b,y,v;r.card.preferences={...r.card.preferences,chartOptions:{...(o=r.card.preferences)==null?void 0:o.chartOptions,scales:{x:{...(a=(s=(i=r.card.preferences)==null?void 0:i.chartOptions)==null?void 0:s.scales)==null?void 0:a.x,grid:{...(d=(u=(c=(l=r.card.preferences)==null?void 0:l.chartOptions)==null?void 0:c.scales)==null?void 0:u.x)==null?void 0:d.grid,display:n==="x"||n==="xy"}},y:{...(m=(p=(h=r.card.preferences)==null?void 0:h.chartOptions)==null?void 0:p.scales)==null?void 0:m.y,grid:{...(v=(y=(b=(g=r.card.preferences)==null?void 0:g.chartOptions)==null?void 0:b.scales)==null?void 0:y.y)==null?void 0:v.grid,display:n==="y"||n==="xy"}}}}}})},runAssistant:n=>{e(r=>{r.showAIDialog=!0,r.userInputForAI=n,r.triggerAIRun=!0})},setShowAIDialog:n=>{e(r=>{r.showAIDialog=n})},setUserInputForAI:n=>{e(r=>{r.userInputForAI=n})},setTriggerAIRun:n=>{e(r=>{r.triggerAIRun=n})},updateCardTab:(n,r)=>{e(o=>{const i=o.frame,s={...i,cards:i.cards.map(l=>l.id===r.id?r:l),activeCardId:n};o.frame=s;const a=s.cards.find(l=>l.id===n);o.card=a})},setActiveTabCardId:n=>{e(r=>{r.activeTabCardId=n})},setCustomCardPreferences:n=>{e(r=>{r.card.customCardPreferences=n})},setChartOrientation:n=>{e(r=>{var s,a,l,c,u,d;const o=r.card.preferences;let i={};((s=o==null?void 0:o.chartOptions)==null?void 0:s.indexAxis)!==n&&(i={x:(l=(a=o==null?void 0:o.chartOptions)==null?void 0:a.scales)==null?void 0:l.y,y:(u=(c=o==null?void 0:o.chartOptions)==null?void 0:c.scales)==null?void 0:u.x}),r.card.preferences={...o,chartOptions:{...o==null?void 0:o.chartOptions,scales:{...(d=o==null?void 0:o.chartOptions)==null?void 0:d.scales,...i},indexAxis:n}}})},setLowerIsBetter:n=>{e(r=>{var o;r.card.preferences={...r.card.preferences,kpiVisualOptions:{...(o=r.card.preferences)==null?void 0:o.kpiVisualOptions,lowerIsBetter:n}}})},setSortChart:n=>{e(r=>{r.card.preferences={...r.card.preferences,sortChart:n}})},setCustomVisualCode:n=>{e(r=>{r.card.preferences={...r.card.preferences,customVisualCode:n}})},setNumberFormat:(n,r,o,i)=>{e(s=>{var a,l,c;s.card.preferences={...(a=s.card)==null?void 0:a.preferences,formatNumber:{...(c=(l=s.card)==null?void 0:l.preferences)==null?void 0:c.formatNumber,decimalPlaces:n,currency:r,locale:o,suffix:i,enabled:!0}}})},setColorRanges:n=>{e(r=>{var o,i;r.card.preferences={...r.card.preferences,formatNumber:{...(i=(o=r.card)==null?void 0:o.preferences)==null?void 0:i.formatNumber,colorRanges:n}}})},setQueryResultColumns:n=>{e(r=>{r.queryResultColumns=n})},setCardPreferences:n=>{e(r=>{r.card.preferences=n})},setFilterOnClickColumnIndex:n=>{e(r=>{r.card.preferences={...r.card.preferences,filterOnClickColumnIndex:n}})},setFilterOnClickField:n=>{e(r=>{r.card.preferences={...r.card.preferences,filterOnClick:!0,filterOnClickField:n}})},setCardRefreshInterval:n=>{e(r=>{r.card.refreshInterval=n})},setIsShowingVisual:n=>{e({isShowingVisual:n})},setRunSql:n=>{e({runSql:n})},setIsSqlRunning:n=>{e({isSqlRunning:n})},clearQueryConfig:()=>{e(n=>{n.card.queryConfig=void 0})},updateCardInFrame:n=>{e(r=>{r.frame.cards=r.frame.cards.map(o=>o.id===n.id?n:o)})},setFrame:n=>{e({frame:n})},setCard:n=>{e({card:n})},switchCardType:n=>{e(r=>{r.card.type=n,r.card.sql="",r.card.python="",r.card.customCfg={},r.card.preferences={}})},setCardType:n=>{e(r=>{var o;r.card.type=n,n==="range"&&(r.card.preferences={...r.card.preferences,chartOptions:{...(o=r.card.preferences)==null?void 0:o.chartOptions,indexAxis:"y"}}),n==="kpi"&&(r.card.config={...r.card.config,comparisonType:"previous_period",showTrendline:!1,trendlineWindow:30,trendlineGranularity:"day",targetValue:0})})},setCardSql:n=>{e(r=>{r.card.sql=n})},setCardPython:n=>{e(r=>{r.card.python=n})},setPythonStdOut:n=>{e(r=>{r.pythonStdOut=n})},setCardConfig:n=>{e(r=>{r.card.config=n})},setCardCustomCfg:n=>{e(r=>{r.card.customCfg=n})},setShowFilters:n=>{e(r=>{r.showFilters=n})},setApplyFilters:n=>{e(r=>{r.applyFilters=n})},setFilterValues:n=>{e(r=>{r.filterValues=n})},setSqlGen:n=>{e(r=>{r.sqlGen=n})},setSqlGenMeasure:(n,r)=>{e(o=>{o.sqlGen.measures=[...o.sqlGen.measures||[],{name:n,calc:r}]})},setSqlGenDimension:n=>{e(r=>{r.sqlGen.dimensions=[...r.sqlGen.dimensions||[],n]})},setSelectedDatamodelId:n=>{var r,o;e(i=>{i.selectedDatamodelId=n,i.card.datamodelId=n}),(o=(r=t()).onDatamodelChange)==null||o.call(r,n)},setSelectedConnectionId:n=>{var r,o;e(i=>{i.selectedConnectionId=n,i.card.connectionId=n}),(o=(r=t()).onConnectionChange)==null||o.call(r,n)},setSelectedDatabaseName:n=>{var r,o;e(i=>{i.selectedDatabaseName=n,i.card.lastSelectedDatabase=n}),(o=(r=t()).onDatabaseChange)==null||o.call(r,n)},setSelectedSchemaName:n=>{var r,o;e(i=>{i.selectedSchemaName=n,i.card.lastSelectedSchema=n}),(o=(r=t()).onSchemaChange)==null||o.call(r,n)},setSelectedTableName:n=>{var r,o;e(i=>{i.selectedTableName=n,i.card.lastSelectedTable=n}),(o=(r=t()).onTableChange)==null||o.call(r,n)},setOnConnectionChange:n=>{e({onConnectionChange:n})},setOnDatabaseChange:n=>{e({onDatabaseChange:n})},setOnSchemaChange:n=>{e({onSchemaChange:n})},setOnTableChange:n=>{e({onTableChange:n})},setOnSave:n=>{e({onSave:n})},setOnClose:n=>{e({onClose:n})}}}))),Wn=()=>me(e=>e.actions);function No(e){var P,A,F;const{authToken:t}=ar(),n=re(T=>T.filteringCards),r=ro(T=>{var O,$;return($=(O=T.interactionStates)==null?void 0:O[e.id])==null?void 0:$.appliedClickFilters}),o=me(T=>T.isDevMode),i=e.queryConfig,s=e.config,a=e.dataSource,l=re(T=>T.isVisualEditing),c=re(T=>T.actions.getCardFrame),u=re(T=>T.authToken),d=(n==null?void 0:n.some(T=>T.id===e.id))||!1,h=c(e.id),p=(h==null?void 0:h.cards)||[],m=(p==null?void 0:p.length)==1,g=NZ((e==null?void 0:e.refreshInterval)||"0"),{queryKey:b,sql:y,sheetFilterValues:v}=G5(e);let x={};l||(x={refetchInterval:g});function E(){return s?!(r==null?void 0:r.some(O=>O.sourceCardId===e.id)):!1}function _(){var V,z,j;const T=(V=e.queryConfig)==null?void 0:V.metricColumns,O=(z=e.queryConfig)==null?void 0:z.groupByColumns,$=(j=e.queryConfig)==null?void 0:j.pivotColumns;return!!(T&&(T==null?void 0:T.length)>0||O&&(O==null?void 0:O.length)>0||$&&($==null?void 0:$.length)>0)}const S={databaseName:(e==null?void 0:e.lastSelectedDatabase)||"",schemaName:(e==null?void 0:e.lastSelectedSchema)||"",tableName:(e==null?void 0:e.lastSelectedTable)||"",datamodelId:(e==null?void 0:e.datamodelId)||""},C=U5(e),R=Tn({queryKey:b,queryFn:async()=>{var z,j,W;if(!(e!=null&&e.connectionId)&&!((z=e==null?void 0:e.dataSource)!=null&&z.connectionId))return null;const T=!!((j=e==null?void 0:e.sql)!=null&&j.trim()),O=_(),$=E();if(!T&&!O&&!$)return null;const V=((W=e.dataSource)==null?void 0:W.connectionId)||e.connectionId;try{return await jA("https://semaphor.cloud/api/v1/query",(t==null?void 0:t.accessToken)||(u==null?void 0:u.accessToken)||"",{connection_id:V,sql:y,python:e.python===lE?"":e.python,active_filters:v,cache_config:RA({card:e}),queryConfig:i,tableConfig:S,cardMode:e.mode,cardType:e.type,cardConfig:C,cardDataSource:a})}catch(L){if(l)return{records:[],error:L};throw L}},placeholderData:UG,...x,enabled:N()});function N(){var T,O;return!(t!=null&&t.accessToken)||d&&m?!1:!!((e!=null&&e.connectionId||(T=e==null?void 0:e.dataSource)!=null&&T.connectionId)&&((O=e==null?void 0:e.sql)!=null&&O.trim()||_()||E())&&!l||_()&&l&&!o||E()&&l&&!o)}const D=((P=R.error)==null?void 0:P.message)||((F=(A=R.data)==null?void 0:A.error)==null?void 0:F.message);return{...R,queryKey:b,isFilteringCard:d,isSingleCardFrame:m,errorMessage:D}}function XZ(e){return/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/.test(e)}function QZ(e,t=1){if(!XZ(e)||t===1)return e;e=e.replace(/^#/,"");const n=parseInt(e.substring(0,2),16),r=parseInt(e.substring(2,4),16),o=parseInt(e.substring(4,6),16);return t=Math.min(Math.max(t,0),1),`rgba(${n}, ${r}, ${o}, ${t})`}function Y5(e,t,n,r=1,o="none"){var u,d,h,p;const i=n==null?void 0:n.datasetOptions,s=re.getState().themeStyle,a=(d=(u=s==null?void 0:s.chart)==null?void 0:u.dataset)==null?void 0:d.backgroundColor,l=(p=(h=s==null?void 0:s.chart)==null?void 0:h.dataset)==null?void 0:p.borderColor;return e.map((m,g)=>{var R;const b=i==null?void 0:i.find(N=>N.idx===g),y=QZ(a==null?void 0:a[g%a.length],r),v=l==null?void 0:l[g%l.length],x=l==null?void 0:l[g%l.length],E=t.some(N=>N._forecast),_={borderWidth:2,pointRadius:2,segment:{borderDash:N=>{const D=N.p0DataIndex;return t[D]._forecast?[2,4]:void 0},borderColor:N=>{const D=t[N.p0DataIndex]._forecast,I=re.getState().theme==="dark";return D?I?"white":"black":x}},pointBackgroundColor:N=>{const D=re.getState().theme==="dark";return t[N.dataIndex]._forecast?D?"white":"gray":v},pointBorderColor:N=>{const D=re.getState().theme==="dark";return t[N.dataIndex]._forecast?D?"white":"gray":v}},S={backgroundColor:N=>{var I;return((I=t[N.dataIndex])==null?void 0:I._forecast)?y+"20":y}};return{label:m.charAt(0).toUpperCase()+m.slice(1),data:t.map(N=>N[m]),...b,datalabels:{...b==null?void 0:b.datalabels,color:ZZ((R=b==null?void 0:b.datalabels)==null?void 0:R.align,y)},backgroundColor:y,borderColor:x,...o==="line"&&E?_:o==="line"?{borderWidth:2,pointRadius:1.5}:{},...o==="bar"&&E?S:{}}})}function ZZ(e,t){return Pu(e==="end"||e==="start"?Yf():t)}function JZ(e,t){var d,h,p,m;const{keys:n}=un(e),r=n.length,o=n.slice(r-3),i=n.slice(0,r-3);let s=[];const a=re.getState().themeStyle,l=(h=(d=a==null?void 0:a.chart)==null?void 0:d.dataset)==null?void 0:h.backgroundColor,c=(m=(p=a==null?void 0:a.chart)==null?void 0:p.dataset)==null?void 0:m.borderColor;let u={};return t==="scatter"&&(u={radius:5}),(i==null?void 0:i.length)===1&&(s=e.map((g,b)=>({label:g[i==null?void 0:i[0]],data:[{x:g[o[0]],y:g[o[1]],r:g[o[2]]}],backgroundColor:(l==null?void 0:l[b%l.length])+"CC",borderColor:c==null?void 0:c[b%c.length],...u}))),(i==null?void 0:i.length)>1&&(s=[...new Set(e.map(b=>b[i==null?void 0:i[1]]))].map((b,y)=>{const v=e.filter(x=>x[i==null?void 0:i[1]]===b);return{label:b,data:v.map(x=>({x:x[o[0]],y:x[o[1]],r:x[o[2]],label:x[i==null?void 0:i[0]]})),backgroundColor:(l==null?void 0:l[y%l.length])+"CC",borderColor:c==null?void 0:c[y%c.length],...u}})),s}function K5(e,t){var s,a,l,c;const n=re.getState().themeStyle,r=(a=(s=n==null?void 0:n.chart)==null?void 0:s.dataset)==null?void 0:a.backgroundColor,o=(c=(l=n==null?void 0:n.chart)==null?void 0:l.dataset)==null?void 0:c.borderColor;return e.map(u=>({label:u?u.charAt(0).toUpperCase()+u.slice(1):"",data:t.map(d=>d[u]),backgroundColor:t.map((d,h)=>(d==null?void 0:d._color)||(r==null?void 0:r[h%r.length])),borderColor:t.map((d,h)=>(d==null?void 0:d._color)||(o==null?void 0:o[h%o.length]))}))}function eJ(e){const t=new Set;return e.forEach(n=>{Object.keys(n).forEach(r=>t.add(r))}),Array.from(t)}function tJ(e){let t=-1,n=0;return e.forEach((r,o)=>{const i=Object.keys(r).length;i>n&&(t=o,n=i)}),t}function un(e){if(!e||e.length===0)return{keys:[],dimensionKeys:[],metricKeys:[]};const t=tJ(e),n=eJ(e),r=n.filter(i=>{var s,a,l,c,u,d,h,p;return!!(typeof((s=e==null?void 0:e[t])==null?void 0:s[i])&&typeof((a=e==null?void 0:e[t])==null?void 0:a[i])=="string"||typeof((l=e==null?void 0:e[0])==null?void 0:l[i])&&typeof((c=e==null?void 0:e[0])==null?void 0:c[i])=="string"||typeof((u=e==null?void 0:e[1])==null?void 0:u[i])&&typeof((d=e==null?void 0:e[1])==null?void 0:d[i])=="string"||typeof((h=e==null?void 0:e[2])==null?void 0:h[i])&&typeof((p=e==null?void 0:e[2])==null?void 0:p[i])=="string")});r.length===0&&r.push(n[0]);const o=n.filter(i=>{var s,a;return((s=e==null?void 0:e[t])==null?void 0:s[i])===+((a=e==null?void 0:e[t])==null?void 0:a[i])});return{keys:n,dimensionKeys:r,metricKeys:o}}function Cl(e,t){var r;const n=(r=t==null?void 0:t.data)==null?void 0:r.datasets;return n&&n.length>0?e.map((i,s)=>({...i,...n==null?void 0:n[s],data:i.data,label:i.label})):e}function nJ(e,t="asc"){function n(r){return Object.entries(r).slice(1).reduce((s,[a,l])=>{const c=typeof l=="number"?l:parseFloat(l);return s+(isNaN(c)?0:c)},0)}return e.sort((r,o)=>{const i=n(r),s=n(o);return t==="asc"?i-s:s-i})}function L0({dataArray:e,groupKey:t,pivotKey:n,valueKey:r,sortChart:o}){const i=e.reduce((l,c)=>{const u=c[t],d=c[n],h=c[r];return l[u]||(l[u]={[t]:u}),l[u][d]=h,l},{});let s=Object.values(i);return o!=="none"&&o!==void 0&&(s=nJ(s,o)),s.map(l=>Object.fromEntries(Object.entries(l).filter(([c,u])=>u!==0)))}function Vn(e,t){var s;const n=re.getState().themeStyle,r=(s=n==null?void 0:n.chart)==null?void 0:s.options,o=Zf(r);return Kf(o,e,t)}function ep(e,t){return e.map(n=>n[t]?n[t]:"BLANK")}function Fi(e){const t=re(d=>d.authToken)||e,n=me(d=>d.selectedConnectionId),r=me(d=>{var h,p;return(p=(h=d==null?void 0:d.card)==null?void 0:h.dataSource)==null?void 0:p.connectionId}),o=n||r,{refetch:i,isPending:s,data:a,isLoading:l,isError:c}=Tn({queryKey:["connections"],queryFn:()=>vr("https://semaphor.cloud/api/v1/connections",(t==null?void 0:t.accessToken)||""),enabled:!!(t!=null&&t.accessToken)}),u=a==null?void 0:a.connections.find(d=>d.id===o);return{isPending:s,error:c,connectionsData:a,connections:(a==null?void 0:a.connections)||[],isConnectionsLoading:l,isConnectionsError:c,refetchConnections:i,selectedConnection:u}}function rJ(e){const{connections:t}=Fi(e),n=me(i=>i.selectedConnectionId),r=t.find(i=>i.id===n),o=r==null?void 0:r.capabilities.path.includes("schema");return{selectedConnection:r,capabilities:r==null?void 0:r.capabilities,connectionType:r==null?void 0:r.type,hasSchemaSupport:o}}function oJ(e){re(P=>P.isDashboardEditing);const t=re(P=>P.filterValues),n=re(P=>P.isVisualEditing);re(P=>P.selectedSheetId),re(P=>P.currentBreakpoint);const{selectedConnection:r}=Fi(),{selectedDatabaseName:o,selectedSchemaName:i,selectedTableName:s,selectedDatamodelId:a}=XW(),{removeFrame:l}=re(P=>P.actions),c=re(P=>P.actions.setIsVisualEditing),u=me(P=>P.actions.setFilterValues),d=me(P=>P.actions.setApplyFilters),{setCard:h,setFrame:p,setQueryResultColumns:m,setActiveTabCardId:g,setIsDevMode:b,setQueryConfig:y,updateDataSource:v,setCardMode:x}=Wn(),E=me(P=>P.actions.setSelectedConnectionId),_=me(P=>P.actions.setSelectedDatamodelId),S=me(P=>P.actions.setSelectedDatabaseName),C=me(P=>P.actions.setSelectedSchemaName),R=me(P=>P.actions.setSelectedTableName),N=e.cards.find(P=>P.id===e.activeCardId),{data:D}=No(N);function I(P=!1){P||c(!n),N.sql?b(!0):b(!1),h(N),N.dataSource&&v(N.dataSource),g(e.activeCardId);const{dimensionKeys:A}=un((D==null?void 0:D.records)||[]);m(A),p(e),E((N==null?void 0:N.connectionId)||(r==null?void 0:r.id)||""),N!=null&&N.datamodelId&&N.datamodelId!=="none"?(_(N==null?void 0:N.datamodelId),S("")):_(a||""),N!=null&&N.lastSelectedDatabase&&N.lastSelectedDatabase!=="none"?(S(N==null?void 0:N.lastSelectedDatabase),_("")):S(o||""),N!=null&&N.lastSelectedSchema?C(N==null?void 0:N.lastSelectedSchema):C(i||""),N!=null&&N.lastSelectedTable?R(N==null?void 0:N.lastSelectedTable):R(s||""),t&&(u(t),d(!0))}return{handleEditVisual:I,card:N,data:D}}function oD(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function iJ(...e){return t=>{let n=!1;const r=e.map(o=>{const i=oD(o,t);return!n&&typeof i=="function"&&(n=!0),i});if(n)return()=>{for(let o=0;o<r.length;o++){const i=r[o];typeof i=="function"?i():oD(e[o],null)}}}}function Bl(e){const t=aJ(e),n=w.forwardRef((r,o)=>{const{children:i,...s}=r,a=w.Children.toArray(i),l=a.find(cJ);if(l){const c=l.props.children,u=a.map(d=>d===l?w.Children.count(c)>1?w.Children.only(null):w.isValidElement(c)?c.props.children:null:d);return f.jsx(t,{...s,ref:o,children:w.isValidElement(c)?w.cloneElement(c,void 0,u):null})}return f.jsx(t,{...s,ref:o,children:i})});return n.displayName=`${e}.Slot`,n}var sJ=Bl("Slot");function aJ(e){const t=w.forwardRef((n,r)=>{const{children:o,...i}=n;if(w.isValidElement(o)){const s=dJ(o),a=uJ(i,o.props);return o.type!==w.Fragment&&(a.ref=r?iJ(r,s):s),w.cloneElement(o,a)}return w.Children.count(o)>1?w.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var lJ=Symbol("radix.slottable");function cJ(e){return w.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===lJ}function uJ(e,t){const n={...t};for(const r in t){const o=e[r],i=t[r];/^on[A-Z]/.test(r)?o&&i?n[r]=(...a)=>{const l=i(...a);return o(...a),l}:o&&(n[r]=o):r==="style"?n[r]={...o,...i}:r==="className"&&(n[r]=[o,i].filter(Boolean).join(" "))}return{...e,...n}}function dJ(e){var r,o;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}const iD=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,sD=Al,$0=(e,t)=>n=>{var r;if((t==null?void 0:t.variants)==null)return sD(e,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:o,defaultVariants:i}=t,s=Object.keys(o).map(c=>{const u=n==null?void 0:n[c],d=i==null?void 0:i[c];if(u===null)return null;const h=iD(u)||iD(d);return o[c][h]}),a=n&&Object.entries(n).reduce((c,u)=>{let[d,h]=u;return h===void 0||(c[d]=h),c},{}),l=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((c,u)=>{let{class:d,className:h,...p}=u;return Object.entries(p).every(m=>{let[g,b]=m;return Array.isArray(b)?b.includes({...i,...a}[g]):{...i,...a}[g]===b})?[...c,d,h]:c},[]);return sD(e,s,l,n==null?void 0:n.class,n==null?void 0:n.className)},eh=$0("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),Ce=w.forwardRef(({className:e,variant:t,size:n,asChild:r=!1,...o},i)=>{const s=r?sJ:"button";return f.jsx(s,{className:oe(eh({variant:t,size:n,className:e})),ref:i,...o})});Ce.displayName="Button";function sa(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function aD(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function fJ(...e){return t=>{let n=!1;const r=e.map(o=>{const i=aD(o,t);return!n&&typeof i=="function"&&(n=!0),i});if(n)return()=>{for(let o=0;o<r.length;o++){const i=r[o];typeof i=="function"?i():aD(e[o],null)}}}}function dc(...e){return w.useCallback(fJ(...e),e)}function hJ(e,t){const n=w.createContext(t),r=i=>{const{children:s,...a}=i,l=w.useMemo(()=>a,Object.values(a));return f.jsx(n.Provider,{value:l,children:s})};r.displayName=e+"Provider";function o(i){const s=w.useContext(n);if(s)return s;if(t!==void 0)return t;throw new Error(`\`${i}\` must be used within \`${e}\``)}return[r,o]}function pJ(e,t=[]){let n=[];function r(i,s){const a=w.createContext(s),l=n.length;n=[...n,s];const c=d=>{var y;const{scope:h,children:p,...m}=d,g=((y=h==null?void 0:h[e])==null?void 0:y[l])||a,b=w.useMemo(()=>m,Object.values(m));return f.jsx(g.Provider,{value:b,children:p})};c.displayName=i+"Provider";function u(d,h){var g;const p=((g=h==null?void 0:h[e])==null?void 0:g[l])||a,m=w.useContext(p);if(m)return m;if(s!==void 0)return s;throw new Error(`\`${d}\` must be used within \`${i}\``)}return[c,u]}const o=()=>{const i=n.map(s=>w.createContext(s));return function(a){const l=(a==null?void 0:a[e])||i;return w.useMemo(()=>({[`__scope${e}`]:{...a,[e]:l}}),[a,l])}};return o.scopeName=e,[r,mJ(o,...t)]}function mJ(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(i){const s=r.reduce((a,{useScope:l,scopeName:c})=>{const d=l(i)[`__scope${c}`];return{...a,...d}},{});return w.useMemo(()=>({[`__scope${t.scopeName}`]:s}),[s])}};return n.scopeName=t.scopeName,n}var th=globalThis!=null&&globalThis.document?w.useLayoutEffect:()=>{},gJ=w[" useId ".trim().toString()]||(()=>{}),bJ=0;function Gv(e){const[t,n]=w.useState(gJ());return th(()=>{n(r=>r??String(bJ++))},[e]),e||(t?`radix-${t}`:"")}var yJ=w[" useInsertionEffect ".trim().toString()]||th;function vJ({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){const[o,i,s]=xJ({defaultProp:t,onChange:n}),a=e!==void 0,l=a?e:o;{const u=w.useRef(e!==void 0);w.useEffect(()=>{const d=u.current;d!==a&&console.warn(`${r} is changing from ${d?"controlled":"uncontrolled"} to ${a?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),u.current=a},[a,r])}const c=w.useCallback(u=>{var d;if(a){const h=wJ(u)?u(e):u;h!==e&&((d=s.current)==null||d.call(s,h))}else i(u)},[a,e,i,s]);return[l,c]}function xJ({defaultProp:e,onChange:t}){const[n,r]=w.useState(e),o=w.useRef(n),i=w.useRef(t);return yJ(()=>{i.current=t},[t]),w.useEffect(()=>{var s;o.current!==n&&((s=i.current)==null||s.call(i,n),o.current=n)},[n,o]),[n,r,i]}function wJ(e){return typeof e=="function"}var CJ=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Es=CJ.reduce((e,t)=>{const n=Bl(`Primitive.${t}`),r=w.forwardRef((o,i)=>{const{asChild:s,...a}=o,l=s?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),f.jsx(l,{...a,ref:i})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function SJ(e,t){e&&ys.flushSync(()=>e.dispatchEvent(t))}function nh(e){const t=w.useRef(e);return w.useEffect(()=>{t.current=e}),w.useMemo(()=>(...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)},[])}function EJ(e,t=globalThis==null?void 0:globalThis.document){const n=nh(e);w.useEffect(()=>{const r=o=>{o.key==="Escape"&&n(o)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var _J="DismissableLayer",q1="dismissableLayer.update",kJ="dismissableLayer.pointerDownOutside",RJ="dismissableLayer.focusOutside",lD,X5=w.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Q5=w.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:i,onInteractOutside:s,onDismiss:a,...l}=e,c=w.useContext(X5),[u,d]=w.useState(null),h=(u==null?void 0:u.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,p]=w.useState({}),m=dc(t,C=>d(C)),g=Array.from(c.layers),[b]=[...c.layersWithOutsidePointerEventsDisabled].slice(-1),y=g.indexOf(b),v=u?g.indexOf(u):-1,x=c.layersWithOutsidePointerEventsDisabled.size>0,E=v>=y,_=MJ(C=>{const R=C.target,N=[...c.branches].some(D=>D.contains(R));!E||N||(o==null||o(C),s==null||s(C),C.defaultPrevented||a==null||a())},h),S=PJ(C=>{const R=C.target;[...c.branches].some(D=>D.contains(R))||(i==null||i(C),s==null||s(C),C.defaultPrevented||a==null||a())},h);return EJ(C=>{v===c.layers.size-1&&(r==null||r(C),!C.defaultPrevented&&a&&(C.preventDefault(),a()))},h),w.useEffect(()=>{if(u)return n&&(c.layersWithOutsidePointerEventsDisabled.size===0&&(lD=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),c.layersWithOutsidePointerEventsDisabled.add(u)),c.layers.add(u),cD(),()=>{n&&c.layersWithOutsidePointerEventsDisabled.size===1&&(h.body.style.pointerEvents=lD)}},[u,h,n,c]),w.useEffect(()=>()=>{u&&(c.layers.delete(u),c.layersWithOutsidePointerEventsDisabled.delete(u),cD())},[u,c]),w.useEffect(()=>{const C=()=>p({});return document.addEventListener(q1,C),()=>document.removeEventListener(q1,C)},[]),f.jsx(Es.div,{...l,ref:m,style:{pointerEvents:x?E?"auto":"none":void 0,...e.style},onFocusCapture:sa(e.onFocusCapture,S.onFocusCapture),onBlurCapture:sa(e.onBlurCapture,S.onBlurCapture),onPointerDownCapture:sa(e.onPointerDownCapture,_.onPointerDownCapture)})});Q5.displayName=_J;var NJ="DismissableLayerBranch",DJ=w.forwardRef((e,t)=>{const n=w.useContext(X5),r=w.useRef(null),o=dc(t,r);return w.useEffect(()=>{const i=r.current;if(i)return n.branches.add(i),()=>{n.branches.delete(i)}},[n.branches]),f.jsx(Es.div,{...e,ref:o})});DJ.displayName=NJ;function MJ(e,t=globalThis==null?void 0:globalThis.document){const n=nh(e),r=w.useRef(!1),o=w.useRef(()=>{});return w.useEffect(()=>{const i=a=>{if(a.target&&!r.current){let l=function(){Z5(kJ,n,c,{discrete:!0})};const c={originalEvent:a};a.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=l,t.addEventListener("click",o.current,{once:!0})):l()}else t.removeEventListener("click",o.current);r.current=!1},s=window.setTimeout(()=>{t.addEventListener("pointerdown",i)},0);return()=>{window.clearTimeout(s),t.removeEventListener("pointerdown",i),t.removeEventListener("click",o.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function PJ(e,t=globalThis==null?void 0:globalThis.document){const n=nh(e),r=w.useRef(!1);return w.useEffect(()=>{const o=i=>{i.target&&!r.current&&Z5(RJ,n,{originalEvent:i},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function cD(){const e=new CustomEvent(q1);document.dispatchEvent(e)}function Z5(e,t,n,{discrete:r}){const o=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?SJ(o,i):o.dispatchEvent(i)}var Yv="focusScope.autoFocusOnMount",Kv="focusScope.autoFocusOnUnmount",uD={bubbles:!1,cancelable:!0},IJ="FocusScope",J5=w.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:i,...s}=e,[a,l]=w.useState(null),c=nh(o),u=nh(i),d=w.useRef(null),h=dc(t,g=>l(g)),p=w.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;w.useEffect(()=>{if(r){let g=function(x){if(p.paused||!a)return;const E=x.target;a.contains(E)?d.current=E:Ls(d.current,{select:!0})},b=function(x){if(p.paused||!a)return;const E=x.relatedTarget;E!==null&&(a.contains(E)||Ls(d.current,{select:!0}))},y=function(x){if(document.activeElement===document.body)for(const _ of x)_.removedNodes.length>0&&Ls(a)};document.addEventListener("focusin",g),document.addEventListener("focusout",b);const v=new MutationObserver(y);return a&&v.observe(a,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",g),document.removeEventListener("focusout",b),v.disconnect()}}},[r,a,p.paused]),w.useEffect(()=>{if(a){fD.add(p);const g=document.activeElement;if(!a.contains(g)){const y=new CustomEvent(Yv,uD);a.addEventListener(Yv,c),a.dispatchEvent(y),y.defaultPrevented||(jJ(LJ(eF(a)),{select:!0}),document.activeElement===g&&Ls(a))}return()=>{a.removeEventListener(Yv,c),setTimeout(()=>{const y=new CustomEvent(Kv,uD);a.addEventListener(Kv,u),a.dispatchEvent(y),y.defaultPrevented||Ls(g??document.body,{select:!0}),a.removeEventListener(Kv,u),fD.remove(p)},0)}}},[a,c,u,p]);const m=w.useCallback(g=>{if(!n&&!r||p.paused)return;const b=g.key==="Tab"&&!g.altKey&&!g.ctrlKey&&!g.metaKey,y=document.activeElement;if(b&&y){const v=g.currentTarget,[x,E]=TJ(v);x&&E?!g.shiftKey&&y===E?(g.preventDefault(),n&&Ls(x,{select:!0})):g.shiftKey&&y===x&&(g.preventDefault(),n&&Ls(E,{select:!0})):y===v&&g.preventDefault()}},[n,r,p.paused]);return f.jsx(Es.div,{tabIndex:-1,...s,ref:h,onKeyDown:m})});J5.displayName=IJ;function jJ(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(Ls(r,{select:t}),document.activeElement!==n)return}function TJ(e){const t=eF(e),n=dD(t,e),r=dD(t.reverse(),e);return[n,r]}function eF(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function dD(e,t){for(const n of e)if(!AJ(n,{upTo:t}))return n}function AJ(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function OJ(e){return e instanceof HTMLInputElement&&"select"in e}function Ls(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&OJ(e)&&t&&e.select()}}var fD=FJ();function FJ(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=hD(e,t),e.unshift(t)},remove(t){var n;e=hD(e,t),(n=e[0])==null||n.resume()}}}function hD(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function LJ(e){return e.filter(t=>t.tagName!=="A")}var $J="Portal",tF=w.forwardRef((e,t)=>{var a;const{container:n,...r}=e,[o,i]=w.useState(!1);th(()=>i(!0),[]);const s=n||o&&((a=globalThis==null?void 0:globalThis.document)==null?void 0:a.body);return s?rn.createPortal(f.jsx(Es.div,{...r,ref:t}),s):null});tF.displayName=$J;function zJ(e,t){return w.useReducer((n,r)=>t[n][r]??n,e)}var z0=e=>{const{present:t,children:n}=e,r=BJ(t),o=typeof n=="function"?n({present:r.isPresent}):w.Children.only(n),i=dc(r.ref,VJ(o));return typeof n=="function"||r.isPresent?w.cloneElement(o,{ref:i}):null};z0.displayName="Presence";function BJ(e){const[t,n]=w.useState(),r=w.useRef(null),o=w.useRef(e),i=w.useRef("none"),s=e?"mounted":"unmounted",[a,l]=zJ(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return w.useEffect(()=>{const c=fm(r.current);i.current=a==="mounted"?c:"none"},[a]),th(()=>{const c=r.current,u=o.current;if(u!==e){const h=i.current,p=fm(c);e?l("MOUNT"):p==="none"||(c==null?void 0:c.display)==="none"?l("UNMOUNT"):l(u&&h!==p?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,l]),th(()=>{if(t){let c;const u=t.ownerDocument.defaultView??window,d=p=>{const g=fm(r.current).includes(p.animationName);if(p.target===t&&g&&(l("ANIMATION_END"),!o.current)){const b=t.style.animationFillMode;t.style.animationFillMode="forwards",c=u.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=b)})}},h=p=>{p.target===t&&(i.current=fm(r.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",d),t.addEventListener("animationend",d),()=>{u.clearTimeout(c),t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",d),t.removeEventListener("animationend",d)}}else l("ANIMATION_END")},[t,l]),{isPresent:["mounted","unmountSuspended"].includes(a),ref:w.useCallback(c=>{r.current=c?getComputedStyle(c):null,n(c)},[])}}function fm(e){return(e==null?void 0:e.animationName)||"none"}function VJ(e){var r,o;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Xv=0;function HJ(){w.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??pD()),document.body.insertAdjacentElement("beforeend",e[1]??pD()),Xv++,()=>{Xv===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),Xv--}},[])}function pD(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var fi=function(){return fi=Object.assign||function(t){for(var n,r=1,o=arguments.length;r<o;r++){n=arguments[r];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t},fi.apply(this,arguments)};function nF(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}function WJ(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,i;r<o;r++)(i||!(r in t))&&(i||(i=Array.prototype.slice.call(t,0,r)),i[r]=t[r]);return e.concat(i||Array.prototype.slice.call(t))}var Sg="right-scroll-bar-position",Eg="width-before-scroll-bar",UJ="with-scroll-bars-hidden",qJ="--removed-body-scroll-bar-size";function Qv(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function GJ(e,t){var n=k.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}var YJ=typeof window<"u"?w.useLayoutEffect:w.useEffect,mD=new WeakMap;function KJ(e,t){var n=GJ(null,function(r){return e.forEach(function(o){return Qv(o,r)})});return YJ(function(){var r=mD.get(n);if(r){var o=new Set(r),i=new Set(e),s=n.current;o.forEach(function(a){i.has(a)||Qv(a,null)}),i.forEach(function(a){o.has(a)||Qv(a,s)})}mD.set(n,e)},[e]),n}function XJ(e){return e}function QJ(e,t){t===void 0&&(t=XJ);var n=[],r=!1,o={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(i){var s=t(i,r);return n.push(s),function(){n=n.filter(function(a){return a!==s})}},assignSyncMedium:function(i){for(r=!0;n.length;){var s=n;n=[],s.forEach(i)}n={push:function(a){return i(a)},filter:function(){return n}}},assignMedium:function(i){r=!0;var s=[];if(n.length){var a=n;n=[],a.forEach(i),s=n}var l=function(){var u=s;s=[],u.forEach(i)},c=function(){return Promise.resolve().then(l)};c(),n={push:function(u){s.push(u),c()},filter:function(u){return s=s.filter(u),n}}}};return o}function ZJ(e){e===void 0&&(e={});var t=QJ(null);return t.options=fi({async:!0,ssr:!1},e),t}var rF=function(e){var t=e.sideCar,n=nF(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw new Error("Sidecar medium not found");return w.createElement(r,fi({},n))};rF.isSideCarExport=!0;function JJ(e,t){return e.useMedium(t),rF}var oF=ZJ(),Zv=function(){},B0=w.forwardRef(function(e,t){var n=w.useRef(null),r=w.useState({onScrollCapture:Zv,onWheelCapture:Zv,onTouchMoveCapture:Zv}),o=r[0],i=r[1],s=e.forwardProps,a=e.children,l=e.className,c=e.removeScrollBar,u=e.enabled,d=e.shards,h=e.sideCar,p=e.noIsolation,m=e.inert,g=e.allowPinchZoom,b=e.as,y=b===void 0?"div":b,v=e.gapMode,x=nF(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),E=h,_=KJ([n,t]),S=fi(fi({},x),o);return w.createElement(w.Fragment,null,u&&w.createElement(E,{sideCar:oF,removeScrollBar:c,shards:d,noIsolation:p,inert:m,setCallbacks:i,allowPinchZoom:!!g,lockRef:n,gapMode:v}),s?w.cloneElement(w.Children.only(a),fi(fi({},S),{ref:_})):w.createElement(y,fi({},S,{className:l,ref:_}),a))});B0.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};B0.classNames={fullWidth:Eg,zeroRight:Sg};var eee=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function tee(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=eee();return t&&e.setAttribute("nonce",t),e}function nee(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function ree(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var oee=function(){var e=0,t=null;return{add:function(n){e==0&&(t=tee())&&(nee(t,n),ree(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},iee=function(){var e=oee();return function(t,n){w.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},iF=function(){var e=iee(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t},see={left:0,top:0,right:0,gap:0},Jv=function(e){return parseInt(e||"",10)||0},aee=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[Jv(n),Jv(r),Jv(o)]},lee=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return see;var t=aee(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},cee=iF(),ou="data-scroll-locked",uee=function(e,t,n,r){var o=e.left,i=e.top,s=e.right,a=e.gap;return n===void 0&&(n="margin"),`
448
448
  .`.concat(UJ,` {
449
449
  overflow: hidden `).concat(r,`;
450
450
  padding-right: `).concat(a,"px ").concat(r,`;
@@ -509,7 +509,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${t.do
509
509
  * Released under the MIT License
510
510
  */class zae{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,n,r,o){const i=n.listeners[o],s=n.duration;i.forEach(a=>a({chart:t,initial:n.initial,numSteps:s,currentStep:Math.min(r-n.start,s)}))}_refresh(){this._request||(this._running=!0,this._request=NL.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let n=0;this._charts.forEach((r,o)=>{if(!r.running||!r.items.length)return;const i=r.items;let s=i.length-1,a=!1,l;for(;s>=0;--s)l=i[s],l._active?(l._total>r.duration&&(r.duration=l._total),l.tick(t),a=!0):(i[s]=i[i.length-1],i.pop());a&&(o.draw(),this._notify(o,r,t,"progress")),i.length||(r.running=!1,this._notify(o,r,t,"complete"),r.initial=!1),n+=i.length}),this._lastDate=t,n===0&&(this._running=!1)}_getAnims(t){const n=this._charts;let r=n.get(t);return r||(r={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,r)),r}listen(t,n,r){this._getAnims(t).listeners[n].push(r)}add(t,n){!n||!n.length||this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce((r,o)=>Math.max(r,o._duration),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!(!n||!n.running||!n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const r=n.items;let o=r.length-1;for(;o>=0;--o)r[o].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var Xi=new zae;const xM="transparent",Bae={boolean(e,t,n){return n>.5?t:e},color(e,t,n){const r=uM(e||xM),o=r.valid&&uM(t||xM);return o&&o.valid?o.mix(r,n).hexString():t},number(e,t,n){return e+(t-e)*n}};class Vae{constructor(t,n,r,o){const i=n[r];o=Yt([t.to,o,i,t.from]);const s=Yt([t.from,i,o]);this._active=!0,this._fn=t.fn||Bae[t.type||typeof s],this._easing=kf[t.easing]||kf.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=r,this._from=s,this._to=o,this._promises=void 0}active(){return this._active}update(t,n,r){if(this._active){this._notify(!1);const o=this._target[this._prop],i=r-this._start,s=this._duration-i;this._start=r,this._duration=Math.floor(Math.max(s,t.duration)),this._total+=i,this._loop=!!t.loop,this._to=Yt([t.to,n,o,t.from]),this._from=Yt([t.from,o,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,r=this._duration,o=this._prop,i=this._from,s=this._loop,a=this._to;let l;if(this._active=i!==a&&(s||n<r),!this._active){this._target[o]=a,this._notify(!0);return}if(n<0){this._target[o]=i;return}l=n/r%2,l=s&&l>1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[o]=this._fn(i,a,l)}wait(){const t=this._promises||(this._promises=[]);return new Promise((n,r)=>{t.push({res:n,rej:r})})}_notify(t){const n=t?"res":"rej",r=this._promises||[];for(let o=0;o<r.length;o++)r[o][n]()}}class qL{constructor(t,n){this._chart=t,this._properties=new Map,this.configure(n)}configure(t){if(!dt(t))return;const n=Object.keys(Qt.animation),r=this._properties;Object.getOwnPropertyNames(t).forEach(o=>{const i=t[o];if(!dt(i))return;const s={};for(const a of n)s[a]=i[a];(Kt(i.properties)&&i.properties||[o]).forEach(a=>{(a===o||!r.has(a))&&r.set(a,s)})})}_animateOptions(t,n){const r=n.options,o=Wae(t,r);if(!o)return[];const i=this._createAnimations(o,r);return r.$shared&&Hae(t.options.$animations,r).then(()=>{t.options=r},()=>{}),i}_createAnimations(t,n){const r=this._properties,o=[],i=t.$animations||(t.$animations={}),s=Object.keys(n),a=Date.now();let l;for(l=s.length-1;l>=0;--l){const c=s[l];if(c.charAt(0)==="$")continue;if(c==="options"){o.push(...this._animateOptions(t,n));continue}const u=n[c];let d=i[c];const h=r.get(c);if(d)if(h&&d.active()){d.update(h,u,a);continue}else d.cancel();if(!h||!h.duration){t[c]=u;continue}i[c]=d=new Vae(h,t,c,u),o.push(d)}return o}update(t,n){if(this._properties.size===0){Object.assign(t,n);return}const r=this._createAnimations(t,n);if(r.length)return Xi.add(this._chart,r),!0}}function Hae(e,t){const n=[],r=Object.keys(t);for(let o=0;o<r.length;o++){const i=e[r[o]];i&&i.active()&&n.push(i.wait())}return Promise.all(n)}function Wae(e,t){if(!t)return;let n=e.options;if(!n){e.options=t;return}return n.$shared&&(e.options=n=Object.assign({},n,{$shared:!1,$animations:{}})),n}function wM(e,t){const n=e&&e.options||{},r=n.reverse,o=n.min===void 0?t:0,i=n.max===void 0?t:0;return{start:r?i:o,end:r?o:i}}function Uae(e,t,n){if(n===!1)return!1;const r=wM(e,n),o=wM(t,n);return{top:o.end,right:r.end,bottom:o.start,left:r.start}}function qae(e){let t,n,r,o;return dt(e)?(t=e.top,n=e.right,r=e.bottom,o=e.left):t=n=r=o=e,{top:t,right:n,bottom:r,left:o,disabled:e===!1}}function GL(e,t){const n=[],r=e._getSortedDatasetMetas(t);let o,i;for(o=0,i=r.length;o<i;++o)n.push(r[o].index);return n}function CM(e,t,n,r={}){const o=e.keys,i=r.mode==="single";let s,a,l,c;if(t===null)return;let u=!1;for(s=0,a=o.length;s<a;++s){if(l=+o[s],l===n){if(u=!0,r.all)continue;break}c=e.values[l],dn(c)&&(i||t===0||vi(t)===vi(c))&&(t+=c)}return!u&&!r.all?0:t}function Gae(e,t){const{iScale:n,vScale:r}=t,o=n.axis==="x"?"x":"y",i=r.axis==="x"?"x":"y",s=Object.keys(e),a=new Array(s.length);let l,c,u;for(l=0,c=s.length;l<c;++l)u=s[l],a[l]={[o]:u,[i]:e[u]};return a}function yx(e,t){const n=e&&e.options.stacked;return n||n===void 0&&t.stack!==void 0}function Yae(e,t,n){return`${e.id}.${t.id}.${n.stack||n.type}`}function Kae(e){const{min:t,max:n,minDefined:r,maxDefined:o}=e.getUserBounds();return{min:r?t:Number.NEGATIVE_INFINITY,max:o?n:Number.POSITIVE_INFINITY}}function Xae(e,t,n){const r=e[t]||(e[t]={});return r[n]||(r[n]={})}function SM(e,t,n,r){for(const o of t.getMatchingVisibleMetas(r).reverse()){const i=e[o.index];if(n&&i>0||!n&&i<0)return o.index}return null}function EM(e,t){const{chart:n,_cachedMeta:r}=e,o=n._stacks||(n._stacks={}),{iScale:i,vScale:s,index:a}=r,l=i.axis,c=s.axis,u=Yae(i,s,r),d=t.length;let h;for(let p=0;p<d;++p){const m=t[p],{[l]:g,[c]:b}=m,y=m._stacks||(m._stacks={});h=y[c]=Xae(o,u,g),h[a]=b,h._top=SM(h,s,!0,r.type),h._bottom=SM(h,s,!1,r.type);const v=h._visualValues||(h._visualValues={});v[a]=b}}function vx(e,t){const n=e.scales;return Object.keys(n).filter(r=>n[r].axis===t).shift()}function Qae(e,t){return ja(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Zae(e,t,n){return ja(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:"default",type:"data"})}function zd(e,t){const n=e.controller.index,r=e.vScale&&e.vScale.axis;if(r){t=t||e._parsed;for(const o of t){const i=o._stacks;if(!i||i[r]===void 0||i[r][n]===void 0)return;delete i[r][n],i[r]._visualValues!==void 0&&i[r]._visualValues[n]!==void 0&&delete i[r]._visualValues[n]}}}const xx=e=>e==="reset"||e==="none",_M=(e,t)=>t?e:Object.assign({},e),Jae=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:GL(n,!0),values:null};class Eo{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=yx(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&zd(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,r=this.getDataset(),o=(d,h,p,m)=>d==="x"?h:d==="r"?m:p,i=n.xAxisID=Be(r.xAxisID,vx(t,"x")),s=n.yAxisID=Be(r.yAxisID,vx(t,"y")),a=n.rAxisID=Be(r.rAxisID,vx(t,"r")),l=n.indexAxis,c=n.iAxisID=o(l,i,s,a),u=n.vAxisID=o(l,s,i,a);n.xScale=this.getScaleForId(i),n.yScale=this.getScaleForId(s),n.rScale=this.getScaleForId(a),n.iScale=this.getScaleForId(c),n.vScale=this.getScaleForId(u)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&aM(this._data,this),t._stacked&&zd(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),r=this._data;if(dt(n)){const o=this._cachedMeta;this._data=Gae(n,o)}else if(r!==n){if(r){aM(r,this);const o=this._cachedMeta;zd(o),o._parsed=[]}n&&Object.isExtensible(n)&&Lse(n,this),this._syncList=[],this._data=n}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,r=this.getDataset();let o=!1;this._dataCheck();const i=n._stacked;n._stacked=yx(n.vScale,n),n.stack!==r.stack&&(o=!0,zd(n),n.stack=r.stack),this._resyncElements(t),(o||i!==n._stacked)&&(EM(this,n._parsed),n._stacked=yx(n.vScale,n))}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),r=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(r,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:r,_data:o}=this,{iScale:i,_stacked:s}=r,a=i.axis;let l=t===0&&n===o.length?!0:r._sorted,c=t>0&&r._parsed[t-1],u,d,h;if(this._parsing===!1)r._parsed=o,r._sorted=!0,h=o;else{Kt(o[t])?h=this.parseArrayData(r,o,t,n):dt(o[t])?h=this.parseObjectData(r,o,t,n):h=this.parsePrimitiveData(r,o,t,n);const p=()=>d[a]===null||c&&d[a]<c[a];for(u=0;u<n;++u)r._parsed[u+t]=d=h[u],l&&(p()&&(l=!1),c=d);r._sorted=l}s&&EM(this,h)}parsePrimitiveData(t,n,r,o){const{iScale:i,vScale:s}=t,a=i.axis,l=s.axis,c=i.getLabels(),u=i===s,d=new Array(o);let h,p,m;for(h=0,p=o;h<p;++h)m=h+r,d[h]={[a]:u||i.parse(c[m],m),[l]:s.parse(n[m],m)};return d}parseArrayData(t,n,r,o){const{xScale:i,yScale:s}=t,a=new Array(o);let l,c,u,d;for(l=0,c=o;l<c;++l)u=l+r,d=n[u],a[l]={x:i.parse(d[0],u),y:s.parse(d[1],u)};return a}parseObjectData(t,n,r,o){const{xScale:i,yScale:s}=t,{xAxisKey:a="x",yAxisKey:l="y"}=this._parsing,c=new Array(o);let u,d,h,p;for(u=0,d=o;u<d;++u)h=u+r,p=n[h],c[u]={x:i.parse(ma(p,a),h),y:s.parse(ma(p,l),h)};return c}getParsed(t){return this._cachedMeta._parsed[t]}getDataElement(t){return this._cachedMeta.data[t]}applyStack(t,n,r){const o=this.chart,i=this._cachedMeta,s=n[t.axis],a={keys:GL(o,!0),values:n._stacks[t.axis]._visualValues};return CM(a,s,i.index,{mode:r})}updateRangeFromParsed(t,n,r,o){const i=r[n.axis];let s=i===null?NaN:i;const a=o&&r._stacks[n.axis];o&&a&&(o.values=a,s=CM(o,i,this._cachedMeta.index)),t.min=Math.min(t.min,s),t.max=Math.max(t.max,s)}getMinMax(t,n){const r=this._cachedMeta,o=r._parsed,i=r._sorted&&t===r.iScale,s=o.length,a=this._getOtherScale(t),l=Jae(n,r,this.chart),c={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:u,max:d}=Kae(a);let h,p;function m(){p=o[h];const g=p[a.axis];return!dn(p[t.axis])||u>g||d<g}for(h=0;h<s&&!(!m()&&(this.updateRangeFromParsed(c,t,p,l),i));++h);if(i){for(h=s-1;h>=0;--h)if(!m()){this.updateRangeFromParsed(c,t,p,l);break}}return c}getAllParsedValues(t){const n=this._cachedMeta._parsed,r=[];let o,i,s;for(o=0,i=n.length;o<i;++o)s=n[o][t.axis],dn(s)&&r.push(s);return r}getMaxOverflow(){return!1}getLabelAndValue(t){const n=this._cachedMeta,r=n.iScale,o=n.vScale,i=this.getParsed(t);return{label:r?""+r.getLabelForValue(i[r.axis]):"",value:o?""+o.getLabelForValue(i[o.axis]):""}}_update(t){const n=this._cachedMeta;this.update(t||"default"),n._clip=qae(Be(this.options.clip,Uae(n.xScale,n.yScale,this.getMaxOverflow())))}update(t){}draw(){const t=this._ctx,n=this.chart,r=this._cachedMeta,o=r.data||[],i=n.chartArea,s=[],a=this._drawStart||0,l=this._drawCount||o.length-a,c=this.options.drawActiveElementsOnTop;let u;for(r.dataset&&r.dataset.draw(t,i,a,l),u=a;u<a+l;++u){const d=o[u];d.hidden||(d.active&&c?s.push(d):d.draw(t,i))}for(u=0;u<s.length;++u)s[u].draw(t,i)}getStyle(t,n){const r=n?"active":"default";return t===void 0&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(r):this.resolveDataElementOptions(t||0,r)}getContext(t,n,r){const o=this.getDataset();let i;if(t>=0&&t<this._cachedMeta.data.length){const s=this._cachedMeta.data[t];i=s.$context||(s.$context=Zae(this.getContext(),t,s)),i.parsed=this.getParsed(t),i.raw=o.data[t],i.index=i.dataIndex=t}else i=this.$context||(this.$context=Qae(this.chart.getContext(),this.index)),i.dataset=o,i.index=i.datasetIndex=this.index;return i.active=!!n,i.mode=r,i}resolveDatasetElementOptions(t){return this._resolveElementOptions(this.datasetElementType.id,t)}resolveDataElementOptions(t,n){return this._resolveElementOptions(this.dataElementType.id,n,t)}_resolveElementOptions(t,n="default",r){const o=n==="active",i=this._cachedDataOpts,s=t+"-"+n,a=i[s],l=this.enableOptionSharing&&ch(r);if(a)return _M(a,l);const c=this.chart.config,u=c.datasetElementScopeKeys(this._type,t),d=o?[`${t}Hover`,"hover",t,""]:[t,""],h=c.getOptionScopes(this.getDataset(),u),p=Object.keys(Qt.elements[t]),m=()=>this.getContext(r,o,n),g=c.resolveNamedOptions(h,p,m,d);return g.$shared&&(g.$shared=l,i[s]=Object.freeze(_M(g,l))),g}_resolveAnimations(t,n,r){const o=this.chart,i=this._cachedDataOpts,s=`animation-${n}`,a=i[s];if(a)return a;let l;if(o.options.animation!==!1){const u=this.chart.config,d=u.datasetAnimationScopeKeys(this._type,n),h=u.getOptionScopes(this.getDataset(),d);l=u.createResolver(h,this.getContext(t,r,n))}const c=new qL(o,l&&l.animations);return l&&l._cacheable&&(i[s]=Object.freeze(c)),c}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,n){return!n||xx(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const r=this.resolveDataElementOptions(t,n),o=this._sharedOptions,i=this.getSharedOptions(r),s=this.includeOptions(n,i)||i!==o;return this.updateSharedOptions(i,n,r),{sharedOptions:i,includeOptions:s}}updateElement(t,n,r,o){xx(o)?Object.assign(t,r):this._resolveAnimations(n,o).update(t,r)}updateSharedOptions(t,n,r){t&&!xx(n)&&this._resolveAnimations(void 0,n).update(t,r)}_setStyle(t,n,r,o){t.active=o;const i=this.getStyle(n,o);this._resolveAnimations(n,r,o).update(t,{options:!o&&this.getSharedOptions(i)||i})}removeHoverStyle(t,n,r){this._setStyle(t,r,"active",!1)}setHoverStyle(t,n,r){this._setStyle(t,r,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,r=this._cachedMeta.data;for(const[a,l,c]of this._syncList)this[a](l,c);this._syncList=[];const o=r.length,i=n.length,s=Math.min(i,o);s&&this.parse(0,s),i>o?this._insertElements(o,i-o,t):i<o&&this._removeElements(i,o-i)}_insertElements(t,n,r=!0){const o=this._cachedMeta,i=o.data,s=t+n;let a;const l=c=>{for(c.length+=n,a=c.length-1;a>=s;a--)c[a]=c[a-n]};for(l(i),a=t;a<s;++a)i[a]=new this.dataElementType;this._parsing&&l(o._parsed),this.parse(t,n),r&&this.updateElements(i,t,n,"reset")}updateElements(t,n,r,o){}_removeElements(t,n){const r=this._cachedMeta;if(this._parsing){const o=r._parsed.splice(t,n);r._stacked&&zd(r,o)}r.data.splice(t,n)}_sync(t){if(this._parsing)this._syncList.push(t);else{const[n,r,o]=t;this[n](r,o)}this.chart._dataChanges.push([this.index,...t])}_onDataPush(){const t=arguments.length;this._sync(["_insertElements",this.getDataset().data.length-t,t])}_onDataPop(){this._sync(["_removeElements",this._cachedMeta.data.length-1,1])}_onDataShift(){this._sync(["_removeElements",0,1])}_onDataSplice(t,n){n&&this._sync(["_removeElements",t,n]);const r=arguments.length-2;r&&this._sync(["_insertElements",t,r])}_onDataUnshift(){this._sync(["_insertElements",0,arguments.length])}}ve(Eo,"defaults",{}),ve(Eo,"datasetElementType",null),ve(Eo,"dataElementType",null);function ele(e,t){if(!e._cache.$bar){const n=e.getMatchingVisibleMetas(t);let r=[];for(let o=0,i=n.length;o<i;o++)r=r.concat(n[o].controller.getAllParsedValues(e));e._cache.$bar=RL(r.sort((o,i)=>o-i))}return e._cache.$bar}function tle(e){const t=e.iScale,n=ele(t,e.type);let r=t._length,o,i,s,a;const l=()=>{s===32767||s===-32768||(ch(a)&&(r=Math.min(r,Math.abs(s-a)||r)),a=s)};for(o=0,i=n.length;o<i;++o)s=t.getPixelForValue(n[o]),l();for(a=void 0,o=0,i=t.ticks.length;o<i;++o)s=t.getPixelForTick(o),l();return r}function nle(e,t,n,r){const o=n.barThickness;let i,s;return Ze(o)?(i=t.min*n.categoryPercentage,s=n.barPercentage):(i=o*r,s=1),{chunk:i/r,ratio:s,start:t.pixels[e]-i/2}}function rle(e,t,n,r){const o=t.pixels,i=o[e];let s=e>0?o[e-1]:null,a=e<o.length-1?o[e+1]:null;const l=n.categoryPercentage;s===null&&(s=i-(a===null?t.end-t.start:a-i)),a===null&&(a=i+i-s);const c=i-(i-Math.min(s,a))/2*l;return{chunk:Math.abs(a-s)/2*l/r,ratio:n.barPercentage,start:c}}function ole(e,t,n,r){const o=n.parse(e[0],r),i=n.parse(e[1],r),s=Math.min(o,i),a=Math.max(o,i);let l=s,c=a;Math.abs(s)>Math.abs(a)&&(l=a,c=s),t[n.axis]=c,t._custom={barStart:l,barEnd:c,start:o,end:i,min:s,max:a}}function YL(e,t,n,r){return Kt(e)?ole(e,t,n,r):t[n.axis]=n.parse(e,r),t}function kM(e,t,n,r){const o=e.iScale,i=e.vScale,s=o.getLabels(),a=o===i,l=[];let c,u,d,h;for(c=n,u=n+r;c<u;++c)h=t[c],d={},d[o.axis]=a||o.parse(s[c],c),l.push(YL(h,d,i,c));return l}function wx(e){return e&&e.barStart!==void 0&&e.barEnd!==void 0}function ile(e,t,n){return e!==0?vi(e):(t.isHorizontal()?1:-1)*(t.min>=n?1:-1)}function sle(e){let t,n,r,o,i;return e.horizontal?(t=e.base>e.x,n="left",r="right"):(t=e.base<e.y,n="bottom",r="top"),t?(o="end",i="start"):(o="start",i="end"),{start:n,end:r,reverse:t,top:o,bottom:i}}function ale(e,t,n,r){let o=t.borderSkipped;const i={};if(!o){e.borderSkipped=i;return}if(o===!0){e.borderSkipped={top:!0,right:!0,bottom:!0,left:!0};return}const{start:s,end:a,reverse:l,top:c,bottom:u}=sle(e);o==="middle"&&n&&(e.enableBorderRadius=!0,(n._top||0)===r?o=c:(n._bottom||0)===r?o=u:(i[RM(u,s,a,l)]=!0,o=c)),i[RM(o,s,a,l)]=!0,e.borderSkipped=i}function RM(e,t,n,r){return r?(e=lle(e,t,n),e=NM(e,n,t)):e=NM(e,t,n),e}function lle(e,t,n){return e===t?n:e===n?t:e}function NM(e,t,n){return e==="start"?t:e==="end"?n:e}function cle(e,{inflateAmount:t},n){e.inflateAmount=t==="auto"?n===1?.33:0:t}class Rl extends Eo{parsePrimitiveData(t,n,r,o){return kM(t,n,r,o)}parseArrayData(t,n,r,o){return kM(t,n,r,o)}parseObjectData(t,n,r,o){const{iScale:i,vScale:s}=t,{xAxisKey:a="x",yAxisKey:l="y"}=this._parsing,c=i.axis==="x"?a:l,u=s.axis==="x"?a:l,d=[];let h,p,m,g;for(h=r,p=r+o;h<p;++h)g=n[h],m={},m[i.axis]=i.parse(ma(g,c),h),d.push(YL(ma(g,u),m,s,h));return d}updateRangeFromParsed(t,n,r,o){super.updateRangeFromParsed(t,n,r,o);const i=r._custom;i&&n===this._cachedMeta.vScale&&(t.min=Math.min(t.min,i.min),t.max=Math.max(t.max,i.max))}getMaxOverflow(){return 0}getLabelAndValue(t){const n=this._cachedMeta,{iScale:r,vScale:o}=n,i=this.getParsed(t),s=i._custom,a=wx(s)?"["+s.start+", "+s.end+"]":""+o.getLabelForValue(i[o.axis]);return{label:""+r.getLabelForValue(i[r.axis]),value:a}}initialize(){this.enableOptionSharing=!0,super.initialize();const t=this._cachedMeta;t.stack=this.getDataset().stack}update(t){const n=this._cachedMeta;this.updateElements(n.data,0,n.data.length,t)}updateElements(t,n,r,o){const i=o==="reset",{index:s,_cachedMeta:{vScale:a}}=this,l=a.getBasePixel(),c=a.isHorizontal(),u=this._getRuler(),{sharedOptions:d,includeOptions:h}=this._getSharedOptions(n,o);for(let p=n;p<n+r;p++){const m=this.getParsed(p),g=i||Ze(m[a.axis])?{base:l,head:l}:this._calculateBarValuePixels(p),b=this._calculateBarIndexPixels(p,u),y=(m._stacks||{})[a.axis],v={horizontal:c,base:g.base,enableBorderRadius:!y||wx(m._custom)||s===y._top||s===y._bottom,x:c?g.head:b.center,y:c?b.center:g.head,height:c?b.size:Math.abs(g.size),width:c?Math.abs(g.size):b.size};h&&(v.options=d||this.resolveDataElementOptions(p,t[p].active?"active":o));const x=v.options||t[p].options;ale(v,x,y,s),cle(v,x,u.ratio),this.updateElement(t[p],p,v,o)}}_getStacks(t,n){const{iScale:r}=this._cachedMeta,o=r.getMatchingVisibleMetas(this._type).filter(u=>u.controller.options.grouped),i=r.options.stacked,s=[],a=this._cachedMeta.controller.getParsed(n),l=a&&a[r.axis],c=u=>{const d=u._parsed.find(p=>p[r.axis]===l),h=d&&d[u.vScale.axis];if(Ze(h)||isNaN(h))return!0};for(const u of o)if(!(n!==void 0&&c(u))&&((i===!1||s.indexOf(u.stack)===-1||i===void 0&&u.stack===void 0)&&s.push(u.stack),u.index===t))break;return s.length||s.push(void 0),s}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,n,r){const o=this._getStacks(t,r),i=n!==void 0?o.indexOf(n):-1;return i===-1?o.length-1:i}_getRuler(){const t=this.options,n=this._cachedMeta,r=n.iScale,o=[];let i,s;for(i=0,s=n.data.length;i<s;++i)o.push(r.getPixelForValue(this.getParsed(i)[r.axis],i));const a=t.barThickness;return{min:a||tle(n),pixels:o,start:r._startPixel,end:r._endPixel,stackCount:this._getStackCount(),scale:r,grouped:t.grouped,ratio:a?1:t.categoryPercentage*t.barPercentage}}_calculateBarValuePixels(t){const{_cachedMeta:{vScale:n,_stacked:r,index:o},options:{base:i,minBarLength:s}}=this,a=i||0,l=this.getParsed(t),c=l._custom,u=wx(c);let d=l[n.axis],h=0,p=r?this.applyStack(n,l,r):d,m,g;p!==d&&(h=p-d,p=d),u&&(d=c.barStart,p=c.barEnd-c.barStart,d!==0&&vi(d)!==vi(c.barEnd)&&(h=0),h+=d);const b=!Ze(i)&&!u?i:h;let y=n.getPixelForValue(b);if(this.chart.getDataVisibility(t)?m=n.getPixelForValue(h+p):m=y,g=m-y,Math.abs(g)<s){g=ile(g,n,a)*s,d===a&&(y-=g/2);const v=n.getPixelForDecimal(0),x=n.getPixelForDecimal(1),E=Math.min(v,x),_=Math.max(v,x);y=Math.max(Math.min(y,_),E),m=y+g,r&&!u&&(l._stacks[n.axis]._visualValues[o]=n.getValueForPixel(m)-n.getValueForPixel(y))}if(y===n.getPixelForValue(a)){const v=vi(g)*n.getLineWidthForValue(a)/2;y+=v,g-=v}return{size:g,base:y,head:m,center:m+g/2}}_calculateBarIndexPixels(t,n){const r=n.scale,o=this.options,i=o.skipNull,s=Be(o.maxBarThickness,1/0);let a,l;if(n.grouped){const c=i?this._getStackCount(t):n.stackCount,u=o.barThickness==="flex"?rle(t,n,o,c):nle(t,n,o,c),d=this._getStackIndex(this.index,this._cachedMeta.stack,i?t:void 0);a=u.start+u.chunk*d+u.chunk/2,l=Math.min(s,u.chunk*u.ratio)}else a=r.getPixelForValue(this.getParsed(t)[r.axis],t),l=Math.min(s,n.min*n.ratio);return{base:a-l/2,head:a+l/2,center:a,size:l}}draw(){const t=this._cachedMeta,n=t.vScale,r=t.data,o=r.length;let i=0;for(;i<o;++i)this.getParsed(i)[n.axis]!==null&&!r[i].hidden&&r[i].draw(this._ctx)}}ve(Rl,"id","bar"),ve(Rl,"defaults",{datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}}),ve(Rl,"overrides",{scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}});class Rg extends Eo{initialize(){this.enableOptionSharing=!0,super.initialize()}parsePrimitiveData(t,n,r,o){const i=super.parsePrimitiveData(t,n,r,o);for(let s=0;s<i.length;s++)i[s]._custom=this.resolveDataElementOptions(s+r).radius;return i}parseArrayData(t,n,r,o){const i=super.parseArrayData(t,n,r,o);for(let s=0;s<i.length;s++){const a=n[r+s];i[s]._custom=Be(a[2],this.resolveDataElementOptions(s+r).radius)}return i}parseObjectData(t,n,r,o){const i=super.parseObjectData(t,n,r,o);for(let s=0;s<i.length;s++){const a=n[r+s];i[s]._custom=Be(a&&a.r&&+a.r,this.resolveDataElementOptions(s+r).radius)}return i}getMaxOverflow(){const t=this._cachedMeta.data;let n=0;for(let r=t.length-1;r>=0;--r)n=Math.max(n,t[r].size(this.resolveDataElementOptions(r))/2);return n>0&&n}getLabelAndValue(t){const n=this._cachedMeta,r=this.chart.data.labels||[],{xScale:o,yScale:i}=n,s=this.getParsed(t),a=o.getLabelForValue(s.x),l=i.getLabelForValue(s.y),c=s._custom;return{label:r[t]||"",value:"("+a+", "+l+(c?", "+c:"")+")"}}update(t){const n=this._cachedMeta.data;this.updateElements(n,0,n.length,t)}updateElements(t,n,r,o){const i=o==="reset",{iScale:s,vScale:a}=this._cachedMeta,{sharedOptions:l,includeOptions:c}=this._getSharedOptions(n,o),u=s.axis,d=a.axis;for(let h=n;h<n+r;h++){const p=t[h],m=!i&&this.getParsed(h),g={},b=g[u]=i?s.getPixelForDecimal(.5):s.getPixelForValue(m[u]),y=g[d]=i?a.getBasePixel():a.getPixelForValue(m[d]);g.skip=isNaN(b)||isNaN(y),c&&(g.options=l||this.resolveDataElementOptions(h,p.active?"active":o),i&&(g.options.radius=0)),this.updateElement(p,h,g,o)}}resolveDataElementOptions(t,n){const r=this.getParsed(t);let o=super.resolveDataElementOptions(t,n);o.$shared&&(o=Object.assign({},o,{$shared:!1}));const i=o.radius;return n!=="active"&&(o.radius=0),o.radius+=Be(r&&r._custom,i),o}}ve(Rg,"id","bubble"),ve(Rg,"defaults",{datasetElementType:!1,dataElementType:"point",animations:{numbers:{type:"number",properties:["x","y","borderWidth","radius"]}}}),ve(Rg,"overrides",{scales:{x:{type:"linear"},y:{type:"linear"}}});function ule(e,t,n){let r=1,o=1,i=0,s=0;if(t<Xt){const a=e,l=a+t,c=Math.cos(a),u=Math.sin(a),d=Math.cos(l),h=Math.sin(l),p=(x,E,_)=>uh(x,a,l,!0)?1:Math.max(E,E*n,_,_*n),m=(x,E,_)=>uh(x,a,l,!0)?-1:Math.min(E,E*n,_,_*n),g=p(0,c,d),b=p(pn,u,h),y=m(Zt,c,d),v=m(Zt+pn,u,h);r=(g-y)/2,o=(b-v)/2,i=-(g+y)/2,s=-(b+v)/2}return{ratioX:r,ratioY:o,offsetX:i,offsetY:s}}class al extends Eo{constructor(t,n){super(t,n),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,n){const r=this.getDataset().data,o=this._cachedMeta;if(this._parsing===!1)o._parsed=r;else{let i=l=>+r[l];if(dt(r[t])){const{key:l="value"}=this._parsing;i=c=>+ma(r[c],l)}let s,a;for(s=t,a=t+n;s<a;++s)o._parsed[s]=i(s)}}_getRotation(){return Bo(this.options.rotation-90)}_getCircumference(){return Bo(this.options.circumference)}_getRotationExtents(){let t=Xt,n=-Xt;for(let r=0;r<this.chart.data.datasets.length;++r)if(this.chart.isDatasetVisible(r)&&this.chart.getDatasetMeta(r).type===this._type){const o=this.chart.getDatasetMeta(r).controller,i=o._getRotation(),s=o._getCircumference();t=Math.min(t,i),n=Math.max(n,i+s)}return{rotation:t,circumference:n-t}}update(t){const n=this.chart,{chartArea:r}=n,o=this._cachedMeta,i=o.data,s=this.getMaxBorderWidth()+this.getMaxOffset(i)+this.options.spacing,a=Math.max((Math.min(r.width,r.height)-s)/2,0),l=Math.min(Sse(this.options.cutout,a),1),c=this._getRingWeight(this.index),{circumference:u,rotation:d}=this._getRotationExtents(),{ratioX:h,ratioY:p,offsetX:m,offsetY:g}=ule(d,u,l),b=(r.width-s)/h,y=(r.height-s)/p,v=Math.max(Math.min(b,y)/2,0),x=CL(this.options.radius,v),E=Math.max(x*l,0),_=(x-E)/this._getVisibleDatasetWeightTotal();this.offsetX=m*x,this.offsetY=g*x,o.total=this.calculateTotal(),this.outerRadius=x-_*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-_*c,0),this.updateElements(i,0,i.length,t)}_circumference(t,n){const r=this.options,o=this._cachedMeta,i=this._getCircumference();return n&&r.animation.animateRotate||!this.chart.getDataVisibility(t)||o._parsed[t]===null||o.data[t].hidden?0:this.calculateCircumference(o._parsed[t]*i/Xt)}updateElements(t,n,r,o){const i=o==="reset",s=this.chart,a=s.chartArea,c=s.options.animation,u=(a.left+a.right)/2,d=(a.top+a.bottom)/2,h=i&&c.animateScale,p=h?0:this.innerRadius,m=h?0:this.outerRadius,{sharedOptions:g,includeOptions:b}=this._getSharedOptions(n,o);let y=this._getRotation(),v;for(v=0;v<n;++v)y+=this._circumference(v,i);for(v=n;v<n+r;++v){const x=this._circumference(v,i),E=t[v],_={x:u+this.offsetX,y:d+this.offsetY,startAngle:y,endAngle:y+x,circumference:x,outerRadius:m,innerRadius:p};b&&(_.options=g||this.resolveDataElementOptions(v,E.active?"active":o)),y+=x,this.updateElement(E,v,_,o)}}calculateTotal(){const t=this._cachedMeta,n=t.data;let r=0,o;for(o=0;o<n.length;o++){const i=t._parsed[o];i!==null&&!isNaN(i)&&this.chart.getDataVisibility(o)&&!n[o].hidden&&(r+=Math.abs(i))}return r}calculateCircumference(t){const n=this._cachedMeta.total;return n>0&&!isNaN(t)?Xt*(Math.abs(t)/n):0}getLabelAndValue(t){const n=this._cachedMeta,r=this.chart,o=r.data.labels||[],i=Cp(n._parsed[t],r.options.locale);return{label:o[t]||"",value:i}}getMaxBorderWidth(t){let n=0;const r=this.chart;let o,i,s,a,l;if(!t){for(o=0,i=r.data.datasets.length;o<i;++o)if(r.isDatasetVisible(o)){s=r.getDatasetMeta(o),t=s.data,a=s.controller;break}}if(!t)return 0;for(o=0,i=t.length;o<i;++o)l=a.resolveDataElementOptions(o),l.borderAlign!=="inner"&&(n=Math.max(n,l.borderWidth||0,l.hoverBorderWidth||0));return n}getMaxOffset(t){let n=0;for(let r=0,o=t.length;r<o;++r){const i=this.resolveDataElementOptions(r);n=Math.max(n,i.offset||0,i.hoverOffset||0)}return n}_getRingWeightOffset(t){let n=0;for(let r=0;r<t;++r)this.chart.isDatasetVisible(r)&&(n+=this._getRingWeight(r));return n}_getRingWeight(t){return Math.max(Be(this.chart.data.datasets[t].weight,1),0)}_getVisibleDatasetWeightTotal(){return this._getRingWeightOffset(this.chart.data.datasets.length)||1}}ve(al,"id","doughnut"),ve(al,"defaults",{datasetElementType:!1,dataElementType:"arc",animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:"number",properties:["circumference","endAngle","innerRadius","outerRadius","startAngle","x","y","offset","borderWidth","spacing"]}},cutout:"50%",rotation:0,circumference:360,radius:"100%",spacing:0,indexAxis:"r"}),ve(al,"descriptors",{_scriptable:t=>t!=="spacing",_indexable:t=>t!=="spacing"&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")}),ve(al,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const n=t.data;if(n.labels.length&&n.datasets.length){const{labels:{pointStyle:r,color:o}}=t.legend.options;return n.labels.map((i,s)=>{const l=t.getDatasetMeta(0).controller.getStyle(s);return{text:i,fillStyle:l.backgroundColor,strokeStyle:l.borderColor,fontColor:o,lineWidth:l.borderWidth,pointStyle:r,hidden:!t.getDataVisibility(s),index:s}})}return[]}},onClick(t,n,r){r.chart.toggleDataVisibility(n.index),r.chart.update()}}}});class Ng extends Eo{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const n=this._cachedMeta,{dataset:r,data:o=[],_dataset:i}=n,s=this.chart._animationsDisabled;let{start:a,count:l}=ML(n,o,s);this._drawStart=a,this._drawCount=l,PL(n)&&(a=0,l=o.length),r._chart=this.chart,r._datasetIndex=this.index,r._decimated=!!i._decimated,r.points=o;const c=this.resolveDatasetElementOptions(t);this.options.showLine||(c.borderWidth=0),c.segment=this.options.segment,this.updateElement(r,void 0,{animated:!s,options:c},t),this.updateElements(o,a,l,t)}updateElements(t,n,r,o){const i=o==="reset",{iScale:s,vScale:a,_stacked:l,_dataset:c}=this._cachedMeta,{sharedOptions:u,includeOptions:d}=this._getSharedOptions(n,o),h=s.axis,p=a.axis,{spanGaps:m,segment:g}=this.options,b=Bu(m)?m:Number.POSITIVE_INFINITY,y=this.chart._animationsDisabled||i||o==="none",v=n+r,x=t.length;let E=n>0&&this.getParsed(n-1);for(let _=0;_<x;++_){const S=t[_],C=y?S:{};if(_<n||_>=v){C.skip=!0;continue}const R=this.getParsed(_),N=Ze(R[p]),D=C[h]=s.getPixelForValue(R[h],_),I=C[p]=i||N?a.getBasePixel():a.getPixelForValue(l?this.applyStack(a,R,l):R[p],_);C.skip=isNaN(D)||isNaN(I)||N,C.stop=_>0&&Math.abs(R[h]-E[h])>b,g&&(C.parsed=R,C.raw=c.data[_]),d&&(C.options=u||this.resolveDataElementOptions(_,S.active?"active":o)),y||this.updateElement(S,_,C,o),E=R}}getMaxOverflow(){const t=this._cachedMeta,n=t.dataset,r=n.options&&n.options.borderWidth||0,o=t.data||[];if(!o.length)return r;const i=o[0].size(this.resolveDataElementOptions(0)),s=o[o.length-1].size(this.resolveDataElementOptions(o.length-1));return Math.max(r,i,s)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}ve(Ng,"id","line"),ve(Ng,"defaults",{datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1}),ve(Ng,"overrides",{scales:{_index_:{type:"category"},_value_:{type:"linear"}}});class Nf extends Eo{constructor(t,n){super(t,n),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const n=this._cachedMeta,r=this.chart,o=r.data.labels||[],i=Cp(n._parsed[t].r,r.options.locale);return{label:o[t]||"",value:i}}parseObjectData(t,n,r,o){return $L.bind(this)(t,n,r,o)}update(t){const n=this._cachedMeta.data;this._updateRadius(),this.updateElements(n,0,n.length,t)}getMinMax(){const t=this._cachedMeta,n={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach((r,o)=>{const i=this.getParsed(o).r;!isNaN(i)&&this.chart.getDataVisibility(o)&&(i<n.min&&(n.min=i),i>n.max&&(n.max=i))}),n}_updateRadius(){const t=this.chart,n=t.chartArea,r=t.options,o=Math.min(n.right-n.left,n.bottom-n.top),i=Math.max(o/2,0),s=Math.max(r.cutoutPercentage?i/100*r.cutoutPercentage:1,0),a=(i-s)/t.getVisibleDatasetCount();this.outerRadius=i-a*this.index,this.innerRadius=this.outerRadius-a}updateElements(t,n,r,o){const i=o==="reset",s=this.chart,l=s.options.animation,c=this._cachedMeta.rScale,u=c.xCenter,d=c.yCenter,h=c.getIndexAngle(0)-.5*Zt;let p=h,m;const g=360/this.countVisibleElements();for(m=0;m<n;++m)p+=this._computeAngle(m,o,g);for(m=n;m<n+r;m++){const b=t[m];let y=p,v=p+this._computeAngle(m,o,g),x=s.getDataVisibility(m)?c.getDistanceFromCenterForValue(this.getParsed(m).r):0;p=v,i&&(l.animateScale&&(x=0),l.animateRotate&&(y=v=h));const E={x:u,y:d,innerRadius:0,outerRadius:x,startAngle:y,endAngle:v,options:this.resolveDataElementOptions(m,b.active?"active":o)};this.updateElement(b,m,E,o)}}countVisibleElements(){const t=this._cachedMeta;let n=0;return t.data.forEach((r,o)=>{!isNaN(this.getParsed(o).r)&&this.chart.getDataVisibility(o)&&n++}),n}_computeAngle(t,n,r){return this.chart.getDataVisibility(t)?Bo(this.resolveDataElementOptions(t,n).angle||r):0}}ve(Nf,"id","polarArea"),ve(Nf,"defaults",{dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0}),ve(Nf,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const n=t.data;if(n.labels.length&&n.datasets.length){const{labels:{pointStyle:r,color:o}}=t.legend.options;return n.labels.map((i,s)=>{const l=t.getDatasetMeta(0).controller.getStyle(s);return{text:i,fillStyle:l.backgroundColor,strokeStyle:l.borderColor,fontColor:o,lineWidth:l.borderWidth,pointStyle:r,hidden:!t.getDataVisibility(s),index:s}})}return[]}},onClick(t,n,r){r.chart.toggleDataVisibility(n.index),r.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}});class mC extends al{}ve(mC,"id","pie"),ve(mC,"defaults",{cutout:0,rotation:0,circumference:360,radius:"100%"});class Dg extends Eo{getLabelAndValue(t){const n=this._cachedMeta.vScale,r=this.getParsed(t);return{label:n.getLabels()[t],value:""+n.getLabelForValue(r[n.axis])}}parseObjectData(t,n,r,o){return $L.bind(this)(t,n,r,o)}update(t){const n=this._cachedMeta,r=n.dataset,o=n.data||[],i=n.iScale.getLabels();if(r.points=o,t!=="resize"){const s=this.resolveDatasetElementOptions(t);this.options.showLine||(s.borderWidth=0);const a={_loop:!0,_fullLoop:i.length===o.length,options:s};this.updateElement(r,void 0,a,t)}this.updateElements(o,0,o.length,t)}updateElements(t,n,r,o){const i=this._cachedMeta.rScale,s=o==="reset";for(let a=n;a<n+r;a++){const l=t[a],c=this.resolveDataElementOptions(a,l.active?"active":o),u=i.getPointPositionForValue(a,this.getParsed(a).r),d=s?i.xCenter:u.x,h=s?i.yCenter:u.y,p={x:d,y:h,angle:u.angle,skip:isNaN(d)||isNaN(h),options:c};this.updateElement(l,a,p,o)}}}ve(Dg,"id","radar"),ve(Dg,"defaults",{datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}}),ve(Dg,"overrides",{aspectRatio:1,scales:{r:{type:"radialLinear"}}});class Mg extends Eo{getLabelAndValue(t){const n=this._cachedMeta,r=this.chart.data.labels||[],{xScale:o,yScale:i}=n,s=this.getParsed(t),a=o.getLabelForValue(s.x),l=i.getLabelForValue(s.y);return{label:r[t]||"",value:"("+a+", "+l+")"}}update(t){const n=this._cachedMeta,{data:r=[]}=n,o=this.chart._animationsDisabled;let{start:i,count:s}=ML(n,r,o);if(this._drawStart=i,this._drawCount=s,PL(n)&&(i=0,s=r.length),this.options.showLine){this.datasetElementType||this.addElements();const{dataset:a,_dataset:l}=n;a._chart=this.chart,a._datasetIndex=this.index,a._decimated=!!l._decimated,a.points=r;const c=this.resolveDatasetElementOptions(t);c.segment=this.options.segment,this.updateElement(a,void 0,{animated:!o,options:c},t)}else this.datasetElementType&&(delete n.dataset,this.datasetElementType=!1);this.updateElements(r,i,s,t)}addElements(){const{showLine:t}=this.options;!this.datasetElementType&&t&&(this.datasetElementType=this.chart.registry.getElement("line")),super.addElements()}updateElements(t,n,r,o){const i=o==="reset",{iScale:s,vScale:a,_stacked:l,_dataset:c}=this._cachedMeta,u=this.resolveDataElementOptions(n,o),d=this.getSharedOptions(u),h=this.includeOptions(o,d),p=s.axis,m=a.axis,{spanGaps:g,segment:b}=this.options,y=Bu(g)?g:Number.POSITIVE_INFINITY,v=this.chart._animationsDisabled||i||o==="none";let x=n>0&&this.getParsed(n-1);for(let E=n;E<n+r;++E){const _=t[E],S=this.getParsed(E),C=v?_:{},R=Ze(S[m]),N=C[p]=s.getPixelForValue(S[p],E),D=C[m]=i||R?a.getBasePixel():a.getPixelForValue(l?this.applyStack(a,S,l):S[m],E);C.skip=isNaN(N)||isNaN(D)||R,C.stop=E>0&&Math.abs(S[p]-x[p])>y,b&&(C.parsed=S,C.raw=c.data[E]),h&&(C.options=d||this.resolveDataElementOptions(E,_.active?"active":o)),v||this.updateElement(_,E,C,o),x=S}this.updateSharedOptions(d,o,u)}getMaxOverflow(){const t=this._cachedMeta,n=t.data||[];if(!this.options.showLine){let a=0;for(let l=n.length-1;l>=0;--l)a=Math.max(a,n[l].size(this.resolveDataElementOptions(l))/2);return a>0&&a}const r=t.dataset,o=r.options&&r.options.borderWidth||0;if(!n.length)return o;const i=n[0].size(this.resolveDataElementOptions(0)),s=n[n.length-1].size(this.resolveDataElementOptions(n.length-1));return Math.max(o,i,s)/2}}ve(Mg,"id","scatter"),ve(Mg,"defaults",{datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1}),ve(Mg,"overrides",{interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}});var dle=Object.freeze({__proto__:null,BarController:Rl,BubbleController:Rg,DoughnutController:al,LineController:Ng,PieController:mC,PolarAreaController:Nf,RadarController:Dg,ScatterController:Mg});function qa(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class c_{constructor(t){ve(this,"options");this.options=t||{}}static override(t){Object.assign(c_.prototype,t)}init(){}formats(){return qa()}parse(){return qa()}format(){return qa()}add(){return qa()}diff(){return qa()}startOf(){return qa()}endOf(){return qa()}}var fle={_date:c_};function hle(e,t,n,r){const{controller:o,data:i,_sorted:s}=e,a=o._cachedMeta.iScale,l=e.dataset&&e.dataset.options?e.dataset.options.spanGaps:null;if(a&&t===a.axis&&t!=="r"&&s&&i.length){const c=a._reversePixels?Ose:cs;if(r){if(o._sharedOptions){const u=i[0],d=typeof u.getRange=="function"&&u.getRange(t);if(d){const h=c(i,t,n-d),p=c(i,t,n+d);return{lo:h.lo,hi:p.hi}}}}else{const u=c(i,t,n);if(l){const{vScale:d}=o._cachedMeta,{_parsed:h}=e,p=h.slice(0,u.lo+1).reverse().findIndex(g=>!Ze(g[d.axis]));u.lo-=Math.max(0,p);const m=h.slice(u.hi).findIndex(g=>!Ze(g[d.axis]));u.hi+=Math.max(0,m)}return u}}return{lo:0,hi:i.length-1}}function vy(e,t,n,r,o){const i=e.getSortedVisibleDatasetMetas(),s=n[t];for(let a=0,l=i.length;a<l;++a){const{index:c,data:u}=i[a],{lo:d,hi:h}=hle(i[a],t,s,o);for(let p=d;p<=h;++p){const m=u[p];m.skip||r(m,c,p)}}}function ple(e){const t=e.indexOf("x")!==-1,n=e.indexOf("y")!==-1;return function(r,o){const i=t?Math.abs(r.x-o.x):0,s=n?Math.abs(r.y-o.y):0;return Math.sqrt(Math.pow(i,2)+Math.pow(s,2))}}function Cx(e,t,n,r,o){const i=[];return!o&&!e.isPointInArea(t)||vy(e,n,t,function(a,l,c){!o&&!us(a,e.chartArea,0)||a.inRange(t.x,t.y,r)&&i.push({element:a,datasetIndex:l,index:c})},!0),i}function mle(e,t,n,r){let o=[];function i(s,a,l){const{startAngle:c,endAngle:u}=s.getProps(["startAngle","endAngle"],r),{angle:d}=_L(s,{x:t.x,y:t.y});uh(d,c,u)&&o.push({element:s,datasetIndex:a,index:l})}return vy(e,n,t,i),o}function gle(e,t,n,r,o,i){let s=[];const a=ple(n);let l=Number.POSITIVE_INFINITY;function c(u,d,h){const p=u.inRange(t.x,t.y,o);if(r&&!p)return;const m=u.getCenterPoint(o);if(!(!!i||e.isPointInArea(m))&&!p)return;const b=a(t,m);b<l?(s=[{element:u,datasetIndex:d,index:h}],l=b):b===l&&s.push({element:u,datasetIndex:d,index:h})}return vy(e,n,t,c),s}function Sx(e,t,n,r,o,i){return!i&&!e.isPointInArea(t)?[]:n==="r"&&!r?mle(e,t,n,o):gle(e,t,n,r,o,i)}function DM(e,t,n,r,o){const i=[],s=n==="x"?"inXRange":"inYRange";let a=!1;return vy(e,n,t,(l,c,u)=>{l[s]&&l[s](t[n],o)&&(i.push({element:l,datasetIndex:c,index:u}),a=a||l.inRange(t.x,t.y,o))}),r&&!a?[]:i}var ble={modes:{index(e,t,n,r){const o=Za(t,e),i=n.axis||"x",s=n.includeInvisible||!1,a=n.intersect?Cx(e,o,i,r,s):Sx(e,o,i,!1,r,s),l=[];return a.length?(e.getSortedVisibleDatasetMetas().forEach(c=>{const u=a[0].index,d=c.data[u];d&&!d.skip&&l.push({element:d,datasetIndex:c.index,index:u})}),l):[]},dataset(e,t,n,r){const o=Za(t,e),i=n.axis||"xy",s=n.includeInvisible||!1;let a=n.intersect?Cx(e,o,i,r,s):Sx(e,o,i,!1,r,s);if(a.length>0){const l=a[0].datasetIndex,c=e.getDatasetMeta(l).data;a=[];for(let u=0;u<c.length;++u)a.push({element:c[u],datasetIndex:l,index:u})}return a},point(e,t,n,r){const o=Za(t,e),i=n.axis||"xy",s=n.includeInvisible||!1;return Cx(e,o,i,r,s)},nearest(e,t,n,r){const o=Za(t,e),i=n.axis||"xy",s=n.includeInvisible||!1;return Sx(e,o,i,n.intersect,r,s)},x(e,t,n,r){const o=Za(t,e);return DM(e,o,"x",n.intersect,r)},y(e,t,n,r){const o=Za(t,e);return DM(e,o,"y",n.intersect,r)}}};const KL=["left","top","right","bottom"];function Bd(e,t){return e.filter(n=>n.pos===t)}function MM(e,t){return e.filter(n=>KL.indexOf(n.pos)===-1&&n.box.axis===t)}function Vd(e,t){return e.sort((n,r)=>{const o=t?r:n,i=t?n:r;return o.weight===i.weight?o.index-i.index:o.weight-i.weight})}function yle(e){const t=[];let n,r,o,i,s,a;for(n=0,r=(e||[]).length;n<r;++n)o=e[n],{position:i,options:{stack:s,stackWeight:a=1}}=o,t.push({index:n,box:o,pos:i,horizontal:o.isHorizontal(),weight:o.weight,stack:s&&i+s,stackWeight:a});return t}function vle(e){const t={};for(const n of e){const{stack:r,pos:o,stackWeight:i}=n;if(!r||!KL.includes(o))continue;const s=t[r]||(t[r]={count:0,placed:0,weight:0,size:0});s.count++,s.weight+=i}return t}function xle(e,t){const n=vle(e),{vBoxMaxWidth:r,hBoxMaxHeight:o}=t;let i,s,a;for(i=0,s=e.length;i<s;++i){a=e[i];const{fullSize:l}=a.box,c=n[a.stack],u=c&&a.stackWeight/c.weight;a.horizontal?(a.width=u?u*r:l&&t.availableWidth,a.height=o):(a.width=r,a.height=u?u*o:l&&t.availableHeight)}return n}function wle(e){const t=yle(e),n=Vd(t.filter(c=>c.box.fullSize),!0),r=Vd(Bd(t,"left"),!0),o=Vd(Bd(t,"right")),i=Vd(Bd(t,"top"),!0),s=Vd(Bd(t,"bottom")),a=MM(t,"x"),l=MM(t,"y");return{fullSize:n,leftAndTop:r.concat(i),rightAndBottom:o.concat(l).concat(s).concat(a),chartArea:Bd(t,"chartArea"),vertical:r.concat(o).concat(l),horizontal:i.concat(s).concat(a)}}function PM(e,t,n,r){return Math.max(e[n],t[n])+Math.max(e[r],t[r])}function XL(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function Cle(e,t,n,r){const{pos:o,box:i}=n,s=e.maxPadding;if(!dt(o)){n.size&&(e[o]-=n.size);const d=r[n.stack]||{size:0,count:1};d.size=Math.max(d.size,n.horizontal?i.height:i.width),n.size=d.size/d.count,e[o]+=n.size}i.getPadding&&XL(s,i.getPadding());const a=Math.max(0,t.outerWidth-PM(s,e,"left","right")),l=Math.max(0,t.outerHeight-PM(s,e,"top","bottom")),c=a!==e.w,u=l!==e.h;return e.w=a,e.h=l,n.horizontal?{same:c,other:u}:{same:u,other:c}}function Sle(e){const t=e.maxPadding;function n(r){const o=Math.max(t[r]-e[r],0);return e[r]+=o,o}e.y+=n("top"),e.x+=n("left"),n("right"),n("bottom")}function Ele(e,t){const n=t.maxPadding;function r(o){const i={left:0,top:0,right:0,bottom:0};return o.forEach(s=>{i[s]=Math.max(t[s],n[s])}),i}return r(e?["left","right"]:["top","bottom"])}function sf(e,t,n,r){const o=[];let i,s,a,l,c,u;for(i=0,s=e.length,c=0;i<s;++i){a=e[i],l=a.box,l.update(a.width||t.w,a.height||t.h,Ele(a.horizontal,t));const{same:d,other:h}=Cle(t,n,a,r);c|=d&&o.length,u=u||h,l.fullSize||o.push(a)}return c&&sf(o,t,n,r)||u}function Rm(e,t,n,r,o){e.top=n,e.left=t,e.right=t+r,e.bottom=n+o,e.width=r,e.height=o}function IM(e,t,n,r){const o=n.padding;let{x:i,y:s}=t;for(const a of e){const l=a.box,c=r[a.stack]||{placed:0,weight:1},u=a.stackWeight/c.weight||1;if(a.horizontal){const d=t.w*u,h=c.size||l.height;ch(c.start)&&(s=c.start),l.fullSize?Rm(l,o.left,s,n.outerWidth-o.right-o.left,h):Rm(l,t.left+c.placed,s,d,h),c.start=s,c.placed+=d,s=l.bottom}else{const d=t.h*u,h=c.size||l.width;ch(c.start)&&(i=c.start),l.fullSize?Rm(l,i,o.top,h,n.outerHeight-o.bottom-o.top):Rm(l,i,t.top+c.placed,h,d),c.start=i,c.placed+=d,i=l.right}}t.x=i,t.y=s}var er={addBox(e,t){e.boxes||(e.boxes=[]),t.fullSize=t.fullSize||!1,t.position=t.position||"top",t.weight=t.weight||0,t._layers=t._layers||function(){return[{z:0,draw(n){t.draw(n)}}]},e.boxes.push(t)},removeBox(e,t){const n=e.boxes?e.boxes.indexOf(t):-1;n!==-1&&e.boxes.splice(n,1)},configure(e,t,n){t.fullSize=n.fullSize,t.position=n.position,t.weight=n.weight},update(e,t,n,r){if(!e)return;const o=Un(e.options.layout.padding),i=Math.max(t-o.width,0),s=Math.max(n-o.height,0),a=wle(e.boxes),l=a.vertical,c=a.horizontal;It(e.boxes,g=>{typeof g.beforeLayout=="function"&&g.beforeLayout()});const u=l.reduce((g,b)=>b.box.options&&b.box.options.display===!1?g:g+1,0)||1,d=Object.freeze({outerWidth:t,outerHeight:n,padding:o,availableWidth:i,availableHeight:s,vBoxMaxWidth:i/2/u,hBoxMaxHeight:s/2}),h=Object.assign({},o);XL(h,Un(r));const p=Object.assign({maxPadding:h,w:i,h:s,x:o.left,y:o.top},o),m=xle(l.concat(c),d);sf(a.fullSize,p,d,m),sf(l,p,d,m),sf(c,p,d,m)&&sf(l,p,d,m),Sle(p),IM(a.leftAndTop,p,d,m),p.x+=p.w,p.y+=p.h,IM(a.rightAndBottom,p,d,m),e.chartArea={left:p.left,top:p.top,right:p.left+p.w,bottom:p.top+p.h,height:p.h,width:p.w},It(a.chartArea,g=>{const b=g.box;Object.assign(b,e.chartArea),b.update(p.w,p.h,{left:0,top:0,right:0,bottom:0})})}};class QL{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,r){}removeEventListener(t,n,r){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,r,o){return n=Math.max(0,n||t.width),r=r||t.height,{width:n,height:Math.max(0,o?Math.floor(n/o):r)}}isAttached(t){return!0}updateConfig(t){}}class _le extends QL{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const Pg="$chartjs",kle={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},jM=e=>e===null||e==="";function Rle(e,t){const n=e.style,r=e.getAttribute("height"),o=e.getAttribute("width");if(e[Pg]={initial:{height:r,width:o,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",jM(o)){const i=gM(e,"width");i!==void 0&&(e.width=i)}if(jM(r))if(e.style.height==="")e.height=e.width/(t||2);else{const i=gM(e,"height");i!==void 0&&(e.height=i)}return e}const ZL=Dae?{passive:!0}:!1;function Nle(e,t,n){e&&e.addEventListener(t,n,ZL)}function Dle(e,t,n){e&&e.canvas&&e.canvas.removeEventListener(t,n,ZL)}function Mle(e,t){const n=kle[e.type]||e.type,{x:r,y:o}=Za(e,t);return{type:n,chart:t,native:e,x:r!==void 0?r:null,y:o!==void 0?o:null}}function xb(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function Ple(e,t,n){const r=e.canvas,o=new MutationObserver(i=>{let s=!1;for(const a of i)s=s||xb(a.addedNodes,r),s=s&&!xb(a.removedNodes,r);s&&n()});return o.observe(document,{childList:!0,subtree:!0}),o}function Ile(e,t,n){const r=e.canvas,o=new MutationObserver(i=>{let s=!1;for(const a of i)s=s||xb(a.removedNodes,r),s=s&&!xb(a.addedNodes,r);s&&n()});return o.observe(document,{childList:!0,subtree:!0}),o}const fh=new Map;let TM=0;function JL(){const e=window.devicePixelRatio;e!==TM&&(TM=e,fh.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function jle(e,t){fh.size||window.addEventListener("resize",JL),fh.set(e,t)}function Tle(e){fh.delete(e),fh.size||window.removeEventListener("resize",JL)}function Ale(e,t,n){const r=e.canvas,o=r&&l_(r);if(!o)return;const i=DL((a,l)=>{const c=o.clientWidth;n(a,l),c<o.clientWidth&&n()},window),s=new ResizeObserver(a=>{const l=a[0],c=l.contentRect.width,u=l.contentRect.height;c===0&&u===0||i(c,u)});return s.observe(o),jle(e,i),s}function Ex(e,t,n){n&&n.disconnect(),t==="resize"&&Tle(e)}function Ole(e,t,n){const r=e.canvas,o=DL(i=>{e.ctx!==null&&n(Mle(i,e))},e);return Nle(r,t,o),o}class Fle extends QL{acquireContext(t,n){const r=t&&t.getContext&&t.getContext("2d");return r&&r.canvas===t?(Rle(t,n),r):null}releaseContext(t){const n=t.canvas;if(!n[Pg])return!1;const r=n[Pg].initial;["height","width"].forEach(i=>{const s=r[i];Ze(s)?n.removeAttribute(i):n.setAttribute(i,s)});const o=r.style||{};return Object.keys(o).forEach(i=>{n.style[i]=o[i]}),n.width=n.width,delete n[Pg],!0}addEventListener(t,n,r){this.removeEventListener(t,n);const o=t.$proxies||(t.$proxies={}),s={attach:Ple,detach:Ile,resize:Ale}[n]||Ole;o[n]=s(t,n,r)}removeEventListener(t,n){const r=t.$proxies||(t.$proxies={}),o=r[n];if(!o)return;({attach:Ex,detach:Ex,resize:Ex}[n]||Dle)(t,n,o),r[n]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,r,o){return Nae(t,n,r,o)}isAttached(t){const n=t&&l_(t);return!!(n&&n.isConnected)}}function Lle(e){return!a_()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?_le:Fle}var Cg;let zi=(Cg=class{constructor(){ve(this,"x");ve(this,"y");ve(this,"active",!1);ve(this,"options");ve(this,"$animations")}tooltipPosition(t){const{x:n,y:r}=this.getProps(["x","y"],t);return{x:n,y:r}}hasValue(){return Bu(this.x)&&Bu(this.y)}getProps(t,n){const r=this.$animations;if(!n||!r)return this;const o={};return t.forEach(i=>{o[i]=r[i]&&r[i].active()?r[i]._to:this[i]}),o}},ve(Cg,"defaults",{}),ve(Cg,"defaultRoutes"),Cg);function $le(e,t){const n=e.options.ticks,r=zle(e),o=Math.min(n.maxTicksLimit||r,r),i=n.major.enabled?Vle(t):[],s=i.length,a=i[0],l=i[s-1],c=[];if(s>o)return Hle(t,c,i,s/o),c;const u=Ble(i,t,o);if(s>0){let d,h;const p=s>1?Math.round((l-a)/(s-1)):null;for(Nm(t,c,u,Ze(p)?0:a-p,a),d=0,h=s-1;d<h;d++)Nm(t,c,u,i[d],i[d+1]);return Nm(t,c,u,l,Ze(p)?t.length:l+p),c}return Nm(t,c,u),c}function zle(e){const t=e.options.offset,n=e._tickSize(),r=e._length/n+(t?0:1),o=e._maxLength/n;return Math.floor(Math.min(r,o))}function Ble(e,t,n){const r=Wle(e),o=t.length/n;if(!r)return Math.max(o,1);const i=Pse(r);for(let s=0,a=i.length-1;s<a;s++){const l=i[s];if(l>o)return l}return Math.max(o,1)}function Vle(e){const t=[];let n,r;for(n=0,r=e.length;n<r;n++)e[n].major&&t.push(n);return t}function Hle(e,t,n,r){let o=0,i=n[0],s;for(r=Math.ceil(r),s=0;s<e.length;s++)s===i&&(t.push(e[s]),o++,i=n[o*r])}function Nm(e,t,n,r,o){const i=Be(r,0),s=Math.min(Be(o,e.length),e.length);let a=0,l,c,u;for(n=Math.ceil(n),o&&(l=o-r,n=l/Math.floor(l/n)),u=i;u<0;)a++,u=Math.round(i+a*n);for(c=Math.max(i,0);c<s;c++)c===u&&(t.push(e[c]),a++,u=Math.round(i+a*n))}function Wle(e){const t=e.length;let n,r;if(t<2)return!1;for(r=e[0],n=1;n<t;++n)if(e[n]-e[n-1]!==r)return!1;return r}const Ule=e=>e==="left"?"right":e==="right"?"left":e,AM=(e,t,n)=>t==="top"||t==="left"?e[t]+n:e[t]-n,OM=(e,t)=>Math.min(t||e,e);function FM(e,t){const n=[],r=e.length/t,o=e.length;let i=0;for(;i<o;i+=r)n.push(e[Math.floor(i)]);return n}function qle(e,t,n){const r=e.ticks.length,o=Math.min(t,r-1),i=e._startPixel,s=e._endPixel,a=1e-6;let l=e.getPixelForTick(o),c;if(!(n&&(r===1?c=Math.max(l-i,s-l):t===0?c=(e.getPixelForTick(1)-l)/2:c=(l-e.getPixelForTick(o-1))/2,l+=o<t?c:-c,l<i-a||l>s+a)))return l}function Gle(e,t){It(e,n=>{const r=n.gc,o=r.length/2;let i;if(o>t){for(i=0;i<o;++i)delete n.data[r[i]];r.splice(0,o)}})}function Hd(e){return e.drawTicks?e.tickLength:0}function LM(e,t){if(!e.display)return 0;const n=En(e.font,t),r=Un(e.padding);return(Kt(e.text)?e.text.length:1)*n.lineHeight+r.height}function Yle(e,t){return ja(e,{scale:t,type:"scale"})}function Kle(e,t,n){return ja(e,{tick:n,index:t,type:"tick"})}function Xle(e,t,n){let r=t_(e);return(n&&t!=="right"||!n&&t==="right")&&(r=Ule(r)),r}function Qle(e,t,n,r){const{top:o,left:i,bottom:s,right:a,chart:l}=e,{chartArea:c,scales:u}=l;let d=0,h,p,m;const g=s-o,b=a-i;if(e.isHorizontal()){if(p=Qn(r,i,a),dt(n)){const y=Object.keys(n)[0],v=n[y];m=u[y].getPixelForValue(v)+g-t}else n==="center"?m=(c.bottom+c.top)/2+g-t:m=AM(e,n,t);h=a-i}else{if(dt(n)){const y=Object.keys(n)[0],v=n[y];p=u[y].getPixelForValue(v)-b+t}else n==="center"?p=(c.left+c.right)/2-b+t:p=AM(e,n,t);m=Qn(r,s,o),d=n==="left"?-pn:pn}return{titleX:p,titleY:m,maxWidth:h,rotation:d}}class Ta extends zi{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,n){return t}getUserBounds(){let{_userMin:t,_userMax:n,_suggestedMin:r,_suggestedMax:o}=this;return t=Qr(t,Number.POSITIVE_INFINITY),n=Qr(n,Number.NEGATIVE_INFINITY),r=Qr(r,Number.POSITIVE_INFINITY),o=Qr(o,Number.NEGATIVE_INFINITY),{min:Qr(t,r),max:Qr(n,o),minDefined:dn(t),maxDefined:dn(n)}}getMinMax(t){let{min:n,max:r,minDefined:o,maxDefined:i}=this.getUserBounds(),s;if(o&&i)return{min:n,max:r};const a=this.getMatchingVisibleMetas();for(let l=0,c=a.length;l<c;++l)s=a[l].controller.getMinMax(this,t),o||(n=Math.min(n,s.min)),i||(r=Math.max(r,s.max));return n=i&&n>r?r:n,r=o&&n>r?n:r,{min:Qr(n,Qr(r,n)),max:Qr(r,Qr(n,r))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){$t(this.options.beforeUpdate,[this])}update(t,n,r){const{beginAtZero:o,grace:i,ticks:s}=this.options,a=s.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=r=Object.assign({left:0,right:0,top:0,bottom:0},r),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+r.left+r.right:this.height+r.top+r.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=sae(this,i,o),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=a<this.ticks.length;this._convertTicksToLabels(l?FM(this.ticks,a):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),s.display&&(s.autoSkip||s.source==="auto")&&(this.ticks=$le(this,this.ticks),this._labelSizes=null,this.afterAutoSkip()),l&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let t=this.options.reverse,n,r;this.isHorizontal()?(n=this.left,r=this.right):(n=this.top,r=this.bottom,t=!t),this._startPixel=n,this._endPixel=r,this._reversePixels=t,this._length=r-n,this._alignToPixels=this.options.alignToPixels}afterUpdate(){$t(this.options.afterUpdate,[this])}beforeSetDimensions(){$t(this.options.beforeSetDimensions,[this])}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height),this.paddingLeft=0,this.paddingTop=0,this.paddingRight=0,this.paddingBottom=0}afterSetDimensions(){$t(this.options.afterSetDimensions,[this])}_callHooks(t){this.chart.notifyPlugins(t,this.getContext()),$t(this.options[t],[this])}beforeDataLimits(){this._callHooks("beforeDataLimits")}determineDataLimits(){}afterDataLimits(){this._callHooks("afterDataLimits")}beforeBuildTicks(){this._callHooks("beforeBuildTicks")}buildTicks(){return[]}afterBuildTicks(){this._callHooks("afterBuildTicks")}beforeTickToLabelConversion(){$t(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(t){const n=this.options.ticks;let r,o,i;for(r=0,o=t.length;r<o;r++)i=t[r],i.label=$t(n.callback,[i.value,r,t],this)}afterTickToLabelConversion(){$t(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){$t(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){const t=this.options,n=t.ticks,r=OM(this.ticks.length,t.ticks.maxTicksLimit),o=n.minRotation||0,i=n.maxRotation;let s=o,a,l,c;if(!this._isVisible()||!n.display||o>=i||r<=1||!this.isHorizontal()){this.labelRotation=o;return}const u=this._getLabelSizes(),d=u.widest.width,h=u.highest.height,p=An(this.chart.width-d,0,this.maxWidth);a=t.offset?this.maxWidth/r:p/(r-1),d+6>a&&(a=p/(r-(t.offset?.5:1)),l=this.maxHeight-Hd(t.grid)-n.padding-LM(t.title,this.chart.options.font),c=Math.sqrt(d*d+h*h),s=J2(Math.min(Math.asin(An((u.highest.height+6)/a,-1,1)),Math.asin(An(l/c,-1,1))-Math.asin(An(h/c,-1,1)))),s=Math.max(o,Math.min(i,s))),this.labelRotation=s}afterCalculateLabelRotation(){$t(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){$t(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:r,title:o,grid:i}}=this,s=this._isVisible(),a=this.isHorizontal();if(s){const l=LM(o,n.options.font);if(a?(t.width=this.maxWidth,t.height=Hd(i)+l):(t.height=this.maxHeight,t.width=Hd(i)+l),r.display&&this.ticks.length){const{first:c,last:u,widest:d,highest:h}=this._getLabelSizes(),p=r.padding*2,m=Bo(this.labelRotation),g=Math.cos(m),b=Math.sin(m);if(a){const y=r.mirror?0:b*d.width+g*h.height;t.height=Math.min(this.maxHeight,t.height+y+p)}else{const y=r.mirror?0:g*d.width+b*h.height;t.width=Math.min(this.maxWidth,t.width+y+p)}this._calculatePadding(c,u,b,g)}}this._handleMargins(),a?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,r,o){const{ticks:{align:i,padding:s},position:a}=this.options,l=this.labelRotation!==0,c=a!=="top"&&this.axis==="x";if(this.isHorizontal()){const u=this.getPixelForTick(0)-this.left,d=this.right-this.getPixelForTick(this.ticks.length-1);let h=0,p=0;l?c?(h=o*t.width,p=r*n.height):(h=r*t.height,p=o*n.width):i==="start"?p=n.width:i==="end"?h=t.width:i!=="inner"&&(h=t.width/2,p=n.width/2),this.paddingLeft=Math.max((h-u+s)*this.width/(this.width-u),0),this.paddingRight=Math.max((p-d+s)*this.width/(this.width-d),0)}else{let u=n.height/2,d=t.height/2;i==="start"?(u=0,d=t.height):i==="end"&&(u=n.height,d=0),this.paddingTop=u+s,this.paddingBottom=d+s}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){$t(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return n==="top"||n==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let n,r;for(n=0,r=t.length;n<r;n++)Ze(t[n].label)&&(t.splice(n,1),r--,n--);this.afterTickToLabelConversion()}_getLabelSizes(){let t=this._labelSizes;if(!t){const n=this.options.ticks.sampleSize;let r=this.ticks;n<r.length&&(r=FM(r,n)),this._labelSizes=t=this._computeLabelSizes(r,r.length,this.options.ticks.maxTicksLimit)}return t}_computeLabelSizes(t,n,r){const{ctx:o,_longestTextCache:i}=this,s=[],a=[],l=Math.floor(n/OM(n,r));let c=0,u=0,d,h,p,m,g,b,y,v,x,E,_;for(d=0;d<n;d+=l){if(m=t[d].label,g=this._resolveTickFontOptions(d),o.font=b=g.string,y=i[b]=i[b]||{data:{},gc:[]},v=g.lineHeight,x=E=0,!Ze(m)&&!Kt(m))x=bb(o,y.data,y.gc,x,m),E=v;else if(Kt(m))for(h=0,p=m.length;h<p;++h)_=m[h],!Ze(_)&&!Kt(_)&&(x=bb(o,y.data,y.gc,x,_),E+=v);s.push(x),a.push(E),c=Math.max(x,c),u=Math.max(E,u)}Gle(i,n);const S=s.indexOf(c),C=a.indexOf(u),R=N=>({width:s[N]||0,height:a[N]||0});return{first:R(0),last:R(n-1),widest:R(S),highest:R(C),widths:s,heights:a}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return Ase(this._alignToPixels?Ua(this.chart,n,0):n)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&t<n.length){const r=n[t];return r.$context||(r.$context=Kle(this.getContext(),t,r))}return this.$context||(this.$context=Yle(this.chart.getContext(),this))}_tickSize(){const t=this.options.ticks,n=Bo(this.labelRotation),r=Math.abs(Math.cos(n)),o=Math.abs(Math.sin(n)),i=this._getLabelSizes(),s=t.autoSkipPadding||0,a=i?i.widest.width+s:0,l=i?i.highest.height+s:0;return this.isHorizontal()?l*r>a*o?a/r:l/o:l*o<a*r?l/r:a/o}_isVisible(){const t=this.options.display;return t!=="auto"?!!t:this.getMatchingVisibleMetas().length>0}_computeGridLineItems(t){const n=this.axis,r=this.chart,o=this.options,{grid:i,position:s,border:a}=o,l=i.offset,c=this.isHorizontal(),d=this.ticks.length+(l?1:0),h=Hd(i),p=[],m=a.setContext(this.getContext()),g=m.display?m.width:0,b=g/2,y=function(O){return Ua(r,O,g)};let v,x,E,_,S,C,R,N,D,I,P,A;if(s==="top")v=y(this.bottom),C=this.bottom-h,N=v-b,I=y(t.top)+b,A=t.bottom;else if(s==="bottom")v=y(this.top),I=t.top,A=y(t.bottom)-b,C=v+b,N=this.top+h;else if(s==="left")v=y(this.right),S=this.right-h,R=v-b,D=y(t.left)+b,P=t.right;else if(s==="right")v=y(this.left),D=t.left,P=y(t.right)-b,S=v+b,R=this.left+h;else if(n==="x"){if(s==="center")v=y((t.top+t.bottom)/2+.5);else if(dt(s)){const O=Object.keys(s)[0],$=s[O];v=y(this.chart.scales[O].getPixelForValue($))}I=t.top,A=t.bottom,C=v+b,N=C+h}else if(n==="y"){if(s==="center")v=y((t.left+t.right)/2);else if(dt(s)){const O=Object.keys(s)[0],$=s[O];v=y(this.chart.scales[O].getPixelForValue($))}S=v-b,R=S-h,D=t.left,P=t.right}const F=Be(o.ticks.maxTicksLimit,d),T=Math.max(1,Math.ceil(d/F));for(x=0;x<d;x+=T){const O=this.getContext(x),$=i.setContext(O),V=a.setContext(O),z=$.lineWidth,j=$.color,W=V.dash||[],L=V.dashOffset,M=$.tickWidth,H=$.tickColor,B=$.tickBorderDash||[],G=$.tickBorderDashOffset;E=qle(this,x,l),E!==void 0&&(_=Ua(r,E,z),c?S=R=D=P=_:C=N=I=A=_,p.push({tx1:S,ty1:C,tx2:R,ty2:N,x1:D,y1:I,x2:P,y2:A,width:z,color:j,borderDash:W,borderDashOffset:L,tickWidth:M,tickColor:H,tickBorderDash:B,tickBorderDashOffset:G}))}return this._ticksLength=d,this._borderValue=v,p}_computeLabelItems(t){const n=this.axis,r=this.options,{position:o,ticks:i}=r,s=this.isHorizontal(),a=this.ticks,{align:l,crossAlign:c,padding:u,mirror:d}=i,h=Hd(r.grid),p=h+u,m=d?-u:p,g=-Bo(this.labelRotation),b=[];let y,v,x,E,_,S,C,R,N,D,I,P,A="middle";if(o==="top")S=this.bottom-m,C=this._getXAxisLabelAlignment();else if(o==="bottom")S=this.top+m,C=this._getXAxisLabelAlignment();else if(o==="left"){const T=this._getYAxisLabelAlignment(h);C=T.textAlign,_=T.x}else if(o==="right"){const T=this._getYAxisLabelAlignment(h);C=T.textAlign,_=T.x}else if(n==="x"){if(o==="center")S=(t.top+t.bottom)/2+p;else if(dt(o)){const T=Object.keys(o)[0],O=o[T];S=this.chart.scales[T].getPixelForValue(O)+p}C=this._getXAxisLabelAlignment()}else if(n==="y"){if(o==="center")_=(t.left+t.right)/2-p;else if(dt(o)){const T=Object.keys(o)[0],O=o[T];_=this.chart.scales[T].getPixelForValue(O)}C=this._getYAxisLabelAlignment(h).textAlign}n==="y"&&(l==="start"?A="top":l==="end"&&(A="bottom"));const F=this._getLabelSizes();for(y=0,v=a.length;y<v;++y){x=a[y],E=x.label;const T=i.setContext(this.getContext(y));R=this.getPixelForTick(y)+i.labelOffset,N=this._resolveTickFontOptions(y),D=N.lineHeight,I=Kt(E)?E.length:1;const O=I/2,$=T.color,V=T.textStrokeColor,z=T.textStrokeWidth;let j=C;s?(_=R,C==="inner"&&(y===v-1?j=this.options.reverse?"left":"right":y===0?j=this.options.reverse?"right":"left":j="center"),o==="top"?c==="near"||g!==0?P=-I*D+D/2:c==="center"?P=-F.highest.height/2-O*D+D:P=-F.highest.height+D/2:c==="near"||g!==0?P=D/2:c==="center"?P=F.highest.height/2-O*D:P=F.highest.height-I*D,d&&(P*=-1),g!==0&&!T.showLabelBackdrop&&(_+=D/2*Math.sin(g))):(S=R,P=(1-I)*D/2);let W;if(T.showLabelBackdrop){const L=Un(T.backdropPadding),M=F.heights[y],H=F.widths[y];let B=P-L.top,G=0-L.left;switch(A){case"middle":B-=M/2;break;case"bottom":B-=M;break}switch(C){case"center":G-=H/2;break;case"right":G-=H;break;case"inner":y===v-1?G-=H:y>0&&(G-=H/2);break}W={left:G,top:B,width:H+L.width,height:M+L.height,color:T.backdropColor}}b.push({label:E,font:N,textOffset:P,options:{rotation:g,color:$,strokeColor:V,strokeWidth:z,textAlign:j,textBaseline:A,translation:[_,S],backdrop:W}})}return b}_getXAxisLabelAlignment(){const{position:t,ticks:n}=this.options;if(-Bo(this.labelRotation))return t==="top"?"left":"right";let o="center";return n.align==="start"?o="left":n.align==="end"?o="right":n.align==="inner"&&(o="inner"),o}_getYAxisLabelAlignment(t){const{position:n,ticks:{crossAlign:r,mirror:o,padding:i}}=this.options,s=this._getLabelSizes(),a=t+i,l=s.widest.width;let c,u;return n==="left"?o?(u=this.right+i,r==="near"?c="left":r==="center"?(c="center",u+=l/2):(c="right",u+=l)):(u=this.right-a,r==="near"?c="right":r==="center"?(c="center",u-=l/2):(c="left",u=this.left)):n==="right"?o?(u=this.left+i,r==="near"?c="right":r==="center"?(c="center",u-=l/2):(c="left",u-=l)):(u=this.left+a,r==="near"?c="left":r==="center"?(c="center",u+=l/2):(c="right",u=this.right)):c="right",{textAlign:c,x:u}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,n=this.options.position;if(n==="left"||n==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(n==="top"||n==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){const{ctx:t,options:{backgroundColor:n},left:r,top:o,width:i,height:s}=this;n&&(t.save(),t.fillStyle=n,t.fillRect(r,o,i,s),t.restore())}getLineWidthForValue(t){const n=this.options.grid;if(!this._isVisible()||!n.display)return 0;const o=this.ticks.findIndex(i=>i.value===t);return o>=0?n.setContext(this.getContext(o)).lineWidth:0}drawGrid(t){const n=this.options.grid,r=this.ctx,o=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let i,s;const a=(l,c,u)=>{!u.width||!u.color||(r.save(),r.lineWidth=u.width,r.strokeStyle=u.color,r.setLineDash(u.borderDash||[]),r.lineDashOffset=u.borderDashOffset,r.beginPath(),r.moveTo(l.x,l.y),r.lineTo(c.x,c.y),r.stroke(),r.restore())};if(n.display)for(i=0,s=o.length;i<s;++i){const l=o[i];n.drawOnChartArea&&a({x:l.x1,y:l.y1},{x:l.x2,y:l.y2},l),n.drawTicks&&a({x:l.tx1,y:l.ty1},{x:l.tx2,y:l.ty2},{color:l.tickColor,width:l.tickWidth,borderDash:l.tickBorderDash,borderDashOffset:l.tickBorderDashOffset})}}drawBorder(){const{chart:t,ctx:n,options:{border:r,grid:o}}=this,i=r.setContext(this.getContext()),s=r.display?i.width:0;if(!s)return;const a=o.setContext(this.getContext(0)).lineWidth,l=this._borderValue;let c,u,d,h;this.isHorizontal()?(c=Ua(t,this.left,s)-s/2,u=Ua(t,this.right,a)+a/2,d=h=l):(d=Ua(t,this.top,s)-s/2,h=Ua(t,this.bottom,a)+a/2,c=u=l),n.save(),n.lineWidth=i.width,n.strokeStyle=i.color,n.beginPath(),n.moveTo(c,d),n.lineTo(u,h),n.stroke(),n.restore()}drawLabels(t){if(!this.options.ticks.display)return;const r=this.ctx,o=this._computeLabelArea();o&&Sl(r,o);const i=this.getLabelItems(t);for(const s of i){const a=s.options,l=s.font,c=s.label,u=s.textOffset;Gl(r,c,0,u,l,a)}o&&El(r)}drawTitle(){const{ctx:t,options:{position:n,title:r,reverse:o}}=this;if(!r.display)return;const i=En(r.font),s=Un(r.padding),a=r.align;let l=i.lineHeight/2;n==="bottom"||n==="center"||dt(n)?(l+=s.bottom,Kt(r.text)&&(l+=i.lineHeight*(r.text.length-1))):l+=s.top;const{titleX:c,titleY:u,maxWidth:d,rotation:h}=Qle(this,l,n,a);Gl(t,r.text,0,0,i,{color:r.color,maxWidth:d,rotation:h,textAlign:Xle(a,n,o),textBaseline:"middle",translation:[c,u]})}draw(t){this._isVisible()&&(this.drawBackground(),this.drawGrid(t),this.drawBorder(),this.drawTitle(),this.drawLabels(t))}_layers(){const t=this.options,n=t.ticks&&t.ticks.z||0,r=Be(t.grid&&t.grid.z,-1),o=Be(t.border&&t.border.z,0);return!this._isVisible()||this.draw!==Ta.prototype.draw?[{z:n,draw:i=>{this.draw(i)}}]:[{z:r,draw:i=>{this.drawBackground(),this.drawGrid(i),this.drawTitle()}},{z:o,draw:()=>{this.drawBorder()}},{z:n,draw:i=>{this.drawLabels(i)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),r=this.axis+"AxisID",o=[];let i,s;for(i=0,s=n.length;i<s;++i){const a=n[i];a[r]===this.id&&(!t||a.type===t)&&o.push(a)}return o}_resolveTickFontOptions(t){const n=this.options.ticks.setContext(this.getContext(t));return En(n.font)}_maxDigits(){const t=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/t}}class Dm{constructor(t,n,r){this.type=t,this.scope=n,this.override=r,this.items=Object.create(null)}isForType(t){return Object.prototype.isPrototypeOf.call(this.type.prototype,t.prototype)}register(t){const n=Object.getPrototypeOf(t);let r;ece(n)&&(r=this.register(n));const o=this.items,i=t.id,s=this.scope+"."+i;if(!i)throw new Error("class does not have id: "+t);return i in o||(o[i]=t,Zle(t,s,r),this.override&&Qt.override(t.id,t.overrides)),s}get(t){return this.items[t]}unregister(t){const n=this.items,r=t.id,o=this.scope;r in n&&delete n[r],o&&r in Qt[o]&&(delete Qt[o][r],this.override&&delete ql[r])}}function Zle(e,t,n){const r=kn(Object.create(null),[n?Qt.get(n):{},Qt.get(t),e.defaults]);Qt.set(t,r),e.defaultRoutes&&Jle(t,e.defaultRoutes),e.descriptors&&Qt.describe(t,e.descriptors)}function Jle(e,t){Object.keys(t).forEach(n=>{const r=n.split("."),o=r.pop(),i=[e].concat(r).join("."),s=t[n].split("."),a=s.pop(),l=s.join(".");Qt.route(i,o,l,a)})}function ece(e){return"id"in e&&"defaults"in e}class tce{constructor(){this.controllers=new Dm(Eo,"datasets",!0),this.elements=new Dm(zi,"elements"),this.plugins=new Dm(Object,"plugins"),this.scales=new Dm(Ta,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,n,r){[...n].forEach(o=>{const i=r||this._getRegistryForType(o);r||i.isForType(o)||i===this.plugins&&o.id?this._exec(t,i,o):It(o,s=>{const a=r||this._getRegistryForType(s);this._exec(t,a,s)})})}_exec(t,n,r){const o=Z2(t);$t(r["before"+o],[],r),n[t](r),$t(r["after"+o],[],r)}_getRegistryForType(t){for(let n=0;n<this._typedRegistries.length;n++){const r=this._typedRegistries[n];if(r.isForType(t))return r}return this.plugins}_get(t,n,r){const o=n.get(t);if(o===void 0)throw new Error('"'+t+'" is not a registered '+r+".");return o}}var wn=new tce;class nce{constructor(){this._init=[]}notify(t,n,r,o){n==="beforeInit"&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install"));const i=o?this._descriptors(t).filter(o):this._descriptors(t),s=this._notify(i,t,n,r);return n==="afterDestroy"&&(this._notify(i,t,"stop"),this._notify(this._init,t,"uninstall")),s}_notify(t,n,r,o){o=o||{};for(const i of t){const s=i.plugin,a=s[r],l=[n,o,i.options];if($t(a,l,s)===!1&&o.cancelable)return!1}return!0}invalidate(){Ze(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;const n=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),n}_createDescriptors(t,n){const r=t&&t.config,o=Be(r.options&&r.options.plugins,{}),i=rce(r);return o===!1&&!n?[]:ice(t,i,o,n)}_notifyStateChanges(t){const n=this._oldCache||[],r=this._cache,o=(i,s)=>i.filter(a=>!s.some(l=>a.plugin.id===l.plugin.id));this._notify(o(n,r),t,"stop"),this._notify(o(r,n),t,"start")}}function rce(e){const t={},n=[],r=Object.keys(wn.plugins.items);for(let i=0;i<r.length;i++)n.push(wn.getPlugin(r[i]));const o=e.plugins||[];for(let i=0;i<o.length;i++){const s=o[i];n.indexOf(s)===-1&&(n.push(s),t[s.id]=!0)}return{plugins:n,localIds:t}}function oce(e,t){return!t&&e===!1?null:e===!0?{}:e}function ice(e,{plugins:t,localIds:n},r,o){const i=[],s=e.getContext();for(const a of t){const l=a.id,c=oce(r[l],o);c!==null&&i.push({plugin:a,options:sce(e.config,{plugin:a,local:n[l]},c,s)})}return i}function sce(e,{plugin:t,local:n},r,o){const i=e.pluginScopeKeys(t),s=e.getOptionScopes(r,i);return n&&t.defaults&&s.push(t.defaults),e.createResolver(s,o,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function gC(e,t){const n=Qt.datasets[e]||{};return((t.datasets||{})[e]||{}).indexAxis||t.indexAxis||n.indexAxis||"x"}function ace(e,t){let n=e;return e==="_index_"?n=t:e==="_value_"&&(n=t==="x"?"y":"x"),n}function lce(e,t){return e===t?"_index_":"_value_"}function $M(e){if(e==="x"||e==="y"||e==="r")return e}function cce(e){if(e==="top"||e==="bottom")return"x";if(e==="left"||e==="right")return"y"}function bC(e,...t){if($M(e))return e;for(const n of t){const r=n.axis||cce(n.position)||e.length>1&&$M(e[0].toLowerCase());if(r)return r}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function zM(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function uce(e,t){if(t.data&&t.data.datasets){const n=t.data.datasets.filter(r=>r.xAxisID===e||r.yAxisID===e);if(n.length)return zM(e,"x",n[0])||zM(e,"y",n[0])}return{}}function dce(e,t){const n=ql[e.type]||{scales:{}},r=t.scales||{},o=gC(e.type,t),i=Object.create(null);return Object.keys(r).forEach(s=>{const a=r[s];if(!dt(a))return console.error(`Invalid scale configuration for scale: ${s}`);if(a._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${s}`);const l=bC(s,a,uce(s,e),Qt.scales[a.type]),c=lce(l,o),u=n.scales||{};i[s]=Ef(Object.create(null),[{axis:l},a,u[l],u[c]])}),e.data.datasets.forEach(s=>{const a=s.type||e.type,l=s.indexAxis||gC(a,t),u=(ql[a]||{}).scales||{};Object.keys(u).forEach(d=>{const h=ace(d,l),p=s[h+"AxisID"]||h;i[p]=i[p]||Object.create(null),Ef(i[p],[{axis:h},r[p],u[d]])})}),Object.keys(i).forEach(s=>{const a=i[s];Ef(a,[Qt.scales[a.type],Qt.scale])}),i}function e$(e){const t=e.options||(e.options={});t.plugins=Be(t.plugins,{}),t.scales=dce(e,t)}function t$(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function fce(e){return e=e||{},e.data=t$(e.data),e$(e),e}const BM=new Map,n$=new Set;function Mm(e,t){let n=BM.get(e);return n||(n=t(),BM.set(e,n),n$.add(n)),n}const Wd=(e,t,n)=>{const r=ma(t,n);r!==void 0&&e.add(r)};class hce{constructor(t){this._config=fce(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=t$(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),e$(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Mm(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,n){return Mm(`${t}.transition.${n}`,()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,n){return Mm(`${t}-${n}`,()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]])}pluginScopeKeys(t){const n=t.id,r=this.type;return Mm(`${r}-plugin-${n}`,()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,n){const r=this._scopeCache;let o=r.get(t);return(!o||n)&&(o=new Map,r.set(t,o)),o}getOptionScopes(t,n,r){const{options:o,type:i}=this,s=this._cachedScopes(t,r),a=s.get(n);if(a)return a;const l=new Set;n.forEach(u=>{t&&(l.add(t),u.forEach(d=>Wd(l,t,d))),u.forEach(d=>Wd(l,o,d)),u.forEach(d=>Wd(l,ql[i]||{},d)),u.forEach(d=>Wd(l,Qt,d)),u.forEach(d=>Wd(l,pC,d))});const c=Array.from(l);return c.length===0&&c.push(Object.create(null)),n$.has(n)&&s.set(n,c),c}chartOptionScopes(){const{options:t,type:n}=this;return[t,ql[n]||{},Qt.datasets[n]||{},{type:n},Qt,pC]}resolveNamedOptions(t,n,r,o=[""]){const i={$shared:!0},{resolver:s,subPrefixes:a}=VM(this._resolverCache,t,o);let l=s;if(mce(s,n)){i.$shared=!1,r=ga(r)?r():r;const c=this.createResolver(t,r,a);l=Vu(s,r,c)}for(const c of n)i[c]=l[c];return i}createResolver(t,n,r=[""],o){const{resolver:i}=VM(this._resolverCache,t,r);return dt(n)?Vu(i,n,void 0,o):i}}function VM(e,t,n){let r=e.get(t);r||(r=new Map,e.set(t,r));const o=n.join();let i=r.get(o);return i||(i={resolver:o_(t,n),subPrefixes:n.filter(a=>!a.toLowerCase().includes("hover"))},r.set(o,i)),i}const pce=e=>dt(e)&&Object.getOwnPropertyNames(e).some(t=>ga(e[t]));function mce(e,t){const{isScriptable:n,isIndexable:r}=AL(e);for(const o of t){const i=n(o),s=r(o),a=(s||i)&&e[o];if(i&&(ga(a)||pce(a))||s&&Kt(a))return!0}return!1}var gce="4.4.8";const bce=["top","bottom","left","right","chartArea"];function HM(e,t){return e==="top"||e==="bottom"||bce.indexOf(e)===-1&&t==="x"}function WM(e,t){return function(n,r){return n[e]===r[e]?n[t]-r[t]:n[e]-r[e]}}function UM(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),$t(n&&n.onComplete,[e],t)}function yce(e){const t=e.chart,n=t.options.animation;$t(n&&n.onProgress,[e],t)}function r$(e){return a_()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const Ig={},qM=e=>{const t=r$(e);return Object.values(Ig).filter(n=>n.canvas===t).pop()};function vce(e,t,n){const r=Object.keys(e);for(const o of r){const i=+o;if(i>=t){const s=e[o];delete e[o],(n>0||i>t)&&(e[i+n]=s)}}}function xce(e,t,n,r){return!n||e.type==="mouseout"?null:r?t:e}function Pm(e,t,n){return e.options.clip?e[n]:t[n]}function wce(e,t){const{xScale:n,yScale:r}=e;return n&&r?{left:Pm(n,t,"left"),right:Pm(n,t,"right"),top:Pm(r,t,"top"),bottom:Pm(r,t,"bottom")}:t}class Vt{static register(...t){wn.add(...t),GM()}static unregister(...t){wn.remove(...t),GM()}constructor(t,n){const r=this.config=new hce(n),o=r$(t),i=qM(o);if(i)throw new Error("Canvas is already in use. Chart with ID '"+i.id+"' must be destroyed before the canvas with ID '"+i.canvas.id+"' can be reused.");const s=r.createResolver(r.chartOptionScopes(),this.getContext());this.platform=new(r.platform||Lle(o)),this.platform.updateConfig(r);const a=this.platform.acquireContext(o,s.aspectRatio),l=a&&a.canvas,c=l&&l.height,u=l&&l.width;if(this.id=Cse(),this.ctx=a,this.canvas=l,this.width=u,this.height=c,this._options=s,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new nce,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=$se(d=>this.update(d),s.resizeDelay||0),this._dataChanges=[],Ig[this.id]=this,!a||!l){console.error("Failed to create chart: can't acquire context from the given item");return}Xi.listen(this,"complete",UM),Xi.listen(this,"progress",yce),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:r,height:o,_aspectRatio:i}=this;return Ze(t)?n&&i?i:o?r/o:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return wn}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():mM(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return fM(this.canvas,this.ctx),this}stop(){return Xi.stop(this),this}resize(t,n){Xi.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const r=this.options,o=this.canvas,i=r.maintainAspectRatio&&this.aspectRatio,s=this.platform.getMaximumSize(o,t,n,i),a=r.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=s.width,this.height=s.height,this._aspectRatio=this.aspectRatio,mM(this,a,!0)&&(this.notifyPlugins("resize",{size:s}),$t(r.onResize,[this,s],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){const n=this.options.scales||{};It(n,(r,o)=>{r.id=o})}buildOrUpdateScales(){const t=this.options,n=t.scales,r=this.scales,o=Object.keys(r).reduce((s,a)=>(s[a]=!1,s),{});let i=[];n&&(i=i.concat(Object.keys(n).map(s=>{const a=n[s],l=bC(s,a),c=l==="r",u=l==="x";return{options:a,dposition:c?"chartArea":u?"bottom":"left",dtype:c?"radialLinear":u?"category":"linear"}}))),It(i,s=>{const a=s.options,l=a.id,c=bC(l,a),u=Be(a.type,s.dtype);(a.position===void 0||HM(a.position,c)!==HM(s.dposition))&&(a.position=s.dposition),o[l]=!0;let d=null;if(l in r&&r[l].type===u)d=r[l];else{const h=wn.getScale(u);d=new h({id:l,type:u,ctx:this.ctx,chart:this}),r[d.id]=d}d.init(a,t)}),It(o,(s,a)=>{s||delete r[a]}),It(r,s=>{er.configure(this,s,s.options),er.addBox(this,s)})}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,r=t.length;if(t.sort((o,i)=>o.index-i.index),r>n){for(let o=n;o<r;++o)this._destroyDatasetMeta(o);t.splice(n,r-n)}this._sortedMetasets=t.slice(0).sort(WM("order","index"))}_removeUnreferencedMetasets(){const{_metasets:t,data:{datasets:n}}=this;t.length>n.length&&delete this._stacks,t.forEach((r,o)=>{n.filter(i=>i===r._dataset).length===0&&this._destroyDatasetMeta(o)})}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let r,o;for(this._removeUnreferencedMetasets(),r=0,o=n.length;r<o;r++){const i=n[r];let s=this.getDatasetMeta(r);const a=i.type||this.config.type;if(s.type&&s.type!==a&&(this._destroyDatasetMeta(r),s=this.getDatasetMeta(r)),s.type=a,s.indexAxis=i.indexAxis||gC(a,this.options),s.order=i.order||0,s.index=r,s.label=""+i.label,s.visible=this.isDatasetVisible(r),s.controller)s.controller.updateIndex(r),s.controller.linkScales();else{const l=wn.getController(a),{datasetElementType:c,dataElementType:u}=Qt.datasets[a];Object.assign(l,{dataElementType:wn.getElement(u),datasetElementType:c&&wn.getElement(c)}),s.controller=new l(this,r),t.push(s.controller)}}return this._updateMetasets(),t}_resetElements(){It(this.data.datasets,(t,n)=>{this.getDatasetMeta(n).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const r=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),o=this._animationsDisabled=!r.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const i=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let s=0;for(let c=0,u=this.data.datasets.length;c<u;c++){const{controller:d}=this.getDatasetMeta(c),h=!o&&i.indexOf(d)===-1;d.buildOrUpdateElements(h),s=Math.max(+d.getMaxOverflow(),s)}s=this._minPadding=r.layout.autoPadding?s:0,this._updateLayout(s),o||It(i,c=>{c.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(WM("z","_idx"));const{_active:a,_lastEvent:l}=this;l?this._eventHandler(l,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){It(this.scales,t=>{er.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),r=new Set(t.events);(!rM(n,r)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:r,start:o,count:i}of n){const s=r==="_removeElements"?-i:i;vce(t,o,s)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,r=i=>new Set(t.filter(s=>s[0]===i).map((s,a)=>a+","+s.splice(1).join(","))),o=r(0);for(let i=1;i<n;i++)if(!rM(o,r(i)))return;return Array.from(o).map(i=>i.split(",")).map(i=>({method:i[1],start:+i[2],count:+i[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;er.update(this,this.width,this.height,t);const n=this.chartArea,r=n.width<=0||n.height<=0;this._layers=[],It(this.boxes,o=>{r&&o.position==="chartArea"||(o.configure&&o.configure(),this._layers.push(...o._layers()))},this),this._layers.forEach((o,i)=>{o._idx=i}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let n=0,r=this.data.datasets.length;n<r;++n)this.getDatasetMeta(n).controller.configure();for(let n=0,r=this.data.datasets.length;n<r;++n)this._updateDataset(n,ga(t)?t({datasetIndex:n}):t);this.notifyPlugins("afterDatasetsUpdate",{mode:t})}}_updateDataset(t,n){const r=this.getDatasetMeta(t),o={meta:r,index:t,mode:n,cancelable:!0};this.notifyPlugins("beforeDatasetUpdate",o)!==!1&&(r.controller._update(n),o.cancelable=!1,this.notifyPlugins("afterDatasetUpdate",o))}render(){this.notifyPlugins("beforeRender",{cancelable:!0})!==!1&&(Xi.has(this)?this.attached&&!Xi.running(this)&&Xi.start(this):(this.draw(),UM({chart:this})))}draw(){let t;if(this._resizeBeforeDraw){const{width:r,height:o}=this._resizeBeforeDraw;this._resizeBeforeDraw=null,this._resize(r,o)}if(this.clear(),this.width<=0||this.height<=0||this.notifyPlugins("beforeDraw",{cancelable:!0})===!1)return;const n=this._layers;for(t=0;t<n.length&&n[t].z<=0;++t)n[t].draw(this.chartArea);for(this._drawDatasets();t<n.length;++t)n[t].draw(this.chartArea);this.notifyPlugins("afterDraw")}_getSortedDatasetMetas(t){const n=this._sortedMetasets,r=[];let o,i;for(o=0,i=n.length;o<i;++o){const s=n[o];(!t||s.visible)&&r.push(s)}return r}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(this.notifyPlugins("beforeDatasetsDraw",{cancelable:!0})===!1)return;const t=this.getSortedVisibleDatasetMetas();for(let n=t.length-1;n>=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,r=t._clip,o=!r.disabled,i=wce(t,this.chartArea),s={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",s)!==!1&&(o&&Sl(n,{left:r.left===!1?0:i.left-r.left,right:r.right===!1?this.width:i.right+r.right,top:r.top===!1?0:i.top-r.top,bottom:r.bottom===!1?this.height:i.bottom+r.bottom}),t.controller.draw(),o&&El(n),s.cancelable=!1,this.notifyPlugins("afterDatasetDraw",s))}isPointInArea(t){return us(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,r,o){const i=ble.modes[n];return typeof i=="function"?i(this,t,r,o):[]}getDatasetMeta(t){const n=this.data.datasets[t],r=this._metasets;let o=r.filter(i=>i&&i._dataset===n).pop();return o||(o={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},r.push(o)),o}getContext(){return this.$context||(this.$context=ja(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const r=this.getDatasetMeta(t);return typeof r.hidden=="boolean"?!r.hidden:!n.hidden}setDatasetVisibility(t,n){const r=this.getDatasetMeta(t);r.hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,r){const o=r?"show":"hide",i=this.getDatasetMeta(t),s=i.controller._resolveAnimations(void 0,o);ch(n)?(i.data[n].hidden=!r,this.update()):(this.setDatasetVisibility(t,r),s.update(i,{visible:r}),this.update(a=>a.datasetIndex===t?o:void 0))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),Xi.remove(this),t=0,n=this.data.datasets.length;t<n;++t)this._destroyDatasetMeta(t)}destroy(){this.notifyPlugins("beforeDestroy");const{canvas:t,ctx:n}=this;this._stop(),this.config.clearCache(),t&&(this.unbindEvents(),fM(t,n),this.platform.releaseContext(n),this.canvas=null,this.ctx=null),delete Ig[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(...t){return this.canvas.toDataURL(...t)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){const t=this._listeners,n=this.platform,r=(i,s)=>{n.addEventListener(this,i,s),t[i]=s},o=(i,s,a)=>{i.offsetX=s,i.offsetY=a,this._eventHandler(i)};It(this.options.events,i=>r(i,o))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,r=(l,c)=>{n.addEventListener(this,l,c),t[l]=c},o=(l,c)=>{t[l]&&(n.removeEventListener(this,l,c),delete t[l])},i=(l,c)=>{this.canvas&&this.resize(l,c)};let s;const a=()=>{o("attach",a),this.attached=!0,this.resize(),r("resize",i),r("detach",s)};s=()=>{this.attached=!1,o("resize",i),this._stop(),this._resize(0,0),r("attach",a)},n.isAttached(this.canvas)?a():s()}unbindEvents(){It(this._listeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._listeners={},It(this._responsiveListeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,n,r){const o=r?"set":"remove";let i,s,a,l;for(n==="dataset"&&(i=this.getDatasetMeta(t[0].datasetIndex),i.controller["_"+o+"DatasetHoverStyle"]()),a=0,l=t.length;a<l;++a){s=t[a];const c=s&&this.getDatasetMeta(s.datasetIndex).controller;c&&c[o+"HoverStyle"](s.element,s.datasetIndex,s.index)}}getActiveElements(){return this._active||[]}setActiveElements(t){const n=this._active||[],r=t.map(({datasetIndex:i,index:s})=>{const a=this.getDatasetMeta(i);if(!a)throw new Error("No dataset found at index "+i);return{datasetIndex:i,element:a.data[s],index:s}});!pb(r,n)&&(this._active=r,this._lastEvent=null,this._updateHoverStyles(r,n))}notifyPlugins(t,n,r){return this._plugins.notify(this,t,n,r)}isPluginEnabled(t){return this._plugins._cache.filter(n=>n.plugin.id===t).length===1}_updateHoverStyles(t,n,r){const o=this.options.hover,i=(l,c)=>l.filter(u=>!c.some(d=>u.datasetIndex===d.datasetIndex&&u.index===d.index)),s=i(n,t),a=r?t:i(t,n);s.length&&this.updateHoverStyle(s,o.mode,!1),a.length&&o.mode&&this.updateHoverStyle(a,o.mode,!0)}_eventHandler(t,n){const r={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},o=s=>(s.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",r,o)===!1)return;const i=this._handleEvent(t,n,r.inChartArea);return r.cancelable=!1,this.notifyPlugins("afterEvent",r,o),(i||r.changed)&&this.render(),this}_handleEvent(t,n,r){const{_active:o=[],options:i}=this,s=n,a=this._getActiveElements(t,o,r,s),l=Nse(t),c=xce(t,this._lastEvent,r,l);r&&(this._lastEvent=null,$t(i.onHover,[t,a,this],this),l&&$t(i.onClick,[t,a,this],this));const u=!pb(a,o);return(u||n)&&(this._active=a,this._updateHoverStyles(a,o,n)),this._lastEvent=c,u}_getActiveElements(t,n,r,o){if(t.type==="mouseout")return[];if(!r)return n;const i=this.options.hover;return this.getElementsAtEventForMode(t,i.mode,i,o)}}ve(Vt,"defaults",Qt),ve(Vt,"instances",Ig),ve(Vt,"overrides",ql),ve(Vt,"registry",wn),ve(Vt,"version",gce),ve(Vt,"getChart",qM);function GM(){return It(Vt.instances,e=>e._plugins.invalidate())}function Cce(e,t,n){const{startAngle:r,pixelMargin:o,x:i,y:s,outerRadius:a,innerRadius:l}=t;let c=o/a;e.beginPath(),e.arc(i,s,a,r-c,n+c),l>o?(c=o/l,e.arc(i,s,l,n+c,r-c,!0)):e.arc(i,s,o,n+pn,r-pn),e.closePath(),e.clip()}function Sce(e){return r_(e,["outerStart","outerEnd","innerStart","innerEnd"])}function Ece(e,t,n,r){const o=Sce(e.options.borderRadius),i=(n-t)/2,s=Math.min(i,r*t/2),a=l=>{const c=(n-Math.min(i,l))*r/2;return An(l,0,Math.min(i,c))};return{outerStart:a(o.outerStart),outerEnd:a(o.outerEnd),innerStart:An(o.innerStart,0,s),innerEnd:An(o.innerEnd,0,s)}}function Ic(e,t,n,r){return{x:n+e*Math.cos(t),y:r+e*Math.sin(t)}}function wb(e,t,n,r,o,i){const{x:s,y:a,startAngle:l,pixelMargin:c,innerRadius:u}=t,d=Math.max(t.outerRadius+r+n-c,0),h=u>0?u+r+n+c:0;let p=0;const m=o-l;if(r){const T=u>0?u-r:0,O=d>0?d-r:0,$=(T+O)/2,V=$!==0?m*$/($+r):m;p=(m-V)/2}const g=Math.max(.001,m*d-n/Zt)/d,b=(m-g)/2,y=l+b+p,v=o-b-p,{outerStart:x,outerEnd:E,innerStart:_,innerEnd:S}=Ece(t,h,d,v-y),C=d-x,R=d-E,N=y+x/C,D=v-E/R,I=h+_,P=h+S,A=y+_/I,F=v-S/P;if(e.beginPath(),i){const T=(N+D)/2;if(e.arc(s,a,d,N,T),e.arc(s,a,d,T,D),E>0){const z=Ic(R,D,s,a);e.arc(z.x,z.y,E,D,v+pn)}const O=Ic(P,v,s,a);if(e.lineTo(O.x,O.y),S>0){const z=Ic(P,F,s,a);e.arc(z.x,z.y,S,v+pn,F+Math.PI)}const $=(v-S/h+(y+_/h))/2;if(e.arc(s,a,h,v-S/h,$,!0),e.arc(s,a,h,$,y+_/h,!0),_>0){const z=Ic(I,A,s,a);e.arc(z.x,z.y,_,A+Math.PI,y-pn)}const V=Ic(C,y,s,a);if(e.lineTo(V.x,V.y),x>0){const z=Ic(C,N,s,a);e.arc(z.x,z.y,x,y-pn,N)}}else{e.moveTo(s,a);const T=Math.cos(N)*d+s,O=Math.sin(N)*d+a;e.lineTo(T,O);const $=Math.cos(D)*d+s,V=Math.sin(D)*d+a;e.lineTo($,V)}e.closePath()}function _ce(e,t,n,r,o){const{fullCircles:i,startAngle:s,circumference:a}=t;let l=t.endAngle;if(i){wb(e,t,n,r,l,o);for(let c=0;c<i;++c)e.fill();isNaN(a)||(l=s+(a%Xt||Xt))}return wb(e,t,n,r,l,o),e.fill(),l}function kce(e,t,n,r,o){const{fullCircles:i,startAngle:s,circumference:a,options:l}=t,{borderWidth:c,borderJoinStyle:u,borderDash:d,borderDashOffset:h}=l,p=l.borderAlign==="inner";if(!c)return;e.setLineDash(d||[]),e.lineDashOffset=h,p?(e.lineWidth=c*2,e.lineJoin=u||"round"):(e.lineWidth=c,e.lineJoin=u||"bevel");let m=t.endAngle;if(i){wb(e,t,n,r,m,o);for(let g=0;g<i;++g)e.stroke();isNaN(a)||(m=s+(a%Xt||Xt))}p&&Cce(e,t,m),i||(wb(e,t,n,r,m,o),e.stroke())}class Gc extends zi{constructor(n){super();ve(this,"circumference");ve(this,"endAngle");ve(this,"fullCircles");ve(this,"innerRadius");ve(this,"outerRadius");ve(this,"pixelMargin");ve(this,"startAngle");this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,n&&Object.assign(this,n)}inRange(n,r,o){const i=this.getProps(["x","y"],o),{angle:s,distance:a}=_L(i,{x:n,y:r}),{startAngle:l,endAngle:c,innerRadius:u,outerRadius:d,circumference:h}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],o),p=(this.options.spacing+this.options.borderWidth)/2,m=Be(h,c-l),g=uh(s,l,c)&&l!==c,b=m>=Xt||g,y=ls(a,u+p,d+p);return b&&y}getCenterPoint(n){const{x:r,y:o,startAngle:i,endAngle:s,innerRadius:a,outerRadius:l}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],n),{offset:c,spacing:u}=this.options,d=(i+s)/2,h=(a+l+u+c)/2;return{x:r+Math.cos(d)*h,y:o+Math.sin(d)*h}}tooltipPosition(n){return this.getCenterPoint(n)}draw(n){const{options:r,circumference:o}=this,i=(r.offset||0)/4,s=(r.spacing||0)/2,a=r.circular;if(this.pixelMargin=r.borderAlign==="inner"?.33:0,this.fullCircles=o>Xt?Math.floor(o/Xt):0,o===0||this.innerRadius<0||this.outerRadius<0)return;n.save();const l=(this.startAngle+this.endAngle)/2;n.translate(Math.cos(l)*i,Math.sin(l)*i);const c=1-Math.sin(Math.min(Zt,o||0)),u=i*c;n.fillStyle=r.backgroundColor,n.strokeStyle=r.borderColor,_ce(n,this,u,s,a),kce(n,this,u,s,a),n.restore()}}ve(Gc,"id","arc"),ve(Gc,"defaults",{borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0}),ve(Gc,"defaultRoutes",{backgroundColor:"backgroundColor"}),ve(Gc,"descriptors",{_scriptable:!0,_indexable:n=>n!=="borderDash"});function o$(e,t,n=t){e.lineCap=Be(n.borderCapStyle,t.borderCapStyle),e.setLineDash(Be(n.borderDash,t.borderDash)),e.lineDashOffset=Be(n.borderDashOffset,t.borderDashOffset),e.lineJoin=Be(n.borderJoinStyle,t.borderJoinStyle),e.lineWidth=Be(n.borderWidth,t.borderWidth),e.strokeStyle=Be(n.borderColor,t.borderColor)}function Rce(e,t,n){e.lineTo(n.x,n.y)}function Nce(e){return e.stepped?Qse:e.tension||e.cubicInterpolationMode==="monotone"?Zse:Rce}function i$(e,t,n={}){const r=e.length,{start:o=0,end:i=r-1}=n,{start:s,end:a}=t,l=Math.max(o,s),c=Math.min(i,a),u=o<s&&i<s||o>a&&i>a;return{count:r,start:l,loop:t.loop,ilen:c<l&&!u?r+c-l:c-l}}function Dce(e,t,n,r){const{points:o,options:i}=t,{count:s,start:a,loop:l,ilen:c}=i$(o,n,r),u=Nce(i);let{move:d=!0,reverse:h}=r||{},p,m,g;for(p=0;p<=c;++p)m=o[(a+(h?c-p:p))%s],!m.skip&&(d?(e.moveTo(m.x,m.y),d=!1):u(e,g,m,h,i.stepped),g=m);return l&&(m=o[(a+(h?c:0))%s],u(e,g,m,h,i.stepped)),!!l}function Mce(e,t,n,r){const o=t.points,{count:i,start:s,ilen:a}=i$(o,n,r),{move:l=!0,reverse:c}=r||{};let u=0,d=0,h,p,m,g,b,y;const v=E=>(s+(c?a-E:E))%i,x=()=>{g!==b&&(e.lineTo(u,b),e.lineTo(u,g),e.lineTo(u,y))};for(l&&(p=o[v(0)],e.moveTo(p.x,p.y)),h=0;h<=a;++h){if(p=o[v(h)],p.skip)continue;const E=p.x,_=p.y,S=E|0;S===m?(_<g?g=_:_>b&&(b=_),u=(d*u+E)/++d):(x(),e.lineTo(E,_),m=S,d=0,g=b=_),y=_}x()}function yC(e){const t=e.options,n=t.borderDash&&t.borderDash.length;return!e._decimated&&!e._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!n?Mce:Dce}function Pce(e){return e.stepped?Mae:e.tension||e.cubicInterpolationMode==="monotone"?Pae:Ja}function Ice(e,t,n,r){let o=t._path;o||(o=t._path=new Path2D,t.path(o,n,r)&&o.closePath()),o$(e,t.options),e.stroke(o)}function jce(e,t,n,r){const{segments:o,options:i}=t,s=yC(t);for(const a of o)o$(e,i,a.style),e.beginPath(),s(e,t,a,{start:n,end:n+r-1})&&e.closePath(),e.stroke()}const Tce=typeof Path2D=="function";function Ace(e,t,n,r){Tce&&!t.options.segment?Ice(e,t,n,r):jce(e,t,n,r)}class ea extends zi{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,n){const r=this.options;if((r.tension||r.cubicInterpolationMode==="monotone")&&!r.stepped&&!this._pointsUpdated){const o=r.spanGaps?this._loop:this._fullLoop;Cae(this._points,r,t,o,n),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=Fae(this,this.options.segment))}first(){const t=this.segments,n=this.points;return t.length&&n[t[0].start]}last(){const t=this.segments,n=this.points,r=t.length;return r&&n[t[r-1].end]}interpolate(t,n){const r=this.options,o=t[n],i=this.points,s=UL(this,{property:n,start:o,end:o});if(!s.length)return;const a=[],l=Pce(r);let c,u;for(c=0,u=s.length;c<u;++c){const{start:d,end:h}=s[c],p=i[d],m=i[h];if(p===m){a.push(p);continue}const g=Math.abs((o-p[n])/(m[n]-p[n])),b=l(p,m,g,r.stepped);b[n]=t[n],a.push(b)}return a.length===1?a[0]:a}pathSegment(t,n,r){return yC(this)(t,this,n,r)}path(t,n,r){const o=this.segments,i=yC(this);let s=this._loop;n=n||0,r=r||this.points.length-n;for(const a of o)s&=i(t,this,a,{start:n,end:n+r-1});return!!s}draw(t,n,r,o){const i=this.options||{};(this.points||[]).length&&i.borderWidth&&(t.save(),Ace(t,this,r,o),t.restore()),this.animated&&(this._pointsUpdated=!1,this._path=void 0)}}ve(ea,"id","line"),ve(ea,"defaults",{borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0}),ve(ea,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"}),ve(ea,"descriptors",{_scriptable:!0,_indexable:t=>t!=="borderDash"&&t!=="fill"});function YM(e,t,n,r){const o=e.options,{[n]:i}=e.getProps([n],r);return Math.abs(t-i)<o.radius+o.hitRadius}class Nl extends zi{constructor(n){super();ve(this,"parsed");ve(this,"skip");ve(this,"stop");this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,n&&Object.assign(this,n)}inRange(n,r,o){const i=this.options,{x:s,y:a}=this.getProps(["x","y"],o);return Math.pow(n-s,2)+Math.pow(r-a,2)<Math.pow(i.hitRadius+i.radius,2)}inXRange(n,r){return YM(this,n,"x",r)}inYRange(n,r){return YM(this,n,"y",r)}getCenterPoint(n){const{x:r,y:o}=this.getProps(["x","y"],n);return{x:r,y:o}}size(n){n=n||this.options||{};let r=n.radius||0;r=Math.max(r,r&&n.hoverRadius||0);const o=r&&n.borderWidth||0;return(r+o)*2}draw(n,r){const o=this.options;this.skip||o.radius<.1||!us(this,r,this.size(o)/2)||(n.strokeStyle=o.borderColor,n.lineWidth=o.borderWidth,n.fillStyle=o.backgroundColor,yb(n,o,this.x,this.y))}getRange(){const n=this.options||{};return n.radius+n.hitRadius}}ve(Nl,"id","point"),ve(Nl,"defaults",{borderWidth:1,hitRadius:1,hoverBorderWidth:1,hoverRadius:4,pointStyle:"circle",radius:3,rotation:0}),ve(Nl,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});function s$(e,t){const{x:n,y:r,base:o,width:i,height:s}=e.getProps(["x","y","base","width","height"],t);let a,l,c,u,d;return e.horizontal?(d=s/2,a=Math.min(n,o),l=Math.max(n,o),c=r-d,u=r+d):(d=i/2,a=n-d,l=n+d,c=Math.min(r,o),u=Math.max(r,o)),{left:a,top:c,right:l,bottom:u}}function ta(e,t,n,r){return e?0:An(t,n,r)}function Oce(e,t,n){const r=e.options.borderWidth,o=e.borderSkipped,i=TL(r);return{t:ta(o.top,i.top,0,n),r:ta(o.right,i.right,0,t),b:ta(o.bottom,i.bottom,0,n),l:ta(o.left,i.left,0,t)}}function Fce(e,t,n){const{enableBorderRadius:r}=e.getProps(["enableBorderRadius"]),o=e.options.borderRadius,i=_l(o),s=Math.min(t,n),a=e.borderSkipped,l=r||dt(o);return{topLeft:ta(!l||a.top||a.left,i.topLeft,0,s),topRight:ta(!l||a.top||a.right,i.topRight,0,s),bottomLeft:ta(!l||a.bottom||a.left,i.bottomLeft,0,s),bottomRight:ta(!l||a.bottom||a.right,i.bottomRight,0,s)}}function Lce(e){const t=s$(e),n=t.right-t.left,r=t.bottom-t.top,o=Oce(e,n/2,r/2),i=Fce(e,n/2,r/2);return{outer:{x:t.left,y:t.top,w:n,h:r,radius:i},inner:{x:t.left+o.l,y:t.top+o.t,w:n-o.l-o.r,h:r-o.t-o.b,radius:{topLeft:Math.max(0,i.topLeft-Math.max(o.t,o.l)),topRight:Math.max(0,i.topRight-Math.max(o.t,o.r)),bottomLeft:Math.max(0,i.bottomLeft-Math.max(o.b,o.l)),bottomRight:Math.max(0,i.bottomRight-Math.max(o.b,o.r))}}}}function _x(e,t,n,r){const o=t===null,i=n===null,a=e&&!(o&&i)&&s$(e,r);return a&&(o||ls(t,a.left,a.right))&&(i||ls(n,a.top,a.bottom))}function $ce(e){return e.topLeft||e.topRight||e.bottomLeft||e.bottomRight}function zce(e,t){e.rect(t.x,t.y,t.w,t.h)}function kx(e,t,n={}){const r=e.x!==n.x?-t:0,o=e.y!==n.y?-t:0,i=(e.x+e.w!==n.x+n.w?t:0)-r,s=(e.y+e.h!==n.y+n.h?t:0)-o;return{x:e.x+r,y:e.y+o,w:e.w+i,h:e.h+s,radius:e.radius}}class xi extends zi{constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:n,options:{borderColor:r,backgroundColor:o}}=this,{inner:i,outer:s}=Lce(this),a=$ce(s.radius)?dh:zce;t.save(),(s.w!==i.w||s.h!==i.h)&&(t.beginPath(),a(t,kx(s,n,i)),t.clip(),a(t,kx(i,-n,s)),t.fillStyle=r,t.fill("evenodd")),t.beginPath(),a(t,kx(i,n)),t.fillStyle=o,t.fill(),t.restore()}inRange(t,n,r){return _x(this,t,n,r)}inXRange(t,n){return _x(this,t,null,n)}inYRange(t,n){return _x(this,null,t,n)}getCenterPoint(t){const{x:n,y:r,base:o,horizontal:i}=this.getProps(["x","y","base","horizontal"],t);return{x:i?(n+o)/2:n,y:i?r:(r+o)/2}}getRange(t){return t==="x"?this.width/2:this.height/2}}ve(xi,"id","bar"),ve(xi,"defaults",{borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0}),ve(xi,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});var Bce=Object.freeze({__proto__:null,ArcElement:Gc,BarElement:xi,LineElement:ea,PointElement:Nl});const vC=["rgb(54, 162, 235)","rgb(255, 99, 132)","rgb(255, 159, 64)","rgb(255, 205, 86)","rgb(75, 192, 192)","rgb(153, 102, 255)","rgb(201, 203, 207)"],KM=vC.map(e=>e.replace("rgb(","rgba(").replace(")",", 0.5)"));function a$(e){return vC[e%vC.length]}function l$(e){return KM[e%KM.length]}function Vce(e,t){return e.borderColor=a$(t),e.backgroundColor=l$(t),++t}function Hce(e,t){return e.backgroundColor=e.data.map(()=>a$(t++)),t}function Wce(e,t){return e.backgroundColor=e.data.map(()=>l$(t++)),t}function Uce(e){let t=0;return(n,r)=>{const o=e.getDatasetMeta(r).controller;o instanceof al?t=Hce(n,t):o instanceof Nf?t=Wce(n,t):o&&(t=Vce(n,t))}}function XM(e){let t;for(t in e)if(e[t].borderColor||e[t].backgroundColor)return!0;return!1}function qce(e){return e&&(e.borderColor||e.backgroundColor)}function Gce(){return Qt.borderColor!=="rgba(0,0,0,0.1)"||Qt.backgroundColor!=="rgba(0,0,0,0.1)"}var Yce={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(e,t,n){if(!n.enabled)return;const{data:{datasets:r},options:o}=e.config,{elements:i}=o,s=XM(r)||qce(o)||i&&XM(i)||Gce();if(!n.forceOverride&&s)return;const a=Uce(e);r.forEach(a)}};function Kce(e,t,n,r,o){const i=o.samples||r;if(i>=n)return e.slice(t,t+n);const s=[],a=(n-2)/(i-2);let l=0;const c=t+n-1;let u=t,d,h,p,m,g;for(s[l++]=e[u],d=0;d<i-2;d++){let b=0,y=0,v;const x=Math.floor((d+1)*a)+1+t,E=Math.min(Math.floor((d+2)*a)+1,n)+t,_=E-x;for(v=x;v<E;v++)b+=e[v].x,y+=e[v].y;b/=_,y/=_;const S=Math.floor(d*a)+1+t,C=Math.min(Math.floor((d+1)*a)+1,n)+t,{x:R,y:N}=e[u];for(p=m=-1,v=S;v<C;v++)m=.5*Math.abs((R-b)*(e[v].y-N)-(R-e[v].x)*(y-N)),m>p&&(p=m,h=e[v],g=v);s[l++]=h,u=g}return s[l++]=e[c],s}function Xce(e,t,n,r){let o=0,i=0,s,a,l,c,u,d,h,p,m,g;const b=[],y=t+n-1,v=e[t].x,E=e[y].x-v;for(s=t;s<t+n;++s){a=e[s],l=(a.x-v)/E*r,c=a.y;const _=l|0;if(_===u)c<m?(m=c,d=s):c>g&&(g=c,h=s),o=(i*o+a.x)/++i;else{const S=s-1;if(!Ze(d)&&!Ze(h)){const C=Math.min(d,h),R=Math.max(d,h);C!==p&&C!==S&&b.push({...e[C],x:o}),R!==p&&R!==S&&b.push({...e[R],x:o})}s>0&&S!==p&&b.push(e[S]),b.push(a),u=_,i=0,m=g=c,d=h=p=s}}return b}function c$(e){if(e._decimated){const t=e._data;delete e._decimated,delete e._data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,writable:!0,value:t})}}function QM(e){e.data.datasets.forEach(t=>{c$(t)})}function Qce(e,t){const n=t.length;let r=0,o;const{iScale:i}=e,{min:s,max:a,minDefined:l,maxDefined:c}=i.getUserBounds();return l&&(r=An(cs(t,i.axis,s).lo,0,n-1)),c?o=An(cs(t,i.axis,a).hi+1,r,n)-r:o=n-r,{start:r,count:o}}var Zce={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(e,t,n)=>{if(!n.enabled){QM(e);return}const r=e.width;e.data.datasets.forEach((o,i)=>{const{_data:s,indexAxis:a}=o,l=e.getDatasetMeta(i),c=s||o.data;if(Yt([a,e.options.indexAxis])==="y"||!l.controller.supportsDecimation)return;const u=e.scales[l.xAxisID];if(u.type!=="linear"&&u.type!=="time"||e.options.parsing)return;let{start:d,count:h}=Qce(l,c);const p=n.threshold||4*r;if(h<=p){c$(o);return}Ze(s)&&(o._data=c,delete o.data,Object.defineProperty(o,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(g){this._data=g}}));let m;switch(n.algorithm){case"lttb":m=Kce(c,d,h,r,n);break;case"min-max":m=Xce(c,d,h,r);break;default:throw new Error(`Unsupported decimation algorithm '${n.algorithm}'`)}o._decimated=m})},destroy(e){QM(e)}};function Jce(e,t,n){const r=e.segments,o=e.points,i=t.points,s=[];for(const a of r){let{start:l,end:c}=a;c=u_(l,c,o);const u=xC(n,o[l],o[c],a.loop);if(!t.segments){s.push({source:a,target:u,start:o[l],end:o[c]});continue}const d=UL(t,u);for(const h of d){const p=xC(n,i[h.start],i[h.end],h.loop),m=WL(a,o,p);for(const g of m)s.push({source:g,target:h,start:{[n]:ZM(u,p,"start",Math.max)},end:{[n]:ZM(u,p,"end",Math.min)}})}}return s}function xC(e,t,n,r){if(r)return;let o=t[e],i=n[e];return e==="angle"&&(o=Jr(o),i=Jr(i)),{property:e,start:o,end:i}}function eue(e,t){const{x:n=null,y:r=null}=e||{},o=t.points,i=[];return t.segments.forEach(({start:s,end:a})=>{a=u_(s,a,o);const l=o[s],c=o[a];r!==null?(i.push({x:l.x,y:r}),i.push({x:c.x,y:r})):n!==null&&(i.push({x:n,y:l.y}),i.push({x:n,y:c.y}))}),i}function u_(e,t,n){for(;t>e;t--){const r=n[t];if(!isNaN(r.x)&&!isNaN(r.y))break}return t}function ZM(e,t,n,r){return e&&t?r(e[n],t[n]):e?e[n]:t?t[n]:0}function u$(e,t){let n=[],r=!1;return Kt(e)?(r=!0,n=e):n=eue(e,t),n.length?new ea({points:n,options:{tension:0},_loop:r,_fullLoop:r}):null}function JM(e){return e&&e.fill!==!1}function tue(e,t,n){let o=e[t].fill;const i=[t];let s;if(!n)return o;for(;o!==!1&&i.indexOf(o)===-1;){if(!dn(o))return o;if(s=e[o],!s)return!1;if(s.visible)return o;i.push(o),o=s.fill}return!1}function nue(e,t,n){const r=sue(e);if(dt(r))return isNaN(r.value)?!1:r;let o=parseFloat(r);return dn(o)&&Math.floor(o)===o?rue(r[0],t,o,n):["origin","start","end","stack","shape"].indexOf(r)>=0&&r}function rue(e,t,n,r){return(e==="-"||e==="+")&&(n=t+n),n===t||n<0||n>=r?!1:n}function oue(e,t){let n=null;return e==="start"?n=t.bottom:e==="end"?n=t.top:dt(e)?n=t.getPixelForValue(e.value):t.getBasePixel&&(n=t.getBasePixel()),n}function iue(e,t,n){let r;return e==="start"?r=n:e==="end"?r=t.options.reverse?t.min:t.max:dt(e)?r=e.value:r=t.getBaseValue(),r}function sue(e){const t=e.options,n=t.fill;let r=Be(n&&n.target,n);return r===void 0&&(r=!!t.backgroundColor),r===!1||r===null?!1:r===!0?"origin":r}function aue(e){const{scale:t,index:n,line:r}=e,o=[],i=r.segments,s=r.points,a=lue(t,n);a.push(u$({x:null,y:t.bottom},r));for(let l=0;l<i.length;l++){const c=i[l];for(let u=c.start;u<=c.end;u++)cue(o,s[u],a)}return new ea({points:o,options:{}})}function lue(e,t){const n=[],r=e.getMatchingVisibleMetas("line");for(let o=0;o<r.length;o++){const i=r[o];if(i.index===t)break;i.hidden||n.unshift(i.dataset)}return n}function cue(e,t,n){const r=[];for(let o=0;o<n.length;o++){const i=n[o],{first:s,last:a,point:l}=uue(i,t,"x");if(!(!l||s&&a)){if(s)r.unshift(l);else if(e.push(l),!a)break}}e.push(...r)}function uue(e,t,n){const r=e.interpolate(t,n);if(!r)return{};const o=r[n],i=e.segments,s=e.points;let a=!1,l=!1;for(let c=0;c<i.length;c++){const u=i[c],d=s[u.start][n],h=s[u.end][n];if(ls(o,d,h)){a=o===d,l=o===h;break}}return{first:a,last:l,point:r}}class d${constructor(t){this.x=t.x,this.y=t.y,this.radius=t.radius}pathSegment(t,n,r){const{x:o,y:i,radius:s}=this;return n=n||{start:0,end:Xt},t.arc(o,i,s,n.end,n.start,!0),!r.bounds}interpolate(t){const{x:n,y:r,radius:o}=this,i=t.angle;return{x:n+Math.cos(i)*o,y:r+Math.sin(i)*o,angle:i}}}function due(e){const{chart:t,fill:n,line:r}=e;if(dn(n))return fue(t,n);if(n==="stack")return aue(e);if(n==="shape")return!0;const o=hue(e);return o instanceof d$?o:u$(o,r)}function fue(e,t){const n=e.getDatasetMeta(t);return n&&e.isDatasetVisible(t)?n.dataset:null}function hue(e){return(e.scale||{}).getPointPositionForValue?mue(e):pue(e)}function pue(e){const{scale:t={},fill:n}=e,r=oue(n,t);if(dn(r)){const o=t.isHorizontal();return{x:o?r:null,y:o?null:r}}return null}function mue(e){const{scale:t,fill:n}=e,r=t.options,o=t.getLabels().length,i=r.reverse?t.max:t.min,s=iue(n,t,i),a=[];if(r.grid.circular){const l=t.getPointPositionForValue(0,i);return new d$({x:l.x,y:l.y,radius:t.getDistanceFromCenterForValue(s)})}for(let l=0;l<o;++l)a.push(t.getPointPositionForValue(l,s));return a}function Rx(e,t,n){const r=due(t),{line:o,scale:i,axis:s}=t,a=o.options,l=a.fill,c=a.backgroundColor,{above:u=c,below:d=c}=l||{};r&&o.points.length&&(Sl(e,n),gue(e,{line:o,target:r,above:u,below:d,area:n,scale:i,axis:s}),El(e))}function gue(e,t){const{line:n,target:r,above:o,below:i,area:s,scale:a}=t,l=n._loop?"angle":t.axis;e.save(),l==="x"&&i!==o&&(eP(e,r,s.top),tP(e,{line:n,target:r,color:o,scale:a,property:l}),e.restore(),e.save(),eP(e,r,s.bottom)),tP(e,{line:n,target:r,color:i,scale:a,property:l}),e.restore()}function eP(e,t,n){const{segments:r,points:o}=t;let i=!0,s=!1;e.beginPath();for(const a of r){const{start:l,end:c}=a,u=o[l],d=o[u_(l,c,o)];i?(e.moveTo(u.x,u.y),i=!1):(e.lineTo(u.x,n),e.lineTo(u.x,u.y)),s=!!t.pathSegment(e,a,{move:s}),s?e.closePath():e.lineTo(d.x,n)}e.lineTo(t.first().x,n),e.closePath(),e.clip()}function tP(e,t){const{line:n,target:r,property:o,color:i,scale:s}=t,a=Jce(n,r,o);for(const{source:l,target:c,start:u,end:d}of a){const{style:{backgroundColor:h=i}={}}=l,p=r!==!0;e.save(),e.fillStyle=h,bue(e,s,p&&xC(o,u,d)),e.beginPath();const m=!!n.pathSegment(e,l);let g;if(p){m?e.closePath():nP(e,r,d,o);const b=!!r.pathSegment(e,c,{move:m,reverse:!0});g=m&&b,g||nP(e,r,u,o)}e.closePath(),e.fill(g?"evenodd":"nonzero"),e.restore()}}function bue(e,t,n){const{top:r,bottom:o}=t.chart.chartArea,{property:i,start:s,end:a}=n||{};i==="x"&&(e.beginPath(),e.rect(s,r,a-s,o-r),e.clip())}function nP(e,t,n,r){const o=t.interpolate(n,r);o&&e.lineTo(o.x,o.y)}var yue={id:"filler",afterDatasetsUpdate(e,t,n){const r=(e.data.datasets||[]).length,o=[];let i,s,a,l;for(s=0;s<r;++s)i=e.getDatasetMeta(s),a=i.dataset,l=null,a&&a.options&&a instanceof ea&&(l={visible:e.isDatasetVisible(s),index:s,fill:nue(a,s,r),chart:e,axis:i.controller.options.indexAxis,scale:i.vScale,line:a}),i.$filler=l,o.push(l);for(s=0;s<r;++s)l=o[s],!(!l||l.fill===!1)&&(l.fill=tue(o,s,n.propagate))},beforeDraw(e,t,n){const r=n.drawTime==="beforeDraw",o=e.getSortedVisibleDatasetMetas(),i=e.chartArea;for(let s=o.length-1;s>=0;--s){const a=o[s].$filler;a&&(a.line.updateControlPoints(i,a.axis),r&&a.fill&&Rx(e.ctx,a,i))}},beforeDatasetsDraw(e,t,n){if(n.drawTime!=="beforeDatasetsDraw")return;const r=e.getSortedVisibleDatasetMetas();for(let o=r.length-1;o>=0;--o){const i=r[o].$filler;JM(i)&&Rx(e.ctx,i,e.chartArea)}},beforeDatasetDraw(e,t,n){const r=t.meta.$filler;!JM(r)||n.drawTime!=="beforeDatasetDraw"||Rx(e.ctx,r,e.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const rP=(e,t)=>{let{boxHeight:n=t,boxWidth:r=t}=e;return e.usePointStyle&&(n=Math.min(n,t),r=e.pointStyleWidth||Math.min(r,t)),{boxWidth:r,boxHeight:n,itemHeight:Math.max(t,n)}},vue=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class oP extends zi{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n,r){this.maxWidth=t,this.maxHeight=n,this._margins=r,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=$t(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter(r=>t.filter(r,this.chart.data))),t.sort&&(n=n.sort((r,o)=>t.sort(r,o,this.chart.data))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display){this.width=this.height=0;return}const r=t.labels,o=En(r.font),i=o.size,s=this._computeTitleHeight(),{boxWidth:a,itemHeight:l}=rP(r,i);let c,u;n.font=o.string,this.isHorizontal()?(c=this.maxWidth,u=this._fitRows(s,i,a,l)+10):(u=this.maxHeight,c=this._fitCols(s,o,a,l)+10),this.width=Math.min(c,t.maxWidth||this.maxWidth),this.height=Math.min(u,t.maxHeight||this.maxHeight)}_fitRows(t,n,r,o){const{ctx:i,maxWidth:s,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],u=o+a;let d=t;i.textAlign="left",i.textBaseline="middle";let h=-1,p=-u;return this.legendItems.forEach((m,g)=>{const b=r+n/2+i.measureText(m.text).width;(g===0||c[c.length-1]+b+2*a>s)&&(d+=u,c[c.length-(g>0?0:1)]=0,p+=u,h++),l[g]={left:0,top:p,row:h,width:b,height:o},c[c.length-1]+=b+a}),d}_fitCols(t,n,r,o){const{ctx:i,maxHeight:s,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],u=s-t;let d=a,h=0,p=0,m=0,g=0;return this.legendItems.forEach((b,y)=>{const{itemWidth:v,itemHeight:x}=xue(r,n,i,b,o);y>0&&p+x+2*a>u&&(d+=h+a,c.push({width:h,height:p}),m+=h+a,g++,h=p=0),l[y]={left:m,top:p,col:g,width:v,height:x},h=Math.max(h,v),p+=x+a}),d+=h,c.push({width:h,height:p}),d}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:r,labels:{padding:o},rtl:i}}=this,s=au(i,this.left,this.width);if(this.isHorizontal()){let a=0,l=Qn(r,this.left+o,this.right-this.lineWidths[a]);for(const c of n)a!==c.row&&(a=c.row,l=Qn(r,this.left+o,this.right-this.lineWidths[a])),c.top+=this.top+t+o,c.left=s.leftForLtr(s.x(l),c.width),l+=c.width+o}else{let a=0,l=Qn(r,this.top+t+o,this.bottom-this.columnSizes[a].height);for(const c of n)c.col!==a&&(a=c.col,l=Qn(r,this.top+t+o,this.bottom-this.columnSizes[a].height)),c.top=l,c.left+=this.left+o,c.left=s.leftForLtr(s.x(c.left),c.width),l+=c.height+o}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;Sl(t,this),this._draw(),El(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:r,ctx:o}=this,{align:i,labels:s}=t,a=Qt.color,l=au(t.rtl,this.left,this.width),c=En(s.font),{padding:u}=s,d=c.size,h=d/2;let p;this.drawTitle(),o.textAlign=l.textAlign("left"),o.textBaseline="middle",o.lineWidth=.5,o.font=c.string;const{boxWidth:m,boxHeight:g,itemHeight:b}=rP(s,d),y=function(S,C,R){if(isNaN(m)||m<=0||isNaN(g)||g<0)return;o.save();const N=Be(R.lineWidth,1);if(o.fillStyle=Be(R.fillStyle,a),o.lineCap=Be(R.lineCap,"butt"),o.lineDashOffset=Be(R.lineDashOffset,0),o.lineJoin=Be(R.lineJoin,"miter"),o.lineWidth=N,o.strokeStyle=Be(R.strokeStyle,a),o.setLineDash(Be(R.lineDash,[])),s.usePointStyle){const D={radius:g*Math.SQRT2/2,pointStyle:R.pointStyle,rotation:R.rotation,borderWidth:N},I=l.xPlus(S,m/2),P=C+h;jL(o,D,I,P,s.pointStyleWidth&&m)}else{const D=C+Math.max((d-g)/2,0),I=l.leftForLtr(S,m),P=_l(R.borderRadius);o.beginPath(),Object.values(P).some(A=>A!==0)?dh(o,{x:I,y:D,w:m,h:g,radius:P}):o.rect(I,D,m,g),o.fill(),N!==0&&o.stroke()}o.restore()},v=function(S,C,R){Gl(o,R.text,S,C+b/2,c,{strikethrough:R.hidden,textAlign:l.textAlign(R.textAlign)})},x=this.isHorizontal(),E=this._computeTitleHeight();x?p={x:Qn(i,this.left+u,this.right-r[0]),y:this.top+u+E,line:0}:p={x:this.left+u,y:Qn(i,this.top+E+u,this.bottom-n[0].height),line:0},BL(this.ctx,t.textDirection);const _=b+u;this.legendItems.forEach((S,C)=>{o.strokeStyle=S.fontColor,o.fillStyle=S.fontColor;const R=o.measureText(S.text).width,N=l.textAlign(S.textAlign||(S.textAlign=s.textAlign)),D=m+h+R;let I=p.x,P=p.y;l.setWidth(this.width),x?C>0&&I+D+u>this.right&&(P=p.y+=_,p.line++,I=p.x=Qn(i,this.left+u,this.right-r[p.line])):C>0&&P+_>this.bottom&&(I=p.x=I+n[p.line].width+u,p.line++,P=p.y=Qn(i,this.top+E+u,this.bottom-n[p.line].height));const A=l.x(I);if(y(A,P,S),I=zse(N,I+m+h,x?I+D:this.right,t.rtl),v(l.x(I),P,S),x)p.x+=D+u;else if(typeof S.text!="string"){const F=c.lineHeight;p.y+=f$(S,F)+u}else p.y+=_}),VL(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,r=En(n.font),o=Un(n.padding);if(!n.display)return;const i=au(t.rtl,this.left,this.width),s=this.ctx,a=n.position,l=r.size/2,c=o.top+l;let u,d=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),u=this.top+c,d=Qn(t.align,d,this.right-h);else{const m=this.columnSizes.reduce((g,b)=>Math.max(g,b.height),0);u=c+Qn(t.align,this.top,this.bottom-m-t.labels.padding-this._computeTitleHeight())}const p=Qn(a,d,d+h);s.textAlign=i.textAlign(t_(a)),s.textBaseline="middle",s.strokeStyle=n.color,s.fillStyle=n.color,s.font=r.string,Gl(s,n.text,p,u,r)}_computeTitleHeight(){const t=this.options.title,n=En(t.font),r=Un(t.padding);return t.display?n.lineHeight+r.height:0}_getLegendItemAt(t,n){let r,o,i;if(ls(t,this.left,this.right)&&ls(n,this.top,this.bottom)){for(i=this.legendHitBoxes,r=0;r<i.length;++r)if(o=i[r],ls(t,o.left,o.left+o.width)&&ls(n,o.top,o.top+o.height))return this.legendItems[r]}return null}handleEvent(t){const n=this.options;if(!Sue(t.type,n))return;const r=this._getLegendItemAt(t.x,t.y);if(t.type==="mousemove"||t.type==="mouseout"){const o=this._hoveredItem,i=vue(o,r);o&&!i&&$t(n.onLeave,[t,o,this],this),this._hoveredItem=r,r&&!i&&$t(n.onHover,[t,r,this],this)}else r&&$t(n.onClick,[t,r,this],this)}}function xue(e,t,n,r,o){const i=wue(r,e,t,n),s=Cue(o,r,t.lineHeight);return{itemWidth:i,itemHeight:s}}function wue(e,t,n,r){let o=e.text;return o&&typeof o!="string"&&(o=o.reduce((i,s)=>i.length>s.length?i:s)),t+n.size/2+r.measureText(o).width}function Cue(e,t,n){let r=e;return typeof t.text!="string"&&(r=f$(t,n)),r}function f$(e,t){const n=e.text?e.text.length:0;return t*n}function Sue(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var Eue={id:"legend",_element:oP,start(e,t,n){const r=e.legend=new oP({ctx:e.ctx,options:n,chart:e});er.configure(e,r,n),er.addBox(e,r)},stop(e){er.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){const r=e.legend;er.configure(e,r,n),r.options=n},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){const r=t.datasetIndex,o=n.chart;o.isDatasetVisible(r)?(o.hide(r),t.hidden=!0):(o.show(r),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:r,textAlign:o,color:i,useBorderRadius:s,borderRadius:a}}=e.legend.options;return e._getSortedDatasetMetas().map(l=>{const c=l.controller.getStyle(n?0:void 0),u=Un(c.borderWidth);return{text:t[l.index].label,fillStyle:c.backgroundColor,fontColor:i,hidden:!l.visible,lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:(u.width+u.height)/4,strokeStyle:c.borderColor,pointStyle:r||c.pointStyle,rotation:c.rotation,textAlign:o||c.textAlign,borderRadius:s&&(a||c.borderRadius),datasetIndex:l.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};let d_=class extends zi{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n){const r=this.options;if(this.left=0,this.top=0,!r.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=n;const o=Kt(r.text)?r.text.length:1;this._padding=Un(r.padding);const i=o*En(r.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=i:this.width=i}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:n,left:r,bottom:o,right:i,options:s}=this,a=s.align;let l=0,c,u,d;return this.isHorizontal()?(u=Qn(a,r,i),d=n+t,c=i-r):(s.position==="left"?(u=r+t,d=Qn(a,o,n),l=Zt*-.5):(u=i-t,d=Qn(a,n,o),l=Zt*.5),c=o-n),{titleX:u,titleY:d,maxWidth:c,rotation:l}}draw(){const t=this.ctx,n=this.options;if(!n.display)return;const r=En(n.font),i=r.lineHeight/2+this._padding.top,{titleX:s,titleY:a,maxWidth:l,rotation:c}=this._drawArgs(i);Gl(t,n.text,0,0,r,{color:n.color,maxWidth:l,rotation:c,textAlign:t_(n.align),textBaseline:"middle",translation:[s,a]})}};function _ue(e,t){const n=new d_({ctx:e.ctx,options:t,chart:e});er.configure(e,n,t),er.addBox(e,n),e.titleBlock=n}var kue={id:"title",_element:d_,start(e,t,n){_ue(e,n)},stop(e){const t=e.titleBlock;er.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){const r=e.titleBlock;er.configure(e,r,n),r.options=n},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Im=new WeakMap;var Rue={id:"subtitle",start(e,t,n){const r=new d_({ctx:e.ctx,options:n,chart:e});er.configure(e,r,n),er.addBox(e,r),Im.set(e,r)},stop(e){er.removeBox(e,Im.get(e)),Im.delete(e)},beforeUpdate(e,t,n){const r=Im.get(e);er.configure(e,r,n),r.options=n},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const af={average(e){if(!e.length)return!1;let t,n,r=new Set,o=0,i=0;for(t=0,n=e.length;t<n;++t){const a=e[t].element;if(a&&a.hasValue()){const l=a.tooltipPosition();r.add(l.x),o+=l.y,++i}}return i===0||r.size===0?!1:{x:[...r].reduce((a,l)=>a+l)/r.size,y:o/i}},nearest(e,t){if(!e.length)return!1;let n=t.x,r=t.y,o=Number.POSITIVE_INFINITY,i,s,a;for(i=0,s=e.length;i<s;++i){const l=e[i].element;if(l&&l.hasValue()){const c=l.getCenterPoint(),u=hC(t,c);u<o&&(o=u,a=l)}}if(a){const l=a.tooltipPosition();n=l.x,r=l.y}return{x:n,y:r}}};function ii(e,t){return t&&(Kt(t)?Array.prototype.push.apply(e,t):e.push(t)),e}function Qi(e){return(typeof e=="string"||e instanceof String)&&e.indexOf(`
511
511
  `)>-1?e.split(`
512
- `):e}function Nue(e,t){const{element:n,datasetIndex:r,index:o}=t,i=e.getDatasetMeta(r).controller,{label:s,value:a}=i.getLabelAndValue(o);return{chart:e,label:s,parsed:i.getParsed(o),raw:e.data.datasets[r].data[o],formattedValue:a,dataset:i.getDataset(),dataIndex:o,datasetIndex:r,element:n}}function iP(e,t){const n=e.chart.ctx,{body:r,footer:o,title:i}=e,{boxWidth:s,boxHeight:a}=t,l=En(t.bodyFont),c=En(t.titleFont),u=En(t.footerFont),d=i.length,h=o.length,p=r.length,m=Un(t.padding);let g=m.height,b=0,y=r.reduce((E,_)=>E+_.before.length+_.lines.length+_.after.length,0);if(y+=e.beforeBody.length+e.afterBody.length,d&&(g+=d*c.lineHeight+(d-1)*t.titleSpacing+t.titleMarginBottom),y){const E=t.displayColors?Math.max(a,l.lineHeight):l.lineHeight;g+=p*E+(y-p)*l.lineHeight+(y-1)*t.bodySpacing}h&&(g+=t.footerMarginTop+h*u.lineHeight+(h-1)*t.footerSpacing);let v=0;const x=function(E){b=Math.max(b,n.measureText(E).width+v)};return n.save(),n.font=c.string,It(e.title,x),n.font=l.string,It(e.beforeBody.concat(e.afterBody),x),v=t.displayColors?s+2+t.boxPadding:0,It(r,E=>{It(E.before,x),It(E.lines,x),It(E.after,x)}),v=0,n.font=u.string,It(e.footer,x),n.restore(),b+=m.width,{width:b,height:g}}function Due(e,t){const{y:n,height:r}=t;return n<r/2?"top":n>e.height-r/2?"bottom":"center"}function Mue(e,t,n,r){const{x:o,width:i}=r,s=n.caretSize+n.caretPadding;if(e==="left"&&o+i+s>t.width||e==="right"&&o-i-s<0)return!0}function Pue(e,t,n,r){const{x:o,width:i}=n,{width:s,chartArea:{left:a,right:l}}=e;let c="center";return r==="center"?c=o<=(a+l)/2?"left":"right":o<=i/2?c="left":o>=s-i/2&&(c="right"),Mue(c,e,t,n)&&(c="center"),c}function sP(e,t,n){const r=n.yAlign||t.yAlign||Due(e,n);return{xAlign:n.xAlign||t.xAlign||Pue(e,t,n,r),yAlign:r}}function Iue(e,t){let{x:n,width:r}=e;return t==="right"?n-=r:t==="center"&&(n-=r/2),n}function jue(e,t,n){let{y:r,height:o}=e;return t==="top"?r+=n:t==="bottom"?r-=o+n:r-=o/2,r}function aP(e,t,n,r){const{caretSize:o,caretPadding:i,cornerRadius:s}=e,{xAlign:a,yAlign:l}=n,c=o+i,{topLeft:u,topRight:d,bottomLeft:h,bottomRight:p}=_l(s);let m=Iue(t,a);const g=jue(t,l,c);return l==="center"?a==="left"?m+=c:a==="right"&&(m-=c):a==="left"?m-=Math.max(u,h)+o:a==="right"&&(m+=Math.max(d,p)+o),{x:An(m,0,r.width-t.width),y:An(g,0,r.height-t.height)}}function jm(e,t,n){const r=Un(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-r.right:e.x+r.left}function lP(e){return ii([],Qi(e))}function Tue(e,t,n){return ja(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function cP(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const h$={beforeTitle:Ui,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,r=n?n.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(r>0&&t.dataIndex<r)return n[t.dataIndex]}return""},afterTitle:Ui,beforeBody:Ui,beforeLabel:Ui,label(e){if(this&&this.options&&this.options.mode==="dataset")return e.label+": "+e.formattedValue||e.formattedValue;let t=e.dataset.label||"";t&&(t+=": ");const n=e.formattedValue;return Ze(n)||(t+=n),t},labelColor(e){const n=e.chart.getDatasetMeta(e.datasetIndex).controller.getStyle(e.dataIndex);return{borderColor:n.borderColor,backgroundColor:n.backgroundColor,borderWidth:n.borderWidth,borderDash:n.borderDash,borderDashOffset:n.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(e){const n=e.chart.getDatasetMeta(e.datasetIndex).controller.getStyle(e.dataIndex);return{pointStyle:n.pointStyle,rotation:n.rotation}},afterLabel:Ui,afterBody:Ui,beforeFooter:Ui,footer:Ui,afterFooter:Ui};function Dr(e,t,n,r){const o=e[t].call(n,r);return typeof o>"u"?h$[t].call(n,r):o}var Yw;let uP=(Yw=class extends zi{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,r=this.options.setContext(this.getContext()),o=r.enabled&&n.options.animation&&r.animations,i=new qL(this.chart,o);return o._cacheable&&(this._cachedAnimations=Object.freeze(i)),i}getContext(){return this.$context||(this.$context=Tue(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:r}=n,o=Dr(r,"beforeTitle",this,t),i=Dr(r,"title",this,t),s=Dr(r,"afterTitle",this,t);let a=[];return a=ii(a,Qi(o)),a=ii(a,Qi(i)),a=ii(a,Qi(s)),a}getBeforeBody(t,n){return lP(Dr(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:r}=n,o=[];return It(t,i=>{const s={before:[],lines:[],after:[]},a=cP(r,i);ii(s.before,Qi(Dr(a,"beforeLabel",this,i))),ii(s.lines,Dr(a,"label",this,i)),ii(s.after,Qi(Dr(a,"afterLabel",this,i))),o.push(s)}),o}getAfterBody(t,n){return lP(Dr(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:r}=n,o=Dr(r,"beforeFooter",this,t),i=Dr(r,"footer",this,t),s=Dr(r,"afterFooter",this,t);let a=[];return a=ii(a,Qi(o)),a=ii(a,Qi(i)),a=ii(a,Qi(s)),a}_createItems(t){const n=this._active,r=this.chart.data,o=[],i=[],s=[];let a=[],l,c;for(l=0,c=n.length;l<c;++l)a.push(Nue(this.chart,n[l]));return t.filter&&(a=a.filter((u,d,h)=>t.filter(u,d,h,r))),t.itemSort&&(a=a.sort((u,d)=>t.itemSort(u,d,r))),It(a,u=>{const d=cP(t.callbacks,u);o.push(Dr(d,"labelColor",this,u)),i.push(Dr(d,"labelPointStyle",this,u)),s.push(Dr(d,"labelTextColor",this,u))}),this.labelColors=o,this.labelPointStyles=i,this.labelTextColors=s,this.dataPoints=a,a}update(t,n){const r=this.options.setContext(this.getContext()),o=this._active;let i,s=[];if(!o.length)this.opacity!==0&&(i={opacity:0});else{const a=af[r.position].call(this,o,this._eventPosition);s=this._createItems(r),this.title=this.getTitle(s,r),this.beforeBody=this.getBeforeBody(s,r),this.body=this.getBody(s,r),this.afterBody=this.getAfterBody(s,r),this.footer=this.getFooter(s,r);const l=this._size=iP(this,r),c=Object.assign({},a,l),u=sP(this.chart,r,c),d=aP(r,c,u,this.chart);this.xAlign=u.xAlign,this.yAlign=u.yAlign,i={opacity:1,x:d.x,y:d.y,width:l.width,height:l.height,caretX:a.x,caretY:a.y}}this._tooltipItems=s,this.$context=void 0,i&&this._resolveAnimations().update(this,i),t&&r.external&&r.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,r,o){const i=this.getCaretPosition(t,r,o);n.lineTo(i.x1,i.y1),n.lineTo(i.x2,i.y2),n.lineTo(i.x3,i.y3)}getCaretPosition(t,n,r){const{xAlign:o,yAlign:i}=this,{caretSize:s,cornerRadius:a}=r,{topLeft:l,topRight:c,bottomLeft:u,bottomRight:d}=_l(a),{x:h,y:p}=t,{width:m,height:g}=n;let b,y,v,x,E,_;return i==="center"?(E=p+g/2,o==="left"?(b=h,y=b-s,x=E+s,_=E-s):(b=h+m,y=b+s,x=E-s,_=E+s),v=b):(o==="left"?y=h+Math.max(l,u)+s:o==="right"?y=h+m-Math.max(c,d)-s:y=this.caretX,i==="top"?(x=p,E=x-s,b=y-s,v=y+s):(x=p+g,E=x+s,b=y+s,v=y-s),_=x),{x1:b,x2:y,x3:v,y1:x,y2:E,y3:_}}drawTitle(t,n,r){const o=this.title,i=o.length;let s,a,l;if(i){const c=au(r.rtl,this.x,this.width);for(t.x=jm(this,r.titleAlign,r),n.textAlign=c.textAlign(r.titleAlign),n.textBaseline="middle",s=En(r.titleFont),a=r.titleSpacing,n.fillStyle=r.titleColor,n.font=s.string,l=0;l<i;++l)n.fillText(o[l],c.x(t.x),t.y+s.lineHeight/2),t.y+=s.lineHeight+a,l+1===i&&(t.y+=r.titleMarginBottom-a)}}_drawColorBox(t,n,r,o,i){const s=this.labelColors[r],a=this.labelPointStyles[r],{boxHeight:l,boxWidth:c}=i,u=En(i.bodyFont),d=jm(this,"left",i),h=o.x(d),p=l<u.lineHeight?(u.lineHeight-l)/2:0,m=n.y+p;if(i.usePointStyle){const g={radius:Math.min(c,l)/2,pointStyle:a.pointStyle,rotation:a.rotation,borderWidth:1},b=o.leftForLtr(h,c)+c/2,y=m+l/2;t.strokeStyle=i.multiKeyBackground,t.fillStyle=i.multiKeyBackground,yb(t,g,b,y),t.strokeStyle=s.borderColor,t.fillStyle=s.backgroundColor,yb(t,g,b,y)}else{t.lineWidth=dt(s.borderWidth)?Math.max(...Object.values(s.borderWidth)):s.borderWidth||1,t.strokeStyle=s.borderColor,t.setLineDash(s.borderDash||[]),t.lineDashOffset=s.borderDashOffset||0;const g=o.leftForLtr(h,c),b=o.leftForLtr(o.xPlus(h,1),c-2),y=_l(s.borderRadius);Object.values(y).some(v=>v!==0)?(t.beginPath(),t.fillStyle=i.multiKeyBackground,dh(t,{x:g,y:m,w:c,h:l,radius:y}),t.fill(),t.stroke(),t.fillStyle=s.backgroundColor,t.beginPath(),dh(t,{x:b,y:m+1,w:c-2,h:l-2,radius:y}),t.fill()):(t.fillStyle=i.multiKeyBackground,t.fillRect(g,m,c,l),t.strokeRect(g,m,c,l),t.fillStyle=s.backgroundColor,t.fillRect(b,m+1,c-2,l-2))}t.fillStyle=this.labelTextColors[r]}drawBody(t,n,r){const{body:o}=this,{bodySpacing:i,bodyAlign:s,displayColors:a,boxHeight:l,boxWidth:c,boxPadding:u}=r,d=En(r.bodyFont);let h=d.lineHeight,p=0;const m=au(r.rtl,this.x,this.width),g=function(R){n.fillText(R,m.x(t.x+p),t.y+h/2),t.y+=h+i},b=m.textAlign(s);let y,v,x,E,_,S,C;for(n.textAlign=s,n.textBaseline="middle",n.font=d.string,t.x=jm(this,b,r),n.fillStyle=r.bodyColor,It(this.beforeBody,g),p=a&&b!=="right"?s==="center"?c/2+u:c+2+u:0,E=0,S=o.length;E<S;++E){for(y=o[E],v=this.labelTextColors[E],n.fillStyle=v,It(y.before,g),x=y.lines,a&&x.length&&(this._drawColorBox(n,t,E,m,r),h=Math.max(d.lineHeight,l)),_=0,C=x.length;_<C;++_)g(x[_]),h=d.lineHeight;It(y.after,g)}p=0,h=d.lineHeight,It(this.afterBody,g),t.y-=i}drawFooter(t,n,r){const o=this.footer,i=o.length;let s,a;if(i){const l=au(r.rtl,this.x,this.width);for(t.x=jm(this,r.footerAlign,r),t.y+=r.footerMarginTop,n.textAlign=l.textAlign(r.footerAlign),n.textBaseline="middle",s=En(r.footerFont),n.fillStyle=r.footerColor,n.font=s.string,a=0;a<i;++a)n.fillText(o[a],l.x(t.x),t.y+s.lineHeight/2),t.y+=s.lineHeight+r.footerSpacing}}drawBackground(t,n,r,o){const{xAlign:i,yAlign:s}=this,{x:a,y:l}=t,{width:c,height:u}=r,{topLeft:d,topRight:h,bottomLeft:p,bottomRight:m}=_l(o.cornerRadius);n.fillStyle=o.backgroundColor,n.strokeStyle=o.borderColor,n.lineWidth=o.borderWidth,n.beginPath(),n.moveTo(a+d,l),s==="top"&&this.drawCaret(t,n,r,o),n.lineTo(a+c-h,l),n.quadraticCurveTo(a+c,l,a+c,l+h),s==="center"&&i==="right"&&this.drawCaret(t,n,r,o),n.lineTo(a+c,l+u-m),n.quadraticCurveTo(a+c,l+u,a+c-m,l+u),s==="bottom"&&this.drawCaret(t,n,r,o),n.lineTo(a+p,l+u),n.quadraticCurveTo(a,l+u,a,l+u-p),s==="center"&&i==="left"&&this.drawCaret(t,n,r,o),n.lineTo(a,l+d),n.quadraticCurveTo(a,l,a+d,l),n.closePath(),n.fill(),o.borderWidth>0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,r=this.$animations,o=r&&r.x,i=r&&r.y;if(o||i){const s=af[t.position].call(this,this._active,this._eventPosition);if(!s)return;const a=this._size=iP(this,t),l=Object.assign({},s,this._size),c=sP(n,t,l),u=aP(t,l,c,n);(o._to!==u.x||i._to!==u.y)&&(this.xAlign=c.xAlign,this.yAlign=c.yAlign,this.width=a.width,this.height=a.height,this.caretX=s.x,this.caretY=s.y,this._resolveAnimations().update(this,u))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let r=this.opacity;if(!r)return;this._updateAnimationTarget(n);const o={width:this.width,height:this.height},i={x:this.x,y:this.y};r=Math.abs(r)<.001?0:r;const s=Un(n.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&a&&(t.save(),t.globalAlpha=r,this.drawBackground(i,t,o,n),BL(t,n.textDirection),i.y+=s.top,this.drawTitle(i,t,n),this.drawBody(i,t,n),this.drawFooter(i,t,n),VL(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const r=this._active,o=t.map(({datasetIndex:a,index:l})=>{const c=this.chart.getDatasetMeta(a);if(!c)throw new Error("Cannot find a dataset at index "+a);return{datasetIndex:a,element:c.data[l],index:l}}),i=!pb(r,o),s=this._positionChanged(o,n);(i||s)&&(this._active=o,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,r=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const o=this.options,i=this._active||[],s=this._getActiveElements(t,i,n,r),a=this._positionChanged(s,t),l=n||!pb(s,i)||a;return l&&(this._active=s,(o.enabled||o.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),l}_getActiveElements(t,n,r,o){const i=this.options;if(t.type==="mouseout")return[];if(!o)return n.filter(a=>this.chart.data.datasets[a.datasetIndex]&&this.chart.getDatasetMeta(a.datasetIndex).controller.getParsed(a.index)!==void 0);const s=this.chart.getElementsAtEventForMode(t,i.mode,i,r);return i.reverse&&s.reverse(),s}_positionChanged(t,n){const{caretX:r,caretY:o,options:i}=this,s=af[i.position].call(this,t,n);return s!==!1&&(r!==s.x||o!==s.y)}},ve(Yw,"positioners",af),Yw);var p$={id:"tooltip",_element:uP,positioners:af,afterInit(e,t,n){n&&(e.tooltip=new uP({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:h$},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},Aue=Object.freeze({__proto__:null,Colors:Yce,Decimation:Zce,Filler:yue,Legend:Eue,SubTitle:Rue,Title:kue,Tooltip:p$});const Oue=(e,t,n,r)=>(typeof t=="string"?(n=e.push(t)-1,r.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function Fue(e,t,n,r){const o=e.indexOf(t);if(o===-1)return Oue(e,t,n,r);const i=e.lastIndexOf(t);return o!==i?n:o}const Lue=(e,t)=>e===null?null:An(Math.round(e),0,t);function dP(e){const t=this.getLabels();return e>=0&&e<t.length?t[e]:e}class hh extends Ta{constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const n=this._addedLabels;if(n.length){const r=this.getLabels();for(const{index:o,label:i}of n)r[o]===i&&r.splice(o,1);this._addedLabels=[]}super.init(t)}parse(t,n){if(Ze(t))return null;const r=this.getLabels();return n=isFinite(n)&&r[n]===t?n:Fue(r,t,Be(n,t),this._addedLabels),Lue(n,r.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let{min:r,max:o}=this.getMinMax(!0);this.options.bounds==="ticks"&&(t||(r=0),n||(o=this.getLabels().length-1)),this.min=r,this.max=o}buildTicks(){const t=this.min,n=this.max,r=this.options.offset,o=[];let i=this.getLabels();i=t===0&&n===i.length-1?i:i.slice(t,n+1),this._valueRange=Math.max(i.length-(r?0:1),1),this._startValue=this.min-(r?.5:0);for(let s=t;s<=n;s++)o.push({value:s});return o}getLabelForValue(t){return dP.call(this,t)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(t){return typeof t!="number"&&(t=this.parse(t)),t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}ve(hh,"id","category"),ve(hh,"defaults",{ticks:{callback:dP}});function $ue(e,t){const n=[],{bounds:o,step:i,min:s,max:a,precision:l,count:c,maxTicks:u,maxDigits:d,includeBounds:h}=e,p=i||1,m=u-1,{min:g,max:b}=t,y=!Ze(s),v=!Ze(a),x=!Ze(c),E=(b-g)/(d+1);let _=iM((b-g)/m/p)*p,S,C,R,N;if(_<1e-14&&!y&&!v)return[{value:g},{value:b}];N=Math.ceil(b/_)-Math.floor(g/_),N>m&&(_=iM(N*_/m/p)*p),Ze(l)||(S=Math.pow(10,l),_=Math.ceil(_*S)/S),o==="ticks"?(C=Math.floor(g/_)*_,R=Math.ceil(b/_)*_):(C=g,R=b),y&&v&&i&&jse((a-s)/i,_/1e3)?(N=Math.round(Math.min((a-s)/_,u)),_=(a-s)/N,C=s,R=a):x?(C=y?s:C,R=v?a:R,N=c-1,_=(R-C)/N):(N=(R-C)/_,_f(N,Math.round(N),_/1e3)?N=Math.round(N):N=Math.ceil(N));const D=Math.max(sM(_),sM(C));S=Math.pow(10,Ze(l)?D:l),C=Math.round(C*S)/S,R=Math.round(R*S)/S;let I=0;for(y&&(h&&C!==s?(n.push({value:s}),C<s&&I++,_f(Math.round((C+I*_)*S)/S,s,fP(s,E,e))&&I++):C<s&&I++);I<N;++I){const P=Math.round((C+I*_)*S)/S;if(v&&P>a)break;n.push({value:P})}return v&&h&&R!==a?n.length&&_f(n[n.length-1].value,a,fP(a,E,e))?n[n.length-1].value=a:n.push({value:a}):(!v||R===a)&&n.push({value:R}),n}function fP(e,t,{horizontal:n,minRotation:r}){const o=Bo(r),i=(n?Math.sin(o):Math.cos(o))||.001,s=.75*t*(""+e).length;return Math.min(t/i,s)}class Cb extends Ta{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return Ze(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:r}=this.getUserBounds();let{min:o,max:i}=this;const s=l=>o=n?o:l,a=l=>i=r?i:l;if(t){const l=vi(o),c=vi(i);l<0&&c<0?a(0):l>0&&c>0&&s(0)}if(o===i){let l=i===0?1:Math.abs(i*.05);a(i+l),t||s(o-l)}this.min=o,this.max=i}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:n,stepSize:r}=t,o;return r?(o=Math.ceil(this.max/r)-Math.floor(this.min/r)+1,o>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${r} would result generating up to ${o} ticks. Limiting to 1000.`),o=1e3)):(o=this.computeTickLimit(),n=n||11),n&&(o=Math.min(n,o)),o}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let r=this.getTickLimit();r=Math.max(2,r);const o={maxTicks:r,bounds:t.bounds,min:t.min,max:t.max,precision:n.precision,step:n.stepSize,count:n.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:n.minRotation||0,includeBounds:n.includeBounds!==!1},i=this._range||this,s=$ue(o,i);return t.bounds==="ticks"&&EL(s,this,"value"),t.reverse?(s.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),s}configure(){const t=this.ticks;let n=this.min,r=this.max;if(super.configure(),this.options.offset&&t.length){const o=(r-n)/Math.max(t.length-1,1)/2;n-=o,r+=o}this._startValue=n,this._endValue=r,this._valueRange=r-n}getLabelForValue(t){return Cp(t,this.chart.options.locale,this.options.ticks.format)}}class Yl extends Cb{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=dn(t)?t:0,this.max=dn(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,r=Bo(this.options.ticks.minRotation),o=(t?Math.sin(r):Math.cos(r))||.001,i=this._resolveTickFontOptions(0);return Math.ceil(n/Math.min(40,i.lineHeight/o))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}ve(Yl,"id","linear"),ve(Yl,"defaults",{ticks:{callback:by.formatters.numeric}});const ph=e=>Math.floor(Js(e)),Ga=(e,t)=>Math.pow(10,ph(e)+t);function hP(e){return e/Math.pow(10,ph(e))===1}function pP(e,t,n){const r=Math.pow(10,n),o=Math.floor(e/r);return Math.ceil(t/r)-o}function zue(e,t){const n=t-e;let r=ph(n);for(;pP(e,t,r)>10;)r++;for(;pP(e,t,r)<10;)r--;return Math.min(r,ph(e))}function Bue(e,{min:t,max:n}){t=Qr(e.min,t);const r=[],o=ph(t);let i=zue(t,n),s=i<0?Math.pow(10,Math.abs(i)):1;const a=Math.pow(10,i),l=o>i?Math.pow(10,o):0,c=Math.round((t-l)*s)/s,u=Math.floor((t-l)/a/10)*a*10;let d=Math.floor((c-u)/Math.pow(10,i)),h=Qr(e.min,Math.round((l+u+d*Math.pow(10,i))*s)/s);for(;h<n;)r.push({value:h,major:hP(h),significand:d}),d>=10?d=d<15?15:20:d++,d>=20&&(i++,d=2,s=i>=0?1:s),h=Math.round((l+u+d*Math.pow(10,i))*s)/s;const p=Qr(e.max,h);return r.push({value:p,major:hP(p),significand:d}),r}class Wu extends Ta{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,n){const r=Cb.prototype.parse.apply(this,[t,n]);if(r===0){this._zero=!0;return}return dn(r)&&r>0?r:null}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=dn(t)?Math.max(0,t):null,this.max=dn(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!dn(this._userMin)&&(this.min=t===Ga(this.min,0)?Ga(this.min,-1):Ga(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let r=this.min,o=this.max;const i=a=>r=t?r:a,s=a=>o=n?o:a;r===o&&(r<=0?(i(1),s(10)):(i(Ga(r,-1)),s(Ga(o,1)))),r<=0&&i(Ga(o,-1)),o<=0&&s(Ga(r,1)),this.min=r,this.max=o}buildTicks(){const t=this.options,n={min:this._userMin,max:this._userMax},r=Bue(n,this);return t.bounds==="ticks"&&EL(r,this,"value"),t.reverse?(r.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),r}getLabelForValue(t){return t===void 0?"0":Cp(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=Js(t),this._valueRange=Js(this.max)-Js(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(Js(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const n=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+n*this._valueRange)}}ve(Wu,"id","logarithmic"),ve(Wu,"defaults",{ticks:{callback:by.formatters.logarithmic,major:{enabled:!0}}});function wC(e){const t=e.ticks;if(t.display&&e.display){const n=Un(t.backdropPadding);return Be(t.font&&t.font.size,Qt.font.size)+n.height}return 0}function Vue(e,t,n){return n=Kt(n)?n:[n],{w:Xse(e,t.string,n),h:n.length*t.lineHeight}}function mP(e,t,n,r,o){return e===r||e===o?{start:t-n/2,end:t+n/2}:e<r||e>o?{start:t-n,end:t}:{start:t,end:t+n}}function Hue(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),r=[],o=[],i=e._pointLabels.length,s=e.options.pointLabels,a=s.centerPointLabels?Zt/i:0;for(let l=0;l<i;l++){const c=s.setContext(e.getPointLabelContext(l));o[l]=c.padding;const u=e.getPointPosition(l,e.drawingArea+o[l],a),d=En(c.font),h=Vue(e.ctx,d,e._pointLabels[l]);r[l]=h;const p=Jr(e.getIndexAngle(l)+a),m=Math.round(J2(p)),g=mP(m,u.x,h.w,0,180),b=mP(m,u.y,h.h,90,270);Wue(n,t,p,g,b)}e.setCenterPoint(t.l-n.l,n.r-t.r,t.t-n.t,n.b-t.b),e._pointLabelItems=Gue(e,r,o)}function Wue(e,t,n,r,o){const i=Math.abs(Math.sin(n)),s=Math.abs(Math.cos(n));let a=0,l=0;r.start<t.l?(a=(t.l-r.start)/i,e.l=Math.min(e.l,t.l-a)):r.end>t.r&&(a=(r.end-t.r)/i,e.r=Math.max(e.r,t.r+a)),o.start<t.t?(l=(t.t-o.start)/s,e.t=Math.min(e.t,t.t-l)):o.end>t.b&&(l=(o.end-t.b)/s,e.b=Math.max(e.b,t.b+l))}function Uue(e,t,n){const r=e.drawingArea,{extra:o,additionalAngle:i,padding:s,size:a}=n,l=e.getPointPosition(t,r+o+s,i),c=Math.round(J2(Jr(l.angle+pn))),u=Xue(l.y,a.h,c),d=Yue(c),h=Kue(l.x,a.w,d);return{visible:!0,x:l.x,y:u,textAlign:d,left:h,top:u,right:h+a.w,bottom:u+a.h}}function que(e,t){if(!t)return!0;const{left:n,top:r,right:o,bottom:i}=e;return!(us({x:n,y:r},t)||us({x:n,y:i},t)||us({x:o,y:r},t)||us({x:o,y:i},t))}function Gue(e,t,n){const r=[],o=e._pointLabels.length,i=e.options,{centerPointLabels:s,display:a}=i.pointLabels,l={extra:wC(i)/2,additionalAngle:s?Zt/o:0};let c;for(let u=0;u<o;u++){l.padding=n[u],l.size=t[u];const d=Uue(e,u,l);r.push(d),a==="auto"&&(d.visible=que(d,c),d.visible&&(c=d))}return r}function Yue(e){return e===0||e===180?"center":e<180?"left":"right"}function Kue(e,t,n){return n==="right"?e-=t:n==="center"&&(e-=t/2),e}function Xue(e,t,n){return n===90||n===270?e-=t/2:(n>270||n<90)&&(e-=t),e}function Que(e,t,n){const{left:r,top:o,right:i,bottom:s}=n,{backdropColor:a}=t;if(!Ze(a)){const l=_l(t.borderRadius),c=Un(t.backdropPadding);e.fillStyle=a;const u=r-c.left,d=o-c.top,h=i-r+c.width,p=s-o+c.height;Object.values(l).some(m=>m!==0)?(e.beginPath(),dh(e,{x:u,y:d,w:h,h:p,radius:l}),e.fill()):e.fillRect(u,d,h,p)}}function Zue(e,t){const{ctx:n,options:{pointLabels:r}}=e;for(let o=t-1;o>=0;o--){const i=e._pointLabelItems[o];if(!i.visible)continue;const s=r.setContext(e.getPointLabelContext(o));Que(n,s,i);const a=En(s.font),{x:l,y:c,textAlign:u}=i;Gl(n,e._pointLabels[o],l,c+a.lineHeight/2,a,{color:s.color,textAlign:u,textBaseline:"middle"})}}function m$(e,t,n,r){const{ctx:o}=e;if(n)o.arc(e.xCenter,e.yCenter,t,0,Xt);else{let i=e.getPointPosition(0,t);o.moveTo(i.x,i.y);for(let s=1;s<r;s++)i=e.getPointPosition(s,t),o.lineTo(i.x,i.y)}}function Jue(e,t,n,r,o){const i=e.ctx,s=t.circular,{color:a,lineWidth:l}=t;!s&&!r||!a||!l||n<0||(i.save(),i.strokeStyle=a,i.lineWidth=l,i.setLineDash(o.dash||[]),i.lineDashOffset=o.dashOffset,i.beginPath(),m$(e,n,s,r),i.closePath(),i.stroke(),i.restore())}function ede(e,t,n){return ja(e,{label:n,index:t,type:"pointLabel"})}class lf extends Cb{constructor(t){super(t),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const t=this._padding=Un(wC(this.options)/2),n=this.width=this.maxWidth-t.width,r=this.height=this.maxHeight-t.height;this.xCenter=Math.floor(this.left+n/2+t.left),this.yCenter=Math.floor(this.top+r/2+t.top),this.drawingArea=Math.floor(Math.min(n,r)/2)}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!1);this.min=dn(t)&&!isNaN(t)?t:0,this.max=dn(n)&&!isNaN(n)?n:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/wC(this.options))}generateTickLabels(t){Cb.prototype.generateTickLabels.call(this,t),this._pointLabels=this.getLabels().map((n,r)=>{const o=$t(this.options.pointLabels.callback,[n,r],this);return o||o===0?o:""}).filter((n,r)=>this.chart.getDataVisibility(r))}fit(){const t=this.options;t.display&&t.pointLabels.display?Hue(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,n,r,o){this.xCenter+=Math.floor((t-n)/2),this.yCenter+=Math.floor((r-o)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,n,r,o))}getIndexAngle(t){const n=Xt/(this._pointLabels.length||1),r=this.options.startAngle||0;return Jr(t*n+Bo(r))}getDistanceFromCenterForValue(t){if(Ze(t))return NaN;const n=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*n:(t-this.min)*n}getValueForDistanceFromCenter(t){if(Ze(t))return NaN;const n=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-n:this.min+n}getPointLabelContext(t){const n=this._pointLabels||[];if(t>=0&&t<n.length){const r=n[t];return ede(this.getContext(),t,r)}}getPointPosition(t,n,r=0){const o=this.getIndexAngle(t)-pn+r;return{x:Math.cos(o)*n+this.xCenter,y:Math.sin(o)*n+this.yCenter,angle:o}}getPointPositionForValue(t,n){return this.getPointPosition(t,this.getDistanceFromCenterForValue(n))}getBasePosition(t){return this.getPointPositionForValue(t||0,this.getBaseValue())}getPointLabelPosition(t){const{left:n,top:r,right:o,bottom:i}=this._pointLabelItems[t];return{left:n,top:r,right:o,bottom:i}}drawBackground(){const{backgroundColor:t,grid:{circular:n}}=this.options;if(t){const r=this.ctx;r.save(),r.beginPath(),m$(this,this.getDistanceFromCenterForValue(this._endValue),n,this._pointLabels.length),r.closePath(),r.fillStyle=t,r.fill(),r.restore()}}drawGrid(){const t=this.ctx,n=this.options,{angleLines:r,grid:o,border:i}=n,s=this._pointLabels.length;let a,l,c;if(n.pointLabels.display&&Zue(this,s),o.display&&this.ticks.forEach((u,d)=>{if(d!==0||d===0&&this.min<0){l=this.getDistanceFromCenterForValue(u.value);const h=this.getContext(d),p=o.setContext(h),m=i.setContext(h);Jue(this,p,l,s,m)}}),r.display){for(t.save(),a=s-1;a>=0;a--){const u=r.setContext(this.getPointLabelContext(a)),{color:d,lineWidth:h}=u;!h||!d||(t.lineWidth=h,t.strokeStyle=d,t.setLineDash(u.borderDash),t.lineDashOffset=u.borderDashOffset,l=this.getDistanceFromCenterForValue(n.reverse?this.min:this.max),c=this.getPointPosition(a,l),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(c.x,c.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,n=this.options,r=n.ticks;if(!r.display)return;const o=this.getIndexAngle(0);let i,s;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(o),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((a,l)=>{if(l===0&&this.min>=0&&!n.reverse)return;const c=r.setContext(this.getContext(l)),u=En(c.font);if(i=this.getDistanceFromCenterForValue(this.ticks[l].value),c.showLabelBackdrop){t.font=u.string,s=t.measureText(a.label).width,t.fillStyle=c.backdropColor;const d=Un(c.backdropPadding);t.fillRect(-s/2-d.left,-i-u.size/2-d.top,s+d.width,u.size+d.height)}Gl(t,a.label,0,-i,u,{color:c.color,strokeColor:c.textStrokeColor,strokeWidth:c.textStrokeWidth})}),t.restore()}drawTitle(){}}ve(lf,"id","radialLinear"),ve(lf,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:by.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),ve(lf,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),ve(lf,"descriptors",{angleLines:{_fallback:"grid"}});const xy={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Lr=Object.keys(xy);function gP(e,t){return e-t}function bP(e,t){if(Ze(t))return null;const n=e._adapter,{parser:r,round:o,isoWeekday:i}=e._parseOpts;let s=t;return typeof r=="function"&&(s=r(s)),dn(s)||(s=typeof r=="string"?n.parse(s,r):n.parse(s)),s===null?null:(o&&(s=o==="week"&&(Bu(i)||i===!0)?n.startOf(s,"isoWeek",i):n.startOf(s,o)),+s)}function yP(e,t,n,r){const o=Lr.length;for(let i=Lr.indexOf(e);i<o-1;++i){const s=xy[Lr[i]],a=s.steps?s.steps:Number.MAX_SAFE_INTEGER;if(s.common&&Math.ceil((n-t)/(a*s.size))<=r)return Lr[i]}return Lr[o-1]}function tde(e,t,n,r,o){for(let i=Lr.length-1;i>=Lr.indexOf(n);i--){const s=Lr[i];if(xy[s].common&&e._adapter.diff(o,r,s)>=t-1)return s}return Lr[n?Lr.indexOf(n):0]}function nde(e){for(let t=Lr.indexOf(e)+1,n=Lr.length;t<n;++t)if(xy[Lr[t]].common)return Lr[t]}function vP(e,t,n){if(!n)e[t]=!0;else if(n.length){const{lo:r,hi:o}=e_(n,t),i=n[r]>=t?n[r]:n[o];e[i]=!0}}function rde(e,t,n,r){const o=e._adapter,i=+o.startOf(t[0].value,r),s=t[t.length-1].value;let a,l;for(a=i;a<=s;a=+o.add(a,1,r))l=n[a],l>=0&&(t[l].major=!0);return t}function xP(e,t,n){const r=[],o={},i=t.length;let s,a;for(s=0;s<i;++s)a=t[s],o[a]=s,r.push({value:a,major:!1});return i===0||!n?r:rde(e,r,o,n)}class mh extends Ta{constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,n={}){const r=t.time||(t.time={}),o=this._adapter=new fle._date(t.adapters.date);o.init(n),Ef(r.displayFormats,o.formats()),this._parseOpts={parser:r.parser,round:r.round,isoWeekday:r.isoWeekday},super.init(t),this._normalized=n.normalized}parse(t,n){return t===void 0?null:bP(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,n=this._adapter,r=t.time.unit||"day";let{min:o,max:i,minDefined:s,maxDefined:a}=this.getUserBounds();function l(c){!s&&!isNaN(c.min)&&(o=Math.min(o,c.min)),!a&&!isNaN(c.max)&&(i=Math.max(i,c.max))}(!s||!a)&&(l(this._getLabelBounds()),(t.bounds!=="ticks"||t.ticks.source!=="labels")&&l(this.getMinMax(!1))),o=dn(o)&&!isNaN(o)?o:+n.startOf(Date.now(),r),i=dn(i)&&!isNaN(i)?i:+n.endOf(Date.now(),r)+1,this.min=Math.min(o,i-1),this.max=Math.max(o+1,i)}_getLabelBounds(){const t=this.getLabelTimestamps();let n=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY;return t.length&&(n=t[0],r=t[t.length-1]),{min:n,max:r}}buildTicks(){const t=this.options,n=t.time,r=t.ticks,o=r.source==="labels"?this.getLabelTimestamps():this._generate();t.bounds==="ticks"&&o.length&&(this.min=this._userMin||o[0],this.max=this._userMax||o[o.length-1]);const i=this.min,s=this.max,a=Fse(o,i,s);return this._unit=n.unit||(r.autoSkip?yP(n.minUnit,this.min,this.max,this._getLabelCapacity(i)):tde(this,a.length,n.minUnit,this.min,this.max)),this._majorUnit=!r.major.enabled||this._unit==="year"?void 0:nde(this._unit),this.initOffsets(o),t.reverse&&a.reverse(),xP(this,a,this._majorUnit)}afterAutoSkip(){this.options.offsetAfterAutoskip&&this.initOffsets(this.ticks.map(t=>+t.value))}initOffsets(t=[]){let n=0,r=0,o,i;this.options.offset&&t.length&&(o=this.getDecimalForValue(t[0]),t.length===1?n=1-o:n=(this.getDecimalForValue(t[1])-o)/2,i=this.getDecimalForValue(t[t.length-1]),t.length===1?r=i:r=(i-this.getDecimalForValue(t[t.length-2]))/2);const s=t.length<3?.5:.25;n=An(n,0,s),r=An(r,0,s),this._offsets={start:n,end:r,factor:1/(n+1+r)}}_generate(){const t=this._adapter,n=this.min,r=this.max,o=this.options,i=o.time,s=i.unit||yP(i.minUnit,n,r,this._getLabelCapacity(n)),a=Be(o.ticks.stepSize,1),l=s==="week"?i.isoWeekday:!1,c=Bu(l)||l===!0,u={};let d=n,h,p;if(c&&(d=+t.startOf(d,"isoWeek",l)),d=+t.startOf(d,c?"day":s),t.diff(r,n,s)>1e5*a)throw new Error(n+" and "+r+" are too far apart with stepSize of "+a+" "+s);const m=o.ticks.source==="data"&&this.getDataTimestamps();for(h=d,p=0;h<r;h=+t.add(h,a,s),p++)vP(u,h,m);return(h===r||o.bounds==="ticks"||p===1)&&vP(u,h,m),Object.keys(u).sort(gP).map(g=>+g)}getLabelForValue(t){const n=this._adapter,r=this.options.time;return r.tooltipFormat?n.format(t,r.tooltipFormat):n.format(t,r.displayFormats.datetime)}format(t,n){const o=this.options.time.displayFormats,i=this._unit,s=n||o[i];return this._adapter.format(t,s)}_tickFormatFunction(t,n,r,o){const i=this.options,s=i.ticks.callback;if(s)return $t(s,[t,n,r],this);const a=i.time.displayFormats,l=this._unit,c=this._majorUnit,u=l&&a[l],d=c&&a[c],h=r[n],p=c&&d&&h&&h.major;return this._adapter.format(t,o||(p?d:u))}generateTickLabels(t){let n,r,o;for(n=0,r=t.length;n<r;++n)o=t[n],o.label=this._tickFormatFunction(o.value,n,t)}getDecimalForValue(t){return t===null?NaN:(t-this.min)/(this.max-this.min)}getPixelForValue(t){const n=this._offsets,r=this.getDecimalForValue(t);return this.getPixelForDecimal((n.start+r)*n.factor)}getValueForPixel(t){const n=this._offsets,r=this.getDecimalForPixel(t)/n.factor-n.end;return this.min+r*(this.max-this.min)}_getLabelSize(t){const n=this.options.ticks,r=this.ctx.measureText(t).width,o=Bo(this.isHorizontal()?n.maxRotation:n.minRotation),i=Math.cos(o),s=Math.sin(o),a=this._resolveTickFontOptions(0).size;return{w:r*i+a*s,h:r*s+a*i}}_getLabelCapacity(t){const n=this.options.time,r=n.displayFormats,o=r[n.unit]||r.millisecond,i=this._tickFormatFunction(t,0,xP(this,[t],this._majorUnit),o),s=this._getLabelSize(i),a=Math.floor(this.isHorizontal()?this.width/s.w:this.height/s.h)-1;return a>0?a:1}getDataTimestamps(){let t=this._cache.data||[],n,r;if(t.length)return t;const o=this.getMatchingVisibleMetas();if(this._normalized&&o.length)return this._cache.data=o[0].controller.getAllParsedValues(this);for(n=0,r=o.length;n<r;++n)t=t.concat(o[n].controller.getAllParsedValues(this));return this._cache.data=this.normalize(t)}getLabelTimestamps(){const t=this._cache.labels||[];let n,r;if(t.length)return t;const o=this.getLabels();for(n=0,r=o.length;n<r;++n)t.push(bP(this,o[n]));return this._cache.labels=this._normalized?t:this.normalize(t)}normalize(t){return RL(t.sort(gP))}}ve(mh,"id","time"),ve(mh,"defaults",{bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}});function Tm(e,t,n){let r=0,o=e.length-1,i,s,a,l;n?(t>=e[r].pos&&t<=e[o].pos&&({lo:r,hi:o}=cs(e,"pos",t)),{pos:i,time:a}=e[r],{pos:s,time:l}=e[o]):(t>=e[r].time&&t<=e[o].time&&({lo:r,hi:o}=cs(e,"time",t)),{time:i,pos:a}=e[r],{time:s,pos:l}=e[o]);const c=s-i;return c?a+(l-a)*(t-i)/c:a}class CC extends mh{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=Tm(n,this.min),this._tableRange=Tm(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:r}=this,o=[],i=[];let s,a,l,c,u;for(s=0,a=t.length;s<a;++s)c=t[s],c>=n&&c<=r&&o.push(c);if(o.length<2)return[{time:n,pos:0},{time:r,pos:1}];for(s=0,a=o.length;s<a;++s)u=o[s+1],l=o[s-1],c=o[s],Math.round((u+l)/2)!==c&&i.push({time:c,pos:s/(a-1)});return i}_generate(){const t=this.min,n=this.max;let r=super.getDataTimestamps();return(!r.includes(t)||!r.length)&&r.splice(0,0,t),(!r.includes(n)||r.length===1)&&r.push(n),r.sort((o,i)=>o-i)}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const n=this.getDataTimestamps(),r=this.getLabelTimestamps();return n.length&&r.length?t=this.normalize(n.concat(r)):t=n.length?n:r,t=this._cache.all=t,t}getDecimalForValue(t){return(Tm(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const n=this._offsets,r=this.getDecimalForPixel(t)/n.factor-n.end;return Tm(this._table,r*this._tableRange+this._minPos,!0)}}ve(CC,"id","timeseries"),ve(CC,"defaults",mh.defaults);var ode=Object.freeze({__proto__:null,CategoryScale:hh,LinearScale:Yl,LogarithmicScale:Wu,RadialLinearScale:lf,TimeScale:mh,TimeSeriesScale:CC});const ide=[dle,Bce,Aue,ode];class ba{constructor(){this._partials=new Float64Array(32),this._n=0}add(t){const n=this._partials;let r=0;for(let o=0;o<this._n&&o<32;o++){const i=n[o],s=t+i,a=Math.abs(t)<Math.abs(i)?t-(s-i):i-(s-t);a&&(n[r++]=a),t=s}return n[r]=t,this._n=r+1,this}valueOf(){const t=this._partials;let n=this._n,r,o,i,s=0;if(n>0){for(s=t[--n];n>0&&(r=s,o=t[--n],s=r+o,i=o-(s-r),!i););n>0&&(i<0&&t[n-1]<0||i>0&&t[n-1]>0)&&(o=i*2,r=s+o,o==r-s&&(s=r))}return s}}function*sde(e){for(const t of e)yield*t}function g$(e){return Array.from(sde(e))}function Yc(e,t,n){e=+e,t=+t,n=(o=arguments.length)<2?(t=e,e=0,1):o<3?1:+n;for(var r=-1,o=Math.max(0,Math.ceil((t-e)/n))|0,i=new Array(o);++r<o;)i[r]=e+r*n;return i}var Le=1e-6,b$=1e-12,st=Math.PI,cn=st/2,wP=st/4,lo=st*2,hr=180/st,zt=st/180,vt=Math.abs,gd=Math.atan,Di=Math.atan2,Qe=Math.cos,Am=Math.ceil,y$=Math.exp,Sb=Math.log,Nx=Math.pow,We=Math.sin,Co=Math.sign||function(e){return e>0?1:e<0?-1:0},Cr=Math.sqrt,f_=Math.tan;function v$(e){return e>1?0:e<-1?st:Math.acos(e)}function Do(e){return e>1?cn:e<-1?-cn:Math.asin(e)}function jn(){}function Eb(e,t){e&&SP.hasOwnProperty(e.type)&&SP[e.type](e,t)}var CP={Feature:function(e,t){Eb(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,o=n.length;++r<o;)Eb(n[r].geometry,t)}},SP={Sphere:function(e,t){t.sphere()},Point:function(e,t){e=e.coordinates,t.point(e[0],e[1],e[2])},MultiPoint:function(e,t){for(var n=e.coordinates,r=-1,o=n.length;++r<o;)e=n[r],t.point(e[0],e[1],e[2])},LineString:function(e,t){SC(e.coordinates,t,0)},MultiLineString:function(e,t){for(var n=e.coordinates,r=-1,o=n.length;++r<o;)SC(n[r],t,0)},Polygon:function(e,t){EP(e.coordinates,t)},MultiPolygon:function(e,t){for(var n=e.coordinates,r=-1,o=n.length;++r<o;)EP(n[r],t)},GeometryCollection:function(e,t){for(var n=e.geometries,r=-1,o=n.length;++r<o;)Eb(n[r],t)}};function SC(e,t,n){var r=-1,o=e.length-n,i;for(t.lineStart();++r<o;)i=e[r],t.point(i[0],i[1],i[2]);t.lineEnd()}function EP(e,t){var n=-1,r=e.length;for(t.polygonStart();++n<r;)SC(e[n],t,1);t.polygonEnd()}function nl(e,t){e&&CP.hasOwnProperty(e.type)?CP[e.type](e,t):Eb(e,t)}function EC(e){return[Di(e[1],e[0]),Do(e[2])]}function Uu(e){var t=e[0],n=e[1],r=Qe(n);return[r*Qe(t),r*We(t),We(n)]}function Om(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function _b(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function Dx(e,t){e[0]+=t[0],e[1]+=t[1],e[2]+=t[2]}function Fm(e,t){return[e[0]*t,e[1]*t,e[2]*t]}function _C(e){var t=Cr(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}function kC(e,t){function n(r,o){return r=e(r,o),t(r[0],r[1])}return e.invert&&t.invert&&(n.invert=function(r,o){return r=t.invert(r,o),r&&e.invert(r[0],r[1])}),n}function RC(e,t){return vt(e)>st&&(e-=Math.round(e/lo)*lo),[e,t]}RC.invert=RC;function x$(e,t,n){return(e%=lo)?t||n?kC(kP(e),RP(t,n)):kP(e):t||n?RP(t,n):RC}function _P(e){return function(t,n){return t+=e,vt(t)>st&&(t-=Math.round(t/lo)*lo),[t,n]}}function kP(e){var t=_P(e);return t.invert=_P(-e),t}function RP(e,t){var n=Qe(e),r=We(e),o=Qe(t),i=We(t);function s(a,l){var c=Qe(l),u=Qe(a)*c,d=We(a)*c,h=We(l),p=h*n+u*r;return[Di(d*o-p*i,u*n-h*r),Do(p*o+d*i)]}return s.invert=function(a,l){var c=Qe(l),u=Qe(a)*c,d=We(a)*c,h=We(l),p=h*o-d*i;return[Di(d*o+h*i,u*n+p*r),Do(p*n-u*r)]},s}function ade(e){e=x$(e[0]*zt,e[1]*zt,e.length>2?e[2]*zt:0);function t(n){return n=e(n[0]*zt,n[1]*zt),n[0]*=hr,n[1]*=hr,n}return t.invert=function(n){return n=e.invert(n[0]*zt,n[1]*zt),n[0]*=hr,n[1]*=hr,n},t}function lde(e,t,n,r,o,i){if(n){var s=Qe(t),a=We(t),l=r*n;o==null?(o=t+r*lo,i=t-l/2):(o=NP(s,o),i=NP(s,i),(r>0?o<i:o>i)&&(o+=r*lo));for(var c,u=o;r>0?u>i:u<i;u-=l)c=EC([s,-a*Qe(u),-a*We(u)]),e.point(c[0],c[1])}}function NP(e,t){t=Uu(t),t[0]-=e,_C(t);var n=v$(-t[1]);return((-t[2]<0?-n:n)+lo-Le)%lo}function w$(){var e=[],t;return{point:function(n,r,o){t.push([n,r,o])},lineStart:function(){e.push(t=[])},lineEnd:jn,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}}function jg(e,t){return vt(e[0]-t[0])<Le&&vt(e[1]-t[1])<Le}function Lm(e,t,n,r){this.x=e,this.z=t,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function C$(e,t,n,r,o){var i=[],s=[],a,l;if(e.forEach(function(m){if(!((g=m.length-1)<=0)){var g,b=m[0],y=m[g],v;if(jg(b,y)){if(!b[2]&&!y[2]){for(o.lineStart(),a=0;a<g;++a)o.point((b=m[a])[0],b[1]);o.lineEnd();return}y[0]+=2*Le}i.push(v=new Lm(b,m,null,!0)),s.push(v.o=new Lm(b,null,v,!1)),i.push(v=new Lm(y,m,null,!1)),s.push(v.o=new Lm(y,null,v,!0))}}),!!i.length){for(s.sort(t),DP(i),DP(s),a=0,l=s.length;a<l;++a)s[a].e=n=!n;for(var c=i[0],u,d;;){for(var h=c,p=!0;h.v;)if((h=h.n)===c)return;u=h.z,o.lineStart();do{if(h.v=h.o.v=!0,h.e){if(p)for(a=0,l=u.length;a<l;++a)o.point((d=u[a])[0],d[1]);else r(h.x,h.n.x,1,o);h=h.n}else{if(p)for(u=h.p.z,a=u.length-1;a>=0;--a)o.point((d=u[a])[0],d[1]);else r(h.x,h.p.x,-1,o);h=h.p}h=h.o,u=h.z,p=!p}while(!h.v);o.lineEnd()}}}function DP(e){if(t=e.length){for(var t,n=0,r=e[0],o;++n<t;)r.n=o=e[n],o.p=r,r=o;r.n=o=e[0],o.p=r}}function Mx(e){return vt(e[0])<=st?e[0]:Co(e[0])*((vt(e[0])+st)%lo-st)}function S$(e,t){var n=Mx(t),r=t[1],o=We(r),i=[We(n),-Qe(n),0],s=0,a=0,l=new ba;o===1?r=cn+Le:o===-1&&(r=-cn-Le);for(var c=0,u=e.length;c<u;++c)if(h=(d=e[c]).length)for(var d,h,p=d[h-1],m=Mx(p),g=p[1]/2+wP,b=We(g),y=Qe(g),v=0;v<h;++v,m=E,b=S,y=C,p=x){var x=d[v],E=Mx(x),_=x[1]/2+wP,S=We(_),C=Qe(_),R=E-m,N=R>=0?1:-1,D=N*R,I=D>st,P=b*S;if(l.add(Di(P*N*We(D),y*C+P*Qe(D))),s+=I?R+N*lo:R,I^m>=n^E>=n){var A=_b(Uu(p),Uu(x));_C(A);var F=_b(i,A);_C(F);var T=(I^R>=0?-1:1)*Do(F[2]);(r>T||r===T&&(A[0]||A[1]))&&(a+=I^R>=0?1:-1)}}return(s<-1e-6||s<Le&&l<-1e-12)^a&1}function E$(e,t,n,r){return function(o){var i=t(o),s=w$(),a=t(s),l=!1,c,u,d,h={point:p,lineStart:g,lineEnd:b,polygonStart:function(){h.point=y,h.lineStart=v,h.lineEnd=x,u=[],c=[]},polygonEnd:function(){h.point=p,h.lineStart=g,h.lineEnd=b,u=g$(u);var E=S$(c,r);u.length?(l||(o.polygonStart(),l=!0),C$(u,ude,E,n,o)):E&&(l||(o.polygonStart(),l=!0),o.lineStart(),n(null,null,1,o),o.lineEnd()),l&&(o.polygonEnd(),l=!1),u=c=null},sphere:function(){o.polygonStart(),o.lineStart(),n(null,null,1,o),o.lineEnd(),o.polygonEnd()}};function p(E,_){e(E,_)&&o.point(E,_)}function m(E,_){i.point(E,_)}function g(){h.point=m,i.lineStart()}function b(){h.point=p,i.lineEnd()}function y(E,_){d.push([E,_]),a.point(E,_)}function v(){a.lineStart(),d=[]}function x(){y(d[0][0],d[0][1]),a.lineEnd();var E=a.clean(),_=s.result(),S,C=_.length,R,N,D;if(d.pop(),c.push(d),d=null,!!C){if(E&1){if(N=_[0],(R=N.length-1)>0){for(l||(o.polygonStart(),l=!0),o.lineStart(),S=0;S<R;++S)o.point((D=N[S])[0],D[1]);o.lineEnd()}return}C>1&&E&2&&_.push(_.pop().concat(_.shift())),u.push(_.filter(cde))}}return h}}function cde(e){return e.length>1}function ude(e,t){return((e=e.x)[0]<0?e[1]-cn-Le:cn-e[1])-((t=t.x)[0]<0?t[1]-cn-Le:cn-t[1])}const MP=E$(function(){return!0},dde,hde,[-st,-cn]);function dde(e){var t=NaN,n=NaN,r=NaN,o;return{lineStart:function(){e.lineStart(),o=1},point:function(i,s){var a=i>0?st:-st,l=vt(i-t);vt(l-st)<Le?(e.point(t,n=(n+s)/2>0?cn:-cn),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(a,n),e.point(i,n),o=0):r!==a&&l>=st&&(vt(t-r)<Le&&(t-=r*Le),vt(i-a)<Le&&(i-=a*Le),n=fde(t,n,i,s),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(a,n),o=0),e.point(t=i,n=s),r=a},lineEnd:function(){e.lineEnd(),t=n=NaN},clean:function(){return 2-o}}}function fde(e,t,n,r){var o,i,s=We(e-n);return vt(s)>Le?gd((We(t)*(i=Qe(r))*We(n)-We(r)*(o=Qe(t))*We(e))/(o*i*s)):(t+r)/2}function hde(e,t,n,r){var o;if(e==null)o=n*cn,r.point(-st,o),r.point(0,o),r.point(st,o),r.point(st,0),r.point(st,-o),r.point(0,-o),r.point(-st,-o),r.point(-st,0),r.point(-st,o);else if(vt(e[0]-t[0])>Le){var i=e[0]<t[0]?st:-st;o=n*i/2,r.point(-i,o),r.point(0,o),r.point(i,o)}else r.point(t[0],t[1])}function pde(e){var t=Qe(e),n=2*zt,r=t>0,o=vt(t)>Le;function i(u,d,h,p){lde(p,e,n,h,u,d)}function s(u,d){return Qe(u)*Qe(d)>t}function a(u){var d,h,p,m,g;return{lineStart:function(){m=p=!1,g=1},point:function(b,y){var v=[b,y],x,E=s(b,y),_=r?E?0:c(b,y):E?c(b+(b<0?st:-st),y):0;if(!d&&(m=p=E)&&u.lineStart(),E!==p&&(x=l(d,v),(!x||jg(d,x)||jg(v,x))&&(v[2]=1)),E!==p)g=0,E?(u.lineStart(),x=l(v,d),u.point(x[0],x[1])):(x=l(d,v),u.point(x[0],x[1],2),u.lineEnd()),d=x;else if(o&&d&&r^E){var S;!(_&h)&&(S=l(v,d,!0))&&(g=0,r?(u.lineStart(),u.point(S[0][0],S[0][1]),u.point(S[1][0],S[1][1]),u.lineEnd()):(u.point(S[1][0],S[1][1]),u.lineEnd(),u.lineStart(),u.point(S[0][0],S[0][1],3)))}E&&(!d||!jg(d,v))&&u.point(v[0],v[1]),d=v,p=E,h=_},lineEnd:function(){p&&u.lineEnd(),d=null},clean:function(){return g|(m&&p)<<1}}}function l(u,d,h){var p=Uu(u),m=Uu(d),g=[1,0,0],b=_b(p,m),y=Om(b,b),v=b[0],x=y-v*v;if(!x)return!h&&u;var E=t*y/x,_=-t*v/x,S=_b(g,b),C=Fm(g,E),R=Fm(b,_);Dx(C,R);var N=S,D=Om(C,N),I=Om(N,N),P=D*D-I*(Om(C,C)-1);if(!(P<0)){var A=Cr(P),F=Fm(N,(-D-A)/I);if(Dx(F,C),F=EC(F),!h)return F;var T=u[0],O=d[0],$=u[1],V=d[1],z;O<T&&(z=T,T=O,O=z);var j=O-T,W=vt(j-st)<Le,L=W||j<Le;if(!W&&V<$&&(z=$,$=V,V=z),L?W?$+V>0^F[1]<(vt(F[0]-T)<Le?$:V):$<=F[1]&&F[1]<=V:j>st^(T<=F[0]&&F[0]<=O)){var M=Fm(N,(-D+A)/I);return Dx(M,C),[F,EC(M)]}}}function c(u,d){var h=r?e:st-e,p=0;return u<-h?p|=1:u>h&&(p|=2),d<-h?p|=4:d>h&&(p|=8),p}return E$(s,a,i,r?[0,-e]:[-st,e-st])}function mde(e,t,n,r,o,i){var s=e[0],a=e[1],l=t[0],c=t[1],u=0,d=1,h=l-s,p=c-a,m;if(m=n-s,!(!h&&m>0)){if(m/=h,h<0){if(m<u)return;m<d&&(d=m)}else if(h>0){if(m>d)return;m>u&&(u=m)}if(m=o-s,!(!h&&m<0)){if(m/=h,h<0){if(m>d)return;m>u&&(u=m)}else if(h>0){if(m<u)return;m<d&&(d=m)}if(m=r-a,!(!p&&m>0)){if(m/=p,p<0){if(m<u)return;m<d&&(d=m)}else if(p>0){if(m>d)return;m>u&&(u=m)}if(m=i-a,!(!p&&m<0)){if(m/=p,p<0){if(m>d)return;m>u&&(u=m)}else if(p>0){if(m<u)return;m<d&&(d=m)}return u>0&&(e[0]=s+u*h,e[1]=a+u*p),d<1&&(t[0]=s+d*h,t[1]=a+d*p),!0}}}}}var $m=1e9,zm=-1e9;function gde(e,t,n,r){function o(c,u){return e<=c&&c<=n&&t<=u&&u<=r}function i(c,u,d,h){var p=0,m=0;if(c==null||(p=s(c,d))!==(m=s(u,d))||l(c,u)<0^d>0)do h.point(p===0||p===3?e:n,p>1?r:t);while((p=(p+d+4)%4)!==m);else h.point(u[0],u[1])}function s(c,u){return vt(c[0]-e)<Le?u>0?0:3:vt(c[0]-n)<Le?u>0?2:1:vt(c[1]-t)<Le?u>0?1:0:u>0?3:2}function a(c,u){return l(c.x,u.x)}function l(c,u){var d=s(c,1),h=s(u,1);return d!==h?d-h:d===0?u[1]-c[1]:d===1?c[0]-u[0]:d===2?c[1]-u[1]:u[0]-c[0]}return function(c){var u=c,d=w$(),h,p,m,g,b,y,v,x,E,_,S,C={point:R,lineStart:P,lineEnd:A,polygonStart:D,polygonEnd:I};function R(T,O){o(T,O)&&u.point(T,O)}function N(){for(var T=0,O=0,$=p.length;O<$;++O)for(var V=p[O],z=1,j=V.length,W=V[0],L,M,H=W[0],B=W[1];z<j;++z)L=H,M=B,W=V[z],H=W[0],B=W[1],M<=r?B>r&&(H-L)*(r-M)>(B-M)*(e-L)&&++T:B<=r&&(H-L)*(r-M)<(B-M)*(e-L)&&--T;return T}function D(){u=d,h=[],p=[],S=!0}function I(){var T=N(),O=S&&T,$=(h=g$(h)).length;(O||$)&&(c.polygonStart(),O&&(c.lineStart(),i(null,null,1,c),c.lineEnd()),$&&C$(h,a,T,i,c),c.polygonEnd()),u=c,h=p=m=null}function P(){C.point=F,p&&p.push(m=[]),_=!0,E=!1,v=x=NaN}function A(){h&&(F(g,b),y&&E&&d.rejoin(),h.push(d.result())),C.point=R,E&&u.lineEnd()}function F(T,O){var $=o(T,O);if(p&&m.push([T,O]),_)g=T,b=O,y=$,_=!1,$&&(u.lineStart(),u.point(T,O));else if($&&E)u.point(T,O);else{var V=[v=Math.max(zm,Math.min($m,v)),x=Math.max(zm,Math.min($m,x))],z=[T=Math.max(zm,Math.min($m,T)),O=Math.max(zm,Math.min($m,O))];mde(V,z,e,t,n,r)?(E||(u.lineStart(),u.point(V[0],V[1])),u.point(z[0],z[1]),$||u.lineEnd(),S=!1):$&&(u.lineStart(),u.point(T,O),S=!1)}v=T,x=O,E=$}return C}}var NC,DC,Tg,Ag,qu={sphere:jn,point:jn,lineStart:bde,lineEnd:jn,polygonStart:jn,polygonEnd:jn};function bde(){qu.point=vde,qu.lineEnd=yde}function yde(){qu.point=qu.lineEnd=jn}function vde(e,t){e*=zt,t*=zt,DC=e,Tg=We(t),Ag=Qe(t),qu.point=xde}function xde(e,t){e*=zt,t*=zt;var n=We(t),r=Qe(t),o=vt(e-DC),i=Qe(o),s=We(o),a=r*s,l=Ag*n-Tg*r*i,c=Tg*n+Ag*r*i;NC.add(Di(Cr(a*a+l*l),c)),DC=e,Tg=n,Ag=r}function wde(e){return NC=new ba,nl(e,qu),+NC}var MC=[null,null],Cde={type:"LineString",coordinates:MC};function PC(e,t){return MC[0]=e,MC[1]=t,wde(Cde)}var PP={Feature:function(e,t){return kb(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,o=n.length;++r<o;)if(kb(n[r].geometry,t))return!0;return!1}},IP={Sphere:function(){return!0},Point:function(e,t){return jP(e.coordinates,t)},MultiPoint:function(e,t){for(var n=e.coordinates,r=-1,o=n.length;++r<o;)if(jP(n[r],t))return!0;return!1},LineString:function(e,t){return TP(e.coordinates,t)},MultiLineString:function(e,t){for(var n=e.coordinates,r=-1,o=n.length;++r<o;)if(TP(n[r],t))return!0;return!1},Polygon:function(e,t){return AP(e.coordinates,t)},MultiPolygon:function(e,t){for(var n=e.coordinates,r=-1,o=n.length;++r<o;)if(AP(n[r],t))return!0;return!1},GeometryCollection:function(e,t){for(var n=e.geometries,r=-1,o=n.length;++r<o;)if(kb(n[r],t))return!0;return!1}};function kb(e,t){return e&&IP.hasOwnProperty(e.type)?IP[e.type](e,t):!1}function jP(e,t){return PC(e,t)===0}function TP(e,t){for(var n,r,o,i=0,s=e.length;i<s;i++){if(r=PC(e[i],t),r===0||i>0&&(o=PC(e[i],e[i-1]),o>0&&n<=o&&r<=o&&(n+r-o)*(1-Math.pow((n-r)/o,2))<b$*o))return!0;n=r}return!1}function AP(e,t){return!!S$(e.map(Sde),_$(t))}function Sde(e){return e=e.map(_$),e.pop(),e}function _$(e){return[e[0]*zt,e[1]*zt]}function Ede(e,t){return(e&&PP.hasOwnProperty(e.type)?PP[e.type]:kb)(e,t)}function OP(e,t,n){var r=Yc(e,t-Le,n).concat(t);return function(o){return r.map(function(i){return[o,i]})}}function FP(e,t,n){var r=Yc(e,t-Le,n).concat(t);return function(o){return r.map(function(i){return[i,o]})}}function k$(){var e,t,n,r,o,i,s,a,l=10,c=l,u=90,d=360,h,p,m,g,b=2.5;function y(){return{type:"MultiLineString",coordinates:v()}}function v(){return Yc(Am(r/u)*u,n,u).map(m).concat(Yc(Am(a/d)*d,s,d).map(g)).concat(Yc(Am(t/l)*l,e,l).filter(function(x){return vt(x%u)>Le}).map(h)).concat(Yc(Am(i/c)*c,o,c).filter(function(x){return vt(x%d)>Le}).map(p))}return y.lines=function(){return v().map(function(x){return{type:"LineString",coordinates:x}})},y.outline=function(){return{type:"Polygon",coordinates:[m(r).concat(g(s).slice(1),m(n).reverse().slice(1),g(a).reverse().slice(1))]}},y.extent=function(x){return arguments.length?y.extentMajor(x).extentMinor(x):y.extentMinor()},y.extentMajor=function(x){return arguments.length?(r=+x[0][0],n=+x[1][0],a=+x[0][1],s=+x[1][1],r>n&&(x=r,r=n,n=x),a>s&&(x=a,a=s,s=x),y.precision(b)):[[r,a],[n,s]]},y.extentMinor=function(x){return arguments.length?(t=+x[0][0],e=+x[1][0],i=+x[0][1],o=+x[1][1],t>e&&(x=t,t=e,e=x),i>o&&(x=i,i=o,o=x),y.precision(b)):[[t,i],[e,o]]},y.step=function(x){return arguments.length?y.stepMajor(x).stepMinor(x):y.stepMinor()},y.stepMajor=function(x){return arguments.length?(u=+x[0],d=+x[1],y):[u,d]},y.stepMinor=function(x){return arguments.length?(l=+x[0],c=+x[1],y):[l,c]},y.precision=function(x){return arguments.length?(b=+x,h=OP(i,o,90),p=FP(t,e,b),m=OP(a,s,90),g=FP(r,n,b),y):b},y.extentMajor([[-180,-90+Le],[180,90-Le]]).extentMinor([[-180,-80-Le],[180,80+Le]])}function _de(){return k$()()}const IC=e=>e;var Px=new ba,jC=new ba,R$,N$,TC,AC,rs={point:jn,lineStart:jn,lineEnd:jn,polygonStart:function(){rs.lineStart=kde,rs.lineEnd=Nde},polygonEnd:function(){rs.lineStart=rs.lineEnd=rs.point=jn,Px.add(vt(jC)),jC=new ba},result:function(){var e=Px/2;return Px=new ba,e}};function kde(){rs.point=Rde}function Rde(e,t){rs.point=D$,R$=TC=e,N$=AC=t}function D$(e,t){jC.add(AC*e-TC*t),TC=e,AC=t}function Nde(){D$(R$,N$)}var Gu=1/0,Rb=Gu,gh=-Gu,Nb=gh,Db={point:Dde,lineStart:jn,lineEnd:jn,polygonStart:jn,polygonEnd:jn,result:function(){var e=[[Gu,Rb],[gh,Nb]];return gh=Nb=-(Rb=Gu=1/0),e}};function Dde(e,t){e<Gu&&(Gu=e),e>gh&&(gh=e),t<Rb&&(Rb=t),t>Nb&&(Nb=t)}var OC=0,FC=0,cf=0,Mb=0,Pb=0,Kc=0,LC=0,$C=0,uf=0,M$,P$,hi,pi,wo={point:Kl,lineStart:LP,lineEnd:$P,polygonStart:function(){wo.lineStart=Ide,wo.lineEnd=jde},polygonEnd:function(){wo.point=Kl,wo.lineStart=LP,wo.lineEnd=$P},result:function(){var e=uf?[LC/uf,$C/uf]:Kc?[Mb/Kc,Pb/Kc]:cf?[OC/cf,FC/cf]:[NaN,NaN];return OC=FC=cf=Mb=Pb=Kc=LC=$C=uf=0,e}};function Kl(e,t){OC+=e,FC+=t,++cf}function LP(){wo.point=Mde}function Mde(e,t){wo.point=Pde,Kl(hi=e,pi=t)}function Pde(e,t){var n=e-hi,r=t-pi,o=Cr(n*n+r*r);Mb+=o*(hi+e)/2,Pb+=o*(pi+t)/2,Kc+=o,Kl(hi=e,pi=t)}function $P(){wo.point=Kl}function Ide(){wo.point=Tde}function jde(){I$(M$,P$)}function Tde(e,t){wo.point=I$,Kl(M$=hi=e,P$=pi=t)}function I$(e,t){var n=e-hi,r=t-pi,o=Cr(n*n+r*r);Mb+=o*(hi+e)/2,Pb+=o*(pi+t)/2,Kc+=o,o=pi*e-hi*t,LC+=o*(hi+e),$C+=o*(pi+t),uf+=o*3,Kl(hi=e,pi=t)}function j$(e){this._context=e}j$.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:{this._context.moveTo(e,t),this._point=1;break}case 1:{this._context.lineTo(e,t);break}default:{this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,lo);break}}},result:jn};var zC=new ba,Ix,T$,A$,df,ff,bh={point:jn,lineStart:function(){bh.point=Ade},lineEnd:function(){Ix&&O$(T$,A$),bh.point=jn},polygonStart:function(){Ix=!0},polygonEnd:function(){Ix=null},result:function(){var e=+zC;return zC=new ba,e}};function Ade(e,t){bh.point=O$,T$=df=e,A$=ff=t}function O$(e,t){df-=e,ff-=t,zC.add(Cr(df*df+ff*ff)),df=e,ff=t}let zP,Ib,BP,VP;class HP{constructor(t){this._append=t==null?F$:Ode(t),this._radius=4.5,this._=""}pointRadius(t){return this._radius=+t,this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){this._line===0&&(this._+="Z"),this._point=NaN}point(t,n){switch(this._point){case 0:{this._append`M${t},${n}`,this._point=1;break}case 1:{this._append`L${t},${n}`;break}default:{if(this._append`M${t},${n}`,this._radius!==BP||this._append!==Ib){const r=this._radius,o=this._;this._="",this._append`m0,${r}a${r},${r} 0 1,1 0,${-2*r}a${r},${r} 0 1,1 0,${2*r}z`,BP=r,Ib=this._append,VP=this._,this._=o}this._+=VP;break}}}result(){const t=this._;return this._="",t.length?t:null}}function F$(e){let t=1;this._+=e[0];for(const n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function Ode(e){const t=Math.floor(e);if(!(t>=0))throw new RangeError(`invalid digits: ${e}`);if(t>15)return F$;if(t!==zP){const n=10**t;zP=t,Ib=function(o){let i=1;this._+=o[0];for(const s=o.length;i<s;++i)this._+=Math.round(arguments[i]*n)/n+o[i]}}return Ib}function WP(e,t){let n=3,r=4.5,o,i;function s(a){return a&&(typeof r=="function"&&i.pointRadius(+r.apply(this,arguments)),nl(a,o(i))),i.result()}return s.area=function(a){return nl(a,o(rs)),rs.result()},s.measure=function(a){return nl(a,o(bh)),bh.result()},s.bounds=function(a){return nl(a,o(Db)),Db.result()},s.centroid=function(a){return nl(a,o(wo)),wo.result()},s.projection=function(a){return arguments.length?(o=a==null?(e=null,IC):(e=a).stream,s):e},s.context=function(a){return arguments.length?(i=a==null?(t=null,new HP(n)):new j$(t=a),typeof r!="function"&&i.pointRadius(r),s):t},s.pointRadius=function(a){return arguments.length?(r=typeof a=="function"?a:(i.pointRadius(+a),+a),s):r},s.digits=function(a){if(!arguments.length)return n;if(a==null)n=null;else{const l=Math.floor(a);if(!(l>=0))throw new RangeError(`invalid digits: ${a}`);n=l}return t===null&&(i=new HP(n)),s},s.projection(e).digits(n).context(t)}function h_(e){return function(t){var n=new BC;for(var r in e)n[r]=e[r];return n.stream=t,n}}function BC(){}BC.prototype={constructor:BC,point:function(e,t){this.stream.point(e,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function p_(e,t,n){var r=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),r!=null&&e.clipExtent(null),nl(n,e.stream(Db)),t(Db.result()),r!=null&&e.clipExtent(r),e}function m_(e,t,n){return p_(e,function(r){var o=t[1][0]-t[0][0],i=t[1][1]-t[0][1],s=Math.min(o/(r[1][0]-r[0][0]),i/(r[1][1]-r[0][1])),a=+t[0][0]+(o-s*(r[1][0]+r[0][0]))/2,l=+t[0][1]+(i-s*(r[1][1]+r[0][1]))/2;e.scale(150*s).translate([a,l])},n)}function L$(e,t,n){return m_(e,[[0,0],t],n)}function $$(e,t,n){return p_(e,function(r){var o=+t,i=o/(r[1][0]-r[0][0]),s=(o-i*(r[1][0]+r[0][0]))/2,a=-i*r[0][1];e.scale(150*i).translate([s,a])},n)}function z$(e,t,n){return p_(e,function(r){var o=+t,i=o/(r[1][1]-r[0][1]),s=-i*r[0][0],a=(o-i*(r[1][1]+r[0][1]))/2;e.scale(150*i).translate([s,a])},n)}var UP=16,Fde=Qe(30*zt);function qP(e,t){return+t?$de(e,t):Lde(e)}function Lde(e){return h_({point:function(t,n){t=e(t,n),this.stream.point(t[0],t[1])}})}function $de(e,t){function n(r,o,i,s,a,l,c,u,d,h,p,m,g,b){var y=c-r,v=u-o,x=y*y+v*v;if(x>4*t&&g--){var E=s+h,_=a+p,S=l+m,C=Cr(E*E+_*_+S*S),R=Do(S/=C),N=vt(vt(S)-1)<Le||vt(i-d)<Le?(i+d)/2:Di(_,E),D=e(N,R),I=D[0],P=D[1],A=I-r,F=P-o,T=v*A-y*F;(T*T/x>t||vt((y*A+v*F)/x-.5)>.3||s*h+a*p+l*m<Fde)&&(n(r,o,i,s,a,l,I,P,N,E/=C,_/=C,S,g,b),b.point(I,P),n(I,P,N,E,_,S,c,u,d,h,p,m,g,b))}}return function(r){var o,i,s,a,l,c,u,d,h,p,m,g,b={point:y,lineStart:v,lineEnd:E,polygonStart:function(){r.polygonStart(),b.lineStart=_},polygonEnd:function(){r.polygonEnd(),b.lineStart=v}};function y(R,N){R=e(R,N),r.point(R[0],R[1])}function v(){d=NaN,b.point=x,r.lineStart()}function x(R,N){var D=Uu([R,N]),I=e(R,N);n(d,h,u,p,m,g,d=I[0],h=I[1],u=R,p=D[0],m=D[1],g=D[2],UP,r),r.point(d,h)}function E(){b.point=y,r.lineEnd()}function _(){v(),b.point=S,b.lineEnd=C}function S(R,N){x(o=R,N),i=d,s=h,a=p,l=m,c=g,b.point=x}function C(){n(d,h,u,p,m,g,i,s,o,a,l,c,UP,r),b.lineEnd=E,E()}return b}}var zde=h_({point:function(e,t){this.stream.point(e*zt,t*zt)}});function Bde(e){return h_({point:function(t,n){var r=e(t,n);return this.stream.point(r[0],r[1])}})}function Vde(e,t,n,r,o){function i(s,a){return s*=r,a*=o,[t+e*s,n-e*a]}return i.invert=function(s,a){return[(s-t)/e*r,(n-a)/e*o]},i}function GP(e,t,n,r,o,i){if(!i)return Vde(e,t,n,r,o);var s=Qe(i),a=We(i),l=s*e,c=a*e,u=s/e,d=a/e,h=(a*n-s*t)/e,p=(a*t+s*n)/e;function m(g,b){return g*=r,b*=o,[l*g-c*b+t,n-c*g-l*b]}return m.invert=function(g,b){return[r*(u*g-d*b+h),o*(p-d*g-u*b)]},m}function ks(e){return B$(function(){return e})()}function B$(e){var t,n=150,r=480,o=250,i=0,s=0,a=0,l=0,c=0,u,d=0,h=1,p=1,m=null,g=MP,b=null,y,v,x,E=IC,_=.5,S,C,R,N,D;function I(T){return R(T[0]*zt,T[1]*zt)}function P(T){return T=R.invert(T[0],T[1]),T&&[T[0]*hr,T[1]*hr]}I.stream=function(T){return N&&D===T?N:N=zde(Bde(u)(g(S(E(D=T)))))},I.preclip=function(T){return arguments.length?(g=T,m=void 0,F()):g},I.postclip=function(T){return arguments.length?(E=T,b=y=v=x=null,F()):E},I.clipAngle=function(T){return arguments.length?(g=+T?pde(m=T*zt):(m=null,MP),F()):m*hr},I.clipExtent=function(T){return arguments.length?(E=T==null?(b=y=v=x=null,IC):gde(b=+T[0][0],y=+T[0][1],v=+T[1][0],x=+T[1][1]),F()):b==null?null:[[b,y],[v,x]]},I.scale=function(T){return arguments.length?(n=+T,A()):n},I.translate=function(T){return arguments.length?(r=+T[0],o=+T[1],A()):[r,o]},I.center=function(T){return arguments.length?(i=T[0]%360*zt,s=T[1]%360*zt,A()):[i*hr,s*hr]},I.rotate=function(T){return arguments.length?(a=T[0]%360*zt,l=T[1]%360*zt,c=T.length>2?T[2]%360*zt:0,A()):[a*hr,l*hr,c*hr]},I.angle=function(T){return arguments.length?(d=T%360*zt,A()):d*hr},I.reflectX=function(T){return arguments.length?(h=T?-1:1,A()):h<0},I.reflectY=function(T){return arguments.length?(p=T?-1:1,A()):p<0},I.precision=function(T){return arguments.length?(S=qP(C,_=T*T),F()):Cr(_)},I.fitExtent=function(T,O){return m_(I,T,O)},I.fitSize=function(T,O){return L$(I,T,O)},I.fitWidth=function(T,O){return $$(I,T,O)},I.fitHeight=function(T,O){return z$(I,T,O)};function A(){var T=GP(n,0,0,h,p,d).apply(null,t(i,s)),O=GP(n,r-T[0],o-T[1],h,p,d);return u=x$(a,l,c),C=kC(t,O),R=kC(u,C),S=qP(C,_),F()}function F(){return N=D=null,I}return function(){return t=e.apply(this,arguments),I.invert=t.invert&&P,A()}}function g_(e){var t=0,n=st/3,r=B$(e),o=r(t,n);return o.parallels=function(i){return arguments.length?r(t=i[0]*zt,n=i[1]*zt):[t*hr,n*hr]},o}function Hde(e){var t=Qe(e);function n(r,o){return[r*t,We(o)/t]}return n.invert=function(r,o){return[r/t,Do(o*t)]},n}function Wde(e,t){var n=We(e),r=(n+We(t))/2;if(vt(r)<Le)return Hde(e);var o=1+n*(2*r-n),i=Cr(o)/r;function s(a,l){var c=Cr(o-2*r*We(l))/r;return[c*We(a*=r),i-c*Qe(a)]}return s.invert=function(a,l){var c=i-l,u=Di(a,vt(c))*Co(c);return c*r<0&&(u-=st*Co(a)*Co(c)),[u/r,Do((o-(a*a+c*c)*r*r)/(2*r))]},s}function jb(){return g_(Wde).scale(155.424).center([0,33.6442])}function V$(){return jb().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function Ude(e){var t=e.length;return{point:function(n,r){for(var o=-1;++o<t;)e[o].point(n,r)},sphere:function(){for(var n=-1;++n<t;)e[n].sphere()},lineStart:function(){for(var n=-1;++n<t;)e[n].lineStart()},lineEnd:function(){for(var n=-1;++n<t;)e[n].lineEnd()},polygonStart:function(){for(var n=-1;++n<t;)e[n].polygonStart()},polygonEnd:function(){for(var n=-1;++n<t;)e[n].polygonEnd()}}}function qde(){var e,t,n=V$(),r,o=jb().rotate([154,0]).center([-2,58.5]).parallels([55,65]),i,s=jb().rotate([157,0]).center([-3,19.9]).parallels([8,18]),a,l,c={point:function(h,p){l=[h,p]}};function u(h){var p=h[0],m=h[1];return l=null,r.point(p,m),l||(i.point(p,m),l)||(a.point(p,m),l)}u.invert=function(h){var p=n.scale(),m=n.translate(),g=(h[0]-m[0])/p,b=(h[1]-m[1])/p;return(b>=.12&&b<.234&&g>=-.425&&g<-.214?o:b>=.166&&b<.234&&g>=-.214&&g<-.115?s:n).invert(h)},u.stream=function(h){return e&&t===h?e:e=Ude([n.stream(t=h),o.stream(h),s.stream(h)])},u.precision=function(h){return arguments.length?(n.precision(h),o.precision(h),s.precision(h),d()):n.precision()},u.scale=function(h){return arguments.length?(n.scale(h),o.scale(h*.35),s.scale(h),u.translate(n.translate())):n.scale()},u.translate=function(h){if(!arguments.length)return n.translate();var p=n.scale(),m=+h[0],g=+h[1];return r=n.translate(h).clipExtent([[m-.455*p,g-.238*p],[m+.455*p,g+.238*p]]).stream(c),i=o.translate([m-.307*p,g+.201*p]).clipExtent([[m-.425*p+Le,g+.12*p+Le],[m-.214*p-Le,g+.234*p-Le]]).stream(c),a=s.translate([m-.205*p,g+.212*p]).clipExtent([[m-.214*p+Le,g+.166*p+Le],[m-.115*p-Le,g+.234*p-Le]]).stream(c),d()},u.fitExtent=function(h,p){return m_(u,h,p)},u.fitSize=function(h,p){return L$(u,h,p)},u.fitWidth=function(h,p){return $$(u,h,p)},u.fitHeight=function(h,p){return z$(u,h,p)};function d(){return e=t=null,u}return u.scale(1070)}function H$(e){return function(t,n){var r=Qe(t),o=Qe(n),i=e(r*o);return i===1/0?[2,0]:[i*o*We(t),i*We(n)]}}function Sp(e){return function(t,n){var r=Cr(t*t+n*n),o=e(r),i=We(o),s=Qe(o);return[Di(t*i,r*s),Do(r&&n*i/r)]}}var W$=H$(function(e){return Cr(2/(1+e))});W$.invert=Sp(function(e){return 2*Do(e/2)});function Gde(){return ks(W$).scale(124.75).clipAngle(180-.001)}var U$=H$(function(e){return(e=v$(e))&&e/We(e)});U$.invert=Sp(function(e){return e});function Yde(){return ks(U$).scale(79.4188).clipAngle(180-.001)}function wy(e,t){return[e,Sb(f_((cn+t)/2))]}wy.invert=function(e,t){return[e,2*gd(y$(t))-cn]};function Kde(){return q$(wy).scale(961/lo)}function q$(e){var t=ks(e),n=t.center,r=t.scale,o=t.translate,i=t.clipExtent,s=null,a,l,c;t.scale=function(d){return arguments.length?(r(d),u()):r()},t.translate=function(d){return arguments.length?(o(d),u()):o()},t.center=function(d){return arguments.length?(n(d),u()):n()},t.clipExtent=function(d){return arguments.length?(d==null?s=a=l=c=null:(s=+d[0][0],a=+d[0][1],l=+d[1][0],c=+d[1][1]),u()):s==null?null:[[s,a],[l,c]]};function u(){var d=st*r(),h=t(ade(t.rotate()).invert([0,0]));return i(s==null?[[h[0]-d,h[1]-d],[h[0]+d,h[1]+d]]:e===wy?[[Math.max(h[0]-d,s),a],[Math.min(h[0]+d,l),c]]:[[s,Math.max(h[1]-d,a)],[l,Math.min(h[1]+d,c)]])}return u()}function Bm(e){return f_((cn+e)/2)}function Xde(e,t){var n=Qe(e),r=e===t?We(e):Sb(n/Qe(t))/Sb(Bm(t)/Bm(e)),o=n*Nx(Bm(e),r)/r;if(!r)return wy;function i(s,a){o>0?a<-cn+Le&&(a=-cn+Le):a>cn-Le&&(a=cn-Le);var l=o/Nx(Bm(a),r);return[l*We(r*s),o-l*Qe(r*s)]}return i.invert=function(s,a){var l=o-a,c=Co(r)*Cr(s*s+l*l),u=Di(s,vt(l))*Co(l);return l*r<0&&(u-=st*Co(s)*Co(l)),[u/r,2*gd(Nx(o/c,1/r))-cn]},i}function Qde(){return g_(Xde).scale(109.5).parallels([30,30])}function Tb(e,t){return[e,t]}Tb.invert=Tb;function Zde(){return ks(Tb).scale(152.63)}function Jde(e,t){var n=Qe(e),r=e===t?We(e):(n-Qe(t))/(t-e),o=n/r+e;if(vt(r)<Le)return Tb;function i(s,a){var l=o-a,c=r*s;return[l*We(c),o-l*Qe(c)]}return i.invert=function(s,a){var l=o-a,c=Di(s,vt(l))*Co(l);return l*r<0&&(c-=st*Co(s)*Co(l)),[c/r,o-Co(r)*Cr(s*s+l*l)]},i}function efe(){return g_(Jde).scale(131.154).center([0,13.9389])}var Df=1.340264,Mf=-.081106,Pf=893e-6,If=.003796,Ab=Cr(3)/2,tfe=12;function G$(e,t){var n=Do(Ab*We(t)),r=n*n,o=r*r*r;return[e*Qe(n)/(Ab*(Df+3*Mf*r+o*(7*Pf+9*If*r))),n*(Df+Mf*r+o*(Pf+If*r))]}G$.invert=function(e,t){for(var n=t,r=n*n,o=r*r*r,i=0,s,a,l;i<tfe&&(a=n*(Df+Mf*r+o*(Pf+If*r))-t,l=Df+3*Mf*r+o*(7*Pf+9*If*r),n-=s=a/l,r=n*n,o=r*r*r,!(vt(s)<b$));++i);return[Ab*e*(Df+3*Mf*r+o*(7*Pf+9*If*r))/Qe(n),Do(We(n)/Ab)]};function nfe(){return ks(G$).scale(177.158)}function Y$(e,t){var n=Qe(t),r=Qe(e)*n;return[n*We(e)/r,We(t)/r]}Y$.invert=Sp(gd);function rfe(){return ks(Y$).scale(144.049).clipAngle(60)}function K$(e,t){var n=t*t,r=n*n;return[e*(.8707-.131979*n+r*(-.013791+r*(.003971*n-.001529*r))),t*(1.007226+n*(.015085+r*(-.044475+.028874*n-.005916*r)))]}K$.invert=function(e,t){var n=t,r=25,o;do{var i=n*n,s=i*i;n-=o=(n*(1.007226+i*(.015085+s*(-.044475+.028874*i-.005916*s)))-t)/(1.007226+i*(.015085*3+s*(-.044475*7+.028874*9*i-.005916*11*s)))}while(vt(o)>Le&&--r>0);return[e/(.8707+(i=n*n)*(-.131979+i*(-.013791+i*i*i*(.003971-.001529*i)))),n]};function ofe(){return ks(K$).scale(175.295)}function X$(e,t){return[Qe(t)*We(e),We(t)]}X$.invert=Sp(Do);function ife(){return ks(X$).scale(249.5).clipAngle(90+Le)}function Q$(e,t){var n=Qe(t),r=1+Qe(e)*n;return[n*We(e)/r,We(t)/r]}Q$.invert=Sp(function(e){return 2*gd(e)});function sfe(){return ks(Q$).scale(250).clipAngle(142)}function Z$(e,t){return[Sb(f_((cn+t)/2)),-e]}Z$.invert=function(e,t){return[-t,2*gd(y$(e))-cn]};function afe(){var e=q$(Z$),t=e.center,n=e.rotate;return e.center=function(r){return arguments.length?t([-r[1],r[0]]):(r=t(),[r[1],-r[0]])},e.rotate=function(r){return arguments.length?n([r[0],r[1],r.length>2?r[2]+90:90]):(r=n(),[r[0],r[1],r[2]-90])},n([0,0,90]).scale(159.155)}function kt(e){for(var t=e.length/6|0,n=new Array(t),r=0;r<t;)n[r]="#"+e.slice(r*6,++r*6);return n}function Cy(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function b_(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function bd(){}var Xl=.7,Yu=1/Xl,lu="\\s*([+-]?\\d+)\\s*",yh="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",wi="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",lfe=/^#([0-9a-f]{3,8})$/,cfe=new RegExp(`^rgb\\(${lu},${lu},${lu}\\)$`),ufe=new RegExp(`^rgb\\(${wi},${wi},${wi}\\)$`),dfe=new RegExp(`^rgba\\(${lu},${lu},${lu},${yh}\\)$`),ffe=new RegExp(`^rgba\\(${wi},${wi},${wi},${yh}\\)$`),hfe=new RegExp(`^hsl\\(${yh},${wi},${wi}\\)$`),pfe=new RegExp(`^hsla\\(${yh},${wi},${wi},${yh}\\)$`),YP={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Cy(bd,y_,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:KP,formatHex:KP,formatHex8:mfe,formatHsl:gfe,formatRgb:XP,toString:XP});function KP(){return this.rgb().formatHex()}function mfe(){return this.rgb().formatHex8()}function gfe(){return e6(this).formatHsl()}function XP(){return this.rgb().formatRgb()}function y_(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=lfe.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?QP(t):n===3?new tr(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Vm(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Vm(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=cfe.exec(e))?new tr(t[1],t[2],t[3],1):(t=ufe.exec(e))?new tr(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=dfe.exec(e))?Vm(t[1],t[2],t[3],t[4]):(t=ffe.exec(e))?Vm(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=hfe.exec(e))?eI(t[1],t[2]/100,t[3]/100,1):(t=pfe.exec(e))?eI(t[1],t[2]/100,t[3]/100,t[4]):YP.hasOwnProperty(e)?QP(YP[e]):e==="transparent"?new tr(NaN,NaN,NaN,0):null}function QP(e){return new tr(e>>16&255,e>>8&255,e&255,1)}function Vm(e,t,n,r){return r<=0&&(e=t=n=NaN),new tr(e,t,n,r)}function J$(e){return e instanceof bd||(e=y_(e)),e?(e=e.rgb(),new tr(e.r,e.g,e.b,e.opacity)):new tr}function vh(e,t,n,r){return arguments.length===1?J$(e):new tr(e,t,n,r??1)}function tr(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Cy(tr,vh,b_(bd,{brighter(e){return e=e==null?Yu:Math.pow(Yu,e),new tr(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Xl:Math.pow(Xl,e),new tr(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new tr(Dl(this.r),Dl(this.g),Dl(this.b),Ob(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:ZP,formatHex:ZP,formatHex8:bfe,formatRgb:JP,toString:JP}));function ZP(){return`#${ll(this.r)}${ll(this.g)}${ll(this.b)}`}function bfe(){return`#${ll(this.r)}${ll(this.g)}${ll(this.b)}${ll((isNaN(this.opacity)?1:this.opacity)*255)}`}function JP(){const e=Ob(this.opacity);return`${e===1?"rgb(":"rgba("}${Dl(this.r)}, ${Dl(this.g)}, ${Dl(this.b)}${e===1?")":`, ${e})`}`}function Ob(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Dl(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function ll(e){return e=Dl(e),(e<16?"0":"")+e.toString(16)}function eI(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new zo(e,t,n,r)}function e6(e){if(e instanceof zo)return new zo(e.h,e.s,e.l,e.opacity);if(e instanceof bd||(e=y_(e)),!e)return new zo;if(e instanceof zo)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,o=Math.min(t,n,r),i=Math.max(t,n,r),s=NaN,a=i-o,l=(i+o)/2;return a?(t===i?s=(n-r)/a+(n<r)*6:n===i?s=(r-t)/a+2:s=(t-n)/a+4,a/=l<.5?i+o:2-i-o,s*=60):a=l>0&&l<1?0:s,new zo(s,a,l,e.opacity)}function yfe(e,t,n,r){return arguments.length===1?e6(e):new zo(e,t,n,r??1)}function zo(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Cy(zo,yfe,b_(bd,{brighter(e){return e=e==null?Yu:Math.pow(Yu,e),new zo(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Xl:Math.pow(Xl,e),new zo(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,o=2*n-r;return new tr(jx(e>=240?e-240:e+120,o,r),jx(e,o,r),jx(e<120?e+240:e-120,o,r),this.opacity)},clamp(){return new zo(tI(this.h),Hm(this.s),Hm(this.l),Ob(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Ob(this.opacity);return`${e===1?"hsl(":"hsla("}${tI(this.h)}, ${Hm(this.s)*100}%, ${Hm(this.l)*100}%${e===1?")":`, ${e})`}`}}));function tI(e){return e=(e||0)%360,e<0?e+360:e}function Hm(e){return Math.max(0,Math.min(1,e||0))}function jx(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const vfe=Math.PI/180,xfe=180/Math.PI;var t6=-.14861,v_=1.78277,x_=-.29227,Sy=-.90649,xh=1.97294,nI=xh*Sy,rI=xh*v_,oI=v_*x_-Sy*t6;function wfe(e){if(e instanceof Ml)return new Ml(e.h,e.s,e.l,e.opacity);e instanceof tr||(e=J$(e));var t=e.r/255,n=e.g/255,r=e.b/255,o=(oI*r+nI*t-rI*n)/(oI+nI-rI),i=r-o,s=(xh*(n-o)-x_*i)/Sy,a=Math.sqrt(s*s+i*i)/(xh*o*(1-o)),l=a?Math.atan2(s,i)*xfe-120:NaN;return new Ml(l<0?l+360:l,a,o,e.opacity)}function Mi(e,t,n,r){return arguments.length===1?wfe(e):new Ml(e,t,n,r??1)}function Ml(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Cy(Ml,Mi,b_(bd,{brighter(e){return e=e==null?Yu:Math.pow(Yu,e),new Ml(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Xl:Math.pow(Xl,e),new Ml(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*vfe,t=+this.l,n=isNaN(this.s)?0:this.s*t*(1-t),r=Math.cos(e),o=Math.sin(e);return new tr(255*(t+n*(t6*r+v_*o)),255*(t+n*(x_*r+Sy*o)),255*(t+n*(xh*r)),this.opacity)}}));function Cfe(e,t,n,r,o){var i=e*e,s=i*e;return((1-3*e+3*i-s)*t+(4-6*i+3*s)*n+(1+3*e+3*i-3*s)*r+s*o)/6}function Sfe(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),o=e[r],i=e[r+1],s=r>0?e[r-1]:2*o-i,a=r<t-1?e[r+2]:2*i-o;return Cfe((n-r/t)*t,s,o,i,a)}}const w_=e=>()=>e;function n6(e,t){return function(n){return e+n*t}}function Efe(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function _fe(e,t){var n=t-e;return n?n6(e,n>180||n<-180?n-360*Math.round(n/360):n):w_(isNaN(e)?t:e)}function kfe(e){return(e=+e)==1?cu:function(t,n){return n-t?Efe(t,n,e):w_(isNaN(t)?n:t)}}function cu(e,t){var n=t-e;return n?n6(e,n):w_(isNaN(e)?t:e)}(function e(t){var n=kfe(t);function r(o,i){var s=n((o=vh(o)).r,(i=vh(i)).r),a=n(o.g,i.g),l=n(o.b,i.b),c=cu(o.opacity,i.opacity);return function(u){return o.r=s(u),o.g=a(u),o.b=l(u),o.opacity=c(u),o+""}}return r.gamma=e,r})(1);function Rfe(e){return function(t){var n=t.length,r=new Array(n),o=new Array(n),i=new Array(n),s,a;for(s=0;s<n;++s)a=vh(t[s]),r[s]=a.r||0,o[s]=a.g||0,i[s]=a.b||0;return r=e(r),o=e(o),i=e(i),a.opacity=1,function(l){return a.r=r(l),a.g=o(l),a.b=i(l),a+""}}}var Nfe=Rfe(Sfe);function r6(e){return function t(n){n=+n;function r(o,i){var s=e((o=Mi(o)).h,(i=Mi(i)).h),a=cu(o.s,i.s),l=cu(o.l,i.l),c=cu(o.opacity,i.opacity);return function(u){return o.h=s(u),o.s=a(u),o.l=l(Math.pow(u,n)),o.opacity=c(u),o+""}}return r.gamma=t,r}(1)}r6(_fe);var C_=r6(cu);const Wt=e=>Nfe(e[e.length-1]);var Dfe=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(kt);const Mfe=Wt(Dfe);var Pfe=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(kt);const Ife=Wt(Pfe);var jfe=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(kt);const Tfe=Wt(jfe);var Afe=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(kt);const Ofe=Wt(Afe);var Ffe=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(kt);const Lfe=Wt(Ffe);var $fe=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(kt);const zfe=Wt($fe);var Bfe=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(kt);const Vfe=Wt(Bfe);var Hfe=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(kt);const Wfe=Wt(Hfe);var Ufe=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(kt);const qfe=Wt(Ufe);var Gfe=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(kt);const Yfe=Wt(Gfe);var Kfe=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(kt);const Xfe=Wt(Kfe);var Qfe=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(kt);const Zfe=Wt(Qfe);var Jfe=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(kt);const ehe=Wt(Jfe);var the=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(kt);const nhe=Wt(the);var rhe=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(kt);const ohe=Wt(rhe);var ihe=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(kt);const she=Wt(ihe);var ahe=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(kt);const lhe=Wt(ahe);var che=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(kt);const uhe=Wt(che);var dhe=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(kt);const fhe=Wt(dhe);var hhe=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(kt);const phe=Wt(hhe);var mhe=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(kt);const ghe=Wt(mhe);var bhe=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(kt);const yhe=Wt(bhe);var vhe=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(kt);const xhe=Wt(vhe);var whe=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(kt);const Che=Wt(whe);var She=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(kt);const Ehe=Wt(She);var _he=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(kt);const khe=Wt(_he);var Rhe=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(kt);const Nhe=Wt(Rhe);function Dhe(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(-4.54-e*(35.34-e*(2381.73-e*(6402.7-e*(7024.72-e*2710.57)))))))+", "+Math.max(0,Math.min(255,Math.round(32.49+e*(170.73+e*(52.82-e*(131.46-e*(176.58-e*67.37)))))))+", "+Math.max(0,Math.min(255,Math.round(81.24+e*(442.36-e*(2482.43-e*(6167.24-e*(6614.94-e*2475.67)))))))+")"}const Mhe=C_(Mi(300,.5,0),Mi(-240,.5,1));var Phe=C_(Mi(-100,.75,.35),Mi(80,1.5,.8)),Ihe=C_(Mi(260,.75,.35),Mi(80,1.5,.8)),Wm=Mi();function jhe(e){(e<0||e>1)&&(e-=Math.floor(e));var t=Math.abs(e-.5);return Wm.h=360*e-100,Wm.s=1.5-1.5*t,Wm.l=.8-.9*t,Wm+""}var Um=vh(),The=Math.PI/3,Ahe=Math.PI*2/3;function Ohe(e){var t;return e=(.5-e)*Math.PI,Um.r=255*(t=Math.sin(e))*t,Um.g=255*(t=Math.sin(e+The))*t,Um.b=255*(t=Math.sin(e+Ahe))*t,Um+""}function Fhe(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+e*(1172.33-e*(10793.56-e*(33300.12-e*(38394.49-e*14825.05)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+e*(557.33+e*(1225.33-e*(3574.96-e*(1073.77+e*707.56)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+e*(3211.1-e*(15327.97-e*(27814-e*(22569.18-e*6838.66)))))))+")"}function Ey(e){var t=e.length;return function(n){return e[Math.max(0,Math.min(t-1,Math.floor(n*t)))]}}const Lhe=Ey(kt("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));var $he=Ey(kt("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),zhe=Ey(kt("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),Bhe=Ey(kt("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function Vhe(e){return e}function Hhe(e){if(e==null)return Vhe;var t,n,r=e.scale[0],o=e.scale[1],i=e.translate[0],s=e.translate[1];return function(a,l){l||(t=n=0);var c=2,u=a.length,d=new Array(u);for(d[0]=(t+=a[0])*r+i,d[1]=(n+=a[1])*o+s;c<u;)d[c]=a[c],++c;return d}}function Whe(e,t){for(var n,r=e.length,o=r-t;o<--r;)n=e[o],e[o++]=e[r],e[r]=n}function Uhe(e,t){return typeof t=="string"&&(t=e.objects[t]),t.type==="GeometryCollection"?{type:"FeatureCollection",features:t.geometries.map(function(n){return iI(e,n)})}:iI(e,t)}function iI(e,t){var n=t.id,r=t.bbox,o=t.properties==null?{}:t.properties,i=qhe(e,t);return n==null&&r==null?{type:"Feature",properties:o,geometry:i}:r==null?{type:"Feature",id:n,properties:o,geometry:i}:{type:"Feature",id:n,bbox:r,properties:o,geometry:i}}function qhe(e,t){var n=Hhe(e.transform),r=e.arcs;function o(u,d){d.length&&d.pop();for(var h=r[u<0?~u:u],p=0,m=h.length;p<m;++p)d.push(n(h[p],p));u<0&&Whe(d,m)}function i(u){return n(u)}function s(u){for(var d=[],h=0,p=u.length;h<p;++h)o(u[h],d);return d.length<2&&d.push(d[0]),d}function a(u){for(var d=s(u);d.length<4;)d.push(d[0]);return d}function l(u){return u.map(a)}function c(u){var d=u.type,h;switch(d){case"GeometryCollection":return{type:d,geometries:u.geometries.map(c)};case"Point":h=i(u.coordinates);break;case"MultiPoint":h=u.coordinates.map(i);break;case"LineString":h=s(u.arcs);break;case"MultiLineString":h=u.arcs.map(s);break;case"Polygon":h=l(u.arcs);break;case"MultiPolygon":h=u.arcs.map(l);break;default:return null}return{type:d,coordinates:h}}return c(t)}const jf={geoAzimuthalEqualArea:Gde,geoAzimuthalEquidistant:Yde,geoGnomonic:rfe,geoOrthographic:ife,geoStereographic:sfe,geoEqualEarth:nfe,geoAlbers:V$,geoAlbersUsa:qde,geoConicConformal:Qde,geoConicEqualArea:jb,geoConicEquidistant:efe,geoEquirectangular:Zde,geoMercator:Kde,geoTransverseMercator:afe,geoNaturalEarth1:ofe};Object.keys(jf).forEach(e=>{jf[`${e.charAt(3).toLowerCase()}${e.slice(4)}`]=jf[e]});class mc extends Ta{constructor(t){super(t),this.outlineBounds=null,this.oldChartBounds=null,this.geoPath=WP()}init(t){t.position="chartArea",super.init(t),typeof t.projection=="function"?this.projection=t.projection:this.projection=(jf[t.projection]||jf.albersUsa)(),this.geoPath.projection(this.projection),this.outlineBounds=null,this.oldChartBounds=null}computeBounds(t){const n=WP(this.projection.fitWidth(1e3,t)).bounds(t),r=Math.ceil(n[1][1]-n[0][1]),o=Math.ceil(n[1][0]-n[0][0]),i=this.projection.translate();this.outlineBounds={width:o,height:r,aspectRatio:o/r,refScale:this.projection.scale(),refX:i[0],refY:i[1]}}updateBounds(){const t=this.chart.chartArea,n=this.outlineBounds;if(!n)return!1;const r=this.options.padding,o=typeof r=="number"?r:r.top,i=typeof r=="number"?r:r.left,s=typeof r=="number"?r:r.bottom,a=typeof r=="number"?r:r.right,l=t.right-t.left-i-a,c=t.bottom-t.top-o-s,u=this.oldChartBounds;this.oldChartBounds={chartWidth:l,chartHeight:c};const d=Math.min(l/n.width,c/n.height),h=n.width*d,p=n.height*d,m=(l-h)*.5+t.left+i,g=(c-p)*.5+t.top+o,b=this.options;return this.projection.scale(n.refScale*d*b.projectionScale).translate([d*n.refX+m+b.projectionOffset[0],d*n.refY+g+b.projectionOffset[1]]),!u||u.chartWidth!==this.oldChartBounds.chartWidth||u.chartHeight!==this.oldChartBounds.chartHeight}}mc.id="projection";mc.defaults={projection:"albersUsa",projectionScale:1,projectionOffset:[0,0],padding:0};mc.descriptors={_scriptable:e=>e!=="projection",_indexable:e=>e!=="projectionOffset"};const _y={position:"chartArea",property:"value",grid:{z:1,drawOnChartArea:!1},ticks:{z:1},legend:{align:"right",position:"bottom-right",length:100,width:50,margin:8,indicatorWidth:10}};function Ghe(e){const{indicatorWidth:t,align:n,margin:r}=e,o=(typeof r=="number"?r:r.left)+(n==="right"?t:0),i=(typeof r=="number"?r:r.top)+(n==="bottom"?t:0),s=(typeof r=="number"?r:r.right)+(n==="left"?t:0),a=(typeof r=="number"?r:r.bottom)+(n==="top"?t:0);return{left:o,top:i,right:s,bottom:a}}function Yhe(e,t,n,r,o){const{indicatorWidth:i,align:s,position:a}=t,l=s==="top"||s==="bottom",c=(s==="left"?o.w:n)+(l?i:0),u=(s==="top"?o.h:r)+(l?0:i),d=Ghe(t);if(typeof a=="string")switch(a){case"top-left":return[d.left,d.top];case"top":return[(e.right-c)/2,d.top];case"left":return[d.left,(e.bottom-u)/2];case"top-right":return[e.right-c-d.right,d.top];case"bottom-right":return[e.right-c-d.right,e.bottom-u-d.bottom];case"bottom":return[(e.right-c)/2,e.bottom-u-d.bottom];case"bottom-left":return[d.left,e.bottom-u-d.bottom];default:return[e.right-c-d.right,(e.bottom-u)/2]}return[a.x,a.y]}class Xc extends Yl{constructor(){super(...arguments),this.legendSize={w:0,h:0}}init(t){t.position="chartArea",super.init(t),this.axis="r"}parse(t,n){return t&&typeof t[this.options.property]=="number"?t[this.options.property]:super.parse(t,n)}isHorizontal(){return this.options.legend.align==="top"||this.options.legend.align==="bottom"}_getNormalizedValue(t){return t==null||Number.isNaN(t)?null:(t-this._startValue)/this._valueRange}update(t,n,r){const o=Math.min(n,this.bottom==null?Number.POSITIVE_INFINITY:this.bottom),i=Math.min(t,this.right==null?Number.POSITIVE_INFINITY:this.right),s=this.options.legend,a=this.isHorizontal(),l=(p,m)=>p<1?m*p:p,c=Math.min(i,l(a?s.length:s.width,i))-(a?0:s.indicatorWidth),u=Math.min(o,l(a?s.width:s.length,o))-(a?s.indicatorWidth:0);this.legendSize={w:c,h:u},this.bottom=u,this.height=u,this.right=c,this.width=c;const d=this.options.position;this.options.position=this.options.legend.align;const h=super.update(c,u,r);return this.options.position=d,this.height=Math.min(u,this.height),this.width=Math.min(c,this.width),h}_computeLabelArea(){}draw(t){if(!this._isVisible())return;const n=Yhe(t,this.options.legend,this.width,this.height,this.legendSize),{ctx:r}=this;r.save(),r.translate(n[0],n[1]);const o=this.options.position;this.options.position=this.options.legend.align,super.draw({...t,bottom:this.height+10,right:this.width}),this.options.position=o;const{indicatorWidth:i}=this.options.legend;switch(this.options.legend.align){case"left":r.translate(this.legendSize.w,0);break;case"top":r.translate(0,this.legendSize.h);break;case"bottom":r.translate(0,-i);break;default:r.translate(-i,0);break}this._drawIndicator(),r.restore()}_drawIndicator(){}}class o6 extends Wu{constructor(){super(...arguments),this.legendSize={w:0,h:0}}init(t){Xc.prototype.init.call(this,t)}parse(t,n){return Xc.prototype.parse.call(this,t,n)}isHorizontal(){return this.options.legend.align==="top"||this.options.legend.align==="bottom"}_getNormalizedValue(t){return t==null||Number.isNaN(t)?null:(Math.log10(t)-this._startValue)/this._valueRange}update(t,n,r){return Xc.prototype.update.call(this,t,n,r)}_computeLabelArea(){}draw(t){return Xc.prototype.draw.call(this,t)}_drawIndicator(){}}const os={interpolateBlues:yhe,interpolateBrBG:Mfe,interpolateBuGn:Yfe,interpolateBuPu:Xfe,interpolateCividis:Dhe,interpolateCool:Ihe,interpolateCubehelixDefault:Mhe,interpolateGnBu:Zfe,interpolateGreens:xhe,interpolateGreys:Che,interpolateInferno:zhe,interpolateMagma:$he,interpolateOrRd:ehe,interpolateOranges:Nhe,interpolatePRGn:Ife,interpolatePiYG:Tfe,interpolatePlasma:Bhe,interpolatePuBu:ohe,interpolatePuBuGn:nhe,interpolatePuOr:Ofe,interpolatePuRd:she,interpolatePurples:Ehe,interpolateRainbow:jhe,interpolateRdBu:Lfe,interpolateRdGy:zfe,interpolateRdPu:lhe,interpolateRdYlBu:Vfe,interpolateRdYlGn:Wfe,interpolateReds:khe,interpolateSinebow:Ohe,interpolateSpectral:qfe,interpolateTurbo:Fhe,interpolateViridis:Lhe,interpolateWarm:Phe,interpolateYlGn:fhe,interpolateYlGnBu:uhe,interpolateYlOrBr:phe,interpolateYlOrRd:ghe};Object.keys(os).forEach(e=>{os[`${e.charAt(11).toLowerCase()}${e.slice(12)}`]=os[e],os[e.slice(11)]=os[e]});function i6(e,t){const n=1/t;if(e<=n)return 0;if(e>=1-n)return 1;for(let r=0;r<1;r+=n)if(e<r)return r-n/2;return e}const s6={interpolate:"blues",missing:"transparent",quantize:0};class ya extends Xc{get interpolate(){const t=this.options;return t?typeof t.interpolate=="function"?t.interpolate:os[t.interpolate]||os.blues:n=>`rgb(${n},${n},${n})`}getColorForValue(t){const n=this._getNormalizedValue(t);return n==null||Number.isNaN(n)?this.options.missing:this.getColor(n)}getColor(t){let n=t;return this.options.quantize>0&&(n=i6(n,this.options.quantize)),this.interpolate(n)}_drawIndicator(){const{indicatorWidth:t}=this.options.legend,n=this._reversePixels;if(this.isHorizontal()){const r=this.width;if(this.options.quantize>0){const o=r/this.options.quantize,i=n?s=>r-o-s:s=>s;for(let s=0;s<r;s+=o){const a=(s+o/2)/r;this.ctx.fillStyle=this.getColor(a),this.ctx.fillRect(i(s),0,o,t)}}else{const o=n?i=>r-1-i:i=>i;for(let i=0;i<r;i+=1)this.ctx.fillStyle=this.getColor((i+.5)/r),this.ctx.fillRect(o(i),0,1,t)}}else{const r=this.height;if(this.options.quantize>0){const o=r/this.options.quantize,i=n?s=>r-o-s:s=>s;for(let s=0;s<r;s+=o){const a=(s+o/2)/r;this.ctx.fillStyle=this.getColor(a),this.ctx.fillRect(0,i(s),t,o)}}else{const o=n?i=>r-1-i:i=>i;for(let i=0;i<r;i+=1)this.ctx.fillStyle=this.getColor((i+.5)/r),this.ctx.fillRect(0,o(i),t,1)}}}}ya.id="color";ya.defaults=kn({},[Yl.defaults,_y,s6]);ya.descriptors={_scriptable:e=>e!=="interpolate",_indexable:!1};class S_ extends o6{constructor(){super(...arguments),this.interpolate=t=>`rgb(${t},${t},${t})`}init(t){super.init(t),typeof t.interpolate=="function"?this.interpolate=t.interpolate:this.interpolate=os[t.interpolate]||os.blues}getColorForValue(t){return ya.prototype.getColorForValue.call(this,t)}getColor(t){let n=t;return this.options.quantize>0&&(n=i6(n,this.options.quantize)),this.interpolate(n)}_drawIndicator(){return ya.prototype._drawIndicator.call(this)}}S_.id="colorLogarithmic";S_.defaults=kn({},[Wu.defaults,_y,s6]);S_.descriptors={_scriptable:e=>e!=="interpolate",_indexable:!1};const a6={missing:1,mode:"area",range:[2,20],legend:{align:"bottom",length:90,width:70,indicatorWidth:42}};class va extends Xc{constructor(){super(...arguments),this._model=null}getSizeForValue(t){const n=this._getNormalizedValue(t);return n==null||Number.isNaN(n)?this.options.missing:this.getSizeImpl(n)}getSizeImpl(t){const[n,r]=this.options.range;if(this.options.mode==="area"){const i=r*r*Math.PI,s=n*n*Math.PI,a=i-s,l=t*a+s;return Math.sqrt(l/Math.PI)}const o=r-n;return t*o+n}_drawIndicator(){const{ctx:t}=this,n=this.options.legend.indicatorWidth/2,r=this.isHorizontal(),o=this.ticks,i=this.getLabelItems(),s=i?i.map(a=>({[r?"x":"y"]:a.options.translation[r?0:1]})):o.map((a,l)=>({[r?"x":"y"]:this.getPixelForTick(l)}));if((this._gridLineItems||[]).forEach(a=>{if(t.save(),t.strokeStyle=a.color,t.lineWidth=a.width,t.setLineDash&&(t.setLineDash(a.borderDash),t.lineDashOffset=a.borderDashOffset),t.beginPath(),this.options.grid.drawTicks)switch(this.options.legend.align){case"left":t.moveTo(0,a.ty1),t.lineTo(n,a.ty2);break;case"top":t.moveTo(a.tx1,0),t.lineTo(a.tx2,n);break;case"bottom":t.moveTo(a.tx1,n),t.lineTo(a.tx2,n*2);break;default:t.moveTo(n,a.ty1),t.lineTo(n*2,a.ty2);break}t.stroke(),t.restore()}),this._model){const a=this._model;t.strokeStyle=a.borderColor,t.lineWidth=a.borderWidth||0,t.fillStyle=a.backgroundColor}else t.fillStyle="blue";o.forEach((a,l)=>{const c=s[l],u=this.getSizeForValue(a.value),d=r?c.x:n,h=r?n:c.y,p={pointStyle:"circle",borderWidth:0,...this._model||{},radius:u};yb(t,p,d,h)})}}va.id="size";va.defaults=kn({},[Yl.defaults,_y,a6]);va.descriptors={_scriptable:!0,_indexable:e=>e!=="range"};class l6 extends o6{constructor(){super(...arguments),this._model=null}getSizeForValue(t){const n=this._getNormalizedValue(t);return n==null||Number.isNaN(n)?this.options.missing:this.getSizeImpl(n)}getSizeImpl(t){return va.prototype.getSizeImpl.call(this,t)}_drawIndicator(){va.prototype._drawIndicator.call(this)}}l6.id="sizeLogarithmic";l6.defaults=kn({},[Wu.defaults,_y,a6]);function Khe(e,t){return[[e[0][0]-t,e[0][1]-t],[e[1][0]+t,e[1][1]+t]]}class ws extends zi{constructor(){super(...arguments),this.cache=void 0}inRange(t,n){const r=this.getBounds(),o=(Number.isNaN(t)||t>=r.x&&t<=r.x2)&&(Number.isNaN(n)||n>=r.y&&n<=r.y2),i=this.projectionScale.geoPath.projection();if(o&&!Number.isNaN(t)&&!Number.isNaN(n)&&typeof i.invert=="function"){const s=i.invert([t,n]);return s!=null&&Ede(this.feature,s)}return o}inXRange(t){return this.inRange(t,Number.NaN)}inYRange(t){return this.inRange(Number.NaN,t)}getCenterPoint(){if(this.cache&&this.cache.center)return this.cache.center;let t;if(this.center){const n=this.projectionScale.projection([this.center.longitude,this.center.latitude]);t={x:n[0],y:n[1]}}else{const n=this.projectionScale.geoPath.centroid(this.feature);t={x:n[0],y:n[1]}}return this.cache={...this.cache||{},center:t},t}getBounds(){if(this.cache&&this.cache.bounds)return this.cache.bounds;const t=Khe(this.projectionScale.geoPath.bounds(this.feature),this.options.borderWidth/2),n={x:t[0][0],x2:t[1][0],y:t[0][1],y2:t[1][1],width:t[1][0]-t[0][0],height:t[1][1]-t[0][1]};return this.cache={...this.cache||{},bounds:n},n}_drawInCache(t){const n=this.getBounds();if(!Number.isFinite(n.x))return;const r=this.cache&&this.cache.canvas?this.cache.canvas:t.createElement("canvas"),o=Math.floor(n.x),i=Math.floor(n.y),s=Math.ceil(n.x+n.width),a=Math.ceil(n.y+n.height),l=this.pixelRatio||1,c=Math.ceil(Math.max(s-o,1)*l),u=Math.ceil(Math.max(a-i,1)*l);if(c<=0||u<=0)return;r.width=c,r.height=u;const d=r.getContext("2d");d&&(d.clearRect(0,0,r.width,r.height),d.save(),d.scale(l,l),d.translate(-o,-i),this._drawImpl(d),d.restore(),this.cache={...this.cache||{},canvas:r,canvasKey:this._optionsToKey()})}_optionsToKey(){const{options:t}=this;return`${t.backgroundColor};${t.borderColor};${t.borderWidth};${this.pixelRatio}`}_drawImpl(t){const{feature:n}=this,{options:r}=this;t.beginPath(),this.projectionScale.geoPath.context(t)(n),r.backgroundColor&&(t.fillStyle=r.backgroundColor,t.fill()),r.borderColor&&(t.strokeStyle=r.borderColor,t.lineWidth=r.borderWidth,t.stroke())}draw(t){const{feature:n}=this;if(!n)return;(!this.cache||this.cache.canvasKey!==this._optionsToKey())&&t.canvas.ownerDocument!=null&&this._drawInCache(t.canvas.ownerDocument);const r=this.getBounds();if(this.cache&&this.cache.canvas&&this.cache.canvas.width>0&&this.cache.canvas.height>0){const o=Math.floor(r.x),i=Math.floor(r.y),s=Math.ceil(r.x+r.width),a=Math.ceil(r.y+r.height),l=s-o,c=a-i;l>0&&c>0&&t.drawImage(this.cache.canvas,o,i,s-o,a-i)}else Number.isFinite(r.x)&&(t.save(),this._drawImpl(t),t.restore())}}ws.id="geoFeature";ws.defaults={...xi.defaults,outlineBackgroundColor:null,outlineBorderWidth:0,graticuleBorderColor:"#CCCCCC",graticuleBorderWidth:0};ws.defaultRoutes={outlineBorderColor:"borderColor",...xi.defaultRoutes||{}};const c6={showOutline:!1,showGraticule:!1,clipMap:!0},u6={scales:{projection:{axis:"x",type:mc.id,position:"chartArea",display:!1}}};function sI(e){const t={...e};return Object.keys(e).forEach(n=>{let r=n;if(n.startsWith("outline")){const o=n.slice(7);r=o[0].toLowerCase()+o.slice(1)}else if(n.startsWith("hoverOutline"))r=`hover${n.slice(12)}`;else return;delete t[n],t[r]=e[n]}),t}class d6 extends Eo{getGeoDataset(){return super.getDataset()}getGeoOptions(){return this.chart.options}getProjectionScale(){return this.getScaleForId("projection")}linkScales(){const t=this.getGeoDataset(),n=this.getMeta();n.xAxisID="projection",t.xAxisID="projection",n.yAxisID="projection",t.yAxisID="projection",n.xScale=this.getScaleForId("projection"),n.yScale=this.getScaleForId("projection"),this.getProjectionScale().computeBounds(this.resolveOutline())}showOutline(){return Be(this.getGeoDataset().showOutline,this.getGeoOptions().showOutline)}clipMap(){return Be(this.getGeoDataset().clipMap,this.getGeoOptions().clipMap)}getGraticule(){return Be(this.getGeoDataset().showGraticule,this.getGeoOptions().showGraticule)}update(t){super.update(t);const n=this.getMeta(),r=this.getProjectionScale(),o=r.updateBounds();if(this.showOutline()){const i=n.dataset;if(o&&delete i.cache,i.projectionScale=r,i.pixelRatio=this.chart.currentDevicePixelRatio,t!=="resize"){const s=sI(this.resolveDatasetElementOptions(t)),a={feature:this.resolveOutline(),options:s};this.updateElement(i,void 0,a,t),this.getGraticule()&&(n.graticule=s)}}else this.getGraticule()&&t!=="resize"&&(n.graticule=sI(this.resolveDatasetElementOptions(t)));this.updateElements(n.data,0,n.data.length,t),o&&n.data.forEach(i=>delete i.cache)}resolveOutline(){const n=this.getGeoDataset().outline||{type:"Sphere"};return Array.isArray(n)?{type:"FeatureCollection",features:n}:n}showGraticule(){const t=this.getGraticule(),n=this.getMeta().graticule;if(!t||!n)return;const{ctx:r}=this.chart,i=this.getProjectionScale().geoPath.context(r);if(r.save(),r.beginPath(),typeof t=="boolean")t&&i(_de());else{const s=k$();t.stepMajor&&s.stepMajor(t.stepMajor),t.stepMinor&&s.stepMinor(t.stepMinor),i(s())}r.strokeStyle=n.graticuleBorderColor,r.lineWidth=n.graticuleBorderWidth,r.stroke(),r.restore()}draw(){const{chart:t}=this,n=this.clipMap();let r=!1;(n===!0||n==="outline"||n==="outline+graticule")&&(r=!0,Sl(t.ctx,t.chartArea)),this.showOutline()&&this.getMeta().dataset&&this.getMeta().dataset.draw.call(this.getMeta().dataset,t.ctx,t.chartArea),n===!0||n==="graticule"||n==="outline+graticule"?r||Sl(t.ctx,t.chartArea):r&&(r=!1,El(t.ctx)),this.showGraticule(),n===!0||n==="items"?r||Sl(t.ctx,t.chartArea):r&&(r=!1,El(t.ctx)),this.getMeta().data.forEach(o=>o.draw.call(o,t.ctx,t.chartArea)),r&&(r=!1,El(t.ctx))}}function f6(e,t,n,r=[],o=[]){wn.addControllers(n),Array.isArray(r)?wn.addElements(...r):wn.addElements(r),Array.isArray(o)?wn.addScales(...o):wn.addScales(o);const i=t;return i.type=e,i}class yd extends d6{initialize(){super.initialize(),this.enableOptionSharing=!0}linkScales(){super.linkScales();const t=this.getGeoDataset(),n=this.getMeta();n.vAxisID="color",n.rAxisID="color",t.vAxisID="color",t.rAxisID="color",n.rScale=this.getScaleForId("color"),n.vScale=n.rScale,n.iScale=n.xScale,n.iAxisID=n.xAxisID,t.iAxisID=n.xAxisID}_getOtherScale(t){return t}parse(t,n){const r=this.getMeta().rScale,{data:o}=this.getDataset(),i=this._cachedMeta;for(let s=t;s<t+n;s+=1)i._parsed[s]={[r.axis]:r.parse(o[s],s)}}updateElements(t,n,r,o){const i=this.resolveDataElementOptions(n,o),s=this.getSharedOptions(i),a=this.includeOptions(o,s),l=this.getProjectionScale();this.updateSharedOptions(s,o,i);for(let c=n;c<n+r;c+=1){const u=t[c];u.projectionScale=l,u.feature=this._data[c].feature,u.center=this._data[c].center,u.pixelRatio=this.chart.currentDevicePixelRatio;const d=u.getCenterPoint(),h={x:d.x,y:d.y};a&&(h.options=s||this.resolveDataElementOptions(c,o)),this.updateElement(u,c,h,o)}}indexToColor(t){const n=this.getMeta().rScale;return n.getColorForValue(this.getParsed(t)[n.axis])}}yd.id="choropleth";yd.defaults=kn({},[c6,{datasetElementType:ws.id,dataElementType:ws.id}]);yd.overrides=kn({},[u6,{plugins:{tooltip:{callbacks:{title(){return""},label(e){var t,n,r,o;return e.formattedValue==null?(n=(t=e.chart.data)===null||t===void 0?void 0:t.labels)===null||n===void 0?void 0:n[e.dataIndex]:`${(o=(r=e.chart.data)===null||r===void 0?void 0:r.labels)===null||o===void 0?void 0:o[e.dataIndex]}: ${e.formattedValue}`}}},colors:{enabled:!1}},scales:{color:{type:ya.id,axis:"x"}},elements:{geoFeature:{backgroundColor(e){return e.dataIndex==null?null:e.chart.getDatasetMeta(e.datasetIndex).controller.indexToColor(e.dataIndex)}}}}]);class Xhe extends Vt{constructor(t,n){super(t,f6("choropleth",n,yd,ws,[ya,mc]))}}Xhe.id=yd.id;class vd extends d6{initialize(){super.initialize(),this.enableOptionSharing=!0}linkScales(){super.linkScales();const t=this.getGeoDataset(),n=this.getMeta();n.vAxisID="size",n.rAxisID="size",t.vAxisID="size",t.rAxisID="size",n.rScale=this.getScaleForId("size"),n.vScale=n.rScale,n.iScale=n.xScale,n.iAxisID=n.xAxisID,t.iAxisID=n.xAxisID}_getOtherScale(t){return t}parse(t,n){const r=this.getMeta().rScale,o=this.getDataset().data,i=this._cachedMeta;for(let s=t;s<t+n;s+=1){const a=o[s];i._parsed[s]={x:a.longitude==null?a.x:a.longitude,y:a.latitude==null?a.y:a.latitude,[r.axis]:r.parse(a,s)}}}updateElements(t,n,r,o){const i=o==="reset",s=this.resolveDataElementOptions(n,o),a=this.getSharedOptions(s),l=this.includeOptions(o,a),c=this.getProjectionScale();this.getMeta().rScale._model=s,this.updateSharedOptions(a,o,s);for(let u=n;u<n+r;u+=1){const d=t[u],h=this.getParsed(u),p=c.projection([h.x,h.y]),m={x:p?p[0]:0,y:p?p[1]:0,skip:Number.isNaN(h.x)||Number.isNaN(h.y)};l&&(m.options=a||this.resolveDataElementOptions(u,o),i&&(m.options.radius=0)),this.updateElement(d,u,m,o)}}indexToRadius(t){const n=this.getMeta().rScale;return n.getSizeForValue(this.getParsed(t)[n.axis])}}vd.id="bubbleMap";vd.defaults=kn({},[c6,{dataElementType:Nl.id,datasetElementType:ws.id,showOutline:!0,clipMap:"outline+graticule"}]);vd.overrides=kn({},[u6,{plugins:{tooltip:{callbacks:{title(){return""},label(e){var t,n,r,o;return e.formattedValue==null?(n=(t=e.chart.data)===null||t===void 0?void 0:t.labels)===null||n===void 0?void 0:n[e.dataIndex]:`${(o=(r=e.chart.data)===null||r===void 0?void 0:r.labels)===null||o===void 0?void 0:o[e.dataIndex]}: ${e.formattedValue}`}}}},scales:{size:{axis:"x",type:va.id}},elements:{point:{radius(e){return e.dataIndex==null?null:e.chart.getDatasetMeta(e.datasetIndex).controller.indexToRadius(e.dataIndex)},hoverRadius(e){return e.dataIndex==null?null:e.chart.getDatasetMeta(e.datasetIndex).controller.indexToRadius(e.dataIndex)+1}}}}]);class Qhe extends Vt{constructor(t,n){super(t,f6("bubbleMap",n,vd,ws,[va,mc]))}}Qhe.id=vd.id;function Zhe(e){var n;return{...e,type:"bar",options:{...e==null?void 0:e.options,indexAxis:"y",scales:{x:{display:!0},y:{display:!0}},plugins:{...(n=e==null?void 0:e.options)==null?void 0:n.plugins,legend:{position:"bottom",align:"center"}}}}}function Jhe(e){var n;return{...e,type:"bar",options:{...e==null?void 0:e.options,indexAxis:"y",scales:{x:{beginAtZero:!0,stack:1,reverse:!0},y:{stacked:!0,beginAtZero:!0}},plugins:{...(n=e==null?void 0:e.options)==null?void 0:n.plugins,legend:{position:"bottom",align:"center"}}}}}function epe(e){var n;return{...e,type:"bar",options:{...e==null?void 0:e.options,scales:{x:{display:!0},y:{display:!0}},plugins:{...(n=e==null?void 0:e.options)==null?void 0:n.plugins,legend:{position:"bottom",align:"center"}}}}}function tpe(e,t=!1){var r;return{...e,type:"bar",options:{...e==null?void 0:e.options,indexAxis:"y",scales:{x:{display:!0,beginAtZero:!1},y:{display:!0,stacked:t}},plugins:{...(r=e==null?void 0:e.options)==null?void 0:r.plugins,legend:{position:"bottom",align:"center"}}}}}function npe(e,t){var r,o,i,s,a;return{...e,type:t==="stackedBar"?"bar":"line",options:{...e==null?void 0:e.options,scales:{x:{...(o=(r=e==null?void 0:e.options)==null?void 0:r.scales)==null?void 0:o.x,display:!0,stacked:!0},y:{...(s=(i=e==null?void 0:e.options)==null?void 0:i.scales)==null?void 0:s.y,display:!0,stacked:t==="stackedBar"}},plugins:{...(a=e==null?void 0:e.options)==null?void 0:a.plugins,legend:{display:!1,position:"bottom",align:"center"}}}}}function rpe(e){var n;return{...e,type:"line",options:{...e==null?void 0:e.options,scales:{x:{display:!0},y:{display:!0}},plugins:{...(n=e==null?void 0:e.options)==null?void 0:n.plugins,legend:{position:"bottom",align:"center"}}}}}function ope(e,t){var r;return{...t,type:e,options:{...t==null?void 0:t.options,scales:{x:{display:!1},y:{display:!1}},plugins:{...(r=t==null?void 0:t.options)==null?void 0:r.plugins,legend:{position:"bottom",align:"center",maxHeight:0,labels:{useBorderRadius:!0,borderRadius:2}}},borderRadius:0}}}function ipe(e){var r,o;const t=re.getState().theme;let n={...e,type:"radar",options:{...e==null?void 0:e.options,scales:{x:{display:!1},y:{display:!1},r:{grid:{display:!0},angleLines:{},ticks:{}}},plugins:{...(r=e==null?void 0:e.options)==null?void 0:r.plugins,legend:{position:"bottom",align:"center"}}}};return t==="dark"&&(n={...n,options:{...n.options,scales:{...(o=n==null?void 0:n.options)==null?void 0:o.scales,r:{grid:{color:Pt.slate[800]},angleLines:{color:Pt.slate[800]},ticks:{color:Pt.slate[800],showLabelBackdrop:!1}}}}}),n}function spe(e,t,n){const r={interaction:{mode:"point"},plugins:{tooltip:{callbacks:{label:function(i){var p;const s=i.dataset.label,a=i.dataIndex,l=i.dataset.data,c=(p=l==null?void 0:l[a])==null?void 0:p.label,u=n==null?void 0:n[0],d=n==null?void 0:n[1],h=n==null?void 0:n[2];if(t==="bubble")return c?`${s} (${c}): ${u}: ${i.raw.x.toFixed(2)}, ${d}: ${i.raw.y.toFixed(2)}, ${h}: ${i.raw.r.toFixed(2)}`:`${s}: ${u}: ${i.raw.x.toFixed(2)}, ${d}: ${i.raw.y.toFixed(2)}, ${h}: ${i.raw.r.toFixed(2)}`;if(t==="scatter")return c?`${s} (${c}): ${u}: ${i.raw.x.toFixed(2)}, ${d}: ${i.raw.y.toFixed(2)}`:`${s}: ${u}: ${i.raw.x.toFixed(2)}, ${d}: ${i.raw.y.toFixed(2)}`}}},datalabels:{display:!1}},scales:{x:{title:{display:!0,text:n[0]},beginAtZero:!0,ticks:{precision:0}},y:{title:{display:!0,text:n[1]},beginAtZero:!0,ticks:{precision:0}}}};return{...e,options:{...e==null?void 0:e.options,...r}}}function ape({data:e,cfg:t,customCfg:n,preferences:r,cardType:o}){var R,N,D,I,P;const i=((R=r==null?void 0:r.chartOptions)==null?void 0:R.indexAxis)||"y",s={...t,options:{indexAxis:i}},{keys:a}=un(e),l=[a[1]],c=K5(l,e),u=Cl(c,n);u.forEach((A,F)=>{var T,O,$;A.shrinkAnchor=(($=(O=(T=n==null?void 0:n.data)==null?void 0:T.datasets)==null?void 0:O[F])==null?void 0:$.shrinkAnchor)||"top"});const{plugins:d,options:h}=gy((r==null?void 0:r.customVisualCode)||""),p=a[0],m=ep(e,p),g=Vn((s==null?void 0:s.options)||{},(n==null?void 0:n.options)||{}),b=Vn(g,(r==null?void 0:r.chartOptions)||{});Array(u.length).fill(!0);const y=e.map(A=>A[p]),v=e.map(A=>A[l[0]]),x=(N=u[0])==null?void 0:N.backgroundColor.slice(),E={...b,plugins:{...b.plugins,legend:{...(D=b.plugins)==null?void 0:D.legend,labels:{generateLabels:A=>{const F=A.data.labels;return y.map((T,O)=>({text:T,fillStyle:x[O],hidden:!F.includes(T.toString()),index:O,datasetIndex:0,lineWidth:0}))}},onClick:(A,F,T)=>{const O=T.chart,$=F.index,V=y[$],z=O.data.datasets[0],j=O.data.labels,W=z.data,L=z.backgroundColor,M=j.indexOf(V.toString());M>=0?(j.splice(M,1),W.splice(M,1),L.splice(M,1)):(j.splice($,0,y[$].toString()),W.splice($,0,Number(v[$])),L.splice($,0,x[$])),O.update()}},datalabels:{...(I=b.plugins)==null?void 0:I.datalabels,anchor:A=>A.dataset.data[A.dataIndex]<.02?"end":"start",align:A=>A.dataset.data[A.dataIndex]<.02?"end":"center",textAlign:"center",font:{size:14},formatter:(A,F)=>{var T,O,$,V;return or({number:Number(A),decimalPlaces:((T=r==null?void 0:r.numberAxisFormat)==null?void 0:T.decimalPlaces)||0,useSuffix:!!((O=r==null?void 0:r.numberAxisFormat)!=null&&O.suffix),customSuffix:"",locale:(($=r==null?void 0:r.numberAxisFormat)==null?void 0:$.locale)||"",currency:((V=r==null?void 0:r.numberAxisFormat)==null?void 0:V.currency)||""})}},tooltip:{...(P=b.plugins)==null?void 0:P.tooltip,callbacks:{title:function(A){var V,z,j,W;const T=((z=(V=A==null?void 0:A[0])==null?void 0:V.dataset)==null?void 0:z.data).reduce((L,M)=>L+M,0),$=(((j=A==null?void 0:A[0])==null?void 0:j.parsed[i==="x"?"y":"x"])/T*100).toFixed(2);return`${(W=A==null?void 0:A[0])==null?void 0:W.label} (${$}%)`},label:function(A){var W,L,M,H;A.dataset.label;const F=A.dataset.data;F.reduce((B,G)=>B+G,0);const T=A.parsed[i==="x"?"y":"x"],O=F.indexOf(T),$=F[O-1],V=or({number:Number(T),decimalPlaces:((W=r==null?void 0:r.numberAxisFormat)==null?void 0:W.decimalPlaces)||0,useSuffix:!!((L=r==null?void 0:r.numberAxisFormat)!=null&&L.suffix),customSuffix:"",locale:((M=r==null?void 0:r.numberAxisFormat)==null?void 0:M.locale)||"",currency:((H=r==null?void 0:r.numberAxisFormat)==null?void 0:H.currency)||""});let z=0;return $!==void 0&&(z=Number((T/$*100).toFixed(2))),V+($!==void 0?` | Conversion: ${z}%`:"")}}}}},_=Vn(b,E),S=Vn(_,h);return delete S.scales,{type:o,data:{labels:m,datasets:u},options:S,plugins:[...d]}}function lpe({data:e,cfg:t,customCfg:n,preferences:r}){var _,S;const o=tpe(t),i=cpe(e),s=Cl(i,n),{plugins:a,options:l}=gy((r==null?void 0:r.customVisualCode)||""),c=Vn((o==null?void 0:o.options)||{},(t==null?void 0:t.options)||{}),u=Vn(c,(r==null?void 0:r.chartOptions)||{}),d=Vn(u,(n==null?void 0:n.options)||{}),h={...d,plugins:{...d==null?void 0:d.plugins,tooltip:{...(_=d==null?void 0:d.plugins)==null?void 0:_.tooltip,callbacks:{label:function(C){if(Array.isArray(C.raw)&&C.raw.every(R=>R===null))return null}}}}},p=Vn(h,l),m=bL(t,r),g=Vn(p,m),b={...g,plugins:{...g==null?void 0:g.plugins,datalabels:{...(S=g==null?void 0:g.plugins)==null?void 0:S.datalabels,formatter:(C,R)=>C.map(D=>{var I,P,A,F;return or({number:Number(D),decimalPlaces:((I=r==null?void 0:r.numberAxisFormat)==null?void 0:I.decimalPlaces)||0,useSuffix:!!((P=r==null?void 0:r.numberAxisFormat)!=null&&P.suffix),customSuffix:"",locale:((A=r==null?void 0:r.numberAxisFormat)==null?void 0:A.locale)||"",currency:((F=r==null?void 0:r.numberAxisFormat)==null?void 0:F.currency)||""})}).slice(0,2).join(" - ")}}},{keys:y}=un(e),v=y[0];return{type:"bar",data:{labels:[...new Set(ep(e,v))],datasets:s},options:b,plugins:[...a]}}function cpe(e){var h,p,m,g;const{keys:t}=un(e),n=t.slice(0,2),r=t.slice(2),o=re.getState().themeStyle,i=(p=(h=o==null?void 0:o.chart)==null?void 0:h.dataset)==null?void 0:p.backgroundColor,s=(g=(m=o==null?void 0:o.chart)==null?void 0:m.dataset)==null?void 0:g.borderColor,a=n[1],l=n[0],c=[...new Set(e.map(b=>b==null?void 0:b[l]))];return[...new Set(e.map(b=>b==null?void 0:b[a]))].map((b,y)=>{const v=e.filter(_=>(_==null?void 0:_[a])===b),E=c.map(_=>{const S=v.filter(C=>(C==null?void 0:C[l])===_);return S.length===0?[[null,null,null]]:S.map(C=>[C==null?void 0:C[r[0]],C==null?void 0:C[r[1]],C==null?void 0:C[r[2]],_])}).flat();return{label:b,data:E,backgroundColor:i==null?void 0:i[y%i.length],borderColor:s==null?void 0:s[y%s.length],borderSkipped:!1}})}function upe({data:e,cfg:t,customCfg:n,preferences:r,cardType:o}){var x;const i=Jhe(t),{keys:s}=un(e),a=L0({dataArray:e,groupKey:s[0],pivotKey:s[1],valueKey:s[2]}),{keys:l}=un(a),c=l.slice(1),u=Y5(c,a,r),d=Cl(u,n),h=l[0],p=ep(a,h),{options:m,plugins:g}=hb({cardType:o,cfg:i,preferences:r,customCfg:n}),b={type:(n==null?void 0:n.type)||(i==null?void 0:i.type)||"bar",data:{labels:p,datasets:d},options:m,plugins:g},y="x2";return{...b,data:{...b.data,datasets:b.data.datasets.map((E,_)=>_===1?{...E,xAxisID:y}:E)},options:{...b.options,scales:{...(x=b==null?void 0:b.options)==null?void 0:x.scales,[y]:{beginAtZero:!0,stack:1}}}}}function E_({card:e,data:t,cardType:n="bar",cfg:r,customCfg:o,provider:i="chartjs",userSettings:s,preferences:a,topoJson:l,queryConfig:c}){var m,g,b,y,v,x,E,_;const u=e.config;let d=t;const h=u&&u.pivotByColumns&&u.pivotByColumns.length>0,p=u&&u.groupByColumns&&u.groupByColumns.length>0;if(h&&p&&(d=Xie(t,(u==null?void 0:u.metricColumns)||[])),n==="map"){if(!l)return null;const S=(m=a==null?void 0:a.mapVisualOptions)==null?void 0:m.objectKey;if(!S)return null;const C=Uhe(l,(g=l==null?void 0:l.objects)==null?void 0:g[S]).features;if(!C)return null;const R={plugins:{datalabels:{display:!1}},scales:{x:{display:!1,grid:{display:!1}},y:{display:!1,grid:{display:!1}},projection:{axis:"x",projection:((b=a==null?void 0:a.mapVisualOptions)==null?void 0:b.projection)||"mercator",projectionScale:((y=a==null?void 0:a.mapVisualOptions)==null?void 0:y.projectionScale)||1,projectionOffset:((v=a==null?void 0:a.mapVisualOptions)==null?void 0:v.projectionOffset)||[0,0]},color:{axis:"x",interpolate:((x=a==null?void 0:a.mapVisualOptions)==null?void 0:x.colorScale)||"blues",quantize:5,legend:{position:"bottom-right",align:"right"}}}},{keys:N}=un(d),D=C.map(O=>{var j;const $=N==null?void 0:N[0],V=N==null?void 0:N[1],z=(j=d.find(W=>(W==null?void 0:W[$])===O.properties.NAME||(W==null?void 0:W[$])===O.properties.name))==null?void 0:j[V];return{feature:O,value:z}}),P=Cl([{label:S,data:D,borderColor:"lightgray"}],o),A={type:"choropleth",data:{labels:C.map(O=>O.properties.NAME||O.properties.name),datasets:P},options:R},{options:F}=hb({cfg:A,preferences:a,customCfg:o,cardType:n});return{...A,options:F}}if(n==="bar"){const S=epe(r);return Mc({card:e,data:d,cfg:S,customCfg:o,cardType:n,preferences:a})}if(n==="horizontalBar"){const S=Zhe(r);return Mc({card:e,data:d,cfg:S,customCfg:o,cardType:n,preferences:a})}if(n==="funnel")return ape({data:d,cfg:r,customCfg:o,preferences:a,cardType:n});if(n==="tornado"||n==="pyramid")return upe({data:d,cfg:r,customCfg:o,preferences:a,cardType:n});if(n==="stackedBar"||n==="stackedLine"){const S=npe(r,n),{keys:C}=un(d);return(!h||!p)&&(d=L0({dataArray:d,groupKey:C[0],pivotKey:C[1],valueKey:C[2],sortChart:a==null?void 0:a.sortChart})),Mc({card:e,data:d,cfg:S,customCfg:o,cardType:n,preferences:a})}if(n==="line"){const S=rpe(r);return Mc({card:e,data:d,cfg:S,customCfg:o,cardType:n,preferences:a})}if(n==="range")return lpe({data:d,cfg:r,customCfg:o,preferences:a});if(n==="pie"||n==="doughnut"||n==="polarArea"){const S=ope(n,r),{keys:C}=un(d),R=C.slice(0,1),N=C.slice(1),D=K5(N,d),I=Cl(D,o),{plugins:P,options:A}=gy((a==null?void 0:a.customVisualCode)||""),F=R[0],T=ep(d,F),O=Vn((S==null?void 0:S.options)||{},(o==null?void 0:o.options)||{}),$=Vn(O,(a==null?void 0:a.chartOptions)||{}),V={...$,plugins:{...$.plugins,datalabels:{...(E=$.plugins)==null?void 0:E.datalabels,formatter:(M,H)=>{var B,G,q,Y;return or({number:Number(M),decimalPlaces:((B=a==null?void 0:a.numberAxisFormat)==null?void 0:B.decimalPlaces)||0,useSuffix:!!((G=a==null?void 0:a.numberAxisFormat)!=null&&G.suffix),customSuffix:"",locale:((q=a==null?void 0:a.numberAxisFormat)==null?void 0:q.locale)||"",currency:((Y=a==null?void 0:a.numberAxisFormat)==null?void 0:Y.currency)||""})}},tooltip:{...(_=$.plugins)==null?void 0:_.tooltip,callbacks:{label:function(M){var K,Z,ne,Q;M.dataset.label;const B=M.dataset.data.reduce((ie,te)=>ie+te,0),G=M.parsed,q=or({number:Number(G),decimalPlaces:((K=a==null?void 0:a.numberAxisFormat)==null?void 0:K.decimalPlaces)||0,useSuffix:!!((Z=a==null?void 0:a.numberAxisFormat)!=null&&Z.suffix),customSuffix:"",locale:((ne=a==null?void 0:a.numberAxisFormat)==null?void 0:ne.locale)||"",currency:((Q=a==null?void 0:a.numberAxisFormat)==null?void 0:Q.currency)||""}),Y=(G/B*100).toFixed(2);return q+` (${Y}%)`}}}}},z=Vn($,V),j=Vn(z,A);return{type:n,data:{labels:T,datasets:I},options:j,plugins:[n==="doughnut"?{id:"doughnutLabel",beforeDatasetsDraw:function(M,H,B){var te,ue,de,Re;const{ctx:G,data:q}=M;G.save();const Y=M.getDatasetMeta(0).data[0].x,K=M.getDatasetMeta(0).data[0].y,Z=Pu(Yf()),ne=window.getComputedStyle(G.canvas).fontFamily;G.font=`1em ${ne}`,G.fontWeight="bolder",G.fillStyle=Z,G.textAlign="center",G.textBaseline="middle";const Q=q.datasets[0].data.reduce((xe,Se)=>xe+Se,0),ie=or({number:Number(Q),decimalPlaces:((te=a==null?void 0:a.numberAxisFormat)==null?void 0:te.decimalPlaces)||0,useSuffix:!!((ue=a==null?void 0:a.numberAxisFormat)!=null&&ue.suffix),customSuffix:"",locale:((de=a==null?void 0:a.numberAxisFormat)==null?void 0:de.locale)||"",currency:((Re=a==null?void 0:a.numberAxisFormat)==null?void 0:Re.currency)||""});G.fillText(ie,Y,K)}}:"",...P]}}if(n==="radar"){const S=ipe(r);return Mc({card:e,data:d,cfg:S,customCfg:o,cardType:n,preferences:a})}if(n==="bubble"||n==="scatter"){const{metricKeys:S}=un(d),C=JZ(d,n),R=Cl(C,o),N=spe(r,n,S),{options:D}=hb({cardType:n,cfg:N,preferences:a,customCfg:o});return{type:n,data:{datasets:R},options:D}}return Mc({card:e,data:d,cfg:r,customCfg:o,cardType:n,preferences:a})}function dpe({chart:e,elementIndex:t,datasetIndex:n,cardType:r,cfg:o,apply:i}){const s=re.getState().theme;if(!o)return;const a=s==="dark"?"rgb(238,238,238,0.2)":"rgb(238,238,238,0.8)";["bar","line","horizontalBar","bubble","scatter"].includes(r)&&hpe(e,t,o,i,a),["pie","doughnut","polarArea","funnel"].includes(r)&&ppe(e,t,o,i,a),["stackedBar","pyramid"].includes(r)&&fpe({chart:e,elementIndex:t,datasetIndex:n,cfg:o,apply:i,blurColor:a})}function fpe(e){var a,l,c,u;const{chart:t,elementIndex:n,datasetIndex:r,cfg:o,apply:i,blurColor:s}=e;i?(l=(a=t==null?void 0:t.data)==null?void 0:a.datasets)==null||l.forEach((d,h)=>{var p,m;typeof d.backgroundColor=="string"&&(d.backgroundColor=new Array(d.data.length).fill(d.backgroundColor),d.borderColor=new Array(d.data.length).fill(d.borderColor)),d.backgroundColor=(p=d==null?void 0:d.backgroundColor)==null?void 0:p.map((g,b)=>b===n&&h===r?g:s),d.borderColor=(m=d==null?void 0:d.borderColor)==null?void 0:m.map((g,b)=>b===n&&h===r?g:s)}):(u=(c=t==null?void 0:t.data)==null?void 0:c.datasets)==null||u.forEach((d,h)=>{var p,m,g,b,y,v;d.backgroundColor=new Array(d.data.length).fill((g=(m=(p=o==null?void 0:o.data)==null?void 0:p.datasets)==null?void 0:m[h])==null?void 0:g.backgroundColor),d.borderColor=new Array(d.data.length).fill((v=(y=(b=o==null?void 0:o.data)==null?void 0:b.datasets)==null?void 0:y[h])==null?void 0:v.borderColor)}),t==null||t.update()}function hpe(e,t,n,r,o){var i,s,a,l;r?(s=(i=e==null?void 0:e.data)==null?void 0:i.datasets)==null||s.forEach(c=>{var u,d;typeof c.backgroundColor=="string"&&(c.backgroundColor=new Array(c.data.length).fill(c.backgroundColor),c.borderColor=new Array(c.data.length).fill(c.borderColor)),c.backgroundColor=(u=c==null?void 0:c.backgroundColor)==null?void 0:u.map((h,p)=>p===t?h:o),c.borderColor=(d=c==null?void 0:c.borderColor)==null?void 0:d.map((h,p)=>p===t?h:o)}):(l=(a=e==null?void 0:e.data)==null?void 0:a.datasets)==null||l.forEach((c,u)=>{var d,h,p,m,g,b;c.backgroundColor=new Array(c.data.length).fill((p=(h=(d=n==null?void 0:n.data)==null?void 0:d.datasets)==null?void 0:h[u])==null?void 0:p.backgroundColor),c.borderColor=new Array(c.data.length).fill((b=(g=(m=n==null?void 0:n.data)==null?void 0:m.datasets)==null?void 0:g[u])==null?void 0:b.borderColor)}),e==null||e.update()}function ppe(e,t,n,r,o){var i,s,a,l;r?(s=(i=e==null?void 0:e.data)==null?void 0:i.datasets)==null||s.forEach(c=>{var u,d;c.backgroundColor=(u=c==null?void 0:c.backgroundColor)==null?void 0:u.map((h,p)=>p===t?h:o),c.borderColor=(d=c==null?void 0:c.borderColor)==null?void 0:d.map((h,p)=>p===t?h:o)}):(l=(a=e==null?void 0:e.data)==null?void 0:a.datasets)==null||l.forEach((c,u)=>{var d,h,p,m,g,b,y,v;typeof c.backgroundColor=="string"&&(c.backgroundColor=(p=(h=(d=n==null?void 0:n.data)==null?void 0:d.datasets)==null?void 0:h[u])==null?void 0:p.backgroundColor,c.borderColor=(b=(g=(m=n==null?void 0:n.data)==null?void 0:m.datasets)==null?void 0:g[u])==null?void 0:b.borderColor),c.backgroundColor=(y=c==null?void 0:c.backgroundColor)==null?void 0:y.map((x,E)=>{var _;return(_=n.data.datasets[u].backgroundColor)==null?void 0:_[E]}),c.borderColor=(v=c==null?void 0:c.borderColor)==null?void 0:v.map((x,E)=>{var _;return(_=n.data.datasets[u].borderColor)==null?void 0:_[E]})}),e==null||e.update()}function mpe({card:e,data:t,datasetIndex:n,clickIndex:r,value:o}){var i,s,a,l,c,u,d;try{if(!t)return;const{keys:h}=un(t);if(e.type==="map"){const p=h[0],m=((s=(i=o==null?void 0:o.feature)==null?void 0:i.properties)==null?void 0:s.name)||((l=(a=o==null?void 0:o.feature)==null?void 0:a.properties)==null?void 0:l.NAME);return[{columnName:p,columnValue:m}]}if(["bar","horizontalBar","line","pie","doughnut","radar","polarArea","funnel"].includes(e.type)){const p=h[0],m=h.slice(1),g=(c=t[r])==null?void 0:c[p];return[{columnName:p,columnValue:g,metric:m[n],value:o}]}if(["stackedBar","pyramid"].includes(e.type)){const p=L0({dataArray:t,groupKey:h[0],pivotKey:h[1],valueKey:h[2]}),m=h[0],g=(u=p[r])==null?void 0:u[m],b=h[1],{keys:y}=un(p),x=y.slice(1)[n];return[{columnName:m,columnValue:g,metric:h[2],value:o},{columnName:b,columnValue:x,metric:h[2],value:o}]}if(e.type==="bubble"||e.type==="scatter"){const p=h[0],m=(d=t[n])==null?void 0:d[p];return console.log(o,"bubble"),[{columnName:p,columnValue:m,metric1:h[1],value1:o.x,metric2:h[2],value2:o.y,metric3:h==null?void 0:h[3],value3:o==null?void 0:o.r}]}}catch(h){console.error("Error in getAdhocFilter",h)}}function gpe(e,t){var r,o;if((((r=e.data.datasets)==null?void 0:r.filter(i=>!!i.fill))||[]).length>0){const i=(o=e==null?void 0:e.data.datasets)==null?void 0:o.map(a=>({...a,backgroundColor:[a.backgroundColor].map(l=>{const c=t.createLinearGradient(0,0,0,400);return c.addColorStop(0,l),c.addColorStop(.7,Kie("--semaphor-background")),c})}));return{...e,data:{...e.data,datasets:i}}}return e}function h6(e){var a,l,c,u,d,h;const t=(((l=(a=e.preferences)==null?void 0:a.mapVisualOptions)==null?void 0:l.topoJsonUrl)==="custom"?(u=(c=e.preferences)==null?void 0:c.mapVisualOptions)==null?void 0:u.customTopoJsonUrl:(h=(d=e.preferences)==null?void 0:d.mapVisualOptions)==null?void 0:h.topoJsonUrl)||"",n=!!t&&e.type==="map",{data:r,isLoading:o,isFetching:i,isError:s}=Tn({queryKey:["topojson",t],queryFn:()=>fetch(t).then(p=>p.json()),enabled:n,staleTime:1/0});return{data:r,isLoading:o,isFetching:i,isError:s}}function bpe(e){var s,a;const[t]=k.useState({id:"",title:"",type:"bar"}),{getCard:n}=on(),r=n(e),o=p6(r||t),i={...r,data:((s=o==null?void 0:o.data)==null?void 0:s.records)||[]};return{...o,data:((a=o==null?void 0:o.data)==null?void 0:a.records)||[],card:i}}function p6(e){var I;const{onChartElementClicked:t}=ar(),[n,r]=k.useState(0),o=re(P=>P.themeStyle),i=re(P=>P.filteringCards),s=re(P=>P.selectedSheetId),a=re(P=>P.selectedLensId),l=re(P=>P.filterValues),c=k.useRef(l),u=(I=e==null?void 0:e.preferences)==null?void 0:I.onClickFilter,{addFilteringCard:d,addOrUpdateFilterValues:h,removeFilterValues:p,removeFilteringCard:m}=on(),{data:g,isLoading:b,isFetching:y,isError:v,isPending:x,queryKey:E,isFilteringCard:_,isSingleCardFrame:S}=No(e),{data:C}=h6(e);let R;R=k.useMemo(()=>{if(!(!(g!=null&&g.records)||!(g!=null&&g.records.length)))return E_({card:e,data:g==null?void 0:g.records,cardType:e.type,queryConfig:e.queryConfig,customCfg:e.customCfg,preferences:e.preferences,topoJson:C})},[g==null?void 0:g.records,e,C,o]);const N=k.useRef({filteringCards:i});k.useEffect(()=>{e.connectionId&&!_&&(c.current=l)},[l,a,e.connectionId,_]),k.useEffect(()=>{var A;_&&(N.current.filteringCards=[...i||[]]),!_&&((A=N.current.filteringCards)==null?void 0:A.find(F=>F.id===e.id))&&S&&r(F=>F+1)},[_,S,e.id,i]);function D(P,A,F,T){var V;let O=!1;if(!(g!=null&&g.records))return;const $=mpe({card:e,data:g==null?void 0:g.records,datasetIndex:A,clickIndex:F,value:T});if(console.log("fieldValues",$),t==null||t(e,$),!!(((V=e==null?void 0:e.preferences)==null?void 0:V.onClickFilter)??[]).length){if(_){const z=e.id;p(z),m(e)}else{if(O=!0,!$)return;const z=[];$.forEach((j,W)=>{const L=u==null?void 0:u.find(H=>H.columnIndex===W);if(!L)return;const M={filterId:e.id+"-"+j.columnName+"-"+s,connectionId:e==null?void 0:e.connectionId,tableName:e.lastSelectedTable,name:j.columnName,expression:L.expression,valueType:v0($[L.columnIndex].columnValue),operation:"=",values:[$[L.columnIndex].columnValue]};z.push(M)}),h(z),d(e)}dpe({chart:P,elementIndex:F,datasetIndex:A,cardType:e.type,cfg:R,apply:O})}}return{isPending:x,isError:v,isLoading:b,isFetching:y,data:g,visualKey:n,handleDatapointClick:D,cfg:R,queryKey:E}}function Ci({children:e,containerClassName:t,className:n,text:r,onSave:o,type:i="input",placeholder:s,enabled:a}){const[l,c]=k.useState(!1),[u,d]=k.useState(r),h=re(y=>y.isDashboardEditing);k.useEffect(()=>{d(y=>y!==r?r:y)},[r]);const p=y=>{y.stopPropagation(),h&&c(!0)};function m(y){if(y.stopPropagation(),y.key==="Escape"){c(!1);return}y.key==="Enter"&&y.shiftKey||(y.key==="Enter"||y.key==="Tab")&&(c(!1),o(u))}function g(){return i==="textarea"?f.jsx("textarea",{className:oe("resize rounded-sm bg-background px-2 py-1 text-sm outline-[0.5px] outline-muted",n),onChange:y=>d(y.target.value),value:u,autoFocus:!0,placeholder:s,onBlur:()=>c(!1),onKeyDown:m}):f.jsx("input",{onMouseDown:y=>y.stopPropagation(),type:"text",className:oe("rounded-sm bg-background outline-none",n),onChange:y=>d(y.target.value),value:u,autoFocus:!0,placeholder:s,onBlur:()=>c(!1),onKeyDown:m})}function b(){return a?f.jsxs("div",{className:"flex grow items-center gap-2",children:[f.jsx("div",{children:l?g():e}),!l&&f.jsx(A5,{onClick:()=>c(!0),className:"hidden size-3 cursor-pointer text-muted-foreground group-hover/editable:block"})]}):e}return f.jsx("div",{className:oe("flex",t),role:"editable",onDoubleClick:p,onMouseDown:y=>y.stopPropagation(),children:f.jsx("div",{className:"group/editable flex grow items-center gap-2",children:b()})})}function __(e){const{authToken:t}=ar(),n=OG(t==null?void 0:t.accessToken);function r(){var i,s,a,l,c,u;if((s=(i=e.preferences)==null?void 0:i.formatNumber)!=null&&s.currency&&((l=(a=e.preferences)==null?void 0:a.formatNumber)==null?void 0:l.currency)!=="none")return n!=null&&n.currency?n==null?void 0:n.currency:(u=(c=e.preferences)==null?void 0:c.formatNumber)==null?void 0:u.currency}function o(){var i,s,a,l,c,u;return(s=(i=e.preferences)==null?void 0:i.formatNumber)!=null&&s.locale&&((l=(a=e.preferences)==null?void 0:a.formatNumber)==null?void 0:l.locale)!=="none"?n!=null&&n.locale?n==null?void 0:n.locale:(u=(c=e.preferences)==null?void 0:c.formatNumber)==null?void 0:u.locale:navigator.language||"en-US"}return{getCurrency:r,getLocale:o}}var ype="Toggle",m6=w.forwardRef((e,t)=>{const{pressed:n,defaultPressed:r=!1,onPressedChange:o,...i}=e,[s=!1,a]=ir({prop:n,onChange:o,defaultProp:r});return f.jsx(_e.button,{type:"button","aria-pressed":s,"data-state":s?"on":"off","data-disabled":e.disabled?"":void 0,...i,ref:t,onClick:fe(e.onClick,()=>{e.disabled||a(!s)})})});m6.displayName=ype;var g6=m6;const vpe=$0("inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent hover:bg-accent hover:text-accent-foreground"},size:{default:"h-10 px-3",sm:"h-9 px-2.5",lg:"h-11 px-5"}},defaultVariants:{variant:"default",size:"default"}}),xd=w.forwardRef(({className:e,variant:t,size:n,...r},o)=>f.jsx(g6,{ref:o,className:oe(vpe({variant:t,size:n,className:e})),...r}));xd.displayName=g6.displayName;var xpe=w.forwardRef((e,t)=>{const{children:n,...r}=e,o=w.Children.toArray(n),i=o.find(wpe);if(i){const s=i.props.children,a=o.map(l=>l===i?w.Children.count(s)>1?w.Children.only(null):w.isValidElement(s)?s.props.children:null:l);return f.jsx(VC,{...r,ref:t,children:w.isValidElement(s)?w.cloneElement(s,void 0,a):null})}return f.jsx(VC,{...r,ref:t,children:n})});xpe.displayName="Slot";var VC=w.forwardRef((e,t)=>{const{children:n,...r}=e;if(w.isValidElement(n)){const o=Spe(n),i=Cpe(r,n.props);return n.type!==w.Fragment&&(i.ref=t?wr(t,o):o),w.cloneElement(n,i)}return w.Children.count(n)>1?w.Children.only(null):null});VC.displayName="SlotClone";var b6=({children:e})=>f.jsx(f.Fragment,{children:e});function wpe(e){return w.isValidElement(e)&&e.type===b6}function Cpe(e,t){const n={...t};for(const r in t){const o=e[r],i=t[r];/^on[A-Z]/.test(r)?o&&i?n[r]=(...a)=>{i(...a),o(...a)}:o&&(n[r]=o):r==="style"?n[r]={...o,...i}:r==="className"&&(n[r]=[o,i].filter(Boolean).join(" "))}return{...e,...n}}function Spe(e){var r,o;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var[ky,a3e]=Mn("Tooltip",[$i]),Ry=$i(),y6="TooltipProvider",Epe=700,HC="tooltip.open",[_pe,k_]=ky(y6),R_=e=>{const{__scopeTooltip:t,delayDuration:n=Epe,skipDelayDuration:r=300,disableHoverableContent:o=!1,children:i}=e,[s,a]=w.useState(!0),l=w.useRef(!1),c=w.useRef(0);return w.useEffect(()=>{const u=c.current;return()=>window.clearTimeout(u)},[]),f.jsx(_pe,{scope:t,isOpenDelayed:s,delayDuration:n,onOpen:w.useCallback(()=>{window.clearTimeout(c.current),a(!1)},[]),onClose:w.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>a(!0),r)},[r]),isPointerInTransitRef:l,onPointerInTransitChange:w.useCallback(u=>{l.current=u},[]),disableHoverableContent:o,children:i})};R_.displayName=y6;var Ny="Tooltip",[kpe,Ep]=ky(Ny),v6=e=>{const{__scopeTooltip:t,children:n,open:r,defaultOpen:o=!1,onOpenChange:i,disableHoverableContent:s,delayDuration:a}=e,l=k_(Ny,e.__scopeTooltip),c=Ry(t),[u,d]=w.useState(null),h=_n(),p=w.useRef(0),m=s??l.disableHoverableContent,g=a??l.delayDuration,b=w.useRef(!1),[y=!1,v]=ir({prop:r,defaultProp:o,onChange:C=>{C?(l.onOpen(),document.dispatchEvent(new CustomEvent(HC))):l.onClose(),i==null||i(C)}}),x=w.useMemo(()=>y?b.current?"delayed-open":"instant-open":"closed",[y]),E=w.useCallback(()=>{window.clearTimeout(p.current),p.current=0,b.current=!1,v(!0)},[v]),_=w.useCallback(()=>{window.clearTimeout(p.current),p.current=0,v(!1)},[v]),S=w.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{b.current=!0,v(!0),p.current=0},g)},[g,v]);return w.useEffect(()=>()=>{p.current&&(window.clearTimeout(p.current),p.current=0)},[]),f.jsx(mp,{...c,children:f.jsx(kpe,{scope:t,contentId:h,open:y,stateAttribute:x,trigger:u,onTriggerChange:d,onTriggerEnter:w.useCallback(()=>{l.isOpenDelayed?S():E()},[l.isOpenDelayed,S,E]),onTriggerLeave:w.useCallback(()=>{m?_():(window.clearTimeout(p.current),p.current=0)},[_,m]),onOpen:E,onClose:_,disableHoverableContent:m,children:n})})};v6.displayName=Ny;var WC="TooltipTrigger",N_=w.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,o=Ep(WC,n),i=k_(WC,n),s=Ry(n),a=w.useRef(null),l=Ve(t,a,o.onTriggerChange),c=w.useRef(!1),u=w.useRef(!1),d=w.useCallback(()=>c.current=!1,[]);return w.useEffect(()=>()=>document.removeEventListener("pointerup",d),[d]),f.jsx(hd,{asChild:!0,...s,children:f.jsx(_e.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...r,ref:l,onPointerMove:fe(e.onPointerMove,h=>{h.pointerType!=="touch"&&!u.current&&!i.isPointerInTransitRef.current&&(o.onTriggerEnter(),u.current=!0)}),onPointerLeave:fe(e.onPointerLeave,()=>{o.onTriggerLeave(),u.current=!1}),onPointerDown:fe(e.onPointerDown,()=>{c.current=!0,document.addEventListener("pointerup",d,{once:!0})}),onFocus:fe(e.onFocus,()=>{c.current||o.onOpen()}),onBlur:fe(e.onBlur,o.onClose),onClick:fe(e.onClick,o.onClose)})})});N_.displayName=WC;var D_="TooltipPortal",[Rpe,Npe]=ky(D_,{forceMount:void 0}),x6=e=>{const{__scopeTooltip:t,forceMount:n,children:r,container:o}=e,i=Ep(D_,t);return f.jsx(Rpe,{scope:t,forceMount:n,children:f.jsx(fn,{present:n||i.open,children:f.jsx(pc,{asChild:!0,container:o,children:r})})})};x6.displayName=D_;var Ku="TooltipContent",w6=w.forwardRef((e,t)=>{const n=Npe(Ku,e.__scopeTooltip),{forceMount:r=n.forceMount,side:o="top",...i}=e,s=Ep(Ku,e.__scopeTooltip);return f.jsx(fn,{present:r||s.open,children:s.disableHoverableContent?f.jsx(C6,{side:o,...i,ref:t}):f.jsx(Dpe,{side:o,...i,ref:t})})}),Dpe=w.forwardRef((e,t)=>{const n=Ep(Ku,e.__scopeTooltip),r=k_(Ku,e.__scopeTooltip),o=w.useRef(null),i=Ve(t,o),[s,a]=w.useState(null),{trigger:l,onClose:c}=n,u=o.current,{onPointerInTransitChange:d}=r,h=w.useCallback(()=>{a(null),d(!1)},[d]),p=w.useCallback((m,g)=>{const b=m.currentTarget,y={x:m.clientX,y:m.clientY},v=jpe(y,b.getBoundingClientRect()),x=Tpe(y,v),E=Ape(g.getBoundingClientRect()),_=Fpe([...x,...E]);a(_),d(!0)},[d]);return w.useEffect(()=>()=>h(),[h]),w.useEffect(()=>{if(l&&u){const m=b=>p(b,u),g=b=>p(b,l);return l.addEventListener("pointerleave",m),u.addEventListener("pointerleave",g),()=>{l.removeEventListener("pointerleave",m),u.removeEventListener("pointerleave",g)}}},[l,u,p,h]),w.useEffect(()=>{if(s){const m=g=>{const b=g.target,y={x:g.clientX,y:g.clientY},v=(l==null?void 0:l.contains(b))||(u==null?void 0:u.contains(b)),x=!Ope(y,s);v?h():x&&(h(),c())};return document.addEventListener("pointermove",m),()=>document.removeEventListener("pointermove",m)}},[l,u,s,c,h]),f.jsx(C6,{...e,ref:i})}),[Mpe,Ppe]=ky(Ny,{isInside:!1}),C6=w.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":o,onEscapeKeyDown:i,onPointerDownOutside:s,...a}=e,l=Ep(Ku,n),c=Ry(n),{onClose:u}=l;return w.useEffect(()=>(document.addEventListener(HC,u),()=>document.removeEventListener(HC,u)),[u]),w.useEffect(()=>{if(l.trigger){const d=h=>{const p=h.target;p!=null&&p.contains(l.trigger)&&u()};return window.addEventListener("scroll",d,{capture:!0}),()=>window.removeEventListener("scroll",d,{capture:!0})}},[l.trigger,u]),f.jsx(hc,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:i,onPointerDownOutside:s,onFocusOutside:d=>d.preventDefault(),onDismiss:u,children:f.jsxs(gp,{"data-state":l.stateAttribute,...c,...a,ref:t,style:{...a.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[f.jsx(b6,{children:r}),f.jsx(Mpe,{scope:n,isInside:!0,children:f.jsx(uoe,{id:l.contentId,role:"tooltip",children:o||r})})]})})});w6.displayName=Ku;var S6="TooltipArrow",Ipe=w.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,o=Ry(n);return Ppe(S6,n).isInside?null:f.jsx(bp,{...o,...r,ref:t})});Ipe.displayName=S6;function jpe(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(n,r,o,i)){case i:return"left";case o:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function Tpe(e,t,n=5){const r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function Ape(e){const{top:t,right:n,bottom:r,left:o}=e;return[{x:o,y:t},{x:n,y:t},{x:n,y:r},{x:o,y:r}]}function Ope(e,t){const{x:n,y:r}=e;let o=!1;for(let i=0,s=t.length-1;i<t.length;s=i++){const a=t[i].x,l=t[i].y,c=t[s].x,u=t[s].y;l>r!=u>r&&n<(c-a)*(r-l)/(u-l)+a&&(o=!o)}return o}function Fpe(e){const t=e.slice();return t.sort((n,r)=>n.x<r.x?-1:n.x>r.x?1:n.y<r.y?-1:n.y>r.y?1:0),Lpe(t)}function Lpe(e){if(e.length<=1)return e.slice();const t=[];for(let r=0;r<e.length;r++){const o=e[r];for(;t.length>=2;){const i=t[t.length-1],s=t[t.length-2];if((i.x-s.x)*(o.y-s.y)>=(i.y-s.y)*(o.x-s.x))t.pop();else break}t.push(o)}t.pop();const n=[];for(let r=e.length-1;r>=0;r--){const o=e[r];for(;n.length>=2;){const i=n[n.length-1],s=n[n.length-2];if((i.x-s.x)*(o.y-s.y)>=(i.y-s.y)*(o.x-s.x))n.pop();else break}n.push(o)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var $pe=R_,zpe=v6,Bpe=N_,E6=w6;const Dy=$pe,xa=zpe,wa=Bpe,Ql=w.forwardRef(({className:e,sideOffset:t=4,...n},r)=>f.jsx(E6,{ref:r,sideOffset:t,className:oe("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...n}));Ql.displayName=E6.displayName;function aI({value:e,displayTitle:t=!0,onSave:n,placeholder:r="No value",inputClassName:o,displayClassName:i,isEditable:s=!0}){const[a,l]=k.useState(!1),[c,u]=k.useState(e||""),d=()=>{l(!1),c!==e&&n(c)},h=p=>{p.key==="Enter"?(l(!1),n(c)):p.key==="Escape"&&(l(!1),u(e||""))};return a?f.jsx("div",{className:"flex",children:f.jsx("input",{type:"text",value:c,onChange:p=>u(p.target.value),onBlur:d,onKeyDown:h,className:oe("w-full border-b border-dashed focus:border-primary focus:outline-none",o),autoFocus:!0})}):f.jsx("div",{className:oe("cursor-pointer truncate",i,{"cursor-default":!s,"hover:text-primary":s}),onClick:()=>{s&&(l(!0),u(e||""))},title:t?e||r:void 0,children:e||f.jsx("span",{className:"text-muted-foreground",children:r})})}function _6({children:e,className:t,...n}){return f.jsx(x6,{children:f.jsx(Jo,{children:f.jsx(Ql,{...n,className:t,children:e})})})}const Vpe={"currentPeriod.start":{icon:f.jsx(eD,{className:"h-3 w-3 text-blue-500"}),label:"Current Start"},"currentPeriod.end":{icon:f.jsx(eD,{className:"h-3 w-3 text-blue-500"}),label:"Current End"},"comparisonPeriod.start":{icon:f.jsx(Tu,{className:"h-3 w-3 text-gray-500"}),label:"Previous Start"},"comparisonPeriod.end":{icon:f.jsx(Tu,{className:"h-3 w-3 text-gray-500"}),label:"Previous End"},trendlineGranularity:{icon:f.jsx(C5,{className:"h-3 w-3 text-green-500"}),label:"Data Period"},trendlineWindow:{icon:f.jsx(k5,{className:"h-3 w-3 text-purple-500"}),label:"Time Range"}},Hpe=(e,t,n)=>e>t?f.jsx($l,{className:`h-3 w-3 ${n?"text-green-500":"text-red-500"}`}):e<t?f.jsx(T0,{className:`h-3 w-3 ${n?"text-green-500":"text-red-500"}`}):f.jsx($l,{className:"h-3 w-3 text-gray-500"}),Wpe=(e,t)=>e>t?f.jsx(T0,{className:"h-3 w-3 text-gray-500"}):e<t?f.jsx($l,{className:"h-3 w-3 text-gray-500"}):f.jsx($l,{className:"h-3 w-3 text-gray-500"}),Upe=(e,t,n)=>e>t?f.jsx(H1,{className:`h-3 w-3 ${n?"text-green-500":"text-red-500"}`}):e<t?f.jsx(B5,{className:`h-3 w-3 ${n?"text-green-500":"text-red-500"}`}):f.jsx(H1,{className:"h-3 w-3 text-gray-500"}),qpe=(e,t)=>e.filter(n=>n.segment==="meta").filter(n=>!(!t&&(n.key==="trendlineGranularity"||n.key==="trendlineWindow"))),Tx=({label:e,value:t,icon:n,formatCurrency:r})=>f.jsxs("div",{className:"flex items-center justify-between",children:[f.jsxs("div",{className:"flex items-center gap-1",children:[n,f.jsxs("span",{children:[e,":"]})]}),f.jsx("span",{className:"font-mono",children:r(t)})]}),Gpe=({metaKey:e,value:t})=>{const n=Vpe[e];return n?f.jsxs("div",{className:"flex items-center justify-between gap-4",children:[f.jsxs("div",{className:"flex items-center gap-1",children:[n.icon,f.jsxs("span",{children:[n.label,":"]})]}),f.jsx("span",{className:"font-mono",children:t})]}):f.jsxs("div",{className:"flex items-center justify-between gap-4",children:[f.jsxs("div",{className:"flex items-center gap-1",children:[f.jsx(F0,{className:"h-3 w-3"}),f.jsxs("span",{children:[e,":"]})]}),f.jsx("span",{className:"font-mono",children:t})]})},Ype=({currentValue:e,comparisonValue:t,isPositive:n,formatCurrency:r})=>f.jsxs("div",{className:"space-y-1",children:[f.jsx(Tx,{label:"Current",value:e,icon:Hpe(e,t,n),formatCurrency:r}),f.jsx(Tx,{label:"Previous",value:t,icon:Wpe(e,t),formatCurrency:r}),f.jsx(Tx,{label:"Change",value:e-t,icon:Upe(e,t,n),formatCurrency:r})]}),Kpe=({data:e,showTrendline:t})=>{const n=qpe(e,t);return n.length===0?null:f.jsxs("div",{className:"border-t pt-2",children:[f.jsxs("div",{className:"mb-2 flex items-center gap-1 font-semibold",children:[f.jsx(Tu,{className:"h-3 w-3"}),"Period Details"]}),f.jsx("div",{className:"space-y-1",children:n.map((r,o)=>f.jsx(Gpe,{metaKey:r.key,value:r.value},o))})]})};function Xpe({currentValue:e,comparisonValue:t,isPositive:n,data:r,formatCurrency:o,showTrendline:i=!1}){return f.jsx(_6,{side:"right",className:"max-w-fit",children:f.jsxs("div",{className:"space-y-2 text-xs",children:[f.jsxs("div",{className:"flex items-center gap-1 font-semibold",children:[f.jsx(C5,{className:"h-3 w-3"}),"Key Metrics"]}),f.jsx(Ype,{currentValue:e,comparisonValue:t,isPositive:n,formatCurrency:o}),f.jsx(Kpe,{data:r,showTrendline:i})]})})}var Qpe="Separator",lI="horizontal",Zpe=["horizontal","vertical"],k6=w.forwardRef((e,t)=>{const{decorative:n,orientation:r=lI,...o}=e,i=Jpe(r)?r:lI,a=n?{role:"none"}:{"aria-orientation":i==="vertical"?i:void 0,role:"separator"};return f.jsx(_e.div,{"data-orientation":i,...a,...o,ref:t})});k6.displayName=Qpe;function Jpe(e){return Zpe.includes(e)}var R6=k6;const Ca=w.forwardRef(({className:e,orientation:t="horizontal",decorative:n=!0,...r},o)=>f.jsx(R6,{ref:o,decorative:n,orientation:t,className:oe("shrink-0 bg-border",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...r}));Ca.displayName=R6.displayName;function N6({colorRanges:e,setColorRanges:t}){const n={start:-1/0,end:100,color:""};function r(s,a,l){const c=[...e];c[s]={...c[s],[a]:l},t(c)}function o(s){const a=[...e];a.splice(s,1),t(a)}function i(){t([...e,n])}return f.jsxs("div",{className:"space-y-3",children:[f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx(ce,{children:"Color Range"}),f.jsx(Ce,{onClick:i,variant:"secondary",className:"h-5 p-1 text-muted-foreground",children:f.jsx(Ss,{className:"size-3"})})]}),e.map((s,a)=>f.jsxs("div",{className:"flex items-center gap-2 px-2",children:[f.jsx(On,{onChange:l=>r(a,"start",l.target.value),value:s.start,className:oe(`h-7 ${hs}`)}),f.jsx("span",{children:"-"}),f.jsx(On,{value:s.end,onChange:l=>r(a,"end",l.target.value),className:oe(`h-7 ${hs}`)}),f.jsx(On,{onChange:l=>r(a,"color",l.target.value),value:s.color,className:oe(`h-7 min-w-14 p-0 ${hs}`),type:"color",list:"presetColors"}),f.jsxs("datalist",{id:"presetColors",children:[f.jsx("option",{children:Pt.green[600]}),f.jsx("option",{children:Pt.red[500]}),f.jsx("option",{children:Pt.yellow[400]}),f.jsx("option",{children:Pt.orange[500]})]}),f.jsx(Ce,{onClick:()=>o(a),variant:"secondary",className:"h-5 p-1 text-muted-foreground",children:f.jsx(xr,{className:"size-3"})})]},a))]})}function D6(){var c,u,d,h,p;const e=me(m=>m.card.preferences),t=me(m=>m.actions.setCardPreferences),n=me(m=>m.card.mode),r=me(m=>m.actions.setNumberFormat);me(m=>{var g,b;return(b=(g=m.card.preferences)==null?void 0:g.formatNumber)==null?void 0:b.decimalPlaces});const o=me(m=>{var g,b;return(b=(g=m.card.preferences)==null?void 0:g.formatNumber)==null?void 0:b.locale}),i=me(m=>{var g,b;return(b=(g=m.card.preferences)==null?void 0:g.formatNumber)==null?void 0:b.currency});me(m=>m.actions.setFilterOnClickField);const s=me(m=>{var g,b;return(b=(g=m.card.preferences)==null?void 0:g.formatNumber)==null?void 0:b.colorRanges})||[],a=me(m=>m.actions.setColorRanges),l=[...new Set(Gf.map(m=>m.currency))];return f.jsxs("div",{children:[n!=="explorer"&&f.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[f.jsx(sr,{checked:!!((c=e==null?void 0:e.formatNumber)!=null&&c.enabled),onCheckedChange:m=>{t({...e,formatNumber:{...e==null?void 0:e.formatNumber,enabled:m}})}}),f.jsx(ce,{children:"Format Number"})]}),(((u=e==null?void 0:e.formatNumber)==null?void 0:u.enabled)===!0||n==="explorer")&&f.jsxs("div",{className:"flex flex-col gap-2",children:[f.jsx("div",{children:f.jsxs("div",{className:"space-y-4",children:[f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsxs("div",{className:"w-full space-y-1",children:[f.jsx(ce,{children:"Locale"}),f.jsxs(Et,{value:o||"none",onValueChange:m=>{var g,b,y;return r(((g=e==null?void 0:e.formatNumber)==null?void 0:g.decimalPlaces)||0,((b=e==null?void 0:e.formatNumber)==null?void 0:b.currency)||"",m,((y=e==null?void 0:e.formatNumber)==null?void 0:y.suffix)||"")},children:[f.jsx(xt,{className:"col-span-6 h-8 w-full focus:ring-1 focus:ring-offset-0",children:f.jsx(_t,{})}),f.jsx(wt,{children:f.jsxs(Vs,{children:[f.jsx(ns,{children:"Format"}),f.jsx(be,{value:"none",children:"Auto"},"none"),Gf.map(m=>f.jsx(be,{value:m.locale,children:m.locale},m.locale))]})})]})]}),f.jsxs("div",{className:"w-full space-y-1",children:[f.jsx(ce,{children:"Currency"}),f.jsxs(Et,{value:i||"none",onValueChange:m=>{var g,b,y;console.log("currency",m),r(((g=e==null?void 0:e.formatNumber)==null?void 0:g.decimalPlaces)||0,m==="none"?"":m,((b=e==null?void 0:e.formatNumber)==null?void 0:b.locale)||"",((y=e==null?void 0:e.formatNumber)==null?void 0:y.suffix)||"")},children:[f.jsx(xt,{className:"col-span-6 h-8 w-full focus:ring-1 focus:ring-offset-0",children:f.jsx(_t,{})}),f.jsx(wt,{children:f.jsxs(Vs,{children:[f.jsx(ns,{children:"Currency"}),f.jsx(be,{value:"none",children:"None"},"none"),l.map(m=>f.jsx(be,{value:m,children:m},m))]})})]})]})]}),f.jsxs("div",{className:"flex gap-2",children:[f.jsxs("div",{className:"w-full space-y-1",children:[f.jsx(ce,{children:"Decimals"}),f.jsxs(Et,{value:((h=(d=e==null?void 0:e.formatNumber)==null?void 0:d.decimalPlaces)==null?void 0:h.toString())||"0",onValueChange:m=>{var g,b,y;return r(Number(m),((g=e==null?void 0:e.formatNumber)==null?void 0:g.currency)||"",((b=e==null?void 0:e.formatNumber)==null?void 0:b.locale)||"",((y=e==null?void 0:e.formatNumber)==null?void 0:y.suffix)||"")},children:[f.jsx(xt,{className:"col-span-3 h-8 w-full focus:ring-1 focus:ring-offset-0",children:f.jsx(_t,{})}),f.jsx(wt,{children:["0","1","2","3","4"].map(m=>f.jsx(be,{value:m,children:m},m))})]})]}),f.jsxs("div",{className:"w-full space-y-1",children:[f.jsx(ce,{children:"Suffix"}),f.jsx(On,{value:((p=e==null?void 0:e.formatNumber)==null?void 0:p.suffix)||"",className:"h-8 font-mono text-xs focus-visible:ring-0 focus-visible:ring-ring focus-visible:ring-offset-0",placeholder:"K, M, B, %",onChange:m=>{var g,b,y;return r(((g=e==null?void 0:e.formatNumber)==null?void 0:g.decimalPlaces)||0,((b=e==null?void 0:e.formatNumber)==null?void 0:b.currency)||"",((y=e==null?void 0:e.formatNumber)==null?void 0:y.locale)||"",m.target.value)}})]})]})]})}),f.jsx(Ca,{className:"my-3"}),f.jsx(N6,{colorRanges:s,setColorRanges:a})]})]})}function eme(){return f.jsxs(Da,{children:[f.jsx(Ma,{asChild:!0,children:f.jsx(Ce,{className:"size-7",variant:"ghost",size:"icon",children:f.jsx(ia,{className:"size-3"})})}),f.jsx(_s,{className:"w-80",children:f.jsx(D6,{})})]})}function tme({card:e,data:t,isPending:n}){var v,x,E,_,S,C;const r=re(R=>R.isVisualEditing),{setCardTitle:o,setCardDescription:i,setLowerIsBetter:s}=Wn(),{getCurrency:a,getLocale:l}=__(e),c=R=>{var N,D,I,P,A,F;return or({number:R,decimalPlaces:((D=(N=e.preferences)==null?void 0:N.formatNumber)==null?void 0:D.decimalPlaces)||0,useSuffix:!!((P=(I=e.preferences)==null?void 0:I.formatNumber)!=null&&P.suffix),customSuffix:((F=(A=e.preferences)==null?void 0:A.formatNumber)==null?void 0:F.suffix)||"",locale:l()||"en-US",currency:a()||""})},u=R=>{var N,D,I,P;return or({number:R,decimalPlaces:((D=(N=e.preferences)==null?void 0:N.formatNumber)==null?void 0:D.decimalPlaces)||0,useSuffix:!0,customSuffix:((P=(I=e.preferences)==null?void 0:I.formatNumber)==null?void 0:P.suffix)||"",locale:l()||"en-US",currency:a()||""})},d=(R,N)=>(R-N)/N*100,h=((v=t==null?void 0:t.find(R=>R.segment==="current"))==null?void 0:v.value)||0,p=((x=t==null?void 0:t.find(R=>R.segment==="comparison"))==null?void 0:x.value)||0,m=d(h,p),g=(_=(E=e.preferences)==null?void 0:E.kpiVisualOptions)==null?void 0:_.lowerIsBetter,b=g?m<0:m>0;if(n)return f.jsxs(Qg,{className:"border-none shadow-none",children:[f.jsx(Iu,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:f.jsx(ua,{className:"text-sm font-medium text-gray-600",children:e.title})}),f.jsx(Jf,{children:f.jsxs("div",{className:"animate-pulse",children:[f.jsx("div",{className:"mb-2 h-8 rounded bg-gray-200"}),f.jsx("div",{className:"h-4 w-3/4 rounded bg-gray-200"})]})})]});function y(){return e.title?e.title:r?"Enter title":""}return f.jsx(Dy,{children:f.jsxs(Qg,{className:"flex grow flex-col border-none shadow-none",children:[f.jsx(Iu,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:f.jsx(ua,{className:"text-base font-medium text-gray-600",children:f.jsx(aI,{displayClassName:"text-base font-medium text-gray-600",inputClassName:"text-base font-medium text-gray-600",value:y(),isEditable:r,onSave:o})})}),f.jsxs(Jf,{className:"w-full grow pb-4",children:[f.jsxs("div",{className:"flex items-baseline space-x-2",children:[f.jsx("div",{className:"text-2xl font-bold text-gray-900",children:((S=e==null?void 0:e.kpiPreferences)==null?void 0:S.format)==="compact"?u(h):c(h)}),f.jsxs(xa,{children:[f.jsx(wa,{asChild:!0,children:f.jsxs("div",{className:"flex cursor-pointer items-center space-x-1 rounded px-1 py-0.5 transition-colors hover:bg-gray-50",children:[h>p?f.jsx($l,{className:`h-3 w-3 ${b?"text-green-500":"text-red-500"}`}):h<p?f.jsx(T0,{className:`h-3 w-3 ${b?"text-green-500":"text-red-500"}`}):f.jsx($l,{className:"h-3 w-3 text-gray-500"}),f.jsxs("span",{className:`text-sm font-medium ${b?"text-green-600":"text-red-600"}`,children:[Math.abs(m).toFixed(1),"%"]})]})}),f.jsx(Xpe,{currentValue:h,comparisonValue:p,percentageChange:m,isPositive:b,data:t,formatCurrency:c,showTrendline:((C=e.config)==null?void 0:C.showTrendline)||!1})]})]}),f.jsx("div",{className:"mt-1",children:f.jsx(aI,{isEditable:r,value:e.description||"vs last month",displayClassName:"text-sm text-gray-500",inputClassName:"text-sm text-gray-500",onSave:i})}),r&&f.jsxs("div",{className:"mt-2 flex items-center justify-end gap-1",children:[f.jsx(eme,{}),f.jsxs(xd,{pressed:g===!0,className:"h-7",variant:"outline",onPressedChange:R=>s(R),children:[g?f.jsx(B5,{className:"mr-2 h-4 w-4"}):f.jsx(H1,{className:"mr-2 h-4 w-4"}),f.jsx("span",{children:g?"Lower is better":"Higher is better"})]})]})]})]})})}function nme({card:e,data:t,isPending:n}){var S,C,R,N,D,I,P,A,F,T,O,$,V,z,j,W,L,M;const r=re(H=>H.actions.setCardTitle),o=re(H=>H.actions.setCardDescription),i=re(H=>H.isVisualEditing),s=me(H=>H.card),a=me(H=>H.actions.setCard);me(H=>H.actions.setNumberFormat);const{getCurrency:l,getLocale:c}=__(e),u=re(H=>H.selectedSheetId),d=(C=(S=e.preferences)==null?void 0:S.formatNumber)==null?void 0:C.colorRanges,{keys:h}=un(t),p=(R=t==null?void 0:t[0])==null?void 0:R[h==null?void 0:h[0]],m=(N=t==null?void 0:t[0])==null?void 0:N[h==null?void 0:h[1]],g=t&&t.length>0;function b(H){i?a({...s,title:H}):r(u,e.id,H)}function y(H){i?a({...s,description:H}):o(u,e.id,H)}const v=m&&m-p!==0?(p-m)/m:null,x=or({number:p,decimalPlaces:((I=(D=e.preferences)==null?void 0:D.formatNumber)==null?void 0:I.decimalPlaces)||0,useSuffix:!!((A=(P=e.preferences)==null?void 0:P.formatNumber)!=null&&A.suffix),customSuffix:((T=(F=e.preferences)==null?void 0:F.formatNumber)==null?void 0:T.suffix)||"",locale:c()||"",currency:l()||""});let E="";m&&(E=or({number:m,decimalPlaces:(($=(O=e.preferences)==null?void 0:O.formatNumber)==null?void 0:$.decimalPlaces)||0,useSuffix:!!((z=(V=e.preferences)==null?void 0:V.formatNumber)!=null&&z.suffix),customSuffix:((W=(j=e.preferences)==null?void 0:j.formatNumber)==null?void 0:W.suffix)||"",locale:c()||"",currency:l()||""}));const _=Y2(p,d);return f.jsx(rme,{isPending:n,title:e.title,formattedCurrentValue:x,formattedPreviousValue:E,description:e.description,valueColor:_,onTitleChange:b,onDescriptionChange:y,percentDifference:v,isLowerIsBetter:(M=(L=e.preferences)==null?void 0:L.kpiVisualOptions)==null?void 0:M.lowerIsBetter,show:g})}function Fb({card:e,data:t,isPending:n}){return e.mode==="explorer"?f.jsx("div",{className:"flex h-full min-h-0 grow overflow-auto",children:f.jsx(tme,{card:e,data:t,isPending:n})}):f.jsx(nme,{card:e,data:t,isPending:n})}function rme({title:e,formattedCurrentValue:t,formattedPreviousValue:n,description:r,valueColor:o,onTitleChange:i,onDescriptionChange:s,percentDifference:a,show:l,isPending:c,isLowerIsBetter:u}){const d=re(g=>g.isDashboardEditing),h=re(g=>g.isVisualEditing),p=me(g=>g.card);me(g=>g.actions.setCard);let m=r||"";return h&&(m=r||"from description"),f.jsxs("div",{className:"kpi-card flex grow flex-col overflow-auto",children:[f.jsxs(Iu,{className:"grow pb-3",children:[f.jsx(Ci,{className:"text-base font-medium tracking-tight text-muted-foreground",enabled:d,text:h?p.title:e,onSave:i,children:f.jsx("div",{className:"flex items-center gap-2",children:f.jsx(ua,{className:"text-base font-medium text-muted-foreground",children:e})})}),c&&f.jsxs("div",{className:"space-y-2",children:[f.jsx(ps,{className:"h-4 w-3/4"}),f.jsx(ps,{className:"h-4 w-1/2"})]}),l&&f.jsxs("div",{className:"2 flex flex-wrap items-end text-foreground",children:[f.jsx("p",{style:{color:o},className:"text-3xl font-semibold",children:t}),n&&f.jsxs("span",{className:"min-w-fit -translate-y-[1px] text-base font-normal text-muted-foreground",children:["  from  ",n]})]})]}),a&&f.jsxs("div",{className:"flex grow items-center gap-1 px-6 pb-4 text-sm",children:[f.jsx(M6,{isLowerIsBetter:u,children:a}),f.jsxs("div",{className:"flex gap-1 text-muted-foreground",children:[a>0?"up ":"down ",f.jsx(Ci,{enabled:d,text:m,onSave:s,children:m})]}),h&&f.jsx("div",{className:"ml-auto",children:f.jsx(ome,{})})]})]})}function M6({children:e,className:t,isLowerIsBetter:n}){const r=re(a=>a.themeStyle),o=e>0?f.jsx("span",{children:"+"}):f.jsx("span",{children:"-"}),i=`${Math.abs(e*100).toFixed(0)}%`,s=n?e<0:e>0;return f.jsxs("div",{style:{borderRadius:(r==null?void 0:r.controlInputRadius)||"2px"},className:oe("flex items-center px-1 text-sm font-semibold",{"bg-green-600/10 text-green-600":s,"bg-destructive/10 text-destructive":!s},t),children:[o,f.jsx("span",{className:"ml-[1px]",children:i})]})}function ome(){const e=me(n=>{var r,o;return(o=(r=n.card.preferences)==null?void 0:r.kpiVisualOptions)==null?void 0:o.lowerIsBetter}),{setLowerIsBetter:t}=Wn();return f.jsx("div",{className:"flex items-center gap-1",children:f.jsx(xd,{pressed:e===!0,className:"h-7",variant:"outline",onPressedChange:n=>t(n),children:f.jsx("span",{children:"Lower is better"})})})}var Ax,M_="HoverCard",[P6,l3e]=Mn(M_,[$i]),My=$i(),[ime,Py]=P6(M_),I6=e=>{const{__scopeHoverCard:t,children:n,open:r,defaultOpen:o,onOpenChange:i,openDelay:s=700,closeDelay:a=300}=e,l=My(t),c=w.useRef(0),u=w.useRef(0),d=w.useRef(!1),h=w.useRef(!1),[p=!1,m]=ir({prop:r,defaultProp:o,onChange:i}),g=w.useCallback(()=>{clearTimeout(u.current),c.current=window.setTimeout(()=>m(!0),s)},[s,m]),b=w.useCallback(()=>{clearTimeout(c.current),!d.current&&!h.current&&(u.current=window.setTimeout(()=>m(!1),a))},[a,m]),y=w.useCallback(()=>m(!1),[m]);return w.useEffect(()=>()=>{clearTimeout(c.current),clearTimeout(u.current)},[]),f.jsx(ime,{scope:t,open:p,onOpenChange:m,onOpen:g,onClose:b,onDismiss:y,hasSelectionRef:d,isPointerDownOnContentRef:h,children:f.jsx(mp,{...l,children:n})})};I6.displayName=M_;var j6="HoverCardTrigger",T6=w.forwardRef((e,t)=>{const{__scopeHoverCard:n,...r}=e,o=Py(j6,n),i=My(n);return f.jsx(hd,{asChild:!0,...i,children:f.jsx(_e.a,{"data-state":o.open?"open":"closed",...r,ref:t,onPointerEnter:fe(e.onPointerEnter,$b(o.onOpen)),onPointerLeave:fe(e.onPointerLeave,$b(o.onClose)),onFocus:fe(e.onFocus,o.onOpen),onBlur:fe(e.onBlur,o.onClose),onTouchStart:fe(e.onTouchStart,s=>s.preventDefault())})})});T6.displayName=j6;var P_="HoverCardPortal",[sme,ame]=P6(P_,{forceMount:void 0}),A6=e=>{const{__scopeHoverCard:t,forceMount:n,children:r,container:o}=e,i=Py(P_,t);return f.jsx(sme,{scope:t,forceMount:n,children:f.jsx(fn,{present:n||i.open,children:f.jsx(pc,{asChild:!0,container:o,children:r})})})};A6.displayName=P_;var Lb="HoverCardContent",O6=w.forwardRef((e,t)=>{const n=ame(Lb,e.__scopeHoverCard),{forceMount:r=n.forceMount,...o}=e,i=Py(Lb,e.__scopeHoverCard);return f.jsx(fn,{present:r||i.open,children:f.jsx(lme,{"data-state":i.open?"open":"closed",...o,onPointerEnter:fe(e.onPointerEnter,$b(i.onOpen)),onPointerLeave:fe(e.onPointerLeave,$b(i.onClose)),ref:t})})});O6.displayName=Lb;var lme=w.forwardRef((e,t)=>{const{__scopeHoverCard:n,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:i,onInteractOutside:s,...a}=e,l=Py(Lb,n),c=My(n),u=w.useRef(null),d=Ve(t,u),[h,p]=w.useState(!1);return w.useEffect(()=>{if(h){const m=document.body;return Ax=m.style.userSelect||m.style.webkitUserSelect,m.style.userSelect="none",m.style.webkitUserSelect="none",()=>{m.style.userSelect=Ax,m.style.webkitUserSelect=Ax}}},[h]),w.useEffect(()=>{if(u.current){const m=()=>{p(!1),l.isPointerDownOnContentRef.current=!1,setTimeout(()=>{var b;((b=document.getSelection())==null?void 0:b.toString())!==""&&(l.hasSelectionRef.current=!0)})};return document.addEventListener("pointerup",m),()=>{document.removeEventListener("pointerup",m),l.hasSelectionRef.current=!1,l.isPointerDownOnContentRef.current=!1}}},[l.isPointerDownOnContentRef,l.hasSelectionRef]),w.useEffect(()=>{u.current&&dme(u.current).forEach(g=>g.setAttribute("tabindex","-1"))}),f.jsx(hc,{asChild:!0,disableOutsidePointerEvents:!1,onInteractOutside:s,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:fe(i,m=>{m.preventDefault()}),onDismiss:l.onDismiss,children:f.jsx(gp,{...c,...a,onPointerDown:fe(a.onPointerDown,m=>{m.currentTarget.contains(m.target)&&p(!0),l.hasSelectionRef.current=!1,l.isPointerDownOnContentRef.current=!0}),ref:d,style:{...a.style,userSelect:h?"text":void 0,WebkitUserSelect:h?"text":void 0,"--radix-hover-card-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-hover-card-content-available-width":"var(--radix-popper-available-width)","--radix-hover-card-content-available-height":"var(--radix-popper-available-height)","--radix-hover-card-trigger-width":"var(--radix-popper-anchor-width)","--radix-hover-card-trigger-height":"var(--radix-popper-anchor-height)"}})})}),cme="HoverCardArrow",ume=w.forwardRef((e,t)=>{const{__scopeHoverCard:n,...r}=e,o=My(n);return f.jsx(bp,{...o,...r,ref:t})});ume.displayName=cme;function $b(e){return t=>t.pointerType==="touch"?void 0:e()}function dme(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});for(;n.nextNode();)t.push(n.currentNode);return t}var fme=I6,hme=T6,F6=O6;const Iy=fme,jy=hme,_p=w.forwardRef(({className:e,align:t="center",sideOffset:n=4,...r},o)=>f.jsx(F6,{ref:o,align:t,sideOffset:n,className:oe("z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...r}));_p.displayName=F6.displayName;function L6({card:e}){const t=re(r=>r.isDashboardEditing),{setCardInfo:n}=on();return f.jsxs(Iy,{openDelay:0,children:[f.jsx(jy,{children:f.jsx(F0,{className:"size-4 text-muted-foreground/40"})}),f.jsx(_p,{align:"start",className:"w-[300px] text-sm text-muted-foreground",onMouseDown:r=>r.stopPropagation(),children:f.jsx(Ci,{enabled:t,type:"textarea",text:e.info||"",onSave:r=>n(e.id,r),children:e.info||"Describe what this card shows"})})]})}function pme({card:e,renderFilterInfo:t}){var m,g,b,y,v,x,E,_,S,C,R,N,D,I,P,A,F,T;re(O=>O.themeStyle);const{data:n,isLoading:r}=No(e),o=(n==null?void 0:n.records)||[],i=re(O=>O.isDashboardEditing),{getCurrency:s,getLocale:a}=__(e),l=(g=(m=e.preferences)==null?void 0:m.formatNumber)==null?void 0:g.colorRanges,{keys:c}=un(o||[]),u=(b=o==null?void 0:o[0])==null?void 0:b[c==null?void 0:c[0]],d=(y=o==null?void 0:o[0])==null?void 0:y[c==null?void 0:c[1]],h=(o==null?void 0:o.length)>0,p=d&&d-u!==0?(u-d)/d:null;return f.jsx("div",{className:"flex min-w-fit grow flex-col overflow-auto",children:f.jsxs("div",{className:"grow",children:[h?f.jsx("div",{className:"",children:f.jsxs("div",{className:oe("flex items-end gap-1.5",{"animate-pulse":r}),children:[f.jsx("p",{style:{color:Y2(u,l)},className:"text-3xl font-semibold",children:or({number:u,decimalPlaces:((x=(v=e.preferences)==null?void 0:v.formatNumber)==null?void 0:x.decimalPlaces)||0,useSuffix:!!((_=(E=e.preferences)==null?void 0:E.formatNumber)!=null&&_.suffix),customSuffix:((C=(S=e.preferences)==null?void 0:S.formatNumber)==null?void 0:C.suffix)||"",locale:a()||"",currency:s()||""})}),p&&f.jsxs("div",{className:"flex items-end gap-1",children:[f.jsx(M6,{isLowerIsBetter:(N=(R=e.preferences)==null?void 0:R.kpiVisualOptions)==null?void 0:N.lowerIsBetter,className:"",children:p}),d&&f.jsx("div",{className:"ml-0.5 mr-1 min-w-fit text-sm font-normal text-muted-foreground",children:`from ${or({number:d,decimalPlaces:((I=(D=e.preferences)==null?void 0:D.formatNumber)==null?void 0:I.decimalPlaces)||0,useSuffix:!!((A=(P=e.preferences)==null?void 0:P.formatNumber)!=null&&A.suffix),customSuffix:((T=(F=e.preferences)==null?void 0:F.formatNumber)==null?void 0:T.suffix)||"",locale:a()||"",currency:s()||""})}`})]})]})}):f.jsx("div",{className:"flex h-9 items-center justify-center"}),f.jsxs("div",{className:"flex items-center gap-3",children:[f.jsxs(ua,{className:"flex items-center gap-2 text-base font-medium text-muted-foreground",children:[e.title,(i||e.info)&&f.jsx(L6,{card:e})]}),t==null?void 0:t()]})]})})}function zb({card:e,isLoading:t,data:n}){var h,p;const r=n||[],{keys:o}=un(r),i=re(m=>m.selectedSheetId),s=re(m=>m.isVisualEditing),a=(p=(h=e==null?void 0:e.preferences)==null?void 0:h.textVisualOptions)==null?void 0:p.isDynamicText,{setCardDescription:l}=on(),{setCard:c}=Wn();function u(){var y;if(t)return f.jsxs("div",{className:"space-y-2",children:[f.jsx(ps,{className:"h-3 w-full animate-pulse bg-muted"}),f.jsx(ps,{className:"h-3 w-3/4 animate-pulse bg-muted"}),f.jsx(ps,{className:"h-3 w-1/2 animate-pulse bg-muted"})]});const g=(y=r==null?void 0:r[0])==null?void 0:y[o[0]],b=f.jsx("div",{dangerouslySetInnerHTML:{__html:g}});return f.jsx("div",{className:"text-sm text-foreground/80 hover:cursor-text",onMouseDown:v=>v.stopPropagation(),children:b})}function d(){let m=(e==null?void 0:e.description)||"";return s&&(m=e.description||"Add content"),f.jsx("div",{onMouseDown:g=>g.stopPropagation(),children:f.jsx(Ci,{enabled:!0,type:"textarea",className:"w-full rounded-md bg-muted",text:m,onSave:g=>{s===!1&&l(i,e.id,g),s===!0&&c({...e,description:g})},children:f.jsx("div",{className:"text-sm text-foreground/70 hover:cursor-text",dangerouslySetInnerHTML:{__html:m}})})})}return f.jsxs(f.Fragment,{children:[!a&&d(),a===!0&&u()]})}const mme=$0("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}}),So=w.forwardRef(({className:e,variant:t,...n},r)=>f.jsx("div",{ref:r,className:oe(mme({variant:t}),e),...n}));So.displayName="Badge";const $6=rc(e=>({activeId:null,insertIndex:null,previewGroupByColumns:[],previewMetricColumns:[],previewPivotColumns:[],previewFilterColumns:[],actions:{setActiveId:t=>e({activeId:t}),setInsertIndex:t=>e({insertIndex:t}),setPreviewGroupByColumns:t=>e({previewGroupByColumns:t}),setPreviewMetricColumns:t=>e({previewMetricColumns:t}),setPreviewFilterColumns:t=>e({previewFilterColumns:t}),setPreviewPivotColumns:t=>e({previewPivotColumns:t})}})),gme=()=>$6(e=>e.actions),cI={selectedEntities:[]},I_=rc()(sE(e=>({currentAIContext:cI,actions:{setCurrentAIContext:t=>{e(n=>{n.currentAIContext=t})},updateSelectedEntities:t=>{e(n=>{n.currentAIContext.selectedEntities=t})},clearAIContext:()=>{e(t=>{t.currentAIContext=cI})},mergeAIContext:t=>{e(n=>{n.currentAIContext={...n.currentAIContext,...t}})}}}))),j_=()=>I_(e=>e.currentAIContext),T_=()=>I_(e=>e.actions);function bme({children:e,className:t,...n}){return f.jsx(A6,{children:f.jsx(Jo,{children:f.jsx(_p,{...n,className:t,children:e})})})}function yme({cardId:e}){const t=s2(e||""),n=ro(l=>l.removeClickFiltersByValue),r=t.map((l,c)=>{const u=l.filterGroups.flatMap(d=>d.filters.map(h=>({field:h.field.label||h.field.name,value:h.value})));return{id:`click-filter-${l.sourceCardId}-${c}`,sourceCardId:l.sourceCardId,name:`Click Filter from ${l.sourceCardId}`,values:u,applyToCardIds:l.applyToCardIds,excludeCardIds:l.excludeCardIds,originalEvent:l}}),o=r.reduce((l,c)=>(c.values.forEach(u=>{var h,p;const d=l.find(m=>m.fieldName===u.field);d?d.filters.some(g=>g.values.some(b=>b.field===u.field&&b.value===u.value))||d.filters.push(c):l.push({fieldName:u.field,fieldLabel:u.field,filters:[c],targetingInfo:(h=c.applyToCardIds)!=null&&h.length?`Applied to: ${c.applyToCardIds.join(", ")}`:(p=c.excludeCardIds)!=null&&p.length?`Excluded from: ${c.excludeCardIds.join(", ")}`:"Applied to all cards"})}),l),[]);function i(l,c){const u=r.filter(d=>d.values.some(h=>h.field===l&&h.value===c));if(u.length>0){const h=u.sort((p,m)=>{const g=t.findIndex(y=>$o(y,p.originalEvent));return t.findIndex(y=>$o(y,m.originalEvent))-g})[0];n(h.sourceCardId,l,c)}}function s(l){const c=r.flatMap(d=>d.values.filter(h=>h.field===l)).map(d=>d.value);[...new Set(c)].forEach(d=>{i(l,d)})}function a(l){const c=l.filters.flatMap(h=>h.values.filter(p=>p.field===l.fieldName)).map(h=>h.value),u=[...new Set(c)],d=u.filter(h=>{const g=l.filters.filter(v=>v.values.some(x=>x.field===l.fieldName&&x.value===h)).sort((v,x)=>{const E=t.findIndex(S=>$o(S,v.originalEvent));return t.findIndex(S=>$o(S,x.originalEvent))-E})[0];return t.findIndex(v=>$o(v,g.originalEvent))===t.length-1});return f.jsxs("div",{className:"space-y-3 rounded-lg border border-blue-100 bg-blue-50/50 p-3 dark:border-blue-900 dark:bg-blue-900/50",children:[f.jsxs("div",{className:"flex items-center justify-between",children:[f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx("div",{className:"h-2 w-2 flex-shrink-0 rounded-full bg-blue-500"}),f.jsx(ce,{className:"text-sm font-medium",children:l.fieldLabel})]}),f.jsxs(Ce,{variant:"ghost",size:"sm",onClick:()=>s(l.fieldName),className:"h-6 px-2 text-xs text-blue-600 hover:bg-red-50 hover:text-red-600 dark:text-blue-400 dark:hover:bg-red-950 dark:hover:text-red-400",children:[f.jsx(uc,{className:"mr-1 h-3 w-3"}),"Clear Field"]})]}),f.jsxs("div",{className:"space-y-2",children:[f.jsx("div",{className:"flex flex-wrap gap-1",children:u.map((h,p)=>{const m=d.includes(h);return f.jsxs(So,{variant:"secondary",className:`group relative cursor-default ${m?"bg-blue-100 text-blue-800 hover:bg-blue-200 dark:bg-blue-900 dark:text-blue-200 dark:hover:bg-blue-800":"cursor-not-allowed bg-gray-100 text-gray-500 dark:bg-gray-800 dark:text-gray-400"}`,onClick:()=>{m&&i(l.fieldName,h)},children:[h,f.jsx(xr,{className:`ml-1 h-3 w-3 ${m?"cursor-pointer":"cursor-not-allowed opacity-50"}`})]},p)})}),u.length>1&&f.jsx("div",{className:"text-xs text-blue-600 dark:text-blue-400",children:'Clear filters in sequence (most recent first) or use "Clear Field" to remove all'})]})]})}return o.length===0?null:f.jsxs("div",{className:"space-y-3",children:[f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx(uZ,{className:"size-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Click Filters"})]}),f.jsx("div",{className:"space-y-2",children:o==null?void 0:o.map(l=>f.jsx("div",{children:a(l)},l.fieldName))})]})}function uI({cardId:e}){const t=re(P=>P.isDashboardEditing),n=re(P=>P.dashboard.defaultFilterValues),r=re(P=>P.themeStyle),o=re(P=>P.filterValues),i=re(P=>P.dashboard.filters),s=re(P=>P.filteringCards),a=re(P=>P.selectedSheetId),l=re(P=>P.onSaveFunction),{removeFilterValues:c,removeFilteringCard:u,setFilterValues:d,setFilteringCards:h,setDefaultFilterValues:p,getDashboard:m}=on(),g=ro(P=>P.clearAllClickFilters),b=i==null?void 0:i.filter(P=>P.sheetId===a||!P.sheetId),y=o==null?void 0:o.filter(P=>(b==null?void 0:b.some(A=>A.id===P.filterId))||P.filterId.endsWith(a)),v=(y==null?void 0:y.map(P=>{const A=i==null?void 0:i.find(F=>F.id===P.filterId);return{filterId:P.filterId,fieldName:(A==null?void 0:A.title)||P.name,fieldLabel:(A==null?void 0:A.title)||P.name,values:P.values,dataType:A==null?void 0:A.dataType,operation:A==null?void 0:A.operation,isDateFilter:oc((A==null?void 0:A.dataType)||"")}}))||[],x=s2(e||"");if(v.length===0&&x.length===0)return null;const E=v.length+x.length;function _(P){return P instanceof Date?P.toLocaleDateString():P}function S(P){const A=s==null?void 0:s.find(F=>P.filterId.startsWith(F.id));A&&u(A),c(P.filterId)}function C(P){v.filter(F=>F.fieldName===P).forEach(F=>{S(F)})}function R(){h([]),d([]),g()}function N(P){function A(){return P.values.map((T,O)=>f.jsxs(So,{variant:"secondary",className:"group relative cursor-default bg-indigo-100 text-indigo-800 hover:bg-indigo-200 dark:bg-indigo-900 dark:text-indigo-200 dark:hover:bg-indigo-800",onClick:()=>S(P),children:[_(T),f.jsx(xr,{className:"ml-1 h-3 w-3 cursor-pointer"})]},(T==null?void 0:T.toString())+O))}function F(){const T=P.values[0],O=P.values[1];if(!T||!O)return null;const $=new Date(T),V=new Date(O);return f.jsxs(So,{variant:"secondary",className:"group relative cursor-pointer hover:bg-secondary/80",onClick:()=>S(P),children:[`${$.toLocaleDateString()} - ${V.toLocaleDateString()}`,f.jsx(xr,{className:"ml-1 h-3 w-3 opacity-0 transition-opacity group-hover:opacity-100"})]})}return f.jsxs("div",{className:"space-y-3 rounded-lg border border-indigo-100 bg-indigo-50/50 p-3 dark:border-indigo-900 dark:bg-indigo-900/50",children:[f.jsxs("div",{className:"flex items-center justify-between",children:[f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx("div",{className:"h-2 w-2 flex-shrink-0 rounded-full bg-indigo-500"}),f.jsx(ce,{className:"text-sm font-medium",children:P.fieldLabel}),!P.isDateFilter&&P.operation==="not in"&&f.jsx(So,{variant:"destructive",className:"text-xs",children:hE(P.operation)})]}),f.jsxs(Ce,{variant:"ghost",size:"sm",onClick:()=>C(P.fieldName),className:"h-6 px-2 text-xs text-indigo-600 hover:bg-red-50 hover:text-red-600 dark:text-indigo-400 dark:hover:bg-red-950 dark:hover:text-red-400",children:[f.jsx(uc,{className:"mr-1 h-3 w-3"}),"Clear Field"]})]}),f.jsx("div",{className:"flex flex-wrap gap-1",children:P.isDateFilter?F():A()})]})}function D(P){const A=m();A&&(l==null||l(A,P))}function I(){return f.jsxs(f.Fragment,{children:[f.jsx(Ca,{}),f.jsxs("div",{className:"space-y-3",children:[f.jsx("p",{className:"text-xs text-muted-foreground",children:"Start with these filters? Set them as default."}),f.jsxs("div",{className:"flex flex-row-reverse gap-2",children:[f.jsxs(Ce,{onClick:()=>{p(o||[]),D("Default filters saved successfully")},style:{borderRadius:r==null?void 0:r.controlInputRadius},className:"h-7 text-xs",variant:"outline",children:[n&&(n==null?void 0:n.length)>0&&f.jsx(Vr,{className:"mr-2 size-3.5 text-green-500"}),"Set Dashboard Default"]}),f.jsx(Ce,{onClick:()=>{p(void 0),D("Default filters cleared")},style:{borderRadius:r==null?void 0:r.controlInputRadius},className:"h-7 text-xs",variant:"secondary",children:"Reset"})]})]})]})}return f.jsxs(Iy,{openDelay:50,children:[f.jsx(jy,{asChild:!0,children:f.jsxs("div",{className:"flex cursor-default items-center gap-1 rounded-md border border-border bg-gray-50 px-2 py-1 transition-colors hover:bg-gray-100 dark:border-gray-700 dark:bg-gray-800 dark:hover:bg-gray-900",children:[f.jsx(ZE,{className:"h-3 w-3 text-gray-600 dark:text-gray-400"}),f.jsx("span",{className:"text-xs font-medium text-gray-700 dark:text-gray-300",children:E})]})}),f.jsxs(bme,{onMouseDown:P=>P.stopPropagation(),style:{borderRadius:r==null?void 0:r.cardBorderRadius},className:"min-h-fit w-[350px] flex-col space-y-0 p-0 text-xs",align:"start",children:[f.jsx("div",{className:"border-b border-border px-3 py-2",children:f.jsxs("div",{className:"flex items-center justify-between",children:[f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx("span",{className:"text-sm font-medium text-gray-900 dark:text-gray-100",children:"Active Filters"}),f.jsx(So,{variant:"secondary",className:"text-xs",children:E})]}),f.jsxs(Ce,{variant:"ghost",size:"sm",onClick:R,className:"h-6 px-2 text-xs text-gray-600 hover:bg-red-50 hover:text-red-600 dark:text-gray-400 dark:hover:bg-red-950 dark:hover:text-red-400",children:[f.jsx(mZ,{className:"mr-1 h-3 w-3"}),"Clear All"]})]})}),f.jsxs("div",{className:"space-y-4 px-5 py-4",children:[f.jsxs("div",{className:"max-h-[200px] min-h-0 grow space-y-4 overflow-auto",children:[v.length>0&&f.jsxs("div",{className:"space-y-3",children:[f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx(aZ,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Top Level Filters"})]}),f.jsx("div",{className:"space-y-2",children:v==null?void 0:v.map(P=>f.jsx("div",{children:N(P)},P.filterId))})]}),f.jsx(yme,{cardId:e})]}),t&&I()]})]})]})}const vme=w.forwardRef(({className:e,containerClassName:t,containerStyle:n,...r},o)=>f.jsx("div",{style:n,className:oe("relative w-full overflow-auto",t),children:f.jsx("table",{ref:o,className:oe("w-full caption-bottom text-sm",e),...r})}));vme.displayName="Table";const A_=w.forwardRef(({className:e,...t},n)=>f.jsx("thead",{ref:n,className:oe("[&_tr]:border-b",e),...t}));A_.displayName="TableHeader";const O_=w.forwardRef(({className:e,...t},n)=>f.jsx("tbody",{ref:n,className:oe("[&_tr:last-child]:border-0",e),...t}));O_.displayName="TableBody";const xme=w.forwardRef(({className:e,...t},n)=>f.jsx("tfoot",{ref:n,className:oe("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t}));xme.displayName="TableFooter";const Tf=w.forwardRef(({className:e,...t},n)=>f.jsx("tr",{ref:n,className:oe("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...t}));Tf.displayName="TableRow";const F_=w.forwardRef(({className:e,...t},n)=>f.jsx("th",{ref:n,className:oe("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",e),...t}));F_.displayName="TableHead";const Bb=w.forwardRef(({className:e,...t},n)=>f.jsx("td",{ref:n,className:oe("p-4 align-middle [&:has([role=checkbox])]:pr-0",e),...t}));Bb.displayName="TableCell";const wme=w.forwardRef(({className:e,...t},n)=>f.jsx("caption",{ref:n,className:oe("mt-4 text-sm text-muted-foreground",e),...t}));wme.displayName="TableCaption";/**
512
+ `):e}function Nue(e,t){const{element:n,datasetIndex:r,index:o}=t,i=e.getDatasetMeta(r).controller,{label:s,value:a}=i.getLabelAndValue(o);return{chart:e,label:s,parsed:i.getParsed(o),raw:e.data.datasets[r].data[o],formattedValue:a,dataset:i.getDataset(),dataIndex:o,datasetIndex:r,element:n}}function iP(e,t){const n=e.chart.ctx,{body:r,footer:o,title:i}=e,{boxWidth:s,boxHeight:a}=t,l=En(t.bodyFont),c=En(t.titleFont),u=En(t.footerFont),d=i.length,h=o.length,p=r.length,m=Un(t.padding);let g=m.height,b=0,y=r.reduce((E,_)=>E+_.before.length+_.lines.length+_.after.length,0);if(y+=e.beforeBody.length+e.afterBody.length,d&&(g+=d*c.lineHeight+(d-1)*t.titleSpacing+t.titleMarginBottom),y){const E=t.displayColors?Math.max(a,l.lineHeight):l.lineHeight;g+=p*E+(y-p)*l.lineHeight+(y-1)*t.bodySpacing}h&&(g+=t.footerMarginTop+h*u.lineHeight+(h-1)*t.footerSpacing);let v=0;const x=function(E){b=Math.max(b,n.measureText(E).width+v)};return n.save(),n.font=c.string,It(e.title,x),n.font=l.string,It(e.beforeBody.concat(e.afterBody),x),v=t.displayColors?s+2+t.boxPadding:0,It(r,E=>{It(E.before,x),It(E.lines,x),It(E.after,x)}),v=0,n.font=u.string,It(e.footer,x),n.restore(),b+=m.width,{width:b,height:g}}function Due(e,t){const{y:n,height:r}=t;return n<r/2?"top":n>e.height-r/2?"bottom":"center"}function Mue(e,t,n,r){const{x:o,width:i}=r,s=n.caretSize+n.caretPadding;if(e==="left"&&o+i+s>t.width||e==="right"&&o-i-s<0)return!0}function Pue(e,t,n,r){const{x:o,width:i}=n,{width:s,chartArea:{left:a,right:l}}=e;let c="center";return r==="center"?c=o<=(a+l)/2?"left":"right":o<=i/2?c="left":o>=s-i/2&&(c="right"),Mue(c,e,t,n)&&(c="center"),c}function sP(e,t,n){const r=n.yAlign||t.yAlign||Due(e,n);return{xAlign:n.xAlign||t.xAlign||Pue(e,t,n,r),yAlign:r}}function Iue(e,t){let{x:n,width:r}=e;return t==="right"?n-=r:t==="center"&&(n-=r/2),n}function jue(e,t,n){let{y:r,height:o}=e;return t==="top"?r+=n:t==="bottom"?r-=o+n:r-=o/2,r}function aP(e,t,n,r){const{caretSize:o,caretPadding:i,cornerRadius:s}=e,{xAlign:a,yAlign:l}=n,c=o+i,{topLeft:u,topRight:d,bottomLeft:h,bottomRight:p}=_l(s);let m=Iue(t,a);const g=jue(t,l,c);return l==="center"?a==="left"?m+=c:a==="right"&&(m-=c):a==="left"?m-=Math.max(u,h)+o:a==="right"&&(m+=Math.max(d,p)+o),{x:An(m,0,r.width-t.width),y:An(g,0,r.height-t.height)}}function jm(e,t,n){const r=Un(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-r.right:e.x+r.left}function lP(e){return ii([],Qi(e))}function Tue(e,t,n){return ja(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function cP(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const h$={beforeTitle:Ui,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,r=n?n.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(r>0&&t.dataIndex<r)return n[t.dataIndex]}return""},afterTitle:Ui,beforeBody:Ui,beforeLabel:Ui,label(e){if(this&&this.options&&this.options.mode==="dataset")return e.label+": "+e.formattedValue||e.formattedValue;let t=e.dataset.label||"";t&&(t+=": ");const n=e.formattedValue;return Ze(n)||(t+=n),t},labelColor(e){const n=e.chart.getDatasetMeta(e.datasetIndex).controller.getStyle(e.dataIndex);return{borderColor:n.borderColor,backgroundColor:n.backgroundColor,borderWidth:n.borderWidth,borderDash:n.borderDash,borderDashOffset:n.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(e){const n=e.chart.getDatasetMeta(e.datasetIndex).controller.getStyle(e.dataIndex);return{pointStyle:n.pointStyle,rotation:n.rotation}},afterLabel:Ui,afterBody:Ui,beforeFooter:Ui,footer:Ui,afterFooter:Ui};function Dr(e,t,n,r){const o=e[t].call(n,r);return typeof o>"u"?h$[t].call(n,r):o}var Yw;let uP=(Yw=class extends zi{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,r=this.options.setContext(this.getContext()),o=r.enabled&&n.options.animation&&r.animations,i=new qL(this.chart,o);return o._cacheable&&(this._cachedAnimations=Object.freeze(i)),i}getContext(){return this.$context||(this.$context=Tue(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:r}=n,o=Dr(r,"beforeTitle",this,t),i=Dr(r,"title",this,t),s=Dr(r,"afterTitle",this,t);let a=[];return a=ii(a,Qi(o)),a=ii(a,Qi(i)),a=ii(a,Qi(s)),a}getBeforeBody(t,n){return lP(Dr(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:r}=n,o=[];return It(t,i=>{const s={before:[],lines:[],after:[]},a=cP(r,i);ii(s.before,Qi(Dr(a,"beforeLabel",this,i))),ii(s.lines,Dr(a,"label",this,i)),ii(s.after,Qi(Dr(a,"afterLabel",this,i))),o.push(s)}),o}getAfterBody(t,n){return lP(Dr(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:r}=n,o=Dr(r,"beforeFooter",this,t),i=Dr(r,"footer",this,t),s=Dr(r,"afterFooter",this,t);let a=[];return a=ii(a,Qi(o)),a=ii(a,Qi(i)),a=ii(a,Qi(s)),a}_createItems(t){const n=this._active,r=this.chart.data,o=[],i=[],s=[];let a=[],l,c;for(l=0,c=n.length;l<c;++l)a.push(Nue(this.chart,n[l]));return t.filter&&(a=a.filter((u,d,h)=>t.filter(u,d,h,r))),t.itemSort&&(a=a.sort((u,d)=>t.itemSort(u,d,r))),It(a,u=>{const d=cP(t.callbacks,u);o.push(Dr(d,"labelColor",this,u)),i.push(Dr(d,"labelPointStyle",this,u)),s.push(Dr(d,"labelTextColor",this,u))}),this.labelColors=o,this.labelPointStyles=i,this.labelTextColors=s,this.dataPoints=a,a}update(t,n){const r=this.options.setContext(this.getContext()),o=this._active;let i,s=[];if(!o.length)this.opacity!==0&&(i={opacity:0});else{const a=af[r.position].call(this,o,this._eventPosition);s=this._createItems(r),this.title=this.getTitle(s,r),this.beforeBody=this.getBeforeBody(s,r),this.body=this.getBody(s,r),this.afterBody=this.getAfterBody(s,r),this.footer=this.getFooter(s,r);const l=this._size=iP(this,r),c=Object.assign({},a,l),u=sP(this.chart,r,c),d=aP(r,c,u,this.chart);this.xAlign=u.xAlign,this.yAlign=u.yAlign,i={opacity:1,x:d.x,y:d.y,width:l.width,height:l.height,caretX:a.x,caretY:a.y}}this._tooltipItems=s,this.$context=void 0,i&&this._resolveAnimations().update(this,i),t&&r.external&&r.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,r,o){const i=this.getCaretPosition(t,r,o);n.lineTo(i.x1,i.y1),n.lineTo(i.x2,i.y2),n.lineTo(i.x3,i.y3)}getCaretPosition(t,n,r){const{xAlign:o,yAlign:i}=this,{caretSize:s,cornerRadius:a}=r,{topLeft:l,topRight:c,bottomLeft:u,bottomRight:d}=_l(a),{x:h,y:p}=t,{width:m,height:g}=n;let b,y,v,x,E,_;return i==="center"?(E=p+g/2,o==="left"?(b=h,y=b-s,x=E+s,_=E-s):(b=h+m,y=b+s,x=E-s,_=E+s),v=b):(o==="left"?y=h+Math.max(l,u)+s:o==="right"?y=h+m-Math.max(c,d)-s:y=this.caretX,i==="top"?(x=p,E=x-s,b=y-s,v=y+s):(x=p+g,E=x+s,b=y+s,v=y-s),_=x),{x1:b,x2:y,x3:v,y1:x,y2:E,y3:_}}drawTitle(t,n,r){const o=this.title,i=o.length;let s,a,l;if(i){const c=au(r.rtl,this.x,this.width);for(t.x=jm(this,r.titleAlign,r),n.textAlign=c.textAlign(r.titleAlign),n.textBaseline="middle",s=En(r.titleFont),a=r.titleSpacing,n.fillStyle=r.titleColor,n.font=s.string,l=0;l<i;++l)n.fillText(o[l],c.x(t.x),t.y+s.lineHeight/2),t.y+=s.lineHeight+a,l+1===i&&(t.y+=r.titleMarginBottom-a)}}_drawColorBox(t,n,r,o,i){const s=this.labelColors[r],a=this.labelPointStyles[r],{boxHeight:l,boxWidth:c}=i,u=En(i.bodyFont),d=jm(this,"left",i),h=o.x(d),p=l<u.lineHeight?(u.lineHeight-l)/2:0,m=n.y+p;if(i.usePointStyle){const g={radius:Math.min(c,l)/2,pointStyle:a.pointStyle,rotation:a.rotation,borderWidth:1},b=o.leftForLtr(h,c)+c/2,y=m+l/2;t.strokeStyle=i.multiKeyBackground,t.fillStyle=i.multiKeyBackground,yb(t,g,b,y),t.strokeStyle=s.borderColor,t.fillStyle=s.backgroundColor,yb(t,g,b,y)}else{t.lineWidth=dt(s.borderWidth)?Math.max(...Object.values(s.borderWidth)):s.borderWidth||1,t.strokeStyle=s.borderColor,t.setLineDash(s.borderDash||[]),t.lineDashOffset=s.borderDashOffset||0;const g=o.leftForLtr(h,c),b=o.leftForLtr(o.xPlus(h,1),c-2),y=_l(s.borderRadius);Object.values(y).some(v=>v!==0)?(t.beginPath(),t.fillStyle=i.multiKeyBackground,dh(t,{x:g,y:m,w:c,h:l,radius:y}),t.fill(),t.stroke(),t.fillStyle=s.backgroundColor,t.beginPath(),dh(t,{x:b,y:m+1,w:c-2,h:l-2,radius:y}),t.fill()):(t.fillStyle=i.multiKeyBackground,t.fillRect(g,m,c,l),t.strokeRect(g,m,c,l),t.fillStyle=s.backgroundColor,t.fillRect(b,m+1,c-2,l-2))}t.fillStyle=this.labelTextColors[r]}drawBody(t,n,r){const{body:o}=this,{bodySpacing:i,bodyAlign:s,displayColors:a,boxHeight:l,boxWidth:c,boxPadding:u}=r,d=En(r.bodyFont);let h=d.lineHeight,p=0;const m=au(r.rtl,this.x,this.width),g=function(R){n.fillText(R,m.x(t.x+p),t.y+h/2),t.y+=h+i},b=m.textAlign(s);let y,v,x,E,_,S,C;for(n.textAlign=s,n.textBaseline="middle",n.font=d.string,t.x=jm(this,b,r),n.fillStyle=r.bodyColor,It(this.beforeBody,g),p=a&&b!=="right"?s==="center"?c/2+u:c+2+u:0,E=0,S=o.length;E<S;++E){for(y=o[E],v=this.labelTextColors[E],n.fillStyle=v,It(y.before,g),x=y.lines,a&&x.length&&(this._drawColorBox(n,t,E,m,r),h=Math.max(d.lineHeight,l)),_=0,C=x.length;_<C;++_)g(x[_]),h=d.lineHeight;It(y.after,g)}p=0,h=d.lineHeight,It(this.afterBody,g),t.y-=i}drawFooter(t,n,r){const o=this.footer,i=o.length;let s,a;if(i){const l=au(r.rtl,this.x,this.width);for(t.x=jm(this,r.footerAlign,r),t.y+=r.footerMarginTop,n.textAlign=l.textAlign(r.footerAlign),n.textBaseline="middle",s=En(r.footerFont),n.fillStyle=r.footerColor,n.font=s.string,a=0;a<i;++a)n.fillText(o[a],l.x(t.x),t.y+s.lineHeight/2),t.y+=s.lineHeight+r.footerSpacing}}drawBackground(t,n,r,o){const{xAlign:i,yAlign:s}=this,{x:a,y:l}=t,{width:c,height:u}=r,{topLeft:d,topRight:h,bottomLeft:p,bottomRight:m}=_l(o.cornerRadius);n.fillStyle=o.backgroundColor,n.strokeStyle=o.borderColor,n.lineWidth=o.borderWidth,n.beginPath(),n.moveTo(a+d,l),s==="top"&&this.drawCaret(t,n,r,o),n.lineTo(a+c-h,l),n.quadraticCurveTo(a+c,l,a+c,l+h),s==="center"&&i==="right"&&this.drawCaret(t,n,r,o),n.lineTo(a+c,l+u-m),n.quadraticCurveTo(a+c,l+u,a+c-m,l+u),s==="bottom"&&this.drawCaret(t,n,r,o),n.lineTo(a+p,l+u),n.quadraticCurveTo(a,l+u,a,l+u-p),s==="center"&&i==="left"&&this.drawCaret(t,n,r,o),n.lineTo(a,l+d),n.quadraticCurveTo(a,l,a+d,l),n.closePath(),n.fill(),o.borderWidth>0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,r=this.$animations,o=r&&r.x,i=r&&r.y;if(o||i){const s=af[t.position].call(this,this._active,this._eventPosition);if(!s)return;const a=this._size=iP(this,t),l=Object.assign({},s,this._size),c=sP(n,t,l),u=aP(t,l,c,n);(o._to!==u.x||i._to!==u.y)&&(this.xAlign=c.xAlign,this.yAlign=c.yAlign,this.width=a.width,this.height=a.height,this.caretX=s.x,this.caretY=s.y,this._resolveAnimations().update(this,u))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let r=this.opacity;if(!r)return;this._updateAnimationTarget(n);const o={width:this.width,height:this.height},i={x:this.x,y:this.y};r=Math.abs(r)<.001?0:r;const s=Un(n.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&a&&(t.save(),t.globalAlpha=r,this.drawBackground(i,t,o,n),BL(t,n.textDirection),i.y+=s.top,this.drawTitle(i,t,n),this.drawBody(i,t,n),this.drawFooter(i,t,n),VL(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const r=this._active,o=t.map(({datasetIndex:a,index:l})=>{const c=this.chart.getDatasetMeta(a);if(!c)throw new Error("Cannot find a dataset at index "+a);return{datasetIndex:a,element:c.data[l],index:l}}),i=!pb(r,o),s=this._positionChanged(o,n);(i||s)&&(this._active=o,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,r=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const o=this.options,i=this._active||[],s=this._getActiveElements(t,i,n,r),a=this._positionChanged(s,t),l=n||!pb(s,i)||a;return l&&(this._active=s,(o.enabled||o.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),l}_getActiveElements(t,n,r,o){const i=this.options;if(t.type==="mouseout")return[];if(!o)return n.filter(a=>this.chart.data.datasets[a.datasetIndex]&&this.chart.getDatasetMeta(a.datasetIndex).controller.getParsed(a.index)!==void 0);const s=this.chart.getElementsAtEventForMode(t,i.mode,i,r);return i.reverse&&s.reverse(),s}_positionChanged(t,n){const{caretX:r,caretY:o,options:i}=this,s=af[i.position].call(this,t,n);return s!==!1&&(r!==s.x||o!==s.y)}},ve(Yw,"positioners",af),Yw);var p$={id:"tooltip",_element:uP,positioners:af,afterInit(e,t,n){n&&(e.tooltip=new uP({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:h$},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},Aue=Object.freeze({__proto__:null,Colors:Yce,Decimation:Zce,Filler:yue,Legend:Eue,SubTitle:Rue,Title:kue,Tooltip:p$});const Oue=(e,t,n,r)=>(typeof t=="string"?(n=e.push(t)-1,r.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function Fue(e,t,n,r){const o=e.indexOf(t);if(o===-1)return Oue(e,t,n,r);const i=e.lastIndexOf(t);return o!==i?n:o}const Lue=(e,t)=>e===null?null:An(Math.round(e),0,t);function dP(e){const t=this.getLabels();return e>=0&&e<t.length?t[e]:e}class hh extends Ta{constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const n=this._addedLabels;if(n.length){const r=this.getLabels();for(const{index:o,label:i}of n)r[o]===i&&r.splice(o,1);this._addedLabels=[]}super.init(t)}parse(t,n){if(Ze(t))return null;const r=this.getLabels();return n=isFinite(n)&&r[n]===t?n:Fue(r,t,Be(n,t),this._addedLabels),Lue(n,r.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let{min:r,max:o}=this.getMinMax(!0);this.options.bounds==="ticks"&&(t||(r=0),n||(o=this.getLabels().length-1)),this.min=r,this.max=o}buildTicks(){const t=this.min,n=this.max,r=this.options.offset,o=[];let i=this.getLabels();i=t===0&&n===i.length-1?i:i.slice(t,n+1),this._valueRange=Math.max(i.length-(r?0:1),1),this._startValue=this.min-(r?.5:0);for(let s=t;s<=n;s++)o.push({value:s});return o}getLabelForValue(t){return dP.call(this,t)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(t){return typeof t!="number"&&(t=this.parse(t)),t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}ve(hh,"id","category"),ve(hh,"defaults",{ticks:{callback:dP}});function $ue(e,t){const n=[],{bounds:o,step:i,min:s,max:a,precision:l,count:c,maxTicks:u,maxDigits:d,includeBounds:h}=e,p=i||1,m=u-1,{min:g,max:b}=t,y=!Ze(s),v=!Ze(a),x=!Ze(c),E=(b-g)/(d+1);let _=iM((b-g)/m/p)*p,S,C,R,N;if(_<1e-14&&!y&&!v)return[{value:g},{value:b}];N=Math.ceil(b/_)-Math.floor(g/_),N>m&&(_=iM(N*_/m/p)*p),Ze(l)||(S=Math.pow(10,l),_=Math.ceil(_*S)/S),o==="ticks"?(C=Math.floor(g/_)*_,R=Math.ceil(b/_)*_):(C=g,R=b),y&&v&&i&&jse((a-s)/i,_/1e3)?(N=Math.round(Math.min((a-s)/_,u)),_=(a-s)/N,C=s,R=a):x?(C=y?s:C,R=v?a:R,N=c-1,_=(R-C)/N):(N=(R-C)/_,_f(N,Math.round(N),_/1e3)?N=Math.round(N):N=Math.ceil(N));const D=Math.max(sM(_),sM(C));S=Math.pow(10,Ze(l)?D:l),C=Math.round(C*S)/S,R=Math.round(R*S)/S;let I=0;for(y&&(h&&C!==s?(n.push({value:s}),C<s&&I++,_f(Math.round((C+I*_)*S)/S,s,fP(s,E,e))&&I++):C<s&&I++);I<N;++I){const P=Math.round((C+I*_)*S)/S;if(v&&P>a)break;n.push({value:P})}return v&&h&&R!==a?n.length&&_f(n[n.length-1].value,a,fP(a,E,e))?n[n.length-1].value=a:n.push({value:a}):(!v||R===a)&&n.push({value:R}),n}function fP(e,t,{horizontal:n,minRotation:r}){const o=Bo(r),i=(n?Math.sin(o):Math.cos(o))||.001,s=.75*t*(""+e).length;return Math.min(t/i,s)}class Cb extends Ta{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return Ze(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:r}=this.getUserBounds();let{min:o,max:i}=this;const s=l=>o=n?o:l,a=l=>i=r?i:l;if(t){const l=vi(o),c=vi(i);l<0&&c<0?a(0):l>0&&c>0&&s(0)}if(o===i){let l=i===0?1:Math.abs(i*.05);a(i+l),t||s(o-l)}this.min=o,this.max=i}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:n,stepSize:r}=t,o;return r?(o=Math.ceil(this.max/r)-Math.floor(this.min/r)+1,o>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${r} would result generating up to ${o} ticks. Limiting to 1000.`),o=1e3)):(o=this.computeTickLimit(),n=n||11),n&&(o=Math.min(n,o)),o}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let r=this.getTickLimit();r=Math.max(2,r);const o={maxTicks:r,bounds:t.bounds,min:t.min,max:t.max,precision:n.precision,step:n.stepSize,count:n.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:n.minRotation||0,includeBounds:n.includeBounds!==!1},i=this._range||this,s=$ue(o,i);return t.bounds==="ticks"&&EL(s,this,"value"),t.reverse?(s.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),s}configure(){const t=this.ticks;let n=this.min,r=this.max;if(super.configure(),this.options.offset&&t.length){const o=(r-n)/Math.max(t.length-1,1)/2;n-=o,r+=o}this._startValue=n,this._endValue=r,this._valueRange=r-n}getLabelForValue(t){return Cp(t,this.chart.options.locale,this.options.ticks.format)}}class Yl extends Cb{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=dn(t)?t:0,this.max=dn(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,r=Bo(this.options.ticks.minRotation),o=(t?Math.sin(r):Math.cos(r))||.001,i=this._resolveTickFontOptions(0);return Math.ceil(n/Math.min(40,i.lineHeight/o))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}ve(Yl,"id","linear"),ve(Yl,"defaults",{ticks:{callback:by.formatters.numeric}});const ph=e=>Math.floor(Js(e)),Ga=(e,t)=>Math.pow(10,ph(e)+t);function hP(e){return e/Math.pow(10,ph(e))===1}function pP(e,t,n){const r=Math.pow(10,n),o=Math.floor(e/r);return Math.ceil(t/r)-o}function zue(e,t){const n=t-e;let r=ph(n);for(;pP(e,t,r)>10;)r++;for(;pP(e,t,r)<10;)r--;return Math.min(r,ph(e))}function Bue(e,{min:t,max:n}){t=Qr(e.min,t);const r=[],o=ph(t);let i=zue(t,n),s=i<0?Math.pow(10,Math.abs(i)):1;const a=Math.pow(10,i),l=o>i?Math.pow(10,o):0,c=Math.round((t-l)*s)/s,u=Math.floor((t-l)/a/10)*a*10;let d=Math.floor((c-u)/Math.pow(10,i)),h=Qr(e.min,Math.round((l+u+d*Math.pow(10,i))*s)/s);for(;h<n;)r.push({value:h,major:hP(h),significand:d}),d>=10?d=d<15?15:20:d++,d>=20&&(i++,d=2,s=i>=0?1:s),h=Math.round((l+u+d*Math.pow(10,i))*s)/s;const p=Qr(e.max,h);return r.push({value:p,major:hP(p),significand:d}),r}class Wu extends Ta{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,n){const r=Cb.prototype.parse.apply(this,[t,n]);if(r===0){this._zero=!0;return}return dn(r)&&r>0?r:null}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=dn(t)?Math.max(0,t):null,this.max=dn(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!dn(this._userMin)&&(this.min=t===Ga(this.min,0)?Ga(this.min,-1):Ga(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let r=this.min,o=this.max;const i=a=>r=t?r:a,s=a=>o=n?o:a;r===o&&(r<=0?(i(1),s(10)):(i(Ga(r,-1)),s(Ga(o,1)))),r<=0&&i(Ga(o,-1)),o<=0&&s(Ga(r,1)),this.min=r,this.max=o}buildTicks(){const t=this.options,n={min:this._userMin,max:this._userMax},r=Bue(n,this);return t.bounds==="ticks"&&EL(r,this,"value"),t.reverse?(r.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),r}getLabelForValue(t){return t===void 0?"0":Cp(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=Js(t),this._valueRange=Js(this.max)-Js(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(Js(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const n=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+n*this._valueRange)}}ve(Wu,"id","logarithmic"),ve(Wu,"defaults",{ticks:{callback:by.formatters.logarithmic,major:{enabled:!0}}});function wC(e){const t=e.ticks;if(t.display&&e.display){const n=Un(t.backdropPadding);return Be(t.font&&t.font.size,Qt.font.size)+n.height}return 0}function Vue(e,t,n){return n=Kt(n)?n:[n],{w:Xse(e,t.string,n),h:n.length*t.lineHeight}}function mP(e,t,n,r,o){return e===r||e===o?{start:t-n/2,end:t+n/2}:e<r||e>o?{start:t-n,end:t}:{start:t,end:t+n}}function Hue(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),r=[],o=[],i=e._pointLabels.length,s=e.options.pointLabels,a=s.centerPointLabels?Zt/i:0;for(let l=0;l<i;l++){const c=s.setContext(e.getPointLabelContext(l));o[l]=c.padding;const u=e.getPointPosition(l,e.drawingArea+o[l],a),d=En(c.font),h=Vue(e.ctx,d,e._pointLabels[l]);r[l]=h;const p=Jr(e.getIndexAngle(l)+a),m=Math.round(J2(p)),g=mP(m,u.x,h.w,0,180),b=mP(m,u.y,h.h,90,270);Wue(n,t,p,g,b)}e.setCenterPoint(t.l-n.l,n.r-t.r,t.t-n.t,n.b-t.b),e._pointLabelItems=Gue(e,r,o)}function Wue(e,t,n,r,o){const i=Math.abs(Math.sin(n)),s=Math.abs(Math.cos(n));let a=0,l=0;r.start<t.l?(a=(t.l-r.start)/i,e.l=Math.min(e.l,t.l-a)):r.end>t.r&&(a=(r.end-t.r)/i,e.r=Math.max(e.r,t.r+a)),o.start<t.t?(l=(t.t-o.start)/s,e.t=Math.min(e.t,t.t-l)):o.end>t.b&&(l=(o.end-t.b)/s,e.b=Math.max(e.b,t.b+l))}function Uue(e,t,n){const r=e.drawingArea,{extra:o,additionalAngle:i,padding:s,size:a}=n,l=e.getPointPosition(t,r+o+s,i),c=Math.round(J2(Jr(l.angle+pn))),u=Xue(l.y,a.h,c),d=Yue(c),h=Kue(l.x,a.w,d);return{visible:!0,x:l.x,y:u,textAlign:d,left:h,top:u,right:h+a.w,bottom:u+a.h}}function que(e,t){if(!t)return!0;const{left:n,top:r,right:o,bottom:i}=e;return!(us({x:n,y:r},t)||us({x:n,y:i},t)||us({x:o,y:r},t)||us({x:o,y:i},t))}function Gue(e,t,n){const r=[],o=e._pointLabels.length,i=e.options,{centerPointLabels:s,display:a}=i.pointLabels,l={extra:wC(i)/2,additionalAngle:s?Zt/o:0};let c;for(let u=0;u<o;u++){l.padding=n[u],l.size=t[u];const d=Uue(e,u,l);r.push(d),a==="auto"&&(d.visible=que(d,c),d.visible&&(c=d))}return r}function Yue(e){return e===0||e===180?"center":e<180?"left":"right"}function Kue(e,t,n){return n==="right"?e-=t:n==="center"&&(e-=t/2),e}function Xue(e,t,n){return n===90||n===270?e-=t/2:(n>270||n<90)&&(e-=t),e}function Que(e,t,n){const{left:r,top:o,right:i,bottom:s}=n,{backdropColor:a}=t;if(!Ze(a)){const l=_l(t.borderRadius),c=Un(t.backdropPadding);e.fillStyle=a;const u=r-c.left,d=o-c.top,h=i-r+c.width,p=s-o+c.height;Object.values(l).some(m=>m!==0)?(e.beginPath(),dh(e,{x:u,y:d,w:h,h:p,radius:l}),e.fill()):e.fillRect(u,d,h,p)}}function Zue(e,t){const{ctx:n,options:{pointLabels:r}}=e;for(let o=t-1;o>=0;o--){const i=e._pointLabelItems[o];if(!i.visible)continue;const s=r.setContext(e.getPointLabelContext(o));Que(n,s,i);const a=En(s.font),{x:l,y:c,textAlign:u}=i;Gl(n,e._pointLabels[o],l,c+a.lineHeight/2,a,{color:s.color,textAlign:u,textBaseline:"middle"})}}function m$(e,t,n,r){const{ctx:o}=e;if(n)o.arc(e.xCenter,e.yCenter,t,0,Xt);else{let i=e.getPointPosition(0,t);o.moveTo(i.x,i.y);for(let s=1;s<r;s++)i=e.getPointPosition(s,t),o.lineTo(i.x,i.y)}}function Jue(e,t,n,r,o){const i=e.ctx,s=t.circular,{color:a,lineWidth:l}=t;!s&&!r||!a||!l||n<0||(i.save(),i.strokeStyle=a,i.lineWidth=l,i.setLineDash(o.dash||[]),i.lineDashOffset=o.dashOffset,i.beginPath(),m$(e,n,s,r),i.closePath(),i.stroke(),i.restore())}function ede(e,t,n){return ja(e,{label:n,index:t,type:"pointLabel"})}class lf extends Cb{constructor(t){super(t),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const t=this._padding=Un(wC(this.options)/2),n=this.width=this.maxWidth-t.width,r=this.height=this.maxHeight-t.height;this.xCenter=Math.floor(this.left+n/2+t.left),this.yCenter=Math.floor(this.top+r/2+t.top),this.drawingArea=Math.floor(Math.min(n,r)/2)}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!1);this.min=dn(t)&&!isNaN(t)?t:0,this.max=dn(n)&&!isNaN(n)?n:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/wC(this.options))}generateTickLabels(t){Cb.prototype.generateTickLabels.call(this,t),this._pointLabels=this.getLabels().map((n,r)=>{const o=$t(this.options.pointLabels.callback,[n,r],this);return o||o===0?o:""}).filter((n,r)=>this.chart.getDataVisibility(r))}fit(){const t=this.options;t.display&&t.pointLabels.display?Hue(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,n,r,o){this.xCenter+=Math.floor((t-n)/2),this.yCenter+=Math.floor((r-o)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,n,r,o))}getIndexAngle(t){const n=Xt/(this._pointLabels.length||1),r=this.options.startAngle||0;return Jr(t*n+Bo(r))}getDistanceFromCenterForValue(t){if(Ze(t))return NaN;const n=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*n:(t-this.min)*n}getValueForDistanceFromCenter(t){if(Ze(t))return NaN;const n=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-n:this.min+n}getPointLabelContext(t){const n=this._pointLabels||[];if(t>=0&&t<n.length){const r=n[t];return ede(this.getContext(),t,r)}}getPointPosition(t,n,r=0){const o=this.getIndexAngle(t)-pn+r;return{x:Math.cos(o)*n+this.xCenter,y:Math.sin(o)*n+this.yCenter,angle:o}}getPointPositionForValue(t,n){return this.getPointPosition(t,this.getDistanceFromCenterForValue(n))}getBasePosition(t){return this.getPointPositionForValue(t||0,this.getBaseValue())}getPointLabelPosition(t){const{left:n,top:r,right:o,bottom:i}=this._pointLabelItems[t];return{left:n,top:r,right:o,bottom:i}}drawBackground(){const{backgroundColor:t,grid:{circular:n}}=this.options;if(t){const r=this.ctx;r.save(),r.beginPath(),m$(this,this.getDistanceFromCenterForValue(this._endValue),n,this._pointLabels.length),r.closePath(),r.fillStyle=t,r.fill(),r.restore()}}drawGrid(){const t=this.ctx,n=this.options,{angleLines:r,grid:o,border:i}=n,s=this._pointLabels.length;let a,l,c;if(n.pointLabels.display&&Zue(this,s),o.display&&this.ticks.forEach((u,d)=>{if(d!==0||d===0&&this.min<0){l=this.getDistanceFromCenterForValue(u.value);const h=this.getContext(d),p=o.setContext(h),m=i.setContext(h);Jue(this,p,l,s,m)}}),r.display){for(t.save(),a=s-1;a>=0;a--){const u=r.setContext(this.getPointLabelContext(a)),{color:d,lineWidth:h}=u;!h||!d||(t.lineWidth=h,t.strokeStyle=d,t.setLineDash(u.borderDash),t.lineDashOffset=u.borderDashOffset,l=this.getDistanceFromCenterForValue(n.reverse?this.min:this.max),c=this.getPointPosition(a,l),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(c.x,c.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,n=this.options,r=n.ticks;if(!r.display)return;const o=this.getIndexAngle(0);let i,s;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(o),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((a,l)=>{if(l===0&&this.min>=0&&!n.reverse)return;const c=r.setContext(this.getContext(l)),u=En(c.font);if(i=this.getDistanceFromCenterForValue(this.ticks[l].value),c.showLabelBackdrop){t.font=u.string,s=t.measureText(a.label).width,t.fillStyle=c.backdropColor;const d=Un(c.backdropPadding);t.fillRect(-s/2-d.left,-i-u.size/2-d.top,s+d.width,u.size+d.height)}Gl(t,a.label,0,-i,u,{color:c.color,strokeColor:c.textStrokeColor,strokeWidth:c.textStrokeWidth})}),t.restore()}drawTitle(){}}ve(lf,"id","radialLinear"),ve(lf,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:by.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),ve(lf,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),ve(lf,"descriptors",{angleLines:{_fallback:"grid"}});const xy={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Lr=Object.keys(xy);function gP(e,t){return e-t}function bP(e,t){if(Ze(t))return null;const n=e._adapter,{parser:r,round:o,isoWeekday:i}=e._parseOpts;let s=t;return typeof r=="function"&&(s=r(s)),dn(s)||(s=typeof r=="string"?n.parse(s,r):n.parse(s)),s===null?null:(o&&(s=o==="week"&&(Bu(i)||i===!0)?n.startOf(s,"isoWeek",i):n.startOf(s,o)),+s)}function yP(e,t,n,r){const o=Lr.length;for(let i=Lr.indexOf(e);i<o-1;++i){const s=xy[Lr[i]],a=s.steps?s.steps:Number.MAX_SAFE_INTEGER;if(s.common&&Math.ceil((n-t)/(a*s.size))<=r)return Lr[i]}return Lr[o-1]}function tde(e,t,n,r,o){for(let i=Lr.length-1;i>=Lr.indexOf(n);i--){const s=Lr[i];if(xy[s].common&&e._adapter.diff(o,r,s)>=t-1)return s}return Lr[n?Lr.indexOf(n):0]}function nde(e){for(let t=Lr.indexOf(e)+1,n=Lr.length;t<n;++t)if(xy[Lr[t]].common)return Lr[t]}function vP(e,t,n){if(!n)e[t]=!0;else if(n.length){const{lo:r,hi:o}=e_(n,t),i=n[r]>=t?n[r]:n[o];e[i]=!0}}function rde(e,t,n,r){const o=e._adapter,i=+o.startOf(t[0].value,r),s=t[t.length-1].value;let a,l;for(a=i;a<=s;a=+o.add(a,1,r))l=n[a],l>=0&&(t[l].major=!0);return t}function xP(e,t,n){const r=[],o={},i=t.length;let s,a;for(s=0;s<i;++s)a=t[s],o[a]=s,r.push({value:a,major:!1});return i===0||!n?r:rde(e,r,o,n)}class mh extends Ta{constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,n={}){const r=t.time||(t.time={}),o=this._adapter=new fle._date(t.adapters.date);o.init(n),Ef(r.displayFormats,o.formats()),this._parseOpts={parser:r.parser,round:r.round,isoWeekday:r.isoWeekday},super.init(t),this._normalized=n.normalized}parse(t,n){return t===void 0?null:bP(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,n=this._adapter,r=t.time.unit||"day";let{min:o,max:i,minDefined:s,maxDefined:a}=this.getUserBounds();function l(c){!s&&!isNaN(c.min)&&(o=Math.min(o,c.min)),!a&&!isNaN(c.max)&&(i=Math.max(i,c.max))}(!s||!a)&&(l(this._getLabelBounds()),(t.bounds!=="ticks"||t.ticks.source!=="labels")&&l(this.getMinMax(!1))),o=dn(o)&&!isNaN(o)?o:+n.startOf(Date.now(),r),i=dn(i)&&!isNaN(i)?i:+n.endOf(Date.now(),r)+1,this.min=Math.min(o,i-1),this.max=Math.max(o+1,i)}_getLabelBounds(){const t=this.getLabelTimestamps();let n=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY;return t.length&&(n=t[0],r=t[t.length-1]),{min:n,max:r}}buildTicks(){const t=this.options,n=t.time,r=t.ticks,o=r.source==="labels"?this.getLabelTimestamps():this._generate();t.bounds==="ticks"&&o.length&&(this.min=this._userMin||o[0],this.max=this._userMax||o[o.length-1]);const i=this.min,s=this.max,a=Fse(o,i,s);return this._unit=n.unit||(r.autoSkip?yP(n.minUnit,this.min,this.max,this._getLabelCapacity(i)):tde(this,a.length,n.minUnit,this.min,this.max)),this._majorUnit=!r.major.enabled||this._unit==="year"?void 0:nde(this._unit),this.initOffsets(o),t.reverse&&a.reverse(),xP(this,a,this._majorUnit)}afterAutoSkip(){this.options.offsetAfterAutoskip&&this.initOffsets(this.ticks.map(t=>+t.value))}initOffsets(t=[]){let n=0,r=0,o,i;this.options.offset&&t.length&&(o=this.getDecimalForValue(t[0]),t.length===1?n=1-o:n=(this.getDecimalForValue(t[1])-o)/2,i=this.getDecimalForValue(t[t.length-1]),t.length===1?r=i:r=(i-this.getDecimalForValue(t[t.length-2]))/2);const s=t.length<3?.5:.25;n=An(n,0,s),r=An(r,0,s),this._offsets={start:n,end:r,factor:1/(n+1+r)}}_generate(){const t=this._adapter,n=this.min,r=this.max,o=this.options,i=o.time,s=i.unit||yP(i.minUnit,n,r,this._getLabelCapacity(n)),a=Be(o.ticks.stepSize,1),l=s==="week"?i.isoWeekday:!1,c=Bu(l)||l===!0,u={};let d=n,h,p;if(c&&(d=+t.startOf(d,"isoWeek",l)),d=+t.startOf(d,c?"day":s),t.diff(r,n,s)>1e5*a)throw new Error(n+" and "+r+" are too far apart with stepSize of "+a+" "+s);const m=o.ticks.source==="data"&&this.getDataTimestamps();for(h=d,p=0;h<r;h=+t.add(h,a,s),p++)vP(u,h,m);return(h===r||o.bounds==="ticks"||p===1)&&vP(u,h,m),Object.keys(u).sort(gP).map(g=>+g)}getLabelForValue(t){const n=this._adapter,r=this.options.time;return r.tooltipFormat?n.format(t,r.tooltipFormat):n.format(t,r.displayFormats.datetime)}format(t,n){const o=this.options.time.displayFormats,i=this._unit,s=n||o[i];return this._adapter.format(t,s)}_tickFormatFunction(t,n,r,o){const i=this.options,s=i.ticks.callback;if(s)return $t(s,[t,n,r],this);const a=i.time.displayFormats,l=this._unit,c=this._majorUnit,u=l&&a[l],d=c&&a[c],h=r[n],p=c&&d&&h&&h.major;return this._adapter.format(t,o||(p?d:u))}generateTickLabels(t){let n,r,o;for(n=0,r=t.length;n<r;++n)o=t[n],o.label=this._tickFormatFunction(o.value,n,t)}getDecimalForValue(t){return t===null?NaN:(t-this.min)/(this.max-this.min)}getPixelForValue(t){const n=this._offsets,r=this.getDecimalForValue(t);return this.getPixelForDecimal((n.start+r)*n.factor)}getValueForPixel(t){const n=this._offsets,r=this.getDecimalForPixel(t)/n.factor-n.end;return this.min+r*(this.max-this.min)}_getLabelSize(t){const n=this.options.ticks,r=this.ctx.measureText(t).width,o=Bo(this.isHorizontal()?n.maxRotation:n.minRotation),i=Math.cos(o),s=Math.sin(o),a=this._resolveTickFontOptions(0).size;return{w:r*i+a*s,h:r*s+a*i}}_getLabelCapacity(t){const n=this.options.time,r=n.displayFormats,o=r[n.unit]||r.millisecond,i=this._tickFormatFunction(t,0,xP(this,[t],this._majorUnit),o),s=this._getLabelSize(i),a=Math.floor(this.isHorizontal()?this.width/s.w:this.height/s.h)-1;return a>0?a:1}getDataTimestamps(){let t=this._cache.data||[],n,r;if(t.length)return t;const o=this.getMatchingVisibleMetas();if(this._normalized&&o.length)return this._cache.data=o[0].controller.getAllParsedValues(this);for(n=0,r=o.length;n<r;++n)t=t.concat(o[n].controller.getAllParsedValues(this));return this._cache.data=this.normalize(t)}getLabelTimestamps(){const t=this._cache.labels||[];let n,r;if(t.length)return t;const o=this.getLabels();for(n=0,r=o.length;n<r;++n)t.push(bP(this,o[n]));return this._cache.labels=this._normalized?t:this.normalize(t)}normalize(t){return RL(t.sort(gP))}}ve(mh,"id","time"),ve(mh,"defaults",{bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}});function Tm(e,t,n){let r=0,o=e.length-1,i,s,a,l;n?(t>=e[r].pos&&t<=e[o].pos&&({lo:r,hi:o}=cs(e,"pos",t)),{pos:i,time:a}=e[r],{pos:s,time:l}=e[o]):(t>=e[r].time&&t<=e[o].time&&({lo:r,hi:o}=cs(e,"time",t)),{time:i,pos:a}=e[r],{time:s,pos:l}=e[o]);const c=s-i;return c?a+(l-a)*(t-i)/c:a}class CC extends mh{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=Tm(n,this.min),this._tableRange=Tm(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:r}=this,o=[],i=[];let s,a,l,c,u;for(s=0,a=t.length;s<a;++s)c=t[s],c>=n&&c<=r&&o.push(c);if(o.length<2)return[{time:n,pos:0},{time:r,pos:1}];for(s=0,a=o.length;s<a;++s)u=o[s+1],l=o[s-1],c=o[s],Math.round((u+l)/2)!==c&&i.push({time:c,pos:s/(a-1)});return i}_generate(){const t=this.min,n=this.max;let r=super.getDataTimestamps();return(!r.includes(t)||!r.length)&&r.splice(0,0,t),(!r.includes(n)||r.length===1)&&r.push(n),r.sort((o,i)=>o-i)}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const n=this.getDataTimestamps(),r=this.getLabelTimestamps();return n.length&&r.length?t=this.normalize(n.concat(r)):t=n.length?n:r,t=this._cache.all=t,t}getDecimalForValue(t){return(Tm(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const n=this._offsets,r=this.getDecimalForPixel(t)/n.factor-n.end;return Tm(this._table,r*this._tableRange+this._minPos,!0)}}ve(CC,"id","timeseries"),ve(CC,"defaults",mh.defaults);var ode=Object.freeze({__proto__:null,CategoryScale:hh,LinearScale:Yl,LogarithmicScale:Wu,RadialLinearScale:lf,TimeScale:mh,TimeSeriesScale:CC});const ide=[dle,Bce,Aue,ode];class ba{constructor(){this._partials=new Float64Array(32),this._n=0}add(t){const n=this._partials;let r=0;for(let o=0;o<this._n&&o<32;o++){const i=n[o],s=t+i,a=Math.abs(t)<Math.abs(i)?t-(s-i):i-(s-t);a&&(n[r++]=a),t=s}return n[r]=t,this._n=r+1,this}valueOf(){const t=this._partials;let n=this._n,r,o,i,s=0;if(n>0){for(s=t[--n];n>0&&(r=s,o=t[--n],s=r+o,i=o-(s-r),!i););n>0&&(i<0&&t[n-1]<0||i>0&&t[n-1]>0)&&(o=i*2,r=s+o,o==r-s&&(s=r))}return s}}function*sde(e){for(const t of e)yield*t}function g$(e){return Array.from(sde(e))}function Yc(e,t,n){e=+e,t=+t,n=(o=arguments.length)<2?(t=e,e=0,1):o<3?1:+n;for(var r=-1,o=Math.max(0,Math.ceil((t-e)/n))|0,i=new Array(o);++r<o;)i[r]=e+r*n;return i}var Le=1e-6,b$=1e-12,st=Math.PI,cn=st/2,wP=st/4,lo=st*2,hr=180/st,zt=st/180,vt=Math.abs,gd=Math.atan,Di=Math.atan2,Qe=Math.cos,Am=Math.ceil,y$=Math.exp,Sb=Math.log,Nx=Math.pow,We=Math.sin,Co=Math.sign||function(e){return e>0?1:e<0?-1:0},Cr=Math.sqrt,f_=Math.tan;function v$(e){return e>1?0:e<-1?st:Math.acos(e)}function Do(e){return e>1?cn:e<-1?-cn:Math.asin(e)}function jn(){}function Eb(e,t){e&&SP.hasOwnProperty(e.type)&&SP[e.type](e,t)}var CP={Feature:function(e,t){Eb(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,o=n.length;++r<o;)Eb(n[r].geometry,t)}},SP={Sphere:function(e,t){t.sphere()},Point:function(e,t){e=e.coordinates,t.point(e[0],e[1],e[2])},MultiPoint:function(e,t){for(var n=e.coordinates,r=-1,o=n.length;++r<o;)e=n[r],t.point(e[0],e[1],e[2])},LineString:function(e,t){SC(e.coordinates,t,0)},MultiLineString:function(e,t){for(var n=e.coordinates,r=-1,o=n.length;++r<o;)SC(n[r],t,0)},Polygon:function(e,t){EP(e.coordinates,t)},MultiPolygon:function(e,t){for(var n=e.coordinates,r=-1,o=n.length;++r<o;)EP(n[r],t)},GeometryCollection:function(e,t){for(var n=e.geometries,r=-1,o=n.length;++r<o;)Eb(n[r],t)}};function SC(e,t,n){var r=-1,o=e.length-n,i;for(t.lineStart();++r<o;)i=e[r],t.point(i[0],i[1],i[2]);t.lineEnd()}function EP(e,t){var n=-1,r=e.length;for(t.polygonStart();++n<r;)SC(e[n],t,1);t.polygonEnd()}function nl(e,t){e&&CP.hasOwnProperty(e.type)?CP[e.type](e,t):Eb(e,t)}function EC(e){return[Di(e[1],e[0]),Do(e[2])]}function Uu(e){var t=e[0],n=e[1],r=Qe(n);return[r*Qe(t),r*We(t),We(n)]}function Om(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function _b(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function Dx(e,t){e[0]+=t[0],e[1]+=t[1],e[2]+=t[2]}function Fm(e,t){return[e[0]*t,e[1]*t,e[2]*t]}function _C(e){var t=Cr(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}function kC(e,t){function n(r,o){return r=e(r,o),t(r[0],r[1])}return e.invert&&t.invert&&(n.invert=function(r,o){return r=t.invert(r,o),r&&e.invert(r[0],r[1])}),n}function RC(e,t){return vt(e)>st&&(e-=Math.round(e/lo)*lo),[e,t]}RC.invert=RC;function x$(e,t,n){return(e%=lo)?t||n?kC(kP(e),RP(t,n)):kP(e):t||n?RP(t,n):RC}function _P(e){return function(t,n){return t+=e,vt(t)>st&&(t-=Math.round(t/lo)*lo),[t,n]}}function kP(e){var t=_P(e);return t.invert=_P(-e),t}function RP(e,t){var n=Qe(e),r=We(e),o=Qe(t),i=We(t);function s(a,l){var c=Qe(l),u=Qe(a)*c,d=We(a)*c,h=We(l),p=h*n+u*r;return[Di(d*o-p*i,u*n-h*r),Do(p*o+d*i)]}return s.invert=function(a,l){var c=Qe(l),u=Qe(a)*c,d=We(a)*c,h=We(l),p=h*o-d*i;return[Di(d*o+h*i,u*n+p*r),Do(p*n-u*r)]},s}function ade(e){e=x$(e[0]*zt,e[1]*zt,e.length>2?e[2]*zt:0);function t(n){return n=e(n[0]*zt,n[1]*zt),n[0]*=hr,n[1]*=hr,n}return t.invert=function(n){return n=e.invert(n[0]*zt,n[1]*zt),n[0]*=hr,n[1]*=hr,n},t}function lde(e,t,n,r,o,i){if(n){var s=Qe(t),a=We(t),l=r*n;o==null?(o=t+r*lo,i=t-l/2):(o=NP(s,o),i=NP(s,i),(r>0?o<i:o>i)&&(o+=r*lo));for(var c,u=o;r>0?u>i:u<i;u-=l)c=EC([s,-a*Qe(u),-a*We(u)]),e.point(c[0],c[1])}}function NP(e,t){t=Uu(t),t[0]-=e,_C(t);var n=v$(-t[1]);return((-t[2]<0?-n:n)+lo-Le)%lo}function w$(){var e=[],t;return{point:function(n,r,o){t.push([n,r,o])},lineStart:function(){e.push(t=[])},lineEnd:jn,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}}function jg(e,t){return vt(e[0]-t[0])<Le&&vt(e[1]-t[1])<Le}function Lm(e,t,n,r){this.x=e,this.z=t,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function C$(e,t,n,r,o){var i=[],s=[],a,l;if(e.forEach(function(m){if(!((g=m.length-1)<=0)){var g,b=m[0],y=m[g],v;if(jg(b,y)){if(!b[2]&&!y[2]){for(o.lineStart(),a=0;a<g;++a)o.point((b=m[a])[0],b[1]);o.lineEnd();return}y[0]+=2*Le}i.push(v=new Lm(b,m,null,!0)),s.push(v.o=new Lm(b,null,v,!1)),i.push(v=new Lm(y,m,null,!1)),s.push(v.o=new Lm(y,null,v,!0))}}),!!i.length){for(s.sort(t),DP(i),DP(s),a=0,l=s.length;a<l;++a)s[a].e=n=!n;for(var c=i[0],u,d;;){for(var h=c,p=!0;h.v;)if((h=h.n)===c)return;u=h.z,o.lineStart();do{if(h.v=h.o.v=!0,h.e){if(p)for(a=0,l=u.length;a<l;++a)o.point((d=u[a])[0],d[1]);else r(h.x,h.n.x,1,o);h=h.n}else{if(p)for(u=h.p.z,a=u.length-1;a>=0;--a)o.point((d=u[a])[0],d[1]);else r(h.x,h.p.x,-1,o);h=h.p}h=h.o,u=h.z,p=!p}while(!h.v);o.lineEnd()}}}function DP(e){if(t=e.length){for(var t,n=0,r=e[0],o;++n<t;)r.n=o=e[n],o.p=r,r=o;r.n=o=e[0],o.p=r}}function Mx(e){return vt(e[0])<=st?e[0]:Co(e[0])*((vt(e[0])+st)%lo-st)}function S$(e,t){var n=Mx(t),r=t[1],o=We(r),i=[We(n),-Qe(n),0],s=0,a=0,l=new ba;o===1?r=cn+Le:o===-1&&(r=-cn-Le);for(var c=0,u=e.length;c<u;++c)if(h=(d=e[c]).length)for(var d,h,p=d[h-1],m=Mx(p),g=p[1]/2+wP,b=We(g),y=Qe(g),v=0;v<h;++v,m=E,b=S,y=C,p=x){var x=d[v],E=Mx(x),_=x[1]/2+wP,S=We(_),C=Qe(_),R=E-m,N=R>=0?1:-1,D=N*R,I=D>st,P=b*S;if(l.add(Di(P*N*We(D),y*C+P*Qe(D))),s+=I?R+N*lo:R,I^m>=n^E>=n){var A=_b(Uu(p),Uu(x));_C(A);var F=_b(i,A);_C(F);var T=(I^R>=0?-1:1)*Do(F[2]);(r>T||r===T&&(A[0]||A[1]))&&(a+=I^R>=0?1:-1)}}return(s<-1e-6||s<Le&&l<-1e-12)^a&1}function E$(e,t,n,r){return function(o){var i=t(o),s=w$(),a=t(s),l=!1,c,u,d,h={point:p,lineStart:g,lineEnd:b,polygonStart:function(){h.point=y,h.lineStart=v,h.lineEnd=x,u=[],c=[]},polygonEnd:function(){h.point=p,h.lineStart=g,h.lineEnd=b,u=g$(u);var E=S$(c,r);u.length?(l||(o.polygonStart(),l=!0),C$(u,ude,E,n,o)):E&&(l||(o.polygonStart(),l=!0),o.lineStart(),n(null,null,1,o),o.lineEnd()),l&&(o.polygonEnd(),l=!1),u=c=null},sphere:function(){o.polygonStart(),o.lineStart(),n(null,null,1,o),o.lineEnd(),o.polygonEnd()}};function p(E,_){e(E,_)&&o.point(E,_)}function m(E,_){i.point(E,_)}function g(){h.point=m,i.lineStart()}function b(){h.point=p,i.lineEnd()}function y(E,_){d.push([E,_]),a.point(E,_)}function v(){a.lineStart(),d=[]}function x(){y(d[0][0],d[0][1]),a.lineEnd();var E=a.clean(),_=s.result(),S,C=_.length,R,N,D;if(d.pop(),c.push(d),d=null,!!C){if(E&1){if(N=_[0],(R=N.length-1)>0){for(l||(o.polygonStart(),l=!0),o.lineStart(),S=0;S<R;++S)o.point((D=N[S])[0],D[1]);o.lineEnd()}return}C>1&&E&2&&_.push(_.pop().concat(_.shift())),u.push(_.filter(cde))}}return h}}function cde(e){return e.length>1}function ude(e,t){return((e=e.x)[0]<0?e[1]-cn-Le:cn-e[1])-((t=t.x)[0]<0?t[1]-cn-Le:cn-t[1])}const MP=E$(function(){return!0},dde,hde,[-st,-cn]);function dde(e){var t=NaN,n=NaN,r=NaN,o;return{lineStart:function(){e.lineStart(),o=1},point:function(i,s){var a=i>0?st:-st,l=vt(i-t);vt(l-st)<Le?(e.point(t,n=(n+s)/2>0?cn:-cn),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(a,n),e.point(i,n),o=0):r!==a&&l>=st&&(vt(t-r)<Le&&(t-=r*Le),vt(i-a)<Le&&(i-=a*Le),n=fde(t,n,i,s),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(a,n),o=0),e.point(t=i,n=s),r=a},lineEnd:function(){e.lineEnd(),t=n=NaN},clean:function(){return 2-o}}}function fde(e,t,n,r){var o,i,s=We(e-n);return vt(s)>Le?gd((We(t)*(i=Qe(r))*We(n)-We(r)*(o=Qe(t))*We(e))/(o*i*s)):(t+r)/2}function hde(e,t,n,r){var o;if(e==null)o=n*cn,r.point(-st,o),r.point(0,o),r.point(st,o),r.point(st,0),r.point(st,-o),r.point(0,-o),r.point(-st,-o),r.point(-st,0),r.point(-st,o);else if(vt(e[0]-t[0])>Le){var i=e[0]<t[0]?st:-st;o=n*i/2,r.point(-i,o),r.point(0,o),r.point(i,o)}else r.point(t[0],t[1])}function pde(e){var t=Qe(e),n=2*zt,r=t>0,o=vt(t)>Le;function i(u,d,h,p){lde(p,e,n,h,u,d)}function s(u,d){return Qe(u)*Qe(d)>t}function a(u){var d,h,p,m,g;return{lineStart:function(){m=p=!1,g=1},point:function(b,y){var v=[b,y],x,E=s(b,y),_=r?E?0:c(b,y):E?c(b+(b<0?st:-st),y):0;if(!d&&(m=p=E)&&u.lineStart(),E!==p&&(x=l(d,v),(!x||jg(d,x)||jg(v,x))&&(v[2]=1)),E!==p)g=0,E?(u.lineStart(),x=l(v,d),u.point(x[0],x[1])):(x=l(d,v),u.point(x[0],x[1],2),u.lineEnd()),d=x;else if(o&&d&&r^E){var S;!(_&h)&&(S=l(v,d,!0))&&(g=0,r?(u.lineStart(),u.point(S[0][0],S[0][1]),u.point(S[1][0],S[1][1]),u.lineEnd()):(u.point(S[1][0],S[1][1]),u.lineEnd(),u.lineStart(),u.point(S[0][0],S[0][1],3)))}E&&(!d||!jg(d,v))&&u.point(v[0],v[1]),d=v,p=E,h=_},lineEnd:function(){p&&u.lineEnd(),d=null},clean:function(){return g|(m&&p)<<1}}}function l(u,d,h){var p=Uu(u),m=Uu(d),g=[1,0,0],b=_b(p,m),y=Om(b,b),v=b[0],x=y-v*v;if(!x)return!h&&u;var E=t*y/x,_=-t*v/x,S=_b(g,b),C=Fm(g,E),R=Fm(b,_);Dx(C,R);var N=S,D=Om(C,N),I=Om(N,N),P=D*D-I*(Om(C,C)-1);if(!(P<0)){var A=Cr(P),F=Fm(N,(-D-A)/I);if(Dx(F,C),F=EC(F),!h)return F;var T=u[0],O=d[0],$=u[1],V=d[1],z;O<T&&(z=T,T=O,O=z);var j=O-T,W=vt(j-st)<Le,L=W||j<Le;if(!W&&V<$&&(z=$,$=V,V=z),L?W?$+V>0^F[1]<(vt(F[0]-T)<Le?$:V):$<=F[1]&&F[1]<=V:j>st^(T<=F[0]&&F[0]<=O)){var M=Fm(N,(-D+A)/I);return Dx(M,C),[F,EC(M)]}}}function c(u,d){var h=r?e:st-e,p=0;return u<-h?p|=1:u>h&&(p|=2),d<-h?p|=4:d>h&&(p|=8),p}return E$(s,a,i,r?[0,-e]:[-st,e-st])}function mde(e,t,n,r,o,i){var s=e[0],a=e[1],l=t[0],c=t[1],u=0,d=1,h=l-s,p=c-a,m;if(m=n-s,!(!h&&m>0)){if(m/=h,h<0){if(m<u)return;m<d&&(d=m)}else if(h>0){if(m>d)return;m>u&&(u=m)}if(m=o-s,!(!h&&m<0)){if(m/=h,h<0){if(m>d)return;m>u&&(u=m)}else if(h>0){if(m<u)return;m<d&&(d=m)}if(m=r-a,!(!p&&m>0)){if(m/=p,p<0){if(m<u)return;m<d&&(d=m)}else if(p>0){if(m>d)return;m>u&&(u=m)}if(m=i-a,!(!p&&m<0)){if(m/=p,p<0){if(m>d)return;m>u&&(u=m)}else if(p>0){if(m<u)return;m<d&&(d=m)}return u>0&&(e[0]=s+u*h,e[1]=a+u*p),d<1&&(t[0]=s+d*h,t[1]=a+d*p),!0}}}}}var $m=1e9,zm=-1e9;function gde(e,t,n,r){function o(c,u){return e<=c&&c<=n&&t<=u&&u<=r}function i(c,u,d,h){var p=0,m=0;if(c==null||(p=s(c,d))!==(m=s(u,d))||l(c,u)<0^d>0)do h.point(p===0||p===3?e:n,p>1?r:t);while((p=(p+d+4)%4)!==m);else h.point(u[0],u[1])}function s(c,u){return vt(c[0]-e)<Le?u>0?0:3:vt(c[0]-n)<Le?u>0?2:1:vt(c[1]-t)<Le?u>0?1:0:u>0?3:2}function a(c,u){return l(c.x,u.x)}function l(c,u){var d=s(c,1),h=s(u,1);return d!==h?d-h:d===0?u[1]-c[1]:d===1?c[0]-u[0]:d===2?c[1]-u[1]:u[0]-c[0]}return function(c){var u=c,d=w$(),h,p,m,g,b,y,v,x,E,_,S,C={point:R,lineStart:P,lineEnd:A,polygonStart:D,polygonEnd:I};function R(T,O){o(T,O)&&u.point(T,O)}function N(){for(var T=0,O=0,$=p.length;O<$;++O)for(var V=p[O],z=1,j=V.length,W=V[0],L,M,H=W[0],B=W[1];z<j;++z)L=H,M=B,W=V[z],H=W[0],B=W[1],M<=r?B>r&&(H-L)*(r-M)>(B-M)*(e-L)&&++T:B<=r&&(H-L)*(r-M)<(B-M)*(e-L)&&--T;return T}function D(){u=d,h=[],p=[],S=!0}function I(){var T=N(),O=S&&T,$=(h=g$(h)).length;(O||$)&&(c.polygonStart(),O&&(c.lineStart(),i(null,null,1,c),c.lineEnd()),$&&C$(h,a,T,i,c),c.polygonEnd()),u=c,h=p=m=null}function P(){C.point=F,p&&p.push(m=[]),_=!0,E=!1,v=x=NaN}function A(){h&&(F(g,b),y&&E&&d.rejoin(),h.push(d.result())),C.point=R,E&&u.lineEnd()}function F(T,O){var $=o(T,O);if(p&&m.push([T,O]),_)g=T,b=O,y=$,_=!1,$&&(u.lineStart(),u.point(T,O));else if($&&E)u.point(T,O);else{var V=[v=Math.max(zm,Math.min($m,v)),x=Math.max(zm,Math.min($m,x))],z=[T=Math.max(zm,Math.min($m,T)),O=Math.max(zm,Math.min($m,O))];mde(V,z,e,t,n,r)?(E||(u.lineStart(),u.point(V[0],V[1])),u.point(z[0],z[1]),$||u.lineEnd(),S=!1):$&&(u.lineStart(),u.point(T,O),S=!1)}v=T,x=O,E=$}return C}}var NC,DC,Tg,Ag,qu={sphere:jn,point:jn,lineStart:bde,lineEnd:jn,polygonStart:jn,polygonEnd:jn};function bde(){qu.point=vde,qu.lineEnd=yde}function yde(){qu.point=qu.lineEnd=jn}function vde(e,t){e*=zt,t*=zt,DC=e,Tg=We(t),Ag=Qe(t),qu.point=xde}function xde(e,t){e*=zt,t*=zt;var n=We(t),r=Qe(t),o=vt(e-DC),i=Qe(o),s=We(o),a=r*s,l=Ag*n-Tg*r*i,c=Tg*n+Ag*r*i;NC.add(Di(Cr(a*a+l*l),c)),DC=e,Tg=n,Ag=r}function wde(e){return NC=new ba,nl(e,qu),+NC}var MC=[null,null],Cde={type:"LineString",coordinates:MC};function PC(e,t){return MC[0]=e,MC[1]=t,wde(Cde)}var PP={Feature:function(e,t){return kb(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,o=n.length;++r<o;)if(kb(n[r].geometry,t))return!0;return!1}},IP={Sphere:function(){return!0},Point:function(e,t){return jP(e.coordinates,t)},MultiPoint:function(e,t){for(var n=e.coordinates,r=-1,o=n.length;++r<o;)if(jP(n[r],t))return!0;return!1},LineString:function(e,t){return TP(e.coordinates,t)},MultiLineString:function(e,t){for(var n=e.coordinates,r=-1,o=n.length;++r<o;)if(TP(n[r],t))return!0;return!1},Polygon:function(e,t){return AP(e.coordinates,t)},MultiPolygon:function(e,t){for(var n=e.coordinates,r=-1,o=n.length;++r<o;)if(AP(n[r],t))return!0;return!1},GeometryCollection:function(e,t){for(var n=e.geometries,r=-1,o=n.length;++r<o;)if(kb(n[r],t))return!0;return!1}};function kb(e,t){return e&&IP.hasOwnProperty(e.type)?IP[e.type](e,t):!1}function jP(e,t){return PC(e,t)===0}function TP(e,t){for(var n,r,o,i=0,s=e.length;i<s;i++){if(r=PC(e[i],t),r===0||i>0&&(o=PC(e[i],e[i-1]),o>0&&n<=o&&r<=o&&(n+r-o)*(1-Math.pow((n-r)/o,2))<b$*o))return!0;n=r}return!1}function AP(e,t){return!!S$(e.map(Sde),_$(t))}function Sde(e){return e=e.map(_$),e.pop(),e}function _$(e){return[e[0]*zt,e[1]*zt]}function Ede(e,t){return(e&&PP.hasOwnProperty(e.type)?PP[e.type]:kb)(e,t)}function OP(e,t,n){var r=Yc(e,t-Le,n).concat(t);return function(o){return r.map(function(i){return[o,i]})}}function FP(e,t,n){var r=Yc(e,t-Le,n).concat(t);return function(o){return r.map(function(i){return[i,o]})}}function k$(){var e,t,n,r,o,i,s,a,l=10,c=l,u=90,d=360,h,p,m,g,b=2.5;function y(){return{type:"MultiLineString",coordinates:v()}}function v(){return Yc(Am(r/u)*u,n,u).map(m).concat(Yc(Am(a/d)*d,s,d).map(g)).concat(Yc(Am(t/l)*l,e,l).filter(function(x){return vt(x%u)>Le}).map(h)).concat(Yc(Am(i/c)*c,o,c).filter(function(x){return vt(x%d)>Le}).map(p))}return y.lines=function(){return v().map(function(x){return{type:"LineString",coordinates:x}})},y.outline=function(){return{type:"Polygon",coordinates:[m(r).concat(g(s).slice(1),m(n).reverse().slice(1),g(a).reverse().slice(1))]}},y.extent=function(x){return arguments.length?y.extentMajor(x).extentMinor(x):y.extentMinor()},y.extentMajor=function(x){return arguments.length?(r=+x[0][0],n=+x[1][0],a=+x[0][1],s=+x[1][1],r>n&&(x=r,r=n,n=x),a>s&&(x=a,a=s,s=x),y.precision(b)):[[r,a],[n,s]]},y.extentMinor=function(x){return arguments.length?(t=+x[0][0],e=+x[1][0],i=+x[0][1],o=+x[1][1],t>e&&(x=t,t=e,e=x),i>o&&(x=i,i=o,o=x),y.precision(b)):[[t,i],[e,o]]},y.step=function(x){return arguments.length?y.stepMajor(x).stepMinor(x):y.stepMinor()},y.stepMajor=function(x){return arguments.length?(u=+x[0],d=+x[1],y):[u,d]},y.stepMinor=function(x){return arguments.length?(l=+x[0],c=+x[1],y):[l,c]},y.precision=function(x){return arguments.length?(b=+x,h=OP(i,o,90),p=FP(t,e,b),m=OP(a,s,90),g=FP(r,n,b),y):b},y.extentMajor([[-180,-90+Le],[180,90-Le]]).extentMinor([[-180,-80-Le],[180,80+Le]])}function _de(){return k$()()}const IC=e=>e;var Px=new ba,jC=new ba,R$,N$,TC,AC,rs={point:jn,lineStart:jn,lineEnd:jn,polygonStart:function(){rs.lineStart=kde,rs.lineEnd=Nde},polygonEnd:function(){rs.lineStart=rs.lineEnd=rs.point=jn,Px.add(vt(jC)),jC=new ba},result:function(){var e=Px/2;return Px=new ba,e}};function kde(){rs.point=Rde}function Rde(e,t){rs.point=D$,R$=TC=e,N$=AC=t}function D$(e,t){jC.add(AC*e-TC*t),TC=e,AC=t}function Nde(){D$(R$,N$)}var Gu=1/0,Rb=Gu,gh=-Gu,Nb=gh,Db={point:Dde,lineStart:jn,lineEnd:jn,polygonStart:jn,polygonEnd:jn,result:function(){var e=[[Gu,Rb],[gh,Nb]];return gh=Nb=-(Rb=Gu=1/0),e}};function Dde(e,t){e<Gu&&(Gu=e),e>gh&&(gh=e),t<Rb&&(Rb=t),t>Nb&&(Nb=t)}var OC=0,FC=0,cf=0,Mb=0,Pb=0,Kc=0,LC=0,$C=0,uf=0,M$,P$,hi,pi,wo={point:Kl,lineStart:LP,lineEnd:$P,polygonStart:function(){wo.lineStart=Ide,wo.lineEnd=jde},polygonEnd:function(){wo.point=Kl,wo.lineStart=LP,wo.lineEnd=$P},result:function(){var e=uf?[LC/uf,$C/uf]:Kc?[Mb/Kc,Pb/Kc]:cf?[OC/cf,FC/cf]:[NaN,NaN];return OC=FC=cf=Mb=Pb=Kc=LC=$C=uf=0,e}};function Kl(e,t){OC+=e,FC+=t,++cf}function LP(){wo.point=Mde}function Mde(e,t){wo.point=Pde,Kl(hi=e,pi=t)}function Pde(e,t){var n=e-hi,r=t-pi,o=Cr(n*n+r*r);Mb+=o*(hi+e)/2,Pb+=o*(pi+t)/2,Kc+=o,Kl(hi=e,pi=t)}function $P(){wo.point=Kl}function Ide(){wo.point=Tde}function jde(){I$(M$,P$)}function Tde(e,t){wo.point=I$,Kl(M$=hi=e,P$=pi=t)}function I$(e,t){var n=e-hi,r=t-pi,o=Cr(n*n+r*r);Mb+=o*(hi+e)/2,Pb+=o*(pi+t)/2,Kc+=o,o=pi*e-hi*t,LC+=o*(hi+e),$C+=o*(pi+t),uf+=o*3,Kl(hi=e,pi=t)}function j$(e){this._context=e}j$.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:{this._context.moveTo(e,t),this._point=1;break}case 1:{this._context.lineTo(e,t);break}default:{this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,lo);break}}},result:jn};var zC=new ba,Ix,T$,A$,df,ff,bh={point:jn,lineStart:function(){bh.point=Ade},lineEnd:function(){Ix&&O$(T$,A$),bh.point=jn},polygonStart:function(){Ix=!0},polygonEnd:function(){Ix=null},result:function(){var e=+zC;return zC=new ba,e}};function Ade(e,t){bh.point=O$,T$=df=e,A$=ff=t}function O$(e,t){df-=e,ff-=t,zC.add(Cr(df*df+ff*ff)),df=e,ff=t}let zP,Ib,BP,VP;class HP{constructor(t){this._append=t==null?F$:Ode(t),this._radius=4.5,this._=""}pointRadius(t){return this._radius=+t,this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){this._line===0&&(this._+="Z"),this._point=NaN}point(t,n){switch(this._point){case 0:{this._append`M${t},${n}`,this._point=1;break}case 1:{this._append`L${t},${n}`;break}default:{if(this._append`M${t},${n}`,this._radius!==BP||this._append!==Ib){const r=this._radius,o=this._;this._="",this._append`m0,${r}a${r},${r} 0 1,1 0,${-2*r}a${r},${r} 0 1,1 0,${2*r}z`,BP=r,Ib=this._append,VP=this._,this._=o}this._+=VP;break}}}result(){const t=this._;return this._="",t.length?t:null}}function F$(e){let t=1;this._+=e[0];for(const n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function Ode(e){const t=Math.floor(e);if(!(t>=0))throw new RangeError(`invalid digits: ${e}`);if(t>15)return F$;if(t!==zP){const n=10**t;zP=t,Ib=function(o){let i=1;this._+=o[0];for(const s=o.length;i<s;++i)this._+=Math.round(arguments[i]*n)/n+o[i]}}return Ib}function WP(e,t){let n=3,r=4.5,o,i;function s(a){return a&&(typeof r=="function"&&i.pointRadius(+r.apply(this,arguments)),nl(a,o(i))),i.result()}return s.area=function(a){return nl(a,o(rs)),rs.result()},s.measure=function(a){return nl(a,o(bh)),bh.result()},s.bounds=function(a){return nl(a,o(Db)),Db.result()},s.centroid=function(a){return nl(a,o(wo)),wo.result()},s.projection=function(a){return arguments.length?(o=a==null?(e=null,IC):(e=a).stream,s):e},s.context=function(a){return arguments.length?(i=a==null?(t=null,new HP(n)):new j$(t=a),typeof r!="function"&&i.pointRadius(r),s):t},s.pointRadius=function(a){return arguments.length?(r=typeof a=="function"?a:(i.pointRadius(+a),+a),s):r},s.digits=function(a){if(!arguments.length)return n;if(a==null)n=null;else{const l=Math.floor(a);if(!(l>=0))throw new RangeError(`invalid digits: ${a}`);n=l}return t===null&&(i=new HP(n)),s},s.projection(e).digits(n).context(t)}function h_(e){return function(t){var n=new BC;for(var r in e)n[r]=e[r];return n.stream=t,n}}function BC(){}BC.prototype={constructor:BC,point:function(e,t){this.stream.point(e,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function p_(e,t,n){var r=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),r!=null&&e.clipExtent(null),nl(n,e.stream(Db)),t(Db.result()),r!=null&&e.clipExtent(r),e}function m_(e,t,n){return p_(e,function(r){var o=t[1][0]-t[0][0],i=t[1][1]-t[0][1],s=Math.min(o/(r[1][0]-r[0][0]),i/(r[1][1]-r[0][1])),a=+t[0][0]+(o-s*(r[1][0]+r[0][0]))/2,l=+t[0][1]+(i-s*(r[1][1]+r[0][1]))/2;e.scale(150*s).translate([a,l])},n)}function L$(e,t,n){return m_(e,[[0,0],t],n)}function $$(e,t,n){return p_(e,function(r){var o=+t,i=o/(r[1][0]-r[0][0]),s=(o-i*(r[1][0]+r[0][0]))/2,a=-i*r[0][1];e.scale(150*i).translate([s,a])},n)}function z$(e,t,n){return p_(e,function(r){var o=+t,i=o/(r[1][1]-r[0][1]),s=-i*r[0][0],a=(o-i*(r[1][1]+r[0][1]))/2;e.scale(150*i).translate([s,a])},n)}var UP=16,Fde=Qe(30*zt);function qP(e,t){return+t?$de(e,t):Lde(e)}function Lde(e){return h_({point:function(t,n){t=e(t,n),this.stream.point(t[0],t[1])}})}function $de(e,t){function n(r,o,i,s,a,l,c,u,d,h,p,m,g,b){var y=c-r,v=u-o,x=y*y+v*v;if(x>4*t&&g--){var E=s+h,_=a+p,S=l+m,C=Cr(E*E+_*_+S*S),R=Do(S/=C),N=vt(vt(S)-1)<Le||vt(i-d)<Le?(i+d)/2:Di(_,E),D=e(N,R),I=D[0],P=D[1],A=I-r,F=P-o,T=v*A-y*F;(T*T/x>t||vt((y*A+v*F)/x-.5)>.3||s*h+a*p+l*m<Fde)&&(n(r,o,i,s,a,l,I,P,N,E/=C,_/=C,S,g,b),b.point(I,P),n(I,P,N,E,_,S,c,u,d,h,p,m,g,b))}}return function(r){var o,i,s,a,l,c,u,d,h,p,m,g,b={point:y,lineStart:v,lineEnd:E,polygonStart:function(){r.polygonStart(),b.lineStart=_},polygonEnd:function(){r.polygonEnd(),b.lineStart=v}};function y(R,N){R=e(R,N),r.point(R[0],R[1])}function v(){d=NaN,b.point=x,r.lineStart()}function x(R,N){var D=Uu([R,N]),I=e(R,N);n(d,h,u,p,m,g,d=I[0],h=I[1],u=R,p=D[0],m=D[1],g=D[2],UP,r),r.point(d,h)}function E(){b.point=y,r.lineEnd()}function _(){v(),b.point=S,b.lineEnd=C}function S(R,N){x(o=R,N),i=d,s=h,a=p,l=m,c=g,b.point=x}function C(){n(d,h,u,p,m,g,i,s,o,a,l,c,UP,r),b.lineEnd=E,E()}return b}}var zde=h_({point:function(e,t){this.stream.point(e*zt,t*zt)}});function Bde(e){return h_({point:function(t,n){var r=e(t,n);return this.stream.point(r[0],r[1])}})}function Vde(e,t,n,r,o){function i(s,a){return s*=r,a*=o,[t+e*s,n-e*a]}return i.invert=function(s,a){return[(s-t)/e*r,(n-a)/e*o]},i}function GP(e,t,n,r,o,i){if(!i)return Vde(e,t,n,r,o);var s=Qe(i),a=We(i),l=s*e,c=a*e,u=s/e,d=a/e,h=(a*n-s*t)/e,p=(a*t+s*n)/e;function m(g,b){return g*=r,b*=o,[l*g-c*b+t,n-c*g-l*b]}return m.invert=function(g,b){return[r*(u*g-d*b+h),o*(p-d*g-u*b)]},m}function ks(e){return B$(function(){return e})()}function B$(e){var t,n=150,r=480,o=250,i=0,s=0,a=0,l=0,c=0,u,d=0,h=1,p=1,m=null,g=MP,b=null,y,v,x,E=IC,_=.5,S,C,R,N,D;function I(T){return R(T[0]*zt,T[1]*zt)}function P(T){return T=R.invert(T[0],T[1]),T&&[T[0]*hr,T[1]*hr]}I.stream=function(T){return N&&D===T?N:N=zde(Bde(u)(g(S(E(D=T)))))},I.preclip=function(T){return arguments.length?(g=T,m=void 0,F()):g},I.postclip=function(T){return arguments.length?(E=T,b=y=v=x=null,F()):E},I.clipAngle=function(T){return arguments.length?(g=+T?pde(m=T*zt):(m=null,MP),F()):m*hr},I.clipExtent=function(T){return arguments.length?(E=T==null?(b=y=v=x=null,IC):gde(b=+T[0][0],y=+T[0][1],v=+T[1][0],x=+T[1][1]),F()):b==null?null:[[b,y],[v,x]]},I.scale=function(T){return arguments.length?(n=+T,A()):n},I.translate=function(T){return arguments.length?(r=+T[0],o=+T[1],A()):[r,o]},I.center=function(T){return arguments.length?(i=T[0]%360*zt,s=T[1]%360*zt,A()):[i*hr,s*hr]},I.rotate=function(T){return arguments.length?(a=T[0]%360*zt,l=T[1]%360*zt,c=T.length>2?T[2]%360*zt:0,A()):[a*hr,l*hr,c*hr]},I.angle=function(T){return arguments.length?(d=T%360*zt,A()):d*hr},I.reflectX=function(T){return arguments.length?(h=T?-1:1,A()):h<0},I.reflectY=function(T){return arguments.length?(p=T?-1:1,A()):p<0},I.precision=function(T){return arguments.length?(S=qP(C,_=T*T),F()):Cr(_)},I.fitExtent=function(T,O){return m_(I,T,O)},I.fitSize=function(T,O){return L$(I,T,O)},I.fitWidth=function(T,O){return $$(I,T,O)},I.fitHeight=function(T,O){return z$(I,T,O)};function A(){var T=GP(n,0,0,h,p,d).apply(null,t(i,s)),O=GP(n,r-T[0],o-T[1],h,p,d);return u=x$(a,l,c),C=kC(t,O),R=kC(u,C),S=qP(C,_),F()}function F(){return N=D=null,I}return function(){return t=e.apply(this,arguments),I.invert=t.invert&&P,A()}}function g_(e){var t=0,n=st/3,r=B$(e),o=r(t,n);return o.parallels=function(i){return arguments.length?r(t=i[0]*zt,n=i[1]*zt):[t*hr,n*hr]},o}function Hde(e){var t=Qe(e);function n(r,o){return[r*t,We(o)/t]}return n.invert=function(r,o){return[r/t,Do(o*t)]},n}function Wde(e,t){var n=We(e),r=(n+We(t))/2;if(vt(r)<Le)return Hde(e);var o=1+n*(2*r-n),i=Cr(o)/r;function s(a,l){var c=Cr(o-2*r*We(l))/r;return[c*We(a*=r),i-c*Qe(a)]}return s.invert=function(a,l){var c=i-l,u=Di(a,vt(c))*Co(c);return c*r<0&&(u-=st*Co(a)*Co(c)),[u/r,Do((o-(a*a+c*c)*r*r)/(2*r))]},s}function jb(){return g_(Wde).scale(155.424).center([0,33.6442])}function V$(){return jb().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function Ude(e){var t=e.length;return{point:function(n,r){for(var o=-1;++o<t;)e[o].point(n,r)},sphere:function(){for(var n=-1;++n<t;)e[n].sphere()},lineStart:function(){for(var n=-1;++n<t;)e[n].lineStart()},lineEnd:function(){for(var n=-1;++n<t;)e[n].lineEnd()},polygonStart:function(){for(var n=-1;++n<t;)e[n].polygonStart()},polygonEnd:function(){for(var n=-1;++n<t;)e[n].polygonEnd()}}}function qde(){var e,t,n=V$(),r,o=jb().rotate([154,0]).center([-2,58.5]).parallels([55,65]),i,s=jb().rotate([157,0]).center([-3,19.9]).parallels([8,18]),a,l,c={point:function(h,p){l=[h,p]}};function u(h){var p=h[0],m=h[1];return l=null,r.point(p,m),l||(i.point(p,m),l)||(a.point(p,m),l)}u.invert=function(h){var p=n.scale(),m=n.translate(),g=(h[0]-m[0])/p,b=(h[1]-m[1])/p;return(b>=.12&&b<.234&&g>=-.425&&g<-.214?o:b>=.166&&b<.234&&g>=-.214&&g<-.115?s:n).invert(h)},u.stream=function(h){return e&&t===h?e:e=Ude([n.stream(t=h),o.stream(h),s.stream(h)])},u.precision=function(h){return arguments.length?(n.precision(h),o.precision(h),s.precision(h),d()):n.precision()},u.scale=function(h){return arguments.length?(n.scale(h),o.scale(h*.35),s.scale(h),u.translate(n.translate())):n.scale()},u.translate=function(h){if(!arguments.length)return n.translate();var p=n.scale(),m=+h[0],g=+h[1];return r=n.translate(h).clipExtent([[m-.455*p,g-.238*p],[m+.455*p,g+.238*p]]).stream(c),i=o.translate([m-.307*p,g+.201*p]).clipExtent([[m-.425*p+Le,g+.12*p+Le],[m-.214*p-Le,g+.234*p-Le]]).stream(c),a=s.translate([m-.205*p,g+.212*p]).clipExtent([[m-.214*p+Le,g+.166*p+Le],[m-.115*p-Le,g+.234*p-Le]]).stream(c),d()},u.fitExtent=function(h,p){return m_(u,h,p)},u.fitSize=function(h,p){return L$(u,h,p)},u.fitWidth=function(h,p){return $$(u,h,p)},u.fitHeight=function(h,p){return z$(u,h,p)};function d(){return e=t=null,u}return u.scale(1070)}function H$(e){return function(t,n){var r=Qe(t),o=Qe(n),i=e(r*o);return i===1/0?[2,0]:[i*o*We(t),i*We(n)]}}function Sp(e){return function(t,n){var r=Cr(t*t+n*n),o=e(r),i=We(o),s=Qe(o);return[Di(t*i,r*s),Do(r&&n*i/r)]}}var W$=H$(function(e){return Cr(2/(1+e))});W$.invert=Sp(function(e){return 2*Do(e/2)});function Gde(){return ks(W$).scale(124.75).clipAngle(180-.001)}var U$=H$(function(e){return(e=v$(e))&&e/We(e)});U$.invert=Sp(function(e){return e});function Yde(){return ks(U$).scale(79.4188).clipAngle(180-.001)}function wy(e,t){return[e,Sb(f_((cn+t)/2))]}wy.invert=function(e,t){return[e,2*gd(y$(t))-cn]};function Kde(){return q$(wy).scale(961/lo)}function q$(e){var t=ks(e),n=t.center,r=t.scale,o=t.translate,i=t.clipExtent,s=null,a,l,c;t.scale=function(d){return arguments.length?(r(d),u()):r()},t.translate=function(d){return arguments.length?(o(d),u()):o()},t.center=function(d){return arguments.length?(n(d),u()):n()},t.clipExtent=function(d){return arguments.length?(d==null?s=a=l=c=null:(s=+d[0][0],a=+d[0][1],l=+d[1][0],c=+d[1][1]),u()):s==null?null:[[s,a],[l,c]]};function u(){var d=st*r(),h=t(ade(t.rotate()).invert([0,0]));return i(s==null?[[h[0]-d,h[1]-d],[h[0]+d,h[1]+d]]:e===wy?[[Math.max(h[0]-d,s),a],[Math.min(h[0]+d,l),c]]:[[s,Math.max(h[1]-d,a)],[l,Math.min(h[1]+d,c)]])}return u()}function Bm(e){return f_((cn+e)/2)}function Xde(e,t){var n=Qe(e),r=e===t?We(e):Sb(n/Qe(t))/Sb(Bm(t)/Bm(e)),o=n*Nx(Bm(e),r)/r;if(!r)return wy;function i(s,a){o>0?a<-cn+Le&&(a=-cn+Le):a>cn-Le&&(a=cn-Le);var l=o/Nx(Bm(a),r);return[l*We(r*s),o-l*Qe(r*s)]}return i.invert=function(s,a){var l=o-a,c=Co(r)*Cr(s*s+l*l),u=Di(s,vt(l))*Co(l);return l*r<0&&(u-=st*Co(s)*Co(l)),[u/r,2*gd(Nx(o/c,1/r))-cn]},i}function Qde(){return g_(Xde).scale(109.5).parallels([30,30])}function Tb(e,t){return[e,t]}Tb.invert=Tb;function Zde(){return ks(Tb).scale(152.63)}function Jde(e,t){var n=Qe(e),r=e===t?We(e):(n-Qe(t))/(t-e),o=n/r+e;if(vt(r)<Le)return Tb;function i(s,a){var l=o-a,c=r*s;return[l*We(c),o-l*Qe(c)]}return i.invert=function(s,a){var l=o-a,c=Di(s,vt(l))*Co(l);return l*r<0&&(c-=st*Co(s)*Co(l)),[c/r,o-Co(r)*Cr(s*s+l*l)]},i}function efe(){return g_(Jde).scale(131.154).center([0,13.9389])}var Df=1.340264,Mf=-.081106,Pf=893e-6,If=.003796,Ab=Cr(3)/2,tfe=12;function G$(e,t){var n=Do(Ab*We(t)),r=n*n,o=r*r*r;return[e*Qe(n)/(Ab*(Df+3*Mf*r+o*(7*Pf+9*If*r))),n*(Df+Mf*r+o*(Pf+If*r))]}G$.invert=function(e,t){for(var n=t,r=n*n,o=r*r*r,i=0,s,a,l;i<tfe&&(a=n*(Df+Mf*r+o*(Pf+If*r))-t,l=Df+3*Mf*r+o*(7*Pf+9*If*r),n-=s=a/l,r=n*n,o=r*r*r,!(vt(s)<b$));++i);return[Ab*e*(Df+3*Mf*r+o*(7*Pf+9*If*r))/Qe(n),Do(We(n)/Ab)]};function nfe(){return ks(G$).scale(177.158)}function Y$(e,t){var n=Qe(t),r=Qe(e)*n;return[n*We(e)/r,We(t)/r]}Y$.invert=Sp(gd);function rfe(){return ks(Y$).scale(144.049).clipAngle(60)}function K$(e,t){var n=t*t,r=n*n;return[e*(.8707-.131979*n+r*(-.013791+r*(.003971*n-.001529*r))),t*(1.007226+n*(.015085+r*(-.044475+.028874*n-.005916*r)))]}K$.invert=function(e,t){var n=t,r=25,o;do{var i=n*n,s=i*i;n-=o=(n*(1.007226+i*(.015085+s*(-.044475+.028874*i-.005916*s)))-t)/(1.007226+i*(.015085*3+s*(-.044475*7+.028874*9*i-.005916*11*s)))}while(vt(o)>Le&&--r>0);return[e/(.8707+(i=n*n)*(-.131979+i*(-.013791+i*i*i*(.003971-.001529*i)))),n]};function ofe(){return ks(K$).scale(175.295)}function X$(e,t){return[Qe(t)*We(e),We(t)]}X$.invert=Sp(Do);function ife(){return ks(X$).scale(249.5).clipAngle(90+Le)}function Q$(e,t){var n=Qe(t),r=1+Qe(e)*n;return[n*We(e)/r,We(t)/r]}Q$.invert=Sp(function(e){return 2*gd(e)});function sfe(){return ks(Q$).scale(250).clipAngle(142)}function Z$(e,t){return[Sb(f_((cn+t)/2)),-e]}Z$.invert=function(e,t){return[-t,2*gd(y$(e))-cn]};function afe(){var e=q$(Z$),t=e.center,n=e.rotate;return e.center=function(r){return arguments.length?t([-r[1],r[0]]):(r=t(),[r[1],-r[0]])},e.rotate=function(r){return arguments.length?n([r[0],r[1],r.length>2?r[2]+90:90]):(r=n(),[r[0],r[1],r[2]-90])},n([0,0,90]).scale(159.155)}function kt(e){for(var t=e.length/6|0,n=new Array(t),r=0;r<t;)n[r]="#"+e.slice(r*6,++r*6);return n}function Cy(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function b_(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function bd(){}var Xl=.7,Yu=1/Xl,lu="\\s*([+-]?\\d+)\\s*",yh="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",wi="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",lfe=/^#([0-9a-f]{3,8})$/,cfe=new RegExp(`^rgb\\(${lu},${lu},${lu}\\)$`),ufe=new RegExp(`^rgb\\(${wi},${wi},${wi}\\)$`),dfe=new RegExp(`^rgba\\(${lu},${lu},${lu},${yh}\\)$`),ffe=new RegExp(`^rgba\\(${wi},${wi},${wi},${yh}\\)$`),hfe=new RegExp(`^hsl\\(${yh},${wi},${wi}\\)$`),pfe=new RegExp(`^hsla\\(${yh},${wi},${wi},${yh}\\)$`),YP={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Cy(bd,y_,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:KP,formatHex:KP,formatHex8:mfe,formatHsl:gfe,formatRgb:XP,toString:XP});function KP(){return this.rgb().formatHex()}function mfe(){return this.rgb().formatHex8()}function gfe(){return e6(this).formatHsl()}function XP(){return this.rgb().formatRgb()}function y_(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=lfe.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?QP(t):n===3?new tr(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Vm(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Vm(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=cfe.exec(e))?new tr(t[1],t[2],t[3],1):(t=ufe.exec(e))?new tr(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=dfe.exec(e))?Vm(t[1],t[2],t[3],t[4]):(t=ffe.exec(e))?Vm(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=hfe.exec(e))?eI(t[1],t[2]/100,t[3]/100,1):(t=pfe.exec(e))?eI(t[1],t[2]/100,t[3]/100,t[4]):YP.hasOwnProperty(e)?QP(YP[e]):e==="transparent"?new tr(NaN,NaN,NaN,0):null}function QP(e){return new tr(e>>16&255,e>>8&255,e&255,1)}function Vm(e,t,n,r){return r<=0&&(e=t=n=NaN),new tr(e,t,n,r)}function J$(e){return e instanceof bd||(e=y_(e)),e?(e=e.rgb(),new tr(e.r,e.g,e.b,e.opacity)):new tr}function vh(e,t,n,r){return arguments.length===1?J$(e):new tr(e,t,n,r??1)}function tr(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Cy(tr,vh,b_(bd,{brighter(e){return e=e==null?Yu:Math.pow(Yu,e),new tr(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Xl:Math.pow(Xl,e),new tr(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new tr(Dl(this.r),Dl(this.g),Dl(this.b),Ob(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:ZP,formatHex:ZP,formatHex8:bfe,formatRgb:JP,toString:JP}));function ZP(){return`#${ll(this.r)}${ll(this.g)}${ll(this.b)}`}function bfe(){return`#${ll(this.r)}${ll(this.g)}${ll(this.b)}${ll((isNaN(this.opacity)?1:this.opacity)*255)}`}function JP(){const e=Ob(this.opacity);return`${e===1?"rgb(":"rgba("}${Dl(this.r)}, ${Dl(this.g)}, ${Dl(this.b)}${e===1?")":`, ${e})`}`}function Ob(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Dl(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function ll(e){return e=Dl(e),(e<16?"0":"")+e.toString(16)}function eI(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new zo(e,t,n,r)}function e6(e){if(e instanceof zo)return new zo(e.h,e.s,e.l,e.opacity);if(e instanceof bd||(e=y_(e)),!e)return new zo;if(e instanceof zo)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,o=Math.min(t,n,r),i=Math.max(t,n,r),s=NaN,a=i-o,l=(i+o)/2;return a?(t===i?s=(n-r)/a+(n<r)*6:n===i?s=(r-t)/a+2:s=(t-n)/a+4,a/=l<.5?i+o:2-i-o,s*=60):a=l>0&&l<1?0:s,new zo(s,a,l,e.opacity)}function yfe(e,t,n,r){return arguments.length===1?e6(e):new zo(e,t,n,r??1)}function zo(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Cy(zo,yfe,b_(bd,{brighter(e){return e=e==null?Yu:Math.pow(Yu,e),new zo(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Xl:Math.pow(Xl,e),new zo(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,o=2*n-r;return new tr(jx(e>=240?e-240:e+120,o,r),jx(e,o,r),jx(e<120?e+240:e-120,o,r),this.opacity)},clamp(){return new zo(tI(this.h),Hm(this.s),Hm(this.l),Ob(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Ob(this.opacity);return`${e===1?"hsl(":"hsla("}${tI(this.h)}, ${Hm(this.s)*100}%, ${Hm(this.l)*100}%${e===1?")":`, ${e})`}`}}));function tI(e){return e=(e||0)%360,e<0?e+360:e}function Hm(e){return Math.max(0,Math.min(1,e||0))}function jx(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const vfe=Math.PI/180,xfe=180/Math.PI;var t6=-.14861,v_=1.78277,x_=-.29227,Sy=-.90649,xh=1.97294,nI=xh*Sy,rI=xh*v_,oI=v_*x_-Sy*t6;function wfe(e){if(e instanceof Ml)return new Ml(e.h,e.s,e.l,e.opacity);e instanceof tr||(e=J$(e));var t=e.r/255,n=e.g/255,r=e.b/255,o=(oI*r+nI*t-rI*n)/(oI+nI-rI),i=r-o,s=(xh*(n-o)-x_*i)/Sy,a=Math.sqrt(s*s+i*i)/(xh*o*(1-o)),l=a?Math.atan2(s,i)*xfe-120:NaN;return new Ml(l<0?l+360:l,a,o,e.opacity)}function Mi(e,t,n,r){return arguments.length===1?wfe(e):new Ml(e,t,n,r??1)}function Ml(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Cy(Ml,Mi,b_(bd,{brighter(e){return e=e==null?Yu:Math.pow(Yu,e),new Ml(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Xl:Math.pow(Xl,e),new Ml(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*vfe,t=+this.l,n=isNaN(this.s)?0:this.s*t*(1-t),r=Math.cos(e),o=Math.sin(e);return new tr(255*(t+n*(t6*r+v_*o)),255*(t+n*(x_*r+Sy*o)),255*(t+n*(xh*r)),this.opacity)}}));function Cfe(e,t,n,r,o){var i=e*e,s=i*e;return((1-3*e+3*i-s)*t+(4-6*i+3*s)*n+(1+3*e+3*i-3*s)*r+s*o)/6}function Sfe(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),o=e[r],i=e[r+1],s=r>0?e[r-1]:2*o-i,a=r<t-1?e[r+2]:2*i-o;return Cfe((n-r/t)*t,s,o,i,a)}}const w_=e=>()=>e;function n6(e,t){return function(n){return e+n*t}}function Efe(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function _fe(e,t){var n=t-e;return n?n6(e,n>180||n<-180?n-360*Math.round(n/360):n):w_(isNaN(e)?t:e)}function kfe(e){return(e=+e)==1?cu:function(t,n){return n-t?Efe(t,n,e):w_(isNaN(t)?n:t)}}function cu(e,t){var n=t-e;return n?n6(e,n):w_(isNaN(e)?t:e)}(function e(t){var n=kfe(t);function r(o,i){var s=n((o=vh(o)).r,(i=vh(i)).r),a=n(o.g,i.g),l=n(o.b,i.b),c=cu(o.opacity,i.opacity);return function(u){return o.r=s(u),o.g=a(u),o.b=l(u),o.opacity=c(u),o+""}}return r.gamma=e,r})(1);function Rfe(e){return function(t){var n=t.length,r=new Array(n),o=new Array(n),i=new Array(n),s,a;for(s=0;s<n;++s)a=vh(t[s]),r[s]=a.r||0,o[s]=a.g||0,i[s]=a.b||0;return r=e(r),o=e(o),i=e(i),a.opacity=1,function(l){return a.r=r(l),a.g=o(l),a.b=i(l),a+""}}}var Nfe=Rfe(Sfe);function r6(e){return function t(n){n=+n;function r(o,i){var s=e((o=Mi(o)).h,(i=Mi(i)).h),a=cu(o.s,i.s),l=cu(o.l,i.l),c=cu(o.opacity,i.opacity);return function(u){return o.h=s(u),o.s=a(u),o.l=l(Math.pow(u,n)),o.opacity=c(u),o+""}}return r.gamma=t,r}(1)}r6(_fe);var C_=r6(cu);const Wt=e=>Nfe(e[e.length-1]);var Dfe=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(kt);const Mfe=Wt(Dfe);var Pfe=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(kt);const Ife=Wt(Pfe);var jfe=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(kt);const Tfe=Wt(jfe);var Afe=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(kt);const Ofe=Wt(Afe);var Ffe=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(kt);const Lfe=Wt(Ffe);var $fe=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(kt);const zfe=Wt($fe);var Bfe=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(kt);const Vfe=Wt(Bfe);var Hfe=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(kt);const Wfe=Wt(Hfe);var Ufe=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(kt);const qfe=Wt(Ufe);var Gfe=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(kt);const Yfe=Wt(Gfe);var Kfe=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(kt);const Xfe=Wt(Kfe);var Qfe=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(kt);const Zfe=Wt(Qfe);var Jfe=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(kt);const ehe=Wt(Jfe);var the=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(kt);const nhe=Wt(the);var rhe=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(kt);const ohe=Wt(rhe);var ihe=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(kt);const she=Wt(ihe);var ahe=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(kt);const lhe=Wt(ahe);var che=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(kt);const uhe=Wt(che);var dhe=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(kt);const fhe=Wt(dhe);var hhe=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(kt);const phe=Wt(hhe);var mhe=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(kt);const ghe=Wt(mhe);var bhe=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(kt);const yhe=Wt(bhe);var vhe=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(kt);const xhe=Wt(vhe);var whe=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(kt);const Che=Wt(whe);var She=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(kt);const Ehe=Wt(She);var _he=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(kt);const khe=Wt(_he);var Rhe=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(kt);const Nhe=Wt(Rhe);function Dhe(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(-4.54-e*(35.34-e*(2381.73-e*(6402.7-e*(7024.72-e*2710.57)))))))+", "+Math.max(0,Math.min(255,Math.round(32.49+e*(170.73+e*(52.82-e*(131.46-e*(176.58-e*67.37)))))))+", "+Math.max(0,Math.min(255,Math.round(81.24+e*(442.36-e*(2482.43-e*(6167.24-e*(6614.94-e*2475.67)))))))+")"}const Mhe=C_(Mi(300,.5,0),Mi(-240,.5,1));var Phe=C_(Mi(-100,.75,.35),Mi(80,1.5,.8)),Ihe=C_(Mi(260,.75,.35),Mi(80,1.5,.8)),Wm=Mi();function jhe(e){(e<0||e>1)&&(e-=Math.floor(e));var t=Math.abs(e-.5);return Wm.h=360*e-100,Wm.s=1.5-1.5*t,Wm.l=.8-.9*t,Wm+""}var Um=vh(),The=Math.PI/3,Ahe=Math.PI*2/3;function Ohe(e){var t;return e=(.5-e)*Math.PI,Um.r=255*(t=Math.sin(e))*t,Um.g=255*(t=Math.sin(e+The))*t,Um.b=255*(t=Math.sin(e+Ahe))*t,Um+""}function Fhe(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+e*(1172.33-e*(10793.56-e*(33300.12-e*(38394.49-e*14825.05)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+e*(557.33+e*(1225.33-e*(3574.96-e*(1073.77+e*707.56)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+e*(3211.1-e*(15327.97-e*(27814-e*(22569.18-e*6838.66)))))))+")"}function Ey(e){var t=e.length;return function(n){return e[Math.max(0,Math.min(t-1,Math.floor(n*t)))]}}const Lhe=Ey(kt("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));var $he=Ey(kt("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),zhe=Ey(kt("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),Bhe=Ey(kt("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function Vhe(e){return e}function Hhe(e){if(e==null)return Vhe;var t,n,r=e.scale[0],o=e.scale[1],i=e.translate[0],s=e.translate[1];return function(a,l){l||(t=n=0);var c=2,u=a.length,d=new Array(u);for(d[0]=(t+=a[0])*r+i,d[1]=(n+=a[1])*o+s;c<u;)d[c]=a[c],++c;return d}}function Whe(e,t){for(var n,r=e.length,o=r-t;o<--r;)n=e[o],e[o++]=e[r],e[r]=n}function Uhe(e,t){return typeof t=="string"&&(t=e.objects[t]),t.type==="GeometryCollection"?{type:"FeatureCollection",features:t.geometries.map(function(n){return iI(e,n)})}:iI(e,t)}function iI(e,t){var n=t.id,r=t.bbox,o=t.properties==null?{}:t.properties,i=qhe(e,t);return n==null&&r==null?{type:"Feature",properties:o,geometry:i}:r==null?{type:"Feature",id:n,properties:o,geometry:i}:{type:"Feature",id:n,bbox:r,properties:o,geometry:i}}function qhe(e,t){var n=Hhe(e.transform),r=e.arcs;function o(u,d){d.length&&d.pop();for(var h=r[u<0?~u:u],p=0,m=h.length;p<m;++p)d.push(n(h[p],p));u<0&&Whe(d,m)}function i(u){return n(u)}function s(u){for(var d=[],h=0,p=u.length;h<p;++h)o(u[h],d);return d.length<2&&d.push(d[0]),d}function a(u){for(var d=s(u);d.length<4;)d.push(d[0]);return d}function l(u){return u.map(a)}function c(u){var d=u.type,h;switch(d){case"GeometryCollection":return{type:d,geometries:u.geometries.map(c)};case"Point":h=i(u.coordinates);break;case"MultiPoint":h=u.coordinates.map(i);break;case"LineString":h=s(u.arcs);break;case"MultiLineString":h=u.arcs.map(s);break;case"Polygon":h=l(u.arcs);break;case"MultiPolygon":h=u.arcs.map(l);break;default:return null}return{type:d,coordinates:h}}return c(t)}const jf={geoAzimuthalEqualArea:Gde,geoAzimuthalEquidistant:Yde,geoGnomonic:rfe,geoOrthographic:ife,geoStereographic:sfe,geoEqualEarth:nfe,geoAlbers:V$,geoAlbersUsa:qde,geoConicConformal:Qde,geoConicEqualArea:jb,geoConicEquidistant:efe,geoEquirectangular:Zde,geoMercator:Kde,geoTransverseMercator:afe,geoNaturalEarth1:ofe};Object.keys(jf).forEach(e=>{jf[`${e.charAt(3).toLowerCase()}${e.slice(4)}`]=jf[e]});class mc extends Ta{constructor(t){super(t),this.outlineBounds=null,this.oldChartBounds=null,this.geoPath=WP()}init(t){t.position="chartArea",super.init(t),typeof t.projection=="function"?this.projection=t.projection:this.projection=(jf[t.projection]||jf.albersUsa)(),this.geoPath.projection(this.projection),this.outlineBounds=null,this.oldChartBounds=null}computeBounds(t){const n=WP(this.projection.fitWidth(1e3,t)).bounds(t),r=Math.ceil(n[1][1]-n[0][1]),o=Math.ceil(n[1][0]-n[0][0]),i=this.projection.translate();this.outlineBounds={width:o,height:r,aspectRatio:o/r,refScale:this.projection.scale(),refX:i[0],refY:i[1]}}updateBounds(){const t=this.chart.chartArea,n=this.outlineBounds;if(!n)return!1;const r=this.options.padding,o=typeof r=="number"?r:r.top,i=typeof r=="number"?r:r.left,s=typeof r=="number"?r:r.bottom,a=typeof r=="number"?r:r.right,l=t.right-t.left-i-a,c=t.bottom-t.top-o-s,u=this.oldChartBounds;this.oldChartBounds={chartWidth:l,chartHeight:c};const d=Math.min(l/n.width,c/n.height),h=n.width*d,p=n.height*d,m=(l-h)*.5+t.left+i,g=(c-p)*.5+t.top+o,b=this.options;return this.projection.scale(n.refScale*d*b.projectionScale).translate([d*n.refX+m+b.projectionOffset[0],d*n.refY+g+b.projectionOffset[1]]),!u||u.chartWidth!==this.oldChartBounds.chartWidth||u.chartHeight!==this.oldChartBounds.chartHeight}}mc.id="projection";mc.defaults={projection:"albersUsa",projectionScale:1,projectionOffset:[0,0],padding:0};mc.descriptors={_scriptable:e=>e!=="projection",_indexable:e=>e!=="projectionOffset"};const _y={position:"chartArea",property:"value",grid:{z:1,drawOnChartArea:!1},ticks:{z:1},legend:{align:"right",position:"bottom-right",length:100,width:50,margin:8,indicatorWidth:10}};function Ghe(e){const{indicatorWidth:t,align:n,margin:r}=e,o=(typeof r=="number"?r:r.left)+(n==="right"?t:0),i=(typeof r=="number"?r:r.top)+(n==="bottom"?t:0),s=(typeof r=="number"?r:r.right)+(n==="left"?t:0),a=(typeof r=="number"?r:r.bottom)+(n==="top"?t:0);return{left:o,top:i,right:s,bottom:a}}function Yhe(e,t,n,r,o){const{indicatorWidth:i,align:s,position:a}=t,l=s==="top"||s==="bottom",c=(s==="left"?o.w:n)+(l?i:0),u=(s==="top"?o.h:r)+(l?0:i),d=Ghe(t);if(typeof a=="string")switch(a){case"top-left":return[d.left,d.top];case"top":return[(e.right-c)/2,d.top];case"left":return[d.left,(e.bottom-u)/2];case"top-right":return[e.right-c-d.right,d.top];case"bottom-right":return[e.right-c-d.right,e.bottom-u-d.bottom];case"bottom":return[(e.right-c)/2,e.bottom-u-d.bottom];case"bottom-left":return[d.left,e.bottom-u-d.bottom];default:return[e.right-c-d.right,(e.bottom-u)/2]}return[a.x,a.y]}class Xc extends Yl{constructor(){super(...arguments),this.legendSize={w:0,h:0}}init(t){t.position="chartArea",super.init(t),this.axis="r"}parse(t,n){return t&&typeof t[this.options.property]=="number"?t[this.options.property]:super.parse(t,n)}isHorizontal(){return this.options.legend.align==="top"||this.options.legend.align==="bottom"}_getNormalizedValue(t){return t==null||Number.isNaN(t)?null:(t-this._startValue)/this._valueRange}update(t,n,r){const o=Math.min(n,this.bottom==null?Number.POSITIVE_INFINITY:this.bottom),i=Math.min(t,this.right==null?Number.POSITIVE_INFINITY:this.right),s=this.options.legend,a=this.isHorizontal(),l=(p,m)=>p<1?m*p:p,c=Math.min(i,l(a?s.length:s.width,i))-(a?0:s.indicatorWidth),u=Math.min(o,l(a?s.width:s.length,o))-(a?s.indicatorWidth:0);this.legendSize={w:c,h:u},this.bottom=u,this.height=u,this.right=c,this.width=c;const d=this.options.position;this.options.position=this.options.legend.align;const h=super.update(c,u,r);return this.options.position=d,this.height=Math.min(u,this.height),this.width=Math.min(c,this.width),h}_computeLabelArea(){}draw(t){if(!this._isVisible())return;const n=Yhe(t,this.options.legend,this.width,this.height,this.legendSize),{ctx:r}=this;r.save(),r.translate(n[0],n[1]);const o=this.options.position;this.options.position=this.options.legend.align,super.draw({...t,bottom:this.height+10,right:this.width}),this.options.position=o;const{indicatorWidth:i}=this.options.legend;switch(this.options.legend.align){case"left":r.translate(this.legendSize.w,0);break;case"top":r.translate(0,this.legendSize.h);break;case"bottom":r.translate(0,-i);break;default:r.translate(-i,0);break}this._drawIndicator(),r.restore()}_drawIndicator(){}}class o6 extends Wu{constructor(){super(...arguments),this.legendSize={w:0,h:0}}init(t){Xc.prototype.init.call(this,t)}parse(t,n){return Xc.prototype.parse.call(this,t,n)}isHorizontal(){return this.options.legend.align==="top"||this.options.legend.align==="bottom"}_getNormalizedValue(t){return t==null||Number.isNaN(t)?null:(Math.log10(t)-this._startValue)/this._valueRange}update(t,n,r){return Xc.prototype.update.call(this,t,n,r)}_computeLabelArea(){}draw(t){return Xc.prototype.draw.call(this,t)}_drawIndicator(){}}const os={interpolateBlues:yhe,interpolateBrBG:Mfe,interpolateBuGn:Yfe,interpolateBuPu:Xfe,interpolateCividis:Dhe,interpolateCool:Ihe,interpolateCubehelixDefault:Mhe,interpolateGnBu:Zfe,interpolateGreens:xhe,interpolateGreys:Che,interpolateInferno:zhe,interpolateMagma:$he,interpolateOrRd:ehe,interpolateOranges:Nhe,interpolatePRGn:Ife,interpolatePiYG:Tfe,interpolatePlasma:Bhe,interpolatePuBu:ohe,interpolatePuBuGn:nhe,interpolatePuOr:Ofe,interpolatePuRd:she,interpolatePurples:Ehe,interpolateRainbow:jhe,interpolateRdBu:Lfe,interpolateRdGy:zfe,interpolateRdPu:lhe,interpolateRdYlBu:Vfe,interpolateRdYlGn:Wfe,interpolateReds:khe,interpolateSinebow:Ohe,interpolateSpectral:qfe,interpolateTurbo:Fhe,interpolateViridis:Lhe,interpolateWarm:Phe,interpolateYlGn:fhe,interpolateYlGnBu:uhe,interpolateYlOrBr:phe,interpolateYlOrRd:ghe};Object.keys(os).forEach(e=>{os[`${e.charAt(11).toLowerCase()}${e.slice(12)}`]=os[e],os[e.slice(11)]=os[e]});function i6(e,t){const n=1/t;if(e<=n)return 0;if(e>=1-n)return 1;for(let r=0;r<1;r+=n)if(e<r)return r-n/2;return e}const s6={interpolate:"blues",missing:"transparent",quantize:0};class ya extends Xc{get interpolate(){const t=this.options;return t?typeof t.interpolate=="function"?t.interpolate:os[t.interpolate]||os.blues:n=>`rgb(${n},${n},${n})`}getColorForValue(t){const n=this._getNormalizedValue(t);return n==null||Number.isNaN(n)?this.options.missing:this.getColor(n)}getColor(t){let n=t;return this.options.quantize>0&&(n=i6(n,this.options.quantize)),this.interpolate(n)}_drawIndicator(){const{indicatorWidth:t}=this.options.legend,n=this._reversePixels;if(this.isHorizontal()){const r=this.width;if(this.options.quantize>0){const o=r/this.options.quantize,i=n?s=>r-o-s:s=>s;for(let s=0;s<r;s+=o){const a=(s+o/2)/r;this.ctx.fillStyle=this.getColor(a),this.ctx.fillRect(i(s),0,o,t)}}else{const o=n?i=>r-1-i:i=>i;for(let i=0;i<r;i+=1)this.ctx.fillStyle=this.getColor((i+.5)/r),this.ctx.fillRect(o(i),0,1,t)}}else{const r=this.height;if(this.options.quantize>0){const o=r/this.options.quantize,i=n?s=>r-o-s:s=>s;for(let s=0;s<r;s+=o){const a=(s+o/2)/r;this.ctx.fillStyle=this.getColor(a),this.ctx.fillRect(0,i(s),t,o)}}else{const o=n?i=>r-1-i:i=>i;for(let i=0;i<r;i+=1)this.ctx.fillStyle=this.getColor((i+.5)/r),this.ctx.fillRect(0,o(i),t,1)}}}}ya.id="color";ya.defaults=kn({},[Yl.defaults,_y,s6]);ya.descriptors={_scriptable:e=>e!=="interpolate",_indexable:!1};class S_ extends o6{constructor(){super(...arguments),this.interpolate=t=>`rgb(${t},${t},${t})`}init(t){super.init(t),typeof t.interpolate=="function"?this.interpolate=t.interpolate:this.interpolate=os[t.interpolate]||os.blues}getColorForValue(t){return ya.prototype.getColorForValue.call(this,t)}getColor(t){let n=t;return this.options.quantize>0&&(n=i6(n,this.options.quantize)),this.interpolate(n)}_drawIndicator(){return ya.prototype._drawIndicator.call(this)}}S_.id="colorLogarithmic";S_.defaults=kn({},[Wu.defaults,_y,s6]);S_.descriptors={_scriptable:e=>e!=="interpolate",_indexable:!1};const a6={missing:1,mode:"area",range:[2,20],legend:{align:"bottom",length:90,width:70,indicatorWidth:42}};class va extends Xc{constructor(){super(...arguments),this._model=null}getSizeForValue(t){const n=this._getNormalizedValue(t);return n==null||Number.isNaN(n)?this.options.missing:this.getSizeImpl(n)}getSizeImpl(t){const[n,r]=this.options.range;if(this.options.mode==="area"){const i=r*r*Math.PI,s=n*n*Math.PI,a=i-s,l=t*a+s;return Math.sqrt(l/Math.PI)}const o=r-n;return t*o+n}_drawIndicator(){const{ctx:t}=this,n=this.options.legend.indicatorWidth/2,r=this.isHorizontal(),o=this.ticks,i=this.getLabelItems(),s=i?i.map(a=>({[r?"x":"y"]:a.options.translation[r?0:1]})):o.map((a,l)=>({[r?"x":"y"]:this.getPixelForTick(l)}));if((this._gridLineItems||[]).forEach(a=>{if(t.save(),t.strokeStyle=a.color,t.lineWidth=a.width,t.setLineDash&&(t.setLineDash(a.borderDash),t.lineDashOffset=a.borderDashOffset),t.beginPath(),this.options.grid.drawTicks)switch(this.options.legend.align){case"left":t.moveTo(0,a.ty1),t.lineTo(n,a.ty2);break;case"top":t.moveTo(a.tx1,0),t.lineTo(a.tx2,n);break;case"bottom":t.moveTo(a.tx1,n),t.lineTo(a.tx2,n*2);break;default:t.moveTo(n,a.ty1),t.lineTo(n*2,a.ty2);break}t.stroke(),t.restore()}),this._model){const a=this._model;t.strokeStyle=a.borderColor,t.lineWidth=a.borderWidth||0,t.fillStyle=a.backgroundColor}else t.fillStyle="blue";o.forEach((a,l)=>{const c=s[l],u=this.getSizeForValue(a.value),d=r?c.x:n,h=r?n:c.y,p={pointStyle:"circle",borderWidth:0,...this._model||{},radius:u};yb(t,p,d,h)})}}va.id="size";va.defaults=kn({},[Yl.defaults,_y,a6]);va.descriptors={_scriptable:!0,_indexable:e=>e!=="range"};class l6 extends o6{constructor(){super(...arguments),this._model=null}getSizeForValue(t){const n=this._getNormalizedValue(t);return n==null||Number.isNaN(n)?this.options.missing:this.getSizeImpl(n)}getSizeImpl(t){return va.prototype.getSizeImpl.call(this,t)}_drawIndicator(){va.prototype._drawIndicator.call(this)}}l6.id="sizeLogarithmic";l6.defaults=kn({},[Wu.defaults,_y,a6]);function Khe(e,t){return[[e[0][0]-t,e[0][1]-t],[e[1][0]+t,e[1][1]+t]]}class ws extends zi{constructor(){super(...arguments),this.cache=void 0}inRange(t,n){const r=this.getBounds(),o=(Number.isNaN(t)||t>=r.x&&t<=r.x2)&&(Number.isNaN(n)||n>=r.y&&n<=r.y2),i=this.projectionScale.geoPath.projection();if(o&&!Number.isNaN(t)&&!Number.isNaN(n)&&typeof i.invert=="function"){const s=i.invert([t,n]);return s!=null&&Ede(this.feature,s)}return o}inXRange(t){return this.inRange(t,Number.NaN)}inYRange(t){return this.inRange(Number.NaN,t)}getCenterPoint(){if(this.cache&&this.cache.center)return this.cache.center;let t;if(this.center){const n=this.projectionScale.projection([this.center.longitude,this.center.latitude]);t={x:n[0],y:n[1]}}else{const n=this.projectionScale.geoPath.centroid(this.feature);t={x:n[0],y:n[1]}}return this.cache={...this.cache||{},center:t},t}getBounds(){if(this.cache&&this.cache.bounds)return this.cache.bounds;const t=Khe(this.projectionScale.geoPath.bounds(this.feature),this.options.borderWidth/2),n={x:t[0][0],x2:t[1][0],y:t[0][1],y2:t[1][1],width:t[1][0]-t[0][0],height:t[1][1]-t[0][1]};return this.cache={...this.cache||{},bounds:n},n}_drawInCache(t){const n=this.getBounds();if(!Number.isFinite(n.x))return;const r=this.cache&&this.cache.canvas?this.cache.canvas:t.createElement("canvas"),o=Math.floor(n.x),i=Math.floor(n.y),s=Math.ceil(n.x+n.width),a=Math.ceil(n.y+n.height),l=this.pixelRatio||1,c=Math.ceil(Math.max(s-o,1)*l),u=Math.ceil(Math.max(a-i,1)*l);if(c<=0||u<=0)return;r.width=c,r.height=u;const d=r.getContext("2d");d&&(d.clearRect(0,0,r.width,r.height),d.save(),d.scale(l,l),d.translate(-o,-i),this._drawImpl(d),d.restore(),this.cache={...this.cache||{},canvas:r,canvasKey:this._optionsToKey()})}_optionsToKey(){const{options:t}=this;return`${t.backgroundColor};${t.borderColor};${t.borderWidth};${this.pixelRatio}`}_drawImpl(t){const{feature:n}=this,{options:r}=this;t.beginPath(),this.projectionScale.geoPath.context(t)(n),r.backgroundColor&&(t.fillStyle=r.backgroundColor,t.fill()),r.borderColor&&(t.strokeStyle=r.borderColor,t.lineWidth=r.borderWidth,t.stroke())}draw(t){const{feature:n}=this;if(!n)return;(!this.cache||this.cache.canvasKey!==this._optionsToKey())&&t.canvas.ownerDocument!=null&&this._drawInCache(t.canvas.ownerDocument);const r=this.getBounds();if(this.cache&&this.cache.canvas&&this.cache.canvas.width>0&&this.cache.canvas.height>0){const o=Math.floor(r.x),i=Math.floor(r.y),s=Math.ceil(r.x+r.width),a=Math.ceil(r.y+r.height),l=s-o,c=a-i;l>0&&c>0&&t.drawImage(this.cache.canvas,o,i,s-o,a-i)}else Number.isFinite(r.x)&&(t.save(),this._drawImpl(t),t.restore())}}ws.id="geoFeature";ws.defaults={...xi.defaults,outlineBackgroundColor:null,outlineBorderWidth:0,graticuleBorderColor:"#CCCCCC",graticuleBorderWidth:0};ws.defaultRoutes={outlineBorderColor:"borderColor",...xi.defaultRoutes||{}};const c6={showOutline:!1,showGraticule:!1,clipMap:!0},u6={scales:{projection:{axis:"x",type:mc.id,position:"chartArea",display:!1}}};function sI(e){const t={...e};return Object.keys(e).forEach(n=>{let r=n;if(n.startsWith("outline")){const o=n.slice(7);r=o[0].toLowerCase()+o.slice(1)}else if(n.startsWith("hoverOutline"))r=`hover${n.slice(12)}`;else return;delete t[n],t[r]=e[n]}),t}class d6 extends Eo{getGeoDataset(){return super.getDataset()}getGeoOptions(){return this.chart.options}getProjectionScale(){return this.getScaleForId("projection")}linkScales(){const t=this.getGeoDataset(),n=this.getMeta();n.xAxisID="projection",t.xAxisID="projection",n.yAxisID="projection",t.yAxisID="projection",n.xScale=this.getScaleForId("projection"),n.yScale=this.getScaleForId("projection"),this.getProjectionScale().computeBounds(this.resolveOutline())}showOutline(){return Be(this.getGeoDataset().showOutline,this.getGeoOptions().showOutline)}clipMap(){return Be(this.getGeoDataset().clipMap,this.getGeoOptions().clipMap)}getGraticule(){return Be(this.getGeoDataset().showGraticule,this.getGeoOptions().showGraticule)}update(t){super.update(t);const n=this.getMeta(),r=this.getProjectionScale(),o=r.updateBounds();if(this.showOutline()){const i=n.dataset;if(o&&delete i.cache,i.projectionScale=r,i.pixelRatio=this.chart.currentDevicePixelRatio,t!=="resize"){const s=sI(this.resolveDatasetElementOptions(t)),a={feature:this.resolveOutline(),options:s};this.updateElement(i,void 0,a,t),this.getGraticule()&&(n.graticule=s)}}else this.getGraticule()&&t!=="resize"&&(n.graticule=sI(this.resolveDatasetElementOptions(t)));this.updateElements(n.data,0,n.data.length,t),o&&n.data.forEach(i=>delete i.cache)}resolveOutline(){const n=this.getGeoDataset().outline||{type:"Sphere"};return Array.isArray(n)?{type:"FeatureCollection",features:n}:n}showGraticule(){const t=this.getGraticule(),n=this.getMeta().graticule;if(!t||!n)return;const{ctx:r}=this.chart,i=this.getProjectionScale().geoPath.context(r);if(r.save(),r.beginPath(),typeof t=="boolean")t&&i(_de());else{const s=k$();t.stepMajor&&s.stepMajor(t.stepMajor),t.stepMinor&&s.stepMinor(t.stepMinor),i(s())}r.strokeStyle=n.graticuleBorderColor,r.lineWidth=n.graticuleBorderWidth,r.stroke(),r.restore()}draw(){const{chart:t}=this,n=this.clipMap();let r=!1;(n===!0||n==="outline"||n==="outline+graticule")&&(r=!0,Sl(t.ctx,t.chartArea)),this.showOutline()&&this.getMeta().dataset&&this.getMeta().dataset.draw.call(this.getMeta().dataset,t.ctx,t.chartArea),n===!0||n==="graticule"||n==="outline+graticule"?r||Sl(t.ctx,t.chartArea):r&&(r=!1,El(t.ctx)),this.showGraticule(),n===!0||n==="items"?r||Sl(t.ctx,t.chartArea):r&&(r=!1,El(t.ctx)),this.getMeta().data.forEach(o=>o.draw.call(o,t.ctx,t.chartArea)),r&&(r=!1,El(t.ctx))}}function f6(e,t,n,r=[],o=[]){wn.addControllers(n),Array.isArray(r)?wn.addElements(...r):wn.addElements(r),Array.isArray(o)?wn.addScales(...o):wn.addScales(o);const i=t;return i.type=e,i}class yd extends d6{initialize(){super.initialize(),this.enableOptionSharing=!0}linkScales(){super.linkScales();const t=this.getGeoDataset(),n=this.getMeta();n.vAxisID="color",n.rAxisID="color",t.vAxisID="color",t.rAxisID="color",n.rScale=this.getScaleForId("color"),n.vScale=n.rScale,n.iScale=n.xScale,n.iAxisID=n.xAxisID,t.iAxisID=n.xAxisID}_getOtherScale(t){return t}parse(t,n){const r=this.getMeta().rScale,{data:o}=this.getDataset(),i=this._cachedMeta;for(let s=t;s<t+n;s+=1)i._parsed[s]={[r.axis]:r.parse(o[s],s)}}updateElements(t,n,r,o){const i=this.resolveDataElementOptions(n,o),s=this.getSharedOptions(i),a=this.includeOptions(o,s),l=this.getProjectionScale();this.updateSharedOptions(s,o,i);for(let c=n;c<n+r;c+=1){const u=t[c];u.projectionScale=l,u.feature=this._data[c].feature,u.center=this._data[c].center,u.pixelRatio=this.chart.currentDevicePixelRatio;const d=u.getCenterPoint(),h={x:d.x,y:d.y};a&&(h.options=s||this.resolveDataElementOptions(c,o)),this.updateElement(u,c,h,o)}}indexToColor(t){const n=this.getMeta().rScale;return n.getColorForValue(this.getParsed(t)[n.axis])}}yd.id="choropleth";yd.defaults=kn({},[c6,{datasetElementType:ws.id,dataElementType:ws.id}]);yd.overrides=kn({},[u6,{plugins:{tooltip:{callbacks:{title(){return""},label(e){var t,n,r,o;return e.formattedValue==null?(n=(t=e.chart.data)===null||t===void 0?void 0:t.labels)===null||n===void 0?void 0:n[e.dataIndex]:`${(o=(r=e.chart.data)===null||r===void 0?void 0:r.labels)===null||o===void 0?void 0:o[e.dataIndex]}: ${e.formattedValue}`}}},colors:{enabled:!1}},scales:{color:{type:ya.id,axis:"x"}},elements:{geoFeature:{backgroundColor(e){return e.dataIndex==null?null:e.chart.getDatasetMeta(e.datasetIndex).controller.indexToColor(e.dataIndex)}}}}]);class Xhe extends Vt{constructor(t,n){super(t,f6("choropleth",n,yd,ws,[ya,mc]))}}Xhe.id=yd.id;class vd extends d6{initialize(){super.initialize(),this.enableOptionSharing=!0}linkScales(){super.linkScales();const t=this.getGeoDataset(),n=this.getMeta();n.vAxisID="size",n.rAxisID="size",t.vAxisID="size",t.rAxisID="size",n.rScale=this.getScaleForId("size"),n.vScale=n.rScale,n.iScale=n.xScale,n.iAxisID=n.xAxisID,t.iAxisID=n.xAxisID}_getOtherScale(t){return t}parse(t,n){const r=this.getMeta().rScale,o=this.getDataset().data,i=this._cachedMeta;for(let s=t;s<t+n;s+=1){const a=o[s];i._parsed[s]={x:a.longitude==null?a.x:a.longitude,y:a.latitude==null?a.y:a.latitude,[r.axis]:r.parse(a,s)}}}updateElements(t,n,r,o){const i=o==="reset",s=this.resolveDataElementOptions(n,o),a=this.getSharedOptions(s),l=this.includeOptions(o,a),c=this.getProjectionScale();this.getMeta().rScale._model=s,this.updateSharedOptions(a,o,s);for(let u=n;u<n+r;u+=1){const d=t[u],h=this.getParsed(u),p=c.projection([h.x,h.y]),m={x:p?p[0]:0,y:p?p[1]:0,skip:Number.isNaN(h.x)||Number.isNaN(h.y)};l&&(m.options=a||this.resolveDataElementOptions(u,o),i&&(m.options.radius=0)),this.updateElement(d,u,m,o)}}indexToRadius(t){const n=this.getMeta().rScale;return n.getSizeForValue(this.getParsed(t)[n.axis])}}vd.id="bubbleMap";vd.defaults=kn({},[c6,{dataElementType:Nl.id,datasetElementType:ws.id,showOutline:!0,clipMap:"outline+graticule"}]);vd.overrides=kn({},[u6,{plugins:{tooltip:{callbacks:{title(){return""},label(e){var t,n,r,o;return e.formattedValue==null?(n=(t=e.chart.data)===null||t===void 0?void 0:t.labels)===null||n===void 0?void 0:n[e.dataIndex]:`${(o=(r=e.chart.data)===null||r===void 0?void 0:r.labels)===null||o===void 0?void 0:o[e.dataIndex]}: ${e.formattedValue}`}}}},scales:{size:{axis:"x",type:va.id}},elements:{point:{radius(e){return e.dataIndex==null?null:e.chart.getDatasetMeta(e.datasetIndex).controller.indexToRadius(e.dataIndex)},hoverRadius(e){return e.dataIndex==null?null:e.chart.getDatasetMeta(e.datasetIndex).controller.indexToRadius(e.dataIndex)+1}}}}]);class Qhe extends Vt{constructor(t,n){super(t,f6("bubbleMap",n,vd,ws,[va,mc]))}}Qhe.id=vd.id;function Zhe(e){var n;return{...e,type:"bar",options:{...e==null?void 0:e.options,indexAxis:"y",scales:{x:{display:!0},y:{display:!0}},plugins:{...(n=e==null?void 0:e.options)==null?void 0:n.plugins,legend:{position:"bottom",align:"center"}}}}}function Jhe(e){var n;return{...e,type:"bar",options:{...e==null?void 0:e.options,indexAxis:"y",scales:{x:{beginAtZero:!0,stack:1,reverse:!0},y:{stacked:!0,beginAtZero:!0}},plugins:{...(n=e==null?void 0:e.options)==null?void 0:n.plugins,legend:{position:"bottom",align:"center"}}}}}function epe(e){var n;return{...e,type:"bar",options:{...e==null?void 0:e.options,scales:{x:{display:!0},y:{display:!0}},plugins:{...(n=e==null?void 0:e.options)==null?void 0:n.plugins,legend:{position:"bottom",align:"center"}}}}}function tpe(e,t=!1){var r;return{...e,type:"bar",options:{...e==null?void 0:e.options,indexAxis:"y",scales:{x:{display:!0,beginAtZero:!1},y:{display:!0,stacked:t}},plugins:{...(r=e==null?void 0:e.options)==null?void 0:r.plugins,legend:{position:"bottom",align:"center"}}}}}function npe(e,t){var r,o,i,s,a;return{...e,type:t==="stackedBar"?"bar":"line",options:{...e==null?void 0:e.options,scales:{x:{...(o=(r=e==null?void 0:e.options)==null?void 0:r.scales)==null?void 0:o.x,display:!0,stacked:!0},y:{...(s=(i=e==null?void 0:e.options)==null?void 0:i.scales)==null?void 0:s.y,display:!0,stacked:t==="stackedBar"}},plugins:{...(a=e==null?void 0:e.options)==null?void 0:a.plugins,legend:{display:!1,position:"bottom",align:"center"}}}}}function rpe(e){var n;return{...e,type:"line",options:{...e==null?void 0:e.options,scales:{x:{display:!0},y:{display:!0}},plugins:{...(n=e==null?void 0:e.options)==null?void 0:n.plugins,legend:{position:"bottom",align:"center"}}}}}function ope(e,t){var r;return{...t,type:e,options:{...t==null?void 0:t.options,scales:{x:{display:!1},y:{display:!1}},plugins:{...(r=t==null?void 0:t.options)==null?void 0:r.plugins,legend:{position:"bottom",align:"center",maxHeight:0,labels:{useBorderRadius:!0,borderRadius:2}}},borderRadius:0}}}function ipe(e){var r,o;const t=re.getState().theme;let n={...e,type:"radar",options:{...e==null?void 0:e.options,scales:{x:{display:!1},y:{display:!1},r:{grid:{display:!0},angleLines:{},ticks:{}}},plugins:{...(r=e==null?void 0:e.options)==null?void 0:r.plugins,legend:{position:"bottom",align:"center"}}}};return t==="dark"&&(n={...n,options:{...n.options,scales:{...(o=n==null?void 0:n.options)==null?void 0:o.scales,r:{grid:{color:Pt.slate[800]},angleLines:{color:Pt.slate[800]},ticks:{color:Pt.slate[800],showLabelBackdrop:!1}}}}}),n}function spe(e,t,n){const r={interaction:{mode:"point"},plugins:{tooltip:{callbacks:{label:function(i){var p;const s=i.dataset.label,a=i.dataIndex,l=i.dataset.data,c=(p=l==null?void 0:l[a])==null?void 0:p.label,u=n==null?void 0:n[0],d=n==null?void 0:n[1],h=n==null?void 0:n[2];if(t==="bubble")return c?`${s} (${c}): ${u}: ${i.raw.x.toFixed(2)}, ${d}: ${i.raw.y.toFixed(2)}, ${h}: ${i.raw.r.toFixed(2)}`:`${s}: ${u}: ${i.raw.x.toFixed(2)}, ${d}: ${i.raw.y.toFixed(2)}, ${h}: ${i.raw.r.toFixed(2)}`;if(t==="scatter")return c?`${s} (${c}): ${u}: ${i.raw.x.toFixed(2)}, ${d}: ${i.raw.y.toFixed(2)}`:`${s}: ${u}: ${i.raw.x.toFixed(2)}, ${d}: ${i.raw.y.toFixed(2)}`}}},datalabels:{display:!1}},scales:{x:{title:{display:!0,text:n[0]},beginAtZero:!0,ticks:{precision:0}},y:{title:{display:!0,text:n[1]},beginAtZero:!0,ticks:{precision:0}}}};return{...e,options:{...e==null?void 0:e.options,...r}}}function ape({data:e,cfg:t,customCfg:n,preferences:r,cardType:o}){var R,N,D,I,P;const i=((R=r==null?void 0:r.chartOptions)==null?void 0:R.indexAxis)||"y",s={...t,options:{indexAxis:i}},{keys:a}=un(e),l=[a[1]],c=K5(l,e),u=Cl(c,n);u.forEach((A,F)=>{var T,O,$;A.shrinkAnchor=(($=(O=(T=n==null?void 0:n.data)==null?void 0:T.datasets)==null?void 0:O[F])==null?void 0:$.shrinkAnchor)||"top"});const{plugins:d,options:h}=gy((r==null?void 0:r.customVisualCode)||""),p=a[0],m=ep(e,p),g=Vn((s==null?void 0:s.options)||{},(n==null?void 0:n.options)||{}),b=Vn(g,(r==null?void 0:r.chartOptions)||{});Array(u.length).fill(!0);const y=e.map(A=>A[p]),v=e.map(A=>A[l[0]]),x=(N=u[0])==null?void 0:N.backgroundColor.slice(),E={...b,plugins:{...b.plugins,legend:{...(D=b.plugins)==null?void 0:D.legend,labels:{generateLabels:A=>{const F=A.data.labels;return y.map((T,O)=>({text:T,fillStyle:x[O],hidden:!F.includes(T.toString()),index:O,datasetIndex:0,lineWidth:0}))}},onClick:(A,F,T)=>{const O=T.chart,$=F.index,V=y[$],z=O.data.datasets[0],j=O.data.labels,W=z.data,L=z.backgroundColor,M=j.indexOf(V.toString());M>=0?(j.splice(M,1),W.splice(M,1),L.splice(M,1)):(j.splice($,0,y[$].toString()),W.splice($,0,Number(v[$])),L.splice($,0,x[$])),O.update()}},datalabels:{...(I=b.plugins)==null?void 0:I.datalabels,anchor:A=>A.dataset.data[A.dataIndex]<.02?"end":"start",align:A=>A.dataset.data[A.dataIndex]<.02?"end":"center",textAlign:"center",font:{size:14},formatter:(A,F)=>{var T,O,$,V;return or({number:Number(A),decimalPlaces:((T=r==null?void 0:r.numberAxisFormat)==null?void 0:T.decimalPlaces)||0,useSuffix:!!((O=r==null?void 0:r.numberAxisFormat)!=null&&O.suffix),customSuffix:"",locale:(($=r==null?void 0:r.numberAxisFormat)==null?void 0:$.locale)||"",currency:((V=r==null?void 0:r.numberAxisFormat)==null?void 0:V.currency)||""})}},tooltip:{...(P=b.plugins)==null?void 0:P.tooltip,callbacks:{title:function(A){var V,z,j,W;const T=((z=(V=A==null?void 0:A[0])==null?void 0:V.dataset)==null?void 0:z.data).reduce((L,M)=>L+M,0),$=(((j=A==null?void 0:A[0])==null?void 0:j.parsed[i==="x"?"y":"x"])/T*100).toFixed(2);return`${(W=A==null?void 0:A[0])==null?void 0:W.label} (${$}%)`},label:function(A){var W,L,M,H;A.dataset.label;const F=A.dataset.data;F.reduce((B,G)=>B+G,0);const T=A.parsed[i==="x"?"y":"x"],O=F.indexOf(T),$=F[O-1],V=or({number:Number(T),decimalPlaces:((W=r==null?void 0:r.numberAxisFormat)==null?void 0:W.decimalPlaces)||0,useSuffix:!!((L=r==null?void 0:r.numberAxisFormat)!=null&&L.suffix),customSuffix:"",locale:((M=r==null?void 0:r.numberAxisFormat)==null?void 0:M.locale)||"",currency:((H=r==null?void 0:r.numberAxisFormat)==null?void 0:H.currency)||""});let z=0;return $!==void 0&&(z=Number((T/$*100).toFixed(2))),V+($!==void 0?` | Conversion: ${z}%`:"")}}}}},_=Vn(b,E),S=Vn(_,h);return delete S.scales,{type:o,data:{labels:m,datasets:u},options:S,plugins:[...d]}}function lpe({data:e,cfg:t,customCfg:n,preferences:r}){var _,S;const o=tpe(t),i=cpe(e),s=Cl(i,n),{plugins:a,options:l}=gy((r==null?void 0:r.customVisualCode)||""),c=Vn((o==null?void 0:o.options)||{},(t==null?void 0:t.options)||{}),u=Vn(c,(r==null?void 0:r.chartOptions)||{}),d=Vn(u,(n==null?void 0:n.options)||{}),h={...d,plugins:{...d==null?void 0:d.plugins,tooltip:{...(_=d==null?void 0:d.plugins)==null?void 0:_.tooltip,callbacks:{label:function(C){if(Array.isArray(C.raw)&&C.raw.every(R=>R===null))return null}}}}},p=Vn(h,l),m=bL(t,r),g=Vn(p,m),b={...g,plugins:{...g==null?void 0:g.plugins,datalabels:{...(S=g==null?void 0:g.plugins)==null?void 0:S.datalabels,formatter:(C,R)=>C.map(D=>{var I,P,A,F;return or({number:Number(D),decimalPlaces:((I=r==null?void 0:r.numberAxisFormat)==null?void 0:I.decimalPlaces)||0,useSuffix:!!((P=r==null?void 0:r.numberAxisFormat)!=null&&P.suffix),customSuffix:"",locale:((A=r==null?void 0:r.numberAxisFormat)==null?void 0:A.locale)||"",currency:((F=r==null?void 0:r.numberAxisFormat)==null?void 0:F.currency)||""})}).slice(0,2).join(" - ")}}},{keys:y}=un(e),v=y[0];return{type:"bar",data:{labels:[...new Set(ep(e,v))],datasets:s},options:b,plugins:[...a]}}function cpe(e){var h,p,m,g;const{keys:t}=un(e),n=t.slice(0,2),r=t.slice(2),o=re.getState().themeStyle,i=(p=(h=o==null?void 0:o.chart)==null?void 0:h.dataset)==null?void 0:p.backgroundColor,s=(g=(m=o==null?void 0:o.chart)==null?void 0:m.dataset)==null?void 0:g.borderColor,a=n[1],l=n[0],c=[...new Set(e.map(b=>b==null?void 0:b[l]))];return[...new Set(e.map(b=>b==null?void 0:b[a]))].map((b,y)=>{const v=e.filter(_=>(_==null?void 0:_[a])===b),E=c.map(_=>{const S=v.filter(C=>(C==null?void 0:C[l])===_);return S.length===0?[[null,null,null]]:S.map(C=>[C==null?void 0:C[r[0]],C==null?void 0:C[r[1]],C==null?void 0:C[r[2]],_])}).flat();return{label:b,data:E,backgroundColor:i==null?void 0:i[y%i.length],borderColor:s==null?void 0:s[y%s.length],borderSkipped:!1}})}function upe({data:e,cfg:t,customCfg:n,preferences:r,cardType:o}){var x;const i=Jhe(t),{keys:s}=un(e),a=L0({dataArray:e,groupKey:s[0],pivotKey:s[1],valueKey:s[2]}),{keys:l}=un(a),c=l.slice(1),u=Y5(c,a,r),d=Cl(u,n),h=l[0],p=ep(a,h),{options:m,plugins:g}=hb({cardType:o,cfg:i,preferences:r,customCfg:n}),b={type:(n==null?void 0:n.type)||(i==null?void 0:i.type)||"bar",data:{labels:p,datasets:d},options:m,plugins:g},y="x2";return{...b,data:{...b.data,datasets:b.data.datasets.map((E,_)=>_===1?{...E,xAxisID:y}:E)},options:{...b.options,scales:{...(x=b==null?void 0:b.options)==null?void 0:x.scales,[y]:{beginAtZero:!0,stack:1}}}}}function E_({card:e,data:t,cardType:n="bar",cfg:r,customCfg:o,provider:i="chartjs",userSettings:s,preferences:a,topoJson:l,queryConfig:c}){var m,g,b,y,v,x,E,_;const u=e.config;let d=t;const h=u&&u.pivotByColumns&&u.pivotByColumns.length>0,p=u&&u.groupByColumns&&u.groupByColumns.length>0;if(h&&p&&(d=Xie(t,(u==null?void 0:u.metricColumns)||[])),n==="map"){if(!l)return null;const S=(m=a==null?void 0:a.mapVisualOptions)==null?void 0:m.objectKey;if(!S)return null;const C=Uhe(l,(g=l==null?void 0:l.objects)==null?void 0:g[S]).features;if(!C)return null;const R={plugins:{datalabels:{display:!1}},scales:{x:{display:!1,grid:{display:!1}},y:{display:!1,grid:{display:!1}},projection:{axis:"x",projection:((b=a==null?void 0:a.mapVisualOptions)==null?void 0:b.projection)||"mercator",projectionScale:((y=a==null?void 0:a.mapVisualOptions)==null?void 0:y.projectionScale)||1,projectionOffset:((v=a==null?void 0:a.mapVisualOptions)==null?void 0:v.projectionOffset)||[0,0]},color:{axis:"x",interpolate:((x=a==null?void 0:a.mapVisualOptions)==null?void 0:x.colorScale)||"blues",quantize:5,legend:{position:"bottom-right",align:"right"}}}},{keys:N}=un(d),D=C.map(O=>{var j;const $=N==null?void 0:N[0],V=N==null?void 0:N[1],z=(j=d.find(W=>(W==null?void 0:W[$])===O.properties.NAME||(W==null?void 0:W[$])===O.properties.name))==null?void 0:j[V];return{feature:O,value:z}}),P=Cl([{label:S,data:D,borderColor:"lightgray"}],o),A={type:"choropleth",data:{labels:C.map(O=>O.properties.NAME||O.properties.name),datasets:P},options:R},{options:F}=hb({cfg:A,preferences:a,customCfg:o,cardType:n});return{...A,options:F}}if(n==="bar"){const S=epe(r);return Mc({card:e,data:d,cfg:S,customCfg:o,cardType:n,preferences:a})}if(n==="horizontalBar"){const S=Zhe(r);return Mc({card:e,data:d,cfg:S,customCfg:o,cardType:n,preferences:a})}if(n==="funnel")return ape({data:d,cfg:r,customCfg:o,preferences:a,cardType:n});if(n==="tornado"||n==="pyramid")return upe({data:d,cfg:r,customCfg:o,preferences:a,cardType:n});if(n==="stackedBar"||n==="stackedLine"){const S=npe(r,n),{keys:C}=un(d);return(!h||!p)&&(d=L0({dataArray:d,groupKey:C[0],pivotKey:C[1],valueKey:C[2],sortChart:a==null?void 0:a.sortChart})),Mc({card:e,data:d,cfg:S,customCfg:o,cardType:n,preferences:a})}if(n==="line"){const S=rpe(r);return Mc({card:e,data:d,cfg:S,customCfg:o,cardType:n,preferences:a})}if(n==="range")return lpe({data:d,cfg:r,customCfg:o,preferences:a});if(n==="pie"||n==="doughnut"||n==="polarArea"){const S=ope(n,r),{keys:C}=un(d),R=C.slice(0,1),N=C.slice(1),D=K5(N,d),I=Cl(D,o),{plugins:P,options:A}=gy((a==null?void 0:a.customVisualCode)||""),F=R[0],T=ep(d,F),O=Vn((S==null?void 0:S.options)||{},(o==null?void 0:o.options)||{}),$=Vn(O,(a==null?void 0:a.chartOptions)||{}),V={...$,plugins:{...$.plugins,datalabels:{...(E=$.plugins)==null?void 0:E.datalabels,formatter:(M,H)=>{var B,G,q,Y;return or({number:Number(M),decimalPlaces:((B=a==null?void 0:a.numberAxisFormat)==null?void 0:B.decimalPlaces)||0,useSuffix:!!((G=a==null?void 0:a.numberAxisFormat)!=null&&G.suffix),customSuffix:"",locale:((q=a==null?void 0:a.numberAxisFormat)==null?void 0:q.locale)||"",currency:((Y=a==null?void 0:a.numberAxisFormat)==null?void 0:Y.currency)||""})}},tooltip:{...(_=$.plugins)==null?void 0:_.tooltip,callbacks:{label:function(M){var K,Z,ne,Q;M.dataset.label;const B=M.dataset.data.reduce((ie,te)=>ie+te,0),G=M.parsed,q=or({number:Number(G),decimalPlaces:((K=a==null?void 0:a.numberAxisFormat)==null?void 0:K.decimalPlaces)||0,useSuffix:!!((Z=a==null?void 0:a.numberAxisFormat)!=null&&Z.suffix),customSuffix:"",locale:((ne=a==null?void 0:a.numberAxisFormat)==null?void 0:ne.locale)||"",currency:((Q=a==null?void 0:a.numberAxisFormat)==null?void 0:Q.currency)||""}),Y=(G/B*100).toFixed(2);return q+` (${Y}%)`}}}}},z=Vn($,V),j=Vn(z,A);return{type:n,data:{labels:T,datasets:I},options:j,plugins:[n==="doughnut"?{id:"doughnutLabel",beforeDatasetsDraw:function(M,H,B){var te,ue,de,Re;const{ctx:G,data:q}=M;G.save();const Y=M.getDatasetMeta(0).data[0].x,K=M.getDatasetMeta(0).data[0].y,Z=Pu(Yf()),ne=window.getComputedStyle(G.canvas).fontFamily;G.font=`1em ${ne}`,G.fontWeight="bolder",G.fillStyle=Z,G.textAlign="center",G.textBaseline="middle";const Q=q.datasets[0].data.reduce((xe,Se)=>xe+Se,0),ie=or({number:Number(Q),decimalPlaces:((te=a==null?void 0:a.numberAxisFormat)==null?void 0:te.decimalPlaces)||0,useSuffix:!!((ue=a==null?void 0:a.numberAxisFormat)!=null&&ue.suffix),customSuffix:"",locale:((de=a==null?void 0:a.numberAxisFormat)==null?void 0:de.locale)||"",currency:((Re=a==null?void 0:a.numberAxisFormat)==null?void 0:Re.currency)||""});G.fillText(ie,Y,K)}}:"",...P]}}if(n==="radar"){const S=ipe(r);return Mc({card:e,data:d,cfg:S,customCfg:o,cardType:n,preferences:a})}if(n==="bubble"||n==="scatter"){const{metricKeys:S}=un(d),C=JZ(d,n),R=Cl(C,o),N=spe(r,n,S),{options:D}=hb({cardType:n,cfg:N,preferences:a,customCfg:o});return{type:n,data:{datasets:R},options:D}}return Mc({card:e,data:d,cfg:r,customCfg:o,cardType:n,preferences:a})}function dpe({chart:e,elementIndex:t,datasetIndex:n,cardType:r,cfg:o,apply:i}){const s=re.getState().theme;if(!o)return;const a=s==="dark"?"rgb(238,238,238,0.2)":"rgb(238,238,238,0.8)";["bar","line","horizontalBar","bubble","scatter"].includes(r)&&hpe(e,t,o,i,a),["pie","doughnut","polarArea","funnel"].includes(r)&&ppe(e,t,o,i,a),["stackedBar","pyramid"].includes(r)&&fpe({chart:e,elementIndex:t,datasetIndex:n,cfg:o,apply:i,blurColor:a})}function fpe(e){var a,l,c,u;const{chart:t,elementIndex:n,datasetIndex:r,cfg:o,apply:i,blurColor:s}=e;i?(l=(a=t==null?void 0:t.data)==null?void 0:a.datasets)==null||l.forEach((d,h)=>{var p,m;typeof d.backgroundColor=="string"&&(d.backgroundColor=new Array(d.data.length).fill(d.backgroundColor),d.borderColor=new Array(d.data.length).fill(d.borderColor)),d.backgroundColor=(p=d==null?void 0:d.backgroundColor)==null?void 0:p.map((g,b)=>b===n&&h===r?g:s),d.borderColor=(m=d==null?void 0:d.borderColor)==null?void 0:m.map((g,b)=>b===n&&h===r?g:s)}):(u=(c=t==null?void 0:t.data)==null?void 0:c.datasets)==null||u.forEach((d,h)=>{var p,m,g,b,y,v;d.backgroundColor=new Array(d.data.length).fill((g=(m=(p=o==null?void 0:o.data)==null?void 0:p.datasets)==null?void 0:m[h])==null?void 0:g.backgroundColor),d.borderColor=new Array(d.data.length).fill((v=(y=(b=o==null?void 0:o.data)==null?void 0:b.datasets)==null?void 0:y[h])==null?void 0:v.borderColor)}),t==null||t.update()}function hpe(e,t,n,r,o){var i,s,a,l;r?(s=(i=e==null?void 0:e.data)==null?void 0:i.datasets)==null||s.forEach(c=>{var u,d;typeof c.backgroundColor=="string"&&(c.backgroundColor=new Array(c.data.length).fill(c.backgroundColor),c.borderColor=new Array(c.data.length).fill(c.borderColor)),c.backgroundColor=(u=c==null?void 0:c.backgroundColor)==null?void 0:u.map((h,p)=>p===t?h:o),c.borderColor=(d=c==null?void 0:c.borderColor)==null?void 0:d.map((h,p)=>p===t?h:o)}):(l=(a=e==null?void 0:e.data)==null?void 0:a.datasets)==null||l.forEach((c,u)=>{var d,h,p,m,g,b;c.backgroundColor=new Array(c.data.length).fill((p=(h=(d=n==null?void 0:n.data)==null?void 0:d.datasets)==null?void 0:h[u])==null?void 0:p.backgroundColor),c.borderColor=new Array(c.data.length).fill((b=(g=(m=n==null?void 0:n.data)==null?void 0:m.datasets)==null?void 0:g[u])==null?void 0:b.borderColor)}),e==null||e.update()}function ppe(e,t,n,r,o){var i,s,a,l;r?(s=(i=e==null?void 0:e.data)==null?void 0:i.datasets)==null||s.forEach(c=>{var u,d;c.backgroundColor=(u=c==null?void 0:c.backgroundColor)==null?void 0:u.map((h,p)=>p===t?h:o),c.borderColor=(d=c==null?void 0:c.borderColor)==null?void 0:d.map((h,p)=>p===t?h:o)}):(l=(a=e==null?void 0:e.data)==null?void 0:a.datasets)==null||l.forEach((c,u)=>{var d,h,p,m,g,b,y,v;typeof c.backgroundColor=="string"&&(c.backgroundColor=(p=(h=(d=n==null?void 0:n.data)==null?void 0:d.datasets)==null?void 0:h[u])==null?void 0:p.backgroundColor,c.borderColor=(b=(g=(m=n==null?void 0:n.data)==null?void 0:m.datasets)==null?void 0:g[u])==null?void 0:b.borderColor),c.backgroundColor=(y=c==null?void 0:c.backgroundColor)==null?void 0:y.map((x,E)=>{var _;return(_=n.data.datasets[u].backgroundColor)==null?void 0:_[E]}),c.borderColor=(v=c==null?void 0:c.borderColor)==null?void 0:v.map((x,E)=>{var _;return(_=n.data.datasets[u].borderColor)==null?void 0:_[E]})}),e==null||e.update()}function mpe({card:e,data:t,datasetIndex:n,clickIndex:r,value:o}){var i,s,a,l,c,u,d;try{if(!t)return;const{keys:h}=un(t);if(e.type==="map"){const p=h[0],m=((s=(i=o==null?void 0:o.feature)==null?void 0:i.properties)==null?void 0:s.name)||((l=(a=o==null?void 0:o.feature)==null?void 0:a.properties)==null?void 0:l.NAME);return[{columnName:p,columnValue:m}]}if(["bar","horizontalBar","line","pie","doughnut","radar","polarArea","funnel"].includes(e.type)){const p=h[0],m=h.slice(1),g=(c=t[r])==null?void 0:c[p];return[{columnName:p,columnValue:g,metric:m[n],value:o}]}if(["stackedBar","pyramid"].includes(e.type)){const p=L0({dataArray:t,groupKey:h[0],pivotKey:h[1],valueKey:h[2]}),m=h[0],g=(u=p[r])==null?void 0:u[m],b=h[1],{keys:y}=un(p),x=y.slice(1)[n];return[{columnName:m,columnValue:g,metric:h[2],value:o},{columnName:b,columnValue:x,metric:h[2],value:o}]}if(e.type==="bubble"||e.type==="scatter"){const p=h[0],m=(d=t[n])==null?void 0:d[p];return console.log(o,"bubble"),[{columnName:p,columnValue:m,metric1:h[1],value1:o.x,metric2:h[2],value2:o.y,metric3:h==null?void 0:h[3],value3:o==null?void 0:o.r}]}}catch(h){console.error("Error in getAdhocFilter",h)}}function gpe(e,t){var r,o;if((((r=e.data.datasets)==null?void 0:r.filter(i=>!!i.fill))||[]).length>0){const i=(o=e==null?void 0:e.data.datasets)==null?void 0:o.map(a=>({...a,backgroundColor:[a.backgroundColor].map(l=>{const c=t.createLinearGradient(0,0,0,400);return c.addColorStop(0,l),c.addColorStop(.7,Kie("--semaphor-background")),c})}));return{...e,data:{...e.data,datasets:i}}}return e}function h6(e){var a,l,c,u,d,h;const t=(((l=(a=e.preferences)==null?void 0:a.mapVisualOptions)==null?void 0:l.topoJsonUrl)==="custom"?(u=(c=e.preferences)==null?void 0:c.mapVisualOptions)==null?void 0:u.customTopoJsonUrl:(h=(d=e.preferences)==null?void 0:d.mapVisualOptions)==null?void 0:h.topoJsonUrl)||"",n=!!t&&e.type==="map",{data:r,isLoading:o,isFetching:i,isError:s}=Tn({queryKey:["topojson",t],queryFn:()=>fetch(t).then(p=>p.json()),enabled:n,staleTime:1/0});return{data:r,isLoading:o,isFetching:i,isError:s}}function bpe(e){var s,a;const[t]=k.useState({id:"",title:"",type:"bar"}),{getCard:n}=on(),r=n(e),o=p6(r||t),i={...r,data:((s=o==null?void 0:o.data)==null?void 0:s.records)||[]};return{...o,data:((a=o==null?void 0:o.data)==null?void 0:a.records)||[],card:i}}function p6(e){var I;const{onChartElementClicked:t}=ar(),[n,r]=k.useState(0),o=re(P=>P.themeStyle),i=re(P=>P.filteringCards),s=re(P=>P.selectedSheetId),a=re(P=>P.selectedLensId),l=re(P=>P.filterValues),c=k.useRef(l),u=(I=e==null?void 0:e.preferences)==null?void 0:I.onClickFilter,{addFilteringCard:d,addOrUpdateFilterValues:h,removeFilterValues:p,removeFilteringCard:m}=on(),{data:g,isLoading:b,isFetching:y,isError:v,isPending:x,queryKey:E,isFilteringCard:_,isSingleCardFrame:S}=No(e),{data:C}=h6(e);let R;R=k.useMemo(()=>{if(!(!(g!=null&&g.records)||!(g!=null&&g.records.length)))return E_({card:e,data:g==null?void 0:g.records,cardType:e.type,queryConfig:e.queryConfig,customCfg:e.customCfg,preferences:e.preferences,topoJson:C})},[g==null?void 0:g.records,e,C,o]);const N=k.useRef({filteringCards:i});k.useEffect(()=>{e.connectionId&&!_&&(c.current=l)},[l,a,e.connectionId,_]),k.useEffect(()=>{var A;_&&(N.current.filteringCards=[...i||[]]),!_&&((A=N.current.filteringCards)==null?void 0:A.find(F=>F.id===e.id))&&S&&r(F=>F+1)},[_,S,e.id,i]);function D(P,A,F,T){var V;let O=!1;if(!(g!=null&&g.records))return;const $=mpe({card:e,data:g==null?void 0:g.records,datasetIndex:A,clickIndex:F,value:T});if(console.log("fieldValues",$),t==null||t(e,$),!!(((V=e==null?void 0:e.preferences)==null?void 0:V.onClickFilter)??[]).length){if(_){const z=e.id;p(z),m(e)}else{if(O=!0,!$)return;const z=[];$.forEach((j,W)=>{const L=u==null?void 0:u.find(H=>H.columnIndex===W);if(!L)return;const M={filterId:e.id+"-"+j.columnName+"-"+s,connectionId:e==null?void 0:e.connectionId,tableName:e.lastSelectedTable,name:j.columnName,expression:L.expression,valueType:v0($[L.columnIndex].columnValue),operation:"=",values:[$[L.columnIndex].columnValue]};z.push(M)}),h(z),d(e)}dpe({chart:P,elementIndex:F,datasetIndex:A,cardType:e.type,cfg:R,apply:O})}}return{isPending:x,isError:v,isLoading:b,isFetching:y,data:g,visualKey:n,handleDatapointClick:D,cfg:R,queryKey:E}}function Ci({children:e,containerClassName:t,className:n,text:r,onSave:o,type:i="input",placeholder:s,enabled:a}){const[l,c]=k.useState(!1),[u,d]=k.useState(r),h=re(y=>y.isDashboardEditing);k.useEffect(()=>{d(y=>y!==r?r:y)},[r]);const p=y=>{y.stopPropagation(),h&&c(!0)};function m(y){if(y.stopPropagation(),y.key==="Escape"){c(!1);return}y.key==="Enter"&&y.shiftKey||(y.key==="Enter"||y.key==="Tab")&&(c(!1),o(u))}function g(){return i==="textarea"?f.jsx("textarea",{className:oe("resize rounded-sm bg-background px-2 py-1 text-sm outline-[0.5px] outline-muted",n),onChange:y=>d(y.target.value),value:u,autoFocus:!0,placeholder:s,onBlur:()=>c(!1),onKeyDown:m}):f.jsx("input",{onMouseDown:y=>y.stopPropagation(),type:"text",className:oe("rounded-sm bg-background outline-none",n),onChange:y=>d(y.target.value),value:u,autoFocus:!0,placeholder:s,onBlur:()=>c(!1),onKeyDown:m})}function b(){return a?f.jsxs("div",{className:"flex grow items-center gap-2",children:[f.jsx("div",{children:l?g():e}),!l&&f.jsx(A5,{onClick:()=>c(!0),className:"hidden size-3 cursor-pointer text-muted-foreground group-hover/editable:block"})]}):e}return f.jsx("div",{className:oe("flex",t),role:"editable",onDoubleClick:p,onMouseDown:y=>y.stopPropagation(),children:f.jsx("div",{className:"group/editable flex grow items-center gap-2",children:b()})})}function __(e){const{authToken:t}=ar(),n=OG(t==null?void 0:t.accessToken);function r(){var i,s,a,l,c,u;if((s=(i=e.preferences)==null?void 0:i.formatNumber)!=null&&s.currency&&((l=(a=e.preferences)==null?void 0:a.formatNumber)==null?void 0:l.currency)!=="none")return n!=null&&n.currency?n==null?void 0:n.currency:(u=(c=e.preferences)==null?void 0:c.formatNumber)==null?void 0:u.currency}function o(){var i,s,a,l,c,u;return(s=(i=e.preferences)==null?void 0:i.formatNumber)!=null&&s.locale&&((l=(a=e.preferences)==null?void 0:a.formatNumber)==null?void 0:l.locale)!=="none"?n!=null&&n.locale?n==null?void 0:n.locale:(u=(c=e.preferences)==null?void 0:c.formatNumber)==null?void 0:u.locale:navigator.language||"en-US"}return{getCurrency:r,getLocale:o}}var ype="Toggle",m6=w.forwardRef((e,t)=>{const{pressed:n,defaultPressed:r=!1,onPressedChange:o,...i}=e,[s=!1,a]=ir({prop:n,onChange:o,defaultProp:r});return f.jsx(_e.button,{type:"button","aria-pressed":s,"data-state":s?"on":"off","data-disabled":e.disabled?"":void 0,...i,ref:t,onClick:fe(e.onClick,()=>{e.disabled||a(!s)})})});m6.displayName=ype;var g6=m6;const vpe=$0("inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent hover:bg-accent hover:text-accent-foreground"},size:{default:"h-10 px-3",sm:"h-9 px-2.5",lg:"h-11 px-5"}},defaultVariants:{variant:"default",size:"default"}}),xd=w.forwardRef(({className:e,variant:t,size:n,...r},o)=>f.jsx(g6,{ref:o,className:oe(vpe({variant:t,size:n,className:e})),...r}));xd.displayName=g6.displayName;var xpe=w.forwardRef((e,t)=>{const{children:n,...r}=e,o=w.Children.toArray(n),i=o.find(wpe);if(i){const s=i.props.children,a=o.map(l=>l===i?w.Children.count(s)>1?w.Children.only(null):w.isValidElement(s)?s.props.children:null:l);return f.jsx(VC,{...r,ref:t,children:w.isValidElement(s)?w.cloneElement(s,void 0,a):null})}return f.jsx(VC,{...r,ref:t,children:n})});xpe.displayName="Slot";var VC=w.forwardRef((e,t)=>{const{children:n,...r}=e;if(w.isValidElement(n)){const o=Spe(n),i=Cpe(r,n.props);return n.type!==w.Fragment&&(i.ref=t?wr(t,o):o),w.cloneElement(n,i)}return w.Children.count(n)>1?w.Children.only(null):null});VC.displayName="SlotClone";var b6=({children:e})=>f.jsx(f.Fragment,{children:e});function wpe(e){return w.isValidElement(e)&&e.type===b6}function Cpe(e,t){const n={...t};for(const r in t){const o=e[r],i=t[r];/^on[A-Z]/.test(r)?o&&i?n[r]=(...a)=>{i(...a),o(...a)}:o&&(n[r]=o):r==="style"?n[r]={...o,...i}:r==="className"&&(n[r]=[o,i].filter(Boolean).join(" "))}return{...e,...n}}function Spe(e){var r,o;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var[ky,a3e]=Mn("Tooltip",[$i]),Ry=$i(),y6="TooltipProvider",Epe=700,HC="tooltip.open",[_pe,k_]=ky(y6),R_=e=>{const{__scopeTooltip:t,delayDuration:n=Epe,skipDelayDuration:r=300,disableHoverableContent:o=!1,children:i}=e,[s,a]=w.useState(!0),l=w.useRef(!1),c=w.useRef(0);return w.useEffect(()=>{const u=c.current;return()=>window.clearTimeout(u)},[]),f.jsx(_pe,{scope:t,isOpenDelayed:s,delayDuration:n,onOpen:w.useCallback(()=>{window.clearTimeout(c.current),a(!1)},[]),onClose:w.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>a(!0),r)},[r]),isPointerInTransitRef:l,onPointerInTransitChange:w.useCallback(u=>{l.current=u},[]),disableHoverableContent:o,children:i})};R_.displayName=y6;var Ny="Tooltip",[kpe,Ep]=ky(Ny),v6=e=>{const{__scopeTooltip:t,children:n,open:r,defaultOpen:o=!1,onOpenChange:i,disableHoverableContent:s,delayDuration:a}=e,l=k_(Ny,e.__scopeTooltip),c=Ry(t),[u,d]=w.useState(null),h=_n(),p=w.useRef(0),m=s??l.disableHoverableContent,g=a??l.delayDuration,b=w.useRef(!1),[y=!1,v]=ir({prop:r,defaultProp:o,onChange:C=>{C?(l.onOpen(),document.dispatchEvent(new CustomEvent(HC))):l.onClose(),i==null||i(C)}}),x=w.useMemo(()=>y?b.current?"delayed-open":"instant-open":"closed",[y]),E=w.useCallback(()=>{window.clearTimeout(p.current),p.current=0,b.current=!1,v(!0)},[v]),_=w.useCallback(()=>{window.clearTimeout(p.current),p.current=0,v(!1)},[v]),S=w.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{b.current=!0,v(!0),p.current=0},g)},[g,v]);return w.useEffect(()=>()=>{p.current&&(window.clearTimeout(p.current),p.current=0)},[]),f.jsx(mp,{...c,children:f.jsx(kpe,{scope:t,contentId:h,open:y,stateAttribute:x,trigger:u,onTriggerChange:d,onTriggerEnter:w.useCallback(()=>{l.isOpenDelayed?S():E()},[l.isOpenDelayed,S,E]),onTriggerLeave:w.useCallback(()=>{m?_():(window.clearTimeout(p.current),p.current=0)},[_,m]),onOpen:E,onClose:_,disableHoverableContent:m,children:n})})};v6.displayName=Ny;var WC="TooltipTrigger",N_=w.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,o=Ep(WC,n),i=k_(WC,n),s=Ry(n),a=w.useRef(null),l=Ve(t,a,o.onTriggerChange),c=w.useRef(!1),u=w.useRef(!1),d=w.useCallback(()=>c.current=!1,[]);return w.useEffect(()=>()=>document.removeEventListener("pointerup",d),[d]),f.jsx(hd,{asChild:!0,...s,children:f.jsx(_e.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...r,ref:l,onPointerMove:fe(e.onPointerMove,h=>{h.pointerType!=="touch"&&!u.current&&!i.isPointerInTransitRef.current&&(o.onTriggerEnter(),u.current=!0)}),onPointerLeave:fe(e.onPointerLeave,()=>{o.onTriggerLeave(),u.current=!1}),onPointerDown:fe(e.onPointerDown,()=>{c.current=!0,document.addEventListener("pointerup",d,{once:!0})}),onFocus:fe(e.onFocus,()=>{c.current||o.onOpen()}),onBlur:fe(e.onBlur,o.onClose),onClick:fe(e.onClick,o.onClose)})})});N_.displayName=WC;var D_="TooltipPortal",[Rpe,Npe]=ky(D_,{forceMount:void 0}),x6=e=>{const{__scopeTooltip:t,forceMount:n,children:r,container:o}=e,i=Ep(D_,t);return f.jsx(Rpe,{scope:t,forceMount:n,children:f.jsx(fn,{present:n||i.open,children:f.jsx(pc,{asChild:!0,container:o,children:r})})})};x6.displayName=D_;var Ku="TooltipContent",w6=w.forwardRef((e,t)=>{const n=Npe(Ku,e.__scopeTooltip),{forceMount:r=n.forceMount,side:o="top",...i}=e,s=Ep(Ku,e.__scopeTooltip);return f.jsx(fn,{present:r||s.open,children:s.disableHoverableContent?f.jsx(C6,{side:o,...i,ref:t}):f.jsx(Dpe,{side:o,...i,ref:t})})}),Dpe=w.forwardRef((e,t)=>{const n=Ep(Ku,e.__scopeTooltip),r=k_(Ku,e.__scopeTooltip),o=w.useRef(null),i=Ve(t,o),[s,a]=w.useState(null),{trigger:l,onClose:c}=n,u=o.current,{onPointerInTransitChange:d}=r,h=w.useCallback(()=>{a(null),d(!1)},[d]),p=w.useCallback((m,g)=>{const b=m.currentTarget,y={x:m.clientX,y:m.clientY},v=jpe(y,b.getBoundingClientRect()),x=Tpe(y,v),E=Ape(g.getBoundingClientRect()),_=Fpe([...x,...E]);a(_),d(!0)},[d]);return w.useEffect(()=>()=>h(),[h]),w.useEffect(()=>{if(l&&u){const m=b=>p(b,u),g=b=>p(b,l);return l.addEventListener("pointerleave",m),u.addEventListener("pointerleave",g),()=>{l.removeEventListener("pointerleave",m),u.removeEventListener("pointerleave",g)}}},[l,u,p,h]),w.useEffect(()=>{if(s){const m=g=>{const b=g.target,y={x:g.clientX,y:g.clientY},v=(l==null?void 0:l.contains(b))||(u==null?void 0:u.contains(b)),x=!Ope(y,s);v?h():x&&(h(),c())};return document.addEventListener("pointermove",m),()=>document.removeEventListener("pointermove",m)}},[l,u,s,c,h]),f.jsx(C6,{...e,ref:i})}),[Mpe,Ppe]=ky(Ny,{isInside:!1}),C6=w.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":o,onEscapeKeyDown:i,onPointerDownOutside:s,...a}=e,l=Ep(Ku,n),c=Ry(n),{onClose:u}=l;return w.useEffect(()=>(document.addEventListener(HC,u),()=>document.removeEventListener(HC,u)),[u]),w.useEffect(()=>{if(l.trigger){const d=h=>{const p=h.target;p!=null&&p.contains(l.trigger)&&u()};return window.addEventListener("scroll",d,{capture:!0}),()=>window.removeEventListener("scroll",d,{capture:!0})}},[l.trigger,u]),f.jsx(hc,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:i,onPointerDownOutside:s,onFocusOutside:d=>d.preventDefault(),onDismiss:u,children:f.jsxs(gp,{"data-state":l.stateAttribute,...c,...a,ref:t,style:{...a.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[f.jsx(b6,{children:r}),f.jsx(Mpe,{scope:n,isInside:!0,children:f.jsx(uoe,{id:l.contentId,role:"tooltip",children:o||r})})]})})});w6.displayName=Ku;var S6="TooltipArrow",Ipe=w.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,o=Ry(n);return Ppe(S6,n).isInside?null:f.jsx(bp,{...o,...r,ref:t})});Ipe.displayName=S6;function jpe(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(n,r,o,i)){case i:return"left";case o:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function Tpe(e,t,n=5){const r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function Ape(e){const{top:t,right:n,bottom:r,left:o}=e;return[{x:o,y:t},{x:n,y:t},{x:n,y:r},{x:o,y:r}]}function Ope(e,t){const{x:n,y:r}=e;let o=!1;for(let i=0,s=t.length-1;i<t.length;s=i++){const a=t[i].x,l=t[i].y,c=t[s].x,u=t[s].y;l>r!=u>r&&n<(c-a)*(r-l)/(u-l)+a&&(o=!o)}return o}function Fpe(e){const t=e.slice();return t.sort((n,r)=>n.x<r.x?-1:n.x>r.x?1:n.y<r.y?-1:n.y>r.y?1:0),Lpe(t)}function Lpe(e){if(e.length<=1)return e.slice();const t=[];for(let r=0;r<e.length;r++){const o=e[r];for(;t.length>=2;){const i=t[t.length-1],s=t[t.length-2];if((i.x-s.x)*(o.y-s.y)>=(i.y-s.y)*(o.x-s.x))t.pop();else break}t.push(o)}t.pop();const n=[];for(let r=e.length-1;r>=0;r--){const o=e[r];for(;n.length>=2;){const i=n[n.length-1],s=n[n.length-2];if((i.x-s.x)*(o.y-s.y)>=(i.y-s.y)*(o.x-s.x))n.pop();else break}n.push(o)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var $pe=R_,zpe=v6,Bpe=N_,E6=w6;const Dy=$pe,xa=zpe,wa=Bpe,Ql=w.forwardRef(({className:e,sideOffset:t=4,...n},r)=>f.jsx(E6,{ref:r,sideOffset:t,className:oe("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...n}));Ql.displayName=E6.displayName;function aI({value:e,displayTitle:t=!0,onSave:n,placeholder:r="No value",inputClassName:o,displayClassName:i,isEditable:s=!0}){const[a,l]=k.useState(!1),[c,u]=k.useState(e||""),d=()=>{l(!1),c!==e&&n(c)},h=p=>{p.key==="Enter"?(l(!1),n(c)):p.key==="Escape"&&(l(!1),u(e||""))};return a?f.jsx("div",{className:"flex",children:f.jsx("input",{type:"text",value:c,onChange:p=>u(p.target.value),onBlur:d,onKeyDown:h,className:oe("w-full border-b border-dashed focus:border-primary focus:outline-none",o),autoFocus:!0})}):f.jsx("div",{className:oe("cursor-pointer truncate",i,{"cursor-default":!s,"hover:text-primary":s}),onClick:()=>{s&&(l(!0),u(e||""))},title:t?e||r:void 0,children:e||f.jsx("span",{className:"text-muted-foreground",children:r})})}function _6({children:e,className:t,...n}){return f.jsx(x6,{children:f.jsx(Jo,{children:f.jsx(Ql,{...n,className:t,children:e})})})}const Vpe={"currentPeriod.start":{icon:f.jsx(eD,{className:"h-3 w-3 text-blue-500"}),label:"Current Start"},"currentPeriod.end":{icon:f.jsx(eD,{className:"h-3 w-3 text-blue-500"}),label:"Current End"},"comparisonPeriod.start":{icon:f.jsx(Tu,{className:"h-3 w-3 text-gray-500"}),label:"Previous Start"},"comparisonPeriod.end":{icon:f.jsx(Tu,{className:"h-3 w-3 text-gray-500"}),label:"Previous End"},trendlineGranularity:{icon:f.jsx(C5,{className:"h-3 w-3 text-green-500"}),label:"Data Period"},trendlineWindow:{icon:f.jsx(k5,{className:"h-3 w-3 text-purple-500"}),label:"Time Range"}},Hpe=(e,t,n)=>e>t?f.jsx($l,{className:`h-3 w-3 ${n?"text-green-500":"text-red-500"}`}):e<t?f.jsx(T0,{className:`h-3 w-3 ${n?"text-green-500":"text-red-500"}`}):f.jsx($l,{className:"h-3 w-3 text-gray-500"}),Wpe=(e,t)=>e>t?f.jsx(T0,{className:"h-3 w-3 text-gray-500"}):e<t?f.jsx($l,{className:"h-3 w-3 text-gray-500"}):f.jsx($l,{className:"h-3 w-3 text-gray-500"}),Upe=(e,t,n)=>e>t?f.jsx(H1,{className:`h-3 w-3 ${n?"text-green-500":"text-red-500"}`}):e<t?f.jsx(B5,{className:`h-3 w-3 ${n?"text-green-500":"text-red-500"}`}):f.jsx(H1,{className:"h-3 w-3 text-gray-500"}),qpe=(e,t)=>e.filter(n=>n.segment==="meta").filter(n=>!(!t&&(n.key==="trendlineGranularity"||n.key==="trendlineWindow"))),Tx=({label:e,value:t,icon:n,formatCurrency:r})=>f.jsxs("div",{className:"flex items-center justify-between",children:[f.jsxs("div",{className:"flex items-center gap-1",children:[n,f.jsxs("span",{children:[e,":"]})]}),f.jsx("span",{className:"font-mono",children:r(t)})]}),Gpe=({metaKey:e,value:t})=>{const n=Vpe[e];return n?f.jsxs("div",{className:"flex items-center justify-between gap-4",children:[f.jsxs("div",{className:"flex items-center gap-1",children:[n.icon,f.jsxs("span",{children:[n.label,":"]})]}),f.jsx("span",{className:"font-mono",children:t})]}):f.jsxs("div",{className:"flex items-center justify-between gap-4",children:[f.jsxs("div",{className:"flex items-center gap-1",children:[f.jsx(F0,{className:"h-3 w-3"}),f.jsxs("span",{children:[e,":"]})]}),f.jsx("span",{className:"font-mono",children:t})]})},Ype=({currentValue:e,comparisonValue:t,isPositive:n,formatCurrency:r})=>f.jsxs("div",{className:"space-y-1",children:[f.jsx(Tx,{label:"Current",value:e,icon:Hpe(e,t,n),formatCurrency:r}),f.jsx(Tx,{label:"Previous",value:t,icon:Wpe(e,t),formatCurrency:r}),f.jsx(Tx,{label:"Change",value:e-t,icon:Upe(e,t,n),formatCurrency:r})]}),Kpe=({data:e,showTrendline:t})=>{const n=qpe(e,t);return n.length===0?null:f.jsxs("div",{className:"border-t pt-2",children:[f.jsxs("div",{className:"mb-2 flex items-center gap-1 font-semibold",children:[f.jsx(Tu,{className:"h-3 w-3"}),"Period Details"]}),f.jsx("div",{className:"space-y-1",children:n.map((r,o)=>f.jsx(Gpe,{metaKey:r.key,value:r.value},o))})]})};function Xpe({currentValue:e,comparisonValue:t,isPositive:n,data:r,formatCurrency:o,showTrendline:i=!1}){return f.jsx(_6,{side:"right",className:"max-w-fit",children:f.jsxs("div",{className:"space-y-2 text-xs",children:[f.jsxs("div",{className:"flex items-center gap-1 font-semibold",children:[f.jsx(C5,{className:"h-3 w-3"}),"Key Metrics"]}),f.jsx(Ype,{currentValue:e,comparisonValue:t,isPositive:n,formatCurrency:o}),f.jsx(Kpe,{data:r,showTrendline:i})]})})}var Qpe="Separator",lI="horizontal",Zpe=["horizontal","vertical"],k6=w.forwardRef((e,t)=>{const{decorative:n,orientation:r=lI,...o}=e,i=Jpe(r)?r:lI,a=n?{role:"none"}:{"aria-orientation":i==="vertical"?i:void 0,role:"separator"};return f.jsx(_e.div,{"data-orientation":i,...a,...o,ref:t})});k6.displayName=Qpe;function Jpe(e){return Zpe.includes(e)}var R6=k6;const Ca=w.forwardRef(({className:e,orientation:t="horizontal",decorative:n=!0,...r},o)=>f.jsx(R6,{ref:o,decorative:n,orientation:t,className:oe("shrink-0 bg-border",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...r}));Ca.displayName=R6.displayName;function N6({colorRanges:e,setColorRanges:t}){const n={start:-1/0,end:100,color:""};function r(s,a,l){const c=[...e];c[s]={...c[s],[a]:l},t(c)}function o(s){const a=[...e];a.splice(s,1),t(a)}function i(){t([...e,n])}return f.jsxs("div",{className:"space-y-3",children:[f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx(ce,{children:"Color Range"}),f.jsx(Ce,{onClick:i,variant:"secondary",className:"h-5 p-1 text-muted-foreground",children:f.jsx(Ss,{className:"size-3"})})]}),e.map((s,a)=>f.jsxs("div",{className:"flex items-center gap-2 px-2",children:[f.jsx(On,{onChange:l=>r(a,"start",l.target.value),value:s.start,className:oe(`h-7 ${hs}`)}),f.jsx("span",{children:"-"}),f.jsx(On,{value:s.end,onChange:l=>r(a,"end",l.target.value),className:oe(`h-7 ${hs}`)}),f.jsx(On,{onChange:l=>r(a,"color",l.target.value),value:s.color,className:oe(`h-7 min-w-14 p-0 ${hs}`),type:"color",list:"presetColors"}),f.jsxs("datalist",{id:"presetColors",children:[f.jsx("option",{children:Pt.green[600]}),f.jsx("option",{children:Pt.red[500]}),f.jsx("option",{children:Pt.yellow[400]}),f.jsx("option",{children:Pt.orange[500]})]}),f.jsx(Ce,{onClick:()=>o(a),variant:"secondary",className:"h-5 p-1 text-muted-foreground",children:f.jsx(xr,{className:"size-3"})})]},a))]})}function D6(){var c,u,d,h,p;const e=me(m=>m.card.preferences),t=me(m=>m.actions.setCardPreferences),n=me(m=>m.card.mode),r=me(m=>m.actions.setNumberFormat);me(m=>{var g,b;return(b=(g=m.card.preferences)==null?void 0:g.formatNumber)==null?void 0:b.decimalPlaces});const o=me(m=>{var g,b;return(b=(g=m.card.preferences)==null?void 0:g.formatNumber)==null?void 0:b.locale}),i=me(m=>{var g,b;return(b=(g=m.card.preferences)==null?void 0:g.formatNumber)==null?void 0:b.currency});me(m=>m.actions.setFilterOnClickField);const s=me(m=>{var g,b;return(b=(g=m.card.preferences)==null?void 0:g.formatNumber)==null?void 0:b.colorRanges})||[],a=me(m=>m.actions.setColorRanges),l=[...new Set(Gf.map(m=>m.currency))];return f.jsxs("div",{children:[n!=="explorer"&&f.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[f.jsx(sr,{checked:!!((c=e==null?void 0:e.formatNumber)!=null&&c.enabled),onCheckedChange:m=>{t({...e,formatNumber:{...e==null?void 0:e.formatNumber,enabled:m}})}}),f.jsx(ce,{children:"Format Number"})]}),(((u=e==null?void 0:e.formatNumber)==null?void 0:u.enabled)===!0||n==="explorer")&&f.jsxs("div",{className:"flex flex-col gap-2",children:[f.jsx("div",{children:f.jsxs("div",{className:"space-y-4",children:[f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsxs("div",{className:"w-full space-y-1",children:[f.jsx(ce,{children:"Locale"}),f.jsxs(Et,{value:o||"none",onValueChange:m=>{var g,b,y;return r(((g=e==null?void 0:e.formatNumber)==null?void 0:g.decimalPlaces)||0,((b=e==null?void 0:e.formatNumber)==null?void 0:b.currency)||"",m,((y=e==null?void 0:e.formatNumber)==null?void 0:y.suffix)||"")},children:[f.jsx(xt,{className:"col-span-6 h-8 w-full focus:ring-1 focus:ring-offset-0",children:f.jsx(_t,{})}),f.jsx(wt,{children:f.jsxs(Vs,{children:[f.jsx(ns,{children:"Format"}),f.jsx(be,{value:"none",children:"Auto"},"none"),Gf.map(m=>f.jsx(be,{value:m.locale,children:m.locale},m.locale))]})})]})]}),f.jsxs("div",{className:"w-full space-y-1",children:[f.jsx(ce,{children:"Currency"}),f.jsxs(Et,{value:i||"none",onValueChange:m=>{var g,b,y;console.log("currency",m),r(((g=e==null?void 0:e.formatNumber)==null?void 0:g.decimalPlaces)||0,m==="none"?"":m,((b=e==null?void 0:e.formatNumber)==null?void 0:b.locale)||"",((y=e==null?void 0:e.formatNumber)==null?void 0:y.suffix)||"")},children:[f.jsx(xt,{className:"col-span-6 h-8 w-full focus:ring-1 focus:ring-offset-0",children:f.jsx(_t,{})}),f.jsx(wt,{children:f.jsxs(Vs,{children:[f.jsx(ns,{children:"Currency"}),f.jsx(be,{value:"none",children:"None"},"none"),l.map(m=>f.jsx(be,{value:m,children:m},m))]})})]})]})]}),f.jsxs("div",{className:"flex gap-2",children:[f.jsxs("div",{className:"w-full space-y-1",children:[f.jsx(ce,{children:"Decimals"}),f.jsxs(Et,{value:((h=(d=e==null?void 0:e.formatNumber)==null?void 0:d.decimalPlaces)==null?void 0:h.toString())||"0",onValueChange:m=>{var g,b,y;return r(Number(m),((g=e==null?void 0:e.formatNumber)==null?void 0:g.currency)||"",((b=e==null?void 0:e.formatNumber)==null?void 0:b.locale)||"",((y=e==null?void 0:e.formatNumber)==null?void 0:y.suffix)||"")},children:[f.jsx(xt,{className:"col-span-3 h-8 w-full focus:ring-1 focus:ring-offset-0",children:f.jsx(_t,{})}),f.jsx(wt,{children:["0","1","2","3","4"].map(m=>f.jsx(be,{value:m,children:m},m))})]})]}),f.jsxs("div",{className:"w-full space-y-1",children:[f.jsx(ce,{children:"Suffix"}),f.jsx(On,{value:((p=e==null?void 0:e.formatNumber)==null?void 0:p.suffix)||"",className:"h-8 font-mono text-xs focus-visible:ring-0 focus-visible:ring-ring focus-visible:ring-offset-0",placeholder:"K, M, B, %",onChange:m=>{var g,b,y;return r(((g=e==null?void 0:e.formatNumber)==null?void 0:g.decimalPlaces)||0,((b=e==null?void 0:e.formatNumber)==null?void 0:b.currency)||"",((y=e==null?void 0:e.formatNumber)==null?void 0:y.locale)||"",m.target.value)}})]})]})]})}),f.jsx(Ca,{className:"my-3"}),f.jsx(N6,{colorRanges:s,setColorRanges:a})]})]})}function eme(){return f.jsxs(Da,{children:[f.jsx(Ma,{asChild:!0,children:f.jsx(Ce,{className:"size-7",variant:"ghost",size:"icon",children:f.jsx(ia,{className:"size-3"})})}),f.jsx(_s,{className:"w-80",children:f.jsx(D6,{})})]})}function tme({card:e,data:t,isPending:n}){var v,x,E,_,S,C;const r=re(R=>R.isVisualEditing),{setCardTitle:o,setCardDescription:i,setLowerIsBetter:s}=Wn(),{getCurrency:a,getLocale:l}=__(e),c=R=>{var N,D,I,P,A,F;return or({number:R,decimalPlaces:((D=(N=e.preferences)==null?void 0:N.formatNumber)==null?void 0:D.decimalPlaces)||0,useSuffix:!!((P=(I=e.preferences)==null?void 0:I.formatNumber)!=null&&P.suffix),customSuffix:((F=(A=e.preferences)==null?void 0:A.formatNumber)==null?void 0:F.suffix)||"",locale:l()||"en-US",currency:a()||""})},u=R=>{var N,D,I,P;return or({number:R,decimalPlaces:((D=(N=e.preferences)==null?void 0:N.formatNumber)==null?void 0:D.decimalPlaces)||0,useSuffix:!0,customSuffix:((P=(I=e.preferences)==null?void 0:I.formatNumber)==null?void 0:P.suffix)||"",locale:l()||"en-US",currency:a()||""})},d=(R,N)=>(R-N)/N*100,h=((v=t==null?void 0:t.find(R=>R.segment==="current"))==null?void 0:v.value)||0,p=((x=t==null?void 0:t.find(R=>R.segment==="comparison"))==null?void 0:x.value)||0,m=d(h,p),g=(_=(E=e.preferences)==null?void 0:E.kpiVisualOptions)==null?void 0:_.lowerIsBetter,b=g?m<0:m>0;if(n)return f.jsxs(Qg,{className:"grow border-none shadow-none",children:[f.jsx(Iu,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:f.jsx(ua,{className:"text-sm font-medium text-gray-600",children:e.title})}),f.jsx(Jf,{children:f.jsxs("div",{className:"animate-pulse",children:[f.jsx("div",{className:"mb-2 h-8 rounded bg-gray-200"}),f.jsx("div",{className:"h-4 w-3/4 rounded bg-gray-200"})]})})]});function y(){return e.title?e.title:r?"Enter title":""}return f.jsx(Dy,{children:f.jsxs(Qg,{className:"flex grow flex-col border-none shadow-none",children:[f.jsx(Iu,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:f.jsx(ua,{className:"text-base font-medium text-gray-600",children:f.jsx(aI,{displayClassName:"text-base font-medium text-gray-600",inputClassName:"text-base font-medium text-gray-600",value:y(),isEditable:r,onSave:o})})}),f.jsxs(Jf,{className:"w-full grow pb-4",children:[f.jsxs("div",{className:"flex items-baseline space-x-2",children:[f.jsx("div",{className:"text-2xl font-bold text-gray-900",children:((S=e==null?void 0:e.kpiPreferences)==null?void 0:S.format)==="compact"?u(h):c(h)}),f.jsxs(xa,{children:[f.jsx(wa,{asChild:!0,children:f.jsxs("div",{className:"flex cursor-pointer items-center space-x-1 rounded px-1 py-0.5 transition-colors hover:bg-gray-50",children:[h>p?f.jsx($l,{className:`h-3 w-3 ${b?"text-green-500":"text-red-500"}`}):h<p?f.jsx(T0,{className:`h-3 w-3 ${b?"text-green-500":"text-red-500"}`}):f.jsx($l,{className:"h-3 w-3 text-gray-500"}),f.jsxs("span",{className:`text-sm font-medium ${b?"text-green-600":"text-red-600"}`,children:[Math.abs(m).toFixed(1),"%"]})]})}),f.jsx(Xpe,{currentValue:h,comparisonValue:p,percentageChange:m,isPositive:b,data:t,formatCurrency:c,showTrendline:((C=e.config)==null?void 0:C.showTrendline)||!1})]})]}),f.jsx("div",{className:"mt-1",children:f.jsx(aI,{isEditable:r,value:e.description||"vs last month",displayClassName:"text-sm text-gray-500",inputClassName:"text-sm text-gray-500",onSave:i})}),r&&f.jsxs("div",{className:"mt-2 flex items-center justify-end gap-1",children:[f.jsx(eme,{}),f.jsxs(xd,{pressed:g===!0,className:"h-7",variant:"outline",onPressedChange:R=>s(R),children:[g?f.jsx(B5,{className:"mr-2 h-4 w-4"}):f.jsx(H1,{className:"mr-2 h-4 w-4"}),f.jsx("span",{children:g?"Lower is better":"Higher is better"})]})]})]})]})})}function nme({card:e,data:t,isPending:n}){var S,C,R,N,D,I,P,A,F,T,O,$,V,z,j,W,L,M;const r=re(H=>H.actions.setCardTitle),o=re(H=>H.actions.setCardDescription),i=re(H=>H.isVisualEditing),s=me(H=>H.card),a=me(H=>H.actions.setCard);me(H=>H.actions.setNumberFormat);const{getCurrency:l,getLocale:c}=__(e),u=re(H=>H.selectedSheetId),d=(C=(S=e.preferences)==null?void 0:S.formatNumber)==null?void 0:C.colorRanges,{keys:h}=un(t),p=(R=t==null?void 0:t[0])==null?void 0:R[h==null?void 0:h[0]],m=(N=t==null?void 0:t[0])==null?void 0:N[h==null?void 0:h[1]],g=t&&t.length>0;function b(H){i?a({...s,title:H}):r(u,e.id,H)}function y(H){i?a({...s,description:H}):o(u,e.id,H)}const v=m&&m-p!==0?(p-m)/m:null,x=or({number:p,decimalPlaces:((I=(D=e.preferences)==null?void 0:D.formatNumber)==null?void 0:I.decimalPlaces)||0,useSuffix:!!((A=(P=e.preferences)==null?void 0:P.formatNumber)!=null&&A.suffix),customSuffix:((T=(F=e.preferences)==null?void 0:F.formatNumber)==null?void 0:T.suffix)||"",locale:c()||"",currency:l()||""});let E="";m&&(E=or({number:m,decimalPlaces:(($=(O=e.preferences)==null?void 0:O.formatNumber)==null?void 0:$.decimalPlaces)||0,useSuffix:!!((z=(V=e.preferences)==null?void 0:V.formatNumber)!=null&&z.suffix),customSuffix:((W=(j=e.preferences)==null?void 0:j.formatNumber)==null?void 0:W.suffix)||"",locale:c()||"",currency:l()||""}));const _=Y2(p,d);return f.jsx(rme,{isPending:n,title:e.title,formattedCurrentValue:x,formattedPreviousValue:E,description:e.description,valueColor:_,onTitleChange:b,onDescriptionChange:y,percentDifference:v,isLowerIsBetter:(M=(L=e.preferences)==null?void 0:L.kpiVisualOptions)==null?void 0:M.lowerIsBetter,show:g})}function Fb({card:e,data:t,isPending:n}){return e.mode==="explorer"?f.jsx("div",{className:"flex h-full min-h-0 grow overflow-auto",children:f.jsx(tme,{card:e,data:t,isPending:n})}):f.jsx(nme,{card:e,data:t,isPending:n})}function rme({title:e,formattedCurrentValue:t,formattedPreviousValue:n,description:r,valueColor:o,onTitleChange:i,onDescriptionChange:s,percentDifference:a,show:l,isPending:c,isLowerIsBetter:u}){const d=re(g=>g.isDashboardEditing),h=re(g=>g.isVisualEditing),p=me(g=>g.card);me(g=>g.actions.setCard);let m=r||"";return h&&(m=r||"from description"),f.jsxs("div",{className:"kpi-card flex grow flex-col overflow-auto",children:[f.jsxs(Iu,{className:"grow pb-3",children:[f.jsx(Ci,{className:"text-base font-medium tracking-tight text-muted-foreground",enabled:d,text:h?p.title:e,onSave:i,children:f.jsx("div",{className:"flex items-center gap-2",children:f.jsx(ua,{className:"text-base font-medium text-muted-foreground",children:e})})}),c&&f.jsxs("div",{className:"space-y-2",children:[f.jsx(ps,{className:"h-4 w-3/4"}),f.jsx(ps,{className:"h-4 w-1/2"})]}),l&&f.jsxs("div",{className:"2 flex flex-wrap items-end text-foreground",children:[f.jsx("p",{style:{color:o},className:"text-3xl font-semibold",children:t}),n&&f.jsxs("span",{className:"min-w-fit -translate-y-[1px] text-base font-normal text-muted-foreground",children:["  from  ",n]})]})]}),a&&f.jsxs("div",{className:"flex grow items-center gap-1 px-6 pb-4 text-sm",children:[f.jsx(M6,{isLowerIsBetter:u,children:a}),f.jsxs("div",{className:"flex gap-1 text-muted-foreground",children:[a>0?"up ":"down ",f.jsx(Ci,{enabled:d,text:m,onSave:s,children:m})]}),h&&f.jsx("div",{className:"ml-auto",children:f.jsx(ome,{})})]})]})}function M6({children:e,className:t,isLowerIsBetter:n}){const r=re(a=>a.themeStyle),o=e>0?f.jsx("span",{children:"+"}):f.jsx("span",{children:"-"}),i=`${Math.abs(e*100).toFixed(0)}%`,s=n?e<0:e>0;return f.jsxs("div",{style:{borderRadius:(r==null?void 0:r.controlInputRadius)||"2px"},className:oe("flex items-center px-1 text-sm font-semibold",{"bg-green-600/10 text-green-600":s,"bg-destructive/10 text-destructive":!s},t),children:[o,f.jsx("span",{className:"ml-[1px]",children:i})]})}function ome(){const e=me(n=>{var r,o;return(o=(r=n.card.preferences)==null?void 0:r.kpiVisualOptions)==null?void 0:o.lowerIsBetter}),{setLowerIsBetter:t}=Wn();return f.jsx("div",{className:"flex items-center gap-1",children:f.jsx(xd,{pressed:e===!0,className:"h-7",variant:"outline",onPressedChange:n=>t(n),children:f.jsx("span",{children:"Lower is better"})})})}var Ax,M_="HoverCard",[P6,l3e]=Mn(M_,[$i]),My=$i(),[ime,Py]=P6(M_),I6=e=>{const{__scopeHoverCard:t,children:n,open:r,defaultOpen:o,onOpenChange:i,openDelay:s=700,closeDelay:a=300}=e,l=My(t),c=w.useRef(0),u=w.useRef(0),d=w.useRef(!1),h=w.useRef(!1),[p=!1,m]=ir({prop:r,defaultProp:o,onChange:i}),g=w.useCallback(()=>{clearTimeout(u.current),c.current=window.setTimeout(()=>m(!0),s)},[s,m]),b=w.useCallback(()=>{clearTimeout(c.current),!d.current&&!h.current&&(u.current=window.setTimeout(()=>m(!1),a))},[a,m]),y=w.useCallback(()=>m(!1),[m]);return w.useEffect(()=>()=>{clearTimeout(c.current),clearTimeout(u.current)},[]),f.jsx(ime,{scope:t,open:p,onOpenChange:m,onOpen:g,onClose:b,onDismiss:y,hasSelectionRef:d,isPointerDownOnContentRef:h,children:f.jsx(mp,{...l,children:n})})};I6.displayName=M_;var j6="HoverCardTrigger",T6=w.forwardRef((e,t)=>{const{__scopeHoverCard:n,...r}=e,o=Py(j6,n),i=My(n);return f.jsx(hd,{asChild:!0,...i,children:f.jsx(_e.a,{"data-state":o.open?"open":"closed",...r,ref:t,onPointerEnter:fe(e.onPointerEnter,$b(o.onOpen)),onPointerLeave:fe(e.onPointerLeave,$b(o.onClose)),onFocus:fe(e.onFocus,o.onOpen),onBlur:fe(e.onBlur,o.onClose),onTouchStart:fe(e.onTouchStart,s=>s.preventDefault())})})});T6.displayName=j6;var P_="HoverCardPortal",[sme,ame]=P6(P_,{forceMount:void 0}),A6=e=>{const{__scopeHoverCard:t,forceMount:n,children:r,container:o}=e,i=Py(P_,t);return f.jsx(sme,{scope:t,forceMount:n,children:f.jsx(fn,{present:n||i.open,children:f.jsx(pc,{asChild:!0,container:o,children:r})})})};A6.displayName=P_;var Lb="HoverCardContent",O6=w.forwardRef((e,t)=>{const n=ame(Lb,e.__scopeHoverCard),{forceMount:r=n.forceMount,...o}=e,i=Py(Lb,e.__scopeHoverCard);return f.jsx(fn,{present:r||i.open,children:f.jsx(lme,{"data-state":i.open?"open":"closed",...o,onPointerEnter:fe(e.onPointerEnter,$b(i.onOpen)),onPointerLeave:fe(e.onPointerLeave,$b(i.onClose)),ref:t})})});O6.displayName=Lb;var lme=w.forwardRef((e,t)=>{const{__scopeHoverCard:n,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:i,onInteractOutside:s,...a}=e,l=Py(Lb,n),c=My(n),u=w.useRef(null),d=Ve(t,u),[h,p]=w.useState(!1);return w.useEffect(()=>{if(h){const m=document.body;return Ax=m.style.userSelect||m.style.webkitUserSelect,m.style.userSelect="none",m.style.webkitUserSelect="none",()=>{m.style.userSelect=Ax,m.style.webkitUserSelect=Ax}}},[h]),w.useEffect(()=>{if(u.current){const m=()=>{p(!1),l.isPointerDownOnContentRef.current=!1,setTimeout(()=>{var b;((b=document.getSelection())==null?void 0:b.toString())!==""&&(l.hasSelectionRef.current=!0)})};return document.addEventListener("pointerup",m),()=>{document.removeEventListener("pointerup",m),l.hasSelectionRef.current=!1,l.isPointerDownOnContentRef.current=!1}}},[l.isPointerDownOnContentRef,l.hasSelectionRef]),w.useEffect(()=>{u.current&&dme(u.current).forEach(g=>g.setAttribute("tabindex","-1"))}),f.jsx(hc,{asChild:!0,disableOutsidePointerEvents:!1,onInteractOutside:s,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:fe(i,m=>{m.preventDefault()}),onDismiss:l.onDismiss,children:f.jsx(gp,{...c,...a,onPointerDown:fe(a.onPointerDown,m=>{m.currentTarget.contains(m.target)&&p(!0),l.hasSelectionRef.current=!1,l.isPointerDownOnContentRef.current=!0}),ref:d,style:{...a.style,userSelect:h?"text":void 0,WebkitUserSelect:h?"text":void 0,"--radix-hover-card-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-hover-card-content-available-width":"var(--radix-popper-available-width)","--radix-hover-card-content-available-height":"var(--radix-popper-available-height)","--radix-hover-card-trigger-width":"var(--radix-popper-anchor-width)","--radix-hover-card-trigger-height":"var(--radix-popper-anchor-height)"}})})}),cme="HoverCardArrow",ume=w.forwardRef((e,t)=>{const{__scopeHoverCard:n,...r}=e,o=My(n);return f.jsx(bp,{...o,...r,ref:t})});ume.displayName=cme;function $b(e){return t=>t.pointerType==="touch"?void 0:e()}function dme(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});for(;n.nextNode();)t.push(n.currentNode);return t}var fme=I6,hme=T6,F6=O6;const Iy=fme,jy=hme,_p=w.forwardRef(({className:e,align:t="center",sideOffset:n=4,...r},o)=>f.jsx(F6,{ref:o,align:t,sideOffset:n,className:oe("z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...r}));_p.displayName=F6.displayName;function L6({card:e}){const t=re(r=>r.isDashboardEditing),{setCardInfo:n}=on();return f.jsxs(Iy,{openDelay:0,children:[f.jsx(jy,{children:f.jsx(F0,{className:"size-4 text-muted-foreground/40"})}),f.jsx(_p,{align:"start",className:"w-[300px] text-sm text-muted-foreground",onMouseDown:r=>r.stopPropagation(),children:f.jsx(Ci,{enabled:t,type:"textarea",text:e.info||"",onSave:r=>n(e.id,r),children:e.info||"Describe what this card shows"})})]})}function pme({card:e,renderFilterInfo:t}){var m,g,b,y,v,x,E,_,S,C,R,N,D,I,P,A,F,T;re(O=>O.themeStyle);const{data:n,isLoading:r}=No(e),o=(n==null?void 0:n.records)||[],i=re(O=>O.isDashboardEditing),{getCurrency:s,getLocale:a}=__(e),l=(g=(m=e.preferences)==null?void 0:m.formatNumber)==null?void 0:g.colorRanges,{keys:c}=un(o||[]),u=(b=o==null?void 0:o[0])==null?void 0:b[c==null?void 0:c[0]],d=(y=o==null?void 0:o[0])==null?void 0:y[c==null?void 0:c[1]],h=(o==null?void 0:o.length)>0,p=d&&d-u!==0?(u-d)/d:null;return f.jsx("div",{className:"flex min-w-fit grow flex-col overflow-auto",children:f.jsxs("div",{className:"grow",children:[h?f.jsx("div",{className:"",children:f.jsxs("div",{className:oe("flex items-end gap-1.5",{"animate-pulse":r}),children:[f.jsx("p",{style:{color:Y2(u,l)},className:"text-3xl font-semibold",children:or({number:u,decimalPlaces:((x=(v=e.preferences)==null?void 0:v.formatNumber)==null?void 0:x.decimalPlaces)||0,useSuffix:!!((_=(E=e.preferences)==null?void 0:E.formatNumber)!=null&&_.suffix),customSuffix:((C=(S=e.preferences)==null?void 0:S.formatNumber)==null?void 0:C.suffix)||"",locale:a()||"",currency:s()||""})}),p&&f.jsxs("div",{className:"flex items-end gap-1",children:[f.jsx(M6,{isLowerIsBetter:(N=(R=e.preferences)==null?void 0:R.kpiVisualOptions)==null?void 0:N.lowerIsBetter,className:"",children:p}),d&&f.jsx("div",{className:"ml-0.5 mr-1 min-w-fit text-sm font-normal text-muted-foreground",children:`from ${or({number:d,decimalPlaces:((I=(D=e.preferences)==null?void 0:D.formatNumber)==null?void 0:I.decimalPlaces)||0,useSuffix:!!((A=(P=e.preferences)==null?void 0:P.formatNumber)!=null&&A.suffix),customSuffix:((T=(F=e.preferences)==null?void 0:F.formatNumber)==null?void 0:T.suffix)||"",locale:a()||"",currency:s()||""})}`})]})]})}):f.jsx("div",{className:"flex h-9 items-center justify-center"}),f.jsxs("div",{className:"flex items-center gap-3",children:[f.jsxs(ua,{className:"flex items-center gap-2 text-base font-medium text-muted-foreground",children:[e.title,(i||e.info)&&f.jsx(L6,{card:e})]}),t==null?void 0:t()]})]})})}function zb({card:e,isLoading:t,data:n}){var h,p;const r=n||[],{keys:o}=un(r),i=re(m=>m.selectedSheetId),s=re(m=>m.isVisualEditing),a=(p=(h=e==null?void 0:e.preferences)==null?void 0:h.textVisualOptions)==null?void 0:p.isDynamicText,{setCardDescription:l}=on(),{setCard:c}=Wn();function u(){var y;if(t)return f.jsxs("div",{className:"space-y-2",children:[f.jsx(ps,{className:"h-3 w-full animate-pulse bg-muted"}),f.jsx(ps,{className:"h-3 w-3/4 animate-pulse bg-muted"}),f.jsx(ps,{className:"h-3 w-1/2 animate-pulse bg-muted"})]});const g=(y=r==null?void 0:r[0])==null?void 0:y[o[0]],b=f.jsx("div",{dangerouslySetInnerHTML:{__html:g}});return f.jsx("div",{className:"text-sm text-foreground/80 hover:cursor-text",onMouseDown:v=>v.stopPropagation(),children:b})}function d(){let m=(e==null?void 0:e.description)||"";return s&&(m=e.description||"Add content"),f.jsx("div",{onMouseDown:g=>g.stopPropagation(),children:f.jsx(Ci,{enabled:!0,type:"textarea",className:"w-full rounded-md bg-muted",text:m,onSave:g=>{s===!1&&l(i,e.id,g),s===!0&&c({...e,description:g})},children:f.jsx("div",{className:"text-sm text-foreground/70 hover:cursor-text",dangerouslySetInnerHTML:{__html:m}})})})}return f.jsxs(f.Fragment,{children:[!a&&d(),a===!0&&u()]})}const mme=$0("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}}),So=w.forwardRef(({className:e,variant:t,...n},r)=>f.jsx("div",{ref:r,className:oe(mme({variant:t}),e),...n}));So.displayName="Badge";const $6=rc(e=>({activeId:null,insertIndex:null,previewGroupByColumns:[],previewMetricColumns:[],previewPivotColumns:[],previewFilterColumns:[],actions:{setActiveId:t=>e({activeId:t}),setInsertIndex:t=>e({insertIndex:t}),setPreviewGroupByColumns:t=>e({previewGroupByColumns:t}),setPreviewMetricColumns:t=>e({previewMetricColumns:t}),setPreviewFilterColumns:t=>e({previewFilterColumns:t}),setPreviewPivotColumns:t=>e({previewPivotColumns:t})}})),gme=()=>$6(e=>e.actions),cI={selectedEntities:[]},I_=rc()(sE(e=>({currentAIContext:cI,actions:{setCurrentAIContext:t=>{e(n=>{n.currentAIContext=t})},updateSelectedEntities:t=>{e(n=>{n.currentAIContext.selectedEntities=t})},clearAIContext:()=>{e(t=>{t.currentAIContext=cI})},mergeAIContext:t=>{e(n=>{n.currentAIContext={...n.currentAIContext,...t}})}}}))),j_=()=>I_(e=>e.currentAIContext),T_=()=>I_(e=>e.actions);function bme({children:e,className:t,...n}){return f.jsx(A6,{children:f.jsx(Jo,{children:f.jsx(_p,{...n,className:t,children:e})})})}function yme({cardId:e}){const t=s2(e||""),n=ro(l=>l.removeClickFiltersByValue),r=t.map((l,c)=>{const u=l.filterGroups.flatMap(d=>d.filters.map(h=>({field:h.field.label||h.field.name,value:h.value})));return{id:`click-filter-${l.sourceCardId}-${c}`,sourceCardId:l.sourceCardId,name:`Click Filter from ${l.sourceCardId}`,values:u,applyToCardIds:l.applyToCardIds,excludeCardIds:l.excludeCardIds,originalEvent:l}}),o=r.reduce((l,c)=>(c.values.forEach(u=>{var h,p;const d=l.find(m=>m.fieldName===u.field);d?d.filters.some(g=>g.values.some(b=>b.field===u.field&&b.value===u.value))||d.filters.push(c):l.push({fieldName:u.field,fieldLabel:u.field,filters:[c],targetingInfo:(h=c.applyToCardIds)!=null&&h.length?`Applied to: ${c.applyToCardIds.join(", ")}`:(p=c.excludeCardIds)!=null&&p.length?`Excluded from: ${c.excludeCardIds.join(", ")}`:"Applied to all cards"})}),l),[]);function i(l,c){const u=r.filter(d=>d.values.some(h=>h.field===l&&h.value===c));if(u.length>0){const h=u.sort((p,m)=>{const g=t.findIndex(y=>$o(y,p.originalEvent));return t.findIndex(y=>$o(y,m.originalEvent))-g})[0];n(h.sourceCardId,l,c)}}function s(l){const c=r.flatMap(d=>d.values.filter(h=>h.field===l)).map(d=>d.value);[...new Set(c)].forEach(d=>{i(l,d)})}function a(l){const c=l.filters.flatMap(h=>h.values.filter(p=>p.field===l.fieldName)).map(h=>h.value),u=[...new Set(c)],d=u.filter(h=>{const g=l.filters.filter(v=>v.values.some(x=>x.field===l.fieldName&&x.value===h)).sort((v,x)=>{const E=t.findIndex(S=>$o(S,v.originalEvent));return t.findIndex(S=>$o(S,x.originalEvent))-E})[0];return t.findIndex(v=>$o(v,g.originalEvent))===t.length-1});return f.jsxs("div",{className:"space-y-3 rounded-lg border border-blue-100 bg-blue-50/50 p-3 dark:border-blue-900 dark:bg-blue-900/50",children:[f.jsxs("div",{className:"flex items-center justify-between",children:[f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx("div",{className:"h-2 w-2 flex-shrink-0 rounded-full bg-blue-500"}),f.jsx(ce,{className:"text-sm font-medium",children:l.fieldLabel})]}),f.jsxs(Ce,{variant:"ghost",size:"sm",onClick:()=>s(l.fieldName),className:"h-6 px-2 text-xs text-blue-600 hover:bg-red-50 hover:text-red-600 dark:text-blue-400 dark:hover:bg-red-950 dark:hover:text-red-400",children:[f.jsx(uc,{className:"mr-1 h-3 w-3"}),"Clear Field"]})]}),f.jsxs("div",{className:"space-y-2",children:[f.jsx("div",{className:"flex flex-wrap gap-1",children:u.map((h,p)=>{const m=d.includes(h);return f.jsxs(So,{variant:"secondary",className:`group relative cursor-default ${m?"bg-blue-100 text-blue-800 hover:bg-blue-200 dark:bg-blue-900 dark:text-blue-200 dark:hover:bg-blue-800":"cursor-not-allowed bg-gray-100 text-gray-500 dark:bg-gray-800 dark:text-gray-400"}`,onClick:()=>{m&&i(l.fieldName,h)},children:[h,f.jsx(xr,{className:`ml-1 h-3 w-3 ${m?"cursor-pointer":"cursor-not-allowed opacity-50"}`})]},p)})}),u.length>1&&f.jsx("div",{className:"text-xs text-blue-600 dark:text-blue-400",children:'Clear filters in sequence (most recent first) or use "Clear Field" to remove all'})]})]})}return o.length===0?null:f.jsxs("div",{className:"space-y-3",children:[f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx(uZ,{className:"size-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Click Filters"})]}),f.jsx("div",{className:"space-y-2",children:o==null?void 0:o.map(l=>f.jsx("div",{children:a(l)},l.fieldName))})]})}function uI({cardId:e}){const t=re(P=>P.isDashboardEditing),n=re(P=>P.dashboard.defaultFilterValues),r=re(P=>P.themeStyle),o=re(P=>P.filterValues),i=re(P=>P.dashboard.filters),s=re(P=>P.filteringCards),a=re(P=>P.selectedSheetId),l=re(P=>P.onSaveFunction),{removeFilterValues:c,removeFilteringCard:u,setFilterValues:d,setFilteringCards:h,setDefaultFilterValues:p,getDashboard:m}=on(),g=ro(P=>P.clearAllClickFilters),b=i==null?void 0:i.filter(P=>P.sheetId===a||!P.sheetId),y=o==null?void 0:o.filter(P=>(b==null?void 0:b.some(A=>A.id===P.filterId))||P.filterId.endsWith(a)),v=(y==null?void 0:y.map(P=>{const A=i==null?void 0:i.find(F=>F.id===P.filterId);return{filterId:P.filterId,fieldName:(A==null?void 0:A.title)||P.name,fieldLabel:(A==null?void 0:A.title)||P.name,values:P.values,dataType:A==null?void 0:A.dataType,operation:A==null?void 0:A.operation,isDateFilter:oc((A==null?void 0:A.dataType)||"")}}))||[],x=s2(e||"");if(v.length===0&&x.length===0)return null;const E=v.length+x.length;function _(P){return P instanceof Date?P.toLocaleDateString():P}function S(P){const A=s==null?void 0:s.find(F=>P.filterId.startsWith(F.id));A&&u(A),c(P.filterId)}function C(P){v.filter(F=>F.fieldName===P).forEach(F=>{S(F)})}function R(){h([]),d([]),g()}function N(P){function A(){return P.values.map((T,O)=>f.jsxs(So,{variant:"secondary",className:"group relative cursor-default bg-indigo-100 text-indigo-800 hover:bg-indigo-200 dark:bg-indigo-900 dark:text-indigo-200 dark:hover:bg-indigo-800",onClick:()=>S(P),children:[_(T),f.jsx(xr,{className:"ml-1 h-3 w-3 cursor-pointer"})]},(T==null?void 0:T.toString())+O))}function F(){const T=P.values[0],O=P.values[1];if(!T||!O)return null;const $=new Date(T),V=new Date(O);return f.jsxs(So,{variant:"secondary",className:"group relative cursor-pointer hover:bg-secondary/80",onClick:()=>S(P),children:[`${$.toLocaleDateString()} - ${V.toLocaleDateString()}`,f.jsx(xr,{className:"ml-1 h-3 w-3 opacity-0 transition-opacity group-hover:opacity-100"})]})}return f.jsxs("div",{className:"space-y-3 rounded-lg border border-indigo-100 bg-indigo-50/50 p-3 dark:border-indigo-900 dark:bg-indigo-900/50",children:[f.jsxs("div",{className:"flex items-center justify-between",children:[f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx("div",{className:"h-2 w-2 flex-shrink-0 rounded-full bg-indigo-500"}),f.jsx(ce,{className:"text-sm font-medium",children:P.fieldLabel}),!P.isDateFilter&&P.operation==="not in"&&f.jsx(So,{variant:"destructive",className:"text-xs",children:hE(P.operation)})]}),f.jsxs(Ce,{variant:"ghost",size:"sm",onClick:()=>C(P.fieldName),className:"h-6 px-2 text-xs text-indigo-600 hover:bg-red-50 hover:text-red-600 dark:text-indigo-400 dark:hover:bg-red-950 dark:hover:text-red-400",children:[f.jsx(uc,{className:"mr-1 h-3 w-3"}),"Clear Field"]})]}),f.jsx("div",{className:"flex flex-wrap gap-1",children:P.isDateFilter?F():A()})]})}function D(P){const A=m();A&&(l==null||l(A,P))}function I(){return f.jsxs(f.Fragment,{children:[f.jsx(Ca,{}),f.jsxs("div",{className:"space-y-3",children:[f.jsx("p",{className:"text-xs text-muted-foreground",children:"Start with these filters? Set them as default."}),f.jsxs("div",{className:"flex flex-row-reverse gap-2",children:[f.jsxs(Ce,{onClick:()=>{p(o||[]),D("Default filters saved successfully")},style:{borderRadius:r==null?void 0:r.controlInputRadius},className:"h-7 text-xs",variant:"outline",children:[n&&(n==null?void 0:n.length)>0&&f.jsx(Vr,{className:"mr-2 size-3.5 text-green-500"}),"Set Dashboard Default"]}),f.jsx(Ce,{onClick:()=>{p(void 0),D("Default filters cleared")},style:{borderRadius:r==null?void 0:r.controlInputRadius},className:"h-7 text-xs",variant:"secondary",children:"Reset"})]})]})]})}return f.jsxs(Iy,{openDelay:50,children:[f.jsx(jy,{asChild:!0,children:f.jsxs("div",{className:"flex cursor-default items-center gap-1 rounded-md border border-border bg-gray-50 px-2 py-1 transition-colors hover:bg-gray-100 dark:border-gray-700 dark:bg-gray-800 dark:hover:bg-gray-900",children:[f.jsx(ZE,{className:"h-3 w-3 text-gray-600 dark:text-gray-400"}),f.jsx("span",{className:"text-xs font-medium text-gray-700 dark:text-gray-300",children:E})]})}),f.jsxs(bme,{onMouseDown:P=>P.stopPropagation(),style:{borderRadius:r==null?void 0:r.cardBorderRadius},className:"min-h-fit w-[350px] flex-col space-y-0 p-0 text-xs",align:"start",children:[f.jsx("div",{className:"border-b border-border px-3 py-2",children:f.jsxs("div",{className:"flex items-center justify-between",children:[f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx("span",{className:"text-sm font-medium text-gray-900 dark:text-gray-100",children:"Active Filters"}),f.jsx(So,{variant:"secondary",className:"text-xs",children:E})]}),f.jsxs(Ce,{variant:"ghost",size:"sm",onClick:R,className:"h-6 px-2 text-xs text-gray-600 hover:bg-red-50 hover:text-red-600 dark:text-gray-400 dark:hover:bg-red-950 dark:hover:text-red-400",children:[f.jsx(mZ,{className:"mr-1 h-3 w-3"}),"Clear All"]})]})}),f.jsxs("div",{className:"space-y-4 px-5 py-4",children:[f.jsxs("div",{className:"max-h-[200px] min-h-0 grow space-y-4 overflow-auto",children:[v.length>0&&f.jsxs("div",{className:"space-y-3",children:[f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx(aZ,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Top Level Filters"})]}),f.jsx("div",{className:"space-y-2",children:v==null?void 0:v.map(P=>f.jsx("div",{children:N(P)},P.filterId))})]}),f.jsx(yme,{cardId:e})]}),t&&I()]})]})]})}const vme=w.forwardRef(({className:e,containerClassName:t,containerStyle:n,...r},o)=>f.jsx("div",{style:n,className:oe("relative w-full overflow-auto",t),children:f.jsx("table",{ref:o,className:oe("w-full caption-bottom text-sm",e),...r})}));vme.displayName="Table";const A_=w.forwardRef(({className:e,...t},n)=>f.jsx("thead",{ref:n,className:oe("[&_tr]:border-b",e),...t}));A_.displayName="TableHeader";const O_=w.forwardRef(({className:e,...t},n)=>f.jsx("tbody",{ref:n,className:oe("[&_tr:last-child]:border-0",e),...t}));O_.displayName="TableBody";const xme=w.forwardRef(({className:e,...t},n)=>f.jsx("tfoot",{ref:n,className:oe("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t}));xme.displayName="TableFooter";const Tf=w.forwardRef(({className:e,...t},n)=>f.jsx("tr",{ref:n,className:oe("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...t}));Tf.displayName="TableRow";const F_=w.forwardRef(({className:e,...t},n)=>f.jsx("th",{ref:n,className:oe("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",e),...t}));F_.displayName="TableHead";const Bb=w.forwardRef(({className:e,...t},n)=>f.jsx("td",{ref:n,className:oe("p-4 align-middle [&:has([role=checkbox])]:pr-0",e),...t}));Bb.displayName="TableCell";const wme=w.forwardRef(({className:e,...t},n)=>f.jsx("caption",{ref:n,className:oe("mt-4 text-sm text-muted-foreground",e),...t}));wme.displayName="TableCaption";/**
513
513
  * table-core
514
514
  *
515
515
  * Copyright (c) TanStack