UNPKG

2.94 MBJavaScriptView Raw
1!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.agGrid=t():e.agGrid=t()}(self,(function(){return function(){var e={7886:function(e,t,i){var a,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,l={};((e,t)=>{for(var i in t)n(e,i,{get:t[i],enumerable:!0})})(l,{ClientSideRowModelModule:()=>A}),e.exports=(a=l,((e,t,i,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of o(t))s.call(e,l)||l===i||n(e,l,{get:()=>t[l],enumerable:!(a=r(t,l))||a.enumerable});return e})(n({},"__esModule",{value:!0}),a));var c=i(3423),d=i(3423),h=i(3423),u=class{constructor(e,t,i,a,n,r){this.nextId=0,this.rowCountReady=!1,this.allNodesMap={},this.rootNode=e,this.gos=t,this.eventService=i,this.funcColsService=a,this.beans=r,this.selectionService=n,this.rootNode.group=!0,this.rootNode.level=-1,this.rootNode.id="ROOT_NODE_ID",this.rootNode.allLeafChildren=[],this.rootNode.childrenAfterGroup=[],this.rootNode.childrenAfterSort=[],this.rootNode.childrenAfterAggFilter=[],this.rootNode.childrenAfterFilter=[]}getCopyOfNodesMap(){return(0,h._cloneObject)(this.allNodesMap)}getRowNode(e){return this.allNodesMap[e]}setRowData(e){if("string"==typeof e)return void(0,h._warnOnce)("rowData must be an array.");this.rowCountReady=!0,this.dispatchRowDataUpdateStartedEvent(e);const t=this.rootNode,i=this.rootNode.sibling;t.childrenAfterFilter=null,t.childrenAfterGroup=null,t.childrenAfterAggFilter=null,t.childrenAfterSort=null,t.childrenMapped=null,t.updateHasChildren(),this.nextId=0,this.allNodesMap={},e?t.allLeafChildren=e.map((e=>this.createNode(e,this.rootNode,0))):(t.allLeafChildren=[],t.childrenAfterGroup=[]),i&&(i.childrenAfterFilter=t.childrenAfterFilter,i.childrenAfterGroup=t.childrenAfterGroup,i.childrenAfterAggFilter=t.childrenAfterAggFilter,i.childrenAfterSort=t.childrenAfterSort,i.childrenMapped=t.childrenMapped,i.allLeafChildren=t.allLeafChildren)}updateRowData(e,t){this.rowCountReady=!0,this.dispatchRowDataUpdateStartedEvent(e.add);const i={remove:[],update:[],add:[]},a=[];return this.executeRemove(e,i,a),this.executeUpdate(e,i,a),this.executeAdd(e,i),this.updateSelection(a,"rowDataChanged"),t&&(0,h._sortRowNodesByOrder)(this.rootNode.allLeafChildren,t),i}isRowCountReady(){return this.rowCountReady}dispatchRowDataUpdateStartedEvent(e){const t={type:"rowDataUpdateStarted",firstRowData:e?.length?e[0]:null};this.eventService.dispatchEvent(t)}updateSelection(e,t){const i=e.length>0;if(i&&this.selectionService.setNodesSelected({newValue:!1,nodes:e,suppressFinishActions:!0,source:t}),this.selectionService.updateGroupsFromChildrenSelections(t),i){const e={type:"selectionChanged",source:t};this.eventService.dispatchEvent(e)}}executeAdd(e,t){const{add:i,addIndex:a}=e;if((0,h._missingOrEmpty)(i))return;const n=i.map((e=>this.createNode(e,this.rootNode,0))),r=this.rootNode.allLeafChildren;if("number"==typeof a&&a>=0){const e=r.length;let t=a;if(this.gos.get("treeData")&&a>0&&e>0)for(let i=0;i<e;i++)if(r[i]?.rowIndex==a-1){t=i+1;break}const i=r.slice(0,t),o=r.slice(t,r.length);this.rootNode.allLeafChildren=[...i,...n,...o]}else this.rootNode.allLeafChildren=[...r,...n];this.rootNode.sibling&&(this.rootNode.sibling.allLeafChildren=r),t.add=n}executeRemove(e,t,i){const{remove:a}=e;if((0,h._missingOrEmpty)(a))return;const n={};a.forEach((e=>{const a=this.lookupRowNode(e);a&&(a.isSelected()&&i.push(a),a.clearRowTopAndRowIndex(),n[a.id]=!0,delete this.allNodesMap[a.id],t.remove.push(a))})),this.rootNode.allLeafChildren=this.rootNode.allLeafChildren?.filter((e=>!n[e.id]))??null,this.rootNode.sibling&&(this.rootNode.sibling.allLeafChildren=this.rootNode.allLeafChildren)}executeUpdate(e,t,i){const{update:a}=e;(0,h._missingOrEmpty)(a)||a.forEach((e=>{const a=this.lookupRowNode(e);a&&(a.updateData(e),!a.selectable&&a.isSelected()&&i.push(a),this.setMasterForRow(a,e,0,!1),t.update.push(a))}))}lookupRowNode(e){const t=this.gos.getRowIdCallback();let i;if(t){const a=t({data:e,level:0});if(i=this.allNodesMap[a],!i)return(0,h._errorOnce)(`could not find row id=${a}, data item was not found for this id`),null}else if(i=this.rootNode.allLeafChildren?.find((t=>t.data===e)),!i)return(0,h._errorOnce)("could not find data item as object was not found",e),(0,h._errorOnce)("Consider using getRowId to help the Grid find matching row data"),null;return i||null}createNode(e,t,i){const a=new h.RowNode(this.beans);return a.group=!1,this.setMasterForRow(a,e,i,!0),t&&(a.parent=t),a.level=i,a.setDataAndId(e,this.nextId.toString()),this.allNodesMap[a.id]&&(0,h._warnOnce)(`duplicate node id '${a.id}' detected from getRowId callback, this could cause issues in your grid.`),this.allNodesMap[a.id]=a,this.nextId++,a}setMasterForRow(e,t,i,a){if(this.gos.get("treeData"))e.setMaster(!1),a&&(e.expanded=!1);else{if(this.gos.get("masterDetail")){const i=this.gos.get("isRowMaster");i?e.setMaster(i(t)):e.setMaster(!0)}else e.setMaster(!1);if(a){const t=this.funcColsService.getRowGroupColumns(),a=i+(t?t.length:0);e.expanded=!!e.master&&this.isExpanded(a)}}}isExpanded(e){const t=this.gos.get("groupDefaultExpanded");return-1===t||e<t}},g=class extends d.BeanStub{constructor(){super(...arguments),this.beanName="rowModel",this.onRowHeightChanged_debounced=(0,d._debounce)(this.onRowHeightChanged.bind(this),100),this.rowsToDisplay=[],this.hasStarted=!1,this.shouldSkipSettingDataOnStart=!1,this.isRefreshingModel=!1,this.rowCountReady=!1}wireBeans(e){this.beans=e,this.columnModel=e.columnModel,this.funcColsService=e.funcColsService,this.selectionService=e.selectionService,this.valueCache=e.valueCache,this.environment=e.environment,this.filterStage=e.filterStage,this.sortStage=e.sortStage,this.flattenStage=e.flattenStage,this.groupStage=e.groupStage,this.aggregationStage=e.aggregationStage,this.pivotStage=e.pivotStage,this.filterAggregatesStage=e.filterAggregatesStage}postConstruct(){const e=this.refreshModel.bind(this,{step:d.ClientSideRowModelSteps.EVERYTHING}),t=!this.gos.get("suppressAnimationFrame"),i=this.refreshModel.bind(this,{step:d.ClientSideRowModelSteps.EVERYTHING,afterColumnsChanged:!0,keepRenderedRows:!0,animate:t});this.addManagedEventListeners({newColumnsLoaded:i,columnRowGroupChanged:e,columnValueChanged:this.onValueChanged.bind(this),columnPivotChanged:this.refreshModel.bind(this,{step:d.ClientSideRowModelSteps.PIVOT}),filterChanged:this.onFilterChanged.bind(this),sortChanged:this.onSortChanged.bind(this),columnPivotModeChanged:e,gridStylesChanged:this.onGridStylesChanges.bind(this),gridReady:this.onGridReady.bind(this)}),this.addPropertyListeners(),this.rootNode=new d.RowNode(this.beans),this.nodeManager=new u(this.rootNode,this.gos,this.eventService,this.funcColsService,this.selectionService,this.beans)}addPropertyListeners(){const e=new Set(["treeData","masterDetail"]),t=new Set(["groupDefaultExpanded","groupAllowUnbalanced","initialGroupOrderComparator","groupHideOpenParents","groupDisplayType"]),i=new Set(["excludeChildrenWhenTreeDataFiltering"]),a=new Set(["removePivotHeaderRowWhenSingleValueColumn","pivotRowTotals","pivotColumnGroupTotals","suppressExpandablePivotGroups"]),n=new Set(["getGroupRowAgg","alwaysAggregateAtRootLevel","groupIncludeTotalFooter","suppressAggFilteredOnly","grandTotalRow"]),r=new Set(["postSortRows","groupDisplayType","accentedSort"]),o=new Set([]),s=new Set(["groupRemoveSingleChildren","groupRemoveLowestSingleChildren","groupIncludeFooter","groupTotalRow"]),l=[...e,...t,...i,...a,...a,...n,...r,...o,...s];this.addManagedPropertyListeners(l,(l=>{const c=l.changeSet?.properties;if(!c)return;const h=e=>c.some((t=>e.has(t)));h(e)?this.setRowData(this.rootNode.allLeafChildren.map((e=>e.data))):h(t)?this.refreshModel({step:d.ClientSideRowModelSteps.EVERYTHING}):h(i)?this.refreshModel({step:d.ClientSideRowModelSteps.FILTER}):h(a)?this.refreshModel({step:d.ClientSideRowModelSteps.PIVOT}):h(n)?this.refreshModel({step:d.ClientSideRowModelSteps.AGGREGATE}):h(r)?this.refreshModel({step:d.ClientSideRowModelSteps.SORT}):h(o)?this.refreshModel({step:d.ClientSideRowModelSteps.FILTER_AGGREGATES}):h(s)&&this.refreshModel({step:d.ClientSideRowModelSteps.MAP})})),this.addManagedPropertyListener("rowHeight",(()=>this.resetRowHeights()))}start(){this.hasStarted=!0,this.shouldSkipSettingDataOnStart?this.dispatchUpdateEventsAndRefresh():this.setInitialData()}setInitialData(){const e=this.gos.get("rowData");e&&(this.shouldSkipSettingDataOnStart=!0,this.setRowData(e))}ensureRowHeightsValid(e,t,i,a){let n,r=!1;do{n=!1;const o=this.getRowIndexAtPixel(e),s=this.getRowIndexAtPixel(t),l=Math.max(o,i),c=Math.min(s,a);for(let e=l;e<=c;e++){const t=this.getRow(e);if(t.rowHeightEstimated){const e=this.gos.getRowHeightForNode(t);t.setRowHeight(e.height),n=!0,r=!0}}n&&this.setRowTopAndRowIndex()}while(n);return r}setRowTopAndRowIndex(){const e=this.environment.getDefaultRowHeight();let t=0;const i=new Set,a=this.gos.isDomLayout("normal");for(let n=0;n<this.rowsToDisplay.length;n++){const r=this.rowsToDisplay[n];if(null!=r.id&&i.add(r.id),null==r.rowHeight){const t=this.gos.getRowHeightForNode(r,a,e);r.setRowHeight(t.height,t.estimated)}r.setRowTop(t),r.setRowIndex(n),t+=r.rowHeight}return i}clearRowTopAndRowIndex(e,t){const i=e.isActive(),a=e=>{e&&null!=e.id&&!t.has(e.id)&&e.clearRowTopAndRowIndex()},n=e=>{if(a(e),a(e.detailNode),a(e.sibling),e.hasChildren()&&e.childrenAfterGroup){const t=-1==e.level;i&&!t&&!e.expanded||e.childrenAfterGroup.forEach(n)}};n(this.rootNode)}ensureRowsAtPixel(e,t,i=0){const a=this.getRowIndexAtPixel(t),n=this.getRow(a),r=!this.gos.get("suppressAnimationFrame");return n!==e[0]&&(e.forEach((e=>{(0,d._removeFromArray)(this.rootNode.allLeafChildren,e)})),e.forEach(((e,t)=>{(0,d._insertIntoArray)(this.rootNode.allLeafChildren,e,Math.max(a+i,0)+t)})),this.refreshModel({step:d.ClientSideRowModelSteps.EVERYTHING,keepRenderedRows:!0,keepEditingRows:!0,animate:r}),!0)}highlightRowAtPixel(e,t){const i=null!=t?this.getRowIndexAtPixel(t):null,a=null!=i?this.getRow(i):null;if(!a||!e||a===e||null==t)return void(this.lastHighlightedRow&&(this.lastHighlightedRow.setHighlighted(null),this.lastHighlightedRow=null));const n=this.getHighlightPosition(t,a);this.lastHighlightedRow&&this.lastHighlightedRow!==a&&(this.lastHighlightedRow.setHighlighted(null),this.lastHighlightedRow=null),a.setHighlighted(n),this.lastHighlightedRow=a}getHighlightPosition(e,t){if(!t){const i=this.getRowIndexAtPixel(e);if(!(t=this.getRow(i||0)))return d.RowHighlightPosition.Below}const{rowTop:i,rowHeight:a}=t;return e-i<a/2?d.RowHighlightPosition.Above:d.RowHighlightPosition.Below}getLastHighlightedRowNode(){return this.lastHighlightedRow}isLastRowIndexKnown(){return!0}getRowCount(){return this.rowsToDisplay?this.rowsToDisplay.length:0}getTopLevelRowCount(){if(this.rowsToDisplay&&this.rowsToDisplay[0]===this.rootNode)return 1;const e=this.rootNode.sibling?1:0,t=this.rootNode.childrenAfterAggFilter;return(t?t.length:0)+e}getTopLevelRowDisplayedIndex(e){if(this.rowsToDisplay&&this.rowsToDisplay[0]===this.rootNode)return e;let t=e;if(this.rowsToDisplay[0].footer){if(0===e)return 0;t-=1}let i=this.rootNode.childrenAfterSort[t];if(this.gos.get("groupHideOpenParents"))for(;i.expanded&&i.childrenAfterSort&&i.childrenAfterSort.length>0;)i=i.childrenAfterSort[0];return i.rowIndex}getRowBounds(e){if((0,d._missing)(this.rowsToDisplay))return null;const t=this.rowsToDisplay[e];return t?{rowTop:t.rowTop,rowHeight:t.rowHeight}:null}onRowGroupOpened(){const e=this.gos.isAnimateRows();this.refreshModel({step:d.ClientSideRowModelSteps.MAP,keepRenderedRows:!0,animate:e})}onFilterChanged(e){if(e.afterDataChange)return;const t=this.gos.isAnimateRows(),i=0===e.columns.length||e.columns.some((e=>e.isPrimary()))?d.ClientSideRowModelSteps.FILTER:d.ClientSideRowModelSteps.FILTER_AGGREGATES;this.refreshModel({step:i,keepRenderedRows:!0,animate:t})}onSortChanged(){const e=this.gos.isAnimateRows();this.refreshModel({step:d.ClientSideRowModelSteps.SORT,keepRenderedRows:!0,animate:e,keepEditingRows:!0})}getType(){return"clientSide"}onValueChanged(){this.columnModel.isPivotActive()?this.refreshModel({step:d.ClientSideRowModelSteps.PIVOT}):this.refreshModel({step:d.ClientSideRowModelSteps.AGGREGATE})}createChangePath(e){const t=(0,d._missingOrEmpty)(e),i=new d.ChangedPath(!1,this.rootNode);return(t||this.gos.get("treeData"))&&i.setInactive(),i}isSuppressModelUpdateAfterUpdateTransaction(e){if(!this.gos.get("suppressModelUpdateAfterUpdateTransaction"))return!1;if(null==e.rowNodeTransactions)return!1;const t=e.rowNodeTransactions.filter((e=>null!=e.add&&e.add.length>0||null!=e.remove&&e.remove.length>0));return null==t||0==t.length}buildRefreshModelParams(e){let t=d.ClientSideRowModelSteps.EVERYTHING;const i={everything:d.ClientSideRowModelSteps.EVERYTHING,group:d.ClientSideRowModelSteps.EVERYTHING,filter:d.ClientSideRowModelSteps.FILTER,map:d.ClientSideRowModelSteps.MAP,aggregate:d.ClientSideRowModelSteps.AGGREGATE,sort:d.ClientSideRowModelSteps.SORT,pivot:d.ClientSideRowModelSteps.PIVOT};if((0,d._exists)(e)&&(t=i[e]),(0,d._missing)(t))return void(0,d._errorOnce)(`invalid step ${e}, available steps are ${Object.keys(i).join(", ")}`);return{step:t,keepRenderedRows:!0,keepEditingRows:!0,animate:!this.gos.get("suppressAnimationFrame")}}refreshModel(e){if(!this.hasStarted||this.isRefreshingModel||this.columnModel.isChangeEventsDispatching())return;const t="object"==typeof e&&"step"in e?e:this.buildRefreshModelParams(e);if(!t)return;if(this.isSuppressModelUpdateAfterUpdateTransaction(t))return;const i=this.createChangePath(t.rowNodeTransactions);switch(this.isRefreshingModel=!0,t.step){case d.ClientSideRowModelSteps.EVERYTHING:this.doRowGrouping(t.rowNodeTransactions,t.rowNodeOrder,i,!!t.afterColumnsChanged);case d.ClientSideRowModelSteps.FILTER:this.doFilter(i);case d.ClientSideRowModelSteps.PIVOT:this.doPivot(i);case d.ClientSideRowModelSteps.AGGREGATE:this.doAggregate(i);case d.ClientSideRowModelSteps.FILTER_AGGREGATES:this.doFilterAggregates(i);case d.ClientSideRowModelSteps.SORT:this.doSort(t.rowNodeTransactions,i);case d.ClientSideRowModelSteps.MAP:this.doRowsToDisplay()}const a=this.setRowTopAndRowIndex();this.clearRowTopAndRowIndex(i,a),this.isRefreshingModel=!1;const n={type:"modelUpdated",animate:t.animate,keepRenderedRows:t.keepRenderedRows,newData:t.newData,newPage:!1,keepUndoRedoStack:t.keepUndoRedoStack};this.eventService.dispatchEvent(n)}isEmpty(){const e=(0,d._missing)(this.rootNode.allLeafChildren)||0===this.rootNode.allLeafChildren.length;return(0,d._missing)(this.rootNode)||e||!this.columnModel.isReady()}isRowsToRender(){return(0,d._exists)(this.rowsToDisplay)&&this.rowsToDisplay.length>0}getNodesInRangeForSelection(e,t){let i=!1,a=!1;const n=[],r=this.gos.get("groupSelectsChildren");return this.forEachNodeAfterFilterAndSort((o=>{if(a)return;if(i&&(o===t||o===e)&&(a=!0,o.group&&r))return void n.push(...o.allLeafChildren);if(!i){if(o!==t&&o!==e)return;i=!0}(!o.group||!r)&&n.push(o)})),n}setDatasource(e){(0,d._errorOnce)("should never call setDatasource on clientSideRowController")}getTopLevelNodes(){return this.rootNode?this.rootNode.childrenAfterGroup:null}getRootNode(){return this.rootNode}getRow(e){return this.rowsToDisplay[e]}isRowPresent(e){return this.rowsToDisplay.indexOf(e)>=0}getRowIndexAtPixel(e){if(this.isEmpty()||0===this.rowsToDisplay.length)return-1;let t=0,i=this.rowsToDisplay.length-1;if(e<=0)return 0;if((0,d._last)(this.rowsToDisplay).rowTop<=e)return this.rowsToDisplay.length-1;let a=-1,n=-1;for(;;){const r=Math.floor((t+i)/2),o=this.rowsToDisplay[r];if(this.isRowInPixel(o,e))return r;o.rowTop<e?t=r+1:o.rowTop>e&&(i=r-1);if(a===t&&n===i)return r;a=t,n=i}}isRowInPixel(e,t){const i=e.rowTop,a=e.rowTop+e.rowHeight;return i<=t&&a>t}forEachLeafNode(e){this.rootNode.allLeafChildren&&this.rootNode.allLeafChildren.forEach(((t,i)=>e(t,i)))}forEachNode(e,t=!1){this.recursivelyWalkNodesAndCallback({nodes:[...this.rootNode.childrenAfterGroup||[]],callback:e,recursionType:0,index:0,includeFooterNodes:t})}forEachNodeAfterFilter(e,t=!1){this.recursivelyWalkNodesAndCallback({nodes:[...this.rootNode.childrenAfterAggFilter||[]],callback:e,recursionType:1,index:0,includeFooterNodes:t})}forEachNodeAfterFilterAndSort(e,t=!1){this.recursivelyWalkNodesAndCallback({nodes:[...this.rootNode.childrenAfterSort||[]],callback:e,recursionType:2,index:0,includeFooterNodes:t})}forEachPivotNode(e,t=!1){this.recursivelyWalkNodesAndCallback({nodes:[this.rootNode],callback:e,recursionType:3,index:0,includeFooterNodes:t})}recursivelyWalkNodesAndCallback(e){const{nodes:t,callback:i,recursionType:a,includeFooterNodes:n}=e;let{index:r}=e;const o=e=>{const a=t[0]?.parent;if(!a)return;const o=n&&this.gos.getGrandTotalRow(),s=this.gos.getGroupTotalRowCallback(),l=n&&s({node:a});a===this.rootNode?o===e&&(a.createFooter(),i(a.sibling,r++)):l===e&&(a.createFooter(),i(a.sibling,r++))};o("top");for(let e=0;e<t.length;e++){const o=t[e];if(i(o,r++),o.hasChildren()&&!o.footer){let e=null;switch(a){case 0:e=o.childrenAfterGroup;break;case 1:e=o.childrenAfterAggFilter;break;case 2:e=o.childrenAfterSort;break;case 3:e=o.leafGroup?null:o.childrenAfterSort}e&&(r=this.recursivelyWalkNodesAndCallback({nodes:[...e],callback:i,recursionType:a,index:r,includeFooterNodes:n}))}}return o("bottom"),r}doAggregate(e){this.aggregationStage?.execute({rowNode:this.rootNode,changedPath:e})}doFilterAggregates(e){this.filterAggregatesStage?this.filterAggregatesStage.execute({rowNode:this.rootNode,changedPath:e}):this.rootNode.childrenAfterAggFilter=this.rootNode.childrenAfterFilter}expandOrCollapseAll(e){const t=this.gos.get("treeData"),i=this.columnModel.isPivotActive(),a=n=>{n&&n.forEach((n=>{const r=()=>{n.expanded=e,a(n.childrenAfterGroup)};if(t){return void((0,d._exists)(n.childrenAfterGroup)&&r())}if(i){return void(!n.leafGroup&&r())}n.group&&r()}))};this.rootNode&&a(this.rootNode.childrenAfterGroup),this.refreshModel({step:d.ClientSideRowModelSteps.MAP});const n={type:"expandOrCollapseAll",source:e?"expandAll":"collapseAll"};this.eventService.dispatchEvent(n)}doSort(e,t){this.sortStage.execute({rowNode:this.rootNode,rowNodeTransactions:e,changedPath:t})}doRowGrouping(e,t,i,a){if(this.groupStage){if(e?this.groupStage.execute({rowNode:this.rootNode,rowNodeTransactions:e,rowNodeOrder:t,changedPath:i}):this.groupStage.execute({rowNode:this.rootNode,changedPath:i,afterColumnsChanged:a}),this.gos.get("groupSelectsChildren")){if(this.selectionService.updateGroupsFromChildrenSelections("rowGroupChanged",i)){const e={type:"selectionChanged",source:"rowGroupChanged"};this.eventService.dispatchEvent(e)}}}else this.rootNode.childrenAfterGroup=this.rootNode.allLeafChildren,this.rootNode.sibling&&(this.rootNode.sibling.childrenAfterGroup=this.rootNode.childrenAfterGroup),this.rootNode.updateHasChildren();this.nodeManager.isRowCountReady()&&(this.rowCountReady=!0,this.eventService.dispatchEventOnce({type:"rowCountReady"}))}doFilter(e){this.filterStage.execute({rowNode:this.rootNode,changedPath:e})}doPivot(e){this.pivotStage?.execute({rowNode:this.rootNode,changedPath:e})}getCopyOfNodesMap(){return this.nodeManager.getCopyOfNodesMap()}getRowNode(e){if("string"==typeof e&&0==e.indexOf(d.RowNode.ID_PREFIX_ROW_GROUP)){let t;return this.forEachNode((i=>{i.id===e&&(t=i)})),t}return this.nodeManager.getRowNode(e)}setRowData(e){this.selectionService.reset("rowDataChanged"),this.nodeManager.setRowData(e),this.hasStarted&&this.dispatchUpdateEventsAndRefresh()}dispatchUpdateEventsAndRefresh(){this.eventService.dispatchEvent({type:"rowDataUpdated"}),this.refreshModel({step:d.ClientSideRowModelSteps.EVERYTHING,newData:!0})}batchUpdateRowData(e,t){if(null==this.applyAsyncTransactionsTimeout){this.rowDataTransactionBatch=[];const e=this.gos.getAsyncTransactionWaitMillis();this.applyAsyncTransactionsTimeout=window.setTimeout((()=>{this.executeBatchUpdateRowData()}),e)}this.rowDataTransactionBatch.push({rowDataTransaction:e,callback:t})}flushAsyncTransactions(){null!=this.applyAsyncTransactionsTimeout&&(clearTimeout(this.applyAsyncTransactionsTimeout),this.executeBatchUpdateRowData())}executeBatchUpdateRowData(){this.valueCache.onDataChanged();const e=[],t=[];let i=!1;if(this.rowDataTransactionBatch&&this.rowDataTransactionBatch.forEach((a=>{const n=this.nodeManager.updateRowData(a.rowDataTransaction,void 0);t.push(n),a.callback&&e.push(a.callback.bind(null,n)),"number"==typeof a.rowDataTransaction.addIndex&&(i=!0)})),this.commonUpdateRowData(t,void 0,i),e.length>0&&window.setTimeout((()=>{e.forEach((e=>e()))}),0),t.length>0){const e={type:"asyncTransactionsFlushed",results:t};this.eventService.dispatchEvent(e)}this.rowDataTransactionBatch=null,this.applyAsyncTransactionsTimeout=void 0}updateRowData(e,t){this.valueCache.onDataChanged();const i=this.nodeManager.updateRowData(e,t),a="number"==typeof e.addIndex;return this.commonUpdateRowData([i],t,a),i}createRowNodeOrder(){if(this.gos.get("suppressMaintainUnsortedOrder"))return;const e={};if(this.rootNode&&this.rootNode.allLeafChildren)for(let t=0;t<this.rootNode.allLeafChildren.length;t++){e[this.rootNode.allLeafChildren[t].id]=t}return e}commonUpdateRowData(e,t,i){if(!this.hasStarted)return;const a=!this.gos.get("suppressAnimationFrame");i&&(t=this.createRowNodeOrder());this.eventService.dispatchEvent({type:"rowDataUpdated"}),this.refreshModel({step:d.ClientSideRowModelSteps.EVERYTHING,rowNodeTransactions:e,rowNodeOrder:t,keepRenderedRows:!0,keepEditingRows:!0,animate:a})}doRowsToDisplay(){this.rowsToDisplay=this.flattenStage.execute({rowNode:this.rootNode})}onRowHeightChanged(){this.refreshModel({step:d.ClientSideRowModelSteps.MAP,keepRenderedRows:!0,keepEditingRows:!0,keepUndoRedoStack:!0})}onRowHeightChangedDebounced(){this.onRowHeightChanged_debounced()}resetRowHeights(){const e=this.resetRowHeightsForAllRowNodes();this.rootNode.setRowHeight(this.rootNode.rowHeight,!0),this.rootNode.sibling&&this.rootNode.sibling.setRowHeight(this.rootNode.sibling.rowHeight,!0),e&&this.onRowHeightChanged()}resetRowHeightsForAllRowNodes(){let e=!1;return this.forEachNode((t=>{t.setRowHeight(t.rowHeight,!0);const i=t.detailNode;i&&i.setRowHeight(i.rowHeight,!0),t.sibling&&t.sibling.setRowHeight(t.sibling.rowHeight,!0),e=!0})),e}onGridStylesChanges(e){if(e.rowHeightChanged){if(this.columnModel.isAutoRowHeightActive())return;this.resetRowHeights()}}onGridReady(){this.hasStarted||this.setInitialData()}isRowDataLoaded(){return this.rowCountReady}},p=i(3423);var m=i(3423),f=class extends m.BeanStub{constructor(){super(...arguments),this.beanName="filterStage"}wireBeans(e){this.filterManager=e.filterManager}execute(e){const{changedPath:t}=e;this.filter(t)}filter(e){const t=!!this.filterManager?.isChildFilterPresent();this.filterNodes(t,e)}filterNodes(e,t){const i=(t,i)=>{t.hasChildren()?t.childrenAfterFilter=e&&!i?t.childrenAfterGroup.filter((e=>{const t=e.childrenAfterFilter&&e.childrenAfterFilter.length>0,i=e.data&&this.filterManager.doesRowPassFilter({rowNode:e});return t||i})):t.childrenAfterGroup:t.childrenAfterFilter=t.childrenAfterGroup,t.sibling&&(t.sibling.childrenAfterFilter=t.childrenAfterFilter)};if(this.doingTreeDataFiltering()){const e=(t,a)=>{if(t.childrenAfterGroup)for(let n=0;n<t.childrenAfterGroup.length;n++){const r=t.childrenAfterGroup[n],o=a||this.filterManager.doesRowPassFilter({rowNode:r});r.childrenAfterGroup?e(t.childrenAfterGroup[n],o):i(r,o)}i(t,a)},a=t=>e(t,!1);t.executeFromRootNode(a)}else{const e=e=>i(e,!1);t.forEachChangedNodeDepthFirst(e,!0)}}doingTreeDataFiltering(){return this.gos.get("treeData")&&!this.gos.get("excludeChildrenWhenTreeDataFiltering")}},v=i(3423),y=class extends v.BeanStub{constructor(){super(...arguments),this.beanName="flattenStage"}wireBeans(e){this.beans=e,this.columnModel=e.columnModel}execute(e){const t=e.rowNode,i=[],a=this.columnModel.isPivotMode(),n=a&&t.leafGroup,r=n?[t]:t.childrenAfterSort,o=this.getFlattenDetails();this.recursivelyAddToRowsToDisplay(o,r,i,a,0);if(!n&&i.length>0&&o.grandTotalRow){t.createFooter();const e="top"===o.grandTotalRow;this.addRowNodeToRowsToDisplay(o,t.sibling,i,0,e)}return i}getFlattenDetails(){const e=this.gos.get("groupRemoveSingleChildren");return{groupRemoveLowestSingleChildren:!e&&this.gos.get("groupRemoveLowestSingleChildren"),groupRemoveSingleChildren:e,isGroupMultiAutoColumn:this.gos.isGroupMultiAutoColumn(),hideOpenParents:this.gos.get("groupHideOpenParents"),grandTotalRow:this.gos.getGrandTotalRow(),groupTotalRow:this.gos.getGroupTotalRowCallback()}}recursivelyAddToRowsToDisplay(e,t,i,a,n){if(!(0,v._missingOrEmpty)(t))for(let r=0;r<t.length;r++){const o=t[r],s=o.hasChildren(),l=a&&!s,c=e.groupRemoveSingleChildren&&s&&1===o.childrenAfterGroup.length,d=e.groupRemoveLowestSingleChildren&&s&&o.leafGroup&&1===o.childrenAfterGroup.length,h=a&&o.leafGroup,u=e.hideOpenParents&&o.expanded&&!o.master&&!h;if(!(l||u||c||d)&&this.addRowNodeToRowsToDisplay(e,o,i,n),!a||!o.leafGroup)if(s){const t=c||d;if(o.expanded||t){const r=e.groupTotalRow({node:o});r||o.destroyFooter();const s=t?n:n+1;"top"===r&&(o.createFooter(),this.addRowNodeToRowsToDisplay(e,o.sibling,i,s)),this.recursivelyAddToRowsToDisplay(e,o.childrenAfterSort,i,a,s),"bottom"===r&&(o.createFooter(),this.addRowNodeToRowsToDisplay(e,o.sibling,i,s))}}else if(o.master&&o.expanded){const t=this.createDetailNode(o);this.addRowNodeToRowsToDisplay(e,t,i,n)}}}addRowNodeToRowsToDisplay(e,t,i,a,n){n?i.unshift(t):i.push(t),t.setUiLevel(e.isGroupMultiAutoColumn?0:a)}createDetailNode(e){if((0,v._exists)(e.detailNode))return e.detailNode;const t=new v.RowNode(this.beans);return t.detail=!0,t.selectable=!1,t.parent=e,(0,v._exists)(e.id)&&(t.id="detail_"+e.id),t.data=e.data,t.level=e.level+1,e.detailNode=t,t}},b=i(3423),C=class extends b.BeanStub{constructor(){super(...arguments),this.beanName="immutableService"}wireBeans(e){this.rowModel=e.rowModel,this.selectionService=e.selectionService}postConstruct(){"clientSide"===this.rowModel.getType()&&(this.clientSideRowModel=this.rowModel,this.addManagedPropertyListener("rowData",(()=>this.onRowDataUpdated())))}isActive(){const e=this.gos.exists("getRowId");return!this.gos.get("resetRowDataOnUpdate")&&e}setRowData(e){const t=this.createTransactionForRowData(e);if(!t)return;const[i,a]=t;this.clientSideRowModel.updateRowData(i,a)}createTransactionForRowData(e){if((0,b._missing)(this.clientSideRowModel))return void(0,b._errorOnce)("ImmutableService only works with ClientSideRowModel");const t=this.gos.getRowIdCallback();if(null==t)return void(0,b._errorOnce)("ImmutableService requires getRowId() callback to be implemented, your row data needs IDs!");const i={remove:[],update:[],add:[]},a=this.clientSideRowModel.getCopyOfNodesMap(),n=this.gos.get("suppressMaintainUnsortedOrder")?void 0:{};return(0,b._exists)(e)&&e.forEach(((e,r)=>{const o=t({data:e,level:0}),s=a[o];if(n&&(n[o]=r),s){s.data!==e&&i.update.push(e),a[o]=void 0}else i.add.push(e)})),(0,b._iterateObject)(a,((e,t)=>{t&&i.remove.push(t.data)})),[i,n]}onRowDataUpdated(){const e=this.gos.get("rowData");e&&(this.isActive()?this.setRowData(e):(this.selectionService.reset("rowDataChanged"),this.clientSideRowModel.setRowData(e)))}},w=i(3423),S=class extends w.BeanStub{constructor(){super(...arguments),this.beanName="sortService"}wireBeans(e){this.columnModel=e.columnModel,this.funcColsService=e.funcColsService,this.rowNodeSorter=e.rowNodeSorter,this.showRowGroupColsService=e.showRowGroupColsService}sort(e,t,i,a,n,r){const o=this.gos.get("groupMaintainOrder"),s=this.columnModel.getCols().some((e=>e.isRowGroupActive()));let l={};i&&a&&(l=this.calculateDirtyNodes(a));const c=this.columnModel.isPivotMode(),d=this.gos.getCallback("postSortRows"),h=a=>{this.pullDownGroupDataForHideOpenParents(a.childrenAfterAggFilter,!0);const h=c&&a.leafGroup;if(o&&s&&!a.leafGroup&&!r){const e=this.funcColsService.getRowGroupColumns()?.[a.level+1],t=null===e?.getSort(),i=a.childrenAfterAggFilter.slice(0);if(a.childrenAfterSort&&!t){const e={};a.childrenAfterSort.forEach(((t,i)=>{e[t.id]=i})),i.sort(((t,i)=>(e[t.id]??0)-(e[i.id]??0)))}a.childrenAfterSort=i}else a.childrenAfterSort=!t||h?a.childrenAfterAggFilter.slice(0):i?this.doDeltaSort(a,l,n,e):this.rowNodeSorter.doFullSort(a.childrenAfterAggFilter,e);if(a.sibling&&(a.sibling.childrenAfterSort=a.childrenAfterSort),this.updateChildIndexes(a),d){const e={nodes:a.childrenAfterSort};d(e)}};n&&n.forEachChangedNodeDepthFirst(h),this.updateGroupDataForHideOpenParents(n)}calculateDirtyNodes(e){const t={},i=e=>{e&&e.forEach((e=>t[e.id]=!0))};return e&&e.forEach((e=>{i(e.add),i(e.update),i(e.remove)})),t}doDeltaSort(e,t,i,a){const n=e.childrenAfterAggFilter,r=e.childrenAfterSort;if(!r)return this.rowNodeSorter.doFullSort(n,a);const o={},s=[];n.forEach((e=>{t[e.id]||!i.canSkip(e)?s.push(e):o[e.id]=!0}));const l=r.filter((e=>o[e.id])),c=(e,t)=>({currentPos:t,rowNode:e}),d=s.map(c).sort(((e,t)=>this.rowNodeSorter.compareRowNodes(a,e,t)));return this.mergeSortedArrays(a,d,l.map(c)).map((({rowNode:e})=>e))}mergeSortedArrays(e,t,i){const a=[];let n=0,r=0;for(;n<t.length&&r<i.length;){this.rowNodeSorter.compareRowNodes(e,t[n],i[r])<0?a.push(t[n++]):a.push(i[r++])}for(;n<t.length;)a.push(t[n++]);for(;r<i.length;)a.push(i[r++]);return a}updateChildIndexes(e){if((0,w._missing)(e.childrenAfterSort))return;const t=e.childrenAfterSort;for(let i=0;i<t.length;i++){const a=t[i],n=0===i,r=i===e.childrenAfterSort.length-1;a.setFirstChild(n),a.setLastChild(r),a.setChildIndex(i)}}updateGroupDataForHideOpenParents(e){if(!this.gos.get("groupHideOpenParents"))return;if(this.gos.get("treeData"))return(0,w._warnOnce)("The property hideOpenParents dose not work with Tree Data. This is because Tree Data has values at the group level, it doesn't make sense to hide them."),!1;const t=e=>{this.pullDownGroupDataForHideOpenParents(e.childrenAfterSort,!1),e.childrenAfterSort.forEach((e=>{e.hasChildren()&&t(e)}))};e&&e.executeFromRootNode((e=>t(e)))}pullDownGroupDataForHideOpenParents(e,t){this.gos.get("groupHideOpenParents")&&!(0,w._missing)(e)&&e.forEach((e=>{(this.showRowGroupColsService?.getShowRowGroupCols()??[]).forEach((i=>{const a=i.getColDef().showRowGroup;if("string"!=typeof a)return void(0,w._errorOnce)("groupHideOpenParents only works when specifying specific columns for colDef.showRowGroup");const n=a,r=this.columnModel.getColDefCol(n);if(!(r===e.rowGroupColumn))if(t)e.setGroupValue(i.getId(),void 0);else{const t=e.getFirstChildOfFirstChild(r);t&&e.setGroupValue(i.getId(),t.key)}}))}))}},x=i(3423),k=class extends x.BeanStub{constructor(){super(...arguments),this.beanName="sortStage"}wireBeans(e){this.sortService=e.sortService,this.sortController=e.sortController}execute(e){const t=this.sortController.getSortOptions(),i=(0,x._exists)(t)&&t.length>0,a=i&&(0,x._exists)(e.rowNodeTransactions)&&this.gos.get("deltaSort"),n=t.some((e=>this.gos.isColumnsSortingCoupledToGroup()?e.column.isPrimary()&&e.column.isRowGroupActive():!!e.column.getColDef().showRowGroup));this.sortService.sort(t,i,a,e.rowNodeTransactions,e.changedPath,n)}},M="32.0.2",R={version:M,moduleName:`${c.ModuleNames.ClientSideRowModelModule}-core`,rowModel:"clientSide",beans:[g,f,k,y,S,C]},D={version:M,moduleName:`${c.ModuleNames.ClientSideRowModelModule}-api`,beans:[c.RowModelHelperService],apiFunctions:{onGroupExpandedOrCollapsed:function(e){e.expansionService.onGroupExpandedOrCollapsed()},refreshClientSideRowModel:function(e,t){e.rowModelHelperService?.getClientSideRowModel()?.refreshModel(t)},forEachLeafNode:function(e,t){e.rowModelHelperService?.getClientSideRowModel()?.forEachLeafNode(t)},forEachNodeAfterFilter:function(e,t){e.rowModelHelperService?.getClientSideRowModel()?.forEachNodeAfterFilter(t)},forEachNodeAfterFilterAndSort:function(e,t){e.rowModelHelperService?.getClientSideRowModel()?.forEachNodeAfterFilterAndSort(t)},resetRowHeights:function(e){e.columnModel.isAutoRowHeightActive()?(0,p._warnOnce)("calling gridApi.resetRowHeights() makes no sense when using Auto Row Height."):e.rowModelHelperService?.getClientSideRowModel()?.resetRowHeights()},applyTransaction:function(e,t){return e.frameworkOverrides.wrapIncoming((()=>e.rowModelHelperService?.getClientSideRowModel()?.updateRowData(t)))},applyTransactionAsync:function(e,t,i){e.frameworkOverrides.wrapIncoming((()=>e.rowModelHelperService?.getClientSideRowModel()?.batchUpdateRowData(t,i)))},flushAsyncTransactions:function(e){e.frameworkOverrides.wrapIncoming((()=>e.rowModelHelperService?.getClientSideRowModel()?.flushAsyncTransactions()))},getBestCostNodeSelection:function(e){return e.selectionService.getBestCostNodeSelection()}},dependantModules:[R,c._CsrmSsrmSharedApiModule]},A={version:M,moduleName:c.ModuleNames.ClientSideRowModelModule,dependantModules:[R,D]}},3423:function(e,t,i){var a,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,l={};((e,t)=>{for(var i in t)n(e,i,{get:t[i],enumerable:!0})})(l,{ALWAYS_SYNC_GLOBAL_EVENTS:()=>Gc,AbstractHeaderCellCtrl:()=>sr,AgAbstractField:()=>na,AgAbstractInputField:()=>ra,AgAbstractLabel:()=>aa,AgCheckbox:()=>oa,AgCheckboxSelector:()=>sa,AgColumn:()=>ae,AgColumnGroup:()=>Ye,AgInputDateField:()=>Es,AgInputNumberField:()=>En,AgInputNumberFieldSelector:()=>Tn,AgInputTextArea:()=>bs,AgInputTextField:()=>Dn,AgInputTextFieldSelector:()=>An,AgPickerField:()=>bn,AgPromise:()=>ba,AgProvidedColumnGroup:()=>re,AgRadioButton:()=>vn,AgSelect:()=>Cn,AgSelectSelector:()=>wn,AgToggleButton:()=>nl,AgToggleButtonSelector:()=>rl,AnimateShowChangeCellRenderer:()=>ea,AnimateSlideCellRenderer:()=>ta,AnimationFrameService:()=>ms,AriaAnnouncementService:()=>$c,AutoScrollService:()=>$a,AutoWidthCalculator:()=>js,BarColumnLabelPlacement:()=>kd,BaseComponentWrapper:()=>wd,BeanStub:()=>F,BodyDropPivotTarget:()=>zr,BodyDropTarget:()=>_r,CellComp:()=>fo,CellCtrl:()=>Fo,CellNavigationService:()=>pl,CellPositionUtils:()=>Pl,CellRangeType:()=>Do,ChangedPath:()=>id,ChartMappings:()=>xd,CheckboxCellEditor:()=>Ns,CheckboxCellRenderer:()=>la,CheckboxSelectionComponent:()=>Co,ClientSideRowModelSteps:()=>fs,ColumnApplyStateService:()=>Ne,ColumnAutosizeService:()=>Ie,ColumnFactory:()=>Ae,ColumnKeyCreator:()=>we,ColumnModel:()=>Te,ColumnMoveService:()=>ze,ColumnNameService:()=>_e,ColumnSizeService:()=>Ue,CommunityFeaturesModule:()=>Oc,Component:()=>Hi,ComponentUtil:()=>rt,Context:()=>_a,CssClassManager:()=>vt,CtrlsService:()=>Tl,DataTypeService:()=>$l,DateCellEditor:()=>Fs,DateFilter:()=>Jn,DateStringCellEditor:()=>Ls,DragAndDropService:()=>Ya,DragService:()=>Qa,DragSourceType:()=>ja,Environment:()=>zl,EventService:()=>Vl,ExcelFactoryMode:()=>qa,ExpansionService:()=>vs,ExpressionService:()=>cd,FakeHScrollComp:()=>so,FakeVScrollComp:()=>ho,FilterManager:()=>on,FilterWrapperComp:()=>sn,FocusService:()=>Wl,FuncColsService:()=>Le,GROUP_AUTO_COLUMN_ID:()=>Se,Grid:()=>md,GridBodyComp:()=>rs,GridBodyCtrl:()=>mo,GridComp:()=>Ul,GridCoreCreator:()=>vd,GridCoreModule:()=>Lc,GridCtrl:()=>ql,GridHeaderComp:()=>eo,GridHeaderCtrl:()=>Nr,GridOptionsService:()=>_c,GroupInstanceIdCreator:()=>$e,HeaderCellCtrl:()=>Kr,HeaderFilterCellComp:()=>Ar,HeaderFilterCellCtrl:()=>cr,HeaderGroupCellCtrl:()=>$r,HeaderNavigationDirection:()=>Ir,HeaderNavigationService:()=>Lr,HeaderPositionUtils:()=>qc,HeaderRowComp:()=>Fr,HeaderRowContainerComp:()=>Jr,HeaderRowContainerCtrl:()=>Qr,HeaderRowCtrl:()=>Xr,HeaderRowType:()=>Pr,HorizontalDirection:()=>Ka,HorizontalResizeService:()=>us,KeyCode:()=>ia,LargeTextCellEditor:()=>ws,LayoutCssClasses:()=>io,LocalEventService:()=>c,LocaleService:()=>Uc,ManagedFocusFeature:()=>un,MenuService:()=>ys,ModuleNames:()=>Xi,ModuleRegistry:()=>Ji,MouseEventService:()=>ds,MoveColumnFeature:()=>Wr,NavigationService:()=>hs,NumberCellEditor:()=>As,NumberFilter:()=>Nn,NumberSequence:()=>Ni,OverlayWrapperComponent:()=>no,PinnedRowModel:()=>Xs,PivotResultColsService:()=>qe,PopupComponent:()=>pa,PopupEditorWrapper:()=>Ss,PopupService:()=>hl,PositionableFeature:()=>dn,PropertyKeys:()=>at,ProvidedFilter:()=>fn,RefPlaceholder:()=>Vi,ResizeObserverService:()=>ps,RowContainerComp:()=>ts,RowContainerCtrl:()=>es,RowCtrl:()=>No,RowDragComp:()=>Ja,RowHighlightPosition:()=>Za,RowModelHelperService:()=>yd,RowNode:()=>rn,RowNodeBlock:()=>Js,RowNodeBlockLoader:()=>el,RowNodeSorter:()=>td,RowPositionUtils:()=>Il,RowRenderer:()=>$s,ScalarFilter:()=>kn,ScrollVisibleService:()=>ss,SelectCellEditor:()=>xs,SelectableService:()=>nd,SelectionHandleType:()=>Ro,ServerSideTransactionResultStatus:()=>Qs,SetLeftFeature:()=>er,SimpleFilter:()=>xn,SortController:()=>od,SortIndicatorComp:()=>ji,SortIndicatorSelector:()=>Yi,StandardMenuFactory:()=>gs,StylingService:()=>al,TabGuardClassNames:()=>ol,TabGuardComp:()=>cl,TabGuardCtrl:()=>sl,TabGuardFeature:()=>ll,TextCellEditor:()=>Rs,TextFilter:()=>Bn,TextFloatingFilter:()=>fr,TooltipFeature:()=>Gi,TooltipStateManager:()=>zi,TouchListener:()=>Ki,UserComponentFactory:()=>Va,UserComponentRegistry:()=>ya,ValueCache:()=>dd,ValueService:()=>hd,VanillaFrameworkOverrides:()=>gl,VerticalDirection:()=>Ua,VisibleColsService:()=>Ze,_ColumnFilterModule:()=>br,_CommunityMenuApiModule:()=>tc,_CsrmSsrmSharedApiModule:()=>bd,_EditCoreModule:()=>Hs,_FilterCoreModule:()=>vr,_FloatingFilterModule:()=>Sr,_ReadOnlyFloatingFilterModule:()=>xr,_RowNodeBlockModule:()=>tl,_SsrmInfiniteSharedApiModule:()=>Cd,_addFocusableContainerListener:()=>rc,_areEqual:()=>u,_bindCellRendererToHtmlElement:()=>Li,_capitalise:()=>He,_clearElement:()=>bi,_cloneObject:()=>j,_combineAttributesAndGridOptions:()=>ot,_compose:()=>Ce,_createIcon:()=>_i,_createIconNoSpan:()=>qi,_debounce:()=>ve,_defaultComparator:()=>_,_doOnce:()=>le,_errorOnce:()=>he,_escapeString:()=>We,_exists:()=>N,_existsAndNotEmpty:()=>d,_flatten:()=>w,_forEachReverse:()=>x,_formatNumberCommas:()=>qn,_formatNumberTwoDecimalPlacesAndCommas:()=>_n,_fuzzySuggestions:()=>fa,_getAbsoluteHeight:()=>gi,_getAbsoluteWidth:()=>pi,_getAllValuesInObject:()=>$,_getAriaPosInSet:()=>xt,_getCtrlForEventTarget:()=>T,_getHeaderClassesFromColDef:()=>tr,_getInnerHeight:()=>hi,_getInnerWidth:()=>ui,_getRowContainerOptions:()=>Uo,_getToolPanelClassesFromColDef:()=>ir,_includes:()=>C,_insertArrayIntoArray:()=>y,_insertIntoArray:()=>v,_isElementInEventPath:()=>P,_isEventFromPrintableCharacter:()=>Mn,_isIOSUserAgent:()=>Qt,_isNodeOrElement:()=>Pi,_isStopPropagationForAgGrid:()=>A,_isVisible:()=>Si,_iterateObject:()=>K,_jsonEquals:()=>W,_last:()=>h,_loadTemplate:()=>xi,_log:()=>ce,_makeNull:()=>L,_mergeDeep:()=>Z,_missing:()=>O,_missingOrEmpty:()=>z,_parseDateTimeFromString:()=>Yn,_processOnChange:()=>st,_radioCssClass:()=>ai,_removeAriaExpanded:()=>It,_removeAriaSort:()=>Wt,_removeFromArray:()=>f,_removeFromParent:()=>Ci,_removeRepeatsFromArray:()=>p,_serialiseDate:()=>Un,_setAriaActiveDescendant:()=>Pt,_setAriaChecked:()=>qt,_setAriaColCount:()=>Gt,_setAriaColIndex:()=>Bt,_setAriaColSpan:()=>Vt,_setAriaControls:()=>Ut,_setAriaDescribedBy:()=>Rt,_setAriaDisabled:()=>Et,_setAriaExpanded:()=>Ft,_setAriaHidden:()=>Tt,_setAriaLabel:()=>kt,_setAriaLabelledBy:()=>Mt,_setAriaLevel:()=>At,_setAriaPosInSet:()=>Nt,_setAriaRole:()=>St,_setAriaRowCount:()=>Ot,_setAriaRowIndex:()=>zt,_setAriaSelected:()=>_t,_setAriaSetSize:()=>Lt,_setAriaSort:()=>Ht,_setDisabled:()=>li,_setDisplayed:()=>oi,_setFixedWidth:()=>Ai,_setVisible:()=>si,_shallowCompare:()=>g,_sortRowNodesByOrder:()=>Sd,_stopPropagationForAgGrid:()=>D,_toStringOrNull:()=>G,_unwrapUserComp:()=>Ha,_utf8_encode:()=>Ve,_values:()=>q,_waitUntil:()=>be,_warnOnce:()=>de,createGrid:()=>pd,getDefaultFloatingFilterType:()=>hr,isColumn:()=>ie,isColumnGroup:()=>je,isProvidedColumnGroup:()=>ne,isSelectionUIEvent:()=>Bc,provideGlobalGridOptions:()=>gd}),e.exports=(a=l,((e,t,i,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of o(t))s.call(e,l)||l===i||n(e,l,{get:()=>t[l],enumerable:!(a=r(t,l))||a.enumerable});return e})(n({},"__esModule",{value:!0}),a));var c=class{constructor(){this.allSyncListeners=new Map,this.allAsyncListeners=new Map,this.globalSyncListeners=new Set,this.globalAsyncListeners=new Set,this.asyncFunctionsQueue=[],this.scheduled=!1,this.firedEvents={}}setFrameworkOverrides(e){this.frameworkOverrides=e}getListeners(e,t,i){const a=t?this.allAsyncListeners:this.allSyncListeners;let n=a.get(e);return!n&&i&&(n=new Set,a.set(e,n)),n}noRegisteredListenersExist(){return 0===this.allSyncListeners.size&&0===this.allAsyncListeners.size&&0===this.globalSyncListeners.size&&0===this.globalAsyncListeners.size}addEventListener(e,t,i=!1){this.getListeners(e,i,!0).add(t)}removeEventListener(e,t,i=!1){const a=this.getListeners(e,i,!1);if(a&&(a.delete(t),0===a.size)){(i?this.allAsyncListeners:this.allSyncListeners).delete(e)}}addGlobalListener(e,t=!1){(t?this.globalAsyncListeners:this.globalSyncListeners).add(e)}removeGlobalListener(e,t=!1){(t?this.globalAsyncListeners:this.globalSyncListeners).delete(e)}dispatchEvent(e){const t=e;this.dispatchToListeners(t,!0),this.dispatchToListeners(t,!1),this.firedEvents[t.type]=!0}dispatchEventOnce(e){this.firedEvents[e.type]||this.dispatchEvent(e)}dispatchToListeners(e,t){const i=e.type;if(t&&"event"in e){const t=e.event;t instanceof Event&&(e.eventPath=t.composedPath())}const a=(i,a)=>i.forEach((i=>{if(!a.has(i))return;const n=this.frameworkOverrides?()=>this.frameworkOverrides.wrapIncoming((()=>i(e))):()=>i(e);t?this.dispatchAsync(n):n()})),n=this.getListeners(i,t,!1)??new Set,r=new Set(n);r.size>0&&a(r,n);new Set(t?this.globalAsyncListeners:this.globalSyncListeners).forEach((a=>{const n=this.frameworkOverrides?()=>this.frameworkOverrides.wrapIncoming((()=>a(i,e))):()=>a(i,e);t?this.dispatchAsync(n):n()}))}dispatchAsync(e){if(this.asyncFunctionsQueue.push(e),!this.scheduled){const e=()=>{window.setTimeout(this.flushAsyncQueue.bind(this),0)};this.frameworkOverrides?this.frameworkOverrides.wrapIncoming(e):e(),this.scheduled=!0}}flushAsyncQueue(){this.scheduled=!1;const e=this.asyncFunctionsQueue.slice();this.asyncFunctionsQueue=[],e.forEach((e=>e()))}};function d(e){return null!=e&&e.length>0}function h(e){if(e&&e.length)return e[e.length-1]}function u(e,t,i){return null==e&&null==t||null!=e&&null!=t&&e.length===t.length&&e.every(((e,a)=>i?i(e,t[a]):t[a]===e))}function g(e,t){return u(e,t)}function p(e,t){if(e)for(let i=e.length-2;i>=0;i--){const a=e[i]===t,n=e[i+1]===t;a&&n&&e.splice(i+1,1)}}function m(e,t){const i=e.indexOf(t);i>=0&&(e[i]=e[e.length-1],e.pop())}function f(e,t){const i=e.indexOf(t);i>=0&&e.splice(i,1)}function v(e,t,i){e.splice(i,0,t)}function y(e,t,i){if(null!=e&&null!=t)for(let a=t.length-1;a>=0;a--){v(e,t[a],i)}}function b(e,t,i){!function(e,t){for(let i=0;i<t.length;i++)f(e,t[i])}(e,t),t.slice().reverse().forEach((t=>v(e,t,i)))}function C(e,t){return e.indexOf(t)>-1}function w(e){return[].concat.apply([],e)}function S(e,t){null!=t&&null!=e&&t.forEach((t=>e.push(t)))}function x(e,t){if(null!=e)for(let i=e.length-1;i>=0;i--)t(e[i],i)}var k="__ag_Grid_Stop_Propagation",M=["touchstart","touchend","touchmove","touchcancel","scroll"],R={};function D(e){e[k]=!0}function A(e){return!0===e[k]}var E=(()=>{const e={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return t=>{if("boolean"==typeof R[t])return R[t];const i=document.createElement(e[t]||"div");return R[t="on"+t]=t in i}})();function T(e,t,i){let a=t;for(;a;){const t=e.getDomData(a,i);if(t)return t;a=a.parentElement}return null}function P(e,t){return!(!t||!e)&&function(e){const t=e;if(t.path)return t.path;if(t.composedPath)return t.composedPath();return function(e){const t=[];let i=e.target;for(;i;)t.push(i),i=i.parentElement;return t}(t)}(t).indexOf(e)>=0}var F=class{constructor(){this.destroyFunctions=[],this.destroyed=!1,this.__v_skip=!0,this.propertyListenerId=0,this.lastChangeSetIdLookup={},this.isAlive=()=>!this.destroyed}preWireBeans(e){this.gridId=e.context.getGridId(),this.frameworkOverrides=e.frameworkOverrides,this.stubContext=e.context,this.eventService=e.eventService,this.gos=e.gos,this.localeService=e.localeService}getFrameworkOverrides(){return this.frameworkOverrides}destroy(){for(let e=0;e<this.destroyFunctions.length;e++)this.destroyFunctions[e]();this.destroyFunctions.length=0,this.destroyed=!0,this.dispatchLocalEvent({type:"destroyed"})}addEventListener(e,t){this.localEventService||(this.localEventService=new c),this.localEventService.addEventListener(e,t)}removeEventListener(e,t){this.localEventService&&this.localEventService.removeEventListener(e,t)}dispatchLocalEvent(e){this.localEventService&&this.localEventService.dispatchEvent(e)}addManagedElementListeners(e,t){return this._setupListeners(e,t)}addManagedEventListeners(e){return this._setupListeners(this.eventService,e)}addManagedListeners(e,t){return this._setupListeners(e,t)}_setupListeners(e,t){const i=[];for(const a in t){const n=t[a];n&&i.push(this._setupListener(e,a,n))}return i}_setupListener(e,t,i){if(this.destroyed)return()=>null;e instanceof HTMLElement?function(e,t,i,a){const n=C(M,i)?{passive:!0}:void 0;e&&e.addEventListener&&e.addEventListener(t,i,a,n)}(this.getFrameworkOverrides(),e,t,i):e.addEventListener(t,i);const a=()=>(e.removeEventListener(t,i),null);return this.destroyFunctions.push(a),()=>(a(),this.destroyFunctions=this.destroyFunctions.filter((e=>e!==a)),null)}setupGridOptionListener(e,t){this.gos.addPropertyEventListener(e,t);const i=()=>(this.gos.removePropertyEventListener(e,t),null);return this.destroyFunctions.push(i),()=>(i(),this.destroyFunctions=this.destroyFunctions.filter((e=>e!==i)),null)}addManagedPropertyListener(e,t){return this.destroyed?()=>null:this.setupGridOptionListener(e,t)}addManagedPropertyListeners(e,t){if(this.destroyed)return;const i=e.join("-")+this.propertyListenerId++,a=e=>{if(e.changeSet){if(e.changeSet&&e.changeSet.id===this.lastChangeSetIdLookup[i])return;this.lastChangeSetIdLookup[i]=e.changeSet.id}const a={type:"gridPropertyChanged",changeSet:e.changeSet,source:e.source};t(a)};e.forEach((e=>this.setupGridOptionListener(e,a)))}addDestroyFunc(e){this.isAlive()?this.destroyFunctions.push(e):e()}createManagedBean(e,t){const i=this.createBean(e,t);return this.addDestroyFunc(this.destroyBean.bind(this,e,t)),i}createBean(e,t,i){return(t||this.stubContext).createBean(e,i)}destroyBean(e,t){return(t||this.stubContext).destroyBean(e)}destroyBeans(e,t){return(t||this.stubContext).destroyBeans(e)}},I=class{constructor(e){this.frameworkOverrides=e,this.wrappedListeners=new Map,this.wrappedGlobalListeners=new Map}wrap(e){let t=e;return this.frameworkOverrides.shouldWrapOutgoing&&(t=t=>{this.frameworkOverrides.wrapOutgoing((()=>e(t)))},this.wrappedListeners.set(e,t)),t}wrapGlobal(e){let t=e;return this.frameworkOverrides.shouldWrapOutgoing&&(t=(t,i)=>{this.frameworkOverrides.wrapOutgoing((()=>e(t,i)))},this.wrappedGlobalListeners.set(e,t)),t}unwrap(e){return this.wrappedListeners.get(e)??e}unwrapGlobal(e){return this.wrappedGlobalListeners.get(e)??e}};function L(e){return null==e||""===e?null:e}function N(e,t=!1){return null!=e&&(""!==e||t)}function O(e){return!N(e)}function z(e){return null==e||0===e.length}function G(e){return null!=e&&"function"==typeof e.toString?e.toString():null}function B(e){if(void 0===e)return;if(null===e||""===e)return null;if("number"==typeof e)return isNaN(e)?void 0:e;const t=parseInt(e,10);return isNaN(t)?void 0:t}function V(e){if(void 0!==e)return null!==e&&""!==e&&H(e)}function H(e){return"boolean"==typeof e?e:"string"==typeof e&&("TRUE"===e.toUpperCase()||""==e)}function W(e,t){return(e?JSON.stringify(e):null)===(t?JSON.stringify(t):null)}function _(e,t,i=!1){const a=null==e,n=null==t;if(e&&e.toNumber&&(e=e.toNumber()),t&&t.toNumber&&(t=t.toNumber()),a&&n)return 0;if(a)return-1;if(n)return 1;function r(e,t){return e>t?1:e<t?-1:0}if("string"!=typeof e)return r(e,t);if(!i)return r(e,t);try{return e.localeCompare(t)}catch(i){return r(e,t)}}function q(e){if(e instanceof Set||e instanceof Map){const t=[];return e.forEach((e=>t.push(e))),t}return Object.values(e)}var U=new Set(["__proto__","constructor","prototype"]);function K(e,t){if(null!=e)if(Array.isArray(e))for(let i=0;i<e.length;i++)t(i.toString(),e[i]);else for(const[i,a]of Object.entries(e))t(i,a)}function j(e){const t={},i=Object.keys(e);for(let a=0;a<i.length;a++){if(U.has(i[a]))continue;const n=i[a],r=e[n];t[n]=r}return t}function Y(e,t){if(!e)return;const i=e,a={};return Object.keys(i).forEach((e=>{if(t&&t.indexOf(e)>=0||U.has(e))return;const n=i[e],r=Q(n)&&n.constructor===Object;a[e]=r?Y(n):n})),a}function $(e){if(!e)return[];const t=Object;if("function"==typeof t.values)return t.values(e);const i=[];for(const t in e)e.hasOwnProperty(t)&&e.propertyIsEnumerable(t)&&i.push(e[t]);return i}function Z(e,t,i=!0,a=!1){N(t)&&K(t,((t,n)=>{if(U.has(t))return;let r=e[t];if(r!==n){if(a){if(null==r&&null!=n){"object"==typeof n&&n.constructor===Object&&(r={},e[t]=r)}}Q(n)&&Q(r)&&!Array.isArray(r)?Z(r,n,i,a):(i||void 0!==n)&&(e[t]=n)}}))}function X(e,t,i){if(!t||!e)return;if(!i)return e[t];const a=t.split(".");let n=e;for(let e=0;e<a.length;e++){if(null==n)return;n=n[a[e]]}return n}function Q(e){return"object"==typeof e&&null!==e}var J={resizable:!0,sortable:!0},ee=0;function te(){return ee++}function ie(e){return e instanceof ae}var ae=class extends F{constructor(e,t,i,a){super(),this.isColumn=!0,this.instanceId=te(),this.autoHeaderHeight=null,this.moving=!1,this.menuVisible=!1,this.lastLeftPinned=!1,this.firstRightPinned=!1,this.filterActive=!1,this.columnEventService=new c,this.tooltipEnabled=!1,this.rowGroupActive=!1,this.pivotActive=!1,this.aggregationActive=!1,this.colDef=e,this.userProvidedColDef=t,this.colId=i,this.primary=a,this.setState(e)}wireBeans(e){this.columnHoverService=e.columnHoverService}getInstanceId(){return this.instanceId}setState(e){void 0!==e.sort?"asc"!==e.sort&&"desc"!==e.sort||(this.sort=e.sort):"asc"!==e.initialSort&&"desc"!==e.initialSort||(this.sort=e.initialSort);const t=e.sortIndex,i=e.initialSortIndex;void 0!==t?null!==t&&(this.sortIndex=t):null!==i&&(this.sortIndex=i);const a=e.hide,n=e.initialHide;this.visible=void 0!==a?!a:!n,void 0!==e.pinned?this.setPinned(e.pinned):this.setPinned(e.initialPinned);const r=e.flex,o=e.initialFlex;void 0!==r?this.flex=r:void 0!==o&&(this.flex=o)}setColDef(e,t,i){this.colDef=e,this.userProvidedColDef=t,this.initMinAndMaxWidths(),this.initDotNotation(),this.initTooltip(),this.columnEventService.dispatchEvent(this.createColumnEvent("colDefChanged",i))}getUserProvidedColDef(){return this.userProvidedColDef}setParent(e){this.parent=e}getParent(){return this.parent}setOriginalParent(e){this.originalParent=e}getOriginalParent(){return this.originalParent}postConstruct(){this.initMinAndMaxWidths(),this.resetActualWidth("gridInitializing"),this.initDotNotation(),this.initTooltip()}initDotNotation(){const e=this.gos.get("suppressFieldDotNotation");this.fieldContainsDots=N(this.colDef.field)&&this.colDef.field.indexOf(".")>=0&&!e,this.tooltipFieldContainsDots=N(this.colDef.tooltipField)&&this.colDef.tooltipField.indexOf(".")>=0&&!e}initMinAndMaxWidths(){const e=this.colDef;this.minWidth=e.minWidth??20,this.maxWidth=e.maxWidth??Number.MAX_SAFE_INTEGER}initTooltip(){this.tooltipEnabled=N(this.colDef.tooltipField)||N(this.colDef.tooltipValueGetter)||N(this.colDef.tooltipComponent)}resetActualWidth(e){const t=this.calculateColInitialWidth(this.colDef);this.setActualWidth(t,e,!0)}calculateColInitialWidth(e){let t;const i=B(e.width),a=B(e.initialWidth);return t=null!=i?i:null!=a?a:200,Math.max(Math.min(t,this.maxWidth),this.minWidth)}isEmptyGroup(){return!1}isRowGroupDisplayed(e){if(O(this.colDef)||O(this.colDef.showRowGroup))return!1;const t=!0===this.colDef.showRowGroup,i=this.colDef.showRowGroup===e;return t||i}isPrimary(){return this.primary}isFilterAllowed(){return!!this.colDef.filter}isFieldContainsDots(){return this.fieldContainsDots}isTooltipEnabled(){return this.tooltipEnabled}isTooltipFieldContainsDots(){return this.tooltipFieldContainsDots}addEventListener(e,t){this.frameworkOverrides.shouldWrapOutgoing&&!this.frameworkEventListenerService&&(this.columnEventService.setFrameworkOverrides(this.frameworkOverrides),this.frameworkEventListenerService=new I(this.frameworkOverrides));const i=this.frameworkEventListenerService?.wrap(t)??t;this.columnEventService.addEventListener(e,i)}removeEventListener(e,t){const i=this.frameworkEventListenerService?.unwrap(t)??t;this.columnEventService.removeEventListener(e,i)}createColumnFunctionCallbackParams(e){return this.gos.addGridCommonParams({node:e,data:e.data,column:this,colDef:this.colDef})}isSuppressNavigable(e){if("boolean"==typeof this.colDef.suppressNavigable)return this.colDef.suppressNavigable;if("function"==typeof this.colDef.suppressNavigable){const t=this.createColumnFunctionCallbackParams(e);return(0,this.colDef.suppressNavigable)(t)}return!1}isCellEditable(e){return!(e.group&&!this.gos.get("enableGroupEdit"))&&this.isColumnFunc(e,this.colDef.editable)}isSuppressFillHandle(){return!!this.colDef.suppressFillHandle}isAutoHeight(){return!!this.colDef.autoHeight}isAutoHeaderHeight(){return!!this.colDef.autoHeaderHeight}isRowDrag(e){return this.isColumnFunc(e,this.colDef.rowDrag)}isDndSource(e){return this.isColumnFunc(e,this.colDef.dndSource)}isCellCheckboxSelection(e){return this.isColumnFunc(e,this.colDef.checkboxSelection)}isSuppressPaste(e){return this.isColumnFunc(e,this.colDef?this.colDef.suppressPaste:null)}isResizable(){return!!this.getColDefValue("resizable")}getColDefValue(e){return this.colDef[e]??J[e]}isColumnFunc(e,t){if("boolean"==typeof t)return t;if("function"==typeof t){return t(this.createColumnFunctionCallbackParams(e))}return!1}setMoving(e,t){this.moving=e,this.columnEventService.dispatchEvent(this.createColumnEvent("movingChanged",t))}createColumnEvent(e,t){return this.gos.addGridCommonParams({type:e,column:this,columns:[this],source:t})}isMoving(){return this.moving}getSort(){return this.sort}setSort(e,t){this.sort!==e&&(this.sort=e,this.columnEventService.dispatchEvent(this.createColumnEvent("sortChanged",t))),this.dispatchStateUpdatedEvent("sort")}isSortable(){return!!this.getColDefValue("sortable")}isSortAscending(){return"asc"===this.sort}isSortDescending(){return"desc"===this.sort}isSortNone(){return O(this.sort)}isSorting(){return N(this.sort)}getSortIndex(){return this.sortIndex}setSortIndex(e){this.sortIndex=e,this.dispatchStateUpdatedEvent("sortIndex")}setMenuVisible(e,t){this.menuVisible!==e&&(this.menuVisible=e,this.columnEventService.dispatchEvent(this.createColumnEvent("menuVisibleChanged",t)))}isMenuVisible(){return this.menuVisible}setAggFunc(e){this.aggFunc=e,this.dispatchStateUpdatedEvent("aggFunc")}getAggFunc(){return this.aggFunc}getLeft(){return this.left}getOldLeft(){return this.oldLeft}getRight(){return this.left+this.actualWidth}setLeft(e,t){this.oldLeft=this.left,this.left!==e&&(this.left=e,this.columnEventService.dispatchEvent(this.createColumnEvent("leftChanged",t)))}isFilterActive(){return this.filterActive}setFilterActive(e,t,i){this.filterActive!==e&&(this.filterActive=e,this.columnEventService.dispatchEvent(this.createColumnEvent("filterActiveChanged",t)));const a=this.createColumnEvent("filterChanged",t);i&&Z(a,i),this.columnEventService.dispatchEvent(a)}isHovered(){return this.columnHoverService.isHovered(this)}setPinned(e){this.pinned=!0===e||"left"===e?"left":"right"===e?"right":null,this.dispatchStateUpdatedEvent("pinned")}setFirstRightPinned(e,t){this.firstRightPinned!==e&&(this.firstRightPinned=e,this.columnEventService.dispatchEvent(this.createColumnEvent("firstRightPinnedChanged",t)))}setLastLeftPinned(e,t){this.lastLeftPinned!==e&&(this.lastLeftPinned=e,this.columnEventService.dispatchEvent(this.createColumnEvent("lastLeftPinnedChanged",t)))}isFirstRightPinned(){return this.firstRightPinned}isLastLeftPinned(){return this.lastLeftPinned}isPinned(){return"left"===this.pinned||"right"===this.pinned}isPinnedLeft(){return"left"===this.pinned}isPinnedRight(){return"right"===this.pinned}getPinned(){return this.pinned}setVisible(e,t){const i=!0===e;this.visible!==i&&(this.visible=i,this.columnEventService.dispatchEvent(this.createColumnEvent("visibleChanged",t))),this.dispatchStateUpdatedEvent("hide")}isVisible(){return this.visible}isSpanHeaderHeight(){const e=this.getColDef();return!e.suppressSpanHeaderHeight&&!e.autoHeaderHeight}getColumnGroupPaddingInfo(){let e=this.getParent();if(!e||!e.isPadding())return{numberOfParents:0,isSpanningTotal:!1};const t=e.getPaddingLevel()+1;let i=!0;for(;e;){if(!e.isPadding()){i=!1;break}e=e.getParent()}return{numberOfParents:t,isSpanningTotal:i}}getColDef(){return this.colDef}getDefinition(){return this.colDef}getColumnGroupShow(){return this.colDef.columnGroupShow}getColId(){return this.colId}getId(){return this.colId}getUniqueId(){return this.colId}getActualWidth(){return this.actualWidth}getAutoHeaderHeight(){return this.autoHeaderHeight}setAutoHeaderHeight(e){const t=e!==this.autoHeaderHeight;return this.autoHeaderHeight=e,t}createBaseColDefParams(e){return this.gos.addGridCommonParams({node:e,data:e.data,colDef:this.colDef,column:this})}getColSpan(e){if(O(this.colDef.colSpan))return 1;const t=this.createBaseColDefParams(e),i=this.colDef.colSpan(t);return Math.max(i,1)}getRowSpan(e){if(O(this.colDef.rowSpan))return 1;const t=this.createBaseColDefParams(e),i=this.colDef.rowSpan(t);return Math.max(i,1)}setActualWidth(e,t,i=!1){e=Math.max(e,this.minWidth),e=Math.min(e,this.maxWidth),this.actualWidth!==e&&(this.actualWidth=e,this.flex&&"flex"!==t&&"gridInitializing"!==t&&(this.flex=null),i||this.fireColumnWidthChangedEvent(t)),this.dispatchStateUpdatedEvent("width")}fireColumnWidthChangedEvent(e){this.columnEventService.dispatchEvent(this.createColumnEvent("widthChanged",e))}isGreaterThanMax(e){return e>this.maxWidth}getMinWidth(){return this.minWidth}getMaxWidth(){return this.maxWidth}getFlex(){return this.flex||0}setFlex(e){this.flex!==e&&(this.flex=e),this.dispatchStateUpdatedEvent("flex")}setMinimum(e){this.setActualWidth(this.minWidth,e)}setRowGroupActive(e,t){this.rowGroupActive!==e&&(this.rowGroupActive=e,this.columnEventService.dispatchEvent(this.createColumnEvent("columnRowGroupChanged",t))),this.dispatchStateUpdatedEvent("rowGroup")}isRowGroupActive(){return this.rowGroupActive}setPivotActive(e,t){this.pivotActive!==e&&(this.pivotActive=e,this.columnEventService.dispatchEvent(this.createColumnEvent("columnPivotChanged",t))),this.dispatchStateUpdatedEvent("pivot")}isPivotActive(){return this.pivotActive}isAnyFunctionActive(){return this.isPivotActive()||this.isRowGroupActive()||this.isValueActive()}isAnyFunctionAllowed(){return this.isAllowPivot()||this.isAllowRowGroup()||this.isAllowValue()}setValueActive(e,t){this.aggregationActive!==e&&(this.aggregationActive=e,this.columnEventService.dispatchEvent(this.createColumnEvent("columnValueChanged",t)))}isValueActive(){return this.aggregationActive}isAllowPivot(){return!0===this.colDef.enablePivot}isAllowValue(){return!0===this.colDef.enableValue}isAllowRowGroup(){return!0===this.colDef.enableRowGroup}dispatchStateUpdatedEvent(e){this.columnEventService.dispatchEvent({type:"columnStateUpdated",key:e})}};function ne(e){return e instanceof re}var re=class extends F{constructor(e,t,i,a){super(),this.isColumn=!1,this.expandable=!1,this.instanceId=te(),this.expandableListenerRemoveCallback=null,this.colGroupDef=e,this.groupId=t,this.expanded=!!e&&!!e.openByDefault,this.padding=i,this.level=a}destroy(){this.expandableListenerRemoveCallback&&this.reset(null,void 0),super.destroy()}reset(e,t){this.colGroupDef=e,this.level=t,this.originalParent=null,this.expandableListenerRemoveCallback&&this.expandableListenerRemoveCallback(),this.children=void 0,this.expandable=void 0}getInstanceId(){return this.instanceId}setOriginalParent(e){this.originalParent=e}getOriginalParent(){return this.originalParent}getLevel(){return this.level}isVisible(){return!!this.children&&this.children.some((e=>e.isVisible()))}isPadding(){return this.padding}setExpanded(e){this.expanded=void 0!==e&&e,this.dispatchLocalEvent({type:"expandedChanged"})}isExpandable(){return this.expandable}isExpanded(){return this.expanded}getGroupId(){return this.groupId}getId(){return this.getGroupId()}setChildren(e){this.children=e}getChildren(){return this.children}getColGroupDef(){return this.colGroupDef}getLeafColumns(){const e=[];return this.addLeafColumns(e),e}addLeafColumns(e){this.children&&this.children.forEach((t=>{ie(t)?e.push(t):ne(t)&&t.addLeafColumns(e)}))}getColumnGroupShow(){const e=this.colGroupDef;if(e)return e.columnGroupShow}setupExpandable(){this.setExpandable(),this.expandableListenerRemoveCallback&&this.expandableListenerRemoveCallback();const e=this.onColumnVisibilityChanged.bind(this);this.getLeafColumns().forEach((t=>t.addEventListener("visibleChanged",e))),this.expandableListenerRemoveCallback=()=>{this.getLeafColumns().forEach((t=>t.removeEventListener("visibleChanged",e))),this.expandableListenerRemoveCallback=null}}setExpandable(){if(this.isPadding())return;let e=!1,t=!1,i=!1;const a=this.findChildrenRemovingPadding();for(let n=0,r=a.length;n<r;n++){const r=a[n];if(!r.isVisible())continue;const o=r.getColumnGroupShow();"open"===o?(e=!0,i=!0):"closed"===o?(t=!0,i=!0):(e=!0,t=!0)}const n=e&&t&&i;this.expandable!==n&&(this.expandable=n,this.dispatchLocalEvent({type:"expandableChanged"}))}findChildrenRemovingPadding(){const e=[],t=i=>{i.forEach((i=>{ne(i)&&i.isPadding()?t(i.children):e.push(i)}))};return t(this.children),e}onColumnVisibilityChanged(){this.setExpandable()}},oe={numericColumn:{headerClass:"ag-right-aligned-header",cellClass:"ag-right-aligned-cell"},rightAligned:{headerClass:"ag-right-aligned-header",cellClass:"ag-right-aligned-cell"}},se={};function le(e,t){se[t]||(e(),se[t]=!0)}function ce(e,...t){console.log("AG Grid: "+e,...t)}function de(e,...t){le((()=>console.warn("AG Grid: "+e,...t)),e+t?.join(""))}function he(e,...t){le((()=>console.error("AG Grid: "+e,...t)),e+t?.join(""))}function ue(e){return!!(e&&e.constructor&&e.call&&e.apply)}function ge(e){!function(e,t=0){e.length>0&&window.setTimeout((()=>e.forEach((e=>e()))),t)}(e,400)}var pe=[],me=!1;function fe(e){pe.push(e),me||(me=!0,window.setTimeout((()=>{const e=pe.slice();pe.length=0,me=!1,e.forEach((e=>e()))}),0))}function ve(e,t){let i;return function(...a){const n=this;window.clearTimeout(i),i=window.setTimeout((function(){e.apply(n,a)}),t)}}function ye(e,t){let i=0;return function(...a){const n=(new Date).getTime();n-i<t||(i=n,e.apply(this,a))}}function be(e,t,i=100,a){const n=(new Date).getTime();let r=null,o=!1;const s=()=>{const s=(new Date).getTime()-n>i;(e()||s)&&(t(),o=!0,null!=r&&(window.clearInterval(r),r=null),s&&a&&de(a))};s(),o||(r=window.setInterval(s,10))}function Ce(...e){return t=>e.reduce(((e,t)=>t(e)),t)}var we=class{constructor(){this.existingKeys={}}addExistingKeys(e){for(let t=0;t<e.length;t++)this.existingKeys[e[t]]=!0}getUniqueKey(e,t){e=G(e);let i=0;for(;;){let a;if(e?(a=e,0!==i&&(a+="_"+i)):t?(a=t,0!==i&&(a+="_"+i)):a=i,!this.existingKeys[a])return this.existingKeys[a]=!0,String(a);i++}}},Se="ag-Grid-AutoColumn";function xe(e){const t=[],i=e=>{for(let a=0;a<e.length;a++){const n=e[a];ie(n)?t.push(n):ne(n)&&i(n.getChildren())}};return i(e),t}function ke(e){return e.reduce(((e,t)=>e+t.getActualWidth()),0)}function Me(e,t,i){const a={};if(!t)return;Ee(null,t,(e=>{a[e.getInstanceId()]=e})),i&&Ee(null,i,(e=>{a[e.getInstanceId()]=null}));const n=Object.values(a).filter((e=>null!=e));e.destroyBeans(n)}function Re(e){return e.getId().startsWith(Se)}function De(e){let t=[];if(e instanceof Array){e.some((e=>"string"!=typeof e))?de("if colDef.type is supplied an array it should be of type 'string[]'"):t=e}else"string"==typeof e?t=e.split(","):de("colDef.type should be of type 'string' | 'string[]'");return t}var Ae=class extends F{constructor(){super(...arguments),this.beanName="columnFactory"}wireBeans(e){this.dataTypeService=e.dataTypeService}createColumnTree(e,t,i,a){const n=new we,{existingCols:r,existingGroups:o,existingColKeys:s}=this.extractExistingTreeData(i);n.addExistingKeys(s);const l=this.recursivelyCreateColumns(e,0,t,r,n,o,a),c=this.findMaxDept(l,0),d=this.balanceColumnTree(l,0,c,n);return Ee(null,d,((e,t)=>{ne(e)&&e.setupExpandable(),e.setOriginalParent(t)})),{columnTree:d,treeDept:c}}extractExistingTreeData(e){const t=[],i=[],a=[];return e&&Ee(null,e,(e=>{if(ne(e)){const t=e;i.push(t)}else{const i=e;a.push(i.getId()),t.push(i)}})),{existingCols:t,existingGroups:i,existingColKeys:a}}createForAutoGroups(e,t){const i=[],a=this.findDepth(t);return e.forEach((e=>{let t=e;for(let i=a-1;i>=0;i--){const a=new re(null,`FAKE_PATH_${e.getId()}}_${i}`,!0,i);this.createBean(a),a.setChildren([t]),t.setOriginalParent(a),t=a}0===a&&e.setOriginalParent(null),i.push(t)})),[i,a]}findDepth(e){let t=0,i=e;for(;i&&i[0]&&ne(i[0]);)t++,i=i[0].getChildren();return t}balanceColumnTree(e,t,i,a){const n=[];for(let r=0;r<e.length;r++){const o=e[r];if(ne(o)){const e=o,r=this.balanceColumnTree(e.getChildren(),t+1,i,a);e.setChildren(r),n.push(e)}else{let r,s;for(let e=i-1;e>=t;e--){const e=a.getUniqueKey(null,null),i=this.createMergedColGroupDef(null),n=new re(i,e,!0,t);this.createBean(n),s&&s.setChildren([n]),s=n,r||(r=s)}if(r&&s){n.push(r);if(e.some((e=>ne(e)))){s.setChildren([o]);continue}s.setChildren(e);break}n.push(o)}}return n}findMaxDept(e,t){let i=t;for(let a=0;a<e.length;a++){const n=e[a];if(ne(n)){const e=n,a=this.findMaxDept(e.getChildren(),t+1);i<a&&(i=a)}}return i}recursivelyCreateColumns(e,t,i,a,n,r,o){if(!e)return[];const s=new Array(e.length);for(let l=0;l<s.length;l++){const c=e[l];this.isColumnGroup(c)?s[l]=this.createColumnGroup(i,c,t,a,n,r,o):s[l]=this.createColumn(i,c,a,n,o)}return s}createColumnGroup(e,t,i,a,n,r,o){const s=this.createMergedColGroupDef(t),l=n.getUniqueKey(s.groupId||null,null),c=new re(s,l,!1,i);this.createBean(c);const d=this.findExistingGroup(t,r);d&&r.splice(d.idx,1);const h=d?.group;h&&c.setExpanded(h.isExpanded());const u=this.recursivelyCreateColumns(s.children,i+1,e,a,n,r,o);return c.setChildren(u),c}createMergedColGroupDef(e){const t={};return Object.assign(t,this.gos.get("defaultColGroupDef")),Object.assign(t,e),t}createColumn(e,t,i,a,n){const r=this.findExistingColumn(t,i);r&&i?.splice(r.idx,1);let o=r?.column;if(o){const e=this.addColumnDefaultAndTypes(t,o.getColId());o.setColDef(e,t,n),this.applyColumnState(o,e,n)}else{const i=a.getUniqueKey(t.colId,t.field),n=this.addColumnDefaultAndTypes(t,i);o=new ae(n,t,i,e),this.createBean(o)}return this.dataTypeService?.addColumnListeners(o),o}applyColumnState(e,t,i){const a=B(t.flex);void 0!==a&&e.setFlex(a);if(e.getFlex()<=0){const a=B(t.width);if(null!=a)e.setActualWidth(a,i);else{const t=e.getActualWidth();e.setActualWidth(t,i)}}void 0!==t.sort&&("asc"==t.sort||"desc"==t.sort?e.setSort(t.sort,i):e.setSort(void 0,i));const n=B(t.sortIndex);void 0!==n&&e.setSortIndex(n);const r=V(t.hide);void 0!==r&&e.setVisible(!r,i),void 0!==t.pinned&&e.setPinned(t.pinned)}findExistingColumn(e,t){if(t)for(let i=0;i<t.length;i++){const a=t[i].getUserProvidedColDef();if(!a)continue;if(null!=e.colId){if(t[i].getId()===e.colId)return{idx:i,column:t[i]};continue}if(null!=e.field){if(a.field===e.field)return{idx:i,column:t[i]}}else if(a===e)return{idx:i,column:t[i]}}}findExistingGroup(e,t){if(null!=e.groupId)for(let i=0;i<t.length;i++){const a=t[i];if(a.getColGroupDef()&&a.getId()===e.groupId)return{idx:i,group:a}}}addColumnDefaultAndTypes(e,t){const i={};Z(i,this.gos.get("defaultColDef"),!1,!0);const a=this.updateColDefAndGetColumnType(i,e,t);a&&this.assignColumnTypes(a,i),Z(i,e,!1,!0);const n=this.gos.get("autoGroupColumnDef"),r=this.gos.isColumnsSortingCoupledToGroup();return e.rowGroup&&n&&r&&Z(i,{sort:n.sort,initialSort:n.initialSort},!1,!0),this.dataTypeService?.validateColDef(i),i}updateColDefAndGetColumnType(e,t,i){const a=this.dataTypeService?.updateColDefAndGetColumnType(e,t,i),n=t.type??a??e.type;return e.type=n,n?De(n):void 0}assignColumnTypes(e,t){if(!e.length)return;const i=Object.assign({},oe);K(this.gos.get("columnTypes")||{},((e,t)=>{if(e in i)de(`the column type '${e}' is a default column type and cannot be overridden.`);else{t.type&&de("Column type definitions 'columnTypes' with a 'type' attribute are not supported because a column type cannot refer to another column type. Only column definitions 'columnDefs' can use the 'type' attribute to refer to a column type."),i[e]=t}})),e.forEach((e=>{const a=i[e.trim()];a?Z(t,a,!1,!0):de("colDef.type '"+e+"' does not correspond to defined gridOptions.columnTypes")}))}isColumnGroup(e){return void 0!==e.children}};function Ee(e,t,i){if(t)for(let a=0;a<t.length;a++){const n=t[a];ne(n)&&Ee(n,n.getChildren(),i),i(n,e)}}var Te=class extends F{constructor(){super(...arguments),this.beanName="columnModel",this.pivotMode=!1,this.autoHeightActiveAtLeastOnce=!1,this.ready=!1,this.changeEventsDispatching=!1,this.shouldQueueResizeOperations=!1,this.resizeOperationQueue=[]}wireBeans(e){this.context=e.context,this.columnFactory=e.columnFactory,this.columnSizeService=e.columnSizeService,this.visibleColsService=e.visibleColsService,this.columnViewportService=e.columnViewportService,this.pivotResultColsService=e.pivotResultColsService,this.columnAnimationService=e.columnAnimationService,this.autoColService=e.autoColService,this.valueCache=e.valueCache,this.columnDefFactory=e.columnDefFactory,this.columnApplyStateService=e.columnApplyStateService,this.columnGroupStateService=e.columnGroupStateService,this.eventDispatcher=e.columnEventDispatcher,this.columnMoveService=e.columnMoveService,this.columnAutosizeService=e.columnAutosizeService,this.funcColsService=e.funcColsService,this.quickFilterService=e.quickFilterService,this.showRowGroupColsService=e.showRowGroupColsService,this.environment=e.environment}postConstruct(){const e=this.gos.get("pivotMode");this.isPivotSettingAllowed(e)&&(this.pivotMode=e),this.addManagedPropertyListeners(["groupDisplayType","treeData","treeDataDisplayType","groupHideOpenParents"],(e=>this.refreshAll(Pe(e.source)))),this.addManagedPropertyListener("autoGroupColumnDef",(e=>this.onAutoGroupColumnDefChanged(Pe(e.source)))),this.addManagedPropertyListeners(["defaultColDef","columnTypes","suppressFieldDotNotation"],(e=>this.recreateColumnDefs(Pe(e.source)))),this.addManagedPropertyListener("pivotMode",(e=>this.setPivotMode(this.gos.get("pivotMode"),Pe(e.source)))),this.addManagedEventListeners({firstDataRendered:()=>this.onFirstDataRendered()})}createColsFromColDefs(e,t){const i=e?this.columnApplyStateService.compareColumnStatesAndDispatchEvents(t):void 0;this.valueCache.expire();const a=this.colDefCols&&this.colDefCols.list,n=this.colDefCols&&this.colDefCols.tree,r=this.columnFactory.createColumnTree(this.colDefs,!0,n,t);Me(this.context,this.colDefCols?.tree,r.columnTree);const o=r.columnTree,s=r.treeDept,l=xe(o),c={};l.forEach((e=>c[e.getId()]=e)),this.colDefCols={tree:o,treeDepth:s,list:l,map:c},this.funcColsService.extractCols(t,a),this.ready=!0,this.refreshCols();e&&!this.showingPivotResult&&!this.gos.get("maintainColumnOrder")&&this.orderColsLikeColDefCols(),this.visibleColsService.refresh(t),this.columnViewportService.checkViewportColumns(),this.eventDispatcher.everythingChanged(t),i&&(this.changeEventsDispatching=!0,i(),this.changeEventsDispatching=!1),this.eventDispatcher.newColumnsLoaded(t),"gridInitializing"===t&&this.columnSizeService.applyAutosizeStrategy()}refreshCols(){if(!this.colDefCols)return;const e=this.cols?.tree;this.saveColOrder(),this.selectCols(),this.createAutoCols(),this.addAutoCols(),this.restoreColOrder(),this.positionLockedCols(),this.showRowGroupColsService?.refresh(),this.quickFilterService?.refreshQuickFilterCols(),this.setColSpanActive(),this.setAutoHeightActive(),this.visibleColsService.clear(),this.columnViewportService.clear();!u(e,this.cols.tree)&&this.eventDispatcher.gridColumns()}selectCols(){const e=this.pivotResultColsService.getPivotResultCols();if(this.showingPivotResult=null!=e,e){const{map:t,list:i,tree:a,treeDepth:n}=e;this.cols={list:i.slice(),map:{...t},tree:a.slice(),treeDepth:n};e.list.some((e=>void 0!==this.cols?.map[e.getColId()]))||(this.lastPivotOrder=null)}else{const{map:e,list:t,tree:i,treeDepth:a}=this.colDefCols;this.cols={list:t.slice(),map:{...e},tree:i.slice(),treeDepth:a}}}getColsToShow(){const e=this.isPivotMode()&&!this.isShowingPivotResult(),t=this.funcColsService.getValueColumns();return this.cols.list.filter((i=>{const a=Re(i);if(e){const e=t&&C(t,i);return a||e}return a||i.isVisible()}))}addAutoCols(){var e;null!=this.autoCols&&(this.cols.list=this.autoCols.list.concat(this.cols.list),this.cols.tree=this.autoCols.tree.concat(this.cols.tree),(e=this.cols).map={},e.list.forEach((t=>e.map[t.getId()]=t)))}createAutoCols(){const e=this.gos.isGroupUseEntireRow(this.pivotMode),t=this.pivotMode?this.gos.get("pivotSuppressAutoColumn"):this.isSuppressAutoCol(),i=this.funcColsService.getRowGroupColumns(),a=()=>{this.autoCols&&(Me(this.context,this.autoCols.tree),this.autoCols=null)};if(!(i.length>0||this.gos.get("treeData"))||t||e||!this.autoColService)return void a();const n=this.autoColService.createAutoCols(i)??[],r=(o=n,s=this.autoCols?.list||null,u(o,s,((e,t)=>e.getColId()===t.getColId())));var o,s;const l=this.cols.treeDepth,c=this.autoCols?this.autoCols.treeDepth:-1;if(r&&c==l)return;a();const[d,h]=this.columnFactory.createForAutoGroups(n,this.cols?.tree);this.autoCols={list:n,tree:d,treeDepth:h,map:{}};const g=e=>{if(!e)return null;const t=e.filter((e=>!Re(e)));return[...n,...t]};this.lastOrder=g(this.lastOrder),this.lastPivotOrder=g(this.lastPivotOrder)}refreshAll(e){this.isReady()&&(this.refreshCols(),this.visibleColsService.refresh(e))}setColsVisible(e,t=!1,i){this.columnApplyStateService.applyColumnState({state:e.map((e=>({colId:"string"==typeof e?e:e.getColId(),hide:!t})))},i)}setColsPinned(e,t,i){if(!this.cols)return;if(z(e))return;if(this.gos.isDomLayout("print"))return void de("Changing the column pinning status is not allowed with domLayout='print'");let a;this.columnAnimationService.start(),a=!0===t||"left"===t?"left":"right"===t?"right":null;const n=[];e.forEach((e=>{if(!e)return;const t=this.getCol(e);t&&t.getPinned()!==a&&(t.setPinned(a),n.push(t))})),n.length&&(this.visibleColsService.refresh(i),this.eventDispatcher.columnPinned(n,i)),this.columnAnimationService.finish()}setColumnGroupOpened(e,t,i){let a;a=ne(e)?e.getId():e||"",this.columnGroupStateService.setColumnGroupState([{groupId:a,open:t}],i)}getProvidedColGroup(e){let t=null;return Ee(null,this.cols?.tree,(i=>{ne(i)&&i.getId()===e&&(t=i)})),t}isColGroupLocked(e){const t=this.gos.get("groupLockGroupColumns");if(!e.isRowGroupActive()||0===t)return!1;if(-1===t)return!0;return t>this.funcColsService.getRowGroupColumns().findIndex((t=>t.getColId()===e.getColId()))}isSuppressAutoCol(){if("custom"===this.gos.get("groupDisplayType"))return!0;return"custom"===this.gos.get("treeDataDisplayType")}setAutoHeightActive(){if(this.autoHeightActive=this.cols.list.some((e=>e.isAutoHeight())),this.autoHeightActive){this.autoHeightActiveAtLeastOnce=!0;this.gos.isRowModelType("clientSide")||this.gos.isRowModelType("serverSide")||de("autoHeight columns only work with Client Side Row Model and Server Side Row Model.")}}restoreColOrder(){const e=this.showingPivotResult?this.lastPivotOrder:this.lastOrder;if(!e)return;const t=new Map(e.map(((e,t)=>[e,t])));if(!this.cols.list.some((e=>t.has(e))))return;const i=new Map(this.cols.list.map((e=>[e,!0]))),a=e.filter((e=>i.has(e))),n=new Map(a.map((e=>[e,!0]))),r=this.cols.list.filter((e=>!n.has(e))),o=a.slice();r.forEach((e=>{let t=e.getOriginalParent();if(!t)return void o.push(e);const i=[];for(;!i.length&&t;){t.getLeafColumns().forEach((e=>{const t=o.indexOf(e)>=0,a=i.indexOf(e)<0;t&&a&&i.push(e)})),t=t.getOriginalParent()}if(!i.length)return void o.push(e);const a=i.map((e=>o.indexOf(e))),n=Math.max(...a);v(o,e,n+1)})),this.cols.list=o}orderColsLikeColDefCols(){if(!this.colDefCols||!this.cols)return;const e=this.colDefCols.list.filter((e=>this.cols.list.indexOf(e)>=0)),t=this.cols.list.filter((t=>e.indexOf(t)<0));this.cols.list=[...t,...e],this.cols.list=this.columnMoveService.placeLockedColumns(this.cols.list)}sortColsLikeKeys(e){if(null==this.cols)return;let t=[];const i={};e.forEach((e=>{if(i[e])return;const a=this.cols.map[e];a&&(t.push(a),i[e]=!0)}));let a=0;this.cols.list.forEach((e=>{const n=e.getColId();if(null!=i[n])return;n.startsWith(Se)?v(t,e,a++):t.push(e)})),t=this.columnMoveService.placeLockedColumns(t),this.columnMoveService.doesMovePassMarryChildren(t)?this.cols.list=t:de("Applying column order broke a group where columns should be married together. Applying new order has been discarded.")}sortColsLikeCols(e){if(!e||e.length<=1)return;e.filter((e=>this.cols.list.indexOf(e)<0)).length>0||e.sort(((e,t)=>this.cols.list.indexOf(e)-this.cols.list.indexOf(t)))}resetColDefIntoCol(e,t){const i=e.getUserProvidedColDef();if(!i)return!1;const a=this.columnFactory.addColumnDefaultAndTypes(i,e.getColId());return e.setColDef(a,i,t),!0}queueResizeOperations(){this.shouldQueueResizeOperations=!0}isShouldQueueResizeOperations(){return this.shouldQueueResizeOperations}processResizeOperations(){this.shouldQueueResizeOperations=!1,this.resizeOperationQueue.forEach((e=>e())),this.resizeOperationQueue=[]}pushResizeOperation(e){this.resizeOperationQueue.push(e)}moveInCols(e,t,i){b(this.cols?.list,e,t),this.visibleColsService.refresh(i)}positionLockedCols(){this.cols.list=this.columnMoveService.placeLockedColumns(this.cols.list)}saveColOrder(){this.showingPivotResult?this.lastPivotOrder=this.cols?.list:this.lastOrder=this.cols?.list}getColumnDefs(){if(!this.colDefCols)return;const e=this.colDefCols.list.slice();this.showingPivotResult?e.sort(((e,t)=>this.lastOrder.indexOf(e)-this.lastOrder.indexOf(t))):this.lastOrder&&e.sort(((e,t)=>this.cols.list.indexOf(e)-this.cols.list.indexOf(t)));const t=this.funcColsService.getRowGroupColumns(),i=this.funcColsService.getPivotColumns();return this.columnDefFactory.buildColumnDefs(e,t,i)}isShowingPivotResult(){return this.showingPivotResult}isChangeEventsDispatching(){return this.changeEventsDispatching}isColSpanActive(){return this.colSpanActive}isProvidedColGroupsPresent(){return this.colDefCols?.treeDepth>0}setColSpanActive(){this.colSpanActive=this.cols.list.some((e=>null!=e.getColDef().colSpan))}isAutoRowHeightActive(){return this.autoHeightActive}wasAutoRowHeightEverActive(){return this.autoHeightActiveAtLeastOnce}getHeaderRowCount(){return this.cols?this.cols.treeDepth+1:-1}isReady(){return this.ready}isPivotMode(){return this.pivotMode}setPivotMode(e,t){e!==this.pivotMode&&this.isPivotSettingAllowed(this.pivotMode)&&(this.pivotMode=e,this.ready&&(this.refreshCols(),this.visibleColsService.refresh(t),this.eventDispatcher.pivotModeChanged()))}isPivotSettingAllowed(e){return!e||!this.gos.get("treeData")||(de("Pivot mode not available with treeData."),!1)}isPivotActive(){const e=this.funcColsService.getPivotColumns();return this.pivotMode&&!z(e)}recreateColumnDefs(e){this.cols&&(this.autoCols&&this.autoColService.updateAutoCols(this.autoCols.list,e),this.createColsFromColDefs(!0,e))}setColumnDefs(e,t){const i=!!this.colDefs;this.colDefs=e,this.createColsFromColDefs(i,t)}destroy(){Me(this.context,this.colDefCols?.tree),Me(this.context,this.autoCols?.tree),super.destroy()}getColTree(){return this.cols.tree}getColDefColTree(){return this.colDefCols.tree}getColDefCols(){return this.colDefCols?.list?this.colDefCols.list:null}getCols(){return this.cols?.list??[]}getAllCols(){const e=this.pivotResultColsService.getPivotResultCols(),t=e?.list;return[].concat(this.colDefCols?.list||[],this.autoCols?.list||[],t||[])}getColsForKeys(e){if(!e)return[];return e.map((e=>this.getCol(e))).filter((e=>null!=e))}getColDefCol(e){return this.colDefCols?.list?this.getColFromCollection(e,this.colDefCols):null}getCol(e){return null==e?null:this.getColFromCollection(e,this.cols)}getColFromCollection(e,t){if(null==t)return null;const{map:i,list:a}=t;if("string"==typeof e&&i[e])return i[e];for(let t=0;t<a.length;t++)if(Fe(a[t],e))return a[t];return this.getAutoCol(e)}getAutoCol(e){return null==this.autoCols?null:this.autoCols.list.find((t=>Fe(t,e)))||null}getAutoCols(){return this.autoCols?.list||null}setColHeaderHeight(e,t){e.setAutoHeaderHeight(t)&&this.eventDispatcher.headerHeight(e)}getColumnGroupHeaderRowHeight(){return this.isPivotMode()?this.getPivotGroupHeaderHeight():this.getGroupHeaderHeight()}getColumnHeaderRowHeight(){const e=this.isPivotMode()?this.getPivotHeaderHeight():this.getHeaderHeight(),t=this.visibleColsService.getAllCols().filter((e=>e.isAutoHeaderHeight())).map((e=>e.getAutoHeaderHeight()||0));return Math.max(e,...t)}getHeaderHeight(){return this.gos.get("headerHeight")??this.environment.getDefaultHeaderHeight()}getFloatingFiltersHeight(){return this.gos.get("floatingFiltersHeight")??this.getHeaderHeight()}getGroupHeaderHeight(){return this.gos.get("groupHeaderHeight")??this.getHeaderHeight()}getPivotHeaderHeight(){return this.gos.get("pivotHeaderHeight")??this.getHeaderHeight()}getPivotGroupHeaderHeight(){return this.gos.get("pivotGroupHeaderHeight")??this.getGroupHeaderHeight()}onFirstDataRendered(){const e=this.gos.get("autoSizeStrategy");if("fitCellContents"!==e?.type)return;const{colIds:t,skipHeader:i}=e;setTimeout((()=>{t?this.columnAutosizeService.autoSizeCols({colKeys:t,skipHeader:i,source:"autosizeColumns"}):this.columnAutosizeService.autoSizeAllColumns("autosizeColumns",i)}))}onAutoGroupColumnDefChanged(e){this.autoCols&&this.autoColService.updateAutoCols(this.autoCols.list,e)}};function Pe(e){return"gridOptionsUpdated"===e?"gridOptionsChanged":e}function Fe(e,t){const i=e===t,a=e.getColDef()===t,n=e.getColId()==t;return i||a||n}var Ie=class extends F{constructor(){super(...arguments),this.beanName="columnAutosizeService",this.timesDelayed=0}wireBeans(e){this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.animationFrameService=e.animationFrameService,this.autoWidthCalculator=e.autoWidthCalculator,this.eventDispatcher=e.columnEventDispatcher,this.ctrlsService=e.ctrlsService,this.renderStatusService=e.renderStatusService}autoSizeCols(e){if(this.columnModel.isShouldQueueResizeOperations())return void this.columnModel.pushResizeOperation((()=>this.autoSizeCols(e)));const{colKeys:t,skipHeader:i,skipHeaderGroups:a,stopAtGroup:n,source:r="api"}=e;if(this.animationFrameService.flushAllFrames(),this.timesDelayed<5&&this.renderStatusService&&!this.renderStatusService.areHeaderCellsRendered())return this.timesDelayed++,void setTimeout((()=>this.autoSizeCols(e)));this.timesDelayed=0;const o=[];let s=-1;const l=null!=i?i:this.gos.get("skipHeaderOnAutoSize"),c=null!=a?a:l;for(;0!==s;){s=0;const e=[];t.forEach((t=>{if(!t)return;const i=this.columnModel.getCol(t);if(!i)return;if(o.indexOf(i)>=0)return;const a=this.autoWidthCalculator.getPreferredWidthForColumn(i,l);if(a>0){const e=this.normaliseColumnWidth(i,a);i.setActualWidth(e,r),o.push(i),s++}e.push(i)})),e.length&&this.visibleColsService.refresh(r)}c||this.autoSizeColumnGroupsByColumns(t,r,n),this.eventDispatcher.columnResized(o,!0,"autosizeColumns")}autoSizeColumn(e,t,i){e&&this.autoSizeCols({colKeys:[e],skipHeader:i,skipHeaderGroups:!0,source:t})}autoSizeColumnGroupsByColumns(e,t,i){const a=new Set;let n;this.columnModel.getColsForKeys(e).forEach((e=>{let t=e.getParent();for(;t&&t!=i;)t.isPadding()||a.add(t),t=t.getParent()}));for(const e of a){for(const t of this.ctrlsService.getHeaderRowContainerCtrls())if(n=t.getHeaderCtrlForColumn(e),n)break;n&&n.resizeLeafColumnsToFit(t)}return[]}autoSizeAllColumns(e,t){if(this.columnModel.isShouldQueueResizeOperations())return void this.columnModel.pushResizeOperation((()=>this.autoSizeAllColumns(e,t)));const i=this.visibleColsService.getAllCols();this.autoSizeCols({colKeys:i,skipHeader:t,source:e})}normaliseColumnWidth(e,t){const i=e.getMinWidth();t<i&&(t=i);const a=e.getMaxWidth();return e.isGreaterThanMax(t)&&(t=a),t}},Le=class extends F{constructor(){super(...arguments),this.beanName="funcColsService",this.rowGroupCols=[],this.valueCols=[],this.pivotCols=[]}wireBeans(e){this.columnModel=e.columnModel,this.eventDispatcher=e.columnEventDispatcher,this.aggFuncService=e.aggFuncService,this.visibleColsService=e.visibleColsService}getModifyColumnsNoEventsCallbacks(){return{addGroupCol:e=>this.rowGroupCols.push(e),removeGroupCol:e=>f(this.rowGroupCols,e),addPivotCol:e=>this.pivotCols.push(e),removePivotCol:e=>f(this.pivotCols,e),addValueCol:e=>this.valueCols.push(e),removeValueCol:e=>f(this.valueCols,e)}}getSourceColumnsForGroupColumn(e){const t=e.getColDef().showRowGroup;if(!t)return null;if(!0===t)return this.rowGroupCols.slice(0);const i=this.columnModel.getColDefCol(t);return i?[i]:null}sortRowGroupColumns(e){this.rowGroupCols.sort(e)}sortPivotColumns(e){this.pivotCols.sort(e)}getValueColumns(){return this.valueCols?this.valueCols:[]}getPivotColumns(){return this.pivotCols?this.pivotCols:[]}getRowGroupColumns(){return this.rowGroupCols?this.rowGroupCols:[]}isRowGroupEmpty(){return z(this.rowGroupCols)}setColumnAggFunc(e,t,i){if(!e)return;const a=this.columnModel.getColDefCol(e);a&&(a.setAggFunc(t),this.eventDispatcher.columnChanged("columnValueChanged",[a],i))}setRowGroupColumns(e,t){this.setColList(e,this.rowGroupCols,"columnRowGroupChanged",!0,!0,((e,i)=>this.setRowGroupActive(e,i,t)),t)}setRowGroupActive(e,t,i){e!==t.isRowGroupActive()&&(t.setRowGroupActive(e,i),e&&!this.gos.get("suppressRowGroupHidesColumns")&&this.columnModel.setColsVisible([t],!1,i),e||this.gos.get("suppressMakeColumnVisibleAfterUnGroup")||this.columnModel.setColsVisible([t],!0,i))}addRowGroupColumns(e,t){this.updateColList(e,this.rowGroupCols,!0,!0,(e=>this.setRowGroupActive(!0,e,t)),"columnRowGroupChanged",t)}removeRowGroupColumns(e,t){this.updateColList(e,this.rowGroupCols,!1,!0,(e=>this.setRowGroupActive(!1,e,t)),"columnRowGroupChanged",t)}addPivotColumns(e,t){this.updateColList(e,this.pivotCols,!0,!1,(e=>e.setPivotActive(!0,t)),"columnPivotChanged",t)}setPivotColumns(e,t){this.setColList(e,this.pivotCols,"columnPivotChanged",!0,!1,((e,i)=>{i.setPivotActive(e,t)}),t)}removePivotColumns(e,t){this.updateColList(e,this.pivotCols,!1,!1,(e=>e.setPivotActive(!1,t)),"columnPivotChanged",t)}setValueColumns(e,t){this.setColList(e,this.valueCols,"columnValueChanged",!1,!1,((e,i)=>this.setValueActive(e,i,t)),t)}setValueActive(e,t,i){if(e!==t.isValueActive()&&(t.setValueActive(e,i),e&&!t.getAggFunc()&&this.aggFuncService)){const e=this.aggFuncService.getDefaultAggFunc(t);t.setAggFunc(e)}}addValueColumns(e,t){this.updateColList(e,this.valueCols,!0,!1,(e=>this.setValueActive(!0,e,t)),"columnValueChanged",t)}removeValueColumns(e,t){this.updateColList(e,this.valueCols,!1,!1,(e=>this.setValueActive(!1,e,t)),"columnValueChanged",t)}moveRowGroupColumn(e,t,i){if(this.isRowGroupEmpty())return;const a=this.rowGroupCols[e],n=this.rowGroupCols.slice(e,t);this.rowGroupCols.splice(e,1),this.rowGroupCols.splice(t,0,a),this.eventDispatcher.rowGroupChanged(n,i)}setColList(e,t,i,a,n,r,o){if(z(this.columnModel.getCols()))return;const s=new Map;t.forEach(((e,t)=>s.set(e,t))),t.length=0,N(e)&&e.forEach((e=>{const i=this.columnModel.getColDefCol(e);i&&t.push(i)})),t.forEach(((e,t)=>{const i=s.get(e);void 0!==i?a&&i!==t||s.delete(e):s.set(e,0)}));(this.columnModel.getColDefCols()||[]).forEach((e=>{const i=t.indexOf(e)>=0;r(i,e)})),n&&this.columnModel.refreshCols(),this.visibleColsService.refresh(o),this.eventDispatcher.columnChanged(i,[...s.keys()],o)}updateColList(e,t,i,a,n,r,o){if(!e||z(e))return;let s=!1;e.forEach((e=>{if(!e)return;const a=this.columnModel.getColDefCol(e);if(a){if(i){if(t.indexOf(a)>=0)return;t.push(a)}else{if(t.indexOf(a)<0)return;f(t,a)}n(a),s=!0}})),s&&(a&&this.columnModel.refreshCols(),this.visibleColsService.refresh(o),this.eventDispatcher.genericColumnEvent(r,t,o))}extractCols(e,t){this.extractRowGroupCols(e,t),this.extractPivotCols(e,t),this.extractValueCols(e,t)}extractValueCols(e,t){this.valueCols=this.extractColsCommon(t,this.valueCols,((t,i)=>t.setValueActive(i,e)),(()=>{}),(()=>{}),(e=>{const t=e.aggFunc;return null===t||""===t?null:void 0!==t?!!t:void 0}),(e=>null!=e.initialAggFunc&&""!=e.initialAggFunc)),this.valueCols.forEach((e=>{const t=e.getColDef();null!=t.aggFunc&&""!=t.aggFunc?e.setAggFunc(t.aggFunc):e.getAggFunc()||e.setAggFunc(t.initialAggFunc)}))}extractRowGroupCols(e,t){this.rowGroupCols=this.extractColsCommon(t,this.rowGroupCols,((t,i)=>t.setRowGroupActive(i,e)),(e=>e.rowGroupIndex),(e=>e.initialRowGroupIndex),(e=>e.rowGroup),(e=>e.initialRowGroup))}extractPivotCols(e,t){this.pivotCols=this.extractColsCommon(t,this.pivotCols,((t,i)=>t.setPivotActive(i,e)),(e=>e.pivotIndex),(e=>e.initialPivotIndex),(e=>e.pivot),(e=>e.initialPivot))}extractColsCommon(e=[],t=[],i,a,n,r,o){const s=[],l=[];(this.columnModel.getColDefCols()||[]).forEach((i=>{const c=e.indexOf(i)<0,d=i.getColDef(),h=V(r(d)),u=V(o(d)),g=B(a(d)),p=B(n(d));let m;if(m=void 0!==h?h:void 0!==g?null!==g&&g>=0:c?void 0!==u?u:!!(void 0!==p)&&(null!=p&&p>=0):t.indexOf(i)>=0,m){(c?null!=g||null!=p:null!=g)?s.push(i):l.push(i)}}));const c=e=>{const t=a(e.getColDef()),i=n(e.getColDef());return null!=t?t:i};s.sort(((e,t)=>{const i=c(e),a=c(t);return i===a?0:i<a?-1:1}));const d=[].concat(s);return t.forEach((e=>{l.indexOf(e)>=0&&d.push(e)})),l.forEach((e=>{d.indexOf(e)<0&&d.push(e)})),t.forEach((e=>{d.indexOf(e)<0&&i(e,!1)})),d.forEach((e=>{t.indexOf(e)<0&&i(e,!0)})),d}generateColumnStateForRowGroupAndPivotIndexes(e,t){const i={},a=(e,t,a,n,r,o)=>{const s=this.columnModel.getColDefCols();if(!t.length||!s)return[];const l=Object.keys(e),c=new Set(l),d=new Set(l),h=new Set(t.map((e=>{const t=e.getColId();return d.delete(t),t})).concat(l)),u=[],g={};let p=0;for(let e=0;e<s.length;e++){const t=s[e].getColId();h.has(t)&&(u.push(t),g[t]=p++)}let m=1e3,f=!1,v=0;const y=t=>{const i=g[t];for(let t=v;t<i;t++){const i=u[t];d.has(i)&&(e[i][r]=m++,d.delete(i))}v=i};t.forEach((t=>{const s=t.getColId();if(c.has(s))y(s),e[s][r]=m++;else{const l=t.getColDef();if(null===l[r]||void 0===l[r]&&null==l[o]){if(!f){l[a]||void 0===l[a]&&l[n]?y(s):(d.forEach((t=>{e[t][r]=m+g[t]})),m+=u.length,f=!0)}i[s]||(i[s]={colId:s}),i[s][r]=m++}}}))};return a(e,this.rowGroupCols,"rowGroup","initialRowGroup","rowGroupIndex","initialRowGroupIndex"),a(t,this.pivotCols,"pivot","initialPivot","pivotIndex","initialPivotIndex"),Object.values(i)}},Ne=class extends F{constructor(){super(...arguments),this.beanName="columnApplyStateService"}wireBeans(e){this.columnModel=e.columnModel,this.eventDispatcher=e.columnEventDispatcher,this.sortController=e.sortController,this.columnGetStateService=e.columnGetStateService,this.funcColsService=e.funcColsService,this.visibleColsService=e.visibleColsService,this.columnAnimationService=e.columnAnimationService,this.pivotResultColsService=e.pivotResultColsService}applyColumnState(e,t){const i=this.columnModel.getColDefCols()||[];if(z(i))return!1;if(e&&e.state&&!e.state.forEach)return de("applyColumnState() - the state attribute should be an array, however an array was not found. Please provide an array of items (one for each col you want to change) for state."),!1;const a=this.funcColsService.getModifyColumnsNoEventsCallbacks(),n=(i,n,r)=>{const o=this.compareColumnStatesAndDispatchEvents(t),s=n.slice(),l={},c={},d=[],h=[];let u=0;const g=this.funcColsService.getRowGroupColumns().slice(),p=this.funcColsService.getPivotColumns().slice();i.forEach((i=>{const n=i.colId||"";if(n.startsWith(Se))return d.push(i),void h.push(i);const o=r(n);o?(this.syncColumnWithStateItem(o,i,e.defaultState,l,c,!1,t,a),f(s,o)):(h.push(i),u+=1)}));const m=i=>this.syncColumnWithStateItem(i,null,e.defaultState,l,c,!1,t,a);s.forEach(m),this.funcColsService.sortRowGroupColumns(Oe.bind(this,l,g)),this.funcColsService.sortPivotColumns(Oe.bind(this,c,p)),this.columnModel.refreshCols();const v=(this.columnModel.getAutoCols()||[]).slice();return d.forEach((i=>{const n=this.columnModel.getAutoCol(i.colId);f(v,n),this.syncColumnWithStateItem(n,i,e.defaultState,null,null,!0,t,a)})),v.forEach(m),this.orderLiveColsLikeState(e),this.visibleColsService.refresh(t),this.eventDispatcher.everythingChanged(t),o(),{unmatchedAndAutoStates:h,unmatchedCount:u}};this.columnAnimationService.start();let{unmatchedAndAutoStates:r,unmatchedCount:o}=n(e.state||[],i,(e=>this.columnModel.getColDefCol(e)));if(r.length>0||N(e.defaultState)){const e=this.pivotResultColsService.getPivotResultCols(),t=e?.list;o=n(r,t||[],(e=>this.pivotResultColsService.getPivotResultCol(e))).unmatchedCount}return this.columnAnimationService.finish(),0===o}resetColumnState(e){if(z(this.columnModel.getColDefCols()))return;const t=xe(this.columnModel.getColDefColTree()),i=[];let a=1e3,n=1e3,r=[];const o=this.columnModel.getAutoCols();o&&(r=r.concat(o)),t&&(r=r.concat(t)),r.forEach((e=>{const t=this.getColumnStateFromColDef(e);O(t.rowGroupIndex)&&t.rowGroup&&(t.rowGroupIndex=a++),O(t.pivotIndex)&&t.pivot&&(t.pivotIndex=n++),i.push(t)})),this.applyColumnState({state:i,applyOrder:!0},e)}getColumnStateFromColDef(e){const t=(e,t)=>null!=e?e:null!=t?t:null,i=e.getColDef(),a=t(i.sort,i.initialSort),n=t(i.sortIndex,i.initialSortIndex),r=t(i.hide,i.initialHide),o=t(i.pinned,i.initialPinned),s=t(i.width,i.initialWidth),l=t(i.flex,i.initialFlex);let c=t(i.rowGroupIndex,i.initialRowGroupIndex),d=t(i.rowGroup,i.initialRowGroup);null!=c||null!=d&&0!=d||(c=null,d=null);let h=t(i.pivotIndex,i.initialPivotIndex),u=t(i.pivot,i.initialPivot);null!=h||null!=u&&0!=u||(h=null,u=null);const g=t(i.aggFunc,i.initialAggFunc);return{colId:e.getColId(),sort:a,sortIndex:n,hide:r,pinned:o,width:s,flex:l,rowGroup:d,rowGroupIndex:c,pivot:u,pivotIndex:h,aggFunc:g}}syncColumnWithStateItem(e,t,i,a,n,r,o,s){if(!e)return;const l=(e,a)=>{const n={value1:void 0,value2:void 0};let r=!1;return t&&(void 0!==t[e]&&(n.value1=t[e],r=!0),N(a)&&void 0!==t[a]&&(n.value2=t[a],r=!0)),!r&&i&&(void 0!==i[e]&&(n.value1=i[e]),N(a)&&void 0!==i[a]&&(n.value2=i[a])),n},c=l("hide").value1;void 0!==c&&e.setVisible(!c,o);const d=l("pinned").value1;void 0!==d&&e.setPinned(d);const h=e.getColDef().minWidth??20,u=l("flex").value1;if(void 0!==u&&e.setFlex(u),null==u){const t=l("width").value1;null!=t&&null!=h&&t>=h&&e.setActualWidth(t,o)}const g=l("sort").value1;void 0!==g&&("desc"===g||"asc"===g?e.setSort(g,o):e.setSort(void 0,o));const p=l("sortIndex").value1;if(void 0!==p&&e.setSortIndex(p),r||!e.isPrimary())return;const m=l("aggFunc").value1;void 0!==m&&("string"==typeof m?(e.setAggFunc(m),e.isValueActive()||(e.setValueActive(!0,o),s.addValueCol(e))):(N(m)&&de("stateItem.aggFunc must be a string. if using your own aggregation functions, register the functions first before using them in get/set state. This is because it is intended for the column state to be stored and retrieved as simple JSON."),e.isValueActive()&&(e.setValueActive(!1,o),s.removeValueCol(e))));const{value1:f,value2:v}=l("rowGroup","rowGroupIndex");void 0===f&&void 0===v||("number"==typeof v||f?(e.isRowGroupActive()||(e.setRowGroupActive(!0,o),s.addGroupCol(e)),a&&"number"==typeof v&&(a[e.getId()]=v)):e.isRowGroupActive()&&(e.setRowGroupActive(!1,o),s.removeGroupCol(e)));const{value1:y,value2:b}=l("pivot","pivotIndex");void 0===y&&void 0===b||("number"==typeof b||y?(e.isPivotActive()||(e.setPivotActive(!0,o),s.addPivotCol(e)),n&&"number"==typeof b&&(n[e.getId()]=b)):e.isPivotActive()&&(e.setPivotActive(!1,o),s.removePivotCol(e)))}orderLiveColsLikeState(e){if(!e.applyOrder||!e.state)return;const t=[];e.state.forEach((e=>{null!=e.colId&&t.push(e.colId)})),this.columnModel.sortColsLikeKeys(t)}compareColumnStatesAndDispatchEvents(e){const t={rowGroupColumns:this.funcColsService.getRowGroupColumns().slice(),pivotColumns:this.funcColsService.getPivotColumns().slice(),valueColumns:this.funcColsService.getValueColumns().slice()},i=this.columnGetStateService.getColumnState(),a={};return i.forEach((e=>{a[e.colId]=e})),()=>{const n=this.columnModel.getAllCols(),r=(t,i,a,n)=>{if(u(i.map(n),a.map(n)))return;const r=new Set(i);a.forEach((e=>{r.delete(e)||r.add(e)}));const o=[...r],s={type:t,columns:o,column:1===o.length?o[0]:null,source:e};this.eventService.dispatchEvent(s)},o=e=>{const t=[];return n.forEach((i=>{const n=a[i.getColId()];n&&e(n,i)&&t.push(i)})),t},s=e=>e.getColId();r("columnRowGroupChanged",t.rowGroupColumns,this.funcColsService.getRowGroupColumns(),s),r("columnPivotChanged",t.pivotColumns,this.funcColsService.getPivotColumns(),s);const l=o(((e,t)=>{const i=null!=e.aggFunc,a=i!=t.isValueActive(),n=i&&e.aggFunc!=t.getAggFunc();return a||n}));l.length>0&&this.eventDispatcher.columnChanged("columnValueChanged",l,e);this.eventDispatcher.columnResized(o(((e,t)=>e.width!=t.getActualWidth())),!0,e);this.eventDispatcher.columnPinned(o(((e,t)=>e.pinned!=t.getPinned())),e);this.eventDispatcher.columnVisible(o(((e,t)=>e.hide==t.isVisible())),e);const c=o(((e,t)=>e.sort!=t.getSort()||e.sortIndex!=t.getSortIndex()));c.length>0&&this.sortController.dispatchSortChangedEvents(e,c),this.normaliseColumnMovedEventForColumnState(i,e)}}normaliseColumnMovedEventForColumnState(e,t){const i=this.columnGetStateService.getColumnState(),a={};i.forEach((e=>a[e.colId]=e));const n={};e.forEach((e=>{a[e.colId]&&(n[e.colId]=!0)}));const r=e.filter((e=>n[e.colId])),o=i.filter((e=>n[e.colId])),s=[];o.forEach(((e,t)=>{const i=r&&r[t];if(i&&i.colId!==e.colId){const e=this.columnModel.getCol(i.colId);e&&s.push(e)}})),s.length&&this.eventDispatcher.columnMoved({movedColumns:s,source:t,finished:!0})}},Oe=(e,t,i,a)=>{const n=e[i.getId()],r=e[a.getId()],o=null!=n,s=null!=r;if(o&&s)return n-r;if(o)return-1;if(s)return 1;const l=t.indexOf(i),c=t.indexOf(a),d=l>=0;return d&&c>=0?l-c:d?-1:1},ze=class extends F{constructor(){super(...arguments),this.beanName="columnMoveService"}wireBeans(e){this.columnModel=e.columnModel,this.columnAnimationService=e.columnAnimationService,this.eventDispatcher=e.columnEventDispatcher}moveColumnByIndex(e,t,i){const a=this.columnModel.getCols();if(!a)return;const n=a[e];this.moveColumns([n],t,i)}moveColumns(e,t,i,a=!0){const n=this.columnModel.getCols();if(!n)return;if(this.columnAnimationService.start(),t>n.length-e.length)return de("tried to insert columns in invalid location, toIndex = ",t),void de("remember that you should not count the moving columns when calculating the new index");const r=this.columnModel.getColsForKeys(e);!this.doesMovePassRules(r,t)||(this.columnModel.moveInCols(r,t,i),this.eventDispatcher.columnMoved({movedColumns:r,source:i,toIndex:t,finished:a}),this.columnAnimationService.finish())}doesMovePassRules(e,t){const i=this.getProposedColumnOrder(e,t);return this.doesOrderPassRules(i)}doesOrderPassRules(e){return!!this.doesMovePassMarryChildren(e)&&!!this.doesMovePassLockedPositions(e)}getProposedColumnOrder(e,t){const i=this.columnModel.getCols().slice();return b(i,e,t),i}doesMovePassLockedPositions(e){const t=this.gos.get("enableRtl");let i=t?1:-1,a=!0;return e.forEach((e=>{const n=(r=e.getColDef().lockPosition)?"left"===r||!0===r?-1:1:0;var r;t?n>i&&(a=!1):n<i&&(a=!1),i=n})),a}doesMovePassMarryChildren(e){let t=!0;return Ee(null,this.columnModel.getColTree(),(i=>{if(!ne(i))return;const a=i,n=a.getColGroupDef();if(!(n&&n.marryChildren))return;const r=[];a.getLeafColumns().forEach((t=>{const i=e.indexOf(t);r.push(i)}));Math.max.apply(Math,r)-Math.min.apply(Math,r)>a.getLeafColumns().length-1&&(t=!1)})),t}placeLockedColumns(e){const t=[],i=[],a=[];e.forEach((e=>{const n=e.getColDef().lockPosition;"right"===n?a.push(e):"left"===n||!0===n?t.push(e):i.push(e)}));return this.gos.get("enableRtl")?[...a,...i,...t]:[...t,...i,...a]}},Ge=/[&<>"']/g,Be={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function Ve(e){const t=String.fromCharCode;function i(e,i){return t(e>>i&63|128)}function a(e){if(!(4294967168&e))return t(e);let a="";return 4294965248&e?4294901760&e?4292870144&e||(a=t(e>>18&7|240),a+=i(e,12),a+=i(e,6)):(!function(e){if(e>=55296&&e<=57343)throw Error("Lone surrogate U+"+e.toString(16).toUpperCase()+" is not a scalar value")}(e),a=t(e>>12&15|224),a+=i(e,6)):a=t(e>>6&31|192),a+=t(63&e|128),a}const n=function(e){const t=[];if(!e)return[];const i=e.length;let a,n,r=0;for(;r<i;)a=e.charCodeAt(r++),a>=55296&&a<=56319&&r<i?(n=e.charCodeAt(r++),56320==(64512&n)?t.push(((1023&a)<<10)+(1023&n)+65536):(t.push(a),r--)):t.push(a);return t}(e),r=n.length;let o,s=-1,l="";for(;++s<r;)o=n[s],l+=a(o);return l}function He(e){return e[0].toUpperCase()+e.substring(1).toLowerCase()}function We(e,t){if(null==e)return null;const i=e.toString().toString();return t?i:i.replace(Ge,(e=>Be[e]))}var _e=class extends F{constructor(){super(...arguments),this.beanName="columnNameService"}wireBeans(e){this.expressionService=e.expressionService,this.funcColsService=e.funcColsService,this.columnModel=e.columnModel}getDisplayNameForColumn(e,t,i=!1){if(!e)return null;const a=this.getHeaderName(e.getColDef(),e,null,null,t);return i?this.wrapHeaderNameWithAggFunc(e,a):a}getDisplayNameForProvidedColumnGroup(e,t,i){const a=t?t.getColGroupDef():null;return a?this.getHeaderName(a,null,e,t,i):null}getDisplayNameForColumnGroup(e,t){return this.getDisplayNameForProvidedColumnGroup(e,e.getProvidedColumnGroup(),t)}getHeaderName(e,t,i,a,n){const r=e.headerValueGetter;if(r){const o=this.gos.addGridCommonParams({colDef:e,column:t,columnGroup:i,providedColumnGroup:a,location:n});return"function"==typeof r?r(o):"string"==typeof r?this.expressionService.evaluate(r,o):(de("headerValueGetter must be a function or a string"),"")}return null!=e.headerName?e.headerName:e.field?(o=e.field)&&null!=o?o.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z])([a-z])/g,"$1 $2$3").replace(/\./g," ").split(" ").map((e=>e.substring(0,1).toUpperCase()+(e.length>1?e.substring(1,e.length):""))).join(" "):null:"";var o}wrapHeaderNameWithAggFunc(e,t){if(this.gos.get("suppressAggFuncInHeader"))return t;const i=e.getColDef().pivotValueColumn;let a,n=null;if(N(i)){const r=this.funcColsService.getValueColumns(),o=this.gos.get("removePivotHeaderRowWhenSingleValueColumn")&&1===r.length,s=void 0!==e.getColDef().pivotTotalColumnIds;if(o&&!s)return t;n=i?i.getAggFunc():null,a=!0}else{const t=e.isValueActive(),i=this.columnModel.isPivotMode()||!this.funcColsService.isRowGroupEmpty();t&&i?(n=e.getAggFunc(),a=!0):a=!1}if(a){const e="string"==typeof n?n:"func";return`${this.localeService.getLocaleTextFunc()(e,e)}(${t})`}return t}},qe=class extends F{constructor(){super(...arguments),this.beanName="pivotResultColsService"}wireBeans(e){this.context=e.context,this.columnModel=e.columnModel,this.columnFactory=e.columnFactory,this.visibleColsService=e.visibleColsService}destroy(){Me(this.context,this.pivotResultCols?.tree),super.destroy()}isPivotResultColsPresent(){return null!=this.pivotResultCols}lookupPivotResultCol(e,t){if(null==this.pivotResultCols)return null;const i=this.columnModel.getColDefCol(t);let a=null;return this.pivotResultCols.list.forEach((t=>{const n=t.getColDef().pivotKeys,r=t.getColDef().pivotValueColumn;u(n,e)&&r===i&&(a=t)})),a}getPivotResultCols(){return this.pivotResultCols}getPivotResultCol(e){return this.pivotResultCols?this.columnModel.getColFromCollection(e,this.pivotResultCols):null}setPivotResultCols(e,t){if(this.columnModel.isReady()&&(null!=e||null!=this.pivotResultCols)){if(e){this.processPivotResultColDef(e);const i=this.columnFactory.createColumnTree(e,!1,this.pivotResultCols?.tree||this.previousPivotResultCols||void 0,t);Me(this.context,this.pivotResultCols?.tree,i.columnTree);const a=i.columnTree,n=i.treeDept,r=xe(a),o={};this.pivotResultCols={tree:a,treeDepth:n,list:r,map:o},this.pivotResultCols.list.forEach((e=>this.pivotResultCols.map[e.getId()]=e)),this.previousPivotResultCols=null}else this.previousPivotResultCols=this.pivotResultCols?this.pivotResultCols.tree:null,this.pivotResultCols=null;this.columnModel.refreshCols(),this.visibleColsService.refresh(t)}}processPivotResultColDef(e){const t=this.gos.get("processPivotResultColDef"),i=this.gos.get("processPivotResultColGroupDef");if(!t&&!i)return;const a=e=>{e.forEach((e=>{if(N(e.children)){const t=e;i&&i(t),a(t.children)}else{t&&t(e)}}))};e&&a(e)}},Ue=class extends F{constructor(){super(...arguments),this.beanName="columnSizeService"}wireBeans(e){this.columnModel=e.columnModel,this.columnViewportService=e.columnViewportService,this.eventDispatcher=e.columnEventDispatcher,this.visibleColsService=e.visibleColsService,this.ctrlsService=e.ctrlsService}setColumnWidths(e,t,i,a){const n=[];e.forEach((e=>{const i=this.columnModel.getColDefCol(e.key)||this.columnModel.getCol(e.key);if(!i)return;n.push({width:e.newWidth,ratios:[1],columns:[i]});if("shift"===this.gos.get("colResizeDefault")&&(t=!t),t){const t=this.visibleColsService.getColAfter(i);if(!t)return;const a=i.getActualWidth()-e.newWidth,r=t.getActualWidth()+a;n.push({width:r,ratios:[1],columns:[t]})}})),0!==n.length&&this.resizeColumnSets({resizeSets:n,finished:i,source:a})}resizeColumnSets(e){const{resizeSets:t,finished:i,source:a}=e;if(!(!t||t.every((e=>this.checkMinAndMaxWidthsForSet(e))))){if(i){const e=t&&t.length>0?t[0].columns:null;this.eventDispatcher.columnResized(e,i,a)}return}const n=[],r=[];t.forEach((e=>{const{width:t,columns:i,ratios:o}=e,s={},l={};i.forEach((e=>r.push(e)));let c=!0,d=0;for(;c;){if(d++,d>1e3){he("infinite loop in resizeColumnSets");break}c=!1;const e=[];let a=0,n=t;i.forEach(((t,i)=>{if(l[t.getId()])n-=s[t.getId()];else{e.push(t);const n=o[i];a+=n}}));const r=1/a;e.forEach(((i,a)=>{let d;a===e.length-1?d=n:(d=Math.round(o[a]*t*r),n-=d);const h=i.getMinWidth(),u=i.getMaxWidth();d<h?(d=h,l[i.getId()]=!0,c=!0):u>0&&d>u&&(d=u,l[i.getId()]=!0,c=!0),s[i.getId()]=d}))}i.forEach((e=>{const t=s[e.getId()];e.getActualWidth()!==t&&(e.setActualWidth(t,a),n.push(e))}))}));const o=n.length>0;let s=[];o&&(s=this.refreshFlexedColumns({resizingCols:r,skipSetLeft:!0}),this.visibleColsService.setLeftValues(a),this.visibleColsService.updateBodyWidths(),this.columnViewportService.checkViewportColumns());const l=r.concat(s);(o||i)&&this.eventDispatcher.columnResized(l,i,a,s)}checkMinAndMaxWidthsForSet(e){const{columns:t,width:i}=e;let a=0,n=0,r=!0;t.forEach((e=>{const t=e.getMinWidth();a+=t||0;const i=e.getMaxWidth();i>0?n+=i:r=!1}));return i>=a&&(!r||i<=n)}refreshFlexedColumns(e={}){const t=e.source?e.source:"flex";if(null!=e.viewportWidth&&(this.flexViewportWidth=e.viewportWidth),!this.flexViewportWidth)return[];const i=this.visibleColsService.getCenterCols();let a=-1;if(e.resizingCols){const t=new Set(e.resizingCols);for(let e=i.length-1;e>=0;e--)if(t.has(i[e])){a=e;break}}let n=0,r=[],o=0,s=0;for(let e=0;e<i.length;e++){i[e].getFlex()&&e>a?(r.push(i[e]),s+=i[e].getFlex(),o+=i[e].getMinWidth()):n+=i[e].getActualWidth()}if(!r.length)return[];let l=[];n+o>this.flexViewportWidth&&(r.forEach((e=>e.setActualWidth(e.getMinWidth(),t))),l=r,r=[]);const c=[];let d;e:for(;;){d=this.flexViewportWidth-n;const e=d/s;for(let i=0;i<r.length;i++){const a=r[i],o=e*a.getFlex();let d=0;const h=a.getMinWidth(),u=a.getMaxWidth();if(o<h?d=h:o>u&&(d=u),d){a.setActualWidth(d,t),m(r,a),s-=a.getFlex(),l.push(a),n+=a.getActualWidth();continue e}c[i]=Math.round(o)}break}let h=d;return r.forEach(((e,i)=>{e.setActualWidth(Math.min(c[i],h),t),l.push(e),h-=c[i]})),e.skipSetLeft||this.visibleColsService.setLeftValues(t),e.updateBodyWidths&&this.visibleColsService.updateBodyWidths(),e.fireResizedEvent&&this.eventDispatcher.columnResized(l,!0,t,r),r}sizeColumnsToFit(e,t="sizeColumnsToFit",i,a){if(this.columnModel.isShouldQueueResizeOperations())return void this.columnModel.pushResizeOperation((()=>this.sizeColumnsToFit(e,t,i,a)));const n={};a&&a?.columnLimits?.forEach((({key:e,...t})=>{n["string"==typeof e?e:e.getColId()]=t}));const r=this.visibleColsService.getAllCols(),o=e===ke(r);if(e<=0||!r.length||o)return;const s=[],l=[];r.forEach((e=>{!0===e.getColDef().suppressSizeToFit?l.push(e):s.push(e)}));const c=s.slice(0);let d=!1;const h=e=>{f(s,e),l.push(e)};for(s.forEach((e=>{e.resetActualWidth(t);const i=n?.[e.getId()],r=i?.minWidth??a?.defaultMinWidth,o=i?.maxWidth??a?.defaultMaxWidth,s=e.getActualWidth();"number"==typeof r&&s<r?e.setActualWidth(r,t,!0):"number"==typeof o&&s>o&&e.setActualWidth(o,t,!0)}));!d;){d=!0;const i=e-ke(l);if(i<=0)s.forEach((e=>{const i=n?.[e.getId()]?.minWidth??a?.defaultMinWidth;"number"!=typeof i?e.setMinimum(t):e.setActualWidth(i,t,!0)}));else{const e=i/ke(s);let r=i;for(let i=s.length-1;i>=0;i--){const o=s[i],l=n?.[o.getId()],c=l?.minWidth??a?.defaultMinWidth,u=l?.maxWidth??a?.defaultMaxWidth,g=o.getMinWidth(),p=o.getMaxWidth(),m="number"==typeof c&&c>g?c:g,f="number"==typeof u&&u<p?u:p;let v=Math.round(o.getActualWidth()*e);v<m?(v=m,h(o),d=!1):v>f?(v=f,h(o),d=!1):0===i&&(v=r),o.setActualWidth(v,t,!0),r-=v}}}c.forEach((e=>{e.fireColumnWidthChangedEvent(t)})),this.visibleColsService.setLeftValues(t),this.visibleColsService.updateBodyWidths(),i||this.eventDispatcher.columnResized(c,!0,t)}applyAutosizeStrategy(){const e=this.gos.get("autoSizeStrategy");if(!e)return;const{type:t}=e;setTimeout((()=>{if("fitGridWidth"===t){const{columnLimits:t,defaultMinWidth:i,defaultMaxWidth:a}=e,n=t?.map((({colId:e,minWidth:t,maxWidth:i})=>({key:e,minWidth:t,maxWidth:i})));this.ctrlsService.getGridBodyCtrl().sizeColumnsToFit({defaultMinWidth:i,defaultMaxWidth:a,columnLimits:n})}else"fitProvidedWidth"===t&&this.sizeColumnsToFit(e.width,"sizeColumnsToFit")}))}};function Ke(e,t){return e+"_"+t}function je(e){return e instanceof Ye}var Ye=class extends F{constructor(e,t,i,a){super(),this.isColumn=!1,this.displayedChildren=[],this.parent=null,this.groupId=t,this.partId=i,this.providedColumnGroup=e,this.pinned=a}reset(){this.parent=null,this.children=null,this.displayedChildren=null}getParent(){return this.parent}setParent(e){this.parent=e}getUniqueId(){return Ke(this.groupId,this.partId)}isEmptyGroup(){return 0===this.displayedChildren.length}isMoving(){const e=this.getProvidedColumnGroup().getLeafColumns();return!(!e||0===e.length)&&e.every((e=>e.isMoving()))}checkLeft(){if(this.displayedChildren.forEach((e=>{je(e)&&e.checkLeft()})),this.displayedChildren.length>0)if(this.gos.get("enableRtl")){const e=h(this.displayedChildren).getLeft();this.setLeft(e)}else{const e=this.displayedChildren[0].getLeft();this.setLeft(e)}else this.setLeft(null)}getLeft(){return this.left}getOldLeft(){return this.oldLeft}setLeft(e){this.oldLeft=this.left,this.left!==e&&(this.left=e,this.dispatchLocalEvent({type:"leftChanged"}))}getPinned(){return this.pinned}getGroupId(){return this.groupId}getPartId(){return this.partId}getActualWidth(){let e=0;return this.displayedChildren&&this.displayedChildren.forEach((t=>{e+=t.getActualWidth()})),e}isResizable(){if(!this.displayedChildren)return!1;let e=!1;return this.displayedChildren.forEach((t=>{t.isResizable()&&(e=!0)})),e}getMinWidth(){let e=0;return this.displayedChildren.forEach((t=>{e+=t.getMinWidth()})),e}addChild(e){this.children||(this.children=[]),this.children.push(e)}getDisplayedChildren(){return this.displayedChildren}getLeafColumns(){const e=[];return this.addLeafColumns(e),e}getDisplayedLeafColumns(){const e=[];return this.addDisplayedLeafColumns(e),e}getDefinition(){return this.providedColumnGroup.getColGroupDef()}getColGroupDef(){return this.providedColumnGroup.getColGroupDef()}isPadding(){return this.providedColumnGroup.isPadding()}isExpandable(){return this.providedColumnGroup.isExpandable()}isExpanded(){return this.providedColumnGroup.isExpanded()}setExpanded(e){this.providedColumnGroup.setExpanded(e)}addDisplayedLeafColumns(e){this.displayedChildren.forEach((t=>{ie(t)?e.push(t):je(t)&&t.addDisplayedLeafColumns(e)}))}addLeafColumns(e){this.children.forEach((t=>{ie(t)?e.push(t):je(t)&&t.addLeafColumns(e)}))}getChildren(){return this.children}getColumnGroupShow(){return this.providedColumnGroup.getColumnGroupShow()}getProvidedColumnGroup(){return this.providedColumnGroup}getPaddingLevel(){const e=this.getParent();return this.isPadding()&&e&&e.isPadding()?1+e.getPaddingLevel():0}calculateDisplayedColumns(){this.displayedChildren=[];let e=this;for(;null!=e&&e.isPadding();)e=e.getParent();if(!(!!e&&e.getProvidedColumnGroup().isExpandable()))return this.displayedChildren=this.children,void this.dispatchLocalEvent({type:"displayedChildrenChanged"});this.children.forEach((t=>{if(je(t)&&(!t.displayedChildren||!t.displayedChildren.length))return;switch(t.getColumnGroupShow()){case"open":e.getProvidedColumnGroup().isExpanded()&&this.displayedChildren.push(t);break;case"closed":e.getProvidedColumnGroup().isExpanded()||this.displayedChildren.push(t);break;default:this.displayedChildren.push(t)}})),this.dispatchLocalEvent({type:"displayedChildrenChanged"})}},$e=class{constructor(){this.existingIds={}}getInstanceIdForKey(e){const t=this.existingIds[e];let i;return i="number"!=typeof t?0:t+1,this.existingIds[e]=i,i}},Ze=class extends F{constructor(){super(...arguments),this.beanName="visibleColsService",this.colsAndGroupsMap={},this.columnsLeft=[],this.columnsRight=[],this.columnsCenter=[],this.columns=[],this.bodyWidth=0,this.leftWidth=0,this.rightWidth=0,this.bodyWidthDirty=!0}wireBeans(e){this.columnModel=e.columnModel,this.columnSizeService=e.columnSizeService,this.columnViewportService=e.columnViewportService,this.eventDispatcher=e.columnEventDispatcher}refresh(e,t=!1){t||this.buildTrees(),this.updateOpenClosedVisibilityInColumnGroups(),this.columnsLeft=Qe(this.treeLeft),this.columnsCenter=Qe(this.treeCenter),this.columnsRight=Qe(this.treeRight),this.joinColsAriaOrder(),this.joinCols(),this.setLeftValues(e),this.autoHeightCols=this.columns.filter((e=>e.isAutoHeight())),this.columnSizeService.refreshFlexedColumns(),this.updateBodyWidths(),this.columnViewportService.checkViewportColumns(!1),this.setFirstRightAndLastLeftPinned(e),this.eventDispatcher.visibleCols()}updateBodyWidths(){const e=ke(this.columnsCenter),t=ke(this.columnsLeft),i=ke(this.columnsRight);this.bodyWidthDirty=this.bodyWidth!==e;if(this.bodyWidth!==e||this.leftWidth!==t||this.rightWidth!==i){this.bodyWidth=e,this.leftWidth=t,this.rightWidth=i;const a={type:"columnContainerWidthChanged"};this.eventService.dispatchEvent(a);const n={type:"displayedColumnsWidthChanged"};this.eventService.dispatchEvent(n)}}setLeftValues(e){this.setLeftValuesOfCols(e),this.setLeftValuesOfGroups()}setFirstRightAndLastLeftPinned(e){let t,i;this.gos.get("enableRtl")?(t=this.columnsLeft?this.columnsLeft[0]:null,i=this.columnsRight?h(this.columnsRight):null):(t=this.columnsLeft?h(this.columnsLeft):null,i=this.columnsRight?this.columnsRight[0]:null),this.columnModel.getCols().forEach((a=>{a.setLastLeftPinned(a===t,e),a.setFirstRightPinned(a===i,e)}))}buildTrees(){const e=this.columnModel.getColsToShow(),t=e.filter((e=>"left"==e.getPinned())),i=e.filter((e=>"right"==e.getPinned())),a=e.filter((e=>"left"!=e.getPinned()&&"right"!=e.getPinned())),n=new $e;this.treeLeft=this.createGroups({columns:t,idCreator:n,pinned:"left",oldDisplayedGroups:this.treeLeft}),this.treeRight=this.createGroups({columns:i,idCreator:n,pinned:"right",oldDisplayedGroups:this.treeRight}),this.treeCenter=this.createGroups({columns:a,idCreator:n,pinned:null,oldDisplayedGroups:this.treeCenter}),this.updateColsAndGroupsMap()}clear(){this.columnsLeft=[],this.columnsRight=[],this.columnsCenter=[],this.columns=[],this.ariaOrderColumns=[]}joinColsAriaOrder(){const e=this.columnModel.getCols(),t=[],i=[],a=[];for(const n of e){const e=n.getPinned();e?!0===e||"left"===e?t.push(n):a.push(n):i.push(n)}this.ariaOrderColumns=t.concat(i).concat(a)}getAriaColIndex(e){let t;return t=je(e)?e.getLeafColumns()[0]:e,this.ariaOrderColumns.indexOf(t)+1}getAllAutoHeightCols(){return this.autoHeightCols}setLeftValuesOfGroups(){[this.treeLeft,this.treeRight,this.treeCenter].forEach((e=>{e.forEach((e=>{if(je(e)){e.checkLeft()}}))}))}setLeftValuesOfCols(e){if(!this.columnModel.getColDefCols())return;const t=this.columnModel.getCols().slice(0),i=this.gos.get("enableRtl");[this.columnsLeft,this.columnsRight,this.columnsCenter].forEach((a=>{if(i){let t=ke(a);a.forEach((i=>{t-=i.getActualWidth(),i.setLeft(t,e)}))}else{let t=0;a.forEach((i=>{i.setLeft(t,e),t+=i.getActualWidth()}))}!function(e,t){for(let i=0;i<t.length;i++)m(e,t[i])}(t,a)})),t.forEach((t=>{t.setLeft(null,e)}))}joinCols(){this.gos.get("enableRtl")?this.columns=this.columnsRight.concat(this.columnsCenter).concat(this.columnsLeft):this.columns=this.columnsLeft.concat(this.columnsCenter).concat(this.columnsRight)}getColsCenter(){return this.columnsCenter}getAllTrees(){return this.treeLeft&&this.treeRight&&this.treeCenter?this.treeLeft.concat(this.treeCenter).concat(this.treeRight):null}getTreeLeft(){return this.treeLeft}getTreeRight(){return this.treeRight}getTreeCenter(){return this.treeCenter}getAllCols(){return this.columns}isColDisplayed(e){return this.getAllCols().indexOf(e)>=0}getLeftColsForRow(e){return this.columnModel.isColSpanActive()?this.getColsForRow(e,this.columnsLeft):this.columnsLeft}getRightColsForRow(e){return this.columnModel.isColSpanActive()?this.getColsForRow(e,this.columnsRight):this.columnsRight}getColsForRow(e,t,i,a){const n=[];let r=null;for(let o=0;o<t.length;o++){const s=t[o],l=t.length-o,c=Math.min(s.getColSpan(e),l),d=[s];if(c>1){const e=c-1;for(let i=1;i<=e;i++)d.push(t[o+i]);o+=e}let h;if(i?(h=!1,d.forEach((e=>{i(e)&&(h=!0)}))):h=!0,h){if(0===n.length&&r){!!a&&a(s)&&n.push(r)}n.push(s)}r=s}return n}getBodyContainerWidth(){return this.bodyWidth}getContainerWidth(e){switch(e){case"left":return this.leftWidth;case"right":return this.rightWidth;default:return this.bodyWidth}}getCenterCols(){return this.columnsCenter}getLeftCols(){return this.columnsLeft}getRightCols(){return this.columnsRight}getColBefore(e){const t=this.getAllCols(),i=t.indexOf(e);return i>0?t[i-1]:null}getGroupAtDirection(e,t){const i=e.getProvidedColumnGroup().getLevel()+e.getPaddingLevel(),a=e.getDisplayedLeafColumns(),n="After"===t?h(a):a[0],r=`getCol${t}`;for(;;){const t=this[r](n);if(!t)return null;const a=this.getColGroupAtLevel(t,i);if(a!==e)return a}}getColGroupAtLevel(e,t){let i,a,n=e.getParent();for(;;){if(i=n.getProvidedColumnGroup().getLevel(),a=n.getPaddingLevel(),i+a<=t)break;n=n.getParent()}return n}isPinningLeft(){return this.columnsLeft.length>0}isPinningRight(){return this.columnsRight.length>0}updateColsAndGroupsMap(){this.colsAndGroupsMap={};const e=e=>{this.colsAndGroupsMap[e.getUniqueId()]=e};Xe(this.treeCenter,!1,e),Xe(this.treeLeft,!1,e),Xe(this.treeRight,!1,e)}isVisible(e){return this.colsAndGroupsMap[e.getUniqueId()]===e}updateOpenClosedVisibilityInColumnGroups(){Xe(this.getAllTrees(),!1,(e=>{je(e)&&e.calculateDisplayedColumns()}))}getFirstColumn(){const e=this.gos.get("enableRtl"),t=["getLeftCols","getCenterCols","getRightCols"];e&&t.reverse();for(let i=0;i<t.length;i++){const a=this[t[i]]();if(a.length)return e?h(a):a[0]}return null}getColumnGroup(e,t){if(!e)return null;if(je(e))return e;const i=this.getAllTrees(),a="number"==typeof t;let n=null;return Xe(i,!1,(i=>{if(je(i)){const r=i;let o;o=a?e===r.getGroupId()&&t===r.getPartId():e===r.getGroupId(),o&&(n=r)}})),n}getColAfter(e){const t=this.getAllCols(),i=t.indexOf(e);return i<t.length-1?t[i+1]:null}isBodyWidthDirty(){return this.bodyWidthDirty}setBodyWidthDirty(){this.bodyWidthDirty=!0}getColsLeftWidth(){return ke(this.columnsLeft)}getDisplayedColumnsRightWidth(){return ke(this.columnsRight)}isColAtEdge(e,t){const i=this.getAllCols();if(!i.length)return!1;const a="first"===t;let n;if(je(e)){const t=e.getDisplayedLeafColumns();if(!t.length)return!1;n=a?t[0]:h(t)}else n=e;return(a?i[0]:h(i))===n}createGroups(e){const{columns:t,idCreator:i,pinned:a,oldDisplayedGroups:n,isStandaloneStructure:r}=e,o=this.mapOldGroupsById(n),s=[];let l=t;for(;l.length;){const e=l;l=[];let t=0;const n=n=>{const c=t;t=n;const d=e[c],h=(je(d)?d.getProvidedColumnGroup():d).getOriginalParent();if(null==h){for(let t=c;t<n;t++)s.push(e[t]);return}const u=this.createColGroup(h,i,o,a,r);for(let t=c;t<n;t++)u.addChild(e[t]);l.push(u)};for(let i=1;i<e.length;i++){const a=e[i],r=(je(a)?a.getProvidedColumnGroup():a).getOriginalParent(),o=e[t];r!==(je(o)?o.getProvidedColumnGroup():o).getOriginalParent()&&n(i)}t<e.length&&n(e.length)}return r||this.setupParentsIntoCols(s,null),s}createColGroup(e,t,i,a,n){const r=e.getGroupId(),o=t.getInstanceIdForKey(r);let s=i[Ke(r,o)];return s&&s.getProvidedColumnGroup()!==e&&(s=null),N(s)?s.reset():(s=new Ye(e,r,o,a),n||this.createBean(s)),s}mapOldGroupsById(e){const t={},i=e=>{e.forEach((e=>{if(je(e)){const a=e;t[e.getUniqueId()]=a,i(a.getChildren())}}))};return e&&i(e),t}setupParentsIntoCols(e,t){e.forEach((e=>{if(e.setParent(t),je(e)){const t=e;this.setupParentsIntoCols(t.getChildren(),t)}}))}};function Xe(e,t,i){if(e)for(let a=0;a<e.length;a++){const n=e[a];if(je(n)){Xe(t?n.getDisplayedChildren():n.getChildren(),t,i)}i(n)}}function Qe(e){const t=[];return Xe(e,!0,(e=>{ie(e)&&t.push(e)})),t}var Je=["columnEverythingChanged","newColumnsLoaded","columnPivotModeChanged","pivotMaxColumnsExceeded","columnRowGroupChanged","expandOrCollapseAll","columnPivotChanged","gridColumnsChanged","columnValueChanged","columnMoved","columnVisible","columnPinned","columnGroupOpened","columnResized","displayedColumnsChanged","virtualColumnsChanged","columnHeaderMouseOver","columnHeaderMouseLeave","columnHeaderClicked","columnHeaderContextMenu","asyncTransactionsFlushed","rowGroupOpened","rowDataUpdated","pinnedRowDataChanged","rangeSelectionChanged","chartCreated","chartRangeSelectionChanged","chartOptionsChanged","chartDestroyed","toolPanelVisibleChanged","toolPanelSizeChanged","modelUpdated","cutStart","cutEnd","pasteStart","pasteEnd","fillStart","fillEnd","rangeDeleteStart","rangeDeleteEnd","undoStarted","undoEnded","redoStarted","redoEnded","cellClicked","cellDoubleClicked","cellMouseDown","cellContextMenu","cellValueChanged","cellEditRequest","rowValueChanged","headerFocused","cellFocused","rowSelected","selectionChanged","tooltipShow","tooltipHide","cellKeyDown","cellMouseOver","cellMouseOut","filterChanged","filterModified","filterOpened","advancedFilterBuilderVisibleChanged","sortChanged","virtualRowRemoved","rowClicked","rowDoubleClicked","gridReady","gridPreDestroyed","gridSizeChanged","viewportChanged","firstDataRendered","dragStarted","dragStopped","rowEditingStarted","rowEditingStopped","cellEditingStarted","cellEditingStopped","bodyScroll","bodyScrollEnd","paginationChanged","componentStateChanged","storeRefreshed","stateUpdated","columnMenuVisibleChanged","contextMenuVisibleChanged","rowDragEnter","rowDragMove","rowDragLeave","rowDragEnd"],et=[...Je,"scrollbarWidthChanged","keyShortcutChangedCellStart","keyShortcutChangedCellEnd","pinnedHeightChanged","cellFocusCleared","fullWidthRowFocused","checkboxChanged","heightScaleChanged","suppressMovableColumns","suppressMenuHide","suppressFieldDotNotation","columnPanelItemDragStart","columnPanelItemDragEnd","bodyHeightChanged","columnContainerWidthChanged","displayedColumnsWidthChanged","scrollVisibilityChanged","columnHoverChanged","flashCells","paginationPixelOffsetChanged","displayedRowsChanged","leftPinnedWidthChanged","rightPinnedWidthChanged","rowContainerHeightChanged","headerHeightChanged","columnHeaderHeightChanged","gridStylesChanged","storeUpdated","filterDestroyed","rowDataUpdateStarted","rowCountReady","advancedFilterEnabledChanged","dataTypesInferred","fieldValueChanged","fieldPickerValueSelected","richSelectListRowSelected","sideBarUpdated","alignedGridScroll","alignedGridColumn","gridOptionsChanged","chartTitleEdit","recalculateRowBounds","stickyTopOffsetChanged"],tt={enableBrowserTooltips:!0,tooltipTrigger:!0,tooltipMouseTrack:!0,tooltipShowMode:!0,tooltipInteraction:!0,defaultColGroupDef:!0,suppressAutoSize:!0,skipHeaderOnAutoSize:!0,autoSizeStrategy:!0,components:!0,stopEditingWhenCellsLoseFocus:!0,undoRedoCellEditing:!0,undoRedoCellEditingLimit:!0,excelStyles:!0,cacheQuickFilter:!0,advancedFilterModel:!0,customChartThemes:!0,chartThemeOverrides:!0,chartToolPanelsDef:!0,loadingCellRendererSelector:!0,localeText:!0,keepDetailRows:!0,keepDetailRowsCount:!0,detailRowHeight:!0,detailRowAutoHeight:!0,tabIndex:!0,valueCache:!0,valueCacheNeverExpires:!0,enableCellExpressions:!0,suppressTouch:!0,suppressAsyncEvents:!0,suppressBrowserResizeObserver:!0,suppressPropertyNamesCheck:!0,debug:!0,loadingOverlayComponent:!0,suppressLoadingOverlay:!0,noRowsOverlayComponent:!0,paginationPageSizeSelector:!0,paginateChildRows:!0,pivotPanelShow:!0,pivotSuppressAutoColumn:!0,suppressExpandablePivotGroups:!0,aggFuncs:!0,suppressAggFuncInHeader:!0,removePivotHeaderRowWhenSingleValueColumn:!0,allowShowChangeAfterFilter:!0,ensureDomOrder:!0,enableRtl:!0,suppressColumnVirtualisation:!0,suppressMaxRenderedRowRestriction:!0,suppressRowVirtualisation:!0,rowDragText:!0,suppressGroupMaintainValueType:!0,groupLockGroupColumns:!0,rowGroupPanelSuppressSort:!0,suppressGroupRowsSticky:!0,rowModelType:!0,cacheOverflowSize:!0,infiniteInitialRowCount:!0,serverSideInitialRowCount:!0,suppressServerSideInfiniteScroll:!0,maxBlocksInCache:!0,maxConcurrentDatasourceRequests:!0,blockLoadDebounceMillis:!0,serverSideOnlyRefreshFilteredGroups:!0,serverSidePivotResultFieldSeparator:!0,viewportRowModelPageSize:!0,viewportRowModelBufferSize:!0,debounceVerticalScrollbar:!0,suppressAnimationFrame:!0,suppressPreventDefaultOnMouseWheel:!0,scrollbarWidth:!0,icons:!0,suppressRowTransform:!0,gridId:!0,enableGroupEdit:!0,initialState:!0,processUnpinnedColumns:!0,createChartContainer:!0,getLocaleText:!0,getRowId:!0,reactiveCustomComponents:!0,columnMenu:!0},it=class{};it.STRING_PROPERTIES=["rowSelection","overlayLoadingTemplate","overlayNoRowsTemplate","gridId","quickFilterText","rowModelType","editType","domLayout","clipboardDelimiter","rowGroupPanelShow","multiSortKey","pivotColumnGroupTotals","pivotRowTotals","pivotPanelShow","fillHandleDirection","groupDisplayType","treeDataDisplayType","colResizeDefault","tooltipTrigger","serverSidePivotResultFieldSeparator","columnMenu","tooltipShowMode","grandTotalRow"],it.OBJECT_PROPERTIES=["components","rowStyle","context","autoGroupColumnDef","localeText","icons","datasource","serverSideDatasource","viewportDatasource","groupRowRendererParams","aggFuncs","fullWidthCellRendererParams","defaultColGroupDef","defaultColDef","defaultCsvExportParams","defaultExcelExportParams","columnTypes","rowClassRules","detailCellRendererParams","loadingCellRendererParams","loadingOverlayComponentParams","noRowsOverlayComponentParams","popupParent","statusBar","sideBar","chartThemeOverrides","customChartThemes","chartToolPanelsDef","dataTypeDefinitions","advancedFilterModel","advancedFilterParent","advancedFilterBuilderParams","initialState","autoSizeStrategy"],it.ARRAY_PROPERTIES=["sortingOrder","alignedGrids","rowData","columnDefs","excelStyles","pinnedTopRowData","pinnedBottomRowData","chartThemes","rowClass","paginationPageSizeSelector"],it.NUMBER_PROPERTIES=["rowHeight","detailRowHeight","rowBuffer","headerHeight","groupHeaderHeight","groupLockGroupColumns","floatingFiltersHeight","pivotHeaderHeight","pivotGroupHeaderHeight","groupDefaultExpanded","pivotDefaultExpanded","viewportRowModelPageSize","viewportRowModelBufferSize","autoSizePadding","maxBlocksInCache","maxConcurrentDatasourceRequests","tooltipShowDelay","tooltipHideDelay","cacheOverflowSize","paginationPageSize","cacheBlockSize","infiniteInitialRowCount","serverSideInitialRowCount","scrollbarWidth","asyncTransactionWaitMillis","blockLoadDebounceMillis","keepDetailRowsCount","undoRedoCellEditingLimit","cellFlashDelay","cellFadeDelay","cellFlashDuration","cellFadeDuration","tabIndex","pivotMaxGeneratedColumns"],it.BOOLEAN_PROPERTIES=["suppressMakeColumnVisibleAfterUnGroup","suppressRowClickSelection","suppressCellFocus","suppressHeaderFocus","suppressHorizontalScroll","groupSelectsChildren","alwaysShowHorizontalScroll","alwaysShowVerticalScroll","debug","enableBrowserTooltips","enableCellExpressions","groupIncludeTotalFooter","groupSuppressBlankHeader","suppressMenuHide","suppressRowDeselection","unSortIcon","suppressMultiSort","alwaysMultiSort","singleClickEdit","suppressLoadingOverlay","suppressNoRowsOverlay","suppressAutoSize","skipHeaderOnAutoSize","suppressColumnMoveAnimation","suppressMovableColumns","suppressFieldDotNotation","enableRangeSelection","enableRangeHandle","enableFillHandle","suppressClearOnFillReduction","deltaSort","suppressTouch","suppressAsyncEvents","allowContextMenuWithControlKey","suppressContextMenu","enableCellChangeFlash","suppressDragLeaveHidesColumns","suppressRowGroupHidesColumns","suppressMiddleClickScrolls","suppressPreventDefaultOnMouseWheel","suppressCopyRowsToClipboard","copyHeadersToClipboard","copyGroupHeadersToClipboard","pivotMode","suppressAggFuncInHeader","suppressColumnVirtualisation","alwaysAggregateAtRootLevel","suppressFocusAfterRefresh","functionsReadOnly","animateRows","groupSelectsFiltered","groupRemoveSingleChildren","groupRemoveLowestSingleChildren","enableRtl","suppressClickEdit","rowDragEntireRow","rowDragManaged","suppressRowDrag","suppressMoveWhenRowDragging","rowDragMultiRow","enableGroupEdit","embedFullWidthRows","suppressPaginationPanel","groupHideOpenParents","groupAllowUnbalanced","pagination","paginationAutoPageSize","suppressScrollOnNewData","suppressScrollWhenPopupsAreOpen","purgeClosedRowNodes","cacheQuickFilter","includeHiddenColumnsInQuickFilter","ensureDomOrder","accentedSort","suppressChangeDetection","valueCache","valueCacheNeverExpires","aggregateOnlyChangedColumns","suppressAnimationFrame","suppressExcelExport","suppressCsvExport","includeHiddenColumnsInAdvancedFilter","suppressMultiRangeSelection","enterNavigatesVerticallyAfterEdit","enterNavigatesVertically","suppressPropertyNamesCheck","rowMultiSelectWithClick","suppressRowHoverHighlight","suppressRowTransform","suppressClipboardPaste","suppressLastEmptyLineOnPaste","enableCharts","suppressMaintainUnsortedOrder","enableCellTextSelection","suppressBrowserResizeObserver","suppressMaxRenderedRowRestriction","excludeChildrenWhenTreeDataFiltering","tooltipMouseTrack","tooltipInteraction","keepDetailRows","paginateChildRows","preventDefaultOnContextMenu","undoRedoCellEditing","allowDragFromColumnsToolPanel","pivotSuppressAutoColumn","suppressExpandablePivotGroups","debounceVerticalScrollbar","detailRowAutoHeight","serverSideSortAllLevels","serverSideEnableClientSideSort","serverSideOnlyRefreshFilteredGroups","serverSideSortOnServer","serverSideFilterOnServer","suppressAggFilteredOnly","showOpenedGroup","suppressClipboardApi","suppressModelUpdateAfterUpdateTransaction","stopEditingWhenCellsLoseFocus","maintainColumnOrder","groupMaintainOrder","columnHoverHighlight","readOnlyEdit","suppressRowVirtualisation","enableCellEditingOnBackspace","resetRowDataOnUpdate","removePivotHeaderRowWhenSingleValueColumn","suppressCopySingleCellRanges","suppressGroupRowsSticky","suppressCutToClipboard","suppressServerSideInfiniteScroll","rowGroupPanelSuppressSort","allowShowChangeAfterFilter","enableAdvancedFilter","masterDetail","treeData","suppressGroupMaintainValueType","reactiveCustomComponents","applyQuickFilterBeforePivotOrAgg","suppressServerSideFullWidthLoadingRow","suppressAdvancedFilterEval","loading"],it.OTHER_PROPERTIES=["suppressStickyTotalRow"],it.FUNCTION_PROPERTIES=["doesExternalFilterPass","processPivotResultColDef","processPivotResultColGroupDef","getBusinessKeyForNode","isRowSelectable","rowDragText","groupRowRenderer","fullWidthCellRenderer","loadingCellRenderer","loadingOverlayComponent","noRowsOverlayComponent","detailCellRenderer","quickFilterParser","quickFilterMatcher","getLocaleText","isExternalFilterPresent","getRowHeight","getRowClass","getRowStyle","getContextMenuItems","getMainMenuItems","processRowPostCreate","processCellForClipboard","getGroupRowAgg","isFullWidthRow","sendToClipboard","focusGridInnerElement","navigateToNextHeader","tabToNextHeader","navigateToNextCell","tabToNextCell","processCellFromClipboard","getDocument","postProcessPopup","getChildCount","getDataPath","isRowMaster","postSortRows","processHeaderForClipboard","processUnpinnedColumns","processGroupHeaderForClipboard","paginationNumberFormatter","processDataFromClipboard","getServerSideGroupKey","isServerSideGroup","createChartContainer","getChartToolbarItems","fillOperation","isApplyServerSideTransaction","getServerSideGroupLevelParams","isServerSideGroupOpenByDefault","isGroupOpenByDefault","initialGroupOrderComparator","groupIncludeFooter","loadingCellRendererSelector","getRowId","groupAggFiltering","chartMenuItems","groupTotalRow"],it.ALL_PROPERTIES=[...it.ARRAY_PROPERTIES,...it.OBJECT_PROPERTIES,...it.STRING_PROPERTIES,...it.NUMBER_PROPERTIES,...it.FUNCTION_PROPERTIES,...it.BOOLEAN_PROPERTIES,...it.OTHER_PROPERTIES];var at=it,nt=class{static getCallbackForEvent(e){return!e||e.length<2?e:"on"+e[0].toUpperCase()+e.substring(1)}};nt.VUE_OMITTED_PROPERTY="AG-VUE-OMITTED-PROPERTY",nt.PUBLIC_EVENTS=Je,nt.EVENT_CALLBACKS=et.map((e=>nt.getCallbackForEvent(e))),nt.BOOLEAN_PROPERTIES=at.BOOLEAN_PROPERTIES,nt.ALL_PROPERTIES=at.ALL_PROPERTIES,nt.ALL_PROPERTIES_AND_CALLBACKS=[...nt.ALL_PROPERTIES,...nt.EVENT_CALLBACKS],nt.ALL_PROPERTIES_AND_CALLBACKS_SET=new Set(nt.ALL_PROPERTIES_AND_CALLBACKS);var rt=nt;function ot(e,t){"object"!=typeof e&&(e={});const i={...e};return rt.ALL_PROPERTIES_AND_CALLBACKS.forEach((e=>{const a=t[e];void 0!==a&&a!==rt.VUE_OMITTED_PROPERTY&&(i[e]=a)})),i}function st(e,t){if(!e)return;const i={};let a=!1;if(Object.keys(e).filter((e=>rt.ALL_PROPERTIES_AND_CALLBACKS_SET.has(e))).forEach((t=>{i[t]=e[t],a=!0})),!a)return;const n={type:"gridOptionsChanged",options:i};t.dispatchEvent(n);const r={type:"componentStateChanged"};K(i,((e,t)=>{r[e]=t})),t.dispatchEvent(r)}var lt,ct,dt,ht,ut,gt,pt,mt,ft,vt=class{constructor(e){this.cssClassStates={},this.getGui=e}addCssClass(e){const t=(e||"").split(" ");if(t.length>1)return void t.forEach((e=>this.addCssClass(e)));if(!0!==this.cssClassStates[e]&&e.length){const t=this.getGui();t&&t.classList.add(e),this.cssClassStates[e]=!0}}removeCssClass(e){const t=(e||"").split(" ");if(t.length>1)return void t.forEach((e=>this.removeCssClass(e)));if(!1!==this.cssClassStates[e]&&e.length){const t=this.getGui();t&&t.classList.remove(e),this.cssClassStates[e]=!1}}containsCssClass(e){const t=this.getGui();return!!t&&t.classList.contains(e)}addOrRemoveCssClass(e,t){if(!e)return;if(e.indexOf(" ")>=0){const i=(e||"").split(" ");if(i.length>1)return void i.forEach((e=>this.addOrRemoveCssClass(e,t)))}if(this.cssClassStates[e]!==t&&e.length){const i=this.getGui();i&&i.classList.toggle(e,t),this.cssClassStates[e]=t}}};function yt(e,t,i){null==i||"string"==typeof i&&""==i?Ct(e,t):bt(e,t,i)}function bt(e,t,i){e.setAttribute(wt(t),i.toString())}function Ct(e,t){e.removeAttribute(wt(t))}function wt(e){return`aria-${e}`}function St(e,t){t?e.setAttribute("role",t):e.removeAttribute("role")}function xt(e){return parseInt(e.getAttribute("aria-posinset"),10)}function kt(e,t){yt(e,"label",t)}function Mt(e,t){yt(e,"labelledby",t)}function Rt(e,t){yt(e,"describedby",t)}function Dt(e,t){yt(e,"live",t)}function At(e,t){yt(e,"level",t)}function Et(e,t){yt(e,"disabled",t)}function Tt(e,t){yt(e,"hidden",t)}function Pt(e,t){yt(e,"activedescendant",t)}function Ft(e,t){bt(e,"expanded",t)}function It(e){Ct(e,"expanded")}function Lt(e,t){bt(e,"setsize",t)}function Nt(e,t){bt(e,"posinset",t)}function Ot(e,t){bt(e,"rowcount",t)}function zt(e,t){bt(e,"rowindex",t)}function Gt(e,t){bt(e,"colcount",t)}function Bt(e,t){bt(e,"colindex",t)}function Vt(e,t){bt(e,"colspan",t)}function Ht(e,t){bt(e,"sort",t)}function Wt(e){Ct(e,"sort")}function _t(e,t){yt(e,"selected",t)}function qt(e,t){bt(e,"checked",void 0===t?"mixed":t)}function Ut(e,t){yt(e,"controls",t.id),Mt(t,e.id)}function Kt(e,t){return void 0===t?e("ariaIndeterminate","indeterminate"):!0===t?e("ariaChecked","checked"):e("ariaUnchecked","unchecked")}function jt(){return void 0===lt&&(lt=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)),lt}function Yt(){if(void 0===ct)if(jt()){const e=navigator.userAgent.match(/version\/(\d+)/i);e&&(ct=null!=e[1]?parseFloat(e[1]):0)}else ct=0;return ct}function $t(){if(void 0===dt){const e=window;dt=!!e.chrome&&(!!e.chrome.webstore||!!e.chrome.runtime)||/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor)}return dt}function Zt(){return void 0===ht&&(ht=/(firefox)/i.test(navigator.userAgent)),ht}function Xt(){return void 0===ut&&(ut=/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)),ut}function Qt(){return void 0===gt&&(gt=/iPad|iPhone|iPod/.test(navigator.platform)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1),gt}function Jt(){return!jt()||Yt()>=15}function ei(e){if(!e)return null;const t=e.tabIndex,i=e.getAttribute("tabIndex");return-1!==t||null!==i&&(""!==i||Zt())?t.toString():null}function ti(){const e=document.body,t=document.createElement("div");t.style.width=t.style.height="100px",t.style.opacity="0",t.style.overflow="scroll",t.style.msOverflowStyle="scrollbar",t.style.position="absolute",e.appendChild(t);let i=t.offsetWidth-t.clientWidth;0===i&&0===t.clientWidth&&(i=null),t.parentNode&&t.parentNode.removeChild(t),null!=i&&(mt=i,pt=0===i)}function ii(){return null==pt&&ti(),pt}function ai(e,t,i){const a=e.parentElement;let n=a&&a.firstChild;for(;n;)t&&n.classList.toggle(t,n===e),i&&n.classList.toggle(i,n!==e),n=n.nextSibling}var ni="[disabled], .ag-disabled:not(.ag-button), .ag-disabled *";function ri(e){const t=Element.prototype.matches||Element.prototype.msMatchesSelector,i=t.call(e,"input, select, button, textarea"),a=t.call(e,ni),n=Si(e);return i&&!a&&n}function oi(e,t,i={}){const{skipAriaHidden:a}=i;e.classList.toggle("ag-hidden",!t),a||Tt(e,!t)}function si(e,t,i={}){const{skipAriaHidden:a}=i;e.classList.toggle("ag-invisible",!t),a||Tt(e,!t)}function li(e,t){const i="disabled",a=t?e=>e.setAttribute(i,""):e=>e.removeAttribute(i);a(e),Ii(e.querySelectorAll("input"),(e=>a(e)))}function ci(e,t,i){let a=0;for(;e;){if(e.classList.contains(t))return!0;if(e=e.parentElement,"number"==typeof i){if(++a>i)break}else if(e===i)break}return!1}function di(e){const{height:t,width:i,borderTopWidth:a,borderRightWidth:n,borderBottomWidth:r,borderLeftWidth:o,paddingTop:s,paddingRight:l,paddingBottom:c,paddingLeft:d,marginTop:h,marginRight:u,marginBottom:g,marginLeft:p,boxSizing:m}=window.getComputedStyle(e);return{height:parseFloat(t||"0"),width:parseFloat(i||"0"),borderTopWidth:parseFloat(a||"0"),borderRightWidth:parseFloat(n||"0"),borderBottomWidth:parseFloat(r||"0"),borderLeftWidth:parseFloat(o||"0"),paddingTop:parseFloat(s||"0"),paddingRight:parseFloat(l||"0"),paddingBottom:parseFloat(c||"0"),paddingLeft:parseFloat(d||"0"),marginTop:parseFloat(h||"0"),marginRight:parseFloat(u||"0"),marginBottom:parseFloat(g||"0"),marginLeft:parseFloat(p||"0"),boxSizing:m}}function hi(e){const t=di(e);return"border-box"===t.boxSizing?t.height-t.paddingTop-t.paddingBottom:t.height}function ui(e){const t=di(e);return"border-box"===t.boxSizing?t.width-t.paddingLeft-t.paddingRight:t.width}function gi(e){const{height:t,marginBottom:i,marginTop:a}=di(e);return Math.floor(t+i+a)}function pi(e){const{width:t,marginLeft:i,marginRight:a}=di(e);return Math.floor(t+i+a)}function mi(e){const t=e.getBoundingClientRect(),{borderTopWidth:i,borderLeftWidth:a,borderRightWidth:n,borderBottomWidth:r}=di(e);return{top:t.top+(i||0),left:t.left+(a||0),right:t.right+(n||0),bottom:t.bottom+(r||0)}}function fi(){if("boolean"==typeof ft)return ft;const e=document.createElement("div");return e.style.direction="rtl",e.style.width="1px",e.style.height="1px",e.style.position="fixed",e.style.top="0px",e.style.overflow="hidden",e.dir="rtl",e.innerHTML='<div style="width: 2px">\n <span style="display: inline-block; width: 1px"></span>\n <span style="display: inline-block; width: 1px"></span>\n </div>',document.body.appendChild(e),e.scrollLeft=1,ft=0===Math.floor(e.scrollLeft),document.body.removeChild(e),ft}function vi(e,t){let i=e.scrollLeft;return t&&(i=Math.abs(i),$t()&&!fi()&&(i=e.scrollWidth-e.clientWidth-i)),i}function yi(e,t,i){i&&(fi()?t*=-1:(jt()||$t())&&(t=e.scrollWidth-e.clientWidth-t)),e.scrollLeft=t}function bi(e){for(;e&&e.firstChild;)e.removeChild(e.firstChild)}function Ci(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function wi(e){return!!e.offsetParent}function Si(e){const t=e;if(t.checkVisibility)return t.checkVisibility({checkVisibilityCSS:!0});return!(!wi(e)||"visible"!==window.getComputedStyle(e).visibility)}function xi(e){const t=document.createElement("div");return t.innerHTML=(e||"").trim(),t.firstChild}function ki(e,t,i){i&&i.nextSibling===t||(i?i.nextSibling?e.insertBefore(t,i.nextSibling):e.appendChild(t):e.firstChild&&e.firstChild!==t&&e.insertAdjacentElement("afterbegin",t))}function Mi(e,t){for(let i=0;i<t.length;i++){const a=t[i],n=e.children[i];n!==a&&e.insertBefore(a,n)}}function Ri(e,t){if(t)for(const[i,a]of Object.entries(t)){if(!i||!i.length||null==a)continue;const t=i.replace(/[A-Z]/g,(e=>`-${e.toLocaleLowerCase()}`)),n=a.toString(),r=n.replace(/\s*!important/g,""),o=r.length!=n.length?"important":void 0;e.style.setProperty(t,r,o)}}function Di(e,t){"flex"===t?(e.style.removeProperty("width"),e.style.removeProperty("minWidth"),e.style.removeProperty("maxWidth"),e.style.flex="1 1 auto"):Ai(e,t)}function Ai(e,t){t=Ti(t),e.style.width=t.toString(),e.style.maxWidth=t.toString(),e.style.minWidth=t.toString()}function Ei(e,t){t=Ti(t),e.style.height=t.toString(),e.style.maxHeight=t.toString(),e.style.minHeight=t.toString()}function Ti(e){return"number"==typeof e?`${e}px`:e}function Pi(e){return e instanceof Node||e instanceof HTMLElement}function Fi(e,t,i){null==i?e.removeAttribute(t):e.setAttribute(t,i.toString())}function Ii(e,t){if(null!=e)for(let i=0;i<e.length;i++)t(e[i])}function Li(e,t){e.then((e=>{const i=e.getGui();null!=i&&("object"==typeof i?t.appendChild(i):t.innerHTML=i)}))}var Ni=class{constructor(e=0,t=1){this.nextValue=e,this.step=t}next(){const e=this.nextValue;return this.nextValue+=this.step,e}peek(){return this.nextValue}skip(e){this.nextValue+=e}},Oi=class e extends F{constructor(e,t,i,a){super(),this.parentComp=e,this.tooltipShowDelayOverride=t,this.tooltipHideDelayOverride=i,this.shouldDisplayTooltip=a,this.interactionEnabled=!1,this.isInteractingWithTooltip=!1,this.state=0,this.tooltipInstanceCount=0,this.tooltipMouseTrack=!1}wireBeans(e){this.popupService=e.popupService,this.userComponentFactory=e.userComponentFactory}postConstruct(){this.gos.get("tooltipInteraction")&&(this.interactionEnabled=!0),this.tooltipTrigger=this.getTooltipTrigger(),this.tooltipMouseTrack=this.gos.get("tooltipMouseTrack");const e=this.parentComp.getGui();0===this.tooltipTrigger&&this.addManagedListeners(e,{mouseenter:this.onMouseEnter.bind(this),mouseleave:this.onMouseLeave.bind(this)}),1===this.tooltipTrigger&&this.addManagedListeners(e,{focusin:this.onFocusIn.bind(this),focusout:this.onFocusOut.bind(this)}),this.addManagedListeners(e,{mousemove:this.onMouseMove.bind(this)}),this.interactionEnabled||this.addManagedListeners(e,{mousedown:this.onMouseDown.bind(this),keydown:this.onKeyDown.bind(this)})}getGridOptionsTooltipDelay(e){const t=this.gos.get(e);return t<0&&de(`${e} should not be lower than 0`),Math.max(200,t)}getTooltipDelay(e){return"show"===e?this.tooltipShowDelayOverride??this.getGridOptionsTooltipDelay("tooltipShowDelay"):this.tooltipHideDelayOverride??this.getGridOptionsTooltipDelay("tooltipHideDelay")}destroy(){this.setToDoNothing(),super.destroy()}getTooltipTrigger(){const e=this.gos.get("tooltipTrigger");return e&&"hover"!==e?1:0}onMouseEnter(t){this.interactionEnabled&&this.interactiveTooltipTimeoutId&&(this.unlockService(),this.startHideTimeout()),Qt()||(e.isLocked?this.showTooltipTimeoutId=window.setTimeout((()=>{this.prepareToShowTooltip(t)}),100):this.prepareToShowTooltip(t))}onMouseMove(e){this.lastMouseEvent&&(this.lastMouseEvent=e),this.tooltipMouseTrack&&2===this.state&&this.tooltipComp&&this.positionTooltip()}onMouseDown(){this.setToDoNothing()}onMouseLeave(){this.interactionEnabled?this.lockService():this.setToDoNothing()}onFocusIn(){this.prepareToShowTooltip()}onFocusOut(e){const t=e.relatedTarget,i=this.parentComp.getGui(),a=this.tooltipComp?.getGui();this.isInteractingWithTooltip||i.contains(t)||this.interactionEnabled&&a?.contains(t)||this.setToDoNothing()}onKeyDown(){this.setToDoNothing()}prepareToShowTooltip(t){if(0!=this.state||e.isLocked)return;let i=0;t&&(i=this.isLastTooltipHiddenRecently()?200:this.getTooltipDelay("show")),this.lastMouseEvent=t||null,this.showTooltipTimeoutId=window.setTimeout(this.showTooltip.bind(this),i),this.state=1}isLastTooltipHiddenRecently(){return(new Date).getTime()-e.lastTooltipHideTime<1e3}setToDoNothing(){2===this.state&&this.hideTooltip(),this.onBodyScrollEventCallback&&(this.onBodyScrollEventCallback(),this.onBodyScrollEventCallback=void 0),this.onColumnMovedEventCallback&&(this.onColumnMovedEventCallback(),this.onColumnMovedEventCallback=void 0),this.clearTimeouts(),this.state=0,this.lastMouseEvent=null}showTooltip(){const e={...this.parentComp.getTooltipParams()};if(!N(e.value)||this.shouldDisplayTooltip&&!this.shouldDisplayTooltip())return void this.setToDoNothing();this.state=2,this.tooltipInstanceCount++;const t=this.newTooltipComponentCallback.bind(this,this.tooltipInstanceCount);this.userComponentFactory.getTooltipCompDetails(e).newAgStackInstance().then(t)}hideTooltip(t){if(!t&&this.isInteractingWithTooltip)return;this.tooltipComp&&(this.destroyTooltipComp(),e.lastTooltipHideTime=(new Date).getTime());const i={type:"tooltipHide",parentGui:this.parentComp.getGui()};this.eventService.dispatchEvent(i),t&&(this.isInteractingWithTooltip=!1),this.state=0}newTooltipComponentCallback(e,t){if(2!==this.state||this.tooltipInstanceCount!==e)return void this.destroyBean(t);const i=t.getGui();this.tooltipComp=t,i.classList.contains("ag-tooltip")||i.classList.add("ag-tooltip-custom"),0===this.tooltipTrigger&&i.classList.add("ag-tooltip-animate"),this.interactionEnabled&&i.classList.add("ag-tooltip-interactive");const a=this.localeService.getLocaleTextFunc(),n=this.popupService.addPopup({eChild:i,ariaLabel:a("ariaLabelTooltip","Tooltip")});if(n&&(this.tooltipPopupDestroyFunc=n.hideFunc),this.positionTooltip(),1===this.tooltipTrigger){const e=this.setToDoNothing.bind(this);[this.onBodyScrollEventCallback,this.onColumnMovedEventCallback]=this.addManagedEventListeners({bodyScroll:e,columnMoved:e})}this.interactionEnabled&&(0===this.tooltipTrigger?[this.tooltipMouseEnterListener,this.tooltipMouseLeaveListener]=this.addManagedElementListeners(i,{mouseenter:this.onTooltipMouseEnter.bind(this),mouseleave:this.onTooltipMouseLeave.bind(this)}):[this.tooltipFocusInListener,this.tooltipFocusOutListener]=this.addManagedElementListeners(i,{focusin:this.onTooltipFocusIn.bind(this),focusout:this.onTooltipFocusOut.bind(this)}));const r={type:"tooltipShow",tooltipGui:i,parentGui:this.parentComp.getGui()};this.eventService.dispatchEvent(r),this.startHideTimeout()}onTooltipMouseEnter(){this.isInteractingWithTooltip=!0,this.unlockService()}onTooltipMouseLeave(){this.isInteractingWithTooltip=!1,this.lockService()}onTooltipFocusIn(){this.isInteractingWithTooltip=!0}onTooltipFocusOut(e){const t=this.parentComp.getGui(),i=this.tooltipComp?.getGui(),a=e.relatedTarget;i?.contains(a)||(this.isInteractingWithTooltip=!1,t.contains(a)?this.startHideTimeout():this.hideTooltip())}positionTooltip(){const e={type:"tooltip",ePopup:this.tooltipComp.getGui(),nudgeY:18,skipObserver:this.tooltipMouseTrack};this.lastMouseEvent?this.popupService.positionPopupUnderMouseEvent({...e,mouseEvent:this.lastMouseEvent}):this.popupService.positionPopupByComponent({...e,eventSource:this.parentComp.getGui(),position:"under",keepWithinBounds:!0,nudgeY:5})}destroyTooltipComp(){this.tooltipComp.getGui().classList.add("ag-tooltip-hiding");const e=this.tooltipPopupDestroyFunc,t=this.tooltipComp,i=0===this.tooltipTrigger?1e3:0;window.setTimeout((()=>{e(),this.destroyBean(t)}),i),this.clearTooltipListeners(),this.tooltipPopupDestroyFunc=void 0,this.tooltipComp=void 0}clearTooltipListeners(){[this.tooltipMouseEnterListener,this.tooltipMouseLeaveListener,this.tooltipFocusInListener,this.tooltipFocusOutListener].forEach((e=>{e&&e()})),this.tooltipMouseEnterListener=this.tooltipMouseLeaveListener=this.tooltipFocusInListener=this.tooltipFocusOutListener=null}lockService(){e.isLocked=!0,this.interactiveTooltipTimeoutId=window.setTimeout((()=>{this.unlockService(),this.setToDoNothing()}),100)}unlockService(){e.isLocked=!1,this.clearInteractiveTimeout()}startHideTimeout(){this.clearHideTimeout(),this.hideTooltipTimeoutId=window.setTimeout(this.hideTooltip.bind(this),this.getTooltipDelay("hide"))}clearShowTimeout(){this.showTooltipTimeoutId&&(window.clearTimeout(this.showTooltipTimeoutId),this.showTooltipTimeoutId=void 0)}clearHideTimeout(){this.hideTooltipTimeoutId&&(window.clearTimeout(this.hideTooltipTimeoutId),this.hideTooltipTimeoutId=void 0)}clearInteractiveTimeout(){this.interactiveTooltipTimeoutId&&(window.clearTimeout(this.interactiveTooltipTimeoutId),this.interactiveTooltipTimeoutId=void 0)}clearTimeouts(){this.clearShowTimeout(),this.clearHideTimeout(),this.clearInteractiveTimeout()}};Oi.isLocked=!1;var zi=Oi,Gi=class extends F{constructor(e,t){super(),this.ctrl=e,t&&(this.beans=t)}wireBeans(e){this.beans=e}postConstruct(){this.refreshToolTip()}setBrowserTooltip(e){const t="title",i=this.ctrl.getGui();i&&(null!=e&&""!=e?i.setAttribute(t,e):i.removeAttribute(t))}updateTooltipText(){this.tooltip=this.ctrl.getTooltipValue()}createTooltipFeatureIfNeeded(){if(null!=this.tooltipManager)return;const e={getTooltipParams:()=>this.getTooltipParams(),getGui:()=>this.ctrl.getGui()};this.tooltipManager=this.createBean(new zi(e,this.ctrl.getTooltipShowDelayOverride?.(),this.ctrl.getTooltipHideDelayOverride?.(),this.ctrl.shouldDisplayTooltip),this.beans.context)}refreshToolTip(){this.browserTooltips=this.beans.gos.get("enableBrowserTooltips"),this.updateTooltipText(),this.browserTooltips?(this.setBrowserTooltip(this.tooltip),this.tooltipManager&&(this.tooltipManager=this.destroyBean(this.tooltipManager,this.beans.context))):(this.setBrowserTooltip(null),this.createTooltipFeatureIfNeeded())}getTooltipParams(){const e=this.ctrl,t=e.getColumn?e.getColumn():void 0,i=e.getColDef?e.getColDef():void 0,a=e.getRowNode?e.getRowNode():void 0;return{location:e.getLocation(),colDef:i,column:t,rowIndex:e.getRowIndex?e.getRowIndex():void 0,node:a,data:a?a.data:void 0,value:this.getTooltipText(),valueFormatted:e.getValueFormatted?e.getValueFormatted():void 0,hideTooltipCallback:()=>this.tooltipManager?.hideTooltip(!0)}}getTooltipText(){return this.tooltip}destroy(){this.tooltipManager&&(this.tooltipManager=this.destroyBean(this.tooltipManager,this.beans.context)),super.destroy()}},Bi=new Ni,Vi=null,Hi=class e extends F{constructor(e,t){super(),this.suppressDataRefValidation=!1,this.displayed=!0,this.visible=!0,this.compId=Bi.next(),this.cssClassManager=new vt((()=>this.eGui)),this.componentSelectors=new Map((t??[]).map((e=>[e.selector,e]))),e&&this.setTemplate(e)}preWireBeans(e){super.preWireBeans(e)}preConstruct(){this.usingBrowserTooltips=this.gos.get("enableBrowserTooltips"),this.wireTemplate(this.getGui())}wireTemplate(e,t){e&&this.gos&&(this.applyElementsToComponent(e),this.createChildComponentsFromTags(e,t))}getCompId(){return this.compId}getTooltipParams(){return{value:this.tooltipText,location:"UNKNOWN"}}setTooltip(e){const{newTooltipText:t,showDelayOverride:i,hideDelayOverride:a,location:n,shouldDisplayTooltip:r}=e||{};this.tooltipFeature&&(this.tooltipFeature=this.destroyBean(this.tooltipFeature)),this.tooltipText!==t&&(this.tooltipText=t);const o=()=>this.tooltipText;null!=t&&(this.tooltipFeature=this.createBean(new Gi({getTooltipValue:o,getGui:()=>this.getGui(),getLocation:()=>n??"UNKNOWN",getColDef:e?.getColDef,getColumn:e?.getColumn,getTooltipShowDelayOverride:null!=i?()=>i:void 0,getTooltipHideDelayOverride:null!=a?()=>a:void 0,shouldDisplayTooltip:r})))}getDataRefAttribute(e){return e.getAttribute?e.getAttribute("data-ref"):null}applyElementsToComponent(e,t,i,a=null){if(void 0===t&&(t=this.getDataRefAttribute(e)),t){const n=this[t];if(n===Vi)this[t]=a??e;else{const e=i&&i[t];this.suppressDataRefValidation||e||de(`Issue with data-ref: ${t} on ${this.constructor.name} with ${n}`)}}}createChildComponentsFromTags(e,t){(function(e){if(null==e)return[];const t=[];return Ii(e,(e=>t.push(e))),t})(e.childNodes).forEach((i=>{if(!(i instanceof HTMLElement))return;const a=this.createComponentFromElement(i,(e=>{e.getGui()&&this.copyAttributesFromNode(i,e.getGui())}),t);if(a){if(a.addItems&&i.children.length){this.createChildComponentsFromTags(i,t);const e=Array.prototype.slice.call(i.children);a.addItems(e)}this.swapComponentForNode(a,e,i)}else i.childNodes&&this.createChildComponentsFromTags(i,t)}))}createComponentFromElement(t,i,a){const n=t.nodeName,r=this.getDataRefAttribute(t),o=0===n.indexOf("AG-"),s=o?this.componentSelectors.get(n):null;let l=null;if(s){e.elementGettingCreated=t;const n=a&&r?a[r]:void 0;l=new s.component(n),l.setParentComponent(this),this.createBean(l,null,i)}else o&&de(`Missing selector: ${n}`);return this.applyElementsToComponent(t,r,a,l),l}copyAttributesFromNode(e,t){!function(e,t){if(e)for(let i=0;i<e.length;i++){const a=e[i];t(a.name,a.value)}}(e.attributes,((e,i)=>t.setAttribute(e,i)))}swapComponentForNode(e,t,i){const a=e.getGui();t.replaceChild(a,i),t.insertBefore(document.createComment(i.nodeName),a),this.addDestroyFunc(this.destroyBean.bind(this,e))}activateTabIndex(e){const t=this.gos.get("tabIndex");e||(e=[]),e.length||e.push(this.getGui()),e.forEach((e=>e.setAttribute("tabindex",t.toString())))}setTemplate(e,t,i){const a=xi(e);this.setTemplateFromElement(a,t,i)}setTemplateFromElement(e,t,i,a=!1){if(this.eGui=e,this.suppressDataRefValidation=a,t)for(let e=0;e<t.length;e++){const i=t[e];this.componentSelectors.set(i.selector,i)}this.wireTemplate(e,i)}getGui(){return this.eGui}getFocusableElement(){return this.eGui}getAriaElement(){return this.getFocusableElement()}setParentComponent(e){this.parentComponent=e}getParentComponent(){return this.parentComponent}setGui(e){this.eGui=e}queryForHtmlElement(e){return this.eGui.querySelector(e)}getContainerAndElement(e,t){let i=t;return null==e?null:(i||(i=this.eGui),Pi(e)?{element:e,parent:i}:{element:e.getGui(),parent:i})}prependChild(e,t){const{element:i,parent:a}=this.getContainerAndElement(e,t)||{};i&&a&&a.insertAdjacentElement("afterbegin",i)}appendChild(e,t){const{element:i,parent:a}=this.getContainerAndElement(e,t)||{};i&&a&&a.appendChild(i)}isDisplayed(){return this.displayed}setVisible(e,t={}){if(e!==this.visible){this.visible=e;const{skipAriaHidden:i}=t;si(this.eGui,e,{skipAriaHidden:i})}}setDisplayed(e,t={}){if(e!==this.displayed){this.displayed=e;const{skipAriaHidden:i}=t;oi(this.eGui,e,{skipAriaHidden:i});const a={type:"displayChanged",visible:this.displayed};this.dispatchLocalEvent(a)}}destroy(){this.parentComponent&&(this.parentComponent=void 0),this.tooltipFeature&&(this.tooltipFeature=this.destroyBean(this.tooltipFeature)),super.destroy()}addGuiEventListener(e,t,i){this.eGui.addEventListener(e,t,i),this.addDestroyFunc((()=>this.eGui.removeEventListener(e,t)))}addCssClass(e){this.cssClassManager.addCssClass(e)}removeCssClass(e){this.cssClassManager.removeCssClass(e)}containsCssClass(e){return this.cssClassManager.containsCssClass(e)}addOrRemoveCssClass(e,t){this.cssClassManager.addOrRemoveCssClass(e,t)}},Wi={columnGroupOpened:"expanded",columnGroupClosed:"contracted",columnSelectClosed:"tree-closed",columnSelectOpen:"tree-open",columnSelectIndeterminate:"tree-indeterminate",columnMovePin:"pin",columnMoveHide:"eye-slash",columnMoveMove:"arrows",columnMoveLeft:"left",columnMoveRight:"right",columnMoveGroup:"group",columnMoveValue:"aggregation",columnMovePivot:"pivot",dropNotAllowed:"not-allowed",groupContracted:"tree-closed",groupExpanded:"tree-open",setFilterGroupClosed:"tree-closed",setFilterGroupOpen:"tree-open",setFilterGroupIndeterminate:"tree-indeterminate",chart:"chart",close:"cross",cancel:"cancel",check:"tick",first:"first",previous:"previous",next:"next",last:"last",linked:"linked",unlinked:"unlinked",colorPicker:"color-picker",groupLoading:"loading",menu:"menu",menuAlt:"menu-alt",filter:"filter",columns:"columns",maximize:"maximize",minimize:"minimize",menuPin:"pin",menuValue:"aggregation",menuAddRowGroup:"group",menuRemoveRowGroup:"group",clipboardCopy:"copy",clipboardCut:"cut",clipboardPaste:"paste",pivotPanel:"pivot",rowGroupPanel:"group",valuePanel:"aggregation",columnDrag:"grip",rowDrag:"grip",save:"save",csvExport:"csv",excelExport:"excel",smallDown:"small-down",smallLeft:"small-left",smallRight:"small-right",smallUp:"small-up",sortAscending:"asc",sortDescending:"desc",sortUnSort:"none",advancedFilterBuilder:"group",advancedFilterBuilderDrag:"grip",advancedFilterBuilderInvalid:"not-allowed",advancedFilterBuilderMoveUp:"up",advancedFilterBuilderMoveDown:"down",advancedFilterBuilderAdd:"plus",advancedFilterBuilderRemove:"minus",chartsMenuEdit:"chart",chartsMenuAdvancedSettings:"settings",chartsMenuAdd:"plus",checkboxChecked:"checkbox-checked",checkboxIndeterminate:"checkbox-indeterminate",checkboxUnchecked:"checkbox-unchecked",radioButtonOn:"radio-button-on",radioButtonOff:"radio-button-off"};function _i(e,t,i){const a=qi(e,t,i);if(a){const{className:e}=a;if("string"==typeof e&&e.indexOf("ag-icon")>-1||"object"==typeof e&&e["ag-icon"])return a}const n=document.createElement("span");return n.appendChild(a),n}function qi(e,t,i,a){let n=null;const r=i&&i.getColDef().icons;if(r&&(n=r[e]),t&&!n){const i=t.get("icons");i&&(n=i[e])}if(!n){const t=document.createElement("span");let i=Wi[e];return i||(a?i=e:(de(`Did not find icon ${e}`),i="")),t.setAttribute("class",`ag-icon ag-icon-${i}`),t.setAttribute("unselectable","on"),St(t,"presentation"),t}{let e;if("function"==typeof n)e=n();else{if("string"!=typeof n)throw new Error("icon from grid options needs to be a string or a function");e=n}if("string"==typeof e)return xi(e);if(Pi(e))return e;de("iconRenderer should return back a string or a dom object")}}function Ui(e,t,i){if(0===i)return!1;const a=Math.abs(e.clientX-t.clientX),n=Math.abs(e.clientY-t.clientY);return Math.max(a,n)<=i}var Ki=class{constructor(e,t=!1){this.DOUBLE_TAP_MILLIS=500,this.destroyFuncs=[],this.touching=!1,this.localEventService=new c,this.eElement=e,this.preventMouseClick=t;const i=this.onTouchStart.bind(this),a=this.onTouchMove.bind(this),n=this.onTouchEnd.bind(this);this.eElement.addEventListener("touchstart",i,{passive:!0}),this.eElement.addEventListener("touchmove",a,{passive:!0}),this.eElement.addEventListener("touchend",n,{passive:!1}),this.destroyFuncs.push((()=>{this.eElement.removeEventListener("touchstart",i,{passive:!0}),this.eElement.removeEventListener("touchmove",a,{passive:!0}),this.eElement.removeEventListener("touchend",n,{passive:!1})}))}getActiveTouch(e){for(let t=0;t<e.length;t++){if(e[t].identifier===this.touchStart.identifier)return e[t]}return null}addEventListener(e,t){this.localEventService.addEventListener(e,t)}removeEventListener(e,t){this.localEventService.removeEventListener(e,t)}onTouchStart(e){if(this.touching)return;this.touchStart=e.touches[0],this.touching=!0,this.moved=!1;const t=this.touchStart;window.setTimeout((()=>{const i=this.touchStart===t;if(this.touching&&i&&!this.moved){this.moved=!0;const t={type:"longTap",touchStart:this.touchStart,touchEvent:e};this.localEventService.dispatchEvent(t)}}),500)}onTouchMove(e){if(!this.touching)return;const t=this.getActiveTouch(e.touches);if(!t)return;!Ui(t,this.touchStart,4)&&(this.moved=!0)}onTouchEnd(e){if(this.touching){if(!this.moved){const e={type:"tap",touchStart:this.touchStart};this.localEventService.dispatchEvent(e),this.checkForDoubleTap()}this.preventMouseClick&&e.cancelable&&e.preventDefault(),this.touching=!1}}checkForDoubleTap(){const e=(new Date).getTime();if(this.lastTapTime&&this.lastTapTime>0){if(e-this.lastTapTime>this.DOUBLE_TAP_MILLIS){const e={type:"doubleTap",touchStart:this.touchStart};this.localEventService.dispatchEvent(e),this.lastTapTime=null}else this.lastTapTime=e}else this.lastTapTime=e}destroy(){this.destroyFuncs.forEach((e=>e()))}},ji=class extends Hi{constructor(e){super(),this.eSortOrder=Vi,this.eSortAsc=Vi,this.eSortDesc=Vi,this.eSortMixed=Vi,this.eSortNone=Vi,e||this.setTemplate('<span class="ag-sort-indicator-container">\n <span data-ref="eSortOrder" class="ag-sort-indicator-icon ag-sort-order ag-hidden" aria-hidden="true"></span>\n <span data-ref="eSortAsc" class="ag-sort-indicator-icon ag-sort-ascending-icon ag-hidden" aria-hidden="true"></span>\n <span data-ref="eSortDesc" class="ag-sort-indicator-icon ag-sort-descending-icon ag-hidden" aria-hidden="true"></span>\n <span data-ref="eSortMixed" class="ag-sort-indicator-icon ag-sort-mixed-icon ag-hidden" aria-hidden="true"></span>\n <span data-ref="eSortNone" class="ag-sort-indicator-icon ag-sort-none-icon ag-hidden" aria-hidden="true"></span>\n </span>')}wireBeans(e){this.sortController=e.sortController}attachCustomElements(e,t,i,a,n){this.eSortOrder=e,this.eSortAsc=t,this.eSortDesc=i,this.eSortMixed=a,this.eSortNone=n}setupSort(e,t=!1){this.column=e,this.suppressOrder=t,this.setupMultiSortIndicator(),(this.column.isSortable()||this.column.getColDef().showRowGroup)&&(this.addInIcon("sortAscending",this.eSortAsc,e),this.addInIcon("sortDescending",this.eSortDesc,e),this.addInIcon("sortUnSort",this.eSortNone,e),this.addManagedPropertyListener("unSortIcon",(()=>this.updateIcons())),this.addManagedEventListeners({newColumnsLoaded:this.updateIcons.bind(this),sortChanged:this.onSortChanged.bind(this),columnRowGroupChanged:this.onSortChanged.bind(this)}),this.onSortChanged())}addInIcon(e,t,i){if(null==t)return;const a=qi(e,this.gos,i);a&&t.appendChild(a)}onSortChanged(){this.updateIcons(),this.suppressOrder||this.updateSortOrder()}updateIcons(){const e=this.sortController.getDisplaySortForColumn(this.column);if(this.eSortAsc){const t="asc"===e;oi(this.eSortAsc,t,{skipAriaHidden:!0})}if(this.eSortDesc){const t="desc"===e;oi(this.eSortDesc,t,{skipAriaHidden:!0})}if(this.eSortNone){const t=!this.column.getColDef().unSortIcon&&!this.gos.get("unSortIcon"),i=null==e;oi(this.eSortNone,!t&&i,{skipAriaHidden:!0})}}setupMultiSortIndicator(){this.addInIcon("sortUnSort",this.eSortMixed,this.column);const e=this.column.getColDef().showRowGroup;this.gos.isColumnsSortingCoupledToGroup()&&e&&(this.addManagedEventListeners({sortChanged:this.updateMultiSortIndicator.bind(this),columnRowGroupChanged:this.updateMultiSortIndicator.bind(this)}),this.updateMultiSortIndicator())}updateMultiSortIndicator(){if(this.eSortMixed){const e="mixed"===this.sortController.getDisplaySortForColumn(this.column);oi(this.eSortMixed,e,{skipAriaHidden:!0})}}updateSortOrder(){if(!this.eSortOrder)return;const e=this.sortController.getColumnsWithSortingOrdered(),t=this.sortController.getDisplaySortIndexForColumn(this.column)??-1,i=e.some((e=>this.sortController.getDisplaySortIndexForColumn(e)??!1)),a=t>=0&&i;oi(this.eSortOrder,a,{skipAriaHidden:!0}),t>=0?this.eSortOrder.textContent=(t+1).toString():bi(this.eSortOrder)}},Yi={selector:"AG-SORT-INDICATOR",component:ji},$i=class extends Hi{constructor(){super(...arguments),this.eFilter=Vi,this.eFilterButton=Vi,this.eSortIndicator=Vi,this.eMenu=Vi,this.eLabel=Vi,this.eText=Vi,this.eSortOrder=Vi,this.eSortAsc=Vi,this.eSortDesc=Vi,this.eSortMixed=Vi,this.eSortNone=Vi,this.lastMovingChanged=0}wireBeans(e){this.sortController=e.sortController,this.menuService=e.menuService,this.funcColsService=e.funcColsService}destroy(){super.destroy()}refresh(e){const t=this.params;return this.params=e,this.workOutTemplate()==this.currentTemplate&&this.workOutShowMenu()==this.currentShowMenu&&this.workOutSort()==this.currentSort&&this.shouldSuppressMenuHide()==this.currentSuppressMenuHide&&t.enableFilterButton==e.enableFilterButton&&t.enableFilterIcon==e.enableFilterIcon&&(this.setDisplayName(e),!0)}workOutTemplate(){let e=this.params.template??'<div class="ag-cell-label-container" role="presentation">\n <span data-ref="eMenu" class="ag-header-icon ag-header-cell-menu-button" aria-hidden="true"></span>\n <span data-ref="eFilterButton" class="ag-header-icon ag-header-cell-filter-button" aria-hidden="true"></span>\n <div data-ref="eLabel" class="ag-header-cell-label" role="presentation">\n <span data-ref="eText" class="ag-header-cell-text"></span>\n <span data-ref="eFilter" class="ag-header-icon ag-header-label-icon ag-filter-icon" aria-hidden="true"></span>\n <ag-sort-indicator data-ref="eSortIndicator"></ag-sort-indicator>\n </div>\n </div>';return e=e&&e.trim?e.trim():e,e}init(e){this.params=e,this.currentTemplate=this.workOutTemplate(),this.setTemplate(this.currentTemplate,[Yi]),this.setupTap(),this.setMenu(),this.setupSort(),this.setupFilterIcon(),this.setupFilterButton(),this.setDisplayName(e)}setDisplayName(e){if(this.currentDisplayName!=e.displayName){this.currentDisplayName=e.displayName;const t=We(this.currentDisplayName,!0);this.eText&&(this.eText.textContent=t)}}addInIcon(e,t,i){if(null==t)return;const a=qi(e,this.gos,i);a&&t.appendChild(a)}setupTap(){const{gos:e}=this;if(e.get("suppressTouch"))return;const t=new Ki(this.getGui(),!0),i=this.shouldSuppressMenuHide(),a=i&&N(this.eMenu),n=a?new Ki(this.eMenu,!0):t;if(this.params.enableMenu){const e=a?"tap":"longTap",t=e=>this.params.showColumnMenuAfterMouseClick(e.touchStart);this.addManagedListeners(n,{[e]:t})}if(this.params.enableSorting){const e=e=>{const t=e.touchStart.target;i&&(this.eMenu?.contains(t)||this.eFilterButton?.contains(t))||this.sortController.progressSort(this.params.column,!1,"uiColumnSorted")};this.addManagedListeners(t,{tap:e})}if(this.params.enableFilterButton){const e=new Ki(this.eFilterButton,!0);this.addManagedListeners(e,{tap:()=>this.params.showFilter(this.eFilterButton)}),this.addDestroyFunc((()=>e.destroy()))}this.addDestroyFunc((()=>t.destroy())),a&&this.addDestroyFunc((()=>n.destroy()))}workOutShowMenu(){return this.params.enableMenu&&this.menuService.isHeaderMenuButtonEnabled()}shouldSuppressMenuHide(){return this.menuService.isHeaderMenuButtonAlwaysShowEnabled()}setMenu(){if(!this.eMenu)return;if(this.currentShowMenu=this.workOutShowMenu(),!this.currentShowMenu)return Ci(this.eMenu),void(this.eMenu=void 0);const e=this.menuService.isLegacyMenuEnabled();this.addInIcon(e?"menu":"menuAlt",this.eMenu,this.params.column),this.eMenu.classList.toggle("ag-header-menu-icon",!e),this.currentSuppressMenuHide=this.shouldSuppressMenuHide(),this.addManagedElementListeners(this.eMenu,{click:()=>this.params.showColumnMenu(this.eMenu)}),this.eMenu.classList.toggle("ag-header-menu-always-show",this.currentSuppressMenuHide)}onMenuKeyboardShortcut(e){const t=this.params.column,i=this.menuService.isLegacyMenuEnabled();if(e&&!i){if(this.menuService.isFilterMenuInHeaderEnabled(t))return this.params.showFilter(this.eFilterButton??this.eMenu??this.getGui()),!0}else if(this.params.enableMenu)return this.params.showColumnMenu(this.eMenu??this.eFilterButton??this.getGui()),!0;return!1}workOutSort(){return this.params.enableSorting}setupSort(){if(this.currentSort=this.params.enableSorting,this.eSortIndicator||(this.eSortIndicator=this.createBean(new ji(!0)),this.eSortIndicator.attachCustomElements(this.eSortOrder,this.eSortAsc,this.eSortDesc,this.eSortMixed,this.eSortNone)),this.eSortIndicator.setupSort(this.params.column),!this.currentSort)return;this.addManagedListeners(this.params.column,{movingChanged:()=>{this.lastMovingChanged=(new Date).getTime()}}),this.eLabel&&this.addManagedElementListeners(this.eLabel,{click:e=>{const t=this.params.column.isMoving(),i=(new Date).getTime()-this.lastMovingChanged<50;if(!(t||i)){const t="ctrl"===this.gos.get("multiSortKey")?e.ctrlKey||e.metaKey:e.shiftKey;this.params.progressSort(t)}}});const e=()=>{const e=this.params.column.getSort();if(this.addOrRemoveCssClass("ag-header-cell-sorted-asc","asc"===e),this.addOrRemoveCssClass("ag-header-cell-sorted-desc","desc"===e),this.addOrRemoveCssClass("ag-header-cell-sorted-none",!e),this.params.column.getColDef().showRowGroup){const e=this.funcColsService.getSourceColumnsForGroupColumn(this.params.column),t=e?.every((e=>this.params.column.getSort()==e.getSort())),i=!t;this.addOrRemoveCssClass("ag-header-cell-sorted-mixed",i)}};this.addManagedEventListeners({sortChanged:e,columnRowGroupChanged:e})}setupFilterIcon(){this.eFilter&&this.configureFilter(this.params.enableFilterIcon,this.eFilter,this.onFilterChangedIcon.bind(this))}setupFilterButton(){if(!this.eFilterButton)return;this.configureFilter(this.params.enableFilterButton,this.eFilterButton,this.onFilterChangedButton.bind(this))?this.addManagedElementListeners(this.eFilterButton,{click:()=>this.params.showFilter(this.eFilterButton)}):this.eFilterButton=void 0}configureFilter(e,t,i){if(!e)return Ci(t),!1;const a=this.params.column;return this.addInIcon("filter",t,a),this.addManagedListeners(a,{filterChanged:i}),i(),!0}onFilterChangedIcon(){const e=this.params.column.isFilterActive();oi(this.eFilter,e,{skipAriaHidden:!0})}onFilterChangedButton(){const e=this.params.column.isFilterActive();this.eFilterButton.classList.toggle("ag-filter-active",e)}getAnchorElementForMenu(e){return e?this.eFilterButton??this.eMenu??this.getGui():this.eMenu??this.eFilterButton??this.getGui()}},Zi=class extends Hi{constructor(){super('<div class="ag-header-group-cell-label" role="presentation">\n <span data-ref="agLabel" class="ag-header-group-text" role="presentation"></span>\n <span data-ref="agOpened" class="ag-header-icon ag-header-expand-icon ag-header-expand-icon-expanded"></span>\n <span data-ref="agClosed" class="ag-header-icon ag-header-expand-icon ag-header-expand-icon-collapsed"></span>\n </div>'),this.agOpened=Vi,this.agClosed=Vi,this.agLabel=Vi}wireBeans(e){this.columnModel=e.columnModel}destroy(){super.destroy()}init(e){this.params=e,this.checkWarnings(),this.setupLabel(),this.addGroupExpandIcon(),this.setupExpandIcons()}checkWarnings(){this.params.template&&de("A template was provided for Header Group Comp - templates are only supported for Header Comps (not groups)")}setupExpandIcons(){this.addInIcon("columnGroupOpened",this.agOpened),this.addInIcon("columnGroupClosed",this.agClosed);const e=e=>{if(A(e))return;const t=!this.params.columnGroup.isExpanded();this.columnModel.setColumnGroupOpened(this.params.columnGroup.getProvidedColumnGroup(),t,"uiColumnExpanded")};this.addTouchAndClickListeners(this.agClosed,e),this.addTouchAndClickListeners(this.agOpened,e);const t=e=>{D(e)};this.addManagedElementListeners(this.agClosed,{dblclick:t}),this.addManagedElementListeners(this.agOpened,{dblclick:t}),this.addManagedElementListeners(this.getGui(),{dblclick:e}),this.updateIconVisibility();const i=this.params.columnGroup.getProvidedColumnGroup(),a=this.updateIconVisibility.bind(this);this.addManagedListeners(i,{expandedChanged:a,expandableChanged:a})}addTouchAndClickListeners(e,t){const i=new Ki(e,!0);this.addManagedListeners(i,{tap:t}),this.addDestroyFunc((()=>i.destroy())),this.addManagedElementListeners(e,{click:t})}updateIconVisibility(){if(this.params.columnGroup.isExpandable()){const e=this.params.columnGroup.isExpanded();oi(this.agOpened,e),oi(this.agClosed,!e)}else oi(this.agOpened,!1),oi(this.agClosed,!1)}addInIcon(e,t){const i=qi(e,this.gos,null);i&&t.appendChild(i)}addGroupExpandIcon(){if(!this.params.columnGroup.isExpandable())return oi(this.agOpened,!1),void oi(this.agClosed,!1)}setupLabel(){const{displayName:e,columnGroup:t}=this.params;if(N(e)){const t=We(e,!0);this.agLabel.textContent=t}this.addOrRemoveCssClass("ag-sticky-label",!t.getColGroupDef()?.suppressStickyLabel)}},Xi=(e=>(e.CommunityCoreModule="@ag-grid-community/core",e.InfiniteRowModelModule="@ag-grid-community/infinite-row-model",e.ClientSideRowModelModule="@ag-grid-community/client-side-row-model",e.CsvExportModule="@ag-grid-community/csv-export",e.EnterpriseCoreModule="@ag-grid-enterprise/core",e.RowGroupingModule="@ag-grid-enterprise/row-grouping",e.ColumnsToolPanelModule="@ag-grid-enterprise/column-tool-panel",e.FiltersToolPanelModule="@ag-grid-enterprise/filter-tool-panel",e.MenuModule="@ag-grid-enterprise/menu",e.SetFilterModule="@ag-grid-enterprise/set-filter",e.MultiFilterModule="@ag-grid-enterprise/multi-filter",e.StatusBarModule="@ag-grid-enterprise/status-bar",e.SideBarModule="@ag-grid-enterprise/side-bar",e.RangeSelectionModule="@ag-grid-enterprise/range-selection",e.MasterDetailModule="@ag-grid-enterprise/master-detail",e.RichSelectModule="@ag-grid-enterprise/rich-select",e.GridChartsModule="@ag-grid-enterprise/charts",e.ViewportRowModelModule="@ag-grid-enterprise/viewport-row-model",e.ServerSideRowModelModule="@ag-grid-enterprise/server-side-row-model",e.ExcelExportModule="@ag-grid-enterprise/excel-export",e.ClipboardModule="@ag-grid-enterprise/clipboard",e.SparklinesModule="@ag-grid-enterprise/sparklines",e.AdvancedFilterModule="@ag-grid-enterprise/advanced-filter",e.AngularModule="@ag-grid-community/angular",e.ReactModule="@ag-grid-community/react",e.VueModule="@ag-grid-community/vue",e))(Xi||{}),Qi=class e{static register(t){e.__register(t,!0,void 0)}static registerModules(t){e.__registerModules(t,!0,void 0)}static __register(t,i,a){e.runVersionChecks(t),void 0!==a?(e.areGridScopedModules=!0,void 0===e.gridModulesMap[a]&&(e.gridModulesMap[a]={}),e.gridModulesMap[a][t.moduleName]=t):e.globalModulesMap[t.moduleName]=t,e.setModuleBased(i)}static __unRegisterGridModules(t){delete e.gridModulesMap[t]}static __registerModules(t,i,a){e.setModuleBased(i),t&&t.forEach((t=>e.__register(t,i,a)))}static isValidModuleVersion(t){const[i,a]=t.version.split(".")||[],[n,r]=e.currentModuleVersion.split(".")||[];return i===n&&a===r}static runVersionChecks(t){e.currentModuleVersion||(e.currentModuleVersion=t.version);const i=e=>`You are using incompatible versions of AG Grid modules. Major and minor versions should always match across modules. ${e} Please update all modules to the same version.`;if(t.version?e.isValidModuleVersion(t)||he(i(`'${t.moduleName}' is version ${t.version} but the other modules are version ${e.currentModuleVersion}.`)):he(i(`'${t.moduleName}' is incompatible.`)),t.validate){const e=t.validate();if(!e.isValid){he(`${e.message}`)}}}static setModuleBased(t){void 0===e.moduleBased?e.moduleBased=t:e.moduleBased!==t&&(he("AG Grid: You are mixing modules (i.e. @ag-grid-community/core) and packages (ag-grid-community) - you can only use one or the other of these mechanisms."),he("Please see https://www.ag-grid.com/javascript-grid/modules/ for more information."))}static __setIsBundled(){e.isBundled=!0}static __assertRegistered(t,i,a){if(this.__isRegistered(t,a))return!0;let n;if(e.isBundled)n=`AG Grid: unable to use ${i} as 'ag-grid-enterprise' has not been loaded. Check you are using the Enterprise bundle:\n \n <script src="https://cdn.jsdelivr.net/npm/ag-grid-enterprise@AG_GRID_VERSION/dist/ag-grid-enterprise.min.js"><\/script>\n \nFor more info see: https://ag-grid.com/javascript-data-grid/getting-started/#getting-started-with-ag-grid-enterprise`;else if(e.moduleBased||void 0===e.moduleBased){const r=Object.entries(Xi).find((([e,i])=>i===t))?.[0];n=`AG Grid: unable to use ${i} as the ${r} is not registered${e.areGridScopedModules?` for gridId: ${a}`:""}. Check if you have registered the module:\n \n import { ModuleRegistry } from '@ag-grid-community/core';\n import { ${r} } from '${t}';\n \n ModuleRegistry.registerModules([ ${r} ]);\n\nFor more info see: https://www.ag-grid.com/javascript-grid/modules/`}else n=`AG Grid: unable to use ${i} as package 'ag-grid-enterprise' has not been imported. Check that you have imported the package:\n \n import 'ag-grid-enterprise';`;return he(n),!1}static __isRegistered(t,i){return!!e.globalModulesMap[t]||!!e.gridModulesMap[i]?.[t]}static __getRegisteredModules(t){return[...q(e.globalModulesMap),...q(e.gridModulesMap[t]||{})]}static __getGridRegisteredModules(t){return q(e.gridModulesMap[t]??{})||[]}static __isPackageBased(){return!e.moduleBased}};Qi.globalModulesMap={},Qi.gridModulesMap={},Qi.areGridScopedModules=!1;var Ji=Qi,ea=class extends Hi{constructor(){super(),this.refreshCount=0;const e=document.createElement("span"),t=document.createElement("span");t.setAttribute("class","ag-value-change-delta");const i=document.createElement("span");i.setAttribute("class","ag-value-change-value"),e.appendChild(t),e.appendChild(i),this.setTemplateFromElement(e)}wireBeans(e){this.filterManager=e.filterManager}init(e){this.eValue=this.queryForHtmlElement(".ag-value-change-value"),this.eDelta=this.queryForHtmlElement(".ag-value-change-delta"),this.refresh(e,!0)}showDelta(e,t){const i=Math.abs(t),a=e.formatValue(i),n=N(a)?a:i,r=t>=0;this.eDelta.textContent=r?"↑"+n:"↓"+n,this.eDelta.classList.toggle("ag-value-change-delta-up",r),this.eDelta.classList.toggle("ag-value-change-delta-down",!r)}setTimerToRemoveDelta(){this.refreshCount++;const e=this.refreshCount;this.getFrameworkOverrides().wrapIncoming((()=>{window.setTimeout((()=>{e===this.refreshCount&&this.hideDeltaValue()}),2e3)}))}hideDeltaValue(){this.eValue.classList.remove("ag-value-change-value-highlight"),bi(this.eDelta)}refresh(e,t=!1){const i=e.value;if(i===this.lastValue)return!1;if(N(e.valueFormatted)?this.eValue.textContent=e.valueFormatted:N(e.value)?this.eValue.textContent=i:bi(this.eValue),this.filterManager?.isSuppressFlashingCellsBecauseFiltering())return!1;if("number"==typeof i&&"number"==typeof this.lastValue){const t=i-this.lastValue;this.showDelta(e,t)}return this.lastValue&&this.eValue.classList.add("ag-value-change-value-highlight"),t||this.setTimerToRemoveDelta(),this.lastValue=i,!0}},ta=class extends Hi{constructor(){super(),this.refreshCount=0;const e=document.createElement("span"),t=document.createElement("span");t.setAttribute("class","ag-value-slide-current"),e.appendChild(t),this.setTemplateFromElement(e),this.eCurrent=this.queryForHtmlElement(".ag-value-slide-current")}wireBeans(e){this.filterManager=e.filterManager}init(e){this.refresh(e,!0)}addSlideAnimation(){this.refreshCount++;const e=this.refreshCount;this.ePrevious&&this.getGui().removeChild(this.ePrevious);const t=document.createElement("span");t.setAttribute("class","ag-value-slide-previous ag-value-slide-out"),this.ePrevious=t,this.ePrevious.textContent=this.eCurrent.textContent,this.getGui().insertBefore(this.ePrevious,this.eCurrent),this.getFrameworkOverrides().wrapIncoming((()=>{window.setTimeout((()=>{e===this.refreshCount&&this.ePrevious.classList.add("ag-value-slide-out-end")}),50),window.setTimeout((()=>{e===this.refreshCount&&(this.getGui().removeChild(this.ePrevious),this.ePrevious=null)}),3e3)}))}refresh(e,t=!1){let i=e.value;return O(i)&&(i=""),i!==this.lastValue&&(!this.filterManager?.isSuppressFlashingCellsBecauseFiltering()&&(t||this.addSlideAnimation(),this.lastValue=i,N(e.valueFormatted)?this.eCurrent.textContent=e.valueFormatted:N(e.value)?this.eCurrent.textContent=i:bi(this.eCurrent),!0))}},ia=class{};ia.BACKSPACE="Backspace",ia.TAB="Tab",ia.ENTER="Enter",ia.ESCAPE="Escape",ia.SPACE=" ",ia.LEFT="ArrowLeft",ia.UP="ArrowUp",ia.RIGHT="ArrowRight",ia.DOWN="ArrowDown",ia.DELETE="Delete",ia.F2="F2",ia.PAGE_UP="PageUp",ia.PAGE_DOWN="PageDown",ia.PAGE_HOME="Home",ia.PAGE_END="End",ia.A="KeyA",ia.C="KeyC",ia.D="KeyD",ia.V="KeyV",ia.X="KeyX",ia.Y="KeyY",ia.Z="KeyZ";var aa=class extends Hi{constructor(e,t,i){super(t,i),this.labelSeparator="",this.labelAlignment="left",this.disabled=!1,this.label="",this.config=e||{}}postConstruct(){this.addCssClass("ag-labeled"),this.eLabel.classList.add("ag-label");const{labelSeparator:e,label:t,labelWidth:i,labelAlignment:a,disabled:n}=this.config;null!=n&&this.setDisabled(n),null!=e&&this.setLabelSeparator(e),null!=t&&this.setLabel(t),null!=i&&this.setLabelWidth(i),this.setLabelAlignment(a||this.labelAlignment),this.refreshLabel()}refreshLabel(){bi(this.eLabel),"string"==typeof this.label?this.eLabel.innerText=this.label+this.labelSeparator:this.label&&this.eLabel.appendChild(this.label),""===this.label?(oi(this.eLabel,!1),St(this.eLabel,"presentation")):(oi(this.eLabel,!0),St(this.eLabel,null))}setLabelSeparator(e){return this.labelSeparator===e||(this.labelSeparator=e,null!=this.label&&this.refreshLabel()),this}getLabelId(){return this.eLabel.id=this.eLabel.id||`ag-${this.getCompId()}-label`,this.eLabel.id}getLabel(){return this.label}setLabel(e){return this.label===e||(this.label=e,this.refreshLabel()),this}setLabelAlignment(e){const t=this.getGui().classList;return t.toggle("ag-label-align-left","left"===e),t.toggle("ag-label-align-right","right"===e),t.toggle("ag-label-align-top","top"===e),this}setLabelEllipsis(e){return this.eLabel.classList.toggle("ag-label-ellipsis",e),this}setLabelWidth(e){return null==this.label||Di(this.eLabel,e),this}setDisabled(e){e=!!e;const t=this.getGui();return li(t,e),t.classList.toggle("ag-disabled",e),this.disabled=e,this}isDisabled(){return!!this.disabled}},na=class extends aa{constructor(e,t,i,a){super(e,t,i),this.className=a}postConstruct(){super.postConstruct();const{width:e,value:t,onValueChange:i}=this.config;null!=e&&this.setWidth(e),null!=t&&this.setValue(t),null!=i&&this.onValueChange(i),this.className&&this.addCssClass(this.className),this.refreshAriaLabelledBy()}setLabel(e){return super.setLabel(e),this.refreshAriaLabelledBy(),this}refreshAriaLabelledBy(){const e=this.getAriaElement(),t=this.getLabelId(),i=this.getLabel();null==i||""==i||null!==e.getAttribute("aria-label")?Mt(e,""):Mt(e,t??"")}setAriaLabel(e){return kt(this.getAriaElement(),e),this.refreshAriaLabelledBy(),this}onValueChange(e){return this.addManagedListeners(this,{fieldValueChanged:()=>e(this.getValue())}),this}getWidth(){return this.getGui().clientWidth}setWidth(e){return Ai(this.getGui(),e),this}getPreviousValue(){return this.previousValue}getValue(){return this.value}setValue(e,t){return this.value===e||(this.previousValue=this.value,this.value=e,t||this.dispatchLocalEvent({type:"fieldValueChanged"})),this}},ra=class extends na{constructor(e,t,i="text",a="input"){super(e,e?.template??`\n <div role="presentation">\n <div data-ref="eLabel" class="ag-input-field-label"></div>\n <div data-ref="eWrapper" class="ag-wrapper ag-input-wrapper" role="presentation">\n <${a} data-ref="eInput" class="ag-input-field-input"></${a}>\n </div>\n </div>`,[],t),this.inputType=i,this.displayFieldTag=a,this.eLabel=Vi,this.eWrapper=Vi,this.eInput=Vi}postConstruct(){super.postConstruct(),this.setInputType(),this.eLabel.classList.add(`${this.className}-label`),this.eWrapper.classList.add(`${this.className}-input-wrapper`),this.eInput.classList.add(`${this.className}-input`),this.addCssClass("ag-input-field"),this.eInput.id=this.eInput.id||`ag-${this.getCompId()}-input`;const{inputName:e,inputWidth:t}=this.config;null!=e&&this.setInputName(e),null!=t&&this.setInputWidth(t),this.addInputListeners(),this.activateTabIndex([this.eInput])}addInputListeners(){this.addManagedElementListeners(this.eInput,{input:e=>this.setValue(e.target.value)})}setInputType(){"input"===this.displayFieldTag&&this.eInput.setAttribute("type",this.inputType)}getInputElement(){return this.eInput}setInputWidth(e){return Di(this.eWrapper,e),this}setInputName(e){return this.getInputElement().setAttribute("name",e),this}getFocusableElement(){return this.eInput}setMaxLength(e){return this.eInput.maxLength=e,this}setInputPlaceholder(e){return Fi(this.eInput,"placeholder",e),this}setInputAriaLabel(e){return kt(this.eInput,e),this.refreshAriaLabelledBy(),this}setDisabled(e){return li(this.eInput,e),super.setDisabled(e)}setAutoComplete(e){if(!0===e)Fi(this.eInput,"autocomplete",null);else{const t="string"==typeof e?e:"off";Fi(this.eInput,"autocomplete",t)}return this}},oa=class extends ra{constructor(e,t="ag-checkbox",i="checkbox"){super(e,t,i),this.labelAlignment="right",this.selected=!1,this.readOnly=!1,this.passive=!1}postConstruct(){super.postConstruct();const{readOnly:e,passive:t}=this.config;"boolean"==typeof e&&this.setReadOnly(e),"boolean"==typeof t&&this.setPassive(t)}addInputListeners(){this.addManagedElementListeners(this.eInput,{click:this.onCheckboxClick.bind(this)}),this.addManagedElementListeners(this.eLabel,{click:this.toggle.bind(this)})}getNextValue(){return void 0===this.selected||!this.selected}setPassive(e){this.passive=e}isReadOnly(){return this.readOnly}setReadOnly(e){this.eWrapper.classList.toggle("ag-disabled",e),this.eInput.disabled=e,this.readOnly=e}setDisabled(e){return this.eWrapper.classList.toggle("ag-disabled",e),super.setDisabled(e)}toggle(){if(this.eInput.disabled)return;const e=this.isSelected(),t=this.getNextValue();this.passive?this.dispatchChange(t,e):this.setValue(t)}getValue(){return this.isSelected()}setValue(e,t){return this.refreshSelectedClass(e),this.setSelected(e,t),this}setName(e){return this.getInputElement().name=e,this}isSelected(){return this.selected}setSelected(e,t){this.isSelected()!==e&&(this.previousValue=this.isSelected(),e=this.selected="boolean"==typeof e?e:void 0,this.eInput.checked=e,this.eInput.indeterminate=void 0===e,t||this.dispatchChange(this.selected,this.previousValue))}dispatchChange(e,t,i){this.dispatchLocalEvent({type:"fieldValueChanged",selected:e,previousValue:t,event:i});const a=this.getInputElement(),n={type:"checkboxChanged",id:a.id,name:a.name,selected:e,previousValue:t};this.eventService.dispatchEvent(n)}onCheckboxClick(e){if(this.passive||this.eInput.disabled)return;const t=this.isSelected(),i=this.selected=e.target.checked;this.refreshSelectedClass(i),this.dispatchChange(i,t,e)}refreshSelectedClass(e){this.eWrapper.classList.toggle("ag-checked",!0===e),this.eWrapper.classList.toggle("ag-indeterminate",null==e)}},sa={selector:"AG-CHECKBOX",component:oa},la=class extends Hi{constructor(){super('\n <div class="ag-cell-wrapper ag-checkbox-cell" role="presentation">\n <ag-checkbox role="presentation" data-ref="eCheckbox"></ag-checkbox>\n </div>',[sa]),this.eCheckbox=Vi}init(e){this.params=e,this.updateCheckbox(e);const t=this.eCheckbox.getInputElement();t.setAttribute("tabindex","-1"),Dt(t,"polite"),this.addManagedListeners(t,{click:e=>{if(D(e),this.eCheckbox.isDisabled())return;const t=this.eCheckbox.getValue();this.onCheckboxChanged(t)},dblclick:e=>{D(e)}}),this.addManagedElementListeners(this.params.eGridCell,{keydown:e=>{if(e.key===ia.SPACE&&!this.eCheckbox.isDisabled()){this.params.eGridCell===this.gos.getActiveDomElement()&&this.eCheckbox.toggle();const t=this.eCheckbox.getValue();this.onCheckboxChanged(t),e.preventDefault()}}})}refresh(e){return this.params=e,this.updateCheckbox(e),!0}updateCheckbox(e){let t,i=!0;if(e.node.group&&e.column){const a=e.column.getColId();a.startsWith(Se)?t=null==e.value||""===e.value?void 0:"true"===e.value:e.node.aggData&&void 0!==e.node.aggData[a]?t=e.value??void 0:i=!1}else t=e.value??void 0;if(!i)return void this.eCheckbox.setDisplayed(!1);this.eCheckbox.setValue(t);const a=null!=e.disabled?e.disabled:!e.column?.isCellEditable(e.node);this.eCheckbox.setDisabled(a);const n=this.localeService.getLocaleTextFunc(),r=Kt(n,t),o=a?r:`${n("ariaToggleCellValue","Press SPACE to toggle cell value")} (${r})`;this.eCheckbox.setInputAriaLabel(o)}onCheckboxChanged(e){const{column:t,node:i,value:a}=this.params,n={type:"cellEditingStarted",column:t,colDef:t?.getColDef(),data:i.data,node:i,rowIndex:i.rowIndex,rowPinned:i.rowPinned,value:a};this.eventService.dispatchEvent(n);const r=this.params.node.setDataValue(this.params.column,e,"edit"),o={type:"cellEditingStopped",column:t,colDef:t?.getColDef(),data:i.data,node:i,rowIndex:i.rowIndex,rowPinned:i.rowPinned,value:a,oldValue:a,newValue:e,valueChanged:r};this.eventService.dispatchEvent(o)}},ca=class extends Hi{constructor(){super('<div class="ag-loading">\n <span class="ag-loading-icon" data-ref="eLoadingIcon"></span>\n <span class="ag-loading-text" data-ref="eLoadingText"></span>\n </div>'),this.eLoadingIcon=Vi,this.eLoadingText=Vi}init(e){e.node.failedLoad?this.setupFailed():this.setupLoading()}setupFailed(){const e=this.localeService.getLocaleTextFunc();this.eLoadingText.innerText=e("loadingError","ERR")}setupLoading(){const e=qi("groupLoading",this.gos,null);e&&this.eLoadingIcon.appendChild(e);const t=this.localeService.getLocaleTextFunc();this.eLoadingText.innerText=t("loadingOoo","Loading")}refresh(e){return!1}destroy(){super.destroy()}},da=class extends Hi{constructor(){super('<div class="ag-skeleton-container"></div>')}init(e){const t=`ag-cell-skeleton-renderer-${this.getCompId()}`;this.getGui().setAttribute("id",t),this.addDestroyFunc((()=>Mt(e.eParentOfValue))),Mt(e.eParentOfValue,t),e.node.failedLoad?this.setupFailed():this.setupLoading(e)}setupFailed(){const e=this.localeService.getLocaleTextFunc();this.getGui().innerText=e("loadingError","ERR");const t=e("ariaSkeletonCellLoadingFailed","Row failed to load");kt(this.getGui(),t)}setupLoading(e){const t=this.gos.getDocument().createElement("div");t.classList.add("ag-skeleton-effect");const i=e.node.rowIndex;if(null!=i){const e=75+25*(i%2==0?Math.sin(i):Math.cos(i));t.style.width=`${e}%`}this.getGui().appendChild(t);const a=this.localeService.getLocaleTextFunc()("ariaSkeletonCellLoading","Row data is loading");kt(this.getGui(),a)}refresh(e){return!1}destroy(){super.destroy()}},ha=class extends Hi{constructor(){super()}destroy(){super.destroy()}},ua=class extends ha{init(){const e=this.gos.get("overlayLoadingTemplate");if(this.setTemplate(e??'<span aria-live="polite" aria-atomic="true" class="ag-overlay-loading-center"></span>'),!e){const e=this.localeService.getLocaleTextFunc();setTimeout((()=>{this.getGui().textContent=e("loadingOoo","Loading...")}))}}},ga=class extends ha{init(){const e=this.gos.get("overlayNoRowsTemplate");if(this.setTemplate(e??'<span class="ag-overlay-no-rows-center"></span>'),!e){const e=this.localeService.getLocaleTextFunc();setTimeout((()=>{this.getGui().textContent=e("noRowsToShow","No Rows To Show")}))}}},pa=class extends Hi{isPopup(){return!0}setParentComponent(e){e.addCssClass("ag-has-popup"),super.setParentComponent(e)}destroy(){const e=this.parentComponent;e&&e.isAlive()&&e.getGui().classList.remove("ag-has-popup"),super.destroy()}},ma=class extends pa{constructor(){super('<div class="ag-tooltip"></div>')}init(e){const{value:t}=e;this.getGui().textContent=We(t,!0)}};function fa(e,t,i,a){let n=t.map(((t,i)=>({value:t,relevance:va(e.toLowerCase(),t.toLocaleLowerCase()),idx:i})));if(n.sort(((e,t)=>t.relevance-e.relevance)),i&&(n=n.filter((e=>0!==e.relevance))),n.length>0&&a&&a>0){const e=n[0].relevance*a;n=n.filter((t=>e-t.relevance<0))}const r=[],o=[];for(const e of n)r.push(e.value),o.push(e.idx);return{values:r,indices:o}}function va(e,t){const i=e.replace(/\s/g,""),a=t.replace(/\s/g,"");let n=0,r=-1;for(let e=0;e<i.length;e++){const t=a.indexOf(i[e],r+1);-1!==t&&(r=t,n+=100-100*r/1e4*100)}return n}var ya=class extends F{constructor(){super(...arguments),this.beanName="userComponentRegistry",this.agGridDefaults={agColumnHeader:$i,agColumnGroupHeader:Zi,agSortIndicator:ji,agAnimateShowChangeCellRenderer:ea,agAnimateSlideCellRenderer:ta,agLoadingCellRenderer:ca,agSkeletonCellRenderer:da,agCheckboxCellRenderer:la,agLoadingOverlay:ua,agNoRowsOverlay:ga,agTooltipComponent:ma},this.enterpriseAgDefaultCompsModule={agSetColumnFilter:"@ag-grid-enterprise/set-filter",agSetColumnFloatingFilter:"@ag-grid-enterprise/set-filter",agMultiColumnFilter:"@ag-grid-enterprise/multi-filter",agMultiColumnFloatingFilter:"@ag-grid-enterprise/multi-filter",agGroupColumnFilter:"@ag-grid-enterprise/row-grouping",agGroupColumnFloatingFilter:"@ag-grid-enterprise/row-grouping",agGroupCellRenderer:"@ag-grid-enterprise/row-grouping",agGroupRowRenderer:"@ag-grid-enterprise/row-grouping",agRichSelect:"@ag-grid-enterprise/rich-select",agRichSelectCellEditor:"@ag-grid-enterprise/rich-select",agDetailCellRenderer:"@ag-grid-enterprise/master-detail",agSparklineCellRenderer:"@ag-grid-enterprise/sparklines"},this.jsComps={}}postConstruct(){const e=this.gos.get("components");null!=e&&K(e,((e,t)=>this.registerJsComponent(e,t)))}registerDefaultComponent(e,t){this.agGridDefaults[e]=t}registerJsComponent(e,t){this.jsComps[e]=t}retrieve(e,t){const i=(e,t)=>({componentFromFramework:t,component:e}),a=this.getFrameworkOverrides().frameworkComponent(t,this.gos.get("components"));if(null!=a)return i(a,!0);const n=this.jsComps[t];if(n){return i(n,this.getFrameworkOverrides().isFrameworkComponent(n))}const r=this.agGridDefaults[t];if(r)return i(r,!1);const o=this.enterpriseAgDefaultCompsModule[t];return o?Ji.__assertRegistered(o,`AG Grid '${e}' component: ${t}`,this.gridId):le((()=>{this.warnAboutMissingComponent(e,t)}),"MissingComp"+t),null}warnAboutMissingComponent(e,t){const i=fa(t,[...Object.keys(this.agGridDefaults).filter((e=>!["agCellEditor","agGroupRowRenderer","agSortIndicator"].includes(e))),...Object.keys(this.jsComps)],!0,.8).values;de(`Could not find '${t}' component. It was configured as "${e}: '${t}'" but it wasn't found in the list of registered components.`),i.length>0&&de(` Did you mean: [${i.slice(0,3)}]?`),de(`If using a custom component check it has been registered as described in: ${this.getFrameworkOverrides().getDocLink("components/")}`)}},ba=class e{constructor(e){this.status=0,this.resolution=null,this.waiters=[],e((e=>this.onDone(e)),(e=>this.onReject(e)))}static all(t){return t.length?new e((e=>{let i=t.length;const a=new Array(i);t.forEach(((t,n)=>{t.then((t=>{a[n]=t,i--,0===i&&e(a)}))}))})):e.resolve()}static resolve(t=null){return new e((e=>e(t)))}then(t){return new e((e=>{1===this.status?e(t(this.resolution)):this.waiters.push((i=>e(t(i))))}))}onDone(e){this.status=1,this.resolution=e,this.waiters.forEach((t=>t(e)))}onReject(e){}},Ca={propertyName:"dateComponent",cellRenderer:!1},wa={propertyName:"headerComponent",cellRenderer:!1},Sa={propertyName:"headerGroupComponent",cellRenderer:!1},xa={propertyName:"cellRenderer",cellRenderer:!0},ka={propertyName:"cellRenderer",cellRenderer:!1},Ma={propertyName:"loadingCellRenderer",cellRenderer:!0},Ra={propertyName:"cellEditor",cellRenderer:!1},Da={propertyName:"innerRenderer",cellRenderer:!0},Aa={propertyName:"loadingOverlayComponent",cellRenderer:!1},Ea={propertyName:"noRowsOverlayComponent",cellRenderer:!1},Ta={propertyName:"tooltipComponent",cellRenderer:!1},Pa={propertyName:"filter",cellRenderer:!1},Fa={propertyName:"floatingFilterComponent",cellRenderer:!1},Ia={propertyName:"toolPanel",cellRenderer:!1},La={propertyName:"statusPanel",cellRenderer:!1},Na={propertyName:"fullWidthCellRenderer",cellRenderer:!0},Oa={propertyName:"loadingCellRenderer",cellRenderer:!0},za={propertyName:"groupRowRenderer",cellRenderer:!0},Ga={propertyName:"detailCellRenderer",cellRenderer:!0},Ba={propertyName:"menuItem",cellRenderer:!1},Va=class e extends F{constructor(){super(...arguments),this.beanName="userComponentFactory"}wireBeans(e){this.agComponentUtils=e.agComponentUtils,this.componentMetadataProvider=e.componentMetadataProvider,this.userComponentRegistry=e.userComponentRegistry,this.frameworkComponentWrapper=e.frameworkComponentWrapper,this.gridOptions=e.gridOptions}getHeaderCompDetails(e,t){return this.getCompDetails(e,wa,"agColumnHeader",t)}getHeaderGroupCompDetails(e){const t=e.columnGroup.getColGroupDef();return this.getCompDetails(t,Sa,"agColumnGroupHeader",e)}getFullWidthCellRendererDetails(e){return this.getCompDetails(this.gridOptions,Na,null,e,!0)}getFullWidthLoadingCellRendererDetails(e){return this.getCompDetails(this.gridOptions,Oa,"agLoadingCellRenderer",e,!0)}getFullWidthGroupCellRendererDetails(e){return this.getCompDetails(this.gridOptions,za,"agGroupRowRenderer",e,!0)}getFullWidthDetailCellRendererDetails(e){return this.getCompDetails(this.gridOptions,Ga,"agDetailCellRenderer",e,!0)}getInnerRendererDetails(e,t){return this.getCompDetails(e,Da,null,t)}getFullWidthGroupRowInnerCellRenderer(e,t){return this.getCompDetails(e,Da,null,t)}getCellRendererDetails(e,t){return this.getCompDetails(e,xa,null,t)}getEditorRendererDetails(e,t){return this.getCompDetails(e,ka,null,t)}getLoadingCellRendererDetails(e,t){return this.getCompDetails(e,Ma,"agSkeletonCellRenderer",t,!0)}getCellEditorDetails(e,t){return this.getCompDetails(e,Ra,"agCellEditor",t,!0)}getFilterDetails(e,t,i){return this.getCompDetails(e,Pa,i,t,!0)}getDateCompDetails(e){return this.getCompDetails(this.gridOptions,Ca,"agDateInput",e,!0)}getLoadingOverlayCompDetails(e){return this.getCompDetails(this.gridOptions,Aa,"agLoadingOverlay",e,!0)}getNoRowsOverlayCompDetails(e){return this.getCompDetails(this.gridOptions,Ea,"agNoRowsOverlay",e,!0)}getTooltipCompDetails(e){return this.getCompDetails(e.colDef,Ta,"agTooltipComponent",e,!0)}getSetFilterCellRendererDetails(e,t){return this.getCompDetails(e,xa,null,t)}getFloatingFilterCompDetails(e,t,i){return this.getCompDetails(e,Fa,i,t)}getToolPanelCompDetails(e,t){return this.getCompDetails(e,Ia,null,t,!0)}getStatusPanelCompDetails(e,t){return this.getCompDetails(e,La,null,t,!0)}getMenuItemCompDetails(e,t){return this.getCompDetails(e,Ba,"agMenuItem",t,!0)}getCompDetails(t,i,a,n,r=!1){const{propertyName:o,cellRenderer:s}=i;let{compName:l,jsComp:c,fwComp:d,paramsFromSelector:h,popupFromSelector:u,popupPositionFromSelector:g}=e.getCompKeys(this.frameworkOverrides,t,i,n);const p=e=>{const t=this.userComponentRegistry.retrieve(o,e);t&&(c=t.componentFromFramework?void 0:t.component,d=t.componentFromFramework?t.component:void 0)};if(null!=l&&p(l),null==c&&null==d&&null!=a&&p(a),c&&s&&!this.agComponentUtils.doesImplementIComponent(c)&&(c=this.agComponentUtils.adaptFunction(o,c)),!c&&!d)return void(r&&he(`Could not find component ${l}, did you forget to configure this component?`));const m=this.mergeParamsWithApplicationProvidedParams(t,i,n,h),f=null==c,v=c||d;return{componentFromFramework:f,componentClass:v,params:m,type:i,popupFromSelector:u,popupPositionFromSelector:g,newAgStackInstance:()=>this.newAgStackInstance(v,f,m,i)}}static getCompKeys(e,t,i,a){const{propertyName:n}=i;let r,o,s,l,c,d;if(t){const i=t,h=i[n+"Selector"],u=h?h(a):null,g=t=>{if("string"==typeof t)r=t;else if(null!=t&&!0!==t){e.isFrameworkComponent(t)?s=t:o=t}};u?(g(u.component),l=u.params,c=u.popup,d=u.popupPosition):g(i[n])}return{compName:r,jsComp:o,fwComp:s,paramsFromSelector:l,popupFromSelector:c,popupPositionFromSelector:d}}newAgStackInstance(e,t,i,a){const n=a.propertyName;let r;if(!t)r=new e;else{const t=this.componentMetadataProvider.retrieve(n);r=this.frameworkComponentWrapper.wrap(e,t.mandatoryMethodList,t.optionalMethodList,a)}const o=this.initComponent(r,i);return null==o?ba.resolve(r):o.then((()=>r))}mergeParamsWithApplicationProvidedParams(e,t,i,a=null){const n=this.gos.getGridCommonParams();Z(n,i);const r=e&&e[t.propertyName+"Params"];if("function"==typeof r){Z(n,r(i))}else"object"==typeof r&&Z(n,r);return Z(n,a),n}initComponent(e,t){if(this.createBean(e),null!=e.init)return e.init(t)}};function Ha(e){const t=e;return null!=t&&null!=t.getFrameworkComponentInstance?t.getFrameworkComponentInstance():e}var Wa=class{constructor(e){this.beans={},this.createdBeans=[],this.destroyed=!1,e&&e.beanClasses&&(this.beanDestroyComparator=e.beanDestroyComparator,this.init(e))}init(e){Object.entries(e.providedBeanInstances).forEach((([e,t])=>{this.beans[e]=t})),e.beanClasses.forEach((e=>{const t=new e;t.beanName?this.beans[t.beanName]=t:console.error(`Bean ${e.name} is missing beanName`),this.createdBeans.push(t)})),e.derivedBeans?.forEach((e=>{const{beanName:t,bean:i}=e(this);this.beans[t]=i,this.createdBeans.push(i)})),e.beanInitComparator&&this.createdBeans.sort(e.beanInitComparator),this.initBeans(this.createdBeans)}getBeanInstances(){return Object.values(this.beans)}createBean(e,t){if(!e)throw Error("Can't wire to bean since it is null");return this.initBeans([e],t),e}initBeans(e,t){e.forEach((e=>{e.preWireBeans?.(this.beans),e.wireBeans?.(this.beans)})),e.forEach((e=>e.preConstruct?.())),t&&e.forEach(t),e.forEach((e=>e.postConstruct?.()))}getBeans(){return this.beans}getBean(e){return this.beans[e]}destroy(){if(this.destroyed)return;this.destroyed=!0;const e=this.getBeanInstances();this.beanDestroyComparator&&e.sort(this.beanDestroyComparator),this.destroyBeans(e),this.beans={},this.createdBeans=[]}destroyBean(e){e?.destroy?.()}destroyBeans(e){if(e)for(let t=0;t<e.length;t++)this.destroyBean(e[t]);return[]}isDestroyed(){return this.destroyed}},_a=class extends Wa{init(e){this.gridId=e.gridId,this.beans.context=this,super.init(e)}destroy(){super.destroy(),Ji.__unRegisterGridModules(this.gridId)}getGridId(){return this.gridId}},qa=(e=>(e[e.SINGLE_SHEET=0]="SINGLE_SHEET",e[e.MULTI_SHEET=1]="MULTI_SHEET",e))(qa||{}),Ua=(e=>(e[e.Up=0]="Up",e[e.Down=1]="Down",e))(Ua||{}),Ka=(e=>(e[e.Left=0]="Left",e[e.Right=1]="Right",e))(Ka||{}),ja=(e=>(e[e.ToolPanel=0]="ToolPanel",e[e.HeaderCell=1]="HeaderCell",e[e.RowDrag=2]="RowDrag",e[e.ChartPanel=3]="ChartPanel",e[e.AdvancedFilterBuilder=4]="AdvancedFilterBuilder",e))(ja||{}),Ya=class extends F{constructor(){super(...arguments),this.beanName="dragAndDropService",this.dragSourceAndParamsList=[],this.dropTargets=[]}wireBeans(e){this.dragService=e.dragService,this.mouseEventService=e.mouseEventService,this.environment=e.environment}postConstruct(){this.dropIconMap={pinned:_i("columnMovePin",this.gos,null),hide:_i("columnMoveHide",this.gos,null),move:_i("columnMoveMove",this.gos,null),left:_i("columnMoveLeft",this.gos,null),right:_i("columnMoveRight",this.gos,null),group:_i("columnMoveGroup",this.gos,null),aggregate:_i("columnMoveValue",this.gos,null),pivot:_i("columnMovePivot",this.gos,null),notAllowed:_i("dropNotAllowed",this.gos,null)}}addDragSource(e,t=!1){const i={eElement:e.eElement,dragStartPixels:e.dragStartPixels,onDragStart:this.onDragStart.bind(this,e),onDragStop:this.onDragStop.bind(this),onDragging:this.onDragging.bind(this),includeTouch:t};this.dragSourceAndParamsList.push({params:i,dragSource:e}),this.dragService.addDragSource(i)}removeDragSource(e){const t=this.dragSourceAndParamsList.find((t=>t.dragSource===e));t&&(this.dragService.removeDragSource(t.params),f(this.dragSourceAndParamsList,t))}destroy(){this.dragSourceAndParamsList.forEach((e=>this.dragService.removeDragSource(e.params))),this.dragSourceAndParamsList.length=0,this.dropTargets.length=0,super.destroy()}nudge(){this.dragging&&this.onDragging(this.eventLastTime,!0)}onDragStart(e,t){this.dragging=!0,this.dragSource=e,this.eventLastTime=t,this.dragItem=this.dragSource.getDragItem(),this.dragSource.onDragStarted&&this.dragSource.onDragStarted(),this.createGhost()}onDragStop(e){if(this.eventLastTime=null,this.dragging=!1,this.dragSource.onDragStopped&&this.dragSource.onDragStopped(),this.lastDropTarget&&this.lastDropTarget.onDragStop){const t=this.createDropTargetEvent(this.lastDropTarget,e,null,null,!1);this.lastDropTarget.onDragStop(t)}this.lastDropTarget=void 0,this.dragItem=null,this.removeGhost()}onDragging(e,t){const i=this.getHorizontalDirection(e),a=this.getVerticalDirection(e);this.eventLastTime=e,this.positionGhost(e);const n=this.dropTargets.filter((t=>this.isMouseOnDropTarget(e,t))),r=this.findCurrentDropTarget(e,n);if(r!==this.lastDropTarget)this.leaveLastTargetIfExists(e,i,a,t),null!==this.lastDropTarget&&null===r&&this.dragSource.onGridExit?.(this.dragItem),null===this.lastDropTarget&&null!==r&&this.dragSource.onGridEnter?.(this.dragItem),this.enterDragTargetIfExists(r,e,i,a,t),this.lastDropTarget=r;else if(r&&r.onDragging){const n=this.createDropTargetEvent(r,e,i,a,t);r.onDragging(n)}}getAllContainersFromDropTarget(e){const t=e.getSecondaryContainers?e.getSecondaryContainers():null,i=[[e.getContainer()]];return t?i.concat(t):i}allContainersIntersect(e,t){for(const i of t){const t=i.getBoundingClientRect();if(0===t.width||0===t.height)return!1;const a=e.clientX>=t.left&&e.clientX<t.right,n=e.clientY>=t.top&&e.clientY<t.bottom;if(!a||!n)return!1}return!0}isMouseOnDropTarget(e,t){const i=this.getAllContainersFromDropTarget(t);let a=!1;for(const t of i)if(this.allContainersIntersect(e,t)){a=!0;break}return!(t.targetContainsSource&&!t.getContainer().contains(this.dragSource.eElement))&&(a&&t.isInterestedIn(this.dragSource.type,this.dragSource.eElement))}findCurrentDropTarget(e,t){const i=t.length;if(0===i)return null;if(1===i)return t[0];const a=this.gos.getRootNode().elementsFromPoint(e.clientX,e.clientY);for(const e of a)for(const i of t){if(-1!==w(this.getAllContainersFromDropTarget(i)).indexOf(e))return i}return null}enterDragTargetIfExists(e,t,i,a,n){if(e){if(e.onDragEnter){const r=this.createDropTargetEvent(e,t,i,a,n);e.onDragEnter(r)}this.setGhostIcon(e.getIconName?e.getIconName():null)}}leaveLastTargetIfExists(e,t,i,a){if(this.lastDropTarget){if(this.lastDropTarget.onDragLeave){const n=this.createDropTargetEvent(this.lastDropTarget,e,t,i,a);this.lastDropTarget.onDragLeave(n)}this.setGhostIcon(null)}}addDropTarget(e){this.dropTargets.push(e)}removeDropTarget(e){this.dropTargets=this.dropTargets.filter((t=>t.getContainer()!==e.getContainer()))}hasExternalDropZones(){return this.dropTargets.some((e=>e.external))}findExternalZone(e){return this.dropTargets.filter((e=>e.external)).find((t=>t.getContainer()===e.getContainer()))||null}getHorizontalDirection(e){const t=this.eventLastTime&&this.eventLastTime.clientX,i=e.clientX;return t===i?null:t>i?0:1}getVerticalDirection(e){const t=this.eventLastTime&&this.eventLastTime.clientY,i=e.clientY;return t===i?null:t>i?0:1}createDropTargetEvent(e,t,i,a,n){const r=e.getContainer(),o=r.getBoundingClientRect(),{dragItem:s,dragSource:l}=this,c=t.clientX-o.left,d=t.clientY-o.top;return this.gos.addGridCommonParams({event:t,x:c,y:d,vDirection:a,hDirection:i,dragSource:l,fromNudge:n,dragItem:s,dropZoneTarget:r})}positionGhost(e){const t=this.eGhost;if(!t)return;const i=t.getBoundingClientRect().height,a=(document.body?.clientWidth??(window.innerHeight||document.documentElement?.clientWidth||-1))-2,n=(document.body?.clientHeight??(window.innerHeight||document.documentElement?.clientHeight||-1))-2,r=mi(t.offsetParent),{clientY:o,clientX:s}=e;let l=o-r.top-i/2,c=s-r.left-10;const d=this.gos.getDocument(),h=d.defaultView||window,u=h.pageYOffset||d.documentElement.scrollTop,g=h.pageXOffset||d.documentElement.scrollLeft;a>0&&c+t.clientWidth>a+g&&(c=a+g-t.clientWidth),c<0&&(c=0),n>0&&l+t.clientHeight>n+u&&(l=n+u-t.clientHeight),l<0&&(l=0),t.style.left=`${c}px`,t.style.top=`${l}px`}removeGhost(){this.eGhost&&this.eGhostParent&&this.eGhostParent.removeChild(this.eGhost),this.eGhost=null}createGhost(){this.eGhost=xi('<div class="ag-dnd-ghost ag-unselectable">\n<span class="ag-dnd-ghost-icon ag-shake-left-to-right"></span>\n<div class="ag-dnd-ghost-label"></div>\n</div>'),this.mouseEventService.stampTopLevelGridCompWithGridInstance(this.eGhost),this.environment.applyThemeClasses(this.eGhost),this.eGhostIcon=this.eGhost.querySelector(".ag-dnd-ghost-icon"),this.setGhostIcon(null);const e=this.eGhost.querySelector(".ag-dnd-ghost-label");let t=this.dragSource.dragItemName;ue(t)&&(t=t()),e.innerHTML=We(t)||"",this.eGhost.style.height="25px",this.eGhost.style.top="20px",this.eGhost.style.left="20px";const i=this.gos.getDocument();let a=null,n=null;try{a=i.fullscreenElement}catch(e){}finally{a||(a=this.gos.getRootNode());const e=a.querySelector("body");n=e||(a instanceof ShadowRoot?a:a instanceof Document?a?.documentElement:a)}this.eGhostParent=n,this.eGhostParent?this.eGhostParent.appendChild(this.eGhost):de("Could not find document body, it is needed for dragging columns")}setGhostIcon(e,t=!1){bi(this.eGhostIcon);let i=null;e||(e=this.dragSource.getDefaultIconName?this.dragSource.getDefaultIconName():"notAllowed"),i=this.dropIconMap[e],this.eGhostIcon.classList.toggle("ag-shake-left-to-right",t),i===this.dropIconMap.hide&&this.gos.get("suppressDragLeaveHidesColumns")||i&&this.eGhostIcon.appendChild(i)}},$a=class{constructor(e){this.tickingInterval=null,this.onScrollCallback=null,this.scrollContainer=e.scrollContainer,this.scrollHorizontally=-1!==e.scrollAxis.indexOf("x"),this.scrollVertically=-1!==e.scrollAxis.indexOf("y"),this.scrollByTick=null!=e.scrollByTick?e.scrollByTick:20,e.onScrollCallback&&(this.onScrollCallback=e.onScrollCallback),this.scrollVertically&&(this.getVerticalPosition=e.getVerticalPosition,this.setVerticalPosition=e.setVerticalPosition),this.scrollHorizontally&&(this.getHorizontalPosition=e.getHorizontalPosition,this.setHorizontalPosition=e.setHorizontalPosition),this.shouldSkipVerticalScroll=e.shouldSkipVerticalScroll||(()=>!1),this.shouldSkipHorizontalScroll=e.shouldSkipHorizontalScroll||(()=>!1)}check(e,t=!1){const i=t||this.shouldSkipVerticalScroll();if(i&&this.shouldSkipHorizontalScroll())return;const a=this.scrollContainer.getBoundingClientRect(),n=this.scrollByTick;this.tickLeft=e.clientX<a.left+n,this.tickRight=e.clientX>a.right-n,this.tickUp=e.clientY<a.top+n&&!i,this.tickDown=e.clientY>a.bottom-n&&!i,this.tickLeft||this.tickRight||this.tickUp||this.tickDown?this.ensureTickingStarted():this.ensureCleared()}ensureTickingStarted(){null===this.tickingInterval&&(this.tickingInterval=window.setInterval(this.doTick.bind(this),100),this.tickCount=0)}doTick(){this.tickCount++;const e=this.tickCount>20?200:this.tickCount>10?80:40;if(this.scrollVertically){const t=this.getVerticalPosition();this.tickUp&&this.setVerticalPosition(t-e),this.tickDown&&this.setVerticalPosition(t+e)}if(this.scrollHorizontally){const t=this.getHorizontalPosition();this.tickLeft&&this.setHorizontalPosition(t-e),this.tickRight&&this.setHorizontalPosition(t+e)}this.onScrollCallback&&this.onScrollCallback()}ensureCleared(){this.tickingInterval&&(window.clearInterval(this.tickingInterval),this.tickingInterval=null)}},Za=(e=>(e[e.Above=0]="Above",e[e.Below=1]="Below",e))(Za||{}),Xa=class extends F{wireBeans(e){this.dragAndDropService=e.dragAndDropService,this.rowModel=e.rowModel,this.pageBoundsService=e.pageBoundsService,this.focusService=e.focusService,this.sortController=e.sortController,this.filterManager=e.filterManager,this.selectionService=e.selectionService,this.mouseEventService=e.mouseEventService,this.ctrlsService=e.ctrlsService,this.funcColsService=e.funcColsService,this.rangeService=e.rangeService}constructor(e){super(),this.eContainer=e}postConstruct(){this.gos.isRowModelType("clientSide")&&(this.clientSideRowModel=this.rowModel),this.ctrlsService.whenReady((e=>{const t=e.gridBodyCtrl;this.autoScrollService=new $a({scrollContainer:t.getBodyViewportElement(),scrollAxis:"y",getVerticalPosition:()=>t.getScrollFeature().getVScrollPosition().top,setVerticalPosition:e=>t.getScrollFeature().setVerticalScrollPosition(e),onScrollCallback:()=>{this.onDragging(this.lastDraggingEvent)}})}))}getContainer(){return this.eContainer}isInterestedIn(e){return 2===e}getIconName(){return this.gos.get("rowDragManaged")&&this.shouldPreventRowMove()?"notAllowed":"move"}shouldPreventRowMove(){if(this.funcColsService.getRowGroupColumns().length)return!0;const e=this.filterManager?.isAnyFilterPresent();if(e)return!0;return!!this.sortController.isSortActive()}getRowNodes(e){if(!this.isFromThisGrid(e))return e.dragItem.rowNodes||[];const t=e.dragItem.rowNode;if(this.gos.get("rowDragMultiRow")){const e=[...this.selectionService.getSelectedNodes()].sort(((e,t)=>null==e.rowIndex||null==t.rowIndex?0:this.getRowIndexNumber(e)-this.getRowIndexNumber(t)));if(-1!==e.indexOf(t))return e}return[t]}onDragEnter(e){e.dragItem.rowNodes=this.getRowNodes(e),this.dispatchGridEvent("rowDragEnter",e),this.getRowNodes(e).forEach((e=>{e.setDragging(!0)})),this.onEnterOrDragging(e)}onDragging(e){this.onEnterOrDragging(e)}isFromThisGrid(e){const{dragSourceDomDataKey:t}=e.dragSource;return t===this.gos.getDomDataKey()}isDropZoneWithinThisGrid(e){const t=this.ctrlsService.getGridBodyCtrl().getGui(),{dropZoneTarget:i}=e;return!t.contains(i)}onEnterOrDragging(e){this.dispatchGridEvent("rowDragMove",e),this.lastDraggingEvent=e;const t=this.mouseEventService.getNormalisedPosition(e).y;this.gos.get("rowDragManaged")&&this.doManagedDrag(e,t),this.autoScrollService.check(e.event)}doManagedDrag(e,t){const i=this.isFromThisGrid(e),a=this.gos.get("rowDragManaged"),n=e.dragItem.rowNodes;a&&this.shouldPreventRowMove()||(this.gos.get("suppressMoveWhenRowDragging")||!i?this.isDropZoneWithinThisGrid(e)||this.clientSideRowModel.highlightRowAtPixel(n[0],t):this.moveRows(n,t))}getRowIndexNumber(e){const t=e.getRowIndexString();return parseInt(h(t.split("-")),10)}moveRowAndClearHighlight(e){const t=this.clientSideRowModel.getLastHighlightedRowNode(),i=t&&1===t.highlighted,a=this.mouseEventService.getNormalisedPosition(e).y,n=e.dragItem.rowNodes;let r=i?1:0;if(this.isFromThisGrid(e))n.forEach((e=>{e.rowTop<a&&(r-=1)})),this.moveRows(n,a,r);else{const e=this.gos.getRowIdCallback();let t=this.clientSideRowModel.getRowIndexAtPixel(a)+1;0===this.clientSideRowModel.getHighlightPosition(a)&&t--,this.clientSideRowModel.updateRowData({add:n.filter((t=>!this.clientSideRowModel.getRowNode(e?.({data:t.data,level:0,rowPinned:t.rowPinned})??t.data.id))).map((e=>e.data)),addIndex:t})}this.clearRowHighlight()}clearRowHighlight(){this.clientSideRowModel.highlightRowAtPixel(null)}moveRows(e,t,i=0){this.clientSideRowModel.ensureRowsAtPixel(e,t,i)&&(this.focusService.clearFocusedCell(),this.rangeService?.removeAllCellRanges())}addRowDropZone(e){if(!e.getContainer())return void de("addRowDropZone - A container target needs to be provided");if(this.dragAndDropService.findExternalZone(e))return void de("addRowDropZone - target already exists in the list of DropZones. Use `removeRowDropZone` before adding it again.");let t={getContainer:e.getContainer};e.fromGrid?t=e:(e.onDragEnter&&(t.onDragEnter=t=>{e.onDragEnter(this.draggingToRowDragEvent("rowDragEnter",t))}),e.onDragLeave&&(t.onDragLeave=t=>{e.onDragLeave(this.draggingToRowDragEvent("rowDragLeave",t))}),e.onDragging&&(t.onDragging=t=>{e.onDragging(this.draggingToRowDragEvent("rowDragMove",t))}),e.onDragStop&&(t.onDragStop=t=>{e.onDragStop(this.draggingToRowDragEvent("rowDragEnd",t))})),this.dragAndDropService.addDropTarget({isInterestedIn:e=>2===e,getIconName:()=>"move",external:!0,...t})}getRowDropZone(e){const t=this.getContainer.bind(this),i=this.onDragEnter.bind(this),a=this.onDragLeave.bind(this),n=this.onDragging.bind(this),r=this.onDragStop.bind(this);return e?{getContainer:t,onDragEnter:e.onDragEnter?t=>{i(t),e.onDragEnter(this.draggingToRowDragEvent("rowDragEnter",t))}:i,onDragLeave:e.onDragLeave?t=>{a(t),e.onDragLeave(this.draggingToRowDragEvent("rowDragLeave",t))}:a,onDragging:e.onDragging?t=>{n(t),e.onDragging(this.draggingToRowDragEvent("rowDragMove",t))}:n,onDragStop:e.onDragStop?t=>{r(t),e.onDragStop(this.draggingToRowDragEvent("rowDragEnd",t))}:r,fromGrid:!0}:{getContainer:t,onDragEnter:i,onDragLeave:a,onDragging:n,onDragStop:r,fromGrid:!0}}draggingToRowDragEvent(e,t){const i=this.mouseEventService.getNormalisedPosition(t).y;let a,n,r=-1;switch(i>this.pageBoundsService.getCurrentPageHeight()||(r=this.rowModel.getRowIndexAtPixel(i),a=this.rowModel.getRow(r)),t.vDirection){case 1:n="down";break;case 0:n="up";break;default:n=null}return this.gos.addGridCommonParams({type:e,event:t.event,node:t.dragItem.rowNode,nodes:t.dragItem.rowNodes,overIndex:r,overNode:a,y:i,vDirection:n})}dispatchGridEvent(e,t){const i=this.draggingToRowDragEvent(e,t);this.eventService.dispatchEvent(i)}onDragLeave(e){this.dispatchGridEvent("rowDragLeave",e),this.stopDragging(e),this.gos.get("rowDragManaged")&&this.clearRowHighlight()}onDragStop(e){this.dispatchGridEvent("rowDragEnd",e),this.stopDragging(e),!this.gos.get("rowDragManaged")||!this.gos.get("suppressMoveWhenRowDragging")&&this.isFromThisGrid(e)||this.isDropZoneWithinThisGrid(e)||this.moveRowAndClearHighlight(e)}stopDragging(e){this.autoScrollService.ensureCleared(),this.getRowNodes(e).forEach((e=>{e.setDragging(!1)}))}},Qa=class extends F{constructor(){super(...arguments),this.beanName="dragService",this.dragEndFunctions=[],this.dragSources=[]}wireBeans(e){this.mouseEventService=e.mouseEventService}destroy(){this.dragSources.forEach(this.removeListener.bind(this)),this.dragSources.length=0,super.destroy()}removeListener(e){const t=e.dragSource.eElement,i=e.mouseDownListener;if(t.removeEventListener("mousedown",i),e.touchEnabled){const i=e.touchStartListener;t.removeEventListener("touchstart",i,{passive:!0})}}removeDragSource(e){const t=this.dragSources.find((t=>t.dragSource===e));t&&(this.removeListener(t),f(this.dragSources,t))}isDragging(){return this.dragging}addDragSource(e){const t=this.onMouseDown.bind(this,e),{eElement:i,includeTouch:a,stopPropagationForTouch:n}=e;i.addEventListener("mousedown",t);let r=null;const o=this.gos.get("suppressTouch");a&&!o&&(r=t=>{ri(t.target)||(t.cancelable&&(t.preventDefault(),n&&t.stopPropagation()),this.onTouchStart(e,t))},i.addEventListener("touchstart",r,{passive:!1})),this.dragSources.push({dragSource:e,mouseDownListener:t,touchStartListener:r,touchEnabled:!!a})}getStartTarget(){return this.startTarget}onTouchStart(e,t){this.currentDragParams=e,this.dragging=!1;const i=t.touches[0];this.touchLastTime=i,this.touchStart=i;const a=t=>this.onTouchUp(t,e.eElement),n=t.target,r=[{target:this.gos.getRootNode(),type:"touchmove",listener:e=>{e.cancelable&&e.preventDefault()},options:{passive:!1}},{target:n,type:"touchmove",listener:t=>this.onTouchMove(t,e.eElement),options:{passive:!0}},{target:n,type:"touchend",listener:a,options:{passive:!0}},{target:n,type:"touchcancel",listener:a,options:{passive:!0}}];this.addTemporaryEvents(r),0===e.dragStartPixels&&this.onCommonMove(i,this.touchStart,e.eElement)}onMouseDown(e,t){const i=t;if(e.skipMouseEvent&&e.skipMouseEvent(t))return;if(i._alreadyProcessedByDragService)return;if(i._alreadyProcessedByDragService=!0,0!==t.button)return;this.shouldPreventMouseEvent(t)&&t.preventDefault(),this.currentDragParams=e,this.dragging=!1,this.mouseStartEvent=t,this.startTarget=t.target;const a=this.gos.getRootNode(),n=[{target:a,type:"mousemove",listener:t=>this.onMouseMove(t,e.eElement)},{target:a,type:"mouseup",listener:t=>this.onMouseUp(t,e.eElement)},{target:a,type:"contextmenu",listener:e=>e.preventDefault()}];this.addTemporaryEvents(n),0===e.dragStartPixels&&this.onMouseMove(t,e.eElement)}addTemporaryEvents(e){e.forEach((e=>{const{target:t,type:i,listener:a,options:n}=e;t.addEventListener(i,a,n)})),this.dragEndFunctions.push((()=>{e.forEach((e=>{const{target:t,type:i,listener:a,options:n}=e;t.removeEventListener(i,a,n)}))}))}isEventNearStartEvent(e,t){const{dragStartPixels:i}=this.currentDragParams;return Ui(e,t,N(i)?i:4)}getFirstActiveTouch(e){for(let t=0;t<e.length;t++)if(e[t].identifier===this.touchStart.identifier)return e[t];return null}onCommonMove(e,t,i){if(!this.dragging){if(!this.dragging&&this.isEventNearStartEvent(e,t))return;this.dragging=!0;const a={type:"dragStarted",target:i};this.eventService.dispatchEvent(a),this.currentDragParams.onDragStart(t),this.currentDragParams.onDragging(t)}this.currentDragParams.onDragging(e)}onTouchMove(e,t){const i=this.getFirstActiveTouch(e.touches);i&&this.onCommonMove(i,this.touchStart,t)}onMouseMove(e,t){if(jt()){const e=this.gos.getDocument();e.getSelection()?.removeAllRanges()}this.shouldPreventMouseEvent(e)&&e.preventDefault(),this.onCommonMove(e,this.mouseStartEvent,t)}shouldPreventMouseEvent(e){const t=this.gos.get("enableCellTextSelection"),i="mousemove"===e.type;return t&&i&&e.cancelable&&this.mouseEventService.isEventFromThisGrid(e)&&!this.isOverFormFieldElement(e)}isOverFormFieldElement(e){const t=e.target,i=t?.tagName.toLocaleLowerCase();return!!i?.match("^a$|textarea|input|select|button")}onTouchUp(e,t){let i=this.getFirstActiveTouch(e.changedTouches);i||(i=this.touchLastTime),this.onUpCommon(i,t)}onMouseUp(e,t){this.onUpCommon(e,t)}onUpCommon(e,t){if(this.dragging){this.dragging=!1,this.currentDragParams.onDragStop(e);const i={type:"dragStopped",target:t};this.eventService.dispatchEvent(i)}this.mouseStartEvent=null,this.startTarget=null,this.touchStart=null,this.touchLastTime=null,this.currentDragParams=null,this.dragEndFunctions.forEach((e=>e())),this.dragEndFunctions.length=0}},Ja=class extends Hi{constructor(e,t,i,a,n,r){super(),this.cellValueFn=e,this.rowNode=t,this.column=i,this.customGui=a,this.dragStartPixels=n,this.suppressVisibilityChange=r,this.dragSource=null}wireBeans(e){this.beans=e}isCustomGui(){return null!=this.customGui}postConstruct(){if(this.customGui?this.setDragElement(this.customGui,this.dragStartPixels):(this.setTemplate('<div class="ag-drag-handle ag-row-drag" aria-hidden="true"></div>'),this.getGui().appendChild(qi("rowDrag",this.gos,null)),this.addDragSource()),this.checkCompatibility(),!this.suppressVisibilityChange){const e=this.gos.get("rowDragManaged")?new an(this,this.beans,this.rowNode,this.column):new tn(this,this.beans,this.rowNode,this.column);this.createManagedBean(e,this.beans.context)}}setDragElement(e,t){this.setTemplateFromElement(e),this.addDragSource(t)}getSelectedNodes(){if(!this.gos.get("rowDragMultiRow"))return[this.rowNode];const e=this.beans.selectionService.getSelectedNodes();return-1!==e.indexOf(this.rowNode)?e:[this.rowNode]}checkCompatibility(){const e=this.gos.get("rowDragManaged");this.gos.get("treeData")&&e&&de("If using row drag with tree data, you cannot have rowDragManaged=true")}getDragItem(){return{rowNode:this.rowNode,rowNodes:this.getSelectedNodes(),columns:this.column?[this.column]:void 0,defaultTextValue:this.cellValueFn()}}getRowDragText(e){if(e){const t=e.getColDef();if(t.rowDragText)return t.rowDragText}return this.gos.get("rowDragText")}addDragSource(e=4){this.dragSource&&this.removeDragSource();const t=this.getGui();this.gos.get("enableCellTextSelection")&&(this.removeMouseDownListener(),this.mouseDownListener=this.addManagedElementListeners(t,{mousedown:e=>{e?.preventDefault()}})[0]);const i=this.localeService.getLocaleTextFunc();this.dragSource={type:2,eElement:t,dragItemName:()=>{const e=this.getDragItem(),t=e.rowNodes?.length||1,a=this.getRowDragText(this.column);return a?a(e,t):1===t?this.cellValueFn():`${t} ${i("rowDragRows","rows")}`},getDragItem:()=>this.getDragItem(),dragStartPixels:e,dragSourceDomDataKey:this.gos.getDomDataKey()},this.beans.dragAndDropService.addDragSource(this.dragSource,!0)}destroy(){this.removeDragSource(),this.removeMouseDownListener(),super.destroy()}removeDragSource(){this.dragSource&&(this.beans.dragAndDropService.removeDragSource(this.dragSource),this.dragSource=null)}removeMouseDownListener(){this.mouseDownListener&&(this.mouseDownListener(),this.mouseDownListener=void 0)}},en=class extends F{constructor(e,t,i){super(),this.parent=e,this.rowNode=t,this.column=i}setDisplayedOrVisible(e){const t={skipAriaHidden:!0};if(e)this.parent.setDisplayed(!1,t);else{let e=!0,i=!1;this.column&&(e=this.column.isRowDrag(this.rowNode)||this.parent.isCustomGui(),i=ue(this.column.getColDef().rowDrag)),i?(this.parent.setDisplayed(!0,t),this.parent.setVisible(e,t)):(this.parent.setDisplayed(e,t),this.parent.setVisible(!0,t))}}},tn=class extends en{constructor(e,t,i,a){super(e,i,a),this.beans=t}postConstruct(){this.addManagedPropertyListener("suppressRowDrag",this.onSuppressRowDrag.bind(this));const e=this.workOutVisibility.bind(this);this.addManagedListeners(this.rowNode,{dataChanged:e,cellChanged:e}),this.addManagedListeners(this.beans.eventService,{newColumnsLoaded:e}),this.workOutVisibility()}onSuppressRowDrag(){this.workOutVisibility()}workOutVisibility(){const e=this.gos.get("suppressRowDrag");this.setDisplayedOrVisible(e)}},an=class extends en{constructor(e,t,i,a){super(e,i,a),this.beans=t}postConstruct(){const e=this.workOutVisibility.bind(this);this.addManagedListeners(this.beans.eventService,{sortChanged:e,filterChanged:e,columnRowGroupChanged:e,newColumnsLoaded:e}),this.addManagedListeners(this.rowNode,{dataChanged:e,cellChanged:e}),this.addManagedPropertyListener("suppressRowDrag",this.onSuppressRowDrag.bind(this)),this.workOutVisibility()}onSuppressRowDrag(){this.workOutVisibility()}workOutVisibility(){const e=this.beans.ctrlsService.getGridBodyCtrl().getRowDragFeature(),t=e&&e.shouldPreventRowMove(),i=this.gos.get("suppressRowDrag"),a=this.beans.dragAndDropService.hasExternalDropZones(),n=t&&!a||i;this.setDisplayedOrVisible(n)}},nn=class e{constructor(t){this.rowIndex=null,this.key=null,this.childrenMapped={},this.displayed=!1,this.rowTop=null,this.oldRowTop=null,this.selectable=!0,this.__objectId=e.OBJECT_ID_SEQUENCE++,this.__autoHeights={},this.alreadyRendered=!1,this.highlighted=null,this.hovered=!1,this.selected=!1,this.beans=t}setData(e){this.setDataCommon(e,!1)}updateData(e){this.setDataCommon(e,!0)}setDataCommon(e,t){const i=this.data;this.data=e,this.beans.valueCache.onDataChanged(),this.updateDataOnDetailNode(),this.checkRowSelectable(),this.resetQuickFilterAggregateText();const a=this.createDataChangedEvent(e,i,t);this.localEventService?.dispatchEvent(a)}updateDataOnDetailNode(){this.detailNode&&(this.detailNode.data=this.data)}createDataChangedEvent(e,t,i){return{type:"dataChanged",node:this,oldData:t,newData:e,update:i}}getRowIndexString(){return null==this.rowIndex?(he("Could not find rowIndex, this means tasks are being executed on a rowNode that has been removed from the grid."),null):"top"===this.rowPinned?"t-"+this.rowIndex:"bottom"===this.rowPinned?"b-"+this.rowIndex:this.rowIndex.toString()}createDaemonNode(){const t=new e(this.beans);return t.id=this.id,t.data=this.data,t.__daemon=!0,t.selected=this.selected,t.level=this.level,t}setDataAndId(e,t){const i=N(this.id)?this.createDaemonNode():null,a=this.data;this.data=e,this.updateDataOnDetailNode(),this.setId(t),this.checkRowSelectable(),this.beans.selectionService.syncInRowNode(this,i);const n=this.createDataChangedEvent(e,a,!1);this.localEventService?.dispatchEvent(n)}checkRowSelectable(){const e=this.beans.gos.get("isRowSelectable");this.setRowSelectable(!e||e(this))}setRowSelectable(e,t){if(this.selectable!==e){if(this.selectable=e,this.dispatchRowEvent("selectableChanged"),t)return;if(this.beans.gos.get("groupSelectsChildren")){const e=this.calculateSelectedFromChildren();return void this.setSelectedParams({newValue:e??!1,source:"selectableChanged"})}this.isSelected()&&!this.selectable&&this.setSelectedParams({newValue:!1,source:"selectableChanged"})}}setId(t){const i=this.beans.gos.getRowIdCallback();if(i)if(this.data){const t=this.getGroupKeys(!0);this.id=i({data:this.data,parentKeys:t.length>0?t:void 0,level:this.level,rowPinned:this.rowPinned}),this.id.startsWith(e.ID_PREFIX_ROW_GROUP)&&he(`Row IDs cannot start with ${e.ID_PREFIX_ROW_GROUP}, this is a reserved prefix for AG Grid's row grouping feature.`)}else this.id=void 0;else this.id=t}getGroupKeys(e=!1){const t=[];let i=this;for(e&&(i=i.parent);i&&i.level>=0;)t.push(i.key),i=i.parent;return t.reverse(),t}isPixelInRange(e){return!(!N(this.rowTop)||!N(this.rowHeight))&&(e>=this.rowTop&&e<this.rowTop+this.rowHeight)}updateIfDifferent(e,t,i){this[e]!==t&&(this[e]=t,this.dispatchRowEvent(i))}setFirstChild(e){this.updateIfDifferent("firstChild",e,"firstChildChanged")}setLastChild(e){this.updateIfDifferent("lastChild",e,"lastChildChanged")}setChildIndex(e){this.updateIfDifferent("childIndex",e,"childIndexChanged")}setRowTop(e){this.oldRowTop=this.rowTop,this.rowTop!==e&&(this.rowTop=e,this.dispatchRowEvent("topChanged"),this.setDisplayed(null!==e))}clearRowTopAndRowIndex(){this.oldRowTop=null,this.setRowTop(null),this.setRowIndex(null)}setDisplayed(e){this.updateIfDifferent("displayed",e,"displayedChanged")}setDragging(e){this.updateIfDifferent("dragging",e,"draggingChanged")}setHighlighted(e){this.updateIfDifferent("highlighted",e,"rowHighlightChanged")}setHovered(e){this.hovered!==e&&(this.hovered=e)}isHovered(){return this.hovered}setAllChildrenCount(e){this.updateIfDifferent("allChildrenCount",e,"allChildrenCountChanged")}setMaster(e){this.master!==e&&(this.master&&!e&&(this.expanded=!1),this.master=e,this.dispatchRowEvent("masterChanged"))}setGroup(e){this.group!==e&&(this.group&&!e&&(this.expanded=!1),this.group=e,this.updateHasChildren(),this.checkRowSelectable(),this.dispatchRowEvent("groupChanged"))}setRowHeight(e,t=!1){this.rowHeight=e,this.rowHeightEstimated=t,this.dispatchRowEvent("heightChanged")}setRowAutoHeight(e,t){this.__autoHeights||(this.__autoHeights={}),this.__autoHeights[t.getId()]=e,null!=e&&(null==this.checkAutoHeightsDebounced&&(this.checkAutoHeightsDebounced=ve(this.checkAutoHeights.bind(this),1)),this.checkAutoHeightsDebounced())}checkAutoHeights(){let e=!1,t=!0,i=0;const a=this.__autoHeights;if(null==a)return;if(this.beans.visibleColsService.getAllAutoHeightCols().forEach((n=>{let r=a[n.getId()];if(null==r){if(!this.beans.columnModel.isColSpanActive())return void(e=!0);{let t=[];switch(n.getPinned()){case"left":t=this.beans.visibleColsService.getLeftColsForRow(this);break;case"right":t=this.beans.visibleColsService.getRightColsForRow(this);break;case null:t=this.beans.columnViewportService.getColsWithinViewport(this)}if(t.includes(n))return void(e=!0);r=-1}}else t=!1;r>i&&(i=r)})),e)return;if((t||i<10)&&(i=this.beans.gos.getRowHeightForNode(this).height),i==this.rowHeight)return;this.setRowHeight(i);const n=this.beans.rowModel;n.onRowHeightChangedDebounced&&n.onRowHeightChangedDebounced()}setRowIndex(e){this.updateIfDifferent("rowIndex",e,"rowIndexChanged")}setUiLevel(e){this.updateIfDifferent("uiLevel",e,"uiLevelChanged")}setExpanded(e,t,i){if(this.expanded===e)return;this.expanded=e,this.dispatchRowEvent("expandedChanged");const a={...this.createGlobalRowEvent("rowGroupOpened"),expanded:e,event:t||null};this.beans.rowNodeEventThrottle.dispatchExpanded(a,i),this.beans.rowRenderer.refreshCells({rowNodes:[this]})}createGlobalRowEvent(e){return this.beans.gos.addGridCommonParams({type:e,node:this,data:this.data,rowIndex:this.rowIndex,rowPinned:this.rowPinned})}setDataValue(e,t,i){const a=(()=>"string"!=typeof e?e:this.beans.columnModel.getCol(e)??this.beans.columnModel.getColDefCol(e))(),n=this.getValueFromValueService(a);if(this.beans.gos.get("readOnlyEdit"))return this.dispatchEventForSaveValueReadOnly(a,n,t,i),!1;const r=this.beans.valueService.setValue(this,a,t,i);return this.dispatchCellChangedEvent(a,t,n),this.checkRowSelectable(),r}getValueFromValueService(e){const t=this.leafGroup&&this.beans.columnModel.isPivotMode(),i=this.group&&this.expanded&&!this.footer&&!t;let a=!1;const n=this.beans.gos.get("groupTotalRow")??this.beans.gos.get("groupIncludeFooter");if("function"!=typeof n)a=!!n;else{a=!!(this.beans.gos.getCallback("groupTotalRow")??this.beans.gos.getCallback("groupIncludeFooter"))({node:this})}const r=this.beans.gos.get("groupSuppressBlankHeader"),o=i&&a&&!r;return this.beans.valueService.getValue(e,this,!1,o)}dispatchEventForSaveValueReadOnly(e,t,i,a){const n=this.beans.gos.addGridCommonParams({type:"cellEditRequest",event:null,rowIndex:this.rowIndex,rowPinned:this.rowPinned,column:e,colDef:e.getColDef(),data:this.data,node:this,oldValue:t,newValue:i,value:i,source:a});this.beans.eventService.dispatchEvent(n)}setGroupValue(e,t){const i=this.beans.columnModel.getCol(e);O(this.groupData)&&(this.groupData={});const a=i.getColId(),n=this.groupData[a];n!==t&&(this.groupData[a]=t,this.dispatchCellChangedEvent(i,t,n))}setAggData(e){const t=this.aggData;if(this.aggData=e,this.localEventService){const i=e=>{const i=this.aggData?this.aggData[e]:void 0,a=t?t[e]:void 0;if(i===a)return;const n=this.beans.columnModel.getCol(e);n&&this.dispatchCellChangedEvent(n,i,a)};for(const e in this.aggData)i(e);for(const t in e)t in this.aggData||i(t)}}updateHasChildren(){let e=this.group&&!this.footer||this.childrenAfterGroup&&this.childrenAfterGroup.length>0;if(this.beans.gos.isRowModelType("serverSide")){const t=this.beans.gos.get("treeData"),i=this.beans.gos.get("isServerSideGroup");e=!this.stub&&!this.footer&&(t?!!i&&i(this.data):!!this.group)}e!==this.__hasChildren&&(this.__hasChildren=!!e,this.dispatchRowEvent("hasChildrenChanged"))}hasChildren(){return null==this.__hasChildren&&this.updateHasChildren(),this.__hasChildren}isEmptyRowGroupNode(){return(this.group&&z(this.childrenAfterGroup))??!1}dispatchCellChangedEvent(e,t,i){const a={type:"cellChanged",node:this,column:e,newValue:t,oldValue:i};this.localEventService?.dispatchEvent(a)}resetQuickFilterAggregateText(){this.quickFilterAggregateText=null}isExpandable(){return!this.footer&&(this.beans.columnModel.isPivotMode()?this.hasChildren()&&!this.leafGroup:this.hasChildren()||!!this.master)}isSelected(){return this.footer?this.sibling.isSelected():this.selected}depthFirstSearch(e){this.childrenAfterGroup&&this.childrenAfterGroup.forEach((t=>t.depthFirstSearch(e))),e(this)}calculateSelectedFromChildren(){let e=!1,t=!1,i=!1;if(!this.childrenAfterGroup?.length)return this.selectable?this.selected:null;for(let a=0;a<this.childrenAfterGroup.length;a++){const n=this.childrenAfterGroup[a];let r=n.isSelected();if(!n.selectable){const e=n.calculateSelectedFromChildren();if(null===e)continue;r=e}switch(r){case!0:e=!0;break;case!1:t=!0;break;default:i=!0}}return i||e&&t?void 0:!!e||!t&&(this.selectable?this.selected:null)}setSelectedInitialValue(e){this.selected=e}dispatchRowEvent(e){const t={type:e,node:this};this.localEventService?.dispatchEvent(t)}selectThisNode(e,t,i="api"){const a=!this.selectable&&e,n=this.selected===e;if(a||n)return!1;this.selected=e,this.dispatchRowEvent("rowSelected");const r=this.sibling;r&&r.footer&&r.localEventService&&r.dispatchRowEvent("rowSelected");const o={...this.createGlobalRowEvent("rowSelected"),event:t||null,source:i};return this.beans.eventService.dispatchEvent(o),!0}setSelected(e,t=!1,i="api"){"boolean"!=typeof i?this.setSelectedParams({newValue:e,clearSelection:t,rangeSelect:!1,source:i}):de("since version v30, rowNode.setSelected() property `suppressFinishActions` has been removed, please use `gridApi.setNodesSelected()` for bulk actions, and the event `source` property for ignoring events instead.")}setSelectedParams(e){return this.rowPinned?(de("cannot select pinned rows"),0):void 0===this.id?(de("cannot select node until id for node is known"),0):this.beans.selectionService.setNodesSelected({...e,nodes:[this.footer?this.sibling:this]})}isRowPinned(){return"top"===this.rowPinned||"bottom"===this.rowPinned}isParentOfNode(e){let t=this.parent;for(;t;){if(t===e)return!0;t=t.parent}return!1}addEventListener(e,t){this.localEventService||(this.localEventService=new c),this.beans.frameworkOverrides.shouldWrapOutgoing&&!this.frameworkEventListenerService&&(this.localEventService.setFrameworkOverrides(this.beans.frameworkOverrides),this.frameworkEventListenerService=new I(this.beans.frameworkOverrides));const i=this.frameworkEventListenerService?.wrap(t)??t;this.localEventService.addEventListener(e,i)}removeEventListener(e,t){if(!this.localEventService)return;const i=this.frameworkEventListenerService?.unwrap(t)??t;this.localEventService.removeEventListener(e,i),this.localEventService.noRegisteredListenersExist()&&(this.localEventService=null)}onMouseEnter(){this.dispatchRowEvent("mouseEnter")}onMouseLeave(){this.dispatchRowEvent("mouseLeave")}getFirstChildOfFirstChild(e){let t=this,i=!0,a=!1,n=null;for(;i&&!a;){const r=t.parent;N(r)&&t.firstChild?r.rowGroupColumn===e&&(a=!0,n=r):i=!1,t=r}return a?n:null}isFullWidthCell(){if(this.detail)return!0;const e=this.beans.gos.getCallback("isFullWidthRow");return!!e&&e({rowNode:this})}getRoute(){if(null==this.key)return;const e=[];let t=this;for(;t&&null!=t.key;)e.push(t.key),t=t.parent;return e.reverse()}createFooter(){if(this.sibling)return;const t=new Set(["eventService","__objectId","sticky"]),i=new e(this.beans);Object.keys(this).forEach((e=>{t.has(e)||(i[e]=this[e])})),i.footer=!0,i.setRowTop(null),i.setRowIndex(null),i.oldRowTop=null,i.id="rowGroupFooter_"+this.id,i.sibling=this,this.sibling=i}destroyFooter(){this.sibling&&(this.sibling.setRowTop(null),this.sibling.setRowIndex(null),this.sibling=void 0)}};nn.ID_PREFIX_ROW_GROUP="row-group-",nn.ID_PREFIX_TOP_PINNED="t-",nn.ID_PREFIX_BOTTOM_PINNED="b-",nn.OBJECT_ID_SEQUENCE=0;var rn=nn,on=class extends F{constructor(){super(...arguments),this.beanName="filterManager",this.advancedFilterModelUpdateQueue=[]}wireBeans(e){this.columnModel=e.columnModel,this.dataTypeService=e.dataTypeService,this.quickFilterService=e.quickFilterService,this.advancedFilterService=e.advancedFilterService,this.columnFilterService=e.columnFilterService}postConstruct(){this.addManagedEventListeners({columnValueChanged:this.refreshFiltersForAggregations.bind(this),columnPivotChanged:this.refreshFiltersForAggregations.bind(this),columnPivotModeChanged:this.refreshFiltersForAggregations.bind(this),newColumnsLoaded:this.updateAdvancedFilterColumns.bind(this),columnVisible:this.updateAdvancedFilterColumns.bind(this),advancedFilterEnabledChanged:({enabled:e})=>this.onAdvancedFilterEnabledChanged(e),dataTypesInferred:this.processFilterModelUpdateQueue.bind(this)}),this.externalFilterPresent=this.isExternalFilterPresentCallback(),this.addManagedPropertyListeners(["isExternalFilterPresent","doesExternalFilterPass"],(()=>{this.onFilterChanged({source:"api"})})),this.updateAggFiltering(),this.addManagedPropertyListener("groupAggFiltering",(()=>{this.updateAggFiltering(),this.onFilterChanged()})),this.addManagedPropertyListener("advancedFilterModel",(e=>this.setAdvancedFilterModel(e.currentValue))),this.quickFilterService&&this.addManagedListeners(this.quickFilterService,{quickFilterChanged:()=>this.onFilterChanged({source:"quickFilter"})})}isExternalFilterPresentCallback(){const e=this.gos.getCallback("isExternalFilterPresent");return"function"==typeof e&&e({})}doesExternalFilterPass(e){const t=this.gos.get("doesExternalFilterPass");return"function"==typeof t&&t(e)}setFilterModel(e,t="api"){this.isAdvancedFilterEnabled()?this.warnAdvancedFilters():this.columnFilterService?.setFilterModel(e,t)}getFilterModel(){return this.columnFilterService?.getFilterModel()??{}}isColumnFilterPresent(){return!!this.columnFilterService?.isColumnFilterPresent()}isAggregateFilterPresent(){return!!this.columnFilterService?.isAggregateFilterPresent()}isExternalFilterPresent(){return this.externalFilterPresent}isChildFilterPresent(){return this.isColumnFilterPresent()||this.isQuickFilterPresent()||this.isExternalFilterPresent()||this.isAdvancedFilterPresent()}isAdvancedFilterPresent(){return this.isAdvancedFilterEnabled()&&this.advancedFilterService.isFilterPresent()}onAdvancedFilterEnabledChanged(e){e?this.columnFilterService?.disableColumnFilters()&&this.onFilterChanged({source:"advancedFilter"}):this.advancedFilterService?.isFilterPresent()&&(this.advancedFilterService.setModel(null),this.onFilterChanged({source:"advancedFilter"}))}isAdvancedFilterEnabled(){return!!this.advancedFilterService?.isEnabled()}isAdvancedFilterHeaderActive(){return this.isAdvancedFilterEnabled()&&this.advancedFilterService.isHeaderActive()}isAnyFilterPresent(){return this.isQuickFilterPresent()||this.isColumnFilterPresent()||this.isAggregateFilterPresent()||this.isExternalFilterPresent()||this.isAdvancedFilterPresent()}resetQuickFilterCache(){this.quickFilterService?.resetQuickFilterCache()}refreshFiltersForAggregations(){this.gos.getGroupAggFiltering()&&this.onFilterChanged()}onFilterChanged(e={}){const{source:t,additionalEventAttributes:i,columns:a=[]}=e;this.externalFilterPresent=this.isExternalFilterPresentCallback(),(this.columnFilterService?this.columnFilterService.updateBeforeFilterChanged(e):ba.resolve()).then((()=>{const e={source:t,type:"filterChanged",columns:a};i&&Z(e,i),this.eventService.dispatchEvent(e),this.columnFilterService?.updateAfterFilterChanged()}))}isSuppressFlashingCellsBecauseFiltering(){return!!this.columnFilterService?.isSuppressFlashingCellsBecauseFiltering()}isQuickFilterPresent(){return!!this.quickFilterService?.isQuickFilterPresent()}updateAggFiltering(){this.aggFiltering=!!this.gos.getGroupAggFiltering()}isAggregateQuickFilterPresent(){return this.isQuickFilterPresent()&&this.shouldApplyQuickFilterAfterAgg()}isNonAggregateQuickFilterPresent(){return this.isQuickFilterPresent()&&!this.shouldApplyQuickFilterAfterAgg()}shouldApplyQuickFilterAfterAgg(){return(this.aggFiltering||this.columnModel.isPivotMode())&&!this.gos.get("applyQuickFilterBeforePivotOrAgg")}doesRowPassOtherFilters(e,t){return this.doesRowPassFilter({rowNode:t,filterInstanceToSkip:e})}doesRowPassAggregateFilters(e){return!(this.isAggregateQuickFilterPresent()&&!this.quickFilterService.doesRowPassQuickFilter(e.rowNode))&&!(this.isAggregateFilterPresent()&&!this.columnFilterService.doAggregateFiltersPass(e.rowNode,e.filterInstanceToSkip))}doesRowPassFilter(e){return!(this.isNonAggregateQuickFilterPresent()&&!this.quickFilterService.doesRowPassQuickFilter(e.rowNode))&&(!(this.isExternalFilterPresent()&&!this.doesExternalFilterPass(e.rowNode))&&(!(this.isColumnFilterPresent()&&!this.columnFilterService.doColumnFiltersPass(e.rowNode,e.filterInstanceToSkip))&&!(this.isAdvancedFilterPresent()&&!this.advancedFilterService.doesFilterPass(e.rowNode))))}isFilterActive(e){return!!this.columnFilterService?.isFilterActive(e)}getOrCreateFilterWrapper(e){return this.columnFilterService?.getOrCreateFilterWrapper(e)??null}getDefaultFloatingFilter(e){return this.columnFilterService.getDefaultFloatingFilter(e)}createFilterParams(e,t){return this.columnFilterService.createFilterParams(e,t)}isFilterAllowed(e){return!this.isAdvancedFilterEnabled()&&!!this.columnFilterService?.isFilterAllowed(e)}getFloatingFilterCompDetails(e,t){return this.columnFilterService?.getFloatingFilterCompDetails(e,t)}getCurrentFloatingFilterParentModel(e){return this.columnFilterService?.getCurrentFloatingFilterParentModel(e)}destroyFilter(e,t="api"){this.columnFilterService?.destroyFilter(e,t)}areFilterCompsDifferent(e,t){return!!this.columnFilterService?.areFilterCompsDifferent(e,t)}getAdvancedFilterModel(){return this.isAdvancedFilterEnabled()?this.advancedFilterService.getModel():null}setAdvancedFilterModel(e){this.isAdvancedFilterEnabled()&&(this.dataTypeService?.isPendingInference()?this.advancedFilterModelUpdateQueue.push(e):(this.advancedFilterService.setModel(e??null),this.onFilterChanged({source:"advancedFilter"})))}toggleAdvancedFilterBuilder(e,t){this.isAdvancedFilterEnabled()&&this.advancedFilterService.getCtrl().toggleFilterBuilder(t,e)}updateAdvancedFilterColumns(){this.isAdvancedFilterEnabled()&&this.advancedFilterService.updateValidity()&&this.onFilterChanged({source:"advancedFilter"})}hasFloatingFilters(){return!this.isAdvancedFilterEnabled()&&!!this.columnFilterService?.hasFloatingFilters()}getFilterInstance(e,t){if(!this.isAdvancedFilterEnabled())return this.columnFilterService?.getFilterInstance(e,t);this.warnAdvancedFilters()}getColumnFilterInstance(e){return this.isAdvancedFilterEnabled()?(this.warnAdvancedFilters(),Promise.resolve(void 0)):this.columnFilterService?.getColumnFilterInstance(e)??Promise.resolve(void 0)}warnAdvancedFilters(){de("Column Filter API methods have been disabled as Advanced Filters are enabled.")}setupAdvancedFilterHeaderComp(e){this.advancedFilterService?.getCtrl().setupHeaderComp(e)}getHeaderRowCount(){return this.isAdvancedFilterHeaderActive()?1:0}getHeaderHeight(){return this.isAdvancedFilterHeaderActive()?this.advancedFilterService.getCtrl().getHeaderHeight():0}processFilterModelUpdateQueue(){this.advancedFilterModelUpdateQueue.forEach((e=>this.setAdvancedFilterModel(e))),this.advancedFilterModelUpdateQueue=[]}getColumnFilterModel(e){return this.columnFilterService?.getColumnFilterModel(e)}setColumnFilterModel(e,t){return this.isAdvancedFilterEnabled()?(this.warnAdvancedFilters(),Promise.resolve()):this.columnFilterService?.setColumnFilterModel(e,t)??Promise.resolve()}},sn=class extends Hi{constructor(e,t){super('<div class="ag-filter"></div>'),this.column=e,this.source=t,this.filterWrapper=null}wireBeans(e){this.filterManager=e.filterManager,this.columnModel=e.columnModel}postConstruct(){this.createFilter(!0),this.addManagedEventListeners({filterDestroyed:this.onFilterDestroyed.bind(this)})}hasFilter(){return!!this.filterWrapper}getFilter(){return this.filterWrapper?.filterPromise??null}afterInit(){return this.filterWrapper?.filterPromise?.then((()=>{}))??ba.resolve()}afterGuiAttached(e){this.filterWrapper?.filterPromise?.then((t=>{t?.afterGuiAttached?.(e)}))}afterGuiDetached(){this.filterWrapper?.filterPromise?.then((e=>{e?.afterGuiDetached?.()}))}createFilter(e){const{column:t,source:i}=this;this.filterWrapper=this.filterManager?.getOrCreateFilterWrapper(t)??null,this.filterWrapper?.filterPromise&&this.filterWrapper.filterPromise.then((a=>{const n=a.getGui();if(N(n)||de(`getGui method from filter returned ${n}; it should be a DOM element.`),this.appendChild(n),e){const e={type:"filterOpened",column:t,source:i,eGui:this.getGui()};this.eventService.dispatchEvent(e)}}))}onFilterDestroyed(e){"api"!==e.source&&"paramsUpdated"!==e.source||e.column.getId()!==this.column.getId()||!this.columnModel.getColDefCol(this.column)||(bi(this.getGui()),this.createFilter())}destroy(){this.filterWrapper=null,super.destroy()}},ln="ag-resizer-wrapper",cn=`<div class="${ln}">\n <div data-ref="eTopLeftResizer" class="ag-resizer ag-resizer-topLeft"></div>\n <div data-ref="eTopResizer" class="ag-resizer ag-resizer-top"></div>\n <div data-ref="eTopRightResizer" class="ag-resizer ag-resizer-topRight"></div>\n <div data-ref="eRightResizer" class="ag-resizer ag-resizer-right"></div>\n <div data-ref="eBottomRightResizer" class="ag-resizer ag-resizer-bottomRight"></div>\n <div data-ref="eBottomResizer" class="ag-resizer ag-resizer-bottom"></div>\n <div data-ref="eBottomLeftResizer" class="ag-resizer ag-resizer-bottomLeft"></div>\n <div data-ref="eLeftResizer" class="ag-resizer ag-resizer-left"></div>\n </div>`,dn=class extends F{constructor(e,t){super(),this.element=e,this.dragStartPosition={x:0,y:0},this.position={x:0,y:0},this.lastSize={width:-1,height:-1},this.positioned=!1,this.resizersAdded=!1,this.resizeListeners=[],this.boundaryEl=null,this.isResizing=!1,this.isMoving=!1,this.resizable={},this.movable=!1,this.currentResizer=null,this.config=Object.assign({},{popup:!1},t)}wireBeans(e){this.popupService=e.popupService,this.resizeObserverService=e.resizeObserverService,this.dragService=e.dragService}center(){const{clientHeight:e,clientWidth:t}=this.offsetParent,i=t/2-this.getWidth()/2,a=e/2-this.getHeight()/2;this.offsetElement(i,a)}initialisePosition(){if(this.positioned)return;const{centered:e,forcePopupParentAsOffsetParent:t,minWidth:i,width:a,minHeight:n,height:r,x:o,y:s}=this.config;this.offsetParent||this.setOffsetParent();let l=0,c=0;const d=Si(this.element);if(d){const e=this.findBoundaryElement(),t=window.getComputedStyle(e);if(null!=t.minWidth){const i=e.offsetWidth-this.element.offsetWidth;c=parseInt(t.minWidth,10)-i}if(null!=t.minHeight){const i=e.offsetHeight-this.element.offsetHeight;l=parseInt(t.minHeight,10)-i}}if(this.minHeight=n||l,this.minWidth=i||c,a&&this.setWidth(a),r&&this.setHeight(r),a&&r||this.refreshSize(),e)this.center();else if(o||s)this.offsetElement(o,s);else if(d&&t){let e=this.boundaryEl,t=!0;if(e||(e=this.findBoundaryElement(),t=!1),e){const i=parseFloat(e.style.top),a=parseFloat(e.style.left);t?this.offsetElement(isNaN(a)?0:a,isNaN(i)?0:i):this.setPosition(a,i)}}this.positioned=!!this.offsetParent}isPositioned(){return this.positioned}getPosition(){return this.position}setMovable(e,t){if(!this.config.popup||e===this.movable)return;this.movable=e;const i=this.moveElementDragListener||{eElement:t,onDragStart:this.onMoveStart.bind(this),onDragging:this.onMove.bind(this),onDragStop:this.onMoveEnd.bind(this)};e?(this.dragService.addDragSource(i),this.moveElementDragListener=i):(this.dragService.removeDragSource(i),this.moveElementDragListener=void 0)}setResizable(e){if(this.clearResizeListeners(),e?this.addResizers():this.removeResizers(),"boolean"==typeof e){if(!1===e)return;e={topLeft:e,top:e,topRight:e,right:e,bottomRight:e,bottom:e,bottomLeft:e,left:e}}Object.keys(e).forEach((t=>{const i=!!e[t],a=this.getResizerElement(t),n={dragStartPixels:0,eElement:a,onDragStart:e=>this.onResizeStart(e,t),onDragging:this.onResize.bind(this),onDragStop:e=>this.onResizeEnd(e,t)};(i||!this.isAlive()&&!i)&&(i?(this.dragService.addDragSource(n),this.resizeListeners.push(n),a.style.pointerEvents="all"):a.style.pointerEvents="none",this.resizable[t]=i)}))}removeSizeFromEl(){this.element.style.removeProperty("height"),this.element.style.removeProperty("width"),this.element.style.removeProperty("flex")}restoreLastSize(){this.element.style.flex="0 0 auto";const{height:e,width:t}=this.lastSize;-1!==t&&(this.element.style.width=`${t}px`),-1!==e&&(this.element.style.height=`${e}px`)}getHeight(){return this.element.offsetHeight}setHeight(e){const{popup:t}=this.config,i=this.element;let a=!1;if("string"==typeof e&&-1!==e.indexOf("%"))Ei(i,e),e=gi(i),a=!0;else if(e=Math.max(this.minHeight,e),this.positioned){const t=this.getAvailableHeight();t&&e>t&&(e=t)}this.getHeight()!==e&&(a?(i.style.maxHeight="unset",i.style.minHeight="unset"):t?Ei(i,e):(i.style.height=`${e}px`,i.style.flex="0 0 auto",this.lastSize.height="number"==typeof e?e:parseFloat(e)))}getAvailableHeight(){const{popup:e,forcePopupParentAsOffsetParent:t}=this.config;this.positioned||this.initialisePosition();const{clientHeight:i}=this.offsetParent;if(!i)return null;const a=this.element.getBoundingClientRect(),n=this.offsetParent.getBoundingClientRect(),r=e?this.position.y:a.top,o=e?0:n.top;let s=0;if(t){const e=this.element.parentElement;if(e){const{bottom:t}=e.getBoundingClientRect();s=t-a.bottom}}return i+o-r-s}getWidth(){return this.element.offsetWidth}setWidth(e){const t=this.element,{popup:i}=this.config;let a=!1;if("string"==typeof e&&-1!==e.indexOf("%"))Ai(t,e),e=pi(t),a=!0;else if(this.positioned){e=Math.max(this.minWidth,e);const{clientWidth:t}=this.offsetParent,a=i?this.position.x:this.element.getBoundingClientRect().left;t&&e+a>t&&(e=t-a)}this.getWidth()!==e&&(a?(t.style.maxWidth="unset",t.style.minWidth="unset"):this.config.popup?Ai(t,e):(t.style.width=`${e}px`,t.style.flex=" unset",this.lastSize.width="number"==typeof e?e:parseFloat(e)))}offsetElement(e=0,t=0){const{forcePopupParentAsOffsetParent:i}=this.config,a=i?this.boundaryEl:this.element;a&&(this.popupService.positionPopup({ePopup:a,keepWithinBounds:!0,skipObserver:this.movable||this.isResizable(),updatePosition:()=>({x:e,y:t})}),this.setPosition(parseFloat(a.style.left),parseFloat(a.style.top)))}constrainSizeToAvailableHeight(e){if(!this.config.forcePopupParentAsOffsetParent)return;const t=()=>{const e=this.getAvailableHeight();this.element.style.setProperty("max-height",`${e}px`)};e?this.resizeObserverSubscriber=this.resizeObserverService.observeResize(this.popupService.getPopupParent(),t):(this.element.style.removeProperty("max-height"),this.resizeObserverSubscriber&&(this.resizeObserverSubscriber(),this.resizeObserverSubscriber=void 0))}setPosition(e,t){this.position.x=e,this.position.y=t}updateDragStartPosition(e,t){this.dragStartPosition={x:e,y:t}}calculateMouseMovement(e){const{e:t,isLeft:i,isTop:a,anywhereWithin:n,topBuffer:r}=e,o=t.clientX-this.dragStartPosition.x,s=t.clientY-this.dragStartPosition.y;return{movementX:this.shouldSkipX(t,!!i,!!n,o)?0:o,movementY:this.shouldSkipY(t,!!a,r,s)?0:s}}shouldSkipX(e,t,i,a){const n=this.element.getBoundingClientRect(),r=this.offsetParent.getBoundingClientRect(),o=this.boundaryEl.getBoundingClientRect(),s=this.config.popup?this.position.x:n.left;let l=s<=0&&r.left>=e.clientX||r.right<=e.clientX&&r.right<=o.right;return!!l||(l=t?a<0&&e.clientX>s+r.left||a>0&&e.clientX<s+r.left:i?a<0&&e.clientX>o.right||a>0&&e.clientX<s+r.left:a<0&&e.clientX>o.right||a>0&&e.clientX<o.right,l)}shouldSkipY(e,t,i=0,a){const n=this.element.getBoundingClientRect(),r=this.offsetParent.getBoundingClientRect(),o=this.boundaryEl.getBoundingClientRect(),s=this.config.popup?this.position.y:n.top;let l=s<=0&&r.top>=e.clientY||r.bottom<=e.clientY&&r.bottom<=o.bottom;return!!l||(l=t?a<0&&e.clientY>s+r.top+i||a>0&&e.clientY<s+r.top:a<0&&e.clientY>o.bottom||a>0&&e.clientY<o.bottom,l)}createResizeMap(){const e=this.element;this.resizerMap={topLeft:{element:e.querySelector("[data-ref=eTopLeftResizer]")},top:{element:e.querySelector("[data-ref=eTopResizer]")},topRight:{element:e.querySelector("[data-ref=eTopRightResizer]")},right:{element:e.querySelector("[data-ref=eRightResizer]")},bottomRight:{element:e.querySelector("[data-ref=eBottomRightResizer]")},bottom:{element:e.querySelector("[data-ref=eBottomResizer]")},bottomLeft:{element:e.querySelector("[data-ref=eBottomLeftResizer]")},left:{element:e.querySelector("[data-ref=eLeftResizer]")}}}addResizers(){if(this.resizersAdded)return;const e=this.element;if(!e)return;const t=(new DOMParser).parseFromString(cn,"text/html").body;e.appendChild(t.firstChild),this.createResizeMap(),this.resizersAdded=!0}removeResizers(){this.resizerMap=void 0;const e=this.element.querySelector(`.${ln}`);e&&this.element.removeChild(e),this.resizersAdded=!1}getResizerElement(e){return this.resizerMap[e].element}onResizeStart(e,t){this.boundaryEl=this.findBoundaryElement(),this.positioned||this.initialisePosition(),this.currentResizer={isTop:!!t.match(/top/i),isRight:!!t.match(/right/i),isBottom:!!t.match(/bottom/i),isLeft:!!t.match(/left/i)},this.element.classList.add("ag-resizing"),this.resizerMap[t].element.classList.add("ag-active");const{popup:i,forcePopupParentAsOffsetParent:a}=this.config;i||a||this.applySizeToSiblings(this.currentResizer.isBottom||this.currentResizer.isTop),this.isResizing=!0,this.updateDragStartPosition(e.clientX,e.clientY)}getSiblings(){const e=this.element.parentElement;return e?Array.prototype.slice.call(e.children).filter((e=>!e.classList.contains("ag-hidden"))):null}getMinSizeOfSiblings(){const e=this.getSiblings()||[];let t=0,i=0;for(let a=0;a<e.length;a++){const n=e[a],r=!!n.style.flex&&"0 0 auto"!==n.style.flex;if(n===this.element)continue;let o=this.minHeight||0,s=this.minWidth||0;if(r){const e=window.getComputedStyle(n);e.minHeight&&(o=parseInt(e.minHeight,10)),e.minWidth&&(s=parseInt(e.minWidth,10))}else o=n.offsetHeight,s=n.offsetWidth;t+=o,i+=s}return{height:t,width:i}}applySizeToSiblings(e){let t=null;const i=this.getSiblings();if(i){for(let a=0;a<i.length;a++){const n=i[a];n!==t&&(e?n.style.height=`${n.offsetHeight}px`:n.style.width=`${n.offsetWidth}px`,n.style.flex="0 0 auto",n===this.element&&(t=i[a+1]))}t&&(t.style.removeProperty("height"),t.style.removeProperty("min-height"),t.style.removeProperty("max-height"),t.style.flex="1 1 auto")}}isResizable(){return Object.values(this.resizable).some((e=>e))}onResize(e){if(!this.isResizing||!this.currentResizer)return;const{popup:t,forcePopupParentAsOffsetParent:i}=this.config,{isTop:a,isRight:n,isBottom:r,isLeft:o}=this.currentResizer,s=n||o,l=r||a,{movementX:c,movementY:d}=this.calculateMouseMovement({e:e,isLeft:o,isTop:a}),h=this.position.x,u=this.position.y;let g=0,p=0;if(s&&c){const e=o?-1:1,t=this.getWidth(),i=t+c*e;let a=!1;o&&(g=t-i,(h+g<=0||i<=this.minWidth)&&(a=!0,g=0)),a||this.setWidth(i)}if(l&&d){const e=a?-1:1,t=this.getHeight(),i=t+d*e;let n=!1;a?(p=t-i,(u+p<=0||i<=this.minHeight)&&(n=!0,p=0)):!this.config.popup&&!this.config.forcePopupParentAsOffsetParent&&t<i&&this.getMinSizeOfSiblings().height+i>this.element.parentElement.offsetHeight&&(n=!0),n||this.setHeight(i)}this.updateDragStartPosition(e.clientX,e.clientY),((t||i)&&g||p)&&this.offsetElement(h+g,u+p)}onResizeEnd(e,t){this.isResizing=!1,this.currentResizer=null,this.boundaryEl=null,this.element.classList.remove("ag-resizing"),this.resizerMap[t].element.classList.remove("ag-active"),this.dispatchLocalEvent({type:"resize"})}refreshSize(){const e=this.element;this.config.popup&&(this.config.width||this.setWidth(e.offsetWidth),this.config.height||this.setHeight(e.offsetHeight))}onMoveStart(e){this.boundaryEl=this.findBoundaryElement(),this.positioned||this.initialisePosition(),this.isMoving=!0,this.element.classList.add("ag-moving"),this.updateDragStartPosition(e.clientX,e.clientY)}onMove(e){if(!this.isMoving)return;const{x:t,y:i}=this.position;let a;this.config.calculateTopBuffer&&(a=this.config.calculateTopBuffer());const{movementX:n,movementY:r}=this.calculateMouseMovement({e:e,isTop:!0,anywhereWithin:!0,topBuffer:a});this.offsetElement(t+n,i+r),this.updateDragStartPosition(e.clientX,e.clientY)}onMoveEnd(){this.isMoving=!1,this.boundaryEl=null,this.element.classList.remove("ag-moving")}setOffsetParent(){this.config.forcePopupParentAsOffsetParent?this.offsetParent=this.popupService.getPopupParent():this.offsetParent=this.element.offsetParent}findBoundaryElement(){let e=this.element;for(;e;){if("static"!==window.getComputedStyle(e).position)return e;e=e.parentElement}return this.element}clearResizeListeners(){for(;this.resizeListeners.length;){const e=this.resizeListeners.pop();this.dragService.removeDragSource(e)}}destroy(){super.destroy(),this.moveElementDragListener&&this.dragService.removeDragSource(this.moveElementDragListener),this.constrainSizeToAvailableHeight(!1),this.clearResizeListeners(),this.removeResizers()}},hn=class e extends F{constructor(e,t={}){super(),this.eFocusableElement=e,this.callbacks=t,this.callbacks={shouldStopEventPropagation:()=>!1,onTabKeyDown:e=>{if(e.defaultPrevented)return;const t=this.focusService.findNextFocusableElement(this.eFocusableElement,!1,e.shiftKey);t&&(t.focus(),e.preventDefault())},...t}}wireBeans(e){this.focusService=e.focusService}postConstruct(){this.eFocusableElement.classList.add(e.FOCUS_MANAGED_CLASS),this.addKeyDownListeners(this.eFocusableElement),this.callbacks.onFocusIn&&this.addManagedElementListeners(this.eFocusableElement,{focusin:this.callbacks.onFocusIn}),this.callbacks.onFocusOut&&this.addManagedElementListeners(this.eFocusableElement,{focusout:this.callbacks.onFocusOut})}addKeyDownListeners(e){this.addManagedElementListeners(e,{keydown:e=>{e.defaultPrevented||A(e)||(this.callbacks.shouldStopEventPropagation(e)?D(e):e.key===ia.TAB?this.callbacks.onTabKeyDown(e):this.callbacks.handleKeyDown&&this.callbacks.handleKeyDown(e))}})}};hn.FOCUS_MANAGED_CLASS="ag-focus-managed";var un=hn,gn={applyFilter:"Apply",clearFilter:"Clear",resetFilter:"Reset",cancelFilter:"Cancel",textFilter:"Text Filter",numberFilter:"Number Filter",dateFilter:"Date Filter",setFilter:"Set Filter",filterOoo:"Filter...",empty:"Choose one",equals:"Equals",notEqual:"Does not equal",lessThan:"Less than",greaterThan:"Greater than",inRange:"Between",inRangeStart:"From",inRangeEnd:"To",lessThanOrEqual:"Less than or equal to",greaterThanOrEqual:"Greater than or equal to",contains:"Contains",notContains:"Does not contain",startsWith:"Begins with",endsWith:"Ends with",blank:"Blank",notBlank:"Not blank",before:"Before",after:"After",andCondition:"AND",orCondition:"OR",dateFormatOoo:"yyyy-mm-dd"};function pn(e,t){return mn(e)?(null!=e.debounceMs&&de("debounceMs is ignored when apply button is present"),0):null!=e.debounceMs?e.debounceMs:t}function mn(e){return!!e.buttons&&e.buttons.indexOf("apply")>=0}var fn=class extends Hi{constructor(e){super(),this.filterNameKey=e,this.applyActive=!1,this.hidePopup=null,this.debouncePending=!1,this.appliedModel=null,this.eFilterBody=Vi,this.buttonListeners=[]}wireBeans(e){this.rowModel=e.rowModel}postConstruct(){this.resetTemplate(),this.createManagedBean(new un(this.getFocusableElement(),{handleKeyDown:this.handleKeyDown.bind(this)})),this.positionableFeature=new dn(this.getPositionableElement(),{forcePopupParentAsOffsetParent:!0}),this.createBean(this.positionableFeature)}handleKeyDown(e){}getFilterTitle(){return this.translate(this.filterNameKey)}isFilterActive(){return!!this.appliedModel}resetTemplate(e){let t=this.getGui();t&&t.removeEventListener("submit",this.onFormSubmit);const i=`\n <form class="ag-filter-wrapper">\n <div class="ag-filter-body-wrapper ag-${this.getCssIdentifier()}-body-wrapper" data-ref="eFilterBody">\n ${this.createBodyTemplate()}\n </div>\n </form>`;this.setTemplate(i,this.getAgComponents(),e),t=this.getGui(),t&&t.addEventListener("submit",this.onFormSubmit)}isReadOnly(){return!!this.providedFilterParams.readOnly}init(e){this.setParams(e),this.resetUiToDefaults(!0).then((()=>{this.updateUiVisibility(),this.setupOnBtApplyDebounce()}))}setParams(e){this.providedFilterParams=e,this.applyActive=mn(e),this.resetButtonsPanel()}updateParams(e){this.providedFilterParams=e,this.applyActive=mn(e),this.resetUiToActiveModel(this.getModel(),(()=>{this.updateUiVisibility(),this.setupOnBtApplyDebounce()}))}resetButtonsPanel(){const{buttons:e}=this.providedFilterParams,t=e&&e.length>0&&!this.isReadOnly();if(this.eButtonsPanel?(bi(this.eButtonsPanel),this.buttonListeners.forEach((e=>e())),this.buttonListeners=[]):t&&(this.eButtonsPanel=document.createElement("div"),this.eButtonsPanel.classList.add("ag-filter-apply-panel")),!t)return void(this.eButtonsPanel&&Ci(this.eButtonsPanel));const i=document.createDocumentFragment(),a=e=>{let t,a;switch(e){case"apply":t=this.translate("applyFilter"),a=e=>this.onBtApply(!1,!1,e);break;case"clear":t=this.translate("clearFilter"),a=()=>this.onBtClear();break;case"reset":t=this.translate("resetFilter"),a=()=>this.onBtReset();break;case"cancel":t=this.translate("cancelFilter"),a=e=>{this.onBtCancel(e)};break;default:return void de("Unknown button type specified")}const n=xi(`<button\n type="${"apply"===e?"submit":"button"}"\n data-ref="${e}FilterButton"\n class="ag-button ag-standard-button ag-filter-apply-panel-button"\n >${t}\n </button>`);this.buttonListeners.push(...this.addManagedElementListeners(n,{click:a})),i.append(n)};e.forEach((e=>a(e))),this.eButtonsPanel.append(i),this.getGui().appendChild(this.eButtonsPanel)}getDefaultDebounceMs(){return 0}setupOnBtApplyDebounce(){const e=pn(this.providedFilterParams,this.getDefaultDebounceMs()),t=ve(this.checkApplyDebounce.bind(this),e);this.onBtApplyDebounce=()=>{this.debouncePending=!0,t()}}checkApplyDebounce(){this.debouncePending&&(this.debouncePending=!1,this.onBtApply())}getModel(){return this.appliedModel?this.appliedModel:null}setModel(e){return(null!=e?this.setModelIntoUi(e):this.resetUiToDefaults()).then((()=>{this.updateUiVisibility(),this.applyModel("api")}))}onBtCancel(e){this.resetUiToActiveModel(this.getModel(),(()=>{this.handleCancelEnd(e)}))}handleCancelEnd(e){this.providedFilterParams.closeOnApply&&this.close(e)}resetUiToActiveModel(e,t){const i=()=>{this.onUiChanged(!1,"prevent"),t?.()};null!=e?this.setModelIntoUi(e).then(i):this.resetUiToDefaults().then(i)}onBtClear(){this.resetUiToDefaults().then((()=>this.onUiChanged()))}onBtReset(){this.onBtClear(),this.onBtApply()}applyModel(e="api"){const t=this.getModelFromUi();if(!this.isModelValid(t))return!1;const i=this.appliedModel;return this.appliedModel=t,!this.areModelsEqual(i,t)}isModelValid(e){return!0}onFormSubmit(e){e.preventDefault()}onBtApply(e=!1,t=!1,i){if(i&&i.preventDefault(),this.applyModel(t?"rowDataUpdated":"ui")){const i="columnFilter";this.providedFilterParams.filterChangedCallback({afterFloatingFilter:e,afterDataChange:t,source:i})}const{closeOnApply:a}=this.providedFilterParams;a&&this.applyActive&&!e&&!t&&this.close(i)}onNewRowsLoaded(){}close(e){if(!this.hidePopup)return;const t=e,i=t&&t.key;let a;"Enter"!==i&&"Space"!==i||(a={keyboardEvent:t}),this.hidePopup(a),this.hidePopup=null}onUiChanged(e=!1,t){if(this.updateUiVisibility(),this.providedFilterParams.filterModifiedCallback(),this.applyActive&&!this.isReadOnly()){const e=this.isModelValid(this.getModelFromUi()),t=this.queryForHtmlElement('[data-ref="applyFilterButton"]');t&&li(t,!e)}e&&!t||"immediately"===t?this.onBtApply(e):(this.applyActive||t)&&"debounce"!==t||this.onBtApplyDebounce()}afterGuiAttached(e){e&&(this.hidePopup=e.hidePopup),this.refreshFilterResizer(e?.container)}refreshFilterResizer(e){if(!this.positionableFeature||"toolPanel"===e)return;const t="floatingFilter"===e||"columnFilter"===e,{positionableFeature:i,gos:a}=this;t?(i.restoreLastSize(),i.setResizable(a.get("enableRtl")?{bottom:!0,bottomLeft:!0,left:!0}:{bottom:!0,bottomRight:!0,right:!0})):(this.positionableFeature.removeSizeFromEl(),this.positionableFeature.setResizable(!1)),this.positionableFeature.constrainSizeToAvailableHeight(!0)}afterGuiDetached(){this.checkApplyDebounce(),this.positionableFeature&&this.positionableFeature.constrainSizeToAvailableHeight(!1)}refresh(e){return this.providedFilterParams=e,!0}destroy(){const e=this.getGui();e&&e.removeEventListener("submit",this.onFormSubmit),this.hidePopup=null,this.positionableFeature&&(this.positionableFeature=this.destroyBean(this.positionableFeature)),this.appliedModel=null,super.destroy()}translate(e){return this.localeService.getLocaleTextFunc()(e,gn[e])}getCellValue(e){return this.providedFilterParams.getValue(e)}getPositionableElement(){return this.eFilterBody}},vn=class extends oa{constructor(e){super(e,"ag-radio-button","radio")}isSelected(){return this.eInput.checked}toggle(){this.eInput.disabled||this.isSelected()||this.setValue(!0)}addInputListeners(){super.addInputListeners(),this.addManagedEventListeners({checkboxChanged:this.onChange.bind(this)})}onChange(e){e.selected&&e.name&&this.eInput.name&&this.eInput.name===e.name&&e.id&&this.eInput.id!==e.id&&this.setValue(!1,!0)}},yn=class extends Hi{constructor(e="default",t=!1){super(`<div class="ag-list ag-${e}-list" role="listbox"></div>`),this.cssIdentifier=e,this.unFocusable=t,this.activeClass="ag-active-item",this.options=[],this.itemEls=[]}postConstruct(){const e=this.getGui();this.addManagedElementListeners(e,{mouseleave:()=>this.clearHighlighted()}),this.unFocusable||this.addManagedElementListeners(e,{keydown:this.handleKeyDown.bind(this)})}handleKeyDown(e){const t=e.key;switch(t){case ia.ENTER:if(this.highlightedEl){const e=this.itemEls.indexOf(this.highlightedEl);this.setValueByIndex(e)}else this.setValue(this.getValue());break;case ia.DOWN:case ia.UP:e.preventDefault(),this.navigate(t);break;case ia.PAGE_DOWN:case ia.PAGE_UP:case ia.PAGE_HOME:case ia.PAGE_END:e.preventDefault(),this.navigateToPage(t)}}navigate(e){const t=e===ia.DOWN;let i;if(this.highlightedEl){let e=this.itemEls.indexOf(this.highlightedEl)+(t?1:-1);e=Math.min(Math.max(e,0),this.itemEls.length-1),i=this.itemEls[e]}else i=this.itemEls[t?0:this.itemEls.length-1];this.highlightItem(i)}navigateToPage(e){if(!this.highlightedEl||0===this.itemEls.length)return;const t=this.itemEls.indexOf(this.highlightedEl),i=this.options.length-1,a=this.itemEls[0].clientHeight,n=Math.floor(this.getGui().clientHeight/a);let r=-1;e===ia.PAGE_HOME?r=0:e===ia.PAGE_END?r=i:e===ia.PAGE_DOWN?r=Math.min(t+n,i):e===ia.PAGE_UP&&(r=Math.max(t-n,0)),-1!==r&&this.highlightItem(this.itemEls[r])}addOptions(e){return e.forEach((e=>this.addOption(e))),this}addOption(e){const{value:t,text:i}=e,a=i||t;return this.options.push({value:t,text:a}),this.renderOption(t,a),this.updateIndices(),this}clearOptions(){this.options=[],this.reset(!0),this.itemEls.forEach((e=>{Ci(e)})),this.itemEls=[]}updateIndices(){const e=this.getGui().querySelectorAll(".ag-list-item");e.forEach(((t,i)=>{Nt(t,i+1),Lt(t,e.length)}))}renderOption(e,t){const i=this.gos.getDocument(),a=i.createElement("div");St(a,"option"),a.classList.add("ag-list-item",`ag-${this.cssIdentifier}-list-item`);const n=i.createElement("span");a.appendChild(n),n.textContent=t,this.unFocusable||(a.tabIndex=-1),this.itemEls.push(a),this.addManagedListeners(a,{mouseover:()=>this.highlightItem(a),mousedown:t=>{t.preventDefault(),t.stopPropagation(),this.setValue(e)}}),this.createManagedBean(new Gi({getTooltipValue:()=>t,getGui:()=>a,getLocation:()=>"UNKNOWN",shouldDisplayTooltip:()=>n.scrollWidth>n.clientWidth})),this.getGui().appendChild(a)}setValue(e,t){if(this.value===e)return this.fireItemSelected(),this;if(null==e)return this.reset(t),this;const i=this.options.findIndex((t=>t.value===e));if(-1!==i){const e=this.options[i];this.value=e.value,this.displayValue=e.text,this.highlightItem(this.itemEls[i]),t||this.fireChangeEvent()}return this}setValueByIndex(e){return this.setValue(this.options[e].value)}getValue(){return this.value}getDisplayValue(){return this.displayValue}refreshHighlighted(){this.clearHighlighted();const e=this.options.findIndex((e=>e.value===this.value));-1!==e&&this.highlightItem(this.itemEls[e])}reset(e){this.value=null,this.displayValue=null,this.clearHighlighted(),e||this.fireChangeEvent()}highlightItem(e){if(!Si(e))return;this.clearHighlighted(),this.highlightedEl=e,this.highlightedEl.classList.add(this.activeClass),_t(this.highlightedEl,!0);const t=this.getGui(),{scrollTop:i,clientHeight:a}=t,{offsetTop:n,offsetHeight:r}=e;(n+r>i+a||n<i)&&this.highlightedEl.scrollIntoView({block:"nearest"}),this.unFocusable||this.highlightedEl.focus()}clearHighlighted(){this.highlightedEl&&Si(this.highlightedEl)&&(this.highlightedEl.classList.remove(this.activeClass),_t(this.highlightedEl,!1),this.highlightedEl=null)}fireChangeEvent(){this.dispatchLocalEvent({type:"fieldValueChanged"}),this.fireItemSelected()}fireItemSelected(){this.dispatchLocalEvent({type:"selectedItem"})}},bn=class extends na{constructor(e){if(super(e,e?.template||'\n <div class="ag-picker-field" role="presentation">\n <div data-ref="eLabel"></div>\n <div data-ref="eWrapper" class="ag-wrapper ag-picker-field-wrapper ag-picker-collapsed">\n <div data-ref="eDisplayField" class="ag-picker-field-display"></div>\n <div data-ref="eIcon" class="ag-picker-field-icon" aria-hidden="true"></div>\n </div>\n </div>',e?.agComponents||[],e?.className),this.isPickerDisplayed=!1,this.skipClick=!1,this.pickerGap=4,this.hideCurrentPicker=null,this.eLabel=Vi,this.eWrapper=Vi,this.eDisplayField=Vi,this.eIcon=Vi,this.ariaRole=e?.ariaRole,this.onPickerFocusIn=this.onPickerFocusIn.bind(this),this.onPickerFocusOut=this.onPickerFocusOut.bind(this),!e)return;const{pickerGap:t,maxPickerHeight:i,variableWidth:a,minPickerWidth:n,maxPickerWidth:r}=e;null!=t&&(this.pickerGap=t),this.variableWidth=!!a,null!=i&&this.setPickerMaxHeight(i),null!=n&&this.setPickerMinWidth(n),null!=r&&this.setPickerMaxWidth(r)}wireBeans(e){this.popupService=e.popupService}postConstruct(){super.postConstruct(),this.setupAria();const e=`ag-${this.getCompId()}-display`;this.eDisplayField.setAttribute("id",e);const t=this.getAriaElement();this.addManagedElementListeners(t,{keydown:this.onKeyDown.bind(this)}),this.addManagedElementListeners(this.eLabel,{mousedown:this.onLabelOrWrapperMouseDown.bind(this)}),this.addManagedElementListeners(this.eWrapper,{mousedown:this.onLabelOrWrapperMouseDown.bind(this)});const{pickerIcon:i,inputWidth:a}=this.config;if(i){const e=qi(i,this.gos);e&&this.eIcon.appendChild(e)}null!=a&&this.setInputWidth(a)}setupAria(){const e=this.getAriaElement();e.setAttribute("tabindex",this.gos.get("tabIndex").toString()),Ft(e,!1),this.ariaRole&&St(e,this.ariaRole)}onLabelOrWrapperMouseDown(e){if(e){const t=this.getFocusableElement();if(t!==this.eWrapper&&e?.target===t)return;e.preventDefault(),this.getFocusableElement().focus()}this.skipClick?this.skipClick=!1:this.isDisabled()||(this.isPickerDisplayed?this.hidePicker():this.showPicker())}onKeyDown(e){switch(e.key){case ia.UP:case ia.DOWN:case ia.ENTER:case ia.SPACE:e.preventDefault(),this.onLabelOrWrapperMouseDown();break;case ia.ESCAPE:this.isPickerDisplayed&&(e.preventDefault(),e.stopPropagation(),this.hideCurrentPicker&&this.hideCurrentPicker())}}showPicker(){this.isPickerDisplayed=!0,this.pickerComponent||(this.pickerComponent=this.createPickerComponent());const e=this.pickerComponent.getGui();e.addEventListener("focusin",this.onPickerFocusIn),e.addEventListener("focusout",this.onPickerFocusOut),this.hideCurrentPicker=this.renderAndPositionPicker(),this.toggleExpandedStyles(!0)}renderAndPositionPicker(){const e=this.gos.getDocument(),t=this.pickerComponent.getGui();this.gos.get("suppressScrollWhenPopupsAreOpen")||([this.destroyMouseWheelFunc]=this.addManagedEventListeners({bodyScroll:()=>{this.hidePicker()}}));const i=this.localeService.getLocaleTextFunc(),{pickerAriaLabelKey:a,pickerAriaLabelValue:n,modalPicker:r=!0}=this.config,o={modal:r,eChild:t,closeOnEsc:!0,closedCallback:()=>{const t=this.gos.getActiveDomElement(),i=!t||t===e.body;this.beforeHidePicker(),i&&this.isAlive()&&this.getFocusableElement().focus()},ariaLabel:i(a,n)},s=this.popupService.addPopup(o),{maxPickerHeight:l,minPickerWidth:c,maxPickerWidth:d,variableWidth:h}=this;h?(c&&(t.style.minWidth=c),t.style.width=Ti(pi(this.eWrapper)),d&&(t.style.maxWidth=d)):Di(t,d??pi(this.eWrapper));const u=l??`${hi(this.popupService.getPopupParent())}px`;return t.style.setProperty("max-height",u),t.style.position="absolute",this.alignPickerToComponent(),s.hideFunc}alignPickerToComponent(){if(!this.pickerComponent)return;const{pickerType:e}=this.config,{pickerGap:t}=this,i=this.gos.get("enableRtl")?"right":"left";this.popupService.positionPopupByComponent({type:e,eventSource:this.eWrapper,ePopup:this.pickerComponent.getGui(),position:"under",alignSide:i,keepWithinBounds:!0,nudgeY:t})}beforeHidePicker(){this.destroyMouseWheelFunc&&(this.destroyMouseWheelFunc(),this.destroyMouseWheelFunc=void 0),this.toggleExpandedStyles(!1);const e=this.pickerComponent.getGui();e.removeEventListener("focusin",this.onPickerFocusIn),e.removeEventListener("focusout",this.onPickerFocusOut),this.isPickerDisplayed=!1,this.pickerComponent=void 0,this.hideCurrentPicker=null}toggleExpandedStyles(e){if(!this.isAlive())return;Ft(this.getAriaElement(),e),this.eWrapper.classList.toggle("ag-picker-expanded",e),this.eWrapper.classList.toggle("ag-picker-collapsed",!e)}onPickerFocusIn(){this.togglePickerHasFocus(!0)}onPickerFocusOut(e){this.pickerComponent?.getGui().contains(e.relatedTarget)||this.togglePickerHasFocus(!1)}togglePickerHasFocus(e){this.pickerComponent&&this.eWrapper.classList.toggle("ag-picker-has-focus",e)}hidePicker(){this.hideCurrentPicker&&this.hideCurrentPicker()}setInputWidth(e){return Di(this.eWrapper,e),this}getFocusableElement(){return this.eWrapper}setPickerGap(e){return this.pickerGap=e,this}setPickerMinWidth(e){return"number"==typeof e&&(e=`${e}px`),this.minPickerWidth=null==e?void 0:e,this}setPickerMaxWidth(e){return"number"==typeof e&&(e=`${e}px`),this.maxPickerWidth=null==e?void 0:e,this}setPickerMaxHeight(e){return"number"==typeof e&&(e=`${e}px`),this.maxPickerHeight=null==e?void 0:e,this}destroy(){this.hidePicker(),super.destroy()}},Cn=class extends bn{constructor(e){super({pickerAriaLabelKey:"ariaLabelSelectField",pickerAriaLabelValue:"Select Field",pickerType:"ag-list",className:"ag-select",pickerIcon:"smallDown",ariaRole:"combobox",...e})}postConstruct(){super.postConstruct(),this.createListComponent(),this.eWrapper.tabIndex=this.gos.get("tabIndex");const{options:e,value:t,placeholder:i}=this.config;null!=e&&this.addOptions(e),null!=t&&this.setValue(t,!0),i&&null==t&&(this.eDisplayField.textContent=i),this.addManagedElementListeners(this.eWrapper,{focusout:this.onWrapperFocusOut.bind(this)})}onWrapperFocusOut(e){this.eWrapper.contains(e.relatedTarget)||this.hidePicker()}createListComponent(){this.listComponent=this.createBean(new yn("select",!0)),this.listComponent.setParentComponent(this);const e=this.listComponent.getAriaElement(),t=`ag-select-list-${this.listComponent.getCompId()}`;e.setAttribute("id",t),Ut(this.getAriaElement(),e),this.listComponent.addManagedListeners(this.listComponent,{selectedItem:()=>{this.hidePicker(),this.dispatchLocalEvent({type:"selectedItem"})}}),this.listComponent.addManagedListeners(this.listComponent,{fieldValueChanged:()=>{this.listComponent&&(this.setValue(this.listComponent.getValue(),!1,!0),this.hidePicker())}})}createPickerComponent(){return this.listComponent}onKeyDown(e){const{key:t}=e;switch(t===ia.TAB&&this.hidePicker(),t){case ia.ENTER:case ia.UP:case ia.DOWN:case ia.PAGE_UP:case ia.PAGE_DOWN:case ia.PAGE_HOME:case ia.PAGE_END:e.preventDefault(),this.isPickerDisplayed?this.listComponent?.handleKeyDown(e):super.onKeyDown(e);break;case ia.ESCAPE:super.onKeyDown(e)}}showPicker(){this.listComponent&&(super.showPicker(),this.listComponent.refreshHighlighted())}addOptions(e){return e.forEach((e=>this.addOption(e))),this}addOption(e){return this.listComponent.addOption(e),this}clearOptions(){return this.listComponent?.clearOptions(),this}setValue(e,t,i){if(this.value===e||!this.listComponent)return this;i||this.listComponent.setValue(e,!0);if(this.listComponent.getValue()===this.getValue())return this;let a=this.listComponent.getDisplayValue();return null==a&&this.config.placeholder&&(a=this.config.placeholder),this.eDisplayField.textContent=a,this.setTooltip({newTooltipText:a??null,shouldDisplayTooltip:()=>this.eDisplayField.scrollWidth>this.eDisplayField.clientWidth}),super.setValue(e,t)}destroy(){this.listComponent&&(this.listComponent=this.destroyBean(this.listComponent)),super.destroy()}},wn={selector:"AG-SELECT",component:Cn},Sn=class{constructor(){this.customFilterOptions={}}init(e,t){this.filterOptions=e.filterOptions||t,this.mapCustomOptions(),this.selectDefaultItem(e)}getFilterOptions(){return this.filterOptions}mapCustomOptions(){this.filterOptions&&this.filterOptions.forEach((e=>{if("string"==typeof e)return;[["displayKey"],["displayName"],["predicate","test"]].every((t=>!!t.some((t=>null!=e[t]))||(de(`ignoring FilterOptionDef as it doesn't contain one of '${t}'`),!1)))?this.customFilterOptions[e.displayKey]=e:this.filterOptions=this.filterOptions.filter((t=>t===e))||[]}))}selectDefaultItem(e){if(e.defaultOption)this.defaultOption=e.defaultOption;else if(this.filterOptions.length>=1){const e=this.filterOptions[0];"string"==typeof e?this.defaultOption=e:e.displayKey?this.defaultOption=e.displayKey:de("invalid FilterOptionDef supplied as it doesn't contain a 'displayKey'")}else de("no filter options for filter")}getDefaultOption(){return this.defaultOption}getCustomOption(e){return this.customFilterOptions[e]}},xn=class extends fn{constructor(){super(...arguments),this.eTypes=[],this.eJoinOperatorPanels=[],this.eJoinOperatorsAnd=[],this.eJoinOperatorsOr=[],this.eConditionBodies=[],this.listener=()=>this.onUiChanged(),this.lastUiCompletePosition=null,this.joinOperatorId=0}getNumberOfInputs(e){const t=this.optionsFactory.getCustomOption(e);if(t){const{numberOfInputs:e}=t;return null!=e?e:1}return e&&["empty","notBlank","blank"].indexOf(e)>=0?0:"inRange"===e?2:1}onFloatingFilterChanged(e,t){this.setTypeFromFloatingFilter(e),this.setValueFromFloatingFilter(t),this.onUiChanged(!0)}setTypeFromFloatingFilter(e){this.eTypes.forEach(((t,i)=>{0===i?t.setValue(e,!0):t.setValue(this.optionsFactory.getDefaultOption(),!0)}))}getModelFromUi(){const e=this.getUiCompleteConditions();return 0===e.length?null:this.maxNumConditions>1&&e.length>1?{filterType:this.getFilterType(),operator:this.getJoinOperator(),conditions:e}:e[0]}getConditionTypes(){return this.eTypes.map((e=>e.getValue()))}getConditionType(e){return this.eTypes[e].getValue()}getJoinOperator(){return 0===this.eJoinOperatorsOr.length?this.defaultJoinOperator:!0===this.eJoinOperatorsOr[0].getValue()?"OR":"AND"}areModelsEqual(e,t){if(!e&&!t)return!0;if(!e&&t||e&&!t)return!1;const i=!e.operator,a=!t.operator;if(!i&&a||i&&!a)return!1;let n;if(i){const i=e,a=t;n=this.areSimpleModelsEqual(i,a)}else{const i=e,a=t;n=i.operator===a.operator&&u(i.conditions,a.conditions,((e,t)=>this.areSimpleModelsEqual(e,t)))}return n}shouldRefresh(e){const t=this.getModel(),i=t?t.conditions??[t]:null,a=e.filterOptions?.map((e=>"string"==typeof e?e:e.displayKey))??this.getDefaultFilterOptions();return!(i&&!i.every((e=>void 0!==a.find((t=>t===e.type)))))&&!("number"==typeof e.maxNumConditions&&i&&i.length>e.maxNumConditions)}refresh(e){if(!this.shouldRefresh(e))return!1;return!!super.refresh(e)&&(this.setParams(e),this.removeConditionsAndOperators(0),this.createOption(),this.setModel(this.getModel()),!0)}setModelIntoUi(e){if(e.operator){const t=e;let i=t.conditions;null==i&&(i=[],de("Filter model is missing 'conditions'"));const a=this.validateAndUpdateConditions(i),n=this.getNumConditions();if(a<n)this.removeConditionsAndOperators(a);else if(a>n)for(let e=n;e<a;e++)this.createJoinOperatorPanel(),this.createOption();const r="OR"===t.operator;this.eJoinOperatorsAnd.forEach((e=>e.setValue(!r,!0))),this.eJoinOperatorsOr.forEach((e=>e.setValue(r,!0))),i.forEach(((e,t)=>{this.eTypes[t].setValue(e.type,!0),this.setConditionIntoUi(e,t)}))}else{const t=e;this.getNumConditions()>1&&this.removeConditionsAndOperators(1),this.eTypes[0].setValue(t.type,!0),this.setConditionIntoUi(t,0)}return this.lastUiCompletePosition=this.getNumConditions()-1,this.createMissingConditionsAndOperators(),this.onUiChanged(),ba.resolve()}validateAndUpdateConditions(e){let t=e.length;return t>this.maxNumConditions&&(e.splice(this.maxNumConditions),de('Filter Model contains more conditions than "filterParams.maxNumConditions". Additional conditions have been ignored.'),t=this.maxNumConditions),t}doesFilterPass(e){const t=this.getModel();if(null==t)return!0;const{operator:i}=t,a=[];if(i){const e=t;a.push(...e.conditions??[])}else a.push(t);return a[i&&"OR"===i?"some":"every"]((t=>this.individualConditionPasses(e,t)))}setParams(e){super.setParams(e),this.setNumConditions(e),this.defaultJoinOperator=this.getDefaultJoinOperator(e.defaultJoinOperator),this.filterPlaceholder=e.filterPlaceholder,this.optionsFactory=new Sn,this.optionsFactory.init(e,this.getDefaultFilterOptions()),this.createFilterListOptions(),this.createOption(),this.createMissingConditionsAndOperators(),this.isReadOnly()&&this.eFilterBody.setAttribute("tabindex","-1")}setNumConditions(e){this.maxNumConditions=e.maxNumConditions??2,this.maxNumConditions<1&&(de('"filterParams.maxNumConditions" must be greater than or equal to zero.'),this.maxNumConditions=1),this.numAlwaysVisibleConditions=e.numAlwaysVisibleConditions??1,this.numAlwaysVisibleConditions<1&&(de('"filterParams.numAlwaysVisibleConditions" must be greater than or equal to zero.'),this.numAlwaysVisibleConditions=1),this.numAlwaysVisibleConditions>this.maxNumConditions&&(de('"filterParams.numAlwaysVisibleConditions" cannot be greater than "filterParams.maxNumConditions".'),this.numAlwaysVisibleConditions=this.maxNumConditions)}createOption(){const e=this.createManagedBean(new Cn);this.eTypes.push(e),e.addCssClass("ag-filter-select"),this.eFilterBody.appendChild(e.getGui());const t=this.createValueElement();this.eConditionBodies.push(t),this.eFilterBody.appendChild(t),this.putOptionsIntoDropdown(e),this.resetType(e);const i=this.getNumConditions()-1;this.forEachPositionInput(i,(e=>this.resetInput(e))),this.addChangedListeners(e,i)}createJoinOperatorPanel(){const e=document.createElement("div");this.eJoinOperatorPanels.push(e),e.classList.add("ag-filter-condition");const t=this.createJoinOperator(this.eJoinOperatorsAnd,e,"and"),i=this.createJoinOperator(this.eJoinOperatorsOr,e,"or");this.eFilterBody.appendChild(e);const a=this.eJoinOperatorPanels.length-1,n=this.joinOperatorId++;this.resetJoinOperatorAnd(t,a,n),this.resetJoinOperatorOr(i,a,n),this.isReadOnly()||(t.onValueChange(this.listener),i.onValueChange(this.listener))}createJoinOperator(e,t,i){const a=this.createManagedBean(new vn);return e.push(a),a.addCssClass("ag-filter-condition-operator"),a.addCssClass(`ag-filter-condition-operator-${i}`),t.appendChild(a.getGui()),a}getDefaultJoinOperator(e){return"AND"===e||"OR"===e?e:"AND"}createFilterListOptions(){const e=this.optionsFactory.getFilterOptions();this.filterListOptions=e.map((e=>"string"==typeof e?this.createBoilerplateListOption(e):this.createCustomListOption(e)))}putOptionsIntoDropdown(e){this.filterListOptions.forEach((t=>{e.addOption(t)})),e.setDisabled(this.filterListOptions.length<=1)}createBoilerplateListOption(e){return{value:e,text:this.translate(e)}}createCustomListOption(e){const{displayKey:t}=e,i=this.optionsFactory.getCustomOption(e.displayKey);return{value:t,text:i?this.localeService.getLocaleTextFunc()(i.displayKey,i.displayName):this.translate(t)}}createBodyTemplate(){return""}getAgComponents(){return[]}getCssIdentifier(){return"simple-filter"}updateUiVisibility(){const e=this.getJoinOperator();this.updateNumConditions(),this.updateConditionStatusesAndValues(this.lastUiCompletePosition,e)}updateNumConditions(){let e=-1,t=!0;for(let i=0;i<this.getNumConditions();i++)this.isConditionUiComplete(i)?e=i:t=!1;if(this.shouldAddNewConditionAtEnd(t))this.createJoinOperatorPanel(),this.createOption();else{const t=this.lastUiCompletePosition??this.getNumConditions()-2;if(e<t){this.removeConditionsAndOperators(t+1);const i=e+1,a=t-i;a>0&&this.removeConditionsAndOperators(i,a),this.createMissingConditionsAndOperators()}}this.lastUiCompletePosition=e}updateConditionStatusesAndValues(e,t){this.eTypes.forEach(((t,i)=>{const a=this.isConditionDisabled(i,e);t.setDisabled(a||this.filterListOptions.length<=1),1===i&&(li(this.eJoinOperatorPanels[0],a),this.eJoinOperatorsAnd[0].setDisabled(a),this.eJoinOperatorsOr[0].setDisabled(a))})),this.eConditionBodies.forEach(((e,t)=>{oi(e,this.isConditionBodyVisible(t))}));const i="OR"===(t??this.getJoinOperator());this.eJoinOperatorsAnd.forEach((e=>{e.setValue(!i,!0)})),this.eJoinOperatorsOr.forEach((e=>{e.setValue(i,!0)})),this.forEachInput(((t,i,a,n)=>{this.setElementDisplayed(t,i<n),this.setElementDisabled(t,this.isConditionDisabled(a,e))})),this.resetPlaceholder()}shouldAddNewConditionAtEnd(e){return e&&this.getNumConditions()<this.maxNumConditions&&!this.isReadOnly()}removeConditionsAndOperators(e,t){if(e>=this.getNumConditions())return;this.removeComponents(this.eTypes,e,t),this.removeElements(this.eConditionBodies,e,t),this.removeValueElements(e,t);const i=Math.max(e-1,0);this.removeElements(this.eJoinOperatorPanels,i,t),this.removeComponents(this.eJoinOperatorsAnd,i,t),this.removeComponents(this.eJoinOperatorsOr,i,t)}removeElements(e,t,i){this.removeItems(e,t,i).forEach((e=>Ci(e)))}removeComponents(e,t,i){this.removeItems(e,t,i).forEach((e=>{Ci(e.getGui()),this.destroyBean(e)}))}removeItems(e,t,i){return null==i?e.splice(t):e.splice(t,i)}afterGuiAttached(e){if(super.afterGuiAttached(e),this.resetPlaceholder(),!e?.suppressFocus)if(this.isReadOnly())this.eFilterBody.focus();else{const e=this.getInputs(0)[0];if(!e)return;e instanceof ra&&e.getInputElement().focus()}}afterGuiDetached(){super.afterGuiDetached();const e=this.getModel();this.resetUiToActiveModel(e);let t=-1,i=-1,a=!1;const n=this.getJoinOperator();for(let e=this.getNumConditions()-1;e>=0;e--)if(this.isConditionUiComplete(e))-1===t&&(t=e,i=e);else{const n=e<t;(e>=this.numAlwaysVisibleConditions&&!this.isConditionUiComplete(e-1)||n)&&(this.removeConditionsAndOperators(e,1),a=!0,n&&i--)}let r=!1;this.getNumConditions()<this.numAlwaysVisibleConditions&&(this.createMissingConditionsAndOperators(),r=!0),this.shouldAddNewConditionAtEnd(i===this.getNumConditions()-1)&&(this.createJoinOperatorPanel(),this.createOption(),r=!0),r&&this.updateConditionStatusesAndValues(i,n),a&&this.updateJoinOperatorsDisabled(),this.lastUiCompletePosition=i}getPlaceholderText(e,t){let i=this.translate(e);if(ue(this.filterPlaceholder)){const e=this.filterPlaceholder,a=this.eTypes[t].getValue();i=e({filterOptionKey:a,filterOption:this.translate(a),placeholder:i})}else"string"==typeof this.filterPlaceholder&&(i=this.filterPlaceholder);return i}resetPlaceholder(){const e=this.localeService.getLocaleTextFunc();this.forEachInput(((t,i,a,n)=>{if(!(t instanceof ra))return;const r=0===i&&n>1?"inRangeStart":0===i?"filterOoo":"inRangeEnd",o=0===i&&n>1?e("ariaFilterFromValue","Filter from value"):0===i?e("ariaFilterValue","Filter Value"):e("ariaFilterToValue","Filter to Value");t.setInputPlaceholder(this.getPlaceholderText(r,a)),t.setInputAriaLabel(o)}))}setElementValue(e,t,i){e instanceof ra&&e.setValue(null!=t?String(t):null,!0)}setElementDisplayed(e,t){e instanceof Hi&&oi(e.getGui(),t)}setElementDisabled(e,t){e instanceof Hi&&li(e.getGui(),t)}attachElementOnChange(e,t){e instanceof ra&&e.onValueChange(t)}forEachInput(e){this.getConditionTypes().forEach(((t,i)=>{this.forEachPositionTypeInput(i,t,e)}))}forEachPositionInput(e,t){const i=this.getConditionType(e);this.forEachPositionTypeInput(e,i,t)}forEachPositionTypeInput(e,t,i){const a=this.getNumberOfInputs(t),n=this.getInputs(e);for(let t=0;t<n.length;t++){const r=n[t];null!=r&&i(r,t,e,a)}}isConditionDisabled(e,t){return!!this.isReadOnly()||0!==e&&e>t+1}isConditionBodyVisible(e){const t=this.getConditionType(e);return this.getNumberOfInputs(t)>0}isConditionUiComplete(e){if(e>=this.getNumConditions())return!1;return"empty"!==this.getConditionType(e)&&!this.getValues(e).some((e=>null==e))}getNumConditions(){return this.eTypes.length}getUiCompleteConditions(){const e=[];for(let t=0;t<this.getNumConditions();t++)this.isConditionUiComplete(t)&&e.push(this.createCondition(t));return e}createMissingConditionsAndOperators(){if(!this.isReadOnly())for(let e=this.getNumConditions();e<this.numAlwaysVisibleConditions;e++)this.createJoinOperatorPanel(),this.createOption()}resetUiToDefaults(e){return this.removeConditionsAndOperators(this.isReadOnly()?1:this.numAlwaysVisibleConditions),this.eTypes.forEach((e=>this.resetType(e))),this.eJoinOperatorsAnd.forEach(((e,t)=>this.resetJoinOperatorAnd(e,t,this.joinOperatorId+t))),this.eJoinOperatorsOr.forEach(((e,t)=>this.resetJoinOperatorOr(e,t,this.joinOperatorId+t))),this.joinOperatorId++,this.forEachInput((e=>this.resetInput(e))),this.resetPlaceholder(),this.createMissingConditionsAndOperators(),this.lastUiCompletePosition=null,e||this.onUiChanged(),ba.resolve()}resetType(e){const t=this.localeService.getLocaleTextFunc()("ariaFilteringOperator","Filtering operator");e.setValue(this.optionsFactory.getDefaultOption(),!0).setAriaLabel(t).setDisabled(this.isReadOnly()||this.filterListOptions.length<=1)}resetJoinOperatorAnd(e,t,i){this.resetJoinOperator(e,t,this.isDefaultOperator("AND"),this.translate("andCondition"),i)}resetJoinOperatorOr(e,t,i){this.resetJoinOperator(e,t,this.isDefaultOperator("OR"),this.translate("orCondition"),i)}resetJoinOperator(e,t,i,a,n){this.updateJoinOperatorDisabled(e.setValue(i,!0).setName(`ag-simple-filter-and-or-${this.getCompId()}-${n}`).setLabel(a),t)}updateJoinOperatorsDisabled(){this.eJoinOperatorsAnd.forEach(((e,t)=>this.updateJoinOperatorDisabled(e,t))),this.eJoinOperatorsOr.forEach(((e,t)=>this.updateJoinOperatorDisabled(e,t)))}updateJoinOperatorDisabled(e,t){e.setDisabled(this.isReadOnly()||t>0)}resetInput(e){this.setElementValue(e,null),this.setElementDisabled(e,this.isReadOnly())}setConditionIntoUi(e,t){const i=this.mapValuesFromModel(e);this.forEachInput(((e,a,n)=>{n===t&&this.setElementValue(e,null!=i[a]?i[a]:null)}))}setValueFromFloatingFilter(e){this.forEachInput(((t,i,a)=>{this.setElementValue(t,0===i&&0===a?e:null,!0)}))}isDefaultOperator(e){return e===this.defaultJoinOperator}addChangedListeners(e,t){this.isReadOnly()||(e.onValueChange(this.listener),this.forEachPositionInput(t,(e=>{this.attachElementOnChange(e,this.listener)})))}individualConditionPasses(e,t){const i=this.getCellValue(e.node),a=this.mapValuesFromModel(t),n=this.optionsFactory.getCustomOption(t.type),r=this.evaluateCustomFilter(n,a,i);return null!=r?r:null==i?this.evaluateNullValue(t.type):this.evaluateNonNullValue(a,i,t,e)}evaluateCustomFilter(e,t,i){if(null==e)return;const{predicate:a}=e;return null==a||t.some((e=>null==e))?void 0:a(t,i)}isBlank(e){return null==e||"string"==typeof e&&0===e.trim().length}hasInvalidInputs(){return!1}},kn=class extends xn{setParams(e){super.setParams(e),this.scalarFilterParams=e}evaluateNullValue(e){switch(e){case"equals":case"notEqual":if(this.scalarFilterParams.includeBlanksInEquals)return!0;break;case"greaterThan":case"greaterThanOrEqual":if(this.scalarFilterParams.includeBlanksInGreaterThan)return!0;break;case"lessThan":case"lessThanOrEqual":if(this.scalarFilterParams.includeBlanksInLessThan)return!0;break;case"inRange":if(this.scalarFilterParams.includeBlanksInRange)return!0;break;case"blank":return!0;case"notBlank":return!1}return!1}evaluateNonNullValue(e,t,i){const a=this.comparator(),n=null!=e[0]?a(e[0],t):0;switch(i.type){case"equals":return 0===n;case"notEqual":return 0!==n;case"greaterThan":return n>0;case"greaterThanOrEqual":return n>=0;case"lessThan":return n<0;case"lessThanOrEqual":return n<=0;case"inRange":{const i=a(e[1],t);return this.scalarFilterParams.inRangeInclusive?n>=0&&i<=0:n>0&&i<0}case"blank":return this.isBlank(t);case"notBlank":return!this.isBlank(t);default:return de('Unexpected type of filter "'+i.type+'", it looks like the filter was configured with incorrect Filter Options'),!0}}};function Mn(e){if(e.altKey||e.ctrlKey||e.metaKey)return!1;return 1===e.key.length}function Rn(e,t,i,a,n){const r=a?a.getColDef().suppressKeyboardEvent:void 0;if(!r)return!1;const o=e.addGridCommonParams({event:t,editing:n,column:a,node:i,data:i.data,colDef:a.getColDef()});if(r){if(r(o))return!0}return!1}var Dn=class extends ra{constructor(e,t="ag-text-field",i="text"){super(e,t,i)}postConstruct(){super.postConstruct(),this.config.allowedCharPattern&&this.preventDisallowedCharacters()}setValue(e,t){return this.eInput.value!==e&&(this.eInput.value=N(e)?e:""),super.setValue(e,t)}setStartValue(e){this.setValue(e,!0)}preventDisallowedCharacters(){const e=new RegExp(`[${this.config.allowedCharPattern}]`);this.addManagedListeners(this.eInput,{keydown:t=>{Mn(t)&&t.key&&!e.test(t.key)&&t.preventDefault()},paste:t=>{const i=t.clipboardData?.getData("text");i&&i.split("").some((t=>!e.test(t)))&&t.preventDefault()}})}},An={selector:"AG-INPUT-TEXT-FIELD",component:Dn},En=class extends Dn{constructor(e){super(e,"ag-number-field","number")}postConstruct(){super.postConstruct(),this.addManagedListeners(this.eInput,{blur:()=>{const e=parseFloat(this.eInput.value),t=isNaN(e)?"":this.normalizeValue(e.toString());this.value!==t&&this.setValue(t)},wheel:this.onWheel.bind(this)}),this.eInput.step="any";const{precision:e,min:t,max:i,step:a}=this.config;"number"==typeof e&&this.setPrecision(e),"number"==typeof t&&this.setMin(t),"number"==typeof i&&this.setMax(i),"number"==typeof a&&this.setStep(a)}onWheel(e){this.gos.getActiveDomElement()===this.eInput&&e.preventDefault()}normalizeValue(e){if(""===e)return"";null!=this.precision&&(e=this.adjustPrecision(e));const t=parseFloat(e);return null!=this.min&&t<this.min?e=this.min.toString():null!=this.max&&t>this.max&&(e=this.max.toString()),e}adjustPrecision(e,t){if(null==this.precision)return e;if(t){const t=parseFloat(e).toFixed(this.precision);return parseFloat(t).toString()}const i=String(e).split(".");if(i.length>1){if(i[1].length<=this.precision)return e;if(this.precision>0)return`${i[0]}.${i[1].slice(0,this.precision)}`}return i[0]}setMin(e){return this.min===e||(this.min=e,Fi(this.eInput,"min",e)),this}setMax(e){return this.max===e||(this.max=e,Fi(this.eInput,"max",e)),this}setPrecision(e){return this.precision=e,this}setStep(e){return this.step===e||(this.step=e,Fi(this.eInput,"step",e)),this}setValue(e,t){return this.setValueOrInputValue((e=>super.setValue(e,t)),(()=>this),e)}setStartValue(e){return this.setValueOrInputValue((e=>super.setValue(e,!0)),(e=>{this.eInput.value=e}),e)}setValueOrInputValue(e,t,i){if(N(i)){let a=this.isScientificNotation(i);if(a&&this.eInput.validity.valid)return e(i);if(!a){a=(i=this.adjustPrecision(i))!=this.normalizeValue(i)}if(a)return t(i)}return e(i)}getValue(){if(!this.eInput.validity.valid)return;const e=this.eInput.value;return this.isScientificNotation(e)?this.adjustPrecision(e,!0):super.getValue()}isScientificNotation(e){return"string"==typeof e&&e.includes("e")}},Tn={selector:"AG-INPUT-NUMBER-FIELD",component:En},Pn=["equals","notEqual","greaterThan","greaterThanOrEqual","lessThan","lessThanOrEqual","inRange","blank","notBlank"],Fn=class{constructor(e,t,i){this.localeService=e,this.optionsFactory=t,this.valueFormatter=i}getModelAsString(e){if(!e)return null;const t=null!=e.operator,i=this.localeService.getLocaleTextFunc();if(t){const t=e,a=(t.conditions??[]).map((e=>this.getModelAsString(e))),n="AND"===t.operator?"andCondition":"orCondition";return a.join(` ${i(n,gn[n])} `)}if("blank"===e.type||"notBlank"===e.type)return i(e.type,e.type);{const t=e,a=this.optionsFactory.getCustomOption(t.type),{displayKey:n,displayName:r,numberOfInputs:o}=a||{};return n&&r&&0===o?(i(n,r),r):this.conditionToString(t,a)}}updateParams(e){this.optionsFactory=e.optionsFactory}formatValue(e){return this.valueFormatter?this.valueFormatter(e??null)??"":String(e)}},In=class extends Fn{conditionToString(e,t){const{numberOfInputs:i}=t||{};return"inRange"==e.type||2===i?`${this.formatValue(e.filter)}-${this.formatValue(e.filterTo)}`:null!=e.filter?this.formatValue(e.filter):`${e.type}`}};function Ln(e){const{allowedCharPattern:t}=e??{};return t??null}var Nn=class extends kn{constructor(){super("numberFilter"),this.eValuesFrom=[],this.eValuesTo=[]}refresh(e){return this.numberFilterParams.allowedCharPattern===e.allowedCharPattern&&super.refresh(e)}mapValuesFromModel(e){const{filter:t,filterTo:i,type:a}=e||{};return[this.processValue(t),this.processValue(i)].slice(0,this.getNumberOfInputs(a))}getDefaultDebounceMs(){return 500}comparator(){return(e,t)=>e===t?0:e<t?1:-1}setParams(e){this.numberFilterParams=e,super.setParams(e),this.filterModelFormatter=new In(this.localeService,this.optionsFactory,this.numberFilterParams.numberFormatter)}getDefaultFilterOptions(){return Pn}setElementValue(e,t,i){const a=!i&&this.numberFilterParams.numberFormatter?this.numberFilterParams.numberFormatter(t??null):t;super.setElementValue(e,a)}createValueElement(){const e=Ln(this.numberFilterParams),t=document.createElement("div");return t.classList.add("ag-filter-body"),St(t,"presentation"),this.createFromToElement(t,this.eValuesFrom,"from",e),this.createFromToElement(t,this.eValuesTo,"to",e),t}createFromToElement(e,t,i,a){const n=this.createManagedBean(a?new Dn({allowedCharPattern:a}):new En);n.addCssClass(`ag-filter-${i}`),n.addCssClass("ag-filter-filter"),t.push(n),e.appendChild(n.getGui())}removeValueElements(e,t){this.removeComponents(this.eValuesFrom,e,t),this.removeComponents(this.eValuesTo,e,t)}getValues(e){const t=[];return this.forEachPositionInput(e,((e,i,a,n)=>{i<n&&t.push(this.processValue(this.stringToFloat(e.getValue())))})),t}areSimpleModelsEqual(e,t){return e.filter===t.filter&&e.filterTo===t.filterTo&&e.type===t.type}getFilterType(){return"number"}processValue(e){return null==e||isNaN(e)?null:e}stringToFloat(e){if("number"==typeof e)return e;let t=L(e);return null!=t&&""===t.trim()&&(t=null),this.numberFilterParams.numberParser?this.numberFilterParams.numberParser(t):null==t||"-"===t.trim()?null:parseFloat(t)}createCondition(e){const t=this.getConditionType(e),i={filterType:this.getFilterType(),type:t},a=this.getValues(e);return a.length>0&&(i.filter=a[0]),a.length>1&&(i.filterTo=a[1]),i}getInputs(e){return e>=this.eValuesFrom.length?[null,null]:[this.eValuesFrom[e],this.eValuesTo[e]]}getModelAsString(e){return this.filterModelFormatter.getModelAsString(e)??""}hasInvalidInputs(){let e=!1;return this.forEachInput((t=>{t.getInputElement().validity.valid||(e=!0)})),e}},On=["contains","notContains","equals","notEqual","startsWith","endsWith","blank","notBlank"],zn=class extends Fn{conditionToString(e,t){const{numberOfInputs:i}=t||{};return"inRange"==e.type||2===i?`${e.filter}-${e.filterTo}`:null!=e.filter?`${e.filter}`:`${e.type}`}};function Gn(e){const t=e&&e.trim();return""===t?e:t}var Bn=class extends xn{constructor(){super("textFilter"),this.defaultFormatter=e=>e,this.defaultLowercaseFormatter=e=>null==e?null:e.toString().toLowerCase(),this.defaultMatcher=({filterOption:e,value:t,filterText:i})=>{if(null==i)return!1;switch(e){case"contains":return t.indexOf(i)>=0;case"notContains":return t.indexOf(i)<0;case"equals":return t===i;case"notEqual":return t!=i;case"startsWith":return 0===t.indexOf(i);case"endsWith":{const e=t.lastIndexOf(i);return e>=0&&e===t.length-i.length}default:return!1}},this.eValuesFrom=[],this.eValuesTo=[]}getDefaultDebounceMs(){return 500}setParams(e){this.textFilterParams=e,super.setParams(e),this.matcher=this.getTextMatcher(),this.formatter=this.textFilterParams.textFormatter||(this.textFilterParams.caseSensitive?this.defaultFormatter:this.defaultLowercaseFormatter),this.filterModelFormatter=new zn(this.localeService,this.optionsFactory)}getTextMatcher(){const e=this.textFilterParams.textCustomComparator;return e?(de("textCustomComparator is deprecated, use textMatcher instead."),({filterOption:t,value:i,filterText:a})=>e(t,i,a)):this.textFilterParams.textMatcher||this.defaultMatcher}createCondition(e){const t=this.getConditionType(e),i={filterType:this.getFilterType(),type:t},a=this.getValuesWithSideEffects(e,!0);return a.length>0&&(i.filter=a[0]),a.length>1&&(i.filterTo=a[1]),i}getFilterType(){return"text"}areSimpleModelsEqual(e,t){return e.filter===t.filter&&e.filterTo===t.filterTo&&e.type===t.type}getInputs(e){return e>=this.eValuesFrom.length?[null,null]:[this.eValuesFrom[e],this.eValuesTo[e]]}getValues(e){return this.getValuesWithSideEffects(e,!1)}getValuesWithSideEffects(e,t){const i=[];return this.forEachPositionInput(e,((e,a,n,r)=>{if(a<r){let a=L(e.getValue());t&&this.textFilterParams.trimInput&&(a=Gn(a)??null,e.setValue(a,!0)),i.push(a)}})),i}getDefaultFilterOptions(){return On}createValueElement(){const e=document.createElement("div");return e.classList.add("ag-filter-body"),St(e,"presentation"),this.createFromToElement(e,this.eValuesFrom,"from"),this.createFromToElement(e,this.eValuesTo,"to"),e}createFromToElement(e,t,i){const a=this.createManagedBean(new Dn);a.addCssClass(`ag-filter-${i}`),a.addCssClass("ag-filter-filter"),t.push(a),e.appendChild(a.getGui())}removeValueElements(e,t){this.removeComponents(this.eValuesFrom,e,t),this.removeComponents(this.eValuesTo,e,t)}mapValuesFromModel(e){const{filter:t,filterTo:i,type:a}=e||{};return[t||null,i||null].slice(0,this.getNumberOfInputs(a))}evaluateNullValue(e){return!!e&&["notEqual","notContains","blank"].indexOf(e)>=0}evaluateNonNullValue(e,t,i,a){const n=e.map((e=>this.formatter(e)))||[],r=this.formatter(t),{api:o,colDef:s,column:l,context:c,textFormatter:d}=this.textFilterParams;if("blank"===i.type)return this.isBlank(t);if("notBlank"===i.type)return!this.isBlank(t);const h={api:o,colDef:s,column:l,context:c,node:a.node,data:a.data,filterOption:i.type,value:r,textFormatter:d};return n.some((e=>this.matcher({...h,filterText:e})))}getModelAsString(e){return this.filterModelFormatter.getModelAsString(e)??""}};function Vn(e){if("number"==typeof e)return e;if("string"==typeof e){const t=parseInt(e);if(isNaN(t))return;return t}}function Hn(e,t=Number.MAX_VALUE){return i=>{const a=Vn(i);if(!(null==a||a<e||a>t))return a}}function Wn(e,t){return e.toString().padStart(t,"0")}function _n(e,t,i){return"number"!=typeof e?"":qn(Math.round(100*e)/100,t,i)}function qn(e,t,i){return"number"!=typeof e?"":e.toString().replace(".",i).replace(/(\d)(?=(\d{3})+(?!\d))/g,`$1${t}`)}function Un(e,t=!0,i="-"){if(!e)return null;let a=[e.getFullYear(),e.getMonth()+1,e.getDate()].map((e=>Wn(e,2))).join(i);return t&&(a+=" "+[e.getHours(),e.getMinutes(),e.getSeconds()].map((e=>Wn(e,2))).join(":")),a}var Kn=e=>{if(e>3&&e<21)return"th";switch(e%10){case 1:return"st";case 2:return"nd";case 3:return"rd"}return"th"};function jn(e,t="YYYY-MM-DD"){const i=Wn(e.getFullYear(),4),a=["January","February","March","April","May","June","July","August","September","October","November","December"],n=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],r={YYYY:()=>i.slice(i.length-4,i.length),YY:()=>i.slice(i.length-2,i.length),Y:()=>`${e.getFullYear()}`,MMMM:()=>a[e.getMonth()],MMM:()=>a[e.getMonth()].slice(0,3),MM:()=>Wn(e.getMonth()+1,2),Mo:()=>`${e.getMonth()+1}${Kn(e.getMonth()+1)}`,M:()=>`${e.getMonth()+1}`,Do:()=>`${e.getDate()}${Kn(e.getDate())}`,DD:()=>Wn(e.getDate(),2),D:()=>`${e.getDate()}`,dddd:()=>n[e.getDay()],ddd:()=>n[e.getDay()].slice(0,3),dd:()=>n[e.getDay()].slice(0,2),do:()=>`${e.getDay()}${Kn(e.getDay())}`,d:()=>`${e.getDay()}`},o=new RegExp(Object.keys(r).join("|"),"g");return t.replace(o,(e=>e in r?r[e]():e))}function Yn(e){if(!e)return null;const[t,i]=e.split(" ");if(!t)return null;const a=t.split("-").map((e=>parseInt(e,10)));if(3!==a.filter((e=>!isNaN(e))).length)return null;const[n,r,o]=a,s=new Date(n,r-1,o);if(s.getFullYear()!==n||s.getMonth()!==r-1||s.getDate()!==o)return null;if(!i||"00:00:00"===i)return s;const[l,c,d]=i.split(":").map((e=>parseInt(e,10)));return l>=0&&l<24&&s.setHours(l),c>=0&&c<60&&s.setMinutes(c),d>=0&&d<60&&s.setSeconds(d),s}var $n=class{constructor(e,t,i,a,n){this.alive=!0,this.context=e,this.eParent=a;t.getDateCompDetails(i).newAgStackInstance().then((t=>{this.alive?(this.dateComp=t,t&&(a.appendChild(t.getGui()),t.afterGuiAttached&&t.afterGuiAttached(),this.tempValue&&t.setDate(this.tempValue),null!=this.disabled&&this.setDateCompDisabled(this.disabled),n?.(this))):e.destroyBean(t)}))}destroy(){this.alive=!1,this.dateComp=this.context.destroyBean(this.dateComp)}getDate(){return this.dateComp?this.dateComp.getDate():this.tempValue}setDate(e){this.dateComp?this.dateComp.setDate(e):this.tempValue=e}setDisabled(e){this.dateComp?this.setDateCompDisabled(e):this.disabled=e}setDisplayed(e){oi(this.eParent,e)}setInputPlaceholder(e){this.dateComp&&this.dateComp.setInputPlaceholder&&this.dateComp.setInputPlaceholder(e)}setInputAriaLabel(e){this.dateComp&&this.dateComp.setInputAriaLabel&&this.dateComp.setInputAriaLabel(e)}afterGuiAttached(e){this.dateComp&&"function"==typeof this.dateComp.afterGuiAttached&&this.dateComp.afterGuiAttached(e)}updateParams(e){let t=!1;if(this.dateComp?.refresh&&"function"==typeof this.dateComp.refresh){null!==this.dateComp.refresh(e)&&(t=!0)}if(!t&&this.dateComp?.onParamsUpdated&&"function"==typeof this.dateComp.onParamsUpdated){null!==this.dateComp.onParamsUpdated(e)&&de("Custom date component method 'onParamsUpdated' is deprecated. Use 'refresh' instead.")}}setDateCompDisabled(e){null!=this.dateComp&&null!=this.dateComp.setDisabled&&this.dateComp.setDisabled(e)}},Zn=["equals","notEqual","lessThan","greaterThan","inRange","blank","notBlank"],Xn=class extends Fn{constructor(e,t,i){super(t,i),this.dateFilterParams=e}conditionToString(e,t){const{type:i}=e,{numberOfInputs:a}=t||{},n="inRange"==i||2===a,r=Yn(e.dateFrom),o=Yn(e.dateTo),s=this.dateFilterParams.inRangeFloatingFilterDateFormat;if(n){return`${null!==r?jn(r,s):"null"}-${null!==o?jn(o,s):"null"}`}return null!=r?jn(r,s):`${i}`}updateParams(e){super.updateParams(e),this.dateFilterParams=e.dateFilterParams}},Qn=1/0,Jn=class extends kn{constructor(){super("dateFilter"),this.eConditionPanelsFrom=[],this.eConditionPanelsTo=[],this.dateConditionFromComps=[],this.dateConditionToComps=[],this.minValidYear=1e3,this.maxValidYear=Qn,this.minValidDate=null,this.maxValidDate=null}wireBeans(e){super.wireBeans(e),this.context=e.context,this.userComponentFactory=e.userComponentFactory}afterGuiAttached(e){super.afterGuiAttached(e),this.dateConditionFromComps[0].afterGuiAttached(e)}mapValuesFromModel(e){const{dateFrom:t,dateTo:i,type:a}=e||{};return[t&&Yn(t)||null,i&&Yn(i)||null].slice(0,this.getNumberOfInputs(a))}comparator(){return this.dateFilterParams.comparator?this.dateFilterParams.comparator:this.defaultComparator.bind(this)}defaultComparator(e,t){return null==t||t<e?-1:t>e?1:0}setParams(e){this.dateFilterParams=e,super.setParams(e);const t=(t,i)=>{if(null!=e[t]){if(!isNaN(e[t]))return null==e[t]?i:Number(e[t]);de(`DateFilter ${t} is not a number`)}return i};this.minValidYear=t("minValidYear",1e3),this.maxValidYear=t("maxValidYear",Qn),this.minValidYear>this.maxValidYear&&de("DateFilter minValidYear should be <= maxValidYear"),e.minValidDate?this.minValidDate=e.minValidDate instanceof Date?e.minValidDate:Yn(e.minValidDate):this.minValidDate=null,e.maxValidDate?this.maxValidDate=e.maxValidDate instanceof Date?e.maxValidDate:Yn(e.maxValidDate):this.maxValidDate=null,this.minValidDate&&this.maxValidDate&&this.minValidDate>this.maxValidDate&&de("DateFilter minValidDate should be <= maxValidDate"),this.filterModelFormatter=new Xn(this.dateFilterParams,this.localeService,this.optionsFactory)}createDateCompWrapper(e){const t=new $n(this.context,this.userComponentFactory,{onDateChanged:()=>this.onUiChanged(),filterParams:this.dateFilterParams},e);return this.addDestroyFunc((()=>t.destroy())),t}setElementValue(e,t){e.setDate(t)}setElementDisplayed(e,t){e.setDisplayed(t)}setElementDisabled(e,t){e.setDisabled(t)}getDefaultFilterOptions(){return Zn}createValueElement(){const e=this.gos.getDocument().createElement("div");return e.classList.add("ag-filter-body"),this.createFromToElement(e,this.eConditionPanelsFrom,this.dateConditionFromComps,"from"),this.createFromToElement(e,this.eConditionPanelsTo,this.dateConditionToComps,"to"),e}createFromToElement(e,t,i,a){const n=this.gos.getDocument().createElement("div");n.classList.add(`ag-filter-${a}`),n.classList.add(`ag-filter-date-${a}`),t.push(n),e.appendChild(n),i.push(this.createDateCompWrapper(n))}removeValueElements(e,t){this.removeDateComps(this.dateConditionFromComps,e,t),this.removeDateComps(this.dateConditionToComps,e,t),this.removeItems(this.eConditionPanelsFrom,e,t),this.removeItems(this.eConditionPanelsTo,e,t)}removeDateComps(e,t,i){this.removeItems(e,t,i).forEach((e=>e.destroy()))}isValidDateValue(e){if(null===e)return!1;if(this.minValidDate){if(e<this.minValidDate)return!1}else if(e.getUTCFullYear()<this.minValidYear)return!1;if(this.maxValidDate){if(e>this.maxValidDate)return!1}else if(e.getUTCFullYear()>this.maxValidYear)return!1;return!0}isConditionUiComplete(e){if(!super.isConditionUiComplete(e))return!1;let t=!0;return this.forEachInput(((i,a,n,r)=>{n!==e||!t||a>=r||(t=t&&this.isValidDateValue(i.getDate()))})),t}areSimpleModelsEqual(e,t){return e.dateFrom===t.dateFrom&&e.dateTo===t.dateTo&&e.type===t.type}getFilterType(){return"date"}createCondition(e){const t=this.getConditionType(e),i={},a=this.getValues(e);return a.length>0&&(i.dateFrom=Un(a[0])),a.length>1&&(i.dateTo=Un(a[1])),{dateFrom:null,dateTo:null,filterType:this.getFilterType(),type:t,...i}}resetPlaceholder(){const e=this.localeService.getLocaleTextFunc(),t=this.translate("dateFormatOoo"),i=e("ariaFilterValue","Filter Value");this.forEachInput((e=>{e.setInputPlaceholder(t),e.setInputAriaLabel(i)}))}getInputs(e){return e>=this.dateConditionFromComps.length?[null,null]:[this.dateConditionFromComps[e],this.dateConditionToComps[e]]}getValues(e){const t=[];return this.forEachPositionInput(e,((e,i,a,n)=>{i<n&&t.push(e.getDate())})),t}translate(e){return"lessThan"===e?super.translate("before"):"greaterThan"===e?super.translate("after"):super.translate(e)}getModelAsString(e){return this.filterModelFormatter.getModelAsString(e)??""}},er=class extends F{constructor(e,t,i,a){super(),this.columnOrGroup=e,this.columnOrGroup=e,this.eCell=t,this.ariaEl=this.eCell.querySelector("[role=columnheader]")||this.eCell,this.colsSpanning=a,this.beans=i}setColsSpanning(e){this.colsSpanning=e,this.onLeftChanged()}getColumnOrGroup(){return this.beans.gos.get("enableRtl")&&this.colsSpanning?h(this.colsSpanning):this.columnOrGroup}postConstruct(){const e=this.onLeftChanged.bind(this);this.addManagedListeners(this.columnOrGroup,{leftChanged:e}),this.setLeftFirstTime(),this.addManagedEventListeners({displayedColumnsWidthChanged:e}),this.addManagedPropertyListener("domLayout",e)}setLeftFirstTime(){const e=this.beans.gos.get("suppressColumnMoveAnimation"),t=N(this.columnOrGroup.getOldLeft());this.beans.columnAnimationService.isActive()&&t&&!e?this.animateInLeft():this.onLeftChanged()}animateInLeft(){const e=this.getColumnOrGroup(),t=e.getLeft(),i=e.getOldLeft(),a=this.modifyLeftForPrintLayout(e,i),n=this.modifyLeftForPrintLayout(e,t);this.setLeft(a),this.actualLeft=n,this.beans.columnAnimationService.executeNextVMTurn((()=>{this.actualLeft===n&&this.setLeft(n)}))}onLeftChanged(){const e=this.getColumnOrGroup(),t=e.getLeft();this.actualLeft=this.modifyLeftForPrintLayout(e,t),this.setLeft(this.actualLeft)}modifyLeftForPrintLayout(e,t){if(!this.beans.gos.isDomLayout("print"))return t;if("left"===e.getPinned())return t;const i=this.beans.visibleColsService.getColsLeftWidth();if("right"===e.getPinned()){return i+this.beans.visibleColsService.getBodyContainerWidth()+t}return i+t}setLeft(e){if(N(e)&&(this.eCell.style.left=`${e}px`),je(this.columnOrGroup)){const e=this.columnOrGroup.getLeafColumns();if(!e.length)return;e.length>1&&Vt(this.ariaEl,e.length)}}};function tr(e,t,i,a){return O(e)?[]:nr(e.headerClass,e,t,i,a)}function ir(e,t,i,a){return O(e)?[]:nr(e.toolPanelClass,e,t,i,a)}function ar(e,t,i){e.addOrRemoveCssClass("ag-column-first",i.isColAtEdge(t,"first")),e.addOrRemoveCssClass("ag-column-last",i.isColAtEdge(t,"last"))}function nr(e,t,i,a,n){if(O(e))return[];let r;if("function"==typeof e){const o=function(e,t,i,a){return t.addGridCommonParams({colDef:e,column:i,columnGroup:a})}(t,i,a,n);r=e(o)}else r=e;return"string"==typeof r?[r]:Array.isArray(r)?[...r]:[]}var rr=0,or=class e extends F{constructor(e,t,i){super(),this.resizeToggleTimeout=0,this.resizeMultiplier=1,this.resizeFeature=null,this.lastFocusEvent=null,this.dragSource=null,this.columnGroupChild=e,this.parentRowCtrl=i,this.beans=t,this.instanceId=e.getUniqueId()+"-"+rr++}wireBeans(e){this.pinnedWidthService=e.pinnedWidthService,this.focusService=e.focusService,this.userComponentFactory=e.userComponentFactory,this.ctrlsService=e.ctrlsService,this.dragAndDropService=e.dragAndDropService,this.menuService=e.menuService}postConstruct(){this.addManagedPropertyListeners(["suppressHeaderFocus"],(()=>this.refreshTabIndex()))}shouldStopEventPropagation(e){const{headerRowIndex:t,column:i}=this.focusService.getFocusedHeader();return function(e,t,i,a){const n=a.getDefinition(),r=n&&n.suppressHeaderKeyboardEvent;return!!N(r)&&!!r(e.addGridCommonParams({colDef:n,column:a,headerRowIndex:i,event:t}))}(this.gos,e,t,i)}getWrapperHasFocus(){return this.gos.getActiveDomElement()===this.eGui}setGui(e){this.eGui=e,this.addDomData(),this.addManagedListeners(this.beans.eventService,{displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this)}),this.addManagedElementListeners(this.eGui,{focus:this.onGuiFocus.bind(this)}),this.onDisplayedColumnsChanged(),this.refreshTabIndex()}onGuiFocus(){const e={type:"headerFocused",column:this.column};this.eventService.dispatchEvent(e)}onDisplayedColumnsChanged(){this.comp&&this.column&&(this.refreshFirstAndLastStyles(),this.refreshAriaColIndex())}refreshFirstAndLastStyles(){const{comp:e,column:t,beans:i}=this;ar(e,t,i.visibleColsService)}refreshAriaColIndex(){const{beans:e,column:t}=this,i=e.visibleColsService.getAriaColIndex(t);Bt(this.eGui,i)}addResizeAndMoveKeyboardListeners(){this.resizeFeature&&this.addManagedListeners(this.eGui,{keydown:this.onGuiKeyDown.bind(this),keyup:this.onGuiKeyUp.bind(this)})}refreshTabIndex(){this.gos.get("suppressHeaderFocus")?this.eGui.removeAttribute("tabindex"):this.eGui.setAttribute("tabindex","-1")}onGuiKeyDown(e){const t=this.gos.getActiveDomElement(),i=e.key===ia.LEFT||e.key===ia.RIGHT;if(this.isResizing&&(e.preventDefault(),e.stopImmediatePropagation()),t!==this.eGui||!e.shiftKey&&!e.altKey)return;if((this.isResizing||i)&&(e.preventDefault(),e.stopImmediatePropagation()),!i)return;const a=e.key===ia.LEFT!==this.gos.get("enableRtl"),n=Ka[a?"Left":"Right"];if(e.altKey){this.isResizing=!0,this.resizeMultiplier+=1;const t=this.getViewportAdjustedResizeDiff(e);this.resizeHeader(t,e.shiftKey),this.resizeFeature?.toggleColumnResizing(!0)}else this.moveHeader(n)}getViewportAdjustedResizeDiff(e){let t=this.getResizeDiff(e);if(this.column.getPinned()){const e=this.pinnedWidthService.getPinnedLeftWidth(),i=this.pinnedWidthService.getPinnedRightWidth(),a=ui(this.ctrlsService.getGridBodyCtrl().getBodyViewportElement())-50;if(e+i+t>a){if(!(a>e+i))return 0;t=a-e-i}}return t}getResizeDiff(e){let t=e.key===ia.LEFT!==this.gos.get("enableRtl");const i=this.column.getPinned(),a=this.gos.get("enableRtl");return i&&a!==("right"===i)&&(t=!t),(t?-1:1)*this.resizeMultiplier}onGuiKeyUp(){this.isResizing&&(this.resizeToggleTimeout&&(window.clearTimeout(this.resizeToggleTimeout),this.resizeToggleTimeout=0),this.isResizing=!1,this.resizeMultiplier=1,this.resizeToggleTimeout=window.setTimeout((()=>{this.resizeFeature?.toggleColumnResizing(!1)}),150))}handleKeyDown(e){const t=this.getWrapperHasFocus();switch(e.key){case ia.PAGE_DOWN:case ia.PAGE_UP:case ia.PAGE_HOME:case ia.PAGE_END:t&&e.preventDefault()}}addDomData(){const t=e.DOM_DATA_KEY_HEADER_CTRL;this.gos.setDomData(this.eGui,t,this),this.addDestroyFunc((()=>this.gos.setDomData(this.eGui,t,null)))}getGui(){return this.eGui}focus(e){return!!this.eGui&&(this.lastFocusEvent=e||null,this.eGui.focus(),!0)}getRowIndex(){return this.parentRowCtrl.getRowIndex()}getParentRowCtrl(){return this.parentRowCtrl}getPinned(){return this.parentRowCtrl.getPinned()}getInstanceId(){return this.instanceId}getColumnGroupChild(){return this.columnGroupChild}removeDragSource(){this.dragSource&&(this.dragAndDropService.removeDragSource(this.dragSource),this.dragSource=null)}handleContextMenuMouseEvent(e,t,i){const a=e??t;this.gos.get("preventDefaultOnContextMenu")&&a.preventDefault();const n=ie(i)?i:void 0;this.menuService.isHeaderContextMenuEnabled(n)&&this.menuService.showHeaderContextMenu(n,e,t),this.dispatchColumnMouseEvent("columnHeaderContextMenu",i)}dispatchColumnMouseEvent(e,t){const i={type:e,column:t};this.eventService.dispatchEvent(i)}destroy(){super.destroy(),this.removeDragSource(),this.comp=null,this.column=null,this.resizeFeature=null,this.lastFocusEvent=null,this.columnGroupChild=null,this.parentRowCtrl=null,this.eGui=null}};or.DOM_DATA_KEY_HEADER_CTRL="headerCtrl";var sr=or,lr=class extends F{wireBeans(e){this.columnHoverService=e.columnHoverService}constructor(e,t){super(),this.columns=e,this.element=t}postConstruct(){this.gos.get("columnHoverHighlight")&&this.addMouseHoverListeners()}addMouseHoverListeners(){this.addManagedListeners(this.element,{mouseout:this.onMouseOut.bind(this),mouseover:this.onMouseOver.bind(this)})}onMouseOut(){this.columnHoverService.clearMouseOver()}onMouseOver(){this.columnHoverService.setMouseOver(this.columns)}},cr=class extends sr{constructor(e,t,i){super(e,t,i),this.iconCreated=!1,this.column=e}setComp(e,t,i,a){this.comp=e,this.eButtonShowMainFilter=i,this.eFloatingFilterBody=a,this.setGui(t),this.setupActive(),this.setupWidth(),this.setupLeft(),this.setupHover(),this.setupFocus(),this.setupAria(),this.setupFilterButton(),this.setupUserComp(),this.setupSyncWithFilter(),this.setupUi(),this.addManagedElementListeners(this.eButtonShowMainFilter,{click:this.showParentFilter.bind(this)}),this.setupFilterChangedListener(),this.addManagedListeners(this.column,{colDefChanged:this.onColDefChanged.bind(this)})}resizeHeader(){}moveHeader(){}setupActive(){const e=this.column.getColDef(),t=!!e.filter,i=!!e.floatingFilter;this.active=t&&i}setupUi(){if(this.comp.setButtonWrapperDisplayed(!this.suppressFilterButton&&this.active),this.comp.addOrRemoveBodyCssClass("ag-floating-filter-full-body",this.suppressFilterButton),this.comp.addOrRemoveBodyCssClass("ag-floating-filter-body",!this.suppressFilterButton),!this.active||this.iconCreated)return;const e=qi("filter",this.gos,this.column);e&&(this.iconCreated=!0,this.eButtonShowMainFilter.appendChild(e))}setupFocus(){this.createManagedBean(new un(this.eGui,{shouldStopEventPropagation:this.shouldStopEventPropagation.bind(this),onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.handleKeyDown.bind(this),onFocusIn:this.onFocusIn.bind(this)}))}setupAria(){const e=this.localeService.getLocaleTextFunc();kt(this.eButtonShowMainFilter,e("ariaFilterMenuOpen","Open Filter Menu"))}onTabKeyDown(e){if(this.gos.getActiveDomElement()===this.eGui)return;const t=this.focusService.findNextFocusableElement(this.eGui,null,e.shiftKey);if(t)return this.beans.headerNavigationService.scrollToColumn(this.column),e.preventDefault(),void t.focus();const i=this.findNextColumnWithFloatingFilter(e.shiftKey);i&&this.focusService.focusHeaderPosition({headerPosition:{headerRowIndex:this.getParentRowCtrl().getRowIndex(),column:i},event:e})&&e.preventDefault()}findNextColumnWithFloatingFilter(e){const t=this.beans.visibleColsService;let i=this.column;do{if(i=e?t.getColBefore(i):t.getColAfter(i),!i)break}while(!i.getColDef().filter||!i.getColDef().floatingFilter);return i}handleKeyDown(e){super.handleKeyDown(e);const t=this.getWrapperHasFocus();switch(e.key){case ia.UP:case ia.DOWN:t||e.preventDefault();case ia.LEFT:case ia.RIGHT:if(t)return;e.stopPropagation();case ia.ENTER:t&&this.focusService.focusInto(this.eGui)&&e.preventDefault();break;case ia.ESCAPE:t||this.eGui.focus()}}onFocusIn(e){if(this.eGui.contains(e.relatedTarget))return;const t=!!e.relatedTarget&&!e.relatedTarget.classList.contains("ag-floating-filter"),i=!!e.relatedTarget&&ci(e.relatedTarget,"ag-floating-filter");if(t&&i&&e.target===this.eGui){const e=this.lastFocusEvent,t=!(!e||e.key!==ia.TAB);if(e&&t){const t=e.shiftKey;this.focusService.focusInto(this.eGui,t)}}const a=this.getRowIndex();this.beans.focusService.setFocusedHeader(a,this.column)}setupHover(){this.createManagedBean(new lr([this.column],this.eGui));const e=()=>{if(!this.gos.get("columnHoverHighlight"))return;const e=this.beans.columnHoverService.isHovered(this.column);this.comp.addOrRemoveCssClass("ag-column-hover",e)};this.addManagedEventListeners({columnHoverChanged:e}),e()}setupLeft(){const e=new er(this.column,this.eGui,this.beans);this.createManagedBean(e)}setupFilterButton(){this.suppressFilterButton=!this.menuService.isFloatingFilterButtonEnabled(this.column),this.highlightFilterButtonWhenActive=!this.menuService.isLegacyMenuEnabled()}setupUserComp(){if(!this.active)return;const e=this.beans.filterManager?.getFloatingFilterCompDetails(this.column,(()=>this.showParentFilter()));e&&this.setCompDetails(e)}setCompDetails(e){this.userCompDetails=e,this.comp.setCompDetails(e)}showParentFilter(){const e=this.suppressFilterButton?this.eFloatingFilterBody:this.eButtonShowMainFilter;this.menuService.showFilterMenu({column:this.column,buttonElement:e,containerType:"floatingFilter",positionBy:"button"})}setupSyncWithFilter(){if(!this.active)return;const{filterManager:e}=this.beans,t=t=>{if("filterDestroyed"===t?.source&&!this.isAlive())return;const i=this.comp.getFloatingFilterComp();i&&i.then((i=>{if(i){const a=e?.getCurrentFloatingFilterParentModel(this.column),n=t?{...t,columns:t.columns??[],source:"api"===t.source?"api":"columnFilter"}:null;i.onParentModelChanged(a,n)}}))};[this.destroySyncListener]=this.addManagedListeners(this.column,{filterChanged:t}),e?.isFilterActive(this.column)&&t(null)}setupWidth(){const e=()=>{const e=`${this.column.getActualWidth()}px`;this.comp.setWidth(e)};this.addManagedListeners(this.column,{widthChanged:e}),e()}setupFilterChangedListener(){this.active&&([this.destroyFilterChangedListener]=this.addManagedListeners(this.column,{filterChanged:this.updateFilterButton.bind(this)}),this.updateFilterButton())}updateFilterButton(){if(!this.suppressFilterButton&&this.comp){const e=!!this.beans.filterManager?.isFilterAllowed(this.column);this.comp.setButtonWrapperDisplayed(e),this.highlightFilterButtonWhenActive&&e&&this.eButtonShowMainFilter.classList.toggle("ag-filter-active",this.column.isFilterActive())}}onColDefChanged(){const e=this.active;this.setupActive();const t=!e&&this.active;e&&!this.active&&(this.destroySyncListener(),this.destroyFilterChangedListener());const i=this.active?this.beans.filterManager?.getFloatingFilterCompDetails(this.column,(()=>this.showParentFilter())):null,a=this.comp.getFloatingFilterComp();a&&i?a.then((e=>{!e||this.beans.filterManager?.areFilterCompsDifferent(this.userCompDetails??null,i)?this.updateCompDetails(i,t):this.updateFloatingFilterParams(i)})):this.updateCompDetails(i,t)}updateCompDetails(e,t){this.isAlive()&&(this.setCompDetails(e),this.setupFilterButton(),this.setupUi(),t&&(this.setupSyncWithFilter(),this.setupFilterChangedListener()))}updateFloatingFilterParams(e){if(!e)return;const t=e.params;this.comp.getFloatingFilterComp()?.then((e=>{let i=!1;if(e?.refresh&&"function"==typeof e.refresh){null!==e.refresh(t)&&(i=!0)}if(!i&&e?.onParamsUpdated&&"function"==typeof e.onParamsUpdated){null!==e.onParamsUpdated(t)&&de("Custom floating filter method 'onParamsUpdated' is deprecated. Use 'refresh' instead.")}}))}destroy(){super.destroy(),this.eButtonShowMainFilter=null,this.eFloatingFilterBody=null,this.userCompDetails=null,this.destroySyncListener=null,this.destroyFilterChangedListener=null}},dr="32.0.2";function hr(e,t,i){if(null==t)return null;let a=null;const{compName:n,jsComp:r,fwComp:o}=Va.getCompKeys(e,t,Pa);if(n){a={set:"agSetColumnFloatingFilter",agSetColumnFilter:"agSetColumnFloatingFilter",multi:"agMultiColumnFloatingFilter",agMultiColumnFilter:"agMultiColumnFloatingFilter",group:"agGroupColumnFloatingFilter",agGroupColumnFilter:"agGroupColumnFloatingFilter",number:"agNumberColumnFloatingFilter",agNumberColumnFilter:"agNumberColumnFloatingFilter",date:"agDateColumnFloatingFilter",agDateColumnFilter:"agDateColumnFloatingFilter",text:"agTextColumnFloatingFilter",agTextColumnFilter:"agTextColumnFloatingFilter"}[n]}else{null==r&&null==o&&!0===t.filter&&(a=i())}return a}var ur=class extends Hi{wireBeans(e){this.columnNameService=e.columnNameService}getDefaultDebounceMs(){return 0}destroy(){super.destroy()}isEventFromFloatingFilter(e){return e&&e.afterFloatingFilter}isEventFromDataChange(e){return e?.afterDataChange}getLastType(){return this.lastType}isReadOnly(){return this.readOnly}setLastTypeFromModel(e){if(!e)return void(this.lastType=this.optionsFactory.getDefaultOption());let t;if(e.operator){t=e.conditions[0]}else t=e;this.lastType=t.type}canWeEditAfterModelFromParentFilter(e){if(!e)return this.isTypeEditable(this.lastType);if(e.operator)return!1;const t=e;return this.isTypeEditable(t.type)}init(e){this.setSimpleParams(e,!1)}setSimpleParams(e,t=!0){this.optionsFactory=new Sn,this.optionsFactory.init(e.filterParams,this.getDefaultFilterOptions()),t||(this.lastType=this.optionsFactory.getDefaultOption()),this.readOnly=!!e.filterParams.readOnly;const i=this.isTypeEditable(this.optionsFactory.getDefaultOption());this.setEditable(i)}onParamsUpdated(e){this.refresh(e)}refresh(e){this.setSimpleParams(e)}doesFilterHaveSingleInput(e){const t=this.optionsFactory.getCustomOption(e),{numberOfInputs:i}=t||{};return null==i||1==i}isTypeEditable(e){return!!e&&!this.isReadOnly()&&this.doesFilterHaveSingleInput(e)&&["inRange","empty","blank","notBlank"].indexOf(e)<0}getAriaLabel(e){return`${this.columnNameService.getDisplayNameForColumn(e.column,"header",!0)} ${this.localeService.getLocaleTextFunc()("ariaFilterInput","Filter Input")}`}},gr=class extends F{constructor(e){super(),this.params=e,this.eFloatingFilterTextInput=Vi,this.valueChangedListener=()=>{}}setupGui(e){this.eFloatingFilterTextInput=this.createManagedBean(new Dn(this.params?.config));const t=this.eFloatingFilterTextInput.getGui();e.appendChild(t);const i=e=>this.valueChangedListener(e);this.addManagedListeners(t,{input:i,keydown:i})}setEditable(e){this.eFloatingFilterTextInput.setDisabled(!e)}setAutoComplete(e){this.eFloatingFilterTextInput.setAutoComplete(e)}getValue(){return this.eFloatingFilterTextInput.getValue()}setValue(e,t){this.eFloatingFilterTextInput.setValue(e,t)}setValueChangedListener(e){this.valueChangedListener=e}setParams(e){this.setAriaLabel(e.ariaLabel),void 0!==e.autoComplete&&this.setAutoComplete(e.autoComplete)}setAriaLabel(e){this.eFloatingFilterTextInput.setInputAriaLabel(e)}},pr=class extends ur{constructor(){super(...arguments),this.eFloatingFilterInputContainer=Vi}postConstruct(){this.setTemplate('\n <div class="ag-floating-filter-input" role="presentation" data-ref="eFloatingFilterInputContainer"></div>\n ')}getDefaultDebounceMs(){return 500}onParentModelChanged(e,t){this.isEventFromFloatingFilter(t)||this.isEventFromDataChange(t)||(this.setLastTypeFromModel(e),this.setEditable(this.canWeEditAfterModelFromParentFilter(e)),this.floatingFilterInputService.setValue(this.getFilterModelFormatter().getModelAsString(e)))}init(e){this.setupFloatingFilterInputService(e),super.init(e),this.setTextInputParams(e)}setupFloatingFilterInputService(e){this.floatingFilterInputService=this.createFloatingFilterInputService(e),this.floatingFilterInputService.setupGui(this.eFloatingFilterInputContainer)}setTextInputParams(e){this.params=e;const t=e.browserAutoComplete??!1;if(this.floatingFilterInputService.setParams({ariaLabel:this.getAriaLabel(e),autoComplete:t}),this.applyActive=mn(this.params.filterParams),!this.isReadOnly()){const e=pn(this.params.filterParams,this.getDefaultDebounceMs()),t=ve(this.syncUpWithParentFilter.bind(this),e);this.floatingFilterInputService.setValueChangedListener(t)}}onParamsUpdated(e){this.refresh(e)}refresh(e){super.refresh(e),this.setTextInputParams(e)}recreateFloatingFilterInputService(e){const t=this.floatingFilterInputService.getValue();bi(this.eFloatingFilterInputContainer),this.destroyBean(this.floatingFilterInputService),this.setupFloatingFilterInputService(e),this.floatingFilterInputService.setValue(t,!0)}syncUpWithParentFilter(e){const t=e.key===ia.ENTER;if(this.applyActive&&!t)return;let i=this.floatingFilterInputService.getValue();this.params.filterParams.trimInput&&(i=Gn(i),this.floatingFilterInputService.setValue(i,!0)),this.params.parentFilterInstance((e=>{e&&e.onFloatingFilterChanged(this.getLastType()||null,i||null)}))}setEditable(e){this.floatingFilterInputService.setEditable(e)}},mr=class extends F{constructor(){super(...arguments),this.valueChangedListener=()=>{},this.numberInputActive=!0}setupGui(e){this.eFloatingFilterNumberInput=this.createManagedBean(new En),this.eFloatingFilterTextInput=this.createManagedBean(new Dn),this.eFloatingFilterTextInput.setDisabled(!0);const t=this.eFloatingFilterNumberInput.getGui(),i=this.eFloatingFilterTextInput.getGui();e.appendChild(t),e.appendChild(i),this.setupListeners(t,(e=>this.valueChangedListener(e))),this.setupListeners(i,(e=>this.valueChangedListener(e)))}setEditable(e){this.numberInputActive=e,this.eFloatingFilterNumberInput.setDisplayed(this.numberInputActive),this.eFloatingFilterTextInput.setDisplayed(!this.numberInputActive)}setAutoComplete(e){this.eFloatingFilterNumberInput.setAutoComplete(e),this.eFloatingFilterTextInput.setAutoComplete(e)}getValue(){return this.getActiveInputElement().getValue()}setValue(e,t){this.getActiveInputElement().setValue(e,t)}getActiveInputElement(){return this.numberInputActive?this.eFloatingFilterNumberInput:this.eFloatingFilterTextInput}setValueChangedListener(e){this.valueChangedListener=e}setupListeners(e,t){this.addManagedListeners(e,{input:t,keydown:t})}setParams(e){this.setAriaLabel(e.ariaLabel),void 0!==e.autoComplete&&this.setAutoComplete(e.autoComplete)}setAriaLabel(e){this.eFloatingFilterNumberInput.setInputAriaLabel(e),this.eFloatingFilterTextInput.setInputAriaLabel(e)}},fr=class extends pr{init(e){super.init(e),this.filterModelFormatter=new zn(this.localeService,this.optionsFactory)}onParamsUpdated(e){this.refresh(e)}refresh(e){super.refresh(e),this.filterModelFormatter.updateParams({optionsFactory:this.optionsFactory})}getDefaultFilterOptions(){return On}getFilterModelFormatter(){return this.filterModelFormatter}createFloatingFilterInputService(){return this.createManagedBean(new gr)}};var vr={version:dr,moduleName:"@ag-grid-community/filter-core",beans:[on]},yr={version:dr,moduleName:"@ag-grid-community/filter-api",apiFunctions:{isAnyFilterPresent:function(e){return!!e.filterManager?.isAnyFilterPresent()},onFilterChanged:function(e,t="api"){e.filterManager?.onFilterChanged({source:t})}},dependantModules:[vr]},br={version:dr,moduleName:"@ag-grid-community/column-filter",beans:[class extends F{constructor(){super(...arguments),this.beanName="columnFilterService",this.allColumnFilters=new Map,this.allColumnListeners=new Map,this.activeAggregateFilters=[],this.activeColumnFilters=[],this.processingFilterChange=!1,this.filterModelUpdateQueue=[],this.columnFilterModelUpdateQueue=[]}wireBeans(e){this.valueService=e.valueService,this.columnModel=e.columnModel,this.rowModel=e.rowModel,this.userComponentFactory=e.userComponentFactory,this.rowRenderer=e.rowRenderer,this.dataTypeService=e.dataTypeService,this.filterManager=e.filterManager}postConstruct(){this.addManagedEventListeners({gridColumnsChanged:this.onColumnsChanged.bind(this),rowDataUpdated:()=>this.onNewRowsLoaded("rowDataUpdated"),dataTypesInferred:this.processFilterModelUpdateQueue.bind(this)}),this.initialFilterModel={...this.gos.get("initialState")?.filter?.filterModel??{}}}setFilterModel(e,t="api"){if(this.dataTypeService?.isPendingInference())return void this.filterModelUpdateQueue.push({model:e,source:t});const i=[],a=this.getFilterModel();if(e){const t=new Set(Object.keys(e));this.allColumnFilters.forEach(((a,n)=>{const r=e[n];i.push(this.setModelOnFilterWrapper(a.filterPromise,r)),t.delete(n)})),t.forEach((t=>{const a=this.columnModel.getColDefCol(t)||this.columnModel.getCol(t);if(!a)return void de("setFilterModel() - no column found for colId: "+t);if(!a.isFilterAllowed())return void de("setFilterModel() - unable to fully apply model, filtering disabled for colId: "+t);const n=this.getOrCreateFilterWrapper(a);n?i.push(this.setModelOnFilterWrapper(n.filterPromise,e[t])):de("setFilterModel() - unable to fully apply model, unable to create filter for colId: "+t)}))}else this.allColumnFilters.forEach((e=>{i.push(this.setModelOnFilterWrapper(e.filterPromise,null))}));ba.all(i).then((()=>{const e=this.getFilterModel(),i=[];this.allColumnFilters.forEach(((t,n)=>{W(a?a[n]:null,e?e[n]:null)||i.push(t.column)})),i.length>0&&this.filterManager?.onFilterChanged({columns:i,source:t})}))}setModelOnFilterWrapper(e,t){return new ba((i=>{e.then((e=>{"function"!=typeof e.setModel&&(de("filter missing setModel method, which is needed for setFilterModel"),i()),(e.setModel(t)||ba.resolve()).then((()=>i()))}))}))}getFilterModel(){const e={};return this.allColumnFilters.forEach(((t,i)=>{const a=this.getModelFromFilterWrapper(t);N(a)&&(e[i]=a)})),e}getModelFromFilterWrapper(e){const{filter:t}=e;return t?"function"!=typeof t.getModel?(de("filter API missing getModel method, which is needed for getFilterModel"),null):t.getModel():this.getModelFromInitialState(e.column)}getModelFromInitialState(e){return this.initialFilterModel[e.getColId()]??null}isColumnFilterPresent(){return this.activeColumnFilters.length>0}isAggregateFilterPresent(){return!!this.activeAggregateFilters.length}disableColumnFilters(){return!!this.allColumnFilters.size&&(this.allColumnFilters.forEach((e=>this.disposeFilterWrapper(e,"advancedFilterEnabled"))),!0)}doAggregateFiltersPass(e,t){return this.doColumnFiltersPass(e,t,!0)}updateActiveFilters(){const e=!!this.gos.getGroupAggFiltering(),t=t=>{if(!t.isPrimary())return!0;const i=!this.columnModel.isPivotActive();return!(!t.isValueActive()||!i)&&(!!this.columnModel.isPivotMode()||e)},i=[],a=[];return this.forEachColumnFilter(((e,n)=>{const r=(e=>!!e&&(e.isFilterActive?e.isFilterActive():(de("Filter is missing isFilterActive() method"),!1)))(e);r&&(t(n.column)?i.push(e):a.push(e))})).then((()=>{this.activeAggregateFilters=i,this.activeColumnFilters=a}))}updateFilterFlagInColumns(e,t){return this.forEachColumnFilter(((i,a)=>a.column.setFilterActive(i.isFilterActive(),e,t)))}forEachColumnFilter(e){return ba.all(Array.from(this.allColumnFilters.values()).map((t=>t.filterPromise.then((i=>e(i,t))))))}doColumnFiltersPass(e,t,i){const{data:a,aggData:n}=e,r=i?this.activeAggregateFilters:this.activeColumnFilters,o=i?n:a;for(let i=0;i<r.length;i++){const a=r[i];if(null!=a&&a!==t){if("function"!=typeof a.doesFilterPass)throw new Error("Filter is missing method doesFilterPass");if(!a.doesFilterPass({node:e,data:o}))return!1}}return!0}callOnFilterChangedOutsideRenderCycle(e){const t=()=>this.filterManager?.onFilterChanged(e);this.rowRenderer.isRefreshInProgress()?setTimeout(t,0):t()}updateBeforeFilterChanged(e={}){const{filterInstance:t,additionalEventAttributes:i}=e;return this.updateDependentFilters(),this.updateActiveFilters().then((()=>this.updateFilterFlagInColumns("filterChanged",i).then((()=>{this.allColumnFilters.forEach((e=>{e.filterPromise&&e.filterPromise.then((e=>{e&&e!==t&&e.onAnyFilterChanged&&e.onAnyFilterChanged()}))})),this.processingFilterChange=!0}))))}updateAfterFilterChanged(){this.processingFilterChange=!1}isSuppressFlashingCellsBecauseFiltering(){return!(this.gos.get("allowShowChangeAfterFilter")??!1)&&this.processingFilterChange}onNewRowsLoaded(e){this.forEachColumnFilter((e=>{e.onNewRowsLoaded&&e.onNewRowsLoaded()})).then((()=>this.updateFilterFlagInColumns(e,{afterDataChange:!0}))).then((()=>this.updateActiveFilters()))}createValueGetter(e){return({node:t})=>this.valueService.getValue(e,t,!0)}createGetValue(e){return(t,i)=>{const a=i?this.columnModel.getCol(i):e;return a?this.valueService.getValue(a,t,!0):void 0}}isFilterActive(e){const{filter:t}=this.cachedFilter(e)??{};return t?t.isFilterActive():null!=this.getModelFromInitialState(e)}getOrCreateFilterWrapper(e){if(!e.isFilterAllowed())return null;let t=this.cachedFilter(e);return t||(t=this.createFilterWrapper(e),this.setColumnFilterWrapper(e,t)),t}cachedFilter(e){return this.allColumnFilters.get(e.getColId())}getDefaultFilter(e){let t;if(Ji.__isRegistered("@ag-grid-enterprise/set-filter",this.gridId))t="agSetColumnFilter";else{const i=this.dataTypeService?.getBaseDataType(e);t="number"===i?"agNumberColumnFilter":"date"===i||"dateString"===i?"agDateColumnFilter":"agTextColumnFilter"}return t}getDefaultFloatingFilter(e){let t;if(Ji.__isRegistered("@ag-grid-enterprise/set-filter",this.gridId))t="agSetColumnFloatingFilter";else{const i=this.dataTypeService?.getBaseDataType(e);t="number"===i?"agNumberColumnFloatingFilter":"date"===i||"dateString"===i?"agDateColumnFloatingFilter":"agTextColumnFloatingFilter"}return t}createFilterInstance(e,t){const i=this.getDefaultFilter(e),a=e.getColDef();let n;const r={...this.createFilterParams(e,a),filterModifiedCallback:()=>this.filterModifiedCallbackFactory(n,e)(),filterChangedCallback:t=>this.filterChangedCallbackFactory(n,e)(t),doesRowPassOtherFilter:e=>!this.filterManager||this.filterManager.doesRowPassOtherFilters(n,e)},o=this.userComponentFactory.getFilterDetails(a,r,i);return o?{filterPromise:()=>{const e=o.newAgStackInstance();return null!=e&&e.then((e=>{n=e,t&&(t.filter=e)})),e},compDetails:o}:{filterPromise:null,compDetails:null}}createFilterParams(e,t){return this.gos.addGridCommonParams({column:e,colDef:j(t),rowModel:this.rowModel,filterChangedCallback:()=>{},filterModifiedCallback:()=>{},valueGetter:this.createValueGetter(e),getValue:this.createGetValue(e),doesRowPassOtherFilter:()=>!0})}createFilterWrapper(e){const t={column:e,filterPromise:null,compiledElement:null,compDetails:null},{filterPromise:i,compDetails:a}=this.createFilterInstance(e,t);return t.filterPromise=i?.()??null,t.compDetails=a,t}onColumnsChanged(){const e=[];this.allColumnFilters.forEach(((t,i)=>{let a;a=t.column.isPrimary()?this.columnModel.getColDefCol(i):this.columnModel.getCol(i),a&&a===t.column||(e.push(t.column),this.disposeFilterWrapper(t,"columnChanged"),this.disposeColumnListener(i))})),e.length>0?this.filterManager?.onFilterChanged({columns:e,source:"api"}):this.updateDependentFilters()}updateDependentFilters(){const e=this.columnModel.getAutoCols();e?.forEach((e=>{"agGroupColumnFilter"===e.getColDef().filter&&this.getOrCreateFilterWrapper(e)}))}isFilterAllowed(e){if(!e.isFilterAllowed())return!1;const{filter:t}=this.allColumnFilters.get(e.getColId())??{};return!t||("function"!=typeof t?.isFilterAllowed||t.isFilterAllowed())}getFloatingFilterCompDetails(e,t){const i=t=>{const i=this.getOrCreateFilterWrapper(e)?.filterPromise;null!=i&&i.then((e=>{t(Ha(e))}))},a=e.getColDef(),n={...this.createFilterParams(e,a),filterChangedCallback:()=>i((t=>this.filterChangedCallbackFactory(t,e)()))},r=this.userComponentFactory.mergeParamsWithApplicationProvidedParams(a,Pa,n);let o=hr(this.frameworkOverrides,a,(()=>this.getDefaultFloatingFilter(e)));null==o&&(o="agReadOnlyFloatingFilter");const s={column:e,filterParams:r,currentParentModel:()=>this.getCurrentFloatingFilterParentModel(e),parentFilterInstance:i,showParentFilter:t,suppressFilterButton:!1};return this.userComponentFactory.getFloatingFilterCompDetails(a,s,o)}getCurrentFloatingFilterParentModel(e){return this.getModelFromFilterWrapper(this.cachedFilter(e)??{column:e})}destroyFilter(e,t="api"){const i=e.getColId(),a=this.allColumnFilters.get(i);this.disposeColumnListener(i),delete this.initialFilterModel[i],a&&(this.disposeFilterWrapper(a,t),this.filterManager?.onFilterChanged({columns:[e],source:"api"}))}disposeColumnListener(e){const t=this.allColumnListeners.get(e);t&&(this.allColumnListeners.delete(e),t())}disposeFilterWrapper(e,t){e.filterPromise.then((i=>{this.destroyBean(i),e.column.setFilterActive(!1,"filterDestroyed"),this.allColumnFilters.delete(e.column.getColId());const a={type:"filterDestroyed",source:t,column:e.column};this.eventService.dispatchEvent(a)}))}filterModifiedCallbackFactory(e,t){return()=>{const i={type:"filterModified",column:t,filterInstance:e};this.eventService.dispatchEvent(i)}}filterChangedCallbackFactory(e,t){return i=>{const a={filter:e,additionalEventAttributes:i,columns:[t],source:i?.source??"columnFilter"};this.callOnFilterChangedOutsideRenderCycle(a)}}checkDestroyFilter(e){const t=this.allColumnFilters.get(e);if(!t)return;const i=t.column,{compDetails:a}=i.isFilterAllowed()?this.createFilterInstance(i):{compDetails:null};if(this.areFilterCompsDifferent(t.compDetails,a))return void this.destroyFilter(i,"paramsUpdated");const n=i.getColDef().filterParams;t.filterPromise?t.filterPromise.then((e=>{!1===(!e?.refresh||e.refresh({...this.createFilterParams(i,i.getColDef()),filterModifiedCallback:this.filterModifiedCallbackFactory(e,i),filterChangedCallback:this.filterChangedCallbackFactory(e,i),doesRowPassOtherFilter:t=>!this.filterManager||this.filterManager.doesRowPassOtherFilters(e,t),...n}))&&this.destroyFilter(i,"paramsUpdated")})):this.destroyFilter(i,"paramsUpdated")}setColumnFilterWrapper(e,t){const i=e.getColId();this.allColumnFilters.set(i,t),this.allColumnListeners.set(i,this.addManagedListeners(e,{colDefChanged:()=>this.checkDestroyFilter(i)})[0])}areFilterCompsDifferent(e,t){if(!t||!e)return!0;const{componentClass:i}=e,{componentClass:a}=t;return!(i===a||i?.render&&a?.render&&i.render===a.render)}hasFloatingFilters(){return this.columnModel.getCols().some((e=>e.getColDef().floatingFilter))}getFilterInstance(e,t){t&&this.getFilterInstanceImpl(e).then((e=>{const i=Ha(e);t(i)}))}getColumnFilterInstance(e){return new Promise((t=>{this.getFilterInstanceImpl(e).then((e=>{t(Ha(e))}))}))}getFilterInstanceImpl(e){const t=this.columnModel.getColDefCol(e);if(!t)return ba.resolve(void 0);const i=this.getOrCreateFilterWrapper(t)?.filterPromise;return i??ba.resolve(null)}processFilterModelUpdateQueue(){this.filterModelUpdateQueue.forEach((({model:e,source:t})=>this.setFilterModel(e,t))),this.filterModelUpdateQueue=[],this.columnFilterModelUpdateQueue.forEach((({key:e,model:t,resolve:i})=>{this.setColumnFilterModel(e,t).then((()=>i()))})),this.columnFilterModelUpdateQueue=[]}getColumnFilterModel(e){const t=this.getFilterWrapper(e);return t?this.getModelFromFilterWrapper(t):null}setColumnFilterModel(e,t){if(this.dataTypeService?.isPendingInference()){let i=()=>{};const a=new Promise((e=>{i=e}));return this.columnFilterModelUpdateQueue.push({key:e,model:t,resolve:i}),a}const i=this.columnModel.getColDefCol(e),a=i?this.getOrCreateFilterWrapper(i):null;return a?(n=this.setModelOnFilterWrapper(a.filterPromise,t),new Promise((e=>{n.then((t=>e(t)))}))):Promise.resolve();var n}getFilterWrapper(e){const t=this.columnModel.getColDefCol(e);return t?this.cachedFilter(t)??null:null}destroy(){super.destroy(),this.allColumnFilters.forEach((e=>this.disposeFilterWrapper(e,"gridDestroyed"))),this.allColumnListeners.clear()}}],dependantModules:[vr]},Cr={version:dr,moduleName:"@ag-grid-community/column-filter-api",apiFunctions:{isColumnFilterPresent:function(e){return!!e.filterManager?.isColumnFilterPresent()||!!e.filterManager?.isAggregateFilterPresent()},getFilterInstance:function(e,t,i){return e.filterManager?.getFilterInstance(t,i)},getColumnFilterInstance:function(e,t){return e.filterManager?.getColumnFilterInstance(t)??Promise.resolve(void 0)},destroyFilter:function(e,t){const i=e.columnModel.getColDefCol(t);if(i)return e.filterManager?.destroyFilter(i,"api")},setFilterModel:function(e,t){e.frameworkOverrides.wrapIncoming((()=>e.filterManager?.setFilterModel(t)))},getFilterModel:function(e){return e.filterManager?.getFilterModel()??{}},getColumnFilterModel:function(e,t){return e.filterManager?.getColumnFilterModel(t)??null},setColumnFilterModel:function(e,t,i){return e.filterManager?.setColumnFilterModel(t,i)??Promise.resolve()},showColumnFilter:function(e,t){const i=e.columnModel.getCol(t);i?e.menuService.showFilterMenu({column:i,containerType:"columnFilter",positionBy:"auto"}):he(`column '${t}' not found`)}},dependantModules:[br,yr]},wr={version:dr,moduleName:"@ag-grid-community/floating-filter-core",controllers:[{name:"headerFilterCell",classImp:cr}],dependantModules:[br]},Sr={version:dr,moduleName:"@ag-grid-community/floating-filter",dependantModules:[wr,br]},xr={version:dr,moduleName:"@ag-grid-community/read-only-floating-filter",userComponents:[{name:"agReadOnlyFloatingFilter",classImp:class extends Hi{constructor(){super('\n <div class="ag-floating-filter-input" role="presentation">\n <ag-input-text-field data-ref="eFloatingFilterText"></ag-input-text-field>\n </div>',[An]),this.eFloatingFilterText=Vi}wireBeans(e){this.columnNameService=e.columnNameService}destroy(){super.destroy()}init(e){this.params=e;const t=this.columnNameService.getDisplayNameForColumn(e.column,"header",!0),i=this.localeService.getLocaleTextFunc();this.eFloatingFilterText.setDisabled(!0).setInputAriaLabel(`${t} ${i("ariaFilterInput","Filter Input")}`)}onParentModelChanged(e){null!=e?this.params.parentFilterInstance((t=>{if(t.getModelAsString){const i=t.getModelAsString(e);this.eFloatingFilterText.setValue(i)}})):this.eFloatingFilterText.setValue("")}onParamsUpdated(e){this.refresh(e)}refresh(e){this.init(e)}}}],dependantModules:[wr]},kr={version:dr,moduleName:"@ag-grid-community/simple-floating-filter",dependantModules:[{version:dr,moduleName:"@ag-grid-community/simple-filter",dependantModules:[br],userComponents:[{name:"agTextColumnFilter",classImp:Bn},{name:"agNumberColumnFilter",classImp:Nn},{name:"agDateColumnFilter",classImp:Jn},{name:"agDateInput",classImp:class extends Hi{constructor(){super('\n <div class="ag-filter-filter">\n <ag-input-text-field class="ag-date-filter" data-ref="eDateInput"></ag-input-text-field>\n </div>',[An]),this.eDateInput=Vi}destroy(){super.destroy()}init(e){this.params=e,this.setParams(e);const t=this.eDateInput.getInputElement();this.addManagedListeners(t,{mouseDown:()=>{this.eDateInput.isDisabled()||this.usingSafariDatePicker||t.focus()},input:e=>{e.target===this.gos.getActiveDomElement()&&(this.eDateInput.isDisabled()||this.params.onDateChanged())}})}setParams(e){const t=this.eDateInput.getInputElement(),i=this.shouldUseBrowserDatePicker(e);this.usingSafariDatePicker=i&&jt(),t.type=i?"date":"text";const{minValidYear:a,maxValidYear:n,minValidDate:r,maxValidDate:o}=e.filterParams||{};if(r&&a&&de("DateFilter should not have both minValidDate and minValidYear parameters set at the same time! minValidYear will be ignored."),o&&n&&de("DateFilter should not have both maxValidDate and maxValidYear parameters set at the same time! maxValidYear will be ignored."),r&&o){const[e,t]=[r,o].map((e=>e instanceof Date?e:Yn(e)));e&&t&&e.getTime()>t.getTime()&&de("DateFilter parameter minValidDate should always be lower than or equal to parameter maxValidDate.")}r?r instanceof Date?t.min=jn(r):t.min=r:a&&(t.min=`${a}-01-01`),o?o instanceof Date?t.max=jn(o):t.max=o:n&&(t.max=`${n}-12-31`)}onParamsUpdated(e){this.refresh(e)}refresh(e){this.params=e,this.setParams(e)}getDate(){return Yn(this.eDateInput.getValue())}setDate(e){this.eDateInput.setValue(Un(e,!1))}setInputPlaceholder(e){this.eDateInput.setInputPlaceholder(e)}setInputAriaLabel(e){this.eDateInput.setAriaLabel(e)}setDisabled(e){this.eDateInput.setDisabled(e)}afterGuiAttached(e){e&&e.suppressFocus||this.eDateInput.getInputElement().focus()}shouldUseBrowserDatePicker(e){return e.filterParams&&null!=e.filterParams.browserDatePicker?e.filterParams.browserDatePicker:$t()||Zt()||jt()&&Yt()>=14.1}}}]},wr],userComponents:[{name:"agTextColumnFloatingFilter",classImp:fr},{name:"agNumberColumnFloatingFilter",classImp:class extends pr{init(e){super.init(e),this.filterModelFormatter=new In(this.localeService,this.optionsFactory,e.filterParams?.numberFormatter)}onParamsUpdated(e){this.refresh(e)}refresh(e){Ln(e.filterParams)!==this.allowedCharPattern&&this.recreateFloatingFilterInputService(e),super.refresh(e),this.filterModelFormatter.updateParams({optionsFactory:this.optionsFactory})}getDefaultFilterOptions(){return Pn}getFilterModelFormatter(){return this.filterModelFormatter}createFloatingFilterInputService(e){return this.allowedCharPattern=Ln(e.filterParams),this.allowedCharPattern?this.createManagedBean(new gr({config:{allowedCharPattern:this.allowedCharPattern}})):this.createManagedBean(new mr)}}},{name:"agDateColumnFloatingFilter",classImp:class extends ur{constructor(){super('\n <div class="ag-floating-filter-input" role="presentation">\n <ag-input-text-field data-ref="eReadOnlyText"></ag-input-text-field>\n <div data-ref="eDateWrapper" style="display: flex;"></div>\n </div>',[An]),this.eReadOnlyText=Vi,this.eDateWrapper=Vi}wireBeans(e){super.wireBeans(e),this.context=e.context,this.userComponentFactory=e.userComponentFactory}getDefaultFilterOptions(){return Zn}init(e){super.init(e),this.params=e,this.filterParams=e.filterParams,this.createDateComponent(),this.filterModelFormatter=new Xn(this.filterParams,this.localeService,this.optionsFactory);const t=this.localeService.getLocaleTextFunc();this.eReadOnlyText.setDisabled(!0).setInputAriaLabel(t("ariaDateFilterInput","Date Filter Input"))}onParamsUpdated(e){this.refresh(e)}refresh(e){super.refresh(e),this.params=e,this.filterParams=e.filterParams,this.updateDateComponent(),this.filterModelFormatter.updateParams({optionsFactory:this.optionsFactory,dateFilterParams:this.filterParams}),this.updateCompOnModelChange(e.currentParentModel())}updateCompOnModelChange(e){const t=!this.isReadOnly()&&this.canWeEditAfterModelFromParentFilter(e);if(this.setEditable(t),t){if(e){const t=e;this.dateComp.setDate(Yn(t.dateFrom))}else this.dateComp.setDate(null);this.eReadOnlyText.setValue("")}else this.eReadOnlyText.setValue(this.filterModelFormatter.getModelAsString(e)),this.dateComp.setDate(null)}setEditable(e){oi(this.eDateWrapper,e),oi(this.eReadOnlyText.getGui(),!e)}onParentModelChanged(e,t){this.isEventFromFloatingFilter(t)||this.isEventFromDataChange(t)||(super.setLastTypeFromModel(e),this.updateCompOnModelChange(e))}onDateChanged(){const e=Un(this.dateComp.getDate());this.params.parentFilterInstance((t=>{if(t){const i=Yn(e);t.onFloatingFilterChanged(this.getLastType()||null,i)}}))}getDateComponentParams(){const e=pn(this.params.filterParams,this.getDefaultDebounceMs());return{onDateChanged:ve(this.onDateChanged.bind(this),e),filterParams:this.params.column.getColDef().filterParams}}createDateComponent(){this.dateComp=new $n(this.context,this.userComponentFactory,this.getDateComponentParams(),this.eDateWrapper,(e=>{e.setInputAriaLabel(this.getAriaLabel(this.params))})),this.addDestroyFunc((()=>this.dateComp.destroy()))}updateDateComponent(){const e=this.gos.addGridCommonParams(this.getDateComponentParams());this.dateComp.updateParams(e)}getFilterModelFormatter(){return this.filterModelFormatter}}}]},Mr={version:dr,moduleName:"@ag-grid-community/quick-filter-core",beans:[class extends F{constructor(){super(...arguments),this.beanName="quickFilterService",this.quickFilter=null,this.quickFilterParts=null}wireBeans(e){this.valueService=e.valueService,this.columnModel=e.columnModel,this.rowModel=e.rowModel,this.pivotResultColsService=e.pivotResultColsService}postConstruct(){const e=this.resetQuickFilterCache.bind(this);this.addManagedEventListeners({columnPivotModeChanged:e,newColumnsLoaded:e,columnRowGroupChanged:e,columnVisible:()=>{this.gos.get("includeHiddenColumnsInQuickFilter")||this.resetQuickFilterCache()}}),this.addManagedPropertyListener("quickFilterText",(e=>this.setQuickFilter(e.currentValue))),this.addManagedPropertyListeners(["includeHiddenColumnsInQuickFilter","applyQuickFilterBeforePivotOrAgg"],(()=>this.onQuickFilterColumnConfigChanged())),this.quickFilter=this.parseQuickFilter(this.gos.get("quickFilterText")),this.parser=this.gos.get("quickFilterParser"),this.matcher=this.gos.get("quickFilterMatcher"),this.setQuickFilterParts(),this.addManagedPropertyListeners(["quickFilterMatcher","quickFilterParser"],(()=>this.setQuickFilterParserAndMatcher()))}refreshQuickFilterCols(){const e=this.columnModel.isPivotMode(),t=this.columnModel.getAutoCols(),i=this.columnModel.getColDefCols();let a=(e&&!this.gos.get("applyQuickFilterBeforePivotOrAgg")?this.pivotResultColsService.getPivotResultCols()?.list:i)??[];t&&(a=a.concat(t)),this.colsForQuickFilter=this.gos.get("includeHiddenColumnsInQuickFilter")?a:a.filter((e=>e.isVisible()||e.isRowGroupActive()))}isQuickFilterPresent(){return null!==this.quickFilter}doesRowPassQuickFilter(e){const t=this.gos.get("cacheQuickFilter");return this.matcher?this.doesRowPassQuickFilterMatcher(t,e):this.quickFilterParts.every((i=>t?this.doesRowPassQuickFilterCache(e,i):this.doesRowPassQuickFilterNoCache(e,i)))}resetQuickFilterCache(){this.rowModel.forEachNode((e=>e.quickFilterAggregateText=null))}setQuickFilterParts(){const{quickFilter:e,parser:t}=this;this.quickFilterParts=e?t?t(e):e.split(" "):null}parseQuickFilter(e){return N(e)?this.gos.isRowModelType("clientSide")?e.toUpperCase():(de("Quick filtering only works with the Client-Side Row Model"),null):null}setQuickFilter(e){if(null!=e&&"string"!=typeof e)return void de("Grid option quickFilterText only supports string inputs, received: "+typeof e);const t=this.parseQuickFilter(e);this.quickFilter!==t&&(this.quickFilter=t,this.setQuickFilterParts(),this.dispatchLocalEvent({type:"quickFilterChanged"}))}setQuickFilterParserAndMatcher(){const e=this.gos.get("quickFilterParser"),t=this.gos.get("quickFilterMatcher"),i=e!==this.parser||t!==this.matcher;this.parser=e,this.matcher=t,i&&(this.setQuickFilterParts(),this.dispatchLocalEvent({type:"quickFilterChanged"}))}onQuickFilterColumnConfigChanged(){this.refreshQuickFilterCols(),this.resetQuickFilterCache(),this.isQuickFilterPresent()&&this.dispatchLocalEvent({type:"quickFilterChanged"})}doesRowPassQuickFilterNoCache(e,t){return this.colsForQuickFilter.some((i=>{const a=this.getQuickFilterTextForColumn(i,e);return N(a)&&a.indexOf(t)>=0}))}doesRowPassQuickFilterCache(e,t){return this.checkGenerateQuickFilterAggregateText(e),e.quickFilterAggregateText.indexOf(t)>=0}doesRowPassQuickFilterMatcher(e,t){let i;e?(this.checkGenerateQuickFilterAggregateText(t),i=t.quickFilterAggregateText):i=this.getQuickFilterAggregateText(t);const{quickFilterParts:a,matcher:n}=this;return n(a,i)}checkGenerateQuickFilterAggregateText(e){e.quickFilterAggregateText||(e.quickFilterAggregateText=this.getQuickFilterAggregateText(e))}getQuickFilterTextForColumn(e,t){let i=this.valueService.getValue(e,t,!0);const a=e.getColDef();if(a.getQuickFilterText){const n=this.gos.addGridCommonParams({value:i,node:t,data:t.data,column:e,colDef:a});i=a.getQuickFilterText(n)}return N(i)?i.toString().toUpperCase():null}getQuickFilterAggregateText(e){const t=[];return this.colsForQuickFilter.forEach((i=>{const a=this.getQuickFilterTextForColumn(i,e);N(a)&&t.push(a)})),t.join("\n")}}],dependantModules:[vr]},Rr={version:dr,moduleName:"@ag-grid-community/filter",dependantModules:[kr,xr,{version:dr,moduleName:"@ag-grid-community/quick-filter",dependantModules:[Mr,{version:dr,moduleName:"@ag-grid-community/quick-filter-api",apiFunctions:{isQuickFilterPresent:function(e){return!!e.filterManager?.isQuickFilterPresent()},getQuickFilter:function(e){return e.gos.get("quickFilterText")},resetQuickFilter:function(e){e.filterManager?.resetQuickFilterCache()}},dependantModules:[Mr]}]},Cr]},Dr=class extends Hi{constructor(e,t){super(e),this.ctrl=t}getCtrl(){return this.ctrl}},Ar=class extends Dr{constructor(e){super('<div class="ag-header-cell ag-floating-filter" role="gridcell">\n <div data-ref="eFloatingFilterBody" role="presentation"></div>\n <div class="ag-floating-filter-button ag-hidden" data-ref="eButtonWrapper" role="presentation">\n <button type="button" class="ag-button ag-floating-filter-button-button" data-ref="eButtonShowMainFilter" tabindex="-1"></button>\n </div>\n </div>',e),this.eFloatingFilterBody=Vi,this.eButtonWrapper=Vi,this.eButtonShowMainFilter=Vi}postConstruct(){const e=this.getGui(),t={addOrRemoveCssClass:(e,t)=>this.addOrRemoveCssClass(e,t),addOrRemoveBodyCssClass:(e,t)=>this.eFloatingFilterBody.classList.toggle(e,t),setButtonWrapperDisplayed:e=>oi(this.eButtonWrapper,e),setCompDetails:e=>this.setCompDetails(e),getFloatingFilterComp:()=>this.compPromise,setWidth:t=>e.style.width=t,setMenuIcon:e=>this.eButtonShowMainFilter.appendChild(e)};this.ctrl.setComp(t,e,this.eButtonShowMainFilter,this.eFloatingFilterBody)}setCompDetails(e){if(!e)return this.destroyFloatingFilterComp(),void(this.compPromise=null);this.compPromise=e.newAgStackInstance(),this.compPromise.then((e=>this.afterCompCreated(e)))}destroy(){this.destroyFloatingFilterComp(),super.destroy()}destroyFloatingFilterComp(){this.floatingFilterComp&&(this.eFloatingFilterBody.removeChild(this.floatingFilterComp.getGui()),this.floatingFilterComp=this.destroyBean(this.floatingFilterComp))}afterCompCreated(e){e&&(this.isAlive()?(this.destroyFloatingFilterComp(),this.floatingFilterComp=e,this.eFloatingFilterBody.appendChild(e.getGui()),e.afterGuiAttached&&e.afterGuiAttached()):this.destroyBean(e))}},Er=class extends Dr{constructor(e){super('<div class="ag-header-cell" role="columnheader">\n <div data-ref="eResize" class="ag-header-cell-resize" role="presentation"></div>\n <div data-ref="eHeaderCompWrapper" class="ag-header-cell-comp-wrapper" role="presentation"></div>\n </div>',e),this.eResize=Vi,this.eHeaderCompWrapper=Vi,this.headerCompVersion=0,this.column=e.getColumnGroupChild(),this.pinned=e.getPinned()}postConstruct(){const e=this.getGui();var t,i;t="col-id",null!=(i=this.column.getColId())&&""!=i?e.setAttribute(t,i):e.removeAttribute(t);const a={setWidth:t=>e.style.width=t,addOrRemoveCssClass:(e,t)=>this.addOrRemoveCssClass(e,t),setAriaSort:t=>t?Ht(e,t):Wt(e),setUserCompDetails:e=>this.setUserCompDetails(e),getUserCompInstance:()=>this.headerComp};this.ctrl.setComp(a,this.getGui(),this.eResize,this.eHeaderCompWrapper);const n=this.ctrl.getSelectAllGui();this.eResize.insertAdjacentElement("afterend",n)}destroy(){this.destroyHeaderComp(),super.destroy()}destroyHeaderComp(){this.headerComp&&(this.eHeaderCompWrapper.removeChild(this.headerCompGui),this.headerComp=this.destroyBean(this.headerComp),this.headerCompGui=void 0)}setUserCompDetails(e){this.headerCompVersion++;const t=this.headerCompVersion;e.newAgStackInstance().then((e=>this.afterCompCreated(t,e)))}afterCompCreated(e,t){e==this.headerCompVersion&&this.isAlive()?(this.destroyHeaderComp(),this.headerComp=t,this.headerCompGui=t.getGui(),this.eHeaderCompWrapper.appendChild(this.headerCompGui),this.ctrl.setDragSource(this.getGui())):this.destroyBean(t)}},Tr=class extends Dr{constructor(e){super('<div class="ag-header-group-cell" role="columnheader">\n <div data-ref="eResize" class="ag-header-cell-resize" role="presentation"></div>\n </div>',e),this.eResize=Vi}postConstruct(){const e=this.getGui();e.setAttribute("col-id",this.ctrl.getColId());const t={addOrRemoveCssClass:(e,t)=>this.addOrRemoveCssClass(e,t),setResizableDisplayed:e=>oi(this.eResize,e),setWidth:t=>e.style.width=t,setAriaExpanded:t=>{return i="aria-expanded",null!=(a=t)?e.setAttribute(i,a):e.removeAttribute(i);var i,a},setUserCompDetails:e=>this.setUserCompDetails(e),getUserCompInstance:()=>this.headerGroupComp};this.ctrl.setComp(t,e,this.eResize)}setUserCompDetails(e){e.newAgStackInstance().then((e=>this.afterHeaderCompCreated(e)))}afterHeaderCompCreated(e){const t=()=>this.destroyBean(e);if(!this.isAlive())return void t();const i=this.getGui(),a=e.getGui();i.appendChild(a),this.addDestroyFunc(t),this.headerGroupComp=e,this.ctrl.setDragSource(i)}},Pr=(e=>(e.COLUMN_GROUP="group",e.COLUMN="column",e.FLOATING_FILTER="filter",e))(Pr||{}),Fr=class extends Hi{constructor(e){super(),this.headerComps={},this.ctrl=e,this.setTemplate(`<div class="${this.ctrl.getHeaderRowClass()}" role="row"></div>`)}postConstruct(){zt(this.getGui(),this.ctrl.getAriaRowIndex());const e={setHeight:e=>this.getGui().style.height=e,setTop:e=>this.getGui().style.top=e,setHeaderCtrls:(e,t)=>this.setHeaderCtrls(e,t),setWidth:e=>this.getGui().style.width=e};this.ctrl.setComp(e)}destroy(){this.setHeaderCtrls([],!1),super.destroy()}setHeaderCtrls(e,t){if(!this.isAlive())return;const i=this.headerComps;if(this.headerComps={},e.forEach((e=>{const t=e.getInstanceId();let a=i[t];delete i[t],null==a&&(a=this.createHeaderComp(e),this.getGui().appendChild(a.getGui())),this.headerComps[t]=a})),K(i,((e,t)=>{this.getGui().removeChild(t.getGui()),this.destroyBean(t)})),t){const e=$(this.headerComps);e.sort(((e,t)=>e.getCtrl().getColumnGroupChild().getLeft()-t.getCtrl().getColumnGroupChild().getLeft()));const t=e.map((e=>e.getGui()));Mi(this.getGui(),t)}}createHeaderComp(e){let t;switch(this.ctrl.getType()){case"group":t=new Tr(e);break;case"filter":t=new Ar(e);break;default:t=new Er(e)}return this.createBean(t),t.setParentComponent(this),t}},Ir=(e=>(e[e.UP=0]="UP",e[e.DOWN=1]="DOWN",e[e.LEFT=2]="LEFT",e[e.RIGHT=3]="RIGHT",e))(Ir||{}),Lr=class extends F{constructor(){super(...arguments),this.beanName="headerNavigationService",this.currentHeaderRowWithoutSpan=-1}wireBeans(e){this.focusService=e.focusService,this.headerPositionUtils=e.headerPositionUtils,this.ctrlsService=e.ctrlsService,this.columnModel=e.columnModel,this.visibleColService=e.visibleColsService}postConstruct(){this.ctrlsService.whenReady((e=>{this.gridBodyCon=e.gridBodyCtrl}));const e=this.gos.getDocument();this.addManagedElementListeners(e,{mousedown:()=>this.setCurrentHeaderRowWithoutSpan(-1)})}getHeaderRowCount(){const e=this.ctrlsService.getHeaderRowContainerCtrl();return e?e.getRowCount():0}getHeaderPositionForColumn(e,t){let i;if("string"==typeof e?(i=this.columnModel.getCol(e),i||(i=this.visibleColService.getColumnGroup(e))):i=e,!i)return null;const a="filter"===h(this.ctrlsService.getHeaderRowContainerCtrl().getAllCtrls()).getType(),n=this.getHeaderRowCount()-1;let r=-1,o=i;for(;o;)r++,o=o.getParent();let s=r;return t&&a&&s===n-1&&s++,-1===s?null:{headerRowIndex:s,column:i}}navigateVertically(e,t,i){if(t||(t=this.focusService.getFocusedHeader()),!t)return!1;const{headerRowIndex:a}=t,n=t.column,r=this.getHeaderRowCount(),o=0===e;let{headerRowIndex:s,column:l,headerRowIndexWithoutSpan:c}=o?this.headerPositionUtils.getColumnVisibleParent(n,a):this.headerPositionUtils.getColumnVisibleChild(n,a),d=!1;return s<0&&(s=0,l=n,d=!0),s>=r?(s=-1,this.setCurrentHeaderRowWithoutSpan(-1)):void 0!==c&&(this.currentHeaderRowWithoutSpan=c),!(!d&&!l)&&this.focusService.focusHeaderPosition({headerPosition:{headerRowIndex:s,column:l},allowUserOverride:!0,event:i})}setCurrentHeaderRowWithoutSpan(e){this.currentHeaderRowWithoutSpan=e}navigateHorizontally(e,t=!1,i){const a=this.focusService.getFocusedHeader(),n=2===e,r=this.gos.get("enableRtl");let o,s;if(-1!==this.currentHeaderRowWithoutSpan?a.headerRowIndex=this.currentHeaderRowWithoutSpan:this.currentHeaderRowWithoutSpan=a.headerRowIndex,n!==r?(s="Before",o=this.headerPositionUtils.findHeader(a,s)):(s="After",o=this.headerPositionUtils.findHeader(a,s)),o||!t)return this.focusService.focusHeaderPosition({headerPosition:o,direction:s,fromTab:t,allowUserOverride:!0,event:i});if(t){const e=this.gos.getCallback("tabToNextHeader");if(e)return this.focusService.focusHeaderPositionFromUserFunc({userFunc:e,headerPosition:o,direction:s})}return this.focusNextHeaderRow(a,s,i)}focusNextHeaderRow(e,t,i){const a=e.headerRowIndex;let n,r=null;if("Before"===t?a>0&&(n=a-1,this.currentHeaderRowWithoutSpan-=1,r=this.headerPositionUtils.findColAtEdgeForHeaderRow(n,"end")):(n=a+1,this.currentHeaderRowWithoutSpan<this.getHeaderRowCount()?this.currentHeaderRowWithoutSpan+=1:this.setCurrentHeaderRowWithoutSpan(-1),r=this.headerPositionUtils.findColAtEdgeForHeaderRow(n,"start")),!r)return!1;const{column:o,headerRowIndex:s}=this.headerPositionUtils.getHeaderIndexToFocus(r.column,r?.headerRowIndex);return this.focusService.focusHeaderPosition({headerPosition:{column:o,headerRowIndex:s},direction:t,fromTab:!0,allowUserOverride:!0,event:i})}scrollToColumn(e,t="After"){if(e.getPinned())return;let i;if(je(e)){const a=e.getDisplayedLeafColumns();i="Before"===t?h(a):a[0]}else i=e;this.gridBodyCon.getScrollFeature().ensureColumnVisible(i)}},Nr=class extends F{wireBeans(e){this.headerNavigationService=e.headerNavigationService,this.focusService=e.focusService,this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.ctrlsService=e.ctrlsService,this.filterManager=e.filterManager,this.menuService=e.menuService}setComp(e,t,i){this.comp=e,this.eGui=t,this.createManagedBean(new un(i,{onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.handleKeyDown.bind(this),onFocusOut:this.onFocusOut.bind(this)})),this.addManagedEventListeners({columnPivotModeChanged:this.onPivotModeChanged.bind(this),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this)}),this.onPivotModeChanged(),this.setupHeaderHeight();const a=this.onHeaderContextMenu.bind(this);this.addManagedElementListeners(this.eGui,{contextmenu:a}),this.mockContextMenuForIPad(a),this.ctrlsService.register("gridHeaderCtrl",this)}setupHeaderHeight(){const e=this.setHeaderHeight.bind(this);e(),this.addManagedPropertyListener("headerHeight",e),this.addManagedPropertyListener("pivotHeaderHeight",e),this.addManagedPropertyListener("groupHeaderHeight",e),this.addManagedPropertyListener("pivotGroupHeaderHeight",e),this.addManagedPropertyListener("floatingFiltersHeight",e),this.addManagedEventListeners({displayedColumnsChanged:e,columnHeaderHeightChanged:e,gridStylesChanged:e,advancedFilterEnabledChanged:e})}getHeaderHeight(){return this.headerHeight}setHeaderHeight(){const{columnModel:e}=this;let t,i=0,a=e.getHeaderRowCount();const n=this.filterManager?.hasFloatingFilters();n&&(a++,i=1);const r=this.columnModel.getColumnGroupHeaderRowHeight(),o=this.columnModel.getColumnHeaderRowHeight(),s=a-(1+i);if(t=i*e.getFloatingFiltersHeight(),t+=s*r,t+=o,this.headerHeight===t)return;this.headerHeight=t;const l=`${t+1}px`;this.comp.setHeightAndMinHeight(l),this.eventService.dispatchEvent({type:"headerHeightChanged"})}onPivotModeChanged(){const e=this.columnModel.isPivotMode();this.comp.addOrRemoveCssClass("ag-pivot-on",e),this.comp.addOrRemoveCssClass("ag-pivot-off",!e)}onDisplayedColumnsChanged(){const e=this.visibleColsService.getAllCols().some((e=>e.isSpanHeaderHeight()));this.comp.addOrRemoveCssClass("ag-header-allow-overflow",e)}onTabKeyDown(e){const t=this.gos.get("enableRtl"),i=e.shiftKey!==t?2:3;(this.headerNavigationService.navigateHorizontally(i,!0,e)||this.focusService.focusNextGridCoreContainer(e.shiftKey))&&e.preventDefault()}handleKeyDown(e){let t=null;switch(e.key){case ia.LEFT:t=2;case ia.RIGHT:N(t)||(t=3),this.headerNavigationService.navigateHorizontally(t,!1,e);break;case ia.UP:t=0;case ia.DOWN:N(t)||(t=1),this.headerNavigationService.navigateVertically(t,null,e)&&e.preventDefault();break;default:return}}onFocusOut(e){const{relatedTarget:t}=e;!t&&this.eGui.contains(this.gos.getActiveDomElement())||this.eGui.contains(t)||this.focusService.clearFocusedHeader()}onHeaderContextMenu(e,t,i){if(!e&&!i||!this.menuService.isHeaderContextMenuEnabled())return;const{target:a}=e??t;a!==this.eGui&&a!==this.ctrlsService.getHeaderRowContainerCtrl().getViewport()||this.menuService.showHeaderContextMenu(void 0,e,i)}mockContextMenuForIPad(e){if(!Qt())return;const t=new Ki(this.eGui);this.addManagedListeners(t,{longTap:t=>{e(void 0,t.touchStart,t.touchEvent)}}),this.addDestroyFunc((()=>t.destroy()))}},Or=class extends F{constructor(e,t=!1){super(),this.callback=e,this.addSpacer=t}wireBeans(e){this.visibleColsService=e.visibleColsService,this.scrollVisibleService=e.scrollVisibleService}postConstruct(){const e=this.setWidth.bind(this);this.addManagedPropertyListener("domLayout",e),this.addManagedEventListeners({columnContainerWidthChanged:e,displayedColumnsChanged:e,leftPinnedWidthChanged:e}),this.addSpacer&&this.addManagedEventListeners({rightPinnedWidthChanged:e,scrollVisibilityChanged:e,scrollbarWidthChanged:e}),this.setWidth()}setWidth(){const e=this.gos.isDomLayout("print"),t=this.visibleColsService.getBodyContainerWidth(),i=this.visibleColsService.getColsLeftWidth(),a=this.visibleColsService.getDisplayedColumnsRightWidth();let n;if(e)n=t+i+a;else if(n=t,this.addSpacer){0===(this.gos.get("enableRtl")?i:a)&&this.scrollVisibleService.isVerticalScrollShowing()&&(n+=this.gos.getScrollbarWidth())}this.callback(n)}},zr=class extends F{constructor(e){super(),this.columnsToAggregate=[],this.columnsToGroup=[],this.columnsToPivot=[],this.pinned=e}wireBeans(e){this.funcColsService=e.funcColsService}onDragEnter(e){if(this.clearColumnsList(),this.gos.get("functionsReadOnly"))return;const t=e.dragItem.columns;t&&t.forEach((e=>{e.isPrimary()&&(e.isAnyFunctionActive()||(e.isAllowValue()?this.columnsToAggregate.push(e):e.isAllowRowGroup()?this.columnsToGroup.push(e):e.isAllowPivot()&&this.columnsToPivot.push(e)))}))}getIconName(){return this.columnsToAggregate.length+this.columnsToGroup.length+this.columnsToPivot.length>0?this.pinned?"pinned":"move":null}onDragLeave(e){this.clearColumnsList()}clearColumnsList(){this.columnsToAggregate.length=0,this.columnsToGroup.length=0,this.columnsToPivot.length=0}onDragging(e){}onDragStop(e){this.columnsToAggregate.length>0&&this.funcColsService.addValueColumns(this.columnsToAggregate,"toolPanelDragAndDrop"),this.columnsToGroup.length>0&&this.funcColsService.addRowGroupColumns(this.columnsToGroup,"toolPanelDragAndDrop"),this.columnsToPivot.length>0&&this.funcColsService.addPivotColumns(this.columnsToPivot,"toolPanelDragAndDrop")}};function Gr(e){const{isFromHeader:t,hDirection:i,xPosition:a,fromEnter:n,fakeEvent:r,pinned:o,gos:s,columnModel:l,columnMoveService:c,presentedColsService:d}=e,g=0===i,p=1===i;let{allMovingColumns:m}=e;if(t){const e=[];m.forEach((t=>{let i=null,a=t.getParent();for(;null!=a&&1===a.getDisplayedLeafColumns().length;)i=a,a=a.getParent();if(null!=i){(!!i.getColGroupDef()?.marryChildren?i.getProvidedColumnGroup().getLeafColumns():i.getLeafColumns()).forEach((t=>{e.includes(t)||e.push(t)}))}else e.includes(t)||e.push(t)})),m=e}const f=m.slice();l.sortColsLikeCols(f);const v=function(e){const{movingCols:t,draggingRight:i,xPosition:a,pinned:n,gos:r,columnModel:o,presentedColsService:s}=e,l=r.get("suppressMovableColumns")||t.some((e=>e.getColDef().suppressMovable));if(l)return[];const c=function(e,t){switch(t){case"left":return e.getLeftCols();case"right":return e.getRightCols();default:return e.getCenterCols()}}(s,n),d=o.getCols(),h=c.filter((e=>C(t,e))),u=c.filter((e=>!C(t,e))),g=d.filter((e=>!C(t,e)));let p,m=0,f=a;if(i){let e=0;h.forEach((t=>e+=t.getActualWidth())),f-=e}if(f>0){for(let e=0;e<u.length;e++){if(f-=u[e].getActualWidth(),f<0)break;m++}i&&m++}if(m>0){const e=u[m-1];p=g.indexOf(e)+1}else p=g.indexOf(u[0]),-1===p&&(p=0);const v=[p],y=(e,t)=>e-t;if(i){let e=p+1;const t=d.length-1;for(;e<=t;)v.push(e),e++;v.sort(y)}else{let e=p;const t=d.length-1;let i=d[e];for(;e<=t&&c.indexOf(i)<0;)e++,v.push(e),i=d[e];e=p-1;const a=0;for(;e>=a;)v.push(e),e--;v.sort(y).reverse()}return v}({movingCols:f,draggingRight:p,xPosition:a,pinned:o,gos:s,columnModel:l,presentedColsService:d}),y=function(e,t){const i=t.getCols(),a=(o=e.map((e=>i.indexOf(e))),o.sort(((e,t)=>e-t))),n=a[0],r=h(a);var o;return r-n!=a.length-1?null:n}(f,l);if(0===v.length)return;const b=v[0];let w=null!==y&&!n;if(t&&(w=null!==y),w&&!r){if(g&&b>=y)return;if(p&&b<=y)return}const S=d.getAllCols(),x=[];let k=null;for(let e=0;e<v.length;e++){const t=v[e],i=c.getProposedColumnOrder(f,t);if(!c.doesOrderPassRules(i))continue;const a=i.filter((e=>S.includes(e)));if(null===k)k=a;else if(!u(a,k))break;const n=Vr(i);x.push({move:t,fragCount:n})}return 0!==x.length?(x.sort(((e,t)=>e.fragCount-t.fragCount)),Br(m,x[0].move,"uiColumnMoved",!1,c)):void 0}function Br(e,t,i,a,n){return n.moveColumns(e,t,i,a),a?null:{columns:e,toIndex:t}}function Vr(e){function t(e){const t=[];let i=e.getOriginalParent();for(;null!=i;)t.push(i),i=i.getOriginalParent();return t}let i=0;for(let a=0;a<e.length-1;a++){let n=t(e[a]),r=t(e[a+1]);[n,r]=n.length>r.length?[n,r]:[r,n],n.forEach((e=>{-1===r.indexOf(e)&&i++}))}return i}function Hr(e,t,i,a,n){const r=n.getHeaderRowContainerCtrl(t).getViewport();if(i&&(e-=r.getBoundingClientRect().left),a.get("enableRtl")){e=r.clientWidth-e}return null==t&&(e+=n.get("center").getCenterViewportScrollLeft()),e}var Wr=class extends F{constructor(e){super(),this.needToMoveLeft=!1,this.needToMoveRight=!1,this.lastMovedInfo=null,this.pinned=e,this.isCenterContainer=!N(e)}wireBeans(e){this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.columnMoveService=e.columnMoveService,this.dragAndDropService=e.dragAndDropService,this.ctrlsService=e.ctrlsService}postConstruct(){this.ctrlsService.whenReady((e=>{this.gridBodyCon=e.gridBodyCtrl}))}getIconName(){return this.pinned?"pinned":"move"}onDragEnter(e){const t=e.dragItem.columns;if(0===e.dragSource.type)this.setColumnsVisible(t,!0,"uiColumnDragged");else{const i=e.dragItem.visibleState,a=(t||[]).filter((e=>i[e.getId()]));this.setColumnsVisible(a,!0,"uiColumnDragged")}this.setColumnsPinned(t,this.pinned,"uiColumnDragged"),this.onDragging(e,!0,!0)}onDragLeave(){this.ensureIntervalCleared(),this.lastMovedInfo=null}setColumnsVisible(e,t,i){if(e){const a=e.filter((e=>!e.getColDef().lockVisible));this.columnModel.setColsVisible(a,t,i)}}setColumnsPinned(e,t,i){if(e){const a=e.filter((e=>!e.getColDef().lockPinned));this.columnModel.setColsPinned(a,t,i)}}onDragStop(){this.onDragging(this.lastDraggingEvent,!1,!0,!0),this.ensureIntervalCleared(),this.lastMovedInfo=null}checkCenterForScrolling(e){if(this.isCenterContainer){const t=this.ctrlsService.get("center"),i=t.getCenterViewportScrollLeft(),a=i+t.getCenterWidth();this.gos.get("enableRtl")?(this.needToMoveRight=e<i+50,this.needToMoveLeft=e>a-50):(this.needToMoveLeft=e<i+50,this.needToMoveRight=e>a-50),this.needToMoveLeft||this.needToMoveRight?this.ensureIntervalStarted():this.ensureIntervalCleared()}}onDragging(e=this.lastDraggingEvent,t=!1,i=!1,a=!1){if(a){if(this.lastMovedInfo){const{columns:e,toIndex:t}=this.lastMovedInfo;Br(e,t,"uiColumnMoved",!0,this.columnMoveService)}return}if(this.lastDraggingEvent=e,O(e.hDirection))return;const n=Hr(e.x,this.pinned,!1,this.gos,this.ctrlsService);t||this.checkCenterForScrolling(n);const r=this.normaliseDirection(e.hDirection),o=e.dragSource.type,s=Gr({allMovingColumns:e.dragSource.getDragItem().columns?.filter((e=>!e.getColDef().lockPinned||e.getPinned()==this.pinned))||[],isFromHeader:1===o,hDirection:r,xPosition:n,pinned:this.pinned,fromEnter:t,fakeEvent:i,gos:this.gos,columnModel:this.columnModel,columnMoveService:this.columnMoveService,presentedColsService:this.visibleColsService});s&&(this.lastMovedInfo=s)}normaliseDirection(e){if(!this.gos.get("enableRtl"))return e;switch(e){case 0:return 1;case 1:return 0;default:he(`Unknown direction ${e}`)}}ensureIntervalStarted(){this.movingIntervalId||(this.intervalCount=0,this.failedMoveAttempts=0,this.movingIntervalId=window.setInterval(this.moveInterval.bind(this),100),this.dragAndDropService.setGhostIcon(this.needToMoveLeft?"left":"right",!0))}ensureIntervalCleared(){this.movingIntervalId&&(window.clearInterval(this.movingIntervalId),this.movingIntervalId=null,this.dragAndDropService.setGhostIcon("move"))}moveInterval(){let e;this.intervalCount++,e=10+5*this.intervalCount,e>100&&(e=100);let t=null;const i=this.gridBodyCon.getScrollFeature();if(this.needToMoveLeft?t=i.scrollHorizontally(-e):this.needToMoveRight&&(t=i.scrollHorizontally(e)),0!==t)this.onDragging(this.lastDraggingEvent),this.failedMoveAttempts=0;else{this.failedMoveAttempts++;const e=this.lastDraggingEvent.dragItem.columns.filter((e=>!e.getColDef().lockPinned));if(e.length>0&&(this.dragAndDropService.setGhostIcon("pinned"),this.failedMoveAttempts>7)){const t=this.needToMoveLeft?"left":"right";this.setColumnsPinned(e,t,"uiColumnDragged"),this.dragAndDropService.nudge()}}}},_r=class extends F{wireBeans(e){this.dragAndDropService=e.dragAndDropService,this.columnModel=e.columnModel,this.ctrlsService=e.ctrlsService}constructor(e,t){super(),this.pinned=e,this.eContainer=t}postConstruct(){this.ctrlsService.whenReady((e=>{switch(this.pinned){case"left":this.eSecondaryContainers=[[e.gridBodyCtrl.getBodyViewportElement(),e.left.getContainerElement()],[e.bottomLeft.getContainerElement()],[e.topLeft.getContainerElement()]];break;case"right":this.eSecondaryContainers=[[e.gridBodyCtrl.getBodyViewportElement(),e.right.getContainerElement()],[e.bottomRight.getContainerElement()],[e.topRight.getContainerElement()]];break;default:this.eSecondaryContainers=[[e.gridBodyCtrl.getBodyViewportElement(),e.center.getViewportElement()],[e.bottomCenter.getViewportElement()],[e.topCenter.getViewportElement()]]}})),this.moveColumnFeature=this.createManagedBean(new Wr(this.pinned)),this.bodyDropPivotTarget=this.createManagedBean(new zr(this.pinned)),this.dragAndDropService.addDropTarget(this)}isInterestedIn(e){return 1===e||0===e&&this.gos.get("allowDragFromColumnsToolPanel")}getSecondaryContainers(){return this.eSecondaryContainers}getContainer(){return this.eContainer}getIconName(){return this.currentDropListener.getIconName()}isDropColumnInPivotMode(e){return this.columnModel.isPivotMode()&&0===e.dragSource.type}onDragEnter(e){this.currentDropListener=this.isDropColumnInPivotMode(e)?this.bodyDropPivotTarget:this.moveColumnFeature,this.currentDropListener.onDragEnter(e)}onDragLeave(e){this.currentDropListener.onDragLeave(e)}onDragging(e){this.currentDropListener.onDragging(e)}onDragStop(e){this.currentDropListener.onDragStop(e)}},qr=class extends F{wireBeans(e){this.horizontalResizeService=e.horizontalResizeService,this.pinnedWidthService=e.pinnedWidthService,this.ctrlsService=e.ctrlsService,this.columnSizeService=e.columnSizeService,this.columnAutosizeService=e.columnAutosizeService}constructor(e,t,i,a,n){super(),this.pinned=e,this.column=t,this.eResize=i,this.comp=a,this.ctrl=n}postConstruct(){const e=[];let t,i;const a=()=>{if(oi(this.eResize,t),!t)return;const a=this.horizontalResizeService.addResizeBar({eResizeBar:this.eResize,onResizeStart:this.onResizeStart.bind(this),onResizing:this.onResizing.bind(this,!1),onResizeEnd:this.onResizing.bind(this,!0)});if(e.push(a),i){const t=this.gos.get("skipHeaderOnAutoSize"),i=()=>{this.columnAutosizeService.autoSizeColumn(this.column,"uiColumnResized",t)};this.eResize.addEventListener("dblclick",i);const a=new Ki(this.eResize);a.addEventListener("doubleTap",i),e.push((()=>{this.eResize.removeEventListener("dblclick",i),a.removeEventListener("doubleTap",i),a.destroy()}))}},n=()=>{e.forEach((e=>e())),e.length=0},r=()=>{const e=this.column.isResizable(),r=!this.gos.get("suppressAutoSize")&&!this.column.getColDef().suppressAutoSize;(e!==t||r!==i)&&(t=e,i=r,n(),a())};r(),this.addDestroyFunc(n),this.ctrl.addRefreshFunction(r)}onResizing(e,t){const{column:i,lastResizeAmount:a,resizeStartWidth:n}=this,r=this.normaliseResizeAmount(t),o=[{key:i,newWidth:n+r}];if(this.column.getPinned()){if(this.pinnedWidthService.getPinnedLeftWidth()+this.pinnedWidthService.getPinnedRightWidth()+(r-a)>ui(this.ctrlsService.getGridBodyCtrl().getBodyViewportElement())-50)return}this.lastResizeAmount=r,this.columnSizeService.setColumnWidths(o,this.resizeWithShiftKey,e,"uiColumnResized"),e&&this.toggleColumnResizing(!1)}onResizeStart(e){this.resizeStartWidth=this.column.getActualWidth(),this.lastResizeAmount=0,this.resizeWithShiftKey=e,this.toggleColumnResizing(!0)}toggleColumnResizing(e){this.comp.addOrRemoveCssClass("ag-column-resizing",e)}normaliseResizeAmount(e){let t=e;const i="left"!==this.pinned,a="right"===this.pinned;return this.gos.get("enableRtl")?i&&(t*=-1):a&&(t*=-1),t}},Ur=class extends F{constructor(e){super(),this.cbSelectAllVisible=!1,this.processingEventFromCheckbox=!1,this.column=e}wireBeans(e){this.rowModel=e.rowModel,this.selectionService=e.selectionService}onSpaceKeyDown(e){const t=this.cbSelectAll;t.isDisplayed()&&!t.getGui().contains(this.gos.getActiveDomElement())&&(e.preventDefault(),t.setValue(!t.getValue()))}getCheckboxGui(){return this.cbSelectAll.getGui()}setComp(e){this.headerCellCtrl=e,this.cbSelectAll=this.createManagedBean(new oa),this.cbSelectAll.addCssClass("ag-header-select-all"),St(this.cbSelectAll.getGui(),"presentation"),this.showOrHideSelectAll(),this.addManagedEventListeners({newColumnsLoaded:this.onNewColumnsLoaded.bind(this),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),selectionChanged:this.onSelectionChanged.bind(this),paginationChanged:this.onSelectionChanged.bind(this),modelUpdated:this.onModelChanged.bind(this)}),this.addManagedListeners(this.cbSelectAll,{fieldValueChanged:this.onCbSelectAll.bind(this)}),Tt(this.cbSelectAll.getGui(),!0),this.cbSelectAll.getInputElement().setAttribute("tabindex","-1"),this.refreshSelectAllLabel()}onNewColumnsLoaded(){this.showOrHideSelectAll()}onDisplayedColumnsChanged(){this.isAlive()&&this.showOrHideSelectAll()}showOrHideSelectAll(){this.cbSelectAllVisible=this.isCheckboxSelection(),this.cbSelectAll.setDisplayed(this.cbSelectAllVisible,{skipAriaHidden:!0}),this.cbSelectAllVisible&&(this.checkRightRowModelType("selectAllCheckbox"),this.checkSelectionType("selectAllCheckbox"),this.updateStateOfCheckbox()),this.refreshSelectAllLabel()}onModelChanged(){this.cbSelectAllVisible&&this.updateStateOfCheckbox()}onSelectionChanged(){this.cbSelectAllVisible&&this.updateStateOfCheckbox()}updateStateOfCheckbox(){if(this.processingEventFromCheckbox)return;this.processingEventFromCheckbox=!0;const e=this.selectionService.getSelectAllState(this.isFilteredOnly(),this.isCurrentPageOnly());this.cbSelectAll.setValue(e);const t=this.selectionService.hasNodesToSelect(this.isFilteredOnly(),this.isCurrentPageOnly());this.cbSelectAll.setDisabled(!t),this.refreshSelectAllLabel(),this.processingEventFromCheckbox=!1}refreshSelectAllLabel(){const e=this.localeService.getLocaleTextFunc(),t=this.cbSelectAll.getValue()?e("ariaChecked","checked"):e("ariaUnchecked","unchecked"),i=e("ariaRowSelectAll","Press Space to toggle all rows selection");this.cbSelectAllVisible?this.headerCellCtrl.setAriaDescriptionProperty("selectAll",`${i} (${t})`):this.headerCellCtrl.setAriaDescriptionProperty("selectAll",null),this.cbSelectAll.setInputAriaLabel(`${i} (${t})`),this.headerCellCtrl.announceAriaDescription()}checkSelectionType(e){return!("multiple"!==this.gos.get("rowSelection"))||(de(`${e} is only available if using 'multiple' rowSelection.`),!1)}checkRightRowModelType(e){const t=this.rowModel.getType();return!("clientSide"!==t&&"serverSide"!==t)||(de(`${e} is only available if using 'clientSide' or 'serverSide' rowModelType, you are using ${t}.`),!1)}onCbSelectAll(){if(this.processingEventFromCheckbox)return;if(!this.cbSelectAllVisible)return;const e=this.cbSelectAll.getValue(),t=this.isFilteredOnly(),i=this.isCurrentPageOnly();let a="uiSelectAll";i?a="uiSelectAllCurrentPage":t&&(a="uiSelectAllFiltered");const n={source:a,justFiltered:t,justCurrentPage:i};e?this.selectionService.selectAllRowNodes(n):this.selectionService.deselectAllRowNodes(n)}isCheckboxSelection(){let e=this.column.getColDef().headerCheckboxSelection;if("function"==typeof e){e=e(this.gos.addGridCommonParams({column:this.column,colDef:this.column.getColDef()}))}return!!e&&(this.checkRightRowModelType("headerCheckboxSelection")&&this.checkSelectionType("headerCheckboxSelection"))}isFilteredOnly(){return!!this.column.getColDef().headerCheckboxSelectionFilteredOnly}isCurrentPageOnly(){return!!this.column.getColDef().headerCheckboxSelectionCurrentPageOnly}},Kr=class extends sr{constructor(e,t,i){super(e,t,i),this.refreshFunctions=[],this.userHeaderClasses=new Set,this.ariaDescriptionProperties=new Map,this.column=e}setComp(e,t,i,a){this.comp=e,this.setGui(t),this.updateState(),this.setupWidth(),this.setupMovingCss(),this.setupMenuClass(),this.setupSortableClass(),this.setupWrapTextClass(),this.refreshSpanHeaderHeight(),this.setupAutoHeight(a),this.addColumnHoverListener(),this.setupFilterClass(),this.setupClassesFromColDef(),this.setupTooltip(),this.addActiveHeaderMouseListeners(),this.setupSelectAll(),this.setupUserComp(),this.refreshAria(),this.resizeFeature=this.createManagedBean(new qr(this.getPinned(),this.column,i,e,this)),this.createManagedBean(new lr([this.column],t)),this.createManagedBean(new er(this.column,t,this.beans)),this.createManagedBean(new un(t,{shouldStopEventPropagation:e=>this.shouldStopEventPropagation(e),onTabKeyDown:()=>null,handleKeyDown:this.handleKeyDown.bind(this),onFocusIn:this.onFocusIn.bind(this),onFocusOut:this.onFocusOut.bind(this)})),this.addResizeAndMoveKeyboardListeners(),this.addManagedPropertyListeners(["suppressMovableColumns","suppressMenuHide","suppressAggFuncInHeader"],this.refresh.bind(this)),this.addManagedListeners(this.column,{colDefChanged:this.refresh.bind(this)}),this.addManagedEventListeners({columnValueChanged:this.onColumnValueChanged.bind(this),columnRowGroupChanged:this.onColumnRowGroupChanged.bind(this),columnPivotChanged:this.onColumnPivotChanged.bind(this),headerHeightChanged:this.onHeaderHeightChanged.bind(this)})}resizeHeader(e,t){if(!this.column.isResizable())return;const i=this.column.getActualWidth(),a=this.column.getMinWidth(),n=this.column.getMaxWidth(),r=Math.min(Math.max(i+e,a),n);this.beans.columnSizeService.setColumnWidths([{key:this.column,newWidth:r}],t,!0,"uiColumnResized")}moveHeader(e){const{eGui:t,column:i,gos:a,ctrlsService:n}=this,r=this.getPinned(),o=t.getBoundingClientRect().left,s=i.getActualWidth();Gr({allMovingColumns:[i],isFromHeader:!0,hDirection:e,xPosition:Hr(0===e!==a.get("enableRtl")?o-20:o+s+20,r,!0,a,n),pinned:r,fromEnter:!1,fakeEvent:!1,gos:a,columnModel:this.beans.columnModel,columnMoveService:this.beans.columnMoveService,presentedColsService:this.beans.visibleColsService}),n.getGridBodyCtrl().getScrollFeature().ensureColumnVisible(i,"auto")}setupUserComp(){const e=this.lookupUserCompDetails();this.setCompDetails(e)}setCompDetails(e){this.userCompDetails=e,this.comp.setUserCompDetails(e)}lookupUserCompDetails(){const e=this.createParams(),t=this.column.getColDef();return this.userComponentFactory.getHeaderCompDetails(t,e)}createParams(){return this.gos.addGridCommonParams({column:this.column,displayName:this.displayName,enableSorting:this.column.isSortable(),enableMenu:this.menuEnabled,enableFilterButton:this.openFilterEnabled&&this.menuService.isHeaderFilterButtonEnabled(this.column),enableFilterIcon:!this.openFilterEnabled||this.menuService.isLegacyMenuEnabled(),showColumnMenu:e=>{this.menuService.showColumnMenu({column:this.column,buttonElement:e,positionBy:"button"})},showColumnMenuAfterMouseClick:e=>{this.menuService.showColumnMenu({column:this.column,mouseEvent:e,positionBy:"mouse"})},showFilter:e=>{this.menuService.showFilterMenu({column:this.column,buttonElement:e,containerType:"columnFilter",positionBy:"button"})},progressSort:e=>{this.beans.sortController.progressSort(this.column,!!e,"uiColumnSorted")},setSort:(e,t)=>{this.beans.sortController.setSortForColumn(this.column,e,!!t,"uiColumnSorted")},eGridHeader:this.getGui(),setTooltip:(e,t)=>{this.setupTooltip(e,t)}})}setupSelectAll(){this.selectAllFeature=this.createManagedBean(new Ur(this.column)),this.selectAllFeature.setComp(this)}getSelectAllGui(){return this.selectAllFeature.getCheckboxGui()}handleKeyDown(e){super.handleKeyDown(e),e.key===ia.SPACE&&this.selectAllFeature.onSpaceKeyDown(e),e.key===ia.ENTER&&this.onEnterKeyDown(e),e.key===ia.DOWN&&e.altKey&&this.showMenuOnKeyPress(e,!1)}onEnterKeyDown(e){if(e.ctrlKey||e.metaKey)this.showMenuOnKeyPress(e,!0);else if(this.sortable){const t=e.shiftKey;this.beans.sortController.progressSort(this.column,t,"uiColumnSorted")}}showMenuOnKeyPress(e,t){const i=this.comp.getUserCompInstance();i&&i instanceof $i&&i.onMenuKeyboardShortcut(t)&&e.preventDefault()}onFocusIn(e){if(!this.getGui().contains(e.relatedTarget)){const e=this.getRowIndex();this.focusService.setFocusedHeader(e,this.column),this.announceAriaDescription()}this.focusService.isKeyboardMode()&&this.setActiveHeader(!0)}onFocusOut(e){this.getGui().contains(e.relatedTarget)||this.setActiveHeader(!1)}setupTooltip(e,t){this.tooltipFeature&&(this.tooltipFeature=this.destroyBean(this.tooltipFeature));const i="whenTruncated"===this.gos.get("tooltipShowMode"),a=this.eGui,n=this.column.getColDef();t||!i||n.headerComponent||(t=()=>{const e=a.querySelector(".ag-header-cell-text");return!e||e.scrollWidth>e.clientWidth});const r={getColumn:()=>this.column,getColDef:()=>this.column.getColDef(),getGui:()=>a,getLocation:()=>"header",getTooltipValue:()=>{if(null!=e)return e;return this.column.getColDef().headerTooltip},shouldDisplayTooltip:t},o=this.createManagedBean(new Gi(r));this.refreshFunctions.push((()=>o.refreshToolTip()))}setupClassesFromColDef(){const e=()=>{const e=tr(this.column.getColDef(),this.gos,this.column,null),t=this.userHeaderClasses;this.userHeaderClasses=new Set(e),e.forEach((e=>{t.has(e)?t.delete(e):this.comp.addOrRemoveCssClass(e,!0)})),t.forEach((e=>this.comp.addOrRemoveCssClass(e,!1)))};this.refreshFunctions.push(e),e()}setDragSource(e){if(this.dragSourceElement=e,this.removeDragSource(),!e||!this.draggable)return;const{column:t,beans:i,displayName:a,dragAndDropService:n,gos:r}=this,{columnModel:o}=i;let s=!this.gos.get("suppressDragLeaveHidesColumns");const l=this.dragSource={type:1,eElement:e,getDefaultIconName:()=>s?"hide":"notAllowed",getDragItem:()=>this.createDragItem(t),dragItemName:a,onDragStarted:()=>{s=!r.get("suppressDragLeaveHidesColumns"),t.setMoving(!0,"uiColumnMoved")},onDragStopped:()=>t.setMoving(!1,"uiColumnMoved"),onGridEnter:e=>{if(s){const t=e?.columns?.filter((e=>!e.getColDef().lockVisible))||[];o.setColsVisible(t,!0,"uiColumnMoved")}},onGridExit:e=>{if(s){const t=e?.columns?.filter((e=>!e.getColDef().lockVisible))||[];o.setColsVisible(t,!1,"uiColumnMoved")}}};n.addDragSource(l,!0)}createDragItem(e){const t={};return t[e.getId()]=e.isVisible(),{columns:[e],visibleState:t}}updateState(){this.menuEnabled=this.menuService.isColumnMenuInHeaderEnabled(this.column),this.openFilterEnabled=this.menuService.isFilterMenuInHeaderEnabled(this.column),this.sortable=this.column.isSortable(),this.displayName=this.calculateDisplayName(),this.draggable=this.workOutDraggable()}addRefreshFunction(e){this.refreshFunctions.push(e)}refresh(){this.updateState(),this.refreshHeaderComp(),this.refreshAria(),this.refreshFunctions.forEach((e=>e()))}refreshHeaderComp(){const e=this.lookupUserCompDetails();!!(null!=this.comp.getUserCompInstance()&&this.userCompDetails.componentClass==e.componentClass)&&this.attemptHeaderCompRefresh(e.params)?this.setDragSource(this.dragSourceElement):this.setCompDetails(e)}attemptHeaderCompRefresh(e){const t=this.comp.getUserCompInstance();if(!t)return!1;if(!t.refresh)return!1;return t.refresh(e)}calculateDisplayName(){return this.beans.columnNameService.getDisplayNameForColumn(this.column,"header",!0)}checkDisplayName(){this.displayName!==this.calculateDisplayName()&&this.refresh()}workOutDraggable(){const e=this.column.getColDef();return!!(!this.gos.get("suppressMovableColumns")&&!e.suppressMovable&&!e.lockPosition)||!!e.enableRowGroup||!!e.enablePivot}onColumnRowGroupChanged(){this.checkDisplayName()}onColumnPivotChanged(){this.checkDisplayName()}onColumnValueChanged(){this.checkDisplayName()}setupWidth(){const e=()=>{const e=this.column.getActualWidth();this.comp.setWidth(`${e}px`)};this.addManagedListeners(this.column,{widthChanged:e}),e()}setupMovingCss(){const e=()=>{this.comp.addOrRemoveCssClass("ag-header-cell-moving",this.column.isMoving())};this.addManagedListeners(this.column,{movingChanged:e}),e()}setupMenuClass(){const e=()=>{this.comp.addOrRemoveCssClass("ag-column-menu-visible",this.column.isMenuVisible())};this.addManagedListeners(this.column,{menuVisibleChanged:e}),e()}setupSortableClass(){const e=()=>{this.comp.addOrRemoveCssClass("ag-header-cell-sortable",!!this.sortable)};e(),this.addRefreshFunction(e),this.addManagedEventListeners({sortChanged:this.refreshAriaSort.bind(this)})}setupFilterClass(){const e=()=>{const e=this.column.isFilterActive();this.comp.addOrRemoveCssClass("ag-header-cell-filtered",e),this.refreshAria()};this.addManagedListeners(this.column,{filterActiveChanged:e}),e()}setupWrapTextClass(){const e=()=>{const e=!!this.column.getColDef().wrapHeaderText;this.comp.addOrRemoveCssClass("ag-header-cell-wrap-text",e)};e(),this.addRefreshFunction(e)}onDisplayedColumnsChanged(){super.onDisplayedColumnsChanged(),this.isAlive()&&this.onHeaderHeightChanged()}onHeaderHeightChanged(){this.refreshSpanHeaderHeight()}refreshSpanHeaderHeight(){const{eGui:e,column:t,comp:i,beans:a}=this;if(!t.isSpanHeaderHeight())return e.style.removeProperty("top"),e.style.removeProperty("height"),i.addOrRemoveCssClass("ag-header-span-height",!1),void i.addOrRemoveCssClass("ag-header-span-total",!1);const{numberOfParents:n,isSpanningTotal:r}=this.column.getColumnGroupPaddingInfo();i.addOrRemoveCssClass("ag-header-span-height",n>0);const{columnModel:o}=a,s=o.getColumnHeaderRowHeight();if(0===n)return i.addOrRemoveCssClass("ag-header-span-total",!1),e.style.setProperty("top","0px"),void e.style.setProperty("height",`${s}px`);i.addOrRemoveCssClass("ag-header-span-total",r);const l=n*(o.isPivotMode()?o.getPivotGroupHeaderHeight():o.getGroupHeaderHeight());e.style.setProperty("top",-l+"px"),e.style.setProperty("height",`${s+l}px`)}setupAutoHeight(e){const{columnModel:t,resizeObserverService:i}=this.beans,a=i=>{if(!this.isAlive())return;const{paddingTop:n,paddingBottom:r,borderBottomWidth:o,borderTopWidth:s}=di(this.getGui()),l=n+r+o+s,c=e.offsetHeight+l;if(i<5){const t=this.beans.gos.getDocument();if(!t||!t.contains(e)||0==c)return void window.setTimeout((()=>a(i+1)),0)}t.setColHeaderHeight(this.column,c)};let n,r=!1;const o=()=>{const e=this.column.isAutoHeaderHeight();e&&!r&&s(),!e&&r&&l()},s=()=>{r=!0,a(0),this.comp.addOrRemoveCssClass("ag-header-cell-auto-height",!0),n=i.observeResize(e,(()=>a(0)))},l=()=>{r=!1,n&&n(),this.comp.addOrRemoveCssClass("ag-header-cell-auto-height",!1),n=void 0};o(),this.addDestroyFunc((()=>l())),this.addManagedListeners(this.column,{widthChanged:()=>r&&a(0)}),this.addManagedEventListeners({sortChanged:()=>{r&&window.setTimeout((()=>a(0)))}}),this.addRefreshFunction(o)}refreshAriaSort(){if(this.sortable){const e=this.localeService.getLocaleTextFunc(),t=this.beans.sortController.getDisplaySortForColumn(this.column)||null;this.comp.setAriaSort(function(e){let t;return t="asc"===e?"ascending":"desc"===e?"descending":"mixed"===e?"other":"none",t}(t)),this.setAriaDescriptionProperty("sort",e("ariaSortableColumn","Press ENTER to sort"))}else this.comp.setAriaSort(),this.setAriaDescriptionProperty("sort",null)}refreshAriaMenu(){if(this.menuEnabled){const e=this.localeService.getLocaleTextFunc();this.setAriaDescriptionProperty("menu",e("ariaMenuColumn","Press ALT DOWN to open column menu"))}else this.setAriaDescriptionProperty("menu",null)}refreshAriaFilterButton(){if(this.openFilterEnabled&&!this.menuService.isLegacyMenuEnabled()){const e=this.localeService.getLocaleTextFunc();this.setAriaDescriptionProperty("filterButton",e("ariaFilterColumn","Press CTRL ENTER to open filter"))}else this.setAriaDescriptionProperty("filterButton",null)}refreshAriaFiltered(){const e=this.localeService.getLocaleTextFunc();this.column.isFilterActive()?this.setAriaDescriptionProperty("filter",e("ariaColumnFiltered","Column Filtered")):this.setAriaDescriptionProperty("filter",null)}setAriaDescriptionProperty(e,t){null!=t?this.ariaDescriptionProperties.set(e,t):this.ariaDescriptionProperties.delete(e)}announceAriaDescription(){if(!this.eGui.contains(this.beans.gos.getActiveDomElement()))return;const e=Array.from(this.ariaDescriptionProperties.keys()).sort(((e,t)=>"filter"===e?-1:t.charCodeAt(0)-e.charCodeAt(0))).map((e=>this.ariaDescriptionProperties.get(e))).join(". ");this.beans.ariaAnnouncementService.announceValue(e)}refreshAria(){this.refreshAriaSort(),this.refreshAriaMenu(),this.refreshAriaFilterButton(),this.refreshAriaFiltered()}addColumnHoverListener(){const e=()=>{if(!this.gos.get("columnHoverHighlight"))return;const e=this.beans.columnHoverService.isHovered(this.column);this.comp.addOrRemoveCssClass("ag-column-hover",e)};this.addManagedEventListeners({columnHoverChanged:e}),e()}getColId(){return this.column.getColId()}addActiveHeaderMouseListeners(){const e=e=>this.handleMouseOverChange("mouseenter"===e.type);this.addManagedListeners(this.getGui(),{mouseenter:e,mouseleave:e,click:()=>this.dispatchColumnMouseEvent("columnHeaderClicked",this.column),contextmenu:e=>this.handleContextMenuMouseEvent(e,void 0,this.column)})}handleMouseOverChange(e){this.setActiveHeader(e);const t={type:e?"columnHeaderMouseOver":"columnHeaderMouseLeave",column:this.column};this.eventService.dispatchEvent(t)}setActiveHeader(e){this.comp.addOrRemoveCssClass("ag-header-active",e)}getAnchorElementForMenu(e){const t=this.comp.getUserCompInstance();return t instanceof $i?t.getAnchorElementForMenu(e):this.getGui()}destroy(){super.destroy(),this.refreshFunctions=null,this.selectAllFeature=null,this.dragSourceElement=null,this.userCompDetails=null,this.userHeaderClasses=null,this.ariaDescriptionProperties=null}},jr=class extends F{wireBeans(e){this.horizontalResizeService=e.horizontalResizeService,this.autoWidthCalculator=e.autoWidthCalculator,this.visibleColsService=e.visibleColsService,this.columnSizeService=e.columnSizeService,this.columnAutosizeService=e.columnAutosizeService}constructor(e,t,i,a){super(),this.eResize=t,this.comp=e,this.pinned=i,this.columnGroup=a}postConstruct(){if(!this.columnGroup.isResizable())return void this.comp.setResizableDisplayed(!1);const e=this.horizontalResizeService.addResizeBar({eResizeBar:this.eResize,onResizeStart:this.onResizeStart.bind(this),onResizing:this.onResizing.bind(this,!1),onResizeEnd:this.onResizing.bind(this,!0)});if(this.addDestroyFunc(e),!this.gos.get("suppressAutoSize")){const e=this.gos.get("skipHeaderOnAutoSize");this.eResize.addEventListener("dblclick",(()=>{const t=[];this.columnGroup.getDisplayedLeafColumns().forEach((e=>{e.getColDef().suppressAutoSize||t.push(e.getColId())})),t.length>0&&this.columnAutosizeService.autoSizeCols({colKeys:t,skipHeader:e,stopAtGroup:this.columnGroup,source:"uiColumnResized"}),this.resizeLeafColumnsToFit("uiColumnResized")}))}}onResizeStart(e){const t=this.getInitialValues(e);this.storeLocalValues(t),this.toggleColumnResizing(!0)}onResizing(e,t,i="uiColumnResized"){const a=this.normaliseDragChange(t),n=this.resizeStartWidth+a;this.resizeColumnsFromLocalValues(n,i,e)}getInitialValues(e){const t=this.getColumnsToResize(),i=this.getInitialSizeOfColumns(t),a={columnsToResize:t,resizeStartWidth:i,resizeRatios:this.getSizeRatiosOfColumns(t,i)};let n=null;if(e&&(n=this.visibleColsService.getGroupAtDirection(this.columnGroup,"After")),n){const e=n.getDisplayedLeafColumns(),t=a.groupAfterColumns=e.filter((e=>e.isResizable())),i=a.groupAfterStartWidth=this.getInitialSizeOfColumns(t);a.groupAfterRatios=this.getSizeRatiosOfColumns(t,i)}else a.groupAfterColumns=void 0,a.groupAfterStartWidth=void 0,a.groupAfterRatios=void 0;return a}storeLocalValues(e){const{columnsToResize:t,resizeStartWidth:i,resizeRatios:a,groupAfterColumns:n,groupAfterStartWidth:r,groupAfterRatios:o}=e;this.resizeCols=t,this.resizeStartWidth=i,this.resizeRatios=a,this.resizeTakeFromCols=n,this.resizeTakeFromStartWidth=r,this.resizeTakeFromRatios=o}clearLocalValues(){this.resizeCols=void 0,this.resizeRatios=void 0,this.resizeTakeFromCols=void 0,this.resizeTakeFromRatios=void 0}resizeLeafColumnsToFit(e){const t=this.autoWidthCalculator.getPreferredWidthForColumnGroup(this.columnGroup),i=this.getInitialValues();t>i.resizeStartWidth&&this.resizeColumns(i,t,e,!0)}resizeColumnsFromLocalValues(e,t,i=!0){if(!this.resizeCols||!this.resizeRatios)return;const a={columnsToResize:this.resizeCols,resizeStartWidth:this.resizeStartWidth,resizeRatios:this.resizeRatios,groupAfterColumns:this.resizeTakeFromCols??void 0,groupAfterStartWidth:this.resizeTakeFromStartWidth??void 0,groupAfterRatios:this.resizeTakeFromRatios??void 0};this.resizeColumns(a,e,t,i)}resizeColumns(e,t,i,a=!0){const{columnsToResize:n,resizeStartWidth:r,resizeRatios:o,groupAfterColumns:s,groupAfterStartWidth:l,groupAfterRatios:c}=e,d=[];if(d.push({columns:n,ratios:o,width:t}),s){const e=t-r;d.push({columns:s,ratios:c,width:l-e})}this.columnSizeService.resizeColumnSets({resizeSets:d,finished:a,source:i}),a&&this.toggleColumnResizing(!1)}toggleColumnResizing(e){this.comp.addOrRemoveCssClass("ag-column-resizing",e)}getColumnsToResize(){return this.columnGroup.getDisplayedLeafColumns().filter((e=>e.isResizable()))}getInitialSizeOfColumns(e){return e.reduce(((e,t)=>e+t.getActualWidth()),0)}getSizeRatiosOfColumns(e,t){return e.map((e=>e.getActualWidth()/t))}normaliseDragChange(e){let t=e;return this.gos.get("enableRtl")?"left"!==this.pinned&&(t*=-1):"right"===this.pinned&&(t*=-1),t}destroy(){super.destroy(),this.clearLocalValues()}},Yr=class extends F{constructor(e,t){super(),this.removeChildListenersFuncs=[],this.columnGroup=t,this.comp=e}postConstruct(){this.addListenersToChildrenColumns(),this.addManagedListeners(this.columnGroup,{displayedChildrenChanged:this.onDisplayedChildrenChanged.bind(this)}),this.onWidthChanged(),this.addDestroyFunc(this.removeListenersOnChildrenColumns.bind(this))}addListenersToChildrenColumns(){this.removeListenersOnChildrenColumns();const e=this.onWidthChanged.bind(this);this.columnGroup.getLeafColumns().forEach((t=>{t.addEventListener("widthChanged",e),t.addEventListener("visibleChanged",e),this.removeChildListenersFuncs.push((()=>{t.removeEventListener("widthChanged",e),t.removeEventListener("visibleChanged",e)}))}))}removeListenersOnChildrenColumns(){this.removeChildListenersFuncs.forEach((e=>e())),this.removeChildListenersFuncs=[]}onDisplayedChildrenChanged(){this.addListenersToChildrenColumns(),this.onWidthChanged()}onWidthChanged(){const e=this.columnGroup.getActualWidth();this.comp.setWidth(`${e}px`),this.comp.addOrRemoveCssClass("ag-hidden",0===e)}},$r=class extends sr{constructor(e,t,i){super(e,t,i),this.onSuppressColMoveChange=()=>{if(!this.isAlive()||this.isSuppressMoving())this.removeDragSource();else if(!this.dragSource){const e=this.getGui();this.setDragSource(e)}},this.column=e}setComp(e,t,i){this.comp=e,this.setGui(t),this.displayName=this.beans.columnNameService.getDisplayNameForColumnGroup(this.column,"header"),this.addClasses(),this.setupMovingCss(),this.setupExpandable(),this.setupTooltip(),this.addDestroyFunc((()=>{this.tooltipFeature&&(this.tooltipFeature=this.destroyBean(this.tooltipFeature))})),this.setupUserComp(),this.addHeaderMouseListeners();const a=this.getParentRowCtrl().getPinned(),n=this.column.getProvidedColumnGroup().getLeafColumns();this.createManagedBean(new lr(n,t)),this.createManagedBean(new er(this.column,t,this.beans)),this.createManagedBean(new Yr(e,this.column)),this.resizeFeature=this.createManagedBean(new jr(e,i,a,this.column)),this.createManagedBean(new un(t,{shouldStopEventPropagation:this.shouldStopEventPropagation.bind(this),onTabKeyDown:()=>{},handleKeyDown:this.handleKeyDown.bind(this),onFocusIn:this.onFocusIn.bind(this)})),this.addManagedPropertyListener("suppressMovableColumns",this.onSuppressColMoveChange),this.addResizeAndMoveKeyboardListeners()}resizeHeader(e,t){if(!this.resizeFeature)return;const i=this.resizeFeature.getInitialValues(t);this.resizeFeature.resizeColumns(i,i.resizeStartWidth+e,"uiColumnResized",!0)}moveHeader(e){const{beans:t,eGui:i,column:a,gos:n,ctrlsService:r}=this,o=n.get("enableRtl"),s=0===e,l=this.getPinned(),c=i.getBoundingClientRect(),d=c.left,u=c.width,g=Hr(s!==o?d-20:d+u+20,l,!0,n,r),p=a.getGroupId(),m=this.focusService.getFocusedHeader();Gr({allMovingColumns:this.column.getLeafColumns(),isFromHeader:!0,hDirection:e,xPosition:g,pinned:l,fromEnter:!1,fakeEvent:!1,gos:n,columnModel:t.columnModel,columnMoveService:t.columnMoveService,presentedColsService:t.visibleColsService});const f=a.getDisplayedLeafColumns(),v=s?f[0]:h(f);this.ctrlsService.getGridBodyCtrl().getScrollFeature().ensureColumnVisible(v,"auto"),!this.isAlive()&&m&&this.restoreFocus(p,a,m)}restoreFocus(e,t,i){const a=t.getLeafColumns();if(!a.length)return;const n=a[0].getParent();if(!n)return;const r=this.findGroupWidthId(n,e);r&&this.focusService.focusHeaderPosition({headerPosition:{...i,column:r}})}findGroupWidthId(e,t){for(;e;){if(e.getGroupId()===t)return e;e=e.getParent()}return null}resizeLeafColumnsToFit(e){this.resizeFeature&&this.resizeFeature.resizeLeafColumnsToFit(e)}setupUserComp(){const e=this.gos.addGridCommonParams({displayName:this.displayName,columnGroup:this.column,setExpanded:e=>{this.beans.columnModel.setColumnGroupOpened(this.column.getProvidedColumnGroup(),e,"gridInitializing")},setTooltip:(e,t)=>{this.setupTooltip(e,t)}}),t=this.userComponentFactory.getHeaderGroupCompDetails(e);this.comp.setUserCompDetails(t)}addHeaderMouseListeners(){const e=e=>this.handleMouseOverChange("mouseenter"===e.type);this.addManagedListeners(this.getGui(),{mouseenter:e,mouseleave:e,click:()=>this.dispatchColumnMouseEvent("columnHeaderClicked",this.column.getProvidedColumnGroup()),contextmenu:e=>this.handleContextMenuMouseEvent(e,void 0,this.column.getProvidedColumnGroup())})}handleMouseOverChange(e){const t={type:e?"columnHeaderMouseOver":"columnHeaderMouseLeave",column:this.column.getProvidedColumnGroup()};this.eventService.dispatchEvent(t)}setupTooltip(e,t){this.tooltipFeature&&(this.tooltipFeature=this.destroyBean(this.tooltipFeature));const i=this.column.getColGroupDef(),a="whenTruncated"===this.gos.get("tooltipShowMode"),n=this.eGui;t||!a||i?.headerGroupComponent||(t=()=>{const e=n.querySelector(".ag-header-group-text");return!e||e.scrollWidth>e.clientWidth});const r={getColumn:()=>this.column,getGui:()=>n,getLocation:()=>"headerGroup",getTooltipValue:()=>e??(i&&i.headerTooltip),shouldDisplayTooltip:t};i&&(r.getColDef=()=>i),this.createManagedBean(new Gi(r))}setupExpandable(){const e=this.column.getProvidedColumnGroup();this.refreshExpanded();const t=this.refreshExpanded.bind(this);this.addManagedListeners(e,{expandedChanged:t,expandableChanged:t})}refreshExpanded(){const{column:e}=this;this.expandable=e.isExpandable();const t=e.isExpanded();this.expandable?this.comp.setAriaExpanded(t?"true":"false"):this.comp.setAriaExpanded(void 0)}getColId(){return this.column.getUniqueId()}addClasses(){const e=tr(this.column.getColGroupDef(),this.gos,null,this.column);if(this.column.isPadding()){e.push("ag-header-group-cell-no-group");this.column.getLeafColumns().every((e=>e.isSpanHeaderHeight()))&&e.push("ag-header-span-height")}else e.push("ag-header-group-cell-with-group");e.forEach((e=>this.comp.addOrRemoveCssClass(e,!0)))}setupMovingCss(){const e=this.column.getProvidedColumnGroup().getLeafColumns(),t=()=>this.comp.addOrRemoveCssClass("ag-header-cell-moving",this.column.isMoving());e.forEach((e=>{this.addManagedListeners(e,{movingChanged:t})})),t()}onFocusIn(e){if(!this.eGui.contains(e.relatedTarget)){const e=this.getRowIndex();this.beans.focusService.setFocusedHeader(e,this.column)}}handleKeyDown(e){super.handleKeyDown(e);const t=this.getWrapperHasFocus();if(this.expandable&&t&&e.key===ia.ENTER){const e=this.column,t=!e.isExpanded();this.beans.columnModel.setColumnGroupOpened(e.getProvidedColumnGroup(),t,"uiColumnExpanded")}}setDragSource(e){if(!this.isAlive()||this.isSuppressMoving())return;if(this.removeDragSource(),!e)return;const{beans:t,column:i,displayName:a,gos:n,dragAndDropService:r}=this,{columnModel:o}=t,s=i.getProvidedColumnGroup().getLeafColumns();let l=!n.get("suppressDragLeaveHidesColumns");const c=this.dragSource={type:1,eElement:e,getDefaultIconName:()=>l?"hide":"notAllowed",dragItemName:a,getDragItem:()=>this.getDragItemForGroup(i),onDragStarted:()=>{l=!n.get("suppressDragLeaveHidesColumns"),s.forEach((e=>e.setMoving(!0,"uiColumnDragged")))},onDragStopped:()=>s.forEach((e=>e.setMoving(!1,"uiColumnDragged"))),onGridEnter:e=>{if(l){const t=e?.columns?.filter((e=>!e.getColDef().lockVisible))||[];o.setColsVisible(t,!0,"uiColumnMoved")}},onGridExit:e=>{if(l){const t=e?.columns?.filter((e=>!e.getColDef().lockVisible))||[];o.setColsVisible(t,!1,"uiColumnMoved")}}};r.addDragSource(c,!0)}getDragItemForGroup(e){const t=e.getProvidedColumnGroup().getLeafColumns(),i={};t.forEach((e=>i[e.getId()]=e.isVisible()));const a=[];return this.beans.visibleColsService.getAllCols().forEach((e=>{t.indexOf(e)>=0&&(a.push(e),f(t,e))})),t.forEach((e=>a.push(e))),{columns:a,visibleState:i}}isSuppressMoving(){let e=!1;this.column.getLeafColumns().forEach((t=>{(t.getColDef().suppressMovable||t.getColDef().lockPosition)&&(e=!0)}));return e||this.gos.get("suppressMovableColumns")}},Zr=0,Xr=class extends F{constructor(e,t,i){super(),this.instanceId=Zr++,this.rowIndex=e,this.pinned=t,this.type=i;const a="group"==i?"ag-header-row-column-group":"filter"==i?"ag-header-row-column-filter":"ag-header-row-column";this.headerRowClass=`ag-header-row ${a}`}wireBeans(e){this.beans=e}postConstruct(){this.isPrintLayout=this.gos.isDomLayout("print"),this.isEnsureDomOrder=this.gos.get("ensureDomOrder")}getInstanceId(){return this.instanceId}areCellsRendered(){return!!this.comp&&this.getHeaderCellCtrls().every((e=>null!=e.getGui()))}setComp(e,t=!0){this.comp=e,t&&(this.onRowHeightChanged(),this.onVirtualColumnsChanged()),this.setWidth(),this.addEventListeners()}getHeaderRowClass(){return this.headerRowClass}getAriaRowIndex(){return this.rowIndex+1}addEventListeners(){const e=this.onRowHeightChanged.bind(this);this.addManagedEventListeners({columnResized:this.onColumnResized.bind(this),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),virtualColumnsChanged:e=>this.onVirtualColumnsChanged(e.afterScroll),columnHeaderHeightChanged:e,gridStylesChanged:e,advancedFilterEnabledChanged:e}),this.addManagedPropertyListener("domLayout",this.onDisplayedColumnsChanged.bind(this)),this.addManagedPropertyListener("ensureDomOrder",(e=>this.isEnsureDomOrder=e.currentValue)),this.addManagedPropertyListeners(["headerHeight","pivotHeaderHeight","groupHeaderHeight","pivotGroupHeaderHeight","floatingFiltersHeight"],e)}getHeaderCellCtrl(e){if(this.headerCellCtrls)return q(this.headerCellCtrls).find((t=>t.getColumnGroupChild()===e))}onDisplayedColumnsChanged(){this.isPrintLayout=this.gos.isDomLayout("print"),this.onVirtualColumnsChanged(),this.setWidth(),this.onRowHeightChanged()}getType(){return this.type}onColumnResized(){this.setWidth()}setWidth(){const e=this.getWidthForRow();this.comp.setWidth(`${e}px`)}getWidthForRow(){const{visibleColsService:e}=this.beans;if(this.isPrintLayout){return null!=this.pinned?0:e.getContainerWidth("right")+e.getContainerWidth("left")+e.getContainerWidth(null)}return e.getContainerWidth(this.pinned)}onRowHeightChanged(){const{topOffset:e,rowHeight:t}=this.getTopAndHeight();this.comp.setTop(e+"px"),this.comp.setHeight(t+"px")}getTopAndHeight(){const{columnModel:e,filterManager:t}=this.beans;let i=e.getHeaderRowCount();const a=[];let n=0;t?.hasFloatingFilters()&&(i++,n=1);const r=e.getColumnGroupHeaderRowHeight(),o=e.getColumnHeaderRowHeight(),s=i-(1+n);for(let e=0;e<s;e++)a.push(r);a.push(o);for(let t=0;t<n;t++)a.push(e.getFloatingFiltersHeight());let l=0;for(let e=0;e<this.rowIndex;e++)l+=a[e];return{topOffset:l,rowHeight:a[this.rowIndex]}}getPinned(){return this.pinned}getRowIndex(){return this.rowIndex}onVirtualColumnsChanged(e=!1){const t=this.getHeaderCtrls(),i=this.isEnsureDomOrder||this.isPrintLayout;this.comp.setHeaderCtrls(t,i,e)}getHeaderCtrls(){const e=this.headerCellCtrls;this.headerCellCtrls=new Map;const t=this.getColumnsInViewport();for(const i of t)this.recycleAndCreateHeaderCtrls(i,e);const i=e=>{const{focusService:t,visibleColsService:i}=this.beans;if(!t.isHeaderWrapperFocused(e))return!1;return i.isVisible(e.getColumnGroupChild())};if(e)for(const[t,a]of e){i(a)?this.headerCellCtrls.set(t,a):this.destroyBean(a)}return this.getHeaderCellCtrls()}getHeaderCellCtrls(){return Array.from(this.headerCellCtrls?.values()??[])}recycleAndCreateHeaderCtrls(e,t){if(!this.headerCellCtrls)return;if(e.isEmptyGroup())return;const i=e.getUniqueId();let a;t&&(a=t.get(i),t.delete(i));if(a&&a.getColumnGroupChild()!=e&&(this.destroyBean(a),a=void 0),null==a)switch(this.type){case"filter":a=this.createBean(this.beans.ctrlsFactory.getInstance("headerFilterCell",e,this.beans,this));break;case"group":a=this.createBean(new $r(e,this.beans,this));break;default:a=this.createBean(new Kr(e,this.beans,this))}this.headerCellCtrls.set(i,a)}getColumnsInViewport(){return this.isPrintLayout?this.getColumnsInViewportPrintLayout():this.getColumnsInViewportNormalLayout()}getColumnsInViewportPrintLayout(){if(null!=this.pinned)return[];let e=[];const t=this.getActualDepth(),{columnViewportService:i}=this.beans;return["left",null,"right"].forEach((a=>{const n=i.getHeadersToRender(a,t);e=e.concat(n)})),e}getActualDepth(){return"filter"==this.type?this.rowIndex-1:this.rowIndex}getColumnsInViewportNormalLayout(){return this.beans.columnViewportService.getHeadersToRender(this.pinned,this.getActualDepth())}findHeaderCellCtrl(e){if(!this.headerCellCtrls)return;return this.getHeaderCellCtrls().find((t=>t.getColumnGroupChild()==e))}focusHeader(e,t){const i=this.findHeaderCellCtrl(e);if(!i)return!1;return i.focus(t)}destroy(){this.headerCellCtrls&&this.headerCellCtrls.forEach((e=>{this.destroyBean(e)})),this.headerCellCtrls=void 0,super.destroy()}},Qr=class extends F{constructor(e){super(),this.hidden=!1,this.includeFloatingFilter=!1,this.groupsRowCtrls=[],this.pinned=e}wireBeans(e){this.ctrlsService=e.ctrlsService,this.scrollVisibleService=e.scrollVisibleService,this.pinnedWidthService=e.pinnedWidthService,this.columnModel=e.columnModel,this.focusService=e.focusService,this.filterManager=e.filterManager}setComp(e,t){this.comp=e,this.eViewport=t,this.setupCenterWidth(),this.setupPinnedWidth(),this.setupDragAndDrop(this.eViewport);const i=this.onDisplayedColumnsChanged.bind(this);this.addManagedEventListeners({gridColumnsChanged:this.onGridColumnsChanged.bind(this),displayedColumnsChanged:i,advancedFilterEnabledChanged:i}),this.ctrlsService.registerHeaderContainer(this,this.pinned),this.columnModel.isReady()&&this.refresh()}getAllCtrls(){const e=[...this.groupsRowCtrls];return this.columnsRowCtrl&&e.push(this.columnsRowCtrl),this.filtersRowCtrl&&e.push(this.filtersRowCtrl),e}refresh(e=!1){const t=new Ni,i=this.focusService.getFocusHeaderToUseAfterRefresh();(()=>{const e=this.columnModel.getHeaderRowCount()-1;this.groupsRowCtrls=this.destroyBeans(this.groupsRowCtrls);for(let i=0;i<e;i++){const e=this.createBean(new Xr(t.next(),this.pinned,"group"));this.groupsRowCtrls.push(e)}})(),(()=>{const i=t.next(),a=!(this.hidden||null!=this.columnsRowCtrl&&e&&this.columnsRowCtrl.getRowIndex()===i);(a||this.hidden)&&(this.columnsRowCtrl=this.destroyBean(this.columnsRowCtrl)),a&&(this.columnsRowCtrl=this.createBean(new Xr(i,this.pinned,"column")))})(),(()=>{this.includeFloatingFilter=!!this.filterManager?.hasFloatingFilters()&&!this.hidden;const i=()=>{this.filtersRowCtrl=this.destroyBean(this.filtersRowCtrl)};if(!this.includeFloatingFilter)return void i();const a=t.next();if(this.filtersRowCtrl){const t=this.filtersRowCtrl.getRowIndex()!==a;e&&!t||i()}this.filtersRowCtrl||(this.filtersRowCtrl=this.createBean(new Xr(a,this.pinned,"filter")))})();const a=this.getAllCtrls();this.comp.setCtrls(a),this.restoreFocusOnHeader(i)}getHeaderCtrlForColumn(e){if(ie(e)){if(!this.columnsRowCtrl)return;return this.columnsRowCtrl.getHeaderCellCtrl(e)}if(0!==this.groupsRowCtrls.length)for(let t=0;t<this.groupsRowCtrls.length;t++){const i=this.groupsRowCtrls[t].getHeaderCellCtrl(e);if(i)return i}}getHtmlElementForColumnHeader(e){const t=this.getHeaderCtrlForColumn(e);return t?t.getGui():null}getRowType(e){const t=this.getAllCtrls()[e];return t?t.getType():void 0}focusHeader(e,t,i){const a=this.getAllCtrls()[e];return!!a&&a.focusHeader(t,i)}getViewport(){return this.eViewport}getRowCount(){return this.groupsRowCtrls.length+(this.columnsRowCtrl?1:0)+(this.filtersRowCtrl?1:0)}setHorizontalScroll(e){this.comp.setViewportScrollLeft(e)}destroy(){this.filtersRowCtrl&&(this.filtersRowCtrl=this.destroyBean(this.filtersRowCtrl)),this.columnsRowCtrl&&(this.columnsRowCtrl=this.destroyBean(this.columnsRowCtrl)),this.groupsRowCtrls&&this.groupsRowCtrls.length&&(this.groupsRowCtrls=this.destroyBeans(this.groupsRowCtrls)),super.destroy()}setupDragAndDrop(e){const t=new _r(this.pinned,e);this.createManagedBean(t)}restoreFocusOnHeader(e){if(!e)return;const{column:t}=e;t.getPinned()==this.pinned&&this.focusService.focusHeaderPosition({headerPosition:e})}onGridColumnsChanged(){this.refresh(!0)}onDisplayedColumnsChanged(){const e=this.filterManager?.hasFloatingFilters()&&!this.hidden;this.includeFloatingFilter!==e&&this.refresh(!0)}setupCenterWidth(){null==this.pinned&&this.createManagedBean(new Or((e=>this.comp.setCenterWidth(`${e}px`)),!0))}setupPinnedWidth(){if(null==this.pinned)return;const e="left"===this.pinned,t="right"===this.pinned;this.hidden=!0;const i=()=>{const i=e?this.pinnedWidthService.getPinnedLeftWidth():this.pinnedWidthService.getPinnedRightWidth();if(null==i)return;const a=0==i,n=this.hidden!==a,r=this.gos.get("enableRtl"),o=this.gos.getScrollbarWidth(),s=this.scrollVisibleService.isVerticalScrollShowing()&&(r&&e||!r&&t)?i+o:i;this.comp.setPinnedContainerWidth(`${s}px`),this.comp.setDisplayed(!a),n&&(this.hidden=a,this.refresh())};this.addManagedEventListeners({leftPinnedWidthChanged:i,rightPinnedWidthChanged:i,scrollVisibilityChanged:i,scrollbarWidthChanged:i})}},Jr=class extends Hi{constructor(e){super(),this.eCenterContainer=Vi,this.headerRowComps={},this.rowCompsList=[],this.pinned=e}postConstruct(){this.selectAndSetTemplate();const e={setDisplayed:e=>this.setDisplayed(e),setCtrls:e=>this.setCtrls(e),setCenterWidth:e=>this.eCenterContainer.style.width=e,setViewportScrollLeft:e=>this.getGui().scrollLeft=e,setPinnedContainerWidth:e=>{const t=this.getGui();t.style.width=e,t.style.maxWidth=e,t.style.minWidth=e}};this.createManagedBean(new Qr(this.pinned)).setComp(e,this.getGui())}selectAndSetTemplate(){const e="left"==this.pinned,t="right"==this.pinned,i=e?'<div class="ag-pinned-left-header" role="rowgroup"></div>':t?'<div class="ag-pinned-right-header" role="rowgroup"></div>':'<div class="ag-header-viewport" role="presentation">\n <div class="ag-header-container" data-ref="eCenterContainer" role="rowgroup"></div>\n </div>';this.setTemplate(i),this.eRowContainer=this.eCenterContainer!==Vi?this.eCenterContainer:this.getGui()}destroy(){this.setCtrls([]),super.destroy()}destroyRowComp(e){this.destroyBean(e),this.eRowContainer.removeChild(e.getGui())}setCtrls(e){const t=this.headerRowComps;let i;this.headerRowComps={},this.rowCompsList=[];const a=e=>{const t=e.getGui();t.parentElement!=this.eRowContainer&&this.eRowContainer.appendChild(t),i&&ki(this.eRowContainer,t,i),i=t};e.forEach((e=>{const i=e.getInstanceId(),n=t[i];delete t[i];const r=n||this.createBean(new Fr(e));this.headerRowComps[i]=r,this.rowCompsList.push(r),a(r)})),$(t).forEach((e=>this.destroyRowComp(e)))}},eo=class extends Hi{constructor(){super('<div class="ag-header" role="presentation"/>')}postConstruct(){const e={addOrRemoveCssClass:(e,t)=>this.addOrRemoveCssClass(e,t),setHeightAndMinHeight:e=>{this.getGui().style.height=e,this.getGui().style.minHeight=e}};this.createManagedBean(new Nr).setComp(e,this.getGui(),this.getFocusableElement());const t=e=>{this.createManagedBean(e),this.appendChild(e)};t(new Jr("left")),t(new Jr(null)),t(new Jr("right"))}},to={selector:"AG-HEADER-ROOT",component:eo},io=(e=>(e.AUTO_HEIGHT="ag-layout-auto-height",e.NORMAL="ag-layout-normal",e.PRINT="ag-layout-print",e))(io||{}),ao=class extends F{constructor(e){super(),this.view=e}postConstruct(){this.addManagedPropertyListener("domLayout",this.updateLayoutClasses.bind(this)),this.updateLayoutClasses()}updateLayoutClasses(){const e=this.getDomLayout(),t={autoHeight:"autoHeight"===e,normal:"normal"===e,print:"print"===e},i=t.autoHeight?"ag-layout-auto-height":t.print?"ag-layout-print":"ag-layout-normal";this.view.updateLayoutClasses(i,t)}getDomLayout(){const e=this.gos.get("domLayout")??"normal";return-1===["normal","print","autoHeight"].indexOf(e)?(de(`${e} is not valid for DOM Layout, valid values are 'normal', 'autoHeight', 'print'.`),"normal"):e}},no=class extends Hi{constructor(){super('\n <div class="ag-overlay" role="presentation">\n <div class="ag-overlay-panel" role="presentation">\n <div class="ag-overlay-wrapper" data-ref="eOverlayWrapper" role="presentation"></div>\n </div>\n </div>'),this.eOverlayWrapper=Vi,this.activePromise=null,this.activeOverlay=null,this.updateListenerDestroyFunc=null,this.activeOverlayWrapperCssClass=null}wireBeans(e){this.overlayService=e.overlayService}updateLayoutClasses(e,t){const i=this.eOverlayWrapper.classList;i.toggle("ag-layout-auto-height",t.autoHeight),i.toggle("ag-layout-normal",t.normal),i.toggle("ag-layout-print",t.print)}postConstruct(){this.createManagedBean(new ao(this)),this.setDisplayed(!1,{skipAriaHidden:!0}),this.overlayService.registerOverlayWrapperComp(this)}setWrapperTypeClass(e){const t=this.eOverlayWrapper.classList;this.activeOverlayWrapperCssClass&&t.toggle(this.activeOverlayWrapperCssClass,!1),this.activeOverlayWrapperCssClass=e,t.toggle(e,!0)}showOverlay(e,t,i){this.setWrapperTypeClass(t),this.destroyActiveOverlay(),this.activePromise=e,e?.then((t=>{if(this.activePromise===e){if(this.activePromise=null,t&&this.activeOverlay!=t&&(this.eOverlayWrapper.appendChild(t.getGui()),this.activeOverlay=t,i)){const e=t;this.updateListenerDestroyFunc=this.addManagedPropertyListener(i,(({currentValue:t})=>{e.refresh?.(this.gos.addGridCommonParams({...t??{}}))}))}}else this.activeOverlay!==t&&(this.destroyBean(t),t=null)})),this.setDisplayed(!0,{skipAriaHidden:!0})}destroyActiveOverlay(){this.activePromise=null;const e=this.activeOverlay;if(!e)return;this.activeOverlay=null;const t=this.updateListenerDestroyFunc;t&&(t(),this.updateListenerDestroyFunc=null),this.destroyBean(e),bi(this.eOverlayWrapper)}hideOverlay(){this.destroyActiveOverlay(),this.setDisplayed(!1,{skipAriaHidden:!0})}destroy(){this.destroyActiveOverlay(),super.destroy()}},ro={selector:"AG-OVERLAY-WRAPPER",component:no},oo=class extends Hi{constructor(e,t){super(),this.direction=t,this.eViewport=Vi,this.eContainer=Vi,this.hideTimeout=null,this.setTemplate(e)}wireBeans(e){this.animationFrameService=e.animationFrameService}postConstruct(){this.addManagedEventListeners({scrollVisibilityChanged:this.onScrollVisibilityChanged.bind(this)}),this.onScrollVisibilityChanged(),this.addOrRemoveCssClass("ag-apple-scrollbar",Xt()||Qt())}initialiseInvisibleScrollbar(){void 0===this.invisibleScrollbar&&(this.invisibleScrollbar=ii(),this.invisibleScrollbar&&(this.hideAndShowInvisibleScrollAsNeeded(),this.addActiveListenerToggles()))}addActiveListenerToggles(){const e=this.getGui(),t=()=>this.addOrRemoveCssClass("ag-scrollbar-active",!0),i=()=>this.addOrRemoveCssClass("ag-scrollbar-active",!1);this.addManagedListeners(e,{mouseenter:t,mousedown:t,touchstart:t,mouseleave:i,touchend:i})}onScrollVisibilityChanged(){void 0===this.invisibleScrollbar&&this.initialiseInvisibleScrollbar(),this.animationFrameService.requestAnimationFrame((()=>this.setScrollVisible()))}hideAndShowInvisibleScrollAsNeeded(){this.addManagedEventListeners({bodyScroll:e=>{e.direction===this.direction&&(null!==this.hideTimeout&&(window.clearTimeout(this.hideTimeout),this.hideTimeout=null),this.addOrRemoveCssClass("ag-scrollbar-scrolling",!0))},bodyScrollEnd:()=>{this.hideTimeout=window.setTimeout((()=>{this.addOrRemoveCssClass("ag-scrollbar-scrolling",!1),this.hideTimeout=null}),400)}})}attemptSettingScrollPosition(e){const t=this.getViewport();be((()=>Si(t)),(()=>this.setScrollPosition(e)),100)}getViewport(){return this.eViewport}getContainer(){return this.eContainer}onScrollCallback(e){this.addManagedElementListeners(this.getViewport(),{scroll:e})}},so=class extends oo{constructor(){super('<div class="ag-body-horizontal-scroll" aria-hidden="true">\n <div class="ag-horizontal-left-spacer" data-ref="eLeftSpacer"></div>\n <div class="ag-body-horizontal-scroll-viewport" data-ref="eViewport">\n <div class="ag-body-horizontal-scroll-container" data-ref="eContainer"></div>\n </div>\n <div class="ag-horizontal-right-spacer" data-ref="eRightSpacer"></div>\n </div>',"horizontal"),this.eLeftSpacer=Vi,this.eRightSpacer=Vi}wireBeans(e){super.wireBeans(e),this.visibleColsService=e.visibleColsService,this.pinnedRowModel=e.pinnedRowModel,this.ctrlsService=e.ctrlsService,this.scrollVisibleService=e.scrollVisibleService}postConstruct(){super.postConstruct();const e=this.setFakeHScrollSpacerWidths.bind(this);this.addManagedEventListeners({displayedColumnsChanged:e,displayedColumnsWidthChanged:e,pinnedRowDataChanged:this.onPinnedRowDataChanged.bind(this)}),this.addManagedPropertyListener("domLayout",e),this.ctrlsService.register("fakeHScrollComp",this),this.createManagedBean(new Or((e=>this.eContainer.style.width=`${e}px`))),this.addManagedPropertyListeners(["suppressHorizontalScroll"],this.onScrollVisibilityChanged.bind(this))}initialiseInvisibleScrollbar(){void 0===this.invisibleScrollbar&&(this.enableRtl=this.gos.get("enableRtl"),super.initialiseInvisibleScrollbar(),this.invisibleScrollbar&&this.refreshCompBottom())}onPinnedRowDataChanged(){this.refreshCompBottom()}refreshCompBottom(){if(!this.invisibleScrollbar)return;const e=this.pinnedRowModel.getPinnedBottomTotalHeight();this.getGui().style.bottom=`${e}px`}onScrollVisibilityChanged(){super.onScrollVisibilityChanged(),this.setFakeHScrollSpacerWidths()}setFakeHScrollSpacerWidths(){const e=this.scrollVisibleService.isVerticalScrollShowing();let t=this.visibleColsService.getDisplayedColumnsRightWidth();const i=!this.enableRtl&&e,a=this.gos.getScrollbarWidth();i&&(t+=a),Ai(this.eRightSpacer,t),this.eRightSpacer.classList.toggle("ag-scroller-corner",t<=a);let n=this.visibleColsService.getColsLeftWidth();this.enableRtl&&e&&(n+=a),Ai(this.eLeftSpacer,n),this.eLeftSpacer.classList.toggle("ag-scroller-corner",n<=a)}setScrollVisible(){const e=this.scrollVisibleService.isHorizontalScrollShowing(),t=this.invisibleScrollbar,i=this.gos.get("suppressHorizontalScroll"),a=e&&this.gos.getScrollbarWidth()||0,n=i?0:0===a&&t?16:a;this.addOrRemoveCssClass("ag-scrollbar-invisible",t),Ei(this.getGui(),n),Ei(this.eViewport,n),Ei(this.eContainer,n),this.setDisplayed(e,{skipAriaHidden:!0})}getScrollPosition(){return vi(this.getViewport(),this.enableRtl)}setScrollPosition(e){Si(this.getViewport())||this.attemptSettingScrollPosition(e),yi(this.getViewport(),e,this.enableRtl)}},lo={selector:"AG-FAKE-HORIZONTAL-SCROLL",component:so},co=class extends F{wireBeans(e){this.maxDivHeightScaler=e.rowContainerHeightService}constructor(e,t){super(),this.eContainer=e,this.eViewport=t}postConstruct(){this.addManagedEventListeners({rowContainerHeightChanged:this.onHeightChanged.bind(this)})}onHeightChanged(){const e=this.maxDivHeightScaler.getUiContainerHeight(),t=null!=e?`${e}px`:"";this.eContainer.style.height=t,this.eViewport&&(this.eViewport.style.height=t)}},ho=class extends oo{wireBeans(e){super.wireBeans(e),this.ctrlsService=e.ctrlsService,this.scrollVisibleService=e.scrollVisibleService}constructor(){super('<div class="ag-body-vertical-scroll" aria-hidden="true">\n <div class="ag-body-vertical-scroll-viewport" data-ref="eViewport">\n <div class="ag-body-vertical-scroll-container" data-ref="eContainer"></div>\n </div>\n </div>',"vertical")}postConstruct(){super.postConstruct(),this.createManagedBean(new co(this.eContainer)),this.ctrlsService.register("fakeVScrollComp",this),this.addManagedEventListeners({rowContainerHeightChanged:this.onRowContainerHeightChanged.bind(this)})}setScrollVisible(){const e=this.scrollVisibleService.isVerticalScrollShowing(),t=this.invisibleScrollbar,i=e&&this.gos.getScrollbarWidth()||0,a=0===i&&t?16:i;this.addOrRemoveCssClass("ag-scrollbar-invisible",t),Ai(this.getGui(),a),Ai(this.eViewport,a),Ai(this.eContainer,a),this.setDisplayed(e,{skipAriaHidden:!0})}onRowContainerHeightChanged(){const{ctrlsService:e}=this,t=e.getGridBodyCtrl().getBodyViewportElement(),i=this.getScrollPosition(),a=t.scrollTop;i!=a&&this.setScrollPosition(a,!0)}getScrollPosition(){return this.getViewport().scrollTop}setScrollPosition(e,t){t||Si(this.getViewport())||this.attemptSettingScrollPosition(e),this.getViewport().scrollTop=e}},uo={selector:"AG-FAKE-VERTICAL-SCROLL",component:ho},go=class extends F{constructor(e){super(),this.lastScrollSource=[null,null],this.scrollLeft=-1,this.nextScrollTop=-1,this.scrollTop=-1,this.lastOffsetHeight=-1,this.lastScrollTop=-1,this.eBodyViewport=e,this.resetLastHScrollDebounced=ve((()=>this.lastScrollSource[1]=null),500),this.resetLastVScrollDebounced=ve((()=>this.lastScrollSource[0]=null),500)}wireBeans(e){this.ctrlsService=e.ctrlsService,this.animationFrameService=e.animationFrameService,this.paginationService=e.paginationService,this.pageBoundsService=e.pageBoundsService,this.rowModel=e.rowModel,this.heightScaler=e.rowContainerHeightService,this.rowRenderer=e.rowRenderer,this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService}postConstruct(){this.enableRtl=this.gos.get("enableRtl"),this.addManagedEventListeners({displayedColumnsWidthChanged:this.onDisplayedColumnsWidthChanged.bind(this)}),this.ctrlsService.whenReady((e=>{this.centerRowsCtrl=e.center,this.onDisplayedColumnsWidthChanged(),this.addScrollListener()}))}addScrollListener(){const{fakeHScrollComp:e,fakeVScrollComp:t}=this.ctrlsService.getParams();this.addManagedElementListeners(this.centerRowsCtrl.getViewportElement(),{scroll:this.onHScroll.bind(this)}),e.onScrollCallback(this.onFakeHScroll.bind(this));const i=this.gos.get("debounceVerticalScrollbar"),a=i?ve(this.onVScroll.bind(this),100):this.onVScroll.bind(this),n=i?ve(this.onFakeVScroll.bind(this),100):this.onFakeVScroll.bind(this);this.addManagedElementListeners(this.eBodyViewport,{scroll:a}),t.onScrollCallback(n)}onDisplayedColumnsWidthChanged(){this.enableRtl&&this.horizontallyScrollHeaderCenterAndFloatingCenter()}horizontallyScrollHeaderCenterAndFloatingCenter(e){if(null==this.centerRowsCtrl)return;void 0===e&&(e=this.centerRowsCtrl.getCenterViewportScrollLeft());const t=this.enableRtl?e:-e,{topCenter:i,stickyTopCenter:a,stickyBottomCenter:n,centerHeader:r,bottomCenter:o,fakeHScrollComp:s}=this.ctrlsService.getParams();r.setHorizontalScroll(-t),o.setContainerTranslateX(t),i.setContainerTranslateX(t),a.setContainerTranslateX(t),n.setContainerTranslateX(t);const l=this.centerRowsCtrl.getViewportElement(),c=0===this.lastScrollSource[1];e=Math.abs(e),c?s.setScrollPosition(e):yi(l,e,this.enableRtl)}isControllingScroll(e,t){return null==this.lastScrollSource[t]?(this.lastScrollSource[t]=e,!0):this.lastScrollSource[t]===e}onFakeHScroll(){this.isControllingScroll(1,1)&&this.onHScrollCommon(1)}onHScroll(){this.isControllingScroll(0,1)&&this.onHScrollCommon(0)}onHScrollCommon(e){const t=this.centerRowsCtrl.getViewportElement(),{scrollLeft:i}=t;if(this.shouldBlockScrollUpdate(1,i,!0))return;let a;a=0===e?vi(t,this.enableRtl):this.ctrlsService.get("fakeHScrollComp").getScrollPosition(),this.doHorizontalScroll(Math.round(a)),this.resetLastHScrollDebounced()}onFakeVScroll(){this.isControllingScroll(1,0)&&this.onVScrollCommon(1)}onVScroll(){this.isControllingScroll(0,0)&&this.onVScrollCommon(0)}onVScrollCommon(e){let t;t=0===e?this.eBodyViewport.scrollTop:this.ctrlsService.get("fakeVScrollComp").getScrollPosition(),this.shouldBlockScrollUpdate(0,t,!0)||(this.animationFrameService.setScrollTop(t),this.nextScrollTop=t,0===e?this.ctrlsService.get("fakeVScrollComp").setScrollPosition(t):this.eBodyViewport.scrollTop=t,this.gos.get("suppressAnimationFrame")?this.scrollGridIfNeeded():this.animationFrameService.schedule(),this.resetLastVScrollDebounced())}doHorizontalScroll(e){const t=this.ctrlsService.get("fakeHScrollComp").getScrollPosition();this.scrollLeft===e&&e===t||(this.scrollLeft=e,this.fireScrollEvent(1),this.horizontallyScrollHeaderCenterAndFloatingCenter(e),this.centerRowsCtrl.onHorizontalViewportChanged(!0))}fireScrollEvent(e){const t={type:"bodyScroll",direction:1===e?"horizontal":"vertical",left:this.scrollLeft,top:this.scrollTop};this.eventService.dispatchEvent(t),window.clearTimeout(this.scrollTimer),this.scrollTimer=void 0,this.scrollTimer=window.setTimeout((()=>{const e={...t,type:"bodyScrollEnd"};this.eventService.dispatchEvent(e)}),100)}shouldBlockScrollUpdate(e,t,i=!1){return!(i&&!Qt())&&(0===e?this.shouldBlockVerticalScroll(t):this.shouldBlockHorizontalScroll(t))}shouldBlockVerticalScroll(e){const t=hi(this.eBodyViewport),{scrollHeight:i}=this.eBodyViewport;return e<0||e+t>i}shouldBlockHorizontalScroll(e){const t=this.centerRowsCtrl.getCenterWidth(),{scrollWidth:i}=this.centerRowsCtrl.getViewportElement();if(this.enableRtl&&fi()){if(e>0)return!0}else if(e<0)return!0;return Math.abs(e)+t>i}redrawRowsAfterScroll(){this.fireScrollEvent(0)}checkScrollLeft(){this.scrollLeft!==this.centerRowsCtrl.getCenterViewportScrollLeft()&&this.onHScrollCommon(0)}scrollGridIfNeeded(){const e=this.scrollTop!=this.nextScrollTop;return e&&(this.scrollTop=this.nextScrollTop,this.redrawRowsAfterScroll()),e}setHorizontalScrollPosition(e,t=!1){const i=this.centerRowsCtrl.getViewportElement().scrollWidth-this.centerRowsCtrl.getCenterWidth();!t&&this.shouldBlockScrollUpdate(1,e)&&(e=this.enableRtl&&fi()?e>0?0:i:Math.min(Math.max(e,0),i)),yi(this.centerRowsCtrl.getViewportElement(),Math.abs(e),this.enableRtl),this.doHorizontalScroll(e)}setVerticalScrollPosition(e){this.eBodyViewport.scrollTop=e}getVScrollPosition(){this.lastScrollTop=this.eBodyViewport.scrollTop,this.lastOffsetHeight=this.eBodyViewport.offsetHeight;return{top:this.lastScrollTop,bottom:this.lastScrollTop+this.lastOffsetHeight}}getApproximateVScollPosition(){return this.lastScrollTop>=0&&this.lastOffsetHeight>=0?{top:this.scrollTop,bottom:this.scrollTop+this.lastOffsetHeight}:this.getVScrollPosition()}getHScrollPosition(){return this.centerRowsCtrl.getHScrollPosition()}isHorizontalScrollShowing(){return this.centerRowsCtrl.isHorizontalScrollShowing()}scrollHorizontally(e){const t=this.centerRowsCtrl.getViewportElement().scrollLeft;return this.setHorizontalScrollPosition(t+e),this.centerRowsCtrl.getViewportElement().scrollLeft-t}scrollToTop(){this.eBodyViewport.scrollTop=0}ensureNodeVisible(e,t=null){const i=this.rowModel.getRowCount();let a=-1;for(let t=0;t<i;t++){const i=this.rowModel.getRow(t);if("function"==typeof e){if(i&&e(i)){a=t;break}}else if(e===i||e===i.data){a=t;break}}a>=0&&this.ensureIndexVisible(a,t)}ensureIndexVisible(e,t){if(this.gos.isDomLayout("print"))return;const i=this.rowModel.getRowCount();if("number"!=typeof e||e<0||e>=i)return void de("Invalid row index for ensureIndexVisible: "+e);const a=this.gos.get("pagination")&&!this.gos.get("suppressPaginationPanel");this.getFrameworkOverrides().wrapIncoming((()=>{a||this.paginationService?.goToPageWithIndex(e);const i=this.ctrlsService.getGridBodyCtrl(),n=i.getStickyTopHeight(),r=i.getStickyBottomHeight(),o=this.rowModel.getRow(e);let s;do{const e=o.rowTop,i=o.rowHeight,a=this.pageBoundsService.getPixelOffset(),l=o.rowTop-a,c=l+o.rowHeight,d=this.getVScrollPosition(),h=this.heightScaler.getDivStretchOffset(),u=d.top+h,g=d.bottom+h,p=g-u,m=this.heightScaler.getScrollPositionForPixel(l),f=this.heightScaler.getScrollPositionForPixel(c-p),v=Math.min((m+f)/2,l);let y=null;"top"===t?y=m:"bottom"===t?y=f:"middle"===t?y=v:u+n>l?y=m-n:g-r<c&&(y=f+r),null!==y&&(this.setVerticalScrollPosition(y),this.rowRenderer.redraw({afterScroll:!0})),s=e!==o.rowTop||i!==o.rowHeight}while(s);this.animationFrameService.flushAllFrames()}))}ensureColumnVisible(e,t="auto"){const i=this.columnModel.getCol(e);if(!i)return;if(i.isPinned())return;if(!this.visibleColsService.isColDisplayed(i))return;const a=this.getPositionedHorizontalScroll(i,t);this.getFrameworkOverrides().wrapIncoming((()=>{null!==a&&this.centerRowsCtrl.setCenterViewportScrollLeft(a),this.centerRowsCtrl.onHorizontalViewportChanged(),this.animationFrameService.flushAllFrames()}))}setScrollPosition(e,t){this.getFrameworkOverrides().wrapIncoming((()=>{this.centerRowsCtrl.setCenterViewportScrollLeft(t),this.setVerticalScrollPosition(e),this.rowRenderer.redraw({afterScroll:!0}),this.animationFrameService.flushAllFrames()}))}getPositionedHorizontalScroll(e,t){const{columnBeforeStart:i,columnAfterEnd:a}=this.isColumnOutsideViewport(e),n=this.centerRowsCtrl.getCenterWidth()<e.getActualWidth(),r=this.centerRowsCtrl.getCenterWidth(),o=this.enableRtl;let s=(o?i:a)||n,l=o?a:i;"auto"!==t&&(s="start"===t,l="end"===t);const c="middle"===t;if(s||l||c){const{colLeft:t,colMiddle:i,colRight:a}=this.getColumnBounds(e);return c?i-r/2:s?o?a:t:o?t-r:a-r}return null}isColumnOutsideViewport(e){const{start:t,end:i}=this.getViewportBounds(),{colLeft:a,colRight:n}=this.getColumnBounds(e),r=this.enableRtl;return{columnBeforeStart:r?t>n:i<n,columnAfterEnd:r?i<a:t>a}}getColumnBounds(e){const t=this.enableRtl,i=this.visibleColsService.getBodyContainerWidth(),a=e.getActualWidth(),n=e.getLeft(),r=t?-1:1,o=t?i-n:n;return{colLeft:o,colMiddle:o+a/2*r,colRight:o+a*r}}getViewportBounds(){const e=this.centerRowsCtrl.getCenterWidth(),t=this.centerRowsCtrl.getCenterViewportScrollLeft();return{start:t,end:e+t,width:e}}},po="ag-force-vertical-scroll",mo=class extends F{constructor(){super(...arguments),this.stickyTopHeight=0,this.stickyBottomHeight=0}wireBeans(e){this.animationFrameService=e.animationFrameService,this.rowContainerHeightService=e.rowContainerHeightService,this.ctrlsService=e.ctrlsService,this.columnModel=e.columnModel,this.columnSizeService=e.columnSizeService,this.scrollVisibleService=e.scrollVisibleService,this.menuService=e.menuService,this.headerNavigationService=e.headerNavigationService,this.dragAndDropService=e.dragAndDropService,this.pinnedRowModel=e.pinnedRowModel,this.rowRenderer=e.rowRenderer,this.popupService=e.popupService,this.mouseEventService=e.mouseEventService,this.rowModel=e.rowModel,this.filterManager=e.filterManager,this.environment=e.environment}getScrollFeature(){return this.bodyScrollFeature}getBodyViewportElement(){return this.eBodyViewport}setComp(e,t,i,a,n,r,o){this.comp=e,this.eGridBody=t,this.eBodyViewport=i,this.eTop=a,this.eBottom=n,this.eStickyTop=r,this.eStickyBottom=o,this.setCellTextSelection(this.gos.get("enableCellTextSelection")),this.addManagedPropertyListener("enableCellTextSelection",(e=>this.setCellTextSelection(e.currentValue))),this.createManagedBean(new ao(this.comp)),this.bodyScrollFeature=this.createManagedBean(new go(this.eBodyViewport)),this.addRowDragListener(),this.setupRowAnimationCssClass(),this.addEventListeners(),this.addFocusListeners([a,i,n,r,o]),this.onGridColumnsChanged(),this.addBodyViewportListener(),this.setFloatingHeights(),this.disableBrowserDragging(),this.addStopEditingWhenGridLosesFocus(),this.filterManager?.setupAdvancedFilterHeaderComp(a),this.ctrlsService.register("gridBodyCtrl",this)}getComp(){return this.comp}addEventListeners(){this.addManagedEventListeners({gridColumnsChanged:this.onGridColumnsChanged.bind(this),scrollVisibilityChanged:this.onScrollVisibilityChanged.bind(this),pinnedRowDataChanged:this.setFloatingHeights.bind(this),pinnedHeightChanged:this.setFloatingHeights.bind(this),headerHeightChanged:this.onHeaderHeightChanged.bind(this)})}addFocusListeners(e){e.forEach((e=>{this.addManagedElementListeners(e,{focusin:t=>{const{target:i}=t,a=ci(i,"ag-root",e);e.classList.toggle("ag-has-focus",!a)},focusout:t=>{const{target:i,relatedTarget:a}=t,n=e.contains(a),r=ci(a,"ag-root",e);ci(i,"ag-root",e)||n&&!r||e.classList.remove("ag-has-focus")}})}))}setColumnMovingCss(e){this.comp.setColumnMovingCss("ag-column-moving",e)}setCellTextSelection(e=!1){this.comp.setCellSelectableCss("ag-selectable",e)}onScrollVisibilityChanged(){const e=this.scrollVisibleService.isVerticalScrollShowing();this.setVerticalScrollPaddingVisible(e),this.setStickyWidth(e),this.setStickyBottomOffsetBottom();const t=`calc(100% + ${(e&&this.gos.getScrollbarWidth()||0)+(ii()?16:0)}px)`;this.animationFrameService.requestAnimationFrame((()=>this.comp.setBodyViewportWidth(t)))}onGridColumnsChanged(){const e=this.columnModel.getCols();this.comp.setColumnCount(e.length)}disableBrowserDragging(){this.addManagedElementListeners(this.eGridBody,{dragstart:e=>{if(e.target instanceof HTMLImageElement)return e.preventDefault(),!1}})}addStopEditingWhenGridLosesFocus(){if(!this.gos.get("stopEditingWhenCellsLoseFocus"))return;const e=e=>{const i=e.relatedTarget;if(null===ei(i))return void this.rowRenderer.stopEditing();let a=t.some((e=>e.contains(i)))&&this.mouseEventService.isElementInThisGrid(i);if(!a){const e=this.popupService;a=e.getActivePopups().some((e=>e.contains(i)))||e.isElementWithinCustomPopup(i)}a||this.rowRenderer.stopEditing()},t=[this.eBodyViewport,this.eBottom,this.eTop,this.eStickyTop,this.eStickyBottom];t.forEach((t=>this.addManagedElementListeners(t,{focusout:e})))}updateRowCount(){const e=this.headerNavigationService.getHeaderRowCount()+(this.filterManager?.getHeaderRowCount()??0),t=this.rowModel.isLastRowIndexKnown()?this.rowModel.getRowCount():-1,i=-1===t?-1:e+t;this.comp.setRowCount(i)}registerBodyViewportResizeListener(e){this.comp.registerBodyViewportResizeListener(e)}setVerticalScrollPaddingVisible(e){const t=e?"scroll":"hidden";this.comp.setPinnedTopBottomOverflowY(t)}isVerticalScrollShowing(){const e=this.gos.get("alwaysShowVerticalScroll"),t=e?po:null,i=this.gos.isDomLayout("normal");return this.comp.setAlwaysVerticalScrollClass(t,e),e||i&&(a=this.eBodyViewport).clientHeight<a.scrollHeight;var a}setupRowAnimationCssClass(){let e=this.environment.hasMeasuredSizes();const t=()=>{const t=e&&this.gos.isAnimateRows()&&!this.rowContainerHeightService.isStretching(),i=t?"ag-row-animation":"ag-row-no-animation";this.comp.setRowAnimationCssOnBodyViewport(i,t)};t(),this.addManagedEventListeners({heightScaleChanged:t}),this.addManagedPropertyListener("animateRows",t),this.addManagedEventListeners({gridStylesChanged:()=>{!e&&this.environment.hasMeasuredSizes()&&(e=!0,t())}})}getGridBodyElement(){return this.eGridBody}addBodyViewportListener(){const e=this.onBodyViewportContextMenu.bind(this);this.addManagedElementListeners(this.eBodyViewport,{contextmenu:e}),this.mockContextMenuForIPad(e),this.addManagedElementListeners(this.eBodyViewport,{wheel:this.onBodyViewportWheel.bind(this)}),this.addManagedElementListeners(this.eStickyTop,{wheel:this.onStickyWheel.bind(this)}),this.addManagedElementListeners(this.eStickyBottom,{wheel:this.onStickyWheel.bind(this)}),this.addFullWidthContainerWheelListener()}addFullWidthContainerWheelListener(){const e=this.eBodyViewport.querySelector(".ag-full-width-container"),t=this.eBodyViewport.querySelector(".ag-center-cols-viewport");e&&t&&this.addManagedElementListeners(e,{wheel:e=>this.onFullWidthContainerWheel(e,t)})}onFullWidthContainerWheel(e,t){!e.deltaX||Math.abs(e.deltaY)>Math.abs(e.deltaX)||!this.mouseEventService.isEventFromThisGrid(e)||(e.preventDefault(),t.scrollBy({left:e.deltaX}))}onBodyViewportContextMenu(e,t,i){if(!e&&!i)return;if(this.gos.get("preventDefaultOnContextMenu")){(e||i).preventDefault()}const{target:a}=e||t;a!==this.eBodyViewport&&a!==this.ctrlsService.get("center").getViewportElement()||this.menuService.showContextMenu({mouseEvent:e,touchEvent:i,value:null,anchorToElement:this.eGridBody})}mockContextMenuForIPad(e){if(!Qt())return;const t=new Ki(this.eBodyViewport);this.addManagedListeners(t,{longTap:t=>{e(void 0,t.touchStart,t.touchEvent)}}),this.addDestroyFunc((()=>t.destroy()))}onBodyViewportWheel(e){this.gos.get("suppressScrollWhenPopupsAreOpen")&&this.popupService.hasAnchoredPopup()&&e.preventDefault()}onStickyWheel(e){e.preventDefault(),e.offsetY&&this.scrollVertically(e.deltaY)}getGui(){return this.eGridBody}scrollVertically(e){const t=this.eBodyViewport.scrollTop;return this.bodyScrollFeature.setVerticalScrollPosition(t+e),this.eBodyViewport.scrollTop-t}addRowDragListener(){this.rowDragFeature=this.createManagedBean(new Xa(this.eBodyViewport)),this.dragAndDropService.addDropTarget(this.rowDragFeature)}getRowDragFeature(){return this.rowDragFeature}setFloatingHeights(){const{pinnedRowModel:e}=this,t=e.getPinnedTopTotalHeight(),i=e.getPinnedBottomTotalHeight();this.comp.setTopHeight(t),this.comp.setBottomHeight(i),this.comp.setTopDisplay(t?"inherit":"none"),this.comp.setBottomDisplay(i?"inherit":"none"),this.setStickyTopOffsetTop(),this.setStickyBottomOffsetBottom()}setStickyTopHeight(e=0){this.comp.setStickyTopHeight(`${e}px`),this.stickyTopHeight=e}getStickyTopHeight(){return this.stickyTopHeight}setStickyBottomHeight(e=0){this.comp.setStickyBottomHeight(`${e}px`),this.stickyBottomHeight=e}getStickyBottomHeight(){return this.stickyBottomHeight}setStickyWidth(e){if(e){const e=this.gos.getScrollbarWidth();this.comp.setStickyTopWidth(`calc(100% - ${e}px)`),this.comp.setStickyBottomWidth(`calc(100% - ${e}px)`)}else this.comp.setStickyTopWidth("100%"),this.comp.setStickyBottomWidth("100%")}onHeaderHeightChanged(){this.setStickyTopOffsetTop()}setStickyTopOffsetTop(){const e=this.ctrlsService.get("gridHeaderCtrl").getHeaderHeight()+(this.filterManager?.getHeaderHeight()??0),t=this.pinnedRowModel.getPinnedTopTotalHeight();let i=0;e>0&&(i+=e),t>0&&(i+=t),i>0&&(i+=1),this.comp.setStickyTopTop(`${i}px`)}setStickyBottomOffsetBottom(){const e=this.pinnedRowModel.getPinnedBottomTotalHeight()+(this.scrollVisibleService.isHorizontalScrollShowing()&&this.gos.getScrollbarWidth()||0);this.comp.setStickyBottomBottom(`${e}px`)}sizeColumnsToFit(e,t){const i=this.isVerticalScrollShowing()?this.gos.getScrollbarWidth():0,a=ui(this.eGridBody)-i;a>0?this.columnSizeService.sizeColumnsToFit(a,"sizeColumnsToFit",!1,e):void 0===t?window.setTimeout((()=>{this.sizeColumnsToFit(e,100)}),0):100===t?window.setTimeout((()=>{this.sizeColumnsToFit(e,500)}),100):500===t?window.setTimeout((()=>{this.sizeColumnsToFit(e,-1)}),500):de("tried to call sizeColumnsToFit() but the grid is coming back with zero width, maybe the grid is not visible yet on the screen?")}addScrollEventListener(e){this.eBodyViewport.addEventListener("scroll",e,{passive:!0})}removeScrollEventListener(e){this.eBodyViewport.removeEventListener("scroll",e)}},fo=class extends Hi{constructor(e,t,i,a,n){super(),this.rendererVersion=0,this.editorVersion=0,this.beans=e,this.column=t.getColumn(),this.rowNode=t.getRowNode(),this.rowCtrl=t.getRowCtrl(),this.eRow=a,this.cellCtrl=t;const r=document.createElement("div");r.setAttribute("comp-id",`${this.getCompId()}`),this.setTemplateFromElement(r);const o=this.getGui();this.forceWrapper=t.isForceWrapper(),this.refreshWrapper(!1);const s=(e,t)=>{null!=t&&""!=t?o.setAttribute(e,t):o.removeAttribute(e)};St(o,t.getCellAriaRole()),s("col-id",t.getColumnIdSanitised());const l=t.getTabIndex();void 0!==l&&s("tabindex",l.toString());const c={addOrRemoveCssClass:(e,t)=>this.addOrRemoveCssClass(e,t),setUserStyles:e=>Ri(o,e),getFocusableElement:()=>this.getFocusableElement(),setIncludeSelection:e=>this.includeSelection=e,setIncludeRowDrag:e=>this.includeRowDrag=e,setIncludeDndSource:e=>this.includeDndSource=e,setRenderDetails:(e,t,i)=>this.setRenderDetails(e,t,i),setEditDetails:(e,t,i)=>this.setEditDetails(e,t,i),getCellEditor:()=>this.cellEditor||null,getCellRenderer:()=>this.cellRenderer||null,getParentOfValue:()=>this.getParentOfValue()};t.setComp(c,this.getGui(),this.eCellWrapper,i,n)}getParentOfValue(){return this.eCellValue?this.eCellValue:this.eCellWrapper?this.eCellWrapper:this.getGui()}setRenderDetails(e,t,i){if(this.cellEditor&&!this.cellEditorPopupWrapper)return;this.firstRender=null==this.firstRender;const a=this.refreshWrapper(!1);if(this.refreshEditStyles(!1),e){!(i||a)&&this.refreshCellRenderer(e)||(this.destroyRenderer(),this.createCellRendererInstance(e))}else this.destroyRenderer(),this.insertValueWithoutCellRenderer(t)}setEditDetails(e,t,i){e?this.createCellEditorInstance(e,t,i):this.destroyEditor()}removeControls(){this.checkboxSelectionComp=this.beans.context.destroyBean(this.checkboxSelectionComp),this.dndSourceComp=this.beans.context.destroyBean(this.dndSourceComp),this.rowDraggingComp=this.beans.context.destroyBean(this.rowDraggingComp)}refreshWrapper(e){const t=this.includeRowDrag||this.includeDndSource||this.includeSelection,i=t||this.forceWrapper,a=i&&null==this.eCellWrapper;if(a){const e=document.createElement("div");e.setAttribute("role","presentation"),e.setAttribute("class","ag-cell-wrapper"),this.eCellWrapper=e,this.getGui().appendChild(this.eCellWrapper)}const n=!i&&null!=this.eCellWrapper;n&&(Ci(this.eCellWrapper),this.eCellWrapper=void 0),this.addOrRemoveCssClass("ag-cell-value",!i);const r=!e&&i,o=r&&null==this.eCellValue;if(o){const e=document.createElement("span");e.setAttribute("role","presentation"),e.setAttribute("class","ag-cell-value"),this.eCellValue=e,this.eCellWrapper.appendChild(this.eCellValue)}const s=!r&&null!=this.eCellValue;s&&(Ci(this.eCellValue),this.eCellValue=void 0);const l=a||n||o||s;return l&&this.removeControls(),e||t&&this.addControls(),l}addControls(){this.includeRowDrag&&null==this.rowDraggingComp&&(this.rowDraggingComp=this.cellCtrl.createRowDragComp(),this.rowDraggingComp&&this.eCellWrapper.insertBefore(this.rowDraggingComp.getGui(),this.eCellValue)),this.includeDndSource&&null==this.dndSourceComp&&(this.dndSourceComp=this.cellCtrl.createDndSource(),this.eCellWrapper.insertBefore(this.dndSourceComp.getGui(),this.eCellValue)),this.includeSelection&&null==this.checkboxSelectionComp&&(this.checkboxSelectionComp=this.cellCtrl.createSelectionCheckbox(),this.eCellWrapper.insertBefore(this.checkboxSelectionComp.getGui(),this.eCellValue))}createCellEditorInstance(e,t,i){const a=this.editorVersion,n=e.newAgStackInstance();if(null==n)return;const{params:r}=e;n.then((e=>this.afterCellEditorCreated(a,e,r,t,i)));O(this.cellEditor)&&r.cellStartedEdit&&this.cellCtrl.focusCell(!0)}insertValueWithoutCellRenderer(e){const t=this.getParentOfValue();bi(t);const i=null!=e?We(e,!0):null;null!=i&&(t.textContent=i)}destroyEditorAndRenderer(){this.destroyRenderer(),this.destroyEditor()}destroyRenderer(){const{context:e}=this.beans;this.cellRenderer=e.destroyBean(this.cellRenderer),Ci(this.cellRendererGui),this.cellRendererGui=null,this.rendererVersion++}destroyEditor(){const{context:e}=this.beans;this.hideEditorPopup&&this.hideEditorPopup(),this.hideEditorPopup=void 0,this.cellEditor=e.destroyBean(this.cellEditor),this.cellEditorPopupWrapper=e.destroyBean(this.cellEditorPopupWrapper),Ci(this.cellEditorGui),this.cellEditorGui=null,this.editorVersion++}refreshCellRenderer(e){if(null==this.cellRenderer||null==this.cellRenderer.refresh)return!1;if(this.cellRendererClass!==e.componentClass)return!1;const t=this.cellRenderer.refresh(e.params);return!0===t||void 0===t}createCellRendererInstance(e){const t=!this.beans.gos.get("suppressAnimationFrame"),i=this.rendererVersion,{componentClass:a}=e,n=()=>{if(this.rendererVersion!==i||!this.isAlive())return;const t=e.newAgStackInstance(),n=this.afterCellRendererCreated.bind(this,i,a);t&&t.then(n)};t&&this.firstRender?this.beans.animationFrameService.createTask(n,this.rowNode.rowIndex,"createTasksP2"):n()}getCtrl(){return this.cellCtrl}getRowCtrl(){return this.rowCtrl}getCellRenderer(){return this.cellRenderer}getCellEditor(){return this.cellEditor}afterCellRendererCreated(e,t,i){if(!this.isAlive()||e!==this.rendererVersion)this.beans.context.destroyBean(i);else if(this.cellRenderer=i,this.cellRendererClass=t,this.cellRendererGui=this.cellRenderer.getGui(),null!=this.cellRendererGui){const e=this.getParentOfValue();bi(e),e.appendChild(this.cellRendererGui)}}afterCellEditorCreated(e,t,i,a,n){if(e!==this.editorVersion)return void this.beans.context.destroyBean(t);if(t.isCancelBeforeStart&&t.isCancelBeforeStart())return this.beans.context.destroyBean(t),void this.cellCtrl.stopEditing(!0);if(!t.getGui)return de(`cellEditor for column ${this.column.getId()} is missing getGui() method`),void this.beans.context.destroyBean(t);this.cellEditor=t,this.cellEditorGui=t.getGui();const r=a||void 0!==t.isPopup&&t.isPopup();r?this.addPopupCellEditor(i,n):this.addInCellEditor(),this.refreshEditStyles(!0,r),t.afterGuiAttached&&t.afterGuiAttached()}refreshEditStyles(e,t){this.addOrRemoveCssClass("ag-cell-inline-editing",e&&!t),this.addOrRemoveCssClass("ag-cell-popup-editing",e&&!!t),this.addOrRemoveCssClass("ag-cell-not-inline-editing",!e||!!t),this.rowCtrl?.setInlineEditingCss(e)}addInCellEditor(){const e=this.getGui();if(e.contains(this.beans.gos.getActiveDomElement())&&e.focus(),this.destroyRenderer(),this.refreshWrapper(!0),this.clearParentOfValue(),this.cellEditorGui){this.getParentOfValue().appendChild(this.cellEditorGui)}}addPopupCellEditor(e,t){"fullRow"===this.beans.gos.get("editType")&&de("popup cellEditor does not work with fullRowEdit - you cannot use them both - either turn off fullRowEdit, or stop using popup editors.");const i=this.cellEditor;this.cellEditorPopupWrapper=this.beans.context.createBean(this.beans.editService.createPopupEditorWrapper(e));const a=this.cellEditorPopupWrapper.getGui();this.cellEditorGui&&a.appendChild(this.cellEditorGui);const n=this.beans.popupService,r=this.beans.gos.get("stopEditingWhenCellsLoseFocus"),o=null!=t?t:i.getPopupPosition?i.getPopupPosition():"over",s=this.beans.gos.get("enableRtl"),l={ePopup:a,column:this.column,rowNode:this.rowNode,type:"popupCellEditor",eventSource:this.getGui(),position:o,alignSide:s?"right":"left",keepWithinBounds:!0},c=n.positionPopupByComponent.bind(n,l),d=this.beans.localeService.getLocaleTextFunc(),h=n.addPopup({modal:r,eChild:a,closeOnEsc:!0,closedCallback:()=>{this.cellCtrl.onPopupEditorClosed()},anchorToElement:this.getGui(),positionCallback:c,ariaLabel:d("ariaLabelCellEditor","Cell Editor")});h&&(this.hideEditorPopup=h.hideFunc)}detach(){this.eRow.removeChild(this.getGui())}destroy(){this.cellCtrl.stopEditing(),this.destroyEditorAndRenderer(),this.removeControls(),super.destroy()}clearParentOfValue(){const e=this.getGui();e.contains(this.beans.gos.getActiveDomElement())&&Jt()&&e.focus({preventScroll:!0}),bi(this.getParentOfValue())}},vo=class extends Hi{constructor(e,t,i){super(),this.cellComps={},this.beans=t,this.rowCtrl=e;const a=document.createElement("div");a.setAttribute("comp-id",`${this.getCompId()}`),a.setAttribute("style",this.getInitialStyle(i)),this.setTemplateFromElement(a);const n=this.getGui(),r=n.style;this.domOrder=this.rowCtrl.getDomOrder(),St(n,"row");const o=this.rowCtrl.getTabIndex();null!=o&&n.setAttribute("tabindex",o.toString());const s={setDomOrder:e=>this.domOrder=e,setCellCtrls:e=>this.setCellCtrls(e),showFullWidth:e=>this.showFullWidth(e),getFullWidthCellRenderer:()=>this.getFullWidthCellRenderer(),addOrRemoveCssClass:(e,t)=>this.addOrRemoveCssClass(e,t),setUserStyles:e=>Ri(n,e),setTop:e=>r.top=e,setTransform:e=>r.transform=e,setRowIndex:e=>n.setAttribute("row-index",e),setRowId:e=>n.setAttribute("row-id",e),setRowBusinessKey:e=>n.setAttribute("row-business-key",e),refreshFullWidth:e=>this.refreshFullWidth(e)};e.setComp(s,this.getGui(),i),this.addDestroyFunc((()=>{e.unsetComp(i)}))}getInitialStyle(e){const t=this.rowCtrl.getInitialTransform(e);return t?`transform: ${t}`:`top: ${this.rowCtrl.getInitialRowTop(e)}`}showFullWidth(e){const t=e.newAgStackInstance();t&&t.then((e=>{if(this.isAlive()){const t=e.getGui();this.getGui().appendChild(t),this.rowCtrl.setupDetailRowAutoHeight(t),this.setFullWidthRowComp(e)}else this.beans.context.destroyBean(e)}))}setCellCtrls(e){const t=Object.assign({},this.cellComps);e.forEach((e=>{const i=e.getInstanceId();null==this.cellComps[i]?this.newCellComp(e):t[i]=null}));const i=$(t).filter((e=>null!=e));this.destroyCells(i),this.ensureDomOrder(e)}ensureDomOrder(e){if(!this.domOrder)return;const t=[];e.forEach((e=>{const i=this.cellComps[e.getInstanceId()];i&&t.push(i.getGui())})),Mi(this.getGui(),t)}newCellComp(e){const t=new fo(this.beans,e,this.rowCtrl.isPrintLayout(),this.getGui(),this.rowCtrl.isEditing());this.cellComps[e.getInstanceId()]=t,this.getGui().appendChild(t.getGui())}destroy(){super.destroy(),this.destroyAllCells()}destroyAllCells(){const e=$(this.cellComps).filter((e=>null!=e));this.destroyCells(e)}setFullWidthRowComp(e){this.fullWidthCellRenderer&&he("should not be setting fullWidthRowComponent twice"),this.fullWidthCellRenderer=e,this.addDestroyFunc((()=>{this.fullWidthCellRenderer=this.beans.context.destroyBean(this.fullWidthCellRenderer)}))}getFullWidthCellRenderer(){return this.fullWidthCellRenderer}destroyCells(e){e.forEach((e=>{if(!e)return;const t=e.getCtrl().getInstanceId();this.cellComps[t]===e&&(e.detach(),e.destroy(),this.cellComps[t]=null)}))}refreshFullWidth(e){const{fullWidthCellRenderer:t}=this;if(!t||!t.refresh)return!1;const i=e();return t.refresh(i)}},yo=class extends F{wireBeans(e){this.ctrlsService=e.ctrlsService,this.pinnedWidthService=e.pinnedWidthService,this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.columnSizeService=e.columnSizeService,this.scrollVisibleService=e.scrollVisibleService,this.columnViewportService=e.columnViewportService}constructor(e){super(),this.centerContainerCtrl=e}postConstruct(){this.ctrlsService.whenReady((e=>{this.gridBodyCtrl=e.gridBodyCtrl,this.listenForResize()})),this.addManagedEventListeners({scrollbarWidthChanged:this.onScrollbarWidthChanged.bind(this)}),this.addManagedPropertyListeners(["alwaysShowHorizontalScroll","alwaysShowVerticalScroll"],(()=>{this.checkViewportAndScrolls()}))}listenForResize(){const e=()=>this.onCenterViewportResized();this.centerContainerCtrl.registerViewportResizeListener(e),this.gridBodyCtrl.registerBodyViewportResizeListener(e)}onScrollbarWidthChanged(){this.checkViewportAndScrolls()}onCenterViewportResized(){if(this.centerContainerCtrl.isViewportInTheDOMTree()){this.keepPinnedColumnsNarrowerThanViewport(),this.checkViewportAndScrolls();const e=this.centerContainerCtrl.getCenterWidth();e!==this.centerWidth&&(this.centerWidth=e,this.columnSizeService.refreshFlexedColumns({viewportWidth:this.centerWidth,updateBodyWidths:!0,fireResizedEvent:!0}))}else this.bodyHeight=0}keepPinnedColumnsNarrowerThanViewport(){const e=ui(this.gridBodyCtrl.getBodyViewportElement());if(e<=50)return;let t=this.getPinnedColumnsOverflowingViewport(e-50);const i=this.gos.getCallback("processUnpinnedColumns");if(t.length){if(i){t=i({columns:t,viewportWidth:e})}this.columnModel.setColsPinned(t,null,"viewportSizeFeature")}}getPinnedColumnsOverflowingViewport(e){const t=this.pinnedWidthService.getPinnedRightWidth()+this.pinnedWidthService.getPinnedLeftWidth();if(t<e)return[];const i=[...this.visibleColsService.getLeftCols()],a=[...this.visibleColsService.getRightCols()];let n=0,r=0;const o=[];let s=t-0-e;for(;(r<i.length||n<a.length)&&s>0;){if(n<a.length){const e=a[n++];s-=e.getActualWidth(),o.push(e)}if(r<i.length&&s>0){const e=i[r++];s-=e.getActualWidth(),o.push(e)}}return o}checkViewportAndScrolls(){this.updateScrollVisibleService(),this.checkBodyHeight(),this.onHorizontalViewportChanged(),this.gridBodyCtrl.getScrollFeature().checkScrollLeft()}getBodyHeight(){return this.bodyHeight}checkBodyHeight(){const e=hi(this.gridBodyCtrl.getBodyViewportElement());if(this.bodyHeight!==e){this.bodyHeight=e;const t={type:"bodyHeightChanged"};this.eventService.dispatchEvent(t)}}updateScrollVisibleService(){this.updateScrollVisibleServiceImpl(),setTimeout(this.updateScrollVisibleServiceImpl.bind(this),500)}updateScrollVisibleServiceImpl(){const e={horizontalScrollShowing:this.isHorizontalScrollShowing(),verticalScrollShowing:this.gridBodyCtrl.isVerticalScrollShowing()};this.scrollVisibleService.setScrollsVisible(e)}isHorizontalScrollShowing(){return this.centerContainerCtrl.isHorizontalScrollShowing()}onHorizontalViewportChanged(){const e=this.centerContainerCtrl.getCenterWidth(),t=this.centerContainerCtrl.getViewportScrollLeft();this.columnViewportService.setScrollPosition(e,t)}},bo=class extends F{wireBeans(e){this.dragService=e.dragService,this.rangeService=e.rangeService}constructor(e){super(),this.eContainer=e}postConstruct(){if(!this.rangeService)return;this.params={eElement:this.eContainer,onDragStart:this.rangeService.onDragStart.bind(this.rangeService),onDragStop:this.rangeService.onDragStop.bind(this.rangeService),onDragging:this.rangeService.onDragging.bind(this.rangeService)},this.addManagedPropertyListener("enableRangeSelection",(e=>{e.currentValue?this.enableFeature():this.disableFeature()})),this.addDestroyFunc((()=>this.disableFeature()));this.gos.get("enableRangeSelection")&&this.enableFeature()}enableFeature(){this.dragService.addDragSource(this.params)}disableFeature(){this.dragService.removeDragSource(this.params)}},Co=class extends Hi{constructor(){super('\n <div class="ag-selection-checkbox" role="presentation">\n <ag-checkbox role="presentation" data-ref="eCheckbox"></ag-checkbox>\n </div>',[sa]),this.eCheckbox=Vi}postConstruct(){this.eCheckbox.setPassive(!0)}getCheckboxId(){return this.eCheckbox.getInputElement().id}onDataChanged(){this.onSelectionChanged()}onSelectableChanged(){this.showOrHideSelect()}onSelectionChanged(){const e=this.localeService.getLocaleTextFunc(),t=this.rowNode.isSelected(),i=Kt(e,t),[a,n]=this.rowNode.selectable?["ariaRowToggleSelection","Press Space to toggle row selection"]:["ariaRowSelectionDisabled","Row Selection is disabled for this row"],r=e(a,n);this.eCheckbox.setValue(t,!0),this.eCheckbox.setInputAriaLabel(`${r} (${i})`)}onClicked(e,t,i){return this.rowNode.setSelectedParams({newValue:e,rangeSelect:i.shiftKey,groupSelectsFiltered:t,event:i,source:"checkboxSelected"})}init(e){this.rowNode=e.rowNode,this.column=e.column,this.overrides=e.overrides,this.onSelectionChanged(),this.addManagedListeners(this.eCheckbox.getInputElement(),{dblclick:e=>D(e),click:e=>{D(e);const t=this.gos.get("groupSelectsFiltered"),i=this.eCheckbox.getValue();if(this.shouldHandleIndeterminateState(i,t)){0===this.onClicked(!0,t,e||{})&&this.onClicked(!1,t,e)}else i?this.onClicked(!1,t,e):this.onClicked(!0,t,e||{})}}),this.addManagedListeners(this.rowNode,{rowSelected:this.onSelectionChanged.bind(this),dataChanged:this.onDataChanged.bind(this),selectableChanged:this.onSelectableChanged.bind(this)});if(this.gos.get("isRowSelectable")||"function"==typeof this.getIsVisible()){const e=this.showOrHideSelect.bind(this);this.addManagedEventListeners({displayedColumnsChanged:e}),this.addManagedListeners(this.rowNode,{dataChanged:e,cellChanged:e}),this.showOrHideSelect()}this.eCheckbox.getInputElement().setAttribute("tabindex","-1")}shouldHandleIndeterminateState(e,t){return t&&(void 0===this.eCheckbox.getPreviousValue()||void 0===e)&&this.gos.isRowModelType("clientSide")}showOrHideSelect(){let e=this.rowNode.selectable;const t=this.getIsVisible();if(e)if("function"==typeof t){const i=this.overrides?.callbackParams;if(this.column){const a=this.column.createColumnFunctionCallbackParams(this.rowNode);e=t({...i,...a})}else e=t({...i,node:this.rowNode,data:this.rowNode.data})}else e=t??!1;const i=this.column?.getColDef().showDisabledCheckboxes;if(i)return this.eCheckbox.setDisabled(!e),this.setVisible(!0),void this.setDisplayed(!0);this.overrides?.removeHidden?this.setDisplayed(e):this.setVisible(e)}getIsVisible(){return this.overrides?this.overrides.isVisible:this.column?.getColDef()?.checkboxSelection}},wo=class extends Hi{constructor(e,t,i){super('<div class="ag-drag-handle ag-row-drag" draggable="true"></div>'),this.rowNode=e,this.column=t,this.eCell=i}postConstruct(){this.getGui().appendChild(qi("rowDrag",this.gos,null)),this.addGuiEventListener("mousedown",(e=>{e.stopPropagation()})),this.addDragSource(),this.checkVisibility()}addDragSource(){this.addGuiEventListener("dragstart",this.onDragStart.bind(this))}onDragStart(e){const t=this.column.getColDef().dndSourceOnRowDrag;e.dataTransfer.setDragImage(this.eCell,0,0);const i=()=>{try{const t=JSON.stringify(this.rowNode.data);e.dataTransfer.setData("application/json",t),e.dataTransfer.setData("text/plain",t)}catch(e){}};if(t){t(this.gos.addGridCommonParams({rowNode:this.rowNode,dragEvent:e}))}else i()}checkVisibility(){const e=this.column.isDndSource(this.rowNode);this.setDisplayed(e)}},So=class extends F{constructor(e,t){super(),this.staticClasses=[],this.cellCtrl=e,this.beans=t,this.column=e.getColumn(),this.rowNode=e.getRowNode()}setComp(e){this.cellComp=e,this.applyUserStyles(),this.applyCellClassRules(),this.applyClassesFromColDef()}applyCellClassRules(){const e=this.column.getColDef(),{cellClassRules:t}=e,i=this.beans.gos.addGridCommonParams({value:this.cellCtrl.getValue(),data:this.rowNode.data,node:this.rowNode,colDef:e,column:this.column,rowIndex:this.rowNode.rowIndex});this.beans.stylingService.processClassRules(t===this.cellClassRules?void 0:this.cellClassRules,t,i,(e=>this.cellComp.addOrRemoveCssClass(e,!0)),(e=>this.cellComp.addOrRemoveCssClass(e,!1))),this.cellClassRules=t}applyUserStyles(){const e=this.column.getColDef();if(!e.cellStyle)return;let t;if("function"==typeof e.cellStyle){const i=this.beans.gos.addGridCommonParams({column:this.column,value:this.cellCtrl.getValue(),colDef:e,data:this.rowNode.data,node:this.rowNode,rowIndex:this.rowNode.rowIndex});t=(0,e.cellStyle)(i)}else t=e.cellStyle;t&&this.cellComp.setUserStyles(t)}applyClassesFromColDef(){const e=this.column.getColDef(),t=this.beans.gos.addGridCommonParams({value:this.cellCtrl.getValue(),data:this.rowNode.data,node:this.rowNode,column:this.column,colDef:e,rowIndex:this.rowNode.rowIndex});this.staticClasses.length&&this.staticClasses.forEach((e=>this.cellComp.addOrRemoveCssClass(e,!1))),this.staticClasses=this.beans.stylingService.getStaticCellClasses(e,t),this.staticClasses.length&&this.staticClasses.forEach((e=>this.cellComp.addOrRemoveCssClass(e,!0)))}destroy(){super.destroy()}},xo=class extends F{constructor(e,t,i,a,n){super(),this.cellCtrl=e,this.beans=t,this.rowNode=a,this.rowCtrl=n}setComp(e){this.eGui=e}onKeyDown(e){const t=e.key;switch(t){case ia.ENTER:this.onEnterKeyDown(e);break;case ia.F2:this.onF2KeyDown(e);break;case ia.ESCAPE:this.onEscapeKeyDown(e);break;case ia.TAB:this.onTabKeyDown(e);break;case ia.BACKSPACE:case ia.DELETE:this.onBackspaceOrDeleteKeyDown(t,e);break;case ia.DOWN:case ia.UP:case ia.RIGHT:case ia.LEFT:this.onNavigationKeyDown(e,t)}}onNavigationKeyDown(e,t){this.cellCtrl.isEditing()||(e.shiftKey&&this.cellCtrl.isRangeSelectionEnabled()?this.onShiftRangeSelect(e):this.beans.navigationService.navigateToNextCell(e,t,this.cellCtrl.getCellPosition(),!0),e.preventDefault())}onShiftRangeSelect(e){if(!this.beans.rangeService)return;const t=this.beans.rangeService.extendLatestRangeInDirection(e);t&&this.beans.navigationService.ensureCellVisible(t)}onTabKeyDown(e){this.beans.navigationService.onTabKeyDown(this.cellCtrl,e)}onBackspaceOrDeleteKeyDown(e,t){const{cellCtrl:i,beans:a,rowNode:n}=this,{gos:r,rangeService:o,eventService:s}=a;if(!i.isEditing()){if(s.dispatchEvent({type:"keyShortcutChangedCellStart"}),function(e,t=!1){return e===ia.DELETE||!t&&e===ia.BACKSPACE&&Xt()}(e,r.get("enableCellEditingOnBackspace"))){if(o&&r.get("enableRangeSelection"))o.clearCellRangeCellValues({dispatchWrapperEvents:!0,wrapperEventSource:"deleteKey"});else if(i.isCellEditable()){const e=i.getColumn(),t=this.beans.valueService.parseValue(e,n,"",n.getValueFromValueService(e))??null;n.setDataValue(e,t,"cellClear")}}else i.startRowOrCellEdit(e,t);s.dispatchEvent({type:"keyShortcutChangedCellEnd"})}}onEnterKeyDown(e){if(this.cellCtrl.isEditing()||this.rowCtrl.isEditing())this.cellCtrl.stopEditingAndFocus(!1,e.shiftKey);else if(this.beans.gos.get("enterNavigatesVertically")){const t=e.shiftKey?ia.UP:ia.DOWN;this.beans.navigationService.navigateToNextCell(null,t,this.cellCtrl.getCellPosition(),!1)}else this.cellCtrl.startRowOrCellEdit(ia.ENTER,e),this.cellCtrl.isEditing()&&e.preventDefault()}onF2KeyDown(e){this.cellCtrl.isEditing()||this.cellCtrl.startRowOrCellEdit(ia.F2,e)}onEscapeKeyDown(e){this.cellCtrl.isEditing()&&(this.cellCtrl.stopRowOrCellEdit(!0),this.cellCtrl.focusCell(!0))}processCharacter(e){if(e.target!==this.eGui||this.cellCtrl.isEditing())return;const t=e.key;" "===t?this.onSpaceKeyDown(e):(this.cellCtrl.startRowOrCellEdit(t,e),e.preventDefault())}onSpaceKeyDown(e){const{gos:t}=this.beans;if(!this.cellCtrl.isEditing()&&t.isRowSelection()){const i=this.rowNode.isSelected(),a=!i;if(a||!t.get("suppressRowDeselection")){const t=this.beans.gos.get("groupSelectsFiltered"),n=this.rowNode.setSelectedParams({newValue:a,rangeSelect:e.shiftKey,groupSelectsFiltered:t,event:e,source:"spaceKey"});void 0===i&&0===n&&this.rowNode.setSelectedParams({newValue:!1,rangeSelect:e.shiftKey,groupSelectsFiltered:t,event:e,source:"spaceKey"})}}e.preventDefault()}destroy(){super.destroy()}},ko=class extends F{constructor(e,t,i){super(),this.cellCtrl=e,this.beans=t,this.column=i}onMouseEvent(e,t){if(!A(t))switch(e){case"click":this.onCellClicked(t);break;case"mousedown":case"touchstart":this.onMouseDown(t);break;case"dblclick":this.onCellDoubleClicked(t);break;case"mouseout":this.onMouseOut(t);break;case"mouseover":this.onMouseOver(t)}}onCellClicked(e){if(this.isDoubleClickOnIPad())return this.onCellDoubleClicked(e),void e.preventDefault();const{eventService:t,rangeService:i,gos:a}=this.beans,n=e.ctrlKey||e.metaKey;i&&n&&i.getCellRangeCount(this.cellCtrl.getCellPosition())>1&&i.intersectLastRange(!0);const r=this.cellCtrl.createEvent(e,"cellClicked");t.dispatchEvent(r);const o=this.column.getColDef();o.onCellClicked&&window.setTimeout((()=>{this.beans.frameworkOverrides.wrapOutgoing((()=>{o.onCellClicked(r)}))}),0);!((a.get("singleClickEdit")||o.singleClickEdit)&&!a.get("suppressClickEdit"))||e.shiftKey&&0!=i?.getCellRanges().length||this.cellCtrl.startRowOrCellEdit()}isDoubleClickOnIPad(){if(!Qt()||E("dblclick"))return!1;const e=(new Date).getTime(),t=e-this.lastIPadMouseClickEvent<200;return this.lastIPadMouseClickEvent=e,t}onCellDoubleClicked(e){const{column:t,beans:i,cellCtrl:a}=this,{eventService:n,frameworkOverrides:r,gos:o}=i,s=t.getColDef(),l=a.createEvent(e,"cellDoubleClicked");n.dispatchEvent(l),"function"==typeof s.onCellDoubleClicked&&window.setTimeout((()=>{r.wrapOutgoing((()=>{s.onCellDoubleClicked(l)}))}),0);!o.get("singleClickEdit")&&!o.get("suppressClickEdit")&&a.startRowOrCellEdit(null,e)}onMouseDown(e){const{ctrlKey:t,metaKey:i,shiftKey:a}=e,n=e.target,{cellCtrl:r,beans:o}=this,{eventService:s,rangeService:l,focusService:c,gos:d}=o;if(this.isRightClickInExistingRange(e))return;const h=l&&0!=l.getCellRanges().length;if(!a||!h){const t=d.get("enableCellTextSelection")&&e.defaultPrevented,i=(jt()||t)&&!r.isEditing()&&!ri(n);r.focusCell(i)}if(a&&h&&!c.isCellFocused(r.getCellPosition())){e.preventDefault();const t=c.getFocusedCell();if(t){const{column:e,rowIndex:i,rowPinned:a}=t,n=o.rowRenderer.getRowByPosition({rowIndex:i,rowPinned:a}),r=n?.getCellCtrl(e);r?.isEditing()&&r.stopEditing(),c.setFocusedCell({column:e,rowIndex:i,rowPinned:a,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0})}}if(!this.containsWidget(n)){if(l){const e=this.cellCtrl.getCellPosition();if(a)l.extendLatestRangeToCell(e);else{const a=t||i;l.setRangeToCell(e,a)}}s.dispatchEvent(this.cellCtrl.createEvent(e,"cellMouseDown"))}}isRightClickInExistingRange(e){const{rangeService:t}=this.beans;if(t){const i=t.isCellInAnyRange(this.cellCtrl.getCellPosition()),a=2===e.button||e.ctrlKey&&this.beans.gos.get("allowContextMenuWithControlKey");if(i&&a)return!0}return!1}containsWidget(e){return ci(e,"ag-selection-checkbox",3)}onMouseOut(e){if(this.mouseStayingInsideCell(e))return;const t=this.cellCtrl.createEvent(e,"cellMouseOut");this.beans.eventService.dispatchEvent(t),this.beans.columnHoverService.clearMouseOver()}onMouseOver(e){if(this.mouseStayingInsideCell(e))return;const t=this.cellCtrl.createEvent(e,"cellMouseOver");this.beans.eventService.dispatchEvent(t),this.beans.columnHoverService.setMouseOver([this.column])}mouseStayingInsideCell(e){if(!e.target||!e.relatedTarget)return!1;const t=this.cellCtrl.getGui(),i=t.contains(e.target),a=t.contains(e.relatedTarget);return i&&a}destroy(){super.destroy()}},Mo=class extends F{constructor(e,t){super(),this.cellCtrl=e,this.beans=t,this.column=e.getColumn(),this.rowNode=e.getRowNode()}setupRowSpan(){this.rowSpan=this.column.getRowSpan(this.rowNode),this.addManagedListeners(this.beans.eventService,{newColumnsLoaded:()=>this.onNewColumnsLoaded()})}setComp(e){this.eGui=e,this.setupColSpan(),this.setupRowSpan(),this.onLeftChanged(),this.onWidthChanged(),this.applyRowSpan()}onNewColumnsLoaded(){const e=this.column.getRowSpan(this.rowNode);this.rowSpan!==e&&(this.rowSpan=e,this.applyRowSpan(!0))}onDisplayColumnsChanged(){const e=this.getColSpanningList();u(this.colsSpanning,e)||(this.colsSpanning=e,this.onWidthChanged(),this.onLeftChanged())}setupColSpan(){null!=this.column.getColDef().colSpan&&(this.colsSpanning=this.getColSpanningList(),this.addManagedListeners(this.beans.eventService,{displayedColumnsChanged:this.onDisplayColumnsChanged.bind(this),displayedColumnsWidthChanged:this.onWidthChanged.bind(this)}))}onWidthChanged(){if(!this.eGui)return;const e=this.getCellWidth();this.eGui.style.width=`${e}px`}getCellWidth(){return this.colsSpanning?this.colsSpanning.reduce(((e,t)=>e+t.getActualWidth()),0):this.column.getActualWidth()}getColSpanningList(){const e=this.column.getColSpan(this.rowNode),t=[];if(1===e)t.push(this.column);else{let i=this.column;const a=this.column.getPinned();for(let n=0;i&&n<e&&(t.push(i),i=this.beans.visibleColsService.getColAfter(i),i&&!O(i))&&a===i.getPinned();n++);}return t}onLeftChanged(){if(!this.eGui)return;const e=this.modifyLeftForPrintLayout(this.getCellLeft());this.eGui.style.left=e+"px"}getCellLeft(){let e;return e=this.beans.gos.get("enableRtl")&&this.colsSpanning?h(this.colsSpanning):this.column,e.getLeft()}modifyLeftForPrintLayout(e){if(!this.cellCtrl.isPrintLayout()||"left"===this.column.getPinned())return e;const t=this.beans.visibleColsService.getColsLeftWidth();if("right"===this.column.getPinned()){return t+this.beans.visibleColsService.getBodyContainerWidth()+(e||0)}return t+(e||0)}applyRowSpan(e){if(1===this.rowSpan&&!e)return;const t=this.beans.gos.getRowHeightAsNumber()*this.rowSpan;this.eGui.style.height=`${t}px`,this.eGui.style.zIndex="1"}destroy(){super.destroy()}},Ro=(e=>(e[e.FILL=0]="FILL",e[e.RANGE=1]="RANGE",e))(Ro||{}),Do=(e=>(e[e.VALUE=0]="VALUE",e[e.DIMENSION=1]="DIMENSION",e))(Do||{}),Ao="ag-cell-range-selected",Eo=class{constructor(e,t){this.beans=e,this.rangeService=e.rangeService,this.selectionHandleFactory=e.selectionHandleFactory,this.cellCtrl=t}setComp(e,t){this.cellComp=e,this.eGui=t,this.onRangeSelectionChanged()}onRangeSelectionChanged(){this.cellComp&&(this.rangeCount=this.rangeService.getCellRangeCount(this.cellCtrl.getCellPosition()),this.hasChartRange=this.getHasChartRange(),this.cellComp.addOrRemoveCssClass(Ao,0!==this.rangeCount),this.cellComp.addOrRemoveCssClass(`${Ao}-1`,1===this.rangeCount),this.cellComp.addOrRemoveCssClass(`${Ao}-2`,2===this.rangeCount),this.cellComp.addOrRemoveCssClass(`${Ao}-3`,3===this.rangeCount),this.cellComp.addOrRemoveCssClass(`${Ao}-4`,this.rangeCount>=4),this.cellComp.addOrRemoveCssClass("ag-cell-range-chart",this.hasChartRange),_t(this.eGui,this.rangeCount>0||void 0),this.cellComp.addOrRemoveCssClass("ag-cell-range-single-cell",this.isSingleCell()),this.updateRangeBorders(),this.refreshHandle())}updateRangeBorders(){const e=this.getRangeBorders(),t=this.isSingleCell(),i=!t&&e.top,a=!t&&e.right,n=!t&&e.bottom,r=!t&&e.left;this.cellComp.addOrRemoveCssClass("ag-cell-range-top",i),this.cellComp.addOrRemoveCssClass("ag-cell-range-right",a),this.cellComp.addOrRemoveCssClass("ag-cell-range-bottom",n),this.cellComp.addOrRemoveCssClass("ag-cell-range-left",r)}isSingleCell(){const{rangeService:e}=this.beans;return 1===this.rangeCount&&!!e&&!e.isMoreThanOneCell()}getHasChartRange(){const{rangeService:e}=this.beans;if(!this.rangeCount||!e)return!1;const t=e.getCellRanges();return t.length>0&&t.every((e=>C([1,0],e.type)))}updateRangeBordersIfRangeCount(){this.rangeCount>0&&(this.updateRangeBorders(),this.refreshHandle())}getRangeBorders(){const e=this.beans.gos.get("enableRtl");let t=!1,i=!1,a=!1,n=!1;const r=this.cellCtrl.getCellPosition().column,o=this.beans.visibleColsService;let s,l;e?(s=o.getColAfter(r),l=o.getColBefore(r)):(s=o.getColBefore(r),l=o.getColAfter(r));const c=this.rangeService.getCellRanges().filter((e=>this.rangeService.isCellInSpecificRange(this.cellCtrl.getCellPosition(),e)));s||(n=!0),l||(i=!0);for(let e=0;e<c.length&&!(t&&i&&a&&n);e++){const r=c[e],o=this.rangeService.getRangeStartRow(r),d=this.rangeService.getRangeEndRow(r);!t&&this.beans.rowPositionUtils.sameRow(o,this.cellCtrl.getCellPosition())&&(t=!0),!a&&this.beans.rowPositionUtils.sameRow(d,this.cellCtrl.getCellPosition())&&(a=!0),!n&&s&&r.columns.indexOf(s)<0&&(n=!0),!i&&l&&r.columns.indexOf(l)<0&&(i=!0)}return{top:t,right:i,bottom:a,left:n}}refreshHandle(){if(this.beans.context.isDestroyed())return;const e=this.shouldHaveSelectionHandle();this.selectionHandle&&!e&&(this.selectionHandle=this.beans.context.destroyBean(this.selectionHandle)),e&&this.addSelectionHandle(),this.cellComp.addOrRemoveCssClass("ag-cell-range-handle",!!this.selectionHandle)}shouldHaveSelectionHandle(){const e=this.beans.gos,t=this.rangeService.getCellRanges(),i=t.length;if(this.rangeCount<1||i<1)return!1;const a=h(t),n=this.cellCtrl.getCellPosition(),r=e.get("enableFillHandle")&&!this.cellCtrl.isSuppressFillHandle(),o=e.get("enableRangeHandle");let s=1===i&&!this.cellCtrl.isEditing()&&(r||o);if(this.hasChartRange){const e=1===t[0].type&&this.rangeService.isCellInSpecificRange(n,t[0]);this.cellComp.addOrRemoveCssClass("ag-cell-range-chart-category",e),s=0===a.type}return s&&null!=a.endRow&&this.rangeService.isContiguousRange(a)&&this.rangeService.isBottomRightCell(a,n)}addSelectionHandle(){const e=this.beans.gos,t=h(this.rangeService.getCellRanges()).type,i=e.get("enableFillHandle")&&O(t)?0:1;this.selectionHandle&&this.selectionHandle.getType()!==i&&(this.selectionHandle=this.beans.context.destroyBean(this.selectionHandle)),this.selectionHandle||(this.selectionHandle=this.selectionHandleFactory.createSelectionHandle(i)),this.selectionHandle.refresh(this.cellCtrl)}destroy(){this.beans.context.destroyBean(this.selectionHandle)}},To=0,Po=class e extends F{constructor(e,t,i,a){super(),this.column=e,this.rowNode=t,this.beans=i,this.rowCtrl=a,this.cellRangeFeature=null,this.cellPositionFeature=null,this.cellCustomStyleFeature=null,this.tooltipFeature=null,this.cellMouseListenerFeature=null,this.cellKeyboardListenerFeature=null,this.suppressRefreshCell=!1,this.onCellCompAttachedFuncs=[],this.instanceId=e.getId()+"-"+To++,this.colIdSanitised=We(this.column.getId()),i.gos.get("suppressCellFocus")||(this.tabIndex=-1),this.createCellPosition(),this.addFeatures(),this.updateAndFormatValue(!1)}shouldRestoreFocus(){return this.beans.focusService.shouldRestoreFocus(this.cellPosition)}addFeatures(){this.cellPositionFeature=new Mo(this,this.beans),this.addDestroyFunc((()=>{this.cellPositionFeature?.destroy(),this.cellPositionFeature=null})),this.cellCustomStyleFeature=new So(this,this.beans),this.addDestroyFunc((()=>{this.cellCustomStyleFeature?.destroy(),this.cellCustomStyleFeature=null})),this.cellMouseListenerFeature=new ko(this,this.beans,this.column),this.addDestroyFunc((()=>{this.cellMouseListenerFeature?.destroy(),this.cellMouseListenerFeature=null})),this.cellKeyboardListenerFeature=new xo(this,this.beans,this.column,this.rowNode,this.rowCtrl),this.addDestroyFunc((()=>{this.cellKeyboardListenerFeature?.destroy(),this.cellKeyboardListenerFeature=null})),this.column.isTooltipEnabled()&&(this.enableTooltipFeature(),this.addDestroyFunc((()=>{this.disableTooltipFeature()})));this.beans.rangeService&&this.beans.gos.get("enableRangeSelection")&&(this.cellRangeFeature=new Eo(this.beans,this),this.addDestroyFunc((()=>{this.cellRangeFeature?.destroy(),this.cellRangeFeature=null})))}enableTooltipFeature(e,t){const i="whenTruncated"===this.beans.gos.get("tooltipShowMode");t||!i||this.isCellRenderer()||(t=()=>{const e=this.getGui(),t=0===e.children.length?e:e.querySelector(".ag-cell-value");return!t||t.scrollWidth>t.clientWidth});const a={getColumn:()=>this.column,getColDef:()=>this.column.getColDef(),getRowIndex:()=>this.cellPosition.rowIndex,getRowNode:()=>this.rowNode,getGui:()=>this.getGui(),getLocation:()=>"cell",getTooltipValue:null!=e?()=>e:()=>{const e=this.column.getColDef(),t=this.rowNode.data;if(e.tooltipField&&N(t))return X(t,e.tooltipField,this.column.isTooltipFieldContainsDots());const i=e.tooltipValueGetter;return i?i(this.beans.gos.addGridCommonParams({location:"cell",colDef:this.column.getColDef(),column:this.column,rowIndex:this.cellPosition.rowIndex,node:this.rowNode,data:this.rowNode.data,value:this.value,valueFormatted:this.valueFormatted})):null},getValueFormatted:()=>this.valueFormatted,shouldDisplayTooltip:t};this.tooltipFeature=new Gi(a,this.beans)}disableTooltipFeature(){this.tooltipFeature&&(this.tooltipFeature.destroy(),this.tooltipFeature=null)}setComp(e,t,i,a,n){this.cellComp=e,this.eGui=t,this.printLayout=a,this.addDomData(),this.onCellFocused(this.focusEventToRestore),this.applyStaticCssClasses(),this.setWrapText(),this.onFirstRightPinnedChanged(),this.onLastLeftPinnedChanged(),this.onColumnHover(),this.setupControlComps(),this.setupAutoHeight(i),this.refreshFirstAndLastStyles(),this.refreshAriaColIndex(),this.cellPositionFeature?.setComp(t),this.cellCustomStyleFeature?.setComp(e),this.tooltipFeature?.refreshToolTip(),this.cellKeyboardListenerFeature?.setComp(this.eGui),this.cellRangeFeature&&this.cellRangeFeature.setComp(e,t),n&&this.isCellEditable()?this.startEditing():this.showValue(),this.onCellCompAttachedFuncs.length&&(this.onCellCompAttachedFuncs.forEach((e=>e())),this.onCellCompAttachedFuncs=[])}setupAutoHeight(e){if(this.isAutoHeight=this.column.isAutoHeight(),!this.isAutoHeight||!e)return;const t=e.parentElement,i=this.beans.gos.getRowHeightForNode(this.rowNode).height,a=n=>{if(this.editing)return;if(!this.isAlive())return;const{paddingTop:r,paddingBottom:o,borderBottomWidth:s,borderTopWidth:l}=di(t),c=r+o+s+l,d=e.offsetHeight+c;if(n<5){const t=this.beans.gos.getDocument();if(!t||!t.contains(e)||0==d)return void window.setTimeout((()=>a(n+1)),0)}const h=Math.max(d,i);this.rowNode.setRowAutoHeight(h,this.column)},n=()=>a(0);n();const r=this.beans.resizeObserverService.observeResize(e,n);this.addDestroyFunc((()=>{r(),this.rowNode.setRowAutoHeight(void 0,this.column)}))}getCellAriaRole(){return this.column.getColDef().cellAriaRole??"gridcell"}getInstanceId(){return this.instanceId}getColumnIdSanitised(){return this.colIdSanitised}getTabIndex(){return this.tabIndex}isCellRenderer(){const e=this.column.getColDef();return null!=e.cellRenderer||null!=e.cellRendererSelector}getValueToDisplay(){return this.valueFormatted??this.value}showValue(e=!1){const t=this.getValueToDisplay();let i;if(this.rowNode.stub){const e=this.createCellRendererParams();i=this.beans.userComponentFactory.getLoadingCellRendererDetails(this.column.getColDef(),e)}else if(this.isCellRenderer()){const e=this.createCellRendererParams();i=this.beans.userComponentFactory.getCellRendererDetails(this.column.getColDef(),e)}this.cellComp.setRenderDetails(i,t,e),this.cellRangeFeature?.refreshHandle()}setupControlComps(){const e=this.column.getColDef();this.includeSelection=this.isIncludeControl(e.checkboxSelection),this.includeRowDrag=this.isIncludeControl(e.rowDrag),this.includeDndSource=this.isIncludeControl(e.dndSource),this.cellComp.setIncludeSelection(this.includeSelection),this.cellComp.setIncludeDndSource(this.includeDndSource),this.cellComp.setIncludeRowDrag(this.includeRowDrag)}isForceWrapper(){return this.beans.gos.get("enableCellTextSelection")||this.column.isAutoHeight()}isIncludeControl(e){return!(null!=this.rowNode.rowPinned)&&("function"==typeof e||!0===e)}refreshShouldDestroy(){const e=this.column.getColDef(),t=this.includeSelection!=this.isIncludeControl(e.checkboxSelection),i=this.includeRowDrag!=this.isIncludeControl(e.rowDrag),a=this.includeDndSource!=this.isIncludeControl(e.dndSource),n=this.isAutoHeight!=this.column.isAutoHeight();return t||i||a||n}startEditing(e=null,t=!1,i=null){const{editService:a}=this.beans;this.isCellEditable()&&!this.editing&&a&&(this.cellComp?a.startEditing(this,e,t,i):this.onCellCompAttachedFuncs.push((()=>{this.startEditing(e,t,i)})))}setEditing(e,t){this.editCompDetails=t,this.editing!==e&&(this.editing=e,this.cellRangeFeature?.refreshHandle())}stopRowOrCellEdit(e=!1){"fullRow"===this.beans.gos.get("editType")?this.rowCtrl.stopEditing(e):this.stopEditing(e)}onPopupEditorClosed(){this.editing&&this.stopEditingAndFocus()}stopEditing(e=!1){const{editService:t}=this.beans;return!(!this.editing||!t)&&t.stopEditing(this,e)}createCellRendererParams(){return this.beans.gos.addGridCommonParams({value:this.value,valueFormatted:this.valueFormatted,getValue:()=>this.rowNode.getValueFromValueService(this.column),setValue:e=>this.beans.valueService.setValue(this.rowNode,this.column,e),formatValue:this.formatValue.bind(this),data:this.rowNode.data,node:this.rowNode,pinned:this.column.getPinned(),colDef:this.column.getColDef(),column:this.column,refreshCell:this.refreshCell.bind(this),eGridCell:this.getGui(),eParentOfValue:this.cellComp.getParentOfValue(),registerRowDragger:(e,t,i,a)=>this.registerRowDragger(e,t,a),setTooltip:(e,t)=>{this.tooltipFeature&&this.disableTooltipFeature(),this.enableTooltipFeature(e,t),this.tooltipFeature?.refreshToolTip()}})}setFocusOutOnEditor(){this.editing&&this.beans.editService?.setFocusOutOnEditor(this)}setFocusInOnEditor(){this.editing&&this.beans.editService?.setFocusInOnEditor(this)}onCellChanged(e){e.column===this.column&&this.refreshCell({})}refreshOrDestroyCell(e){this.refreshShouldDestroy()?this.rowCtrl?.recreateCell(this):this.refreshCell(e)}refreshCell(e){if(this.suppressRefreshCell||this.editing)return;const t=this.column.getColDef(),i=null!=e&&!!e.newData,a=null!=e&&!!e.suppressFlash||!!t.suppressCellFlash,n=null==t.field&&null==t.valueGetter&&null==t.showRowGroup,r=e&&e.forceRefresh||n||i,o=!!this.cellComp,s=this.updateAndFormatValue(o);if(o){if(r||s){this.showValue(i);const e=this.beans.filterManager?.isSuppressFlashingCellsBecauseFiltering();!a&&!e&&(this.beans.gos.get("enableCellChangeFlash")||t.enableCellChangeFlash)&&this.flashCell(),this.cellCustomStyleFeature?.applyUserStyles(),this.cellCustomStyleFeature?.applyClassesFromColDef()}this.tooltipFeature?.refreshToolTip(),this.cellCustomStyleFeature?.applyCellClassRules()}}stopEditingAndFocus(e=!1,t=!1){this.beans.editService?.stopEditingAndFocus(this,e,t)}flashCell(e){const t=e?.flashDuration??e?.flashDelay,i=e?.fadeDuration??e?.fadeDelay;this.animateCell("data-changed",t,i)}animateCell(e,t,i){if(!this.cellComp)return;const a=`ag-cell-${e}`,n=`ag-cell-${e}-animation`,{gos:r}=this.beans;t||(t=r.get("cellFlashDuration")),N(i)||(i=r.get("cellFadeDuration")),this.cellComp.addOrRemoveCssClass(a,!0),this.cellComp.addOrRemoveCssClass(n,!1),this.beans.frameworkOverrides.wrapIncoming((()=>{window.setTimeout((()=>{this.isAlive()&&(this.cellComp.addOrRemoveCssClass(a,!1),this.cellComp.addOrRemoveCssClass(n,!0),this.eGui.style.transition=`background-color ${i}ms`,window.setTimeout((()=>{this.isAlive()&&(this.cellComp.addOrRemoveCssClass(n,!1),this.eGui.style.transition="")}),i))}),t)}))}onFlashCells(e){if(!this.cellComp)return;const t=this.beans.cellPositionUtils.createId(this.getCellPosition());e.cells[t]&&this.animateCell("highlight")}isCellEditable(){return this.column.isCellEditable(this.rowNode)}isSuppressFillHandle(){return this.column.isSuppressFillHandle()}formatValue(e){return this.callValueFormatter(e)??e}callValueFormatter(e){return this.beans.valueService.formatValue(this.column,this.rowNode,e)}updateAndFormatValue(e){const t=this.value,i=this.valueFormatted;return this.value=this.rowNode.getValueFromValueService(this.column),this.valueFormatted=this.callValueFormatter(this.value),!e||(!this.valuesAreEqual(t,this.value)||this.valueFormatted!=i)}valuesAreEqual(e,t){const i=this.column.getColDef();return i.equals?i.equals(e,t):e===t}getComp(){return this.cellComp}getValue(){return this.value}addDomData(){const t=this.getGui();this.beans.gos.setDomData(t,e.DOM_DATA_KEY_CELL_CTRL,this),this.addDestroyFunc((()=>this.beans.gos.setDomData(t,e.DOM_DATA_KEY_CELL_CTRL,null)))}createEvent(e,t){return this.beans.gos.addGridCommonParams({type:t,node:this.rowNode,data:this.rowNode.data,value:this.value,column:this.column,colDef:this.column.getColDef(),rowPinned:this.rowNode.rowPinned,event:e,rowIndex:this.rowNode.rowIndex})}processCharacter(e){this.cellKeyboardListenerFeature?.processCharacter(e)}onKeyDown(e){this.cellKeyboardListenerFeature?.onKeyDown(e)}onMouseEvent(e,t){this.cellMouseListenerFeature?.onMouseEvent(e,t)}getGui(){return this.eGui}getColSpanningList(){return this.cellPositionFeature.getColSpanningList()}onLeftChanged(){this.cellComp&&this.cellPositionFeature?.onLeftChanged()}onDisplayedColumnsChanged(){this.eGui&&(this.refreshAriaColIndex(),this.refreshFirstAndLastStyles())}refreshFirstAndLastStyles(){const{cellComp:e,column:t,beans:i}=this;ar(e,t,i.visibleColsService)}refreshAriaColIndex(){const e=this.beans.visibleColsService.getAriaColIndex(this.column);Bt(this.getGui(),e)}isSuppressNavigable(){return this.column.isSuppressNavigable(this.rowNode)}onWidthChanged(){return this.cellPositionFeature?.onWidthChanged()}getColumn(){return this.column}getRowNode(){return this.rowNode}isPrintLayout(){return this.printLayout}getCellPosition(){return this.cellPosition}isEditing(){return this.editing}startRowOrCellEdit(e,t=null){this.cellComp?"fullRow"===this.beans.gos.get("editType")?this.rowCtrl.startRowEditing(e,this):this.startEditing(e,!0,t):this.onCellCompAttachedFuncs.push((()=>{this.startRowOrCellEdit(e,t)}))}getRowCtrl(){return this.rowCtrl}getRowPosition(){return{rowIndex:this.cellPosition.rowIndex,rowPinned:this.cellPosition.rowPinned}}updateRangeBordersIfRangeCount(){this.cellComp&&this.cellRangeFeature&&this.cellRangeFeature.updateRangeBordersIfRangeCount()}onRangeSelectionChanged(){this.cellComp&&this.cellRangeFeature&&this.cellRangeFeature.onRangeSelectionChanged()}isRangeSelectionEnabled(){return null!=this.cellRangeFeature}focusCell(e=!1){this.beans.focusService.setFocusedCell({rowIndex:this.getCellPosition().rowIndex,column:this.column,rowPinned:this.rowNode.rowPinned,forceBrowserFocus:e})}onRowIndexChanged(){this.createCellPosition(),this.onCellFocused(),this.cellRangeFeature&&this.cellRangeFeature.onRangeSelectionChanged()}onFirstRightPinnedChanged(){if(!this.cellComp)return;const e=this.column.isFirstRightPinned();this.cellComp.addOrRemoveCssClass("ag-cell-first-right-pinned",e)}onLastLeftPinnedChanged(){if(!this.cellComp)return;const e=this.column.isLastLeftPinned();this.cellComp.addOrRemoveCssClass("ag-cell-last-left-pinned",e)}onCellFocused(e){if(this.beans.gos.get("suppressCellFocus"))return;const t=this.beans.focusService.isCellFocused(this.cellPosition);if(!this.cellComp)return void(t&&e?.forceBrowserFocus&&(this.focusEventToRestore=e));if(this.focusEventToRestore=void 0,this.cellComp.addOrRemoveCssClass("ag-cell-focus",t),t&&e&&e.forceBrowserFocus){let t=this.cellComp.getFocusableElement();if(this.editing){const e=this.beans.focusService.findFocusableElements(t,null,!0);e.length&&(t=e[0])}t.focus({preventScroll:!!e.preventScrollOnBrowserFocus})}const i="fullRow"===this.beans.gos.get("editType");t||i||!this.editing||this.stopRowOrCellEdit(),t&&this.rowCtrl.announceDescription()}createCellPosition(){this.cellPosition={rowIndex:this.rowNode.rowIndex,rowPinned:L(this.rowNode.rowPinned),column:this.column}}applyStaticCssClasses(){this.cellComp.addOrRemoveCssClass("ag-cell",!0),this.cellComp.addOrRemoveCssClass("ag-cell-not-inline-editing",!0);const e=1==this.column.isAutoHeight();this.cellComp.addOrRemoveCssClass("ag-cell-auto-height",e),this.cellComp.addOrRemoveCssClass("ag-cell-normal-height",!e)}onColumnHover(){if(!this.cellComp)return;if(!this.beans.gos.get("columnHoverHighlight"))return;const e=this.beans.columnHoverService.isHovered(this.column);this.cellComp.addOrRemoveCssClass("ag-column-hover",e)}onColDefChanged(){if(!this.cellComp)return;this.column.isTooltipEnabled()?(this.disableTooltipFeature(),this.enableTooltipFeature()):this.disableTooltipFeature(),this.setWrapText(),this.editing?this.beans.editService?.handleColDefChanged(this):this.refreshOrDestroyCell({forceRefresh:!0,suppressFlash:!0})}setWrapText(){const e=1==this.column.getColDef().wrapText;this.cellComp.addOrRemoveCssClass("ag-cell-wrap-text",e)}dispatchCellContextMenuEvent(e){const t=this.column.getColDef(),i=this.createEvent(e,"cellContextMenu");this.beans.eventService.dispatchEvent(i),t.onCellContextMenu&&window.setTimeout((()=>{this.beans.frameworkOverrides.wrapOutgoing((()=>{t.onCellContextMenu(i)}))}),0)}getCellRenderer(){return this.cellComp?this.cellComp.getCellRenderer():null}getCellEditor(){return this.cellComp?this.cellComp.getCellEditor():null}destroy(){this.onCellCompAttachedFuncs=[],super.destroy()}createSelectionCheckbox(){const e=new Co;return this.beans.context.createBean(e),e.init({rowNode:this.rowNode,column:this.column}),e}createDndSource(){const e=new wo(this.rowNode,this.column,this.eGui);return this.beans.context.createBean(e),e}registerRowDragger(e,t,i){if(this.customRowDragComp)return void this.customRowDragComp.setDragElement(e,t);const a=this.createRowDragComp(e,t,i);a&&(this.customRowDragComp=a,this.addDestroyFunc((()=>{this.beans.context.destroyBean(a),this.customRowDragComp=null})))}createRowDragComp(e,t,i){const a=this.beans.gos.get("pagination"),n=this.beans.gos.get("rowDragManaged"),r=this.beans.gos.isRowModelType("clientSide");if(n){if(!r)return void de("managed row dragging is only allowed in the Client Side Row Model");if(a)return void de("managed row dragging is not possible when doing pagination")}const o=new Ja((()=>this.value),this.rowNode,this.column,e,t,i);return this.beans.context.createBean(o),o}setSuppressRefreshCell(e){this.suppressRefreshCell=e}getEditCompDetails(){return this.editCompDetails}};Po.DOM_DATA_KEY_CELL_CTRL="cellCtrl";var Fo=Po,Io=0,Lo=class e extends F{constructor(e,t,i,a,n){super(),this.allRowGuis=[],this.active=!0,this.centerCellCtrls={list:[],map:{}},this.leftCellCtrls={list:[],map:{}},this.rightCellCtrls={list:[],map:{}},this.slideInAnimation={left:!1,center:!1,right:!1,fullWidth:!1},this.fadeInAnimation={left:!1,center:!1,right:!1,fullWidth:!1},this.rowDragComps=[],this.lastMouseDownOnDragger=!1,this.emptyStyle={},this.updateColumnListsPending=!1,this.rowId=null,this.businessKeySanitised=null,this.beans=t,this.gos=t.gos,this.rowNode=e,this.paginationPage=t.paginationService?.getCurrentPage()??0,this.useAnimationFrameForCreate=a,this.printLayout=n,this.suppressRowTransform=this.gos.get("suppressRowTransform"),this.instanceId=e.id+"-"+Io++,this.rowId=We(e.id),this.initRowBusinessKey(),this.rowFocused=t.focusService.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned),this.rowLevel=t.rowCssClassCalculator.calculateRowLevel(this.rowNode),this.setRowType(),this.setAnimateFlags(i),this.rowStyles=this.processStylesFromGridOptions(),this.isFullWidth()&&!this.gos.get("suppressCellFocus")&&(this.tabIndex=-1),this.addListeners()}initRowBusinessKey(){this.businessKeyForNodeFunc=this.gos.get("getBusinessKeyForNode"),this.updateRowBusinessKey()}updateRowBusinessKey(){if("function"!=typeof this.businessKeyForNodeFunc)return;const e=this.businessKeyForNodeFunc(this.rowNode);this.businessKeySanitised=We(e)}getRowId(){return this.rowId}getRowStyles(){return this.rowStyles}getTabIndex(){return this.tabIndex}isSticky(){return this.rowNode.sticky}getInstanceId(){return this.instanceId}updateGui(e,t){"left"===e?this.leftGui=t:"right"===e?this.rightGui=t:"fullWidth"===e?this.fullWidthGui=t:this.centerGui=t}setComp(e,t,i){const a={rowComp:e,element:t,containerType:i};this.allRowGuis.push(a),this.updateGui(i,a),this.initialiseRowComp(a),"FullWidthLoading"===this.rowType||this.rowNode.rowPinned||this.beans.rowRenderer.dispatchFirstDataRenderedEvent()}unsetComp(e){this.allRowGuis=this.allRowGuis.filter((t=>t.containerType!==e)),this.updateGui(e,void 0)}isCacheable(){return"FullWidthDetail"===this.rowType&&this.gos.get("keepDetailRows")}setCached(e){const t=e?"none":"";this.allRowGuis.forEach((e=>e.element.style.display=t))}initialiseRowComp(t){const i=this.gos;this.listenOnDomOrder(t),this.beans.columnModel.wasAutoRowHeightEverActive()&&this.rowNode.checkAutoHeights(),this.onRowHeightChanged(t),this.updateRowIndexes(t),this.setFocusedClasses(t),this.setStylesFromGridOptions(!1,t),i.isRowSelection()&&this.rowNode.selectable&&this.onRowSelected(t),this.updateColumnLists(!this.useAnimationFrameForCreate);const a=t.rowComp;this.getInitialRowClasses(t.containerType).forEach((e=>a.addOrRemoveCssClass(e,!0))),this.executeSlideAndFadeAnimations(t),this.rowNode.group&&Ft(t.element,1==this.rowNode.expanded),this.setRowCompRowId(a),this.setRowCompRowBusinessKey(a),i.setDomData(t.element,e.DOM_DATA_KEY_ROW_CTRL,this),this.addDestroyFunc((()=>i.setDomData(t.element,e.DOM_DATA_KEY_ROW_CTRL,null))),this.useAnimationFrameForCreate?this.beans.animationFrameService.createTask(this.addHoverFunctionality.bind(this,t.element),this.rowNode.rowIndex,"createTasksP2"):this.addHoverFunctionality(t.element),this.isFullWidth()&&this.setupFullWidth(t),i.get("rowDragEntireRow")&&this.addRowDraggerToRow(t),this.useAnimationFrameForCreate&&this.beans.animationFrameService.addDestroyTask((()=>{this.isAlive()&&t.rowComp.addOrRemoveCssClass("ag-after-created",!0)})),this.executeProcessRowPostCreateFunc()}setRowCompRowBusinessKey(e){null!=this.businessKeySanitised&&e.setRowBusinessKey(this.businessKeySanitised)}getBusinessKey(){return this.businessKeySanitised}setRowCompRowId(e){this.rowId=We(this.rowNode.id),null!=this.rowId&&e.setRowId(this.rowId)}executeSlideAndFadeAnimations(e){const{containerType:t}=e;this.slideInAnimation[t]&&(fe((()=>{this.onTopChanged()})),this.slideInAnimation[t]=!1);this.fadeInAnimation[t]&&(fe((()=>{e.rowComp.addOrRemoveCssClass("ag-opacity-zero",!1)})),this.fadeInAnimation[t]=!1)}addRowDraggerToRow(e){if(this.gos.get("enableRangeSelection"))return void de("Setting `rowDragEntireRow: true` in the gridOptions doesn't work with `enableRangeSelection: true`");const t=this.beans.localeService.getLocaleTextFunc(),i=new Ja((()=>`1 ${t("rowDragRow","row")}`),this.rowNode,void 0,e.element,void 0,!0),a=this.createBean(i,this.beans.context);this.rowDragComps.push(a)}setupFullWidth(e){const t=this.getPinnedForContainer(e.containerType);if("FullWidthDetail"==this.rowType&&!Ji.__assertRegistered("@ag-grid-enterprise/master-detail","cell renderer 'agDetailCellRenderer' (for master detail)",this.beans.context.getGridId()))return;const i=this.createFullWidthCompDetails(e.element,t);e.rowComp.showFullWidth(i)}isPrintLayout(){return this.printLayout}getFullWidthCellRenderers(){return this.gos.get("embedFullWidthRows")?this.allRowGuis.map((e=>e?.rowComp?.getFullWidthCellRenderer())):[this.fullWidthGui?.rowComp?.getFullWidthCellRenderer()]}getCellElement(e){const t=this.getCellCtrl(e);return t?t.getGui():null}executeProcessRowPostCreateFunc(){const e=this.gos.getCallback("processRowPostCreate");if(!e||!this.areAllContainersReady())return;e({eRow:this.centerGui.element,ePinnedLeftRow:this.leftGui?this.leftGui.element:void 0,ePinnedRightRow:this.rightGui?this.rightGui.element:void 0,node:this.rowNode,rowIndex:this.rowNode.rowIndex,addRenderedRowListener:this.addEventListener.bind(this)})}areAllContainersReady(){const e=!!this.leftGui||!this.beans.visibleColsService.isPinningLeft(),t=!!this.centerGui,i=!!this.rightGui||!this.beans.visibleColsService.isPinningRight();return e&&t&&i}setRowType(){const e=this.rowNode.stub&&!this.gos.get("suppressServerSideFullWidthLoadingRow"),t=this.rowNode.isFullWidthCell(),i=this.gos.get("masterDetail")&&this.rowNode.detail,a=this.beans.columnModel.isPivotMode(),n=!!this.rowNode.group&&!this.rowNode.footer&&this.gos.isGroupUseEntireRow(a);this.rowType=e?"FullWidthLoading":i?"FullWidthDetail":t?"FullWidth":n?"FullWidthGroup":"Normal"}updateColumnLists(e=!1,t=!1){if(this.isFullWidth())return;e||this.gos.get("suppressAnimationFrame")||this.printLayout?this.updateColumnListsImpl(t):this.updateColumnListsPending||(this.beans.animationFrameService.createTask((()=>{this.active&&this.updateColumnListsImpl(!0)}),this.rowNode.rowIndex,"createTasksP1"),this.updateColumnListsPending=!0)}createCellCtrls(e,t,i=null){const a={list:[],map:{}},n=(e,t)=>{a.list.push(t),a.map[e]=t};return t.forEach((t=>{const i=t.getInstanceId();let a=e.map[i];a||(a=new Fo(t,this.rowNode,this.beans,this)),n(i,a)})),e.list.forEach((e=>{if(null!=a.map[e.getColumn().getInstanceId()])return;this.isCellEligibleToBeRemoved(e,i)?e.destroy():n(e.getColumn().getInstanceId(),e)})),a}updateColumnListsImpl(e){this.updateColumnListsPending=!1,this.createAllCellCtrls(),this.setCellCtrls(e)}setCellCtrls(e){this.allRowGuis.forEach((t=>{const i=this.getCellCtrlsForContainer(t.containerType);t.rowComp.setCellCtrls(i,e)}))}getCellCtrlsForContainer(e){switch(e){case"left":return this.leftCellCtrls.list;case"right":return this.rightCellCtrls.list;case"fullWidth":return[];case"center":return this.centerCellCtrls.list}}createAllCellCtrls(){const e=this.beans.columnViewportService,t=this.beans.visibleColsService;if(this.printLayout)this.centerCellCtrls=this.createCellCtrls(this.centerCellCtrls,t.getAllCols()),this.leftCellCtrls={list:[],map:{}},this.rightCellCtrls={list:[],map:{}};else{const i=e.getColsWithinViewport(this.rowNode);this.centerCellCtrls=this.createCellCtrls(this.centerCellCtrls,i);const a=t.getLeftColsForRow(this.rowNode);this.leftCellCtrls=this.createCellCtrls(this.leftCellCtrls,a,"left");const n=t.getRightColsForRow(this.rowNode);this.rightCellCtrls=this.createCellCtrls(this.rightCellCtrls,n,"right")}}isCellEligibleToBeRemoved(e,t){const i=!0;if(e.getColumn().getPinned()!=t)return i;const a=e.isEditing(),n=this.beans.focusService.isCellFocused(e.getCellPosition());if(a||n){const t=e.getColumn();return!(this.beans.visibleColsService.getAllCols().indexOf(t)>=0)&&i}return i}getDomOrder(){return this.gos.get("ensureDomOrder")||this.gos.isDomLayout("print")}listenOnDomOrder(e){const t=()=>{e.rowComp.setDomOrder(this.getDomOrder())};this.addManagedPropertyListener("domLayout",t),this.addManagedPropertyListener("ensureDomOrder",t)}setAnimateFlags(e){if(this.isSticky()||!e)return;const t=N(this.rowNode.oldRowTop),i=this.beans.visibleColsService.isPinningLeft(),a=this.beans.visibleColsService.isPinningRight();if(t){if(this.isFullWidth()&&!this.gos.get("embedFullWidthRows"))return void(this.slideInAnimation.fullWidth=!0);this.slideInAnimation.center=!0,this.slideInAnimation.left=i,this.slideInAnimation.right=a}else{if(this.isFullWidth()&&!this.gos.get("embedFullWidthRows"))return void(this.fadeInAnimation.fullWidth=!0);this.fadeInAnimation.center=!0,this.fadeInAnimation.left=i,this.fadeInAnimation.right=a}}isEditing(){return this.editingRow}isFullWidth(){return"Normal"!==this.rowType}refreshFullWidth(){const e=(e,t)=>!e||e.rowComp.refreshFullWidth((()=>this.createFullWidthCompDetails(e.element,t).params)),t=e(this.fullWidthGui,null),i=e(this.centerGui,null),a=e(this.leftGui,"left"),n=e(this.rightGui,"right");return t&&i&&a&&n}addListeners(){this.addManagedListeners(this.rowNode,{heightChanged:()=>this.onRowHeightChanged(),rowSelected:()=>this.onRowSelected(),rowIndexChanged:this.onRowIndexChanged.bind(this),topChanged:this.onTopChanged.bind(this),expandedChanged:this.updateExpandedCss.bind(this),hasChildrenChanged:this.updateExpandedCss.bind(this)}),this.rowNode.detail&&this.addManagedListeners(this.rowNode.parent,{dataChanged:this.onRowNodeDataChanged.bind(this)}),this.addManagedListeners(this.rowNode,{dataChanged:this.onRowNodeDataChanged.bind(this),cellChanged:this.postProcessCss.bind(this),rowHighlightChanged:this.onRowNodeHighlightChanged.bind(this),draggingChanged:this.postProcessRowDragging.bind(this),uiLevelChanged:this.onUiLevelChanged.bind(this)}),this.addManagedListeners(this.beans.eventService,{paginationPixelOffsetChanged:this.onPaginationPixelOffsetChanged.bind(this),heightScaleChanged:this.onTopChanged.bind(this),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),virtualColumnsChanged:this.onVirtualColumnsChanged.bind(this),cellFocused:this.onCellFocusChanged.bind(this),cellFocusCleared:this.onCellFocusChanged.bind(this),paginationChanged:this.onPaginationChanged.bind(this),modelUpdated:this.refreshFirstAndLastRowStyles.bind(this),columnMoved:()=>this.updateColumnLists()}),this.addDestroyFunc((()=>{this.destroyBeans(this.rowDragComps,this.beans.context),this.tooltipFeature&&(this.tooltipFeature=this.destroyBean(this.tooltipFeature,this.beans.context))})),this.addManagedPropertyListeners(["rowDragEntireRow"],(()=>{this.gos.get("rowDragEntireRow")?this.allRowGuis.forEach((e=>{this.addRowDraggerToRow(e)})):this.rowDragComps=this.destroyBeans(this.rowDragComps,this.beans.context)})),this.addListenersForCellComps()}addListenersForCellComps(){this.addManagedListeners(this.rowNode,{rowIndexChanged:()=>{this.getAllCellCtrls().forEach((e=>e.onRowIndexChanged()))},cellChanged:e=>{this.getAllCellCtrls().forEach((t=>t.onCellChanged(e)))}})}onRowNodeDataChanged(e){if(this.isFullWidth()!==!!this.rowNode.isFullWidthCell())this.beans.rowRenderer.redrawRow(this.rowNode);else if(this.isFullWidth()){this.refreshFullWidth()||this.beans.rowRenderer.redrawRow(this.rowNode)}else this.getAllCellCtrls().forEach((t=>t.refreshCell({suppressFlash:!e.update,newData:!e.update}))),this.allRowGuis.forEach((e=>{this.setRowCompRowId(e.rowComp),this.updateRowBusinessKey(),this.setRowCompRowBusinessKey(e.rowComp)})),this.onRowSelected(),this.postProcessCss()}postProcessCss(){this.setStylesFromGridOptions(!0),this.postProcessClassesFromGridOptions(),this.postProcessRowClassRules(),this.postProcessRowDragging()}onRowNodeHighlightChanged(){const e=this.rowNode.highlighted;this.allRowGuis.forEach((t=>{const i=0===e,a=1===e;t.rowComp.addOrRemoveCssClass("ag-row-highlight-above",i),t.rowComp.addOrRemoveCssClass("ag-row-highlight-below",a)}))}postProcessRowDragging(){const e=this.rowNode.dragging;this.allRowGuis.forEach((t=>t.rowComp.addOrRemoveCssClass("ag-row-dragging",e)))}updateExpandedCss(){const e=this.rowNode.isExpandable(),t=1==this.rowNode.expanded;this.allRowGuis.forEach((i=>{i.rowComp.addOrRemoveCssClass("ag-row-group",e),i.rowComp.addOrRemoveCssClass("ag-row-group-expanded",e&&t),i.rowComp.addOrRemoveCssClass("ag-row-group-contracted",e&&!t),Ft(i.element,e&&t)}))}onDisplayedColumnsChanged(){this.updateColumnLists(!0),this.beans.columnModel.wasAutoRowHeightEverActive()&&this.rowNode.checkAutoHeights()}onVirtualColumnsChanged(){this.updateColumnLists(!1,!0)}getRowPosition(){return{rowPinned:L(this.rowNode.rowPinned),rowIndex:this.rowNode.rowIndex}}onKeyboardNavigate(e){const t=this.allRowGuis.find((t=>t.element.contains(e.target)));if(!((t?t.element:null)===e.target))return;const i=this.rowNode,a=this.beans.focusService.getFocusedCell(),n={rowIndex:i.rowIndex,rowPinned:i.rowPinned,column:a&&a.column};this.beans.navigationService.navigateToNextCell(e,e.key,n,!0),e.preventDefault()}onTabKeyDown(e){if(e.defaultPrevented||A(e))return;const t=this.allRowGuis.find((t=>t.element.contains(e.target))),i=t?t.element:null,a=i===e.target;let n=null;a||(n=this.beans.focusService.findNextFocusableElement(i,!1,e.shiftKey)),(this.isFullWidth()&&a||!n)&&this.beans.navigationService.onTabKeyDown(this,e)}getFullWidthElement(){return this.fullWidthGui?this.fullWidthGui.element:null}getRowYPosition(){const e=this.allRowGuis.find((e=>Si(e.element)))?.element;return e?e.getBoundingClientRect().top:0}onFullWidthRowFocused(e){const t=this.rowNode,i=!!e&&(this.isFullWidth()&&e.rowIndex===t.rowIndex&&e.rowPinned==t.rowPinned),a=this.fullWidthGui?this.fullWidthGui.element:this.centerGui?.element;a&&(a.classList.toggle("ag-full-width-focus",i),i&&e?.forceBrowserFocus&&a.focus({preventScroll:!0}))}recreateCell(e){this.centerCellCtrls=this.removeCellCtrl(this.centerCellCtrls,e),this.leftCellCtrls=this.removeCellCtrl(this.leftCellCtrls,e),this.rightCellCtrls=this.removeCellCtrl(this.rightCellCtrls,e),e.destroy(),this.updateColumnLists()}removeCellCtrl(e,t){const i={list:[],map:{}};return e.list.forEach((e=>{e!==t&&(i.list.push(e),i.map[e.getColumn().getInstanceId()]=e)})),i}onMouseEvent(e,t){switch(e){case"dblclick":this.onRowDblClick(t);break;case"click":this.onRowClick(t);break;case"touchstart":case"mousedown":this.onRowMouseDown(t)}}createRowEvent(e,t){return this.gos.addGridCommonParams({type:e,node:this.rowNode,data:this.rowNode.data,rowIndex:this.rowNode.rowIndex,rowPinned:this.rowNode.rowPinned,event:t})}createRowEventWithSource(e,t){const i=this.createRowEvent(e,t);return i.source=this,i}onRowDblClick(e){if(A(e))return;const t=this.createRowEventWithSource("rowDoubleClicked",e);this.beans.eventService.dispatchEvent(t)}onRowMouseDown(e){if(this.lastMouseDownOnDragger=ci(e.target,"ag-row-drag",3),!this.isFullWidth())return;const t=this.rowNode,i=this.beans.visibleColsService;this.beans.rangeService&&this.beans.rangeService.removeAllCellRanges();const a=this.getFullWidthElement(),n=e.target;let r=!0;a&&a.contains(n)&&ri(n)&&(r=!1),this.beans.focusService.setFocusedCell({rowIndex:t.rowIndex,column:i.getAllCols()[0],rowPinned:t.rowPinned,forceBrowserFocus:r})}onRowClick(e){if(A(e)||this.lastMouseDownOnDragger)return;const t=this.createRowEventWithSource("rowClicked",e);this.beans.eventService.dispatchEvent(t);const i=e.ctrlKey||e.metaKey,a=e.shiftKey;if(this.gos.get("groupSelectsChildren")&&this.rowNode.group||this.isRowSelectionBlocked()||this.gos.get("suppressRowClickSelection"))return;const n=this.gos.get("rowMultiSelectWithClick"),r=!this.gos.get("suppressRowDeselection"),o="rowClicked";if(this.rowNode.isSelected())n?this.rowNode.setSelectedParams({newValue:!1,event:e,source:o}):i?r&&this.rowNode.setSelectedParams({newValue:!1,event:e,source:o}):this.rowNode.setSelectedParams({newValue:!0,clearSelection:!a,rangeSelect:a,event:e,source:o});else{const t=!n&&!i;this.rowNode.setSelectedParams({newValue:!0,clearSelection:t,rangeSelect:a,event:e,source:o})}}isRowSelectionBlocked(){return!this.rowNode.selectable||!!this.rowNode.rowPinned||!this.gos.isRowSelection()}setupDetailRowAutoHeight(e){if("FullWidthDetail"!==this.rowType)return;if(!this.gos.get("detailRowAutoHeight"))return;const t=()=>{const t=e.clientHeight;if(null!=t&&t>0){const e=()=>{this.rowNode.setRowHeight(t),("clientSide"===this.beans.rowModel.getType()||"serverSide"===this.beans.rowModel.getType())&&this.beans.rowModel.onRowHeightChanged()};window.setTimeout(e,0)}},i=this.beans.resizeObserverService.observeResize(e,t);this.addDestroyFunc(i),t()}createFullWidthCompDetails(e,t){const{gos:i,rowNode:a}=this,n=i.addGridCommonParams({fullWidth:!0,data:a.data,node:a,value:a.key,valueFormatted:a.key,eGridCell:e,eParentOfValue:e,pinned:t,addRenderedRowListener:this.addEventListener.bind(this),registerRowDragger:(e,t,i,a)=>this.addFullWidthRowDragging(e,t,i,a),setTooltip:(e,t)=>this.refreshRowTooltip(e,t)}),r=this.beans.userComponentFactory;switch(this.rowType){case"FullWidthDetail":return r.getFullWidthDetailCellRendererDetails(n);case"FullWidthGroup":return r.getFullWidthGroupCellRendererDetails(n);case"FullWidthLoading":return r.getFullWidthLoadingCellRendererDetails(n);default:return r.getFullWidthCellRendererDetails(n)}}refreshRowTooltip(e,t){if(!this.fullWidthGui)return;const i={getGui:()=>this.fullWidthGui.element,getTooltipValue:()=>e,getLocation:()=>"fullWidthRow",shouldDisplayTooltip:t};this.tooltipFeature&&this.destroyBean(this.tooltipFeature,this.beans.context),this.tooltipFeature=this.createBean(new Gi(i,this.beans))}addFullWidthRowDragging(e,t,i="",a){if(!this.isFullWidth())return;const n=new Ja((()=>i),this.rowNode,void 0,e,t,a);this.createBean(n,this.beans.context),this.addDestroyFunc((()=>{this.destroyBean(n,this.beans.context)}))}onUiLevelChanged(){const e=this.beans.rowCssClassCalculator.calculateRowLevel(this.rowNode);if(this.rowLevel!=e){const t="ag-row-level-"+e,i="ag-row-level-"+this.rowLevel;this.allRowGuis.forEach((e=>{e.rowComp.addOrRemoveCssClass(t,!0),e.rowComp.addOrRemoveCssClass(i,!1)}))}this.rowLevel=e}isFirstRowOnPage(){return this.rowNode.rowIndex===this.beans.pageBoundsService.getFirstRow()}isLastRowOnPage(){return this.rowNode.rowIndex===this.beans.pageBoundsService.getLastRow()}refreshFirstAndLastRowStyles(){const e=this.isFirstRowOnPage(),t=this.isLastRowOnPage();this.firstRowOnPage!==e&&(this.firstRowOnPage=e,this.allRowGuis.forEach((t=>t.rowComp.addOrRemoveCssClass("ag-row-first",e)))),this.lastRowOnPage!==t&&(this.lastRowOnPage=t,this.allRowGuis.forEach((e=>e.rowComp.addOrRemoveCssClass("ag-row-last",t))))}stopEditing(e=!1){this.stoppingRowEdit||this.beans.rowEditService?.stopEditing(this,e)}setInlineEditingCss(e){this.allRowGuis.forEach((t=>{t.rowComp.addOrRemoveCssClass("ag-row-inline-editing",e),t.rowComp.addOrRemoveCssClass("ag-row-not-inline-editing",!e)}))}setEditingRow(e){this.editingRow=e}startRowEditing(e=null,t=null,i=null){this.editingRow||this.beans.rowEditService?.startEditing(this,e,t,i)}getAllCellCtrls(){if(0===this.leftCellCtrls.list.length&&0===this.rightCellCtrls.list.length)return this.centerCellCtrls.list;return[...this.centerCellCtrls.list,...this.leftCellCtrls.list,...this.rightCellCtrls.list]}postProcessClassesFromGridOptions(){const e=this.beans.rowCssClassCalculator.processClassesFromGridOptions(this.rowNode);e&&e.length&&e.forEach((e=>{this.allRowGuis.forEach((t=>t.rowComp.addOrRemoveCssClass(e,!0)))}))}postProcessRowClassRules(){this.beans.rowCssClassCalculator.processRowClassRules(this.rowNode,(e=>{this.allRowGuis.forEach((t=>t.rowComp.addOrRemoveCssClass(e,!0)))}),(e=>{this.allRowGuis.forEach((t=>t.rowComp.addOrRemoveCssClass(e,!1)))}))}setStylesFromGridOptions(e,t){e&&(this.rowStyles=this.processStylesFromGridOptions()),this.forEachGui(t,(e=>e.rowComp.setUserStyles(this.rowStyles)))}getPinnedForContainer(e){return"left"===e||"right"===e?e:null}getInitialRowClasses(e){const t=this.getPinnedForContainer(e),i={rowNode:this.rowNode,rowFocused:this.rowFocused,fadeRowIn:this.fadeInAnimation[e],rowIsEven:this.rowNode.rowIndex%2==0,rowLevel:this.rowLevel,fullWidthRow:this.isFullWidth(),firstRowOnPage:this.isFirstRowOnPage(),lastRowOnPage:this.isLastRowOnPage(),printLayout:this.printLayout,expandable:this.rowNode.isExpandable(),pinned:t};return this.beans.rowCssClassCalculator.getInitialRowClasses(i)}processStylesFromGridOptions(){const e=this.gos.get("rowStyle");if(e&&"function"==typeof e)return void de("rowStyle should be an object of key/value styles, not be a function, use getRowStyle() instead");const t=this.gos.getCallback("getRowStyle");let i;if(t){i=t({data:this.rowNode.data,node:this.rowNode,rowIndex:this.rowNode.rowIndex})}return i||e?Object.assign({},e,i):this.emptyStyle}onRowSelected(e){const t=!!this.rowNode.isSelected();this.forEachGui(e,(e=>{e.rowComp.addOrRemoveCssClass("ag-row-selected",t),_t(e.element,t);!e.element.contains(this.gos.getActiveDomElement())||e!==this.centerGui&&e!==this.fullWidthGui||this.announceDescription()}))}announceDescription(){if(this.isRowSelectionBlocked())return;const e=this.rowNode.isSelected();if(e&&this.gos.get("suppressRowDeselection"))return;const t=this.beans.localeService.getLocaleTextFunc()(e?"ariaRowDeselect":"ariaRowSelect",`Press SPACE to ${e?"deselect":"select"} this row.`);this.beans.ariaAnnouncementService.announceValue(t)}addHoverFunctionality(e){if(!this.active)return;const{rowNode:t,beans:i,gos:a}=this;this.addManagedListeners(e,{mouseenter:()=>t.onMouseEnter(),mouseleave:()=>t.onMouseLeave()}),this.addManagedListeners(t,{mouseEnter:()=>{i.dragService.isDragging()||a.get("suppressRowHoverHighlight")||(e.classList.add("ag-row-hover"),t.setHovered(!0))},mouseLeave:()=>{e.classList.remove("ag-row-hover"),t.setHovered(!1)}})}roundRowTopToBounds(e){const t=this.beans.ctrlsService.getGridBodyCtrl().getScrollFeature().getApproximateVScollPosition(),i=this.applyPaginationOffset(t.top,!0)-100,a=this.applyPaginationOffset(t.bottom,!0)+100;return Math.min(Math.max(i,e),a)}getFrameworkOverrides(){return this.beans.frameworkOverrides}forEachGui(e,t){e?t(e):this.allRowGuis.forEach(t)}onRowHeightChanged(e){if(null==this.rowNode.rowHeight)return;const t=this.rowNode.rowHeight,i=this.beans.environment.getDefaultRowHeight(),a=this.gos.isGetRowHeightFunction()?this.gos.getRowHeightForNode(this.rowNode).height:void 0,n=a?Math.min(i,a)-2+"px":void 0;this.forEachGui(e,(e=>{e.element.style.height=`${t}px`,n&&e.element.style.setProperty("--ag-line-height",n)}))}addEventListener(e,t){super.addEventListener(e,t)}removeEventListener(e,t){super.removeEventListener(e,t)}destroyFirstPass(e=!1){if(this.active=!1,!e&&this.gos.isAnimateRows()&&!this.isSticky()){if(null!=this.rowNode.rowTop){const e=this.roundRowTopToBounds(this.rowNode.rowTop);this.setRowTop(e)}else this.allRowGuis.forEach((e=>e.rowComp.addOrRemoveCssClass("ag-opacity-zero",!0)))}this.rowNode.setHovered(!1);const t=this.createRowEvent("virtualRowRemoved");this.dispatchLocalEvent(t),this.beans.eventService.dispatchEvent(t),super.destroy()}destroySecondPass(){this.allRowGuis.length=0,this.stopEditing();const e=e=>(e.list.forEach((e=>e.destroy())),{list:[],map:{}});this.centerCellCtrls=e(this.centerCellCtrls),this.leftCellCtrls=e(this.leftCellCtrls),this.rightCellCtrls=e(this.rightCellCtrls)}setFocusedClasses(e){this.forEachGui(e,(e=>{e.rowComp.addOrRemoveCssClass("ag-row-focus",this.rowFocused),e.rowComp.addOrRemoveCssClass("ag-row-no-focus",!this.rowFocused)}))}onCellFocusChanged(){const e=this.beans.focusService.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned);e!==this.rowFocused&&(this.rowFocused=e,this.setFocusedClasses()),!e&&this.editingRow&&this.stopEditing(!1)}onPaginationChanged(){const e=this.beans.paginationService?.getCurrentPage()??0;this.paginationPage!==e&&(this.paginationPage=e,this.onTopChanged()),this.refreshFirstAndLastRowStyles()}onTopChanged(){this.setRowTop(this.rowNode.rowTop)}onPaginationPixelOffsetChanged(){this.onTopChanged()}applyPaginationOffset(e,t=!1){if(this.rowNode.isRowPinned()||this.rowNode.sticky)return e;return e+this.beans.pageBoundsService.getPixelOffset()*(t?1:-1)}setRowTop(e){if(!this.printLayout&&N(e)){const t=this.applyPaginationOffset(e),i=`${this.rowNode.isRowPinned()||this.rowNode.sticky?t:this.beans.rowContainerHeightService.getRealPixelPosition(t)}px`;this.setRowTopStyle(i)}}getInitialRowTop(e){return this.suppressRowTransform?this.getInitialRowTopShared(e):void 0}getInitialTransform(e){return this.suppressRowTransform?void 0:`translateY(${this.getInitialRowTopShared(e)})`}getInitialRowTopShared(e){if(this.printLayout)return"";const t=this.rowNode;let i;if(this.isSticky())i=t.stickyRowTop;else{const a=this.slideInAnimation[e]?this.roundRowTopToBounds(t.oldRowTop):t.rowTop,n=this.applyPaginationOffset(a);i=t.isRowPinned()?n:this.beans.rowContainerHeightService.getRealPixelPosition(n)}return i+"px"}setRowTopStyle(e){this.allRowGuis.forEach((t=>this.suppressRowTransform?t.rowComp.setTop(e):t.rowComp.setTransform(`translateY(${e})`)))}getRowNode(){return this.rowNode}getCellCtrl(e){let t=null;return this.getAllCellCtrls().forEach((i=>{i.getColumn()==e&&(t=i)})),null!=t||this.getAllCellCtrls().forEach((i=>{i.getColSpanningList().indexOf(e)>=0&&(t=i)})),t}onRowIndexChanged(){null!=this.rowNode.rowIndex&&(this.onCellFocusChanged(),this.updateRowIndexes(),this.postProcessCss())}getRowIndex(){return this.rowNode.getRowIndexString()}updateRowIndexes(e){const t=this.rowNode.getRowIndexString();if(null===t)return;const i=this.beans.headerNavigationService.getHeaderRowCount()+(this.beans.filterManager?.getHeaderRowCount()??0),a=this.rowNode.rowIndex%2==0,n=i+this.rowNode.rowIndex+1;this.forEachGui(e,(e=>{e.rowComp.setRowIndex(t),e.rowComp.addOrRemoveCssClass("ag-row-even",a),e.rowComp.addOrRemoveCssClass("ag-row-odd",!a),zt(e.element,n)}))}setStoppingRowEdit(e){this.stoppingRowEdit=e}};Lo.DOM_DATA_KEY_ROW_CTRL="renderedRow";var No=Lo,Oo=class extends F{wireBeans(e){this.mouseEventService=e.mouseEventService,this.valueService=e.valueService,this.menuService=e.menuService,this.ctrlsService=e.ctrlsService,this.navigationService=e.navigationService,this.focusService=e.focusService,this.undoRedoService=e.undoRedoService,this.visibleColsService=e.visibleColsService,this.rowModel=e.rowModel,this.pinnedRowModel=e.pinnedRowModel,this.rangeService=e.rangeService,this.clipboardService=e.clipboardService}constructor(e){super(),this.element=e}postConstruct(){this.addKeyboardListeners(),this.addMouseListeners(),this.mockContextMenuForIPad()}addKeyboardListeners(){const e="keydown",t=this.processKeyboardEvent.bind(this,e);this.addManagedElementListeners(this.element,{[e]:t})}addMouseListeners(){["dblclick","contextmenu","mouseover","mouseout","click",E("touchstart")?"touchstart":"mousedown"].forEach((e=>{const t=this.processMouseEvent.bind(this,e);this.addManagedElementListeners(this.element,{[e]:t})}))}processMouseEvent(e,t){if(!this.mouseEventService.isEventFromThisGrid(t)||A(t))return;const i=this.getRowForEvent(t),a=this.mouseEventService.getRenderedCellForEvent(t);"contextmenu"===e?this.handleContextMenuMouseEvent(t,void 0,i,a):(a&&a.onMouseEvent(e,t),i&&i.onMouseEvent(e,t))}mockContextMenuForIPad(){if(!Qt())return;const e=new Ki(this.element);this.addManagedListeners(e,{longTap:e=>{const t=this.getRowForEvent(e.touchEvent),i=this.mouseEventService.getRenderedCellForEvent(e.touchEvent);this.handleContextMenuMouseEvent(void 0,e.touchEvent,t,i)}}),this.addDestroyFunc((()=>e.destroy()))}getRowForEvent(e){let t=e.target;for(;t;){const e=this.gos.getDomData(t,No.DOM_DATA_KEY_ROW_CTRL);if(e)return e;t=t.parentElement}return null}handleContextMenuMouseEvent(e,t,i,a){const n=i?i.getRowNode():null,r=a?a.getColumn():null;let o=null;if(r){const i=e||t;a.dispatchCellContextMenuEvent(i??null),o=this.valueService.getValue(r,n)}const s=this.ctrlsService.getGridBodyCtrl(),l=a?a.getGui():s.getGridBodyElement();this.menuService.showContextMenu({mouseEvent:e,touchEvent:t,rowNode:n,column:r,value:o,anchorToElement:l})}getControlsForEventTarget(e){return{cellCtrl:T(this.gos,e,Fo.DOM_DATA_KEY_CELL_CTRL),rowCtrl:T(this.gos,e,No.DOM_DATA_KEY_ROW_CTRL)}}processKeyboardEvent(e,t){const{cellCtrl:i,rowCtrl:a}=this.getControlsForEventTarget(t.target);t.defaultPrevented||(i?this.processCellKeyboardEvent(i,e,t):a&&a.isFullWidth()&&this.processFullWidthRowKeyboardEvent(a,e,t))}processCellKeyboardEvent(e,t,i){const a=e.getRowNode(),n=e.getColumn(),r=e.isEditing();if(!Rn(this.gos,i,a,n,r)&&"keydown"===t){!r&&this.navigationService.handlePageScrollingKey(i)||e.onKeyDown(i),this.doGridOperations(i,e.isEditing()),Mn(i)&&e.processCharacter(i)}if("keydown"===t){const t=e.createEvent(i,"cellKeyDown");this.eventService.dispatchEvent(t)}}processFullWidthRowKeyboardEvent(e,t,i){const a=e.getRowNode(),n=this.focusService.getFocusedCell(),r=n&&n.column;if(!Rn(this.gos,i,a,r,!1)){const a=i.key;if("keydown"===t)switch(a){case ia.PAGE_HOME:case ia.PAGE_END:case ia.PAGE_UP:case ia.PAGE_DOWN:this.navigationService.handlePageScrollingKey(i,!0);break;case ia.UP:case ia.DOWN:e.onKeyboardNavigate(i);break;case ia.TAB:e.onTabKeyDown(i)}}if("keydown"===t){const t=e.createRowEvent("cellKeyDown",i);this.eventService.dispatchEvent(t)}}doGridOperations(e,t){if(!e.ctrlKey&&!e.metaKey)return;if(t)return;if(!this.mouseEventService.isEventFromThisGrid(e))return;const i=function(e){const{keyCode:t}=e;let i;switch(t){case 65:i=ia.A;break;case 67:i=ia.C;break;case 86:i=ia.V;break;case 68:i=ia.D;break;case 90:i=ia.Z;break;case 89:i=ia.Y;break;default:i=e.code}return i}(e);return i===ia.A?this.onCtrlAndA(e):i===ia.C?this.onCtrlAndC(e):i===ia.D?this.onCtrlAndD(e):i===ia.V?this.onCtrlAndV(e):i===ia.X?this.onCtrlAndX(e):i===ia.Y?this.onCtrlAndY():i===ia.Z?this.onCtrlAndZ(e):void 0}onCtrlAndA(e){const{pinnedRowModel:t,rowModel:i,rangeService:a}=this;if(a&&i.isRowsToRender()){const[e,n]=[t.isEmpty("top"),t.isEmpty("bottom")],r=e?null:"top";let o,s;n?(o=null,s=i.getRowCount()-1):(o="bottom",s=t.getPinnedBottomRowNodes().length-1);const l=this.visibleColsService.getAllCols();if(z(l))return;a.setCellRange({rowStartIndex:0,rowStartPinned:r,rowEndIndex:s,rowEndPinned:o,columnStart:l[0],columnEnd:h(l)})}e.preventDefault()}onCtrlAndC(e){if(!this.clipboardService||this.gos.get("enableCellTextSelection"))return;const{cellCtrl:t,rowCtrl:i}=this.getControlsForEventTarget(e.target);t?.isEditing()||i?.isEditing()||(e.preventDefault(),this.clipboardService.copyToClipboard())}onCtrlAndX(e){if(!this.clipboardService||this.gos.get("enableCellTextSelection")||this.gos.get("suppressCutToClipboard"))return;const{cellCtrl:t,rowCtrl:i}=this.getControlsForEventTarget(e.target);t?.isEditing()||i?.isEditing()||(e.preventDefault(),this.clipboardService.cutToClipboard(void 0,"ui"))}onCtrlAndV(e){const{cellCtrl:t,rowCtrl:i}=this.getControlsForEventTarget(e.target);t?.isEditing()||i?.isEditing()||this.clipboardService&&!this.gos.get("suppressClipboardPaste")&&this.clipboardService.pasteFromClipboard()}onCtrlAndD(e){this.clipboardService&&!this.gos.get("suppressClipboardPaste")&&this.clipboardService.copyRangeDown(),e.preventDefault()}onCtrlAndZ(e){this.gos.get("undoRedoCellEditing")&&this.undoRedoService&&(e.preventDefault(),e.shiftKey?this.undoRedoService.redo("ui"):this.undoRedoService.undo("ui"))}onCtrlAndY(){this.undoRedoService?.redo("ui")}},zo=class extends F{wireBeans(e){this.pinnedWidthService=e.pinnedWidthService}constructor(e){super(),this.element=e}postConstruct(){this.addManagedEventListeners({leftPinnedWidthChanged:this.onPinnedLeftWidthChanged.bind(this)})}onPinnedLeftWidthChanged(){const e=this.pinnedWidthService.getPinnedLeftWidth(),t=e>0;oi(this.element,t),Ai(this.element,e)}getWidth(){return this.pinnedWidthService.getPinnedLeftWidth()}},Go=class extends F{wireBeans(e){this.pinnedWidthService=e.pinnedWidthService}constructor(e){super(),this.element=e}postConstruct(){this.addManagedEventListeners({rightPinnedWidthChanged:this.onPinnedRightWidthChanged.bind(this)})}onPinnedRightWidthChanged(){const e=this.pinnedWidthService.getPinnedRightWidth(),t=e>0;oi(this.element,t),Ai(this.element,e)}getWidth(){return this.pinnedWidthService.getPinnedRightWidth()}},Bo=e=>e.getTopRowCtrls(),Vo=e=>e.getStickyTopRowCtrls(),Ho=e=>e.getStickyBottomRowCtrls(),Wo=e=>e.getBottomRowCtrls(),_o=e=>e.getCentreRowCtrls(),qo={center:{type:"center",container:"ag-center-cols-container",viewport:"ag-center-cols-viewport",getRowCtrls:_o},left:{type:"left",container:"ag-pinned-left-cols-container",pinnedType:"left",getRowCtrls:_o},right:{type:"right",container:"ag-pinned-right-cols-container",pinnedType:"right",getRowCtrls:_o},fullWidth:{type:"fullWidth",container:"ag-full-width-container",fullWidth:!0,getRowCtrls:_o},topCenter:{type:"center",container:"ag-floating-top-container",viewport:"ag-floating-top-viewport",getRowCtrls:Bo},topLeft:{type:"left",container:"ag-pinned-left-floating-top",pinnedType:"left",getRowCtrls:Bo},topRight:{type:"right",container:"ag-pinned-right-floating-top",pinnedType:"right",getRowCtrls:Bo},topFullWidth:{type:"fullWidth",container:"ag-floating-top-full-width-container",fullWidth:!0,getRowCtrls:Bo},stickyTopCenter:{type:"center",container:"ag-sticky-top-container",viewport:"ag-sticky-top-viewport",getRowCtrls:Vo},stickyTopLeft:{type:"left",container:"ag-pinned-left-sticky-top",pinnedType:"left",getRowCtrls:Vo},stickyTopRight:{type:"right",container:"ag-pinned-right-sticky-top",pinnedType:"right",getRowCtrls:Vo},stickyTopFullWidth:{type:"fullWidth",container:"ag-sticky-top-full-width-container",fullWidth:!0,getRowCtrls:Vo},stickyBottomCenter:{type:"center",container:"ag-sticky-bottom-container",viewport:"ag-sticky-bottom-viewport",getRowCtrls:Ho},stickyBottomLeft:{type:"left",container:"ag-pinned-left-sticky-bottom",pinnedType:"left",getRowCtrls:Ho},stickyBottomRight:{type:"right",container:"ag-pinned-right-sticky-bottom",pinnedType:"right",getRowCtrls:Ho},stickyBottomFullWidth:{type:"fullWidth",container:"ag-sticky-bottom-full-width-container",fullWidth:!0,getRowCtrls:Ho},bottomCenter:{type:"center",container:"ag-floating-bottom-container",viewport:"ag-floating-bottom-viewport",getRowCtrls:Wo},bottomLeft:{type:"left",container:"ag-pinned-left-floating-bottom",pinnedType:"left",getRowCtrls:Wo},bottomRight:{type:"right",container:"ag-pinned-right-floating-bottom",pinnedType:"right",getRowCtrls:Wo},bottomFullWidth:{type:"fullWidth",container:"ag-floating-bottom-full-width-container",fullWidth:!0,getRowCtrls:Wo}};function Uo(e){return qo[e]}var Ko=["center","left","right","fullWidth"],jo=["stickyTopCenter","stickyBottomCenter","center","topCenter","bottomCenter"],Yo=["left","bottomLeft","topLeft","stickyTopLeft","stickyBottomLeft"],$o=["right","bottomRight","topRight","stickyTopRight","stickyBottomRight"],Zo=["stickyTopCenter","stickyTopLeft","stickyTopRight"],Xo=["stickyBottomCenter","stickyBottomLeft","stickyBottomRight"],Qo=[...Zo,"stickyTopFullWidth",...Xo,"stickyBottomFullWidth"],Jo=["topCenter","topLeft","topRight","bottomCenter","bottomLeft","bottomRight","center","left","right",...Zo,...Xo],es=class extends F{constructor(e){super(),this.visible=!0,this.EMPTY_CTRLS=[],this.name=e,this.options=Uo(e)}wireBeans(e){this.dragService=e.dragService,this.ctrlsService=e.ctrlsService,this.columnViewportService=e.columnViewportService,this.resizeObserverService=e.resizeObserverService,this.rowRenderer=e.rowRenderer}postConstruct(){this.enableRtl=this.gos.get("enableRtl"),this.forContainers(["center"],(()=>{this.viewportSizeFeature=this.createManagedBean(new yo(this)),this.addManagedEventListeners({stickyTopOffsetChanged:this.onStickyTopOffsetChanged.bind(this)})}))}onStickyTopOffsetChanged(e){this.comp.setOffsetTop(`${e.offset}px`)}registerWithCtrlsService(){this.options.fullWidth||this.ctrlsService.register(this.name,this)}forContainers(e,t){e.indexOf(this.name)>=0&&t()}getContainerElement(){return this.eContainer}getViewportSizeFeature(){return this.viewportSizeFeature}setComp(e,t,i){this.comp=e,this.eContainer=t,this.eViewport=i,this.createManagedBean(new Oo(this.eContainer)),this.addPreventScrollWhileDragging(),this.listenOnDomOrder(),this.stopHScrollOnPinnedRows(),this.forContainers(Yo,(()=>{this.pinnedWidthFeature=this.createManagedBean(new zo(this.eContainer)),this.addManagedEventListeners({leftPinnedWidthChanged:()=>this.onPinnedWidthChanged()})})),this.forContainers($o,(()=>{this.pinnedWidthFeature=this.createManagedBean(new Go(this.eContainer)),this.addManagedEventListeners({rightPinnedWidthChanged:()=>this.onPinnedWidthChanged()})})),this.forContainers(Ko,(()=>this.createManagedBean(new co(this.eContainer,"center"===this.name?i:void 0)))),this.forContainers(Jo,(()=>this.createManagedBean(new bo(this.eContainer)))),this.forContainers(jo,(()=>this.createManagedBean(new Or((e=>this.comp.setContainerWidth(`${e}px`)))))),this.addListeners(),this.registerWithCtrlsService()}addListeners(){this.addManagedEventListeners({displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),displayedColumnsWidthChanged:this.onDisplayedColumnsWidthChanged.bind(this),displayedRowsChanged:e=>this.onDisplayedRowsChanged(e.afterScroll)}),this.onDisplayedColumnsChanged(),this.onDisplayedColumnsWidthChanged(),this.onDisplayedRowsChanged()}listenOnDomOrder(){if(Qo.indexOf(this.name)>=0)return void this.comp.setDomOrder(!0);const e=()=>{const e=this.gos.get("ensureDomOrder"),t=this.gos.isDomLayout("print");this.comp.setDomOrder(e||t)};this.addManagedPropertyListener("domLayout",e),e()}stopHScrollOnPinnedRows(){this.forContainers(["topCenter","stickyTopCenter","bottomCenter","stickyBottomCenter"],(()=>{this.addManagedElementListeners(this.eViewport,{scroll:()=>this.eViewport.scrollLeft=0})}))}onDisplayedColumnsChanged(){this.forContainers(["center"],(()=>this.onHorizontalViewportChanged()))}onDisplayedColumnsWidthChanged(){this.forContainers(["center"],(()=>this.onHorizontalViewportChanged()))}addPreventScrollWhileDragging(){const e=e=>{this.dragService.isDragging()&&e.cancelable&&e.preventDefault()};this.eContainer.addEventListener("touchmove",e,{passive:!1}),this.addDestroyFunc((()=>this.eContainer.removeEventListener("touchmove",e)))}onHorizontalViewportChanged(e=!1){const t=this.getCenterWidth(),i=this.getCenterViewportScrollLeft();this.columnViewportService.setScrollPosition(t,i,e)}getCenterWidth(){return ui(this.eViewport)}getCenterViewportScrollLeft(){return vi(this.eViewport,this.enableRtl)}registerViewportResizeListener(e){const t=this.resizeObserverService.observeResize(this.eViewport,e);this.addDestroyFunc((()=>t()))}isViewportInTheDOMTree(){return wi(this.eViewport)}getViewportScrollLeft(){return vi(this.eViewport,this.enableRtl)}isHorizontalScrollShowing(){return this.gos.get("alwaysShowHorizontalScroll")||(e=this.eViewport).clientWidth<e.scrollWidth;var e}getViewportElement(){return this.eViewport}setContainerTranslateX(e){this.eContainer.style.transform=`translateX(${e}px)`}getHScrollPosition(){return{left:this.eViewport.scrollLeft,right:this.eViewport.scrollLeft+this.eViewport.offsetWidth}}setCenterViewportScrollLeft(e){yi(this.eViewport,e,this.enableRtl)}isContainerVisible(){return!(null!=this.options.pinnedType)||!!this.pinnedWidthFeature&&this.pinnedWidthFeature.getWidth()>0}onPinnedWidthChanged(){const e=this.isContainerVisible();this.visible!=e&&(this.visible=e,this.onDisplayedRowsChanged())}onDisplayedRowsChanged(e=!1){const t=this.options.getRowCtrls(this.rowRenderer);if(!this.visible||0===t.length)return void this.comp.setRowCtrls({rowCtrls:this.EMPTY_CTRLS});const i=this.gos.isDomLayout("print"),a=this.gos.get("embedFullWidthRows")||i,n=t.filter((e=>{const t=e.isFullWidth();return this.options.fullWidth?!a&&t:a||!t}));this.comp.setRowCtrls({rowCtrls:n,useFlushSync:e})}};var ts=class extends Hi{constructor(){super(),this.eViewport=Vi,this.eContainer=Vi,this.rowComps={},this.name=Hi.elementGettingCreated.getAttribute("name"),this.options=Uo(this.name),this.setTemplate(function(e){let t;return t="center"===e.type?`<div class="${e.viewport}" data-ref="eViewport" role="presentation">\n <div class="${e.container}" data-ref="eContainer"></div>\n </div>`:`<div class="${e.container}" data-ref="eContainer"></div>`,t}(this.options))}wireBeans(e){this.beans=e}postConstruct(){const e={setViewportHeight:e=>this.eViewport.style.height=e,setRowCtrls:({rowCtrls:e})=>this.setRowCtrls(e),setDomOrder:e=>{this.domOrder=e},setContainerWidth:e=>this.eContainer.style.width=e,setOffsetTop:e=>this.eContainer.style.transform=`translateY(${e})`};this.createManagedBean(new es(this.name)).setComp(e,this.eContainer,this.eViewport)}destroy(){this.setRowCtrls([]),super.destroy()}setRowCtrls(e){const t={...this.rowComps};this.rowComps={},this.lastPlacedElement=null;e.forEach((e=>{const i=e.getInstanceId(),a=t[i];if(a)this.rowComps[i]=a,delete t[i],this.ensureDomOrder(a.getGui());else{if(!e.getRowNode().displayed)return;const t=new vo(e,this.beans,this.options.type);this.rowComps[i]=t,this.appendRow(t.getGui())}})),$(t).forEach((e=>{this.eContainer.removeChild(e.getGui()),e.destroy()})),St(this.eContainer,"rowgroup")}appendRow(e){var t,i,a;this.domOrder?(t=this.eContainer,i=e,(a=this.lastPlacedElement)?a.insertAdjacentElement("afterend",i):t.firstChild?t.insertAdjacentElement("afterbegin",i):t.appendChild(i)):this.eContainer.appendChild(e),this.lastPlacedElement=e}ensureDomOrder(e){this.domOrder&&(ki(this.eContainer,e,this.lastPlacedElement),this.lastPlacedElement=e)}},is={selector:"AG-ROW-CONTAINER",component:ts};function as(e){return e.map((e=>`<ag-row-container name="${e}"></ag-row-container>`)).join("")}var ns=`<div class="ag-root ag-unselectable" role="treegrid">\n <ag-header-root></ag-header-root>\n <div class="ag-floating-top" data-ref="eTop" role="presentation">\n ${as(["topLeft","topCenter","topRight","topFullWidth"])}\n </div>\n <div class="ag-body" data-ref="eBody" role="presentation">\n <div class="ag-body-viewport" data-ref="eBodyViewport" role="presentation">\n ${as(["left","center","right","fullWidth"])}\n </div>\n <ag-fake-vertical-scroll></ag-fake-vertical-scroll>\n </div>\n <div class="ag-sticky-top" data-ref="eStickyTop" role="presentation">\n ${as(["stickyTopLeft","stickyTopCenter","stickyTopRight","stickyTopFullWidth"])}\n </div>\n <div class="ag-sticky-bottom" data-ref="eStickyBottom" role="presentation">\n ${as(["stickyBottomLeft","stickyBottomCenter","stickyBottomRight","stickyBottomFullWidth"])}\n </div>\n <div class="ag-floating-bottom" data-ref="eBottom" role="presentation">\n ${as(["bottomLeft","bottomCenter","bottomRight","bottomFullWidth"])}\n </div>\n <ag-fake-horizontal-scroll></ag-fake-horizontal-scroll>\n <ag-overlay-wrapper></ag-overlay-wrapper>\n </div>`,rs=class extends Hi{constructor(){super(ns,[ro,lo,uo,to,is]),this.eBodyViewport=Vi,this.eStickyTop=Vi,this.eStickyBottom=Vi,this.eTop=Vi,this.eBottom=Vi,this.eBody=Vi}wireBeans(e){this.resizeObserverService=e.resizeObserverService,this.rangeService=e.rangeService}postConstruct(){const e=(e,t)=>{const i=`${e}px`;t.style.minHeight=i,t.style.height=i},t={setRowAnimationCssOnBodyViewport:(e,t)=>this.setRowAnimationCssOnBodyViewport(e,t),setColumnCount:e=>Gt(this.getGui(),e),setRowCount:e=>Ot(this.getGui(),e),setTopHeight:t=>e(t,this.eTop),setBottomHeight:t=>e(t,this.eBottom),setTopDisplay:e=>this.eTop.style.display=e,setBottomDisplay:e=>this.eBottom.style.display=e,setStickyTopHeight:e=>this.eStickyTop.style.height=e,setStickyTopTop:e=>this.eStickyTop.style.top=e,setStickyTopWidth:e=>this.eStickyTop.style.width=e,setStickyBottomHeight:e=>this.eStickyBottom.style.height=e,setStickyBottomBottom:e=>this.eStickyBottom.style.bottom=e,setStickyBottomWidth:e=>this.eStickyBottom.style.width=e,setColumnMovingCss:(e,t)=>this.addOrRemoveCssClass(e,t),updateLayoutClasses:(e,t)=>{[this.eBodyViewport.classList,this.eBody.classList].forEach((e=>{e.toggle("ag-layout-auto-height",t.autoHeight),e.toggle("ag-layout-normal",t.normal),e.toggle("ag-layout-print",t.print)})),this.addOrRemoveCssClass("ag-layout-auto-height",t.autoHeight),this.addOrRemoveCssClass("ag-layout-normal",t.normal),this.addOrRemoveCssClass("ag-layout-print",t.print)},setAlwaysVerticalScrollClass:(e,t)=>this.eBodyViewport.classList.toggle(po,t),registerBodyViewportResizeListener:e=>{const t=this.resizeObserverService.observeResize(this.eBodyViewport,e);this.addDestroyFunc((()=>t()))},setPinnedTopBottomOverflowY:e=>this.eTop.style.overflowY=this.eBottom.style.overflowY=e,setCellSelectableCss:(e,t)=>{[this.eTop,this.eBodyViewport,this.eBottom].forEach((i=>i.classList.toggle(e,t)))},setBodyViewportWidth:e=>this.eBodyViewport.style.width=e};this.ctrl=this.createManagedBean(new mo),this.ctrl.setComp(t,this.getGui(),this.eBodyViewport,this.eTop,this.eBottom,this.eStickyTop,this.eStickyBottom),(this.rangeService&&this.gos.get("enableRangeSelection")||"multiple"===this.gos.get("rowSelection"))&&bt(this.getGui(),"multiselectable",!0)}setRowAnimationCssOnBodyViewport(e,t){const i=this.eBodyViewport.classList;i.toggle("ag-row-animation",t),i.toggle("ag-row-no-animation",!t)}getFloatingTopBottom(){return[this.eTop,this.eBottom]}},os={selector:"AG-GRID-BODY",component:rs},ss=class extends F{constructor(){super(...arguments),this.beanName="scrollVisibleService"}wireBeans(e){this.ctrlsService=e.ctrlsService,this.columnAnimationService=e.columnAnimationService}postConstruct(){this.addManagedEventListeners({displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),displayedColumnsWidthChanged:this.onDisplayedColumnsWidthChanged.bind(this)})}onDisplayedColumnsChanged(){this.update()}onDisplayedColumnsWidthChanged(){this.update()}update(){this.columnAnimationService.isActive()?this.columnAnimationService.executeLaterVMTurn((()=>{this.columnAnimationService.executeLaterVMTurn((()=>this.updateImpl()))})):this.updateImpl()}updateImpl(){const e=this.ctrlsService.get("center");if(!e||this.columnAnimationService.isActive())return;const t={horizontalScrollShowing:e.isHorizontalScrollShowing(),verticalScrollShowing:this.isVerticalScrollShowing()};this.setScrollsVisible(t)}setScrollsVisible(e){if(this.horizontalScrollShowing!==e.horizontalScrollShowing||this.verticalScrollShowing!==e.verticalScrollShowing){this.horizontalScrollShowing=e.horizontalScrollShowing,this.verticalScrollShowing=e.verticalScrollShowing;const t={type:"scrollVisibilityChanged"};this.eventService.dispatchEvent(t)}}isHorizontalScrollShowing(){return this.horizontalScrollShowing}isVerticalScrollShowing(){return this.verticalScrollShowing}},ls="__ag_grid_instance",cs=class e extends F{constructor(){super(...arguments),this.beanName="mouseEventService",this.gridInstanceId=e.gridInstanceSequence.next()}wireBeans(e){this.ctrlsService=e.ctrlsService}stampTopLevelGridCompWithGridInstance(e){e[ls]=this.gridInstanceId}getRenderedCellForEvent(e){return T(this.gos,e.target,Fo.DOM_DATA_KEY_CELL_CTRL)}isEventFromThisGrid(e){return this.isElementInThisGrid(e.target)}isElementInThisGrid(e){let t=e;for(;t;){const e=t[ls];if(N(e)){return e===this.gridInstanceId}t=t.parentElement}return!1}getCellPositionForEvent(e){const t=this.getRenderedCellForEvent(e);return t?t.getCellPosition():null}getNormalisedPosition(e){const t=this.gos.isDomLayout("normal"),i=e;let a,n;if(null!=i.clientX||null!=i.clientY?(a=i.clientX,n=i.clientY):(a=i.x,n=i.y),t){const e=this.ctrlsService.getGridBodyCtrl(),t=e.getScrollFeature().getVScrollPosition();a+=e.getScrollFeature().getHScrollPosition().left,n+=t.top}return{x:a,y:n}}};cs.gridInstanceSequence=new Ni;var ds=cs,hs=class extends F{constructor(){super(),this.beanName="navigationService",this.onPageDown=ye(this.onPageDown,100),this.onPageUp=ye(this.onPageUp,100)}wireBeans(e){this.mouseEventService=e.mouseEventService,this.pageBoundsService=e.pageBoundsService,this.focusService=e.focusService,this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.rowModel=e.rowModel,this.ctrlsService=e.ctrlsService,this.rowRenderer=e.rowRenderer,this.headerNavigationService=e.headerNavigationService,this.rowPositionUtils=e.rowPositionUtils,this.cellNavigationService=e.cellNavigationService,this.pinnedRowModel=e.pinnedRowModel,this.rangeService=e.rangeService}postConstruct(){this.ctrlsService.whenReady((e=>{this.gridBodyCon=e.gridBodyCtrl}))}handlePageScrollingKey(e,t=!1){const i=e.key,a=e.altKey,n=e.ctrlKey||e.metaKey,r=!!this.rangeService&&e.shiftKey,o=this.mouseEventService.getCellPositionForEvent(e);let s=!1;switch(i){case ia.PAGE_HOME:case ia.PAGE_END:n||a||(this.onHomeOrEndKey(i),s=!0);break;case ia.LEFT:case ia.RIGHT:case ia.UP:case ia.DOWN:if(!o)return!1;!n||a||r||(this.onCtrlUpDownLeftRight(i,o),s=!0);break;case ia.PAGE_DOWN:case ia.PAGE_UP:n||a||(s=this.handlePageUpDown(i,o,t))}return s&&e.preventDefault(),s}handlePageUpDown(e,t,i){return i&&(t=this.focusService.getFocusedCell()),!!t&&(e===ia.PAGE_UP?this.onPageUp(t):this.onPageDown(t),!0)}navigateTo(e){const{scrollIndex:t,scrollType:i,scrollColumn:a,focusIndex:n,focusColumn:r}=e;N(a)&&!a.isPinned()&&this.gridBodyCon.getScrollFeature().ensureColumnVisible(a),N(t)&&this.gridBodyCon.getScrollFeature().ensureIndexVisible(t,i),e.isAsync||this.gridBodyCon.getScrollFeature().ensureIndexVisible(n),this.focusService.setFocusedCell({rowIndex:n,column:r,rowPinned:null,forceBrowserFocus:!0}),this.rangeService?.setRangeToCell({rowIndex:n,rowPinned:null,column:r})}onPageDown(e){const t=this.ctrlsService.getGridBodyCtrl().getScrollFeature().getVScrollPosition(),i=this.getViewportHeight(),a=this.pageBoundsService.getPixelOffset(),n=t.top+i,r=this.rowModel.getRowIndexAtPixel(n+a);this.columnModel.isAutoRowHeightActive()?this.navigateToNextPageWithAutoHeight(e,r):this.navigateToNextPage(e,r)}onPageUp(e){const t=this.ctrlsService.getGridBodyCtrl().getScrollFeature().getVScrollPosition(),i=this.pageBoundsService.getPixelOffset(),a=t.top,n=this.rowModel.getRowIndexAtPixel(a+i);this.columnModel.isAutoRowHeightActive()?this.navigateToNextPageWithAutoHeight(e,n,!0):this.navigateToNextPage(e,n,!0)}navigateToNextPage(e,t,i=!1){const a=this.getViewportHeight(),n=this.pageBoundsService.getFirstRow(),r=this.pageBoundsService.getLastRow(),o=this.pageBoundsService.getPixelOffset(),s=this.rowModel.getRow(e.rowIndex),l=i?s?.rowHeight-a-o:a-o,c=s?.rowTop+l;let d,h=this.rowModel.getRowIndexAtPixel(c+o);if(h===e.rowIndex){const a=i?-1:1;t=h=e.rowIndex+a}i?(d="bottom",h<n&&(h=n),t<n&&(t=n)):(d="top",h>r&&(h=r),t>r&&(t=r)),this.isRowTallerThanView(h)&&(t=h,d="top"),this.navigateTo({scrollIndex:t,scrollType:d,scrollColumn:null,focusIndex:h,focusColumn:e.column})}navigateToNextPageWithAutoHeight(e,t,i=!1){this.navigateTo({scrollIndex:t,scrollType:i?"bottom":"top",scrollColumn:null,focusIndex:t,focusColumn:e.column}),setTimeout((()=>{const a=this.getNextFocusIndexForAutoHeight(e,i);this.navigateTo({scrollIndex:t,scrollType:i?"bottom":"top",scrollColumn:null,focusIndex:a,focusColumn:e.column,isAsync:!0})}),50)}getNextFocusIndexForAutoHeight(e,t=!1){const i=t?-1:1,a=this.getViewportHeight(),n=this.pageBoundsService.getLastRow();let r=0,o=e.rowIndex;for(;o>=0&&o<=n;){const e=this.rowModel.getRow(o);if(e){const t=e.rowHeight??0;if(r+t>a)break;r+=t}o+=i}return Math.max(0,Math.min(o,n))}getViewportHeight(){const{gridBodyCtrl:e,center:t}=this.ctrlsService.getParams(),i=e.getScrollFeature().getVScrollPosition(),a=this.gos.getScrollbarWidth();let n=i.bottom-i.top;return t.isHorizontalScrollShowing()&&(n-=a),n}isRowTallerThanView(e){const t=this.rowModel.getRow(e);if(!t)return!1;const i=t.rowHeight;return"number"==typeof i&&i>this.getViewportHeight()}onCtrlUpDownLeftRight(e,t){const i=this.cellNavigationService.getNextCellToFocus(e,t,!0),{rowIndex:a}=i,n=i.column;this.navigateTo({scrollIndex:a,scrollType:null,scrollColumn:n,focusIndex:a,focusColumn:n})}onHomeOrEndKey(e){const t=e===ia.PAGE_HOME,i=this.visibleColsService.getAllCols(),a=t?i[0]:h(i),n=t?this.pageBoundsService.getFirstRow():this.pageBoundsService.getLastRow();this.navigateTo({scrollIndex:n,scrollType:null,scrollColumn:a,focusIndex:n,focusColumn:a})}onTabKeyDown(e,t){const i=t.shiftKey,a=this.tabToNextCellCommon(e,i,t);if(!1===a)if(i){const{rowIndex:i,rowPinned:a}=e.getRowPosition();(a?0===i:i===this.pageBoundsService.getFirstRow())&&(0===this.gos.get("headerHeight")||this.gos.get("suppressHeaderFocus")?this.focusService.focusNextGridCoreContainer(!0,!0):(t.preventDefault(),this.focusService.focusPreviousFromFirstCell(t)))}else e instanceof Fo&&e.focusCell(!0),this.focusService.focusNextGridCoreContainer(i)&&t.preventDefault();else a&&t.preventDefault()}tabToNextCell(e,t){const i=this.focusService.getFocusedCell();if(!i)return!1;let a=this.getCellByPosition(i);return!!(a||(a=this.rowRenderer.getRowByPosition(i),a&&a.isFullWidth()))&&!!this.tabToNextCellCommon(a,e,t)}tabToNextCellCommon(e,t,i){let a,n=e.isEditing();if(!n&&e instanceof Fo){const t=e.getRowCtrl();t&&(n=t.isEditing())}return a=n?"fullRow"===this.gos.get("editType")?this.moveToNextEditingRow(e,t,i):this.moveToNextEditingCell(e,t,i):this.moveToNextCellNotEditing(e,t),null===a?a:a||!!this.focusService.getFocusedHeader()}moveToNextEditingCell(e,t,i=null){const a=e.getCellPosition();e.getGui().focus(),e.stopEditing();const n=this.findNextCellToFocusOn(a,t,!0);return!1===n?null:null!=n&&(n.startEditing(null,!0,i),n.focusCell(!1),!0)}moveToNextEditingRow(e,t,i=null){const a=e.getCellPosition(),n=this.findNextCellToFocusOn(a,t,!0);if(!1===n)return null;if(null==n)return!1;const r=n.getCellPosition(),o=this.isCellEditable(a),s=this.isCellEditable(r),l=r&&a.rowIndex===r.rowIndex&&a.rowPinned===r.rowPinned;if(o&&e.setFocusOutOnEditor(),!l){e.getRowCtrl().stopEditing();n.getRowCtrl().startRowEditing(void 0,void 0,i)}return s?(n.setFocusInOnEditor(),n.focusCell()):n.focusCell(!0),!0}moveToNextCellNotEditing(e,t){const i=this.visibleColsService.getAllCols();let a;a=e instanceof No?{...e.getRowPosition(),column:t?i[0]:h(i)}:e.getCellPosition();const n=this.findNextCellToFocusOn(a,t,!1);if(!1===n)return null;if(n instanceof Fo)n.focusCell(!0);else if(n)return this.tryToFocusFullWidthRow(n.getRowPosition(),t);return N(n)}findNextCellToFocusOn(e,t,i){let a=e;for(;;){e!==a&&(e=a),t||(a=this.getLastCellOfColSpan(a)),a=this.cellNavigationService.getNextTabbedCell(a,t);const n=this.gos.getCallback("tabToNextCell");if(N(n)){const r=n({backwards:t,editing:i,previousCellPosition:e,nextCellPosition:a||null});if(!0===r||null===r)null===r&&de("Returning `null` from tabToNextCell is deprecated. Return `true` to stay on the current cell, or `false` to let the browser handle the tab behaviour."),a=e;else{if(!1===r)return!1;a={rowIndex:r.rowIndex,column:r.column,rowPinned:r.rowPinned}}}if(!a)return null;if(a.rowIndex<0){const e=this.headerNavigationService.getHeaderRowCount();return this.focusService.focusHeaderPosition({headerPosition:{headerRowIndex:e+a.rowIndex,column:a.column},fromCell:!0}),null}const r="fullRow"===this.gos.get("editType");if(i&&!r){if(!this.isCellEditable(a))continue}this.ensureCellVisible(a);const o=this.getCellByPosition(a);if(!o){const e=this.rowRenderer.getRowByPosition(a);if(!e||!e.isFullWidth()||i)continue;return e}if(!o.isSuppressNavigable())return this.rangeService?.setRangeToCell(a),o}}isCellEditable(e){const t=this.lookupRowNodeForCell(e);return!!t&&e.column.isCellEditable(t)}getCellByPosition(e){const t=this.rowRenderer.getRowByPosition(e);return t?t.getCellCtrl(e.column):null}lookupRowNodeForCell(e){return"top"===e.rowPinned?this.pinnedRowModel.getPinnedTopRow(e.rowIndex):"bottom"===e.rowPinned?this.pinnedRowModel.getPinnedBottomRow(e.rowIndex):this.rowModel.getRow(e.rowIndex)}navigateToNextCell(e,t,i,a){let n=i,r=!1;for(;n&&(n===i||!this.isValidNavigateCell(n));)this.gos.get("enableRtl")?t===ia.LEFT&&(n=this.getLastCellOfColSpan(n)):t===ia.RIGHT&&(n=this.getLastCellOfColSpan(n)),n=this.cellNavigationService.getNextCellToFocus(t,n),r=O(n);if(r&&e&&e.key===ia.UP&&(n={rowIndex:-1,rowPinned:null,column:i.column}),a){const a=this.gos.getCallback("navigateToNextCell");if(N(a)){const r=a({key:t,previousCellPosition:i,nextCellPosition:n||null,event:e});n=N(r)?{rowPinned:r.rowPinned,rowIndex:r.rowIndex,column:r.column}:null}}if(!n)return;if(n.rowIndex<0){const t=this.headerNavigationService.getHeaderRowCount();return void this.focusService.focusHeaderPosition({headerPosition:{headerRowIndex:t+n.rowIndex,column:i.column},event:e||void 0,fromCell:!0})}const o=this.getNormalisedPosition(n);o?this.focusPosition(o):this.tryToFocusFullWidthRow(n)}getNormalisedPosition(e){this.ensureCellVisible(e);const t=this.getCellByPosition(e);return t?(e=t.getCellPosition(),this.ensureCellVisible(e),e):null}tryToFocusFullWidthRow(e,t=!1){const i=this.visibleColsService.getAllCols(),a=this.rowRenderer.getRowByPosition(e);if(!a||!a.isFullWidth())return!1;const n=this.focusService.getFocusedCell(),r={rowIndex:e.rowIndex,rowPinned:e.rowPinned,column:e.column||(t?h(i):i[0])};this.focusPosition(r);const o=null!=n&&this.rowPositionUtils.before(r,n),s={type:"fullWidthRowFocused",rowIndex:r.rowIndex,rowPinned:r.rowPinned,column:r.column,isFullWidthCell:!0,fromBelow:o};return this.eventService.dispatchEvent(s),!0}focusPosition(e){this.focusService.setFocusedCell({rowIndex:e.rowIndex,column:e.column,rowPinned:e.rowPinned,forceBrowserFocus:!0}),this.rangeService?.setRangeToCell(e)}isValidNavigateCell(e){return!!this.rowPositionUtils.getRowNode(e)}getLastCellOfColSpan(e){const t=this.getCellByPosition(e);if(!t)return e;const i=t.getColSpanningList();return 1===i.length?e:{rowIndex:e.rowIndex,column:h(i),rowPinned:e.rowPinned}}ensureCellVisible(e){const t=this.gos.isGroupRowsSticky(),i=this.rowModel.getRow(e.rowIndex);!(t&&i?.sticky)&&O(e.rowPinned)&&this.gridBodyCon.getScrollFeature().ensureIndexVisible(e.rowIndex),e.column.isPinned()||this.gridBodyCon.getScrollFeature().ensureColumnVisible(e.column)}},us=class extends F{constructor(){super(...arguments),this.beanName="horizontalResizeService"}wireBeans(e){this.dragService=e.dragService,this.ctrlsService=e.ctrlsService}addResizeBar(e){const t={dragStartPixels:e.dragStartPixels||0,eElement:e.eResizeBar,onDragStart:this.onDragStart.bind(this,e),onDragStop:this.onDragStop.bind(this,e),onDragging:this.onDragging.bind(this,e),includeTouch:!0,stopPropagationForTouch:!0};this.dragService.addDragSource(t);return()=>this.dragService.removeDragSource(t)}onDragStart(e,t){this.dragStartX=t.clientX,this.setResizeIcons();const i=t instanceof MouseEvent&&!0===t.shiftKey;e.onResizeStart(i)}setResizeIcons(){const e=this.ctrlsService.get("gridCtrl");e.setResizeCursor(!0),e.disableUserSelect(!0)}onDragStop(e,t){e.onResizeEnd(this.resizeAmount),this.resetIcons()}resetIcons(){const e=this.ctrlsService.get("gridCtrl");e.setResizeCursor(!1),e.disableUserSelect(!1)}onDragging(e,t){this.resizeAmount=t.clientX-this.dragStartX,e.onResizing(this.resizeAmount)}},gs=class extends F{constructor(){super(...arguments),this.beanName="filterMenuFactory"}wireBeans(e){this.popupService=e.popupService,this.focusService=e.focusService,this.ctrlsService=e.ctrlsService,this.menuService=e.menuService}hideActiveMenu(){this.hidePopup&&this.hidePopup()}showMenuAfterMouseEvent(e,t,i){this.showPopup(e,(a=>{this.popupService.positionPopupUnderMouseEvent({column:e,type:i,mouseEvent:t,ePopup:a})}),i,t.target,this.menuService.isLegacyMenuEnabled())}showMenuAfterButtonClick(e,t,i){let a=-1,n="left";const r=this.menuService.isLegacyMenuEnabled();!r&&this.gos.get("enableRtl")&&(a=1,n="right");const o=r?void 0:4*a,s=r?void 0:4;this.showPopup(e,(a=>{this.popupService.positionPopupByComponent({type:i,eventSource:t,ePopup:a,nudgeX:o,nudgeY:s,alignSide:n,keepWithinBounds:!0,position:"under",column:e})}),i,t,r)}showPopup(e,t,i,a,n){const r=e?this.createBean(new sn(e,"COLUMN_MENU")):void 0;if(this.activeMenu=r,!r?.hasFilter()||!e)throw new Error("AG Grid - unable to show popup filter, filter instantiation failed");const o=document.createElement("div");let s;St(o,"presentation"),o.classList.add("ag-menu"),n||o.classList.add("ag-filter-menu"),[this.tabListener]=this.addManagedElementListeners(o,{keydown:e=>this.trapFocusWithin(e,o)}),o.appendChild(r?.getGui());const l=this.menuService.isColumnMenuAnchoringEnabled()?a??this.ctrlsService.getGridBodyCtrl().getGui():void 0,c=this.localeService.getLocaleTextFunc(),d=n&&"columnFilter"!==i?c("ariaLabelColumnMenu","Column Menu"):c("ariaLabelColumnFilter","Column Filter"),h=this.popupService.addPopup({modal:!0,eChild:o,closeOnEsc:!0,closedCallback:t=>{e.setMenuVisible(!1,"contextMenu");const n=t instanceof KeyboardEvent;if(this.tabListener&&(this.tabListener=this.tabListener()),n&&a&&Si(a)){const e=this.focusService.findTabbableParent(a);e&&e.focus()}r?.afterGuiDetached(),this.destroyBean(this.activeMenu),this.dispatchVisibleChangedEvent(!1,i,e)},positionCallback:()=>t(o),anchorToElement:l,ariaLabel:d});h&&(this.hidePopup=s=h.hideFunc),r.afterInit().then((()=>{t(o),r.afterGuiAttached({container:i,hidePopup:s})})),e.setMenuVisible(!0,"contextMenu"),this.dispatchVisibleChangedEvent(!0,i,e)}trapFocusWithin(e,t){e.key!==ia.TAB||e.defaultPrevented||this.focusService.findNextFocusableElement(t,!1,e.shiftKey)||(e.preventDefault(),this.focusService.focusInto(t,e.shiftKey))}dispatchVisibleChangedEvent(e,t,i){const a={type:"columnMenuVisibleChanged",visible:e,switchingTab:!1,key:t,column:i??null};this.eventService.dispatchEvent(a)}isMenuEnabled(e){return e.isFilterAllowed()&&(e.getColDef().menuTabs??["filterMenuTab"]).includes("filterMenuTab")}showMenuAfterContextMenuEvent(){}destroy(){this.destroyBean(this.activeMenu),super.destroy()}},ps=class extends F{constructor(){super(...arguments),this.beanName="resizeObserverService",this.polyfillFunctions=[]}observeResize(e,t){const i=this.gos.getWindow(),a=()=>{let i=e?.clientWidth??0,a=e?.clientHeight??0,n=!0;const r=()=>{if(n){const n=e?.clientWidth??0,o=e?.clientHeight??0;(n!==i||o!==a)&&(i=n,a=o,t()),this.doNextPolyfillTurn(r)}};return r(),()=>n=!1},n=this.gos.get("suppressBrowserResizeObserver");return!!i.ResizeObserver&&!n?(()=>{const a=new i.ResizeObserver(t);return a.observe(e),()=>a.disconnect()})():this.getFrameworkOverrides().wrapIncoming((()=>a()),"resize-observer")}doNextPolyfillTurn(e){this.polyfillFunctions.push(e),this.schedulePolyfill()}schedulePolyfill(){if(this.polyfillScheduled)return;this.polyfillScheduled=!0,window.setTimeout((()=>{const e=this.polyfillFunctions;this.polyfillScheduled=!1,this.polyfillFunctions=[],e.forEach((e=>e()))}),50)}},ms=class extends F{constructor(){super(...arguments),this.beanName="animationFrameService",this.createTasksP1={list:[],sorted:!1},this.createTasksP2={list:[],sorted:!1},this.destroyTasks=[],this.ticking=!1,this.scrollGoingDown=!0,this.lastPage=0,this.lastScrollTop=0,this.taskCount=0,this.cancelledTasks=new Set}wireBeans(e){this.ctrlsService=e.ctrlsService,this.paginationService=e.paginationService}setScrollTop(e){const t=this.gos.get("pagination");if(this.scrollGoingDown=e>=this.lastScrollTop,t&&0===e){const e=this.paginationService?.getCurrentPage()??0;e!==this.lastPage&&(this.lastPage=e,this.scrollGoingDown=!0)}this.lastScrollTop=e}postConstruct(){this.useAnimationFrame=!this.gos.get("suppressAnimationFrame")}isOn(){return this.useAnimationFrame}verifyAnimationFrameOn(e){!1===this.useAnimationFrame&&de(`AnimationFrameService.${e} called but animation frames are off`)}createTask(e,t,i){this.verifyAnimationFrameOn(i);const a={task:e,index:t,createOrder:++this.taskCount};this.addTaskToList(this[i],a),this.schedule()}cancelTask(e){this.cancelledTasks.add(e)}addTaskToList(e,t){e.list.push(t),e.sorted=!1}sortTaskList(e){if(e.sorted)return;const t=this.scrollGoingDown?1:-1;e.list.sort(((e,i)=>e.index!==i.index?t*(i.index-e.index):i.createOrder-e.createOrder)),e.sorted=!0}addDestroyTask(e){this.verifyAnimationFrameOn("createTasksP3"),this.destroyTasks.push(e),this.schedule()}executeFrame(e){this.verifyAnimationFrameOn("executeFrame");const t=this.createTasksP1,i=t.list,a=this.createTasksP2,n=a.list,r=this.destroyTasks,o=(new Date).getTime();let s=(new Date).getTime()-o;const l=e<=0,c=this.ctrlsService.getGridBodyCtrl();for(;l||s<e;){if(!c.getScrollFeature().scrollGridIfNeeded()){let e;if(i.length)this.sortTaskList(t),e=i.pop().task;else if(n.length)this.sortTaskList(a),e=n.pop().task;else{if(!r.length){this.cancelledTasks.clear();break}e=r.pop()}this.cancelledTasks.has(e)||e()}s=(new Date).getTime()-o}i.length||n.length||r.length?this.requestFrame():this.stopTicking()}stopTicking(){this.ticking=!1}flushAllFrames(){this.useAnimationFrame&&this.executeFrame(-1)}schedule(){this.useAnimationFrame&&(this.ticking||(this.ticking=!0,this.requestFrame()))}requestFrame(){const e=this.executeFrame.bind(this,60);this.requestAnimationFrame(e)}requestAnimationFrame(e){const t=this.gos.getWindow();t.requestAnimationFrame?t.requestAnimationFrame(e):t.webkitRequestAnimationFrame?t.webkitRequestAnimationFrame(e):t.setTimeout(e,0)}isQueueEmpty(){return!this.ticking}debounce(e){let t=!1;return()=>{this.isOn()?t||(t=!0,this.addDestroyTask((()=>{t=!1,e()}))):window.setTimeout(e,0)}}},fs=(e=>(e.EVERYTHING="group",e.FILTER="filter",e.SORT="sort",e.MAP="map",e.AGGREGATE="aggregate",e.FILTER_AGGREGATES="filter_aggregates",e.PIVOT="pivot",e.NOTHING="nothing",e))(fs||{}),vs=class extends F{constructor(){super(...arguments),this.beanName="expansionService"}wireBeans(e){this.rowModel=e.rowModel}postConstruct(){this.isClientSideRowModel="clientSide"===this.rowModel.getType()}expandRows(e){if(!this.isClientSideRowModel)return;const t=new Set(e);this.rowModel.forEachNode((e=>{e.id&&t.has(e.id)&&(e.expanded=!0)})),this.onGroupExpandedOrCollapsed()}getExpandedRows(){const e=[];return this.rowModel.forEachNode((({expanded:t,id:i})=>{t&&i&&e.push(i)})),e}expandAll(e){this.isClientSideRowModel&&this.rowModel.expandOrCollapseAll(e)}setRowNodeExpanded(e,t,i,a){e&&(i&&e.parent&&-1!==e.parent.level&&this.setRowNodeExpanded(e.parent,t,i,a),e.setExpanded(t,void 0,a))}onGroupExpandedOrCollapsed(){this.isClientSideRowModel&&this.rowModel.refreshModel({step:"map"})}},ys=class extends F{constructor(){super(...arguments),this.beanName="menuService"}wireBeans(e){this.filterMenuFactory=e.filterMenuFactory,this.ctrlsService=e.ctrlsService,this.animationFrameService=e.animationFrameService,this.filterManager=e.filterManager,this.rowRenderer=e.rowRenderer,this.columnChooserFactory=e.columnChooserFactory,this.contextMenuFactory=e.contextMenuFactory,this.enterpriseMenuFactory=e.enterpriseMenuFactory}postConstruct(){this.activeMenuFactory=this.enterpriseMenuFactory??this.filterMenuFactory}showColumnMenu(e){this.showColumnMenuCommon(this.activeMenuFactory,e,"columnMenu")}showFilterMenu(e){const t=this.enterpriseMenuFactory&&this.isLegacyMenuEnabled()?this.enterpriseMenuFactory:this.filterMenuFactory;this.showColumnMenuCommon(t,e,e.containerType,!0)}showHeaderContextMenu(e,t,i){this.activeMenuFactory.showMenuAfterContextMenuEvent(e,t,i)}getContextMenuPosition(e,t){const i=this.getRowCtrl(e),a=this.getCellGui(i,t);if(!a)return i?{x:0,y:i.getRowYPosition()}:{x:0,y:0};const n=a.getBoundingClientRect();return{x:n.x+n.width/2,y:n.y+n.height/2}}showContextMenu(e){const{rowNode:t}=e,i=e.column;let{anchorToElement:a,value:n}=e;t&&i&&null==n&&(n=t.getValueFromValueService(i)),null==a&&(a=this.getContextMenuAnchorElement(t,i)),this.contextMenuFactory?.onContextMenu(e.mouseEvent??null,e.touchEvent??null,t??null,i??null,n,a)}showColumnChooser(e){this.columnChooserFactory?.showColumnChooser(e)}hidePopupMenu(){this.contextMenuFactory?.hideActiveMenu(),this.activeMenuFactory.hideActiveMenu()}hideColumnChooser(){this.columnChooserFactory?.hideActiveColumnChooser()}isColumnMenuInHeaderEnabled(e){const{suppressMenu:t,suppressHeaderMenuButton:i}=e.getColDef();return!(i??t)&&this.activeMenuFactory.isMenuEnabled(e)&&(this.isLegacyMenuEnabled()||!!this.enterpriseMenuFactory)}isFilterMenuInHeaderEnabled(e){return!e.getColDef().suppressHeaderFilterButton&&!!this.filterManager?.isFilterAllowed(e)}isHeaderContextMenuEnabled(e){return!e?.getColDef().suppressHeaderContextMenu&&"new"===this.getColumnMenuType()}isHeaderMenuButtonAlwaysShowEnabled(){return this.isSuppressMenuHide()}isHeaderMenuButtonEnabled(){const e=!this.isSuppressMenuHide();return!(Qt()&&e)}isHeaderFilterButtonEnabled(e){return this.isFilterMenuInHeaderEnabled(e)&&!this.isLegacyMenuEnabled()&&!this.isFloatingFilterButtonDisplayed(e)}isFilterMenuItemEnabled(e){return!(!this.filterManager?.isFilterAllowed(e)||this.isLegacyMenuEnabled()||this.isFilterMenuInHeaderEnabled(e)||this.isFloatingFilterButtonDisplayed(e))}isColumnMenuAnchoringEnabled(){return!this.isLegacyMenuEnabled()}areAdditionalColumnMenuItemsEnabled(){return"new"===this.getColumnMenuType()}isLegacyMenuEnabled(){return"legacy"===this.getColumnMenuType()}isFloatingFilterButtonEnabled(e){const t=e.getColDef(),i=t.floatingFilterComponentParams?.suppressFilterButton;return null!=i&&de("As of v31.1, 'colDef.floatingFilterComponentParams.suppressFilterButton' is deprecated. Use 'colDef.suppressFloatingFilterButton' instead."),null==t.suppressFloatingFilterButton?!i:!t.suppressFloatingFilterButton}getColumnMenuType(){return this.gos.get("columnMenu")}isFloatingFilterButtonDisplayed(e){return!!e.getColDef().floatingFilter&&this.isFloatingFilterButtonEnabled(e)}isSuppressMenuHide(){const e=this.gos.get("suppressMenuHide");return this.isLegacyMenuEnabled()?!!this.gos.exists("suppressMenuHide")&&e:e}showColumnMenuCommon(e,t,i,a){const{positionBy:n}=t,r=t.column;if("button"===n){const{buttonElement:n}=t;e.showMenuAfterButtonClick(r,n,i,a)}else if("mouse"===n){const{mouseEvent:n}=t;e.showMenuAfterMouseEvent(r,n,i,a)}else r&&(this.ctrlsService.getGridBodyCtrl().getScrollFeature().ensureColumnVisible(r,"auto"),this.animationFrameService.requestAnimationFrame((()=>{const t=this.ctrlsService.getHeaderRowContainerCtrl(r.getPinned()).getHeaderCtrlForColumn(r);e.showMenuAfterButtonClick(r,t.getAnchorElementForMenu(a),i,!0)})))}getRowCtrl(e){const{rowIndex:t,rowPinned:i}=e||{};if(null!=t)return this.rowRenderer.getRowByPosition({rowIndex:t,rowPinned:i})||void 0}getCellGui(e,t){if(!e||!t)return;const i=e.getCellCtrl(t);return i?.getGui()||void 0}getContextMenuAnchorElement(e,t){const i=this.ctrlsService.getGridBodyCtrl().getGridBodyElement(),a=this.getRowCtrl(e);if(!a)return i;const n=this.getCellGui(a,t);return n||(a.isFullWidth()?a.getFullWidthElement():i)}},bs=class extends ra{constructor(e){super(e,"ag-text-area",null,"textarea")}setValue(e,t){const i=super.setValue(e,t);return this.eInput.value=e,i}setCols(e){return this.eInput.cols=e,this}setRows(e){return this.eInput.rows=e,this}},Cs={selector:"AG-INPUT-TEXT-AREA",component:bs},ws=class extends pa{constructor(){super('<div class="ag-large-text">\n <ag-input-text-area data-ref="eTextArea" class="ag-large-text-input"></ag-input-text-area>\n </div>',[Cs]),this.eTextArea=Vi}init(e){this.params=e,this.focusAfterAttached=e.cellStartedEdit,this.eTextArea.setMaxLength(e.maxLength||200).setCols(e.cols||60).setRows(e.rows||10),N(e.value,!0)&&this.eTextArea.setValue(e.value.toString(),!0),this.addGuiEventListener("keydown",this.onKeyDown.bind(this)),this.activateTabIndex()}onKeyDown(e){const t=e.key;(t===ia.LEFT||t===ia.UP||t===ia.RIGHT||t===ia.DOWN||e.shiftKey&&t===ia.ENTER)&&e.stopPropagation()}afterGuiAttached(){const e=this.localeService.getLocaleTextFunc();this.eTextArea.setInputAriaLabel(e("ariaInputEditor","Input Editor")),this.focusAfterAttached&&this.eTextArea.getFocusableElement().focus()}getValue(){const e=this.eTextArea.getValue();return N(e)||N(this.params.value)?this.params.parseValue(e):this.params.value}},Ss=class extends pa{constructor(e){super('<div class="ag-popup-editor" tabindex="-1"/>'),this.params=e}postConstruct(){this.gos.setDomData(this.getGui(),"popupEditorWrapper",!0),this.addKeyDownListener()}addKeyDownListener(){const e=this.getGui(),t=this.params;this.addManagedElementListeners(e,{keydown:e=>{Rn(this.gos,e,t.node,t.column,!0)||t.onKeyDown(e)}})}},xs=class extends pa{constructor(){super('<div class="ag-cell-edit-wrapper">\n <ag-select class="ag-cell-editor" data-ref="eSelect"></ag-select>\n </div>',[wn]),this.eSelect=Vi,this.startedByEnter=!1}wireBeans(e){this.valueService=e.valueService}init(e){this.focusAfterAttached=e.cellStartedEdit;const{eSelect:t,valueService:i,gos:a}=this,{values:n,value:r,eventKey:o}=e;if(O(n))return void de("no values found for select cellEditor");this.startedByEnter=null!=o&&o===ia.ENTER;let s=!1;n.forEach((a=>{const n={value:a},o=i.formatValue(e.column,null,a),l=null!=o;n.text=l?o:a,t.addOption(n),s=s||r===a})),s?t.setValue(e.value,!0):e.values.length&&t.setValue(e.values[0],!0);const{valueListGap:l,valueListMaxWidth:c,valueListMaxHeight:d}=e;null!=l&&t.setPickerGap(l),null!=d&&t.setPickerMaxHeight(d),null!=c&&t.setPickerMaxWidth(c),"fullRow"!==a.get("editType")&&this.addManagedListeners(this.eSelect,{selectedItem:()=>e.stopEditing()})}afterGuiAttached(){this.focusAfterAttached&&this.eSelect.getFocusableElement().focus(),this.startedByEnter&&setTimeout((()=>{this.isAlive()&&this.eSelect.showPicker()}))}focusIn(){this.eSelect.getFocusableElement().focus()}getValue(){return this.eSelect.getValue()}isPopup(){return!1}},ks=class extends pa{constructor(e){super(`\n <div class="ag-cell-edit-wrapper">\n ${e.getTemplate()}\n </div>`,e.getAgComponents()),this.cellEditorInput=e,this.eInput=Vi}init(e){this.params=e;const t=this.eInput;let i;if(this.cellEditorInput.init(t,e),e.cellStartedEdit){this.focusAfterAttached=!0;const t=e.eventKey;t===ia.BACKSPACE||e.eventKey===ia.DELETE?i="":t&&1===t.length?i=t:(i=this.cellEditorInput.getStartValue(),t!==ia.F2&&(this.highlightAllOnFocus=!0))}else this.focusAfterAttached=!1,i=this.cellEditorInput.getStartValue();null!=i&&t.setStartValue(i),this.addManagedElementListeners(t.getGui(),{keydown:e=>{const{key:t}=e;t!==ia.PAGE_UP&&t!==ia.PAGE_DOWN||e.preventDefault()}})}afterGuiAttached(){const e=this.localeService.getLocaleTextFunc(),t=this.eInput;if(t.setInputAriaLabel(e("ariaInputEditor","Input Editor")),!this.focusAfterAttached)return;jt()||t.getFocusableElement().focus();const i=t.getInputElement();this.highlightAllOnFocus?i.select():this.cellEditorInput.setCaret?.()}focusIn(){const e=this.eInput,t=e.getFocusableElement(),i=e.getInputElement();t.focus(),i.select()}getValue(){return this.cellEditorInput.getValue()}isPopup(){return!1}},Ms=class{getTemplate(){return'<ag-input-text-field class="ag-cell-editor" data-ref="eInput"></ag-input-text-field>'}getAgComponents(){return[An]}init(e,t){this.eInput=e,this.params=t,null!=t.maxLength&&e.setMaxLength(t.maxLength)}getValue(){const e=this.eInput.getValue();return N(e)||N(this.params.value)?this.params.parseValue(e):this.params.value}getStartValue(){return this.params.useFormatter||this.params.column.getColDef().refData?this.params.formatValue(this.params.value):this.params.value}setCaret(){const e=this.eInput.getValue(),t=N(e)&&e.length||0;t&&this.eInput.getInputElement().setSelectionRange(t,t)}},Rs=class extends ks{constructor(){super(new Ms)}},Ds=class{getTemplate(){return'<ag-input-number-field class="ag-cell-editor" data-ref="eInput"></ag-input-number-field>'}getAgComponents(){return[Tn]}init(e,t){this.eInput=e,this.params=t,null!=t.max&&e.setMax(t.max),null!=t.min&&e.setMin(t.min),null!=t.precision&&e.setPrecision(t.precision),null!=t.step&&e.setStep(t.step);const i=e.getInputElement();t.preventStepping?e.addManagedElementListeners(i,{keydown:this.preventStepping}):t.showStepperButtons&&i.classList.add("ag-number-field-input-stepper")}preventStepping(e){e.key!==ia.UP&&e.key!==ia.DOWN||e.preventDefault()}getValue(){const e=this.eInput.getValue();if(!N(e)&&!N(this.params.value))return this.params.value;let t=this.params.parseValue(e);if(null==t)return t;if("string"==typeof t){if(""===t)return null;t=Number(t)}return isNaN(t)?null:t}getStartValue(){return this.params.value}},As=class extends ks{constructor(){super(new Ds)}},Es=class extends Dn{constructor(e){super(e,"ag-date-field","date")}postConstruct(){super.postConstruct();const e=jt();this.addManagedListeners(this.eInput,{wheel:this.onWheel.bind(this),mousedown:()=>{this.isDisabled()||e||this.eInput.focus()}}),this.eInput.step="any"}onWheel(e){this.gos.getActiveDomElement()===this.eInput&&e.preventDefault()}setMin(e){const t=e instanceof Date?Un(e??null,!1)??void 0:e;return this.min===t||(this.min=t,Fi(this.eInput,"min",t)),this}setMax(e){const t=e instanceof Date?Un(e??null,!1)??void 0:e;return this.max===t||(this.max=t,Fi(this.eInput,"max",t)),this}setStep(e){return this.step===e||(this.step=e,Fi(this.eInput,"step",e)),this}getDate(){if(this.eInput.validity.valid)return Yn(this.getValue())??void 0}setDate(e,t){this.setValue(Un(e??null,!1),t)}},Ts={selector:"AG-INPUT-DATE-FIELD",component:Es},Ps=class{getTemplate(){return'<ag-input-date-field class="ag-cell-editor" data-ref="eInput"></ag-input-date-field>'}getAgComponents(){return[Ts]}init(e,t){this.eInput=e,this.params=t,null!=t.min&&e.setMin(t.min),null!=t.max&&e.setMax(t.max),null!=t.step&&e.setStep(t.step)}getValue(){const e=this.eInput.getDate();return N(e)||N(this.params.value)?e??null:this.params.value}getStartValue(){const{value:e}=this.params;if(e instanceof Date)return Un(e,!1)}},Fs=class extends ks{constructor(){super(new Ps)}},Is=class{constructor(e){this.getDataTypeService=e}getTemplate(){return'<ag-input-date-field class="ag-cell-editor" data-ref="eInput"></ag-input-date-field>'}getAgComponents(){return[Ts]}init(e,t){this.eInput=e,this.params=t,null!=t.min&&e.setMin(t.min),null!=t.max&&e.setMax(t.max),null!=t.step&&e.setStep(t.step)}getValue(){const e=this.formatDate(this.eInput.getDate());return N(e)||N(this.params.value)?this.params.parseValue(e??""):this.params.value}getStartValue(){return Un(this.parseDate(this.params.value??void 0)??null,!1)}parseDate(e){const t=this.getDataTypeService();return t?t.getDateParserFunction(this.params.column)(e):Yn(e)??void 0}formatDate(e){const t=this.getDataTypeService();return t?t.getDateFormatterFunction(this.params.column)(e):Un(e??null,!1)??void 0}},Ls=class extends ks{wireBeans(e){this.dataTypeService=e.dataTypeService}constructor(){super(new Is((()=>this.dataTypeService)))}},Ns=class extends pa{constructor(){super('\n <div class="ag-cell-wrapper ag-cell-edit-wrapper ag-checkbox-edit">\n <ag-checkbox role="presentation" data-ref="eCheckbox"></ag-checkbox>\n </div>',[sa]),this.eCheckbox=Vi}init(e){this.params=e;const t=e.value??void 0;this.eCheckbox.setValue(t);this.eCheckbox.getInputElement().setAttribute("tabindex","-1"),this.setAriaLabel(t),this.addManagedListeners(this.eCheckbox,{fieldValueChanged:e=>this.setAriaLabel(e.selected)})}getValue(){return this.eCheckbox.getValue()}focusIn(){this.eCheckbox.getFocusableElement().focus()}afterGuiAttached(){this.params.cellStartedEdit&&this.focusIn()}isPopup(){return!1}setAriaLabel(e){const t=this.localeService.getLocaleTextFunc(),i=Kt(t,e),a=t("ariaToggleCellValue","Press SPACE to toggle cell value");this.eCheckbox.setInputAriaLabel(`${a} (${i})`)}},Os=class{constructor(e){this.cellValueChanges=e}},zs=class extends Os{constructor(e,t,i,a){super(e),this.initialRange=t,this.finalRange=i,this.ranges=a}},Gs=class{constructor(e){this.actionStack=[],this.maxStackSize=e||10,this.actionStack=new Array(this.maxStackSize)}pop(){return this.actionStack.pop()}push(e){e.cellValueChanges&&e.cellValueChanges.length>0&&(this.actionStack.length===this.maxStackSize&&this.actionStack.shift(),this.actionStack.push(e))}clear(){this.actionStack=[]}getCurrentStackSize(){return this.actionStack.length}};function Bs(e,t,i="auto"){e.frameworkOverrides.wrapIncoming((()=>e.ctrlsService.getGridBodyCtrl().getScrollFeature().ensureColumnVisible(t,i)),"ensureVisible")}function Vs(e,t,i){e.frameworkOverrides.wrapIncoming((()=>e.ctrlsService.getGridBodyCtrl().getScrollFeature().ensureIndexVisible(t,i)),"ensureVisible")}var Hs={version:dr,moduleName:"@ag-grid-community/edit-core",beans:[class extends F{constructor(){super(...arguments),this.beanName="editService"}wireBeans(e){this.navigationService=e.navigationService,this.userComponentFactory=e.userComponentFactory,this.valueService=e.valueService}startEditing(e,t=null,i=!1,a=null){const n=this.createCellEditorParams(e,t,i),r=e.getColumn().getColDef(),o=this.userComponentFactory.getCellEditorDetails(r,n),s=null!=o?.popupFromSelector?o.popupFromSelector:!!r.cellEditorPopup,l=null!=o?.popupPositionFromSelector?o.popupPositionFromSelector:r.cellEditorPopupPosition;e.setEditing(!0,o),e.getComp().setEditDetails(o,s,l,this.gos.get("reactiveCustomComponents"));const c=e.createEvent(a,"cellEditingStarted");this.eventService.dispatchEvent(c)}stopEditing(e,t){const i=e.getComp(),{newValue:a,newValueExists:n}=this.takeValueFromCellEditor(t,i),r=e.getRowNode(),o=e.getColumn(),s=r.getValueFromValueService(o);let l=!1;n&&(l=this.saveNewValue(e,s,a,r,o)),e.setEditing(!1,void 0),i.setEditDetails(),e.updateAndFormatValue(!1),e.refreshCell({forceRefresh:!0,suppressFlash:!0});const c={...e.createEvent(null,"cellEditingStopped"),oldValue:s,newValue:a,valueChanged:l};return this.eventService.dispatchEvent(c),l}handleColDefChanged(e){const t=e.getCellEditor();if(t?.refresh){const{eventKey:i,cellStartedEdit:a}=e.getEditCompDetails().params,n=this.createCellEditorParams(e,i,a),r=e.getColumn().getColDef(),o=this.userComponentFactory.getCellEditorDetails(r,n);t.refresh(o.params)}}setFocusOutOnEditor(e){const t=e.getComp().getCellEditor();t&&t.focusOut&&t.focusOut()}setFocusInOnEditor(e){const t=e.getComp().getCellEditor();t&&t.focusIn?t.focusIn():e.focusCell(!0)}stopEditingAndFocus(e,t=!1,i=!1){e.stopRowOrCellEdit(),e.focusCell(!0),t||this.navigateAfterEdit(i,e.getCellPosition())}createPopupEditorWrapper(e){return new Ss(e)}takeValueFromCellEditor(e,t){const i={newValueExists:!1};if(e)return i;const a=t.getCellEditor();if(!a)return i;if(a.isCancelAfterEnd&&a.isCancelAfterEnd())return i;return{newValue:a.getValue(),newValueExists:!0}}saveNewValue(e,t,i,a,n){if(i===t)return!1;e.setSuppressRefreshCell(!0);const r=a.setDataValue(n,i,"edit");return e.setSuppressRefreshCell(!1),r}createCellEditorParams(e,t,i){const a=e.getColumn(),n=e.getRowNode();return this.gos.addGridCommonParams({value:n.getValueFromValueService(a),eventKey:t,column:a,colDef:a.getColDef(),rowIndex:e.getCellPosition().rowIndex,node:n,data:n.data,cellStartedEdit:i,onKeyDown:e.onKeyDown.bind(e),stopEditing:e.stopEditingAndFocus.bind(e),eGridCell:e.getGui(),parseValue:t=>this.valueService.parseValue(a,n,t,e.getValue()),formatValue:e.formatValue.bind(e)})}navigateAfterEdit(e,t){if(this.gos.get("enterNavigatesVerticallyAfterEdit")){const i=e?ia.UP:ia.DOWN;this.navigationService.navigateToNextCell(null,i,t,!1)}}}]},Ws={version:dr,moduleName:"@ag-grid-community/edit-api",apiFunctions:{undoCellEditing:function(e){e.undoRedoService?.undo("api")},redoCellEditing:function(e){e.undoRedoService?.redo("api")},getCellEditorInstances:function(e,t={}){return e.rowRenderer.getCellEditorInstances(t).map(Ha)},getEditingCells:function(e){return e.rowRenderer.getEditingCells()},stopEditing:function(e,t=!1){e.rowRenderer.stopEditing(t)},startEditingCell:function(e,t){const i=e.columnModel.getCol(t.colKey);if(!i)return void de(`no column found for ${t.colKey}`);const a={rowIndex:t.rowIndex,rowPinned:t.rowPinned||null,column:i};null==t.rowPinned&&Vs(e,t.rowIndex),Bs(e,t.colKey);const n=e.navigationService.getCellByPosition(a);n&&(e.focusService.isCellFocused(a)||e.focusService.setFocusedCell(a),n.startRowOrCellEdit(t.key))},getCurrentUndoSize:function(e){return e.undoRedoService?.getCurrentUndoStackSize()??0},getCurrentRedoSize:function(e){return e.undoRedoService?.getCurrentRedoStackSize()??0}},dependantModules:[Hs]},_s={version:dr,moduleName:"@ag-grid-community/undo-redo-edit",beans:[class extends F{constructor(){super(...arguments),this.beanName="undoRedoService",this.cellValueChanges=[],this.activeCellEdit=null,this.activeRowEdit=null,this.isPasting=!1,this.isRangeInAction=!1,this.onCellValueChanged=e=>{const t={column:e.column,rowIndex:e.rowIndex,rowPinned:e.rowPinned},i=null!==this.activeCellEdit&&this.cellPositionUtils.equals(this.activeCellEdit,t),a=null!==this.activeRowEdit&&this.rowPositionUtils.sameRow(this.activeRowEdit,t);if(!(i||a||this.isPasting||this.isRangeInAction))return;const{rowPinned:n,rowIndex:r,column:o,oldValue:s,value:l}=e,c={rowPinned:n,rowIndex:r,columnId:o.getColId(),newValue:l,oldValue:s};this.cellValueChanges.push(c)},this.clearStacks=()=>{this.undoStack.clear(),this.redoStack.clear()}}wireBeans(e){this.focusService=e.focusService,this.ctrlsService=e.ctrlsService,this.cellPositionUtils=e.cellPositionUtils,this.rowPositionUtils=e.rowPositionUtils,this.columnModel=e.columnModel,this.rangeService=e.rangeService}postConstruct(){if(!this.gos.get("undoRedoCellEditing"))return;const e=this.gos.get("undoRedoCellEditingLimit");if(e<=0)return;this.undoStack=new Gs(e),this.redoStack=new Gs(e),this.addListeners();const t=this.clearStacks.bind(this);this.addManagedEventListeners({cellValueChanged:this.onCellValueChanged.bind(this),modelUpdated:e=>{e.keepUndoRedoStack||this.clearStacks()},columnPivotModeChanged:t,newColumnsLoaded:t,columnGroupOpened:t,columnRowGroupChanged:t,columnMoved:t,columnPinned:t,columnVisible:t,rowDragEnd:t}),this.ctrlsService.whenReady((e=>{this.gridBodyCtrl=e.gridBodyCtrl}))}getCurrentUndoStackSize(){return this.undoStack?this.undoStack.getCurrentStackSize():0}getCurrentRedoStackSize(){return this.redoStack?this.redoStack.getCurrentStackSize():0}undo(e){const t={type:"undoStarted",source:e};this.eventService.dispatchEvent(t);const i={type:"undoEnded",source:e,operationPerformed:this.undoRedo(this.undoStack,this.redoStack,"initialRange","oldValue","undo")};this.eventService.dispatchEvent(i)}redo(e){const t={type:"redoStarted",source:e};this.eventService.dispatchEvent(t);const i={type:"redoEnded",source:e,operationPerformed:this.undoRedo(this.redoStack,this.undoStack,"finalRange","newValue","redo")};this.eventService.dispatchEvent(i)}undoRedo(e,t,i,a,n){if(!e)return!1;const r=e.pop();return!(!r||!r.cellValueChanges)&&(this.processAction(r,(e=>e[a]),n),r instanceof zs?this.processRange(this.rangeService,r.ranges||[r[i]]):this.processCell(r.cellValueChanges),t.push(r),!0)}processAction(e,t,i){e.cellValueChanges.forEach((e=>{const{rowIndex:a,rowPinned:n,columnId:r}=e,o={rowIndex:a,rowPinned:n},s=this.rowPositionUtils.getRowNode(o);s.displayed&&s.setDataValue(r,t(e),i)}))}processRange(e,t){let i;e.removeAllCellRanges(!0),t.forEach(((a,n)=>{if(!a)return;const r=a.startRow,o=a.endRow;n===t.length-1&&(i={rowPinned:r.rowPinned,rowIndex:r.rowIndex,columnId:a.startColumn.getColId()},this.setLastFocusedCell(i));const s={rowStartIndex:r.rowIndex,rowStartPinned:r.rowPinned,rowEndIndex:o.rowIndex,rowEndPinned:o.rowPinned,columnStart:a.startColumn,columns:a.columns};e.addCellRange(s)}))}processCell(e){const t=e[0],{rowIndex:i,rowPinned:a}=t,n={rowIndex:i,rowPinned:a},r=this.rowPositionUtils.getRowNode(n),o={rowPinned:t.rowPinned,rowIndex:r.rowIndex,columnId:t.columnId};this.setLastFocusedCell(o,this.rangeService)}setLastFocusedCell(e,t){const{rowIndex:i,columnId:a,rowPinned:n}=e,r=this.gridBodyCtrl.getScrollFeature(),o=this.columnModel.getCol(a);if(!o)return;r.ensureIndexVisible(i),r.ensureColumnVisible(o);const s={rowIndex:i,column:o,rowPinned:n};this.focusService.setFocusedCell({...s,forceBrowserFocus:!0}),t?.setRangeToCell(s)}addListeners(){this.addManagedEventListeners({rowEditingStarted:e=>{this.activeRowEdit={rowIndex:e.rowIndex,rowPinned:e.rowPinned}},rowEditingStopped:()=>{const e=new Os(this.cellValueChanges);this.pushActionsToUndoStack(e),this.activeRowEdit=null},cellEditingStarted:e=>{this.activeCellEdit={column:e.column,rowIndex:e.rowIndex,rowPinned:e.rowPinned}},cellEditingStopped:e=>{this.activeCellEdit=null;if(e.valueChanged&&!this.activeRowEdit&&!this.isPasting&&!this.isRangeInAction){const e=new Os(this.cellValueChanges);this.pushActionsToUndoStack(e)}},pasteStart:()=>{this.isPasting=!0},pasteEnd:()=>{const e=new Os(this.cellValueChanges);this.pushActionsToUndoStack(e),this.isPasting=!1},fillStart:()=>{this.isRangeInAction=!0},fillEnd:e=>{const t=new zs(this.cellValueChanges,e.initialRange,e.finalRange);this.pushActionsToUndoStack(t),this.isRangeInAction=!1},keyShortcutChangedCellStart:()=>{this.isRangeInAction=!0},keyShortcutChangedCellEnd:()=>{let e;e=this.rangeService&&this.gos.get("enableRangeSelection")?new zs(this.cellValueChanges,void 0,void 0,[...this.rangeService.getCellRanges()]):new Os(this.cellValueChanges),this.pushActionsToUndoStack(e),this.isRangeInAction=!1}})}pushActionsToUndoStack(e){this.undoStack.push(e),this.cellValueChanges=[],this.redoStack.clear()}}],dependantModules:[Hs]},qs={version:dr,moduleName:"@ag-grid-community/full-row-edit",beans:[class extends F{constructor(){super(...arguments),this.beanName="rowEditService"}startEditing(e,t=null,i=null,a=null){e.getAllCellCtrls().reduce(((e,n)=>{const r=n===i;return r?n.startEditing(t,r,a):n.startEditing(null,r,a),!!e||n.isEditing()}),!1)&&this.setEditing(e,!0)}stopEditing(e,t=!1){const i=e.getAllCellCtrls(),a=e.isEditing();e.setStoppingRowEdit(!0);let n=!1;for(const e of i){const i=e.stopEditing(t);a&&!t&&!n&&i&&(n=!0)}if(n){const t=e.createRowEvent("rowValueChanged");this.eventService.dispatchEvent(t)}a&&this.setEditing(e,!1),e.setStoppingRowEdit(!1)}setEditing(e,t){e.setEditingRow(t),e.forEachGui(void 0,(e=>e.rowComp.addOrRemoveCssClass("ag-row-editing",t)));const i=t?e.createRowEvent("rowEditingStarted"):e.createRowEvent("rowEditingStopped");this.eventService.dispatchEvent(i)}}],dependantModules:[Hs]},Us={version:dr,moduleName:"@ag-grid-community/default-editor",userComponents:[{name:"agCellEditor",classImp:Rs}],dependantModules:[Hs]},Ks={version:dr,moduleName:"@ag-grid-community/editing",dependantModules:[Hs,_s,qs,{version:dr,moduleName:"@ag-grid-community/all-editors",dependantModules:[Us,{version:dr,moduleName:"@ag-grid-community/data-type-editors",userComponents:[{name:"agTextCellEditor",classImp:Rs},{name:"agNumberCellEditor",classImp:As},{name:"agDateCellEditor",classImp:Fs},{name:"agDateStringCellEditor",classImp:Ls},{name:"agCheckboxCellEditor",classImp:Ns}],dependantModules:[Us]},{version:dr,moduleName:"@ag-grid-community/select-editor",userComponents:[{name:"agSelectCellEditor",classImp:xs}],dependantModules:[Hs]},{version:dr,moduleName:"@ag-grid-community/large-text-editor",userComponents:[{name:"agLargeTextCellEditor",classImp:ws}],dependantModules:[Hs]}]},Ws]},js=class extends F{constructor(){super(...arguments),this.beanName="autoWidthCalculator"}wireBeans(e){this.rowRenderer=e.rowRenderer,this.ctrlsService=e.ctrlsService}postConstruct(){this.ctrlsService.whenReady((e=>{this.centerRowContainerCtrl=e.center}))}getPreferredWidthForColumn(e,t){const i=this.getHeaderCellForColumn(e);if(!i)return-1;const a=this.rowRenderer.getAllCellsForColumn(e);return t||a.push(i),this.addElementsToContainerAndGetWidth(a)}getPreferredWidthForColumnGroup(e){const t=this.getHeaderCellForColumn(e);return t?this.addElementsToContainerAndGetWidth([t]):-1}addElementsToContainerAndGetWidth(e){const t=document.createElement("form");t.style.position="fixed";const i=this.centerRowContainerCtrl.getContainerElement();e.forEach((e=>this.cloneItemIntoDummy(e,t))),i.appendChild(t);const a=t.offsetWidth;i.removeChild(t);return a+this.getAutoSizePadding()}getAutoSizePadding(){return this.gos.get("autoSizePadding")}getHeaderCellForColumn(e){let t=null;return this.ctrlsService.getHeaderRowContainerCtrls().forEach((i=>{const a=i.getHtmlElementForColumnHeader(e);null!=a&&(t=a)})),t}cloneItemIntoDummy(e,t){const i=e.cloneNode(!0);i.style.width="",i.style.position="static",i.style.left="";const a=document.createElement("div"),n=a.classList;["ag-header-cell","ag-header-group-cell"].some((e=>i.classList.contains(e)))?(n.add("ag-header","ag-header-row"),a.style.position="static"):n.add("ag-row");let r=e.parentElement;for(;r;){if(["ag-header-row","ag-row"].some((e=>r.classList.contains(e)))){for(let e=0;e<r.classList.length;e++){const t=r.classList[e];"ag-row-position-absolute"!=t&&n.add(t)}break}r=r.parentElement}a.appendChild(i),t.appendChild(a)}},Ys=class extends F{constructor(e,t){super(),this.createRowCon=e,this.destroyRowCtrls=t,this.stickyTopRowCtrls=[],this.stickyBottomRowCtrls=[],this.topContainerHeight=0,this.bottomContainerHeight=0,this.extraTopHeight=0,this.extraBottomHeight=0}wireBeans(e){this.rowModel=e.rowModel,this.rowRenderer=e.rowRenderer,this.ctrlsService=e.ctrlsService,this.pageBoundsService=e.pageBoundsService}postConstruct(){this.isClientSide="clientSide"===this.rowModel.getType(),this.ctrlsService.whenReady((e=>{this.gridBodyCtrl=e.gridBodyCtrl}))}getStickyTopRowCtrls(){return this.stickyTopRowCtrls}getStickyBottomRowCtrls(){return this.stickyBottomRowCtrls}setOffsetTop(e){if(this.extraTopHeight===e)return;this.extraTopHeight=e;const t={type:"stickyTopOffsetChanged",offset:e};this.eventService.dispatchEvent(t)}setOffsetBottom(e){this.extraBottomHeight!==e&&(this.extraBottomHeight=e)}resetOffsets(){this.setOffsetBottom(0),this.setOffsetTop(0)}getExtraTopHeight(){return this.extraTopHeight}getExtraBottomHeight(){return this.extraBottomHeight}getLastPixelOfGroup(e){return this.isClientSide?this.getClientSideLastPixelOfGroup(e):this.getServerSideLastPixelOfGroup(e)}getFirstPixelOfGroup(e){return e.footer?e.sibling.rowTop+e.sibling.rowHeight-1:e.hasChildren()?e.rowTop-1:0}getServerSideLastPixelOfGroup(e){if(this.isClientSide)throw new Error("This func should only be called in server side row model.");if(e.isExpandable()||e.footer){if(e.master)return e.detailNode.rowTop+e.detailNode.rowHeight;if(!e.sibling||1===Math.abs(e.sibling.rowIndex-e.rowIndex)){let t=e.childStore?.getStoreBounds();return e.footer&&(t=e.sibling.childStore?.getStoreBounds()),(t?.heightPx??0)+(t?.topPx??0)}return e.footer?e.rowTop+e.rowHeight:e.sibling.rowTop+e.sibling.rowHeight}return Number.MAX_SAFE_INTEGER}getClientSideLastPixelOfGroup(e){if(!this.isClientSide)throw new Error("This func should only be called in client side row model.");if(e.isExpandable()||e.footer){if(e.footer&&0===e.rowIndex)return Number.MAX_SAFE_INTEGER;if(!e.sibling||1===Math.abs(e.sibling.rowIndex-e.rowIndex)){let t=e.footer?e.sibling:e;for(;t.isExpandable()&&t.expanded;)if(t.master)t=t.detailNode;else if(t.childrenAfterSort){if(0===t.childrenAfterSort.length)break;t=h(t.childrenAfterSort)}return t.rowTop+t.rowHeight}return e.footer?e.rowTop+e.rowHeight:e.sibling.rowTop+e.sibling.rowHeight}return Number.MAX_SAFE_INTEGER}updateStickyRows(e){const t="top"===e;let i=0;if(!this.canRowsBeSticky())return this.refreshNodesAndContainerHeight(e,new Set,i);const a=t?this.rowRenderer.getFirstVisibleVerticalPixel()-this.extraTopHeight:this.rowRenderer.getLastVisibleVerticalPixel()-this.extraTopHeight,n=new Set,r=e=>{if(n.add(e),t){const t=this.getLastPixelOfGroup(e),n=a+i+e.rowHeight;e.stickyRowTop=t<n?i+(t-n):i}else{const t=this.getFirstPixelOfGroup(e),n=a-(i+e.rowHeight);e.stickyRowTop=t>n?i-(t-n):i}i=0,n.forEach((e=>{const t=e.stickyRowTop+e.rowHeight;i<t&&(i=t)}))},o=this.areFooterRowsStickySuppressed(),s=this.gos.get("suppressGroupRowsSticky"),l=e=>{if(!e.displayed)return!1;if(e.footer){if(!0===o)return!1;if("grand"===o&&-1===e.level)return!1;if("group"===o&&e.level>-1)return!1;return!n.has(e)}if(e.isExpandable()){if(!0===s)return!1;return!n.has(e)&&e.expanded}return!1};for(let e=0;e<100;e++){let e=a+i;t||(e=a-i);const n=this.rowModel.getRowIndexAtPixel(e),o=this.rowModel.getRow(n);if(null==o)break;const s=this.getStickyAncestors(o).find((e=>(t?e.rowIndex<n:e.rowIndex>n)&&l(e)));if(s){r(s);continue}if(!(t?o.rowTop<e:o.rowTop+o.rowHeight>e)||!l(o))break;r(o)}return t||n.forEach((e=>{e.stickyRowTop=i-(e.stickyRowTop+e.rowHeight)})),this.refreshNodesAndContainerHeight(e,n,i)}areFooterRowsStickySuppressed(){const e=this.gos.get("suppressStickyTotalRow");if(!0===e)return!0;const t=!!this.gos.get("groupIncludeFooter")||"group"===e,i=!!this.gos.get("groupIncludeTotalFooter")||"grand"===e;return!(!t||!i)||(i?"grand":!!t&&"group")}canRowsBeSticky(){const e=this.gos.isGroupRowsSticky(),t=this.areFooterRowsStickySuppressed(),i=this.gos.get("suppressGroupRowsSticky");return e&&(!t||!i)}getStickyAncestors(e){const t=[];let i=e.footer?e.sibling:e.parent;for(;i;)i.sibling&&t.push(i.sibling),t.push(i),i=i.parent;return t.reverse()}checkStickyRows(){const e=this.updateStickyRows("top"),t=this.updateStickyRows("bottom");return e||t}destroyStickyCtrls(){this.refreshNodesAndContainerHeight("top",new Set,0),this.refreshNodesAndContainerHeight("bottom",new Set,0)}refreshStickyNode(e){const t=new Set;if(this.stickyTopRowCtrls.some((t=>t.getRowNode()===e))){for(let i=0;i<this.stickyTopRowCtrls.length;i++){const a=this.stickyTopRowCtrls[i].getRowNode();a!==e&&t.add(a)}this.refreshNodesAndContainerHeight("top",t,this.topContainerHeight)&&this.checkStickyRows()}else{for(let i=0;i<this.stickyBottomRowCtrls.length;i++){const a=this.stickyBottomRowCtrls[i].getRowNode();a!==e&&t.add(a)}this.refreshNodesAndContainerHeight("bottom",t,this.bottomContainerHeight)&&this.checkStickyRows()}}refreshNodesAndContainerHeight(e,t,i){const a="top"===e,n=a?this.stickyTopRowCtrls:this.stickyBottomRowCtrls,r={},o=[];for(let e=0;e<n.length;e++){const i=n[e].getRowNode();!t.has(i)?(r[i.id]=n[e],i.sticky=!1):o.push(n[e])}const s=new Set;for(let e=0;e<o.length;e++)s.add(o[e].getRowNode());const l=[];t.forEach((e=>{s.has(e)||(e.sticky=!0,l.push(this.createRowCon(e,!1,!1)))}));let c=!!l.length||o.length!==n.length;a?this.topContainerHeight!==i&&(this.topContainerHeight=i,this.gridBodyCtrl.setStickyTopHeight(i),c=!0):this.bottomContainerHeight!==i&&(this.bottomContainerHeight=i,this.gridBodyCtrl.setStickyBottomHeight(i),c=!0),this.destroyRowCtrls(r,!1);const d=[...o,...l];d.sort(((e,t)=>t.getRowNode().rowIndex-e.getRowNode().rowIndex)),a||d.reverse(),d.forEach((e=>e.setRowTop(e.getRowNode().stickyRowTop)));let h=0;return a?(t.forEach((e=>{e.rowIndex<this.pageBoundsService.getFirstRow()&&(h+=e.rowHeight)})),h>this.topContainerHeight&&(h=this.topContainerHeight),this.setOffsetTop(h)):(t.forEach((e=>{e.rowIndex>this.pageBoundsService.getLastRow()&&(h+=e.rowHeight)})),h>this.bottomContainerHeight&&(h=this.bottomContainerHeight),this.setOffsetBottom(h)),!!c&&(a?this.stickyTopRowCtrls=d:this.stickyBottomRowCtrls=d,!0)}ensureRowHeightsValid(){let e=!1;const t=t=>{const i=t.getRowNode();if(i.rowHeightEstimated){const t=this.gos.getRowHeightForNode(i);i.setRowHeight(t.height),e=!0}};return this.stickyTopRowCtrls.forEach(t),this.stickyBottomRowCtrls.forEach(t),e}},$s=class extends F{constructor(){super(...arguments),this.beanName="rowRenderer",this.destroyFuncsForColumnListeners=[],this.rowCtrlsByRowIndex={},this.zombieRowCtrls={},this.allRowCtrls=[],this.topRowCtrls=[],this.bottomRowCtrls=[],this.refreshInProgress=!1,this.dataFirstRenderedFired=!1,this.setupRangeSelectionListeners=()=>{const e=()=>{this.getAllCellCtrls().forEach((e=>e.onRangeSelectionChanged()))},t=()=>{this.getAllCellCtrls().forEach((e=>e.updateRangeBordersIfRangeCount()))},i=()=>{this.eventService.addEventListener("rangeSelectionChanged",e),this.eventService.addEventListener("columnMoved",t),this.eventService.addEventListener("columnPinned",t),this.eventService.addEventListener("columnVisible",t)},a=()=>{this.eventService.removeEventListener("rangeSelectionChanged",e),this.eventService.removeEventListener("columnMoved",t),this.eventService.removeEventListener("columnPinned",t),this.eventService.removeEventListener("columnVisible",t)};this.addDestroyFunc((()=>a())),this.addManagedPropertyListener("enableRangeSelection",(e=>{e.currentValue?i():a()}));this.gos.get("enableRangeSelection")&&i()}}wireBeans(e){this.animationFrameService=e.animationFrameService,this.paginationService=e.paginationService,this.pageBoundsService=e.pageBoundsService,this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.pinnedRowModel=e.pinnedRowModel,this.rowModel=e.rowModel,this.focusService=e.focusService,this.beans=e,this.rowContainerHeightService=e.rowContainerHeightService,this.ctrlsService=e.ctrlsService,this.environment=e.environment}postConstruct(){this.ctrlsService.whenReady((e=>{this.gridBodyCtrl=e.gridBodyCtrl,this.initialise()}))}initialise(){if(this.addManagedEventListeners({paginationChanged:this.onPageLoaded.bind(this),pinnedRowDataChanged:this.onPinnedRowDataChanged.bind(this),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),bodyScroll:this.onBodyScroll.bind(this),bodyHeightChanged:this.redraw.bind(this)}),this.addManagedPropertyListeners(["domLayout","embedFullWidthRows"],(()=>this.onDomLayoutChanged())),this.addManagedPropertyListeners(["suppressMaxRenderedRowRestriction","rowBuffer"],(()=>this.redraw())),this.addManagedPropertyListeners(["suppressCellFocus","getBusinessKeyForNode","fullWidthCellRenderer","fullWidthCellRendererParams","rowStyle","getRowStyle","rowClass","getRowClass","rowClassRules","suppressStickyTotalRow","groupRowRenderer","groupRowRendererParams","loadingCellRenderer","loadingCellRendererParams","detailCellRenderer","detailCellRendererParams","enableRangeSelection","enableCellTextSelection"],(()=>this.redrawRows())),this.gos.isGroupRowsSticky()){const e=this.rowModel.getType();"clientSide"!==e&&"serverSide"!==e||(this.stickyRowFeature=this.createManagedBean(new Ys(this.createRowCon.bind(this),this.destroyRowCtrls.bind(this))))}this.registerCellEventListeners(),this.initialiseCache(),this.printLayout=this.gos.isDomLayout("print"),this.embedFullWidthRows=this.printLayout||this.gos.get("embedFullWidthRows"),this.redrawAfterModelUpdate()}initialiseCache(){if(this.gos.get("keepDetailRows")){const e=this.getKeepDetailRowsCount(),t=null!=e?e:3;this.cachedRowCtrls=new Zs(t)}}getKeepDetailRowsCount(){return this.gos.get("keepDetailRowsCount")}getStickyTopRowCtrls(){return this.stickyRowFeature?this.stickyRowFeature.getStickyTopRowCtrls():[]}getStickyBottomRowCtrls(){return this.stickyRowFeature?this.stickyRowFeature.getStickyBottomRowCtrls():[]}updateAllRowCtrls(){const e=$(this.rowCtrlsByRowIndex),t=$(this.zombieRowCtrls),i=this.cachedRowCtrls?this.cachedRowCtrls.getEntries():[];t.length>0||i.length>0?this.allRowCtrls=[...e,...t,...i]:this.allRowCtrls=e}onCellFocusChanged(e){this.getAllCellCtrls().forEach((t=>t.onCellFocused(e))),this.getFullWidthRowCtrls().forEach((t=>t.onFullWidthRowFocused(e)))}registerCellEventListeners(){this.addManagedEventListeners({cellFocused:e=>{this.onCellFocusChanged(e)},cellFocusCleared:()=>this.onCellFocusChanged(),flashCells:e=>{this.getAllCellCtrls().forEach((t=>t.onFlashCells(e)))},columnHoverChanged:()=>{this.getAllCellCtrls().forEach((e=>e.onColumnHover()))},displayedColumnsChanged:()=>{this.getAllCellCtrls().forEach((e=>e.onDisplayedColumnsChanged()))},displayedColumnsWidthChanged:()=>{this.printLayout&&this.getAllCellCtrls().forEach((e=>e.onLeftChanged()))}}),this.setupRangeSelectionListeners(),this.refreshListenersToColumnsForCellComps(),this.addManagedEventListeners({gridColumnsChanged:this.refreshListenersToColumnsForCellComps.bind(this)}),this.addDestroyFunc(this.removeGridColumnListeners.bind(this))}removeGridColumnListeners(){this.destroyFuncsForColumnListeners.forEach((e=>e())),this.destroyFuncsForColumnListeners.length=0}refreshListenersToColumnsForCellComps(){this.removeGridColumnListeners();this.columnModel.getCols().forEach((e=>{const t=t=>{this.getAllCellCtrls().forEach((i=>{i.getColumn()===e&&t(i)}))},i=()=>{t((e=>e.onLeftChanged()))},a=()=>{t((e=>e.onWidthChanged()))},n=()=>{t((e=>e.onFirstRightPinnedChanged()))},r=()=>{t((e=>e.onLastLeftPinnedChanged()))},o=()=>{t((e=>e.onColDefChanged()))};e.addEventListener("leftChanged",i),e.addEventListener("widthChanged",a),e.addEventListener("firstRightPinnedChanged",n),e.addEventListener("lastLeftPinnedChanged",r),e.addEventListener("colDefChanged",o),this.destroyFuncsForColumnListeners.push((()=>{e.removeEventListener("leftChanged",i),e.removeEventListener("widthChanged",a),e.removeEventListener("firstRightPinnedChanged",n),e.removeEventListener("lastLeftPinnedChanged",r),e.removeEventListener("colDefChanged",o)}))}))}onDomLayoutChanged(){const e=this.gos.isDomLayout("print"),t=e||this.gos.get("embedFullWidthRows"),i=t!==this.embedFullWidthRows||this.printLayout!==e;this.printLayout=e,this.embedFullWidthRows=t,i&&this.redrawAfterModelUpdate({domLayoutChanged:!0})}datasourceChanged(){this.firstRenderedRow=0,this.lastRenderedRow=-1;const e=Object.keys(this.rowCtrlsByRowIndex);this.removeRowCtrls(e)}onPageLoaded(e){const t={recycleRows:e.keepRenderedRows,animate:e.animate,newData:e.newData,newPage:e.newPage,onlyBody:!0};this.redrawAfterModelUpdate(t)}getAllCellsForColumn(e){const t=[];return this.getAllRowCtrls().forEach((i=>{const a=i.getCellElement(e);a&&t.push(a)})),t}refreshFloatingRowComps(){this.refreshFloatingRows(this.topRowCtrls,this.pinnedRowModel.getPinnedTopRowNodes()),this.refreshFloatingRows(this.bottomRowCtrls,this.pinnedRowModel.getPinnedBottomRowNodes())}getTopRowCtrls(){return this.topRowCtrls}getCentreRowCtrls(){return this.allRowCtrls}getBottomRowCtrls(){return this.bottomRowCtrls}refreshFloatingRows(e,t){const i=Object.fromEntries(t.map((e=>[e.id,e]))),a=Object.fromEntries(e.map((e=>[e.getRowNode().id,e])));for(let n=0;n<t.length;n++){const r=t[n],o=e[n];o&&void 0===i[o.getRowNode().id]&&(o.destroyFirstPass(),o.destroySecondPass()),r.id in a?(e[n]=a[r.id],delete a[r.id]):e[n]=new No(r,this.beans,!1,!1,this.printLayout)}e.length=t.length}onPinnedRowDataChanged(){this.redrawAfterModelUpdate({recycleRows:!0})}redrawRow(e,t=!1){if(e.sticky)this.stickyRowFeature.refreshStickyNode(e);else{if(this.cachedRowCtrls?.has(e))return void this.cachedRowCtrls.removeRow(e);{const t=t=>{const i=t[e.rowIndex];i&&i.getRowNode()===e&&(i.destroyFirstPass(),i.destroySecondPass(),t[e.rowIndex]=this.createRowCon(e,!1,!1))};switch(e.rowPinned){case"top":t(this.topRowCtrls);break;case"bottom":t(this.bottomRowCtrls);break;default:t(this.rowCtrlsByRowIndex),this.updateAllRowCtrls()}}}t||this.dispatchDisplayedRowsChanged(!1)}redrawRows(e){if(null!=e)return e?.forEach((e=>this.redrawRow(e,!0))),void this.dispatchDisplayedRowsChanged(!1);this.redrawAfterModelUpdate()}getCellToRestoreFocusToAfterRefresh(e){const t=e?.suppressKeepFocus?null:this.focusService.getFocusCellToUseAfterRefresh();if(null==t)return null;const i=this.gos.getActiveDomElement(),a=this.gos.getDomData(i,Fo.DOM_DATA_KEY_CELL_CTRL),n=this.gos.getDomData(i,No.DOM_DATA_KEY_ROW_CTRL);return a||n?t:null}redrawAfterModelUpdate(e={}){this.getLockOnRefresh();const t=this.getCellToRestoreFocusToAfterRefresh(e);this.updateContainerHeights(),this.scrollToTopIfNewData(e);const i=!e.domLayoutChanged&&!!e.recycleRows,a=e.animate&&this.gos.isAnimateRows(),n=i?this.getRowsToRecycle():null;if(i||this.removeAllRowComps(),this.workOutFirstAndLastRowsToRender(),this.stickyRowFeature){this.stickyRowFeature.checkStickyRows();const e=this.stickyRowFeature.getExtraTopHeight()+this.stickyRowFeature.getExtraBottomHeight();e&&this.updateContainerHeights(e)}this.recycleRows(n,a),this.gridBodyCtrl.updateRowCount(),e.onlyBody||this.refreshFloatingRowComps(),this.dispatchDisplayedRowsChanged(),null!=t&&this.restoreFocusedCell(t),this.releaseLockOnRefresh()}scrollToTopIfNewData(e){const t=e.newData||e.newPage,i=this.gos.get("suppressScrollOnNewData");t&&!i&&(this.gridBodyCtrl.getScrollFeature().scrollToTop(),this.stickyRowFeature?.resetOffsets())}updateContainerHeights(e=0){if(this.printLayout)return void this.rowContainerHeightService.setModelHeight(null);let t=this.pageBoundsService.getCurrentPageHeight();0===t&&(t=1),this.rowContainerHeightService.setModelHeight(t+e)}getLockOnRefresh(){if(this.refreshInProgress){const e=this.frameworkOverrides.getLockOnRefreshError?.()??"";throw new Error("AG Grid: cannot get grid to draw rows when it is in the middle of drawing rows. Your code probably called a grid API method while the grid was in the render stage. To overcome this, put the API call into a timeout, e.g. instead of api.redrawRows(), call setTimeout(function() { api.redrawRows(); }, 0). To see what part of your code that caused the refresh check this stacktrace."+e)}this.refreshInProgress=!0,this.frameworkOverrides.getLockOnRefresh?.()}releaseLockOnRefresh(){this.refreshInProgress=!1,this.frameworkOverrides.releaseLockOnRefresh?.()}isRefreshInProgress(){return this.refreshInProgress}restoreFocusedCell(e){e&&setTimeout((()=>{this.focusService.setRestoreFocusedCell(e),this.onCellFocusChanged(this.gos.addGridCommonParams({rowIndex:e.rowIndex,column:e.column,rowPinned:e.rowPinned,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0,type:"cellFocused"}))}))}stopEditing(e=!1){this.getAllRowCtrls().forEach((t=>{t.stopEditing(e)}))}getAllCellCtrls(){const e=[],t=this.getAllRowCtrls(),i=t.length;for(let a=0;a<i;a++){const i=t[a].getAllCellCtrls(),n=i.length;for(let t=0;t<n;t++)e.push(i[t])}return e}getAllRowCtrls(){const e=this.stickyRowFeature&&this.stickyRowFeature.getStickyTopRowCtrls()||[],t=this.stickyRowFeature&&this.stickyRowFeature.getStickyBottomRowCtrls()||[],i=[...this.topRowCtrls,...this.bottomRowCtrls,...e,...t];for(const e in this.rowCtrlsByRowIndex)i.push(this.rowCtrlsByRowIndex[e]);return i}addRenderedRowListener(e,t,i){const a=this.rowCtrlsByRowIndex[t];a&&a.addEventListener(e,i)}flashCells(e={}){this.getCellCtrls(e.rowNodes,e.columns).forEach((t=>t.flashCell(e)))}refreshCells(e={}){const t={forceRefresh:e.force,newData:!1,suppressFlash:e.suppressFlash};for(const i of this.getCellCtrls(e.rowNodes,e.columns))i.refreshOrDestroyCell(t);this.refreshFullWidth(e.rowNodes)}refreshFullWidth(e){if(!e)return;let t=null;this.stickyRowFeature&&Jt()&&(t=this.getCellToRestoreFocusToAfterRefresh()||null);for(const t of this.getRowCtrls(e)){if(!t.isFullWidth())continue;t.refreshFullWidth()||this.redrawRow(t.getRowNode(),!0)}this.dispatchDisplayedRowsChanged(!1),t&&this.restoreFocusedCell(t)}getCellRendererInstances(e){const t=this.getCellCtrls(e.rowNodes,e.columns).map((e=>e.getCellRenderer())).filter((e=>null!=e));if(e.columns?.length)return t;const i=[],a=this.mapRowNodes(e.rowNodes);return this.getAllRowCtrls().forEach((e=>{if(a&&!this.isRowInMap(e.getRowNode(),a))return;if(!e.isFullWidth())return;const t=e.getFullWidthCellRenderers();for(let e=0;e<t.length;e++){const a=t[e];null!=a&&i.push(a)}})),[...i,...t]}getCellEditorInstances(e){const t=[];return this.getCellCtrls(e.rowNodes,e.columns).forEach((e=>{const i=e.getCellEditor();i&&t.push(i)})),t}getEditingCells(){const e=[];return this.getAllCellCtrls().forEach((t=>{if(t.isEditing()){const i=t.getCellPosition();e.push(i)}})),e}mapRowNodes(e){if(!e)return;const t={top:{},bottom:{},normal:{}};return e.forEach((e=>{const i=e.id;switch(e.rowPinned){case"top":t.top[i]=e;break;case"bottom":t.bottom[i]=e;break;default:t.normal[i]=e}})),t}isRowInMap(e,t){const i=e.id;switch(e.rowPinned){case"top":return null!=t.top[i];case"bottom":return null!=t.bottom[i];default:return null!=t.normal[i]}}getRowCtrls(e){const t=this.mapRowNodes(e),i=this.getAllRowCtrls();return e&&t?i.filter((e=>{const i=e.getRowNode();return this.isRowInMap(i,t)})):i}getCellCtrls(e,t){let i;N(t)&&(i={},t.forEach((e=>{const t=this.columnModel.getCol(e);N(t)&&(i[t.getId()]=!0)})));const a=[];return this.getRowCtrls(e).forEach((e=>{e.getAllCellCtrls().forEach((e=>{const t=e.getColumn().getId();i&&!i[t]||a.push(e)}))})),a}destroy(){this.removeAllRowComps(),super.destroy()}removeAllRowComps(){const e=Object.keys(this.rowCtrlsByRowIndex);this.removeRowCtrls(e),this.stickyRowFeature&&this.stickyRowFeature.destroyStickyCtrls()}getRowsToRecycle(){const e=[];K(this.rowCtrlsByRowIndex,((t,i)=>{null==i.getRowNode().id&&e.push(t)})),this.removeRowCtrls(e);const t={};return K(this.rowCtrlsByRowIndex,((e,i)=>{const a=i.getRowNode();t[a.id]=i})),this.rowCtrlsByRowIndex={},t}removeRowCtrls(e,t=!1){e.forEach((e=>{const i=this.rowCtrlsByRowIndex[e];i&&(i.destroyFirstPass(t),i.destroySecondPass()),delete this.rowCtrlsByRowIndex[e]}))}onBodyScroll(e){"vertical"===e.direction&&this.redraw({afterScroll:!0})}redraw(e={}){const{afterScroll:t}=e;let i;this.stickyRowFeature&&Jt()&&(i=this.getCellToRestoreFocusToAfterRefresh()||void 0);const a=this.firstRenderedRow,n=this.lastRenderedRow;this.workOutFirstAndLastRowsToRender();let r=!1;if(this.stickyRowFeature){r=this.stickyRowFeature.checkStickyRows();const e=this.stickyRowFeature.getExtraTopHeight()+this.stickyRowFeature.getExtraBottomHeight();e&&this.updateContainerHeights(e)}const o=this.firstRenderedRow!==a||this.lastRenderedRow!==n;if((!t||r||o)&&(this.getLockOnRefresh(),this.recycleRows(null,!1,t),this.releaseLockOnRefresh(),this.dispatchDisplayedRowsChanged(t&&!r),null!=i)){const e=this.getCellToRestoreFocusToAfterRefresh();null!=i&&null==e&&(this.animationFrameService.flushAllFrames(),this.restoreFocusedCell(i))}}removeRowCompsNotToDraw(e,t){const i={};e.forEach((e=>i[e]=!0));const a=Object.keys(this.rowCtrlsByRowIndex).filter((e=>!i[e]));this.removeRowCtrls(a,t)}calculateIndexesToDraw(e){const t=function(e,t){const i=[];for(let a=e;a<=t;a++)i.push(a);return i}(this.firstRenderedRow,this.lastRenderedRow),i=(e,i)=>{const a=i.getRowNode().rowIndex;null!=a&&(a<this.firstRenderedRow||a>this.lastRenderedRow)&&this.doNotUnVirtualiseRow(i)&&t.push(a)};K(this.rowCtrlsByRowIndex,i),K(e,i),t.sort(((e,t)=>e-t));const a=[];for(let e=0;e<t.length;e++){const i=t[e],n=this.rowModel.getRow(i);n&&!n.sticky&&a.push(i)}return a}recycleRows(e,t=!1,i=!1){const a=this.calculateIndexesToDraw(e);(this.printLayout||i)&&(t=!1),this.removeRowCompsNotToDraw(a,!t);const n=[];if(a.forEach((a=>{const r=this.createOrUpdateRowCtrl(a,e,t,i);N(r)&&n.push(r)})),e){i&&!this.gos.get("suppressAnimationFrame")&&!this.printLayout?this.beans.animationFrameService.addDestroyTask((()=>{this.destroyRowCtrls(e,t),this.updateAllRowCtrls(),this.dispatchDisplayedRowsChanged()})):this.destroyRowCtrls(e,t)}this.updateAllRowCtrls()}dispatchDisplayedRowsChanged(e=!1){const t={type:"displayedRowsChanged",afterScroll:e};this.eventService.dispatchEvent(t)}onDisplayedColumnsChanged(){const e=this.visibleColsService.isPinningLeft(),t=this.visibleColsService.isPinningRight();(this.pinningLeft!==e||t!==this.pinningRight)&&(this.pinningLeft=e,this.pinningRight=t,this.embedFullWidthRows&&this.redrawFullWidthEmbeddedRows())}redrawFullWidthEmbeddedRows(){const e=[];this.getFullWidthRowCtrls().forEach((t=>{const i=t.getRowNode().rowIndex;e.push(i.toString())})),this.refreshFloatingRowComps(),this.removeRowCtrls(e),this.redraw({afterScroll:!0})}getFullWidthRowCtrls(e){const t=this.mapRowNodes(e);return this.getAllRowCtrls().filter((e=>{if(!e.isFullWidth())return!1;const i=e.getRowNode();return!(null!=t&&!this.isRowInMap(i,t))}))}createOrUpdateRowCtrl(e,t,i,a){let n,r=this.rowCtrlsByRowIndex[e];r||(n=this.rowModel.getRow(e),N(n)&&N(t)&&t[n.id]&&n.alreadyRendered&&(r=t[n.id],t[n.id]=null));if(!r){if(n||(n=this.rowModel.getRow(e)),!N(n))return;r=this.createRowCon(n,i,a)}return n&&(n.alreadyRendered=!0),this.rowCtrlsByRowIndex[e]=r,r}destroyRowCtrls(e,t){const i=[];K(e,((e,a)=>{a&&(this.cachedRowCtrls&&a.isCacheable()?this.cachedRowCtrls.addRow(a):(a.destroyFirstPass(!t),t?(this.zombieRowCtrls[a.getInstanceId()]=a,i.push((()=>{a.destroySecondPass(),delete this.zombieRowCtrls[a.getInstanceId()]}))):a.destroySecondPass()))})),t&&(i.push((()=>{this.updateAllRowCtrls(),this.dispatchDisplayedRowsChanged()})),ge(i))}getRowBuffer(){return this.gos.get("rowBuffer")}getRowBufferInPixels(){return this.getRowBuffer()*this.gos.getRowHeightAsNumber()}workOutFirstAndLastRowsToRender(){let e,t;if(this.rowContainerHeightService.updateOffset(),this.rowModel.isRowsToRender())if(this.printLayout)this.environment.refreshRowHeightVariable(),e=this.pageBoundsService.getFirstRow(),t=this.pageBoundsService.getLastRow();else{const i=this.getRowBufferInPixels(),a=this.ctrlsService.getGridBodyCtrl(),n=this.gos.get("suppressRowVirtualisation");let r,o,s=!1;do{const e=this.pageBoundsService.getPixelOffset(),{pageFirstPixel:t,pageLastPixel:l}=this.pageBoundsService.getCurrentPagePixelRange(),c=this.rowContainerHeightService.getDivStretchOffset(),d=a.getScrollFeature().getVScrollPosition(),h=d.top,u=d.bottom;n?(r=t+c,o=l+c):(r=Math.max(h+e-i,t)+c,o=Math.min(u+e+i,l)+c),this.firstVisibleVPixel=Math.max(h+e,t)+c,this.lastVisibleVPixel=Math.min(u+e,l)+c,s=this.ensureAllRowsInRangeHaveHeightsCalculated(r,o)}while(s);let l=this.rowModel.getRowIndexAtPixel(r),c=this.rowModel.getRowIndexAtPixel(o);const d=this.pageBoundsService.getFirstRow(),h=this.pageBoundsService.getLastRow();l<d&&(l=d),c>h&&(c=h),e=l,t=c}else e=0,t=-1;const i=this.gos.isDomLayout("normal"),a=this.gos.get("suppressMaxRenderedRowRestriction"),n=Math.max(this.getRowBuffer(),500);i&&!a&&t-e>n&&(t=e+n);const r=e!==this.firstRenderedRow,o=t!==this.lastRenderedRow;if(r||o){this.firstRenderedRow=e,this.lastRenderedRow=t;const i={type:"viewportChanged",firstRow:e,lastRow:t};this.eventService.dispatchEvent(i)}}dispatchFirstDataRenderedEvent(){if(this.dataFirstRenderedFired)return;this.dataFirstRenderedFired=!0;const e={type:"firstDataRendered",firstRow:this.firstRenderedRow,lastRow:this.lastRenderedRow};window.requestAnimationFrame((()=>{this.beans.eventService.dispatchEvent(e)}))}ensureAllRowsInRangeHaveHeightsCalculated(e,t){const i=this.pinnedRowModel?.ensureRowHeightsValid(),a=this.stickyRowFeature?.ensureRowHeightsValid(),n=this.rowModel.ensureRowHeightsValid(e,t,this.pageBoundsService.getFirstRow(),this.pageBoundsService.getLastRow());return(n||a)&&this.eventService.dispatchEvent({type:"recalculateRowBounds"}),!!(a||n||i)&&(this.updateContainerHeights(),!0)}getFirstVisibleVerticalPixel(){return this.firstVisibleVPixel}getLastVisibleVerticalPixel(){return this.lastVisibleVPixel}getFirstVirtualRenderedRow(){return this.firstRenderedRow}getLastVirtualRenderedRow(){return this.lastRenderedRow}doNotUnVirtualiseRow(e){const t=!1,i=e.getRowNode(),a=this.focusService.isRowNodeFocused(i),n=e.isEditing(),r=i.detail;if(!(a||n||r))return t;return!!this.isRowPresent(i)||t}isRowPresent(e){return!!this.rowModel.isRowPresent(e)&&(!this.paginationService||this.paginationService.isRowPresent(e))}createRowCon(e,t,i){const a=this.cachedRowCtrls?this.cachedRowCtrls.getRow(e):null;if(a)return a;const n=this.gos.get("suppressAnimationFrame"),r=i&&!n&&!this.printLayout;return new No(e,this.beans,t,r,this.printLayout)}getRenderedNodes(){const e=this.rowCtrlsByRowIndex;return Object.values(e).map((e=>e.getRowNode()))}getRowByPosition(e){let t;const{rowIndex:i}=e;switch(e.rowPinned){case"top":t=this.topRowCtrls[i];break;case"bottom":t=this.bottomRowCtrls[i];break;default:t=this.rowCtrlsByRowIndex[i],t||(t=this.getStickyTopRowCtrls().find((e=>e.getRowNode().rowIndex===i))||null,t||(t=this.getStickyBottomRowCtrls().find((e=>e.getRowNode().rowIndex===i))||null))}return t}isRangeInRenderedViewport(e,t){if(null==e||null==t)return!1;const i=e>this.lastRenderedRow;return!(t<this.firstRenderedRow)&&!i}},Zs=class{constructor(e){this.entriesMap={},this.entriesList=[],this.maxCount=e}addRow(e){if(this.entriesMap[e.getRowNode().id]=e,this.entriesList.push(e),e.setCached(!0),this.entriesList.length>this.maxCount){const e=this.entriesList[0];e.destroyFirstPass(),e.destroySecondPass(),this.removeFromCache(e)}}getRow(e){if(null==e||null==e.id)return null;const t=this.entriesMap[e.id];if(!t)return null;this.removeFromCache(t),t.setCached(!1);return t.getRowNode()!=e?null:t}has(e){return null!=this.entriesMap[e.id]}removeRow(e){const t=e.id,i=this.entriesMap[t];delete this.entriesMap[t],f(this.entriesList,i)}removeFromCache(e){const t=e.getRowNode().id;delete this.entriesMap[t],f(this.entriesList,e)}getEntries(){return this.entriesList}},Xs=class extends F{constructor(){super(...arguments),this.beanName="pinnedRowModel",this.nextId=0}wireBeans(e){this.beans=e}postConstruct(){this.setPinnedTopRowData(),this.setPinnedBottomRowData(),this.addManagedPropertyListener("pinnedTopRowData",(()=>this.setPinnedTopRowData())),this.addManagedPropertyListener("pinnedBottomRowData",(()=>this.setPinnedBottomRowData())),this.addManagedEventListeners({gridStylesChanged:this.onGridStylesChanges.bind(this)})}isEmpty(e){return z("top"===e?this.pinnedTopRows:this.pinnedBottomRows)}isRowsToRender(e){return!this.isEmpty(e)}getRowAtPixel(e,t){const i="top"===t?this.pinnedTopRows:this.pinnedBottomRows;if(z(i))return 0;for(let t=0;t<i.length;t++){const a=i[t];if(a.rowTop+a.rowHeight-1>=e)return t}return i.length-1}onGridStylesChanges(e){if(e.rowHeightChanged){const e=e=>{e.setRowHeight(e.rowHeight,!0)};this.pinnedBottomRows.forEach(e),this.pinnedTopRows.forEach(e)}}ensureRowHeightsValid(){let e=!1,t=0;const i=i=>{if(i.rowHeightEstimated){const a=this.gos.getRowHeightForNode(i);i.setRowTop(t),i.setRowHeight(a.height),t+=a.height,e=!0}};this.pinnedBottomRows?.forEach(i),t=0,this.pinnedTopRows?.forEach(i);return this.eventService.dispatchEvent({type:"pinnedHeightChanged"}),e}setPinnedTopRowData(){const e=this.gos.get("pinnedTopRowData");this.pinnedTopRows=this.createNodesFromData(e,!0);this.eventService.dispatchEvent({type:"pinnedRowDataChanged"})}setPinnedBottomRowData(){const e=this.gos.get("pinnedBottomRowData");this.pinnedBottomRows=this.createNodesFromData(e,!1);this.eventService.dispatchEvent({type:"pinnedRowDataChanged"})}createNodesFromData(e,t){const i=[];if(e){const a=this.gos.getRowIdCallback(),n=t?rn.ID_PREFIX_TOP_PINNED:rn.ID_PREFIX_BOTTOM_PINNED;let r=0;const o=t?"top":"bottom";e.forEach(((e,t)=>{const s=new rn(this.beans);s.data=e,s.id=a?.({data:e,level:0,rowPinned:o})??n+this.nextId++,s.rowPinned=o,s.setRowTop(r),s.setRowHeight(this.gos.getRowHeightForNode(s).height),s.setRowIndex(t),r+=s.rowHeight,i.push(s)}))}return i}getPinnedTopRowNodes(){return this.pinnedTopRows}getPinnedBottomRowNodes(){return this.pinnedBottomRows}getPinnedTopTotalHeight(){return this.getTotalHeight(this.pinnedTopRows)}getPinnedTopRowCount(){return this.pinnedTopRows?this.pinnedTopRows.length:0}getPinnedBottomRowCount(){return this.pinnedBottomRows?this.pinnedBottomRows.length:0}getPinnedTopRow(e){return this.pinnedTopRows[e]}getPinnedBottomRow(e){return this.pinnedBottomRows[e]}forEachPinnedTopRow(e){z(this.pinnedTopRows)||this.pinnedTopRows.forEach(e)}forEachPinnedBottomRow(e){z(this.pinnedBottomRows)||this.pinnedBottomRows.forEach(e)}getPinnedBottomTotalHeight(){return this.getTotalHeight(this.pinnedBottomRows)}getTotalHeight(e){if(!e||0===e.length)return 0;const t=h(e);return t.rowTop+t.rowHeight}},Qs=(e=>(e.Applied="Applied",e.StoreNotFound="StoreNotFound",e.StoreLoading="StoreLoading",e.StoreWaitingToLoad="StoreWaitingToLoad",e.StoreLoadingFailed="StoreLoadingFailed",e.StoreWrongType="StoreWrongType",e.Cancelled="Cancelled",e.StoreNotStarted="StoreNotStarted",e))(Qs||{}),Js=class extends F{constructor(e){super(),this.state="needsLoading",this.version=0,this.id=e}getId(){return this.id}load(){this.state="loading",this.loadFromDatasource()}getVersion(){return this.version}setStateWaitingToLoad(){this.version++,this.state="needsLoading"}getState(){return this.state}pageLoadFailed(e){this.isRequestMostRecentAndLive(e)&&(this.state="failed",this.processServerFail()),this.dispatchLoadCompleted(!1)}success(e,t){this.successCommon(e,t)}pageLoaded(e,t,i){this.successCommon(e,{rowData:t,rowCount:i})}isRequestMostRecentAndLive(e){const t=e===this.version,i=this.isAlive();return t&&i}successCommon(e,t){this.dispatchLoadCompleted();this.isRequestMostRecentAndLive(e)&&(this.state="loaded",this.processServerResult(t))}dispatchLoadCompleted(e=!0){const t={type:"loadComplete",success:e,block:this};this.dispatchLocalEvent(t)}},el=class extends F{constructor(){super(...arguments),this.beanName="rowNodeBlockLoader",this.activeBlockLoadsCount=0,this.blocks=[],this.active=!0}wireBeans(e){this.rowModel=e.rowModel}postConstruct(){this.maxConcurrentRequests=this.getMaxConcurrentDatasourceRequests();const e=this.gos.get("blockLoadDebounceMillis");e&&e>0&&(this.checkBlockToLoadDebounce=ve(this.performCheckBlocksToLoad.bind(this),e))}getMaxConcurrentDatasourceRequests(){const e=this.gos.get("maxConcurrentDatasourceRequests");return null==e?2:e<=0?void 0:e}addBlock(e){this.blocks.push(e),e.addEventListener("loadComplete",this.loadComplete.bind(this)),this.checkBlockToLoad()}removeBlock(e){f(this.blocks,e)}destroy(){super.destroy(),this.active=!1}loadComplete(){this.activeBlockLoadsCount--,this.checkBlockToLoad(),this.dispatchLocalEvent({type:"blockLoaded"}),0==this.activeBlockLoadsCount&&this.dispatchLocalEvent({type:"blockLoaderFinished"})}checkBlockToLoad(){this.checkBlockToLoadDebounce?this.checkBlockToLoadDebounce():this.performCheckBlocksToLoad()}performCheckBlocksToLoad(){if(!this.active)return;if(this.printCacheStatus(),null!=this.maxConcurrentRequests&&this.activeBlockLoadsCount>=this.maxConcurrentRequests)return void(this.gos.get("debug")&&ce("RowNodeBlockLoader - checkBlockToLoad: max loads exceeded"));const e=this.getAvailableLoadingCount(),t=this.blocks.filter((e=>"needsLoading"===e.getState())).slice(0,e);this.registerLoads(t.length),t.forEach((e=>e.load())),this.printCacheStatus()}getBlockState(){if(this.gos.isRowModelType("serverSide")){return this.rowModel.getBlockStates()}const e={};return this.blocks.forEach((t=>{const{id:i,state:a}=t.getBlockStateJson();e[i]=a})),e}printCacheStatus(){this.gos.get("debug")&&ce(`RowNodeBlockLoader - printCacheStatus: activePageLoadsCount = ${this.activeBlockLoadsCount}, blocks = ${JSON.stringify(this.getBlockState())}`)}isLoading(){return this.activeBlockLoadsCount>0}registerLoads(e){this.activeBlockLoadsCount+=e}getAvailableLoadingCount(){return void 0!==this.maxConcurrentRequests?this.maxConcurrentRequests-this.activeBlockLoadsCount:void 0}},tl={version:dr,moduleName:"@ag-grid-community/row-node-block",beans:[el]},il=class{constructor(){this.root=null,this.end=null,this.cachedRange=[]}init(e){this.rowModel=e}reset(){this.root=null,this.end=null,this.cachedRange.length=0}setRoot(e){this.root=e,this.end=null,this.cachedRange.length=0}setEndRange(e){this.end=e,this.cachedRange.length=0}getRange(){if(0===this.cachedRange.length){const e=this.getRoot(),t=this.getEnd();if(null==e||null==t)return this.cachedRange;this.cachedRange=this.rowModel.getNodesInRangeForSelection(e,t)}return this.cachedRange}isInRange(e){return null!==this.root&&this.getRange().some((t=>t.id===e.id))}getRoot(){return this.root&&null===this.root?.key&&(this.root=this.rowModel.getRowNode(this.root.id)??null),this.root}getEnd(){return this.end&&null===this.end?.key&&(this.end=this.rowModel.getRowNode(this.end.id)??null),this.end}truncate(e){const t=this.getRange();if(0===t.length)return{keep:[],discard:[]};const i=t[0].id===this.root.id,a=t.findIndex((t=>t.id===e.id));if(a>-1){const n=t.slice(0,a),r=t.slice(a+1);return this.setEndRange(e),i?{keep:n,discard:r}:{keep:r,discard:n}}return{keep:t,discard:[]}}extend(e,t=!1){const i=this.getRoot();if(null==i){const i=this.getRange().slice();return t&&e.depthFirstSearch((e=>!e.group&&i.push(e))),i.push(e),this.setRoot(e),{keep:i,discard:[]}}if(this.rowModel.getNodesInRangeForSelection(i,e).find((e=>e.id===this.end?.id)))return this.setEndRange(e),{keep:this.getRange(),discard:[]};{const t=this.getRange().slice();return this.setEndRange(e),{keep:this.getRange(),discard:t}}}},al=class extends F{constructor(){super(...arguments),this.beanName="stylingService"}wireBeans(e){this.expressionService=e.expressionService}processAllCellClasses(e,t,i,a){this.processClassRules(void 0,e.cellClassRules,t,i,a),this.processStaticCellClasses(e,t,i)}processClassRules(e,t,i,a,n){if(null==t&&null==e)return;const r={},o={},s=(e,t)=>{e.split(" ").forEach((e=>{""!=e.trim()&&t(e)}))};if(t){const e=Object.keys(t);for(let a=0;a<e.length;a++){const n=e[a],l=t[n];let c;"string"==typeof l?c=this.expressionService.evaluate(l,i):"function"==typeof l&&(c=l(i)),s(n,(e=>{c?r[e]=!0:o[e]=!0}))}}e&&n&&Object.keys(e).forEach((e=>s(e,(e=>{r[e]||(o[e]=!0)})))),n&&Object.keys(o).forEach(n),Object.keys(r).forEach(a)}getStaticCellClasses(e,t){const{cellClass:i}=e;if(!i)return[];let a;if("function"==typeof i){a=i(t)}else a=i;return"string"==typeof a&&(a=[a]),a||[]}processStaticCellClasses(e,t,i){this.getStaticCellClasses(e,t).forEach((e=>{i(e)}))}},nl=class extends oa{constructor(e){super(e,"ag-toggle-button")}setValue(e,t){return super.setValue(e,t),this.addOrRemoveCssClass("ag-selected",this.getValue()),this}},rl={selector:"AG-TOGGLE-BUTTON",component:nl},ol=(e=>(e.TAB_GUARD="ag-tab-guard",e.TAB_GUARD_TOP="ag-tab-guard-top",e.TAB_GUARD_BOTTOM="ag-tab-guard-bottom",e))(ol||{}),sl=class extends F{constructor(e){super(),this.skipTabGuardFocus=!1,this.forcingFocusOut=!1,this.allowFocus=!1;const{comp:t,eTopGuard:i,eBottomGuard:a,focusTrapActive:n,forceFocusOutWhenTabGuardsAreEmpty:r,isFocusableContainer:o,focusInnerElement:s,onFocusIn:l,onFocusOut:c,shouldStopEventPropagation:d,onTabKeyDown:h,handleKeyDown:u,eFocusableElement:g}=e;this.comp=t,this.eTopGuard=i,this.eBottomGuard=a,this.providedFocusInnerElement=s,this.eFocusableElement=g,this.focusTrapActive=!!n,this.forceFocusOutWhenTabGuardsAreEmpty=!!r,this.isFocusableContainer=!!o,this.providedFocusIn=l,this.providedFocusOut=c,this.providedShouldStopEventPropagation=d,this.providedOnTabKeyDown=h,this.providedHandleKeyDown=u}wireBeans(e){this.focusService=e.focusService}postConstruct(){this.createManagedBean(new un(this.eFocusableElement,{shouldStopEventPropagation:()=>this.shouldStopEventPropagation(),onTabKeyDown:e=>this.onTabKeyDown(e),handleKeyDown:e=>this.handleKeyDown(e),onFocusIn:e=>this.onFocusIn(e),onFocusOut:e=>this.onFocusOut(e)})),this.activateTabGuards(),[this.eTopGuard,this.eBottomGuard].forEach((e=>this.addManagedElementListeners(e,{focus:this.onFocus.bind(this)})))}handleKeyDown(e){this.providedHandleKeyDown&&this.providedHandleKeyDown(e)}tabGuardsAreActive(){return!!this.eTopGuard&&this.eTopGuard.hasAttribute("tabIndex")}shouldStopEventPropagation(){return!!this.providedShouldStopEventPropagation&&this.providedShouldStopEventPropagation()}activateTabGuards(){if(this.forcingFocusOut)return;const e=this.gos.get("tabIndex");this.comp.setTabIndex(e.toString())}deactivateTabGuards(){this.comp.setTabIndex()}onFocus(e){if(this.isFocusableContainer&&!this.eFocusableElement.contains(e.relatedTarget)&&!this.allowFocus)return void this.findNextElementOutsideAndFocus(e.target===this.eBottomGuard);if(this.skipTabGuardFocus)return void(this.skipTabGuardFocus=!1);if(this.forceFocusOutWhenTabGuardsAreEmpty){if(0===this.focusService.findFocusableElements(this.eFocusableElement,".ag-tab-guard").length)return void this.findNextElementOutsideAndFocus(e.target===this.eBottomGuard)}if(this.isFocusableContainer&&this.eFocusableElement.contains(e.relatedTarget))return;const t=e.target===this.eBottomGuard;this.providedFocusInnerElement?this.providedFocusInnerElement(t):this.focusInnerElement(t)}findNextElementOutsideAndFocus(e){const t=this.gos.getDocument(),i=this.focusService.findFocusableElements(t.body,null,!0),a=i.indexOf(e?this.eTopGuard:this.eBottomGuard);if(-1===a)return;let n,r;e?(n=0,r=a):(n=a+1,r=i.length);const o=i.slice(n,r),s=this.gos.get("tabIndex");o.sort(((e,t)=>{const i=parseInt(e.getAttribute("tabindex")||"0"),a=parseInt(t.getAttribute("tabindex")||"0");return a===s?1:i===s?-1:0===i?1:0===a?-1:i-a})),o[e?o.length-1:0].focus()}onFocusIn(e){this.focusTrapActive||this.forcingFocusOut||(this.providedFocusIn&&this.providedFocusIn(e),this.isFocusableContainer||this.deactivateTabGuards())}onFocusOut(e){this.focusTrapActive||(this.providedFocusOut&&this.providedFocusOut(e),this.eFocusableElement.contains(e.relatedTarget)||this.activateTabGuards())}onTabKeyDown(e){if(this.providedOnTabKeyDown)return void this.providedOnTabKeyDown(e);if(this.focusTrapActive)return;if(e.defaultPrevented)return;const t=this.tabGuardsAreActive();t&&this.deactivateTabGuards();const i=this.getNextFocusableElement(e.shiftKey);t&&setTimeout((()=>this.activateTabGuards()),0),i&&(i.focus(),e.preventDefault())}focusInnerElement(e=!1){const t=this.focusService.findFocusableElements(this.eFocusableElement);this.tabGuardsAreActive()&&(t.splice(0,1),t.splice(t.length-1,1)),t.length&&t[e?t.length-1:0].focus({preventScroll:!0})}getNextFocusableElement(e){return this.focusService.findNextFocusableElement(this.eFocusableElement,!1,e)}forceFocusOutOfContainer(e=!1){if(this.forcingFocusOut)return;const t=e?this.eTopGuard:this.eBottomGuard;this.activateTabGuards(),this.skipTabGuardFocus=!0,this.forcingFocusOut=!0,t.focus(),window.setTimeout((()=>{this.forcingFocusOut=!1,this.activateTabGuards()}))}isTabGuard(e,t){return e===this.eTopGuard&&!t||e===this.eBottomGuard&&(t??!0)}setAllowFocus(e){this.allowFocus=e}},ll=class extends F{constructor(e){super(),this.comp=e}initialiseTabGuard(e){this.eTopGuard=this.createTabGuard("top"),this.eBottomGuard=this.createTabGuard("bottom"),this.eFocusableElement=this.comp.getFocusableElement();const{eTopGuard:t,eBottomGuard:i,eFocusableElement:a}=this,n=[t,i],r={setTabIndex:e=>{n.forEach((t=>null!=e?t.setAttribute("tabindex",e):t.removeAttribute("tabindex")))}};this.addTabGuards(t,i);const{focusTrapActive:o=!1,onFocusIn:s,onFocusOut:l,focusInnerElement:c,handleKeyDown:d,onTabKeyDown:h,shouldStopEventPropagation:u,forceFocusOutWhenTabGuardsAreEmpty:g,isFocusableContainer:p}=e;this.tabGuardCtrl=this.createManagedBean(new sl({comp:r,focusTrapActive:o,eTopGuard:t,eBottomGuard:i,eFocusableElement:a,onFocusIn:s,onFocusOut:l,focusInnerElement:c,handleKeyDown:d,onTabKeyDown:h,shouldStopEventPropagation:u,forceFocusOutWhenTabGuardsAreEmpty:g,isFocusableContainer:p}))}getTabGuardCtrl(){return this.tabGuardCtrl}createTabGuard(e){const t=this.gos.getDocument().createElement("div"),i="top"===e?"ag-tab-guard-top":"ag-tab-guard-bottom";return t.classList.add("ag-tab-guard",i),St(t,"presentation"),t}addTabGuards(e,t){this.eFocusableElement.insertAdjacentElement("afterbegin",e),this.eFocusableElement.insertAdjacentElement("beforeend",t)}removeAllChildrenExceptTabGuards(){const e=[this.eTopGuard,this.eBottomGuard];bi(this.comp.getFocusableElement()),this.addTabGuards(...e)}forceFocusOutOfContainer(e=!1){this.tabGuardCtrl.forceFocusOutOfContainer(e)}appendChild(e,t,i){Pi(t)||(t=t.getGui());const{eBottomGuard:a}=this;a?a.insertAdjacentElement("beforebegin",t):e(t,i)}},cl=class extends Hi{initialiseTabGuard(e){this.tabGuardFeature=this.createManagedBean(new ll(this)),this.tabGuardFeature.initialiseTabGuard(e)}forceFocusOutOfContainer(e=!1){this.tabGuardFeature.forceFocusOutOfContainer(e)}appendChild(e,t){this.tabGuardFeature.appendChild(super.appendChild.bind(this),e,t)}},dl=0,hl=class extends F{constructor(){super(...arguments),this.beanName="popupService",this.popupList=[]}wireBeans(e){this.ctrlsService=e.ctrlsService,this.resizeObserverService=e.resizeObserverService,this.environment=e.environment}postConstruct(){this.ctrlsService.whenReady((e=>{this.gridCtrl=e.gridCtrl})),this.addManagedEventListeners({gridStylesChanged:this.handleThemeChange.bind(this)})}getPopupParent(){const e=this.gos.get("popupParent");return e||this.gridCtrl.getGui()}positionPopupForMenu(e){const{eventSource:t,ePopup:i}=e,a=this.getPopupIndex(i);if(-1!==a){this.popupList[a].alignedToElement=t}const n=t.getBoundingClientRect(),r=this.getParentRect(),o=this.keepXYWithinBounds(i,n.top-r.top,0),s=i.clientWidth>0?i.clientWidth:200;i.style.minWidth=`${s}px`;const l=r.right-r.left-s;let c;function d(){return n.right-r.left-2}function h(){return n.left-r.left-s}this.gos.get("enableRtl")?(c=h(),c<0&&(c=d(),this.setAlignedStyles(i,"left")),c>l&&(c=0,this.setAlignedStyles(i,"right"))):(c=d(),c>l&&(c=h(),this.setAlignedStyles(i,"right")),c<0&&(c=0,this.setAlignedStyles(i,"left"))),i.style.left=`${c}px`,i.style.top=`${o}px`}positionPopupUnderMouseEvent(e){const{ePopup:t,nudgeX:i,nudgeY:a,skipObserver:n}=e;this.positionPopup({ePopup:t,nudgeX:i,nudgeY:a,keepWithinBounds:!0,skipObserver:n,updatePosition:()=>this.calculatePointerAlign(e.mouseEvent),postProcessCallback:()=>this.callPostProcessPopup(e.type,e.ePopup,null,e.mouseEvent,e.column,e.rowNode)})}calculatePointerAlign(e){const t=this.getParentRect();return{x:e.clientX-t.left,y:e.clientY-t.top}}positionPopupByComponent(e){const{ePopup:t,nudgeX:i,nudgeY:a,keepWithinBounds:n,eventSource:r,alignSide:o="left",position:s="over",column:l,rowNode:c,type:d}=e,h=r.getBoundingClientRect(),u=this.getParentRect(),g=this.getPopupIndex(t);if(-1!==g){this.popupList[g].alignedToElement=r}this.positionPopup({ePopup:t,nudgeX:i,nudgeY:a,keepWithinBounds:n,updatePosition:()=>{let i,n=h.left-u.left;if("right"===o&&(n-=t.offsetWidth-h.width),"over"===s)i=h.top-u.top,this.setAlignedStyles(t,"over");else{this.setAlignedStyles(t,"under");i="under"===this.shouldRenderUnderOrAbove(t,h,u,e.nudgeY||0)?h.top-u.top+h.height:h.top-t.offsetHeight-2*(a||0)-u.top}return{x:n,y:i}},postProcessCallback:()=>this.callPostProcessPopup(d,t,r,null,l,c)})}shouldRenderUnderOrAbove(e,t,i,a){const n=i.bottom-t.bottom,r=t.top-i.top,o=e.offsetHeight+a;return n>o?"under":r>o||r>n?"above":"under"}setAlignedStyles(e,t){const i=this.getPopupIndex(e);if(-1===i)return;const a=this.popupList[i],{alignedToElement:n}=a;if(!n)return;["right","left","over","above","under"].forEach((t=>{n.classList.remove(`ag-has-popup-positioned-${t}`),e.classList.remove(`ag-popup-positioned-${t}`)})),t&&(n.classList.add(`ag-has-popup-positioned-${t}`),e.classList.add(`ag-popup-positioned-${t}`))}callPostProcessPopup(e,t,i,a,n,r){const o=this.gos.getCallback("postProcessPopup");if(o){o({column:n,rowNode:r,ePopup:t,type:e,eventSource:i,mouseEvent:a})}}positionPopup(e){const{ePopup:t,keepWithinBounds:i,nudgeX:a,nudgeY:n,skipObserver:r,updatePosition:o}=e,s={width:0,height:0},l=(r=!1)=>{let{x:l,y:c}=o();r&&t.clientWidth===s.width&&t.clientHeight===s.height||(s.width=t.clientWidth,s.height=t.clientHeight,a&&(l+=a),n&&(c+=n),i&&(l=this.keepXYWithinBounds(t,l,1),c=this.keepXYWithinBounds(t,c,0)),t.style.left=`${l}px`,t.style.top=`${c}px`,e.postProcessCallback&&e.postProcessCallback())};if(l(),!r){const e=this.resizeObserverService.observeResize(t,(()=>l(!0)));setTimeout((()=>e()),200)}}getActivePopups(){return this.popupList.map((e=>e.element))}getPopupList(){return this.popupList}getParentRect(){const e=this.gos.getDocument();let t=this.getPopupParent();return t===e.body?t=e.documentElement:"static"===getComputedStyle(t).position&&(t=t.offsetParent),mi(t)}keepXYWithinBounds(e,t,i){const a=0===i,n=a?"clientHeight":"clientWidth",r=a?"top":"left",o=a?"height":"width",s=a?"scrollTop":"scrollLeft",l=this.gos.getDocument(),c=l.documentElement,d=this.getPopupParent(),h=e.getBoundingClientRect(),u=d.getBoundingClientRect(),g=l.documentElement.getBoundingClientRect(),p=d===l.body,m=Math.ceil(h[o]);let f=p?(a?gi:pi)(c)+c[s]:d[n];p&&(f-=Math.abs(g[r]-u[r]));const v=f-m;return Math.min(Math.max(t,0),Math.abs(v))}addPopup(e){const t=this.gos.getDocument(),{eChild:i,ariaLabel:a,alwaysOnTop:n,positionCallback:r,anchorToElement:o}=e;if(!t)return de("could not find the document, document is empty"),{hideFunc:()=>{}};const s=this.getPopupIndex(i);if(-1!==s){return{hideFunc:this.popupList[s].hideFunc}}this.initialisePopupPosition(i);const l=this.createPopupWrapper(i,a,!!n),c=this.addEventListenersToPopup({...e,wrapperEl:l});return r&&r(),this.addPopupToPopupList(i,l,c,o),{hideFunc:c}}initialisePopupPosition(e){const t=this.getPopupParent().getBoundingClientRect();N(e.style.top)||(e.style.top=-1*t.top+"px"),N(e.style.left)||(e.style.left=-1*t.left+"px")}createPopupWrapper(e,t,i){const a=this.getPopupParent(),n=document.createElement("div");return this.environment.applyThemeClasses(n),n.classList.add("ag-popup"),e.classList.add(this.gos.get("enableRtl")?"ag-rtl":"ag-ltr","ag-popup-child"),e.hasAttribute("role")||St(e,"dialog"),kt(e,t),n.appendChild(e),a.appendChild(n),i?this.setAlwaysOnTop(e,!0):this.bringPopupToFront(e),n}handleThemeChange(e){if(e.themeChanged)for(const e of this.popupList)this.environment.applyThemeClasses(e.wrapper)}addEventListenersToPopup(e){const t=this.gos.getDocument(),i=this.getPopupParent(),{wrapperEl:a,eChild:n,closedCallback:r,afterGuiAttached:o,closeOnEsc:s,modal:l}=e;let c=!1;const d=e=>{if(!a.contains(this.gos.getActiveDomElement()))return;e.key!==ia.ESCAPE||A(e)||g({keyboardEvent:e})},h=e=>g({mouseEvent:e}),u=e=>g({touchEvent:e}),g=(e={})=>{const{mouseEvent:o,touchEvent:s,keyboardEvent:l,forceHide:g}=e;(g||!this.isEventFromCurrentPopup({mouseEvent:o,touchEvent:s},n)&&!c)&&(c=!0,i.removeChild(a),t.removeEventListener("keydown",d),t.removeEventListener("mousedown",h),t.removeEventListener("touchstart",u),t.removeEventListener("contextmenu",h),this.eventService.removeEventListener("dragStarted",h),r&&r(o||s||l),this.removePopupFromPopupList(n))};return o&&o({hidePopup:g}),window.setTimeout((()=>{s&&t.addEventListener("keydown",d),l&&(t.addEventListener("mousedown",h),this.eventService.addEventListener("dragStarted",h),t.addEventListener("touchstart",u),t.addEventListener("contextmenu",h))}),0),g}addPopupToPopupList(e,t,i,a){this.popupList.push({element:e,wrapper:t,hideFunc:i,instanceId:dl++,isAnchored:!!a}),a&&this.setPopupPositionRelatedToElement(e,a)}getPopupIndex(e){return this.popupList.findIndex((t=>t.element===e))}setPopupPositionRelatedToElement(e,t){const i=this.getPopupIndex(e);if(-1===i)return;const a=this.popupList[i];if(a.stopAnchoringPromise&&a.stopAnchoringPromise.then((e=>e&&e())),a.stopAnchoringPromise=void 0,a.isAnchored=!1,!t)return;const n=this.keepPopupPositionedRelativeTo({element:t,ePopup:e,hidePopup:a.hideFunc});return a.stopAnchoringPromise=n,a.isAnchored=!0,n}removePopupFromPopupList(e){this.setAlignedStyles(e,null),this.setPopupPositionRelatedToElement(e,null),this.popupList=this.popupList.filter((t=>t.element!==e))}keepPopupPositionedRelativeTo(e){const t=this.getPopupParent(),i=t.getBoundingClientRect(),{element:a,ePopup:n}=e,r=a.getBoundingClientRect(),o=i.top-r.top,s=i.left-r.left;let l=o,c=s;const d=n.style.top,h=parseInt(d.substring(0,d.length-1),10),u=n.style.left,g=parseInt(u.substring(0,u.length-1),10),p=this.getFrameworkOverrides();return new ba((i=>{p.wrapIncoming((()=>{p.setInterval((()=>{const i=t.getBoundingClientRect(),r=a.getBoundingClientRect();if(0==r.top&&0==r.left&&0==r.height&&0==r.width)return void e.hidePopup();const d=i.top-r.top;if(d!=l){const e=this.keepXYWithinBounds(n,h+o-d,0);n.style.top=`${e}px`}l=d;const u=i.left-r.left;if(u!=c){const e=this.keepXYWithinBounds(n,g+s-u,1);n.style.left=`${e}px`}c=u}),200).then((e=>{i((()=>{null!=e&&window.clearInterval(e)}))}))}),"popupPositioning")}))}hasAnchoredPopup(){return this.popupList.some((e=>e.isAnchored))}isEventFromCurrentPopup(e,t){const{mouseEvent:i,touchEvent:a}=e,n=i||a;if(!n)return!1;const r=this.getPopupIndex(t);if(-1===r)return!1;for(let e=r;e<this.popupList.length;e++){if(P(this.popupList[e].element,n))return!0}return this.isElementWithinCustomPopup(n.target)}isElementWithinCustomPopup(e){const t=this.gos.getDocument();for(;e&&e!==t.body;){if(e.classList.contains("ag-custom-component-popup")||null===e.parentElement)return!0;e=e.parentElement}return!1}getWrapper(e){for(;!e.classList.contains("ag-popup")&&e.parentElement;)e=e.parentElement;return e.classList.contains("ag-popup")?e:null}setAlwaysOnTop(e,t){const i=this.getWrapper(e);i&&(i.classList.toggle("ag-always-on-top",!!t),t&&this.bringPopupToFront(i))}bringPopupToFront(e){const t=this.getPopupParent(),i=Array.prototype.slice.call(t.querySelectorAll(".ag-popup")),a=i.length,n=Array.prototype.slice.call(t.querySelectorAll(".ag-popup.ag-always-on-top")),r=n.length,o=this.getWrapper(e);if(!o||a<=1||!t.contains(e))return!1;const s=i.indexOf(o),l=o.querySelectorAll("div"),c=[];l.forEach((e=>{0!==e.scrollTop&&c.push([e,e.scrollTop])}));let d=!1;if(r){o.classList.contains("ag-always-on-top")?s!==a-1&&(h(n).insertAdjacentElement("afterend",o),d=!0):s!==a-r-1&&(n[0].insertAdjacentElement("beforebegin",o),d=!0)}else s!==a-1&&(h(i).insertAdjacentElement("afterend",o),d=!0);for(;c.length;){const e=c.pop();e[0].scrollTop=e[1]}return d}},ul=["touchstart","touchend","touchmove","touchcancel"],gl=class{constructor(e="javascript"){this.frameworkName=e,this.renderingEngine="vanilla",this.wrapIncoming=e=>e(),this.wrapOutgoing=e=>e()}setInterval(e,t){return new ba((i=>{i(window.setInterval(e,t))}))}addEventListener(e,t,i,a){const n=C(ul,t);e.addEventListener(t,i,{capture:!!a,passive:n})}get shouldWrapOutgoing(){return!1}frameworkComponent(e){return null}isFrameworkComponent(e){return!1}getDocLink(e){return`https://www.ag-grid.com/${"solid"===this.frameworkName?"react":this.frameworkName}-data-grid${e?`/${e}`:""}`}},pl=class extends F{constructor(){super(...arguments),this.beanName="cellNavigationService"}wireBeans(e){this.visibleColsService=e.visibleColsService,this.rowModel=e.rowModel,this.rowRenderer=e.rowRenderer,this.pinnedRowModel=e.pinnedRowModel,this.paginationService=e.paginationService,this.pageBoundsService=e.pageBoundsService}getNextCellToFocus(e,t,i=!1){return i?this.getNextCellToFocusWithCtrlPressed(e,t):this.getNextCellToFocusWithoutCtrlPressed(e,t)}getNextCellToFocusWithCtrlPressed(e,t){const i=e===ia.UP,a=e===ia.DOWN,n=e===ia.LEFT;let r,o;if(i||a)o=i?this.pageBoundsService.getFirstRow():this.pageBoundsService.getLastRow(),r=t.column;else{const e=this.visibleColsService.getAllCols(),i=this.gos.get("enableRtl");o=t.rowIndex,r=n!==i?e[0]:h(e)}return{rowIndex:o,rowPinned:null,column:r}}getNextCellToFocusWithoutCtrlPressed(e,t){let i=t,a=!1;for(;!a;){switch(e){case ia.UP:i=this.getCellAbove(i);break;case ia.DOWN:i=this.getCellBelow(i);break;case ia.RIGHT:i=this.gos.get("enableRtl")?this.getCellToLeft(i):this.getCellToRight(i);break;case ia.LEFT:i=this.gos.get("enableRtl")?this.getCellToRight(i):this.getCellToLeft(i);break;default:i=null,de("unknown key for navigation ",e)}a=!i||this.isCellGoodToFocusOn(i)}return i}isCellGoodToFocusOn(e){const t=e.column;let i;switch(e.rowPinned){case"top":i=this.pinnedRowModel.getPinnedTopRow(e.rowIndex);break;case"bottom":i=this.pinnedRowModel.getPinnedBottomRow(e.rowIndex);break;default:i=this.rowModel.getRow(e.rowIndex)}if(!i)return!1;return!t.isSuppressNavigable(i)}getCellToLeft(e){if(!e)return null;const t=this.visibleColsService.getColBefore(e.column);return t?{rowIndex:e.rowIndex,column:t,rowPinned:e.rowPinned}:null}getCellToRight(e){if(!e)return null;const t=this.visibleColsService.getColAfter(e.column);return t?{rowIndex:e.rowIndex,column:t,rowPinned:e.rowPinned}:null}getRowBelow(e){const t=e.rowIndex,i=e.rowPinned;if(this.isLastRowInContainer(e))switch(i){case"bottom":return null;case"top":return this.rowModel.isRowsToRender()?{rowIndex:this.pageBoundsService.getFirstRow(),rowPinned:null}:this.pinnedRowModel.isRowsToRender("bottom")?{rowIndex:0,rowPinned:"bottom"}:null;default:return this.pinnedRowModel.isRowsToRender("bottom")?{rowIndex:0,rowPinned:"bottom"}:null}const a=this.rowModel.getRow(e.rowIndex),n=this.getNextStickyPosition(a);return n||{rowIndex:t+1,rowPinned:i}}getNextStickyPosition(e,t){if(!this.gos.isGroupRowsSticky()||!e||!e.sticky)return;let i=[];i=this.rowRenderer.getStickyTopRowCtrls().some((t=>t.getRowNode().rowIndex===e.rowIndex))?[...this.rowRenderer.getStickyTopRowCtrls()].sort(((e,t)=>e.getRowNode().rowIndex-t.getRowNode().rowIndex)):[...this.rowRenderer.getStickyBottomRowCtrls()].sort(((e,t)=>t.getRowNode().rowIndex-e.getRowNode().rowIndex));const a=t?-1:1,n=i.findIndex((t=>t.getRowNode().rowIndex===e.rowIndex)),r=i[n+a];return r?{rowIndex:r.getRowNode().rowIndex,rowPinned:null}:void 0}getCellBelow(e){if(!e)return null;const t=this.getRowBelow(e);return t?{rowIndex:t.rowIndex,column:e.column,rowPinned:t.rowPinned}:null}isLastRowInContainer(e){const t=e.rowPinned,i=e.rowIndex;if("top"===t){return this.pinnedRowModel.getPinnedTopRowNodes().length-1<=i}if("bottom"===t){return this.pinnedRowModel.getPinnedBottomRowNodes().length-1<=i}return this.pageBoundsService.getLastRow()<=i}getRowAbove(e){const t=e.rowIndex,i=e.rowPinned;if(i?0===t:t===this.pageBoundsService.getFirstRow())return"top"===i?null:i&&this.rowModel.isRowsToRender()?this.getLastBodyCell():this.pinnedRowModel.isRowsToRender("top")?this.getLastFloatingTopRow():null;const a=this.rowModel.getRow(e.rowIndex),n=this.getNextStickyPosition(a,!0);return n||{rowIndex:t-1,rowPinned:i}}getCellAbove(e){if(!e)return null;const t=this.getRowAbove({rowIndex:e.rowIndex,rowPinned:e.rowPinned});return t?{rowIndex:t.rowIndex,column:e.column,rowPinned:t.rowPinned}:null}getLastBodyCell(){return{rowIndex:this.pageBoundsService.getLastRow(),rowPinned:null}}getLastFloatingTopRow(){return{rowIndex:this.pinnedRowModel.getPinnedTopRowNodes().length-1,rowPinned:"top"}}getNextTabbedCell(e,t){return t?this.getNextTabbedCellBackwards(e):this.getNextTabbedCellForwards(e)}getNextTabbedCellForwards(e){const t=this.visibleColsService.getAllCols();let i=e.rowIndex,a=e.rowPinned,n=this.visibleColsService.getColAfter(e.column);if(!n){n=t[0];const r=this.getRowBelow(e);if(O(r))return null;if(!r.rowPinned&&!(this.paginationService?.isRowInPage(r)??1))return null;i=r?r.rowIndex:null,a=r?r.rowPinned:null}return{rowIndex:i,column:n,rowPinned:a}}getNextTabbedCellBackwards(e){const t=this.visibleColsService.getAllCols();let i=e.rowIndex,a=e.rowPinned,n=this.visibleColsService.getColBefore(e.column);if(!n){n=h(t);const r=this.getRowAbove({rowIndex:e.rowIndex,rowPinned:e.rowPinned});if(O(r))return null;if(!r.rowPinned&&!(this.paginationService?.isRowInPage(r)??1))return null;i=r?r.rowIndex:null,a=r?r.rowPinned:null}return{rowIndex:i,column:n,rowPinned:a}}};function ml(e,t){e.eventService.dispatchEvent(t)}var fl=class extends F{constructor(){super(...arguments),this.beanName="apiFunctionService",this.functions={dispatchEvent:ml},this.isDestroyed=!1}wireBeans(e){this.beans=e}postConstruct(){this.preDestroyLink=this.frameworkOverrides.getDocLink("grid-lifecycle/#grid-pre-destroyed")}callFunction(e,t){const i=this.functions[e];return i?i.apply(i,[this.beans,...t]):this.isDestroyed?this.destroyedHandler(e):void(this.isFrameworkMethod(e)||this.beans.validationService?.warnMissingApiFunction(e))}addFunction(e,t){const{validationService:i}=this.beans;i&&(t=i.validateApiFunction(e,t)),this.functions[e]=t}destroy(){this.functions={},this.isDestroyed=!0,super.destroy()}destroyedHandler(e){if("isDestroyed"===e)return!0;"destroy"!==e&&de(`Grid API function ${e}() cannot be called as the grid has been destroyed.\nEither clear local references to the grid api, when it is destroyed, or check gridApi.isDestroyed() to avoid calling methods against a destroyed grid.\nTo run logic when the grid is about to be destroyed use the gridPreDestroy event. See: ${this.preDestroyLink}`)}isFrameworkMethod(e){return["preWireBeans","wireBeans","preConstruct","postConstruct"].includes(e)}};function vl(e){const t=e.getBean("apiFunctionService");return new Proxy(t,{get(e,t){if("then"!==t)return(...i)=>e.callFunction(t,i)}})}function yl(e){return{beanName:"gridApi",bean:vl(e)}}var bl=class extends F{constructor(){super(...arguments),this.beanName="columnDefFactory"}buildColumnDefs(e,t,i){const a=[],n={};return e.forEach((e=>{let r=!0,o=this.createDefFromColumn(e,t,i),s=e.getOriginalParent(),l=null;for(;s;){let e=null;if(s.isPadding()){s=s.getOriginalParent();continue}const t=n[s.getGroupId()];if(t){t.children.push(o),r=!1;break}if(e=this.createDefFromGroup(s),e&&(e.children=[o],n[e.groupId]=e,o=e,s=s.getOriginalParent()),null!=s&&l===s){r=!1;break}l=s}r&&a.push(o)})),a}createDefFromGroup(e){const t=Y(e.getColGroupDef(),["children"]);return t&&(t.groupId=e.getGroupId()),t}createDefFromColumn(e,t,i){const a=Y(e.getColDef());return a.colId=e.getColId(),a.width=e.getActualWidth(),a.rowGroup=e.isRowGroupActive(),a.rowGroupIndex=e.isRowGroupActive()?t.indexOf(e):null,a.pivot=e.isPivotActive(),a.pivotIndex=e.isPivotActive()?i.indexOf(e):null,a.aggFunc=e.isValueActive()?e.getAggFunc():null,a.hide=!e.isVisible()||void 0,a.pinned=e.isPinned()?e.getPinned():null,a.sort=e.getSort()?e.getSort():null,a.sortIndex=null!=e.getSortIndex()?e.getSortIndex():null,a}},Cl=class extends F{constructor(){super(...arguments),this.beanName="columnEventDispatcher"}visibleCols(){this.eventService.dispatchEvent({type:"displayedColumnsChanged"})}gridColumns(){this.eventService.dispatchEvent({type:"gridColumnsChanged"})}headerHeight(e){const t={type:"columnHeaderHeightChanged",column:e,columns:[e],source:"autosizeColumnHeaderHeight"};this.eventService.dispatchEvent(t)}groupOpened(e){const t={type:"columnGroupOpened",columnGroup:1===e.length?e[0]:void 0,columnGroups:e};this.eventService.dispatchEvent(t)}rowGroupChanged(e,t){const i={type:"columnRowGroupChanged",columns:e,column:1===e.length?e[0]:null,source:t};this.eventService.dispatchEvent(i)}genericColumnEvent(e,t,i){const a={type:e,columns:t,column:1===t.length?t[0]:null,source:i};this.eventService.dispatchEvent(a)}pivotModeChanged(){this.eventService.dispatchEvent({type:"columnPivotModeChanged"})}virtualColumnsChanged(e){const t={type:"virtualColumnsChanged",afterScroll:e};this.eventService.dispatchEvent(t)}newColumnsLoaded(e){const t={type:"newColumnsLoaded",source:e};this.eventService.dispatchEvent(t)}everythingChanged(e){const t={type:"columnEverythingChanged",source:e};this.eventService.dispatchEvent(t)}columnMoved(e){const{movedColumns:t,source:i,toIndex:a,finished:n}=e,r={type:"columnMoved",columns:t,column:t&&1===t.length?t[0]:null,toIndex:a,finished:n,source:i};this.eventService.dispatchEvent(r)}columnPinned(e,t){if(!e.length)return;const i=1===e.length?e[0]:null,a=this.getCommonValue(e,(e=>e.getPinned())),n={type:"columnPinned",pinned:null!=a?a:null,columns:e,column:i,source:t};this.eventService.dispatchEvent(n)}columnVisible(e,t){if(!e.length)return;const i=1===e.length?e[0]:null,a={type:"columnVisible",visible:this.getCommonValue(e,(e=>e.isVisible())),columns:e,column:i,source:t};this.eventService.dispatchEvent(a)}getCommonValue(e,t){if(!e||0==e.length)return;const i=t(e[0]);for(let a=1;a<e.length;a++)if(i!==t(e[a]))return;return i}columnChanged(e,t,i){const a={type:e,columns:t,column:t&&1==t.length?t[0]:null,source:i};this.eventService.dispatchEvent(a)}columnResized(e,t,i,a=null){if(e&&e.length){const n={type:"columnResized",columns:e,column:1===e.length?e[0]:null,flexColumns:a,finished:t,source:i};this.eventService.dispatchEvent(n)}}},wl=class extends F{constructor(){super(...arguments),this.beanName="columnGetStateService"}wireBeans(e){this.columnModel=e.columnModel,this.funcColsService=e.funcColsService}getColumnState(){if(O(this.columnModel.getColDefCols())||!this.columnModel.isAlive())return[];const e=this.columnModel.getAllCols().map(this.createStateItemFromColumn.bind(this));return this.orderColumnStateList(e),e}createStateItemFromColumn(e){const t=this.funcColsService.getRowGroupColumns(),i=this.funcColsService.getPivotColumns(),a=e.isRowGroupActive()?t.indexOf(e):null,n=e.isPivotActive()?i.indexOf(e):null,r=e.isValueActive()?e.getAggFunc():null,o=null!=e.getSort()?e.getSort():null,s=null!=e.getSortIndex()?e.getSortIndex():null,l=null!=e.getFlex()&&e.getFlex()>0?e.getFlex():null;return{colId:e.getColId(),width:e.getActualWidth(),hide:!e.isVisible(),pinned:e.getPinned(),sort:o,sortIndex:s,aggFunc:r,rowGroup:e.isRowGroupActive(),rowGroupIndex:a,pivot:e.isPivotActive(),pivotIndex:n,flex:l}}orderColumnStateList(e){const t=this.columnModel.getCols(),i=new Map(t.map(((e,t)=>[e.getColId(),t])));e.sort(((e,t)=>(i.has(e.colId)?i.get(e.colId):-1)-(i.has(t.colId)?i.get(t.colId):-1)))}},Sl=class extends F{constructor(){super(...arguments),this.beanName="columnGroupStateService"}wireBeans(e){this.columnModel=e.columnModel,this.columnAnimationService=e.columnAnimationService,this.eventDispatcher=e.columnEventDispatcher,this.visibleColsService=e.visibleColsService}getColumnGroupState(){const e=[];return Ee(null,this.columnModel.getColTree(),(t=>{ne(t)&&e.push({groupId:t.getGroupId(),open:t.isExpanded()})})),e}resetColumnGroupState(e){const t=this.columnModel.getColDefColTree();if(!t)return;const i=[];Ee(null,t,(e=>{if(ne(e)){const t=e.getColGroupDef(),a={groupId:e.getGroupId(),open:t?t.openByDefault:void 0};i.push(a)}})),this.setColumnGroupState(i,e)}setColumnGroupState(e,t){if(!this.columnModel.getColTree())return;this.columnAnimationService.start();const i=[];e.forEach((e=>{const t=e.groupId,a=e.open,n=this.columnModel.getProvidedColGroup(t);n&&n.isExpanded()!==a&&(n.setExpanded(a),i.push(n))})),this.visibleColsService.refresh(t,!0),i.length&&this.eventDispatcher.groupOpened(i),this.columnAnimationService.finish()}},xl=class extends F{constructor(){super(...arguments),this.beanName="columnViewportService",this.colsWithinViewport=[],this.headerColsWithinViewport=[],this.colsWithinViewportHash="",this.rowsOfHeadersToRenderLeft={},this.rowsOfHeadersToRenderRight={},this.rowsOfHeadersToRenderCenter={}}wireBeans(e){this.visibleColsService=e.visibleColsService,this.columnModel=e.columnModel,this.eventDispatcher=e.columnEventDispatcher}postConstruct(){this.suppressColumnVirtualisation=this.gos.get("suppressColumnVirtualisation")}setScrollPosition(e,t,i=!1){const a=this.visibleColsService.isBodyWidthDirty();if(!(e===this.scrollWidth&&t===this.scrollPosition&&!a)){if(this.scrollWidth=e,this.scrollPosition=t,this.visibleColsService.setBodyWidthDirty(),this.gos.get("enableRtl")){const e=this.visibleColsService.getBodyContainerWidth();this.viewportLeft=e-this.scrollPosition-this.scrollWidth,this.viewportRight=e-this.scrollPosition}else this.viewportLeft=this.scrollPosition,this.viewportRight=this.scrollWidth+this.scrollPosition;this.columnModel.isReady()&&this.checkViewportColumns(i)}}getHeadersToRender(e,t){let i;switch(e){case"left":i=this.rowsOfHeadersToRenderLeft[t];break;case"right":i=this.rowsOfHeadersToRenderRight[t];break;default:i=this.rowsOfHeadersToRenderCenter[t]}return i||[]}extractViewportColumns(){const e=this.visibleColsService.getCenterCols();this.isColumnVirtualisationSuppressed()?(this.colsWithinViewport=e,this.headerColsWithinViewport=e):(this.colsWithinViewport=e.filter(this.isColumnInRowViewport.bind(this)),this.headerColsWithinViewport=e.filter(this.isColumnInHeaderViewport.bind(this)))}isColumnVirtualisationSuppressed(){return this.suppressColumnVirtualisation||0===this.viewportRight}clear(){this.rowsOfHeadersToRenderLeft={},this.rowsOfHeadersToRenderRight={},this.rowsOfHeadersToRenderCenter={},this.colsWithinViewportHash=""}isColumnInHeaderViewport(e){return!!e.isAutoHeaderHeight()||this.isColumnInRowViewport(e)}isColumnInRowViewport(e){if(e.isAutoHeight())return!0;const t=e.getLeft()||0,i=t+e.getActualWidth(),a=this.viewportLeft-200,n=this.viewportRight+200;return!(t<a&&i<a)&&!(t>n&&i>n)}getViewportColumns(){const e=this.visibleColsService.getLeftCols(),t=this.visibleColsService.getRightCols();return this.colsWithinViewport.concat(e).concat(t)}getColsWithinViewport(e){if(!this.columnModel.isColSpanActive())return this.colsWithinViewport;const t=this.isColumnVirtualisationSuppressed()?null:this.isColumnInRowViewport.bind(this),i=this.visibleColsService.getColsCenter();return this.visibleColsService.getColsForRow(e,i,t,(e=>{const t=e.getLeft();return N(t)&&t>this.viewportLeft}))}checkViewportColumns(e=!1){this.extractViewport()&&this.eventDispatcher.virtualColumnsChanged(e)}calculateHeaderRows(){this.rowsOfHeadersToRenderLeft={},this.rowsOfHeadersToRenderRight={},this.rowsOfHeadersToRenderCenter={};const e={},t=this.visibleColsService.getLeftCols(),i=this.visibleColsService.getRightCols();this.headerColsWithinViewport.concat(t).concat(i).forEach((t=>e[t.getId()]=!0));const a=(t,i,n)=>{let r=!1;for(let o=0;o<t.length;o++){const s=t[o];let l=!1;if(ie(s))l=!0===e[s.getId()];else{const e=s.getDisplayedChildren();e&&(l=a(e,i,n+1))}l&&(r=!0,i[n]||(i[n]=[]),i[n].push(s))}return r};a(this.visibleColsService.getTreeLeft(),this.rowsOfHeadersToRenderLeft,0),a(this.visibleColsService.getTreeRight(),this.rowsOfHeadersToRenderRight,0),a(this.visibleColsService.getTreeCenter(),this.rowsOfHeadersToRenderCenter,0)}extractViewport(){this.extractViewportColumns();const e=this.getViewportColumns().map((e=>`${e.getId()}-${e.getPinned()||"normal"}`)).join("#"),t=this.colsWithinViewportHash!==e;return t&&(this.colsWithinViewportHash=e,this.calculateHeaderRows()),t}},kl=class extends F{constructor(){super(...arguments),this.beanName="agComponentUtils"}wireBeans(e){this.componentMetadataProvider=e.componentMetadataProvider}adaptFunction(e,t){const i=this.componentMetadataProvider.retrieve(e);return i&&i.functionAdapter?i.functionAdapter(t):null}adaptCellRendererFunction(e){return class{refresh(){return!1}getGui(){return this.eGui}init(t){const i=e(t),a=typeof i;this.eGui="string"!==a&&"number"!==a&&"boolean"!==a?null!=i?i:xi("<span></span>"):xi("<span>"+i+"</span>")}}}doesImplementIComponent(e){return!!e&&(e.prototype&&"getGui"in e.prototype)}},Ml=class extends F{constructor(){super(...arguments),this.beanName="componentMetadataProvider"}wireBeans(e){this.agComponentUtils=e.agComponentUtils}postConstruct(){this.componentMetaData={dateComponent:{mandatoryMethodList:["getDate","setDate"],optionalMethodList:["afterGuiAttached","setInputPlaceholder","setInputAriaLabel","setDisabled","onParamsUpdated","refresh"]},detailCellRenderer:{mandatoryMethodList:[],optionalMethodList:["refresh"],functionAdapter:this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)},headerComponent:{mandatoryMethodList:[],optionalMethodList:["refresh"]},headerGroupComponent:{mandatoryMethodList:[],optionalMethodList:[]},loadingCellRenderer:{mandatoryMethodList:[],optionalMethodList:[],functionAdapter:this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)},loadingOverlayComponent:{mandatoryMethodList:[],optionalMethodList:["refresh"]},noRowsOverlayComponent:{mandatoryMethodList:[],optionalMethodList:["refresh"]},floatingFilterComponent:{mandatoryMethodList:["onParentModelChanged"],optionalMethodList:["afterGuiAttached","onParamsUpdated","refresh"]},cellRenderer:{mandatoryMethodList:[],optionalMethodList:["refresh","afterGuiAttached"],functionAdapter:this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)},cellEditor:{mandatoryMethodList:["getValue"],optionalMethodList:["isPopup","isCancelBeforeStart","isCancelAfterEnd","getPopupPosition","focusIn","focusOut","afterGuiAttached","refresh"]},innerRenderer:{mandatoryMethodList:[],optionalMethodList:["afterGuiAttached"],functionAdapter:this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)},fullWidthCellRenderer:{mandatoryMethodList:[],optionalMethodList:["refresh","afterGuiAttached"],functionAdapter:this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)},groupRowRenderer:{mandatoryMethodList:[],optionalMethodList:["afterGuiAttached"],functionAdapter:this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)},filter:{mandatoryMethodList:["isFilterActive","doesFilterPass","getModel","setModel"],optionalMethodList:["afterGuiAttached","afterGuiDetached","onNewRowsLoaded","getModelAsString","onFloatingFilterChanged","onAnyFilterChanged","refresh"]},statusPanel:{mandatoryMethodList:[],optionalMethodList:["refresh"]},toolPanel:{mandatoryMethodList:[],optionalMethodList:["refresh","getState"]},tooltipComponent:{mandatoryMethodList:[],optionalMethodList:[]},menuItem:{mandatoryMethodList:[],optionalMethodList:["setActive","select","setExpanded","configureDefaults"]}}}retrieve(e){return this.componentMetaData[e]}},Rl=Object.fromEntries(["rowPositionUtils","cellPositionUtils","headerPositionUtils","paginationAutoPageSizeService","apiFunctionService","gridApi","userComponentRegistry","agComponentUtils","componentMetadataProvider","resizeObserverService","userComponentFactory","rowContainerHeightService","horizontalResizeService","localeService","validationService","pinnedRowModel","dragService","visibleColsService","eventService","gos","popupService","selectionService","columnFilterService","quickFilterService","filterManager","columnModel","headerNavigationService","pageBoundsService","paginationService","pageBoundsListener","rowRenderer","expressionService","columnFactory","alignedGridsService","navigationService","valueCache","valueService","loggerFactory","autoWidthCalculator","filterMenuFactory","dragAndDropService","focusService","mouseEventService","environment","cellNavigationService","stylingService","scrollVisibleService","sortController","columnHoverService","columnAnimationService","selectableService","autoColService","changeDetectionService","animationFrameService","undoRedoService","columnDefFactory","rowCssClassCalculator","rowNodeBlockLoader","rowNodeSorter","ctrlsService","pinnedWidthService","rowNodeEventThrottle","ctrlsFactory","dataTypeService","syncService","overlayService","stateService","expansionService","apiEventService","ariaAnnouncementService","menuService","columnApplyStateService","columnEventDispatcher","columnMoveService","columnAutosizeService","columnGetStateService","columnGroupStateService","columnSizeService","funcColsService","columnNameService","columnViewportService","pivotResultColsService","showRowGroupColsService"].map(((e,t)=>[e,t])));function Dl(e,t){return((e.beanName?Rl[e.beanName]:void 0)??Number.MAX_SAFE_INTEGER)-((t.beanName?Rl[t.beanName]:void 0)??Number.MAX_SAFE_INTEGER)}function Al(e,t){return"gridDestroyService"===e?.beanName?-1:0}var El=class extends F{constructor(){super(...arguments),this.beanName="ctrlsFactory",this.registry={}}register(e){this.registry[e.name]=e.classImp}getInstance(e,...t){const i=this.registry[e];if(null!=i)return new i(...t)}},Tl=class extends F{constructor(){super(...arguments),this.beanName="ctrlsService",this.params={},this.ready=!1,this.readyCallbacks=[]}checkReady(){const e=this.params;this.ready=null!=e.gridCtrl&&null!=e.gridBodyCtrl&&null!=e.center&&null!=e.left&&null!=e.right&&null!=e.bottomCenter&&null!=e.bottomLeft&&null!=e.bottomRight&&null!=e.topCenter&&null!=e.topLeft&&null!=e.topRight&&null!=e.stickyTopCenter&&null!=e.stickyTopLeft&&null!=e.stickyTopRight&&null!=e.stickyBottomCenter&&null!=e.stickyBottomLeft&&null!=e.stickyBottomRight&&null!=e.centerHeader&&null!=e.leftHeader&&null!=e.rightHeader&&null!=e.fakeHScrollComp&&null!=e.fakeVScrollComp&&null!=e.gridHeaderCtrl,this.ready&&(this.readyCallbacks.forEach((t=>t(e))),this.readyCallbacks.length=0)}whenReady(e){this.ready?e(this.params):this.readyCallbacks.push(e)}register(e,t){this.params[e]=t,this.checkReady()}registerHeaderContainer(e,t){const i=this.params;switch(t){case"left":i.leftHeader=e;break;case"right":i.rightHeader=e;break;default:i.centerHeader=e}this.checkReady()}get(e){return this.params[e]}getParams(){return this.params}getGridBodyCtrl(){return this.params.gridBodyCtrl}getHeaderRowContainerCtrls(){const{leftHeader:e,centerHeader:t,rightHeader:i}=this.params;return[e,i,t]}getHeaderRowContainerCtrl(e){const t=this.params;switch(e){case"left":return t.leftHeader;case"right":return t.rightHeader;default:return t.centerHeader}}},Pl=class extends F{constructor(){super(...arguments),this.beanName="cellPositionUtils"}createId(e){const{rowIndex:t,rowPinned:i,column:a}=e;return this.createIdFromValues({rowIndex:t,column:a,rowPinned:i})}createIdFromValues(e){const{rowIndex:t,rowPinned:i,column:a}=e;return`${t}.${null==i?"null":i}.${a.getId()}`}equals(e,t){const i=e.column===t.column,a=e.rowPinned===t.rowPinned,n=e.rowIndex===t.rowIndex;return i&&a&&n}},Fl=class extends F{constructor(){super(...arguments),this.beanName="rowNodeEventThrottle",this.events=[]}wireBeans(e){this.animationFrameService=e.animationFrameService,this.rowModel=e.rowModel}postConstruct(){"clientSide"==this.rowModel.getType()&&(this.clientSideRowModel=this.rowModel)}dispatchExpanded(e,t){if(null==this.clientSideRowModel)return void this.eventService.dispatchEvent(e);this.events.push(e);const i=()=>{this.clientSideRowModel&&this.clientSideRowModel.onRowGroupOpened(),this.events.forEach((e=>this.eventService.dispatchEvent(e))),this.events=[]};t?i():(null==this.dispatchExpandedDebounced&&(this.dispatchExpandedDebounced=this.animationFrameService.debounce(i)),this.dispatchExpandedDebounced())}},Il=class extends F{constructor(){super(...arguments),this.beanName="rowPositionUtils"}wireBeans(e){this.rowModel=e.rowModel,this.pinnedRowModel=e.pinnedRowModel,this.pageBoundsService=e.pageBoundsService}getFirstRow(){let e,t=0;return this.pinnedRowModel.getPinnedTopRowCount()?e="top":this.rowModel.getRowCount()?(e=null,t=this.pageBoundsService.getFirstRow()):this.pinnedRowModel.getPinnedBottomRowCount()&&(e="bottom"),void 0===e?null:{rowIndex:t,rowPinned:e}}getLastRow(){let e,t=null;const i=this.pinnedRowModel.getPinnedBottomRowCount(),a=this.pinnedRowModel.getPinnedTopRowCount();return i?(t="bottom",e=i-1):this.rowModel.getRowCount()?(t=null,e=this.pageBoundsService.getLastRow()):a&&(t="top",e=a-1),void 0===e?null:{rowIndex:e,rowPinned:t}}getRowNode(e){switch(e.rowPinned){case"top":return this.pinnedRowModel.getPinnedTopRowNodes()[e.rowIndex];case"bottom":return this.pinnedRowModel.getPinnedBottomRowNodes()[e.rowIndex];default:return this.rowModel.getRow(e.rowIndex)}}sameRow(e,t){return!e&&!t||!(e&&!t||!e&&t)&&(e.rowIndex===t.rowIndex&&e.rowPinned==t.rowPinned)}before(e,t){switch(e.rowPinned){case"top":if("top"!==t.rowPinned)return!0;break;case"bottom":if("bottom"!==t.rowPinned)return!1;break;default:if(N(t.rowPinned))return"top"!==t.rowPinned}return e.rowIndex<t.rowIndex}},Ll={cssName:"--ag-row-height",changeKey:"rowHeightChanged",defaultValue:42},Nl={cssName:"--ag-header-height",changeKey:"headerHeightChanged",defaultValue:48},Ol={cssName:"--ag-list-item-height",changeKey:"listItemHeightChanged",defaultValue:24},zl=class extends F{constructor(){super(...arguments),this.beanName="environment",this.sizeEls=new Map,this.lastKnownValues=new Map,this.themeClasses=[],this.eThemeAncestor=null,this.eMeasurementContainer=null,this.sizesMeasured=!1}wireBeans(e){this.resizeObserverService=e.resizeObserverService,this.eGridDiv=e.eGridDiv}postConstruct(){this.addManagedPropertyListener("rowHeight",(()=>this.refreshRowHeightVariable())),this.themeClasses=this.getAncestorThemeClasses(),this.setUpThemeClassObservers(),this.getSizeEl(Ll),this.getSizeEl(Nl),this.getSizeEl(Ol)}getDefaultRowHeight(){return this.getCSSVariablePixelValue(Ll)}getDefaultHeaderHeight(){return this.getCSSVariablePixelValue(Nl)}getDefaultListItemHeight(){return this.getCSSVariablePixelValue(Ol)}hasMeasuredSizes(){return this.sizesMeasured}getThemeClasses(){return this.themeClasses}applyThemeClasses(e){for(const t of Array.from(e.classList))t.startsWith("ag-theme-")&&!this.themeClasses.includes(t)&&e.classList.remove(t);for(const t of this.themeClasses)e.classList.contains(t)||e.classList.add(t)}getThemeAncestorElement(){return this.eThemeAncestor}refreshRowHeightVariable(){const e=this.eGridDiv.style.getPropertyValue("--ag-line-height").trim(),t=this.gos.get("rowHeight");if(null==t||isNaN(t)||!isFinite(t))return null!==e&&this.eGridDiv.style.setProperty("--ag-line-height",null),-1;const i=`${t}px`;return e!=i?(this.eGridDiv.style.setProperty("--ag-line-height",i),t):""!=e?parseFloat(e):-1}getCSSVariablePixelValue(e){const t=this.lastKnownValues.get(e);if(null!=t)return t;const i=this.measureSizeEl(e);return"detached"===i||"no-styles"===i?e.defaultValue:(this.lastKnownValues.set(e,i),i)}measureSizeEl(e){const t=this.getSizeEl(e);if(null==t.offsetParent)return"detached";const i=t.offsetWidth;return i===Bl?"no-styles":(this.sizesMeasured=!0,i)}getSizeEl(e){let t=this.sizeEls.get(e);if(t)return t;let i=this.eMeasurementContainer;i||(i=this.eMeasurementContainer=document.createElement("div"),i.className="ag-measurement-container",this.eGridDiv.appendChild(i)),t=document.createElement("div"),t.style.width=`var(${e.cssName}, ${Bl}px)`,i.appendChild(t),this.sizeEls.set(e,t);let a=this.measureSizeEl(e);"no-styles"===a&&de(`no value for ${e.cssName}. This usually means that the grid has been initialised before styles have been loaded. The default value of ${e.defaultValue} will be used and updated when styles load.`);const n=this.resizeObserverService.observeResize(t,(()=>{const t=this.measureSizeEl(e);"detached"!==t&&"no-styles"!==t&&(this.lastKnownValues.set(e,t),t!==a&&(a=t,this.fireGridStylesChangedEvent(e.changeKey)))}));return this.addDestroyFunc((()=>n())),t}fireGridStylesChangedEvent(e){const t={type:"gridStylesChanged",[e]:!0};this.eventService.dispatchEvent(t)}setUpThemeClassObservers(){const e=new MutationObserver((()=>{const e=this.getAncestorThemeClasses();Gl(e,this.themeClasses)||(this.themeClasses=e,this.fireGridStylesChangedEvent("themeChanged"))}));let t=this.eGridDiv;for(;t;)e.observe(t||this.eGridDiv,{attributes:!0,attributeFilter:["class"]}),t=t.parentElement}getAncestorThemeClasses(){let e=this.eGridDiv;const t=[];for(this.eThemeAncestor=null;e;){const i=Array.from(e.classList).filter((e=>e.startsWith("ag-theme-")));for(const a of i)this.eThemeAncestor=e,t.includes(a)||t.unshift(a);e=e.parentElement}return Object.freeze(t)}},Gl=(e,t)=>e.length===t.length&&-1===e.findIndex(((i,a)=>e[a]!==t[a])),Bl=15538,Vl=class extends F{constructor(){super(...arguments),this.beanName="eventService",this.globalEventService=new c}wireBeans(e){this.globalEventListener=e.globalEventListener,this.globalSyncEventListener=e.globalSyncEventListener}postConstruct(){if(this.globalEventListener){const e=this.gos.useAsyncEvents();this.addGlobalListener(this.globalEventListener,e)}this.globalSyncEventListener&&this.addGlobalListener(this.globalSyncEventListener,!1)}addEventListener(e,t,i){this.globalEventService.addEventListener(e,t,i)}removeEventListener(e,t,i){this.globalEventService.removeEventListener(e,t,i)}addGlobalListener(e,t=!1){this.globalEventService.addGlobalListener(e,t)}removeGlobalListener(e,t=!1){this.globalEventService.removeGlobalListener(e,t)}dispatchLocalEvent(){}dispatchEvent(e){this.globalEventService.dispatchEvent(this.gos.addGridCommonParams(e))}dispatchEventOnce(e){this.globalEventService.dispatchEventOnce(this.gos.addGridCommonParams(e))}},Hl=class e extends F{constructor(){super(...arguments),this.beanName="focusService"}wireBeans(e){this.eGridDiv=e.eGridDiv,this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.headerNavigationService=e.headerNavigationService,this.headerPositionUtils=e.headerPositionUtils,this.rowRenderer=e.rowRenderer,this.rowPositionUtils=e.rowPositionUtils,this.cellPositionUtils=e.cellPositionUtils,this.navigationService=e.navigationService,this.ctrlsService=e.ctrlsService,this.filterManager=e.filterManager,this.rangeService=e.rangeService,this.advancedFilterService=e.advancedFilterService}static addKeyboardModeEvents(t){this.instanceCount>0||(t.addEventListener("keydown",e.toggleKeyboardMode),t.addEventListener("mousedown",e.toggleKeyboardMode))}static removeKeyboardModeEvents(t){this.instanceCount>0||(t.addEventListener("keydown",e.toggleKeyboardMode),t.addEventListener("mousedown",e.toggleKeyboardMode))}static toggleKeyboardMode(t){const i=e.keyboardModeActive,a="keydown"===t.type;a&&(t.ctrlKey||t.metaKey||t.altKey)||i!==a&&(e.keyboardModeActive=a)}static unregisterGridCompController(t){e.removeKeyboardModeEvents(t)}postConstruct(){const e=this.clearFocusedCell.bind(this);this.addManagedEventListeners({columnPivotModeChanged:e,newColumnsLoaded:this.onColumnEverythingChanged.bind(this),columnGroupOpened:e,columnRowGroupChanged:e}),this.registerKeyboardFocusEvents(),this.ctrlsService.whenReady((e=>{this.gridCtrl=e.gridCtrl}))}registerKeyboardFocusEvents(){const t=this.gos.getDocument();e.addKeyboardModeEvents(t),e.instanceCount++,this.addDestroyFunc((()=>{e.instanceCount--,e.unregisterGridCompController(t)}))}onColumnEverythingChanged(){if(!this.focusedCellPosition)return;const e=this.focusedCellPosition.column,t=this.columnModel.getCol(e.getId());e!==t&&this.clearFocusedCell()}isKeyboardMode(){return e.keyboardModeActive}getFocusCellToUseAfterRefresh(){return this.gos.get("suppressFocusAfterRefresh")||!this.focusedCellPosition||this.isDomDataMissingInHierarchy(this.gos.getActiveDomElement(),No.DOM_DATA_KEY_ROW_CTRL)?null:this.focusedCellPosition}getFocusHeaderToUseAfterRefresh(){return this.gos.get("suppressFocusAfterRefresh")||!this.focusedHeaderPosition||this.isDomDataMissingInHierarchy(this.gos.getActiveDomElement(),sr.DOM_DATA_KEY_HEADER_CTRL)?null:this.focusedHeaderPosition}isDomDataMissingInHierarchy(e,t){let i=e;for(;i;){if(this.gos.getDomData(i,t))return!1;i=i.parentNode}return!0}getFocusedCell(){return this.focusedCellPosition}shouldRestoreFocus(e){return!!this.isCellRestoreFocused(e)&&(setTimeout((()=>{this.restoredFocusedCellPosition=null}),0),!0)}isCellRestoreFocused(e){return null!=this.restoredFocusedCellPosition&&this.cellPositionUtils.equals(e,this.restoredFocusedCellPosition)}setRestoreFocusedCell(e){"react"===this.getFrameworkOverrides().renderingEngine&&(this.restoredFocusedCellPosition=e)}getFocusEventParams(){const{rowIndex:e,rowPinned:t,column:i}=this.focusedCellPosition,a={rowIndex:e,rowPinned:t,column:i,isFullWidthCell:!1},n=this.rowRenderer.getRowByPosition({rowIndex:e,rowPinned:t});return n&&(a.isFullWidthCell=n.isFullWidth()),a}clearFocusedCell(){if(this.restoredFocusedCellPosition=null,null==this.focusedCellPosition)return;const e={type:"cellFocusCleared",...this.getFocusEventParams()};this.focusedCellPosition=null,this.eventService.dispatchEvent(e)}setFocusedCell(e){const{column:t,rowIndex:i,rowPinned:a,forceBrowserFocus:n=!1,preventScrollOnBrowserFocus:r=!1}=e,o=this.columnModel.getCol(t);if(!o)return void(this.focusedCellPosition=null);this.focusedCellPosition=o?{rowIndex:i,rowPinned:L(a),column:o}:null;const s={type:"cellFocused",...this.getFocusEventParams(),forceBrowserFocus:n,preventScrollOnBrowserFocus:r};this.eventService.dispatchEvent(s)}isCellFocused(e){return null!=this.focusedCellPosition&&this.cellPositionUtils.equals(e,this.focusedCellPosition)}isRowNodeFocused(e){return this.isRowFocused(e.rowIndex,e.rowPinned)}isHeaderWrapperFocused(e){if(null==this.focusedHeaderPosition)return!1;const t=e.getColumnGroupChild(),i=e.getRowIndex(),a=e.getPinned(),{column:n,headerRowIndex:r}=this.focusedHeaderPosition;return t===n&&i===r&&a==n.getPinned()}clearFocusedHeader(){this.focusedHeaderPosition=null}getFocusedHeader(){return this.focusedHeaderPosition}setFocusedHeader(e,t){this.focusedHeaderPosition={headerRowIndex:e,column:t}}focusHeaderPosition(e){if(this.gos.get("suppressHeaderFocus"))return!1;const{direction:t,fromTab:i,allowUserOverride:a,event:n,fromCell:r,rowWithoutSpanValue:o}=e;let{headerPosition:s}=e;if(r&&this.filterManager?.isAdvancedFilterHeaderActive())return this.focusAdvancedFilter(s);if(a){const e=this.getFocusedHeader(),a=this.headerNavigationService.getHeaderRowCount();if(i){const i=this.gos.getCallback("tabToNextHeader");i&&(s=this.getHeaderPositionFromUserFunc({userFunc:i,direction:t,currentPosition:e,headerPosition:s,headerRowCount:a}))}else{const t=this.gos.getCallback("navigateToNextHeader");if(t&&n){s=t({key:n.key,previousHeaderPosition:e,nextHeaderPosition:s,headerRowCount:a,event:n})}}}return!!s&&this.focusProvidedHeaderPosition({headerPosition:s,direction:t,event:n,fromCell:r,rowWithoutSpanValue:o})}focusHeaderPositionFromUserFunc(e){if(this.gos.get("suppressHeaderFocus"))return!1;const{userFunc:t,headerPosition:i,direction:a,event:n}=e,r=this.getFocusedHeader(),o=this.headerNavigationService.getHeaderRowCount(),s=this.getHeaderPositionFromUserFunc({userFunc:t,direction:a,currentPosition:r,headerPosition:i,headerRowCount:o});return!!s&&this.focusProvidedHeaderPosition({headerPosition:s,direction:a,event:n})}getHeaderPositionFromUserFunc(e){const{userFunc:t,direction:i,currentPosition:a,headerPosition:n,headerRowCount:r}=e,o=t({backwards:"Before"===i,previousHeaderPosition:a,nextHeaderPosition:n,headerRowCount:r});return!0===o||null===o?(null===o&&de("Since v31.3 Returning `null` from tabToNextHeader is deprecated. Return `true` to stay on the current header, or `false` to let the browser handle the tab behaviour."),a):!1===o?null:o}focusProvidedHeaderPosition(e){const{headerPosition:t,direction:i,fromCell:a,rowWithoutSpanValue:n,event:r}=e,{column:o,headerRowIndex:s}=t;if(-1===s)return this.filterManager?.isAdvancedFilterHeaderActive()?this.focusAdvancedFilter(t):this.focusGridView(o);this.headerNavigationService.scrollToColumn(o,i);const l=this.ctrlsService.getHeaderRowContainerCtrl(o.getPinned()).focusHeader(t.headerRowIndex,o,r);return l&&(null!=n||a)&&this.headerNavigationService.setCurrentHeaderRowWithoutSpan(n??-1),l}focusFirstHeader(){let e=this.visibleColsService.getAllCols()[0];if(!e)return!1;e.getParent()&&(e=this.visibleColsService.getColGroupAtLevel(e,0));const t=this.headerPositionUtils.getHeaderIndexToFocus(e,0);return this.focusHeaderPosition({headerPosition:t,rowWithoutSpanValue:0})}focusLastHeader(e){const t=this.headerNavigationService.getHeaderRowCount()-1,i=h(this.visibleColsService.getAllCols());return this.focusHeaderPosition({headerPosition:{headerRowIndex:t,column:i},rowWithoutSpanValue:-1,event:e})}focusPreviousFromFirstCell(e){return this.filterManager?.isAdvancedFilterHeaderActive()?this.focusAdvancedFilter(null):this.focusLastHeader(e)}isAnyCellFocused(){return!!this.focusedCellPosition}isRowFocused(e,t){return null!=this.focusedCellPosition&&(this.focusedCellPosition.rowIndex===e&&this.focusedCellPosition.rowPinned===L(t))}findFocusableElements(e,t,i=!1){let a=ni;t&&(a+=", "+t),i&&(a+=', [tabindex="-1"]');const n=Array.prototype.slice.apply(e.querySelectorAll("[tabindex], input, select, button, textarea, [href]")).filter((e=>Si(e))),r=Array.prototype.slice.apply(e.querySelectorAll(a));if(!r.length)return n;return o=r,n.filter((e=>-1===o.indexOf(e)));var o}focusInto(e,t=!1,i=!1){const a=this.findFocusableElements(e,null,i),n=t?h(a):a[0];return!!n&&(n.focus({preventScroll:!0}),!0)}findFocusableElementBeforeTabGuard(e,t){if(!t)return null;const i=this.findFocusableElements(e),a=i.indexOf(t);if(-1===a)return null;let n=-1;for(let e=a-1;e>=0;e--)if(i[e].classList.contains("ag-tab-guard-top")){n=e;break}return n<=0?null:i[n-1]}findNextFocusableElement(e=this.eGridDiv,t,i){const a=this.findFocusableElements(e,t?':not([tabindex="-1"])':null),n=this.gos.getActiveDomElement();let r;r=t?a.findIndex((e=>e.contains(n))):a.indexOf(n);const o=r+(i?-1:1);return o<0||o>=a.length?null:a[o]}isTargetUnderManagedComponent(e,t){if(!t)return!1;const i=e.querySelectorAll(`.${un.FOCUS_MANAGED_CLASS}`);if(!i.length)return!1;for(let e=0;e<i.length;e++)if(i[e].contains(t))return!0;return!1}findTabbableParent(e,t=5){let i=0;for(;e&&null===ei(e)&&++i<=t;)e=e.parentElement;return null===ei(e)?null:e}focusGridView(e,t){if(this.gos.get("suppressCellFocus"))return t?this.gos.get("suppressHeaderFocus")?this.focusNextGridCoreContainer(!0,!0):this.focusLastHeader():this.focusNextGridCoreContainer(!1);const i=t?this.rowPositionUtils.getLastRow():this.rowPositionUtils.getFirstRow();if(!i)return!1;const{rowIndex:a,rowPinned:n}=i,r=this.getFocusedHeader();return!e&&r&&(e=r.column),!(null==a||!e)&&(this.navigationService.ensureCellVisible({rowIndex:a,column:e,rowPinned:n}),this.setFocusedCell({rowIndex:a,column:e,rowPinned:L(n),forceBrowserFocus:!0}),this.rangeService?.setRangeToCell({rowIndex:a,rowPinned:n,column:e}),!0)}focusNextGridCoreContainer(e,t=!1){return!(t||!this.gridCtrl.focusNextInnerContainer(e))||((t||!e&&!this.gridCtrl.isDetailGrid())&&this.gridCtrl.forceFocusOutOfContainer(e),!1)}focusAdvancedFilter(e){return this.advancedFilterFocusColumn=e?.column,this.advancedFilterService?.getCtrl().focusHeaderComp()??!1}focusNextFromAdvancedFilter(e,t){const i=(t?void 0:this.advancedFilterFocusColumn)??this.visibleColsService.getAllCols()?.[0];return e?this.focusHeaderPosition({headerPosition:{column:i,headerRowIndex:this.headerNavigationService.getHeaderRowCount()-1}}):this.focusGridView(i)}clearAdvancedFilterColumn(){this.advancedFilterFocusColumn=void 0}addFocusableContainer(e){this.gridCtrl.addFocusableContainer(e)}removeFocusableContainer(e){this.gridCtrl.removeFocusableContainer(e)}focusGridInnerElement(e){return this.gridCtrl.focusInnerElement(e)}};Hl.keyboardModeActive=!1,Hl.instanceCount=0;var Wl=Hl,_l=class extends F{constructor(){super(...arguments),this.beanName="pinnedWidthService"}wireBeans(e){this.visibleColsService=e.visibleColsService}postConstruct(){const e=this.checkContainerWidths.bind(this);this.addManagedEventListeners({displayedColumnsChanged:e,displayedColumnsWidthChanged:e}),this.addManagedPropertyListener("domLayout",e)}checkContainerWidths(){const e=this.gos.isDomLayout("print"),t=e?0:this.visibleColsService.getColsLeftWidth(),i=e?0:this.visibleColsService.getDisplayedColumnsRightWidth();t!=this.leftWidth&&(this.leftWidth=t,this.eventService.dispatchEvent({type:"leftPinnedWidthChanged"})),i!=this.rightWidth&&(this.rightWidth=i,this.eventService.dispatchEvent({type:"rightPinnedWidthChanged"}))}getPinnedRightWidth(){return this.rightWidth}getPinnedLeftWidth(){return this.leftWidth}},ql=class extends F{constructor(){super(...arguments),this.additionalFocusableContainers=new Set}wireBeans(e){this.beans=e,this.focusService=e.focusService,this.visibleColsService=e.visibleColsService}setComp(e,t,i){this.view=e,this.eGridHostDiv=t,this.eGui=i,this.eGui.setAttribute("grid-id",this.gridId);const{dragAndDropService:a,mouseEventService:n,ctrlsService:r,resizeObserverService:o}=this.beans;a.addDropTarget({getContainer:()=>this.eGui,isInterestedIn:e=>1===e||0===e,getIconName:()=>"notAllowed"}),n.stampTopLevelGridCompWithGridInstance(t),this.createManagedBean(new ao(this.view)),this.addRtlSupport();const s=o.observeResize(this.eGridHostDiv,this.onGridSizeChanged.bind(this));this.addDestroyFunc((()=>s())),r.register("gridCtrl",this)}isDetailGrid(){const e=this.focusService.findTabbableParent(this.getGui());return e?.getAttribute("row-id")?.startsWith("detail")||!1}getOptionalSelectors(){const e=this.beans;return{paginationSelector:e.paginationService?.getPaginationSelector(),gridHeaderDropZonesSelector:e.columnDropZonesService?.getDropZoneSelector(),sideBarSelector:e.sideBarService?.getSideBarSelector(),statusBarSelector:e.statusBarService?.getStatusPanelSelector(),watermarkSelector:e.licenseManager?.getWatermarkSelector()}}onGridSizeChanged(){const e={type:"gridSizeChanged",clientWidth:this.eGridHostDiv.clientWidth,clientHeight:this.eGridHostDiv.clientHeight};this.eventService.dispatchEvent(e)}addRtlSupport(){const e=this.gos.get("enableRtl")?"ag-rtl":"ag-ltr";this.view.setRtlClass(e)}destroyGridUi(){this.view.destroyGridUi()}getGui(){return this.eGui}setResizeCursor(e){this.view.setCursor(e?"ew-resize":null)}disableUserSelect(e){this.view.setUserSelect(e?"none":null)}focusNextInnerContainer(e){const t=this.getFocusableContainers(),i=this.gos.getActiveDomElement(),a=t.findIndex((e=>e.getGui().contains(i))),n=a+(e?-1:1);if(n<0||n>=t.length)return!1;if(0===n){if(a>0){const e=h(this.visibleColsService.getAllCols());if(this.focusService.focusGridView(e,!0))return!0}return!1}return this.focusContainer(t[n],e)}focusInnerElement(e){const t=this.getFocusableContainers(),i=this.visibleColsService.getAllCols(),a=this.gos.getCallback("focusGridInnerElement");if(a&&a({fromBottom:!!e}))return!0;if(e){if(t.length>1)return this.focusContainer(h(t),!0);const e=h(i);if(this.focusService.focusGridView(e,!0))return!0}if(0===this.gos.get("headerHeight")||this.gos.get("suppressHeaderFocus")){if(this.focusService.focusGridView(i[0]))return!0;for(let e=1;e<t.length;e++)if(this.focusService.focusInto(t[e].getGui()))return!0;return!1}return this.focusService.focusFirstHeader()}forceFocusOutOfContainer(e=!1){this.view.forceFocusOutOfContainer(e)}addFocusableContainer(e){this.additionalFocusableContainers.add(e)}removeFocusableContainer(e){this.additionalFocusableContainers.delete(e)}focusContainer(e,t){e?.setAllowFocus?.(!0);const i=this.focusService.focusInto(e.getGui(),t);return e?.setAllowFocus?.(!1),i}getFocusableContainers(){return[...this.view.getFocusableContainers(),...this.additionalFocusableContainers.values()]}destroy(){this.additionalFocusableContainers.clear(),super.destroy()}},Ul=class extends cl{constructor(e){super(),this.gridBody=Vi,this.sideBar=Vi,this.pagination=Vi,this.rootWrapperBody=Vi,this.eGridDiv=e}postConstruct(){const e={destroyGridUi:()=>this.destroyBean(this),setRtlClass:e=>this.addCssClass(e),forceFocusOutOfContainer:this.forceFocusOutOfContainer.bind(this),updateLayoutClasses:this.updateLayoutClasses.bind(this),getFocusableContainers:this.getFocusableContainers.bind(this),setUserSelect:e=>{this.getGui().style.userSelect=null!=e?e:"",this.getGui().style.webkitUserSelect=null!=e?e:""},setCursor:e=>{this.getGui().style.cursor=null!=e?e:""}},t=this.createManagedBean(new ql),i=t.getOptionalSelectors(),a=this.createTemplate(i),n=[os,...Object.values(i).filter((e=>!!e))];this.setTemplate(a,n),t.setComp(e,this.eGridDiv,this.getGui()),this.insertGridIntoDom(),this.initialiseTabGuard({onTabKeyDown:()=>{},focusInnerElement:e=>t.focusInnerElement(e),forceFocusOutWhenTabGuardsAreEmpty:!0})}insertGridIntoDom(){const e=this.getGui();this.eGridDiv.appendChild(e),this.addDestroyFunc((()=>{this.eGridDiv.removeChild(e),this.gos.get("debug")&&ce("Grid removed from DOM")}))}updateLayoutClasses(e,t){const i=this.rootWrapperBody.classList;i.toggle("ag-layout-auto-height",t.autoHeight),i.toggle("ag-layout-normal",t.normal),i.toggle("ag-layout-print",t.print),this.addOrRemoveCssClass("ag-layout-auto-height",t.autoHeight),this.addOrRemoveCssClass("ag-layout-normal",t.normal),this.addOrRemoveCssClass("ag-layout-print",t.print)}createTemplate(e){const t=e.gridHeaderDropZonesSelector?"<ag-grid-header-drop-zones></ag-grid-header-drop-zones>":"",i=e.sideBarSelector?'<ag-side-bar data-ref="sideBar"></ag-side-bar>':"",a=e.statusBarSelector?"<ag-status-bar></ag-status-bar>":"",n=e.watermarkSelector?"<ag-watermark></ag-watermark>":"";return`<div class="ag-root-wrapper" role="presentation">\n ${t}\n <div class="ag-root-wrapper-body" data-ref="rootWrapperBody" role="presentation">\n <ag-grid-body data-ref="gridBody"></ag-grid-body>\n ${i}\n </div>\n ${a}\n ${e.paginationSelector?'<ag-pagination data-ref="pagination"></ag-pagination>':""}\n ${n}\n </div>`}getFocusableElement(){return this.rootWrapperBody}forceFocusOutOfContainer(e=!1){e||!this.pagination?.isDisplayed()?super.forceFocusOutOfContainer(e):this.pagination.forceFocusOutOfContainer(e)}getFocusableContainers(){const e=[this.gridBody];return[this.sideBar,this.pagination].forEach((t=>{t&&e.push(t)})),e.filter((e=>Si(e.getGui())))}},Kl={version:dr,moduleName:"@ag-grid-community/aligned-grid",beans:[class extends F{constructor(){super(...arguments),this.beanName="alignedGridsService",this.consuming=!1}wireBeans(e){this.columnModel=e.columnModel,this.columnSizeService=e.columnSizeService,this.ctrlsService=e.ctrlsService,this.columnApplyStateService=e.columnApplyStateService}getAlignedGridApis(){let e=this.gos.get("alignedGrids")??[];const t="function"==typeof e;"function"==typeof e&&(e=e());const i=()=>`See ${this.getFrameworkOverrides().getDocLink("aligned-grids")}`;return e.map((e=>{if(!e)return he("alignedGrids contains an undefined option."),t||he('You may want to configure via a callback to avoid setup race conditions:\n "alignedGrids: () => [linkedGrid]"'),void he(i());if(this.isGridApi(e))return e;const a=e;return"current"in a?a.current?.api:(a.api||he(`alignedGrids - No api found on the linked grid. If you are passing gridOptions to alignedGrids since v31 this is no longer valid. ${i()}`),a.api)})).filter((e=>!!e&&!e.isDestroyed()))}isGridApi(e){return!!e&&!!e.dispatchEvent}postConstruct(){const e=this.fireColumnEvent.bind(this);this.addManagedEventListeners({columnMoved:e,columnVisible:e,columnPinned:e,columnGroupOpened:e,columnResized:e,bodyScroll:this.fireScrollEvent.bind(this),alignedGridColumn:({event:e})=>this.onColumnEvent(e),alignedGridScroll:({event:e})=>this.onScrollEvent(e)})}fireEvent(e){this.consuming||this.getAlignedGridApis().forEach((t=>{t.isDestroyed()||t.dispatchEvent(e)}))}onEvent(e){this.consuming=!0,e(),this.consuming=!1}fireColumnEvent(e){const t={type:"alignedGridColumn",event:e};this.fireEvent(t)}fireScrollEvent(e){if("horizontal"!==e.direction)return;const t={type:"alignedGridScroll",event:e};this.fireEvent(t)}onScrollEvent(e){this.onEvent((()=>{this.ctrlsService.getGridBodyCtrl().getScrollFeature().setHorizontalScrollPosition(e.left,!0)}))}getMasterColumns(e){const t=[];return e.columns?e.columns.forEach((e=>{t.push(e)})):e.column&&t.push(e.column),t}getColumnIds(e){const t=[];return e.columns?e.columns.forEach((e=>{t.push(e.getColId())})):e.column&&t.push(e.column.getColId()),t}onColumnEvent(e){this.onEvent((()=>{switch(e.type){case"columnMoved":case"columnVisible":case"columnPinned":case"columnResized":{const t=e;this.processColumnEvent(t);break}case"columnGroupOpened":{const t=e;this.processGroupOpenedEvent(t);break}case"columnPivotChanged":de("pivoting is not supported with aligned grids. You can only use one of these features at a time in a grid.")}}))}processGroupOpenedEvent(e){e.columnGroups.forEach((e=>{let t=null;if(e){const i=e.getGroupId();t=this.columnModel.getProvidedColGroup(i)}e&&!t||this.columnModel.setColumnGroupOpened(t,e.isExpanded(),"alignedGridChanged")}))}processColumnEvent(e){const t=e.column;let i=null;if(t&&(i=this.columnModel.getColDefCol(t.getColId())),t&&!i)return;const a=this.getMasterColumns(e);switch(e.type){case"columnMoved":{const t=e.api.getColumnState().map((e=>({colId:e.colId})));this.columnApplyStateService.applyColumnState({state:t,applyOrder:!0},"alignedGridChanged")}break;case"columnVisible":{const t=e.api.getColumnState().map((e=>({colId:e.colId,hide:e.hide})));this.columnApplyStateService.applyColumnState({state:t},"alignedGridChanged")}break;case"columnPinned":{const t=e.api.getColumnState().map((e=>({colId:e.colId,pinned:e.pinned})));this.columnApplyStateService.applyColumnState({state:t},"alignedGridChanged")}break;case"columnResized":{const t=e,i={};a.forEach((e=>{i[e.getId()]={key:e.getColId(),newWidth:e.getActualWidth()}})),t.flexColumns?.forEach((e=>{i[e.getId()]&&delete i[e.getId()]})),this.columnSizeService.setColumnWidths(Object.values(i),!1,t.finished,"alignedGridChanged");break}}const n=this.ctrlsService.getGridBodyCtrl().isVerticalScrollShowing();this.getAlignedGridApis().forEach((e=>{e.setGridOption("alwaysShowVerticalScroll",n)}))}}]};var jl={january:"January",february:"February",march:"March",april:"April",may:"May",june:"June",july:"July",august:"August",september:"September",october:"October",november:"November",december:"December"},Yl=["january","february","march","april","may","june","july","august","september","october","november","december"],$l=class extends F{constructor(){super(...arguments),this.beanName="dataTypeService",this.dataTypeDefinitions={},this.isWaitingForRowData=!1,this.isColumnTypeOverrideInDataTypeDefinitions=!1,this.columnStateUpdatesPendingInference={},this.columnStateUpdateListenerDestroyFuncs=[]}wireBeans(e){this.rowModel=e.rowModel,this.columnModel=e.columnModel,this.funcColsService=e.funcColsService,this.valueService=e.valueService,this.columnApplyStateService=e.columnApplyStateService}postConstruct(){this.groupHideOpenParents=this.gos.get("groupHideOpenParents"),this.addManagedPropertyListener("groupHideOpenParents",(()=>{this.groupHideOpenParents=this.gos.get("groupHideOpenParents")})),this.processDataTypeDefinitions(),this.addManagedPropertyListener("dataTypeDefinitions",(e=>{this.processDataTypeDefinitions(),this.columnModel.recreateColumnDefs(Pe(e.source))}))}processDataTypeDefinitions(){const e=this.getDefaultDataTypes();this.dataTypeDefinitions={},this.formatValueFuncs={};const t=e=>t=>{const{column:i,node:a,value:n}=t;let r=i.getColDef().valueFormatter;return r===e.groupSafeValueFormatter&&(r=e.valueFormatter),this.valueService.formatValue(i,a,n,r)};Object.entries(e).forEach((([e,i])=>{const a={...i,groupSafeValueFormatter:this.createGroupSafeValueFormatter(i)};this.dataTypeDefinitions[e]=a,this.formatValueFuncs[e]=t(a)}));const i=this.gos.get("dataTypeDefinitions")??{};this.dataTypeMatchers={},Object.entries(i).forEach((([a,n])=>{const r=this.processDataTypeDefinition(n,i,[a],e);r&&(this.dataTypeDefinitions[a]=r,n.dataTypeMatcher&&(this.dataTypeMatchers[a]=n.dataTypeMatcher),this.formatValueFuncs[a]=t(r))})),this.checkObjectValueHandlers(e),["dateString","text","number","boolean","date"].forEach((t=>{const i=this.dataTypeMatchers[t];i&&delete this.dataTypeMatchers[t],this.dataTypeMatchers[t]=i??e[t].dataTypeMatcher}))}mergeDataTypeDefinitions(e,t){const i={...e,...t};return e.columnTypes&&t.columnTypes&&t.appendColumnTypes&&(i.columnTypes=[...De(e.columnTypes),...De(t.columnTypes)]),i}processDataTypeDefinition(e,t,i,a){let n;const r=e.extendsDataType;if(e.columnTypes&&(this.isColumnTypeOverrideInDataTypeDefinitions=!0),e.extendsDataType===e.baseDataType){let i=a[r];const o=t[r];if(i&&o&&(i=o),!this.validateDataTypeDefinition(e,i,r))return;n=this.mergeDataTypeDefinitions(i,e)}else{if(i.includes(r))return void de('Data type definition hierarchies (via the "extendsDataType" property) cannot contain circular references.');const o=t[r];if(!this.validateDataTypeDefinition(e,o,r))return;const s=this.processDataTypeDefinition(o,t,[...i,r],a);if(!s)return;n=this.mergeDataTypeDefinitions(s,e)}return{...n,groupSafeValueFormatter:this.createGroupSafeValueFormatter(n)}}validateDataTypeDefinition(e,t,i){return t?t.baseDataType===e.baseDataType||(de('The "baseDataType" property of a data type definition must match that of its parent.'),!1):(de(`The data type definition ${i} does not exist.`),!1)}createGroupSafeValueFormatter(e){if(e.valueFormatter)return t=>{if(t.node?.group){const i=t.column.getAggFunc();if(i){if("first"===i||"last"===i)return e.valueFormatter(t);if("number"===e.baseDataType&&"count"!==i){if("number"==typeof t.value)return e.valueFormatter(t);if("object"==typeof t.value){if(!t.value)return;if("toNumber"in t.value)return e.valueFormatter({...t,value:t.value.toNumber()});if("value"in t.value)return e.valueFormatter({...t,value:t.value.value})}}}if(!this.gos.get("suppressGroupMaintainValueType"))return}else if(this.groupHideOpenParents&&t.column.isRowGroupActive()){if("string"!=typeof t.value||e.dataTypeMatcher?.(t.value))return e.valueFormatter(t);if(!this.gos.get("suppressGroupMaintainValueType"))return}return e.valueFormatter(t)}}updateColDefAndGetColumnType(e,t,i){let{cellDataType:a}=t;const{field:n}=t;if(void 0===a&&(a=e.cellDataType),null!=a&&!0!==a||(a=!!this.canInferCellDataType(e,t)&&this.inferCellDataType(n,i)),!a)return void(e.cellDataType=!1);const r=this.dataTypeDefinitions[a];if(r)return e.cellDataType=a,r.groupSafeValueFormatter&&(e.valueFormatter=r.groupSafeValueFormatter),r.valueParser&&(e.valueParser=r.valueParser),r.suppressDefaultProperties||this.setColDefPropertiesForBaseDataType(e,a,r,i),r.columnTypes;de(`Missing data type definition - "${a}"`)}addColumnListeners(e){if(!this.isWaitingForRowData)return;const t=this.columnStateUpdatesPendingInference[e.getColId()];if(!t)return;const i=e=>{t.add(e.key)};e.addEventListener("columnStateUpdated",i),this.columnStateUpdateListenerDestroyFuncs.push((()=>e.removeEventListener("columnStateUpdated",i)))}canInferCellDataType(e,t){if("clientSide"!==this.rowModel.getType())return!1;const i={cellRenderer:!0,valueGetter:!0,valueParser:!0,refData:!0};if(this.doColDefPropsPreventInference(t,i))return!1;const a=null===t.type?e.type:t.type;if(a){const e=this.gos.get("columnTypes")??{};if(De(a).some((t=>{const a=e[t.trim()];return a&&this.doColDefPropsPreventInference(a,i)})))return!1}return!this.doColDefPropsPreventInference(e,i)}doColDefPropsPreventInference(e,t){return[["cellRenderer","agSparklineCellRenderer"],["valueGetter",void 0],["valueParser",void 0],["refData",void 0]].some((([i,a])=>this.doesColDefPropPreventInference(e,t,i,a)))}doesColDefPropPreventInference(e,t,i,a){if(!t[i])return!1;const n=e[i];return null===n?(t[i]=!1,!1):void 0===a?!!n:n===a}inferCellDataType(e,t){if(!e)return;let i;const a=this.getInitialData();if(a){const t=e.indexOf(".")>=0&&!this.gos.get("suppressFieldDotNotation");i=X(a,e,t)}else this.initWaitForRowData(t);if(null==i)return;const[n]=Object.entries(this.dataTypeMatchers).find((([e,t])=>t(i)))??["object"];return n}getInitialData(){const e=this.gos.get("rowData");if(e?.length)return e[0];if(this.initialData)return this.initialData;{const e=this.rowModel.getRootNode().allLeafChildren;if(e?.length)return e[0].data}return null}initWaitForRowData(e){if(this.columnStateUpdatesPendingInference[e]=new Set,this.isWaitingForRowData)return;this.isWaitingForRowData=!0;const t=this.isColumnTypeOverrideInDataTypeDefinitions;t&&this.columnModel.queueResizeOperations();const[i]=this.addManagedEventListeners({rowDataUpdateStarted:e=>{const{firstRowData:a}=e;if(!a)return;i?.(),this.isWaitingForRowData=!1,this.processColumnsPendingInference(a,t),this.columnStateUpdatesPendingInference={},t&&this.columnModel.processResizeOperations();this.eventService.dispatchEvent({type:"dataTypesInferred"})}})}isPendingInference(){return this.isWaitingForRowData}processColumnsPendingInference(e,t){this.initialData=e;const i=[];this.destroyColumnStateUpdateListeners();const a={},n={};Object.entries(this.columnStateUpdatesPendingInference).forEach((([e,r])=>{const o=this.columnModel.getCol(e);if(!o)return;const s=o.getColDef();if(!this.columnModel.resetColDefIntoCol(o,"cellDataTypeInferred"))return;const l=o.getColDef();if(t&&l.type&&l.type!==s.type){const t=this.getUpdatedColumnState(o,r);t.rowGroup&&null==t.rowGroupIndex&&(a[e]=t),t.pivot&&null==t.pivotIndex&&(n[e]=t),i.push(t)}})),t&&i.push(...this.funcColsService.generateColumnStateForRowGroupAndPivotIndexes(a,n)),i.length&&this.columnApplyStateService.applyColumnState({state:i},"cellDataTypeInferred"),this.initialData=null}getUpdatedColumnState(e,t){const i=this.columnApplyStateService.getColumnStateFromColDef(e);return t.forEach((e=>{delete i[e],"rowGroup"===e?delete i.rowGroupIndex:"pivot"===e&&delete i.pivotIndex})),i}checkObjectValueHandlers(e){const t=this.dataTypeDefinitions.object,i=e.object;this.hasObjectValueParser=t.valueParser!==i.valueParser,this.hasObjectValueFormatter=t.valueFormatter!==i.valueFormatter}getDateStringTypeDefinition(e){return e?this.getDataTypeDefinition(e)??this.dataTypeDefinitions.dateString:this.dataTypeDefinitions.dateString}getDateParserFunction(e){return this.getDateStringTypeDefinition(e).dateParser}getDateFormatterFunction(e){return this.getDateStringTypeDefinition(e).dateFormatter}getDataTypeDefinition(e){const t=e.getColDef();if(t.cellDataType)return this.dataTypeDefinitions[t.cellDataType]}getBaseDataType(e){return this.getDataTypeDefinition(e)?.baseDataType}checkType(e,t){if(null==t)return!0;const i=this.getDataTypeDefinition(e)?.dataTypeMatcher;return!i||i(t)}validateColDef(e){"object"===e.cellDataType&&(e.valueFormatter!==this.dataTypeDefinitions.object.groupSafeValueFormatter||this.hasObjectValueFormatter||de('Cell data type is "object" but no value formatter has been provided. Please either provide an object data type definition with a value formatter, or set "colDef.valueFormatter"'),e.editable&&e.valueParser===this.dataTypeDefinitions.object.valueParser&&!this.hasObjectValueParser&&de('Cell data type is "object" but no value parser has been provided. Please either provide an object data type definition with a value parser, or set "colDef.valueParser"'))}getFormatValue(e){return this.formatValueFuncs[e]}setColDefPropertiesForBaseDataType(e,t,i,a){const n=this.formatValueFuncs[t],r=Ji.__isRegistered("@ag-grid-enterprise/set-filter",this.gridId),o=this.localeService.getLocaleTextFunc(),s=t=>{const{filterParams:i}=e;e.filterParams="object"==typeof i?{...i,...t}:t};switch(i.baseDataType){case"number":e.cellEditor="agNumberCellEditor",r&&s({comparator:(e,t)=>{const i=null==e?0:parseInt(e),a=null==t?0:parseInt(t);return i===a?0:i>a?1:-1}});break;case"boolean":e.cellEditor="agCheckboxCellEditor",e.cellRenderer="agCheckboxCellRenderer",e.suppressKeyboardEvent=e=>!!e.colDef.editable&&e.event.key===ia.SPACE,s(r?{valueFormatter:e=>N(e.value)?o(String(e.value),e.value?"True":"False"):o("blanks","(Blanks)")}:{maxNumConditions:1,debounceMs:0,filterOptions:["empty",{displayKey:"true",displayName:"True",predicate:(e,t)=>t,numberOfInputs:0},{displayKey:"false",displayName:"False",predicate:(e,t)=>!1===t,numberOfInputs:0}]});break;case"date":e.cellEditor="agDateCellEditor",e.keyCreator=n,r&&s({valueFormatter:e=>{const t=n(e);return N(t)?t:o("blanks","(Blanks)")},treeList:!0,treeListFormatter:(e,t)=>{if(1===t&&null!=e){const t=Yl[Number(e)-1];return o(t,jl[t])}return e??o("blanks","(Blanks)")}});break;case"dateString":{e.cellEditor="agDateStringCellEditor",e.keyCreator=n;const t=i.dateParser;s(r?{valueFormatter:e=>{const t=n(e);return N(t)?t:o("blanks","(Blanks)")},treeList:!0,treeListPathGetter:e=>{const i=t(e??void 0);return i?[String(i.getFullYear()),String(i.getMonth()+1),String(i.getDate())]:null},treeListFormatter:(e,t)=>{if(1===t&&null!=e){const t=Yl[Number(e)-1];return o(t,jl[t])}return e??o("blanks","(Blanks)")}}:{comparator:(e,i)=>{const a=t(i);return null==i||a<e?-1:a>e?1:0}});break}case"object":e.cellEditorParams={useFormatter:!0},e.comparator=(e,t)=>{const i=this.columnModel.getColDefCol(a),r=i?.getColDef();if(!i||!r)return 0;const o=null==e?"":n({column:i,node:null,value:e}),s=null==t?"":n({column:i,node:null,value:t});return o===s?0:o>s?1:-1},e.keyCreator=n,r?s({valueFormatter:e=>{const t=n(e);return N(t)?t:o("blanks","(Blanks)")}}):e.filterValueGetter=e=>n({column:e.column,node:e.node,value:this.valueService.getValue(e.column,e.node)})}}getDefaultDataTypes(){const e=e=>!!e.match("^\\d{4}-\\d{2}-\\d{2}$"),t=this.localeService.getLocaleTextFunc();return{number:{baseDataType:"number",valueParser:e=>""===e.newValue?.trim?.()?null:Number(e.newValue),valueFormatter:e=>null==e.value?"":"number"!=typeof e.value||isNaN(e.value)?t("invalidNumber","Invalid Number"):String(e.value),dataTypeMatcher:e=>"number"==typeof e},text:{baseDataType:"text",valueParser:e=>""===e.newValue?null:G(e.newValue),dataTypeMatcher:e=>"string"==typeof e},boolean:{baseDataType:"boolean",valueParser:e=>null==e.newValue?e.newValue:""===e.newValue?.trim?.()?null:"true"===String(e.newValue).toLowerCase(),valueFormatter:e=>null==e.value?"":String(e.value),dataTypeMatcher:e=>"boolean"==typeof e},date:{baseDataType:"date",valueParser:e=>Yn(null==e.newValue?null:String(e.newValue)),valueFormatter:e=>null==e.value?"":e.value instanceof Date&&!isNaN(e.value.getTime())?Un(e.value,!1)??"":t("invalidDate","Invalid Date"),dataTypeMatcher:e=>e instanceof Date},dateString:{baseDataType:"dateString",dateParser:e=>Yn(e)??void 0,dateFormatter:e=>Un(e??null,!1)??void 0,valueParser:t=>e(String(t.newValue))?t.newValue:null,valueFormatter:t=>e(String(t.value))?t.value:"",dataTypeMatcher:t=>"string"==typeof t&&e(t)},object:{baseDataType:"object",valueParser:()=>null,valueFormatter:e=>G(e.value)??""}}}destroyColumnStateUpdateListeners(){this.columnStateUpdateListenerDestroyFuncs.forEach((e=>e())),this.columnStateUpdateListenerDestroyFuncs=[]}destroy(){this.dataTypeDefinitions={},this.dataTypeMatchers={},this.formatValueFuncs={},this.columnStateUpdatesPendingInference={},this.destroyColumnStateUpdateListeners(),super.destroy()}},Zl={version:dr,moduleName:"@ag-grid-community/data-type",beans:[$l]};function Xl(e,t){const{colKey:i,rowNode:a,useFormatter:n}=t,r=e.columnModel.getColDefCol(i)??e.columnModel.getCol(i);if(O(r))return null;const o=e.valueService.getValue(r,a);if(n){return e.valueService.formatValue(r,a,o)??We(o,!0)}return o}function Ql(e,t){e.gos.updateGridOptions({options:t})}function Jl(e){return e.rowRenderer.getFirstVirtualRenderedRow()}function ec(e){return e.rowRenderer.getLastVirtualRenderedRow()}var tc={version:dr,moduleName:"@ag-grid-community/menu-api",apiFunctions:{showColumnMenuAfterButtonClick:function(e,t,i){const a=e.columnModel.getCol(t);e.menuService.showColumnMenu({column:a,buttonElement:i,positionBy:"button"})},showColumnMenuAfterMouseClick:function(e,t,i){let a=e.columnModel.getCol(t);a||(a=e.columnModel.getColDefCol(t)),a?e.menuService.showColumnMenu({column:a,mouseEvent:i,positionBy:"mouse"}):he(`column '${t}' not found`)},showColumnMenu:function(e,t){const i=e.columnModel.getCol(t);i?e.menuService.showColumnMenu({column:i,positionBy:"auto"}):he(`column '${t}' not found`)},hidePopupMenu:function(e){e.menuService.hidePopupMenu()}}},ic={version:dr,moduleName:"@ag-grid-community/api",dependantModules:[{version:dr,moduleName:"@ag-grid-community/core-api",apiFunctions:{getGridId:function(e){return e.context.getGridId()},destroy:function(e){e.gridDestroyService.destroy()},isDestroyed:function(e){return e.gridDestroyService.isDestroyCalled()},getGridOption:function(e,t){return e.gos.get(t)},setGridOption:function(e,t,i){Ql(e,{[t]:i})},updateGridOptions:Ql}},{version:dr,moduleName:"@ag-grid-community/pinned-row-api",apiFunctions:{getPinnedTopRowCount:function(e){return e.pinnedRowModel.getPinnedTopRowCount()},getPinnedBottomRowCount:function(e){return e.pinnedRowModel.getPinnedBottomRowCount()},getPinnedTopRow:function(e,t){return e.pinnedRowModel.getPinnedTopRow(t)},getPinnedBottomRow:function(e,t){return e.pinnedRowModel.getPinnedBottomRow(t)}}},{version:dr,moduleName:"@ag-grid-community/row-selection-api",apiFunctions:{setNodesSelected:function(e,t){if(!t.nodes.every((e=>e.rowPinned?(de("cannot select pinned rows"),!1):void 0!==e.id||(de("cannot select node until id for node is known"),!1))))return;const{nodes:i,source:a,newValue:n}=t,r=i;e.selectionService.setNodesSelected({nodes:r,source:a??"api",newValue:n})},selectAll:function(e,t="apiSelectAll"){e.selectionService.selectAllRowNodes({source:t})},deselectAll:function(e,t="apiSelectAll"){e.selectionService.deselectAllRowNodes({source:t})},selectAllFiltered:function(e,t="apiSelectAllFiltered"){e.selectionService.selectAllRowNodes({source:t,justFiltered:!0})},deselectAllFiltered:function(e,t="apiSelectAllFiltered"){e.selectionService.deselectAllRowNodes({source:t,justFiltered:!0})},selectAllOnCurrentPage:function(e,t="apiSelectAllCurrentPage"){e.selectionService.selectAllRowNodes({source:t,justCurrentPage:!0})},deselectAllOnCurrentPage:function(e,t="apiSelectAllCurrentPage"){e.selectionService.deselectAllRowNodes({source:t,justCurrentPage:!0})},getSelectedNodes:function(e){return e.selectionService.getSelectedNodes()},getSelectedRows:function(e){return e.selectionService.getSelectedRows()}}},{version:dr,moduleName:"@ag-grid-community/column-api",apiFunctions:{getColumnDef:function(e,t){const i=e.columnModel.getColDefCol(t);return i?i.getColDef():null},getColumnDefs:function(e){return e.columnModel.getColumnDefs()},sizeColumnsToFit:function(e,t){"number"==typeof t?e.columnSizeService.sizeColumnsToFit(t,"api"):e.ctrlsService.getGridBodyCtrl().sizeColumnsToFit(t)},setColumnGroupOpened:function(e,t,i){e.columnModel.setColumnGroupOpened(t,i,"api")},getColumnGroup:function(e,t,i){return e.visibleColsService.getColumnGroup(t,i)},getProvidedColumnGroup:function(e,t){return e.columnModel.getProvidedColGroup(t)},getDisplayNameForColumn:function(e,t,i){return e.columnNameService.getDisplayNameForColumn(t,i)||""},getDisplayNameForColumnGroup:function(e,t,i){return e.columnNameService.getDisplayNameForColumnGroup(t,i)||""},getColumn:function(e,t){return e.columnModel.getColDefCol(t)},getColumns:function(e){return e.columnModel.getColDefCols()},applyColumnState:function(e,t){return e.columnApplyStateService.applyColumnState(t,"api")},getColumnState:function(e){return e.columnGetStateService.getColumnState()},resetColumnState:function(e){e.columnApplyStateService.resetColumnState("api")},getColumnGroupState:function(e){return e.columnGroupStateService.getColumnGroupState()},setColumnGroupState:function(e,t){e.columnGroupStateService.setColumnGroupState(t,"api")},resetColumnGroupState:function(e){e.columnGroupStateService.resetColumnGroupState("api")},isPinning:function(e){return e.visibleColsService.isPinningLeft()||e.visibleColsService.isPinningRight()},isPinningLeft:function(e){return e.visibleColsService.isPinningLeft()},isPinningRight:function(e){return e.visibleColsService.isPinningRight()},getDisplayedColAfter:function(e,t){return e.visibleColsService.getColAfter(t)},getDisplayedColBefore:function(e,t){return e.visibleColsService.getColBefore(t)},setColumnVisible:function(e,t,i){e.columnModel.setColsVisible([t],i,"api")},setColumnsVisible:function(e,t,i){e.columnModel.setColsVisible(t,i,"api")},setColumnPinned:function(e,t,i){e.columnModel.setColsPinned([t],i,"api")},setColumnsPinned:function(e,t,i){e.columnModel.setColsPinned(t,i,"api")},getAllGridColumns:function(e){return e.columnModel.getCols()},getDisplayedLeftColumns:function(e){return e.visibleColsService.getLeftCols()},getDisplayedCenterColumns:function(e){return e.visibleColsService.getCenterCols()},getDisplayedRightColumns:function(e){return e.visibleColsService.getRightCols()},getAllDisplayedColumns:function(e){return e.visibleColsService.getAllCols()},getAllDisplayedVirtualColumns:function(e){return e.columnViewportService.getViewportColumns()},moveColumn:function(e,t,i){e.columnMoveService.moveColumns([t],i,"api")},moveColumnByIndex:function(e,t,i){e.columnMoveService.moveColumnByIndex(t,i,"api")},moveColumns:function(e,t,i){e.columnMoveService.moveColumns(t,i,"api")},setColumnWidth:function(e,t,i,a=!0,n="api"){e.columnSizeService.setColumnWidths([{key:t,newWidth:i}],!1,a,n)},setColumnWidths:function(e,t,i=!0,a="api"){e.columnSizeService.setColumnWidths(t,!1,i,a)},getLeftDisplayedColumnGroups:function(e){return e.visibleColsService.getTreeLeft()},getCenterDisplayedColumnGroups:function(e){return e.visibleColsService.getTreeCenter()},getRightDisplayedColumnGroups:function(e){return e.visibleColsService.getTreeRight()},getAllDisplayedColumnGroups:function(e){return e.visibleColsService.getAllTrees()},autoSizeColumn:function(e,t,i){return e.columnAutosizeService.autoSizeCols({colKeys:[t],skipHeader:i,source:"api"})},autoSizeColumns:function(e,t,i){e.columnAutosizeService.autoSizeCols({colKeys:t,skipHeader:i,source:"api"})},autoSizeAllColumns:function(e,t){e.columnAutosizeService.autoSizeAllColumns("api",t)}}},{version:dr,moduleName:"@ag-grid-community/row-api",apiFunctions:{redrawRows:function(e,t={}){const i=t?t.rowNodes:void 0;e.frameworkOverrides.wrapIncoming((()=>e.rowRenderer.redrawRows(i)))},setRowNodeExpanded:function(e,t,i,a,n){e.expansionService.setRowNodeExpanded(t,i,a,n)},getRowNode:function(e,t){return e.rowModel.getRowNode(t)},addRenderedRowListener:function(e,t,i,a){e.rowRenderer.addRenderedRowListener(t,i,a)},getRenderedNodes:function(e){return e.rowRenderer.getRenderedNodes()},forEachNode:function(e,t,i){e.rowModel.forEachNode(t,i)},getFirstDisplayedRow:function(e){return Jl(e)},getFirstDisplayedRowIndex:Jl,getLastDisplayedRow:function(e){return ec(e)},getLastDisplayedRowIndex:ec,getDisplayedRowAtIndex:function(e,t){return e.rowModel.getRow(t)},getDisplayedRowCount:function(e){return e.rowModel.getRowCount()},getModel:function(e){return e.rowModel}}},{version:dr,moduleName:"@ag-grid-community/drag-api",apiFunctions:{addRowDropZone:function(e,t){e.ctrlsService.getGridBodyCtrl().getRowDragFeature().addRowDropZone(t)},removeRowDropZone:function(e,t){const i=e.dragAndDropService.findExternalZone(t);i&&e.dragAndDropService.removeDropTarget(i)},getRowDropZoneParams:function(e,t){return e.ctrlsService.getGridBodyCtrl().getRowDragFeature().getRowDropZone(t)}}},{version:dr,moduleName:"@ag-grid-community/scroll-api",apiFunctions:{getVerticalPixelRange:function(e){return e.ctrlsService.getGridBodyCtrl().getScrollFeature().getVScrollPosition()},getHorizontalPixelRange:function(e){return e.ctrlsService.getGridBodyCtrl().getScrollFeature().getHScrollPosition()},ensureColumnVisible:Bs,ensureIndexVisible:Vs,ensureNodeVisible:function(e,t,i=null){e.frameworkOverrides.wrapIncoming((()=>e.ctrlsService.getGridBodyCtrl().getScrollFeature().ensureNodeVisible(t,i)),"ensureVisible")}}},{version:dr,moduleName:"@ag-grid-community/overlay-api",apiFunctions:{showLoadingOverlay:function(e){e.overlayService.showLoadingOverlay()},showNoRowsOverlay:function(e){e.overlayService.showNoRowsOverlay()},hideOverlay:function(e){e.overlayService.hideOverlay()}}},{version:dr,moduleName:"@ag-grid-community/keyboard-navigation-api",apiFunctions:{getFocusedCell:function(e){return e.focusService.getFocusedCell()},clearFocusedCell:function(e){return e.focusService.clearFocusedCell()},setFocusedCell:function(e,t,i,a){e.focusService.setFocusedCell({rowIndex:t,column:i,rowPinned:a,forceBrowserFocus:!0})},setFocusedHeader:function(e,t,i=!1){const a=e.headerNavigationService.getHeaderPositionForColumn(t,i);a&&e.focusService.focusHeaderPosition({headerPosition:a})},tabToNextCell:function(e,t){return e.navigationService.tabToNextCell(!1,t)},tabToPreviousCell:function(e,t){return e.navigationService.tabToNextCell(!0,t)}}},{version:dr,moduleName:"@ag-grid-community/event-api",apiFunctions:{addEventListener:function(e,t,i){e.apiEventService.addEventListener(t,i)},addGlobalListener:function(e,t){e.apiEventService.addGlobalListener(t)},removeEventListener:function(e,t,i){e.apiEventService.removeEventListener(t,i)},removeGlobalListener:function(e,t){e.apiEventService.removeGlobalListener(t)}}},{version:dr,moduleName:"@ag-grid-community/render-api",apiFunctions:{setGridAriaProperty:function(e,t,i){if(!t)return;const a=e.ctrlsService.getGridBodyCtrl().getGui(),n=`aria-${t}`;null===i?a.removeAttribute(n):a.setAttribute(n,i)},refreshCells:function(e,t={}){e.frameworkOverrides.wrapIncoming((()=>e.rowRenderer.refreshCells(t)))},flashCells:function(e,t={}){const i=e=>de(`Since v31.1 api.flashCells parameter '${e}Delay' is deprecated. Please use '${e}Duration' instead.`);N(t.fadeDelay)&&i("fade"),N(t.flashDelay)&&i("flash"),e.frameworkOverrides.wrapIncoming((()=>e.rowRenderer.flashCells(t)))},refreshHeader:function(e){e.frameworkOverrides.wrapIncoming((()=>e.ctrlsService.getHeaderRowContainerCtrls().forEach((e=>e.refresh()))))},isAnimationFrameQueueEmpty:function(e){return e.animationFrameService.isQueueEmpty()},flushAllAnimationFrames:function(e){e.animationFrameService.flushAllFrames()},getSizesForCurrentTheme:function(e){return{rowHeight:e.gos.getRowHeightAsNumber(),headerHeight:e.columnModel.getHeaderHeight()}},getCellRendererInstances:function(e,t={}){return e.rowRenderer.getCellRendererInstances(t).map(Ha)}}},{version:dr,moduleName:"@ag-grid-community/cell-api",apiFunctions:{expireValueCache:function(e){e.valueCache.expire()},getValue:function(e,t,i){return Xl(e,{colKey:t,rowNode:i})},getCellValue:Xl}},tc,{version:dr,moduleName:"@ag-grid-community/sort-api",apiFunctions:{onSortChanged:function(e){e.sortController.onSortChanged("api")}}}]};var ac={version:dr,moduleName:"@ag-grid-community/state-core",beans:[class extends F{constructor(){super(...arguments),this.beanName="stateService",this.suppressEvents=!0,this.queuedUpdateSources=new Set,this.dispatchStateUpdateEventDebounced=ve((()=>this.dispatchQueuedStateUpdateEvents()),0),this.onRowGroupOpenedDebounced=ve((()=>this.updateCachedState("rowGroupExpansion",this.getRowGroupExpansionState())),0),this.onRowSelectedDebounced=ve((()=>{this.staleStateKeys.delete("rowSelection"),this.updateCachedState("rowSelection",this.getRowSelectionState())}),0),this.staleStateKeys=new Set}wireBeans(e){this.filterManager=e.filterManager,this.ctrlsService=e.ctrlsService,this.pivotResultColsService=e.pivotResultColsService,this.focusService=e.focusService,this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.columnGroupStateService=e.columnGroupStateService,this.columnGetStateService=e.columnGetStateService,this.paginationService=e.paginationService,this.rowModel=e.rowModel,this.selectionService=e.selectionService,this.expansionService=e.expansionService,this.columnAnimationService=e.columnAnimationService,this.columnApplyStateService=e.columnApplyStateService,this.sideBarService=e.sideBarService,this.rangeService=e.rangeService}postConstruct(){this.isClientSideRowModel="clientSide"===this.rowModel.getType(),this.cachedState=this.gos.get("initialState")??{},this.ctrlsService.whenReady((()=>this.suppressEventsAndDispatchInitEvent((()=>this.setupStateOnGridReady()))));const[e,t,i]=this.addManagedEventListeners({newColumnsLoaded:({source:t})=>{"gridInitializing"===t&&(e(),this.suppressEventsAndDispatchInitEvent((()=>this.setupStateOnColumnsInitialised())))},rowCountReady:()=>{t?.(),this.suppressEventsAndDispatchInitEvent((()=>this.setupStateOnRowCountReady()))},firstDataRendered:()=>{i?.(),this.suppressEventsAndDispatchInitEvent((()=>this.setupStateOnFirstDataRendered()))}})}getState(){return this.staleStateKeys.size&&this.refreshStaleState(),this.cachedState}setupStateOnGridReady(){this.updateCachedState("sideBar",this.getSideBarState());const e=()=>this.updateCachedState("sideBar",this.getSideBarState());this.addManagedEventListeners({toolPanelVisibleChanged:e,sideBarUpdated:e})}setupStateOnColumnsInitialised(){const e=this.gos.get("initialState")??{};this.setColumnState(e),this.setColumnGroupState(e),this.updateColumnState(["aggregation","columnOrder","columnPinning","columnSizing","columnVisibility","pivot","pivot","rowGroup","sort"]),this.updateCachedState("columnGroup",this.getColumnGroupState()),this.addManagedEventListeners({columnValueChanged:()=>this.updateColumnState(["aggregation"]),columnMoved:()=>this.updateColumnState(["columnOrder"]),columnPinned:()=>this.updateColumnState(["columnPinning"]),columnResized:()=>this.updateColumnState(["columnSizing"]),columnVisible:()=>this.updateColumnState(["columnVisibility"]),columnPivotChanged:()=>this.updateColumnState(["pivot"]),columnPivotModeChanged:()=>this.updateColumnState(["pivot"]),columnRowGroupChanged:()=>this.updateColumnState(["rowGroup"]),sortChanged:()=>this.updateColumnState(["sort"]),newColumnsLoaded:()=>this.updateColumnState(["aggregation","columnOrder","columnPinning","columnSizing","columnVisibility","pivot","rowGroup","sort"]),columnGroupOpened:()=>this.updateCachedState("columnGroup",this.getColumnGroupState())})}setupStateOnRowCountReady(){const{filter:e,rowGroupExpansion:t,rowSelection:i,pagination:a}=this.gos.get("initialState")??{},n=this.gos.get("advancedFilterModel");(e||n)&&this.setFilterState(e,n),t&&this.setRowGroupExpansionState(t),i&&this.setRowSelectionState(i),a&&this.setPaginationState(a),this.updateCachedState("filter",this.getFilterState()),this.updateCachedState("rowGroupExpansion",this.getRowGroupExpansionState()),this.updateCachedState("rowSelection",this.getRowSelectionState()),this.updateCachedState("pagination",this.getPaginationState()),this.addManagedEventListeners({filterChanged:()=>this.updateCachedState("filter",this.getFilterState()),rowGroupOpened:()=>this.onRowGroupOpenedDebounced(),expandOrCollapseAll:()=>this.updateCachedState("rowGroupExpansion",this.getRowGroupExpansionState()),selectionChanged:()=>{this.staleStateKeys.add("rowSelection"),this.onRowSelectedDebounced()},paginationChanged:e=>{(e.newPage||e.newPageSize)&&this.updateCachedState("pagination",this.getPaginationState())}})}setupStateOnFirstDataRendered(){const{scroll:e,rangeSelection:t,focusedCell:i,columnOrder:a}=this.gos.get("initialState")??{};i&&this.setFocusedCellState(i),t&&this.setRangeSelectionState(t),e&&this.setScrollState(e),this.setColumnPivotState(!!a?.orderedColIds),this.updateCachedState("sideBar",this.getSideBarState()),this.updateCachedState("focusedCell",this.getFocusedCellState()),this.updateCachedState("rangeSelection",this.getRangeSelectionState()),this.updateCachedState("scroll",this.getScrollState()),this.addManagedEventListeners({cellFocused:()=>this.updateCachedState("focusedCell",this.getFocusedCellState()),rangeSelectionChanged:e=>{e.finished&&this.updateCachedState("rangeSelection",this.getRangeSelectionState())},bodyScrollEnd:()=>this.updateCachedState("scroll",this.getScrollState())})}getColumnState(){const e=this.columnModel.isPivotMode(),t=[],i=[],a=[],n=[],r=[],o=[],s=[],l=[],c=[],d=this.columnGetStateService.getColumnState();for(let e=0;e<d.length;e++){const{colId:h,sort:u,sortIndex:g,rowGroup:p,rowGroupIndex:m,aggFunc:f,pivot:v,pivotIndex:y,pinned:b,hide:C,width:w,flex:S}=d[e];c.push(h),u&&(t[g??0]={colId:h,sort:u}),p&&(i[m??0]=h),"string"==typeof f&&a.push({colId:h,aggFunc:f}),v&&(n[y??0]=h),b&&("right"===b?o:r).push(h),C&&s.push(h),(S||w)&&l.push({colId:h,flex:S??void 0,width:w})}return{sort:t.length?{sortModel:t}:void 0,rowGroup:i.length?{groupColIds:i}:void 0,aggregation:a.length?{aggregationModel:a}:void 0,pivot:n.length||e?{pivotMode:e,pivotColIds:n}:void 0,columnPinning:r.length||o.length?{leftColIds:r,rightColIds:o}:void 0,columnVisibility:s.length?{hiddenColIds:s}:void 0,columnSizing:l.length?{columnSizingModel:l}:void 0,columnOrder:c.length?{orderedColIds:c}:void 0}}setColumnState(e){const{sort:t,rowGroup:i,aggregation:a,pivot:n,columnPinning:r,columnVisibility:o,columnSizing:s,columnOrder:l}=e,c={},d=e=>{let t=c[e];return t||(t={colId:e},c[e]=t,t)};t&&t.sortModel.forEach((({colId:e,sort:t},i)=>{const a=d(e);a.sort=t,a.sortIndex=i})),i&&i.groupColIds.forEach(((e,t)=>{const i=d(e);i.rowGroup=!0,i.rowGroupIndex=t})),a&&a.aggregationModel.forEach((({colId:e,aggFunc:t})=>{d(e).aggFunc=t})),n&&(n.pivotColIds.forEach(((e,t)=>{const i=d(e);i.pivot=!0,i.pivotIndex=t})),this.gos.updateGridOptions({options:{pivotMode:n.pivotMode},source:"gridInitializing"})),r&&(r.leftColIds.forEach((e=>{d(e).pinned="left"})),r.rightColIds.forEach((e=>{d(e).pinned="right"}))),o&&o.hiddenColIds.forEach((e=>{d(e).hide=!0})),s&&s.columnSizingModel.forEach((({colId:e,flex:t,width:i})=>{const a=d(e);a.flex=t??null,a.width=i}));const h=l?.orderedColIds,u=!!h?.length,g=u?h.map((e=>d(e))):Object.values(c);if(g.length){this.columnStates=g;const e={sort:null,sortIndex:null,rowGroup:null,rowGroupIndex:null,aggFunc:null,pivot:null,pivotIndex:null,pinned:null,hide:null,flex:null};this.columnApplyStateService.applyColumnState({state:g,applyOrder:u,defaultState:e},"gridInitializing")}}setColumnPivotState(e){const t=this.columnStates;this.columnStates=void 0;const i=this.columnGroupStates;if(this.columnGroupStates=void 0,this.pivotResultColsService.isPivotResultColsPresent()){if(t){const i=[];for(const e of t)this.pivotResultColsService.getPivotResultCol(e.colId)&&i.push(e);this.columnApplyStateService.applyColumnState({state:i,applyOrder:e},"gridInitializing")}i&&this.columnGroupStateService.setColumnGroupState(i,"gridInitializing")}}getColumnGroupState(){const e=this.columnGroupStateService.getColumnGroupState(),t=[];return e.forEach((({groupId:e,open:i})=>{i&&t.push(e)})),t.length?{openColumnGroupIds:t}:void 0}setColumnGroupState(e){if(!Object.prototype.hasOwnProperty.call(e,"columnGroup"))return;const t=new Set(e.columnGroup?.openColumnGroupIds),i=this.columnGroupStateService.getColumnGroupState().map((({groupId:e})=>{const i=t.has(e);return i&&t.delete(e),{groupId:e,open:i}}));t.forEach((e=>{i.push({groupId:e,open:!0})})),i.length&&(this.columnGroupStates=i),this.columnGroupStateService.setColumnGroupState(i,"gridInitializing")}getFilterState(){let e=this.filterManager?.getFilterModel();e&&0===Object.keys(e).length&&(e=void 0);const t=this.filterManager?.getAdvancedFilterModel()??void 0;return e||t?{filterModel:e,advancedFilterModel:t}:void 0}setFilterState(e,t){const{filterModel:i,advancedFilterModel:a}=e??{advancedFilterModel:t};i&&this.filterManager?.setFilterModel(i,"columnFilter"),a&&this.filterManager?.setAdvancedFilterModel(a)}getRangeSelectionState(){const e=this.rangeService?.getCellRanges().map((e=>{const{id:t,type:i,startRow:a,endRow:n,columns:r,startColumn:o}=e;return{id:t,type:i,startRow:a,endRow:n,colIds:r.map((e=>e.getColId())),startColId:o.getColId()}}));return e?.length?{cellRanges:e}:void 0}setRangeSelectionState(e){if(!this.gos.get("enableRangeSelection")||!this.rangeService)return;const t=[];e.cellRanges.forEach((e=>{const i=[];if(e.colIds.forEach((e=>{const t=this.columnModel.getCol(e);t&&i.push(t)})),!i.length)return;let a=this.columnModel.getCol(e.startColId);if(!a){const e=this.visibleColsService.getAllCols(),t=new Set(i);a=e.find((e=>t.has(e)))}t.push({...e,columns:i,startColumn:a})})),this.rangeService.setCellRanges(t)}getScrollState(){if(!this.isClientSideRowModel)return;const e=this.ctrlsService.getGridBodyCtrl()?.getScrollFeature(),{left:t}=e?.getHScrollPosition()??{left:0},{top:i}=e?.getVScrollPosition()??{top:0};return i||t?{top:i,left:t}:void 0}setScrollState(e){if(!this.isClientSideRowModel)return;const{top:t,left:i}=e;this.ctrlsService.getGridBodyCtrl()?.getScrollFeature().setScrollPosition(t,i)}getSideBarState(){return this.sideBarService?.getSideBarComp()?.getState()}getFocusedCellState(){if(!this.isClientSideRowModel)return;const e=this.focusService.getFocusedCell();if(e){const{column:t,rowIndex:i,rowPinned:a}=e;return{colId:t.getColId(),rowIndex:i,rowPinned:a}}}setFocusedCellState(e){if(!this.isClientSideRowModel)return;const{colId:t,rowIndex:i,rowPinned:a}=e;this.focusService.setFocusedCell({column:this.columnModel.getCol(t),rowIndex:i,rowPinned:a,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0})}getPaginationState(){if(!this.paginationService)return;const e=this.paginationService.getCurrentPage(),t=this.gos.get("paginationAutoPageSize")?void 0:this.paginationService.getPageSize();return e||t?{page:e,pageSize:t}:void 0}setPaginationState(e){this.paginationService&&(e.pageSize&&!this.gos.get("paginationAutoPageSize")&&this.paginationService.setPageSize(e.pageSize,"initialState"),"number"==typeof e.page&&this.paginationService.setPage(e.page))}getRowSelectionState(){const e=this.selectionService.getSelectionState();return!e||!Array.isArray(e)&&(!1===e.selectAll||!1===e.selectAllChildren)&&!e?.toggledNodes?.length?void 0:e}setRowSelectionState(e){this.selectionService.setSelectionState(e,"gridInitializing")}getRowGroupExpansionState(){const e=this.expansionService.getExpandedRows();return e.length?{expandedRowGroupIds:e}:void 0}setRowGroupExpansionState(e){this.expansionService.expandRows(e.expandedRowGroupIds)}updateColumnState(e){const t=this.getColumnState();let i=!1;Object.entries(t).forEach((([e,t])=>{W(t,this.cachedState[e])||(i=!0)})),this.cachedState={...this.cachedState,...t},i&&this.dispatchStateUpdateEvent(e)}updateCachedState(e,t){const i=this.cachedState[e];this.setCachedStateValue(e,t),W(t,i)||this.dispatchStateUpdateEvent([e])}setCachedStateValue(e,t){this.cachedState={...this.cachedState,[e]:t}}refreshStaleState(){this.staleStateKeys.forEach((e=>{if("rowSelection"===e)this.setCachedStateValue(e,this.getRowSelectionState())})),this.staleStateKeys.clear()}dispatchStateUpdateEvent(e){this.suppressEvents||(e.forEach((e=>this.queuedUpdateSources.add(e))),this.dispatchStateUpdateEventDebounced())}dispatchQueuedStateUpdateEvents(){const e=Array.from(this.queuedUpdateSources);this.queuedUpdateSources.clear();const t={type:"stateUpdated",sources:e,state:this.cachedState};this.eventService.dispatchEvent(t)}suppressEventsAndDispatchInitEvent(e){this.suppressEvents=!0,this.columnAnimationService.setSuppressAnimation(!0),e(),setTimeout((()=>{this.suppressEvents=!1,this.queuedUpdateSources.clear(),this.isAlive()&&(this.columnAnimationService.setSuppressAnimation(!1),this.dispatchStateUpdateEvent(["gridInitializing"]))}))}}]},nc={version:dr,moduleName:"@ag-grid-community/state",dependantModules:[ac,{version:dr,moduleName:"@ag-grid-community/state-api",apiFunctions:{getState:function(e){return e.stateService?.getState()??{}}},dependantModules:[ac]}]};function rc(e,t,i){e.addManagedElementListeners(t,{keydown:e=>{if(!e.defaultPrevented&&e.key===ia.TAB){const a=e.shiftKey;i.findNextFocusableElement(t,!1,a)||i.focusNextGridCoreContainer(a)&&e.preventDefault()}}})}var oc={selector:"AG-PAGE-SIZE-SELECTOR",component:class extends Hi{constructor(){super('<span class="ag-paging-page-size"></span>'),this.hasEmptyOption=!1,this.handlePageSizeItemSelected=()=>{if(!this.selectPageSizeComp)return;const e=this.selectPageSizeComp.getValue();if(!e)return;const t=Number(e);isNaN(t)||t<1||t===this.paginationService.getPageSize()||(this.paginationService.setPageSize(t,"pageSizeSelector"),this.hasEmptyOption&&this.toggleSelectDisplay(!0),this.selectPageSizeComp.getFocusableElement().focus())}}wireBeans(e){this.paginationService=e.paginationService}postConstruct(){this.addManagedPropertyListener("paginationPageSizeSelector",(()=>{this.onPageSizeSelectorValuesChange()})),this.addManagedEventListeners({paginationChanged:e=>this.handlePaginationChanged(e)})}handlePaginationChanged(e){if(!this.selectPageSizeComp||!e?.newPageSize)return;const t=this.paginationService.getPageSize();this.getPageSizeSelectorValues().includes(t)?this.selectPageSizeComp.setValue(t.toString()):this.hasEmptyOption?this.selectPageSizeComp.setValue(""):this.toggleSelectDisplay(!0)}toggleSelectDisplay(e){this.selectPageSizeComp&&this.reset(),e&&(this.reloadPageSizesSelector(),this.selectPageSizeComp&&this.appendChild(this.selectPageSizeComp))}reset(){bi(this.getGui()),this.selectPageSizeComp&&(this.selectPageSizeComp=this.destroyBean(this.selectPageSizeComp))}onPageSizeSelectorValuesChange(){this.selectPageSizeComp&&this.shouldShowPageSizeSelector()&&this.reloadPageSizesSelector()}shouldShowPageSizeSelector(){return this.gos.get("pagination")&&!this.gos.get("suppressPaginationPanel")&&!this.gos.get("paginationAutoPageSize")&&!1!==this.gos.get("paginationPageSizeSelector")}reloadPageSizesSelector(){const e=this.getPageSizeSelectorValues(),t=this.paginationService.getPageSize(),i=!t||!e.includes(t);i&&(e.unshift(""),de("The paginationPageSize grid option is set to a value that is not in the list of page size options.\n Please make sure that the paginationPageSize grid option is set to one of the values in the \n paginationPageSizeSelector array, or set the paginationPageSizeSelector to false to hide the page size selector.")),this.selectPageSizeComp&&(this.selectPageSizeComp=this.destroyBean(this.selectPageSizeComp));const a=this.localeService.getLocaleTextFunc(),n=a("pageSizeSelectorLabel","Page Size:"),r=e.map((e=>({value:String(e),text:String(e)}))),o=a("ariaPageSizeSelectorLabel","Page Size");this.selectPageSizeComp=this.createManagedBean(new Cn).addOptions(r).setValue(String(i?"":t)).setAriaLabel(o).setLabel(n).onValueChange((()=>this.handlePageSizeItemSelected())),this.hasEmptyOption=i}getPageSizeSelectorValues(){const e=[20,50,100],t=this.gos.get("paginationPageSizeSelector");return Array.isArray(t)&&this.validateValues(t)?[...t].sort(((e,t)=>e-t)):e}validateValues(e){if(!e.length)return de("The paginationPageSizeSelector grid option is an empty array. This is most likely a mistake.\n If you want to hide the page size selector, please set the paginationPageSizeSelector to false."),!1;for(let t=0;t<e.length;t++){const i=e[t],a=i>0;if(!("number"==typeof i))return de("The paginationPageSizeSelector grid option contains a non-numeric value.\n Please make sure that all values in the paginationPageSizeSelector array are numbers."),!1;if(!a)return de("The paginationPageSizeSelector grid option contains a negative number or zero.\n Please make sure that all values in the paginationPageSizeSelector array are positive."),!1}return!0}destroy(){this.toggleSelectDisplay(!1),super.destroy()}}},sc={selector:"AG-PAGINATION",component:class extends cl{constructor(){super(),this.btFirst=Vi,this.btPrevious=Vi,this.btNext=Vi,this.btLast=Vi,this.lbRecordCount=Vi,this.lbFirstRowOnPage=Vi,this.lbLastRowOnPage=Vi,this.lbCurrent=Vi,this.lbTotal=Vi,this.pageSizeComp=Vi,this.previousAndFirstButtonsDisabled=!1,this.nextButtonDisabled=!1,this.lastButtonDisabled=!1,this.areListenersSetup=!1,this.allowFocusInnerElement=!1}wireBeans(e){this.rowNodeBlockLoader=e.rowNodeBlockLoader,this.rowModel=e.rowModel,this.paginationService=e.paginationService,this.focusService=e.focusService}postConstruct(){const e=this.gos.get("enableRtl");this.setTemplate(this.getTemplate(),[oc]);const{btFirst:t,btPrevious:i,btNext:a,btLast:n}=this;this.activateTabIndex([t,i,a,n]),t.insertAdjacentElement("afterbegin",qi(e?"last":"first",this.gos)),i.insertAdjacentElement("afterbegin",qi(e?"next":"previous",this.gos)),a.insertAdjacentElement("afterbegin",qi(e?"previous":"next",this.gos)),n.insertAdjacentElement("afterbegin",qi(e?"first":"last",this.gos)),this.addManagedPropertyListener("pagination",this.onPaginationChanged.bind(this)),this.addManagedPropertyListener("suppressPaginationPanel",this.onPaginationChanged.bind(this)),this.addManagedPropertyListeners(["paginationPageSizeSelector","paginationAutoPageSize","suppressPaginationPanel"],(()=>this.onPageSizeRelatedOptionsChange())),this.pageSizeComp.toggleSelectDisplay(this.pageSizeComp.shouldShowPageSizeSelector()),this.initialiseTabGuard({onTabKeyDown:()=>{},focusInnerElement:e=>{this.allowFocusInnerElement?this.tabGuardFeature.getTabGuardCtrl().focusInnerElement(e):this.focusService.focusGridInnerElement(e)},forceFocusOutWhenTabGuardsAreEmpty:!0}),this.onPaginationChanged()}setAllowFocus(e){this.allowFocusInnerElement=e}onPaginationChanged(){const e=this.gos.get("pagination")&&!this.gos.get("suppressPaginationPanel");this.setDisplayed(e),e&&(this.setupListeners(),this.enableOrDisableButtons(),this.updateRowLabels(),this.setCurrentPageLabel(),this.setTotalLabels(),this.onPageSizeRelatedOptionsChange())}onPageSizeRelatedOptionsChange(){this.pageSizeComp.toggleSelectDisplay(this.pageSizeComp.shouldShowPageSizeSelector())}setupListeners(){this.areListenersSetup||(this.addManagedEventListeners({paginationChanged:this.onPaginationChanged.bind(this)}),[{el:this.btFirst,fn:this.onBtFirst.bind(this)},{el:this.btPrevious,fn:this.onBtPrevious.bind(this)},{el:this.btNext,fn:this.onBtNext.bind(this)},{el:this.btLast,fn:this.onBtLast.bind(this)}].forEach((e=>{const{el:t,fn:i}=e;this.addManagedListeners(t,{click:i,keydown:e=>{e.key!==ia.ENTER&&e.key!==ia.SPACE||(e.preventDefault(),i())}})})),rc(this,this.getGui(),this.focusService),this.areListenersSetup=!0)}onBtFirst(){this.previousAndFirstButtonsDisabled||this.paginationService.goToFirstPage()}setCurrentPageLabel(){const e=this.paginationService.getTotalPages()>0,t=this.paginationService.getCurrentPage(),i=e?t+1:0;this.lbCurrent.textContent=this.formatNumber(i)}formatNumber(e){const t=this.gos.getCallback("paginationNumberFormatter");if(t){return t({value:e})}const i=this.localeService.getLocaleTextFunc();return qn(e,i("thousandSeparator",","),i("decimalSeparator","."))}getTemplate(){const e=this.localeService.getLocaleTextFunc(),t=e("page","Page"),i=e("to","to"),a=e("of","of"),n=e("firstPage","First Page"),r=e("previousPage","Previous Page"),o=e("nextPage","Next Page"),s=e("lastPage","Last Page"),l=this.getCompId();return`<div class="ag-paging-panel ag-unselectable" id="ag-${l}">\n <ag-page-size-selector data-ref="pageSizeComp"></ag-page-size-selector>\n <span class="ag-paging-row-summary-panel" role="status">\n <span id="ag-${l}-first-row" data-ref="lbFirstRowOnPage" class="ag-paging-row-summary-panel-number"></span>\n <span id="ag-${l}-to">${i}</span>\n <span id="ag-${l}-last-row" data-ref="lbLastRowOnPage" class="ag-paging-row-summary-panel-number"></span>\n <span id="ag-${l}-of">${a}</span>\n <span id="ag-${l}-row-count" data-ref="lbRecordCount" class="ag-paging-row-summary-panel-number"></span>\n </span>\n <span class="ag-paging-page-summary-panel" role="presentation">\n <div data-ref="btFirst" class="ag-button ag-paging-button" role="button" aria-label="${n}"></div>\n <div data-ref="btPrevious" class="ag-button ag-paging-button" role="button" aria-label="${r}"></div>\n <span class="ag-paging-description" role="status">\n <span id="ag-${l}-start-page">${t}</span>\n <span id="ag-${l}-start-page-number" data-ref="lbCurrent" class="ag-paging-number"></span>\n <span id="ag-${l}-of-page">${a}</span>\n <span id="ag-${l}-of-page-number" data-ref="lbTotal" class="ag-paging-number"></span>\n </span>\n <div data-ref="btNext" class="ag-button ag-paging-button" role="button" aria-label="${o}"></div>\n <div data-ref="btLast" class="ag-button ag-paging-button" role="button" aria-label="${s}"></div>\n </span>\n </div>`}onBtNext(){this.nextButtonDisabled||this.paginationService.goToNextPage()}onBtPrevious(){this.previousAndFirstButtonsDisabled||this.paginationService.goToPreviousPage()}onBtLast(){this.lastButtonDisabled||this.paginationService.goToLastPage()}enableOrDisableButtons(){const e=this.paginationService.getCurrentPage(),t=this.rowModel.isLastRowIndexKnown(),i=this.paginationService.getTotalPages();this.previousAndFirstButtonsDisabled=0===e,this.toggleButtonDisabled(this.btFirst,this.previousAndFirstButtonsDisabled),this.toggleButtonDisabled(this.btPrevious,this.previousAndFirstButtonsDisabled);const a=this.isZeroPagesToDisplay(),n=e===i-1;this.nextButtonDisabled=n||a,this.lastButtonDisabled=!t||a||e===i-1,this.toggleButtonDisabled(this.btNext,this.nextButtonDisabled),this.toggleButtonDisabled(this.btLast,this.lastButtonDisabled)}toggleButtonDisabled(e,t){Et(e,t),e.classList.toggle("ag-disabled",t)}updateRowLabels(){const e=this.paginationService.getCurrentPage(),t=this.paginationService.getPageSize(),i=this.rowModel.isLastRowIndexKnown(),a=this.rowModel.isLastRowIndexKnown()?this.paginationService.getMasterRowCount():null;let n,r;if(this.isZeroPagesToDisplay()?n=r=0:(n=t*e+1,r=n+t-1,i&&r>a&&(r=a)),this.lbFirstRowOnPage.textContent=this.formatNumber(n),this.rowNodeBlockLoader?.isLoading()){const e=this.localeService.getLocaleTextFunc();this.lbLastRowOnPage.innerHTML=e("pageLastRowUnknown","?")}else this.lbLastRowOnPage.textContent=this.formatNumber(r)}isZeroPagesToDisplay(){const e=this.rowModel.isLastRowIndexKnown(),t=this.paginationService.getTotalPages();return e&&0===t}setTotalLabels(){const e=this.rowModel.isLastRowIndexKnown(),t=this.paginationService.getTotalPages(),i=e?this.paginationService.getMasterRowCount():null;if(1===i){const e=this.rowModel.getRow(0);if(e&&e.group&&!(e.groupData||e.aggData))return void this.setTotalLabelsToZero()}if(e)this.lbTotal.textContent=this.formatNumber(t),this.lbRecordCount.textContent=this.formatNumber(i);else{const e=this.localeService.getLocaleTextFunc()("more","more");this.lbTotal.innerHTML=e,this.lbRecordCount.innerHTML=e}}setTotalLabelsToZero(){this.lbFirstRowOnPage.textContent=this.formatNumber(0),this.lbCurrent.textContent=this.formatNumber(0),this.lbLastRowOnPage.textContent=this.formatNumber(0),this.lbTotal.textContent=this.formatNumber(0),this.lbRecordCount.textContent=this.formatNumber(0)}}},lc={version:dr,moduleName:"@ag-grid-community/pagination-core",beans:[class extends F{constructor(){super(...arguments),this.beanName="paginationService",this.currentPage=0,this.topDisplayedRowIndex=0,this.bottomDisplayedRowIndex=0,this.masterRowCount=0}wireBeans(e){this.rowModel=e.rowModel,this.pageBoundsService=e.pageBoundsService}postConstruct(){this.active=this.gos.get("pagination"),this.pageSizeFromGridOptions=this.gos.get("paginationPageSize"),this.paginateChildRows=this.isPaginateChildRows(),this.addManagedPropertyListener("pagination",this.onPaginationGridOptionChanged.bind(this)),this.addManagedPropertyListener("paginationPageSize",this.onPageSizeGridOptionChanged.bind(this))}getPaginationSelector(){return sc}isPaginateChildRows(){return!(!this.gos.get("groupRemoveSingleChildren")&&!this.gos.get("groupRemoveLowestSingleChildren"))||this.gos.get("paginateChildRows")}onPaginationGridOptionChanged(){this.active=this.gos.get("pagination"),this.calculatePages(),this.dispatchPaginationChangedEvent({keepRenderedRows:!0})}onPageSizeGridOptionChanged(){this.setPageSize(this.gos.get("paginationPageSize"),"gridOptions")}goToPage(e){this.active&&this.currentPage!==e&&"number"==typeof this.currentPage&&(this.currentPage=e,this.calculatePages(),this.dispatchPaginationChangedEvent({newPage:!0}))}isRowPresent(e){return e.rowIndex>=this.topDisplayedRowIndex&&e.rowIndex<=this.bottomDisplayedRowIndex}getPageForIndex(e){return Math.floor(e/this.pageSize)}goToPageWithIndex(e){if(!this.active)return;const t=this.getPageForIndex(e);this.goToPage(t)}isRowInPage(e){if(!this.active)return!0;return this.getPageForIndex(e.rowIndex)===this.currentPage}getCurrentPage(){return this.currentPage}goToNextPage(){this.goToPage(this.currentPage+1)}goToPreviousPage(){this.goToPage(this.currentPage-1)}goToFirstPage(){this.goToPage(0)}goToLastPage(){const e=this.rowModel.getRowCount(),t=Math.floor(e/this.pageSize);this.goToPage(t)}getPageSize(){return this.pageSize}getTotalPages(){return this.totalPages}setPage(e){this.currentPage=e}get pageSize(){return N(this.pageSizeAutoCalculated)?this.pageSizeAutoCalculated:N(this.pageSizeFromPageSizeSelector)?this.pageSizeFromPageSizeSelector:N(this.pageSizeFromInitialState)?this.pageSizeFromInitialState:N(this.pageSizeFromGridOptions)?this.pageSizeFromGridOptions:this.defaultPageSize}calculatePages(){this.active?this.paginateChildRows?this.calculatePagesAllRows():this.calculatePagesMasterRowsOnly():this.calculatedPagesNotActive(),this.pageBoundsService.calculateBounds(this.topDisplayedRowIndex,this.bottomDisplayedRowIndex)}unsetAutoCalculatedPageSize(){if(void 0===this.pageSizeAutoCalculated)return;const e=this.pageSizeAutoCalculated;this.pageSizeAutoCalculated=void 0,this.pageSize!==e&&(this.calculatePages(),this.dispatchPaginationChangedEvent({newPageSize:!0}))}setPageSize(e,t){const i=this.pageSize;switch(t){case"autoCalculated":this.pageSizeAutoCalculated=e;break;case"pageSizeSelector":this.pageSizeFromPageSizeSelector=e,0!==this.currentPage&&this.goToFirstPage();break;case"initialState":this.pageSizeFromInitialState=e;break;case"gridOptions":this.pageSizeFromGridOptions=e,this.pageSizeFromInitialState=void 0,this.pageSizeFromPageSizeSelector=void 0,0!==this.currentPage&&this.goToFirstPage()}i!==this.pageSize&&(this.calculatePages(),this.dispatchPaginationChangedEvent({newPageSize:!0,keepRenderedRows:!0}))}setZeroRows(){this.masterRowCount=0,this.topDisplayedRowIndex=0,this.bottomDisplayedRowIndex=-1,this.currentPage=0,this.totalPages=0}adjustCurrentPageIfInvalid(){this.currentPage>=this.totalPages&&(this.currentPage=this.totalPages-1),(!isFinite(this.currentPage)||isNaN(this.currentPage)||this.currentPage<0)&&(this.currentPage=0)}calculatePagesMasterRowsOnly(){if(this.masterRowCount=this.rowModel.getTopLevelRowCount(),this.masterRowCount<=0)return void this.setZeroRows();const e=this.masterRowCount-1;this.totalPages=Math.floor(e/this.pageSize)+1,this.adjustCurrentPageIfInvalid();const t=this.pageSize*this.currentPage;let i=this.pageSize*(this.currentPage+1)-1;if(i>e&&(i=e),this.topDisplayedRowIndex=this.rowModel.getTopLevelRowDisplayedIndex(t),i===e)this.bottomDisplayedRowIndex=this.rowModel.getRowCount()-1;else{const e=this.rowModel.getTopLevelRowDisplayedIndex(i+1);this.bottomDisplayedRowIndex=e-1}}getMasterRowCount(){return this.masterRowCount}calculatePagesAllRows(){if(this.masterRowCount=this.rowModel.getRowCount(),0===this.masterRowCount)return void this.setZeroRows();const e=this.masterRowCount-1;this.totalPages=Math.floor(e/this.pageSize)+1,this.adjustCurrentPageIfInvalid(),this.topDisplayedRowIndex=this.pageSize*this.currentPage,this.bottomDisplayedRowIndex=this.pageSize*(this.currentPage+1)-1,this.bottomDisplayedRowIndex>e&&(this.bottomDisplayedRowIndex=e)}calculatedPagesNotActive(){this.setPageSize(void 0,"autoCalculated"),this.totalPages=1,this.currentPage=0,this.topDisplayedRowIndex=0,this.bottomDisplayedRowIndex=this.rowModel.getRowCount()-1}dispatchPaginationChangedEvent(e){const{keepRenderedRows:t=!1,newPage:i=!1,newPageSize:a=!1}=e,n={type:"paginationChanged",animate:!1,newData:!1,newPage:i,newPageSize:a,keepRenderedRows:t};this.eventService.dispatchEvent(n)}},class extends F{constructor(){super(...arguments),this.beanName="paginationAutoPageSizeService"}wireBeans(e){this.ctrlsService=e.ctrlsService,this.paginationService=e.paginationService}postConstruct(){this.ctrlsService.whenReady((e=>{this.centerRowsCtrl=e.center;const t=this.checkPageSize.bind(this);this.addManagedEventListeners({bodyHeightChanged:t,scrollVisibilityChanged:t}),this.addManagedPropertyListener("paginationAutoPageSize",this.onPaginationAutoSizeChanged.bind(this)),this.checkPageSize()}))}notActive(){return!this.gos.get("paginationAutoPageSize")||null==this.centerRowsCtrl}onPaginationAutoSizeChanged(){this.notActive()?this.paginationService.unsetAutoCalculatedPageSize():this.checkPageSize()}checkPageSize(){if(this.notActive())return;const e=this.centerRowsCtrl.getViewportSizeFeature().getBodyHeight();if(e>0){const t=()=>{const t=Math.max(this.gos.getRowHeightAsNumber(),1),i=Math.floor(e/t);this.paginationService.setPageSize(i,"autoCalculated")};this.isBodyRendered?ve((()=>t()),50)():(t(),this.isBodyRendered=!0)}else this.isBodyRendered=!1}}]},cc={version:dr,moduleName:"@ag-grid-community/pagination",dependantModules:[lc,{version:dr,moduleName:"@ag-grid-community/pagination-api",dependantModules:[lc],apiFunctions:{paginationIsLastPageFound:function(e){return e.rowModel.isLastRowIndexKnown()},paginationGetPageSize:function(e){return e.paginationService?.getPageSize()??100},paginationGetCurrentPage:function(e){return e.paginationService?.getCurrentPage()??0},paginationGetTotalPages:function(e){return e.paginationService?.getTotalPages()??1},paginationGetRowCount:function(e){return e.paginationService?e.paginationService.getMasterRowCount():e.rowModel.getRowCount()},paginationGoToNextPage:function(e){e.paginationService?.goToNextPage()},paginationGoToPreviousPage:function(e){e.paginationService?.goToPreviousPage()},paginationGoToFirstPage:function(e){e.paginationService?.goToFirstPage()},paginationGoToLastPage:function(e){e.paginationService?.goToLastPage()},paginationGoToPage:function(e,t){e.paginationService?.goToPage(t)}}}]},dc="@ag-grid-community/core",hc="@ag-grid-community/client-side-row-model",uc="@ag-grid-community/csv-export",gc="@ag-grid-community/infinite-row-model",pc="@ag-grid-enterprise/advanced-filter",mc="@ag-grid-enterprise/charts",fc="@ag-grid-enterprise/clipboard",vc="@ag-grid-enterprise/excel-export",yc="@ag-grid-enterprise/master-detail",bc="@ag-grid-enterprise/menu",Cc="@ag-grid-enterprise/range-selection",wc="@ag-grid-enterprise/row-grouping",Sc="@ag-grid-enterprise/server-side-row-model",xc="@ag-grid-enterprise/side-bar",kc={dispatchEvent:dc,getState:dc,getGridId:dc,destroy:dc,isDestroyed:dc,getGridOption:dc,setGridOption:dc,updateGridOptions:dc,setNodesSelected:dc,selectAll:dc,deselectAll:dc,selectAllFiltered:dc,deselectAllFiltered:dc,selectAllOnCurrentPage:dc,deselectAllOnCurrentPage:dc,getSelectedNodes:dc,getSelectedRows:dc,redrawRows:dc,setRowNodeExpanded:dc,getRowNode:dc,addRenderedRowListener:dc,getRenderedNodes:dc,forEachNode:dc,getFirstDisplayedRow:dc,getFirstDisplayedRowIndex:dc,getLastDisplayedRow:dc,getLastDisplayedRowIndex:dc,getDisplayedRowAtIndex:dc,getDisplayedRowCount:dc,getModel:dc,getVerticalPixelRange:dc,getHorizontalPixelRange:dc,ensureColumnVisible:dc,ensureIndexVisible:dc,ensureNodeVisible:dc,getFocusedCell:dc,clearFocusedCell:dc,setFocusedCell:dc,tabToNextCell:dc,tabToPreviousCell:dc,setFocusedHeader:dc,addEventListener:dc,addGlobalListener:dc,removeEventListener:dc,removeGlobalListener:dc,expireValueCache:dc,getValue:dc,getCellValue:dc,showColumnMenuAfterButtonClick:dc,showColumnMenuAfterMouseClick:dc,showColumnMenu:dc,hidePopupMenu:dc,onSortChanged:dc,getPinnedTopRowCount:dc,getPinnedBottomRowCount:dc,getPinnedTopRow:dc,getPinnedBottomRow:dc,showLoadingOverlay:dc,showNoRowsOverlay:dc,hideOverlay:dc,setGridAriaProperty:dc,refreshCells:dc,flashCells:dc,refreshHeader:dc,isAnimationFrameQueueEmpty:dc,flushAllAnimationFrames:dc,getSizesForCurrentTheme:dc,getCellRendererInstances:dc,addRowDropZone:dc,removeRowDropZone:dc,getRowDropZoneParams:dc,getColumnDef:dc,getColumnDefs:dc,sizeColumnsToFit:dc,setColumnGroupOpened:dc,getColumnGroup:dc,getProvidedColumnGroup:dc,getDisplayNameForColumn:dc,getDisplayNameForColumnGroup:dc,getColumn:dc,getColumns:dc,applyColumnState:dc,getColumnState:dc,resetColumnState:dc,getColumnGroupState:dc,setColumnGroupState:dc,resetColumnGroupState:dc,isPinning:dc,isPinningLeft:dc,isPinningRight:dc,getDisplayedColAfter:dc,getDisplayedColBefore:dc,setColumnVisible:dc,setColumnsVisible:dc,setColumnPinned:dc,setColumnsPinned:dc,getAllGridColumns:dc,getDisplayedLeftColumns:dc,getDisplayedCenterColumns:dc,getDisplayedRightColumns:dc,getAllDisplayedColumns:dc,getAllDisplayedVirtualColumns:dc,moveColumn:dc,moveColumnByIndex:dc,moveColumns:dc,setColumnWidth:dc,setColumnWidths:dc,getLeftDisplayedColumnGroups:dc,getCenterDisplayedColumnGroups:dc,getRightDisplayedColumnGroups:dc,getAllDisplayedColumnGroups:dc,autoSizeColumn:dc,autoSizeColumns:dc,autoSizeAllColumns:dc,undoCellEditing:dc,redoCellEditing:dc,getCellEditorInstances:dc,getEditingCells:dc,stopEditing:dc,startEditingCell:dc,getCurrentUndoSize:dc,getCurrentRedoSize:dc,isAnyFilterPresent:dc,onFilterChanged:dc,isColumnFilterPresent:dc,getFilterInstance:dc,getColumnFilterInstance:dc,destroyFilter:dc,setFilterModel:dc,getFilterModel:dc,getColumnFilterModel:dc,setColumnFilterModel:dc,showColumnFilter:dc,isQuickFilterPresent:dc,getQuickFilter:dc,resetQuickFilter:dc,paginationIsLastPageFound:dc,paginationGetPageSize:dc,paginationGetCurrentPage:dc,paginationGetTotalPages:dc,paginationGetRowCount:dc,paginationGoToNextPage:dc,paginationGoToPreviousPage:dc,paginationGoToFirstPage:dc,paginationGoToLastPage:dc,paginationGoToPage:dc,expandAll:dc,collapseAll:dc,onRowHeightChanged:dc,setRowCount:dc,getCacheBlockState:dc,onGroupExpandedOrCollapsed:hc,refreshClientSideRowModel:hc,forEachLeafNode:hc,forEachNodeAfterFilter:hc,forEachNodeAfterFilterAndSort:hc,resetRowHeights:hc,applyTransaction:hc,applyTransactionAsync:hc,flushAsyncTransactions:hc,getBestCostNodeSelection:hc,getDataAsCsv:uc,exportDataAsCsv:uc,refreshInfiniteCache:gc,purgeInfiniteCache:gc,getInfiniteRowCount:gc,isLastRowIndexKnown:gc,getAdvancedFilterModel:pc,setAdvancedFilterModel:pc,showAdvancedFilterBuilder:pc,hideAdvancedFilterBuilder:pc,getChartModels:mc,getChartRef:mc,getChartImageDataURL:mc,downloadChart:mc,openChartToolPanel:mc,closeChartToolPanel:mc,createRangeChart:mc,createPivotChart:mc,createCrossFilterChart:mc,updateChart:mc,restoreChart:mc,copyToClipboard:fc,cutToClipboard:fc,copySelectedRowsToClipboard:fc,copySelectedRangeToClipboard:fc,copySelectedRangeDown:fc,pasteFromClipboard:fc,getDataAsExcel:vc,exportDataAsExcel:vc,getSheetDataForExcel:vc,getMultipleSheetsAsExcel:vc,exportMultipleSheetsAsExcel:vc,addDetailGridInfo:yc,removeDetailGridInfo:yc,getDetailGridInfo:yc,forEachDetailGridInfo:yc,showContextMenu:bc,showColumnChooser:bc,hideColumnChooser:bc,getCellRanges:Cc,addCellRange:Cc,clearRangeSelection:Cc,addAggFunc:wc,addAggFuncs:wc,clearAggFuncs:wc,setColumnAggFunc:wc,isPivotMode:wc,getPivotResultColumn:wc,setValueColumns:wc,getValueColumns:wc,removeValueColumn:wc,removeValueColumns:wc,addValueColumn:wc,addValueColumns:wc,setRowGroupColumns:wc,removeRowGroupColumn:wc,removeRowGroupColumns:wc,addRowGroupColumn:wc,addRowGroupColumns:wc,getRowGroupColumns:wc,moveRowGroupColumn:wc,setPivotColumns:wc,removePivotColumn:wc,removePivotColumns:wc,addPivotColumn:wc,addPivotColumns:wc,getPivotColumns:wc,setPivotResultColumns:wc,getPivotResultColumns:wc,getServerSideSelectionState:Sc,setServerSideSelectionState:Sc,applyServerSideTransaction:Sc,applyServerSideTransactionAsync:Sc,applyServerSideRowData:Sc,retryServerSideLoads:Sc,flushServerSideAsyncTransactions:Sc,refreshServerSide:Sc,getServerSideGroupLevelState:Sc,isSideBarVisible:xc,setSideBarVisible:xc,setSideBarPosition:xc,openToolPanel:xc,closeToolPanel:xc,getOpenedToolPanel:xc,refreshToolPanel:xc,isToolPanelShowing:xc,getToolPanelInstance:xc,getSideBar:xc,getStatusPanel:"@ag-grid-enterprise/status-bar"},Mc="clientSide",Rc="serverSide",Dc="infinite",Ac={onGroupExpandedOrCollapsed:[Mc],refreshClientSideRowModel:[Mc],forEachLeafNode:[Mc],forEachNodeAfterFilter:[Mc],forEachNodeAfterFilterAndSort:[Mc],resetRowHeights:[Mc],applyTransaction:[Mc],applyTransactionAsync:[Mc],flushAsyncTransactions:[Mc],getBestCostNodeSelection:[Mc],getServerSideSelectionState:[Rc],setServerSideSelectionState:[Rc],applyServerSideTransaction:[Rc],applyServerSideTransactionAsync:[Rc],applyServerSideRowData:[Rc],retryServerSideLoads:[Rc],flushServerSideAsyncTransactions:[Rc],refreshServerSide:[Rc],getServerSideGroupLevelState:[Rc],refreshInfiniteCache:[Dc],purgeInfiniteCache:[Dc],getInfiniteRowCount:[Dc],isLastRowIndexKnown:[Dc],expandAll:[Mc,Rc],collapseAll:[Mc,Rc],onRowHeightChanged:[Mc,Rc],setRowCount:[Dc,Rc],getCacheBlockState:[Dc,Rc]},Ec={getValue:{version:"v31.3",new:"getCellValue"},getFirstDisplayedRow:{version:"v31.1",new:"getFirstDisplayedRowIndex"},getLastDisplayedRow:{version:"v31.1",new:"getLastDisplayedRowIndex"},getModel:{version:"v31.1",message:"Please use the appropriate grid API methods instead."},setColumnVisible:{version:"v31.1",old:"setColumnVisible(key,visible)",new:"setColumnsVisible([key],visible)"},setColumnPinned:{version:"v31.1",old:"setColumnPinned(key,pinned)",new:"setColumnsPinned([key],pinned)"},moveColumn:{version:"v31.1",old:"moveColumn(key, toIndex)",new:"moveColumns([key], toIndex)"},setColumnWidth:{version:"v31.1",old:"setColumnWidth(col, width)",new:"setColumnWidths([{key: col, newWidth: width}])"},autoSizeColumn:{version:"v31.1",old:"autoSizeColumn(key, skipHeader)",new:"autoSizeColumns([key], skipHeader)"},addAggFunc:{version:"v31.1",old:"addAggFunc(key, func)",new:"addAggFuncs({ key: func })"},removeValueColumn:{version:"v31.1",old:"removeValueColumn(colKey)",new:"removeValueColumns([colKey])"},addValueColumn:{version:"v31.1",old:"addValueColumn(colKey)",new:"addValueColumns([colKey])"},removeRowGroupColumn:{version:"v31.1",old:"removeRowGroupColumn(colKey)",new:"removeRowGroupColumns([colKey])"},addRowGroupColumn:{version:"v31.1",old:"addRowGroupColumn(colKey)",new:"addRowGroupColumns([colKey])"},removePivotColumn:{version:"v31.1",old:"removePivotColumn(colKey)",new:"removePivotColumns([colKey])"},addPivotColumn:{version:"v31.1",old:"addPivotColumn(colKey)",new:"addPivotColumns([colKey])"},showColumnMenuAfterButtonClick:{version:"v31.1",message:"Use 'IHeaderParams.showColumnMenu' within a header component, or 'api.showColumnMenu' elsewhere."},showColumnMenuAfterMouseClick:{version:"v31.1",message:"Use 'IHeaderParams.showColumnMenuAfterMouseClick' within a header component, or 'api.showColumnMenu' elsewhere."},getFilterInstance:{version:"v31.1",message:"'getFilterInstance' is deprecated. To get/set individual filter models, use 'getColumnFilterModel' or 'setColumnFilterModel' instead. To get hold of the filter instance, use 'getColumnFilterInstance' which returns the instance asynchronously."},showLoadingOverlay:{version:"v32",message:'`showLoadingOverlay` is deprecated. Use the grid option "loading"=true instead or setGridOption("loading", true).'}};var Tc=(e,t)=>"clientSide"===(t.rowModelType??"clientSide")?{module:"@ag-grid-enterprise/row-grouping"}:null,Pc={enableRowGroup:Tc,rowGroup:Tc,rowGroupIndex:Tc,enablePivot:Tc,enableValue:Tc,pivot:Tc,pivotIndex:Tc,aggFunc:Tc,cellEditor:e=>"agRichSelect"===e.cellEditor||"agRichSelectCellEditor"===e.cellEditor?{module:"@ag-grid-enterprise/rich-select"}:null,menuTabs:e=>{const t=["columnsMenuTab","generalMenuTab"];return e.menuTabs?.some((e=>t.includes(e)))?{module:"@ag-grid-enterprise/menu"}:null},columnsMenuParams:{module:["@ag-grid-enterprise/menu","@ag-grid-enterprise/column-tool-panel"]},columnChooserParams:{module:["@ag-grid-enterprise/menu","@ag-grid-enterprise/column-tool-panel"]},headerCheckboxSelection:{supportedRowModels:["clientSide","serverSide"],dependencies:(e,{rowSelection:t})=>"multiple"===t?null:"headerCheckboxSelection is only supported with rowSelection=multiple"},headerCheckboxSelectionFilteredOnly:{supportedRowModels:["clientSide"],dependencies:(e,{rowSelection:t})=>"multiple"===t?null:"headerCheckboxSelectionFilteredOnly is only supported with rowSelection=multiple"},headerCheckboxSelectionCurrentPageOnly:{supportedRowModels:["clientSide"],dependencies:(e,{rowSelection:t})=>"multiple"===t?null:"headerCheckboxSelectionCurrentPageOnly is only supported with rowSelection=multiple"},children:()=>Fc},Fc={objectName:"colDef",allProperties:Object.keys({headerName:void 0,columnGroupShow:void 0,headerClass:void 0,toolPanelClass:void 0,headerValueGetter:void 0,pivotKeys:void 0,groupId:void 0,colId:void 0,sort:void 0,initialSort:void 0,field:void 0,type:void 0,cellDataType:void 0,tooltipComponent:void 0,tooltipField:void 0,headerTooltip:void 0,cellClass:void 0,showRowGroup:void 0,filter:void 0,initialAggFunc:void 0,defaultAggFunc:void 0,aggFunc:void 0,pinned:void 0,initialPinned:void 0,chartDataType:void 0,cellAriaRole:void 0,cellEditorPopupPosition:void 0,headerGroupComponent:void 0,headerGroupComponentParams:void 0,cellStyle:void 0,cellRenderer:void 0,cellRendererParams:void 0,cellEditor:void 0,cellEditorParams:void 0,filterParams:void 0,pivotValueColumn:void 0,headerComponent:void 0,headerComponentParams:void 0,floatingFilterComponent:void 0,floatingFilterComponentParams:void 0,tooltipComponentParams:void 0,refData:void 0,columnsMenuParams:void 0,columnChooserParams:void 0,children:void 0,sortingOrder:void 0,allowedAggFuncs:void 0,menuTabs:void 0,pivotTotalColumnIds:void 0,cellClassRules:void 0,icons:void 0,sortIndex:void 0,initialSortIndex:void 0,flex:void 0,initialFlex:void 0,width:void 0,initialWidth:void 0,minWidth:void 0,maxWidth:void 0,rowGroupIndex:void 0,initialRowGroupIndex:void 0,pivotIndex:void 0,initialPivotIndex:void 0,suppressCellFlash:void 0,suppressColumnsToolPanel:void 0,suppressFiltersToolPanel:void 0,openByDefault:void 0,marryChildren:void 0,suppressStickyLabel:void 0,hide:void 0,initialHide:void 0,rowGroup:void 0,initialRowGroup:void 0,pivot:void 0,initialPivot:void 0,checkboxSelection:void 0,showDisabledCheckboxes:void 0,headerCheckboxSelection:void 0,headerCheckboxSelectionFilteredOnly:void 0,headerCheckboxSelectionCurrentPageOnly:void 0,suppressMenu:void 0,suppressHeaderMenuButton:void 0,suppressMovable:void 0,lockPosition:void 0,lockVisible:void 0,lockPinned:void 0,unSortIcon:void 0,suppressSizeToFit:void 0,suppressAutoSize:void 0,enableRowGroup:void 0,enablePivot:void 0,enableValue:void 0,editable:void 0,suppressPaste:void 0,suppressNavigable:void 0,enableCellChangeFlash:void 0,rowDrag:void 0,dndSource:void 0,autoHeight:void 0,wrapText:void 0,sortable:void 0,resizable:void 0,singleClickEdit:void 0,floatingFilter:void 0,cellEditorPopup:void 0,suppressFillHandle:void 0,wrapHeaderText:void 0,autoHeaderHeight:void 0,dndSourceOnRowDrag:void 0,valueGetter:void 0,valueSetter:void 0,filterValueGetter:void 0,keyCreator:void 0,valueFormatter:void 0,valueParser:void 0,comparator:void 0,equals:void 0,pivotComparator:void 0,suppressKeyboardEvent:void 0,suppressHeaderKeyboardEvent:void 0,colSpan:void 0,rowSpan:void 0,getQuickFilterText:void 0,onCellValueChanged:void 0,onCellClicked:void 0,onCellDoubleClicked:void 0,onCellContextMenu:void 0,rowDragText:void 0,tooltipValueGetter:void 0,cellRendererSelector:void 0,cellEditorSelector:void 0,suppressSpanHeaderHeight:void 0,useValueFormatterForExport:void 0,useValueParserForImport:void 0,mainMenuItems:void 0,contextMenuItems:void 0,suppressFloatingFilterButton:void 0,suppressHeaderFilterButton:void 0,suppressHeaderContextMenu:void 0,loadingCellRenderer:void 0,loadingCellRendererParams:void 0,loadingCellRendererSelector:void 0,context:void 0}),docsUrl:"column-properties/",deprecations:{columnsMenuParams:{version:"31.1",message:"Use `columnChooserParams` instead."},suppressMenu:{version:"31.1",message:"Use `suppressHeaderMenuButton` instead."},suppressCellFlash:{version:"31.2",message:"Use `enableCellChangeFlash={false}` in the ColDef"}},validations:Pc},Ic={suppressContextMenu:!1,preventDefaultOnContextMenu:!1,allowContextMenuWithControlKey:!1,suppressMenuHide:!0,enableBrowserTooltips:!1,tooltipTrigger:"hover",tooltipShowDelay:2e3,tooltipHideDelay:1e4,tooltipMouseTrack:!1,tooltipShowMode:"standard",tooltipInteraction:!1,copyHeadersToClipboard:!1,copyGroupHeadersToClipboard:!1,clipboardDelimiter:"\t",suppressCopyRowsToClipboard:!1,suppressCopySingleCellRanges:!1,suppressLastEmptyLineOnPaste:!1,suppressClipboardPaste:!1,suppressClipboardApi:!1,suppressCutToClipboard:!1,maintainColumnOrder:!1,suppressFieldDotNotation:!1,allowDragFromColumnsToolPanel:!1,suppressMovableColumns:!1,suppressColumnMoveAnimation:!1,suppressDragLeaveHidesColumns:!1,suppressRowGroupHidesColumns:!1,suppressAutoSize:!1,autoSizePadding:20,skipHeaderOnAutoSize:!1,singleClickEdit:!1,suppressClickEdit:!1,readOnlyEdit:!1,stopEditingWhenCellsLoseFocus:!1,enterNavigatesVertically:!1,enterNavigatesVerticallyAfterEdit:!1,enableCellEditingOnBackspace:!1,undoRedoCellEditing:!1,undoRedoCellEditingLimit:10,suppressCsvExport:!1,suppressExcelExport:!1,cacheQuickFilter:!1,includeHiddenColumnsInQuickFilter:!1,excludeChildrenWhenTreeDataFiltering:!1,enableAdvancedFilter:!1,includeHiddenColumnsInAdvancedFilter:!1,enableCharts:!1,masterDetail:!1,keepDetailRows:!1,keepDetailRowsCount:10,detailRowAutoHeight:!1,tabIndex:0,rowBuffer:10,valueCache:!1,valueCacheNeverExpires:!1,enableCellExpressions:!1,suppressTouch:!1,suppressFocusAfterRefresh:!1,suppressAsyncEvents:!1,suppressBrowserResizeObserver:!1,suppressPropertyNamesCheck:!1,suppressChangeDetection:!1,debug:!1,suppressLoadingOverlay:!1,suppressNoRowsOverlay:!1,pagination:!1,paginationPageSize:100,paginationPageSizeSelector:!0,paginationAutoPageSize:!1,paginateChildRows:!1,suppressPaginationPanel:!1,pivotMode:!1,pivotPanelShow:"never",pivotDefaultExpanded:0,pivotSuppressAutoColumn:!1,suppressExpandablePivotGroups:!1,functionsReadOnly:!1,suppressAggFuncInHeader:!1,alwaysAggregateAtRootLevel:!1,aggregateOnlyChangedColumns:!1,suppressAggFilteredOnly:!1,removePivotHeaderRowWhenSingleValueColumn:!1,animateRows:!0,enableCellChangeFlash:!1,cellFlashDelay:500,cellFlashDuration:500,cellFadeDelay:1e3,cellFadeDuration:1e3,allowShowChangeAfterFilter:!1,domLayout:"normal",ensureDomOrder:!1,enableRtl:!1,suppressColumnVirtualisation:!1,suppressMaxRenderedRowRestriction:!1,suppressRowVirtualisation:!1,rowDragManaged:!1,suppressRowDrag:!1,suppressMoveWhenRowDragging:!1,rowDragEntireRow:!1,rowDragMultiRow:!1,embedFullWidthRows:!1,groupDisplayType:"singleColumn",groupDefaultExpanded:0,groupMaintainOrder:!1,groupSelectsChildren:!1,groupIncludeTotalFooter:!1,groupSuppressBlankHeader:!1,groupSelectsFiltered:!1,showOpenedGroup:!1,groupRemoveSingleChildren:!1,groupRemoveLowestSingleChildren:!1,groupHideOpenParents:!1,groupAllowUnbalanced:!1,rowGroupPanelShow:"never",suppressMakeColumnVisibleAfterUnGroup:!1,treeData:!1,rowGroupPanelSuppressSort:!1,suppressGroupRowsSticky:!1,rowModelType:"clientSide",asyncTransactionWaitMillis:50,suppressModelUpdateAfterUpdateTransaction:!1,cacheOverflowSize:1,infiniteInitialRowCount:1,serverSideInitialRowCount:1,suppressServerSideInfiniteScroll:!1,cacheBlockSize:100,maxBlocksInCache:-1,maxConcurrentDatasourceRequests:2,blockLoadDebounceMillis:0,purgeClosedRowNodes:!1,serverSideSortAllLevels:!1,serverSideOnlyRefreshFilteredGroups:!1,serverSideSortOnServer:!1,serverSideFilterOnServer:!1,serverSidePivotResultFieldSeparator:"_",viewportRowModelPageSize:5,viewportRowModelBufferSize:5,alwaysShowHorizontalScroll:!1,alwaysShowVerticalScroll:!1,debounceVerticalScrollbar:!1,suppressHorizontalScroll:!1,suppressScrollOnNewData:!1,suppressScrollWhenPopupsAreOpen:!1,suppressAnimationFrame:!1,suppressMiddleClickScrolls:!1,suppressPreventDefaultOnMouseWheel:!1,rowMultiSelectWithClick:!1,suppressRowDeselection:!1,suppressRowClickSelection:!1,suppressCellFocus:!1,suppressHeaderFocus:!1,suppressMultiRangeSelection:!1,enableCellTextSelection:!1,enableRangeSelection:!1,enableRangeHandle:!1,enableFillHandle:!1,fillHandleDirection:"xy",suppressClearOnFillReduction:!1,accentedSort:!1,unSortIcon:!1,suppressMultiSort:!1,alwaysMultiSort:!1,suppressMaintainUnsortedOrder:!1,suppressRowHoverHighlight:!1,suppressRowTransform:!1,columnHoverHighlight:!1,deltaSort:!1,enableGroupEdit:!1,suppressGroupMaintainValueType:!1,groupLockGroupColumns:0,serverSideEnableClientSideSort:!1,suppressServerSideFullWidthLoadingRow:!1,pivotMaxGeneratedColumns:-1,columnMenu:"new",reactiveCustomComponents:!0},Lc={version:dr,moduleName:"@ag-grid-community/core"},Nc={version:dr,moduleName:"@ag-grid-community/core-validations",beans:[class extends F{constructor(){super(...arguments),this.beanName="validationService"}wireBeans(e){this.beans=e,this.gridOptions=e.gridOptions}postConstruct(){this.processGridOptions(this.gridOptions)}processGridOptions(e){this.processOptions(e,{objectName:"gridOptions",allProperties:[...at.ALL_PROPERTIES,...rt.EVENT_CALLBACKS],propertyExceptions:["api"],docsUrl:"grid-options/",deprecations:{advancedFilterModel:{version:"31",message:"Use `initialState.filter.advancedFilterModel` instead."},suppressAsyncEvents:{version:"31",message:"Events should be handled asynchronously."},cellFadeDelay:{version:"31.1",renamed:"cellFadeDuration"},cellFlashDelay:{version:"31.1",renamed:"cellFlashDuration"},suppressServerSideInfiniteScroll:{version:"31.1"},serverSideSortOnServer:{version:"31.1"},serverSideFilterOnServer:{version:"31.1"},enableCellChangeFlash:{version:"31.2",message:"Use `enableCellChangeFlash` in the `ColDef` or `defaultColDef` for all columns."},groupIncludeFooter:{version:"31.3",message:"Use `groupTotalRow` instead."},groupIncludeTotalFooter:{version:"31.3",message:"Use `grandTotalRow` instead."},suppressLoadingOverlay:{version:"32",message:"Use `loading`=false instead."}},validations:{sideBar:{module:"@ag-grid-enterprise/side-bar"},statusBar:{module:"@ag-grid-enterprise/status-bar"},enableCharts:{module:"@ag-grid-enterprise/charts"},getMainMenuItems:{module:"@ag-grid-enterprise/menu"},getContextMenuItems:{module:"@ag-grid-enterprise/menu"},allowContextMenuWithControlKey:{module:"@ag-grid-enterprise/menu"},enableAdvancedFilter:{module:"@ag-grid-enterprise/advanced-filter"},treeData:{supportedRowModels:["clientSide","serverSide"],module:"@ag-grid-enterprise/row-grouping",dependencies:e=>{const t=e.rowModelType??"clientSide";switch(t){case"clientSide":{const i=`treeData requires 'getDataPath' in the ${t} row model.`;return e.getDataPath?null:i}case"serverSide":{const i=`treeData requires 'isServerSideGroup' and 'getServerSideGroupKey' in the ${t} row model.`;return e.isServerSideGroup&&e.getServerSideGroupKey?null:i}}return null}},masterDetail:{module:"@ag-grid-enterprise/master-detail"},enableRangeSelection:{module:"@ag-grid-enterprise/range-selection"},enableRangeHandle:{dependencies:{enableRangeSelection:[!0]}},enableFillHandle:{dependencies:{enableRangeSelection:[!0]}},groupDefaultExpanded:{supportedRowModels:["clientSide"]},groupIncludeFooter:{supportedRowModels:["clientSide","serverSide"],dependencies:e=>{switch(e.rowModelType??"clientSide"){case"clientSide":return null;case"serverSide":{const t="groupIncludeFooter is not supported alongside suppressServerSideInfiniteScroll";return e.suppressServerSideInfiniteScroll?t:null}}return null}},groupHideOpenParents:{supportedRowModels:["clientSide"],dependencies:{groupTotalRow:[void 0,"bottom"]}},groupIncludeTotalFooter:{supportedRowModels:["clientSide"]},groupRemoveSingleChildren:{dependencies:{groupHideOpenParents:[void 0,!1],groupRemoveLowestSingleChildren:[void 0,!1]}},groupRemoveLowestSingleChildren:{dependencies:{groupHideOpenParents:[void 0,!1],groupRemoveSingleChildren:[void 0,!1]}},groupSelectsChildren:{dependencies:{rowSelection:["multiple"]}},viewportDatasource:{supportedRowModels:["viewport"],module:"@ag-grid-enterprise/viewport-row-model"},serverSideDatasource:{supportedRowModels:["serverSide"],module:"@ag-grid-enterprise/server-side-row-model"},cacheBlockSize:{supportedRowModels:["serverSide","infinite"]},datasource:{supportedRowModels:["infinite"],module:"@ag-grid-community/infinite-row-model"},rowData:{supportedRowModels:["clientSide"],module:"@ag-grid-community/client-side-row-model"},columnDefs:()=>Fc,defaultColDef:()=>Fc,defaultColGroupDef:()=>Fc,autoGroupColumnDef:()=>Fc}})}processColumnDefs(e){this.processOptions(e,Fc)}warnMissingApiFunction(e){!function(e,t){const i=kc[e];i?Ji.__assertRegistered(i,`api.${e}`,t)&&de(`API function '${e}' not registered to module '${i}'`):he(`Unknown API function: '${e}' on GridApi.`)}(e,this.gridId)}validateApiFunction(e,t){return function(e,t,i){const a=Ec[e];if(a){const{version:i,new:n,old:r,message:o}=a,s=r??e;return(...e)=>(de(`Since ${i} api.${s} is deprecated. ${n?`Please use ${n} instead. `:""}${o??""}`),t.apply(t,e))}const n=Ac[e];return n?(...a)=>{const r=i.rowModel.getType();if(n.includes(r))return t.apply(t,a);he(`api.${e} can only be called when gridOptions.rowModelType is ${n.join(" or ")}`)}:t}(e,t,this.beans)}processOptions(e,t){const{validations:i,deprecations:a,allProperties:n,propertyExceptions:r,objectName:o,docsUrl:s}=t;n&&!0!==this.gridOptions.suppressPropertyNamesCheck&&this.checkProperties(e,[...r??[],...Object.keys(a)],n,o,s);const l=new Set;Object.keys(e).forEach((t=>{const n=a[t];if(n)if("renamed"in n){const{renamed:i,version:a}=n;l.add(`As of v${a}, ${String(t)} is deprecated. Please use ${String(i)} instead.`),e[i]=e[t]}else{const{message:e,version:i}=n;l.add(`As of v${i}, ${String(t)} is deprecated. ${e??""}`)}const r=e[t];if(null==r||!1===r)return;const o=i[t];let s;if(!o)return;if("function"==typeof o){const i=o(e,this.gridOptions);if(!i)return;if("objectName"in i){const a=e[t];return Array.isArray(a)?void a.forEach((e=>{this.processOptions(e,i)})):void this.processOptions(e[t],i)}s=i}else s=o;const{module:c,dependencies:d,supportedRowModels:h}=s;if(h){const e=this.gridOptions.rowModelType??"clientSide";if(!h.includes(e))return void l.add(`${String(t)} is not supported with the '${e}' row model.`)}if(c){const e=Array.isArray(c)?c:[c];let i=!0;if(e.forEach((e=>{Ji.__assertRegistered(e,String(t),this.gridId)||(i=!1,l.add(`${String(t)} is only available when ${e} is loaded.`))})),!i)return}if(d){const i=this.checkForWarning(t,d,e);if(i)return void l.add(i)}})),l.size>0&&l.forEach((e=>{de(e)}))}checkForWarning(e,t,i){if("function"==typeof t)return t(i,this.gridOptions);const a=Object.entries(t).find((([e,t])=>{const a=i[e];return!t.includes(a)}));if(!a)return null;const[n,r]=a;return r.length>1?`'${String(e)}' requires '${n}' to be one of [${r.join(", ")}].`:`'${String(e)}' requires '${n}' to be ${r[0]}.`}checkProperties(e,t,i,a,n){const r=function(e,t,i){const a={},n=e.filter((e=>!t.some((t=>t===e))));return n.length>0&&n.forEach((e=>a[e]=fa(e,i).values)),a}(Object.getOwnPropertyNames(e),["__ob__","__v_skip","__metadata__",...t,...i],i);if(K(r,((e,t)=>{let n=`invalid ${a} property '${e}' did you mean any of these: ${t.slice(0,8).join(", ")}.`;i.includes("context")&&(n+=`\nIf you are trying to annotate ${a} with application data, use the '${a}.context' property instead.`),de(n)})),Object.keys(r).length>0&&n){const e=this.getFrameworkOverrides().getDocLink(n);de(`to see all the valid ${a} properties please check: ${e}`)}}}]},Oc={version:dr,moduleName:"@ag-grid-community/core-community-features",dependantModules:[Lc,Nc,Ks,Rr,nc,Zl,Kl,cc,ic]},zc=class extends F{constructor(){super(...arguments),this.beanName="gridDestroyService",this.destroyCalled=!1}wireBeans(e){this.beans=e}destroy(){if(this.destroyCalled)return;const e={type:"gridPreDestroyed",state:this.beans.stateService?.getState()??{}};this.eventService.dispatchEvent(e),this.destroyCalled=!0,this.beans.ctrlsService.get("gridCtrl")?.destroyGridUi(),this.beans.context.destroy(),super.destroy()}isDestroyCalled(){return this.destroyCalled}},Gc=new Set(["gridPreDestroyed","fillStart","pasteStart"]),Bc=e=>"checkboxSelected"===e||"rowClicked"===e||"spaceKey"===e||"uiSelectAll"===e||"uiSelectAllCurrentPage"===e||"uiSelectAllFiltered"===e,Vc=new Map([...at.BOOLEAN_PROPERTIES.map((e=>[e,H])),...at.NUMBER_PROPERTIES.map((e=>[e,Vn])),["groupAggFiltering",e=>"function"==typeof e?e:H(e)],["pageSize",Hn(1)],["autoSizePadding",Hn(0)],["keepDetailRowsCount",Hn(1)],["rowBuffer",Hn(0)],["infiniteInitialRowCount",Hn(1)],["cacheOverflowSize",Hn(1)],["cacheBlockSize",Hn(1)],["serverSideInitialRowCount",Hn(1)],["viewportRowModelPageSize",Hn(1)],["viewportRowModelBufferSize",Hn(0)]]);function Hc(e,t){const i=Vc.get(e);return i?i(t):t}var Wc=class e extends F{constructor(){super(...arguments),this.beanName="gos",this.domDataKey="__AG_"+Math.random().toString(),this.propertyEventService=new c,this.globalEventHandlerFactory=e=>(t,i)=>{if(!this.isAlive())return;const a=Gc.has(t);if(a&&!e||!a&&e)return;const n=rt.getCallbackForEvent(t),r=this.gridOptions[n];"function"==typeof r&&this.frameworkOverrides.wrapOutgoing((()=>{r(i)}))}}wireBeans(e){this.gridOptions=e.gridOptions,this.eGridDiv=e.eGridDiv,this.validationService=e.validationService,this.environment=e.environment,this.api=e.gridApi}get gridOptionsContext(){return this.gridOptions.context}postConstruct(){const e=!this.get("suppressAsyncEvents");this.eventService.addGlobalListener(this.globalEventHandlerFactory().bind(this),e),this.eventService.addGlobalListener(this.globalEventHandlerFactory(!0).bind(this),!1),this.propertyEventService.setFrameworkOverrides(this.frameworkOverrides),this.getScrollbarWidth(),this.addManagedEventListeners({gridOptionsChanged:({options:e})=>{this.updateGridOptions({options:e,force:!0,source:"gridOptionsUpdated"})}})}get(e){return this.gridOptions[e]??Ic[e]}getCallback(e){return this.mergeGridCommonParams(this.gridOptions[e])}exists(e){return N(this.gridOptions[e])}mergeGridCommonParams(e){if(e){return t=>{const i=t;return i.api=this.api,i.context=this.gridOptionsContext,e(i)}}return e}updateGridOptions({options:t,force:i,source:a="api"}){const n={id:e.changeSetId++,properties:[]},r=[];Object.entries(t).forEach((([e,t])=>{"api"===a&&tt[e]&&de(`${e} is an initial property and cannot be updated.`);const o=Hc(e,t),s=i||"object"==typeof o&&"api"===a,l=this.gridOptions[e];if(s||l!==o){this.gridOptions[e]=o;const t={type:e,currentValue:o,previousValue:l,changeSet:n,source:a};r.push(t)}})),this.validationService?.processGridOptions(this.gridOptions),n.properties=r.map((e=>e.type)),r.forEach((e=>{this.gridOptions.debug&&ce(`Updated property ${e.type} from`,e.previousValue," to ",e.currentValue),this.propertyEventService.dispatchEvent(e)}))}addPropertyEventListener(e,t){this.propertyEventService.addEventListener(e,t)}removePropertyEventListener(e,t){this.propertyEventService.removeEventListener(e,t)}getScrollbarWidth(){if(null==this.scrollbarWidth){const e="number"==typeof this.gridOptions.scrollbarWidth&&this.gridOptions.scrollbarWidth>=0?this.gridOptions.scrollbarWidth:(null==mt&&ti(),mt);null!=e&&(this.scrollbarWidth=e,this.eventService.dispatchEvent({type:"scrollbarWidthChanged"}))}return this.scrollbarWidth}isRowModelType(e){return this.gridOptions.rowModelType===e||"clientSide"===e&&O(this.gridOptions.rowModelType)}isDomLayout(e){return(this.gridOptions.domLayout??"normal")===e}isRowSelection(){return"single"===this.gridOptions.rowSelection||"multiple"===this.gridOptions.rowSelection}useAsyncEvents(){return!this.get("suppressAsyncEvents")}isGetRowHeightFunction(){return"function"==typeof this.gridOptions.getRowHeight}getRowHeightForNode(e,t=!1,i){if(null==i&&(i=this.environment.getDefaultRowHeight()),this.isGetRowHeightFunction()){if(t)return{height:i,estimated:!0};const a={node:e,data:e.data},n=this.getCallback("getRowHeight")(a);if(this.isNumeric(n))return 0===n&&de("The return of `getRowHeight` cannot be zero. If the intention is to hide rows, use a filter instead."),{height:Math.max(1,n),estimated:!1}}if(e.detail&&this.get("masterDetail"))return this.getMasterDetailRowHeight();return{height:this.gridOptions.rowHeight&&this.isNumeric(this.gridOptions.rowHeight)?this.gridOptions.rowHeight:i,estimated:!1}}getMasterDetailRowHeight(){return this.get("detailRowAutoHeight")?{height:1,estimated:!1}:this.isNumeric(this.gridOptions.detailRowHeight)?{height:this.gridOptions.detailRowHeight,estimated:!1}:{height:300,estimated:!1}}getRowHeightAsNumber(){if(!this.gridOptions.rowHeight||O(this.gridOptions.rowHeight))return this.environment.getDefaultRowHeight();const e=this.environment.refreshRowHeightVariable();return-1!==e?e:(de("row height must be a number if not using standard row model"),this.environment.getDefaultRowHeight())}isNumeric(e){return!isNaN(e)&&"number"==typeof e&&isFinite(e)}getDomDataKey(){return this.domDataKey}getDomData(e,t){const i=e[this.getDomDataKey()];return i?i[t]:void 0}setDomData(e,t,i){const a=this.getDomDataKey();let n=e[a];O(n)&&(n={},e[a]=n),n[t]=i}getDocument(){let e=null;return this.gridOptions.getDocument&&N(this.gridOptions.getDocument)?e=this.gridOptions.getDocument():this.eGridDiv&&(e=this.eGridDiv.ownerDocument),e&&N(e)?e:document}getWindow(){return this.getDocument().defaultView||window}getRootNode(){return this.eGridDiv.getRootNode()}getActiveDomElement(){return this.getRootNode().activeElement}getAsyncTransactionWaitMillis(){return N(this.gridOptions.asyncTransactionWaitMillis)?this.gridOptions.asyncTransactionWaitMillis:50}isAnimateRows(){return!this.get("ensureDomOrder")&&this.get("animateRows")}isGroupRowsSticky(){return!(this.get("paginateChildRows")||this.get("groupHideOpenParents")||this.isDomLayout("print"))}isColumnsSortingCoupledToGroup(){const e=this.gridOptions.autoGroupColumnDef;return!e?.comparator&&!this.get("treeData")}getGroupAggFiltering(){const e=this.gridOptions.groupAggFiltering;return"function"==typeof e?this.getCallback("groupAggFiltering"):!0===e?()=>!0:void 0}getGrandTotalRow(){const e=this.gridOptions.grandTotalRow;if(e)return e;return this.gridOptions.groupIncludeTotalFooter?"bottom":void 0}getGroupTotalRowCallback(){const e=this.get("groupTotalRow");if("function"==typeof e)return this.getCallback("groupTotalRow");if(e)return()=>e;const t=this.get("groupIncludeFooter");if("function"==typeof t){const e=this.getCallback("groupIncludeFooter");return t=>e(t)?"bottom":void 0}return()=>t?"bottom":void 0}isGroupMultiAutoColumn(){return this.gridOptions.groupDisplayType?"multipleColumns"===this.gridOptions.groupDisplayType:this.get("groupHideOpenParents")}isGroupUseEntireRow(e){return!e&&"groupRows"===this.gridOptions.groupDisplayType}getGridCommonParams(){return{api:this.api,context:this.gridOptionsContext}}addGridCommonParams(e){const t=e;return t.api=this.api,t.context=this.gridOptionsContext,t}getRowIdCallback(){const e=this.getCallback("getRowId");return void 0===e?e:t=>{let i=e(t);return"string"!=typeof i&&(de("The getRowId callback must return a string. The ID ",i," is being cast to a string."),i=String(i)),i}}};Wc.changeSetId=0;var _c=Wc,qc=class extends F{constructor(){super(...arguments),this.beanName="headerPositionUtils"}wireBeans(e){this.visibleColsService=e.visibleColsService,this.ctrlsService=e.ctrlsService}findHeader(e,t){let i,a;if(je(e.column)?i=this.visibleColsService.getGroupAtDirection(e.column,t):(a=`getCol${t}`,i=this.visibleColsService[a](e.column)),!i)return;const{headerRowIndex:n}=e;if("filter"!==this.getHeaderRowType(n)){const e=[i];for(;i.getParent();)i=i.getParent(),e.push(i);i=e[e.length-1-n]}const{column:r,headerRowIndex:o}=this.getHeaderIndexToFocus(i,n);return{column:r,headerRowIndex:o}}getHeaderIndexToFocus(e,t){let i;if(je(e)&&this.isAnyChildSpanningHeaderHeight(e)&&e.isPadding()){const a=e;i=a.getLeafColumns()[0];let n=i;for(;n!==a;)t++,n=n.getParent()}return{column:i||e,headerRowIndex:t}}isAnyChildSpanningHeaderHeight(e){return!!e&&e.getLeafColumns().some((e=>e.isSpanHeaderHeight()))}getColumnVisibleParent(e,t){const i=this.getHeaderRowType(t),a="column"===i;let n="filter"===i?e:e.getParent(),r=t-1,o=r;if(a&&this.isAnyChildSpanningHeaderHeight(e.getParent())){for(;n&&n.isPadding();)n=n.getParent(),r--;o=r,r<0&&(n=e,r=t,o=void 0)}return{column:n,headerRowIndex:r,headerRowIndexWithoutSpan:o}}getColumnVisibleChild(e,t,i="After"){let a=e,n=t+1;const r=n;if("group"===this.getHeaderRowType(t)){const t=e.getDisplayedLeafColumns(),r="After"===i?t[0]:h(t),o=[];let s=r;for(;s.getParent()!==e;)s=s.getParent(),o.push(s);if(a=r,r.isSpanHeaderHeight())for(let e=o.length-1;e>=0;e--){const t=o[e];if(!t.isPadding()){a=t;break}n++}else a=h(o),a||(a=r)}return{column:a,headerRowIndex:n,headerRowIndexWithoutSpan:r}}getHeaderRowType(e){const t=this.ctrlsService.getHeaderRowContainerCtrl();if(t)return t.getRowType(e)}findColAtEdgeForHeaderRow(e,t){const i=this.visibleColsService.getAllCols(),a=i["start"===t?0:i.length-1];if(!a)return;const n=this.ctrlsService.getHeaderRowContainerCtrl(a.getPinned()).getRowType(e);if("group"==n){return{headerRowIndex:e,column:this.visibleColsService.getColGroupAtLevel(a,e)}}return{headerRowIndex:null==n?-1:e,column:a}}},Uc=class extends F{constructor(){super(...arguments),this.beanName="localeService"}getLocaleTextFunc(){const e=this.gos.getCallback("getLocaleText");if(e)return(t,i,a)=>e({key:t,defaultValue:i,variableValues:a});const t=this.gos.get("localeText");return(e,i,a)=>{let n=t&&t[e];if(n&&a&&a.length){let e=0;for(;!(e>=a.length);){if(-1===n.indexOf("${variable}"))break;n=n.replace("${variable}",a[e++])}}return n??i}}},Kc=class extends F{constructor(){super(...arguments),this.beanName="apiEventService",this.syncEventListeners=new Map,this.asyncEventListeners=new Map,this.syncGlobalEventListeners=new Set,this.globalEventListenerPairs=new Map}postConstruct(){this.frameworkEventWrappingService=new I(this.getFrameworkOverrides())}addEventListener(e,t){const i=this.frameworkEventWrappingService.wrap(t),a=this.gos.useAsyncEvents()&&!Gc.has(e),n=a?this.asyncEventListeners:this.syncEventListeners;n.has(e)||n.set(e,new Set),n.get(e).add(i),this.eventService.addEventListener(e,i,a)}removeEventListener(e,t){const i=this.frameworkEventWrappingService.unwrap(t),a=this.asyncEventListeners.get(e),n=!!a?.delete(i);n||this.syncEventListeners.get(e)?.delete(i),this.eventService.removeEventListener(e,i,n)}addGlobalListener(e){const t=this.frameworkEventWrappingService.wrapGlobal(e);if(this.gos.useAsyncEvents()){const i=(e,i)=>{Gc.has(e)&&t(e,i)},a=(e,i)=>{Gc.has(e)||t(e,i)};this.globalEventListenerPairs.set(e,{syncListener:i,asyncListener:a}),this.eventService.addGlobalListener(i,!1),this.eventService.addGlobalListener(a,!0)}else this.syncGlobalEventListeners.add(t),this.eventService.addGlobalListener(t,!1)}removeGlobalListener(e){const t=this.frameworkEventWrappingService.unwrapGlobal(e);if(this.globalEventListenerPairs.has(t)){const{syncListener:i,asyncListener:a}=this.globalEventListenerPairs.get(t);this.eventService.removeGlobalListener(i,!1),this.eventService.removeGlobalListener(a,!0),this.globalEventListenerPairs.delete(e)}else this.syncGlobalEventListeners.delete(t),this.eventService.removeGlobalListener(t,!1)}destroyEventListeners(e,t){e.forEach(((e,i)=>{e.forEach((e=>this.eventService.removeEventListener(i,e,t))),e.clear()})),e.clear()}destroyGlobalListeners(e,t){e.forEach((e=>this.eventService.removeGlobalListener(e,t))),e.clear()}destroy(){super.destroy(),this.destroyEventListeners(this.syncEventListeners,!1),this.destroyEventListeners(this.asyncEventListeners,!0),this.destroyGlobalListeners(this.syncGlobalEventListeners,!1),this.globalEventListenerPairs.forEach((({syncListener:e,asyncListener:t})=>{this.eventService.removeGlobalListener(e,!1),this.eventService.removeGlobalListener(t,!0)})),this.globalEventListenerPairs.clear()}},jc=class extends F{constructor(){super(...arguments),this.beanName="pageBoundsListener"}wireBeans(e){this.rowModel=e.rowModel,this.paginationService=e.paginationService,this.pageBoundsService=e.pageBoundsService}postConstruct(){this.addManagedEventListeners({modelUpdated:this.onModelUpdated.bind(this),recalculateRowBounds:this.calculatePages.bind(this)}),this.onModelUpdated()}onModelUpdated(e){this.calculatePages();const t={type:"paginationChanged",animate:!!e&&e.animate,newData:!!e&&e.newData,newPage:!!e&&e.newPage,newPageSize:!!e&&e.newPageSize,keepRenderedRows:!!e&&e.keepRenderedRows};this.eventService.dispatchEvent(t)}calculatePages(){this.paginationService?this.paginationService.calculatePages():this.pageBoundsService.calculateBounds(0,this.rowModel.getRowCount()-1)}},Yc=class extends F{constructor(){super(...arguments),this.beanName="pageBoundsService",this.pixelOffset=0}wireBeans(e){this.rowModel=e.rowModel}getFirstRow(){return this.topRowBounds?this.topRowBounds.rowIndex:-1}getLastRow(){return this.bottomRowBounds?this.bottomRowBounds.rowIndex:-1}getCurrentPageHeight(){return O(this.topRowBounds)||O(this.bottomRowBounds)?0:Math.max(this.bottomRowBounds.rowTop+this.bottomRowBounds.rowHeight-this.topRowBounds.rowTop,0)}getCurrentPagePixelRange(){return{pageFirstPixel:this.topRowBounds?this.topRowBounds.rowTop:0,pageLastPixel:this.bottomRowBounds?this.bottomRowBounds.rowTop+this.bottomRowBounds.rowHeight:0}}calculateBounds(e,t){this.topRowBounds=this.rowModel.getRowBounds(e),this.topRowBounds&&(this.topRowBounds.rowIndex=e),this.bottomRowBounds=this.rowModel.getRowBounds(t),this.bottomRowBounds&&(this.bottomRowBounds.rowIndex=t),this.calculatePixelOffset()}getPixelOffset(){return this.pixelOffset}calculatePixelOffset(){const e=N(this.topRowBounds)?this.topRowBounds.rowTop:0;this.pixelOffset!==e&&(this.pixelOffset=e,this.eventService.dispatchEvent({type:"paginationPixelOffsetChanged"}))}},$c=class extends F{constructor(){super(),this.beanName="ariaAnnouncementService",this.descriptionContainer=null,this.announceValue=ve(this.announceValue.bind(this),200)}wireBeans(e){this.eGridDiv=e.eGridDiv}postConstruct(){const e=this.gos.getDocument(),t=this.descriptionContainer=e.createElement("div");t.classList.add("ag-aria-description-container"),Dt(t,"polite"),yt(t,"relevant","additions text"),function(e,t){yt(e,"atomic",t)}(t,!0),this.eGridDiv.appendChild(t)}announceValue(e){this.descriptionContainer&&(this.descriptionContainer.textContent="",setTimeout((()=>{this.isAlive()&&this.descriptionContainer&&(this.descriptionContainer.textContent=e)}),50))}destroy(){super.destroy();const{descriptionContainer:e}=this;e&&(bi(e),e.parentElement&&e.parentElement.removeChild(e)),this.descriptionContainer=null,this.eGridDiv=null}},Zc=class extends F{constructor(){super(...arguments),this.beanName="columnAnimationService",this.executeNextFuncs=[],this.executeLaterFuncs=[],this.active=!1,this.suppressAnimation=!1,this.animationThreadCount=0}wireBeans(e){this.ctrlsService=e.ctrlsService}postConstruct(){this.ctrlsService.whenReady((e=>this.gridBodyCtrl=e.gridBodyCtrl))}isActive(){return this.active&&!this.suppressAnimation}setSuppressAnimation(e){this.suppressAnimation=e}start(){this.active||this.gos.get("suppressColumnMoveAnimation")||this.gos.get("enableRtl")||(this.ensureAnimationCssClassPresent(),this.active=!0)}finish(){this.active&&this.flush((()=>{this.active=!1}))}executeNextVMTurn(e){this.active?this.executeNextFuncs.push(e):e()}executeLaterVMTurn(e){this.active?this.executeLaterFuncs.push(e):e()}ensureAnimationCssClassPresent(){this.animationThreadCount++;const e=this.animationThreadCount;this.gridBodyCtrl.setColumnMovingCss(!0),this.executeLaterFuncs.push((()=>{this.animationThreadCount===e&&this.gridBodyCtrl.setColumnMovingCss(!1)}))}flush(e){if(0===this.executeNextFuncs.length&&0===this.executeLaterFuncs.length)return void e();const t=e=>{for(;e.length;){const t=e.pop();t&&t()}};this.getFrameworkOverrides().wrapIncoming((()=>{window.setTimeout((()=>t(this.executeNextFuncs)),0),window.setTimeout((()=>{e(),t(this.executeLaterFuncs)}),200)}))}},Xc=class extends F{constructor(){super(...arguments),this.beanName="columnHoverService"}setMouseOver(e){this.selectedColumns=e;this.eventService.dispatchEvent({type:"columnHoverChanged"})}clearMouseOver(){this.selectedColumns=null;this.eventService.dispatchEvent({type:"columnHoverChanged"})}isHovered(e){return!!this.selectedColumns&&this.selectedColumns.indexOf(e)>=0}},Qc=class extends F{constructor(){super(...arguments),this.beanName="overlayService",this.state=0,this.showInitialOverlay=!0}wireBeans(e){this.userComponentFactory=e.userComponentFactory,this.rowModel=e.rowModel,this.columnModel=e.columnModel}postConstruct(){const e=()=>this.updateOverlayVisibility();this.addManagedEventListeners({newColumnsLoaded:e,rowDataUpdated:e}),this.addManagedPropertyListener("loading",e)}registerOverlayWrapperComp(e){this.overlayWrapperComp=e,this.updateOverlayVisibility()}showLoadingOverlay(){this.showInitialOverlay=!1;const e=this.gos.get("loading");(e||void 0===e&&!this.gos.get("suppressLoadingOverlay"))&&this.doShowLoadingOverlay()}showNoRowsOverlay(){this.showInitialOverlay=!1,this.gos.get("loading")||this.gos.get("suppressNoRowsOverlay")||this.doShowNoRowsOverlay()}hideOverlay(){this.showInitialOverlay=!1,this.gos.get("loading")||this.doHideOverlay()}updateOverlayVisibility(){let e=this.gos.get("loading");this.showInitialOverlay&&void 0===e&&!this.gos.get("suppressLoadingOverlay")&&(e=!this.gos.get("columnDefs")||!this.columnModel.isReady()||!this.gos.get("rowData")&&this.gos.isRowModelType("clientSide")),e?1!==this.state&&this.doShowLoadingOverlay():(this.showInitialOverlay=!1,this.rowModel.isEmpty()&&!this.gos.get("suppressNoRowsOverlay")&&this.gos.isRowModelType("clientSide")?2!==this.state&&this.doShowNoRowsOverlay():0!==this.state&&this.doHideOverlay())}doShowLoadingOverlay(){this.state=1,this.showOverlay(this.userComponentFactory.getLoadingOverlayCompDetails({}),"ag-overlay-loading-wrapper","loadingOverlayComponentParams")}doShowNoRowsOverlay(){this.state=2,this.showOverlay(this.userComponentFactory.getNoRowsOverlayCompDetails({}),"ag-overlay-no-rows-wrapper","noRowsOverlayComponentParams")}doHideOverlay(){this.state=0,this.overlayWrapperComp.hideOverlay()}showOverlay(e,t,i){const a=e.newAgStackInstance();this.overlayWrapperComp.showOverlay(a,t,i)}},Jc=class extends F{constructor(){super(...arguments),this.beanName="rowCssClassCalculator"}wireBeans(e){this.stylingService=e.stylingService}getInitialRowClasses(e){const t=[];return N(e.extraCssClass)&&t.push(e.extraCssClass),t.push("ag-row"),t.push(e.rowFocused?"ag-row-focus":"ag-row-no-focus"),e.fadeRowIn&&t.push("ag-opacity-zero"),t.push(e.rowIsEven?"ag-row-even":"ag-row-odd"),e.rowNode.isRowPinned()&&t.push("ag-row-pinned"),e.rowNode.isSelected()&&t.push("ag-row-selected"),e.rowNode.footer&&t.push("ag-row-footer"),t.push("ag-row-level-"+e.rowLevel),e.rowNode.stub&&t.push("ag-row-loading"),e.fullWidthRow&&t.push("ag-full-width-row"),e.expandable&&(t.push("ag-row-group"),t.push(e.rowNode.expanded?"ag-row-group-expanded":"ag-row-group-contracted")),e.rowNode.dragging&&t.push("ag-row-dragging"),S(t,this.processClassesFromGridOptions(e.rowNode)),S(t,this.preProcessRowClassRules(e.rowNode)),t.push(e.printLayout?"ag-row-position-relative":"ag-row-position-absolute"),e.firstRowOnPage&&t.push("ag-row-first"),e.lastRowOnPage&&t.push("ag-row-last"),e.fullWidthRow&&("left"===e.pinned&&t.push("ag-cell-last-left-pinned"),"right"===e.pinned&&t.push("ag-cell-first-right-pinned")),t}processClassesFromGridOptions(e){const t=[],i=e=>{"string"==typeof e?t.push(e):Array.isArray(e)&&e.forEach((e=>t.push(e)))},a=this.gos.get("rowClass");if(a){if("function"==typeof a)return de("rowClass should not be a function, please use getRowClass instead"),[];i(a)}const n=this.gos.getCallback("getRowClass");if(n){i(n({data:e.data,node:e,rowIndex:e.rowIndex}))}return t}preProcessRowClassRules(e){const t=[];return this.processRowClassRules(e,(e=>{t.push(e)}),(()=>{})),t}processRowClassRules(e,t,i){const a=this.gos.addGridCommonParams({data:e.data,node:e,rowIndex:e.rowIndex});this.stylingService.processClassRules(void 0,this.gos.get("rowClassRules"),a,t,i)}calculateRowLevel(e){return e.group?e.level:e.parent?e.parent.level+1:0}},ed=class extends F{constructor(){super(...arguments),this.beanName="rowContainerHeightService",this.scrollY=0,this.uiBodyHeight=0}wireBeans(e){this.ctrlsService=e.ctrlsService}postConstruct(){this.addManagedEventListeners({bodyHeightChanged:this.updateOffset.bind(this)}),this.maxDivHeight=function(){if(!document.body)return-1;let e=1e6;const t=navigator.userAgent.toLowerCase().match(/firefox/)?6e6:1e9,i=document.createElement("div");for(document.body.appendChild(i);;){const a=2*e;if(i.style.height=a+"px",a>t||i.clientHeight!==a)break;e=a}return document.body.removeChild(i),e}(),this.gos.get("debug")&&ce("RowContainerHeightService - maxDivHeight = "+this.maxDivHeight)}isStretching(){return this.stretching}getDivStretchOffset(){return this.divStretchOffset}updateOffset(){if(!this.stretching)return;const e=this.ctrlsService.getGridBodyCtrl().getScrollFeature().getVScrollPosition().top,t=this.getUiBodyHeight();(e!==this.scrollY||t!==this.uiBodyHeight)&&(this.scrollY=e,this.uiBodyHeight=t,this.calculateOffset())}calculateOffset(){this.setUiContainerHeight(this.maxDivHeight),this.pixelsToShave=this.modelHeight-this.uiContainerHeight,this.maxScrollY=this.uiContainerHeight-this.uiBodyHeight;const e=this.scrollY/this.maxScrollY,t=e*this.pixelsToShave;this.gos.get("debug")&&ce(`RowContainerHeightService - Div Stretch Offset = ${t} (${this.pixelsToShave} * ${e})`),this.setDivStretchOffset(t)}setUiContainerHeight(e){e!==this.uiContainerHeight&&(this.uiContainerHeight=e,this.eventService.dispatchEvent({type:"rowContainerHeightChanged"}))}clearOffset(){this.setUiContainerHeight(this.modelHeight),this.pixelsToShave=0,this.setDivStretchOffset(0)}setDivStretchOffset(e){const t="number"==typeof e?Math.floor(e):null;this.divStretchOffset!==t&&(this.divStretchOffset=t,this.eventService.dispatchEvent({type:"heightScaleChanged"}))}setModelHeight(e){this.modelHeight=e,this.stretching=null!=e&&this.maxDivHeight>0&&e>this.maxDivHeight,this.stretching?this.calculateOffset():this.clearOffset()}getUiContainerHeight(){return this.uiContainerHeight}getRealPixelPosition(e){return e-this.divStretchOffset}getUiBodyHeight(){const e=this.ctrlsService.getGridBodyCtrl().getScrollFeature().getVScrollPosition();return e.bottom-e.top}getScrollPositionForPixel(e){if(this.pixelsToShave<=0)return e;const t=e/(this.modelHeight-this.getUiBodyHeight());return this.maxScrollY*t}},td=class extends F{constructor(){super(...arguments),this.beanName="rowNodeSorter"}wireBeans(e){this.valueService=e.valueService,this.columnModel=e.columnModel,this.showRowGroupColsService=e.showRowGroupColsService}postConstruct(){this.isAccentedSort=this.gos.get("accentedSort"),this.primaryColumnsSortGroups=this.gos.isColumnsSortingCoupledToGroup(),this.addManagedPropertyListener("accentedSort",(e=>this.isAccentedSort=e.currentValue)),this.addManagedPropertyListener("autoGroupColumnDef",(()=>this.primaryColumnsSortGroups=this.gos.isColumnsSortingCoupledToGroup()))}doFullSort(e,t){const i=e.map(((e,t)=>({currentPos:t,rowNode:e})));return i.sort(this.compareRowNodes.bind(this,t)),i.map((e=>e.rowNode))}compareRowNodes(e,t,i){const a=t.rowNode,n=i.rowNode;for(let t=0,i=e.length;t<i;t++){const i=e[t],r="desc"===i.sort,o=this.getValue(a,i.column),s=this.getValue(n,i.column);let l;const c=this.getComparator(i,a);l=c?c(o,s,a,n,r):_(o,s,this.isAccentedSort);if(!isNaN(l)&&0!==l)return"asc"===i.sort?l:-1*l}return t.currentPos-i.currentPos}getComparator(e,t){const i=e.column,a=i.getColDef().comparator;if(null!=a)return a;if(!i.getColDef().showRowGroup)return;const n=!t.group&&i.getColDef().field;if(!n)return;const r=this.columnModel.getColDefCol(n);return r?r.getColDef().comparator:void 0}getValue(e,t){if(!this.primaryColumnsSortGroups)return this.valueService.getValue(t,e,!1,!1);if(e.rowGroupColumn===t){if(this.gos.isGroupUseEntireRow(this.columnModel.isPivotActive())){const i=e.allLeafChildren?.[0];return i?this.valueService.getValue(t,i,!1,!1):void 0}const i=this.showRowGroupColsService?.getShowRowGroupCol(t.getId());if(!i)return;return e.groupData?.[i.getId()]}return e.group&&t.getColDef().showRowGroup?void 0:this.valueService.getValue(t,e,!1,!1)}},id=class{constructor(e,t){this.active=!0,this.nodeIdsToColumns={},this.mapToItems={},this.keepingColumns=e,this.pathRoot={rowNode:t,children:null},this.mapToItems[t.id]=this.pathRoot}setInactive(){this.active=!1}isActive(){return this.active}depthFirstSearchChangedPath(e,t){if(e.children)for(let i=0;i<e.children.length;i++)this.depthFirstSearchChangedPath(e.children[i],t);t(e.rowNode)}depthFirstSearchEverything(e,t,i){if(e.childrenAfterGroup)for(let a=0;a<e.childrenAfterGroup.length;a++){const n=e.childrenAfterGroup[a];n.childrenAfterGroup?this.depthFirstSearchEverything(e.childrenAfterGroup[a],t,i):i&&t(n)}t(e)}forEachChangedNodeDepthFirst(e,t=!1,i=!1){this.active&&!i?this.depthFirstSearchChangedPath(this.pathRoot,e):this.depthFirstSearchEverything(this.pathRoot.rowNode,e,t)}executeFromRootNode(e){e(this.pathRoot.rowNode)}createPathItems(e){let t=e,i=0;for(;!this.mapToItems[t.id];){const e={rowNode:t,children:null};this.mapToItems[t.id]=e,i++,t=t.parent}return i}populateColumnsMap(e,t){if(!this.keepingColumns||!t)return;let i=e;for(;i;)this.nodeIdsToColumns[i.id]||(this.nodeIdsToColumns[i.id]={}),t.forEach((e=>this.nodeIdsToColumns[i.id][e.getId()]=!0)),i=i.parent}linkPathItems(e,t){let i=e;for(let e=0;e<t;e++){const e=this.mapToItems[i.id],t=this.mapToItems[i.parent.id];t.children||(t.children=[]),t.children.push(e),i=i.parent}}addParentNode(e,t){if(!e||e.isRowPinned())return;const i=this.createPathItems(e);this.linkPathItems(e,i),this.populateColumnsMap(e,t)}canSkip(e){return this.active&&!this.mapToItems[e.id]}getValueColumnsForNode(e,t){if(!this.keepingColumns)return t;const i=this.nodeIdsToColumns[e.id];return t.filter((e=>i[e.getId()]))}getNotValueColumnsForNode(e,t){if(!this.keepingColumns)return null;const i=this.nodeIdsToColumns[e.id];return t.filter((e=>!i[e.getId()]))}},ad=class extends F{constructor(){super(...arguments),this.beanName="selectionService",this.selectedNodes=new Map,this.selectionCtx=new il}wireBeans(e){this.rowModel=e.rowModel,this.pageBoundsService=e.pageBoundsService}postConstruct(){this.selectionCtx.init(this.rowModel),this.rowSelection=this.gos.get("rowSelection"),this.groupSelectsChildren=this.gos.get("groupSelectsChildren"),this.addManagedPropertyListeners(["groupSelectsChildren","rowSelection"],(()=>{this.groupSelectsChildren=this.gos.get("groupSelectsChildren"),this.rowSelection=this.gos.get("rowSelection"),this.deselectAllRowNodes({source:"api"})})),this.addManagedEventListeners({rowSelected:this.onRowSelected.bind(this)})}destroy(){super.destroy(),this.resetNodes(),this.selectionCtx.reset()}isMultiselect(){return"multiple"===this.rowSelection}overrideSelectionValue(e,t){if(!Bc(t))return e;const i=this.selectionCtx.getRoot();return!i||(i.isSelected()??!1)}setNodesSelected(e){const{newValue:t,clearSelection:i,suppressFinishActions:a,rangeSelect:n,nodes:r,event:o,source:s}=e;if(0===r.length)return 0;if(r.length>1&&!this.isMultiselect())return de("cannot multi select while rowSelection='single'"),0;const l=this.groupSelectsChildren&&!0===e.groupSelectsFiltered,c=r.map((e=>e.footer?e.sibling:e));if(n){if(c.length>1)return de("cannot range select while selecting multiple rows"),0;const e=c[0],i=this.overrideSelectionValue(t,s);if(this.isMultiselect()){if(this.selectionCtx.isInRange(e)){const t=this.selectionCtx.truncate(e);return i&&this.selectRange(t.discard,!1,s),this.selectRange(t.keep,i,s)}if(this.selectionCtx.getRoot()!==e){const t=this.selectionCtx.extend(e,this.groupSelectsChildren);return i&&this.selectRange(t.discard,!1,s),this.selectRange(t.keep,i,s)}}else;}a||this.selectionCtx.setRoot(c[0]);let d=0;for(let e=0;e<c.length;e++){const i=c[e];if(!(l&&i.group)){i.selectThisNode(t,o,s)&&d++}this.groupSelectsChildren&&i.childrenAfterGroup?.length&&(d+=this.selectChildren(i,t,l,s))}if(!a){t&&(i||!this.isMultiselect())&&(d+=this.clearOtherNodes(c[0],s)),d>0&&(this.updateGroupsFromChildrenSelections(s),this.dispatchSelectionChanged(s))}return d}selectRange(e,t,i){let a=0;return e.forEach((e=>{if(e.group&&this.groupSelectsChildren)return;e.selectThisNode(t,void 0,i)&&a++})),a>0&&(this.updateGroupsFromChildrenSelections(i),this.dispatchSelectionChanged(i)),a}selectChildren(e,t,i,a){const n=i?e.childrenAfterAggFilter:e.childrenAfterGroup;return O(n)?0:this.setNodesSelected({newValue:t,clearSelection:!1,suppressFinishActions:!0,groupSelectsFiltered:i,source:a,nodes:n})}getSelectedNodes(){const e=[];return this.selectedNodes.forEach((t=>{t&&e.push(t)})),e}getSelectedRows(){const e=[];return this.selectedNodes.forEach((t=>{t&&t.data&&e.push(t.data)})),e}getSelectionCount(){return this.selectedNodes.size}filterFromSelection(e){const t=new Map;this.selectedNodes.forEach(((i,a)=>{i&&e(i)&&t.set(a,i)})),this.selectedNodes=t}updateGroupsFromChildrenSelections(e,t){if(!this.groupSelectsChildren)return!1;if("clientSide"!==this.rowModel.getType())return!1;const i=this.rowModel.getRootNode();t||(t=new id(!0,i)).setInactive();let a=!1;return t.forEachChangedNodeDepthFirst((t=>{if(t!==i){const i=t.calculateSelectedFromChildren();a=t.selectThisNode(null!==i&&i,void 0,e)||a}})),a}clearOtherNodes(e,t){const i=new Map;let a=0;return this.selectedNodes.forEach((n=>{if(n&&n.id!==e.id){const e=this.selectedNodes.get(n.id);a+=e.setSelectedParams({newValue:!1,clearSelection:!1,suppressFinishActions:!0,source:t}),this.groupSelectsChildren&&n.parent&&i.set(n.parent.id,n.parent)}})),i.forEach((e=>{const i=e.calculateSelectedFromChildren();e.selectThisNode(null!==i&&i,void 0,t)})),a}onRowSelected(e){const t=e.node;this.groupSelectsChildren&&t.group||(t.isSelected()?this.selectedNodes.set(t.id,t):this.selectedNodes.delete(t.id))}syncInRowNode(e,t){this.syncInOldRowNode(e,t),this.syncInNewRowNode(e)}syncInOldRowNode(e,t){if(N(t)&&e.id!==t.id&&t){const i=t.id;this.selectedNodes.get(i)==e&&this.selectedNodes.set(t.id,t)}}syncInNewRowNode(e){this.selectedNodes.has(e.id)?(e.setSelectedInitialValue(!0),this.selectedNodes.set(e.id,e)):e.setSelectedInitialValue(!1)}reset(e){const t=this.getSelectionCount();this.resetNodes(),t&&this.dispatchSelectionChanged(e)}resetNodes(){this.selectedNodes?.clear()}getBestCostNodeSelection(){if("clientSide"!==this.rowModel.getType())return;const e=this.rowModel.getTopLevelNodes();if(null===e)return;const t=[];return function e(i){for(let a=0,n=i.length;a<n;a++){const n=i[a];if(n.isSelected())t.push(n);else{const t=n;t.group&&t.children&&e(t.children)}}}(e),t}isEmpty(){let e=0;return this.selectedNodes.forEach((t=>{t&&e++})),0===e}deselectAllRowNodes(e){const t=e=>e.selectThisNode(!1,void 0,a),i="clientSide"===this.rowModel.getType(),{source:a,justFiltered:n,justCurrentPage:r}=e;if(r||n){if(!i)return void he("selecting just filtered only works when gridOptions.rowModelType='clientSide'");this.getNodesToSelect(n,r).forEach(t)}else this.selectedNodes.forEach((e=>{e&&t(e)})),this.reset(a);this.selectionCtx.reset(),i&&this.groupSelectsChildren&&this.updateGroupsFromChildrenSelections(a),this.dispatchSelectionChanged(a)}getSelectedCounts(e,t){let i=0,a=0;return this.getNodesToSelect(e,t).forEach((e=>{this.groupSelectsChildren&&e.group||(e.isSelected()?i++:e.selectable&&a++)})),{selectedCount:i,notSelectedCount:a}}getSelectAllState(e,t){const{selectedCount:i,notSelectedCount:a}=this.getSelectedCounts(e,t);return(0!==i||0!==a)&&(i>0&&a>0?null:i>0)}hasNodesToSelect(e=!1,t=!1){return this.getNodesToSelect(e,t).filter((e=>e.selectable)).length>0}getNodesToSelect(e=!1,t=!1){if("clientSide"!==this.rowModel.getType())throw new Error(`selectAll only available when rowModelType='clientSide', ie not ${this.rowModel.getType()}`);const i=[];if(t)return this.forEachNodeOnPage((e=>{if(e.group)if(e.expanded)this.groupSelectsChildren||i.push(e);else{const t=e=>{i.push(e),e.childrenAfterFilter?.length&&e.childrenAfterFilter.forEach(t)};t(e)}else i.push(e)})),i;const a=this.rowModel;return e?(a.forEachNodeAfterFilter((e=>{i.push(e)})),i):(a.forEachNode((e=>{i.push(e)})),i)}forEachNodeOnPage(e){const t=this.pageBoundsService.getFirstRow(),i=this.pageBoundsService.getLastRow();for(let a=t;a<=i;a++){const t=this.rowModel.getRow(a);t&&e(t)}}selectAllRowNodes(e){if("clientSide"!==this.rowModel.getType())throw new Error(`selectAll only available when rowModelType='clientSide', ie not ${this.rowModel.getType()}`);const{source:t,justFiltered:i,justCurrentPage:a}=e,n=this.getNodesToSelect(i,a);n.forEach((e=>e.selectThisNode(!0,void 0,t))),this.selectionCtx.setRoot(n[0]??null),this.selectionCtx.setEndRange(h(n)??null),"clientSide"===this.rowModel.getType()&&this.groupSelectsChildren&&this.updateGroupsFromChildrenSelections(t),this.dispatchSelectionChanged(t)}getSelectionState(){const e=[];return this.selectedNodes.forEach((t=>{t?.id&&e.push(t.id)})),e.length?e:null}setSelectionState(e,t){if(!Array.isArray(e))return;const i=new Set(e),a=[];this.rowModel.forEachNode((e=>{i.has(e.id)&&a.push(e)})),this.setNodesSelected({newValue:!0,nodes:a,source:t})}dispatchSelectionChanged(e){const t={type:"selectionChanged",source:e};this.eventService.dispatchEvent(t)}},nd=class extends F{constructor(){super(...arguments),this.beanName="selectableService"}wireBeans(e){this.rowModel=e.rowModel,this.selectionService=e.selectionService}postConstruct(){this.addManagedPropertyListener("isRowSelectable",(()=>this.updateSelectable()))}updateSelectableAfterGrouping(){this.updateSelectable(!0)}updateSelectable(e=!1){const t=!!this.gos.get("rowSelection"),i=this.gos.get("isRowSelectable");if(!t||!i)return;const a=this.gos.get("groupSelectsChildren"),n="clientSide"===this.rowModel.getType()&&a,r=[],o=t=>{if(e&&!t.group)return;if(n&&t.group){const e=t.childrenAfterGroup.some((e=>!0===e.selectable));return void t.setRowSelectable(e,!0)}const a=!i||i(t);t.setRowSelectable(a,!0),!a&&t.isSelected()&&r.push(t)};if(n){const e=this.rowModel;new id(!1,e.getRootNode()).forEachChangedNodeDepthFirst(o,!0,!0)}else this.rowModel.forEachNode(o);r.length&&this.selectionService.setNodesSelected({nodes:r,newValue:!1,source:"selectableChanged"}),n&&this.selectionService instanceof ad&&this.selectionService.updateGroupsFromChildrenSelections("selectableChanged")}},rd=["asc","desc",null],od=class extends F{constructor(){super(...arguments),this.beanName="sortController"}wireBeans(e){this.columnModel=e.columnModel,this.funcColsService=e.funcColsService,this.showRowGroupColsService=e.showRowGroupColsService}progressSort(e,t,i){const a=this.getNextSortDirection(e);this.setSortForColumn(e,a,t,i)}setSortForColumn(e,t,i,a){"asc"!==t&&"desc"!==t&&(t=null);let n=[e];if(this.gos.isColumnsSortingCoupledToGroup()&&e.getColDef().showRowGroup){const t=this.funcColsService.getSourceColumnsForGroupColumn(e),i=t?.filter((e=>e.isSortable()));i&&(n=[e,...i])}n.forEach((e=>e.setSort(t,a)));const r=[];if(!((i||this.gos.get("alwaysMultiSort"))&&!this.gos.get("suppressMultiSort"))){const e=this.clearSortBarTheseColumns(n,a);r.push(...e)}this.updateSortIndex(e),r.push(...n),this.dispatchSortChangedEvents(a,r)}updateSortIndex(e){const t=this.gos.isColumnsSortingCoupledToGroup(),i=this.showRowGroupColsService?.getShowRowGroupCol(e.getId()),a=t&&i||e,n=this.getColumnsWithSortingOrdered();this.columnModel.getAllCols().forEach((e=>e.setSortIndex(null)));const r=n.filter((e=>(!t||!e.getColDef().showRowGroup)&&e!==a));(a.getSort()?[...r,a]:r).forEach(((e,t)=>{e.setSortIndex(t)}))}onSortChanged(e,t){this.dispatchSortChangedEvents(e,t)}isSortActive(){const e=this.columnModel.getAllCols().filter((e=>!!e.getSort()));return e&&e.length>0}dispatchSortChangedEvents(e,t){const i={type:"sortChanged",source:e};t&&(i.columns=t),this.eventService.dispatchEvent(i)}clearSortBarTheseColumns(e,t){const i=[];return this.columnModel.getAllCols().forEach((a=>{e.includes(a)||(a.getSort()&&i.push(a),a.setSort(void 0,t))})),i}getNextSortDirection(e){let t;if(t=e.getColDef().sortingOrder?e.getColDef().sortingOrder:this.gos.get("sortingOrder")?this.gos.get("sortingOrder"):rd,!Array.isArray(t)||t.length<=0)return de(`sortingOrder must be an array with at least one element, currently it's ${t}`),null;const i=t.indexOf(e.getSort()),a=i<0,n=i==t.length-1;let r;return r=a||n?t[0]:t[i+1],rd.indexOf(r)<0?(de("invalid sort type ",r),null):r}getIndexedSortMap(){let e=this.columnModel.getAllCols().filter((e=>!!e.getSort()));if(this.columnModel.isPivotMode()){const t=this.gos.isColumnsSortingCoupledToGroup();e=e.filter((e=>{const i=!!e.getAggFunc(),a=!e.isPrimary(),n=t?this.showRowGroupColsService?.getShowRowGroupCol(e.getId()):e.getColDef().showRowGroup;return i||a||n}))}const t=this.funcColsService.getRowGroupColumns().filter((e=>!!e.getSort())),i={};e.forEach(((e,t)=>i[e.getId()]=t)),e.sort(((e,t)=>{const a=e.getSortIndex(),n=t.getSortIndex();if(null!=a&&null!=n)return a-n;if(null==a&&null==n){return i[e.getId()]>i[t.getId()]?1:-1}return null==n?-1:1}));const a=this.gos.isColumnsSortingCoupledToGroup()&&!!t.length;a&&(e=[...new Set(e.map((e=>this.showRowGroupColsService?.getShowRowGroupCol(e.getId())??e)))]);const n=new Map;return e.forEach(((e,t)=>n.set(e,t))),a&&t.forEach((e=>{const t=this.showRowGroupColsService.getShowRowGroupCol(e.getId());n.set(e,n.get(t))})),n}getColumnsWithSortingOrdered(){return[...this.getIndexedSortMap().entries()].sort((([e,t],[i,a])=>t-a)).map((([e])=>e))}getSortModel(){return this.getColumnsWithSortingOrdered().filter((e=>e.getSort())).map((e=>({sort:e.getSort(),colId:e.getId()})))}getSortOptions(){return this.getColumnsWithSortingOrdered().filter((e=>e.getSort())).map((e=>({sort:e.getSort(),column:e})))}canColumnDisplayMixedSort(e){const t=this.gos.isColumnsSortingCoupledToGroup(),i=!!e.getColDef().showRowGroup;return t&&i}getDisplaySortForColumn(e){const t=this.funcColsService.getSourceColumnsForGroupColumn(e);if(!this.canColumnDisplayMixedSort(e)||!t?.length)return e.getSort();const i=null!=e.getColDef().field||!!e.getColDef().valueGetter?[e,...t]:t,a=i[0].getSort();return i.every((e=>e.getSort()==a))?a:"mixed"}getDisplaySortIndexForColumn(e){return this.getIndexedSortMap().get(e)}},sd=class extends F{constructor(){super(...arguments),this.beanName="syncService",this.waitingForColumns=!1}wireBeans(e){this.ctrlsService=e.ctrlsService,this.columnModel=e.columnModel,this.rowModel=e.rowModel}postConstruct(){this.addManagedPropertyListener("columnDefs",(e=>this.setColumnDefs(e)))}start(){this.ctrlsService.whenReady((()=>{const e=this.gos.get("columnDefs");e?this.setColumnsAndData(e):this.waitingForColumns=!0,this.gridReady()}))}setColumnsAndData(e){this.columnModel.setColumnDefs(e??[],"gridInitializing"),this.rowModel.start()}gridReady(){this.dispatchGridReadyEvent();const e=Ji.__isRegistered("@ag-grid-enterprise/core",this.gridId);this.gos.get("debug")&&ce(`initialised successfully, enterprise = ${e}`)}dispatchGridReadyEvent(){this.eventService.dispatchEvent({type:"gridReady"})}setColumnDefs(e){const t=this.gos.get("columnDefs");if(t)return this.waitingForColumns?(this.waitingForColumns=!1,void this.setColumnsAndData(t)):void this.columnModel.setColumnDefs(t,Pe(e.source))}},ld=class extends F{constructor(){super(...arguments),this.beanName="changeDetectionService"}wireBeans(e){this.rowModel=e.rowModel,this.rowRenderer=e.rowRenderer}postConstruct(){"clientSide"===this.rowModel.getType()&&(this.clientSideRowModel=this.rowModel),this.addManagedEventListeners({cellValueChanged:this.onCellValueChanged.bind(this)})}onCellValueChanged(e){"paste"!==e.source&&this.doChangeDetection(e.node,e.column)}doChangeDetection(e,t){if(this.gos.get("suppressChangeDetection"))return;const i=[e];if(this.clientSideRowModel&&!e.isRowPinned()){const a=this.gos.get("aggregateOnlyChangedColumns"),n=new id(a,this.clientSideRowModel.getRootNode());n.addParentNode(e.parent,[t]),this.clientSideRowModel.doAggregate(n),n.forEachChangedNodeDepthFirst((e=>{i.push(e)}))}this.rowRenderer.refreshCells({rowNodes:i})}},cd=class extends F{constructor(){super(...arguments),this.beanName="expressionService",this.expressionToFunctionCache={}}evaluate(e,t){if("string"==typeof e)return this.evaluateExpression(e,t);he("value should be either a string or a function",e)}evaluateExpression(e,t){try{const i=this.createExpressionFunction(e);return i(t.value,t.context,t.oldValue,t.newValue,t.value,t.node,t.data,t.colDef,t.rowIndex,t.api,t.getValue,t.column,t.columnGroup)}catch(i){return ce("Processing of the expression failed"),ce("Expression = ",e),ce("Params = ",t),ce("Exception = ",i),null}}createExpressionFunction(e){if(this.expressionToFunctionCache[e])return this.expressionToFunctionCache[e];const t=this.createFunctionBody(e),i=new Function("x, ctx, oldValue, newValue, value, node, data, colDef, rowIndex, api, getValue, column, columnGroup",t);return this.expressionToFunctionCache[e]=i,i}createFunctionBody(e){return e.indexOf("return")>=0?e:"return "+e+";"}},dd=class extends F{constructor(){super(...arguments),this.beanName="valueCache",this.cacheVersion=0}postConstruct(){this.active=this.gos.get("valueCache"),this.neverExpires=this.gos.get("valueCacheNeverExpires")}onDataChanged(){this.neverExpires||this.expire()}expire(){this.cacheVersion++}setValue(e,t,i){this.active&&(e.__cacheVersion!==this.cacheVersion&&(e.__cacheVersion=this.cacheVersion,e.__cacheData={}),e.__cacheData[t]=i)}getValue(e,t){if(this.active&&e.__cacheVersion===this.cacheVersion)return e.__cacheData[t]}},hd=class extends F{constructor(){super(...arguments),this.beanName="valueService",this.initialised=!1,this.isSsrm=!1}wireBeans(e){this.expressionService=e.expressionService,this.columnModel=e.columnModel,this.valueCache=e.valueCache,this.dataTypeService=e.dataTypeService}postConstruct(){this.initialised||this.init()}init(){this.isSsrm=this.gos.isRowModelType("serverSide"),this.cellExpressions=this.gos.get("enableCellExpressions"),this.isTreeData=this.gos.get("treeData"),this.initialised=!0;const e=e=>this.callColumnCellValueChangedHandler(e),t=this.gos.useAsyncEvents();this.eventService.addEventListener("cellValueChanged",e,t),this.addDestroyFunc((()=>this.eventService.removeEventListener("cellValueChanged",e,t))),this.addManagedPropertyListener("treeData",(e=>this.isTreeData=e.currentValue))}getValue(e,t,i=!1,a=!1){if(this.initialised||this.init(),!t)return;const n=e.getColDef(),r=n.field,o=e.getColId(),s=t.data;let l;const c=t.groupData&&void 0!==t.groupData[o],d=!a&&t.aggData&&void 0!==t.aggData[o],h=this.isSsrm&&a&&!!e.getColDef().aggFunc,u=this.isSsrm&&t.footer&&t.field&&(!0===e.getColDef().showRowGroup||e.getColDef().showRowGroup===t.field);if(i&&n.filterValueGetter?l=this.executeFilterValueGetter(n.filterValueGetter,s,e,t):this.isTreeData&&d?l=t.aggData[o]:this.isTreeData&&n.valueGetter?l=this.executeValueGetter(n.valueGetter,s,e,t):this.isTreeData&&r&&s?l=X(s,r,e.isFieldContainsDots()):c?l=t.groupData[o]:d?l=t.aggData[o]:n.valueGetter?l=this.executeValueGetter(n.valueGetter,s,e,t):u?l=X(s,t.field,e.isFieldContainsDots()):r&&s&&!h&&(l=X(s,r,e.isFieldContainsDots())),this.cellExpressions&&"string"==typeof l&&0===l.indexOf("=")){const i=l.substring(1);l=this.executeValueGetter(i,s,e,t)}if(null==l){const i=this.getOpenedGroup(t,e);if(null!=i)return i}return l}parseValue(e,t,i,a){const n=e.getColDef(),r=this.gos.addGridCommonParams({node:t,data:t?.data,oldValue:a,newValue:i,colDef:n,column:e}),o=n.valueParser;return N(o)?"function"==typeof o?o(r):this.expressionService.evaluate(o,r):i}formatValue(e,t,i,a,n=!0){let r,o=null;const s=e.getColDef();if(a?r=a:n&&(r=s.valueFormatter),r){const a=this.gos.addGridCommonParams({value:i,node:t,data:t?t.data:null,colDef:s,column:e});o="function"==typeof r?r(a):this.expressionService.evaluate(r,a)}else if(s.refData)return s.refData[i]||"";return null==o&&Array.isArray(i)&&(o=i.join(", ")),o}getOpenedGroup(e,t){if(!this.gos.get("showOpenedGroup"))return;if(!t.getColDef().showRowGroup)return;const i=t.getColDef().showRowGroup;let a=e.parent;for(;null!=a;){if(a.rowGroupColumn&&(!0===i||i===a.rowGroupColumn.getColId()))return a.key;a=a.parent}}setValue(e,t,i,a){const n=this.columnModel.getColDefCol(t);if(!e||!n)return!1;O(e.data)&&(e.data={});const{field:r,valueSetter:o}=n.getColDef();if(O(r)&&O(o))return de("you need either field or valueSetter set on colDef for editing to work"),!1;if(this.dataTypeService&&!this.dataTypeService.checkType(n,i))return de("Data type of the new value does not match the cell data type of the column"),!1;const s=this.gos.addGridCommonParams({node:e,data:e.data,oldValue:this.getValue(n,e),newValue:i,colDef:n.getColDef(),column:n});let l;if(s.newValue=i,l=N(o)?"function"==typeof o?o(s):this.expressionService.evaluate(o,s):this.setValueUsingField(e.data,r,i,n.isFieldContainsDots()),void 0===l&&(l=!0),!l)return!1;e.resetQuickFilterAggregateText(),this.valueCache.onDataChanged(),s.newValue=this.getValue(n,e);const c={type:"cellValueChanged",event:null,rowIndex:e.rowIndex,rowPinned:e.rowPinned,column:s.column,api:s.api,colDef:s.colDef,context:s.context,data:e.data,node:e,oldValue:s.oldValue,newValue:s.newValue,value:s.newValue,source:a};return this.eventService.dispatchEvent(c),!0}callColumnCellValueChangedHandler(e){const t=e.colDef.onCellValueChanged;"function"==typeof t&&this.getFrameworkOverrides().wrapOutgoing((()=>{t({node:e.node,data:e.data,oldValue:e.oldValue,newValue:e.newValue,colDef:e.colDef,column:e.column,api:e.api,context:e.context})}))}setValueUsingField(e,t,i,a){if(!t)return!1;let n=!1;if(a){const a=t.split(".");let r=e;for(;a.length>0&&r;){const e=a.shift();0===a.length?(n=r[e]===i,n||(r[e]=i)):r=r[e]}}else n=e[t]===i,n||(e[t]=i);return!n}executeFilterValueGetter(e,t,i,a){const n=this.gos.addGridCommonParams({data:t,node:a,column:i,colDef:i.getColDef(),getValue:this.getValueCallback.bind(this,a)});return"function"==typeof e?e(n):this.expressionService.evaluate(e,n)}executeValueGetter(e,t,i,a){const n=i.getColId(),r=this.valueCache.getValue(a,n);if(void 0!==r)return r;const o=this.gos.addGridCommonParams({data:t,node:a,column:i,colDef:i.getColDef(),getValue:this.getValueCallback.bind(this,a)});let s;return s="function"==typeof e?e(o):this.expressionService.evaluate(e,o),this.valueCache.setValue(a,n,s),s}getValueCallback(e,t){const i=this.columnModel.getColDefCol(t);return i?this.getValue(i,e):null}getKeyForNode(e,t){const i=this.getValue(e,t),a=e.getColDef().keyCreator;let n=i;if(a){n=a(this.gos.addGridCommonParams({value:i,colDef:e.getColDef(),column:e,node:t,data:t.data}))}return"string"==typeof n||null==n||(n=String(n),"[object Object]"===n&&de("a column you are grouping or pivoting by has objects as values. If you want to group by complex objects then either a) use a colDef.keyCreator (se AG Grid docs) or b) to toString() on the object to return a key")),n}},ud=class{};function gd(e){ud.gridOptions=e}function pd(e,t,i){if(!t)return he("No gridOptions provided to createGrid"),{};const a=(new vd).create(e,t,(t=>{const i=new Ul(e);t.createBean(i)}),void 0,i);if(!Object.isFrozen(t)&&!i?.frameworkOverrides){const e="https://ag-grid.com/javascript-data-grid/grid-interface/#grid-api";Object.defineProperty(t,"api",{get:()=>{he(`gridOptions.api is no longer supported. See ${e}.`)},configurable:!0})}return a}ud.gridOptions=void 0;var md=class{constructor(e,t,i){if(de("Since v31 new Grid(...) is deprecated. Use createGrid instead: `const gridApi = createGrid(...)`. The grid api is returned from createGrid and will not be available on gridOptions."),!t)return void he("No gridOptions provided to the grid");this.gridOptions=t;const a=(new vd).create(e,t,(t=>{const i=new Ul(e);t.createBean(i).addDestroyFunc((()=>{this.destroy()}))}),void 0,i);this.gridOptions.api=a}destroy(){this.gridOptions&&(this.gridOptions.api?.destroy(),delete this.gridOptions.api)}},fd=1,vd=class{create(e,t,i,a,n){let r={};ud.gridOptions?(Z(r,ud.gridOptions,!0,!0),r={...r,...t}):r=t;const o=function(e){const t={};return Object.entries(e).forEach((([e,i])=>{const a=Hc(e,i);t[e]=a})),t}(r),s=o.gridId??String(fd++),l=this.getRegisteredModules(n,s),c=this.createBeansList(o.rowModelType,l,s),d=this.createProvidedBeans(e,o,n);if(!c)return void he("Failed to create grid.");const h=new _a({providedBeanInstances:d,beanClasses:c,gridId:s,beanInitComparator:Dl,beanDestroyComparator:Al,derivedBeans:[yl]});return this.registerModuleUserComponents(h,l),this.registerControllers(h,l),this.registerModuleApiFunctions(h,l),i(h),h.getBean("syncService").start(),a&&a(h),h.getBean("gridApi")}registerControllers(e,t){const i=e.getBean("ctrlsFactory");t.forEach((e=>{e.controllers&&e.controllers.forEach((e=>i.register(e)))}))}getRegisteredModules(e,t){const i=e?e.modules:null,a=Ji.__getRegisteredModules(t),n=[],r={},o=(e,t,i)=>{var a;r[(a=t).moduleName]||(r[a.moduleName]=!0,n.push(a),Ji.__register(a,e,i)),t.dependantModules&&t.dependantModules.forEach((t=>o(e,t,i)))};return o(!!i?.length||!Ji.__isPackageBased(),Oc,void 0),i&&i.forEach((e=>o(!0,e,t))),a&&a.forEach((e=>o(!Ji.__isPackageBased(),e,void 0))),n}registerModuleUserComponents(e,t){const i=this.extractModuleEntity(t,(e=>e.userComponents?e.userComponents:[])),a=e.getBean("userComponentRegistry");i.forEach((e=>{a.registerDefaultComponent(e.name,e.classImp)}))}registerModuleApiFunctions(e,t){const i=e.getBean("apiFunctionService");t.forEach((e=>{const t=e.apiFunctions??{};Object.keys(t).forEach((e=>{i?.addFunction(e,t[e])}))}))}createProvidedBeans(e,t,i){let a=i?i.frameworkOverrides:null;O(a)&&(a=new gl);const n={gridOptions:t,eGridDiv:e,globalEventListener:i?i.globalEventListener:null,globalSyncEventListener:i?i.globalSyncEventListener:null,frameworkOverrides:a};return i&&i.providedBeanInstances&&Object.assign(n,i.providedBeanInstances),n}createBeansList(e="clientSide",t,i){const a=t.filter((t=>!t.rowModel||t.rowModel===e)),n={clientSide:"@ag-grid-community/client-side-row-model",infinite:"@ag-grid-community/infinite-row-model",serverSide:"@ag-grid-enterprise/server-side-row-model",viewport:"@ag-grid-enterprise/viewport-row-model"};if(!n[e])return void he("Could not find row model for rowModelType = ",e);if(!Ji.__assertRegistered(n[e],`rowModelType = '${e}'`,i))return;const r=[Il,Pl,qc,zc,fl,ya,kl,Ml,ps,Va,ed,us,Uc,Xs,Qa,Ze,Vl,_c,hl,ad,Te,Lr,Yc,jc,$s,cd,Ae,hs,dd,hd,js,gs,Ya,Wl,ds,zl,pl,al,ss,od,Xc,Zc,nd,ld,ms,bl,Jc,td,Tl,_l,Fl,El,sd,Qc,vs,Kc,$c,ys,Ne,Cl,ze,Ie,wl,Sl,Ue,Le,_e,xl,qe],o=this.extractModuleEntity(a,(e=>e.beans?e.beans:[]));r.push(...o);const s=[];return r.forEach((e=>{s.indexOf(e)<0&&s.push(e)})),s}extractModuleEntity(e,t){return[].concat(...e.map(t))}},yd=class extends F{constructor(){super(...arguments),this.beanName="rowModelHelperService"}wireBeans(e){this.rowModel=e.rowModel}postConstruct(){const e=this.rowModel;switch(e.getType()){case"clientSide":this.clientSideRowModel=e;break;case"infinite":this.infiniteRowModel=e;break;case"serverSide":this.serverSideRowModel=e}}getClientSideRowModel(){return this.clientSideRowModel}getInfiniteRowModel(){return this.infiniteRowModel}getServerSideRowModel(){return this.serverSideRowModel}};var bd={version:dr,moduleName:"@ag-grid-community/csrm-ssrm-shared-api",apiFunctions:{expandAll:function(e){e.expansionService.expandAll(!0)},collapseAll:function(e){e.expansionService.expandAll(!1)},onRowHeightChanged:function(e){const t=e.rowModelHelperService?.getClientSideRowModel(),i=e.rowModelHelperService?.getServerSideRowModel();t?t.onRowHeightChanged():i&&i.onRowHeightChanged()}}},Cd={version:dr,moduleName:"@ag-grid-community/ssrm-infinite-shared-api",apiFunctions:{setRowCount:function(e,t,i){const a=e.rowModelHelperService?.getServerSideRowModel();if(a)return e.funcColsService.isRowGroupEmpty()?void a.setRowCount(t,i):void he("setRowCount cannot be used while using row grouping.");const n=e.rowModelHelperService?.getInfiniteRowModel();n&&n.setRowCount(t,i)},getCacheBlockState:function(e){return e.rowNodeBlockLoader?.getBlockState()??{}}}},wd=class{wrap(e,t,i=[],a){const n=this.createWrapper(e,a);return t.forEach((e=>{this.createMethod(n,e,!0)})),i.forEach((e=>{this.createMethod(n,e,!1)})),n}unwrap(e){return e}createMethod(e,t,i){e.addMethod(t,this.createMethodProxy(e,t,i))}createMethodProxy(e,t,i){return function(){return e.hasMethod(t)?e.callMethod(t,arguments):(i&&de("Framework component is missing the method "+t+"()"),null)}}};function Sd(e,t){if(!e)return!1;const i=(e,i)=>{const a=t[e.id],n=t[i.id],r=void 0!==a,o=void 0!==n;return r&&o?a-n:!r&&!o?e.__objectId-i.__objectId:r?1:-1};let a,n,r=!1;for(let t=0;t<e.length-1;t++)if(a=e[t],n=e[t+1],i(a,n)>0){r=!0;break}return!!r&&(e.sort(i),!0)}var xd=class{};xd.CHART_TYPE_TO_SERIES_TYPE={column:"bar",groupedColumn:"bar",stackedColumn:"bar",normalizedColumn:"bar",bar:"bar",groupedBar:"bar",stackedBar:"bar",normalizedBar:"bar",line:"line",scatter:"scatter",bubble:"bubble",pie:"pie",donut:"donut",doughnut:"donut",area:"area",stackedArea:"area",normalizedArea:"area",histogram:"histogram",radarLine:"radar-line",radarArea:"radar-area",nightingale:"nightingale",radialColumn:"radial-column",radialBar:"radial-bar",sunburst:"sunburst",rangeBar:"range-bar",rangeArea:"range-area",boxPlot:"box-plot",treemap:"treemap",heatmap:"heatmap",waterfall:"waterfall"},xd.COMBO_CHART_TYPES=["columnLineCombo","areaColumnCombo","customCombo"],xd.SERIES_GROUP_TYPES=["grouped","stacked","normalized"];var kd=(e=>(e.InsideBase="insideBase",e.InsideEnd="insideEnd",e.Center="center",e.OutsideEnd="outsideEnd",e))(kd||{}),Md=void 0===i.g?{}:i.g;Md.HTMLElement="undefined"==typeof HTMLElement?{}:HTMLElement,Md.HTMLButtonElement="undefined"==typeof HTMLButtonElement?{}:HTMLButtonElement,Md.HTMLSelectElement="undefined"==typeof HTMLSelectElement?{}:HTMLSelectElement,Md.HTMLInputElement="undefined"==typeof HTMLInputElement?{}:HTMLInputElement,Md.Node="undefined"==typeof Node?{}:Node,Md.MouseEvent="undefined"==typeof MouseEvent?{}:MouseEvent},9209:function(e,t,i){var a,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,l={};((e,t)=>{for(var i in t)n(e,i,{get:t[i],enumerable:!0})})(l,{BaseCreator:()=>d,BaseGridSerializingSession:()=>h,CsvCreator:()=>v,CsvExportModule:()=>M,Downloader:()=>p,GridSerializer:()=>w,RowType:()=>C,XmlFactory:()=>A,ZipContainer:()=>B,_CsvExportCoreModule:()=>x}),e.exports=(a=l,((e,t,i,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of o(t))s.call(e,l)||l===i||n(e,l,{get:()=>t[l],enumerable:!(a=r(t,l))||a.enumerable});return e})(n({},"__esModule",{value:!0}),a));var c=i(3423),d=class extends c.BeanStub{setBeans(e){this.beans=e}getFileName(e){const t=this.getDefaultFileExtension();return null!=e&&e.length||(e=this.getDefaultFileName()),-1===e.indexOf(".")?`${e}.${t}`:e}getData(e){const t=this.createSerializingSession(e);return this.beans.gridSerializer.serialize(t,e)}getDefaultFileName(){return`export.${this.getDefaultFileExtension()}`}},h=class{constructor(e){this.groupColumns=[];const{columnModel:t,funcColsService:i,columnNameService:a,valueService:n,gos:r,processCellCallback:o,processHeaderCallback:s,processGroupHeaderCallback:l,processRowGroupCallback:c}=e;this.columnModel=t,this.funcColsService=i,this.columnNameService=a,this.valueService=n,this.gos=r,this.processCellCallback=o,this.processHeaderCallback=s,this.processGroupHeaderCallback=l,this.processRowGroupCallback=c}prepare(e){this.groupColumns=e.filter((e=>!!e.getColDef().showRowGroup))}extractHeaderValue(e){return this.getHeaderName(this.processHeaderCallback,e)??""}extractRowCellValue(e,t,i,a,n){const r=this.gos.get("groupHideOpenParents")&&!n.footer||!this.shouldRenderGroupSummaryCell(n,e,t)?this.valueService.getValue(e,n):this.createValueForGroupNode(e,n);return this.processCell({accumulatedRowIndex:i,rowNode:n,column:e,value:r,processCellCallback:this.processCellCallback,type:a})}shouldRenderGroupSummaryCell(e,t,i){if(!(e&&e.group))return!1;if(-1!==this.groupColumns.indexOf(t)){if(null!=e.groupData?.[t.getId()])return!0;if(this.gos.isRowModelType("serverSide")&&e.group)return!0;if(e.footer&&-1===e.level){const e=t.getColDef();return null==e||!0===e.showRowGroup||e.showRowGroup===this.funcColsService.getRowGroupColumns()[0].getId()}}const a=this.gos.isGroupUseEntireRow(this.columnModel.isPivotMode());return 0===i&&a}getHeaderName(e,t){return e?e(this.gos.addGridCommonParams({column:t})):this.columnNameService.getDisplayNameForColumn(t,"csv",!0)}createValueForGroupNode(e,t){if(this.processRowGroupCallback)return this.processRowGroupCallback(this.gos.addGridCommonParams({column:e,node:t}));const i=this.gos.get("treeData"),a=this.gos.get("suppressGroupMaintainValueType"),n=t=>{if(i||a)return t.key;const n=t.groupData?.[e.getId()];return n&&t.rowGroupColumn&&!1!==t.rowGroupColumn.getColDef().useValueFormatterForExport?this.valueService.formatValue(t.rowGroupColumn,t,n)??n:n},r=t.footer,o=[n(t)];if(!this.gos.isGroupMultiAutoColumn())for(;t.parent;)t=t.parent,o.push(n(t));const s=o.reverse().join(" -> ");return r?`Total ${s}`:s}processCell(e){const{accumulatedRowIndex:t,rowNode:i,column:a,value:n,processCellCallback:r,type:o}=e;return r?{value:r(this.gos.addGridCommonParams({accumulatedRowIndex:t,column:a,node:i,value:n,type:o,parseValue:e=>this.valueService.parseValue(a,i,e,this.valueService.getValue(a,i)),formatValue:e=>this.valueService.formatValue(a,i,e)??e}))??""}:!1!==a.getColDef().useValueFormatterForExport?{value:n??"",valueFormatted:this.valueService.formatValue(a,i,n)}:{value:n??""}}},u=i(3423),g=i(3423),p=class{static download(e,t){const i=document.defaultView||window;if(!i)return void(0,g._warnOnce)("There is no `window` associated with the current `document`");const a=document.createElement("a"),n=i.URL.createObjectURL(t);a.setAttribute("href",n),a.setAttribute("download",e),a.style.display="none",document.body.appendChild(a),a.dispatchEvent(new MouseEvent("click",{bubbles:!1,cancelable:!0,view:i})),document.body.removeChild(a),i.setTimeout((()=>{i.URL.revokeObjectURL(n)}),0)}},m=i(3423),f=class extends h{constructor(e){super(e),this.isFirstLine=!0,this.result="";const{suppressQuotes:t,columnSeparator:i}=e;this.suppressQuotes=t,this.columnSeparator=i}addCustomContent(e){e&&("string"==typeof e?(/^\s*\n/.test(e)||this.beginNewLine(),e=e.replace(/\r?\n/g,"\r\n"),this.result+=e):e.forEach((e=>{this.beginNewLine(),e.forEach(((e,t)=>{0!==t&&(this.result+=this.columnSeparator),this.result+=this.putInQuotes(e.data.value||""),e.mergeAcross&&this.appendEmptyCells(e.mergeAcross)}))})))}onNewHeaderGroupingRow(){return this.beginNewLine(),{onColumn:this.onNewHeaderGroupingRowColumn.bind(this)}}onNewHeaderGroupingRowColumn(e,t,i,a){0!=i&&(this.result+=this.columnSeparator),this.result+=this.putInQuotes(t),this.appendEmptyCells(a)}appendEmptyCells(e){for(let t=1;t<=e;t++)this.result+=this.columnSeparator+this.putInQuotes("")}onNewHeaderRow(){return this.beginNewLine(),{onColumn:this.onNewHeaderRowColumn.bind(this)}}onNewHeaderRowColumn(e,t){0!=t&&(this.result+=this.columnSeparator),this.result+=this.putInQuotes(this.extractHeaderValue(e))}onNewBodyRow(){return this.beginNewLine(),{onColumn:this.onNewBodyRowColumn.bind(this)}}onNewBodyRowColumn(e,t,i){0!=t&&(this.result+=this.columnSeparator);const a=this.extractRowCellValue(e,t,t,"csv",i);this.result+=this.putInQuotes(a.valueFormatted??a.value)}putInQuotes(e){if(this.suppressQuotes)return e;if(null==e)return'""';let t;"string"==typeof e?t=e:"function"==typeof e.toString?t=e.toString():((0,m._warnOnce)("unknown value type during csv conversion"),t="");return'"'+t.replace(/"/g,'""')+'"'}parse(){return this.result}beginNewLine(){this.isFirstLine||(this.result+="\r\n"),this.isFirstLine=!1}},v=class extends d{constructor(){super(...arguments),this.beanName="csvCreator"}wireBeans(e){this.columnModel=e.columnModel,this.columnNameService=e.columnNameService,this.funcColsService=e.funcColsService,this.valueService=e.valueService,this.gridSerializer=e.gridSerializer}postConstruct(){this.setBeans({gridSerializer:this.gridSerializer,gos:this.gos})}getMergedParams(e){const t=this.gos.get("defaultCsvExportParams");return Object.assign({},t,e)}export(e){if(this.isExportSuppressed())return void(0,u._warnOnce)("Export cancelled. Export is not allowed as per your configuration.");const t=this.getMergedParams(e),i=this.getData(t),a=new Blob(["\ufeff",i],{type:"text/plain"}),n="function"==typeof t.fileName?t.fileName(this.gos.getGridCommonParams()):t.fileName;p.download(this.getFileName(n),a)}exportDataAsCsv(e){this.export(e)}getDataAsCsv(e,t=!1){const i=t?Object.assign({},e):this.getMergedParams(e);return this.getData(i)}getDefaultFileExtension(){return"csv"}createSerializingSession(e){const{columnModel:t,columnNameService:i,funcColsService:a,valueService:n,gos:r}=this,{processCellCallback:o,processHeaderCallback:s,processGroupHeaderCallback:l,processRowGroupCallback:c,suppressQuotes:d,columnSeparator:h}=e;return new f({columnModel:t,columnNameService:i,funcColsService:a,valueService:n,gos:r,processCellCallback:o||void 0,processHeaderCallback:s||void 0,processGroupHeaderCallback:l||void 0,processRowGroupCallback:c||void 0,suppressQuotes:d||!1,columnSeparator:h||","})}isExportSuppressed(){return this.gos.get("suppressCsvExport")}},y=i(3423);var b=i(3423),C=(e=>(e[e.HEADER_GROUPING=0]="HEADER_GROUPING",e[e.HEADER=1]="HEADER",e[e.BODY=2]="BODY",e))(C||{}),w=class extends b.BeanStub{constructor(){super(...arguments),this.beanName="gridSerializer"}wireBeans(e){this.visibleColsService=e.visibleColsService,this.columnModel=e.columnModel,this.columnNameService=e.columnNameService,this.rowModel=e.rowModel,this.pinnedRowModel=e.pinnedRowModel,this.selectionService=e.selectionService,this.rowNodeSorter=e.rowNodeSorter,this.sortController=e.sortController}serialize(e,t={}){const{allColumns:i,columnKeys:a,skipRowGroups:n}=t,r=this.getColumnsToExport(i,n,a);return(0,b._compose)(this.prepareSession(r),this.prependContent(t),this.exportColumnGroups(t,r),this.exportHeaders(t,r),this.processPinnedTopRows(t,r),this.processRows(t,r),this.processPinnedBottomRows(t,r),this.appendContent(t))(e).parse()}processRow(e,t,i,a){const n=t.shouldRowBeSkipped||(()=>!1),r=this.gos.get("groupRemoveSingleChildren"),o=this.gos.get("groupRemoveLowestSingleChildren"),s=null!=t.rowPositions||!!t.onlySelected,l=this.gos.get("groupHideOpenParents")&&!s,c=this.columnModel.isPivotMode()?a.leafGroup:!a.group,d=!!a.footer,h=o&&a.leafGroup,u=1===a.allChildrenCount&&1===a.childrenAfterGroup?.length&&(r||h);if(!c&&!d&&(t.skipRowGroups||u||l)||t.onlySelected&&!a.isSelected()||t.skipPinnedTop&&"top"===a.rowPinned||t.skipPinnedBottom&&"bottom"===a.rowPinned)return;if(-1===a.level&&!c&&!d)return;if(n(this.gos.addGridCommonParams({node:a})))return;const g=e.onNewBodyRow(a);if(i.forEach(((e,t)=>{g.onColumn(e,t,a)})),t.getCustomContentBelowRow){const i=t.getCustomContentBelowRow(this.gos.addGridCommonParams({node:a}));i&&e.addCustomContent(i)}}appendContent(e){return t=>{const i=e.appendContent;return i&&t.addCustomContent(i),t}}prependContent(e){return t=>{const i=e.prependContent;return i&&t.addCustomContent(i),t}}prepareSession(e){return t=>(t.prepare(e),t)}exportColumnGroups(e,t){return i=>{if(!e.skipColumnGroupHeaders){const a=new b.GroupInstanceIdCreator,n=this.visibleColsService.createGroups({columns:t,idCreator:a,pinned:null,isStandaloneStructure:!0});this.recursivelyAddHeaderGroups(n,i,e.processGroupHeaderCallback)}return i}}exportHeaders(e,t){return i=>{if(!e.skipColumnHeaders){const e=i.onNewHeaderRow();t.forEach(((t,i)=>{e.onColumn(t,i,void 0)}))}return i}}processPinnedTopRows(e,t){return i=>{const a=this.processRow.bind(this,i,e,t);return e.rowPositions?e.rowPositions.filter((e=>"top"===e.rowPinned)).sort(((e,t)=>e.rowIndex-t.rowIndex)).map((e=>this.pinnedRowModel.getPinnedTopRow(e.rowIndex))).forEach(a):this.pinnedRowModel.forEachPinnedTopRow(a),i}}processRows(e,t){return i=>{const a=this.rowModel,n=a.getType(),r="clientSide"===n,o="serverSide"===n,s=!r&&e.onlySelected,l=this.processRow.bind(this,i,e,t),{exportedRows:c="filteredAndSorted"}=e;if(e.rowPositions)e.rowPositions.filter((e=>null==e.rowPinned)).sort(((e,t)=>e.rowIndex-t.rowIndex)).map((e=>a.getRow(e.rowIndex))).forEach(l);else if(this.columnModel.isPivotMode())r?a.forEachPivotNode(l,!0):o?a.forEachNodeAfterFilterAndSort(l,!0):a.forEachNode(l);else if(e.onlySelectedAllPages||s){const e=this.selectionService.getSelectedNodes();this.replicateSortedOrder(e),e.forEach(l)}else"all"===c?a.forEachNode(l):r||o?a.forEachNodeAfterFilterAndSort(l,!0):a.forEachNode(l);return i}}replicateSortedOrder(e){const t=this.sortController.getSortOptions(),i=(e,a)=>null!=e.rowIndex&&null!=a.rowIndex?e.rowIndex-a.rowIndex:e.level===a.level?e.parent?.id===a.parent?.id?this.rowNodeSorter.compareRowNodes(t,{rowNode:e,currentPos:e.rowIndex??-1},{rowNode:a,currentPos:a.rowIndex??-1}):i(e.parent,a.parent):e.level>a.level?i(e.parent,a):i(e,a.parent);e.sort(i)}processPinnedBottomRows(e,t){return i=>{const a=this.processRow.bind(this,i,e,t);return e.rowPositions?e.rowPositions.filter((e=>"bottom"===e.rowPinned)).sort(((e,t)=>e.rowIndex-t.rowIndex)).map((e=>this.pinnedRowModel.getPinnedBottomRow(e.rowIndex))).forEach(a):this.pinnedRowModel.forEachPinnedBottomRow(a),i}}getColumnsToExport(e=!1,t=!1,i){const a=this.columnModel.isPivotMode();if(i&&i.length)return this.columnModel.getColsForKeys(i);const n=this.gos.get("treeData");let r=[];return r=e&&!a?this.columnModel.getCols():this.visibleColsService.getAllCols(),t&&!n&&(r=r.filter((e=>e.getColId()!==b.GROUP_AUTO_COLUMN_ID))),r}recursivelyAddHeaderGroups(e,t,i){const a=[];e.forEach((e=>{const t=e;t.getChildren&&t.getChildren().forEach((e=>a.push(e)))})),e.length>0&&(0,b.isColumnGroup)(e[0])&&this.doAddHeaderHeader(t,e,i),a&&a.length>0&&this.recursivelyAddHeaderGroups(a,t,i)}doAddHeaderHeader(e,t,i){const a=e.onNewHeaderGroupingRow();let n=0;t.forEach((e=>{const t=e;let r;r=i?i(this.gos.addGridCommonParams({columnGroup:t})):this.columnNameService.getDisplayNameForColumnGroup(t,"header");const o=t.getLeafColumns().reduce(((e,t,i,a)=>{let n=(0,b._last)(e);return"open"===t.getColumnGroupShow()?n&&null==n[1]||(n=[i],e.push(n)):n&&null==n[1]&&(n[1]=i-1),i===a.length-1&&n&&null==n[1]&&(n[1]=i),e}),[]);a.onColumn(t,r||"",n++,t.getLeafColumns().length-1,o)}))}},S="32.0.2",x={version:S,moduleName:`${y.ModuleNames.CsvExportModule}-core`,beans:[v,w]},k={version:S,moduleName:`${y.ModuleNames.CsvExportModule}-api`,apiFunctions:{getDataAsCsv:function(e,t){return e.csvCreator?.getDataAsCsv(t)},exportDataAsCsv:function(e,t){e.csvCreator?.exportDataAsCsv(t)}},dependantModules:[x]},M={version:S,moduleName:y.ModuleNames.CsvExportModule,dependantModules:[x,k]},R="\r\n";function D(e,t,i){if(!t&&""!==t&&0!==t)return"";let a=t;return"boolean"==typeof t&&i&&(a=i(t)),` ${e}="${a}"`}var A=class{static createHeader(e={}){const t=["version"];e.version||(e.version="1.0"),e.encoding&&t.push("encoding"),e.standalone&&t.push("standalone");return`<?xml ${t.map((t=>`${t}="${e[t]}"`)).join(" ")} ?>`}static createXml(e,t){let i="";e.properties&&(e.properties.prefixedAttributes&&e.properties.prefixedAttributes.forEach((e=>{Object.keys(e.map).forEach((a=>{i+=D(e.prefix+a,e.map[a],t)}))})),e.properties.rawMap&&Object.keys(e.properties.rawMap).forEach((a=>{i+=D(a,e.properties.rawMap[a],t)})));let a="<"+e.name+i;return e.children||null!=e.textNode?null!=e.textNode?a+">"+e.textNode+"</"+e.name+">"+R:(a+=">\r\n",e.children&&e.children.forEach((e=>{a+=this.createXml(e,t)})),a+"</"+e.name+">"+R):a+"/>"+R}},E=i(3423),T=async e=>{const t=new Blob([e]),{size:i,content:a}=await(async e=>{let t=0;const i=[],a=new WritableStream({write:e=>{i.push(e),t+=e.length}}),n=new ReadableStream({start:t=>{const i=new FileReader;i.onload=e=>{e.target?.result&&t.enqueue(e.target.result),t.close()},i.readAsArrayBuffer(e)}}),r=new window.CompressionStream("deflate-raw");return await n.pipeThrough(r).pipeTo(a),{size:t,content:new Blob(i)}})(t);return{size:i,content:new Uint8Array(await a.arrayBuffer())}};function P(e,t){let i="";for(let a=0;a<t;a++)i+=String.fromCharCode(255&e),e>>>=8;return i}var F=e=>{if(!e.length)return 0;let t=~0,i=0,a=0,n=0;for(let r=0;r<e.length;r++)i=e[r],a=255&(t^i),n=L[a],t=t>>>8^n;return~t},I=e=>e.length?F("string"==typeof e?(new TextEncoder).encode(e):e):0,L=new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]),N=(e,t,i,a,n,r)=>{const{content:o,path:s,created:l}=e,c=(e=>{let t=e.getHours();return t<<=6,t|=e.getMinutes(),t<<=5,t|=e.getSeconds()/2,t})(l),d=(e=>{let t=e.getFullYear()-1980;return t<<=4,t|=e.getMonth()+1,t<<=5,t|=e.getDate(),t})(l),h=I(n),u=void 0!==r?r:a,g=(0,E._utf8_encode)(s),p=g!==s;let m="";if(p){const e=P(1,1)+P(I(g),4)+g;m="up"+P(e.length,2)+e}const f="\0"+(p?"\0\b":"\0\0")+P(t?8:0,2)+P(c,2)+P(d,2)+P(u?h:0,4)+P(r??a,4)+P(a,4)+P(g.length,2)+P(m.length,2),v="PK"+f+g+m,y="PK\0"+f+"\0\0\0\0\0\0"+(o?"\0\0\0\0":"\0\0\0")+P(i,4)+g+m;return{localFileHeader:Uint8Array.from(v,(e=>e.charCodeAt(0))),centralDirectoryHeader:Uint8Array.from(y,(e=>e.charCodeAt(0)))}},O=e=>{let t;if("string"==typeof e){const i=atob(e.split(";base64,")[1]);t=Uint8Array.from(i,(e=>e.charCodeAt(0)))}else t=e;return{size:t.length,content:t}},z=async(e,t)=>{const{content:i}=e,{size:a,content:n}=i?O(i):{size:0,content:Uint8Array.from([])};let r,o,s=!1;if("file"===e.type&&n&&a>0){const e=await T(n);r=e.content,o=e.size,s=!0}return{...N(e,s,t,a,n,o),content:r||n,isCompressed:s}},G=(e,t)=>{const{content:i}=e,{content:a}=i?O(i):{content:Uint8Array.from([])};return{...N(e,!1,t,a.length,a,void 0),content:a,isCompressed:!1}},B=class{static addFolders(e){e.forEach(this.addFolder.bind(this))}static addFolder(e){this.folders.push({path:e,created:new Date,isBase64:!1,type:"folder"})}static addFile(e,t,i=!1){this.files.push({path:e,created:new Date,content:i?t:(new TextEncoder).encode(t),isBase64:i,type:"file"})}static async getZipFile(e="application/zip"){const t=await this.buildCompressedFileStream();return this.clearStream(),new Blob([t],{type:e})}static getUncompressedZipFile(e="application/zip"){const t=this.buildFileStream();return this.clearStream(),new Blob([t],{type:e})}static clearStream(){this.folders=[],this.files=[]}static packageFiles(e){let t=0,i=0;for(const a of e){const{localFileHeader:e,centralDirectoryHeader:n,content:r}=a;t+=e.length+r.length,i+=n.length}const a=new Uint8Array(t),n=new Uint8Array(i);let r=0,o=0;for(const t of e){const{localFileHeader:e,centralDirectoryHeader:i,content:s}=t;a.set(e,r),r+=e.length,a.set(s,r),r+=s.length,n.set(i,o),o+=i.length}const s=((e,t,i)=>{const a="PK\0\0\0\0"+P(e,2)+P(e,2)+P(t,4)+P(i,4)+"\0\0";return Uint8Array.from(a,(e=>e.charCodeAt(0)))})(e.length,i,t),l=new Uint8Array(a.length+n.length+s.length);return l.set(a),l.set(n,a.length),l.set(s,a.length+n.length),l}static async buildCompressedFileStream(){const e=[...this.folders,...this.files],t=[];let i=0;for(const a of e){const e=await z(a,i),{localFileHeader:n,content:r}=e;t.push(e),i+=n.length+r.length}return this.packageFiles(t)}static buildFileStream(){const e=[...this.folders,...this.files],t=[];let i=0;for(const a of e){const e=G(a,i),{localFileHeader:n,content:r}=e;t.push(e),i+=n.length+r.length}return this.packageFiles(t)}};B.folders=[],B.files=[]},9773:function(e,t,i){var a,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,l={};((e,t)=>{for(var i in t)n(e,i,{get:t[i],enumerable:!0})})(l,{InfiniteRowModelModule:()=>b}),e.exports=(a=l,((e,t,i,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of o(t))s.call(e,l)||l===i||n(e,l,{get:()=>t[l],enumerable:!(a=r(t,l))||a.enumerable});return e})(n({},"__esModule",{value:!0}),a));var c=i(3423),d=i(3423),h=i(3423),u=i(3423),g=class extends u.RowNodeBlock{wireBeans(e){this.beans=e}constructor(e,t,i){super(e),this.parentCache=t,this.params=i,this.startRow=e*i.blockSize,this.endRow=this.startRow+i.blockSize}postConstruct(){this.createRowNodes()}getBlockStateJson(){return{id:""+this.getId(),state:{blockNumber:this.getId(),startRow:this.getStartRow(),endRow:this.getEndRow(),pageStatus:this.getState()}}}setDataAndId(e,t,i){(0,u._exists)(t)?e.setDataAndId(t,i.toString()):e.setDataAndId(void 0,void 0)}loadFromDatasource(){const e=this.createLoadParams();(0,u._missing)(this.params.datasource.getRows)?(0,u._warnOnce)("datasource is missing getRows method"):window.setTimeout((()=>{this.params.datasource.getRows(e)}),0)}processServerFail(){}createLoadParams(){return{startRow:this.getStartRow(),endRow:this.getEndRow(),successCallback:this.pageLoaded.bind(this,this.getVersion()),failCallback:this.pageLoadFailed.bind(this,this.getVersion()),sortModel:this.params.sortModel,filterModel:this.params.filterModel,context:this.gos.getGridCommonParams().context}}forEachNode(e,t,i){this.rowNodes.forEach(((a,n)=>{this.startRow+n<i&&e(a,t.next())}))}getLastAccessed(){return this.lastAccessed}getRow(e,t=!1){t||(this.lastAccessed=this.params.lastAccessedSequence.next());const i=e-this.startRow;return this.rowNodes[i]}getStartRow(){return this.startRow}getEndRow(){return this.endRow}createRowNodes(){this.rowNodes=[];for(let e=0;e<this.params.blockSize;e++){const t=this.startRow+e,i=new u.RowNode(this.beans);i.setRowHeight(this.params.rowHeight),i.uiLevel=0,i.setRowIndex(t),i.setRowTop(this.params.rowHeight*t),this.rowNodes.push(i)}}processServerResult(e){this.rowNodes.forEach(((t,i)=>{const a=e.rowData?e.rowData[i]:void 0;!t.id&&t.alreadyRendered&&a&&(this.rowNodes[i]=new u.RowNode(this.beans),this.rowNodes[i].setRowIndex(t.rowIndex),this.rowNodes[i].setRowTop(t.rowTop),this.rowNodes[i].setRowHeight(t.rowHeight),t.clearRowTopAndRowIndex()),this.setDataAndId(this.rowNodes[i],a,this.startRow+i)}));const t=null!=e.rowCount&&e.rowCount>=0?e.rowCount:void 0;this.parentCache.pageLoaded(this,t)}destroy(){this.rowNodes.forEach((e=>{e.clearRowTopAndRowIndex()})),super.destroy()}},p=class extends h.BeanStub{constructor(e){super(),this.lastRowIndexKnown=!1,this.blocks={},this.blockCount=0,this.rowCount=e.initialRowCount,this.params=e}wireBeans(e){this.rowRenderer=e.rowRenderer,this.focusService=e.focusService}getRow(e,t=!1){const i=Math.floor(e/this.params.blockSize);let a=this.blocks[i];if(!a){if(t)return;a=this.createBlock(i)}return a.getRow(e)}createBlock(e){const t=this.createBean(new g(e,this,this.params));return this.blocks[t.getId()]=t,this.blockCount++,this.purgeBlocksIfNeeded(t),this.params.rowNodeBlockLoader.addBlock(t),t}refreshCache(){0==this.blockCount?this.purgeCache():(this.getBlocksInOrder().forEach((e=>e.setStateWaitingToLoad())),this.params.rowNodeBlockLoader.checkBlockToLoad())}destroy(){this.getBlocksInOrder().forEach((e=>this.destroyBlock(e))),super.destroy()}getRowCount(){return this.rowCount}isLastRowIndexKnown(){return this.lastRowIndexKnown}pageLoaded(e,t){this.isAlive()&&(this.gos.get("debug")&&(0,h._log)(`InfiniteCache - onPageLoaded: page = ${e.getId()}, lastRow = ${t}`),this.checkRowCount(e,t),this.onCacheUpdated())}purgeBlocksIfNeeded(e){const t=this.getBlocksInOrder().filter((t=>t!=e));t.sort(((e,t)=>t.getLastAccessed()-e.getLastAccessed()));const i=this.params.maxBlocksInCache>0,a=i?this.params.maxBlocksInCache-1:null;t.forEach(((e,t)=>{if("needsLoading"===e.getState()&&t>=1||!!i&&t>=a){if(this.isBlockCurrentlyDisplayed(e))return;if(this.isBlockFocused(e))return;this.removeBlockFromCache(e)}}))}isBlockFocused(e){const t=this.focusService.getFocusCellToUseAfterRefresh();if(!t)return!1;if(null!=t.rowPinned)return!1;const i=e.getStartRow(),a=e.getEndRow();return t.rowIndex>=i&&t.rowIndex<a}isBlockCurrentlyDisplayed(e){const t=e.getStartRow(),i=e.getEndRow()-1;return this.rowRenderer.isRangeInRenderedViewport(t,i)}removeBlockFromCache(e){e&&this.destroyBlock(e)}checkRowCount(e,t){if("number"==typeof t&&t>=0)this.rowCount=t,this.lastRowIndexKnown=!0;else if(!this.lastRowIndexKnown){const t=(e.getId()+1)*this.params.blockSize+this.params.overflowSize;this.rowCount<t&&(this.rowCount=t)}}setRowCount(e,t){this.rowCount=e,(0,h._exists)(t)&&(this.lastRowIndexKnown=t),this.lastRowIndexKnown||this.rowCount%this.params.blockSize==0&&this.rowCount++,this.onCacheUpdated()}forEachNodeDeep(e){const t=new h.NumberSequence;this.getBlocksInOrder().forEach((i=>i.forEachNode(e,t,this.rowCount)))}getBlocksInOrder(){return(0,h._getAllValuesInObject)(this.blocks).sort(((e,t)=>e.getId()-t.getId()))}destroyBlock(e){delete this.blocks[e.getId()],this.destroyBean(e),this.blockCount--,this.params.rowNodeBlockLoader.removeBlock(e)}onCacheUpdated(){if(this.isAlive()){this.destroyAllBlocksPastVirtualRowCount();const e={type:"storeUpdated"};this.eventService.dispatchEvent(e)}}destroyAllBlocksPastVirtualRowCount(){const e=[];this.getBlocksInOrder().forEach((t=>{t.getId()*this.params.blockSize>=this.rowCount&&e.push(t)})),e.length>0&&e.forEach((e=>this.destroyBlock(e)))}purgeCache(){this.getBlocksInOrder().forEach((e=>this.removeBlockFromCache(e))),this.lastRowIndexKnown=!1,0===this.rowCount&&(this.rowCount=this.params.initialRowCount),this.onCacheUpdated()}getRowNodesInRange(e,t){const i=[];let a=-1,n=!1;const r=new h.NumberSequence;let o=!1;this.getBlocksInOrder().forEach((s=>{o||(n&&a+1!==s.getId()?o=!0:(a=s.getId(),s.forEachNode((a=>{const r=a===e||a===t;(n||r)&&i.push(a),r&&(n=!n)}),r,this.rowCount)))}));return o||n?[]:i}},m=class extends d.BeanStub{constructor(){super(...arguments),this.beanName="rowModel"}wireBeans(e){this.filterManager=e.filterManager,this.sortController=e.sortController,this.selectionService=e.selectionService,this.rowRenderer=e.rowRenderer,this.rowNodeBlockLoader=e.rowNodeBlockLoader}getRowBounds(e){return{rowHeight:this.rowHeight,rowTop:this.rowHeight*e}}ensureRowHeightsValid(){return!1}postConstruct(){this.gos.isRowModelType("infinite")&&(this.rowHeight=this.gos.getRowHeightAsNumber(),this.addEventListeners(),this.addDestroyFunc((()=>this.destroyCache())),this.verifyProps())}verifyProps(){this.gos.exists("initialGroupOrderComparator")&&(0,d._warnOnce)("initialGroupOrderComparator cannot be used with Infinite Row Model as sorting is done on the server side")}start(){this.setDatasource(this.gos.get("datasource"))}destroy(){this.destroyDatasource(),super.destroy()}destroyDatasource(){this.datasource&&(this.destroyBean(this.datasource),this.rowRenderer.datasourceChanged(),this.datasource=null)}addEventListeners(){this.addManagedEventListeners({filterChanged:this.onFilterChanged.bind(this),sortChanged:this.onSortChanged.bind(this),newColumnsLoaded:this.onColumnEverything.bind(this),storeUpdated:this.onCacheUpdated.bind(this)}),this.addManagedPropertyListener("datasource",(()=>this.setDatasource(this.gos.get("datasource")))),this.addManagedPropertyListener("cacheBlockSize",(()=>this.resetCache())),this.addManagedPropertyListener("rowHeight",(()=>{this.rowHeight=this.gos.getRowHeightAsNumber(),this.cacheParams.rowHeight=this.rowHeight,this.updateRowHeights()}))}onFilterChanged(){this.reset()}onSortChanged(){this.reset()}onColumnEverything(){let e;e=!this.cacheParams||this.isSortModelDifferent(),e&&this.reset()}isSortModelDifferent(){return!(0,d._jsonEquals)(this.cacheParams.sortModel,this.sortController.getSortModel())}getType(){return"infinite"}setDatasource(e){this.destroyDatasource(),this.datasource=e,e&&this.reset()}isEmpty(){return!this.infiniteCache}isRowsToRender(){return!!this.infiniteCache}getNodesInRangeForSelection(e,t){return this.infiniteCache?this.infiniteCache.getRowNodesInRange(e,t):[]}reset(){if(!this.datasource)return;null!=this.gos.getRowIdCallback()||this.selectionService.reset("rowDataChanged"),this.resetCache()}createModelUpdatedEvent(){return{type:"modelUpdated",newPage:!1,newPageSize:!1,newData:!1,keepRenderedRows:!0,animate:!1}}resetCache(){this.destroyCache(),this.cacheParams={datasource:this.datasource,filterModel:this.filterManager?.getFilterModel()??{},sortModel:this.sortController.getSortModel(),rowNodeBlockLoader:this.rowNodeBlockLoader,initialRowCount:this.gos.get("infiniteInitialRowCount"),maxBlocksInCache:this.gos.get("maxBlocksInCache"),rowHeight:this.gos.getRowHeightAsNumber(),overflowSize:this.gos.get("cacheOverflowSize"),blockSize:this.gos.get("cacheBlockSize"),lastAccessedSequence:new d.NumberSequence},this.infiniteCache=this.createBean(new p(this.cacheParams)),this.eventService.dispatchEventOnce({type:"rowCountReady"});const e=this.createModelUpdatedEvent();this.eventService.dispatchEvent(e)}updateRowHeights(){this.forEachNode((e=>{e.setRowHeight(this.rowHeight),e.setRowTop(this.rowHeight*e.rowIndex)}));const e=this.createModelUpdatedEvent();this.eventService.dispatchEvent(e)}destroyCache(){this.infiniteCache&&(this.infiniteCache=this.destroyBean(this.infiniteCache))}onCacheUpdated(){const e=this.createModelUpdatedEvent();this.eventService.dispatchEvent(e)}getRow(e){if(this.infiniteCache&&!(e>=this.infiniteCache.getRowCount()))return this.infiniteCache.getRow(e)}getRowNode(e){let t;return this.forEachNode((i=>{i.id===e&&(t=i)})),t}forEachNode(e){this.infiniteCache&&this.infiniteCache.forEachNodeDeep(e)}getTopLevelRowCount(){return this.getRowCount()}getTopLevelRowDisplayedIndex(e){return e}getRowIndexAtPixel(e){if(0!==this.rowHeight){const t=Math.floor(e/this.rowHeight),i=this.getRowCount()-1;return t>i?i:t}return 0}getRowCount(){return this.infiniteCache?this.infiniteCache.getRowCount():0}isRowPresent(e){return!!this.getRowNode(e.id)}refreshCache(){this.infiniteCache&&this.infiniteCache.refreshCache()}purgeCache(){this.infiniteCache&&this.infiniteCache.purgeCache()}isLastRowIndexKnown(){return!!this.infiniteCache&&this.infiniteCache.isLastRowIndexKnown()}setRowCount(e,t){this.infiniteCache&&this.infiniteCache.setRowCount(e,t)}};var f="32.0.2",v={version:f,moduleName:`${c.ModuleNames.InfiniteRowModelModule}-core`,rowModel:"infinite",beans:[m],dependantModules:[c._RowNodeBlockModule]},y={version:f,moduleName:`${c.ModuleNames.InfiniteRowModelModule}-api`,beans:[c.RowModelHelperService],apiFunctions:{refreshInfiniteCache:function(e){e.rowModelHelperService?.getInfiniteRowModel()?.refreshCache()},purgeInfiniteCache:function(e){e.rowModelHelperService?.getInfiniteRowModel()?.purgeCache()},getInfiniteRowCount:function(e){return e.rowModelHelperService?.getInfiniteRowModel()?.getRowCount()},isLastRowIndexKnown:function(e){return e.rowModelHelperService?.getInfiniteRowModel()?.isLastRowIndexKnown()}},dependantModules:[v,c._SsrmInfiniteSharedApiModule]},b={version:f,moduleName:c.ModuleNames.InfiniteRowModelModule,dependantModules:[v,y]}},5149:function(e,t,i){var a,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,l={};((e,t)=>{for(var i in t)n(e,i,{get:t[i],enumerable:!0})})(l,{AdvancedFilterModule:()=>Ce}),e.exports=(a=l,((e,t,i,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of o(t))s.call(e,l)||l===i||n(e,l,{get:()=>t[l],enumerable:!(a=r(t,l))||a.enumerable});return e})(n({},"__esModule",{value:!0}),a));var c=i(3423),d=i(8299);var h=i(3423),u={ariaAdvancedFilterBuilderItem:e=>`${e[0]}. Level ${e[1]}. Press ENTER to edit`,ariaAdvancedFilterBuilderItemValidation:e=>`${e[0]}. Level ${e[1]}. ${e[2]} Press ENTER to edit`,ariaAdvancedFilterBuilderList:"Advanced Filter Builder List",ariaAdvancedFilterBuilderFilterItem:"Filter Condition",ariaAdvancedFilterBuilderGroupItem:"Filter Group",ariaAdvancedFilterBuilderColumn:"Column",ariaAdvancedFilterBuilderOption:"Option",ariaAdvancedFilterBuilderValue:"Value",ariaAdvancedFilterBuilderJoinOperator:"Join Operator",ariaAdvancedFilterInput:"Advanced Filter Input",ariaLabelAdvancedFilterAutocomplete:"Advanced Filter Autocomplete",advancedFilterContains:"contains",advancedFilterNotContains:"does not contain",advancedFilterTextEquals:"equals",advancedFilterTextNotEqual:"does not equal",advancedFilterStartsWith:"begins with",advancedFilterEndsWith:"ends with",advancedFilterBlank:"is blank",advancedFilterNotBlank:"is not blank",advancedFilterEquals:"=",advancedFilterNotEqual:"!=",advancedFilterGreaterThan:">",advancedFilterGreaterThanOrEqual:">=",advancedFilterLessThan:"<",advancedFilterLessThanOrEqual:"<=",advancedFilterTrue:"is true",advancedFilterFalse:"is false",advancedFilterAnd:"AND",advancedFilterOr:"OR",advancedFilterApply:"Apply",advancedFilterBuilder:"Builder",advancedFilterValidationMissingColumn:"Column is missing",advancedFilterValidationMissingOption:"Option is missing",advancedFilterValidationMissingValue:"Value is missing",advancedFilterValidationInvalidColumn:"Column not found",advancedFilterValidationInvalidOption:"Option not found",advancedFilterValidationMissingQuote:"Value is missing an end quote",advancedFilterValidationNotANumber:"Value is not a number",advancedFilterValidationInvalidDate:"Value is not a valid date",advancedFilterValidationMissingCondition:"Condition is missing",advancedFilterValidationJoinOperatorMismatch:"Join operators within a condition must be the same",advancedFilterValidationInvalidJoinOperator:"Join operator not found",advancedFilterValidationMissingEndBracket:"Missing end bracket",advancedFilterValidationExtraEndBracket:"Too many end brackets",advancedFilterValidationMessage:e=>`Expression has an error. ${e[0]} - ${e[1]}.`,advancedFilterValidationMessageAtEnd:e=>`Expression has an error. ${e[0]} at end of expression.`,advancedFilterBuilderTitle:"Advanced Filter",advancedFilterBuilderApply:"Apply",advancedFilterBuilderCancel:"Cancel",advancedFilterBuilderAddButtonTooltip:"Add Filter or Group",advancedFilterBuilderRemoveButtonTooltip:"Remove",advancedFilterBuilderMoveUpButtonTooltip:"Move Up",advancedFilterBuilderMoveDownButtonTooltip:"Move Down",advancedFilterBuilderAddJoin:"Add Group",advancedFilterBuilderAddCondition:"Add Filter",advancedFilterBuilderSelectColumn:"Select a column",advancedFilterBuilderSelectOption:"Select an option",advancedFilterBuilderEnterValue:"Enter a value...",advancedFilterBuilderValidationAlreadyApplied:"Current filter already applied.",advancedFilterBuilderValidationIncomplete:"Not all conditions are complete.",advancedFilterBuilderValidationSelectColumn:"Must select a column.",advancedFilterBuilderValidationSelectOption:"Must select an option.",advancedFilterBuilderValidationEnterValue:"Must enter a value."};function g(e,t,i){if(!e)return"";const a=i-t;return a?e.slice(0,e.length-a):e}function p(e,t,i,a,n,r,o){const s=i+(!e.length||o?0:1);let l=0;n&&(" "===e[s]?l=1:(a+=" ",r&&(a+='"')));return{updatedValue:e.slice(0,t)+a+e.slice(s),updatedPosition:t+a.length+l}}function m(e,t,i,a){let n=t,r=!1;for(;n<e.length;){const t=e[n];if("("===t){a&&" "===e[n-1]?r=!0:n-=1;break}if(" "===t||i&&")"===t){n-=1;break}n++}return{endPosition:n,isEmpty:r}}function f(e,t,i,a){i!==t&&(e.expression=p(e.expression,a-t.length+1,a,i).updatedValue)}var v=class{constructor(e,t){this.params=e,this.startPosition=t,this.type="column",this.valid=!0,this.hasStartChar=!1,this.hasEndChar=!1,this.colName=""}parse(e,t){if(e!==C.COL_START_CHAR||this.colName)if(e===C.COL_END_CHAR&&this.hasStartChar){if(this.parseColumn(!1,t))return this.hasEndChar=!0,!1;this.colName+=e}else this.colName+=e;else this.hasStartChar=!0}getDisplayValue(){return(this.hasStartChar?C.COL_START_CHAR:"")+this.colName+(this.hasEndChar?C.COL_END_CHAR:"")}getColId(){return this.colId}complete(e){this.parseColumn(!0,e)}getValidationError(){return this.valid?null:{message:this.params.advancedFilterExpressionService.translate("advancedFilterValidationInvalidColumn"),startPosition:this.startPosition,endPosition:this.endPosition??this.params.expression.length-1}}parseColumn(e,t){this.endPosition=t;const i=this.params.advancedFilterExpressionService.getColId(this.colName);return i&&this.hasStartChar&&(this.colId=i.colId,f(this.params,this.colName,i.columnName,t-1),this.colName=i.columnName,this.column=this.params.columnModel.getColDefCol(this.colId),this.column)?(this.baseCellDataType=this.params.dataTypeService?.getBaseDataType(this.column)??"text",!0):(e&&(this.valid=!1),this.baseCellDataType="text",!1)}},y=class{constructor(e,t,i){this.params=e,this.startPosition=t,this.baseCellDataType=i,this.type="operator",this.valid=!0,this.expectedNumOperands=0,this.operator=""}parse(e,t){if(" "===e||")"===e){if(this.parseOperator(!1,t-1))return!0;this.operator+=e}else this.operator+=e}complete(e){this.parseOperator(!0,e)}getValidationError(){return this.valid?null:{message:this.params.advancedFilterExpressionService.translate("advancedFilterValidationInvalidOption"),startPosition:this.startPosition,endPosition:this.endPosition??this.params.expression.length-1}}getDisplayValue(){return this.operator}getOperatorKey(){return this.parsedOperator}parseOperator(e,t){const i=this.params.advancedFilterExpressionService.getDataTypeExpressionOperator(this.baseCellDataType),a=i.findOperator(this.operator);if(this.endPosition=t,a){this.parsedOperator=a;const e=i.operators[a];this.expectedNumOperands=e.numOperands;const n=e.displayValue;return f(this.params,this.operator,n,t),this.operator=n,!0}return!e&&null===a||(this.valid=!1),!1}},b=class{constructor(e,t,i,a){this.params=e,this.startPosition=t,this.baseCellDataType=i,this.column=a,this.type="operand",this.valid=!0,this.operand="",this.validationMessage=null}parse(e,t){if(" "===e){if(!this.quotes)return this.parseOperand(!1,t),!0;this.operand+=e}else if(")"===e){if("number"===this.baseCellDataType||!this.quotes)return this.parseOperand(!1,t-1),!0;this.operand+=e}else if(this.operand||this.quotes||"'"!==e&&'"'!==e){if(this.quotes&&e===this.quotes)return this.parseOperand(!1,t),!1;this.operand+=e}else this.quotes=e}complete(e){this.parseOperand(!0,e)}getValidationError(){return this.validationMessage?{message:this.validationMessage,startPosition:this.startPosition,endPosition:this.endPosition??this.params.expression.length-1}:null}getRawValue(){return this.operand}getModelValue(){return this.modelValue}parseOperand(e,t){const{advancedFilterExpressionService:i}=this.params;if(this.endPosition=t,this.modelValue=this.operand,e&&this.quotes)this.valid=!1,this.validationMessage=i.translate("advancedFilterValidationMissingQuote");else if(""===this.modelValue)this.valid=!1,this.validationMessage=i.translate("advancedFilterValidationMissingValue");else{const e=i.getOperandModelValue(this.operand,this.baseCellDataType,this.column);switch(null!=e&&(this.modelValue=e),this.baseCellDataType){case"number":(this.quotes||isNaN(this.modelValue))&&(this.valid=!1,this.validationMessage=i.translate("advancedFilterValidationNotANumber"));break;case"date":case"dateString":null==e&&(this.valid=!1,this.validationMessage=i.translate("advancedFilterValidationInvalidDate"))}}}},C=class{constructor(e,t){this.params=e,this.startPosition=t,this.isAwaiting=!0}parseExpression(){let e=this.startPosition;const{expression:t}=this.params;for(;e<t.length;){const i=t[e];if(" "===i&&this.isAwaiting);else{if(this.isAwaiting=!1,!this.parser){let t;this.columnParser?this.operatorParser?(this.operandParser=new b(this.params,e,this.columnParser.baseCellDataType,this.columnParser.column),t=this.operandParser):(this.operatorParser=new y(this.params,e,this.columnParser.baseCellDataType),t=this.operatorParser):(this.columnParser=new v(this.params,e),t=this.columnParser),this.parser=t}const t=this.parser.parse(i,e);if(null!=t){if(this.isComplete())return this.returnEndPosition(t?e-1:e,!0);this.parser=void 0,this.isAwaiting=!0}}e++}return this.parser?.complete?.(e-1),this.returnEndPosition(e)}isValid(){return this.isComplete()&&this.columnParser.valid&&this.operatorParser.valid&&(!this.operandParser||this.operandParser.valid)}getValidationError(){const e=this.columnParser?.getValidationError()??this.operatorParser?.getValidationError()??this.operandParser?.getValidationError();if(e)return e;const t=this.params.expression.length;let i;return this.columnParser?this.operatorParser?this.operatorParser.expectedNumOperands&&!this.operandParser&&(i="advancedFilterValidationMissingValue"):i="advancedFilterValidationMissingOption":i="advancedFilterValidationMissingColumn",i?{message:this.params.advancedFilterExpressionService.translate(i),startPosition:t,endPosition:t}:null}getFunctionString(e){return this.getFunctionCommon(e,((e,t,i,a)=>`params.operators[${t}].evaluator(expressionProxy.getValue('${i.replace(/(['"])/,"\\$1")}', node), node, params.evaluatorParams[${a}]${null==e?"":`, params.operands[${e}]`})`))}getFunctionParsed(e){return this.getFunctionCommon(e,((e,t,i,a)=>(n,r,o)=>o.operators[t].evaluator(n.getValue(i,r),r,o.evaluatorParams[a],null==e?void 0:o.operands[e])))}getAutocompleteListParams(e){return this.isColumnPosition(e)?this.getColumnAutocompleteListParams(e):this.isOperatorPosition(e)?this.getOperatorAutocompleteListParams(e):this.isBeyondEndPosition(e)?void 0:{enabled:!1}}updateExpression(e,t,i){const{expression:a}=this.params;if(this.isColumnPosition(e))return p(this.params.expression,this.startPosition,this.columnParser?.getColId()?this.columnParser.endPosition:m(a,e).endPosition,this.params.advancedFilterExpressionService.getColumnValue(t),!0);if(this.isOperatorPosition(e)){const n=this.getBaseCellDataTypeFromOperatorAutocompleteType(i),r=this.hasOperand(n,t.key),o=r&&this.doesOperandNeedQuotes(n);let s;if(null!=this.operatorParser?.startPosition&&e<this.operatorParser.startPosition)s=p(a,e,e,t.displayValue??t.key,r,o);else{let i,n=!1;if(this.operatorParser?.getOperatorKey())i=this.operatorParser.endPosition;else{const{endPosition:t,isEmpty:r}=m(a,e,!0,!0);i=t,n=r}s=p(a,function(e,t,i){let a=t;for(;a<i&&" "===e[a];)a++;return a}(a,this.columnParser.endPosition+1,i),i,t.displayValue??t.key,r,o,n)}return{...s,hideAutocomplete:!r}}return null}getModel(){const e=this.columnParser.getColId(),t={filterType:this.columnParser.baseCellDataType,colId:e,type:this.operatorParser.getOperatorKey()};return this.operatorParser.expectedNumOperands&&(t.filter=this.operandParser.getModelValue()),t}getFunctionCommon(e,t){const i=this.columnParser.getColId(),a=this.operatorParser?.getOperatorKey(),{operators:n,evaluatorParams:r,operands:o}=e,s=this.params.advancedFilterExpressionService.getExpressionOperator(this.columnParser.baseCellDataType,a),l=this.addToListAndGetIndex(n,s),c=this.params.advancedFilterExpressionService.getExpressionEvaluatorParams(i),d=this.addToListAndGetIndex(r,c);return t(0===this.operatorParser?.expectedNumOperands?void 0:this.addToListAndGetIndex(o,this.getOperandValue()),l,i,d)}getOperandValue(){let e=this.operandParser.getRawValue();const{baseCellDataType:t,column:i}=this.columnParser;switch(t){case"number":e=Number(e);break;case"date":case"dateString":e=this.params.valueService.parseValue(i,null,e,void 0)}if("dateString"===t){const{dataTypeService:t}=this.params;return t?t.getDateParserFunction(i)(e):e}return e}isComplete(){return!(!this.operatorParser||!(!this.operatorParser.expectedNumOperands||this.operatorParser.expectedNumOperands&&this.operandParser))}isColumnPosition(e){return!this.columnParser||null==this.columnParser.endPosition||e<=this.columnParser.endPosition+1}isOperatorPosition(e){return!this.operatorParser||null==this.operatorParser.endPosition||e<=this.operatorParser.endPosition+1}isBeyondEndPosition(e){return this.isComplete()&&null!=this.endPosition&&e>this.endPosition+1&&this.endPosition+1<this.params.expression.length}returnEndPosition(e,t){return this.endPosition=t?e:e-1,e}getColumnAutocompleteListParams(e){return this.params.advancedFilterExpressionService.generateAutocompleteListParams(this.params.advancedFilterExpressionService.getColumnAutocompleteEntries(),"column",this.getColumnSearchString(e))}getColumnSearchString(e){const t=this.columnParser?.getDisplayValue()??"",i=g(t,e,null==this.columnParser?.endPosition?this.params.expression.length:this.columnParser.endPosition+1),a=this.columnParser?.hasStartChar&&i.length>0,n=this.columnParser?.hasEndChar&&i.length===t.length+2;return a?i.slice(1,n?-1:void 0):i}getOperatorAutocompleteListParams(e){const t=this.columnParser?.column;if(!t)return{enabled:!1};const i=this.columnParser.baseCellDataType,a=null!=this.operatorParser?.startPosition&&e<this.operatorParser.startPosition?"":g(this.operatorParser?.getDisplayValue()??"",e,null==this.operatorParser?.endPosition?this.params.expression.length:this.operatorParser.endPosition+1);return this.params.advancedFilterExpressionService.generateAutocompleteListParams(this.params.advancedFilterExpressionService.getOperatorAutocompleteEntries(t,i),`operator-${i}`,a)}getBaseCellDataTypeFromOperatorAutocompleteType(e){return e?.replace("operator-","")}hasOperand(e,t){return!e||!t||(this.params.advancedFilterExpressionService.getExpressionOperator(e,t)?.numOperands??0)>0}doesOperandNeedQuotes(e){return"number"!==e}addToListAndGetIndex(e,t){const i=e.length;return e.push(t),i}};function w(e,t,i){let a=!1;const n=e.toLocaleLowerCase(),r=n+" ",o=Object.entries(t).find((([,e])=>{const t=i(e).toLocaleLowerCase();return t.startsWith(r)&&(a=!0),t===n}));return o?o[0]:a?null:void 0}function S(e,t){return(t??Object.keys(e)).map((t=>({key:t,displayValue:e[t].displayValue})))}C.COL_START_CHAR="[",C.COL_END_CHAR="]";var x=class{constructor(e){this.params=e,this.initOperators()}getEntries(e){return S(this.operators,e)}findOperator(e){return w(e,this.operators,(({displayValue:e})=>e))}initOperators(){const{translate:e}=this.params;this.operators={contains:{displayValue:e("advancedFilterContains"),evaluator:(e,t,i,a)=>this.evaluateExpression(e,t,i,a,!1,((e,t)=>e.includes(t))),numOperands:1},notContains:{displayValue:e("advancedFilterNotContains"),evaluator:(e,t,i,a)=>this.evaluateExpression(e,t,i,a,!0,((e,t)=>!e.includes(t))),numOperands:1},equals:{displayValue:e("advancedFilterTextEquals"),evaluator:(e,t,i,a)=>this.evaluateExpression(e,t,i,a,!1,((e,t)=>e===t)),numOperands:1},notEqual:{displayValue:e("advancedFilterTextNotEqual"),evaluator:(e,t,i,a)=>this.evaluateExpression(e,t,i,a,!0,((e,t)=>e!=t)),numOperands:1},startsWith:{displayValue:e("advancedFilterStartsWith"),evaluator:(e,t,i,a)=>this.evaluateExpression(e,t,i,a,!1,((e,t)=>e.startsWith(t))),numOperands:1},endsWith:{displayValue:e("advancedFilterEndsWith"),evaluator:(e,t,i,a)=>this.evaluateExpression(e,t,i,a,!1,((e,t)=>e.endsWith(t))),numOperands:1},blank:{displayValue:e("advancedFilterBlank"),evaluator:e=>null==e||"string"==typeof e&&0===e.trim().length,numOperands:0},notBlank:{displayValue:e("advancedFilterNotBlank"),evaluator:e=>null!=e&&("string"!=typeof e||e.trim().length>0),numOperands:0}}}evaluateExpression(e,t,i,a,n,r){return null==e?n:i.caseSensitive?r(i.valueConverter(e,t),a):r(i.valueConverter(e,t).toLocaleLowerCase(),a.toLocaleLowerCase())}},k=class{constructor(e){this.params=e,this.initOperators()}getEntries(e){return S(this.operators,e)}findOperator(e){return w(e,this.operators,(({displayValue:e})=>e))}initOperators(){const{translate:e,equals:t}=this.params;this.operators={equals:{displayValue:e("advancedFilterEquals"),evaluator:(e,i,a,n)=>this.evaluateSingleOperandExpression(e,i,a,n,!!a.includeBlanksInEquals,t),numOperands:1},notEqual:{displayValue:e("advancedFilterNotEqual"),evaluator:(e,i,a,n)=>this.evaluateSingleOperandExpression(e,i,a,n,!!a.includeBlanksInEquals,((e,i)=>!t(e,i))),numOperands:1},greaterThan:{displayValue:e("advancedFilterGreaterThan"),evaluator:(e,t,i,a)=>this.evaluateSingleOperandExpression(e,t,i,a,!!i.includeBlanksInGreaterThan,((e,t)=>e>t)),numOperands:1},greaterThanOrEqual:{displayValue:e("advancedFilterGreaterThanOrEqual"),evaluator:(e,t,i,a)=>this.evaluateSingleOperandExpression(e,t,i,a,!!i.includeBlanksInGreaterThan,((e,t)=>e>=t)),numOperands:1},lessThan:{displayValue:e("advancedFilterLessThan"),evaluator:(e,t,i,a)=>this.evaluateSingleOperandExpression(e,t,i,a,!!i.includeBlanksInLessThan,((e,t)=>e<t)),numOperands:1},lessThanOrEqual:{displayValue:e("advancedFilterLessThanOrEqual"),evaluator:(e,t,i,a)=>this.evaluateSingleOperandExpression(e,t,i,a,!!i.includeBlanksInLessThan,((e,t)=>e<=t)),numOperands:1},blank:{displayValue:e("advancedFilterBlank"),evaluator:e=>null==e,numOperands:0},notBlank:{displayValue:e("advancedFilterNotBlank"),evaluator:e=>null!=e,numOperands:0}}}evaluateSingleOperandExpression(e,t,i,a,n,r){return null==e?n:r(i.valueConverter(e,t),a)}},M=class{constructor(e){this.params=e,this.initOperators()}getEntries(e){return S(this.operators,e)}findOperator(e){return w(e,this.operators,(({displayValue:e})=>e))}initOperators(){const{translate:e}=this.params;this.operators={true:{displayValue:e("advancedFilterTrue"),evaluator:e=>!!e,numOperands:0},false:{displayValue:e("advancedFilterFalse"),evaluator:e=>!1===e,numOperands:0},blank:{displayValue:e("advancedFilterBlank"),evaluator:e=>null==e,numOperands:0},notBlank:{displayValue:e("advancedFilterNotBlank"),evaluator:e=>null!=e,numOperands:0}}}},R=class extends h.BeanStub{constructor(){super(...arguments),this.beanName="advancedFilterExpressionService",this.columnNameToIdMap={},this.columnAutocompleteEntries=null,this.expressionEvaluatorParams={}}wireBeans(e){this.valueService=e.valueService,this.columnModel=e.columnModel,this.columnNameService=e.columnNameService,this.dataTypeService=e.dataTypeService}postConstruct(){this.expressionJoinOperators=this.generateExpressionJoinOperators(),this.expressionOperators=this.generateExpressionOperators()}parseJoinOperator(e){const{type:t}=e;return this.expressionJoinOperators[t]??t}getColumnDisplayValue(e){const{colId:t}=e,i=this.getColumnAutocompleteEntries().find((({key:e})=>e===t));let a;return i?(a=i.displayValue,this.columnNameToIdMap[a.toLocaleUpperCase()]={colId:t,columnName:a}):a=t,a}getOperatorDisplayValue(e){return this.getExpressionOperator(e.filterType,e.type)?.displayValue??e.type}getOperandModelValue(e,t,i){switch(t){case"number":return(0,h._exists)(e)?Number(e):null;case"date":return(0,h._serialiseDate)(this.valueService.parseValue(i,null,e,void 0),!1);case"dateString":{const t=this.valueService.parseValue(i,null,e,void 0);return this.dataTypeService?(0,h._serialiseDate)(this.dataTypeService.getDateParserFunction(i)(t)??null,!1):t}}return e}getOperandDisplayValue(e,t){const{colId:i,filter:a}=e,n=this.columnModel.getColDefCol(i);let r="";if(null!=a){let i;switch(e.filterType){case"number":i=(0,h._toStringOrNull)(a)??"";break;case"date":{const e=(0,h._parseDateTimeFromString)(a);i=n?this.valueService.formatValue(n,null,e):null;break}case"dateString":{let e;if(this.dataTypeService){const t=(0,h._parseDateTimeFromString)(a);e=n?this.dataTypeService?.getDateFormatterFunction(n)(t??void 0):null}else e=a;i=n?this.valueService.formatValue(n,null,e):null;break}}"number"!==e.filterType&&(i=i??(0,h._toStringOrNull)(a)??"",t||(i=`"${i}"`)),r=t?i:` ${i}`}return r}parseColumnFilterModel(e){return`[${this.getColumnDisplayValue(e)??""}] ${this.getOperatorDisplayValue(e)??""}${this.getOperandDisplayValue(e)}`}updateAutocompleteCache(e,t){if("column"===t){const{key:t,displayValue:i}=e;this.columnNameToIdMap[e.displayValue.toLocaleUpperCase()]={colId:t,columnName:i}}}translate(e,t){let i=u[e];return"function"==typeof i&&(i=i(t)),this.localeService.getLocaleTextFunc()(e,i,t)}generateAutocompleteListParams(e,t,i){return{enabled:!0,type:t,searchString:i,entries:e}}getColumnAutocompleteEntries(){if(this.columnAutocompleteEntries)return this.columnAutocompleteEntries;const e=this.columnModel.getColDefCols()??[],t=[],i=this.gos.get("includeHiddenColumnsInAdvancedFilter");return e.forEach((e=>{e.getColDef().filter&&(i||e.isVisible()||e.isRowGroupActive())&&t.push({key:e.getColId(),displayValue:this.columnNameService.getDisplayNameForColumn(e,"advancedFilter")})})),t.sort(((e,t)=>{const i=e.displayValue??"",a=t.displayValue??"";return i<a?-1:a>i?1:0})),t}getOperatorAutocompleteEntries(e,t){const i=this.getActiveOperators(e);return this.getDataTypeExpressionOperator(t).getEntries(i)}getJoinOperatorAutocompleteEntries(){return Object.entries(this.expressionJoinOperators).map((([e,t])=>({key:e,displayValue:t})))}getDefaultAutocompleteListParams(e){return this.generateAutocompleteListParams(this.getColumnAutocompleteEntries(),"column",e)}getDataTypeExpressionOperator(e){return this.expressionOperators[e]}getExpressionOperator(e,t){return this.getDataTypeExpressionOperator(e)?.operators?.[t]}getExpressionJoinOperators(){return this.expressionJoinOperators}getColId(e){const t=e.toLocaleUpperCase(),i=this.columnNameToIdMap[t];if(i)return i;const a=this.getColumnAutocompleteEntries().find((({displayValue:e})=>e.toLocaleUpperCase()===t));if(a){const{key:e,displayValue:i}=a,n={colId:e,columnName:i};return this.columnNameToIdMap[t]=n,n}return null}getExpressionEvaluatorParams(e){let t=this.expressionEvaluatorParams[e];if(t)return t;const i=this.columnModel.getColDefCol(e);if(!i)return{valueConverter:e=>e};const a=this.dataTypeService?.getBaseDataType(i);switch(a){case"dateString":t={valueConverter:this.dataTypeService?.getDateParserFunction(i)??(e=>e)};break;case"object":t=i.getColDef().filterValueGetter?{valueConverter:e=>e}:{valueConverter:(e,t)=>this.valueService.formatValue(i,t,e)??("function"==typeof e.toString?e.toString():"")};break;case"text":case void 0:t={valueConverter:e=>(0,h._toStringOrNull)(e)};break;default:t={valueConverter:e=>e}}const{filterParams:n}=i.getColDef();return n&&["caseSensitive","includeBlanksInEquals","includeBlanksInLessThan","includeBlanksInGreaterThan"].forEach((e=>{const i=n[e];i&&(t[e]=i)})),this.expressionEvaluatorParams[e]=t,t}getColumnDetails(e){const t=this.columnModel.getColDefCol(e)??void 0;return{column:t,baseCellDataType:(t?this.dataTypeService?.getBaseDataType(t):void 0)??"text"}}generateExpressionOperators(){const e=(e,t)=>this.translate(e,t);return{text:new x({translate:e}),boolean:new M({translate:e}),object:new x({translate:e}),number:new k({translate:e,equals:(e,t)=>e===t}),date:new k({translate:e,equals:(e,t)=>e.getTime()===t.getTime()}),dateString:new k({translate:e,equals:(e,t)=>e.getTime()===t.getTime()})}}getColumnValue({displayValue:e}){return`${C.COL_START_CHAR}${e}${C.COL_END_CHAR}`}generateExpressionJoinOperators(){return{AND:this.translate("advancedFilterAnd"),OR:this.translate("advancedFilterOr")}}getActiveOperators(e){const t=e.getColDef().filterParams?.filterOptions;if(!t)return;return t.every((e=>"string"==typeof e))?t:void 0}resetColumnCaches(){this.columnAutocompleteEntries=null,this.columnNameToIdMap={},this.expressionEvaluatorParams={}}},D=i(3423),A=i(3423),E=i(8299),T=i(3423),P=i(3423),F=i(3423),I=i(8299),L=i(3423),N=class extends L.Component{constructor(){super('\n <div class="ag-autocomplete-row" role="presentation">\n <div class="ag-autocomplete-row-label"></div>\n </div>'),this.hasHighlighting=!1}setState(e,t){this.value=e,this.render(),this.updateSelected(t)}updateSelected(e){this.addOrRemoveCssClass("ag-autocomplete-row-selected",e)}setSearchString(e){let t=!1;if((0,L._exists)(e)){const i=this.value?.toLocaleLowerCase().indexOf(e.toLocaleLowerCase());if(i>=0){t=!0,this.hasHighlighting=!0;const a=i+e.length,n=(0,L._escapeString)(this.value.slice(0,i)),r=(0,L._escapeString)(this.value.slice(i,a)),o=(0,L._escapeString)(this.value.slice(a));this.getGui().lastElementChild.innerHTML=`${n}<b>${r}</b>${o}`}}!t&&this.hasHighlighting&&(this.hasHighlighting=!1,this.render())}render(){this.getGui().lastElementChild.innerHTML=(0,L._escapeString)(this.value)??"&nbsp;"}},O=class extends F.PopupComponent{constructor(e){super('<div class="ag-autocomplete-list-popup">\n <div data-ref="eList" class="ag-autocomplete-list"></div>\n <div>'),this.params=e,this.eList=F.RefPlaceholder,this.searchString=""}destroy(){super.destroy()}postConstruct(){this.autocompleteEntries=this.params.autocompleteEntries,this.virtualList=this.createManagedBean(new I.VirtualList({cssIdentifier:"autocomplete"})),this.virtualList.setComponentCreator(this.createRowComponent.bind(this)),this.eList.appendChild(this.virtualList.getGui()),this.virtualList.setModel({getRowCount:()=>this.autocompleteEntries.length,getRow:e=>this.autocompleteEntries[e]});const e=this.virtualList.getGui();this.addManagedListeners(e,{click:()=>this.params.onConfirmed(),mousemove:this.onMouseMove.bind(this),mousedown:e=>e.preventDefault()}),this.setSelectedValue(0)}onNavigationKeyDown(e,t){e.preventDefault();const i=this.autocompleteEntries.indexOf(this.selectedValue),a=t===F.KeyCode.UP?i-1:i+1;this.checkSetSelectedValue(a)}setSearch(e){this.searchString=e,(0,F._exists)(e)?this.runSearch():(this.autocompleteEntries=this.params.autocompleteEntries,this.virtualList.refresh(),this.checkSetSelectedValue(0)),this.updateSearchInList()}runContainsSearch(e,t){let i,a=!1;const n=e.toLocaleLowerCase(),r=t.filter((e=>{const t=e.toLocaleLowerCase().indexOf(n),r=0===t,o=t>=0;return o&&(!i||!a&&r||a===r&&e.length<i.length)&&(i=e,a=r),o}));return!i&&r.length&&(i=r[0]),{topMatch:i,allMatches:r}}runSearch(){const{autocompleteEntries:e}=this.params,t=e.map((e=>e.displayValue??e.key));let i,a;if(this.params.useFuzzySearch)i=(0,F._fuzzySuggestions)(this.searchString,t,!0).values,a=i.length?i[0]:void 0;else{const e=this.runContainsSearch(this.searchString,t);i=e.allMatches,a=e.topMatch}let n=e.filter((({key:e,displayValue:t})=>i.includes(t??e)));if(!n.length&&this.selectedValue&&this.params?.forceLastSelection?.(this.selectedValue,this.searchString)&&(n=[this.selectedValue]),this.autocompleteEntries=n,this.virtualList.refresh(),!a)return;const r=i.indexOf(a);this.checkSetSelectedValue(r)}updateSearchInList(){this.virtualList.forEachRenderedRow((e=>e.setSearchString(this.searchString)))}checkSetSelectedValue(e){e>=0&&e<this.autocompleteEntries.length&&this.setSelectedValue(e)}setSelectedValue(e){const t=this.autocompleteEntries[e];this.selectedValue!==t&&(this.selectedValue=t,this.virtualList.ensureIndexVisible(e),this.virtualList.forEachRenderedRow(((t,i)=>{t.updateSelected(e===i)})))}createRowComponent(e){const t=new N;return this.createBean(t),t.setState(e.displayValue??e.key,e===this.selectedValue),t}onMouseMove(e){const t=this.virtualList.getGui().getBoundingClientRect(),i=this.virtualList.getScrollTop(),a=e.clientY-t.top+i,n=Math.floor(a/this.virtualList.getRowHeight());this.checkSetSelectedValue(n)}afterGuiAttached(){this.virtualList.refresh()}getSelectedValue(){return this.autocompleteEntries.length?this.selectedValue??null:null}},z={selector:"AG-AUTOCOMPLETE",component:class extends P.Component{constructor(){super('\n <div class="ag-autocomplete" role="presentation">\n <ag-input-text-field data-ref="eAutocompleteInput"></ag-input-text-field>\n </div>',[P.AgInputTextFieldSelector]),this.eAutocompleteInput=P.RefPlaceholder,this.isListOpen=!1,this.lastPosition=0,this.valid=!0}wireBeans(e){this.popupService=e.popupService}postConstruct(){this.eAutocompleteInput.onValueChange((e=>this.onValueChanged(e))),this.eAutocompleteInput.getInputElement().setAttribute("autocomplete","off"),this.addGuiEventListener("keydown",this.onKeyDown.bind(this)),this.addGuiEventListener("click",this.updatePositionAndList.bind(this)),this.addDestroyFunc((()=>{this.destroyBean(this.autocompleteList)})),this.addGuiEventListener("focusout",(()=>this.onFocusOut()))}onValueChanged(e){const t=(0,P._makeNull)(e);this.updateValue(t),this.updateAutocompleteList(t)}updateValue(e){this.updateLastPosition(),this.dispatchLocalEvent({type:"eventValueChanged",value:e}),this.validate(e)}updateAutocompleteList(e){const t=this.listGenerator?.(e,this.lastPosition)??{enabled:!1};if(t.type&&t.type===this.autocompleteListParams?.type||this.isListOpen&&this.closeList(),this.autocompleteListParams=t,this.autocompleteListParams?.enabled){this.isListOpen||this.openList();const{searchString:e}=this.autocompleteListParams;this.autocompleteList.setSearch(e??"")}else this.isListOpen&&this.closeList()}onKeyDown(e){const t=e.key;switch(this.updateLastPosition(),t){case P.KeyCode.ENTER:this.onEnterKeyDown(e);break;case P.KeyCode.TAB:this.onTabKeyDown(e);break;case P.KeyCode.DOWN:case P.KeyCode.UP:this.onUpDownKeyDown(e,t);break;case P.KeyCode.LEFT:case P.KeyCode.RIGHT:case P.KeyCode.PAGE_HOME:case P.KeyCode.PAGE_END:setTimeout((()=>{this.updatePositionAndList()}));break;case P.KeyCode.ESCAPE:this.onEscapeKeyDown(e);break;case P.KeyCode.SPACE:e.ctrlKey&&!this.isListOpen&&(e.preventDefault(),this.forceOpenList())}}confirmSelection(){const e=this.autocompleteList?.getSelectedValue();e&&(this.closeList(),this.dispatchLocalEvent({type:"eventOptionSelected",value:this.getValue(),position:this.lastPosition,updateEntry:e,autocompleteType:this.autocompleteListParams.type}))}onTabKeyDown(e){this.isListOpen&&(e.preventDefault(),e.stopPropagation(),this.confirmSelection())}onEnterKeyDown(e){e.preventDefault(),this.isListOpen?this.confirmSelection():this.onCompleted()}onUpDownKeyDown(e,t){e.preventDefault(),this.isListOpen?this.autocompleteList?.onNavigationKeyDown(e,t):this.forceOpenList()}onEscapeKeyDown(e){this.isListOpen&&(e.preventDefault(),e.stopPropagation(),this.closeList(),this.setCaret(this.lastPosition,!0))}onFocusOut(){this.isListOpen&&this.closeList()}updatePositionAndList(){this.updateLastPosition(),this.updateAutocompleteList(this.eAutocompleteInput.getValue()??null)}setCaret(e,t){const i=this.gos.getDocument(),a=this.gos.getActiveDomElement();!t||a&&a!==i.body||this.eAutocompleteInput.getFocusableElement().focus();const n=this.eAutocompleteInput.getInputElement();n.setSelectionRange(e,e),e===n.value.length&&(n.scrollLeft=n.scrollWidth)}forceOpenList(){this.onValueChanged(this.eAutocompleteInput.getValue())}updateLastPosition(){this.lastPosition=this.eAutocompleteInput.getInputElement().selectionStart??0}validate(e){this.validator&&(this.validationMessage=this.validator(e),this.eAutocompleteInput.getInputElement().setCustomValidity(this.validationMessage??""),this.valid=!this.validationMessage,this.dispatchLocalEvent({type:"eventValidChanged",isValid:this.valid,validationMessage:this.validationMessage}))}openList(){this.isListOpen=!0,this.autocompleteList=this.createBean(new O({autocompleteEntries:this.autocompleteListParams.entries,onConfirmed:()=>this.confirmSelection(),forceLastSelection:this.forceLastSelection}));const e=this.autocompleteList.getGui(),t={ePopup:e,type:"autocomplete",eventSource:this.getGui(),position:"under",alignSide:this.gos.get("enableRtl")?"right":"left",keepWithinBounds:!0},i=this.popupService.addPopup({eChild:e,anchorToElement:this.getGui(),positionCallback:()=>this.popupService.positionPopupByComponent(t),ariaLabel:this.listAriaLabel});this.hidePopup=i.hideFunc,this.autocompleteList.afterGuiAttached()}closeList(){this.isListOpen=!1,this.hidePopup(),this.destroyBean(this.autocompleteList),this.autocompleteList=null}onCompleted(){this.isListOpen&&this.closeList(),this.dispatchLocalEvent({type:"eventValueConfirmed",value:this.getValue(),isValid:this.isValid()})}getValue(){return(0,P._makeNull)(this.eAutocompleteInput.getValue())}setInputPlaceholder(e){return this.eAutocompleteInput.setInputPlaceholder(e),this}setInputAriaLabel(e){return this.eAutocompleteInput.setInputAriaLabel(e),this}setListAriaLabel(e){return this.listAriaLabel=e,this}setListGenerator(e){return this.listGenerator=e,this}setValidator(e){return this.validator=e,this}isValid(){return this.valid}setValue(e){const{value:t,position:i,silent:a,updateListOnlyIfOpen:n,restoreFocus:r}=e;this.eAutocompleteInput.setValue(t,!0),this.setCaret(i??this.lastPosition,r),a||this.updateValue(t),n&&!this.isListOpen||this.updateAutocompleteList(t)}setForceLastSelection(e){return this.forceLastSelection=e,this}setInputDisabled(e){return this.eAutocompleteInput.setDisabled(e),this}}},G=class extends T.Component{constructor(){super('\n <div class="ag-advanced-filter" role="presentation" tabindex="-1">\n <ag-autocomplete data-ref="eAutocomplete"></ag-autocomplete>\n <button class="ag-button ag-standard-button ag-advanced-filter-apply-button" data-ref="eApplyFilterButton"></button>\n <button class="ag-advanced-filter-builder-button" data-ref="eBuilderFilterButton">\n <span data-ref="eBuilderFilterButtonIcon" aria-hidden="true"></span>\n <span class="ag-advanced-filter-builder-button-label" data-ref="eBuilderFilterButtonLabel"></span>\n </button>\n </div>',[z]),this.eAutocomplete=T.RefPlaceholder,this.eApplyFilterButton=T.RefPlaceholder,this.eBuilderFilterButton=T.RefPlaceholder,this.eBuilderFilterButtonIcon=T.RefPlaceholder,this.eBuilderFilterButtonLabel=T.RefPlaceholder,this.expressionParser=null,this.isApplyDisabled=!0,this.builderOpen=!1}wireBeans(e){this.advancedFilterExpressionService=e.advancedFilterExpressionService,this.advancedFilterService=e.advancedFilterService,this.filterManager=e.filterManager}postConstruct(){this.eAutocomplete.setListGenerator(((e,t)=>this.generateAutocompleteListParams(t))).setValidator((()=>this.validateValue())).setForceLastSelection(((e,t)=>this.forceLastSelection(e,t))).setInputAriaLabel(this.advancedFilterExpressionService.translate("ariaAdvancedFilterInput")).setListAriaLabel(this.advancedFilterExpressionService.translate("ariaLabelAdvancedFilterAutocomplete")),this.refresh(),this.addManagedListeners(this.eAutocomplete,{eventValueChanged:({value:e})=>this.onValueChanged(e),eventValueConfirmed:({isValid:e})=>this.onValueConfirmed(e),eventOptionSelected:({position:e,updateEntry:t,autocompleteType:i})=>this.onOptionSelected(e,t,i),eventValidChanged:({isValid:e,validationMessage:t})=>this.onValidChanged(e,t)}),this.setupApplyButton(),this.setupBuilderButton()}refresh(){const e=this.advancedFilterService.getExpressionDisplayValue();this.eAutocomplete.setValue({value:e??"",position:e?.length,updateListOnlyIfOpen:!0})}setInputDisabled(e){this.eAutocomplete.setInputDisabled(e),(0,T._setDisabled)(this.eApplyFilterButton,e||this.isApplyDisabled)}getTooltipParams(){const e=super.getTooltipParams();return e.location="advancedFilter",e}setupApplyButton(){this.eApplyFilterButton.innerText=this.advancedFilterExpressionService.translate("advancedFilterApply"),this.activateTabIndex([this.eApplyFilterButton]),this.addManagedElementListeners(this.eApplyFilterButton,{click:()=>this.onValueConfirmed(this.eAutocomplete.isValid())}),(0,T._setDisabled)(this.eApplyFilterButton,this.isApplyDisabled)}setupBuilderButton(){this.eBuilderFilterButtonIcon.appendChild((0,T._createIconNoSpan)("advancedFilterBuilder",this.gos)),this.eBuilderFilterButtonLabel.innerText=this.advancedFilterExpressionService.translate("advancedFilterBuilder"),this.activateTabIndex([this.eBuilderFilterButton]),this.addManagedElementListeners(this.eBuilderFilterButton,{click:()=>this.openBuilder()}),this.addManagedListeners(this.advancedFilterService.getCtrl(),{advancedFilterBuilderClosed:()=>this.closeBuilder()})}onValueChanged(e){e=(0,T._makeNull)(e),this.advancedFilterService.setExpressionDisplayValue(e),this.expressionParser=this.advancedFilterService.createExpressionParser(e);const t=this.expressionParser?.parseExpression();t&&t!==e&&this.eAutocomplete.setValue({value:t,silent:!0,restoreFocus:!0})}onValueConfirmed(e){e&&!this.isApplyDisabled&&((0,T._setDisabled)(this.eApplyFilterButton,!0),this.advancedFilterService.applyExpression(),this.filterManager?.onFilterChanged({source:"advancedFilter"}))}onOptionSelected(e,t,i){const{updatedValue:a,updatedPosition:n,hideAutocomplete:r}=this.updateExpression(e,t,i);this.eAutocomplete.setValue({value:a,position:n,updateListOnlyIfOpen:r,restoreFocus:!0})}validateValue(){return this.expressionParser?.isValid()?null:this.expressionParser?.getValidationMessage()??null}onValidChanged(e,t){this.isApplyDisabled=!e||this.advancedFilterService.isCurrentExpressionApplied(),(0,T._setDisabled)(this.eApplyFilterButton,this.isApplyDisabled),this.setTooltip({newTooltipText:t,showDelayOverride:1e3})}generateAutocompleteListParams(e){return this.expressionParser?this.expressionParser.getAutocompleteListParams(e):this.advancedFilterExpressionService.getDefaultAutocompleteListParams("")}updateExpression(e,t,i){return this.advancedFilterExpressionService.updateAutocompleteCache(t,i),this.expressionParser?.updateExpression(e,t,i)??this.advancedFilterService.getDefaultExpression(t)}forceLastSelection({key:e,displayValue:t},i){return!!i.toLocaleLowerCase().match(`^${(t??e).toLocaleLowerCase()}\\s*$`)}openBuilder(){this.builderOpen||(this.builderOpen=!0,(0,T._setDisabled)(this.eBuilderFilterButton,!0),this.advancedFilterService.getCtrl().toggleFilterBuilder("ui"))}closeBuilder(){this.builderOpen&&(this.builderOpen=!1,(0,T._setDisabled)(this.eBuilderFilterButton,!1),this.eBuilderFilterButton.focus())}},B=i(3423),V=class extends B.Component{constructor(e){super('\n <div class="ag-advanced-filter-header" role="row">\n </div>'),this.enabled=e}wireBeans(e){this.columnModel=e.columnModel,this.focusService=e.focusService,this.headerNavigationService=e.headerNavigationService}postConstruct(){this.setupAdvancedFilter(this.enabled),this.addDestroyFunc((()=>this.destroyBean(this.eAdvancedFilter)));const e=()=>{this.enabled&&this.setEnabledHeight()};this.addManagedEventListeners({gridColumnsChanged:()=>this.onGridColumnsChanged(),columnHeaderHeightChanged:e,gridStylesChanged:e}),this.addManagedPropertyListener("headerHeight",e),this.addManagedPropertyListener("floatingFiltersHeight",e),this.addGuiEventListener("keydown",(e=>this.onKeyDown(e))),this.addGuiEventListener("focusout",(e=>{this.getFocusableElement().contains(e.relatedTarget)||this.focusService.clearAdvancedFilterColumn()}))}getFocusableElement(){return this.eAdvancedFilter?.getGui()??this.getGui()}setEnabled(e){e!==this.enabled&&this.setupAdvancedFilter(e)}refresh(){this.eAdvancedFilter?.refresh()}getHeight(){return this.height}setInputDisabled(e){this.eAdvancedFilter?.setInputDisabled(e)}setupAdvancedFilter(e){const t=this.getGui();if(e){this.eAdvancedFilter=this.createBean(new G);const e=this.eAdvancedFilter.getGui();this.eAdvancedFilter.addCssClass("ag-advanced-filter-header-cell"),this.setEnabledHeight(),this.setAriaRowIndex(),(0,B._setAriaRole)(e,"gridcell"),(0,B._setAriaColIndex)(e,1),this.setAriaColumnCount(e),t.appendChild(e)}else(0,B._clearElement)(t),this.destroyBean(this.eAdvancedFilter),this.height=0;(0,B._setDisplayed)(t,e),this.enabled=e}setEnabledHeight(){const e=this.getGui();this.height=this.columnModel.getFloatingFiltersHeight();const t=`${this.height}px`;e.style.height=t,e.style.minHeight=t}setAriaColumnCount(e){(0,B._setAriaColSpan)(e,this.columnModel.getCols().length)}setAriaRowIndex(){(0,B._setAriaRowIndex)(this.getGui(),this.headerNavigationService.getHeaderRowCount())}onGridColumnsChanged(){this.eAdvancedFilter&&(this.setAriaColumnCount(this.eAdvancedFilter.getGui()),this.setAriaRowIndex())}onKeyDown(e){switch(e.key){case B.KeyCode.ENTER:this.hasFocus()&&this.focusService.focusInto(this.getFocusableElement())&&e.preventDefault();break;case B.KeyCode.ESCAPE:this.hasFocus()||this.getFocusableElement().focus();break;case B.KeyCode.UP:this.navigateUpDown(!0,e);break;case B.KeyCode.DOWN:this.navigateUpDown(!1,e);break;case B.KeyCode.TAB:if(this.hasFocus())this.navigateLeftRight(e);else{const t=this.focusService.findNextFocusableElement(this.getFocusableElement(),null,e.shiftKey);t?(e.preventDefault(),t.focus()):this.navigateLeftRight(e)}}}navigateUpDown(e,t){this.hasFocus()&&this.focusService.focusNextFromAdvancedFilter(e)&&t.preventDefault()}navigateLeftRight(e){(e.shiftKey?this.focusService.focusLastHeader():this.focusService.focusNextFromAdvancedFilter(!1,!0))&&e.preventDefault()}hasFocus(){return this.gos.getActiveDomElement()===this.getFocusableElement()}},H=i(3423),W=i(8299),_=i(3423),q=i(8299),U=class extends _.BeanStub{constructor(e,t){super(),this.comp=e,this.virtualList=t}postConstruct(){this.createManagedBean(new q.VirtualListDragFeature(this.comp,this.virtualList,{dragSourceType:_.DragSourceType.AdvancedFilterBuilder,listItemDragStartEvent:"advancedFilterBuilderDragStarted",listItemDragEndEvent:"advancedFilterBuilderDragEnded",eventSource:this,getCurrentDragValue:e=>this.getCurrentDragValue(e),isMoveBlocked:()=>!1,getNumRows:e=>e.getNumItems(),moveItem:(e,t)=>this.moveItem(e,t)}))}getCurrentDragValue(e){return e.item}moveItem(e,t){this.comp.moveItem(e,t)}},K=i(3423),j=i(3423),Y=i(8299),$=class extends Y.AgRichSelect{constructor(e){super({...e,template:'\n <div class="ag-picker-field" role="presentation">\n <div data-ref="eLabel"></div>\n <div data-ref="eWrapper" class="ag-wrapper ag-picker-collapsed">\n <div data-ref="eDisplayField" class="ag-picker-field-display"></div>\n <ag-input-text-field data-ref="eInput" class="ag-rich-select-field-input"></ag-input-text-field>\n <span data-ref="eDeselect" class="ag-rich-select-deselect-button ag-picker-field-icon" role="presentation"></span>\n <div data-ref="eIcon" class="ag-picker-field-icon" aria-hidden="true"></div>\n </div>\n </div>',agComponents:[j.AgInputTextFieldSelector]}),this.params=e}showPicker(){setTimeout((()=>super.showPicker()))}hidePicker(){setTimeout((()=>super.hidePicker()))}postConstruct(){super.postConstruct();const{wrapperClassName:e,ariaLabel:t}=this.params;(0,j._setDisplayed)(this.eDisplayField,!1),e&&this.eWrapper.classList.add(e),(0,j._setAriaLabelledBy)(this.eWrapper,""),(0,j._setAriaLabel)(this.eWrapper,t)}onEnterKeyDown(e){(0,j._stopPropagationForAgGrid)(e),this.isPickerDisplayed?super.onEnterKeyDown(e):(e.preventDefault(),this.showPicker())}},Z=i(3423),X=class extends Z.BeanStub{constructor(e,t,i){super(),this.eGui=e,this.focusWrapper=t,this.eFocusableComp=i}postConstruct(){this.addManagedElementListeners(this.eGui,{keydown:e=>{switch(e.key){case Z.KeyCode.TAB:e.defaultPrevented||(0,Z._stopPropagationForAgGrid)(e);break;case Z.KeyCode.UP:case Z.KeyCode.DOWN:(0,Z._stopPropagationForAgGrid)(e);break;case Z.KeyCode.ESCAPE:if((0,Z._isStopPropagationForAgGrid)(e))return;this.eGui.contains(this.gos.getActiveDomElement())&&(e.preventDefault(),(0,Z._stopPropagationForAgGrid)(e),this.focusWrapper.focus())}}});const e="ag-advanced-filter-builder-virtual-list-item-highlight";this.addManagedListeners(this.focusWrapper,{keydown:e=>{if(e.key===Z.KeyCode.ENTER){if((0,Z._isStopPropagationForAgGrid)(e))return;this.gos.getActiveDomElement()===this.focusWrapper&&(e.preventDefault(),(0,Z._stopPropagationForAgGrid)(e),this.eFocusableComp.getFocusableElement().focus())}},focusin:()=>{this.focusWrapper.classList.add(e)},focusout:t=>{this.focusWrapper.contains(t.relatedTarget)||this.focusWrapper.classList.remove(e)}})}};function Q(e,t){return{pickerAriaLabelKey:"ariaLabelAdvancedFilterBuilderAddField",pickerAriaLabelValue:"Advanced Filter Builder Add Field",pickerType:"ag-list",valueList:[{key:"condition",displayValue:e("advancedFilterBuilderAddCondition")},{key:"join",displayValue:e("advancedFilterBuilderAddJoin")}],valueFormatter:e=>null==e?null:e.displayValue??e.key,pickerIcon:"advancedFilterBuilderAdd",maxPickerWidth:`${t??120}px`,wrapperClassName:"ag-advanced-filter-builder-item-button",ariaLabel:e("advancedFilterBuilderAddButtonTooltip")}}var J=class extends K.Component{constructor(e,t){super('\n <div class="ag-advanced-filter-builder-item-wrapper" role="presentation">\n <div data-ref="eItem" class="ag-advanced-filter-builder-item" role="presentation">\n <div class="ag-advanced-filter-builder-item-tree-lines" aria-hidden="true">\n <div class="ag-advanced-filter-builder-item-tree-line-vertical-top ag-advanced-filter-builder-item-tree-line-horizontal"></div>\n </div>\n </div>\n </div>\n '),this.item=e,this.focusWrapper=t,this.eItem=K.RefPlaceholder}wireBeans(e){this.advancedFilterExpressionService=e.advancedFilterExpressionService}postConstruct(){(0,K._setAriaLevel)(this.focusWrapper,2);const e=Q((e=>this.advancedFilterExpressionService.translate(e)),this.gos.get("advancedFilterBuilderParams")?.addSelectWidth),t=this.createManagedBean(new $(e));this.addManagedListeners(t,{fieldPickerValueSelected:({value:e})=>{this.dispatchLocalEvent({type:"advancedFilterBuilderAdded",item:this.item,isJoin:"join"===e.key})}}),this.eItem.appendChild(t.getGui()),this.createManagedBean(new K.TooltipFeature({getGui:()=>t.getGui(),getLocation:()=>"advancedFilter",getTooltipValue:()=>this.advancedFilterExpressionService.translate("advancedFilterBuilderAddButtonTooltip")})),this.createManagedBean(new X(this.getGui(),this.focusWrapper,t)),(0,K._setAriaLabel)(this.focusWrapper,this.advancedFilterExpressionService.translate("ariaAdvancedFilterBuilderItem",[this.advancedFilterExpressionService.translate("advancedFilterBuilderAddButtonTooltip"),`${this.item.level+1}`]))}afterAdd(){}},ee=i(3423),te=i(3423),ie=class extends te.Component{constructor(){super('\n <div class="ag-advanced-filter-builder-item-condition" role="presentation"></div>\n '),this.validationMessage=null}wireBeans(e){this.advancedFilterExpressionService=e.advancedFilterExpressionService}init(e){const{item:t,createPill:i}=e;this.item=t,this.createPill=i,this.filterModel=t.filterModel,this.setupColumnCondition(this.filterModel),this.validate(),this.addDestroyFunc((()=>this.destroyBeans([this.eColumnPill,this.eOperatorPill,this.eOperandPill])))}getDragName(){return this.filterModel.colId?this.advancedFilterExpressionService.parseColumnFilterModel(this.filterModel):this.getDefaultColumnDisplayValue()}getAriaLabel(){return`${this.advancedFilterExpressionService.translate("ariaAdvancedFilterBuilderFilterItem")} ${this.getDragName()}`}getValidationMessage(){return this.validationMessage}getFocusableElement(){return this.eColumnPill.getFocusableElement()}setupColumnCondition(e){const t=this.advancedFilterExpressionService.getColumnDetails(e.colId);this.baseCellDataType=t.baseCellDataType,this.column=t.column,this.numOperands=this.getNumOperands(this.getOperatorKey()),this.eColumnPill=this.createPill({key:this.getColumnKey(),displayValue:this.getColumnDisplayValue()??this.getDefaultColumnDisplayValue(),cssClass:"ag-advanced-filter-builder-column-pill",isSelect:!0,getEditorParams:()=>({values:this.advancedFilterExpressionService.getColumnAutocompleteEntries()}),update:e=>this.setColumnKey(e),pickerAriaLabelKey:"ariaLabelAdvancedFilterBuilderColumnSelectField",pickerAriaLabelValue:"Advanced Filter Builder Column Select Field",ariaLabel:this.advancedFilterExpressionService.translate("ariaAdvancedFilterBuilderColumn")}),this.getGui().appendChild(this.eColumnPill.getGui()),(0,te._exists)(this.getColumnKey())&&(this.createOperatorPill(),this.hasOperand()&&this.createOperandPill())}createOperatorPill(){this.eOperatorPill=this.createPill({key:this.getOperatorKey(),displayValue:this.getOperatorDisplayValue()??this.getDefaultOptionSelectValue(),cssClass:"ag-advanced-filter-builder-option-pill",isSelect:!0,getEditorParams:()=>({values:this.getOperatorAutocompleteEntries()}),update:e=>this.setOperatorKey(e),pickerAriaLabelKey:"ariaLabelAdvancedFilterBuilderOptionSelectField",pickerAriaLabelValue:"Advanced Filter Builder Option Select Field",ariaLabel:this.advancedFilterExpressionService.translate("ariaAdvancedFilterBuilderOption")}),this.eColumnPill.getGui().insertAdjacentElement("afterend",this.eOperatorPill.getGui())}createOperandPill(){const e=this.getOperandDisplayValue()??"";this.eOperandPill=this.createPill({key:e,displayValue:e,baseCellDataType:this.baseCellDataType,cssClass:"ag-advanced-filter-builder-value-pill",isSelect:!1,update:e=>this.setOperand(e),ariaLabel:this.advancedFilterExpressionService.translate("ariaAdvancedFilterBuilderValue")}),this.getGui().appendChild(this.eOperandPill.getGui())}getColumnKey(){return this.filterModel.colId}getColumnDisplayValue(){return this.advancedFilterExpressionService.getColumnDisplayValue(this.filterModel)}getOperatorKey(){return this.filterModel.type}getOperatorDisplayValue(){return this.advancedFilterExpressionService.getOperatorDisplayValue(this.filterModel)}getOperandDisplayValue(){return this.advancedFilterExpressionService.getOperandDisplayValue(this.filterModel,!0)}hasOperand(){return this.numOperands>0}getOperatorAutocompleteEntries(){return this.column?this.advancedFilterExpressionService.getOperatorAutocompleteEntries(this.column,this.baseCellDataType):[]}setColumnKey(e){this.eOperatorPill||this.createOperatorPill();const t=this.advancedFilterExpressionService.getColumnDetails(e);this.column=t.column;const i=t.baseCellDataType;this.baseCellDataType!==i&&(this.baseCellDataType=i,this.setOperatorKey(void 0),this.eOperatorPill&&((0,te._removeFromParent)(this.eOperatorPill.getGui()),this.destroyBean(this.eOperatorPill),this.createOperatorPill()),this.validate()),this.filterModel.colId=e,this.filterModel.filterType=this.baseCellDataType}setOperatorKey(e){const t=this.getNumOperands(e);t!==this.numOperands&&(this.numOperands=t,0===t?this.destroyOperandPill():(this.createOperandPill(),"number"!==this.baseCellDataType&&this.setOperand(""))),this.filterModel.type=e,this.validate()}setOperand(e){let t=e;this.column&&(t=this.advancedFilterExpressionService.getOperandModelValue(e,this.baseCellDataType,this.column)??""),this.filterModel.filter=t,this.validate()}getNumOperands(e){return this.advancedFilterExpressionService.getExpressionOperator(this.baseCellDataType,e)?.numOperands??0}destroyOperandPill(){delete this.filterModel.filter,this.getGui().removeChild(this.eOperandPill.getGui()),this.destroyBean(this.eOperandPill),this.eOperandPill=void 0}validate(){let e=null;(0,te._exists)(this.getColumnKey())?(0,te._exists)(this.getOperatorKey())?this.numOperands>0&&!(0,te._exists)(this.getOperandDisplayValue())&&(e=this.advancedFilterExpressionService.translate("advancedFilterBuilderValidationEnterValue")):e=this.advancedFilterExpressionService.translate("advancedFilterBuilderValidationSelectOption"):e=this.advancedFilterExpressionService.translate("advancedFilterBuilderValidationSelectColumn"),this.item.valid=!e,e!==this.validationMessage&&(this.validationMessage=e,this.dispatchLocalEvent({type:"advancedFilterBuilderValidChanged"}))}getDefaultColumnDisplayValue(){return this.advancedFilterExpressionService.translate("advancedFilterBuilderSelectColumn")}getDefaultOptionSelectValue(){return this.advancedFilterExpressionService.translate("advancedFilterBuilderSelectOption")}},ae=i(3423),ne=class extends ae.Component{constructor(e){super('\n <div class="ag-advanced-filter-builder-pill-wrapper" role="presentation">\n <div data-ref="ePill" class="ag-advanced-filter-builder-pill" role="button">\n <span data-ref="eLabel" class="ag-advanced-filter-builder-pill-display"></span>\n </div>\n </div>\n '),this.params=e,this.ePill=ae.RefPlaceholder,this.eLabel=ae.RefPlaceholder,this.value=e.value}wireBeans(e){this.advancedFilterExpressionService=e.advancedFilterExpressionService}postConstruct(){const{cssClass:e,ariaLabel:t}=this.params;this.ePill.classList.add(e),this.activateTabIndex([this.ePill]),this.eLabel.id=`${this.getCompId()}`,(0,ae._setAriaDescribedBy)(this.ePill,this.eLabel.id),(0,ae._setAriaLabel)(this.ePill,t),this.renderValue(),this.addManagedListeners(this.ePill,{click:e=>{e.preventDefault(),this.showEditor()},keydown:e=>{if(e.key===ae.KeyCode.ENTER)e.preventDefault(),(0,ae._stopPropagationForAgGrid)(e),this.showEditor()}}),this.addDestroyFunc((()=>this.destroyBean(this.eEditor)))}getFocusableElement(){return this.ePill}showEditor(){if(this.eEditor)return;(0,ae._setDisplayed)(this.ePill,!1),this.eEditor=this.createEditorComp(this.params.type),this.eEditor.setValue(this.value);const e=this.eEditor.getGui();this.eEditor.addManagedElementListeners(e,{keydown:e=>{switch(e.key){case ae.KeyCode.ENTER:e.preventDefault(),(0,ae._stopPropagationForAgGrid)(e),this.updateValue(!0);break;case ae.KeyCode.ESCAPE:e.preventDefault(),(0,ae._stopPropagationForAgGrid)(e),this.hideEditor(!0)}},focusout:()=>this.updateValue(!1)}),this.getGui().appendChild(e),this.eEditor.getFocusableElement().focus()}createEditorComp(e){let t;switch(e){case"text":t=new ae.AgInputTextField;break;case"number":t=new ae.AgInputNumberField;break;case"date":t=new ae.AgInputDateField}return this.createBean(t)}hideEditor(e){const{eEditor:t}=this;t&&(this.eEditor=void 0,this.getGui().removeChild(t.getGui()),this.destroyBean(t),(0,ae._setDisplayed)(this.ePill,!0),e&&this.ePill.focus())}renderValue(){let e;this.eLabel.classList.remove("ag-advanced-filter-builder-value-empty","ag-advanced-filter-builder-value-number","ag-advanced-filter-builder-value-text"),(0,ae._exists)(this.value)?"number"===this.params.type?(e=this.value,this.eLabel.classList.add("ag-advanced-filter-builder-value-number")):(e=`"${this.value}"`,this.eLabel.classList.add("ag-advanced-filter-builder-value-text")):(e=this.advancedFilterExpressionService.translate("advancedFilterBuilderEnterValue"),this.eLabel.classList.add("ag-advanced-filter-builder-value-empty")),this.eLabel.innerText=e}updateValue(e){if(!this.eEditor)return;const t=this.eEditor.getValue()??"";this.dispatchLocalEvent({type:"fieldValueChanged",value:t}),this.value=t,this.renderValue(),this.hideEditor(e)}},re=i(3423),oe=class extends re.Component{wireBeans(e){this.advancedFilterExpressionService=e.advancedFilterExpressionService}constructor(){super('\n <div class="ag-advanced-filter-builder-item-condition" role="presentation"></div>\n ')}init(e){const{item:t,createPill:i}=e,a=t.filterModel;this.filterModel=a,this.ePill=i({key:a.type,displayValue:this.advancedFilterExpressionService.parseJoinOperator(a),cssClass:"ag-advanced-filter-builder-join-pill",isSelect:!0,getEditorParams:()=>({values:this.advancedFilterExpressionService.getJoinOperatorAutocompleteEntries()}),update:e=>a.type=e,pickerAriaLabelKey:"ariaLabelAdvancedFilterBuilderJoinSelectField",pickerAriaLabelValue:"Advanced Filter Builder Join Operator Select Field",ariaLabel:this.advancedFilterExpressionService.translate("ariaAdvancedFilterBuilderJoinOperator")}),this.getGui().appendChild(this.ePill.getGui()),this.addDestroyFunc((()=>this.destroyBean(this.ePill)))}getDragName(){return this.advancedFilterExpressionService.parseJoinOperator(this.filterModel)}getAriaLabel(){return`${this.advancedFilterExpressionService.translate("ariaAdvancedFilterBuilderGroupItem")} ${this.getDragName()}`}getValidationMessage(){return null}getFocusableElement(){return this.ePill.getFocusableElement()}},se=i(3423),le=i(8299),ce=class extends le.AgRichSelect{constructor(e){super({...e,template:'\n <div class="ag-picker-field ag-advanced-filter-builder-pill-wrapper" role="presentation">\n <div data-ref="eLabel"></div>\n <div data-ref="eWrapper" class="ag-wrapper ag-advanced-filter-builder-pill ag-picker-collapsed">\n <div data-ref="eDisplayField" class="ag-picker-field-display ag-advanced-filter-builder-pill-display"></div>\n <ag-input-text-field data-ref="eInput" class="ag-rich-select-field-input"></ag-input-text-field>\n <span data-ref="eDeselect" class="ag-rich-select-deselect-button ag-picker-field-icon" role="presentation"></span>\n <div data-ref="eIcon" class="ag-picker-field-icon" aria-hidden="true"></div>\n </div>\n </div>',agComponents:[se.AgInputTextFieldSelector]}),this.params=e}getFocusableElement(){return this.eWrapper}showPicker(){setTimeout((()=>super.showPicker()))}hidePicker(){setTimeout((()=>super.hidePicker()))}postConstruct(){super.postConstruct();const{wrapperClassName:e,ariaLabel:t}=this.params;this.eWrapper.classList.add(e),(0,se._setAriaLabelledBy)(this.eWrapper,""),(0,se._setAriaLabel)(this.eWrapper,t)}createPickerComponent(){if(!this.values){const{values:e}=this.params.getEditorParams();this.values=e;const t=this.value.key,i=e.find((e=>e.key===t))??{key:t,displayValue:this.value.displayValue};this.value=i}return super.createPickerComponent()}onEnterKeyDown(e){(0,se._stopPropagationForAgGrid)(e),this.isPickerDisplayed?super.onEnterKeyDown(e):(e.preventDefault(),this.showPicker())}},de=class extends ee.TabGuardComp{constructor(e,t,i){super('\n <div class="ag-advanced-filter-builder-item-wrapper" role="presentation">\n <div class="ag-advanced-filter-builder-item" role="presentation">\n <div data-ref="eTreeLines" class="ag-advanced-filter-builder-item-tree-lines" aria-hidden="true"></div>\n <span data-ref="eDragHandle" class="ag-drag-handle" aria-hidden="true"></span>\n <span data-ref="eValidation" class="ag-advanced-filter-builder-item-button ag-advanced-filter-builder-invalid" aria-hidden="true"></span>\n </div>\n <div data-ref="eButtons" class="ag-advanced-filter-builder-item-buttons">\n <span data-ref="eMoveUpButton" class="ag-advanced-filter-builder-item-button" role="button"></span>\n <span data-ref="eMoveDownButton" class="ag-advanced-filter-builder-item-button" role="button"></span>\n <div data-ref="eAddButton" role="presentation"></div>\n <span data-ref="eRemoveButton" class="ag-advanced-filter-builder-item-button" role="button"></span>\n </div>\n </div>\n '),this.item=e,this.dragFeature=t,this.focusWrapper=i,this.eTreeLines=ee.RefPlaceholder,this.eDragHandle=ee.RefPlaceholder,this.eButtons=ee.RefPlaceholder,this.eValidation=ee.RefPlaceholder,this.eMoveUpButton=ee.RefPlaceholder,this.eMoveDownButton=ee.RefPlaceholder,this.eAddButton=ee.RefPlaceholder,this.eRemoveButton=ee.RefPlaceholder,this.moveUpDisabled=!1,this.moveDownDisabled=!1}wireBeans(e){this.dragAndDropService=e.dragAndDropService,this.advancedFilterExpressionService=e.advancedFilterExpressionService}postConstruct(){const{filterModel:e,level:t,showMove:i}=this.item,a="join"===e.filterType;if(this.ePillWrapper=this.createManagedBean(a?new oe:new ie),this.ePillWrapper.init({item:this.item,createPill:e=>this.createPill(e)}),this.eDragHandle.insertAdjacentElement("afterend",this.ePillWrapper.getGui()),0===t){const e=document.createElement("div");e.classList.add("ag-advanced-filter-builder-item-tree-line-vertical-bottom"),e.classList.add("ag-advanced-filter-builder-item-tree-line-root"),this.eTreeLines.appendChild(e),(0,ee._setDisplayed)(this.eDragHandle,!1),(0,ee._setDisplayed)(this.eButtons,!1),(0,ee._setAriaExpanded)(this.focusWrapper,!0)}else this.setupTreeLines(t),this.eDragHandle.appendChild((0,ee._createIconNoSpan)("advancedFilterBuilderDrag",this.gos)),this.setupValidation(),this.setupMoveButtons(i),this.setupAddButton(),this.setupRemoveButton(),this.setupDragging(),this.updateAriaExpanded();(0,ee._setAriaLevel)(this.focusWrapper,t+1),this.initialiseTabGuard({}),this.createManagedBean(new X(this.getGui(),this.focusWrapper,this.ePillWrapper)),this.updateAriaLabel(),this.addManagedListeners(this.ePillWrapper,{advancedFilterBuilderValueChanged:()=>this.dispatchLocalEvent({type:"advancedFilterBuilderValueChanged"}),advancedFilterBuilderValidChanged:()=>this.updateValidity()})}setState(e){const{level:t}=this.item;if(0===t)return;const{showMove:i}=this.item,{disableMoveUp:a,disableMoveDown:n,treeLines:r,showStartTreeLine:o}=e;this.updateTreeLines(r,o),this.updateAriaExpanded(),i&&(this.moveUpDisabled=!!a,this.moveDownDisabled=!!n,this.eMoveUpButton.classList.toggle("ag-advanced-filter-builder-item-button-disabled",a),this.eMoveDownButton.classList.toggle("ag-advanced-filter-builder-item-button-disabled",n),(0,ee._setAriaDisabled)(this.eMoveUpButton,!!a),(0,ee._setAriaDisabled)(this.eMoveDownButton,!!n),this.moveUpTooltipFeature.refreshToolTip(),this.moveDownTooltipFeature.refreshToolTip())}focusMoveButton(e){(e?this.eMoveUpButton:this.eMoveDownButton).focus()}afterAdd(){this.ePillWrapper.getFocusableElement().focus()}setupTreeLines(e){for(let t=0;t<e;t++){const e=document.createElement("div");this.eTreeLines.appendChild(e)}}updateTreeLines(e,t){const i=e.length-1,{children:a}=this.eTreeLines;for(let t=0;t<i;t++){const i=a.item(t);i&&i.classList.toggle("ag-advanced-filter-builder-item-tree-line-vertical",!e[t])}const n=a.item(i);if(n){n.classList.add("ag-advanced-filter-builder-item-tree-line-horizontal");const t=e[i];n.classList.toggle("ag-advanced-filter-builder-item-tree-line-vertical-top",t),n.classList.toggle("ag-advanced-filter-builder-item-tree-line-vertical",!t)}this.eDragHandle.classList.toggle("ag-advanced-filter-builder-item-tree-line-vertical-bottom",t)}setupValidation(){this.eValidation.appendChild((0,ee._createIconNoSpan)("advancedFilterBuilderInvalid",this.gos)),this.validationTooltipFeature=this.createManagedBean(new ee.TooltipFeature({getGui:()=>this.eValidation,getLocation:()=>"advancedFilter",getTooltipValue:()=>this.ePillWrapper.getValidationMessage(),getTooltipShowDelayOverride:()=>1e3})),this.updateValidity()}setupAddButton(){const e=Q((e=>this.advancedFilterExpressionService.translate(e)),this.gos.get("advancedFilterBuilderParams")?.addSelectWidth),t=this.createManagedBean(new $(e));this.addManagedListeners(t,{fieldPickerValueSelected:({value:e})=>this.dispatchLocalEvent({type:"advancedFilterBuilderAdded",item:this.item,isJoin:"join"===e.key})}),this.eAddButton.appendChild(t.getGui()),this.createManagedBean(new ee.TooltipFeature({getGui:()=>this.eAddButton,getLocation:()=>"advancedFilter",getTooltipValue:()=>this.advancedFilterExpressionService.translate("advancedFilterBuilderAddButtonTooltip")}))}setupRemoveButton(){this.eRemoveButton.appendChild((0,ee._createIconNoSpan)("advancedFilterBuilderRemove",this.gos)),this.addManagedListeners(this.eRemoveButton,{click:()=>this.removeItem(),keydown:e=>{if(e.key===ee.KeyCode.ENTER)e.preventDefault(),(0,ee._stopPropagationForAgGrid)(e),this.removeItem()}}),this.createManagedBean(new ee.TooltipFeature({getGui:()=>this.eRemoveButton,getLocation:()=>"advancedFilter",getTooltipValue:()=>this.advancedFilterExpressionService.translate("advancedFilterBuilderRemoveButtonTooltip")})),(0,ee._setAriaLabel)(this.eRemoveButton,this.advancedFilterExpressionService.translate("advancedFilterBuilderRemoveButtonTooltip")),this.activateTabIndex([this.eRemoveButton])}setupMoveButtons(e){e?(this.eMoveUpButton.appendChild((0,ee._createIconNoSpan)("advancedFilterBuilderMoveUp",this.gos)),this.addManagedListeners(this.eMoveUpButton,{click:()=>this.moveItem(!0),keydown:e=>{if(e.key===ee.KeyCode.ENTER)e.preventDefault(),(0,ee._stopPropagationForAgGrid)(e),this.moveItem(!0)}}),this.moveUpTooltipFeature=this.createManagedBean(new ee.TooltipFeature({getGui:()=>this.eMoveUpButton,getLocation:()=>"advancedFilter",getTooltipValue:()=>this.moveUpDisabled?null:this.advancedFilterExpressionService.translate("advancedFilterBuilderMoveUpButtonTooltip")})),(0,ee._setAriaLabel)(this.eMoveUpButton,this.advancedFilterExpressionService.translate("advancedFilterBuilderMoveUpButtonTooltip")),this.eMoveDownButton.appendChild((0,ee._createIconNoSpan)("advancedFilterBuilderMoveDown",this.gos)),this.addManagedListeners(this.eMoveDownButton,{click:()=>this.moveItem(!1),keydown:e=>{if(e.key===ee.KeyCode.ENTER)e.preventDefault(),(0,ee._stopPropagationForAgGrid)(e),this.moveItem(!1)}}),this.moveDownTooltipFeature=this.createManagedBean(new ee.TooltipFeature({getGui:()=>this.eMoveDownButton,getLocation:()=>"advancedFilter",getTooltipValue:()=>this.moveDownDisabled?null:this.advancedFilterExpressionService.translate("advancedFilterBuilderMoveDownButtonTooltip")})),(0,ee._setAriaLabel)(this.eMoveDownButton,this.advancedFilterExpressionService.translate("advancedFilterBuilderMoveDownButtonTooltip")),this.activateTabIndex([this.eMoveUpButton,this.eMoveDownButton])):((0,ee._setDisplayed)(this.eMoveUpButton,!1),(0,ee._setDisplayed)(this.eMoveDownButton,!1))}updateValidity(){(0,ee._setVisible)(this.eValidation,!this.item.valid),this.validationTooltipFeature.refreshToolTip(),this.updateAriaLabel()}createPill(e){const{key:t,displayValue:i,cssClass:a,update:n,ariaLabel:r}=e,o=e=>{null!=e&&(n(e),this.dispatchLocalEvent({type:"advancedFilterBuilderValueChanged"}))};if(e.isSelect){const{getEditorParams:n,pickerAriaLabelKey:s,pickerAriaLabelValue:l}=e,c=this.gos.get("advancedFilterBuilderParams"),d=`${c?.pillSelectMinWidth??140}px`,h=`${c?.pillSelectMaxWidth??200}px`,u=this.createBean(new ce({pickerAriaLabelKey:s,pickerAriaLabelValue:l,pickerType:"ag-list",value:{key:t,displayValue:i},valueFormatter:e=>null==e?null:e.displayValue??e.key,variableWidth:!0,minPickerWidth:d,maxPickerWidth:h,getEditorParams:n,wrapperClassName:a,ariaLabel:r}));return this.addManagedListeners(u,{fieldPickerValueSelected:({value:e})=>o(e?.key)}),u}{const t=this.createBean(new ne({value:i,cssClass:a,type:this.getInputType(e.baseCellDataType),ariaLabel:r}));return this.addManagedListeners(t,{fieldValueChanged:({value:e})=>o(e)}),t}}getInputType(e){switch(e){case"text":case"object":case"boolean":return"text";case"number":return"number";case"date":case"dateString":return"date"}}setupDragging(){const e={type:ee.DragSourceType.AdvancedFilterBuilder,eElement:this.eDragHandle,dragItemName:()=>this.ePillWrapper.getDragName(),getDefaultIconName:()=>"notAllowed",getDragItem:()=>({}),onDragStarted:()=>this.dragFeature.dispatchLocalEvent({type:"advancedFilterBuilderDragStarted",item:this.item}),onDragStopped:()=>this.dragFeature.dispatchLocalEvent({type:"advancedFilterBuilderDragEnded"})};this.dragAndDropService.addDragSource(e,!0),this.addDestroyFunc((()=>this.dragAndDropService.removeDragSource(e)))}updateAriaLabel(){const e=this.ePillWrapper.getAriaLabel(),t=`${this.item.level+1}`,i=this.ePillWrapper.getValidationMessage();let a;a=i?this.advancedFilterExpressionService.translate("ariaAdvancedFilterBuilderItemValidation",[e,t,i]):this.advancedFilterExpressionService.translate("ariaAdvancedFilterBuilderItem",[e,t]),(0,ee._setAriaLabel)(this.focusWrapper,a)}updateAriaExpanded(){(0,ee._removeAriaExpanded)(this.focusWrapper);const{filterModel:e}=this.item;"join"===e?.filterType&&e.conditions.length&&(0,ee._setAriaExpanded)(this.focusWrapper,!0)}removeItem(){this.dispatchLocalEvent({type:"advancedFilterBuilderRemoved",item:this.item})}moveItem(e){this.dispatchLocalEvent({type:"advancedFilterBuilderMoved",item:this.item,backwards:e})}},he=class extends H.Component{constructor(){super('\n <div role="presentation" class="ag-advanced-filter-builder" tabindex="-1">\n <div role="presentation" class="ag-advanced-filter-builder-list" data-ref="eList"></div>\n <div role="presentation" class="ag-advanced-filter-builder-button-panel">\n <button class="ag-button ag-standard-button ag-advanced-filter-builder-apply-button" data-ref="eApplyFilterButton"></button>\n <button class="ag-button ag-standard-button ag-advanced-filter-builder-cancel-button" data-ref="eCancelFilterButton"></button>\n </div>\n </div>'),this.eList=H.RefPlaceholder,this.eApplyFilterButton=H.RefPlaceholder,this.eCancelFilterButton=H.RefPlaceholder,this.validationMessage=null}wireBeans(e){this.filterManager=e.filterManager,this.advancedFilterService=e.advancedFilterService,this.advancedFilterExpressionService=e.advancedFilterExpressionService}postConstruct(){const{showMoveButtons:e}=this.gos.get("advancedFilterBuilderParams")??{};this.showMove=!!e,this.addManagedPropertyListener("advancedFilterBuilderParams",(({currentValue:e})=>{this.showMove=!!e?.showMoveButtons,this.refreshList(!1)})),this.filterModel=this.setupFilterModel(),this.setupVirtualList(),this.dragFeature=this.createManagedBean(new U(this,this.virtualList)),this.setupButtons()}refresh(){let e=this.virtualList.getLastFocusedRow();this.setupFilterModel(),this.validateItems(),this.refreshList(!1),null!=e&&(this.virtualList.getComponentAt(e)||(e=0),this.virtualList.focusRow(e))}getNumItems(){return this.items.length}moveItem(e,t){t&&e&&this.moveItemToIndex(e,t.rowIndex,t.position)}afterGuiAttached(){this.virtualList.focusRow(0)}setupVirtualList(){this.virtualList=this.createManagedBean(new W.VirtualList({cssIdentifier:"advanced-filter-builder",ariaRole:"tree",listName:this.advancedFilterExpressionService.translate("ariaAdvancedFilterBuilderList")})),this.virtualList.setComponentCreator(this.createItemComponent.bind(this)),this.virtualList.setComponentUpdater(this.updateItemComponent.bind(this)),this.virtualList.setRowHeight(40),this.eList.appendChild(this.virtualList.getGui()),this.virtualList.setModel({getRowCount:()=>this.items.length,getRow:e=>this.items[e],areRowsEqual:(e,t)=>e===t}),this.buildList(),this.virtualList.refresh()}setupButtons(){this.eApplyFilterButton.innerText=this.advancedFilterExpressionService.translate("advancedFilterBuilderApply"),this.activateTabIndex([this.eApplyFilterButton]),this.addManagedElementListeners(this.eApplyFilterButton,{click:()=>{this.advancedFilterService.setModel(this.filterModel),this.filterManager?.onFilterChanged({source:"advancedFilter"}),this.close()}}),this.validationTooltipFeature=this.createManagedBean(new H.TooltipFeature({getGui:()=>this.eApplyFilterButton,getLocation:()=>"advancedFilter",getTooltipValue:()=>this.validationMessage,getTooltipShowDelayOverride:()=>1e3})),this.validate();const e=e=>this.addOrRemoveCssClass("ag-advanced-filter-builder-validation",e);this.addManagedListeners(this.eApplyFilterButton,{mouseenter:()=>e(!0),mouseleave:()=>e(!1)}),this.eCancelFilterButton.innerText=this.advancedFilterExpressionService.translate("advancedFilterBuilderCancel"),this.activateTabIndex([this.eCancelFilterButton]),this.addManagedElementListeners(this.eCancelFilterButton,{click:()=>this.close()})}removeItemFromParent(e){const t=e.parent.conditions.indexOf(e.filterModel);return e.parent.conditions.splice(t,1),t}moveItemToIndex(e,t,i){const a=this.items[t],n="join"===a.filterModel?.filterType&&"bottom"===i,r=n?a.filterModel:a.parent;if(!r)return;if(this.isChildOrSelf(r,e.filterModel)||a===e)return;let o;this.removeItemFromParent(e),n?o=0:(o=r.conditions.indexOf(a.filterModel),-1===o?o=r.conditions.length:"bottom"===i&&(o+=1)),r.conditions.splice(o,0,e.filterModel),this.refreshList(!1)}isChildOrSelf(e,t){return e===t||"join"===t.filterType&&t.conditions.some((t=>this.isChildOrSelf(e,t)))}setupFilterModel(){const e=this.formatFilterModel(this.advancedFilterService.getModel());return this.stringifiedModel=JSON.stringify(e),e}formatFilterModel(e){return"join"!==(e=e??{filterType:"join",type:"AND",conditions:[]}).filterType&&(e={filterType:"join",type:"AND",conditions:[e]}),e}buildList(){const e=(t,i,a,n)=>{i.push({filterModel:t,level:a,parent:n,valid:!0,showMove:this.showMove}),"join"===t.filterType&&(t.conditions.forEach((n=>e(n,i,a+1,t))),0===a&&i.push({filterModel:null,level:a+1,parent:t,valid:!0}))};this.items=[],e(this.filterModel,this.items,0)}refreshList(e){if(!e){const e=[];this.items.forEach((t=>{t.valid||e.push(t.filterModel)})),this.buildList(),e.length&&this.items.forEach((t=>{t.filterModel&&e.includes(t.filterModel)&&(t.valid=!1)}))}this.virtualList.refresh(e),this.validate()}updateItemComponent(e,t){const i=this.items.indexOf(e),a=(e,t)=>{const i=this.items.find((t=>t.filterModel===e)),n=i?.parent;if(n){const{conditions:i}=n;a(n,t),t.push(i[i.length-1]===e)}},n=[],{filterModel:r}=e;r&&(a(r,n),n[0]=!1);const o="join"===r?.filterType&&!!r.conditions.length;t.setState({disableMoveUp:1===i,disableMoveDown:!this.canMoveDown(e,i),treeLines:n,showStartTreeLine:o})}createItemComponent(e,t){const i=this.createBean(e.filterModel?new de(e,this.dragFeature,t):new J(e,t));return i.addManagedListeners(i,{advancedFilterBuilderRemoved:({item:e})=>this.removeItem(e),advancedFilterBuilderValueChanged:()=>this.validate(),advancedFilterBuilderAdded:({item:e,isJoin:t})=>this.addItem(e,t),advancedFilterBuilderMoved:({item:e,backwards:t})=>this.moveItemUpDown(e,t)}),i instanceof de&&this.updateItemComponent(e,i),i}addItem(e,t){const{parent:i,level:a,filterModel:n}=e,r="join"===n?.filterType,o=t?{filterType:"join",type:"AND",conditions:[]}:{},s=r?n:i;let l=r?0:s.conditions.indexOf(n);l>=0?(r||(l+=1),s.conditions.splice(l,0,o)):s.conditions.push(o);let c=this.items.indexOf(e);const d=c>=0;if(d){e.filterModel&&c++;const i=[{filterModel:o,level:r?a+1:a,parent:s,valid:t,showMove:this.showMove}];this.items.splice(c,0,...i)}this.refreshList(d),d&&this.virtualList.getComponentAt(c)?.afterAdd()}removeItem(e){const t=e.parent,{filterModel:i}=e,a=t.conditions.indexOf(i);t.conditions.splice(a,1);const n="join"===e.filterModel?.filterType,r=this.items.indexOf(e),o=!n&&r>=0;o&&this.items.splice(r,1),this.refreshList(o),r>=0&&this.virtualList.focusRow(r)}moveItemUpDown(e,t){const i=this.items.indexOf(e),a=t?i-1:i+1;if(0===a||!t&&!this.canMoveDown(e,i))return;const n=this.items[a],r=this.removeItemFromParent(e),{level:o,filterModel:s,parent:l}=e,{level:c,filterModel:d,parent:h}=n;if(t)if(c===o&&"join"===d.filterType)d.conditions.push(s);else if(c<=o){const e=h.conditions.indexOf(d);h.conditions.splice(e,0,s)}else{l.conditions[r-1].conditions.push(s)}else if(c===o)if("join"===d.filterType)d.conditions.splice(0,0,s);else{const e=h.conditions.indexOf(d);h.conditions.splice(e+1,0,s)}else if(r<l.conditions.length)l.conditions.splice(r+1,0,s);else{const e=this.items.find((e=>e.filterModel===l)),t=e.parent.conditions.indexOf(e.filterModel)+1;e.parent.conditions.splice(t,0,s)}this.refreshList(!1);const u=this.items.findIndex((({filterModel:e})=>e===s));if(u>=0){const e=this.virtualList.getComponentAt(u);e instanceof de&&e.focusMoveButton(t)}}canMoveDown(e,t){return!(1===e.level&&t===this.items.length-2||1===e.level&&e.parent.conditions[e.parent.conditions.length-1]===e.filterModel)}close(){this.advancedFilterService.getCtrl().toggleFilterBuilder("ui")}validate(){let e=!this.items.every((({valid:e})=>e));e?this.validationMessage=this.advancedFilterExpressionService.translate("advancedFilterBuilderValidationIncomplete"):(e=JSON.stringify(this.filterModel)===this.stringifiedModel,this.validationMessage=e?this.advancedFilterExpressionService.translate("advancedFilterBuilderValidationAlreadyApplied"):null),(0,H._setDisabled)(this.eApplyFilterButton,e),this.validationTooltipFeature.refreshToolTip()}validateItems(){const e=e=>{e.type=void 0},t=e=>{delete e.filter};this.items.forEach((i=>{if(!i.valid||!i.filterModel||"join"===i.filterModel.filterType)return;const{filterModel:a}=i,{colId:n}=a,r=this.advancedFilterExpressionService.getColumnAutocompleteEntries().find((({key:e})=>e===n)),o=this.advancedFilterExpressionService.getColumnDetails(a.colId);if(!r||!o.column)return i.valid=!1,a.colId=void 0,e(a),void t(a);const s=this.advancedFilterExpressionService.getDataTypeExpressionOperator(o.baseCellDataType).operators[a.type];if(!s)return i.valid=!1,e(a),void t(a);s.numOperands>0&&!(0,H._exists)(a.filter)&&(i.valid=!1)}))}},ue=class extends A.BeanStub{constructor(e){super(),this.enabled=e}wireBeans(e){this.ctrlsService=e.ctrlsService,this.popupService=e.popupService,this.advancedFilterExpressionService=e.advancedFilterExpressionService,this.environment=e.environment}postConstruct(){this.hasAdvancedFilterParent=!!this.gos.get("advancedFilterParent"),this.ctrlsService.whenReady((()=>this.setAdvancedFilterComp())),this.addManagedEventListeners({advancedFilterEnabledChanged:({enabled:e})=>this.onEnabledChanged(e)}),this.addManagedPropertyListener("advancedFilterParent",(()=>this.updateComps())),this.addDestroyFunc((()=>{this.destroyAdvancedFilterComp(),this.destroyBean(this.eBuilderComp),this.eBuilderDialog&&this.eBuilderDialog.isAlive()&&this.destroyBean(this.eBuilderDialog)}))}setupHeaderComp(e){this.eHeaderComp=this.createManagedBean(new V(this.enabled&&!this.hasAdvancedFilterParent)),e.insertAdjacentElement("beforebegin",this.eHeaderComp.getGui())}focusHeaderComp(){return!!this.eHeaderComp&&(this.eHeaderComp.getFocusableElement().focus(),!0)}refreshComp(){this.eFilterComp?.refresh(),this.eHeaderComp?.refresh()}refreshBuilderComp(){this.eBuilderComp?.refresh()}getHeaderHeight(){return this.eHeaderComp?.getHeight()??0}setInputDisabled(e){this.eFilterComp?.setInputDisabled(e),this.eHeaderComp?.setInputDisabled(e)}toggleFilterBuilder(e,t){if(t&&this.eBuilderDialog||!1===t&&!this.eBuilderDialog)return;if(this.eBuilderDialog)return this.builderDestroySource=e,void this.destroyBean(this.eBuilderDialog);this.setInputDisabled(!0);const{width:i,height:a,minWidth:n}=this.getBuilderDialogSize();this.eBuilderComp=this.createBean(new he),this.eBuilderDialog=this.createBean(new E.AgDialog({title:this.advancedFilterExpressionService.translate("advancedFilterBuilderTitle"),component:this.eBuilderComp,width:i,height:a,resizable:!0,movable:!0,maximizable:!0,centered:!0,closable:!0,minWidth:n,afterGuiAttached:()=>this.eBuilderComp?.afterGuiAttached()})),this.dispatchFilterBuilderVisibleChangedEvent(e,!0),this.eBuilderDialog.addEventListener("destroyed",(()=>{this.destroyBean(this.eBuilderComp),this.eBuilderComp=void 0,this.eBuilderDialog=void 0,this.setInputDisabled(!1),this.dispatchLocalEvent({type:"advancedFilterBuilderClosed"}),this.dispatchFilterBuilderVisibleChangedEvent(this.builderDestroySource??"ui",!1),this.builderDestroySource=void 0}))}dispatchFilterBuilderVisibleChangedEvent(e,t){const i={type:"advancedFilterBuilderVisibleChanged",source:e,visible:t};this.eventService.dispatchEvent(i)}getBuilderDialogSize(){const e=this.gos.get("advancedFilterBuilderParams")?.minWidth??500,t=this.popupService.getPopupParent(),i=Math.round((0,A._getAbsoluteWidth)(t))-2,a=Math.round(.75*(0,A._getAbsoluteHeight)(t))-2;return{width:Math.min(Math.max(600,e),i),height:Math.min(600,a),minWidth:e}}onEnabledChanged(e){this.enabled=e,this.updateComps()}updateComps(){this.setAdvancedFilterComp(),this.setHeaderCompEnabled(),this.eventService.dispatchEvent({type:"headerHeightChanged"})}setAdvancedFilterComp(){if(this.destroyAdvancedFilterComp(),!this.enabled)return;const e=this.gos.get("advancedFilterParent");if(this.hasAdvancedFilterParent=!!e,e){const t=this.createBean(new G),i=t.getGui();this.environment.applyThemeClasses(i),i.classList.add(this.gos.get("enableRtl")?"ag-rtl":"ag-ltr"),e.appendChild(i),this.eFilterComp=t}}setHeaderCompEnabled(){this.eHeaderComp?.setEnabled(this.enabled&&!this.hasAdvancedFilterParent)}destroyAdvancedFilterComp(){this.eFilterComp&&((0,A._removeFromParent)(this.eFilterComp.getGui()),this.destroyBean(this.eFilterComp))}},ge=class{constructor(e){this.params=e,this.operators=[],this.operatorStartPositions=[],this.operatorEndPositions=[],this.activeOperator=0,this.validationError=null}parseExpression(e){this.operators.push(""),this.operatorStartPositions.push(e),this.operatorEndPositions.push(void 0);const{expression:t}=this.params;for(;e<t.length;){const i=t[e];if(" "===i){if(this.parseOperator(e-1))return this.activeOperator++,e-1;this.operators[this.activeOperator]+=i}else this.operators[this.activeOperator]+=i;e++}return this.parseOperator(e-1),e}isValid(){return!(this.validationError||this.operators.length&&!this.parsedOperator)}getValidationError(){return this.validationError}getFunction(){return"OR"===this.parsedOperator?"||":"&&"}getModel(){return"OR"===this.parsedOperator?"OR":"AND"}getAutocompleteListParams(e,t){let i;if(null==t)i="";else{const a=this.operators[t],n=this.operatorEndPositions[t];i=g(a,e,null==n?this.params.expression.length:n+1)}let a=this.params.advancedFilterExpressionService.getJoinOperatorAutocompleteEntries();return(t||null==t&&this.activeOperator)&&(a=a.filter((({key:e})=>e===this.parsedOperator))),this.params.advancedFilterExpressionService.generateAutocompleteListParams(a,"join",i)}updateExpression(e,t,i){let{expression:a}=this.params;const n=t.displayValue??t.key;if(0===i)for(let e=this.operatorEndPositions.length-1;e>0;e--){const t=this.operatorEndPositions[e];null!=t&&(a=p(a,this.operatorStartPositions[e],t,n).updatedValue)}return p(a,this.operatorStartPositions.length>i?this.operatorStartPositions[i]:e,(this.operatorEndPositions.length>i?this.operatorEndPositions[i]:void 0)??m(a,e,!0).endPosition,n,!0)}getNumOperators(){return this.operators.length}getLastOperatorEndPosition(){return this.operatorEndPositions[this.operatorEndPositions.length-1]}parseOperator(e){const t=this.operators.length>this.activeOperator?this.operators[this.activeOperator]:"",i=this.params.advancedFilterExpressionService.getExpressionJoinOperators(),a=w(t,i,(e=>e));if(a){this.operatorEndPositions[this.activeOperator]=e;const n=i[a];if(this.activeOperator){if(a!==this.parsedOperator)return this.validationError||(this.validationError={message:this.params.advancedFilterExpressionService.translate("advancedFilterValidationJoinOperatorMismatch"),startPosition:e-t.length+1,endPosition:e}),!1}else this.parsedOperator=a;return t!==n&&(f(this.params,t,n,e),this.operators[this.activeOperator]=n),!0}return null!==a&&(this.validationError||(this.validationError={message:this.params.advancedFilterExpressionService.translate("advancedFilterValidationInvalidJoinOperator"),startPosition:e-t.length+1,endPosition:e}),!0)}},pe=class e{constructor(e,t){this.params=e,this.startPosition=t,this.expectingExpression=!0,this.expectingOperator=!1,this.expressionParsers=[],this.operatorParser=new ge(this.params),this.missingEndBracket=!1,this.extraEndBracket=!1}parseExpression(){let t=this.startPosition;const{expression:i}=this.params;for(;t<i.length;){const a=i[t];if("("!==a||this.expectingOperator){if(")"===a)return this.endPosition=t-1,0===this.startPosition&&(this.extraEndBracket=!0),t;if(" "===a);else if(this.expectingExpression){const e=new C(this.params,t);t=e.parseExpression(),this.expressionParsers.push(e),this.expectingExpression=!1,this.expectingOperator=!0}else this.expectingOperator&&(t=this.operatorParser.parseExpression(t),this.expectingOperator=!1,this.expectingExpression=!0)}else{const i=new e(this.params,t+1);t=i.parseExpression(),this.expressionParsers.push(i),this.expectingExpression=!1,this.expectingOperator=!0}t++}return this.startPosition>0&&(this.missingEndBracket=!0),t}isValid(){return!this.missingEndBracket&&!this.extraEndBracket&&this.expressionParsers.length===this.operatorParser.getNumOperators()+1&&this.operatorParser.isValid()&&this.expressionParsers.every((e=>e.isValid()))}getValidationError(){const e=this.operatorParser.getValidationError();for(let t=0;t<this.expressionParsers.length;t++){const i=this.expressionParsers[t].getValidationError();if(i)return e&&e.startPosition<i.startPosition?e:i}if(e)return e;if(this.extraEndBracket)return{message:this.params.advancedFilterExpressionService.translate("advancedFilterValidationExtraEndBracket"),startPosition:this.endPosition+1,endPosition:this.endPosition+1};let t;return this.expressionParsers.length===this.operatorParser.getNumOperators()?t="advancedFilterValidationMissingCondition":this.missingEndBracket&&(t="advancedFilterValidationMissingEndBracket"),t?{message:this.params.advancedFilterExpressionService.translate(t),startPosition:this.params.expression.length,endPosition:this.params.expression.length}:null}getFunctionString(e){const t=this.expressionParsers.length>1,i=this.expressionParsers.map((t=>t.getFunctionString(e))).join(` ${this.operatorParser.getFunction()} `);return t?`(${i})`:i}getFunctionParsed(e){const t=this.operatorParser.getFunction(),i=this.expressionParsers.map((t=>t.getFunctionParsed(e))),a="&&"===t?"every":"some";return(e,t,n)=>i[a]((i=>i(e,t,n)))}getAutocompleteListParams(e){if(null!=this.endPosition&&e>this.endPosition+1)return;if(!this.expressionParsers.length)return this.getColumnAutocompleteListParams();const t=this.getExpressionParserIndex(e);if(null==t)return"("===this.params.expression[e]?{enabled:!1}:this.getColumnAutocompleteListParams();const i=this.expressionParsers[t].getAutocompleteListParams(e);if(!i){if(t<this.expressionParsers.length-1)return this.operatorParser.getAutocompleteListParams(e,t);if(this.expressionParsers.length===this.operatorParser.getNumOperators()){const t=this.operatorParser.getLastOperatorEndPosition();return null==t||e<=t+1?this.operatorParser.getAutocompleteListParams(e,this.operatorParser.getNumOperators()-1):this.getColumnAutocompleteListParams()}return")"===this.params.expression[e-1]?{enabled:!1}:this.operatorParser.getAutocompleteListParams(e)}return i}updateExpression(e,t,i){const a=this.params.expression,n=this.getExpressionParserIndex(e);if(null==n){const e="column"===i?this.params.advancedFilterExpressionService.getColumnValue(t):t.displayValue??t.key;return p(a,this.startPosition,this.startPosition,e,!0)}const r=this.expressionParsers[n].updateExpression(e,t,i);return null==r?"column"===i?p(a,e,a.length-1,this.params.advancedFilterExpressionService.getColumnValue(t),!0):null!=this.endPosition&&e>this.endPosition+1?null:this.operatorParser.updateExpression(e,t,n):r}getModel(){return this.expressionParsers.length>1?{filterType:"join",type:this.operatorParser.getModel(),conditions:this.expressionParsers.map((e=>e.getModel()))}:this.expressionParsers[0].getModel()}getColumnAutocompleteListParams(){return this.params.advancedFilterExpressionService.generateAutocompleteListParams(this.params.advancedFilterExpressionService.getColumnAutocompleteEntries(),"column","")}getExpressionParserIndex(e){let t;for(let i=0;i<this.expressionParsers.length;i++){if(this.expressionParsers[i].startPosition>e)break;t=i}return t}},me=class{constructor(e){this.params=e,this.valid=!1}parseExpression(){this.joinExpressionParser=new pe(this.params,0);const e=this.joinExpressionParser.parseExpression();return this.valid=e>=this.params.expression.length-1&&this.joinExpressionParser.isValid(),this.params.expression}isValid(){return this.valid}getValidationMessage(){const e=this.joinExpressionParser.getValidationError();if(!e)return null;const{message:t,startPosition:i,endPosition:a}=e;return i<this.params.expression.length?this.params.advancedFilterExpressionService.translate("advancedFilterValidationMessage",[t,this.params.expression.slice(i,a+1).trim()]):this.params.advancedFilterExpressionService.translate("advancedFilterValidationMessageAtEnd",[t])}getFunctionString(){const e=this.createFunctionParams();return{functionString:`return ${this.joinExpressionParser.getFunctionString(e)};`,params:e}}getFunctionParsed(){const e=this.createFunctionParams();return{expressionFunction:this.joinExpressionParser.getFunctionParsed(e),params:e}}getAutocompleteListParams(e){return this.joinExpressionParser.getAutocompleteListParams(e)??{enabled:!1}}updateExpression(e,t,i){return this.joinExpressionParser.updateExpression(e,t,i)}getModel(){return this.isValid()?this.joinExpressionParser.getModel():null}createFunctionParams(){return{operands:[],operators:[],evaluatorParams:[]}}},fe=class extends D.BeanStub{constructor(){super(...arguments),this.beanName="advancedFilterService",this.appliedExpression=null,this.expression=null,this.isValid=!0}wireBeans(e){this.valueService=e.valueService,this.columnModel=e.columnModel,this.dataTypeService=e.dataTypeService,this.rowModel=e.rowModel,this.advancedFilterExpressionService=e.advancedFilterExpressionService}postConstruct(){this.setEnabled(this.gos.get("enableAdvancedFilter"),!0),this.ctrl=this.createManagedBean(new ue(this.enabled)),this.expressionProxy={getValue:(e,t)=>{const i=this.columnModel.getColDefCol(e);return i?this.valueService.getValue(i,t,!0):void 0}},this.addManagedPropertyListener("enableAdvancedFilter",(e=>this.setEnabled(!!e.currentValue))),this.addManagedEventListeners({newColumnsLoaded:e=>this.onNewColumnsLoaded(e)}),this.addManagedPropertyListener("includeHiddenColumnsInAdvancedFilter",(()=>this.updateValidity()))}isEnabled(){return this.enabled}isFilterPresent(){return!!this.expressionFunction}doesFilterPass(e){return this.expressionFunction(this.expressionProxy,e,this.expressionParams)}getModel(){const e=this.createExpressionParser(this.appliedExpression);return e?.parseExpression(),e?.getModel()??null}setModel(e){const t=(e,i)=>{if("join"===e.filterType){const a=this.advancedFilterExpressionService.parseJoinOperator(e),n=e.conditions.map((e=>t(e))).filter((e=>(0,D._exists)(e))).join(` ${a} `);return i||e.conditions.length<=1?n:`(${n})`}return this.advancedFilterExpressionService.parseColumnFilterModel(e)},i=e?t(e,!0):null;this.setExpressionDisplayValue(i),this.applyExpression(),this.ctrl.refreshComp(),this.ctrl.refreshBuilderComp()}getExpressionDisplayValue(){return this.expression}setExpressionDisplayValue(e){this.expression=e}isCurrentExpressionApplied(){return this.appliedExpression===this.expression}createExpressionParser(e){return e?new me({expression:e,columnModel:this.columnModel,dataTypeService:this.dataTypeService,valueService:this.valueService,advancedFilterExpressionService:this.advancedFilterExpressionService}):null}getDefaultExpression(e){const t=this.advancedFilterExpressionService.getColumnValue(e)+" ";return{updatedValue:t,updatedPosition:t.length}}isHeaderActive(){return!this.gos.get("advancedFilterParent")}getCtrl(){return this.ctrl}setEnabled(e,t){const i=this.enabled,a=this.rowModel.getType(),n="clientSide"===a||"serverSide"===a;if(e&&!a&&(0,D._warnOnce)("Advanced Filter is only supported with the Client-Side Row Model or Server-Side Row Model."),this.enabled=e&&n,!t&&this.enabled!==i){const e={type:"advancedFilterEnabledChanged",enabled:this.enabled};this.eventService.dispatchEvent(e)}}applyExpression(){const e=this.createExpressionParser(this.expression);e?.parseExpression(),this.applyExpressionFromParser(e)}applyExpressionFromParser(e){if(this.isValid=!e||e.isValid(),!e||!this.isValid)return this.expressionFunction=null,this.expressionParams=null,void(this.appliedExpression=null);const{expressionFunction:t,params:i}=this.getFunction(e);this.expressionFunction=t,this.expressionParams=i,this.appliedExpression=this.expression}getFunction(e){if(this.gos.get("suppressAdvancedFilterEval"))return e.getFunctionParsed();{const{functionString:t,params:i}=e.getFunctionString();return{expressionFunction:new Function("expressionProxy","node","params",t),params:i}}}updateValidity(){this.advancedFilterExpressionService.resetColumnCaches();const e=this.createExpressionParser(this.expression);e?.parseExpression();const t=(!e||e.isValid())!==this.isValid;return this.applyExpressionFromParser(e),this.ctrl.refreshComp(),this.ctrl.refreshBuilderComp(),t}onNewColumnsLoaded(e){if("gridInitializing"!==e.source||!this.dataTypeService?.isPendingInference())return;this.ctrl.setInputDisabled(!0);const[t]=this.addManagedEventListeners({dataTypesInferred:()=>{t?.(),this.ctrl.setInputDisabled(!1)}})}},ve="32.0.2",ye={version:ve,moduleName:`${c.ModuleNames.AdvancedFilterModule}-core`,beans:[fe,R],dependantModules:[d.EnterpriseCoreModule,c._FilterCoreModule]},be={version:ve,moduleName:`${c.ModuleNames.AdvancedFilterModule}-api`,apiFunctions:{getAdvancedFilterModel:function(e){return e.filterManager?.getAdvancedFilterModel()??null},setAdvancedFilterModel:function(e,t){e.filterManager?.setAdvancedFilterModel(t)},showAdvancedFilterBuilder:function(e){e.filterManager?.toggleAdvancedFilterBuilder(!0,"api")},hideAdvancedFilterBuilder:function(e){e.filterManager?.toggleAdvancedFilterBuilder(!1,"api")}},dependantModules:[ye]},Ce={version:ve,moduleName:c.ModuleNames.AdvancedFilterModule,dependantModules:[ye,be]}},2449:function(e,t,i){var a,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,l=(e,t,i,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of o(t))s.call(e,l)||l===i||n(e,l,{get:()=>t[l],enumerable:!(a=r(t,l))||a.enumerable});return e},c={};((e,t)=>{for(var i in t)n(e,i,{get:t[i],enumerable:!0})})(c,{GridChartsModule:()=>co,agCharts:()=>ho}),e.exports=(a=c,l(n({},"__esModule",{value:!0}),a));var d=i(4933),h=i(3423),u=i(8299),g=i(1060),p=i(3423),m=i(8299),f=i(3423),v=i(3423),y={area:{isCartesian:!0,canInvert:!0},bar:{isCartesian:!0,canInvert:!0},histogram:{isCartesian:!0},line:{isCartesian:!0,canInvert:!0},pie:{isPie:!0},donut:{isPie:!0,canInvert:!0},scatter:{isCartesian:!0},bubble:{isCartesian:!0},"radial-column":{isPolar:!0,isEnterprise:!0,isRadial:!0,canInvert:!0},"radial-bar":{isPolar:!0,isEnterprise:!0,isRadial:!0,canInvert:!0},"radar-line":{isPolar:!0,isEnterprise:!0,canInvert:!0},"radar-area":{isPolar:!0,isEnterprise:!0,canInvert:!0},nightingale:{isPolar:!0,isEnterprise:!0,canInvert:!0},"range-bar":{isCartesian:!0,isEnterprise:!0,canSwitchDirection:!0},"range-area":{isCartesian:!0,isEnterprise:!0},"box-plot":{isCartesian:!0,isEnterprise:!0,canSwitchDirection:!0},treemap:{isEnterprise:!0,isHierarchical:!0},sunburst:{isEnterprise:!0,isHierarchical:!0},heatmap:{isCartesian:!0,isEnterprise:!0},waterfall:{isCartesian:!0,isEnterprise:!0,canSwitchDirection:!0}};function b(e){return v.ChartMappings.COMBO_CHART_TYPES.includes(e)}function C(e,t){return!!y[e]?.[t]}var w=new Set(["stackedColumn","normalizedColumn","stackedBar","normalizedBar"]);function S(e){return C(e,"isCartesian")}function x(e){return C(e,"isPolar")}function k(e){return C(e,"isHierarchical")}function M(e){return"doughnut"===e?"donut":e}function R(e){return v.ChartMappings.CHART_TYPE_TO_SERIES_TYPE[e]}function D(e){return R(e)??"line"}function A(e){return C(e,"isPie")}function E(e){return k(D(e))?void 0:1}function T(e){return k(D(e))?2:function(e){return"pie"===e||"waterfall"===e||"histogram"===e}(e)?1:void 0}function P(e){return!b(e)&&C(D(e),"canInvert")}function F(e){switch(e){case"groupedColumn":case"stackedColumn":case"normalizedColumn":case"groupedBar":case"stackedBar":case"normalizedBar":case"stackedArea":case"normalizedArea":return`${e}Full`;case"doughnut":return"donut";case"areaColumnCombo":return"AreaColumnCombo";default:return e}}var I=i(3423),L=class extends I.BeanStub{constructor(e,t,i,a){super(),this.chartController=e,this.eGui=t,this.cssClass=i,this.createPanels=a,this.panels=[]}postConstruct(){this.addManagedListeners(this.chartController,{chartUpdated:()=>this.refreshPanels(!0),chartApiUpdate:()=>this.refreshPanels(!1)})}addComponent(e){this.createBean(e),this.panels.push(e),e.addCssClass(this.cssClass),this.eGui.appendChild(e.getGui())}refreshPanels(e){const t=this.chartController.getChartType(),i=this.chartController.isGrouping(),a=D(t);e&&t===this.chartType&&i===this.isGrouping||(this.destroyPanels(),this.createPanels(t,a),this.chartType=t,this.isGrouping=i)}destroyPanels(){this.panels.forEach((e=>{(0,I._removeFromParent)(e.getGui()),this.destroyBean(e)})),this.panels=[]}destroy(){this.destroyPanels(),super.destroy()}},N=i(3423),O=i(8299),z=class extends N.Component{constructor(e){super(),this.chartMenuParamsFactory=e}wireBeans(e){this.chartTranslationService=e.chartTranslationService}postConstruct(){const e=this.chartMenuParamsFactory.addEnableParams("animation.enabled",{cssIdentifier:"charts-advanced-settings-top-level",direction:"vertical",suppressOpenCloseIcons:!0,title:this.chartTranslationService.translate("animation"),suppressEnabledCheckbox:!0,useToggle:!0}),t=this.chartMenuParamsFactory.getDefaultNumberInputParams("animation.duration","durationMillis",{min:0});this.setTemplate('<div>\n <ag-group-component data-ref="animationGroup">\n <ag-input-number-field data-ref="animationHeightInput"></ag-input>\n </ag-group-component>\n </div>',[O.AgGroupComponentSelector,N.AgInputNumberFieldSelector],{animationGroup:e,animationHeightInput:t})}},G=i(3423),B=i(8299),V=i(3423),H=i(8299),W=i(4933),_=i(3423),q=i(4933),U=i(3423),K=i(4933),j={selector:"AG-COLOR-INPUT",component:class extends U.AgInputTextField{constructor(){super({template:'\n <div role="presentation" class="ag-color-input">\n <div data-ref="eLabel" class="ag-input-field-label"></div>\n <div data-ref="eWrapper" class="ag-wrapper ag-input-wrapper" role="presentation">\n <input data-ref="eInput" class="ag-input-field-input">\n <div data-ref="eColor" class="ag-color-input-color"></div>\n </div>\n </div>'}),this.eColor=U.RefPlaceholder}wireBeans(e){this.chartTranslationService=e.chartTranslationService}setColor(e){const t=e.toRgbaString();this.setValue(K._Util.Color.fromString(t).toHexString().toUpperCase(),!0),this.eColor.style.backgroundColor=t}setValue(e,t){const i=K._Util.Color.validColorString(e??"");return this.eInput.setCustomValidity(i?"":this.chartTranslationService.translate("invalidColor")),super.setValue(e,t),i&&!t&&this.dispatchLocalEvent({type:"colorChanged"}),this}onColorChanged(e){this.addManagedListeners(this,{colorChanged:()=>e(K._Util.Color.fromString(this.value))})}}},Y=class e extends _.Component{constructor(e){super('<div class="ag-color-panel" tabindex="-1">\n <div data-ref="spectrumColor" class="ag-spectrum-color">\n <div class="ag-spectrum-sat ag-spectrum-fill">\n <div data-ref="spectrumVal" class="ag-spectrum-val ag-spectrum-fill">\n <div data-ref="spectrumDragger" class="ag-spectrum-dragger"></div>\n </div>\n </div>\n </div>\n <div class="ag-spectrum-tools">\n <div data-ref="spectrumHue" class="ag-spectrum-hue ag-spectrum-tool">\n <div class="ag-spectrum-hue-background"></div>\n <div data-ref="spectrumHueSlider" class="ag-spectrum-slider"></div>\n </div>\n <div data-ref="spectrumAlpha" class="ag-spectrum-alpha ag-spectrum-tool">\n <div class="ag-spectrum-alpha-background"></div>\n <div data-ref="spectrumAlphaSlider" class="ag-spectrum-slider"></div>\n </div>\n <ag-color-input data-ref="colorInput"></ag-color-input>\n <div data-ref="recentColors" class="ag-recent-colors"></div>\n </div>\n </div>',[j]),this.H=1,this.S=1,this.B=1,this.A=1,this.isSpectrumDragging=!1,this.isSpectrumHueDragging=!1,this.isSpectrumAlphaDragging=!1,this.colorChanged=!1,this.spectrumColor=_.RefPlaceholder,this.spectrumVal=_.RefPlaceholder,this.spectrumDragger=_.RefPlaceholder,this.spectrumHue=_.RefPlaceholder,this.spectrumHueSlider=_.RefPlaceholder,this.spectrumAlpha=_.RefPlaceholder,this.spectrumAlphaSlider=_.RefPlaceholder,this.colorInput=_.RefPlaceholder,this.recentColors=_.RefPlaceholder,this.picker=e.picker}postConstruct(){this.initTabIndex(),this.initRecentColors(),this.addGuiEventListener("focus",(()=>this.spectrumColor.focus())),this.addGuiEventListener("keydown",(e=>{e.key!==_.KeyCode.ENTER||e.defaultPrevented||this.destroy()})),this.addManagedListeners(this.spectrumColor,{keydown:e=>this.moveDragger(e)}),this.addManagedListeners(this.spectrumAlphaSlider,{keydown:e=>this.moveAlphaSlider(e)}),this.addManagedListeners(this.spectrumHueSlider,{keydown:e=>this.moveHueSlider(e)}),this.addManagedListeners(this.spectrumVal,{mousedown:this.onSpectrumDraggerDown.bind(this)}),this.addManagedListeners(this.spectrumHue,{mousedown:this.onSpectrumHueDown.bind(this)}),this.addManagedListeners(this.spectrumAlpha,{mousedown:this.onSpectrumAlphaDown.bind(this)}),this.addGuiEventListener("mousemove",(e=>{this.onSpectrumDraggerMove(e),this.onSpectrumHueMove(e),this.onSpectrumAlphaMove(e)})),this.addManagedListeners(document,{mouseup:this.onMouseUp.bind(this)}),this.colorInput.onColorChanged(this.setColor.bind(this)),this.addManagedListeners(this.recentColors,{click:this.onRecentColorClick.bind(this),keydown:e=>{e.key!==_.KeyCode.ENTER&&e.key!==_.KeyCode.SPACE||(e.preventDefault(),this.onRecentColorClick(e))}})}initTabIndex(){const e=this.tabIndex=this.gos.get("tabIndex").toString();this.spectrumColor.setAttribute("tabindex",e),this.spectrumHueSlider.setAttribute("tabindex",e),this.spectrumAlphaSlider.setAttribute("tabindex",e)}refreshSpectrumRect(){return this.spectrumValRect=this.spectrumVal.getBoundingClientRect()}refreshHueRect(){return this.spectrumHueRect=this.spectrumHue.getBoundingClientRect()}refreshAlphaRect(){return this.spectrumAlphaRect=this.spectrumAlpha.getBoundingClientRect()}onSpectrumDraggerDown(e){this.refreshSpectrumRect(),this.isSpectrumDragging=!0,this.moveDragger(e)}onSpectrumDraggerMove(e){this.isSpectrumDragging&&this.moveDragger(e)}onSpectrumHueDown(e){this.refreshHueRect(),this.isSpectrumHueDragging=!0,this.moveHueSlider(e)}onSpectrumHueMove(e){this.isSpectrumHueDragging&&this.moveHueSlider(e)}onSpectrumAlphaDown(e){this.refreshAlphaRect(),this.isSpectrumAlphaDragging=!0,this.moveAlphaSlider(e)}onSpectrumAlphaMove(e){this.isSpectrumAlphaDragging&&this.moveAlphaSlider(e)}onMouseUp(){this.isSpectrumDragging=!1,this.isSpectrumHueDragging=!1,this.isSpectrumAlphaDragging=!1}moveDragger(e){const t=this.spectrumValRect;if(!t)return;let i,a;if(e instanceof MouseEvent)i=e.clientX-t.left,a=e.clientY-t.top;else{const t=e.key===_.KeyCode.LEFT,n=e.key===_.KeyCode.RIGHT,r=e.key===_.KeyCode.UP,o=e.key===_.KeyCode.DOWN,s=r||o,l=t||n;if(!s&&!l)return;e.preventDefault();const{x:c,y:d}=this.getSpectrumValue();i=c+(l?t?-5:5:0),a=d+(s?r?-5:5:0)}i=Math.max(i,0),i=Math.min(i,t.width),a=Math.max(a,0),a=Math.min(a,t.height),this.setSpectrumValue(i/t.width,1-a/t.height)}moveHueSlider(e){const t=this.spectrumHueRect;if(!t)return;const i=this.moveSlider(this.spectrumHueSlider,e);null!=i&&(this.H=1-i/t.width,this.update())}moveAlphaSlider(e){const t=this.spectrumAlphaRect;if(!t)return;const i=this.moveSlider(this.spectrumAlphaSlider,e);null!=i&&(this.A=i/t.width,this.update())}moveSlider(e,t){const i=e.getBoundingClientRect(),a=e.parentElement?.getBoundingClientRect();if(!e||!a)return null;const n=i.width/2;let r;if(t instanceof MouseEvent)r=Math.floor(t.clientX-a.left);else{const i=t.key===_.KeyCode.LEFT,a=t.key===_.KeyCode.RIGHT;if(!i&&!a)return null;t.preventDefault();const o=i?-5:5;r=parseFloat(e.style.left)+n+o}return r=Math.max(r,0),r=Math.min(r,a.width),e.style.left=r-n+"px",r}update(e){const t=360*this.H,i=q._Util.Color.fromHSB(t,this.S,this.B,this.A),a=i.toRgbaString(),n=q._Util.Color.fromHSB(t,this.S,this.B).toRgbaString(),r=q._Util.Color.fromHSB(t,1,1).toRgbaString(),o=this.picker;q._Util.Color.fromString(o.getValue()).toRgbaString()!==a&&(this.colorChanged=!0),o.setValue(a),this.spectrumColor.style.backgroundColor=r,this.spectrumDragger.style.backgroundColor=n,this.spectrumHueSlider.style.backgroundColor=r,this.spectrumAlpha.style.setProperty("--ag-internal-spectrum-alpha-color-from",q._Util.Color.fromHSB(t,this.S,this.B,0).toRgbaString()),this.spectrumAlpha.style.setProperty("--ag-internal-spectrum-alpha-color-to",n),this.spectrumAlpha.style.setProperty("--ag-internal-spectrum-alpha-color",a),e||this.colorInput.setColor(i)}setSpectrumValue(e,t,i){const a=this.spectrumValRect||this.refreshSpectrumRect();if(null==a)return;const n=this.spectrumDragger,r=n.getBoundingClientRect();e=Math.max(0,e),e=Math.min(1,e),t=Math.max(0,t),t=Math.min(1,t),this.S=e,this.B=t,n.style.left=e*a.width-r.width/2+"px",n.style.top=(1-t)*a.height-r.height/2+"px",this.update(i)}getSpectrumValue(){const e=this.spectrumDragger,t=e.getBoundingClientRect();return{x:parseFloat(e.style.left)+t.width/2,y:parseFloat(e.style.top)+t.height/2}}initRecentColors(){const t=e.recentColors,i=t.map(((e,t)=>`<div class="ag-recent-color" id=${t} style="background-color: ${e}; width: 15px; height: 15px;" recent-color="${e}" tabIndex="${this.tabIndex}"></div>`));this.recentColors.innerHTML=i.join(""),(0,_._setDisplayed)(this.recentColors,!!t.length)}setValue(e){const t=q._Util.Color.fromString(e);this.setColor(t,!0)}setColor(e,t){const[i,a,n]=e.toHSB();this.H=(isNaN(i)?0:i)/360,this.A=e.a;const r=this.spectrumHueRect||this.refreshHueRect(),o=this.spectrumAlphaRect||this.refreshAlphaRect();this.spectrumHueSlider.style.left=(this.H-1)*-r.width-this.spectrumHueSlider.getBoundingClientRect().width/2+"px",this.spectrumAlphaSlider.style.left=this.A*o.width-this.spectrumAlphaSlider.getBoundingClientRect().width/2+"px",this.setSpectrumValue(a,n,!t)}onRecentColorClick(t){const i=t.target;if(!(0,_._exists)(i.id))return;const a=parseInt(i.id,10);this.setValue(e.recentColors[a]),this.destroy()}addRecentColor(){const t=q._Util.Color.fromHSB(360*this.H,this.S,this.B,this.A).toRgbaString();let i=e.recentColors;this.colorChanged&&i[0]!==t&&(i=i.filter((e=>e!=t)),i=[t].concat(i),i.length>e.maxRecentColors&&(i=i.slice(0,e.maxRecentColors)),e.recentColors=i)}destroy(){this.addRecentColor(),super.destroy()}};Y.maxRecentColors=8,Y.recentColors=[];var $=Y,Z=class extends V.AgPickerField{constructor(e){super({pickerAriaLabelKey:"ariaLabelColorPicker",pickerAriaLabelValue:"Color Picker",pickerType:"ag-list",className:"ag-color-picker",pickerIcon:"smallDown",...e})}postConstruct(){const e=this.gos.getDocument();this.eDisplayFieldColor=e.createElement("span"),this.eDisplayFieldColor.classList.add("ag-color-picker-color"),this.eDisplayFieldText=e.createElement("span"),this.eDisplayFieldText.classList.add("ag-color-picker-value"),this.eDisplayField.appendChild(this.eDisplayFieldColor),this.eDisplayField.appendChild(this.eDisplayFieldText),super.postConstruct(),this.value&&this.setValue(this.value)}createPickerComponent(){const e=this.eWrapper.getBoundingClientRect(),t=this.popupService.getParentRect();return this.createBean(new H.AgDialog({closable:!1,modal:!0,hideTitleBar:!0,minWidth:190,width:190,height:250,x:e.right-t.left-190,y:e.top-t.top-250-(this.config.pickerGap??0)}))}renderAndPositionPicker(){const e=this.pickerComponent,t=this.createBean(new $({picker:this}));return e.addCssClass("ag-color-dialog"),t.addDestroyFunc((()=>{e.isAlive()&&this.destroyBean(e)})),e.setParentComponent(this),e.setBodyComponent(t),t.setValue(this.getValue()),t.getGui().focus(),e.addDestroyFunc((()=>{this.isDestroyingPicker?this.isDestroyingPicker=!1:(this.beforeHidePicker(),this.isDestroyingPicker=!0,t.isAlive()&&this.destroyBean(t),this.isAlive()&&this.getFocusableElement().focus())})),()=>this.pickerComponent?.close()}setValue(e){return this.value===e?this:(this.eDisplayFieldColor.style.backgroundColor=e,this.eDisplayFieldText.textContent=W._Util.Color.fromString(e).toHexString().toUpperCase(),super.setValue(e))}getValue(){return this.value}},X={selector:"AG-COLOR-PICKER",component:Z},Q=class extends G.Component{constructor(e){super(),this.chartMenuParamsFactory=e}wireBeans(e){this.chartTranslationService=e.chartTranslationService}postConstruct(){const e=this.chartMenuParamsFactory.addEnableParams("crosshair.enabled",{cssIdentifier:"charts-advanced-settings-top-level",direction:"vertical",suppressOpenCloseIcons:!0,title:this.chartTranslationService.translate("crosshair"),suppressEnabledCheckbox:!0,useToggle:!0}),t=this.chartMenuParamsFactory.getDefaultCheckboxParams("crosshair.label.enabled","crosshairLabel"),i=this.chartMenuParamsFactory.getDefaultCheckboxParams("crosshair.snap","crosshairSnap"),a=this.chartMenuParamsFactory.getDefaultColorPickerParams("crosshair.stroke","color");this.setTemplate('<div>\n <ag-group-component data-ref="crosshairGroup">\n <ag-checkbox data-ref="crosshairLabelCheckbox"></ag-checkbox>\n <ag-checkbox data-ref="crosshairSnapCheckbox"></ag-checkbox>\n <ag-color-picker data-ref="crosshairStrokeColorPicker"></ag-color-picker>\n </ag-group-component>\n </div>',[B.AgGroupComponentSelector,G.AgCheckboxSelector,X],{crosshairGroup:e,crosshairLabelCheckbox:t,crosshairSnapCheckbox:i,crosshairStrokeColorPicker:a})}},J=i(3423),ee=i(8299),te=i(3423),ie=i(3423),ae={selector:"AG-INPUT-RANGE",component:class extends ie.AgAbstractInputField{constructor(e){super(e,"ag-range-field","range")}postConstruct(){super.postConstruct();const{min:e,max:t,step:i}=this.config;null!=e&&this.setMinValue(e),null!=t&&this.setMaxValue(t),this.setStep(i||1)}addInputListeners(){this.addManagedElementListeners(this.eInput,{input:e=>{const t=e.target.value;this.setValue(t)}})}setMinValue(e){return this.min=e,this.eInput.setAttribute("min",e.toString()),this}setMaxValue(e){return this.max=e,this.eInput.setAttribute("max",e.toString()),this}setStep(e){return this.eInput.setAttribute("step",e.toString()),this}setValue(e,t){null!=this.min&&(e=Math.max(parseFloat(e),this.min).toString()),null!=this.max&&(e=Math.min(parseFloat(e),this.max).toString());const i=super.setValue(e,t);return this.eInput.value=e,i}}},ne=class extends te.AgAbstractLabel{constructor(e){super(e,'<div class="ag-slider">\n <label data-ref="eLabel"></label>\n <div class="ag-wrapper ag-slider-wrapper">\n <ag-input-range data-ref="eSlider"></ag-input-range>\n <ag-input-number-field data-ref="eText"></ag-input-number-field>\n </div>\n </div>',[ae,te.AgInputNumberFieldSelector]),this.eLabel=te.RefPlaceholder,this.eSlider=te.RefPlaceholder,this.eText=te.RefPlaceholder,this.labelAlignment="top"}postConstruct(){super.postConstruct(),this.eSlider.addCssClass("ag-slider-field");const{minValue:e,maxValue:t,textFieldWidth:i,step:a,value:n,onValueChange:r}=this.config;null!=e&&this.setMinValue(e),null!=t&&this.setMaxValue(t),null!=i&&this.setTextFieldWidth(i),null!=a&&this.setStep(a),null!=n&&this.setValue(n),null!=r&&this.onValueChange(r)}onValueChange(e){return this.addManagedListeners(this.eText,{fieldValueChanged:()=>{const t=parseFloat(this.eText.getValue());this.eSlider.setValue(t.toString(),!0),e(t||0)}}),this.addManagedListeners(this.eSlider,{fieldValueChanged:()=>{const t=this.eSlider.getValue();this.eText.setValue(t,!0),e(parseFloat(t))}}),this}setSliderWidth(e){return this.eSlider.setWidth(e),this}setTextFieldWidth(e){return this.eText.setWidth(e),this}setMinValue(e){return this.eSlider.setMinValue(e),this.eText.setMin(e),this}setMaxValue(e){return this.eSlider.setMaxValue(e),this.eText.setMax(e),this}getValue(){return this.eText.getValue()}setValue(e,t){return this.getValue()===e||(this.eText.setValue(e,!0),this.eSlider.setValue(e,!0),t||this.dispatchLocalEvent({type:"fieldValueChanged"})),this}setStep(e){return this.eSlider.setStep(e),this.eText.setStep(e),this}},re={selector:"AG-SLIDER",component:ne},oe=class extends J.Component{constructor(e){super(),this.chartMenuParamsFactory=e}wireBeans(e){this.chartTranslationService=e.chartTranslationService}postConstruct(){const e=this.chartMenuParamsFactory.addEnableParams("navigator.enabled",{cssIdentifier:"charts-advanced-settings-top-level",direction:"vertical",suppressOpenCloseIcons:!0,title:this.chartTranslationService.translate("navigator"),suppressEnabledCheckbox:!0,useToggle:!0}),t=this.chartMenuParamsFactory.getDefaultSliderParams("navigator.height","height",60);t.minValue=10;const i=this.chartMenuParamsFactory.getDefaultCheckboxParams("navigator.miniChart.enabled","miniChart");this.setTemplate('<div>\n <ag-group-component data-ref="navigatorGroup">\n <ag-slider data-ref="navigatorHeightSlider"></ag-slider>\n <ag-checkbox data-ref="navigatorMiniChartCheckbox"></ag-checkbox>\n </ag-group-component>\n </div>',[ee.AgGroupComponentSelector,re,J.AgCheckboxSelector],{navigatorGroup:e,navigatorHeightSlider:t,navigatorMiniChartCheckbox:i})}},se=i(3423),le=i(8299),ce=class extends se.Component{constructor(e){super(),this.chartMenuParamsFactory=e,this.zoomScrollingStepInput=se.RefPlaceholder}wireBeans(e){this.chartTranslationService=e.chartTranslationService}postConstruct(){const e=this.chartMenuParamsFactory.addEnableParams("zoom.enabled",{cssIdentifier:"charts-advanced-settings-top-level",direction:"vertical",suppressOpenCloseIcons:!0,title:this.chartTranslationService.translate("zoom"),suppressEnabledCheckbox:!0,useToggle:!0}),t=this.chartMenuParamsFactory.getDefaultCheckboxParams("zoom.enableScrolling","scrollingZoom"),i=this.chartMenuParamsFactory.getDefaultSliderParams("zoom.scrollingStep","scrollingStep",1);i.step=.01,i.minValue=i.step;const a=this.chartMenuParamsFactory.getDefaultCheckboxParams("zoom.enableSelecting","selectingZoom");t.onValueChange=(e=>t=>{e&&(e(t),this.zoomScrollingStepInput.setDisabled(!t))})(t.onValueChange),this.setTemplate('<div>\n <ag-group-component data-ref="zoomGroup">\n <ag-checkbox data-ref="zoomSelectingCheckbox"></ag-checkbox>\n <ag-checkbox data-ref="zoomScrollingCheckbox"></ag-checkbox>\n <ag-slider data-ref="zoomScrollingStepInput"></ag-slider>\n </ag-group-component>\n </div>',[le.AgGroupComponentSelector,se.AgCheckboxSelector,re],{zoomGroup:e,zoomScrollingCheckbox:t,zoomScrollingStepInput:i,zoomSelectingCheckbox:a}),this.zoomScrollingStepInput.setDisabled(!t.value)}},de=["navigator","zoom","animation","crosshair"],he=class extends f.Component{constructor(e){super('<div class="ag-chart-advanced-settings-wrapper"></div>'),this.chartMenuContext=e}postConstruct(){this.chartPanelFeature=this.createManagedBean(new L(this.chartMenuContext.chartController,this.getGui(),"ag-chart-advanced-settings-section",((e,t)=>this.createPanels(e,t)))),this.chartPanelFeature.refreshPanels()}createPanels(e,t){de.forEach((e=>{if(!this.isGroupPanelShownForSeries(e,t))return;const i=this.createPanel(e);this.chartPanelFeature.addComponent(i)}))}isGroupPanelShownForSeries(e,t){return"animation"===e||S(t)}createPanel(e){const{chartMenuParamsFactory:t,chartAxisMenuParamsFactory:i}=this.chartMenuContext;switch(e){case"navigator":return new oe(t);case"zoom":return new ce(t);case"animation":return new z(t);case"crosshair":return new Q(i)}}},ue=class extends p.BeanStub{constructor(){super(...arguments),this.beanName="advancedSettingsMenuFactory"}wireBeans(e){this.focusService=e.focusService,this.chartTranslationService=e.chartTranslationService}showMenu(e,t){this.hideMenu();const i=this.createBean(new ge(e));this.activeDialog=this.createBean(new m.AgDialog({title:this.chartTranslationService.translate("advancedSettings"),component:i,width:300,height:400,resizable:!0,movable:!0,centered:!0,closable:!0,afterGuiAttached:()=>{this.focusService.findFocusableElements(i.getGui())[0]?.focus()},closedCallback:()=>{this.activeMenu=this.destroyBean(this.activeMenu),this.activeDialog=void 0,t?.focus({preventScroll:!0})}})),this.activeMenu=i}hideMenu(){this.activeDialog&&this.destroyBean(this.activeDialog)}destroy(){this.activeMenu=this.destroyBean(this.activeMenu),this.activeDialog=this.destroyBean(this.activeDialog),super.destroy()}},ge=class extends p.TabGuardComp{constructor(e){super('<div class="ag-chart-advanced-settings"></div>'),this.chartMenuContext=e}wireBeans(e){this.focusService=e.focusService}postConstruct(){this.advancedSettingsPanel=this.createManagedBean(new he(this.chartMenuContext)),this.getGui().appendChild(this.advancedSettingsPanel.getGui()),this.initialiseTabGuard({onTabKeyDown:this.onTabKeyDown.bind(this),focusTrapActive:!0})}onTabKeyDown(e){if(e.defaultPrevented)return;e.preventDefault();const t=e.shiftKey,i=this.advancedSettingsPanel.getGui(),a=this.focusService.findNextFocusableElement(i,!1,t);if(a)a.focus();else{const e=this.focusService.findFocusableElements(i);e.length&&e[t?e.length-1:0].focus()}}},pe=i(3423),me=i(8299),fe=class extends pe.BeanStub{constructor(){super(...arguments),this.beanName="chartMenuListFactory"}wireBeans(e){this.popupService=e.popupService,this.chartMenuService=e.chartMenuService,this.chartTranslationService=e.chartTranslationService}showMenuList(e){const{eventSource:t,showMenu:i,chartMenuContext:a}=e,n=this.chartMenuService.doChartToolPanelsExist(a.chartController),r=this.mapWithStockItems(this.getMenuItems(a.chartController,n),a,i,t,n);if(!r.length)return;const o=this.createBean(new ve(r));this.activeChartMenuList=o;let s=-1,l="left";this.gos.get("enableRtl")&&(s=1,l="right");const c=o.getGui();this.popupService.addPopup({modal:!0,eChild:c,closeOnEsc:!0,closedCallback:()=>{this.destroyBean(o),this.activeChartMenuList=void 0;const e=this.gos.getDocument(),i=this.gos.getActiveDomElement();i&&i!==e.body||t.focus({preventScroll:!0})},afterGuiAttached:e=>o.afterGuiAttached(e),positionCallback:()=>{this.popupService.positionPopupByComponent({type:"chartMenu",eventSource:t,ePopup:c,alignSide:l,nudgeX:4*s,nudgeY:4,position:"under",keepWithinBounds:!0})},ariaLabel:"Chart Menu"})}getMenuItems(e,t){const i=[...t?["chartEdit"]:[],...e.isEnterprise()?["chartAdvancedSettings"]:[],e.isChartLinked()?"chartUnlink":"chartLink","chartDownload"],a=this.gos.get("chartMenuItems");return a?Array.isArray(a)?a:a(this.gos.addGridCommonParams({defaultItems:i})):i}mapWithStockItems(e,t,i,a,n){if(!e)return[];const r=[];return e.forEach((e=>{let o;if(o="string"==typeof e?this.getStockMenuItem(e,t,i,a,n):{...e},!o)return;const{subMenu:s}=o;Array.isArray(s)&&(o.subMenu=this.mapWithStockItems(s,t,i,a,n)),r.push(o)})),r}getStockMenuItem(e,t,i,a,n){switch(e){case"chartEdit":return n?this.createMenuItem(this.chartTranslationService.translate("chartEdit"),"chartsMenuEdit",i):null;case"chartAdvancedSettings":return this.createMenuItem(this.chartTranslationService.translate("chartAdvancedSettings"),"chartsMenuAdvancedSettings",(()=>this.chartMenuService.openAdvancedSettings(t,a)));case"chartUnlink":return t.chartController.isChartLinked()?this.createMenuItem(this.chartTranslationService.translate("chartUnlink"),"unlinked",(()=>this.chartMenuService.toggleLinked(t))):null;case"chartLink":return t.chartController.isChartLinked()?null:this.createMenuItem(this.chartTranslationService.translate("chartLink"),"linked",(()=>this.chartMenuService.toggleLinked(t)));case"chartDownload":return this.createMenuItem(this.chartTranslationService.translate("chartDownload"),"save",(()=>this.chartMenuService.downloadChart(t)))}return null}createMenuItem(e,t,i){return{name:e,icon:(0,pe._createIconNoSpan)(t,this.gos,null),action:i}}destroy(){this.destroyBean(this.activeChartMenuList),super.destroy()}},ve=class extends pe.Component{constructor(e){super('\n <div data-ref="eChartsMenu" role="presentation" class="ag-menu ag-chart-menu-popup"></div>\n '),this.menuItems=e,this.eChartsMenu=pe.RefPlaceholder}wireBeans(e){this.focusService=e.focusService}postConstruct(){this.mainMenuList=this.createManagedBean(new me.AgMenuList(0)),this.mainMenuList.addMenuItems(this.menuItems),this.mainMenuList.addEventListener("closeMenu",this.onHidePopup.bind(this)),this.eChartsMenu.appendChild(this.mainMenuList.getGui())}onHidePopup(){this.hidePopupFunc?.()}afterGuiAttached({hidePopup:e}){e&&(this.hidePopupFunc=e,this.addDestroyFunc(e)),this.focusService.focusInto(this.mainMenuList.getGui())}},ye=i(3423),be=class e extends ye.BeanStub{constructor(){super(...arguments),this.beanName="chartCrossFilterService"}wireBeans(e){this.columnModel=e.columnModel,this.valueService=e.valueService,this.filterManager=e.filterManager,"clientSide"===e.rowModel.getType()&&(this.clientSideRowModel=e.rowModel)}filter(t,i=!1){const a=this.filterManager?.getFilterModel()??{};if(i)return void this.resetFilters(a);const n=e.extractFilterColId(t);this.isValidColumnFilter(n)?this.updateFilters(a,t,n):(0,ye._warnOnce)("cross filtering requires a 'agSetColumnFilter' or 'agMultiColumnFilter' to be defined on the column with id: '"+n+"'")}resetFilters(e){Object.keys(e).length>0&&(this.filterManager?.setFilterModel(null),this.filterManager?.onFilterChanged({source:"api"}))}updateFilters(t,i,a){const n=e.extractFilterColId(i),r=i.datum[n];if(void 0===r)return;const o=r.toString();if(i.event.metaKey||i.event.ctrlKey){const e=this.getCurrentGridValuesForCategory(a);let i;(0,ye._includes)(e,o)?i=e.filter((e=>e!==o)):(i=e,i.push(o)),t[a]=this.getUpdatedFilterModel(a,i)}else{const e=[o];t={[a]:this.getUpdatedFilterModel(a,e)}}this.filterManager?.setFilterModel(t)}getUpdatedFilterModel(e,t){return"agMultiColumnFilter"===this.getColumnFilterType(e)?{filterType:"multi",filterModels:[null,{filterType:"set",values:t}]}:{filterType:"set",values:t}}getCurrentGridValuesForCategory(e){const t=[],i=this.getColumnById(e);return this.clientSideRowModel?.forEachNodeAfterFilter((e=>{if(i&&!e.group){const a=this.valueService.getValue(i,e)+"";t.includes(a)||t.push(a)}})),t}static extractFilterColId(e){return e.xKey||e.calloutLabelKey}isValidColumnFilter(e){e.indexOf("-filtered-out")&&(e=e.replace("-filtered-out",""));const t=this.getColumnFilterType(e);return"boolean"==typeof t?t:(0,ye._includes)(["agSetColumnFilter","agMultiColumnFilter"],t)}getColumnFilterType(e){const t=this.getColumnById(e);if(t){return t.getColDef().filter}}getColumnById(e){return this.columnModel.getCol(e)}},Ce=i(3423),we=["chartUnlink","chartLink","chartDownload","chartMenu"],Se={settings:"chartSettings",data:"chartData",format:"chartFormat"},xe=class extends Ce.BeanStub{constructor(){super(...arguments),this.beanName="chartMenuService"}wireBeans(e){this.advancedSettingsMenuFactory=e.advancedSettingsMenuFactory}downloadChart(e,t,i,a){e.chartController.getChartProxy().downloadChart(t,i,a)}toggleLinked(e){e.chartController.detachChartRange()}openAdvancedSettings(e,t){this.advancedSettingsMenuFactory.showMenu(e,t)}hideAdvancedSettings(){this.advancedSettingsMenuFactory.hideMenu()}getChartToolbarOptions(){const e=["chartMenu"],t=this.gos.getCallback("getChartToolbarItems");return t?t({defaultItems:e}).filter((e=>!!we.includes(e)||((0,Ce._warnOnce)(`'${e}' is not a valid Chart Toolbar Option`),!1))):e}getChartToolPanels(e){const t=this.gos.get("chartToolPanelsDef"),i=t?.panels?.map((e=>{const t=Se[e];return t||(0,Ce._warnOnce)(`Invalid panel in chartToolPanelsDef.panels: '${e}'`),t})).filter((e=>Boolean(e)));let a=i??Object.values(Se);e.isPivotChart()&&(a=a.filter((e=>"chartData"!==e)));const n=t?.defaultToolPanel;return{panels:a,defaultPanel:n&&Se[n]||a[0]}}doesChartToolbarExist(){return this.getChartToolbarOptions().length>0}doChartToolPanelsExist(e){const{panels:t}=this.getChartToolPanels(e);return t.length>0}},ke=i(3423),Me=class e extends ke.BeanStub{constructor(){super(...arguments),this.beanName="chartTranslationService"}translate(t){return this.localeService.getLocaleTextFunc()(t,e.DEFAULT_TRANSLATIONS[t])}};Me.DEFAULT_TRANSLATIONS={pivotChartTitle:"Pivot Chart",rangeChartTitle:"Range Chart",settings:"Chart",data:"Set Up",format:"Customize",categories:"Categories",defaultCategory:"(None)",series:"Series",switchCategorySeries:"Switch Category / Series",categoryValues:"Category Values",seriesLabels:"Series Labels",aggregate:"Aggregate",xyValues:"X Y Values",paired:"Paired Mode",axis:"Axis",xAxis:"Horizontal Axis",yAxis:"Vertical Axis",polarAxis:"Polar Axis",radiusAxis:"Radius Axis",navigator:"Navigator",zoom:"Zoom",animation:"Animation",crosshair:"Crosshair",color:"Color",thickness:"Thickness",preferredLength:"Preferred Length",xType:"X Type",axisType:"Axis Type",automatic:"Automatic",category:"Category",number:"Number",time:"Time",timeFormat:"Time Format",autoRotate:"Auto Rotate",labelRotation:"Rotation",circle:"Circle",polygon:"Polygon",square:"Square",cross:"Cross",diamond:"Diamond",plus:"Plus",triangle:"Triangle",heart:"Heart",orientation:"Orientation",fixed:"Fixed",parallel:"Parallel",perpendicular:"Perpendicular",radiusAxisPosition:"Position",ticks:"Ticks",gridLines:"Grid Lines",width:"Width",height:"Height",length:"Length",padding:"Padding",spacing:"Spacing",chartStyle:"Chart Style",title:"Title",chartTitles:"Titles",chartTitle:"Chart Title",chartSubtitle:"Subtitle",horizontalAxisTitle:"Horizontal Axis Title",verticalAxisTitle:"Vertical Axis Title",polarAxisTitle:"Polar Axis Title",titlePlaceholder:"Chart Title",background:"Background",font:"Font",weight:"Weight",top:"Top",right:"Right",bottom:"Bottom",left:"Left",labels:"Labels",calloutLabels:"Callout Labels",sectorLabels:"Sector Labels",positionRatio:"Position Ratio",size:"Size",shape:"Shape",minSize:"Minimum Size",maxSize:"Maximum Size",legend:"Legend",position:"Position",markerSize:"Marker Size",markerStroke:"Marker Stroke",markerPadding:"Marker Padding",itemSpacing:"Item Spacing",itemPaddingX:"Item Padding X",itemPaddingY:"Item Padding Y",layoutHorizontalSpacing:"Horizontal Spacing",layoutVerticalSpacing:"Vertical Spacing",strokeWidth:"Stroke Width",offset:"Offset",offsets:"Offsets",tooltips:"Tooltips",callout:"Callout",markers:"Markers",shadow:"Shadow",blur:"Blur",xOffset:"X Offset",yOffset:"Y Offset",lineWidth:"Line Width",lineDash:"Line Dash",lineDashOffset:"Dash Offset",scrollingZoom:"Scrolling",scrollingStep:"Scrolling Step",selectingZoom:"Selecting",durationMillis:"Duration (ms)",crosshairLabel:"Label",crosshairSnap:"Snap to Node",normal:"Normal",bold:"Bold",italic:"Italic",boldItalic:"Bold Italic",predefined:"Predefined",fillOpacity:"Fill Opacity",strokeColor:"Line Color",strokeOpacity:"Line Opacity",miniChart:"Mini-Chart",histogramBinCount:"Bin count",connectorLine:"Connector Line",seriesItems:"Series Items",seriesItemType:"Item Type",seriesItemPositive:"Positive",seriesItemNegative:"Negative",seriesItemLabels:"Item Labels",columnGroup:"Column",barGroup:"Bar",pieGroup:"Pie",lineGroup:"Line",scatterGroup:"X Y (Scatter)",areaGroup:"Area",polarGroup:"Polar",statisticalGroup:"Statistical",hierarchicalGroup:"Hierarchical",specializedGroup:"Specialized",combinationGroup:"Combination",groupedColumnTooltip:"Grouped",stackedColumnTooltip:"Stacked",normalizedColumnTooltip:"100% Stacked",groupedBarTooltip:"Grouped",stackedBarTooltip:"Stacked",normalizedBarTooltip:"100% Stacked",pieTooltip:"Pie",donutTooltip:"Donut",lineTooltip:"Line",groupedAreaTooltip:"Area",stackedAreaTooltip:"Stacked",normalizedAreaTooltip:"100% Stacked",scatterTooltip:"Scatter",bubbleTooltip:"Bubble",histogramTooltip:"Histogram",radialColumnTooltip:"Radial Column",radialBarTooltip:"Radial Bar",radarLineTooltip:"Radar Line",radarAreaTooltip:"Radar Area",nightingaleTooltip:"Nightingale",rangeBarTooltip:"Range Bar",rangeAreaTooltip:"Range Area",boxPlotTooltip:"Box Plot",treemapTooltip:"Treemap",sunburstTooltip:"Sunburst",waterfallTooltip:"Waterfall",heatmapTooltip:"Heatmap",columnLineComboTooltip:"Column & Line",areaColumnComboTooltip:"Area & Column",customComboTooltip:"Custom Combination",innerRadius:"Inner Radius",startAngle:"Start Angle",endAngle:"End Angle",reverseDirection:"Reverse Direction",groupPadding:"Group Padding",seriesPadding:"Series Padding",tile:"Tile",whisker:"Whisker",cap:"Cap",capLengthRatio:"Length Ratio",labelPlacement:"Placement",inside:"Inside",outside:"Outside",noDataToChart:"No data available to be charted.",pivotChartRequiresPivotMode:"Pivot Chart requires Pivot Mode enabled.",chartSettingsToolbarTooltip:"Menu",chartLinkToolbarTooltip:"Linked to Grid",chartUnlinkToolbarTooltip:"Unlinked from Grid",chartDownloadToolbarTooltip:"Download Chart",chartMenuToolbarTooltip:"Menu",chartEdit:"Edit Chart",chartAdvancedSettings:"Advanced Settings",chartLink:"Link to Grid",chartUnlink:"Unlink from Grid",chartDownload:"Download Chart",histogramFrequency:"Frequency",seriesChartType:"Series Chart Type",seriesType:"Series Type",secondaryAxis:"Secondary Axis",seriesAdd:"Add a series",categoryAdd:"Add a category",bar:"Bar",column:"Column",histogram:"Histogram",advancedSettings:"Advanced Settings",direction:"Direction",horizontal:"Horizontal",vertical:"Vertical",seriesGroupType:"Group Type",groupedSeriesGroupType:"Grouped",stackedSeriesGroupType:"Stacked",normalizedSeriesGroupType:"100% Stacked",legendEnabled:"Enabled",invalidColor:"Color value is invalid",groupedColumnFull:"Grouped Column",stackedColumnFull:"Stacked Column",normalizedColumnFull:"100% Stacked Column",groupedBarFull:"Grouped Bar",stackedBarFull:"Stacked Bar",normalizedBarFull:"100% Stacked Bar",stackedAreaFull:"Stacked Area",normalizedAreaFull:"100% Stacked Area",customCombo:"Custom Combination",groupedColumn:"Grouped",stackedColumn:"Stacked",pie:"Pie",donut:"Donut",line:"Line",scatter:"Scatter",bubble:"Bubble",area:"Area",stackedArea:"Stacked",radarLine:"Radar Line",radarArea:"Radar Area",nightingale:"Nightingale",radialColumn:"Radial Column",radialBar:"Radial Bar",boxPlot:"Box Plot",rangeBar:"Range Bar",rangeArea:"Range Area",treemap:"Treemap",sunburst:"Sunburst",waterfall:"Waterfall",heatmap:"Heatmap",columnLineCombo:"Column & Line",AreaColumnCombo:"Area & Column",ariaChartMenuClose:"Close Chart Edit Menu",ariaChartSelected:"Selected",group:"Group",timeFormatSlashesDDMMYYYY:"DD/MM/YYYY",timeFormatSlashesMMDDYYYY:"MM/DD/YYYY",timeFormatSlashesDDMMYY:"DD/MM/YY",timeFormatSlashesMMDDYY:"MM/DD/YY",timeFormatDotsDDMYY:"DD.M.YY",timeFormatDotsMDDYY:"M.DD.YY",timeFormatDashesYYYYMMDD:"YYYY-MM-DD",timeFormatSpacesDDMMMMYYYY:"DD MMMM YYYY",timeFormatHHMMSS:"HH:MM:SS",timeFormatHHMMSSAmPm:"HH:MM:SS AM/PM",sum:"Sum",first:"First",last:"Last",min:"Min",max:"Max",count:"Count",avg:"Average"};var Re=Me,De=i(3423),Ae=i(4933),Ee="32.0.2",Te=i(3423),Pe=i(8299),Fe=i(3423),Ie=i(4933),Le=i(3423),Ne=i(4933),Oe=["number","category","grouped-category","log","time"];function ze(e,t){return!1!==t.clone&&t.isMergeableObject(e)?_e(function(e){return Array.isArray(e)?[]:{}}(e),e,t):e}function Ge(e,t,i){return e.concat(t).map((function(e){return ze(e,i)}))}function Be(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return e.propertyIsEnumerable(t)})):[]}(e))}function Ve(e,t){try{return t in e}catch(e){return!1}}function He(e={},t={},i){const a={};return i.isMergeableObject(e)&&Be(e).forEach((function(t){a[t]=ze(e[t],i)})),Be(t).forEach((function(n){(function(e,t){return Ve(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,n)||(Ve(e,n)&&i.isMergeableObject(t[n])?a[n]=function(e,t){if(!t.customMerge)return _e;const i=t.customMerge(e);return"function"==typeof i?i:_e}(n,i)(e[n],t[n],i):a[n]=ze(t[n],i))})),a}function We(e){return function(e){return!!e&&"object"==typeof e}(e)&&!function(e){const t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t}(e)}function _e(e,t,i){(i=i||{}).arrayMerge=i.arrayMerge||Ge,i.isMergeableObject=i.isMergeableObject||We,i.cloneUnlessOtherwiseSpecified=ze;const a=Array.isArray(t);return a===Array.isArray(e)?a?i.arrayMerge(e,t,i):He(e,t,i):ze(t,i)}function qe(e,t,i){if(null==e)return i;const a=t.split(".");let n=e;for(;a.length>1;)if(n=n[a.shift()],null==n)return i;const r=n[a[0]];return null!=r?r:i}function Ue(e,t,i,a,n){const{chartOptionsToRestore:r,chartPaletteToRestore:o,chartThemeToRestore:s}=e,l=function(e){let t=e.getChartThemeName();const i=e.getChartThemes();(0,Le._includes)(i,t)||(t=i[0]);return t}(e),c=Ke(l),d=c?{baseTheme:l}:$e(e,l)??{},h=e.getGridOptionsChartThemeOverrides(),u=e.apiChartThemeOverrides,g=D(e.chartType),p=e.crossFiltering?function(e,t,i){const a={listeners:{legendItemClick:t=>{e.getChart().series.forEach((e=>{e.toggleSeriesItem(t.itemId,t.enabled),e.toggleSeriesItem(`${t.itemId}-filtered-out`,t.enabled)}))}}};return{[i]:{tooltip:{delay:500},legend:a,listeners:{click:e=>t.crossFilterCallback(e,!0)}}}}(t,e,g):void 0,m=[c?Ye(e,i,(()=>{const e=e=>!!e&&Object.keys(e).some((t=>qe(e[t],"title.enabled",!1)));return e(h)||e(u)})()):void 0,a,p,h,u,{...r??{}},n].filter((e=>!!e)).reduce(((e,t)=>({baseTheme:e,overrides:t})),d);if(o&&l===s){(function(e,t){const i=(e,t)=>e===t||e?.length===t?.length&&(e?.every(((e,i)=>e===t?.[i]))??!1);return i(e.fills,t.fills)&&i(e.strokes,t.strokes)})(o,Ne._Theme.getChartTheme(d).palette)||(m.palette=o)}return m}function Ke(e){return(0,Le._includes)(Object.keys(Ne._Theme.themes),e)}var je=Oe.reduce(((e,t)=>({...e,[t]:{title:{_enabledFromTheme:!0}}})),{});function Ye(e,t,i){const a=e.getExtraPaddingDirections();return{common:{...t?{animation:{duration:500}}:void 0,axes:je,padding:{top:!i&&a.includes("top")?40:20,right:a.includes("right")?30:20,bottom:a.includes("bottom")?40:20,left:a.includes("left")?30:20}},pie:{series:{title:{_enabledFromTheme:!0},calloutLabel:{_enabledFromTheme:!0},sectorLabel:{enabled:!1,_enabledFromTheme:!0}}},donut:{series:{title:{_enabledFromTheme:!0},calloutLabel:{_enabledFromTheme:!0},sectorLabel:{enabled:!1,_enabledFromTheme:!0}}}}}function $e(e,t){const{customChartThemes:i}=e,a=i&&i[t];return a||(0,Le._warnOnce)(`no stock theme exists with the name '${t}' and no custom chart theme with that name was supplied to 'customChartThemes'`),a}var Ze=i(3423),Xe=i(3423),Qe=class e extends Xe.BeanStub{wireBeans(e){this.sortController=e.sortController,this.gridRowModel=e.rowModel,this.columnModel=e.columnModel,this.valueService=e.valueService,this.pivotResultColsService=e.pivotResultColsService,this.rowNodeSorter=e.rowNodeSorter,this.aggregationStage=e.aggregationStage}getData(e){if(e.crossFiltering){if(e.grouping)return(0,Xe._warnOnce)("crossing filtering with row grouping is not supported."),{chartData:[],columnNames:{}};if(!this.gos.isRowModelType("clientSide"))return(0,Xe._warnOnce)("crossing filtering is only supported in the client side row model."),{chartData:[],columnNames:{}}}this.gos.isRowModelType("serverSide")&&e.pivoting&&this.updatePivotKeysForSSRM();const t=this.extractRowsFromGridRowModel(e);return t.chartData=this.aggregateRowsByDimension(e,t.chartData),t}extractRowsFromGridRowModel(t){const{crossFiltering:i,startRow:a,endRow:n,valueCols:r,dimensionCols:o,grouping:s}=t;let l=[];const c={},d={},h={};let u,g={},p=[];if(i)g=this.getFilteredRowNodes(),p=this.getAllRowNodes(),u=p.length;else{const e=this.gridRowModel.getRowCount()-1;if(a===n&&0===a&&0===o.length&&0===r.length)u=0;else{u=(n>=0?Math.min(n,e):e)-a+1}}u>0&&r.forEach((e=>{let t=[];const i=e.getColDef().pivotKeys;i&&(t=i.slice());const a=e.getColDef().headerName;a&&t.push(a),t.length>0&&(c[e.getId()]=t)}));let m,f=0,v=0;for(let n=0;n<u;n++){const c=i?p[n]:this.gridRowModel.getRow(n+a);if(c.footer||c.detail){f++;continue}const u={};o.forEach((t=>{const i=t.colId,a=this.columnModel.getCol(i);if(a){const t=this.valueService.getValue(a,c);if(s){const a=t&&t.toString?String(t.toString()):"",r=e.getGroupLabels(c,a);u[i]={labels:r,id:v++,toString:function(){return this.labels.filter((e=>!!e)).reverse().join(" - ")}},c.group&&(d[r.toString()]=n-f);const o=r.slice(1,r.length).toString();o&&(h[o]=d[o])}else u[i]=t}else u[rt.DEFAULT_CATEGORY]=n+1})),r.forEach((e=>{const a=e.getColId();if(i){const i=a+"-filtered-out",n=this.valueService.getValue(e,c),r=null!=n&&"function"==typeof n.toNumber?n.toNumber():n;g[c.id]?(u[a]=r,u[i]=t.aggFunc||t.isScatter?void 0:0):(u[a]=t.aggFunc||t.isScatter?void 0:0,u[i]=r)}else{let t=this.valueService.getValue(e,c);t&&Object.prototype.hasOwnProperty.call(t,"toString")&&(t=parseFloat(t.toString())),u[a]=null!=t&&"function"==typeof t.toNumber?t.toNumber():t}})),l.push(u)}if(s){const e=(0,Xe._values)(h),t=l;l=[],m=[];for(let i=0;i<t.length;i++)((0,Xe._includes)(e,i)?m:l).push(t[i])}return{chartData:l,columnNames:c,groupChartData:m}}aggregateRowsByDimension(e,t){const i=e.dimensionCols;if(!e.aggFunc||0===i.length)return t;const a=(0,Xe._last)(i),n=a&&a.colId,r={},o=[];if(t.forEach((e=>{let t=r;i.forEach((a=>{const r=a.colId,s=e[r];if(r===n){let a=t[s];a||(a={__children:[]},i.forEach((t=>{const i=t.colId;a[i]=e[i]})),t[s]=a,o.push(a)),a.__children.push(e)}else t[s]||(t[s]={}),t=t[s]}))})),Xe.ModuleRegistry.__assertRegistered(Xe.ModuleNames.RowGroupingModule,"Charting Aggregation",this.gridId)){const t=this.aggregationStage;o.forEach((i=>e.valueCols.forEach((a=>{if(e.crossFiltering)e.valueCols.forEach((a=>{const n=a.getColId(),r=i.__children.filter((e=>void 0!==e[n])).map((e=>e[n])),o=t.aggregateValues(r,e.aggFunc);i[a.getId()]=o&&void 0!==o.value?o.value:o;const s=`${n}-filtered-out`,l=i.__children.filter((e=>void 0!==e[s])).map((e=>e[s])),c=t.aggregateValues(l,e.aggFunc);i[s]=c&&void 0!==c.value?c.value:c}));else{const n=i.__children.map((e=>e[a.getId()])),r=t.aggregateValues(n,e.aggFunc);i[a.getId()]=r&&void 0!==r.value?r.value:r}}))))}return o}updatePivotKeysForSSRM(){const e=this.pivotResultColsService.getPivotResultCols()?.list;if(!e)return;const t=this.extractPivotKeySeparator(e);e.forEach((e=>{if(""===t)e.getColDef().pivotKeys=[];else{const i=e.getColId().split(t);e.getColDef().pivotKeys=i.slice(0,i.length-1)}}))}extractPivotKeySeparator(e){if(0===e.length)return"";const t=(e,i)=>{const a=e.getGroupId();return e.getParent()?t(e.getParent(),a):i.split(a)[1][0]},i=e[0];return null==i.getParent()?"":t(i.getParent(),i.getColId())}static getGroupLabels(e,t){const i=[t];for(;e&&0!==e.level;)(e=e.parent)&&i.push(e.key);return i}getFilteredRowNodes(){const e={};return this.gridRowModel.forEachNodeAfterFilterAndSort((t=>{e[t.id]=t})),e}getAllRowNodes(){const e=[];return this.gridRowModel.forEachNode((t=>{e.push(t)})),this.sortRowNodes(e)}sortRowNodes(e){const t=this.sortController.getSortOptions();return!t||0==t.length?e:this.rowNodeSorter.doFullSort(e,t)}},Je=i(3423),et=class extends Je.BeanStub{constructor(){super(...arguments),this.beanName="chartColumnService",this.valueColsWithoutSeriesType=new Set}wireBeans(e){this.columnModel=e.columnModel,this.showRowGroupColsService=e.showRowGroupColsService,this.columnNameService=e.columnNameService,this.visibleColsService=e.visibleColsService,this.funcColsService=e.funcColsService,this.valueService=e.valueService,this.rowPositionUtils=e.rowPositionUtils}postConstruct(){const e=()=>this.valueColsWithoutSeriesType.clear();this.addManagedEventListeners({newColumnsLoaded:e,rowDataUpdated:e})}getColumn(e){return this.columnModel.getColDefCol(e)}getAllDisplayedColumns(){return this.visibleColsService.getAllCols()}getColDisplayName(e){return this.columnNameService.getDisplayNameForColumn(e,"chart")}getRowGroupColumns(){return this.funcColsService.getRowGroupColumns()}getGroupDisplayColumns(){return this.showRowGroupColsService?.getShowRowGroupCols()??[]}isPivotMode(){return this.columnModel.isPivotMode()}isPivotActive(){return this.columnModel.isPivotActive()}getChartColumns(){const e=this.columnModel.getCols(),t=new Set,i=new Set;return e.forEach((e=>{const a=e.getColDef(),n=a.chartDataType;if(n)switch(n){case"category":case"time":return void t.add(e);case"series":return void i.add(e);case"excluded":return;default:(0,Je._warnOnce)(`unexpected chartDataType value '${n}' supplied, instead use 'category', 'series' or 'excluded'`)}"ag-Grid-AutoColumn"!==a.colId?e.isPrimary()?(this.isInferredValueCol(e)?i:t).add(e):i.add(e):t.add(e)})),{dimensionCols:t,valueCols:i}}isInferredValueCol(e){const t=e.getColId();if("ag-Grid-AutoColumn"===t)return!1;const i=this.rowPositionUtils.getRowNode({rowIndex:0,rowPinned:null});if(!i)return this.valueColsWithoutSeriesType.has(t);let a=this.valueService.getValue(e,i);null==a&&(a=this.extractLeafData(i,e)),null!=a&&"function"==typeof a.toNumber&&(a=a.toNumber());const n="number"==typeof a;return n&&this.valueColsWithoutSeriesType.add(t),n}extractLeafData(e,t){if(!e.allLeafChildren)return null;for(let i=0;i<e.allLeafChildren.length;i++){const a=e.allLeafChildren[i],n=this.valueService.getValue(t,a);if(null!=n)return n}return null}destroy(){this.valueColsWithoutSeriesType.clear(),super.destroy()}},tt=i(3423),it=class e extends tt.BeanStub{constructor(e){super(),this.suppressComboChartWarnings=!1,this.chartDataModel=e,this.seriesChartTypes=e.params.seriesChartTypes??[]}postConstruct(){this.initComboCharts()}update(e){this.seriesChartTypes=e??this.seriesChartTypes,this.initComboCharts(),this.updateSeriesChartTypes()}initComboCharts(){const e=this.seriesChartTypes&&this.seriesChartTypes.length>0;("customCombo"===this.chartDataModel.chartType||e)&&(this.chartDataModel.chartType="customCombo",this.savedCustomSeriesChartTypes=this.seriesChartTypes||[])}updateSeriesChartTypes(){this.chartDataModel.isComboChart()&&(this.seriesChartTypes=this.seriesChartTypes.map((e=>{const t=["groupedColumn","stackedColumn","stackedArea"].includes(e.chartType);return e.secondaryAxis=!t&&e.secondaryAxis,e})),"customCombo"!==this.chartDataModel.chartType?this.updateChartSeriesTypesForBuiltInCombos():this.updateSeriesChartTypesForCustomCombo())}updateSeriesChartTypesForCustomCombo(){this.seriesChartTypes&&this.seriesChartTypes.length>0||this.suppressComboChartWarnings||(0,tt._warnOnce)("'seriesChartTypes' are required when the 'customCombo' chart type is specified."),this.seriesChartTypes=this.seriesChartTypes.map((t=>(e.SUPPORTED_COMBO_CHART_TYPES.includes(t.chartType)||((0,tt._warnOnce)(`invalid chartType '${t.chartType}' supplied in 'seriesChartTypes', converting to 'line' instead.`),t.chartType="line"),t)));const t=this.chartDataModel.valueColState.map((e=>{this.savedCustomSeriesChartTypes&&0!==this.savedCustomSeriesChartTypes.length||(this.savedCustomSeriesChartTypes=this.seriesChartTypes);const t=this.savedCustomSeriesChartTypes.find((t=>t.colId===e.colId));return t||(e.selected&&!this.suppressComboChartWarnings&&(0,tt._warnOnce)(`no 'seriesChartType' found for colId = '${e.colId}', defaulting to 'line'.`),{colId:e.colId,chartType:"line",secondaryAxis:!1})}));this.seriesChartTypes=t,this.savedCustomSeriesChartTypes=t,this.suppressComboChartWarnings=!0}updateChartSeriesTypesForBuiltInCombos(){const{chartType:e,valueColState:t}=this.chartDataModel,i="columnLineCombo"===e?"groupedColumn":"stackedArea",a="columnLineCombo"===e?"line":"groupedColumn",n=t.filter((e=>e.selected)),r=Math.ceil(n.length/2);this.seriesChartTypes=n.map(((e,t)=>{const n=t>=r?a:i;return{colId:e.colId,chartType:n,secondaryAxis:!1}}))}};it.SUPPORTED_COMBO_CHART_TYPES=["line","groupedColumn","stackedColumn","area","stackedArea"];var at=it,nt=class e extends Ze.BeanStub{constructor(e){super(),this.unlinked=!1,this.chartData=[],this.valueColState=[],this.dimensionColState=[],this.columnNames={},this.crossFiltering=!1,this.grouping=!1,this.params=e,this.chartId=e.chartId,this.setParams(e)}wireBeans(e){this.rangeService=e.rangeService,this.chartTranslationService=e.chartTranslationService}setParams(e){const{chartType:t,pivotChart:i,chartThemeName:a,switchCategorySeries:n,aggFunc:r,cellRange:o,suppressChartRanges:s,unlinkChart:l,crossFiltering:c,seriesGroupType:d}=e;this.chartType=t,this.pivotChart=i??!1,this.chartThemeName=a,this.switchCategorySeries=!!n,this.aggFunc=r,this.referenceCellRange=o,this.suppliedCellRange=o,this.suppressChartRanges=s??!1,this.unlinked=!!l,this.crossFiltering=!!c,this.seriesGroupType=d}postConstruct(){this.datasource=this.createManagedBean(new Qe),this.chartColumnService=this.createManagedBean(new et),this.comboChartModel=this.createManagedBean(new at(this)),this.updateCellRanges({setColsFromRange:!0}),this.updateData()}updateModel(e){const{cellRange:t,seriesChartTypes:i}=e;t!==this.suppliedCellRange&&(this.dimensionCellRange=void 0,this.valueCellRange=void 0),this.setParams(e),this.updateSelectedDimensions(t?.columns),this.updateCellRanges({setColsFromRange:!0});(this.isComboChart()||i)&&this.comboChartModel.update(i),this.unlinked||this.updateData()}updateCellRanges(e){const{updatedColState:t,resetOrder:i,maintainColState:a,setColsFromRange:n}=e??{};this.valueCellRange&&(this.referenceCellRange=this.valueCellRange);const{dimensionCols:r,valueCols:o}=this.chartColumnService.getChartColumns(),s=this.getAllColumnsFromRanges();t&&this.updateColumnState(t,i),this.setDimensionCellRange(r,s,t),this.setValueCellRange(o,s,n),t||a||(this.resetColumnState(),this.syncDimensionCellRange()),this.comboChartModel.updateSeriesChartTypes()}updateData(){const{startRow:e,endRow:t}=this.getRowIndexes();this.pivotChart&&this.resetColumnState(),this.grouping=this.isGrouping();const i={aggFunc:this.aggFunc,dimensionCols:this.getSelectedDimensions(),grouping:this.grouping,pivoting:this.isPivotActive(),crossFiltering:this.crossFiltering,valueCols:this.getSelectedValueCols(),startRow:e,endRow:t,isScatter:(0,Ze._includes)(["scatter","bubble"],this.chartType)},{chartData:a,columnNames:n,groupChartData:r}=this.datasource.getData(i);this.chartData=a,this.groupChartData=r,this.columnNames=n,this.categoryAxisType=void 0}isGrouping(){const e=this.gos.get("treeData"),t=e?null:this.chartColumnService.getRowGroupColumns(),i=e||t&&t.length>0,a=this.getSelectedDimensions().map((({colId:e})=>e)),n=this.chartColumnService.getGroupDisplayColumns().map((e=>e.getColId())).some((e=>a.includes(e)));return!!i&&n}getSelectedValueCols(){return this.valueColState.filter((e=>e.selected)).map((e=>e.column))}getSelectedDimensions(){return this.dimensionColState.filter((e=>e.selected))}getColDisplayName(e){return this.chartColumnService.getColDisplayName(e)}isPivotMode(){return this.chartColumnService.isPivotMode()}getChartDataType(e){const t=this.chartColumnService.getColumn(e);return t?t.getColDef().chartDataType:void 0}isPivotActive(){return this.chartColumnService.isPivotActive()}createCellRange(e,...t){return{id:this.chartId,startRow:this.referenceCellRange.startRow,endRow:this.referenceCellRange.endRow,columns:t,startColumn:e===Ze.CellRangeType.DIMENSION||null==this.referenceCellRange.startColumn?t[0]:this.referenceCellRange.startColumn,type:e}}getAllColumnsFromRanges(){if(this.pivotChart)return new Set(this.chartColumnService.getAllDisplayedColumns());const e=this.dimensionCellRange||this.valueCellRange?[]:this.referenceCellRange.columns;return this.dimensionCellRange&&e.push(...this.dimensionCellRange.columns),this.valueCellRange&&e.push(...this.valueCellRange.columns),new Set(e)}getRowIndexes(){let e=0,t=0;const{rangeService:i,valueCellRange:a,dimensionCellRange:n}=this,r=a||n;if(i&&r){e=i.getRangeStartRow(r).rowIndex;const a=i.getRangeEndRow(r);t="bottom"===a.rowPinned?-1:a.rowIndex}return{startRow:e,endRow:t}}resetColumnState(){const{dimensionCols:t,valueCols:i}=this.chartColumnService.getChartColumns(),a=this.getAllColumnsFromRanges(),n=this.valueColState.length<1;this.dimensionColState=[],this.valueColState=[];const r=k(D(this.chartType));let o=!1,s=1;const l=this.suppliedCellRange.columns[0];t.forEach((e=>{const t="ag-Grid-AutoColumn"===e.getColId();let i=!1;this.crossFiltering&&this.aggFunc?l.getColId()===e.getColId()&&(i=!0):i=!!t||(!o||r)&&a.has(e),this.dimensionColState.push({column:e,colId:e.getColId(),displayName:this.getColDisplayName(e),selected:i,order:s++}),i&&(o=!0)}));const c={colId:e.DEFAULT_CATEGORY,displayName:this.chartTranslationService.translate("defaultCategory"),selected:!o,order:0};this.dimensionColState.unshift(c);const d=this.referenceCellRange.columns.filter((e=>i.has(e)));i.forEach((e=>{n&&(0,Ze._includes)(this.referenceCellRange.columns,e)&&(e=d.shift()),this.valueColState.push({column:e,colId:e.getColId(),displayName:this.getColDisplayName(e),selected:a.has(e),order:s++})}))}updateColumnState(e,t){const i=t=>t.colId===e.colId,{dimensionColState:a,valueColState:n}=this,r=a.find(i),o=n.find(i);if(r){if(k(D(this.chartType)))r.selected=e.selected;else{const t=e.selected?r:a.filter((e=>e!==r)).find((({selected:e})=>e));a.forEach((e=>e.selected=e===t))}}else o&&(o.selected=e.selected);const s=[...a,...n],l=[];t||(s.forEach(((t,i)=>{i===e.order&&l.push(e.colId),t.colId!==e.colId&&l.push(t.colId)})),s.forEach((e=>{const t=l.indexOf(e.colId);e.order=t>=0?l.indexOf(e.colId):s.length-1}))),this.reorderColState()}reorderColState(){const e=(e,t)=>e.order-t.order;this.dimensionColState.sort(e),this.valueColState.sort(e)}setDimensionCellRange(t,i,a){this.dimensionCellRange=void 0;const n=k(D(this.chartType));if(!a&&!this.dimensionColState.length){const e=new Array;return t.forEach((t=>{e.length>0&&!n||!i.has(t)||e.push(t)})),void(e.length>0&&(this.dimensionCellRange=this.createCellRange(Ze.CellRangeType.DIMENSION,...e)))}let r=a?[a]:[];if(this.crossFiltering&&this.aggFunc){const e=this.suppliedCellRange.columns[0];r=this.dimensionColState.filter((t=>t.colId===e.getColId()))}else(n||0===r.length||r.some((({column:e})=>!e||!t.has(e))))&&(r=this.dimensionColState.filter((e=>e.selected)));const o=1===r.length&&r[0].colId===e.DEFAULT_CATEGORY,s=r.map((({column:e})=>e)).filter((e=>null!=e));s.length>0&&!o&&(this.dimensionCellRange=this.createCellRange(Ze.CellRangeType.DIMENSION,...s))}setValueCellRange(e,t,i){this.valueCellRange=void 0;const a=[],n=T(this.chartType);let r=0;if(e.forEach((e=>{i?(null==n||r<n)&&t.has(e)&&(a.push(e),r++):this.valueColState.some((t=>t.selected&&t.colId===e.getColId()))&&a.push(e)})),a.length>0){let e=[];this.valueColState.length>0?e=this.valueColState.map((e=>e.colId)):t.forEach((t=>e.push(t.getColId()))),a.sort(((t,i)=>e.indexOf(t.getColId())-e.indexOf(i.getColId()))),this.valueCellRange=this.createCellRange(Ze.CellRangeType.VALUE,...a)}}resetCellRanges(e,t){if(!e&&!t)return;const{dimensionCols:i,valueCols:a}=this.chartColumnService.getChartColumns(),n=this.getAllColumnsFromRanges();e&&this.setDimensionCellRange(i,n),t&&this.setValueCellRange(a,n)}updateSelectedDimensions(e){const t=new Set(e.map((e=>e.getColId())));if(k(D(this.chartType))){const e=this.dimensionColState.filter((e=>t.has(e.colId))),i=new Set(e.map((e=>e.colId)));this.dimensionColState=this.dimensionColState.map((e=>({...e,selected:i.has(e.colId)})))}else{const e=(this.dimensionColState.find((e=>t.has(e.colId)))||this.dimensionColState[0]).colId;this.dimensionColState=this.dimensionColState.map((t=>({...t,selected:t.colId===e})))}}syncDimensionCellRange(){const e=this.getSelectedDimensions();if(0===e.length)return;const t=e.map((({column:e})=>e)).filter((e=>null!=e));t.length>0&&(this.dimensionCellRange=this.createCellRange(Ze.CellRangeType.DIMENSION,...t))}isComboChart(e){return b(e??this.chartType)}};nt.DEFAULT_CATEGORY="AG-GRID-DEFAULT-CATEGORY";var rt=nt,ot=i(3423),st=i(4933),lt=e=>t=>null==t||e(t),ct=e=>"string"==typeof e,dt=e=>"boolean"==typeof e,ht=e=>"object"==typeof e,ut=(e,t)=>i=>`AG Grid - unable to update chart as invalid params supplied: \`${e}: ${i}\`, expected ${t}.`,gt=e=>`${e} is not supported in AG Charts Community (either 'ag-grid-charts-enterprise' or '@ag-grid-enterprise/charts-enterprise' hasn't been loaded). See https://www.ag-grid.com/javascript-data-grid/integrated-charts-installation/ for more details.`,pt=class e{static isEnterprise(){return st._ModuleSupport.enterpriseModule.isEnterprise}static isValidChartType(e){return!!R(e)||b(e)}static isLegacyChartType(t){return e.legacyChartTypes.includes(t)}static validateUpdateParams(t){switch(t.type){case"rangeChartUpdate":return e.validateUpdateRangeChartParams(t);case"pivotChartUpdate":return e.validateUpdatePivotChartParams(t);case"crossFilterChartUpdate":return e.validateUpdateCrossFilterChartParams(t);default:return(0,ot._warnOnce)(`Invalid value supplied for 'type': ${t.type}. It must be either 'rangeChartUpdate', 'pivotChartUpdate', or 'crossFilterChartUpdate'.`),!1}}static validateCreateParams(t){return ft(t,[e.enterpriseChartTypeValidation,e.switchCategorySeriesValidation])}static validateUpdateRangeChartParams(t){return ft(t,[...e.commonUpdateValidations,e.enterpriseChartTypeValidation,...e.cellRangeValidations,{property:"seriesChartTypes",validationFn:e=>void 0===e||Array.isArray(e)&&e.every(ht),warnMessage:ut("seriesChartTypes","Array of SeriesChartType")}],[...e.baseUpdateChartParams,"cellRange","suppressChartRanges","switchCategorySeries","aggFunc","seriesChartTypes","seriesGroupType"],"UpdateRangeChartParams")}static validateUpdatePivotChartParams(t){return ft(t,[...e.commonUpdateValidations],[...e.baseUpdateChartParams],"UpdatePivotChartParams")}static validateUpdateCrossFilterChartParams(t){return ft(t,[...e.commonUpdateValidations,...e.cellRangeValidations],[...e.baseUpdateChartParams,"cellRange","suppressChartRanges","aggFunc"],"UpdateCrossFilterChartParams")}};pt.legacyChartTypes=["doughnut"],pt.baseUpdateChartParams=["type","chartId","chartType","chartThemeName","chartThemeOverrides","unlinkChart"],pt.validateChartType=lt((e=>{if(pt.isValidChartType(e))return!0;if(pt.isLegacyChartType(e)){const t=M(e);return(0,ot._warnOnce)(`The chart type '${e}' has been deprecated. Please use '${t}' instead.`),t}return!1})),pt.validateAgChartThemeOverrides=lt((e=>"object"==typeof e)),pt.validateChartParamsCellRange=lt((e=>"object"==typeof e)),pt.validateAggFunc=lt((e=>"string"==typeof e||"function"==typeof e)),pt.enterpriseChartTypeValidation={property:"chartType",validationFn:lt((e=>pt.isEnterprise()||!e||!function(e){return C(D(e),"isEnterprise")}(e))),warnMessage:e=>gt(`The '${e}' chart type`)},pt.switchCategorySeriesValidation={property:"switchCategorySeries",validationFn:lt((e=>{if(!e||pt.isEnterprise())return!0})),warnMessage:()=>gt("'switchCategorySeries' has been ignored as it"),warnIfFixed:!0},pt.commonUpdateValidations=[{property:"chartId",validationFn:ct,warnMessage:ut("chartId","string")},{property:"chartType",validationFn:pt.validateChartType,warnMessage:ut("chartType","ChartType")},{property:"chartThemeName",validationFn:ct,warnMessage:ut("chartThemeName","string")},{property:"chartThemeOverrides",validationFn:pt.validateAgChartThemeOverrides,warnMessage:ut("chartThemeOverrides","AgChartThemeOverrides")},{property:"unlinkChart",validationFn:dt,warnMessage:ut("unlinkChart","boolean")}],pt.cellRangeValidations=[{property:"cellRange",validationFn:pt.validateChartParamsCellRange,warnMessage:ut("cellRange","ChartParamsCellRange")},{property:"suppressChartRanges",validationFn:dt,warnMessage:ut("suppressChartRanges","boolean")},{property:"aggFunc",validationFn:pt.validateAggFunc,warnMessage:ut("aggFunc","string or IAggFunc")},pt.switchCategorySeriesValidation];var mt=pt;function ft(e,t,i,a){let n;for(const i of t){const{property:t,validationFn:a,warnMessage:r,warnIfFixed:o}=i;if(t in e){const i=e[t],s=a(i);if(!0===s)continue;if(!1===s)return(0,ot._warnOnce)(r(i)),!1;n=n||{...e},n[t]=s,o&&(0,ot._warnOnce)(r(i))}}if(i)for(const t in e)if(!i.includes(t))return(0,ot._warnOnce)(`Unexpected property supplied. ${a} does not contain: \`${t}\`.`),!1;return n||!0}var vt=["ag-default","ag-material","ag-sheets","ag-polychroma","ag-vivid"],yt=class extends Fe.BeanStub{constructor(e){super(),this.model=e,this.isEnterprise=()=>Ie._ModuleSupport.enterpriseModule.isEnterprise}wireBeans(e){this.rangeService=e.rangeService}postConstruct(){this.setChartRange(),this.model.unlinked&&this.rangeService&&this.rangeService.setCellRanges([]);const e=this.updateForGridChange.bind(this);this.addManagedEventListeners({rangeSelectionChanged:e=>{e.id&&e.id===this.model.chartId&&this.updateForRangeChange()},columnMoved:e,columnPinned:e,columnVisible:e,columnRowGroupChanged:e,modelUpdated:e,cellValueChanged:this.updateForDataChange.bind(this)})}update(e){if(!this.validUpdateType(e))return!1;const t=mt.validateUpdateParams(e);if(!t)return!1;const i=!0===t?e:t;return this.applyValidatedChartParams(i),!0}applyValidatedChartParams(e){const{chartId:t,chartType:i,chartThemeName:a,unlinkChart:n}=e,r={...{chartId:t,pivotChart:this.model.pivotChart,chartType:i??this.model.chartType,chartThemeName:a??this.model.chartThemeName,unlinkChart:n??this.model.unlinked,cellRange:this.model.suppliedCellRange,switchCategorySeries:this.model.switchCategorySeries,aggFunc:this.model.aggFunc,seriesChartTypes:void 0,suppressChartRanges:!1,crossFiltering:!1}};switch(e.type){case"rangeChartUpdate":r.cellRange=this.createCellRange(e)??this.model.suppliedCellRange,r.switchCategorySeries=e.switchCategorySeries??this.model.switchCategorySeries,r.aggFunc=e.aggFunc??this.model.aggFunc,r.seriesChartTypes=e.seriesChartTypes,r.suppressChartRanges=e.suppressChartRanges??this.model.suppressChartRanges,r.seriesGroupType=e.seriesGroupType??this.model.seriesGroupType;break;case"crossFilterChartUpdate":r.cellRange=this.createCellRange(e)??this.model.suppliedCellRange,r.switchCategorySeries=!1,r.aggFunc=e.aggFunc??this.model.aggFunc,r.crossFiltering=!0,r.suppressChartRanges=e.suppressChartRanges??this.model.suppressChartRanges;break;case"pivotChartUpdate":r.switchCategorySeries=!1}this.model.updateModel(r);r.unlinkChart||r.suppressChartRanges?this.rangeService?.setCellRanges([]):this.setChartRange()}updateForGridChange(e){if(this.model.unlinked)return;const{maintainColState:t,setColsFromRange:i}=e??{};this.model.updateCellRanges({maintainColState:t,setColsFromRange:i}),this.model.updateData(),this.setChartRange()}updateForDataChange(){this.model.unlinked||(this.model.updateData(),this.raiseChartModelUpdateEvent())}updateForRangeChange(){this.updateForGridChange({setColsFromRange:!0}),this.raiseChartRangeSelectionChangedEvent()}updateForPanelChange(e){this.model.updateCellRanges(e),this.model.updateData(),e.skipAnimation&&this.getChartProxy().getChartRef().skipAnimations(),this.setChartRange(),this.raiseChartRangeSelectionChangedEvent()}updateThemeOverrides(e){this.chartProxy.updateThemeOverrides(e)}getChartUpdateParams(e){const t=this.getSelectedValueColState().map((e=>({colId:e.colId,displayName:e.displayName}))),i=this.getChartData(),a=this.getSelectedDimensions(),n={data:i,groupData:this.model.groupChartData,grouping:this.isGrouping(),categories:a.map((e=>({id:e.colId,name:e.displayName,chartDataType:this.model.categoryAxisType??this.model.getChartDataType(e.colId)}))),fields:t,chartId:this.getChartId(),getCrossFilteringContext:()=>({lastSelectedChartId:"xxx"}),seriesChartTypes:this.getSeriesChartTypes(),updatedOverrides:e,seriesGroupType:this.model.seriesGroupType};return this.isCategorySeriesSwitched()?this.invertCategorySeriesParams(n):n}invertCategorySeriesParams(e){const[t]=e.categories,i=[{id:rt.DEFAULT_CATEGORY,name:""}],a=e.data.map(((e,i)=>{const a=`${t.id}:${i}`,n=e[t.id];return{colId:a,displayName:null==n?"":String(n)}})),n=e.fields.map((i=>{const a={[rt.DEFAULT_CATEGORY]:i.displayName};for(const[n,r]of e.data.entries()){const e=`${t.id}:${n}`,o=r[i.colId];a[e]=o}return a}));return{...e,categories:i,fields:a,data:n}}getChartModel(){const e=this.model.pivotChart?"pivot":"range",t=this.isComboChart()?this.model.comboChartModel.seriesChartTypes:void 0;return{modelType:e,chartId:this.model.chartId,chartType:this.model.chartType,chartThemeName:this.getChartThemeName(),chartOptions:this.chartProxy.getChartThemeOverrides(),chartPalette:this.chartProxy.getChartPalette(),cellRange:this.getCellRangeParams(),switchCategorySeries:this.model.switchCategorySeries,suppressChartRanges:this.model.suppressChartRanges,aggFunc:this.model.aggFunc,unlinkChart:this.model.unlinked,seriesChartTypes:t,seriesGroupType:this.model.seriesGroupType}}getChartId(){return this.model.chartId}getChartData(){return this.model.chartData}getChartType(){return this.model.chartType}setChartType(e){this.updateMultiSeriesAndCategory(this.model.chartType,e),this.model.chartType=e,this.model.comboChartModel.updateSeriesChartTypes(),this.model.switchCategorySeries=!1,this.model.categoryAxisType=void 0,this.model.seriesGroupType=void 0,this.raiseChartModelUpdateEvent(),this.raiseChartOptionsChangedEvent()}isCategorySeriesSwitched(){return this.model.switchCategorySeries&&!this.model.isGrouping()}switchCategorySeries(e){P(this.getChartType())&&(this.model.switchCategorySeries=e,this.raiseChartModelUpdateEvent())}getAggFunc(){return this.model.aggFunc}setAggFunc(e,t){this.model.aggFunc!==e&&(this.model.aggFunc=e,t||(this.model.updateData(),this.raiseChartModelUpdateEvent()))}updateMultiSeriesAndCategory(e,t){const i=(e,t)=>{let i=0;for(const a of e)a.selected&&(i>=t?a.selected=!1:i++);0===i&&(e[0].selected=!0)},a=E(t),n=T(t),r=null!=a&&(E(e)??100)>(a??100),o=null!=n&&(T(e)??100)>(n??100);r&&i(this.model.dimensionColState,a),o&&i(this.model.valueColState,n),(r||o)&&(this.model.resetCellRanges(r,o),this.setChartRange(!0))}setChartThemeName(e,t){this.model.chartThemeName=e,t||(this.raiseChartModelUpdateEvent(),this.raiseChartOptionsChangedEvent())}getChartThemeName(){return this.model.chartThemeName}isPivotChart(){return this.model.pivotChart}isPivotMode(){return this.model.isPivotMode()}isGrouping(){return this.model.isGrouping()}isCrossFilterChart(){return this.model.crossFiltering}getThemeNames(){return this.gos.get("chartThemes")||vt}getThemes(){return this.getThemeNames().map((e=>{const t=Ke(e)?e:this.chartProxy.lookupCustomChartTheme(e);return Ie._Theme.getChartTheme(t)}))}getPalettes(){return this.getThemes().map((e=>e.palette))}getThemeTemplateParameters(){return this.getThemes().map((e=>e.getTemplateParameters()))}getValueColState(){return this.model.valueColState.map(this.displayNameMapper.bind(this))}getSelectedValueColState(){return this.getValueColState().filter((e=>e.selected))}getSelectedDimensions(){return this.model.getSelectedDimensions()}displayNameMapper(e){const t=this.model.columnNames[e.colId];return e.displayName=t?t.join(" - "):this.model.getColDisplayName(e.column),e}getColStateForMenu(){return{dimensionCols:this.model.dimensionColState,valueCols:this.getValueColState()}}setChartRange(e=!1){!this.rangeService||this.model.suppressChartRanges||this.model.unlinked||this.rangeService.setCellRanges(this.getCellRanges()),e||this.raiseChartModelUpdateEvent()}detachChartRange(){this.model.unlinked=!this.model.unlinked,this.model.unlinked?this.rangeService&&this.rangeService.setCellRanges([]):this.updateForGridChange(),this.dispatchLocalEvent({type:"chartLinkedChanged"})}setChartProxy(e){this.chartProxy=e}getChartProxy(){return this.chartProxy}isActiveXYChart(){return["scatter","bubble"].includes(this.getChartType())}isChartLinked(){return!this.model.unlinked}customComboExists(){const e=this.model.comboChartModel.savedCustomSeriesChartTypes;return e&&e.length>0}getSeriesChartTypes(){return this.model.comboChartModel.seriesChartTypes}isComboChart(e){return this.model.isComboChart(e)}updateSeriesChartType(e,t,i){const a=this.model.comboChartModel.seriesChartTypes.find((t=>t.colId===e));if(a){const e="customCombo"!==this.model.chartType;e&&(this.model.chartType="customCombo");const n=a.chartType;null!=t&&(a.chartType=t),null!=i&&(a.secondaryAxis=i),this.model.comboChartModel.savedCustomSeriesChartTypes=this.model.comboChartModel.seriesChartTypes,this.model.comboChartModel.updateSeriesChartTypes(),this.updateForDataChange(),e&&this.dispatchLocalEvent({type:"chartTypeChanged"}),n!==t&&this.dispatchLocalEvent({type:"chartSeriesChartTypeChanged"}),this.raiseChartOptionsChangedEvent()}}getActiveSeriesChartTypes(){const e=this.getSelectedValueColState().map((e=>e.colId));return this.getSeriesChartTypes().filter((t=>e.includes(t.colId)))}getChartSeriesTypes(e){const t=e??this.getChartType();return this.isComboChart(t)?["line","bar","area"]:[D(t)]}getChartSeriesType(){const e=this.getSeriesChartTypes();if(0===e.length)return"bar";const t=e[0].chartType;return"columnLineCombo"===t?"bar":"areaColumnCombo"===t?"area":D(t)}getCellRanges(){return[this.model.dimensionCellRange,this.model.valueCellRange].filter((e=>e))}createCellRange(e){return e.cellRange&&this.rangeService?.createPartialCellRangeFromRangeParams(e.cellRange,!0)}validUpdateType(e){if(!e.type)return(0,Fe._warnOnce)("Unable to update chart as the 'type' is missing. It must be either 'rangeChartUpdate', 'pivotChartUpdate', or 'crossFilterChartUpdate'."),!1;const t={"Range Chart":()=>!this.isPivotChart()&&!this.isCrossFilterChart(),"Pivot Chart":()=>this.isPivotChart(),"Cross Filter Chart":()=>this.isCrossFilterChart()},i=Object.keys(t).find((e=>t[e]()))??"Range Chart",a=e.type===`${i[0].toLowerCase()}${i.slice(1).replace(/ /g,"")}Update`;return a||(0,Fe._warnOnce)(`Unable to update chart as a '${e.type}' update type is not permitted on a ${i}.`),a}getCellRangeParams(){const e=this.getCellRanges(),t=e[0],i=t&&t.startRow||null,a=t&&t.endRow||null;return{rowStartIndex:i&&i.rowIndex,rowStartPinned:i&&i.rowPinned,rowEndIndex:a&&a.rowIndex,rowEndPinned:a&&a.rowPinned,columns:e.reduce(((e,t)=>e.concat(t.columns.map((e=>e.getId())))),[])}}setCategoryAxisType(e){this.model.categoryAxisType=e,this.raiseChartModelUpdateEvent()}getSeriesGroupType(){return this.model.seriesGroupType??this.chartProxy.getSeriesGroupType()}setSeriesGroupType(e){this.model.seriesGroupType=e,this.raiseChartModelUpdateEvent()}raiseChartModelUpdateEvent(){this.dispatchLocalEvent({type:"chartModelUpdate"})}raiseChartUpdatedEvent(){this.dispatchLocalEvent({type:"chartUpdated"})}raiseChartApiUpdateEvent(){this.dispatchLocalEvent({type:"chartApiUpdate"})}raiseChartOptionsChangedEvent(){const{chartId:e,chartType:t}=this.getChartModel(),i={type:"chartOptionsChanged",chartId:e,chartType:t,chartThemeName:this.getChartThemeName(),chartOptions:this.chartProxy.getChartThemeOverrides()};this.eventService.dispatchEvent(i)}raiseChartRangeSelectionChangedEvent(){const e={type:"chartRangeSelectionChanged",id:this.model.chartId,chartId:this.model.chartId,cellRange:this.getCellRangeParams()};this.eventService.dispatchEvent(e)}destroy(){super.destroy(),this.rangeService&&this.rangeService.setCellRanges([])}},bt=i(4933);function Ct(e){return null!=e.chart?e.chart:e}var wt=class{constructor(e){this.chartProxyParams=e,this.clearThemeOverrides=!1,this.isEnterpriseCharts=bt._ModuleSupport.enterpriseModule.isEnterprise,this.chart=e.chartInstance,this.chartType=e.chartType,this.crossFiltering=e.crossFiltering,this.crossFilterCallback=e.crossFilterCallback,this.standaloneChartType=D(this.chartType),null==this.chart?this.chart=bt.AgCharts.create(this.getCommonChartOptions()):this.clearThemeOverrides=!0}crossFilteringReset(){}update(e){this.getChartRef().update(this.getUpdateOptions(e,this.getCommonChartOptions(e.updatedOverrides)))}updateThemeOverrides(e){this.getChartRef().updateDelta({theme:{overrides:e}})}getChart(){return Ct(this.chart)}getChartRef(){return this.chart}downloadChart(e,t,i){const{chart:a}=this,n=Ct(a),r=t||(n.title?n.title.text:"chart"),{width:o,height:s}=e||{};a.download({width:o,height:s,fileName:r,fileFormat:i})}getChartImageDataURL(e){return this.getChart().getCanvasDataURL(e)}getChartOptions(){return this.chart.getOptions()}getChartThemeOverrides(){return this.getChartOptions().theme.overrides??{}}getChartPalette(){return bt._Theme.getChartTheme(this.getChartOptions().theme).palette}setPaired(e){const t=D(this.chartProxyParams.chartType);this.chart.updateDelta({theme:{overrides:{[t]:{paired:e}}}})}isPaired(){const e=D(this.chartProxyParams.chartType);return qe(this.getChartThemeOverrides(),`${e}.paired`,!0)}lookupCustomChartTheme(e){return $e(this.chartProxyParams,e)}getSeriesGroupType(){}transformCategoryData(e,t){return e.map(((e,i)=>{const a=e[t],n=a&&a.toString?a.toString():"",r={...e};return r[t]={id:i,value:a,toString:()=>n},r}))}getCommonChartOptions(e){const t=this.clearThemeOverrides?{}:this.chart?.getOptions()??{},i=null!=this.chart?this.getActiveFormattingPanelOverrides():void 0;this.clearThemeOverrides=!1;const a=Ue(this.chartProxyParams,this,this.isEnterpriseCharts,this.getChartThemeDefaults(),e??i),n={...t,mode:"integrated"};return n.theme=a,n.container=this.chartProxyParams.parentElement,n}getChartThemeDefaults(){const e=this.getSeriesChartThemeDefaults(),t=e?{[this.standaloneChartType]:e}:{},i={enabled:!0,snap:!0,label:{enabled:!1}},a=this.isEnterpriseCharts?{zoom:{enabled:!0},animation:{enabled:!0,duration:500},axes:{number:{crosshair:i},category:{crosshair:i},log:{crosshair:i},time:{crosshair:i}}}:{};return a.minHeight=0,a.minWidth=0,a.navigator={enabled:!1},{common:a,...t}}getSeriesChartThemeDefaults(){}getActiveFormattingPanelOverrides(){if(this.clearThemeOverrides)return{};const e=this.chart?.getOptions().theme;return e?.overrides??{}}destroy({keepChartInstance:e=!1}={}){if(e)return this.chart.resetAnimations(),this.chart;this.destroyChart()}destroyChart(){this.chart&&(this.chart.destroy(),this.chart=void 0)}},St=class extends wt{constructor(e){super(e),this.crossFilteringAllPoints=new Set,this.crossFilteringSelectedPoints=[]}getUpdateOptions(e,t){const i=this.getAxes(e,t);return{...t,data:this.getData(e,i),axes:i,series:this.getSeries(e)}}getData(e,t){const i=["area","line"].includes(this.standaloneChartType);return this.crossFiltering&&i?this.getCrossFilterData(e):this.getDataTransformedData(e,t)}getDataTransformedData(e,t){const i=t[0].type,{categories:a,data:n}=e,[r]=a;switch(i){case"category":return this.transformCategoryData(n,r.id);case"time":return this.transformTimeData(n,r.id);default:return n}}getXAxisType(e){return e.grouping?"grouped-category":this.isXAxisOfType(e,"time",(e=>e instanceof Date))?"time":this.isXAxisOfType(e,"number")?"number":"category"}isXAxisOfType(e,t,i){const[a]=e.categories;if(a?.chartDataType)return a.chartDataType===t;if(!i)return!1;const n=e.data[0];return!!n&&i(n[a.id])}transformTimeData(e,t){const i=e[0]?.[t];return i instanceof Date?e:e.map((e=>{const i=e[t];return"string"==typeof i?{...e,[t]:new Date(i)}:e}))}crossFilteringReset(){this.crossFilteringSelectedPoints=[],this.crossFilteringAllPoints.clear()}crossFilteringPointSelected(e){return 0==this.crossFilteringSelectedPoints.length||this.crossFilteringSelectedPoints.includes(e)}crossFilteringDeselectedPoints(){return this.crossFilteringSelectedPoints.length>0&&this.crossFilteringAllPoints.size!==this.crossFilteringSelectedPoints.length}extractLineAreaCrossFilterSeries(e,t){const[i]=t.categories,a=e=>{if("area"===this.standaloneChartType){return t.getCrossFilteringContext().lastSelectedChartId===t.chartId?e+"-total":e}return e+"-total"};return e.map((e=>(e.yKey=a(e.yKey),e.listeners={nodeClick:t=>{const i=t.datum[e.xKey],a=t.event.metaKey||t.event.ctrlKey;this.crossFilteringAddSelectedPoint(a,i),this.crossFilterCallback(t)}},e.marker={itemStyler:e=>{const t=e.datum[i.id];return{fill:e.highlighted?"yellow":e.fill,size:e.highlighted?14:this.crossFilteringPointSelected(t)?8:0}}},"area"===this.standaloneChartType&&(e.fillOpacity=this.crossFilteringDeselectedPoints()?.3:1),"line"===this.standaloneChartType&&(e.strokeOpacity=this.crossFilteringDeselectedPoints()?.3:1),e)))}getCrossFilterData(e){this.crossFilteringAllPoints.clear();const[t]=e.categories,i=e.fields[0].colId,a=`${i}-filtered-out`,n=e.getCrossFilteringContext().lastSelectedChartId;return e.data.map((r=>{const o=r[t.id];this.crossFilteringAllPoints.add(o);const s=this.crossFilteringPointSelected(o);return"area"===this.standaloneChartType&&n===e.chartId&&(r[`${i}-total`]=s?r[i]:r[i]+r[a]),"line"===this.standaloneChartType&&(r[`${i}-total`]=s?r[i]:r[i]+r[a]),r}))}crossFilteringAddSelectedPoint(e,t){e?this.crossFilteringSelectedPoints.push(t):this.crossFilteringSelectedPoints=[t]}isHorizontal(e){const t=this.standaloneChartType;if("waterfall"!==t&&"box-plot"!==t&&"range-bar"!==t)return!1;const i=e.theme,a=e=>{const i=e?.overrides?.[t]?.series?.direction;return null!=i?"horizontal"===i:"object"==typeof e?.baseTheme&&a(e.baseTheme)};return a(i)}},xt=class extends St{constructor(e){super(e)}getAxes(e){const t=[{type:this.getXAxisType(e),position:"bottom"},{type:"number",position:"left"}];if(this.isNormalised()){const e=t[1];e.label={...e.label,formatter:e=>Math.round(e.value)+"%"}}return t}getSeries(e){const[t]=e.categories,i=e.fields.map((e=>({type:this.standaloneChartType,xKey:t.id,xName:t.name,yKey:e.colId,yName:e.displayName,normalizedTo:"normalizedArea"===this.chartType?100:void 0,stacked:["normalizedArea","stackedArea"].includes(this.chartType)})));return this.crossFiltering?this.extractLineAreaCrossFilterSeries(i,e):i}isNormalised(){return!this.crossFiltering&&"normalizedArea"===this.chartType}},kt=i(3423),Mt=i(4933);function Rt(e,t){const i=parseInt(e.slice(1,3),16),a=parseInt(e.slice(3,5),16),n=parseInt(e.slice(5,7),16);return t?`rgba(${i}, ${a}, ${n}, ${t})`:`rgba(${i}, ${a}, ${n})`}function Dt(e,t){return e.map((e=>{const i=Mt._Util.Color.fromString(e);return new Mt._Util.Color(i.r,i.g,i.b,t).toHexString()}))}var At=new Set(["bar","groupedBar","stackedBar","normalizedBar"]),Et=class extends St{constructor(e){super(e)}getAxes(e){const t=[{type:this.getXAxisType(e),position:this.isHorizontal()?"left":"bottom"},{type:"number",position:this.isHorizontal()?"bottom":"left"}];if(this.isNormalised()){const e=t[1];e.label={...e.label,formatter:e=>Math.round(e.value)+"%"}}return t}getSeries(e){const[t]=e.categories,i=e.fields.map((e=>{return{type:this.standaloneChartType,direction:this.isHorizontal()?"horizontal":"vertical",stacked:this.crossFiltering||(i=this.chartType,w.has(i)),normalizedTo:this.isNormalised()?100:void 0,xKey:t.id,xName:t.name,yKey:e.colId,yName:e.displayName};var i}));return this.crossFiltering?this.extractCrossFilterSeries(i):i}extractCrossFilterSeries(e){const t=this.getChartPalette(),i=(e,i)=>({...e,highlightStyle:{item:{fill:void 0}},fill:t?.fills?.[i],stroke:t?.strokes?.[i],listeners:{nodeClick:this.crossFilterCallback}}),a=e=>{const t=e.yKey+"-filtered-out";return{..._e({},e),yKey:t,fill:Rt(e.fill,"0.3"),stroke:Rt(e.stroke,"0.3"),showInLegend:!1}},n=[];for(let t=0;t<e.length;t++){const r=i(e[t],t);n.push(r),n.push(a(r))}return n}isNormalised(){return!this.crossFiltering&&(0,kt._includes)(["normalizedColumn","normalizedBar"],this.chartType)}isHorizontal(){return At.has(this.chartType)}},Tt=class extends St{constructor(e){super(e)}getSeries(e){const t=e.fields[0];return[{type:this.standaloneChartType,xKey:t.colId,xName:t.displayName,yName:this.chartProxyParams.translate("histogramFrequency"),areaPlot:!1}]}getAxes(e){return[{type:"number",position:"bottom"},{type:"number",position:"left"}]}},Pt=class extends St{constructor(e){super(e)}getAxes(e){return[{type:this.getXAxisType(e),position:"bottom"},{type:"number",position:"left"}]}getSeries(e){const[t]=e.categories,i=e.fields.map((e=>({type:this.standaloneChartType,xKey:t.id,xName:t.name,yKey:e.colId,yName:e.displayName})));return this.crossFiltering?this.extractLineAreaCrossFilterSeries(i,e):i}},Ft=class extends St{constructor(e){super(e)}getAxes(e){return[{type:"number",position:"bottom"},{type:"number",position:"left"}]}getSeries(e){const[t]=e.categories,i=this.isPaired(),a=this.getSeriesDefinitions(e.fields,i),n=t.id===rt.DEFAULT_CATEGORY?void 0:t,r=a.map((e=>{if(e?.sizeField){return{type:"bubble",xKey:e.xField.colId,xName:e.xField.displayName??void 0,yKey:e.yField.colId,yName:e.yField.displayName??void 0,title:`${e.yField.displayName} vs ${e.xField.displayName}`,sizeKey:e.sizeField.colId,sizeName:e.sizeField.displayName??"",labelKey:n?n.id:e.yField.colId,labelName:n?n.name:void 0}}return{type:"scatter",xKey:e.xField.colId,xName:e.xField.displayName??void 0,yKey:e.yField.colId,yName:e.yField.displayName??void 0,title:`${e.yField.displayName} vs ${e.xField.displayName}`,labelKey:n?n.id:e.yField.colId,labelName:n?n.name:void 0}}));return this.crossFiltering?this.extractCrossFilterSeries(r,e):r}extractCrossFilterSeries(e,t){const{data:i}=t,a=this.getChartPalette(),n=e=>`${e}-filtered-out`,r=e.map(((e,t)=>{const r=a?.fills?.[t],o=a?.strokes?.[t];let s;if("bubble"===e.type){const{sizeKey:t}=e;s=((e,t)=>{const i=[1/0,-1/0];if(null!=t)for(const a of e){const e=a[t]??a[n(t)];e<i[0]&&(i[0]=e),e>i[1]&&(i[1]=e)}if(i[0]<=i[1])return i})(i,t)}return{...e,fill:r,stroke:o,domain:s,highlightStyle:{item:{fill:"yellow"}},listeners:{...e.listeners,nodeClick:this.crossFilterCallback}}}));return[...r,...r.map((e=>{const{yKey:t,xKey:i}=e;let a={};return"bubble"===e.type&&(a={sizeKey:n(e.sizeKey)}),{...e,...a,yKey:n(t),xKey:n(i),fillOpacity:.3,strokeOpacity:.3,showInLegend:!1,listeners:{...e.listeners,nodeClick:e=>{const t=e.datum[n(i)],a={...e,xKey:i,datum:{...e.datum,[i]:t}};this.crossFilterCallback(a)}}}}))]}getSeriesDefinitions(e,t){if(e.length<2)return[];const i="bubble"===this.chartType;if(t)return i?e.map(((t,i)=>i%3==0?{xField:t,yField:e[i+1],sizeField:e[i+2]}:null)).filter((e=>e&&e.yField&&e.sizeField)):e.map(((t,i)=>i%2==0?{xField:t,yField:e[i+1]}:null)).filter((e=>e&&e.yField));const a=e[0];return i?e.map(((t,i)=>i%2==1?{xField:a,yField:t,sizeField:e[i+1]}:null)).filter((e=>e&&e.sizeField)):e.filter(((e,t)=>t>0)).map((e=>({xField:a,yField:e})))}},It=class extends St{constructor(e){super(e)}getAxes(e,t){return[{type:this.getXAxisType(e),position:this.isHorizontal(t)?"left":"bottom"},{type:"number",position:this.isHorizontal(t)?"bottom":"left"}]}getSeries(e){const[t]=e.categories,[i]=e.fields;return[{type:this.standaloneChartType,xKey:t.id,xName:t.name,yKey:i.colId,yName:i.displayName??void 0}]}},Lt=class extends St{constructor(e){super(e)}getAxes(e){const t=e?e.fields:[],i=new Map(t.map((e=>[e.colId,e]))),{primaryYKeys:a,secondaryYKeys:n}=this.getYKeys(t,e.seriesChartTypes),r=[{type:this.getXAxisType(e),position:"bottom"}];return a.length>0&&r.push({type:"number",keys:a,position:"left"}),n.length>0&&n.forEach((e=>{const t=i.get(e);if(!(t&&t.colId===e))return;const a={type:"number",keys:[e],position:"right"};r.push(a)})),r}getSeries(e){const{fields:t,seriesChartTypes:i}=e,[a]=e.categories;return t.map((e=>{const t=i.find((t=>t.colId===e.colId));if(t){const i=t.chartType,n=["groupedColumn","groupedBar"].includes(i)?{grouped:!0}:{};return{type:D(i),xKey:a.id,yKey:e.colId,yName:e.displayName,stacked:["stackedArea","stackedColumn"].includes(i),...n}}}))}getYKeys(e,t){const i=[],a=[];return e.forEach((e=>{const n=e.colId,r=t.find((e=>e.colId===n));r&&(r.secondaryAxis?a.push(n):i.push(n))})),{primaryYKeys:i,secondaryYKeys:a}}},Nt=i(3423),Ot="AG-GRID-DEFAULT-LABEL-KEY";function zt(e,t){return Gt(Bt(e,(function(e){return t.length}),(function(e,i){const a=t[i];return n=e[a],null==n?null:String(n);var n})))}function Gt(e,t=null,i){const{depth:a,rootValues:n,value:r,children:o}=e;if(n)return n.map((e=>({[Ot]:t,...e})));if(0===a)return[{[Ot]:t,...r}];const s=[];for(const[e,t]of o.entries())s.push(...Gt(t,e,!0));return i?[{[Ot]:t,children:s,...r??{}}]:s}function Bt(e,t,i){const a={depth:0,children:new Map};return e.forEach((e=>{n(e,t(e),i,0,a)})),a;function n(e,t,i,a,r){if(a===t)return 0===a?(r.rootValues||(r.rootValues=[]),r.rootValues.push(e)):r.value=e,r;{const o=i(e,a),s=n(e,t,i,a+1,r.children.get(o)||{depth:0,children:new Map});return r.children.set(o,s),r.depth=Math.max(1+s.depth,r.depth),r}}}var Vt=class extends wt{constructor(e){super(e)}getUpdateOptions(e,t){const{fields:i}=e,[a,n]=i;return{...t,series:this.getSeries(a,n),data:this.getData(e,a,n)}}getSeriesChartThemeDefaults(){return{gradientLegend:{gradient:{preferredLength:200}}}}getSeries(e,t){return[{type:this.standaloneChartType,labelKey:Ot,sizeKey:e?.colId,sizeName:e?.displayName??void 0,colorKey:t?.colId,colorName:t?.displayName??void 0}]}getData(e,t,i){const{categories:a,data:n,groupData:r,grouping:o}=e;if(o){return function(e,t){return Gt(Bt(e,(function(e){return t(e)?.length??0}),(function(e,i){const a=t(e);if(!a)return null;return a[a.length-1-i]})))}(i?n.concat(r?.map((e=>{const i={...e};return delete i[t.colId],i}))??[]):n,(e=>e[Nt.GROUP_AUTO_COLUMN_ID]?.labels??null))}return zt(n,a.map((({id:e})=>e)))}};var Ht=class extends wt{constructor(e){super(e)}getUpdateOptions(e,t){return{...t,data:this.crossFiltering?this.getCrossFilterData(e):e.data,series:this.getSeries(e)}}getSeries(e){const[t]=e.categories,i=e.fields.length,a={currentOffset:0,offsetAmount:i>1?20:40},n=this.getFields(e).map((e=>{const n={type:this.standaloneChartType,angleKey:e.colId,angleName:e.displayName,sectorLabelKey:e.colId,calloutLabelName:t.name,calloutLabelKey:t.id};if("donut"===this.chartType||"doughnut"===this.chartType){const{outerRadiusOffset:t,innerRadiusOffset:r}=function(e){const t=e.currentOffset;e.currentOffset-=e.offsetAmount;const i=e.currentOffset;return e.currentOffset-=e.offsetAmount,{outerRadiusOffset:t,innerRadiusOffset:i}}(a),o=e.displayName?{title:{text:e.displayName,showInLegend:i>1}}:void 0;return{...n,type:"donut",outerRadiusOffset:t,innerRadiusOffset:r,...o,calloutLine:{colors:this.getChartPalette()?.strokes}}}return n}));return this.crossFiltering?this.extractCrossFilterSeries(n):n}getCrossFilterData(e){const t=e.fields[0].colId,i=`${t}-filtered-out`;return e.data.map((e=>{const a=e[t]+e[i];return e[`${t}-total`]=a,e[i]=1,e[t]=e[t]/a,e}))}extractCrossFilterSeries(e){const t=this.getChartPalette(),i=e[0],a=i.angleKey,n=(e=>({...e,legendItemKey:e.calloutLabelKey,calloutLabel:{enabled:!1},highlightStyle:{item:{fill:void 0}},radiusKey:e.angleKey,angleKey:e.angleKey+"-total",radiusMin:0,radiusMax:1,listeners:{nodeClick:this.crossFilterCallback}}))(i);return[(r=i,o=a,{..._e({},n),radiusKey:o+"-filtered-out",fills:Dt(r.fills??t?.fills??[],.3),strokes:Dt(r.strokes??t?.strokes??[],.3),showInLegend:!1}),n];var r,o}getFields(e){return"pie"===this.chartType?e.fields.slice(0,1):e.fields}},Wt=class extends wt{constructor(e){super(e)}getAxes(e){const t="radial-bar"===this.standaloneChartType;return[{type:t?"angle-number":"angle-category"},{type:t?"radius-category":"radius-number"}]}getSeries(e){const{fields:t,categories:i,seriesGroupType:a}=e,[n]=i,r="radial-bar"===this.standaloneChartType,o=this.getSeriesGroupTypeOptions(a);return t.map((e=>({type:this.standaloneChartType,angleKey:r?e.colId:n.id,angleName:r?e.displayName??void 0:n.name,radiusKey:r?n.id:e.colId,radiusName:r?n.name:e.displayName??void 0,...o})))}getSeriesGroupType(){const e=this.standaloneChartType;if(!["nightingale","radial-bar","radial-column"].includes(e))return;const t=this.getChart().series?.[0]?.properties.toJson(),i=()=>t.normalizedTo?"normalized":"stacked";return"nightingale"===e?t.grouped?"grouped":i():t.stacked?i():"grouped"}getUpdateOptions(e,t){const i=this.getAxes(e);return{...t,data:this.getData(e,i),axes:i,series:this.getSeries(e)}}getData(e,t){if(t.some((e=>"angle-category"===e.type||"radius-category"===e.type))){const[t]=e.categories;return this.transformCategoryData(e.data,t.id)}return e.data}getSeriesGroupTypeOptions(e){return e?{grouped:"grouped"===e||void 0,stacked:"grouped"!==e||void 0,normalizedTo:"normalized"===e?100:void 0}:{}}};var _t=class extends wt{constructor(e){super(e)}getUpdateOptions(e,t){const i="AG-GRID-DEFAULT-HEATMAP-SERIES-KEY",a="AG-GRID-DEFAULT-HEATMAP-VALUE-KEY",n="AG-GRID-DEFAULT-HEATMAP-CATEGORY-KEY";return{...t,series:this.getSeries(e,i,a,n),data:this.getData(e,i,a,n)}}getSeries(e,t,i,a){const[n]=e.categories;return[{type:this.standaloneChartType,yKey:a,xKey:t,colorKey:i,yName:n.name,xName:void 0,colorName:void 0}]}getData(e,t,i,a){const[n]=e.categories;return r=e.data,o=(r,o)=>{const s=r[n.id],l=null==s?"":String(s),c={id:o,value:s,toString:()=>l};return e.fields.map((({colId:e,displayName:n})=>({...r,[t]:n,[i]:r[e],[a]:c})))},r.reduce(((e,t,i,a)=>e.concat(o(t,i,a))),new Array);var r,o}getSeriesChartThemeDefaults(){return{gradientLegend:{gradient:{preferredLength:200}},series:{tooltip:{renderer:qt}}}}};function qt(e){const{xKey:t,yKey:i,colorKey:a,yName:n,datum:r}=e;return{title:"",content:[{label:n,value:r[i]},{label:r[t],value:a&&r[a]}].map((({label:e,value:t})=>`<b>${Ut(String(e))}:</b> ${Ut(String(t))}`)).join("<br>")}}function Ut(e){const t={"&":"&amp;","<":"&lt;",">":"&gt;"},i=`[${Object.keys(t).join("")}]`,a=new RegExp(i,"g");return e.replace(a,(e=>t[e]))}var Kt=class extends St{constructor(e){super(e)}getAxes(e,t){return[{type:this.getXAxisType(e),position:this.isHorizontal(t)?"left":"bottom"},{type:"number",position:this.isHorizontal(t)?"bottom":"left"}]}computeSeriesStatistics(e,t){const{data:i,fields:a}=e,[n]=e.categories,r=n.id||rt.DEFAULT_CATEGORY,o=this.groupDataByCategory(r,i);return Array.from(o).map((([e,i])=>{const r={[n.id]:e};return a.forEach(((e,a)=>{const n=i.map((t=>t[e.colId])).filter((e=>"number"==typeof e&&!isNaN(e)));Object.entries(t(n)).forEach((([e,t])=>{r[`${e}:${a}`]=n.length>0?t:null}))})),r}))}groupDataByCategory(e,t){return t.reduce(((t,i)=>{const a=(t=>{if(e===rt.DEFAULT_CATEGORY)return 1;const i=t[e];return null==i?"":i instanceof Date?i.getTime():i})(i),n=t.get(a);return n?n.push(i):t.set(a,[i]),t}),new Map)}},jt=class extends Kt{constructor(e){super(e)}getSeries(e){const[t]=e.categories;return e.fields.map(((e,i)=>({type:this.standaloneChartType,xKey:t.id,xName:t.name,yName:e.displayName??void 0,minName:"Min",q1Name:"Q1",medianName:"Median",q3Name:"Q3",maxName:"Max",minKey:`min:${i}`,q1Key:`q1:${i}`,medianKey:`median:${i}`,q3Key:`q3:${i}`,maxKey:`max:${i}`})))}getData(e){return this.computeSeriesStatistics(e,(e=>{const t=e.sort(((e,t)=>e-t));return{min:t[0],q1:this.quantile(t,.25),median:this.quantile(t,.5),q3:this.quantile(t,.75),max:t[t.length-1]}}))}quantile(e,t){const i=(e.length-1)*t,a=Math.floor(i),n=i-a;return void 0!==e[a+1]?e[a]+n*(e[a+1]-e[a]):e[a]}},Yt=class extends Kt{constructor(e){super(e)}getSeries(e){const[t]=e.categories;return e.fields.map(((e,i)=>({type:this.standaloneChartType,xKey:t.id,xName:t.name,yName:e.displayName??void 0,yLowName:"Min",yHighName:"Max",yLowKey:`min:${i}`,yHighKey:`max:${i}`})))}getData(e){return this.computeSeriesStatistics(e,(e=>({min:Math.min(...e),max:Math.max(...e)})))}},$t=i(3423),Zt=i(8299),Xt=i(3423),Qt=class extends Xt.Component{constructor(){super('<div class="ag-chart-menu" data-ref="eMenu"></div>'),this.eMenu=Xt.RefPlaceholder,this.buttonListenersDestroyFuncs=[]}wireBeans(e){this.chartTranslationService=e.chartTranslationService}updateParams(e){const{buttons:t}=e;this.createButtons(t)}createButtons(e){this.buttonListenersDestroyFuncs.forEach((e=>e?.())),this.buttonListenersDestroyFuncs=[];const t=this.eMenu;(0,Xt._clearElement)(t),e.forEach((e=>{const{buttonName:i,iconName:a,callback:n}=e,r=this.createButton(a),o=this.chartTranslationService.translate(i+"ToolbarTooltip");o&&r instanceof HTMLElement&&(r.title=o),this.buttonListenersDestroyFuncs.push(...this.addManagedElementListeners(r,{click:e=>n(e.currentTarget)})),t.appendChild(r)}))}createButton(e){const t=(0,Xt._createIconNoSpan)(e,this.gos,void 0,!0);t.classList.add("ag-chart-menu-icon");const i=this.gos.getDocument().createElement("button");return i.appendChild(t),i.classList.add("ag-chart-menu-toolbar-button"),i}destroy(){this.buttonListenersDestroyFuncs=[],super.destroy()}},Jt=i(3423),ei=i(8299),ti=i(3423),ii=i(3423),ai=i(8299),ni=i(3423),ri=i(3423),oi=i(8299),si=class extends ri.Component{constructor(e){super('<div class="ag-pill-select" role="presentation"></div>'),this.config=e??{};const{selectedValueList:t,valueFormatter:i,valueList:a}=this.config;this.selectedValues=t??[],this.valueList=a??[],this.valueFormatter=i??(e=>(0,ri._escapeString)(e))}postConstruct(){const{ariaLabel:e,onValuesChange:t,dragSourceId:i}=this.config;this.dropZonePanel=this.createManagedBean(new ci({getValues:()=>this.selectedValues,setValues:e=>this.updateValues(e),isDraggable:()=>this.selectedValues.length>1},(e=>this.valueFormatter(e)),e,i));this.getGui().appendChild(this.dropZonePanel.getGui()),this.initSelect(),null!=t&&(this.onValuesChange=t)}setValues(e,t){const{added:i,removed:a,updated:n}=this.getChanges(this.valueList,e);let r=!1;return(i.length||a.length||n.length)&&(r=!0),this.valueList=e,this.updateValues(t,r,!0),this}setValueFormatter(e){return this.valueFormatter=e,this}initSelect(){const e=this.createSelectOptions();if(!e.length)return!1;const{selectPlaceholder:t}=this.config;return this.eSelect=this.createBean(new ri.AgSelect({options:e,placeholder:t,onValueChange:e=>this.addValue(e),pickerIcon:"chartsMenuAdd"})),this.getGui().appendChild(this.eSelect.getGui()),!0}createSelectOptions(){const e=[],{maxSelection:t}=this.config;return t&&this.selectedValues.length>=t||this.valueList.forEach((t=>{this.selectedValues.includes(t)||e.push({value:t,text:this.valueFormatter(t)})})),e}addValue(e){this.dropZonePanel.addItem(e)}updateValues(e,t,i){const a=this.selectedValues;this.selectedValues=e;const n=this.getChanges(a,e),r=t||n.added.length||n.removed.length,o=this.gos.getActiveDomElement(),s=this.eSelect?.getGui().contains(o),l=this.dropZonePanel?.getGui().contains(o);i||this.onValuesChange?.(n);const c=!!r&&!this.refreshSelect();this.dropZonePanel.refreshGui(),r&&s&&(c?this.dropZonePanel.focusList(!0):this.eSelect?.getFocusableElement().focus()),l&&!e.length&&this.eSelect?.getFocusableElement().focus()}getChanges(e,t){return{added:t.filter((t=>!e.includes(t))),removed:e.filter((e=>!t.includes(e))),updated:t.filter(((t,i)=>e[i]!==t)),selected:t}}refreshSelect(){if(!this.eSelect)return this.initSelect();const e=this.createSelectOptions();return e.length?(this.eSelect.clearOptions().addOptions(e).setValue(void 0,!0),!0):((0,ri._removeFromParent)(this.eSelect.getGui()),this.eSelect=this.destroyBean(this.eSelect),!1)}destroy(){this.destroyBean(this.eSelect),super.destroy()}},li=class extends oi.PillDragComp{constructor(e,t,i,a,n,r){super(t,i,!1),this.value=e,this.valueFormatter=a,this.draggable=n,this.sourceId=r}getItem(){return this.value}getDisplayName(){return this.valueFormatter(this.value)}getAriaDisplayName(){return this.getDisplayName()}getTooltip(){}createGetDragItem(){return()=>({value:this.value})}getDragSourceType(){return ri.DragSourceType.ChartPanel}getDragSourceId(){return this.sourceId}isDraggable(){return this.draggable}},ci=class extends oi.PillDropZonePanel{constructor(e,t,i,a){super(!1),this.model=e,this.valueFormatter=t,this.ariaLabel=i,this.sourceId=a}postConstruct(){super.init()}isItemDroppable(e,t){return this.isSourceEventFromTarget(t)||null!=this.sourceId&&this.sourceId===t.dragSource.sourceId}updateItems(e){this.model.setValues(e)}getExistingItems(){return this.model.getValues()}getIconName(){return this.isPotentialDndItems()?"move":"notAllowed"}getAriaLabel(){return this.ariaLabel}createPillComponent(e,t,i){return new li(e,t,i,this.valueFormatter,this.model.isDraggable(),this.sourceId)}getItems(e){return[e.value]}isInterestedIn(e){return e===ri.DragSourceType.ChartPanel}},di=class extends ni.Component{constructor(e,t,i,a){super(a),this.chartController=e,this.allowMultipleSelection=t,this.maxSelection=i}wireBeans(e){this.chartTranslationService=e.chartTranslationService}addItem(e){this.groupComp.addItem(e)}createGroup(e,t,i,a,n){if(this.allowMultipleSelection){const n=e.filter((e=>e.selected));this.valuePillSelect=this.groupComp.createManagedBean(new si({valueList:e,selectedValueList:n,valueFormatter:t,selectPlaceholder:this.chartTranslationService.translate(i),dragSourceId:a,onValuesChange:e=>this.onValueChange(e),maxSelection:this.maxSelection})),this.groupComp.addItem(this.valuePillSelect)}else{const t=this.createValueSelectParams(e);t.onValueChange=t=>{e.forEach((e=>{e.selected=!1})),t.selected=!0,t.colId===rt.DEFAULT_CATEGORY&&this.chartController.setAggFunc(void 0,!0),this.chartController.updateForPanelChange({updatedColState:t,skipAnimation:n?.()})},this.valueSelect=this.groupComp.createManagedBean(new ni.AgSelect(t)),this.groupComp.addItem(this.valueSelect)}}refreshValueSelect(e){if(!this.valueSelect)return;const{options:t,value:i}=this.createValueSelectParams(e);this.valueSelect.clearOptions().addOptions(t).setValue(i,!0)}createValueSelectParams(e){let t;return{options:e.map((e=>{const i=e.displayName??"";return e.selected&&(t=e),{value:e,text:i}})),value:t}}onValueChange({added:e,updated:t,removed:i,selected:a}){let n,r;const o=()=>{a.forEach(((e,t)=>{e.order=t})),r=!0};e.length?(n=e[0],n.selected=!0,o()):i.length?(n=i[0],n.selected=!1):t.length&&(o(),n=t[0]),n&&this.chartController.updateForPanelChange({updatedColState:n,resetOrder:r})}destroy(){this.valuePillSelect=void 0,this.valueSelect=void 0,super.destroy()}},hi=class extends di{constructor(e,t,i,a,n){super(e,i,void 0,'<div id="categoriesGroup"></div>'),this.title=t,this.dimensionCols=a,this.isOpen=n}postConstruct(){this.groupComp=this.createBean(new ai.AgGroupComponent({title:this.title,enabled:!0,suppressEnabledCheckbox:!0,suppressOpenCloseIcons:!1,cssIdentifier:"charts-data",expanded:this.isOpen})),this.createGroup(this.dimensionCols,(e=>e.displayName??""),"categoryAdd","categorySelect",(()=>!this.chartController.getAggFunc())),this.createAggFuncControls(this.dimensionCols),this.getGui().appendChild(this.groupComp.getGui())}refresh(e){this.valuePillSelect?.setValues(e,e.filter((e=>e.selected))),this.refreshValueSelect(e),this.refreshAggFuncControls(e,this.chartController.getAggFunc())}createAggFuncControls(e){const t=this.chartController.getAggFunc();this.groupComp.addItem(this.aggFuncToggle=this.createBean(new ii.AgToggleButton({label:this.chartTranslationService.translate("aggregate"),labelAlignment:"left",labelWidth:"flex",inputWidth:"flex",value:null!=t,onValueChange:e=>{const t=e?"sum":void 0;this.chartController.setAggFunc(t),this.aggFuncSelect?.setValue(t,!0),this.aggFuncSelect?.setDisplayed(null!=t)}}))),this.groupComp.addItem(this.aggFuncSelect=this.createBean(new ii.AgSelect({options:[{value:"sum",text:this.chartTranslationService.translate("sum")},{value:"first",text:this.chartTranslationService.translate("first")},{value:"last",text:this.chartTranslationService.translate("last")},{value:"min",text:this.chartTranslationService.translate("min")},{value:"max",text:this.chartTranslationService.translate("max")},{value:"count",text:this.chartTranslationService.translate("count")},{value:"avg",text:this.chartTranslationService.translate("avg")}],value:"string"==typeof t?t:void 0,onValueChange:e=>{this.chartController.setAggFunc(e)}}))),this.refreshAggFuncControls(e,t)}refreshAggFuncControls(e,t){const i=e.filter((e=>e.selected)).some((e=>e.colId!==rt.DEFAULT_CATEGORY));this.aggFuncToggle?.setValue(null!=t),this.aggFuncSelect?.setValue("string"==typeof t?t:void 0,!0),this.aggFuncToggle?.setDisplayed(i),this.aggFuncSelect?.setDisplayed(i&&null!=t)}clearAggFuncControls(){this.aggFuncToggle=this.destroyBean(this.aggFuncToggle),this.aggFuncSelect=this.destroyBean(this.aggFuncSelect)}destroy(){this.clearAggFuncControls(),this.groupComp=this.destroyBean(this.groupComp),super.destroy()}},ui=i(3423),gi=i(8299),pi=i(3423),mi=class extends pi.BeanStub{constructor(e){super(),this.chartOptionsProxy=e}wireBeans(e){this.chartTranslationService=e.chartTranslationService}getDefaultColorPickerParams(e,t,i){return this.addValueParams(e,{label:this.chartTranslationService.translate(t??"color"),labelWidth:"flex",inputWidth:"flex",labelAlignment:"top",pickerGap:6},i)}getDefaultNumberInputParams(e,t,i){return this.addValueParams(e,{label:this.chartTranslationService.translate(t),labelAlignment:"top",labelWidth:"flex",inputWidth:"flex",precision:i?.precision,step:i?.step,min:i?.min,max:i?.max},{parseInputValue:e=>{const t=Number(e);return isNaN(t)?void 0:t},formatInputValue:e=>null==e?"":`${e}`})}getDefaultSliderParams(e,t,i,a){let n=this.chartOptionsProxy.getValue(e)??0;a&&Array.isArray(n)&&(n=n[0]);const r=this.getDefaultSliderParamsWithoutValueParams(n,t,i);return r.onValueChange=t=>this.chartOptionsProxy.setValue(e,a?[t]:t),r}getDefaultSliderParamsWithoutValueParams(e,t,i){return{label:this.chartTranslationService.translate(t),minValue:0,maxValue:Math.max(e,i),textFieldWidth:45,value:`${e}`}}getDefaultCheckboxParams(e,t,i){const a=this.chartOptionsProxy.getValue(e),n={label:this.chartTranslationService.translate(t),value:a,readOnly:i?.readOnly,passive:i?.passive};return n.onValueChange=t=>{this.chartOptionsProxy.setValue(e,"boolean"==typeof t?t:void 0)},n}getDefaultSelectParams(e,t,i){return this.getDefaultSelectParamsWithoutValueParams(t,i,this.chartOptionsProxy.getValue(e),(t=>{this.chartOptionsProxy.setValue(e,t)}))}getDefaultSelectParamsWithoutValueParams(e,t,i,a){return{label:this.chartTranslationService.translate(e),labelAlignment:"top",options:t,pickerGap:6,value:i,onValueChange:a}}getDefaultFontPanelParams(e,t){const i=t=>`${e}.${t}`;return this.addEnableParams(i("enabled"),{name:this.chartTranslationService.translate(t),suppressEnabledCheckbox:!1,chartMenuParamsFactory:this,keyMapper:i})}addValueParams(e,t,i){const a=this.chartOptionsProxy.getValue(e);return t.value=i?.formatInputValue?i.formatInputValue(a):a,t.onValueChange=t=>{const a=i?.parseInputValue?i.parseInputValue(t):t;this.chartOptionsProxy.setValue(e,a)},t}addEnableParams(e,t){return t.enabled=this.chartOptionsProxy.getValue(e)??!1,t.onEnableChange=t=>this.chartOptionsProxy.setValue(e,t),t}getChartOptions(){return this.chartOptionsProxy}},fi=class extends ui.Component{constructor(e,t){super(),this.chartMenuContext=e,this.isOpen=t,this.chartSpecificGroup=ui.RefPlaceholder,this.hasContent=!1}wireBeans(e){this.chartTranslationService=e.chartTranslationService,this.chartService=e.chartService}postConstruct(){const e={title:this.getTitle(),enabled:!0,suppressEnabledCheckbox:!0,suppressOpenCloseIcons:!1,cssIdentifier:"charts-data",expanded:this.isOpen,items:[...this.createDirectionSelect(),this.createGroupTypeSelect()]};this.setTemplate('\n <div id="chartSpecificGroup">\n <ag-group-component data-ref="chartSpecificGroup"></ag-group-component>\n </div>',[gi.AgGroupComponentSelector],{chartSpecificGroup:e}),this.setDisplayed(this.hasContent)}refresh(){this.hasContent=!1,this.chartSpecificGroup.setTitle(this.getTitle()),this.updateDirectionSelect(),this.updateGroupTypeSelect(),this.setDisplayed(this.hasContent)}getTitle(){const e=this.chartMenuContext.chartController.getChartType();return this.chartTranslationService.translate(F(e))}createDirectionSelect(){if(!this.chartService.isEnterprise())return[];const{chartOptionsService:e,chartController:t}=this.chartMenuContext,i=e.getSeriesOptionsProxy((()=>D(t.getChartType()))),a=this.createManagedBean(new mi(i)),n=["horizontal","vertical"].map((e=>({value:e,text:this.chartTranslationService.translate(e)}))),r=a.getDefaultSelectParams("direction","direction",n),o=r.onValueChange;return r.onValueChange=e=>{o(e),t.raiseChartModelUpdateEvent()},this.directionSelect=this.createManagedBean(new ui.AgSelect(r)),this.updateDirectionSelect(),[this.directionSelect]}updateDirectionSelect(){const e=C(D(this.chartMenuContext.chartController.getChartType()),"canSwitchDirection");this.updateDisplayed(this.directionSelect,e)}createGroupTypeSelect(){const{chartController:e,chartMenuParamsFactory:t}=this.chartMenuContext;return this.groupTypeSelect=this.createManagedBean(new ui.AgSelect(t.getDefaultSelectParamsWithoutValueParams("seriesGroupType",ui.ChartMappings.SERIES_GROUP_TYPES.map((e=>({value:e,text:this.chartTranslationService.translate(`${e}SeriesGroupType`)}))),e.getSeriesGroupType(),(t=>e.setSeriesGroupType(t))))),this.updateGroupTypeSelect(),this.groupTypeSelect}updateGroupTypeSelect(){const e=["radialColumn","radialBar","nightingale"].includes(this.chartMenuContext.chartController.getChartType());this.updateDisplayed(this.groupTypeSelect,e)}updateDisplayed(e,t){e?.setDisplayed(t),e&&(this.hasContent=this.hasContent||t)}},vi=i(3423),yi=i(8299),bi=class extends vi.Component{constructor(e,t,i){super('<div id="seriesChartTypeGroup"></div>'),this.chartController=e,this.columns=t,this.isOpen=i,this.selectedColIds=[],this.chartTypeComps=new Map,this.secondaryAxisComps=new Map}wireBeans(e){this.chartTranslationService=e.chartTranslationService}postConstruct(){this.createSeriesChartTypeGroup(this.columns)}refresh(e){(0,vi._areEqual)(this.getValidColIds(e),this.selectedColIds)?this.refreshComps():this.recreate(e)}recreate(e){this.isOpen=this.seriesChartTypeGroupComp.isExpanded(),(0,vi._clearElement)(this.getGui()),this.destroyBean(this.seriesChartTypeGroupComp),this.columns=e,this.selectedColIds=[],this.clearComps(),this.postConstruct()}getValidColIds(e){const t=this.chartController.getSeriesChartTypes();return e.filter((e=>e.selected&&!!t.filter((t=>t.colId===e.colId))[0])).map((({colId:e})=>e))}createSeriesChartTypeGroup(e){this.seriesChartTypeGroupComp=this.createBean(new yi.AgGroupComponent({title:this.chartTranslationService.translate("seriesChartType"),enabled:!0,suppressEnabledCheckbox:!0,suppressOpenCloseIcons:!1,cssIdentifier:"charts-data",expanded:this.isOpen}));const t=this.chartController.getSeriesChartTypes();e.forEach((e=>{if(!e.selected)return;const i=t.filter((t=>t.colId===e.colId))[0];if(!i)return;this.selectedColIds.push(e.colId);const a=this.seriesChartTypeGroupComp.createManagedBean(new yi.AgGroupComponent({title:e.displayName,enabled:!0,suppressEnabledCheckbox:!0,suppressOpenCloseIcons:!0,cssIdentifier:"charts-format-sub-level"})),n=this.seriesChartTypeGroupComp.createManagedBean(new vi.AgCheckbox({label:this.chartTranslationService.translate("secondaryAxis"),labelWidth:"flex",disabled:(r=i.chartType,["groupedColumn","stackedColumn","stackedArea"].includes(r)),value:!!i.secondaryAxis,onValueChange:t=>this.chartController.updateSeriesChartType(e.colId,void 0,t)}));var r;a.addItem(n);const o=["line","area","stackedArea","groupedColumn","stackedColumn"].map((e=>({value:e,text:this.chartTranslationService.translate(e)}))),s=a.createManagedBean(new vi.AgSelect({options:o,value:i.chartType,onValueChange:t=>this.chartController.updateSeriesChartType(e.colId,t)}));a.addItem(s),this.seriesChartTypeGroupComp.addItem(a),this.chartTypeComps.set(e.colId,s),this.secondaryAxisComps.set(e.colId,n)})),this.getGui().appendChild(this.seriesChartTypeGroupComp.getGui())}refreshComps(){const e=this.chartController.getSeriesChartTypes();this.selectedColIds.forEach((t=>{const i=e.find((e=>e.colId===t));if(!i)return;const a=this.chartTypeComps.get(t),n=this.secondaryAxisComps.get(t);a?.setValue(i.chartType),n?.setValue(!!i.secondaryAxis),n?.setDisabled(this.isSecondaryAxisDisabled(i.chartType))}))}clearComps(){this.chartTypeComps.clear(),this.secondaryAxisComps.clear()}isSecondaryAxisDisabled(e){return["groupedColumn","stackedColumn","stackedArea"].includes(e)}destroy(){this.clearComps(),this.seriesChartTypeGroupComp=this.destroyBean(this.seriesChartTypeGroupComp),super.destroy()}},Ci=i(3423),wi=i(8299),Si=class extends di{constructor(e,t,i,a,n,r,o){super(e,a,n,'<div id="seriesGroup"></div>'),this.chartOptionsService=t,this.title=i,this.valueCols=r,this.isOpen=o}postConstruct(){if(this.groupComp=this.createBean(new wi.AgGroupComponent({title:this.title,enabled:!0,suppressEnabledCheckbox:!0,suppressOpenCloseIcons:!1,cssIdentifier:"charts-data",expanded:this.isOpen})),this.chartController.isActiveXYChart()){const e=this.groupComp.createManagedBean(new Ci.AgToggleButton({label:this.chartTranslationService.translate("paired"),labelAlignment:"left",labelWidth:"flex",inputWidth:"flex",value:this.chartOptionsService.getPairedMode(),onValueChange:e=>{this.chartOptionsService.setPairedMode(!!e),this.chartController.updateForGridChange({maintainColState:!0})}}));this.groupComp.addItem(e)}this.createGroup(this.valueCols,this.generateGetSeriesLabel(this.valueCols),"seriesAdd","seriesSelect"),this.getGui().appendChild(this.groupComp.getGui())}refresh(e){this.valuePillSelect?.setValueFormatter(this.generateGetSeriesLabel(e)),this.valuePillSelect?.setValues(e,e.filter((e=>e.selected))),this.refreshValueSelect(e)}generateGetSeriesLabel(e){if(!this.chartController.isActiveXYChart())return e=>e.displayName??"";const t=e.filter((e=>e.selected)),i="bubble"===this.chartController.getChartType(),a=this.chartOptionsService.getPairedMode(),n=new Map;return n.set(0,"X"),n.set(1,"Y"),n.set(2,"size"),e=>{const r=e.displayName??"";if(!e.selected)return r;const o=t.indexOf(e);if(-1===o)return r;let s;return s=a?n.get(o%(i?3:2)):0===o?"X":i&&o%2==0?"size":"Y",`${r} (${s})`}}destroy(){this.groupComp=this.destroyBean(this.groupComp),super.destroy()}},xi={groups:[{type:"categories",isOpen:!0},{type:"series",isOpen:!0},{type:"seriesChartType",isOpen:!0},{type:"chartSpecific",isOpen:!0}]},ki=class extends ti.Component{constructor(e){super('<div class="ag-chart-data-wrapper ag-scrollable-container"></div>'),this.chartMenuContext=e,this.isSwitchCategorySeriesToggled=!1,this.restoreSwitchCategorySeriesToggleFocus=!1,this.panels=[],this.chartController=e.chartController}wireBeans(e){this.chartTranslationService=e.chartTranslationService,this.chartService=e.chartService}postConstruct(){this.createSwitchCategorySeriesToggle(),this.isSwitchCategorySeriesToggled=this.chartController.isCategorySeriesSwitched(),this.updatePanels();const e=this.updatePanels.bind(this);this.addManagedListeners(this.chartController,{chartModelUpdate:e,chartApiUpdate:e})}destroy(){this.clearPanelComponents(),super.destroy()}updatePanels(){const e=this.chartType,t=this.isSwitchCategorySeriesToggled,{dimensionCols:i,valueCols:a}=this.chartController.getColStateForMenu();this.chartType=this.chartController.getChartType(),this.isSwitchCategorySeriesToggled=this.chartController.isCategorySeriesSwitched();const n=this.isSwitchCategorySeriesToggled!==t;this.canRefresh(e,this.chartType)&&!n?(this.categoriesDataPanel?.refresh(i),this.seriesDataPanel?.refresh(a),this.seriesChartTypePanel?.refresh(a),this.chartSpecificPanel?.refresh()):this.recreatePanels(i,a);const r=P(this.chartType)&&this.chartService.isEnterprise()&&!this.chartController.isGrouping();(0,ti._setDisplayed)(this.switchCategorySeriesToggle.getGui(),r),n&&this.switchCategorySeriesToggle?.setValue(this.chartController.isCategorySeriesSwitched()),this.restoreSwitchCategorySeriesToggleFocus&&(this.restoreSwitchCategorySeriesToggleFocus=!1,r&&this.switchCategorySeriesToggle.getFocusableElement().focus())}canRefresh(e,t){if(void 0===e)return!1;if(e===t)return!0;const i=e=>["columnLineCombo","areaColumnCombo","customCombo"].includes(e);return!(!i(e)||!i(t))}recreatePanels(e,t){this.clearPanelComponents();const{chartType:i}=this;if(!i)return;const a=this.chartController.isCategorySeriesSwitched();this.getDataPanelDef().groups?.forEach((({type:n,isOpen:r})=>{n===(a?"series":"categories")?(this.categoriesDataPanel=this.createBean(new hi(this.chartController,this.getCategoryGroupTitle(a),this.getCategoryGroupMultipleSelect(i,a),e,r)),this.panels.push(this.categoriesDataPanel)):n===(a?"categories":"series")?(this.seriesDataPanel=this.createBean(new Si(this.chartController,this.chartMenuContext.chartOptionsService,this.getSeriesGroupTitle(a),this.getSeriesGroupMultipleSelect(i,a),this.getSeriesGroupMaxSelection(i,a),t,r)),this.panels.push(this.seriesDataPanel)):"seriesChartType"===n?this.chartController.isComboChart()&&(this.seriesChartTypePanel=this.createBean(new bi(this.chartController,t,r)),this.panels.push(this.seriesChartTypePanel)):"chartSpecific"===n?(this.chartSpecificPanel=this.createBean(new fi(this.chartMenuContext,r)),this.panels.push(this.chartSpecificPanel)):(0,ti._warnOnce)(`Invalid charts data panel group name supplied: '${n}'`)})),(a?this.categoriesDataPanel:this.seriesDataPanel)?.addItem(this.switchCategorySeriesToggle.getGui()),this.addPanelComponents()}addPanelComponents(){if(!this.panels.length)return;const e=this.gos.getDocument().createDocumentFragment();for(const t of this.panels)t.addCssClass("ag-chart-data-section"),e.appendChild(t.getGui());this.getGui().appendChild(e)}clearPanelComponents(){const e=this.getGui();this.panels.forEach((t=>{e.removeChild(t.getGui()),this.destroyBean(t)})),this.panels=[]}getDataPanelDef(){return this.gos.get("chartToolPanelsDef")?.dataPanel??xi}getCategoryGroupTitle(e){return e?this.chartTranslationService.translate("seriesLabels"):this.chartTranslationService.translate(this.chartController.isActiveXYChart()?"labels":"categories")}getCategoryGroupMultipleSelect(e,t){return!t&&1!==E(e)}getSeriesGroupTitle(e){return e?this.chartTranslationService.translate("categoryValues"):this.chartTranslationService.translate(this.chartController.isActiveXYChart()?"xyValues":"series")}getSeriesGroupMultipleSelect(e,t){return 1!==this.getSeriesGroupMaxSelection(e,t)}getSeriesGroupMaxSelection(e,t){if(!t)return T(e)}createSwitchCategorySeriesToggle(){this.switchCategorySeriesToggle=this.createManagedBean(new ti.AgToggleButton({label:this.chartTranslationService.translate("switchCategorySeries"),labelAlignment:"left",labelWidth:"flex",inputWidth:"flex",value:this.chartController.isCategorySeriesSwitched(),onValueChange:e=>{this.restoreSwitchCategorySeriesToggleFocus=!0,this.chartController.switchCategorySeries(e)}}))}},Mi=i(3423),Ri=i(3423),Di=i(8299),Ai=i(3423),Ei=class extends Ai.AgAbstractLabel{constructor(e){super(e,'<div class="ag-angle-select">\n <div data-ref="eLabel"></div>\n <div class="ag-wrapper ag-angle-select-wrapper">\n <div class="ag-angle-select-field">\n <div data-ref="eParentCircle" class="ag-angle-select-parent-circle">\n <div data-ref="eChildCircle" class="ag-angle-select-child-circle"></div>\n </div>\n </div>\n <ag-input-number-field data-ref="eAngleValue"></ag-input-number-field>\n </div>\n </div>',[Ai.AgInputNumberFieldSelector]),this.eLabel=Ai.RefPlaceholder,this.eParentCircle=Ai.RefPlaceholder,this.eChildCircle=Ai.RefPlaceholder,this.eAngleValue=Ai.RefPlaceholder,this.radius=0,this.offsetX=0,this.offsetY=0}wireBeans(e){this.dragService=e.dragService}postConstruct(){super.postConstruct();const{value:e,onValueChange:t}=this.config;null!=e&&this.setValue(e,void 0,!0),null!=t&&this.onValueChange(t),this.dragListener={eElement:this.eParentCircle,dragStartPixels:0,onDragStart:()=>{this.parentCircleRect=this.eParentCircle.getBoundingClientRect()},onDragging:e=>this.calculateAngleDrag(e),onDragStop:()=>{}},this.dragService.addDragSource(this.dragListener),this.eAngleValue.setLabel("").setLabelWidth(5).setInputWidth(45).setMin(0).setMax(360).setValue(`${this.degrees}`).onValueChange((e=>{null!=e&&""!==e||(e="0"),e=this.eAngleValue.normalizeValue(e);let t=parseFloat(e);t>180&&(t-=360),this.setValue(t)})),this.updateNumberInput(),(0,Ai._exists)(this.getValue())&&this.eAngleValue.setValue(this.normalizeNegativeValue(this.getValue()).toString()),this.addManagedListeners(this,{fieldValueChanged:()=>{this.eAngleValue.getInputElement().contains(this.gos.getActiveDomElement())||this.updateNumberInput()}})}updateNumberInput(){const e=this.normalizeNegativeValue(this.getValue());this.eAngleValue.setValue(e.toString())}positionChildCircle(e){const t=this.parentCircleRect||{width:24,height:24},i=this.eChildCircle,a=t.width/2,n=t.height/2;i.style.left=`${a+8*Math.cos(e)}px`,i.style.top=`${n+8*Math.sin(e)}px`}calculatePolar(){const e=this.offsetX,t=this.offsetY,i=Math.atan2(t,e);this.degrees=this.toDegrees(i),this.radius=Math.sqrt(e*e+t*t),this.positionChildCircle(i)}calculateCartesian(){const e=this.toRadians(this.getValue()),t=this.getRadius();this.setOffsetX(Math.cos(e)*t).setOffsetY(Math.sin(e)*t)}setOffsetX(e){return this.offsetX!==e&&(this.offsetX=e,this.calculatePolar()),this}setOffsetY(e){return this.offsetY!==e&&(this.offsetY=e,this.calculatePolar()),this}calculateAngleDrag(e){const t=this.parentCircleRect,i=t.width/2,a=t.height/2,n=e.clientX-t.left-i,r=e.clientY-t.top-a,o=Math.atan2(r,n);this.setValue(o,!0)}toDegrees(e){return e/Math.PI*180}toRadians(e){return e/180*Math.PI}normalizeNegativeValue(e){return e<0?360+e:e}normalizeAngle180(e){return(e%=2*Math.PI)<-Math.PI?e+=2*Math.PI:e>=Math.PI&&(e-=2*Math.PI),e}getRadius(){return this.radius}setRadius(e){return this.radius===e||(this.radius=e,this.calculateCartesian()),this}onValueChange(e){return this.addManagedListeners(this,{fieldValueChanged:()=>{e(this.degrees)}}),this}getValue(e){return e?this.toRadians(this.degrees):this.degrees}setValue(e,t,i){let a;return a=t?e:this.normalizeAngle180(this.toRadians(e)),e=this.toDegrees(a),this.degrees!==e&&(this.degrees=Math.floor(e),this.calculateCartesian(),this.positionChildCircle(a),i||this.dispatchLocalEvent({type:"fieldValueChanged"})),this}setWidth(e){return(0,Ai._setFixedWidth)(this.getGui(),e),this}setDisabled(e){return super.setDisabled(e),this.eAngleValue.setDisabled(e),this}destroy(){this.dragService.removeDragSource(this.dragListener),super.destroy()}},Ti=i(3423),Pi=i(8299),Fi=class extends Ti.Component{constructor(e){super(),this.params=e,this.fontGroup=Ti.RefPlaceholder,this.activeComps=[],this.chartOptions=e.chartMenuParamsFactory.getChartOptions()}wireBeans(e){this.chartTranslationService=e.chartTranslationService}postConstruct(){const{cssIdentifier:e="charts-format-sub-level",name:t,enabled:i,onEnableChange:a,suppressEnabledCheckbox:n,chartMenuParamsFactory:r,keyMapper:o}=this.params,s={cssIdentifier:e,direction:"vertical",suppressOpenCloseIcons:!0,title:t,enabled:i,suppressEnabledCheckbox:!0,onEnableChange:e=>{a&&a(e)},useToggle:!n};this.setTemplate('<div class="ag-font-panel">\n <ag-group-component data-ref="fontGroup">\n <ag-select data-ref="familySelect"></ag-select>\n <ag-select data-ref="weightStyleSelect"></ag-select>\n <div class="ag-charts-font-size-color">\n <ag-select data-ref="sizeSelect"></ag-select>\n <ag-color-picker data-ref="colorPicker"></ag-color-picker>\n </div>\n </ag-group-component>\n </div>',[Pi.AgGroupComponentSelector,Ti.AgSelectSelector,X],{fontGroup:s,familySelect:this.getFamilySelectParams(),weightStyleSelect:this.getWeightStyleSelectParams(),sizeSelect:this.getSizeSelectParams(),colorPicker:r.getDefaultColorPickerParams(o("color"))}),this.addOrRemoveCssClass("ag-font-panel-no-header",!t)}addItem(e,t){t?this.fontGroup.prependItem(e):this.fontGroup.addItem(e),this.activeComps.push(e)}setEnabled(e){this.fontGroup.setEnabled(e)}getFamilySelectParams(){const e=["Arial, sans-serif","Aria Black, sans-serif","Book Antiqua, serif","Charcoal, sans-serif","Comic Sans MS, cursive","Courier, monospace","Courier New, monospace","Gadget, sans-serif","Geneva, sans-serif","Helvetica, sans-serif","Impact, sans-serif","Lucida Console, monospace","Lucida Grande, sans-serif","Lucida Sans Unicode, sans-serif","Monaco, monospace","Palatino Linotype, serif","Palatino, serif","Times New Roman, serif","Times, serif","Verdana, sans-serif"],t=this.getInitialFontValue("fontFamily");let i=e[0];if(t){const a=e.map((e=>e.toLowerCase())).indexOf(t.toLowerCase());if(a>=0)i=e[a];else{const a=(0,Ti._capitalise)(t);e.push(a),i=a}}const a=e.sort().map((e=>({value:e,text:e})));return this.params.chartMenuParamsFactory.getDefaultSelectParamsWithoutValueParams("font",a,`${i}`,(e=>this.setFont({fontFamily:e})))}getSizeSelectParams(){const e=[8,10,12,14,16,18,20,22,24,26,28,30,32,34,36],t=this.getInitialFontValue("fontSize");(0,Ti._includes)(e,t)||e.push(t);const i=e.sort(((e,t)=>e-t)).map((e=>({value:`${e}`,text:`${e}`})));return this.params.chartMenuParamsFactory.getDefaultSelectParamsWithoutValueParams("size",i,`${t}`,(e=>this.setFont({fontSize:parseInt(e,10)})))}getWeightStyleSelectParams(){const e=this.getInitialFontValue("fontWeight")??"normal",t=this.getInitialFontValue("fontStyle")??"normal",i=[{name:"normal",weight:"normal",style:"normal"},{name:"bold",weight:"bold",style:"normal"},{name:"italic",weight:"normal",style:"italic"},{name:"boldItalic",weight:"bold",style:"italic"}];let a=i.find((i=>i.weight===e&&i.style===t));a||(a={name:"predefined",weight:e,style:t},i.unshift(a));const n=i.map((e=>({value:e.name,text:this.chartTranslationService.translate(e.name)})));return this.params.chartMenuParamsFactory.getDefaultSelectParamsWithoutValueParams("weight",n,a.name,(e=>{const t=i.find((t=>t.name===e));this.setFont({fontWeight:t.weight,fontStyle:t.style})}))}destroyActiveComps(){this.activeComps.forEach((e=>{(0,Ti._removeFromParent)(e.getGui()),this.destroyBean(e)}))}destroy(){this.destroyActiveComps(),super.destroy()}setFont(e){const{keyMapper:t}=this.params;Object.entries(e).forEach((([e,i])=>{i&&this.chartOptions.setValue(t(e),i)}))}getInitialFontValue(e){const{keyMapper:t}=this.params;return this.chartOptions.getValue(t(e))}},Ii=i(3423),Li=i(8299),Ni=class extends Ii.Component{constructor(e){super(),this.chartMenuUtils=e}wireBeans(e){this.chartTranslationService=e.chartTranslationService}postConstruct(){const{chartMenuUtils:e}=this,t=e.addEnableParams("tick.enabled",{cssIdentifier:"charts-format-sub-level",direction:"vertical",suppressOpenCloseIcons:!0,title:this.chartTranslationService.translate("ticks"),suppressEnabledCheckbox:!0,useToggle:!0}),i=e.getDefaultColorPickerParams("tick.stroke"),a=e.getDefaultSliderParams("tick.width","width",10),n=e.getDefaultSliderParams("tick.size","length",30);this.setTemplate('<div>\n <ag-group-component data-ref="axisTicksGroup">\n <ag-color-picker data-ref="axisTicksColorPicker"></ag-color-picker>\n <ag-slider data-ref="axisTicksWidthSlider"></ag-slider>\n <ag-slider data-ref="axisTicksSizeSlider"></ag-slider>\n </ag-group-component>\n </div>',[Li.AgGroupComponentSelector,X,re],{axisTicksGroup:t,axisTicksColorPicker:i,axisTicksWidthSlider:a,axisTicksSizeSlider:n})}},Oi=i(3423),zi=i(8299),Gi=class extends Oi.Component{constructor(e){super(),this.chartMenuUtils=e,this.chartOptions=e.getChartOptions()}wireBeans(e){this.chartTranslationService=e.chartTranslationService}postConstruct(){const e=this.chartMenuUtils.addEnableParams("gridLine.enabled",{cssIdentifier:"charts-format-sub-level",direction:"vertical",suppressOpenCloseIcons:!0,title:this.chartTranslationService.translate("gridLines"),suppressEnabledCheckbox:!0,useToggle:!0}),t=this.getGridLineColorPickerParams("color"),i=this.getGridLineWidthSliderParams("thickness"),a=this.getGridLineDashSliderParams("lineDash");this.setTemplate('<div>\n <ag-group-component data-ref="gridLineGroup">\n <ag-color-picker data-ref="gridLineColorPicker"></ag-color-picker>\n <ag-slider data-ref="gridLineWidthSlider"></ag-slider>\n <ag-slider data-ref="gridLineLineDashSlider"></ag-slider>\n </ag-group-component>\n </div>',[zi.AgGroupComponentSelector,X,re],{gridLineGroup:e,gridLineColorPicker:t,gridLineWidthSlider:i,gridLineLineDashSlider:a})}getGridLineColorPickerParams(e){return this.chartMenuUtils.getDefaultColorPickerParams("gridLine.style",e,{formatInputValue:e=>e?.[0]?.stroke,parseInputValue:e=>{const t=this.chartOptions.getValue("gridLine.style")??[];return 0===t.length?[{stroke:e,lineDash:[]}]:[{...t[0],stroke:e}]}})}getGridLineWidthSliderParams(e){return this.chartMenuUtils.getDefaultSliderParams("gridLine.width",e,10)}getGridLineDashSliderParams(e){const t=this.chartOptions.getValue("gridLine.style"),i=t?.[0]?.lineDash?.[0],a=this.chartMenuUtils.getDefaultSliderParamsWithoutValueParams(i??0,e,30);return a.onValueChange=e=>{const t=this.chartOptions.getValue("gridLine.style.0.stroke");this.chartOptions.setValue("gridLine.style",[{lineDash:[e],stroke:t}])},a}},Bi=class extends Ri.Component{constructor(e,t){super(),this.axisType=e,this.options=t,this.axisGroup=Ri.RefPlaceholder,this.axisTypeSelect=Ri.RefPlaceholder,this.axisPositionSelect=Ri.RefPlaceholder,this.axisTimeFormatSelect=Ri.RefPlaceholder,this.activePanels=[],this.axisLabelUpdateFuncs=[];const{chartOptionsService:i,seriesType:a}=t;this.chartOptionsSeriesProxy=i.getSeriesOptionsProxy((()=>a))}wireBeans(e){this.chartTranslationService=e.chartTranslationService}postConstruct(){const{isExpandedOnInit:e,chartOptionsService:t,chartController:i,registerGroupComponent:a}=this.options,n=this.axisType,r={cssIdentifier:"charts-format-top-level",direction:"vertical",title:this.translate(n),expanded:e,suppressEnabledCheckbox:!0},o=t.getCartesianAxisOptionsProxy(this.axisType),s=this.createManagedBean(new mi(o)),l=this.createManagedBean(new mi(t.getCartesianAxisThemeOverridesProxy(this.axisType))),c=this.getAxisTypeSelectParams(s,t.getCartesianAxisAppliedThemeOverridesProxy(this.axisType)),d=this.getAxisPositionSelectParams(s),h=this.getAxisTimeFormatSelectParams(s),u=this.getAxisColorInputParams(l),g=this.getAxisLineWidthSliderParams(l);this.setTemplate('<div>\n <ag-group-component data-ref="axisGroup">\n <ag-select data-ref="axisTypeSelect"></ag-select>\n <ag-select data-ref="axisTimeFormatSelect"></ag-select>\n <ag-select data-ref="axisPositionSelect"></ag-select>\n <ag-color-picker data-ref="axisColorInput"></ag-color-picker>\n <ag-slider data-ref="axisLineWidthSlider"></ag-slider>\n </ag-group-component>\n </div>',[Di.AgGroupComponentSelector,Ri.AgSelectSelector,X,re],{axisGroup:r,axisTypeSelect:c??void 0,axisPositionSelect:d??void 0,axisTimeFormatSelect:h??void 0,axisColorInput:u,axisLineWidthSlider:g}),a(this.axisGroup),this.axisTypeSelect.setDisplayed(!!c.options?.length),d||this.removeTemplateComponent(this.axisPositionSelect);const p=()=>{const e="time"===o.getValue("type");(0,Ri._setDisplayed)(this.axisTimeFormatSelect.getGui(),e)};h?(p(),this.addManagedEventListeners({chartOptionsChanged:()=>{p()}})):this.removeTemplateComponent(this.axisTimeFormatSelect),this.initGridLines(l),this.initAxisTicks(l),this.initAxisLabels(l);this.addManagedListeners(i,{chartUpdated:()=>this.axisLabelUpdateFuncs.forEach((e=>e())),chartModelUpdate:()=>setTimeout((()=>{this.refreshAxisTypeSelect(s),p()}))})}getAxisTypeSelectParams(e,t){const i=e.getChartOptions(),a=this.getAxisTypeSelectOptions(),n=e.getDefaultSelectParams("type","axisType",a);return n.onValueChange=e=>{const a=i.getValue("type");if(e===a)return;const n=t.getValue("*"),r="time"===e,o="time"===a!==r?r?"%d %B %Y":void 0:null;if(this.options.chartOptionsService.setCartesianCategoryAxisType(this.axisType,e),null!==o){const e=i.getValue("label")??{};i.setValue("label",{...e,format:o})}t.setValue("*",n)},n}refreshAxisTypeSelect(e){const t=this.getAxisTypeSelectOptions(),i=!!t.length;this.axisTypeSelect.setDisplayed(i),i&&this.axisTypeSelect.clearOptions().addOptions(t).setValue(e.getChartOptions().getValue("type"))}getAxisTypeSelectOptions(){const{chartController:e}=this.options,t=e.getChartType();return["heatmap","histogram","boxPlot","rangeBar","scatter","bubble"].includes(t)||e.isGrouping()||!this.isCategoryAxis()||e.isCategorySeriesSwitched()||!(()=>{const t=e.getChartData()[0];return!!t&&e.getSelectedDimensions().every((e=>!isNaN(parseFloat(t[e.colId]))))})()?[]:["category","number","time"].map((e=>({value:e,text:this.translate(e)})))}isCategoryAxis(){const e="horizontal"===this.chartOptionsSeriesProxy.getValue("direction");return e&&"yAxis"===this.axisType||!e&&"xAxis"===this.axisType}getAxisPositionSelectParams(e){const t=((e,t)=>{if("heatmap"===e)return null;switch(t){case"xAxis":return[{value:"top",text:this.translate("top")},{value:"bottom",text:this.translate("bottom")}];case"yAxis":return[{value:"left",text:this.translate("left")},{value:"right",text:this.translate("right")}]}})(this.options.chartController.getChartType(),this.axisType);return t?e.getDefaultSelectParams("position","position",t):null}getAxisTimeFormatSelectParams(e){if(!this.isCategoryAxis())return null;const t=[{value:"%d/%m/%Y",text:this.translate("timeFormatSlashesDDMMYYYY")},{value:"%m/%d/%Y",text:this.translate("timeFormatSlashesMMDDYYYY")},{value:"%d/%m/%y",text:this.translate("timeFormatSlashesDDMMYY")},{value:"%m/%d/%y",text:this.translate("timeFormatSlashesMMDDYY")},{value:"%d.%e.%y",text:this.translate("timeFormatDotsDDMYY")},{value:"%e.%d.%y",text:this.translate("timeFormatDotsMDDYY")},{value:"%Y-%m-%d",text:this.translate("timeFormatDashesYYYYMMDD")},{value:"%d %B %Y",text:this.translate("timeFormatSpacesDDMMMMYYYY")},{value:"%H:%M:%S",text:this.translate("timeFormatHHMMSS")},{value:"%I:%M:%S %p",text:this.translate("timeFormatHHMMSSAmPm")}];return e.getDefaultSelectParams("label.format","timeFormat",t)}getAxisColorInputParams(e){return e.getDefaultColorPickerParams("line.stroke")}getAxisLineWidthSliderParams(e){const t=e.getChartOptions(),i=e.getDefaultSliderParamsWithoutValueParams((t.getValue("line.enabled")?t.getValue("line.width"):null)??0,"thickness",10);return i.onValueChange=e=>{var i;i=0===e?null:e,t.setValues([{expression:"line.enabled",value:null!=i},{expression:"line.width",value:i??0}])},i}initGridLines(e){if("heatmap"===this.options.chartController.getChartType())return;const t=this.createBean(new Gi(e));this.axisGroup.addItem(t),this.activePanels.push(t)}initAxisTicks(e){if(!this.hasConfigurableAxisTicks())return;const t=this.createBean(new Ni(e));this.axisGroup.addItem(t),this.activePanels.push(t)}hasConfigurableAxisTicks(){switch(this.options.chartController.getChartType()){case"radarLine":case"radarArea":case"rangeBar":case"boxPlot":case"waterfall":return!1;default:return!0}}initAxisLabels(e){const t={name:this.translate("labels"),enabled:!0,suppressEnabledCheckbox:!0,chartMenuParamsFactory:e,keyMapper:e=>`label.${e}`},i=this.createBean(new Fi(t));this.axisGroup.addItem(i),this.activePanels.push(i),this.addAdditionalLabelComps(i,e)}addAdditionalLabelComps(e,t){this.addLabelPadding(e,t);const i=this.createRotationWidget("labelRotation",t),a=this.initLabelRotation(i,t);e.addItem(a),e.addItem(i)}initLabelRotation(e,t){const i=t.getChartOptions(),a=()=>i.getValue("label.rotation"),n="number"!=typeof a()&&i.getValue("label.autoRotate"),r=this.createBean(new Ri.AgCheckbox({label:this.translate("autoRotate"),value:n,onValueChange:t=>{t&&(this.prevRotation=a()),i.setValues([{expression:"label.autoRotate",value:t},{expression:"label.rotation",value:t?void 0:this.prevRotation}]),e.setDisplayed(!t)}}));return e.setDisplayed(!n),r}createRotationWidget(e,t){const i=t.getChartOptions(),a=()=>i.getValue("label.rotation"),n=String.fromCharCode(176),r=`${this.chartTranslationService.translate(e)} ${n}`,o=new Ei({label:r,labelWidth:"flex",value:a()??0,onValueChange:e=>i.setValue("label.rotation",e)});return this.axisLabelUpdateFuncs.push((()=>{o.setValue(a()??0)})),this.createBean(o)}addLabelPadding(e,t){const i=this.createBean(new ne(t.getDefaultSliderParams("label.padding","padding",30)));e.addItem(i)}translate(e){return this.chartTranslationService.translate(e)}removeTemplateComponent(e){(0,Ri._removeFromParent)(e.getGui()),this.destroyBean(e)}destroyActivePanels(){this.activePanels.forEach((e=>{(0,Ri._removeFromParent)(e.getGui()),this.destroyBean(e)}))}destroy(){this.destroyActivePanels(),super.destroy()}},Vi=i(3423),Hi=i(8299),Wi=class extends Vi.Component{constructor(e){super(),this.options=e,this.axisGroup=Vi.RefPlaceholder}wireBeans(e){this.chartTranslationService=e.chartTranslationService}postConstruct(){const{isExpandedOnInit:e,chartAxisMenuParamsFactory:t,registerGroupComponent:i}=this.options,a={cssIdentifier:"charts-format-top-level",direction:"vertical",title:this.translate("polarAxis"),expanded:e,suppressEnabledCheckbox:!0},n=t.getDefaultColorPickerParams("line.stroke"),r=t.getDefaultSliderParams("line.width","thickness",10);this.setTemplate('<div>\n <ag-group-component data-ref="axisGroup">\n <ag-color-picker data-ref="axisColorInput"></ag-color-picker>\n <ag-slider data-ref="axisLineWidthSlider"></ag-slider>\n </ag-group-component>\n </div>',[Hi.AgGroupComponentSelector,X,re],{axisGroup:a,axisColorInput:n,axisLineWidthSlider:r}),i(this.axisGroup),this.initAxis(),this.initAxisLabels(),this.initRadiusAxis()}initAxis(){const e=this.options.chartController.getChartType();if(["radarLine","radarArea"].includes(e)){const e=[{value:"circle",text:this.translate("circle")},{value:"polygon",text:this.translate("polygon")}];this.axisGroup.addItem(this.createSelect({labelKey:"shape",options:e,property:"shape"}))}"pie"!==e&&this.axisGroup.addItem(this.createSlider({labelKey:"innerRadius",defaultMaxValue:1,property:"innerRadiusRatio"}))}initAxisLabels(){const e={name:this.translate("labels"),enabled:!0,suppressEnabledCheckbox:!0,chartMenuParamsFactory:this.options.chartAxisMenuParamsFactory,keyMapper:e=>`label.${e}`},t=this.createManagedBean(new Fi(e)),i=this.createOrientationWidget();t.addItem(i),this.axisGroup.addItem(t)}createOrientationWidget(){const e=[{value:"fixed",text:this.translate("fixed")},{value:"parallel",text:this.translate("parallel")},{value:"perpendicular",text:this.translate("perpendicular")}];return this.createSelect({labelKey:"orientation",options:e,property:"label.orientation"})}initRadiusAxis(){const e=D(this.options.chartController.getChartType());if(!C(e,"isRadial"))return;const t=[this.createSlider({labelKey:"groupPadding",defaultMaxValue:1,property:"paddingInner"}),this.createSlider({labelKey:"seriesPadding",defaultMaxValue:1,property:"groupPaddingInner"})],i=this.createManagedBean(new Hi.AgGroupComponent({cssIdentifier:"charts-format-sub-level",direction:"vertical",suppressOpenCloseIcons:!0,enabled:!0,suppressEnabledCheckbox:!0,title:this.translate("padding"),items:t})).hideEnabledCheckbox(!0).hideOpenCloseIcons(!0);this.axisGroup.addItem(i)}createSlider(e){const{labelKey:t,defaultMaxValue:i,step:a=.05,property:n}=e,r=this.options.chartAxisMenuParamsFactory.getDefaultSliderParams(n,t,i);return r.step=a,this.createManagedBean(new ne(r))}createSelect(e){const{labelKey:t,options:i,property:a}=e;return this.createManagedBean(new Vi.AgSelect(this.options.chartAxisMenuParamsFactory.getDefaultSelectParams(a,t,i)))}translate(e){return this.chartTranslationService.translate(e)}},_i=i(3423),qi=i(8299),Ui=i(3423),Ki=i(8299),ji=class extends Ui.Component{constructor(e){super(),this.chartMenuUtils=e}wireBeans(e){this.chartTranslationService=e.chartTranslationService}postConstruct(){const e=this.chartMenuUtils.addEnableParams("background.visible",{cssIdentifier:"charts-format-sub-level",direction:"vertical",suppressOpenCloseIcons:!0,title:this.chartTranslationService.translate("background"),suppressEnabledCheckbox:!0,useToggle:!0}),t=this.chartMenuUtils.getDefaultColorPickerParams("background.fill");this.setTemplate('<div>\n <ag-group-component data-ref="chartBackgroundGroup">\n <ag-color-picker data-ref="colorPicker"></ag-color-picker>\n </ag-group-component>\n <div>',[Ki.AgGroupComponentSelector,X],{chartBackgroundGroup:e,colorPicker:t})}},Yi=i(3423),$i=i(8299),Zi=class extends Yi.Component{constructor(e,t){super(),this.chartMenuUtils=e,this.chartController=t,this.paddingTopSlider=Yi.RefPlaceholder}wireBeans(e){this.chartTranslationService=e.chartTranslationService}postConstruct(){const e={cssIdentifier:"charts-format-sub-level",direction:"vertical",suppressOpenCloseIcons:!0,title:this.chartTranslationService.translate("padding"),suppressEnabledCheckbox:!0},t=e=>this.chartMenuUtils.getDefaultSliderParams("padding."+e,e,200);this.setTemplate('<div>\n <ag-group-component data-ref="chartPaddingGroup">\n <ag-slider data-ref="paddingTopSlider"></ag-slider>\n <ag-slider data-ref="paddingRightSlider"></ag-slider>\n <ag-slider data-ref="paddingBottomSlider"></ag-slider>\n <ag-slider data-ref="paddingLeftSlider"></ag-slider>\n </ag-group-component>\n <div>',[$i.AgGroupComponentSelector,re],{chartPaddingGroup:e,paddingTopSlider:t("top"),paddingRightSlider:t("right"),paddingBottomSlider:t("bottom"),paddingLeftSlider:t("left")}),this.addManagedEventListeners({chartOptionsChanged:e=>{this.updateTopPadding(e.chartOptions)}})}updateTopPadding(e){const t=[...this.chartController.getChartSeriesTypes(),"common"].map((t=>e[t]?.padding?.top)).find((e=>null!=e));null!=t&&this.paddingTopSlider.setValue(`${t}`)}},Xi=class extends _i.Component{constructor(e){super(),this.options=e,this.chartGroup=_i.RefPlaceholder}wireBeans(e){this.chartTranslationService=e.chartTranslationService}postConstruct(){const{chartController:e,chartMenuParamsFactory:t,isExpandedOnInit:i,registerGroupComponent:a}=this.options,n={cssIdentifier:"charts-format-top-level",direction:"vertical",title:this.chartTranslationService.translate("chartStyle"),expanded:i,suppressEnabledCheckbox:!0,items:[this.createManagedBean(new Zi(t,e)),this.createManagedBean(new ji(t))]};this.setTemplate('<div>\n <ag-group-component data-ref="chartGroup"></ag-group-component>\n </div>',[qi.AgGroupComponentSelector],{chartGroup:n}),a(this.chartGroup)}},Qi=i(3423),Ji=class extends Qi.BeanStub{constructor(e){super(),this.groupContainer=e,this.id=0,this.groupComponents=new Map}addGroupComponent(e){const t=this.id++;this.groupComponents.set(t,e),e.isExpanded()&&(this.expandedGroupComponent=t),e.onExpandedChange((i=>{if(i){const i=this.expandedGroupComponent;if(this.expandedGroupComponent=t,null!=i){const t=e.getGui(),a=t.offsetTop-this.groupContainer.parentElement.scrollTop;this.groupComponents.get(i)?.toggleGroupExpand(!1,!0);let n=t.offsetTop-a;n<0&&(n=0),n!==this.groupContainer.parentElement.scrollTop&&(this.groupContainer.parentElement.scrollTop=n)}}else this.expandedGroupComponent=void 0}))}destroy(){this.groupComponents.clear(),super.destroy()}},ea=i(3423),ta=i(8299),ia=class extends ea.Component{constructor(e){super(),this.options=e,this.legendGroup=ea.RefPlaceholder,this.isGradient=["treemap","sunburst","heatmap"].includes(e.seriesType),this.key=this.isGradient?"gradientLegend":"legend"}wireBeans(e){this.chartTranslationService=e.chartTranslationService}postConstruct(){const{chartMenuParamsFactory:e,isExpandedOnInit:t,registerGroupComponent:i}=this.options,a=this.createManagedBean(new ea.AgSelect(e.getDefaultSelectParams(`${this.key}.position`,"position",["top","right","bottom","left"].map((e=>({value:e,text:this.chartTranslationService.translate(e)})))))),n=this.createManagedBean(new ta.AgGroupComponent(e.addEnableParams(`${this.key}.enabled`,{cssIdentifier:"charts-format-sub-level",direction:"vertical",suppressOpenCloseIcons:!0,title:this.chartTranslationService.translate("legendEnabled"),suppressEnabledCheckbox:!0,useToggle:!0,items:[this.createLabelPanel(e),a,...this.getItems(e)]}))),r={cssIdentifier:"charts-format-top-level",direction:"vertical",title:this.chartTranslationService.translate("legend"),suppressEnabledCheckbox:!0,expanded:t,items:[n]};this.setTemplate('<div>\n <ag-group-component data-ref="legendGroup">\n </ag-group-component>\n </div>',[ta.AgGroupComponentSelector],{legendGroup:r}),i(this.legendGroup)}getItems(e){const t=(t,i,a)=>this.createManagedBean(new ne(e.getDefaultSliderParams(`${this.key}.${t}`,i,a)));return this.isGradient?[this.createManagedBean(new ea.AgCheckbox(e.addValueParams("gradientLegend.reverseOrder",{label:this.chartTranslationService.translate("reverseDirection"),labelWidth:"flex"}))),t("gradient.thickness","thickness",40),t("gradient.preferredLength","preferredLength",300),t("spacing","spacing",200)]:[t("spacing","spacing",200),t("item.marker.size","markerSize",40),t("item.marker.strokeWidth","markerStroke",10),t("item.marker.padding","itemSpacing",20),t("item.paddingX","layoutHorizontalSpacing",50),t("item.paddingY","layoutVerticalSpacing",50)]}createLabelPanel(e){const t=this.isGradient?"gradientLegend.scale.label":"legend.item.label",i={enabled:!0,suppressEnabledCheckbox:!0,chartMenuParamsFactory:e,keyMapper:e=>`${t}.${e}`,cssIdentifier:"charts-format-sub-level-no-header"};return this.createManagedBean(new Fi(i))}},aa=i(3423),na=i(8299),ra=i(3423),oa=i(8299),sa=class extends ra.Component{constructor(e){super(),this.chartMenuUtils=e}wireBeans(e){this.chartTranslationService=e.chartTranslationService}postConstruct(){const e={cssIdentifier:"charts-format-sub-level",direction:"vertical",title:this.chartTranslationService.translate("callout"),enabled:!0,suppressOpenCloseIcons:!0,suppressEnabledCheckbox:!0};this.setTemplate('<div>\n <ag-group-component data-ref="calloutGroup">\n <ag-slider data-ref="calloutLengthSlider"></ag-slider>\n <ag-slider data-ref="calloutStrokeWidthSlider"></ag-slider>\n <ag-slider data-ref="labelOffsetSlider"></ag-slider>\n </ag-group-component>\n </div>',[oa.AgGroupComponentSelector,re],{calloutGroup:e,calloutLengthSlider:this.chartMenuUtils.getDefaultSliderParams("calloutLine.length","length",40),calloutStrokeWidthSlider:this.chartMenuUtils.getDefaultSliderParams("calloutLine.strokeWidth","strokeWidth",10),labelOffsetSlider:this.chartMenuUtils.getDefaultSliderParams("calloutLabel.offset","offset",30)})}},la=i(3423),ca=i(8299),da=class extends la.Component{constructor(e){super(),this.chartMenuUtils=e}wireBeans(e){this.chartTranslationService=e.chartTranslationService}postConstruct(){const e={cssIdentifier:"charts-format-sub-level",direction:"vertical",title:this.chartTranslationService.translate("cap"),enabled:!0,suppressOpenCloseIcons:!0,suppressEnabledCheckbox:!0},t=this.chartMenuUtils.getDefaultSliderParams("cap.lengthRatio","capLengthRatio",1);t.step=.05,this.setTemplate('<div>\n <ag-group-component data-ref="capsGroup">\n <ag-slider data-ref="capLengthRatioSlider"></ag-slider>\n </ag-group-component>\n </div>',[ca.AgGroupComponentSelector,re],{capsGroup:e,capLengthRatioSlider:t})}},ha=i(3423),ua=i(8299),ga=class extends ha.Component{constructor(e){super(),this.chartMenuUtils=e}wireBeans(e){this.chartTranslationService=e.chartTranslationService}postConstruct(){const e={cssIdentifier:"charts-format-sub-level",direction:"vertical",title:this.chartTranslationService.translate("connectorLine"),enabled:!0,suppressOpenCloseIcons:!0,suppressEnabledCheckbox:!0};this.setTemplate('<div>\n <ag-group-component data-ref="lineGroup">\n <ag-color-picker data-ref="lineColorPicker"></ag-color-picker>\n <ag-slider data-ref="lineStrokeWidthSlider"></ag-slider>\n <ag-slider data-ref="lineOpacitySlider"></ag-slider>\n <ag-slider data-ref="lineDashSlider"></ag-slider> \n </ag-group-component>\n </div>',[ua.AgGroupComponentSelector,X,re],{lineGroup:e,lineColorPicker:this.chartMenuUtils.getDefaultColorPickerParams("line.stroke"),lineStrokeWidthSlider:this.getSliderParams("strokeWidth",10,"line.strokeWidth"),lineDashSlider:this.getSliderParams("lineDash",30,"line.lineDash",1,!0),lineOpacitySlider:this.getSliderParams("strokeOpacity",1,"line.strokeOpacity",.05)})}getSliderParams(e,t,i,a=1,n=!1){const r=this.chartMenuUtils.getDefaultSliderParams(i,e,t,n);return r.step=a,r}},pa=i(3423),ma=i(8299);function fa(e){return["square","circle","cross","diamond","plus","triangle","heart"].map((t=>({value:t,text:e.translate(t)})))}var va=class extends pa.Component{constructor(e){super(),this.chartMenuUtils=e}wireBeans(e){this.chartTranslationService=e.chartTranslationService}postConstruct(){const e=this.chartMenuUtils.addEnableParams("marker.enabled",{cssIdentifier:"charts-format-sub-level",direction:"vertical",title:this.chartTranslationService.translate("markers"),suppressEnabledCheckbox:!0,useToggle:!0,suppressOpenCloseIcons:!0});this.setTemplate('<div>\n <ag-group-component data-ref="seriesMarkersGroup">\n <ag-select data-ref="seriesMarkerShapeSelect"></ag-select>\n <ag-slider data-ref="seriesMarkerSizeSlider"></ag-slider>\n <ag-slider data-ref="seriesMarkerStrokeWidthSlider"></ag-slider>\n </ag-group-component>\n </div>',[ma.AgGroupComponentSelector,pa.AgSelectSelector,re],{seriesMarkersGroup:e,seriesMarkerShapeSelect:this.chartMenuUtils.getDefaultSelectParams("marker.shape","shape",fa(this.chartTranslationService)),seriesMarkerSizeSlider:this.chartMenuUtils.getDefaultSliderParams("marker.size","size",60),seriesMarkerStrokeWidthSlider:this.chartMenuUtils.getDefaultSliderParams("marker.strokeWidth","strokeWidth",10)})}},ya=i(3423),ba=i(8299),Ca=class extends ya.Component{constructor(e){super(),this.chartMenuUtils=e,this.seriesItemsGroup=ya.RefPlaceholder,this.activePanels=[]}wireBeans(e){this.chartTranslationService=e.chartTranslationService}postConstruct(){const e={cssIdentifier:"charts-format-sub-level",direction:"vertical",title:this.chartTranslationService.translate("seriesItems"),enabled:!0,suppressOpenCloseIcons:!0,suppressEnabledCheckbox:!0};this.setTemplate('<div>\n <ag-group-component data-ref="seriesItemsGroup">\n <ag-select data-ref="seriesItemSelect"></ag-select>\n </ag-group-component>\n </div>',[ba.AgGroupComponentSelector,ya.AgSelectSelector],{seriesItemsGroup:e,seriesItemSelect:this.getSeriesItemsParams()}),this.initSeriesControls()}getSeriesItemsParams(){const e=[{value:"positive",text:this.chartTranslationService.translate("seriesItemPositive")},{value:"negative",text:this.chartTranslationService.translate("seriesItemNegative")}];return this.chartMenuUtils.getDefaultSelectParamsWithoutValueParams("seriesItemType",e,"positive",(e=>{this.destroyActivePanels(),this.initSeriesControls(e)}))}initSeriesControls(e="positive"){this.initSlider("strokeWidth",10,`item.${e}.strokeWidth`),this.initSlider("lineDash",30,`item.${e}.lineDash`,1,!0),this.initSlider("strokeOpacity",1,`item.${e}.strokeOpacity`,.05,!1),this.initSlider("fillOpacity",1,`item.${e}.fillOpacity`,.05,!1),this.initItemLabels(e)}initSlider(e,t,i,a=1,n=!1){const r=this.chartMenuUtils.getDefaultSliderParams(i,e,t,n);r.step=a;const o=this.seriesItemsGroup.createManagedBean(new ne(r));this.seriesItemsGroup.addItem(o),this.activePanels.push(o)}initItemLabels(e){const t=this.chartMenuUtils.getDefaultFontPanelParams(`item.${e}.label`,"seriesItemLabels"),i=this.createBean(new Fi(t));this.seriesItemsGroup.addItem(i),this.activePanels.push(i)}destroyActivePanels(){this.activePanels.forEach((e=>{(0,ya._removeFromParent)(e.getGui()),this.destroyBean(e)}))}destroy(){this.destroyActivePanels(),super.destroy()}},wa=i(3423),Sa=i(8299),xa=class extends wa.Component{constructor(e,t="shadow"){super(),this.chartMenuUtils=e,this.propertyKey=t}wireBeans(e){this.chartTranslationService=e.chartTranslationService}postConstruct(){const e=this.propertyKey,t=this.chartMenuUtils.addEnableParams(`${e}.enabled`,{cssIdentifier:"charts-format-sub-level",direction:"vertical",suppressOpenCloseIcons:!0,title:this.chartTranslationService.translate("shadow"),suppressEnabledCheckbox:!0,useToggle:!0}),i=this.chartMenuUtils.getDefaultColorPickerParams(`${e}.color`);this.setTemplate('<div>\n <ag-group-component data-ref="shadowGroup">\n <ag-color-picker data-ref="shadowColorPicker"></ag-color-picker>\n <ag-slider data-ref="shadowBlurSlider"></ag-slider>\n <ag-slider data-ref="shadowXOffsetSlider"></ag-slider>\n <ag-slider data-ref="shadowYOffsetSlider"></ag-slider>\n </ag-group-component>\n </div>',[Sa.AgGroupComponentSelector,X,re],{shadowGroup:t,shadowColorPicker:i,shadowBlurSlider:this.getSliderParams("blur",0,20),shadowXOffsetSlider:this.getSliderParams("xOffset",-10,10),shadowYOffsetSlider:this.getSliderParams("yOffset",-10,10)})}getSliderParams(e,t,i){const a=`${this.propertyKey}.${e}`,n=this.chartMenuUtils.getDefaultSliderParams(a,e,i);return n.minValue=t,n}},ka=i(3423),Ma=i(8299),Ra=class extends ka.Component{constructor(e){super(),this.chartMenuUtils=e}wireBeans(e){this.chartTranslationService=e.chartTranslationService}postConstruct(){const e={cssIdentifier:"charts-format-sub-level",direction:"vertical",enabled:!0,suppressOpenCloseIcons:!0,suppressEnabledCheckbox:!0};this.setTemplate('<div>\n <ag-group-component data-ref="groupSpacing">\n <ag-slider data-ref="groupPaddingSlider"></ag-slider>\n <ag-slider data-ref="groupSpacingSlider"></ag-slider>\n </ag-group-component>\n <ag-group-component data-ref="tileSpacing">\n <ag-slider data-ref="tilePaddingSlider"></ag-slider>\n <ag-slider data-ref="tileSpacingSlider"></ag-slider>\n </ag-group-component>\n </div>',[Ma.AgGroupComponentSelector,re],{groupSpacing:{...e,title:this.chartTranslationService.translate("group")},tileSpacing:{...e,title:this.chartTranslationService.translate("tile")},groupPaddingSlider:this.getSliderParams("padding","group.padding"),groupSpacingSlider:this.getSliderParams("spacing","group.gap"),tilePaddingSlider:this.getSliderParams("padding","tile.padding"),tileSpacingSlider:this.getSliderParams("spacing","tile.gap")})}getSliderParams(e,t){return this.chartMenuUtils.getDefaultSliderParams(t,e,10)}},Da=i(3423),Aa=i(8299),Ea=class extends Da.Component{constructor(e){super(),this.chartMenuUtils=e}wireBeans(e){this.chartTranslationService=e.chartTranslationService}postConstruct(){const e={cssIdentifier:"charts-format-sub-level",direction:"vertical",title:this.chartTranslationService.translate("whisker"),enabled:!0,suppressOpenCloseIcons:!0,suppressEnabledCheckbox:!0};this.setTemplate('<div>\n <ag-group-component data-ref="whiskersGroup">\n <ag-color-picker data-ref="whiskerColorPicker"></ag-color-picker>\n <ag-slider data-ref="whiskerThicknessSlider"></ag-slider>\n <ag-slider data-ref="whiskerOpacitySlider"></ag-slider>\n <ag-slider data-ref="whiskerLineDashSlider"></ag-slider>\n <ag-slider data-ref="whiskerLineDashOffsetSlider"></ag-slider>\n </ag-group-component>\n </div>',[Aa.AgGroupComponentSelector,X,re],{whiskersGroup:e,whiskerColorPicker:this.chartMenuUtils.getDefaultColorPickerParams("whisker.stroke"),whiskerThicknessSlider:this.chartMenuUtils.getDefaultSliderParams("whisker.strokeWidth","strokeWidth",10),whiskerOpacitySlider:this.chartMenuUtils.getDefaultSliderParams("whisker.strokeOpacity","strokeOpacity",1),whiskerLineDashSlider:this.chartMenuUtils.getDefaultSliderParams("whisker.lineDash","lineDash",30,!0),whiskerLineDashOffsetSlider:this.chartMenuUtils.getDefaultSliderParams("whisker.lineDashOffset","lineDashOffset",30)})}},Ta="tooltips",Pa="strokeWidth",Fa="lineDash",Ia="lineOpacity",La="fillOpacity",Na="labels",Oa="shadow",za=class extends aa.Component{constructor(e){super(),this.options=e,this.seriesGroup=aa.RefPlaceholder,this.activePanels=[],this.widgetFuncs={lineWidth:()=>this.initStrokeWidth("lineWidth"),[Pa]:()=>this.initStrokeWidth("strokeWidth"),lineColor:()=>this.initLineColor(),[Fa]:()=>this.initLineDash(),[Ia]:()=>this.initOpacity("strokeOpacity"),[La]:()=>this.initOpacity("fillOpacity"),markers:()=>new va(this.chartMenuUtils),[Na]:()=>this.initLabels(),sectorLabels:()=>this.initSectorLabels(),[Oa]:()=>new xa(this.chartMenuUtils),[Ta]:()=>this.initTooltips(),bins:()=>this.initBins(),whiskers:()=>new Ea(this.chartMenuUtils),caps:()=>new da(this.chartMenuUtils),connectorLine:()=>new ga(this.chartMenuUtils),seriesItems:()=>new Ca(this.chartMenuUtils),tileSpacing:()=>new Ra(this.chartMenuUtils),shape:()=>this.initShape(),size:()=>this.initSize("size","size"),minSize:()=>this.initSize("size","minSize"),maxSize:()=>this.initSize("maxSize","maxSize")},this.seriesWidgetMappings={bar:[Ta,Pa,Fa,Ia,La,Na,Oa],pie:[Ta,Pa,Ia,La,Na,"sectorLabels",Oa],donut:[Ta,Pa,Ia,La,Na,"sectorLabels",Oa],line:[Ta,"lineWidth",Fa,Ia,"markers",Na],scatter:[Ta,"shape","size",Pa,Na],bubble:[Ta,"shape","minSize","maxSize",Pa,Na],area:[Ta,"lineWidth",Fa,Ia,La,"markers",Na,Oa],histogram:[Ta,"bins",Pa,Fa,Ia,La,Na,Oa],"radial-column":[Ta,Pa,Fa,Ia,La,Na],"radial-bar":[Ta,Pa,Fa,Ia,La,Na],"radar-line":[Ta,Pa,Fa,Ia,"markers",Na],"radar-area":[Ta,Pa,Fa,Ia,La,"markers",Na],nightingale:[Ta,Pa,Fa,Ia,La,Na],"box-plot":[Ta,Pa,Fa,Ia,La,"whiskers","caps"],"range-bar":[Ta,Pa,Fa,Ia,La,Na],"range-area":[Ta,"lineWidth",Fa,Ia,La,"markers",Na,Oa],treemap:[Ta,"tileSpacing"],sunburst:[Ta],heatmap:[Ta,Na,"lineColor","lineWidth",Ia],waterfall:[Ta,"connectorLine","seriesItems"]},this.seriesType=e.seriesType}wireBeans(e){this.chartTranslationService=e.chartTranslationService}postConstruct(){const{isExpandedOnInit:e,chartOptionsService:t,chartController:i,registerGroupComponent:a}=this.options,n={cssIdentifier:"charts-format-top-level",direction:"vertical",title:this.translate("series"),expanded:e,suppressEnabledCheckbox:!0};this.setTemplate('<div>\n <ag-group-component data-ref="seriesGroup">\n </ag-group-component>\n </div>',[na.AgGroupComponentSelector],{seriesGroup:n}),a(this.seriesGroup),this.chartMenuUtils=this.createManagedBean(new mi(t.getSeriesOptionsProxy((()=>this.seriesType)))),this.addManagedListeners(i,{chartSeriesChartTypeChanged:this.refreshWidgets.bind(this)}),this.refreshWidgets()}refreshWidgets(){const{chartController:e}=this.options;this.destroyActivePanels();e.getChartProxy().getChart().waitForUpdate().then((()=>{!this.isAlive()||(e.isComboChart()&&(this.updateSeriesType(),this.initSeriesSelect()),(this.seriesWidgetMappings[this.seriesType]??[]).forEach((e=>{const t=this.widgetFuncs[e]();let i;if(Array.isArray(t)){const e=this.createBean(t[0]);i=e,t[1](e)}else i=this.createBean(t);this.seriesGroup.addItem(i),this.activePanels.push(i)})))})).catch((e=>(0,aa._errorOnce)("chart rendering failed",e)))}initSeriesSelect(){const e=this.createBean(new aa.AgSelect(this.chartMenuUtils.getDefaultSelectParamsWithoutValueParams("seriesType",this.getSeriesSelectOptions(),`${this.seriesType}`,(e=>{this.seriesType=e,this.refreshWidgets()}))));this.seriesGroup.addItem(e),this.activePanels.push(e)}initTooltips(){return new aa.AgToggleButton(this.chartMenuUtils.addValueParams("tooltip.enabled",{label:this.translate("tooltips"),labelAlignment:"left",labelWidth:"flex",inputWidth:"flex"}))}initLineColor(){return new Z(this.chartMenuUtils.getDefaultColorPickerParams("stroke","strokeColor"))}initStrokeWidth(e){return new ne(this.chartMenuUtils.getDefaultSliderParams("strokeWidth",e,10))}initLineDash(){return new ne(this.chartMenuUtils.getDefaultSliderParams("lineDash","lineDash",30,!0))}initOpacity(e){const t=this.chartMenuUtils.getDefaultSliderParams(e,e,1);return t.step=.05,new ne(t)}initLabels(){const e=A(this.seriesType),t=e?"calloutLabel":"label",i=e?"calloutLabels":"labels",a=this.chartMenuUtils.getDefaultFontPanelParams(t,i);return[new Fi(a),t=>{if(e){const e=t.createManagedBean(new sa(this.chartMenuUtils));t.addItem(e),this.activePanels.push(e)}if("range-bar"===this.seriesType){const e=[{value:"inside",text:this.translate("inside")},{value:"outside",text:this.translate("outside")}],i=t.createManagedBean(new aa.AgSelect(this.chartMenuUtils.getDefaultSelectParams("label.placement","labelPlacement",e)));t.addItem(i),this.activePanels.push(i);const a=t.createManagedBean(new ne(this.chartMenuUtils.getDefaultSliderParams("label.padding","padding",200)));t.addItem(a),this.activePanels.push(a)}}]}initSectorLabels(){const e=this.chartMenuUtils.getDefaultFontPanelParams("sectorLabel","sectorLabels");return[new Fi(e),e=>{const t=this.chartMenuUtils.getDefaultSliderParams("sectorLabel.positionRatio","positionRatio",1);t.step=.05;const i=e.createManagedBean(new ne(t));e.addItem(i)}]}initBins(){const e=this.chartMenuUtils.getDefaultSliderParams("binCount","histogramBinCount",20),t=this.chartMenuUtils.getChartOptions(),i=(t.getValue("bins")??t.getValue("calculatedBins",!0)).length;return e.value=`${i}`,e.maxValue=Math.max(i,20),new ne(e)}initShape(){return new aa.AgSelect(this.chartMenuUtils.getDefaultSelectParams("shape","shape",fa(this.chartTranslationService)))}initSize(e,t){return new ne(this.chartMenuUtils.getDefaultSliderParams(e,t,60))}getSeriesSelectOptions(){const e=this.getActiveSeriesTypes();return["area","bar","line"].filter((t=>e.includes(t))).map((e=>({value:e,text:this.translate(e)})))}updateSeriesType(){const e=this.getActiveSeriesTypes();!e.includes(this.seriesType)&&e.length>0&&(this.seriesType=e[0])}getActiveSeriesTypes(){return this.options.chartController.getActiveSeriesChartTypes().map((e=>D(e.chartType)))}translate(e){return this.chartTranslationService.translate(e)}destroyActivePanels(){this.activePanels.forEach((e=>{(0,aa._removeFromParent)(e.getGui()),this.destroyBean(e)}))}destroy(){this.destroyActivePanels(),super.destroy()}},Ga=i(3423),Ba=i(8299),Va=i(3423),Ha=class extends Va.Component{constructor(e,t,i){super("<div></div>"),this.chartMenuUtils=e,this.name=t,this.key=i,this.chartOptions=e.getChartOptions()}wireBeans(e){this.chartTranslationService=e.chartTranslationService}postConstruct(){this.initFontPanel()}hasTitle(){const e=this.chartOptions.getValue(this.key);return e&&e.enabled&&e.text&&e.text.length>0}initFontPanel(){const e=this.hasTitle(),t={name:this.chartTranslationService.translate(this.name),enabled:e,suppressEnabledCheckbox:!1,chartMenuParamsFactory:this.chartMenuUtils,keyMapper:e=>`${this.key}.${e}`,onEnableChange:e=>this.onEnableChange(e)};this.fontPanel=this.createManagedBean(new Fi(t)),this.fontPanel.addItem(this.createBean(new Va.AgInputTextField(this.getTextInputParams())),!0),this.fontPanel.addItem(this.createBean(new ne(this.getSpacingSliderParams()))),this.getGui().appendChild(this.fontPanel.getGui())}getTextInputParams(){return this.chartMenuUtils.addValueParams(`${this.key}.text`,{label:this.chartTranslationService.translate("title"),labelAlignment:"top"})}getSpacingSliderParams(){return this.chartMenuUtils.getDefaultSliderParams(`${this.key}.spacing`,"spacing",100)}onEnableChange(e){this.chartOptions.setValue(`${this.key}.enabled`,e)}},Wa=class extends Ha{wireBeans(e){super.wireBeans(e),this.chartMenuService=e.chartMenuService}postConstruct(){this.titlePlaceholder=this.chartTranslationService.translate("titlePlaceholder"),super.postConstruct(),this.addManagedEventListeners({chartTitleEdit:()=>{this.fontPanel.setEnabled(this.hasTitle())}})}getTextInputParams(){const e=super.getTextInputParams();return this.shouldOverrideTextWithPlaceholder(e.value)&&(e.value=this.titlePlaceholder),e}getSpacingSliderParams(){const e=super.getSpacingSliderParams();return e.value="10",e}onEnableChange(e){if(this.chartMenuService.doesChartToolbarExist()){const t=this.chartOptions.getValue("padding.top");this.chartOptions.setValue("padding.top",e?t-20:t+20)}this.chartOptions.setValue(`${this.key}.enabled`,e);const t=this.chartOptions.getValue(`${this.key}.text`);e&&this.shouldOverrideTextWithPlaceholder(t)&&this.chartOptions.setValue(`${this.key}.text`,this.titlePlaceholder)}shouldOverrideTextWithPlaceholder(e){return"Title"===e||0===e?.trim().length}},_a=class extends Ga.Component{constructor(e){super(),this.options=e,this.titleGroup=Ga.RefPlaceholder}wireBeans(e){this.chartTranslationService=e.chartTranslationService}postConstruct(){const{chartMenuParamsFactory:e,chartAxisMenuParamsFactory:t,chartOptionsService:i,seriesType:a,isExpandedOnInit:n=!1,registerGroupComponent:r}=this.options,o=[];if(S(a)){const e=e=>this.createManagedBean(new mi(i.getCartesianAxisThemeOverridesProxy(e)));o.push(this.createManagedBean(new Ha(e("xAxis"),"horizontalAxisTitle","title"))),o.push(this.createManagedBean(new Ha(e("yAxis"),"verticalAxisTitle","title")))}else x(a)&&o.push(this.createManagedBean(new Ha(t,"polarAxisTitle","title")));const s={cssIdentifier:"charts-format-top-level",direction:"vertical",title:this.chartTranslationService.translate("chartTitles"),expanded:n,suppressEnabledCheckbox:!0,items:[this.createManagedBean(new Wa(e,"chartTitle","title")),this.createManagedBean(new Ha(e,"chartSubtitle","subtitle")),...o]};this.setTemplate('<div>\n <ag-group-component data-ref="titleGroup"></ag-group-component>\n </div>',[Ba.AgGroupComponentSelector],{titleGroup:s}),r(this.titleGroup)}},qa={groups:[{type:"chart"},{type:"titles"},{type:"legend"},{type:"series"},{type:"axis"}]},Ua=class extends Mi.Component{constructor(e){super('<div class="ag-chart-format-wrapper"></div>'),this.chartMenuContext=e}postConstruct(){this.groupExpansionFeature=this.createManagedBean(new Ji(this.getGui())),this.chartPanelFeature=this.createManagedBean(new L(this.chartMenuContext.chartController,this.getGui(),"ag-chart-format-section",((e,t)=>this.createPanels(t)))),this.chartPanelFeature.refreshPanels()}createPanels(e){let t=!1;this.getFormatPanelDef().groups?.forEach((({type:i,isOpen:a=!1})=>{if(!this.isGroupPanelShownInSeries(i,e))return;a&&(t&&(0,Mi._warnOnce)(`As of v32, only one charts customize panel group can be expanded at a time. '${i}' will not be expanded.`),t=!0);const n={...this.chartMenuContext,isExpandedOnInit:a,seriesType:e,registerGroupComponent:e=>this.groupExpansionFeature.addGroupComponent(e)};switch(i){case"chart":this.chartPanelFeature.addComponent(new Xi(n));break;case"titles":this.chartPanelFeature.addComponent(new _a(n));break;case"legend":this.chartPanelFeature.addComponent(new ia(n));break;case"axis":x(e)?this.chartPanelFeature.addComponent(new Wi(n)):S(e)&&(this.chartPanelFeature.addComponent(new Bi("xAxis",n)),this.chartPanelFeature.addComponent(new Bi("yAxis",n)));break;case"horizontalAxis":this.chartPanelFeature.addComponent(new Bi("xAxis",n));break;case"verticalAxis":this.chartPanelFeature.addComponent(new Bi("yAxis",n));break;case"series":this.chartPanelFeature.addComponent(new za(n));break;case"navigator":(0,Mi._warnOnce)("'navigator' is now displayed in the charts advanced settings instead of the customize panel, and this setting will be ignored.");break;default:(0,Mi._warnOnce)(`Invalid charts customize panel group name supplied: '${i}'`)}}))}getFormatPanelDef(){const e=this.gos.get("chartToolPanelsDef")?.formatPanel;return e||qa}isGroupPanelShownInSeries(e,t){return["chart","titles","legend","series"].includes(e)||S(t)&&["axis","horizontalAxis","verticalAxis"].includes(e)||x(t)&&"axis"===e}},Ka=i(3423),ja=i(3423),Ya=i(8299),$a=i(4933);function Za(e){const{stacked:t,size:i,padding:a,xScalePadding:n,xScaleDomain:r,yScaleDomain:o}=e,s=new $a._Scene.BandScale;s.domain=r,s.range=[a,i-a],s.paddingInner=n,s.paddingOuter=n;const l=new $a._Scene.LinearScale;l.domain=o,l.range=[i-a,a];const c=(e,t,i)=>e.map(((e,a)=>{const n=i.convert(e),r=new $a._Scene.Rect;return r.x=t.convert(a),r.y=n,r.width=t.bandwidth,r.height=i.convert(0)-n,r.strokeWidth=0,r.crisp=!0,r}));return t?e.data.map((e=>c(e,s,l))):c(e.data,s,l)}function Xa(e,t,i,a){const n=new $a._Scene.LinearScale;n.domain=[0,4],n.range=[a,i-a];const r=new $a._Scene.LinearScale;r.domain=[0,10],r.range=[i-a,a];const o=t.map((e=>{const t=new $a._Scene.Path;return t.strokeWidth=3,t.lineCap="round",t.fill=void 0,e.forEach(((e,i)=>{t.path[i>0?"lineTo":"moveTo"](n.convert(i),r.convert(e))})),t})),s=new $a._Scene.Group;return s.setClipRectInGroupCoordinateSpace(new $a._Scene.BBox(a,a,i-2*a,i-2*a)),s.append(o),e.append(s),o}function Qa(e,t,i,a,n,r=0){const o=new $a._Scene.LinearScale;o.domain=[0,7],o.range=[-Math.PI,Math.PI].map((e=>e+Math.PI/2));const s=new $a._Scene.LinearScale;s.domain=[0,10],s.range=[a,n];const l=[],c=t.map((e=>{const t=new $a._Scene.Path;return t.strokeWidth=1,t.strokeOpacity=.5,t.lineCap="round",t.fill=void 0,t.fillOpacity=.8,e.forEach(((e,i)=>{const c=o.convert(i),d=a+n-s.convert(e),h=d*Math.cos(c),u=d*Math.sin(c);if(t.path[i>0?"lineTo":"moveTo"](h,u),r>0){const e=new $a._Scene.Circle;e.x=h,e.y=u,e.size=r,l.push(e)}})),t.path.closePath(),t})),d=new $a._Scene.Group,h=i/2;return d.translationX=h,d.translationY=h,d.append([...c,...l]),e.append(d),{paths:c,markers:l}}function Ja(e){let[t,i]=[1/0,-1/0];return{processedData:e.reduce(((e,a,n)=>{const r=n>0?e[n-1]:void 0;e[n]??(e[n]=[]);const o=e[n];return a.forEach(((e,a)=>{r&&(e+=r[a]),o[a]=e,o[a]<t&&(t=o[a]),o[a]>i&&(i=o[a])})),e}),[]),min:t,max:i}}var en=i(4933),tn=i(3423),an=i(4933),nn=class extends tn.Component{constructor(e,t){super(),this.tooltipName=t,this.size=58,this.padding=5,this.root=new an._Scene.Group;const i=new an._Scene.Scene({width:this.size,height:this.size,domManager:{addChild(t,i,a){const n=a??e.ownerDocument.createElement(t);return e.appendChild(n),n}}});i.canvas.element.classList.add("ag-chart-mini-thumbnail-canvas"),i.setRoot(this.root),this.scene=i}wireBeans(e){this.chartTranslationService=e.chartTranslationService}postConstruct(){this.scene.canvas.element.title=this.chartTranslationService.translate(this.tooltipName),this.scene.render().catch((e=>{(0,tn._errorOnce)("AG Grid - chart update failed",e)}))}},rn=class extends nn{constructor(e,t){super(e,t),this.stroke="gray",this.axisOvershoot=3}postConstruct(){const e=this.size,t=this.padding,i=new en._Scene.Line;i.x1=t,i.y1=t,i.x2=t,i.y2=e-t+this.axisOvershoot,i.stroke=this.stroke;const a=new en._Scene.Line;a.x1=t-this.axisOvershoot+1,a.y1=e-t,a.x2=e-t+1,a.y2=e-t,a.stroke=this.stroke;const n=this.root;n.append(i),n.append(a),super.postConstruct()}},on=class extends rn{constructor(e,t,i){super(e,"groupedColumnTooltip"),this.columnData=[2,3,4];const{root:a,columnData:n,size:r,padding:o}=this;this.columns=Za({stacked:!1,root:a,data:n,size:r,padding:o,xScaleDomain:[0,1,2],yScaleDomain:[0,4],xScalePadding:.3}),a.append(this.columns),this.updateColors(t,i)}updateColors(e,t){this.columns.forEach(((i,a)=>{i.fill=e[a],i.stroke=t[a]}))}};on.chartType="groupedColumn";var sn=class e extends rn{constructor(t,i,a,n,r,o=e.data,s=[0,16],l="stackedColumnTooltip"){super(t,l);const{root:c,size:d,padding:h}=this;this.stackedColumns=Za({stacked:!0,root:c,data:o,size:d,padding:h,xScaleDomain:[0,1,2],yScaleDomain:s,xScalePadding:.3}),c.append([].concat.apply([],this.stackedColumns)),this.updateColors(i,a)}updateColors(e,t){this.stackedColumns.forEach(((i,a)=>i.forEach((i=>{i.fill=e[a],i.stroke=t[a]}))))}};sn.chartType="stackedColumn",sn.data=[[8,12,16],[6,9,12],[2,3,4]];var ln=sn,cn=class e extends ln{constructor(t,i,a,n,r){super(t,i,a,n,r,e.data,[0,10],"normalizedColumnTooltip")}};cn.chartType="normalizedColumn",cn.data=[[10,10,10],[6,7,8],[2,4,6]];var dn=cn,hn=i(4933),un=class extends rn{constructor(e,t,i){super(e,"groupedBarTooltip");const a=this.padding,n=this.size,r=new hn._Scene.BandScale;r.domain=[0,1,2],r.range=[a,n-a],r.paddingInner=.3,r.paddingOuter=.3;const o=new hn._Scene.LinearScale;o.domain=[0,4],o.range=[n-a,a];const s=o.convert(0),l=r.bandwidth;this.bars=[2,3,4].map(((e,t)=>{const i=new hn._Scene.Rect;return i.x=a,i.y=r.convert(t),i.width=s-o.convert(e),i.height=l,i.strokeWidth=0,i.crisp=!0,i})),this.updateColors(t,i),this.root.append(this.bars)}updateColors(e,t){this.bars.forEach(((i,a)=>{i.fill=e[a],i.stroke=t[a]}))}};un.chartType="groupedBar";var gn=i(4933),pn=class e extends rn{constructor(t,i,a,n,r,o=e.data,s=[0,16],l="stackedBarTooltip"){super(t,l);const c=this.size,d=this.padding,h=new gn._Scene.BandScale;h.domain=[0,1,2],h.range=[d,c-d],h.paddingInner=.3,h.paddingOuter=.3;const u=new gn._Scene.LinearScale;u.domain=s,u.range=[c-d,d];const g=u.convert(0),p=h.bandwidth;this.bars=o.map((e=>e.map(((e,t)=>{const i=new gn._Scene.Rect;return i.x=d,i.y=h.convert(t),i.width=g-u.convert(e),i.height=p,i.strokeWidth=0,i.crisp=!0,i})))),this.updateColors(i,a),this.root.append([].concat.apply([],this.bars))}updateColors(e,t){this.bars.forEach(((i,a)=>i.forEach((i=>{i.fill=e[a],i.stroke=t[a]}))))}};pn.chartType="stackedBar",pn.data=[[8,12,16],[6,9,12],[2,3,4]];var mn=pn,fn=class e extends mn{constructor(t,i,a,n,r){super(t,i,a,n,r,e.data,[0,10],"normalizedBarTooltip")}};fn.chartType="normalizedBar",fn.data=[[10,10,10],[6,7,8],[2,4,6]];var vn=fn,yn=i(4933),bn=yn._Scene.toRadians,Cn=class extends nn{constructor(e,t,i,a,n,r=.6,o="donutTooltip"){super(e,o);const s=(this.size-2*this.padding)/2,l=s+this.padding,c=[[bn(-90),bn(30)],[bn(30),bn(120)],[bn(120),bn(180)],[bn(180),bn(210)],[bn(210),bn(240)],[bn(240),bn(270)]];this.sectors=c.map((([e,t])=>{const i=new yn._Scene.Sector;return i.centerX=l,i.centerY=l,i.innerRadius=s*r,i.outerRadius=s,i.startAngle=e,i.endAngle=t,i.stroke=void 0,i.strokeWidth=0,i.inset=.75,i})),this.updateColors(t,i),this.root.append(this.sectors)}updateColors(e,t){this.sectors.forEach(((i,a)=>{i.fill=e[a%e.length],i.stroke=t[a%t.length]}))}};Cn.chartType="donut";var wn=class extends Cn{constructor(e,t,i,a,n){super(e,t,i,a,n,0,"pieTooltip")}};wn.chartType="pie";var Sn=class extends rn{constructor(e,t,i){super(e,"lineTooltip"),this.data=[[9,7,8,5,6],[5,6,3,4,1],[1,3,4,8,7]],this.lines=Xa(this.root,this.data,this.size,this.padding),this.updateColors(t,i)}updateColors(e,t){this.lines.forEach(((t,i)=>{t.stroke=e[i]}))}};Sn.chartType="line";var xn=i(4933),kn=class extends rn{constructor(e,t,i){super(e,"scatterTooltip");const a=this.size,n=this.padding,r=new xn._Scene.LinearScale;r.domain=[-.5,4],r.range=[2*n,a-n];const o=new xn._Scene.LinearScale;o.domain=[-.5,3.5],o.range=[a-n,n];const s=[];[[[.3,3],[1.1,.9],[2,.4],[3.4,2.4]],[[0,.3],[1,2],[2.4,1.4],[3,0]]].forEach((e=>{e.forEach((([e,t])=>{const i=new xn._Scene.Arc;i.strokeWidth=0,i.centerX=r.convert(e),i.centerY=o.convert(t),i.radius=2.5,s.push(i)}))})),this.points=s,this.updateColors(t,i);const l=new xn._Scene.Group;l.setClipRectInGroupCoordinateSpace(new xn._Scene.BBox(n,n,a-2*n,a-2*n)),l.append(this.points),this.root.append(l)}updateColors(e,t){this.points.forEach(((i,a)=>{i.stroke=t[a%t.length],i.fill=e[a%e.length]}))}};kn.chartType="scatter";var Mn=i(4933),Rn=class extends rn{constructor(e,t,i){super(e,"bubbleTooltip");const a=this.size,n=this.padding,r=new Mn._Scene.LinearScale;r.domain=[0,1],r.range=[2*n,a-n];const o=new Mn._Scene.LinearScale;o.domain=[0,1],o.range=[a-n,n];const s=[];[[[.1,.3,5],[.5,.4,7],[.2,.8,7]],[[.8,.7,5],[.7,.3,9]]].forEach((e=>{e.forEach((([e,t,i])=>{const a=new Mn._Scene.Arc;a.strokeWidth=0,a.centerX=r.convert(e),a.centerY=o.convert(t),a.radius=i,a.fillOpacity=.7,s.push(a)}))})),this.points=s,this.updateColors(t,i);const l=new Mn._Scene.Group;l.setClipRectInGroupCoordinateSpace(new Mn._Scene.BBox(n,n,a-2*n,a-2*n)),l.append(this.points),this.root.append(l)}updateColors(e,t){this.points.forEach(((i,a)=>{i.stroke=t[a%t.length],i.fill=e[a%e.length]}))}};Rn.chartType="bubble";var Dn=i(4933),An=class e extends rn{constructor(t,i,a,n,r,o=e.data){super(t,"groupedAreaTooltip");const s=this.size,l=this.padding,c=new Dn._Scene.BandScale;c.domain=[0,1,2],c.paddingInner=1,c.paddingOuter=0,c.range=[l+.5,s-l-.5];const d=new Dn._Scene.LinearScale;d.domain=[0,6],d.range=[s-l+.5,l];const h=2*o.length-1,u=[],g=d.convert(0);o.forEach(((e,t)=>{const i=c.convert(t);e.forEach(((e,a)=>{const n=d.convert(e),r=u[a]||(u[a]=[]);r[t]={x:i,y:n},r[h-t]={x:i,y:g}}))})),this.areas=u.reverse().map((e=>{const t=new Dn._Scene.Path;t.strokeWidth=1,t.strokeOpacity=.75,t.fillOpacity=.7;const i=t.path;return i.clear(),e.forEach(((e,t)=>i[t>0?"lineTo":"moveTo"](e.x,e.y))),i.closePath(),t})),this.updateColors(i,a),this.root.append(this.areas)}updateColors(e,t){this.areas.forEach(((i,a)=>{i.fill=e[a],i.stroke=t[a]}))}};An.chartType="area",An.data=[[1,3,5],[2,6,4],[5,3,1]];var En=An,Tn=i(4933),Pn=class e extends rn{constructor(t,i,a,n,r,o=e.data,s="stackedAreaTooltip"){super(t,s);const l=this.size,c=this.padding,d=new Tn._Scene.BandScale;d.domain=[0,1,2],d.paddingInner=1,d.paddingOuter=0,d.range=[c+.5,l-c-.5];const h=new Tn._Scene.LinearScale;h.domain=[0,16],h.range=[l-c+.5,c+.5];const u=2*o.length-1,g=[];o.forEach(((e,t)=>{const i=d.convert(t);let a=0;e.forEach(((e,n)=>{const r=h.convert(a+e),o=g[n]||(g[n]=[]);o[t]={x:i,y:r},o[u-t]={x:i,y:h.convert(a)},a+=e}))})),this.areas=g.map((e=>{const t=new Tn._Scene.Path;t.strokeWidth=0;const i=t.path;return i.clear(),e.forEach(((e,t)=>i[t>0?"lineTo":"moveTo"](e.x,e.y))),i.closePath(),t})),this.updateColors(i,a),this.root.append(this.areas)}updateColors(e,t){this.areas.forEach(((i,a)=>{i.fill=e[a],i.stroke=t[a]}))}};Pn.chartType="stackedArea",Pn.data=[[2,3,2],[3,6,5],[6,2,2]];var Fn=Pn,In=class e extends Fn{constructor(t,i,a,n,r,o=e.data){super(t,i,a,n,r,o,"normalizedAreaTooltip")}};In.chartType="normalizedArea",In.data=Fn.data.map((e=>{const t=e.reduce(((e,t)=>e+t),0);return e.map((e=>e/t*16))}));var Ln=In,Nn=i(4933),On=class extends rn{constructor(e,t,i){super(e,"histogramTooltip");const a=this.padding,n=this.size,r=[2,5,11,13,10,6,1],o=new Nn._Scene.LinearScale;o.domain=[0,r.length],o.range=[a,n-a];const s=new Nn._Scene.LinearScale;s.domain=[0,r.reduce(((e,t)=>Math.max(e,t)),0)],s.range=[n-a,a];const l=s.convert(0);this.bars=r.map(((e,t)=>{const i=s.convert(e),a=o.convert(t),n=o.convert(t+1),r=new Nn._Scene.Rect;return r.x=a,r.y=i,r.width=n-a,r.height=l-i,r.strokeWidth=1,r.strokeOpacity=.75,r.crisp=!0,r})),this.updateColors(t,i),this.root.append(this.bars)}updateColors([e],[t]){this.bars.forEach((i=>{i.fill=e,i.stroke=t}))}};On.chartType="histogram";var zn=i(4933),Gn=i(4933),Bn=class extends nn{constructor(e,t){super(e,t),this.stroke="gray",this.showRadiusAxisLine=!0,this.showAngleAxisLines=!0}postConstruct(){const e=this.size,t=this.padding,i=(e-2*t)/2,a=this.showAngleAxisLines?[i,.8*i,.6*i,.4*i]:[],n=new Gn._Scene.Line;n.x1=e/2,n.y1=t,n.x2=e/2,n.y2=e-t-i-a[a.length-1],n.stroke=this.stroke,n.strokeOpacity=.5,n.fill=void 0,n.visible=this.showRadiusAxisLine;const r=t+i;this.gridLines=a.map(((e,t)=>{const i=new Gn._Scene.Path;return i.path.arc(r,r,e,0,2*Math.PI),i.strokeWidth=1,i.stroke=this.stroke,i.strokeOpacity=0===t?.5:.2,i.fill=void 0,i}));const o=this.root;o.append(n),this.gridLines.length>0&&o.append(this.gridLines),super.postConstruct()}},Vn=class extends Bn{constructor(e,t,i){super(e,"radialColumnTooltip"),this.data=[[6,8,10,2,6,5],[4,4,3,6,4,4],[5,4,2,9,8,9]],this.showRadiusAxisLine=!1;const{padding:a,size:n,data:r}=this,o=(n-2*a)/2,s=.4*o,l=new zn._Scene.BandScale;l.domain=r[0].map(((e,t)=>t)),l.range=[0,2*Math.PI],l.paddingInner=0,l.paddingOuter=0;const c=.7*l.bandwidth,{processedData:d,max:h}=Ja(r),u=new zn._Scene.LinearScale;u.domain=[0,h],u.range=[s,o];const g=this.size/2;this.series=d.map(((e,t)=>{const i=0===t?void 0:d[t-1],a=new zn._Scene.Group({zIndex:1e6}),n=e.map(((e,t)=>{const a=i?.[t],n=u.convert(e),r=u.convert(a??0),d=l.convert(t),h=d+c,p=zn._Scene.getRadialColumnWidth(d,h,o,.5,.5),m=new zn._Scene.RadialColumnShape;return m.scalingCenterX=g,m.scalingCenterY=g,m.columnWidth=p,m.innerRadius=r,m.outerRadius=n,m.startAngle=d,m.endAngle=h,m.isBeveled=!0,m.axisInnerRadius=s,m.axisOuterRadius=o,m.stroke=void 0,m.strokeWidth=0,m}));return a.append(n),a.translationX=g,a.translationY=g,a})),this.root.append(this.series),this.updateColors(t,i)}updateColors(e,t){this.series.forEach(((i,a)=>{i.children?.forEach((i=>{i.fill=e[a%e.length],i.stroke=t[a%t.length]}))}))}};Vn.chartType="radialColumn";var Hn=i(4933),Wn=class extends Bn{constructor(e,t,i){super(e,"radialBarTooltip"),this.data=[[6,8,10],[4,4,3],[5,4,2]],this.showRadiusAxisLine=!1;const a=(this.size-this.padding)/2,n=.4*a,r=a+n,o=new Hn._Scene.BandScale;o.domain=this.data[0].map(((e,t)=>t)),o.range=[a,n],o.paddingInner=.5,o.paddingOuter=0;const s=o.bandwidth,{processedData:l,max:c}=Ja(this.data),d=new Hn._Scene.LinearScale;d.domain=[0,Math.ceil(1.5*c)];const h=1.5*Math.PI,u=h+2*Math.PI;d.range=[h,u];const g=this.size/2;this.series=l.map(((e,t)=>{const i=t<0?void 0:l[t-1],a=new Hn._Scene.Group({zIndex:1e6}),n=e.map(((e,t)=>{const a=i?.[t]??0,n=r-o.convert(t),l=n+s,c=d.convert(a),h=d.convert(e),u=new Hn._Scene.Sector;return u.centerX=g,u.centerY=g,u.innerRadius=n,u.outerRadius=l,u.startAngle=c,u.endAngle=h,u.stroke=void 0,u.strokeWidth=0,u}));return a.append(n),a})),this.root.append(this.series),this.updateColors(t,i)}updateColors(e,t){this.series.forEach(((i,a)=>{i.children?.forEach((i=>{i.fill=e[a%e.length],i.stroke=t[a%t.length]}))}))}};Wn.chartType="radialBar";var _n=class extends Bn{constructor(e,t,i){super(e,"radarLineTooltip"),this.markerSize=4,this.data=[[8,7,8,7,8,8,7,8],[6,8,5,10,6,7,4,6],[0,3,3,5,4,4,2,0]],this.showRadiusAxisLine=!1;const a=(this.size-2*this.padding)/2,{paths:n,markers:r}=Qa(this.root,this.data,this.size,a,0,this.markerSize);this.lines=n,this.markers=r,this.updateColors(t,i)}updateColors(e,t){this.lines.forEach(((i,a)=>{const n=this.data[a].length;i.stroke=e[a];const r=a*n,o=r+n;this.markers.slice(r,o).forEach((i=>{i.stroke=t[a],i.fill=e[a]}))}))}};_n.chartType="radarLine";var qn=class extends Bn{constructor(e,t,i){super(e,"radarAreaTooltip"),this.data=[[8,10,5,7,4,1,5,8],[1,1,2,7,7,8,10,1],[4,5,9,9,4,2,3,4]],this.showRadiusAxisLine=!1;const a=(this.size-2*this.padding)/2,n=a-.3*this.size;this.areas=Qa(this.root,this.data,this.size,a,n).paths,this.updateColors(t,i)}updateColors(e,t){this.areas.forEach(((i,a)=>{i.fill=e[a],i.stroke=t[a]}))}};qn.chartType="radarArea";var Un=i(4933),Kn=class extends Bn{constructor(e,t,i){super(e,"nightingaleTooltip"),this.data=[[6,10,9,8,7,8],[4,6,5,4,5,5],[3,5,4,3,4,7]],this.showRadiusAxisLine=!1;const a=(this.size-2*this.padding)/2,n=new Un._Scene.BandScale;n.domain=this.data[0].map(((e,t)=>t)),n.range=[-Math.PI,Math.PI],n.paddingInner=0,n.paddingOuter=0;const r=.7*n.bandwidth,{processedData:o,max:s}=Ja(this.data),l=new Un._Scene.LinearScale;l.domain=[0,s],l.range=[0,a];const c=this.size/2;this.series=o.map(((e,t)=>{const i=t<0?void 0:o[t-1],a=new Un._Scene.Group({zIndex:1e6}),s=e.map(((e,t)=>{const a=i?.[t],o=l.convert(e),s=l.convert(a??0),d=n.convert(t),h=d+r,u=new Un._Scene.Sector;return u.centerX=c,u.centerY=c,u.innerRadius=s,u.outerRadius=o,u.startAngle=d,u.endAngle=h,u.stroke=void 0,u.strokeWidth=0,u}));return a.append(s),a})),this.root.append(this.series),this.updateColors(t,i)}updateColors(e,t){this.series.forEach(((i,a)=>{i.children?.forEach((i=>{i.fill=e[a%e.length],i.stroke=t[a%t.length]}))}))}};Kn.chartType="nightingale";var jn=i(4933),Yn=class extends rn{constructor(e,t,i){super(e,"rangeBarTooltip");this.bars=this.createRangeBar(this.root,[3,3.5,3],this.size,this.padding,"vertical"),this.updateColors(t,i)}updateColors(e,t){this.bars.forEach(((i,a)=>{i.fill=e[a],i.stroke=t[a]}))}createRangeBar(e,t,i,a,n){const r="horizontal"===n,o=2*a,s=new jn._Scene.BandScale;s.domain=t.map(((e,t)=>t)),s.range=[a,i-a],s.paddingInner=.3,s.paddingOuter=.3;const l=new jn._Scene.LinearScale;l.domain=[.7*t.reduce(((e,t)=>Math.min(e,t)),1/0),1.3*t.reduce(((e,t)=>Math.max(e,t)),0)],l.range=[o,i-o];const c=s.bandwidth,d=t.map(((e,t)=>{const[i,a]=[.7*e,1.3*e],n=s.convert(t),o=l.convert(i),d=l.convert(a)-o,h=new jn._Scene.Rect;return h.x=r?o:n,h.y=r?n:o,h.width=r?d:c,h.height=r?c:d,h.strokeWidth=0,h.crisp=!0,h}));return e.append(d),d}};Yn.chartType="rangeBar";var $n=i(4933),Zn=class extends rn{constructor(e,t,i){super(e,"rangeAreaTooltip");const a=[Xn({offset:1.5,length:4,pattern:{low:3,high:5,period:4}}),Xn({offset:1.5,length:4,pattern:{low:2.25,high:4.25,period:4}}),Xn({offset:3,length:4,pattern:{low:2.5,high:4.5,period:4}})],n=a.map((e=>e.map((([e,t])=>({x:e,low:t-.875,high:t+.875}))))),{lines:r,areas:o}=this.createRangeArea(this.root,n,this.size,this.padding);this.lines=r,this.areas=o,this.updateColors(t,i)}updateColors(e,t){e=Jn(e,1,2),t=Jn(t,1,2),this.lines.forEach((([e,i],a)=>{e.fill=void 0,e.stroke=t[a],i.fill=void 0,i.stroke=t[a]})),this.areas.forEach(((t,i)=>{t.fill=e[i]}))}createRangeArea(e,t,i,a){const n=t.reduce(((e,t)=>t.reduce(((e,{x:t})=>Math.min(e,t)),e)),1/0),r=t.reduce(((e,t)=>t.reduce(((e,{x:t})=>Math.max(e,t)),e)),-1/0),o=t.reduce(((e,t)=>t.reduce(((e,{low:t})=>Math.min(e,t)),e)),1/0),s=t.reduce(((e,t)=>t.reduce(((e,{high:t})=>Math.max(e,t)),e)),-1/0),l=new $n._Scene.LinearScale;l.domain=[n,r],l.range=[a,i-a];const c=2*a,d=new $n._Scene.LinearScale;d.domain=[o,s],d.range=[i-c,c];const h=[],u=[];return t.map((e=>{const t=new $n._Scene.Path,i=new $n._Scene.Path,a=new $n._Scene.Path;return h.push([t,i]),u.push(a),t.strokeWidth=0,i.strokeWidth=0,a.strokeWidth=0,a.fillOpacity=.8,t.path.clear(),i.path.clear(),a.path.clear(),e.map(((e,n)=>{const{x:r,low:o,high:s}=e,c=l.convert(r),h=d.convert(o),u=d.convert(s),g=n>0?"lineTo":"moveTo";return t.path[g](c,u),i.path[g](c,h),a.path[g](c,u),[c,h]}))})).forEach(((e,t)=>{const i=e.length-1,a=u[t];for(let t=i;t>=0;t--){const[i,n]=e[t];a.path.lineTo(i,n)}})),e.append(u.concat(...h)),{lines:h,areas:u}}};function Xn(e){const{offset:t,length:i,pattern:a}=e,n=function(e,t,i){const{period:a}=i,n=e/a,r=[0,.5].map((e=>e-n)).map(Qn).sort(((e,t)=>e-t));return Array.from({length:Math.floor(r.length*(a/t))},((e,t)=>r[t%r.length]+Math.floor(t/r.length))).map((e=>e*a)).map((t=>o(t,e,i)))}(t,i,a),r=i;return 0!==n.length&&0===n[0][0]||n.unshift(o(0,t,a)),n[n.length-1][0]!==r&&n.push(o(r,t,a)),n;function o(e,t,i){return[e,s(t+e,i)]}function s(e,t){const{low:i,high:a,period:n}=t,r=Qn(e/n);return i+(a-i)*(r>.5?1-2*(r-.5):2*r)}}function Qn(e){const t=e%1;return t<0?t+1:t}function Jn(e,t,i){const a=[...e],n=a[t];return a[t]=a[i],a[i]=n,a}Zn.chartType="rangeArea";var er=i(4933),tr=class extends rn{constructor(e,t,i,a,n){super(e,"boxPlotTooltip");const r=this.padding,o=this.size,s=[11,11.5,10.5],l=new er._Scene.LinearScale;l.domain=[.8*s.reduce(((e,t)=>Math.min(e,t)),1/0),1.2*s.reduce(((e,t)=>Math.max(e,t)),0)],l.range=[o-1.5*r,r];const c=new er._Scene.BandScale;c.domain=s.map(((e,t)=>t)),c.range=[r,o-r],c.paddingInner=.4,c.paddingOuter=.2;const d=Math.round(c.bandwidth),h=Math.round(c.bandwidth/2);this.boxPlotGroups=s.map(((e,t)=>{const[i,a,n,r]=[.8*e,.9*e,1.1*e,1.2*e],o=Math.round(l.convert(n)),s=Math.round(c.convert(t)),u=Math.round(s+d),g=Math.round(l.convert(a)),p=Math.round(l.convert(i)),m=Math.round(l.convert(e)),f=Math.round(l.convert(r)),v=s+h,y=new er._Scene.Group,b=new er._Scene.Rect,C=new er._Scene.Line,w=new er._Scene.Line,S=new er._Scene.Line,x=new er._Scene.Line,k=new er._Scene.Line;return b.x=s,b.y=o,b.width=d,b.height=g-o,b.strokeWidth=1,b.strokeOpacity=.75,b.crisp=!0,this.setLineProperties(C,s,u,m,m),this.setLineProperties(w,v,v,f,o),this.setLineProperties(S,v,v,p,g),this.setLineProperties(x,s,u,f,f),this.setLineProperties(k,s,u,p,p),y.append([b,C,w,S,x,k]),y})),this.updateColors(t,i,a,n),this.root.append(this.boxPlotGroups)}updateColors(e,t,i,a){const n=i?.get(er._Theme.DEFAULT_BACKGROUND_COLOUR),r=(Array.isArray(n)?n[0]:n)??"white";this.boxPlotGroups.forEach(((i,n)=>{i.children?.forEach((i=>{const o=e[n%e.length];i.fill=a?o:er._Util.interpolateColor(o,r)(.7),i.stroke=t[n%t.length]}))}))}setLineProperties(e,t,i,a,n){e.x1=t,e.x2=i,e.y1=a,e.y2=n,e.strokeOpacity=.75}};tr.chartType="boxPlot";var ir=i(4933),ar=class extends nn{constructor(e,t,i,a,n){super(e,"treemapTooltip");const{size:r,padding:o}=this,s=[[1,1],[3,2,1]],l=s.length%2==0?.3:.2,c=[o,r-o],d=s.length,h=d*(d+1)/2,u=l/(d-1),g=c[1]-c[0],p=g-l;let m=c[0];this.rects=s.reduce(((e,t,i)=>{e??(e=[]);const a=p*((d-i)/h),n=t.length,r=t.reduce(((e,t)=>e+t),0),o=l/(n-1||1),s=n>1?g-l:g;let f=c[0];const v=t.map((e=>{const t=new ir._Scene.Rect,i=s*e/r;return t.x=m,t.y=f,t.width=a,t.height=i,t.strokeWidth=.75,t.crisp=!0,f+=i+o,t}));return m+=a+u,e.push(...v),e}),[]),this.updateColors(t,i,a,n);const f=new ir._Scene.Group;f.setClipRectInGroupCoordinateSpace(new ir._Scene.BBox(o,o,r-o,r-o)),f.append(this.rects),this.root.append(f)}updateColors(e,t,i,a){const n=i?.get(ir._Theme.DEFAULT_BACKGROUND_COLOUR),r=(Array.isArray(n)?n[0]:n)??"white";this.rects.forEach(((i,n)=>{i.fill=e[n%t.length],i.stroke=a?t[n%t.length]:r}))}};ar.chartType="treemap";var nr=i(4933),rr=class extends Bn{constructor(e,t,i){super(e,"sunburstTooltip"),this.data=[[[],[]],[[],[]],[[],[]]],this.angleOffset=-Math.PI/2,this.innerRadiusRatio=0,this.showRadiusAxisLine=!1,this.showAngleAxisLines=!1;const{data:a,size:n,padding:r,angleOffset:o,innerRadiusRatio:s}=this,l=(n-2*r)/2,c=[o+0,o+2*Math.PI],d=Math.abs(c[1]-c[0]),h=[l*s,l],u=Math.abs(h[1]-h[0]);let g=0;const p=(e,t)=>{e.forEach((e=>{const i=t+1;g=Math.max(g,i),p(e,i)}))};p(a,0);const m=u/g,f=this.size/2,v=c[0];this.series=[];const y=(e,t,i,a,n)=>{if(!Array.isArray(e))return;const r=t+1;let o=i;e.forEach(((e,i,s)=>{let l=n;l||(l=new nr._Scene.Group,this.series.push(l));const c=h[0]+t*m,d=h[0]+r*m,u=1/s.length,g=o,p=g+a*u,v=new nr._Scene.Sector;v.centerX=f,v.centerY=f,v.innerRadius=c,v.outerRadius=d,v.startAngle=g,v.endAngle=p,v.stroke=void 0,v.strokeWidth=0,v.inset=.75,o=p,l.append(v),y(e,r,g,Math.abs(p-g),l)}))};y(a,0,v,d),this.root.append(this.series),this.updateColors(t,i)}updateColors(e,t){this.series.forEach(((i,a)=>{i.children?.forEach((i=>{i.fill=e[a%e.length],i.stroke=t[a%t.length]}))}))}};rr.chartType="sunburst";var or=i(4933),sr=class extends nn{constructor(e,t,i,a,n){super(e,"heatmapTooltip");const{size:r,padding:o}=this,s=Array.from({length:3},((e,t)=>Array.from({length:3},((e,t)=>t)))),l=s.map(((e,t)=>t)),c=new or._Scene.BandScale;c.domain=l,c.range=[o,r-o],c.paddingInner=.01,c.paddingOuter=.1;const d=new or._Scene.BandScale;d.domain=l,d.range=[o,r-o],d.paddingInner=.01,d.paddingOuter=.1;const h=c.bandwidth??0,u=d.bandwidth??0;this.rects=s.reduce(((e,t,i)=>{e??(e=[]);const a=t.map(((e,t)=>{const a=new or._Scene.Rect;return a.x=c.convert(i),a.y=d.convert(t),a.width=h,a.height=u,a.strokeWidth=0,a.crisp=!0,a}));return e.push(...a),e}),[]),this.updateColors(t,i,a,n);const g=new or._Scene.Group;g.setClipRectInGroupCoordinateSpace(new or._Scene.BBox(o,o,r-o,r-o)),g.append(this.rects),this.root.append(g)}updateColors(e,t,i,a){const n=i?.get(or._Theme.DEFAULT_DIVERGING_SERIES_COLOUR_RANGE),r=i?.get(or._Theme.DEFAULT_BACKGROUND_COLOUR),o=(Array.isArray(r)?r[0]:r)??"white",s=a?[e[0],e[1]]:n,l=a?t[0]:o,c=or._Util.interpolateColor(s[0],s[1]);this.rects.forEach(((e,t)=>{e.fill=c(.2*t),e.stroke=l}))}};sr.chartType="heatmap";var lr=i(4933),cr=class extends rn{constructor(e,t,i,a,n){super(e,"waterfallTooltip"),this.data=[4,3,-3,6,-3],this.bars=this.createWaterfall(this.root,this.data,this.size,this.padding,"vertical").bars,this.updateColors(t,i,a,n)}updateColors(e,t,i,a){const{data:n}=this,r={fill:a?e[0]:i?.get(lr._Theme.PALETTE_UP_FILL),stroke:a?t[0]:i?.get(lr._Theme.PALETTE_UP_STROKE)},o={fill:a?e[1]:i?.get(lr._Theme.PALETTE_DOWN_FILL),stroke:a?t[1]:i?.get(lr._Theme.PALETTE_DOWN_STROKE)};this.bars.forEach(((e,t)=>{const i=n[t]>=0;e.fill=i?r.fill:o.fill,e.stroke=i?r.stroke:o.stroke}))}createWaterfall(e,t,i,a,n){const r=2*a,{processedData:o,min:s,max:l}=Ja(t.map((e=>[e]))),c=o.reduce(((e,t)=>e.concat(t)),[]),d=new lr._Scene.LinearScale;d.domain=[Math.min(s,0),l],d.range=[i-r,r];const h=new lr._Scene.BandScale;h.domain=t.map(((e,t)=>t)),h.range=[a,i-a],h.paddingInner=.2,h.paddingOuter=.3;const u=h.bandwidth,g=new lr._Scene.Path;g.stroke="#575757",g.strokeWidth=0;const p=Math.floor(g.strokeWidth)%2/2,m=g.path;m.clear();const f="horizontal"===n,v=c.map(((e,i)=>{const a=i>0?c[i-1]:0,n=t[i]>0,r=Math.round(d.convert(e)),o=Math.round(d.convert(a)),s=(n?r:o)-p,l=(n?o:r)+p,g=Math.abs(l-s),v=h.convert(i),y=new lr._Scene.Rect;y.x=f?s:v,y.y=f?v:s,y.width=f?g:u,y.height=f?u:g,y.strokeWidth=0,y.crisp=!0;const b=r+p,C=o+p;if(i>0){const e=f?C:y.x,t=f?y.y:C;m.lineTo(e,t)}const w=f?b:y.x,S=f?y.y:b;return m.moveTo(w,S),y}));return e.append([g,...v]),{bars:v}}};cr.chartType="waterfall";var dr=class extends rn{constructor(e,t,i){super(e,"columnLineComboTooltip"),this.columnData=[3,4],this.lineData=[[5,4,6,5,4]];const{root:a,columnData:n,lineData:r,size:o,padding:s}=this;this.columns=Za({stacked:!1,root:a,data:n,size:o,padding:s,xScaleDomain:[0,1],yScaleDomain:[0,4],xScalePadding:.5}),a.append(this.columns),this.lines=Xa(a,r,o,s),this.updateColors(t,i)}updateColors(e,t){this.columns.forEach(((i,a)=>{i.fill=e[a],i.stroke=t[a]})),this.lines.forEach(((t,i)=>{t.stroke=e[i+2]}))}};dr.chartType="columnLineCombo";var hr=i(4933),ur=class extends rn{constructor(e,t,i){super(e,"areaColumnComboTooltip"),this.columnData=[3,4.5],this.areaData=[[5,4,6,5,4]];const{root:a,columnData:n,areaData:r,size:o,padding:s}=this;this.columns=Za({stacked:!1,root:a,data:n,size:o,padding:s,xScaleDomain:[0,1],yScaleDomain:[0,6],xScalePadding:.5});const l=new hr._Scene.BandScale;l.range=[s,o-s],l.domain=[0,1,2,3,4],l.paddingInner=1,l.paddingOuter=0;const c=new hr._Scene.LinearScale;c.range=[o-s,s],c.domain=[0,6];const d=[],h=c.convert(0),u=l.convert(0);r.forEach(((e,t)=>{const i=d[t]||(d[t]=[]);e.forEach(((e,t)=>{const a=e,n=t,r=l.convert(n),o=c.convert(a);i[t]={x:r,y:o}}));const a=l.convert(e.length-1);d[t].push({x:a,y:h},{x:u,y:h})})),this.areas=d.map((e=>{const t=new hr._Scene.Path;t.strokeWidth=0,t.fillOpacity=.8;const i=t.path;return e.forEach(((e,t)=>i[t>0?"lineTo":"moveTo"](e.x,e.y))),t})),a.append(this.areas),a.append([].concat.apply([],this.columns)),this.updateColors(t,i)}updateColors(e,t){this.areas.forEach(((i,a)=>{i.fill=e[a],i.stroke=t[a]})),this.columns.forEach(((i,a)=>{i.fill=e[a+1],i.stroke=t[a+1]}))}};ur.chartType="areaColumnCombo";var gr=i(4933),pr=class extends nn{constructor(e,t,i){super(e,"customComboTooltip"),this.columnData=[3,4],this.lineData=[[5,4,6,5,4]];const{root:a,columnData:n,lineData:r,size:o,padding:s}=this;this.columns=Za({stacked:!1,root:a,data:n,size:o,padding:s,xScaleDomain:[0,1],yScaleDomain:[0,4],xScalePadding:.5}),a.append(this.columns),this.lines=Xa(a,r,o,s);const l="grey",c=new gr._Scene.Line;c.x1=s,c.y1=s,c.x2=s,c.y2=o-s+3,c.stroke=l;const d=new gr._Scene.Line;d.x1=s-3+1,d.y1=o-s,d.x2=o-s+1,d.y2=o-s,d.stroke=l;const h=new gr._Scene.Path;this.buildPenIconPath(h),h.fill="whitesmoke",h.stroke="darkslategrey",h.strokeWidth=1,a.append([d,c,h]),this.updateColors(t,i)}updateColors(e,t){this.columns.forEach(((i,a)=>{i.fill=e[a],i.stroke=t[a]})),this.lines.forEach(((t,i)=>{t.stroke=e[i+2]}))}buildPenIconPath(e){const{path:t}=e;t.moveTo(25.76,43.46),t.lineTo(31.27,48.53),t.moveTo(49.86,22),t.lineTo(49.86,22),t.cubicCurveTo(49.01994659053345,21.317514933510974,47.89593834348529,21.09645997825817,46.86,21.41),t.lineTo(46.86,21.41),t.cubicCurveTo(45.55460035985361,21.77260167850787,44.38777081121966,22.517979360321792,43.51,23.55),t.lineTo(25.51,43.8),t.lineTo(25.43,43.89),t.lineTo(23.01,51.89),t.lineTo(22.83,52.46),t.lineTo(31.02,48.86),t.lineTo(49.02,28.52),t.lineTo(49.02,28.52),t.cubicCurveTo(49.940716461596224,27.521914221246085,50.54302631059587,26.2720342455763,50.75,24.93),t.lineTo(50.75,24.93),t.cubicCurveTo(50.95363374988308,23.866379846512814,50.62080640232334,22.77066734274871,49.86,22),t.closePath(),t.moveTo(41.76,25.5),t.lineTo(47.34,30.5),t.moveTo(40.74,26.65),t.lineTo(46.25,31.71)}};pr.chartType="customCombo";var mr={columnGroup:{column:{range:!0,pivot:!0,enterprise:!1,icon:on},stackedColumn:{range:!0,pivot:!0,enterprise:!1,icon:ln},normalizedColumn:{range:!0,pivot:!0,enterprise:!1,icon:dn}},barGroup:{bar:{range:!0,pivot:!0,enterprise:!1,icon:un},stackedBar:{range:!0,pivot:!0,enterprise:!1,icon:mn},normalizedBar:{range:!0,pivot:!0,enterprise:!1,icon:vn}},pieGroup:{pie:{range:!0,pivot:!0,enterprise:!1,icon:wn},donut:{range:!0,pivot:!0,enterprise:!1,icon:Cn},doughnut:{range:!0,pivot:!0,enterprise:!1,icon:Cn}},lineGroup:{line:{range:!0,pivot:!0,enterprise:!1,icon:Sn}},scatterGroup:{scatter:{range:!0,pivot:!0,enterprise:!1,icon:kn},bubble:{range:!0,pivot:!0,enterprise:!1,icon:Rn}},areaGroup:{area:{range:!0,pivot:!0,enterprise:!1,icon:En},stackedArea:{range:!0,pivot:!0,enterprise:!1,icon:Fn},normalizedArea:{range:!0,pivot:!0,enterprise:!1,icon:Ln}},polarGroup:{radarLine:{range:!0,pivot:!1,enterprise:!0,icon:_n},radarArea:{range:!0,pivot:!1,enterprise:!0,icon:qn},nightingale:{range:!0,pivot:!1,enterprise:!0,icon:Kn},radialColumn:{range:!0,pivot:!1,enterprise:!0,icon:Vn},radialBar:{range:!0,pivot:!1,enterprise:!0,icon:Wn}},statisticalGroup:{boxPlot:{range:!0,pivot:!1,enterprise:!0,icon:tr},histogram:{range:!0,pivot:!1,enterprise:!1,icon:On},rangeBar:{range:!0,pivot:!1,enterprise:!0,icon:Yn},rangeArea:{range:!0,pivot:!1,enterprise:!0,icon:Zn}},hierarchicalGroup:{treemap:{range:!0,pivot:!0,enterprise:!0,icon:ar},sunburst:{range:!0,pivot:!0,enterprise:!0,icon:rr}},specializedGroup:{heatmap:{range:!0,pivot:!1,enterprise:!0,icon:sr},waterfall:{range:!0,pivot:!1,enterprise:!0,icon:cr}},combinationGroup:{columnLineCombo:{range:!0,pivot:!0,enterprise:!1,icon:dr},areaColumnCombo:{range:!0,pivot:!0,enterprise:!1,icon:ur},customCombo:{range:!0,pivot:!0,enterprise:!1,icon:pr}}},fr={columnGroup:["column","stackedColumn","normalizedColumn"],barGroup:["bar","stackedBar","normalizedBar"],pieGroup:["pie","donut"],lineGroup:["line"],scatterGroup:["scatter","bubble"],areaGroup:["area","stackedArea","normalizedArea"],polarGroup:["radarLine","radarArea","nightingale","radialColumn","radialBar"],statisticalGroup:["boxPlot","histogram","rangeBar","rangeArea"],hierarchicalGroup:["treemap","sunburst"],specializedGroup:["heatmap","waterfall"],combinationGroup:["columnLineCombo","areaColumnCombo","customCombo"]},vr=class extends ja.Component{constructor(e,t,i,a,n,r=fr){super('<div class="ag-chart-settings-mini-wrapper"></div>'),this.wrappers=new Map,this.chartController=e,this.fills=t,this.strokes=i,this.themeTemplateParameters=a,this.isCustomTheme=n,this.chartGroups={...r}}wireBeans(e){this.chartTranslationService=e.chartTranslationService}postConstruct(){!this.chartController.customComboExists()&&this.chartGroups.combinationGroup&&(this.chartGroups.combinationGroup=this.chartGroups.combinationGroup.filter((e=>"customCombo"!==e)));const e=this.getGui(),t=this.chartController.isEnterprise(),i=this.chartController.isPivotChart(),a=!i,n=Object.keys(this.chartGroups).map((e=>{const n=e in mr?mr[e]:void 0;if(!n)return(0,ja._warnOnce)(`invalid chartGroupsDef config '${e}'`),null;const r=(this.chartGroups[e]??[]).map((r=>{const o=r in n?n[r]:void 0;return o?!t&&o.enterprise?null:a&&o.range||i&&o.pivot?o:null:((0,ja._warnOnce)(`invalid chartGroupsDef config '${e}.${r}'`),null)})).filter((e=>null!=e));return 0===r.length?null:{label:this.chartTranslationService.translate(e),items:r}})).filter((e=>null!=e));for(const{label:t,items:i}of n){const a=this.createBean(new Ya.AgGroupComponent({title:t,suppressEnabledCheckbox:!0,enabled:!0,suppressOpenCloseIcons:!0,cssIdentifier:"charts-settings",direction:"horizontal",suppressKeyboardNavigation:!0}));for(const e of i){const t=e.icon,i=document.createElement("div");i.classList.add("ag-chart-mini-thumbnail"),i.setAttribute("tabindex","0"),i.setAttribute("role","button");const n=t.chartType,r=()=>{this.chartController.setChartType(n),this.updateSelectedMiniChart()};this.addManagedListeners(i,{click:r,keydown:e=>{e.key!=ja.KeyCode.ENTER&&e.key!==ja.KeyCode.SPACE||(e.preventDefault(),r())}}),this.wrappers.set(n,i),this.createBean(new t(i,this.fills,this.strokes,this.themeTemplateParameters,this.isCustomTheme)),a.addItem(i)}e.appendChild(a.getGui())}this.updateSelectedMiniChart()}updateSelectedMiniChart(){const e=this.chartController.getChartType();this.wrappers.forEach(((t,i)=>{const a=i===e;t.classList.toggle("ag-selected",a);const n=this.chartTranslationService.translate(F(i)),r=a?`${n}. ${this.chartTranslationService.translate("ariaChartSelected")}`:n;(0,ja._setAriaLabel)(t,r)}))}destroy(){this.wrappers.clear(),super.destroy()}},yr=class extends Ka.Component{constructor(e){super('<div class="ag-chart-settings-wrapper">\n <div data-ref="eMiniChartsContainer" class="ag-chart-settings-mini-charts-container ag-scrollable-container"></div>\n <div data-ref="eNavBar" class="ag-chart-settings-nav-bar">\n <div data-ref="ePrevBtn" class="ag-chart-settings-prev">\n <button type="button" class="ag-button ag-chart-settings-prev-button"></button>\n </div>\n <div data-ref="eCardSelector" class="ag-chart-settings-card-selector"></div>\n <div data-ref="eNextBtn" class="ag-chart-settings-next">\n <button type="button" class="ag-button ag-chart-settings-next-button"></button>\n </div>\n </div>\n </div>'),this.chartController=e,this.eMiniChartsContainer=Ka.RefPlaceholder,this.eNavBar=Ka.RefPlaceholder,this.eCardSelector=Ka.RefPlaceholder,this.ePrevBtn=Ka.RefPlaceholder,this.eNextBtn=Ka.RefPlaceholder,this.miniChartsContainers=[],this.cardItems=[],this.activePaletteIndex=0,this.palettes=[],this.themes=[]}postConstruct(){this.resetPalettes(),this.ePrevBtn.insertAdjacentElement("afterbegin",(0,Ka._createIconNoSpan)("previous",this.gos)),this.eNextBtn.insertAdjacentElement("afterbegin",(0,Ka._createIconNoSpan)("next",this.gos)),this.addManagedElementListeners(this.ePrevBtn,{click:()=>this.setActivePalette(this.getPrev(),"left")}),this.addManagedElementListeners(this.eNextBtn,{click:()=>this.setActivePalette(this.getNext(),"right")});const e=()=>this.resetPalettes(!0);this.addManagedListeners(this.chartController,{chartTypeChanged:e,chartApiUpdate:e}),this.scrollSelectedIntoView()}scrollSelectedIntoView(){setTimeout((()=>{const e=this.miniChartsContainers.find((e=>!e.getGui().classList.contains("ag-hidden"))).getGui().querySelector(".ag-selected");if(e){const t=e.offsetParent;t&&this.eMiniChartsContainer.scrollTo(0,t.offsetTop)}}),250)}resetPalettes(e){const t=this.chartController.getPalettes(),i=this.chartController.getThemeTemplateParameters(),a=this.gos.get("chartToolPanelsDef")?.settingsPanel?.chartGroupsDef;if((0,Ka._shallowCompare)(t,this.palettes)&&!e||this.isAnimating)return;this.palettes=t,this.themes=this.chartController.getThemeNames(),this.activePaletteIndex=this.themes.findIndex((e=>e===this.chartController.getChartThemeName())),this.cardItems=[],(0,Ka._clearElement)(this.eCardSelector),this.destroyMiniCharts();const{themes:n}=this;this.palettes.forEach(((e,t)=>{const r=this.activePaletteIndex===t,{fills:o=[],strokes:s=[]}=e,l=!Ke(n[t]),c=this.createBean(new vr(this.chartController,o,s,i[t],l,a));this.miniChartsContainers.push(c),this.eMiniChartsContainer.appendChild(c.getGui()),this.addCardLink(t),r?c.updateSelectedMiniChart():c.setDisplayed(!1)})),(0,Ka._setDisplayed)(this.eNavBar,this.palettes.length>1),(0,Ka._radioCssClass)(this.cardItems[this.activePaletteIndex],"ag-selected","ag-not-selected")}addCardLink(e){const t=document.createElement("div");t.classList.add("ag-chart-settings-card-item"),this.addManagedElementListeners(t,{click:()=>{this.setActivePalette(e,e<this.activePaletteIndex?"left":"right")}}),this.eCardSelector.appendChild(t),this.cardItems.push(t)}getPrev(){let e=this.activePaletteIndex-1;return e<0&&(e=this.palettes.length-1),e}getNext(){let e=this.activePaletteIndex+1;return e>=this.palettes.length&&(e=0),e}setActivePalette(e,t){if(this.isAnimating||this.activePaletteIndex===e)return;(0,Ka._radioCssClass)(this.cardItems[e],"ag-selected","ag-not-selected");const i=this.miniChartsContainers[this.activePaletteIndex],a=i.getGui(),n=this.miniChartsContainers[e],r=n.getGui();i.updateSelectedMiniChart(),n.updateSelectedMiniChart();const o="left"===t?-1:1,s=r.style.left=(0,Ka._getAbsoluteWidth)(this.getGui())*o+"px";this.activePaletteIndex=e,this.isAnimating=!0;const l="ag-animating";n.setDisplayed(!0),i.addCssClass(l),n.addCssClass(l),this.chartController.setChartThemeName(this.themes[e]),window.setTimeout((()=>{a.style.left=-parseFloat(s)+"px",r.style.left="0px"}),0),window.setTimeout((()=>{this.isAnimating=!1,i.removeCssClass(l),n.removeCssClass(l),i.setDisplayed(!1)}),300)}destroyMiniCharts(){(0,Ka._clearElement)(this.eMiniChartsContainer),this.miniChartsContainers=this.destroyBeans(this.miniChartsContainers)}destroy(){this.destroyMiniCharts(),super.destroy()}},br=class e extends Jt.Component{constructor(e,t){super(),this.panels=e,this.chartMenuContext=t,this.tabs=[]}wireBeans(e){this.chartTranslationService=e.chartTranslationService}postConstruct(){this.panels.forEach((e=>{const t=e.replace("chart","").toLowerCase(),i=this.createPanel(t),a=this.createTab(e,t,i);this.tabs.push(a),this.addDestroyFunc((()=>this.destroyBean(i)))})),this.tabbedLayout=new ei.TabbedLayout({items:this.tabs,cssClass:"ag-chart-tabbed-menu",keepScrollPosition:!0,suppressFocusBodyOnOpen:!0,suppressTrapFocus:!0,enableCloseButton:!0,closeButtonAriaLabel:this.chartTranslationService.translate("ariaChartMenuClose"),onCloseClicked:()=>{this.eventSource?.focus({preventScroll:!0}),this.dispatchLocalEvent({type:"closed"})}}),this.createBean(this.tabbedLayout)}createTab(e,t,i){const a=document.createElement("div");a.classList.add("ag-chart-tab",`ag-chart-${t}`),this.createBean(i),a.appendChild(i.getGui());const n=document.createElement("div"),r=this.chartTranslationService.translate(t);return n.innerText=r,{title:n,titleLabel:r,bodyPromise:Jt.AgPromise.resolve(a),getScrollableContainer:()=>a.querySelector(".ag-scrollable-container")||a,name:e}}showTab(e){const t=this.tabs[e];this.tabbedLayout.showItem(t)}getGui(){return this.tabbedLayout&&this.tabbedLayout.getGui()}showMenu(e,t){this.eventSource=e,t||this.tabbedLayout?.focusHeader(!0)}destroy(){this.parentComponent&&this.parentComponent.isAlive()&&this.destroyBean(this.parentComponent),super.destroy()}createPanel(t){switch(t){case e.TAB_DATA:return new ki(this.chartMenuContext);case e.TAB_FORMAT:return new Ua(this.chartMenuContext);default:return new yr(this.chartMenuContext.chartController)}}};br.TAB_DATA="data",br.TAB_FORMAT="format";var Cr=br,wr=class extends $t.Component{constructor(e,t,i){super('<div class="ag-chart-menu-wrapper"></div>'),this.eChartContainer=e,this.eMenuPanelContainer=t,this.chartMenuContext=i,this.buttons={chartLink:{iconName:"linked",callback:()=>this.chartMenuService.toggleLinked(this.chartMenuContext)},chartUnlink:{iconName:"unlinked",callback:()=>this.chartMenuService.toggleLinked(this.chartMenuContext)},chartDownload:{iconName:"save",callback:()=>this.chartMenuService.downloadChart(this.chartMenuContext)},chartMenu:{iconName:"menuAlt",callback:e=>this.showMenuList(e)}},this.panels=[],this.menuVisible=!1,this.chartController=i.chartController}wireBeans(e){this.chartMenuService=e.chartMenuService,this.chartMenuListFactory=e.chartMenuListFactory,this.environment=e.environment}postConstruct(){this.chartToolbar=this.createManagedBean(new Qt),this.getGui().appendChild(this.chartToolbar.getGui()),this.refreshToolbarAndPanels(),this.addManagedEventListeners({chartCreated:e=>{if(e.chartId===this.chartController.getChartId()){Boolean(this.gos.get("chartToolPanelsDef")?.defaultToolPanel)&&this.showMenu({panel:this.defaultPanel,suppressFocus:!0})}}}),this.addManagedListeners(this.chartController,{chartLinkedChanged:this.refreshToolbarAndPanels.bind(this)}),this.refreshMenuClasses(),this.addManagedListeners(this.chartController,{chartApiUpdate:this.refreshToolbarAndPanels.bind(this)})}isVisible(){return this.menuVisible}getExtraPaddingDirections(){return["chartMenu","chartLink","chartUnlink","chartDownload"].some((e=>this.chartToolbarOptions.includes(e)))?["top"]:[]}refreshToolbarAndPanels(){this.initToolbarOptionsAndPanels(),this.updateToolbar()}initToolbarOptionsAndPanels(){const{panels:e,defaultPanel:t}=this.chartMenuService.getChartToolPanels(this.chartController);this.panels=e,this.defaultPanel=t,this.chartToolbarOptions=this.chartMenuService.getChartToolbarOptions()}updateToolbar(){const e=this.chartToolbarOptions.map((e=>{const{iconName:t,callback:i}=this.buttons[e];return{buttonName:e,iconName:t,callback:i}}));this.chartToolbar.updateParams({buttons:e})}createMenuPanel(e){const t=this.menuPanel=this.createBean(new Zt.AgPanel({height:"100%",closable:!0,hideTitleBar:!0,cssIdentifier:"chart-menu"}));return t.setParentComponent(this),this.eMenuPanelContainer.appendChild(t.getGui()),this.tabbedMenu=this.createBean(new Cr(this.panels,this.chartMenuContext)),this.addManagedListeners(this.tabbedMenu,{closed:()=>{this.hideMenu()}}),this.addManagedListeners(t,{destroyed:()=>this.destroyBean(this.tabbedMenu)}),new $t.AgPromise((i=>{window.setTimeout((()=>{t.setBodyComponent(this.tabbedMenu),this.tabbedMenu.showTab(e),i(t)}),100)}))}showContainer(e,t){this.menuPanel&&(this.menuVisible=!0,this.refreshMenuClasses(),this.tabbedMenu.showMenu(e,t))}showMenu(e){const{panel:t,eventSource:i,suppressFocus:a}=e??{};if(this.menuPanel&&!t)this.showContainer(i,a);else{const e=t||this.defaultPanel;let n=this.panels.indexOf(e);n<0&&((0,$t._warnOnce)(`'${t}' is not a valid Chart Tool Panel name`),n=this.panels.indexOf(this.defaultPanel)),this.menuPanel?(this.tabbedMenu.showTab(n),this.showContainer(i,a)):this.createMenuPanel(n).then((()=>this.showContainer(i,a)))}}hideMenu(){this.menuVisible=!1,this.refreshMenuClasses()}refreshMenuClasses(){this.eChartContainer.classList.toggle("ag-chart-menu-visible",this.menuVisible),this.eChartContainer.classList.toggle("ag-chart-menu-hidden",!this.menuVisible)}showMenuList(e){this.chartMenuListFactory.showMenuList({eventSource:e,showMenu:()=>this.showMenu({eventSource:e}),chartMenuContext:this.chartMenuContext})}destroy(){super.destroy(),this.menuPanel&&this.menuPanel.isAlive()&&this.destroyBean(this.menuPanel),this.tabbedMenu&&this.tabbedMenu.isAlive()&&this.destroyBean(this.tabbedMenu)}},Sr=i(3423),xr=["number","category","time","grouped-category"],kr=[...xr,"angle-category","angle-number","radius-category","radius-number"],Mr=class extends Sr.BeanStub{constructor(e){super(),this.chartController=e}getChartThemeOverridesProxy(){return{getValue:e=>this.getChartOption(e),setValue:(e,t)=>this.setChartThemeOverrides([{expression:e,value:t}]),setValues:e=>this.setChartThemeOverrides(e)}}getAxisThemeOverridesProxy(){return{getValue:e=>this.getAxisProperty(e),setValue:(e,t)=>this.setAxisThemeOverrides([{expression:e,value:t}]),setValues:e=>this.setAxisThemeOverrides(e)}}getCartesianAxisOptionsProxy(e){return{getValue:t=>this.getCartesianAxisProperty(e,t),setValue:(t,i)=>this.setCartesianAxisOptions(e,[{expression:t,value:i}]),setValues:t=>this.setCartesianAxisOptions(e,t)}}getCartesianAxisThemeOverridesProxy(e){return{getValue:t=>this.getCartesianAxisProperty(e,t),setValue:(t,i)=>this.setCartesianAxisThemeOverrides(e,[{expression:t,value:i}]),setValues:t=>this.setCartesianAxisThemeOverrides(e,t)}}getCartesianAxisAppliedThemeOverridesProxy(e){return{getValue:t=>this.getCartesianAxisThemeOverride(e,"*"===t?null:t),setValue:(t,i)=>this.setCartesianAxisThemeOverrides(e,[{expression:"*"===t?null:t,value:i}]),setValues:t=>this.setCartesianAxisThemeOverrides(e,t)}}getSeriesOptionsProxy(e){return{getValue:(t,i)=>this.getSeriesOption(e(),t,i),setValue:(t,i)=>this.setSeriesOptions(e(),[{expression:t,value:i}]),setValues:t=>this.setSeriesOptions(e(),t)}}getPersistedChartThemeOverrides(e,t,i,a){const n=this.getRetainedChartThemeOverrideKeys(i,a),r=this.getRetainedChartAxisThemeOverrideKeys(null,i,a),o=this.createChartOptions();for(const t of n){const n=this.retrieveChartOptionsThemeOverride(e,i,t);void 0!==n&&this.assignChartOptionsThemeOverride(o,a,t,n)}return t&&this.assignPersistedAxisOverrides({existingAxes:t,retainedChartAxisThemeOverrideKeys:r,existingChartOptions:e,targetChartOptions:o,existingChartType:i,targetChartType:a}),o.theme.overrides}assignPersistedAxisOverrides(e){const{existingAxes:t,retainedChartAxisThemeOverrideKeys:i,existingChartOptions:a,targetChartOptions:n,existingChartType:r,targetChartType:o}=e;for(const{expression:e,targetAxisTypes:s}of i)for(const i of t.map((e=>e.type))){const t=this.retrieveChartOptionsThemeOverride(a,r,["axes",i,e].join("."));if(void 0!==t)for(const i of s)this.assignChartOptionsThemeOverride(n,o,["axes",i,e].join("."),t)}}getRetainedChartThemeOverrideKeys(e,t){const i=["zoom","navigator"];return["animation",...((e,t)=>{const a=new Array;return S(D(e))&&S(D(t))&&a.push(...i),a})(e,t)]}getRetainedChartAxisThemeOverrideKeys(e,t,i){if(S(D(t))&&S(D(i))){return this.getRetainedCartesianAxisThemeOverrideKeys(e).map((e=>({expression:e,targetAxisTypes:xr})))}return[]}getRetainedCartesianAxisThemeOverrideKeys(e){const t="xAxis"===e?["",".top",".bottom"]:"yAxis"===e?["",".left",".right"]:["",".left",".right",".top",".bottom"],i=["crosshair"],a=new Array;for(const e of i)for(const i of t)a.push(`${e}${i}`);return a}getChartOption(e){return qe(this.getChart(),e,void 0)}setChartThemeOverrides(e){const t=this.getChartType(),i=this.createChartOptions();for(const{expression:a,value:n}of e)this.assignChartOptionsThemeOverride(i,t,a,n);this.applyChartOptions(i)}applyChartOptions(e,t){if(0===Object.keys(e).length)return;this.updateChart(e);!t?.silent&&this.raiseChartOptionsChangedEvent()}awaitChartOptionUpdate(e){this.chartController.getChartProxy().getChart().waitForUpdate().then((()=>e())).catch((e=>(0,Sr._errorOnce)("chart update failed",e)))}getAxisProperty(e){return qe(this.getChart().axes?.[0],e,void 0)}setAxisThemeOverrides(e){const t=this.getChart(),i=this.getChartType(),a=this.createChartOptions();for(const{expression:n,value:r}of e){const e=t.axes?.filter((e=>{const t=n.split(".");let i=e;for(const e of t){if(!(e in i))return!1;i=i[e]}return!0}));if(e)for(const t of e)this.isValidAxisType(t)&&this.assignChartAxisThemeOverride(a,i,t.type,null,n,r)}this.applyChartOptions(a)}getCartesianAxisProperty(e,t){const i=this.getChartAxes();return qe(this.getCartesianAxis(i,e),t,void 0)}getCartesianAxisThemeOverride(e,t){const i=this.getChartAxes(),a=this.getCartesianAxis(i,e);if(!a||!this.isValidAxisType(a))return;const n=this.getChartType(),r=this.getChart().getOptions();return this.retrieveChartAxisThemeOverride(r,n,a.type,"yAxis"===e?["left","right"]:["bottom","top"],t)}setCartesianAxisThemeOverrides(e,t){const i=this.getChartAxes(),a=this.getCartesianAxis(i,e);if(!a||!this.isValidAxisType(a))return;const n=this.getChartType(),r=this.createChartOptions();for(const{expression:i,value:o}of t)this.assignChartAxisThemeOverride(r,n,a.type,"yAxis"===e?["left","right"]:["bottom","top"],i,o);this.applyChartOptions(r)}setCartesianAxisOptions(e,t){this.updateCartesianAxisOptions(e,((e,i,a)=>{const n=i.indexOf(a);for(const{expression:i,value:a}of t)this.assignChartOption(e,`axes.${n}.${i}`,a)}))}updateCartesianAxisOptions(e,t){const i=this.getChart().getOptions(),a="axes"in i?i.axes:void 0;if(!i||!a)return;const n=this.getChartAxes(),r=this.getCartesianAxis(n,e);if(!r)return;const o=this.createChartOptions();o.axes=a,t(o,n,r,i),this.applyChartOptions(o)}setCartesianCategoryAxisType(e,t){this.updateCartesianAxisOptions(e,((i,a,n,r)=>{const o=this.getChartType();this.assignPersistedAxisOverrides({existingAxes:[n],retainedChartAxisThemeOverrideKeys:this.getRetainedChartAxisThemeOverrideKeys(e,o,o),existingChartOptions:r,targetChartOptions:i,existingChartType:o,targetChartType:o}),this.assignChartOption(i,"axes.0.type",t),this.chartController.setCategoryAxisType(t)}))}getCartesianAxis(e,t){if(!(e.length<2))switch(t){case"xAxis":return"x"===e[0].direction?e[0]:e[1];case"yAxis":return"y"===e[1].direction?e[1]:e[0]}}getSeriesOption(e,t,i){const a=this.getChart().series.find((t=>function(e,t){return function(e){return!!y[e]}(e)&&t.type===e}(e,t)));return qe(i?a:a?.properties.toJson(),t,void 0)}setSeriesOptions(e,t){const i=this.createChartOptions();for(const{expression:a,value:n}of t)this.assignChartOptionsSeriesThemeOverride(i,e,`series.${a}`,n);this.applyChartOptions(i)}getPairedMode(){return this.chartController.getChartProxy().isPaired()}setPairedMode(e){this.chartController.getChartProxy().setPaired(e)}getChartAxes(){return this.getChart().axes??[]}retrieveChartAxisThemeOverride(e,t,i,a,n){if(!a)return this.retrieveChartOptionsThemeOverride(e,t,["axes",i,...n?[n]:[]].join("."));for(const r of a){const a=this.retrieveChartOptionsThemeOverride(e,t,["axes",i,r,...n?[n]:[]].join("."));if(void 0!==a)return a}}assignChartAxisThemeOverride(e,t,i,a,n,r){if(a)for(const o of a)this.assignChartOptionsThemeOverride(e,t,["axes",i,o,...n?[n]:[]].join("."),r);else this.assignChartOptionsThemeOverride(e,t,["axes",i,...n?[n]:[]].join("."),r)}isValidAxisType(e){return kr.includes(e.type)}getChartType(){return this.chartController.getChartType()}getChart(){return this.chartController.getChartProxy().getChart()}updateChart(e){const t=this.chartController.getChartProxy().getChartRef();t.skipAnimations(),t.updateDelta(e)}createChartOptions(){return{theme:{overrides:{}}}}retrieveChartOptionsThemeOverride(e,t,i){const a=this.getChartThemeOverridesSeriesTypeKeys(t);for(const t of a){const a=this.retrieveChartOptionsSeriesThemeOverride(e,t,i);if(void 0!==a)return a}}assignChartOptionsThemeOverride(e,t,i,a){const n=this.getChartThemeOverridesSeriesTypeKeys(t);for(const t of n)this.assignChartOptionsSeriesThemeOverride(e,t,i,a)}retrieveChartOptionsSeriesThemeOverride(e,t,i){return this.retrieveChartOption(e,["theme","overrides",t,...i?[i]:[]].join("."))}assignChartOptionsSeriesThemeOverride(e,t,i,a){this.assignChartOption(e,["theme","overrides",t,...i?[i]:[]].join("."),a)}getChartThemeOverridesSeriesTypeKeys(e){const t=this.chartController.getChartSeriesTypes(e);return this.chartController.isComboChart()&&t.push("common"),t}retrieveChartOption(e,t){return qe(e,t,void 0)}assignChartOption(e,t,i){!function(e,t,i){if(null==e)return;const a=t.split(".");let n=e;a.forEach(((e,t)=>{n[e]||(n[e]={}),t<a.length-1&&(n=n[e])})),n[a[a.length-1]]=i}(e,t,i)}raiseChartOptionsChangedEvent(){const e=this.chartController.getChartModel(),t={type:"chartOptionsChanged",chartId:e.chartId,chartType:e.chartType,chartThemeName:this.chartController.getChartThemeName(),chartOptions:e.chartOptions};this.eventService.dispatchEvent(t)}destroy(){super.destroy()}};var Rr=class e extends Te.Component{constructor(e){super('<div class="ag-chart">\n <div data-ref="eChartContainer" class="ag-chart-components-wrapper ag-chart-menu-hidden">\n <div data-ref="eChart" class="ag-chart-canvas-wrapper"></div>\n <div data-ref="eEmpty" class="ag-chart-empty-text ag-unselectable"></div>\n </div>\n <div data-ref="eMenuContainer" class="ag-chart-docked-container"></div>\n </div>'),this.eChart=Te.RefPlaceholder,this.eChartContainer=Te.RefPlaceholder,this.eMenuContainer=Te.RefPlaceholder,this.eEmpty=Te.RefPlaceholder,this.params=e}wireBeans(e){this.crossFilterService=e.chartCrossFilterService,this.chartTranslationService=e.chartTranslationService,this.chartMenuService=e.chartMenuService,this.focusService=e.focusService,this.popupService=e.popupService}postConstruct(){const e={...this.params,chartType:M(this.params.chartType),chartThemeName:this.getThemeName()},t=this.gos.get("enableRtl");this.addCssClass(t?"ag-rtl":"ag-ltr");const i=this.createBean(new rt(e));this.chartController=this.createManagedBean(new yt(i)),this.chartOptionsService=this.createManagedBean(new Mr(this.chartController)),this.validateCustomThemes(),this.createChart(),this.params.insideDialog&&this.addDialog(),this.addMenu(),this.addManagedElementListeners(this.getGui(),{focusin:this.setActiveChartCellRange.bind(this)}),this.addManagedListeners(this.chartController,{chartModelUpdate:this.update.bind(this)}),this.addManagedPropertyListeners(["chartThemeOverrides","chartThemes"],this.reactivePropertyUpdate.bind(this)),this.update(),this.raiseChartCreatedEvent()}createChart(){let t;this.chartProxy&&(t=this.chartProxy.destroy({keepChartInstance:!0}));const i=this.chartController.getChartType(),a={chartType:i,chartInstance:t,getChartThemeName:this.getChartThemeName.bind(this),getChartThemes:this.getChartThemes.bind(this),customChartThemes:this.gos.get("customChartThemes"),getGridOptionsChartThemeOverrides:()=>this.getGridOptionsChartThemeOverrides(),getExtraPaddingDirections:()=>this.chartMenu?.getExtraPaddingDirections()??[],apiChartThemeOverrides:this.params.chartThemeOverrides,crossFiltering:this.params.crossFiltering??!1,crossFilterCallback:(e,t)=>{this.params.crossFilteringContext.lastSelectedChartId=t?"":this.chartController.getChartId(),t&&this.params.crossFilteringResetCallback(),this.crossFilterService.filter(e,t)},parentElement:this.eChart,grouping:this.chartController.isGrouping(),chartThemeToRestore:this.params.chartThemeName,chartOptionsToRestore:this.params.chartOptionsToRestore,chartPaletteToRestore:this.params.chartPaletteToRestore,seriesChartTypes:this.chartController.getSeriesChartTypes(),translate:e=>this.chartTranslationService.translate(e)};this.params.chartOptionsToRestore=void 0,this.chartType=i,this.chartProxy=e.createChartProxy(a),this.chartProxy?(this.chartController.setChartProxy(this.chartProxy),this.createMenuContext()):(0,Te._warnOnce)("invalid chart type supplied: "+a.chartType)}createMenuContext(){if(this.chartMenuContext)return;const e=this.createManagedBean(new mi(this.chartOptionsService.getChartThemeOverridesProxy())),t=this.createManagedBean(new mi(this.chartOptionsService.getAxisThemeOverridesProxy()));this.chartMenuContext={chartController:this.chartController,chartOptionsService:this.chartOptionsService,chartMenuParamsFactory:e,chartAxisMenuParamsFactory:t}}getChartThemeName(){return this.chartController.getChartThemeName()}getChartThemes(){return this.chartController.getThemeNames()}getGridOptionsChartThemeOverrides(){return this.gos.get("chartThemeOverrides")}static createChartProxy(e){switch(e.chartType){case"column":case"bar":case"groupedColumn":case"stackedColumn":case"normalizedColumn":case"groupedBar":case"stackedBar":case"normalizedBar":return new Et(e);case"pie":case"donut":case"doughnut":return new Ht(e);case"area":case"stackedArea":case"normalizedArea":return new xt(e);case"line":return new Pt(e);case"scatter":case"bubble":return new Ft(e);case"histogram":return new Tt(e);case"radarLine":case"radarArea":case"nightingale":case"radialColumn":case"radialBar":return new Wt(e);case"rangeBar":case"rangeArea":return new Yt(e);case"boxPlot":return new jt(e);case"treemap":case"sunburst":return new Vt(e);case"heatmap":return new _t(e);case"waterfall":return new It(e);case"columnLineCombo":case"areaColumnCombo":case"customCombo":return new Lt(e);default:throw`AG Grid: Unable to create chart as an invalid chartType = '${e.chartType}' was supplied.`}}addDialog(){const e=this.chartTranslationService.translate(this.params.pivotChart?"pivotChartTitle":"rangeChartTitle"),{width:t,height:i}=this.getBestDialogSize(),a=this.params.focusDialogOnOpen?()=>setTimeout((()=>this.focusService.focusInto(this.getGui()))):void 0;this.chartDialog=new Pe.AgDialog({resizable:!0,movable:!0,maximizable:!0,title:e,width:t,height:i,component:this,centered:!0,closable:!0,afterGuiAttached:a}),this.createBean(this.chartDialog),this.chartDialog.addEventListener("destroyed",(()=>{this.destroy(),this.chartMenuService.hideAdvancedSettings();const e=this.focusService.getFocusedCell();setTimeout((()=>{e?this.focusService.setFocusedCell({...e,forceBrowserFocus:!0}):this.focusService.focusGridInnerElement()}))}))}getBestDialogSize(){const e=this.popupService.getPopupParent(),t=.75*(0,Te._getAbsoluteWidth)(e),i=.75*(0,Te._getAbsoluteHeight)(e),a=this.chartProxy.getChart();let n=this.params.insideDialog?850:a.width,r=this.params.insideDialog?470:a.height;return(n>t||r>i)&&(n=Math.min(n,t),r=Math.round(.553*n),r>i&&(r=i,n=Math.min(n,Math.round(r/.553)))),{width:n,height:r}}addMenu(){this.params.crossFiltering||(this.chartMenu=this.createBean(new wr(this.eChartContainer,this.eMenuContainer,this.chartMenuContext)),this.eChartContainer.appendChild(this.chartMenu.getGui()))}update(e){if(e?.chartId){if(!this.chartController.update(e))return}const t=this.chartTypeChanged(e),i=t||this.chartEmpty?(e=>{const t=this.chartType,i=e,a=this.chartProxy.getChart(),n=a?.getOptions(),r=a?.axes;return this.chartOptionsService.getPersistedChartThemeOverrides(n,r,t,i??t)})(t):void 0;t&&this.createChart();const a=i&&e?.chartThemeOverrides?_e(i,e.chartThemeOverrides):i||e?.chartThemeOverrides;this.updateChart(a),e?.chartId&&this.chartProxy.getChart().waitForUpdate().then((()=>{this.chartController.raiseChartApiUpdateEvent()}))}updateChart(e){const{chartProxy:t}=this,i=this.chartController.getSelectedValueColState(),a=this.chartController.getChartData(),n=this.handleEmptyChart(a,i.length);if(this.chartEmpty=n,n)return void(e&&this.chartController.updateThemeOverrides(e));const r=this.chartController.getChartUpdateParams(e);t.update(r),this.chartProxy.getChart().waitForUpdate().then((()=>{this.chartController.raiseChartUpdatedEvent()}))}chartTypeChanged(e){const[t,i]=[this.chartController.getChartType(),e?.chartType],a=i?M(i):void 0;return this.chartType!==t?a??t:a&&t!==a?a:null}getChartModel(){return this.chartController.getChartModel()}getChartImageDataURL(e){return this.chartProxy.getChartImageDataURL(e)}handleEmptyChart(e,t){const i=this.chartController.isPivotChart()&&!this.chartController.isPivotMode(),a=this.chartController.getChartType();let n=1;this.chartController.isActiveXYChart()?n="bubble"===a?3:2:k(D(a))&&(n=0);const r=t<n||0===e.length;if(this.eChart){const e=i||r;(0,Te._setDisplayed)(this.eChart,!e),(0,Te._setDisplayed)(this.eEmpty,e)}return i?(this.eEmpty.innerText=this.chartTranslationService.translate("pivotChartRequiresPivotMode"),!0):!!r&&(this.eEmpty.innerText=this.chartTranslationService.translate("noDataToChart"),!0)}downloadChart(e,t,i){this.chartProxy.downloadChart(e,t,i)}openChartToolPanel(e){const t=e?Se[e]:e;this.chartMenu.showMenu({panel:t})}closeChartToolPanel(){this.chartMenu.hideMenu()}getChartId(){return this.chartController.getChartId()}getUnderlyingChart(){return this.chartProxy.getChartRef()}crossFilteringReset(){this.chartProxy.crossFilteringReset()}setActiveChartCellRange(e){this.getGui().contains(e.relatedTarget)||(this.chartController.setChartRange(!0),this.focusService.clearFocusedCell())}getThemeName(){const e=this.gos.get("chartThemes")||vt;if(0===e.length)throw new Error("Cannot create chart: no chart themes available.");const{chartThemeName:t}=this.params;return(0,Te._includes)(e,t)?t:e[0]}getAllKeysInObjects(e){const t={};return e.filter((e=>null!=e)).forEach((e=>{Object.keys(e).forEach((e=>t[e]=null))})),Object.keys(t)}validateCustomThemes(){const e=this.getChartThemes(),t=this.gos.get("customChartThemes");t&&this.getAllKeysInObjects([t]).forEach((t=>{(0,Te._includes)(e,t)||(0,Te._warnOnce)("a custom chart theme with the name '"+t+"' has been supplied but not added to the 'chartThemes' list")}))}reactivePropertyUpdate(){this.chartController.setChartThemeName(this.getThemeName(),!0);const e=this.getChartId(),t=this.chartController.isCrossFilterChart()?"crossFilter":this.getChartModel().modelType,i=this.gos.get("chartThemeOverrides")||{};this.update({type:`${t}ChartUpdate`,chartId:e,chartThemeOverrides:i})}raiseChartCreatedEvent(){const e={type:"chartCreated",chartId:this.chartController.getChartId()};this.chartProxy.getChart().waitForUpdate().then((()=>{this.eventService.dispatchEvent(e)}))}raiseChartDestroyedEvent(){const e={type:"chartDestroyed",chartId:this.chartController.getChartId()};this.eventService.dispatchEvent(e)}destroy(){super.destroy(),this.chartProxy&&this.chartProxy.destroy(),this.destroyBean(this.chartMenu),this.chartDialog&&this.chartDialog.isAlive()&&this.destroyBean(this.chartDialog),this.onDestroyColorSchemeChangeListener?.();const e=this.getGui();(0,Te._clearElement)(e),(0,Te._removeFromParent)(e),this.raiseChartDestroyedEvent()}},Dr=!1;function Ar(e){const t=e.version;return null==e.version&&(e.version=function(e){const t=e;if(null!=e.version)return e.version;const i=(e,...t)=>Object.keys(e||{}).some((e=>t.includes(e))),a=t.chartOptions,n=i(a,"seriesDefaults")?a?.seriesDefaults:a?.[Object.keys(a)[0]],r={"27.0.0":i(t,"seriesChartTypes"),"26.2.0":!i(a,"seriesDefaults"),"26.1.0":i(n?.highlightStyle,"item"),"26.0.0":i(n?.highlightStyle,"series"),"25.1.0":i(n?.label,"minAngle"),"25.0.0":i(t,"modelType","aggFunc","unlinkChart","suppressChartRanges")||i(n,"lineDash","lineDashOffset"),"24.0.0":i(t,"chartThemeName","chart")||i(a,"series"),"23.2.0":i(a,"navigator"),"23.0.0":i(a?.legend?.item?.marker,"shape"),"22.1.0":i(t,"chartPalette","chartType")},o="27.1.0",s=Object.entries(r).filter((([e,t])=>t));Dr&&console.log("AG Grid: ChartModel migration",{heuristicVersionCandidates:s});const[l=o]=s[0];Dr&&console.log("AG Grid: ChartModel migration",{heuristicVersion:l});return l}(e)),e=_r("23.0.0",e,Er),e=_r("24.0.0",e,Tr),e=_r("25.1.0",e,Pr),e=_r("26.0.0",e,Fr),e=_r("26.1.0",e,Ir),e=_r("26.2.0",e,Lr),e=_r("28.0.0",e,Nr),e=_r("28.2.0",e,Or),e=_r("29.0.0",e,zr),e=_r("29.1.0",e,Gr),e=_r("29.2.0",e,Br),e=_r("30.0.0",e,Vr),e=_r("31.0.0",e,Hr),e=function(e){return e=Xr("chartOptions.*.width",e),e=Xr("chartOptions.*.height",e),e=Kr("chartOptions.*.axes.category.label.autoRotate",!0,e),e}(e=_r("32.0.0",e,Wr)),e=_r(Ee,e,(e=>e)),Dr&&t!==e.version&&console.log("AG Grid: ChartModel migration complete",{model:e}),e}function Er(e){return e=Zr("chartOptions.legend.item.marker.type","shape",e),e=Zr("chartOptions.seriesDefaults.marker.type","shape",e),e=Zr("chartOptions.legend.padding","spacing",e)}function Tr(e){e=Xr("chartOptions.seriesDefaults.marker.minSize",e);const{chartType:t,chartPalette:i,chartOptions:{xAxis:a,yAxis:n,...r},...o}=e,s=function(e){switch(e){case"bar":case"stackedBar":case"normalizedBar":return["number","category"];case"groupedBar":return["number","grouped-category"];case"column":case"stackedColumn":case"normalizedColumn":case"line":case"area":case"stackedArea":case"normalizedArea":case"histogram":return["category","number"];case"groupedColumn":return["grouped-category","number"];case"scatter":case"bubble":return["number","number"];default:return}}(t),l=s?.map(((e,t)=>({type:e,...0===t?a:n})));return{chartType:t,chartThemeName:{borneo:"ag-default",material:"ag-material",bright:"ag-vivid"}[i]??"ag-default",chartOptions:{...r,axes:l,xAxis:a,yAxis:n},...o}}function Pr(e){return e=Zr("chartOptions.seriesDefaults.label.minRequiredAngle","minAngle",e)}function Fr(e){return e=Xr("chart",e=Jr("chartOptions.seriesDefaults.highlightStyle",e,(({dimOpacity:e,...t})=>({...t,...null!=e?{series:{dimOpacity:e}}:{}})))),e=Xr("chartOptions.seriesDefaults.tooltipClass",e),e=Ur("chartOptions.axes[].label.rotation",0,e=Xr("chartOptions.seriesDefaults.tooltipTracking",e)),e=Ur("chartOptions.axes[].label.rotation",335,e)}function Ir(e){const t=({item:e,series:t,...i})=>({item:{...i,...e},...t?{series:t}:{}});return e=Jr("chartOptions.seriesDefaults.highlightStyle",e,t),e=Jr("chartOptions.series[].highlightStyle",e,t)}function Lr(e){e=Yr("chartOptions.seriesDefaults.fill.opacity","chartOptions.seriesDefaults.fillOpacity",e),e=Yr("chartOptions.seriesDefaults.stroke.opacity","chartOptions.seriesDefaults.strokeOpacity",e),e=Xr("chartOptions.seriesDefaults.fill",e=Yr("chartOptions.seriesDefaults.stroke.width","chartOptions.seriesDefaults.strokeWidth",e)),e=Xr("chartOptions.seriesDefaults.stroke",e),e=Xr("chartOptions.seriesDefaults.callout.colors",e),e=Xr("chartOptions.xAxis",e),e=Xr("chartOptions.yAxis",e);const{chartType:t,chartOptions:{axes:i,series:a,seriesDefaults:n,...r},...o}=e,s=M(t),l=D(s),c=[l],d={};if(!A(l)){const e={top:{},bottom:{},left:{},right:{}},t=i.map((({type:t,...i})=>({[t]:{...e,...i}}))).reduce(eo,{});Oe.filter((e=>null==t[e])).forEach((i=>{t[i]={...e}})),d.axes=t}return e={...o,chartType:s,chartOptions:c.map((e=>({[e]:{...d,series:n,...r}}))).reduce(eo,{})}}function Nr(e){return e=Xr("chartOptions.*.title.padding",e),e=Xr("chartOptions.*.subtitle.padding",e),e=Kr("chartOptions.*.axes.*.title.enabled",!1,e=Xr("chartOptions.*.axes.*.title.padding",e))}function Or(e){return e=Zr("chartOptions.pie.series.callout","calloutLine",e),e=Zr("chartOptions.pie.series.label","calloutLabel",e),e=Zr("chartOptions.pie.series.labelKey","sectorLabelKey",e),e=Zr("chartOptions.pie.series.labelName","sectorLabelName",e),e=Zr("chartOptions.donut.series.callout","calloutLine",e),e=Zr("chartOptions.donut.series.label","calloutLabel",e),e=Zr("chartOptions.donut.series.labelKey","sectorLabelKey",e),e=Zr("chartOptions.donut.series.labelName","sectorLabelName",e)}function zr(e){return e=$r("chartOptions.scatter.series.fill","chartOptions.scatter.series.marker.fill",e),e=$r("chartOptions.scatter.series.fillOpacity","chartOptions.scatter.series.marker.fillOpacity",e),e=$r("chartOptions.scatter.series.stroke","chartOptions.scatter.series.marker.stroke",e),e=$r("chartOptions.scatter.series.strokeOpacity","chartOptions.scatter.series.marker.strokeOpacity",e),e=Yr("chartOptions.scatter.series.paired","chartOptions.scatter.paired",e=$r("chartOptions.scatter.series.strokeWidth","chartOptions.scatter.series.marker.strokeWidth",e))}function Gr(e){return e=Xr("chartOptions.axes[].tick.count",e)}function Br(e){return e=Jr("chartOptions.*.tooltip",e,(({tracking:e,...t})=>{const i={...t};return!1===e?(i.position??(i.position={type:"pointer"}),i.range??(i.range="nearest")):!0===e&&(i.position??(i.position={type:"node"}),i.range??(i.range="nearest")),i}))}function Vr(e){return e=Zr("chartOptions.pie.series.labelKey","sectorLabelKey",e),e=Kr("chartOptions.common.legend.position","right",e=jr("chartOptions.common.legend.enabled",!0,e=Xr("chartOptions.*.series.flipXY",e=Br(e=Gr(e=Zr("chartOptions.pie.series.labelName","sectorLabelName",e))))))}function Hr(e){const t=Zr("chartOptions.column","bar",e),i={"ag-pastel":"ag-sheets","ag-solar":"ag-polychroma"}[t.chartThemeName]||t.chartThemeName;return{...t,chartThemeName:i}}function Wr(e){return e=Qr("chartOptions.*.autoSize",!0,e,((e,t)=>{!0===e[t]||!1===e[t]&&(e.minHeight=600,e.minWidth=300),delete e[t]}))}function _r(e,t,i){if(qr(e)>qr(t.version)){Dr&&console.log("AG Grid: ChartModel migration",{migratingTo:e});const a=i(t);return a.version=e,Dr&&console.log("AG Grid: ChartModel migration",{migratedTo:e,result:a}),a}return t}function qr(e){const{major:t,minor:i,patch:a}=function(e){const t="string"==typeof e?e.split(".").map((e=>Number(e))):[];if(3!==t.length||t.some((e=>isNaN(e))))throw new Error("AG Grid - Illegal version string: "+e);return{major:t[0],minor:t[1],patch:t[2]}}(e);return 1e4*t+100*i+a}function Ur(e,t,i){return Qr(e,!0,i,((e,i)=>{e[i]===t&&delete e[i]}))}function Kr(e,t,i){return Qr(e,!1,i,((e,i)=>{null==e[i]&&(e[i]=t)}))}function jr(e,t,i){"string"==typeof e&&(e=e.split("."));const a=e[0];e.length>1&&(i[a]=jr(e.slice(1),t,i[a]??{}));return Object.keys(i).includes(a)||(i[a]=t),i}function Yr(e,t,i){let a,n=!1;return i=Qr(e,!0,i,((e,t)=>{n=!0,a=e[t],delete e[t]})),n?Qr(t,!1,i,((e,t)=>{e[t]=a})):i}function $r(e,t,i){let a,n=!1;return i=Qr(e,!0,i,((e,t)=>{n=!0,a=e[t],delete e[t]})),n?Qr(t,!1,i,((e,t)=>{void 0===e[t]&&(e[t]=a)})):i}function Zr(e,t,i){return Qr(e,!0,i,((e,i)=>{e[t]=e[i],delete e[i]}))}function Xr(e,t){return Qr(e,!0,t,((e,t)=>delete e[t]))}function Qr(e,t,i,a){const n=e instanceof Array?e:e.split("."),r=n.slice(0,n.length-1),o=n[n.length-1];return Jr(r,i,(e=>{const i=Object.keys(e).includes(o);if(t&&!i)return e;const n={...e};return a(n,o),n}))}function Jr(e,t,i){const a=e instanceof Array?e:e.split(".");if(t={...t},0===a.length)return i(t);if(a[0].startsWith("{")){const e=a[0].substring(1,a[0].lastIndexOf("}")).split(",");for(const n of e)null!=t[n]&&(t[n]=Jr(a.slice(1),t[n],i))}else if(a[0].endsWith("[]")){const n=a[0].substring(0,e[0].indexOf("["));t[n]instanceof Array&&(t[n]=t[n].map((e=>Jr(a.slice(1),e,i))))}else if("*"===a[0])for(const e in t)t[e]=Jr(a.slice(1),t[e],i);else null!=t[a[0]]&&(t[a[0]]=Jr(a.slice(1),t[a[0]],i));return t}var eo=(e,t)=>({...e,...t}),to=class extends De.BeanStub{constructor(){super(...arguments),this.beanName="chartService",this.activeCharts=new Set,this.activeChartComps=new Set,this.crossFilteringContext={lastSelectedChartId:""},this.isEnterprise=()=>Ae._ModuleSupport.enterpriseModule.isEnterprise}wireBeans(e){this.visibleColsService=e.visibleColsService,this.rangeService=e.rangeService,this.environment=e.environment,this.focusService=e.focusService}updateChart(e){if(0===this.activeChartComps.size)return void(0,De._warnOnce)("No active charts to update.");const t=[...this.activeChartComps].find((t=>t.getChartId()===e.chartId));t?t.update(e):(0,De._warnOnce)(`Unable to update chart. No active chart found with ID: ${e.chartId}.`)}getChartModels(){const e=[];return this.activeChartComps.forEach((t=>e.push((e=>({...e,version:Ee}))(t.getChartModel())))),e}getChartRef(e){let t;return this.activeCharts.forEach((i=>{i.chartId===e&&(t=i)})),t}getChartComp(e){let t;return this.activeChartComps.forEach((i=>{i.getChartId()===e&&(t=i)})),t}getChartImageDataURL(e){let t;return this.activeChartComps.forEach((i=>{i.getChartId()===e.chartId&&(t=i.getChartImageDataURL(e.fileFormat))})),t}downloadChart(e){const t=Array.from(this.activeChartComps).find((t=>t.getChartId()===e.chartId));t?.downloadChart(e.dimensions,e.fileName,e.fileFormat)}openChartToolPanel(e){const t=Array.from(this.activeChartComps).find((t=>t.getChartId()===e.chartId));t?.openChartToolPanel(e.panel)}closeChartToolPanel(e){const t=Array.from(this.activeChartComps).find((t=>t.getChartId()===e));t?.closeChartToolPanel()}createChartFromCurrentRange(e="groupedColumn",t){const i=this.getSelectedRange();return this.createChart({cellRange:i,chartType:e,focusDialogOnOpen:!t})}restoreChart(e,t){if(!e)return void(0,De._warnOnce)("unable to restore chart as no chart model is provided");let i,a,n,r;return e.version!==Ee&&(e=Ar(e)),"pivot"===e.modelType?(this.gos.updateGridOptions({options:{pivotMode:!0},source:"pivotChart"}),i=this.createCellRange(void 0,!0),a=!0,n=!0):(i=this.createCellRange(e.cellRange),r=e.chartPalette,n=e.suppressChartRanges),i?this.createChart({...e,cellRange:i,pivotChart:a,suppressChartRanges:n,chartContainer:t,chartOptionsToRestore:e.chartOptions,chartPaletteToRestore:r}):void 0}createRangeChart(e,t){const i=this.createCellRange(e.cellRange);if(i)return this.createChart({...e,cellRange:i,focusDialogOnOpen:!t})}createPivotChart(e,t){this.gos.updateGridOptions({options:{pivotMode:!0},source:"pivotChart"});const i=this.createCellRange(void 0,!0);if(i)return this.createChart({...e,cellRange:i,pivotChart:!0,suppressChartRanges:!0,focusDialogOnOpen:!t})}createCrossFilterChart(e,t){const i=this.createCellRange(e.cellRange);if(!i)return;const a=!(void 0!==e.suppressChartRanges&&null!==e.suppressChartRanges)||e.suppressChartRanges;return this.createChart({...e,cellRange:i,suppressChartRanges:a,crossFiltering:!0,focusDialogOnOpen:!t})}createChart(e){const t=mt.validateCreateParams(e);if(!t)return;e=!0===t?e:t;const{chartType:i,chartContainer:a}=e,n=this.gos.getCallback("createChartContainer"),r={...e,chartId:this.generateId(),chartType:M(i),insideDialog:!(a||n),crossFilteringContext:this.crossFilteringContext,crossFilteringResetCallback:()=>this.activeChartComps.forEach((e=>e.crossFilteringReset()))},o=new Rr(r);this.createBean(o);const s=this.createChartRef(o);if(a){a.appendChild(o.getGui());const e=this.environment.getThemeAncestorElement();e&&!e.contains(a)&&this.environment.applyThemeClasses(a)}else n?n(s):o.addEventListener("destroyed",(()=>{this.activeChartComps.delete(o),this.activeCharts.delete(s)}));return s}createChartRef(e){const t={destroyChart:()=>{this.activeCharts.has(t)&&(this.destroyBean(e),this.activeChartComps.delete(e),this.activeCharts.delete(t))},focusChart:()=>{this.focusService.focusInto(e.getGui())},chartElement:e.getGui(),chart:e.getUnderlyingChart(),chartId:e.getChartModel().chartId};return this.activeCharts.add(t),this.activeChartComps.add(e),t}getSelectedRange(){const e=this.rangeService?.getCellRanges()??[];return e.length>0?e[0]:{columns:[]}}generateId(){return`id-${Math.random().toString(36).substring(2,18)}`}createCellRange(e,t){const i=t?{rowStartIndex:null,rowStartPinned:void 0,rowEndIndex:null,rowEndPinned:void 0,columns:this.visibleColsService.getAllCols().map((e=>e.getColId()))}:e,a=i&&this.rangeService?.createPartialCellRangeFromRangeParams(i,!0);return a||(0,De._warnOnce)(`unable to create chart as ${t?"there are no columns in the grid":"no range is selected"}.`),a}destroy(){this.activeCharts.forEach((e=>e.destroyChart())),super.destroy()}};to.CHARTS_VERSION=Ae.VERSION;var io=28,ao=6;function no(e){return e&&e.match(/\d+\.\d+\.\d+/)}function ro({type:e,gridVersion:t,chartsVersion:i}){const a="AG Grid: AG Grid version is incompatible. Please see https://www.ag-grid.com/javascript-data-grid/modules/ for more information.";if(!t)return a;const n=function(e){if(!e||!no(e))return;const[t,i]=e.split(".")||[],a=`${t}.${i}.x`,n=parseInt(t,10)-io+ao;if(n<0)return;return{gridMajorMinor:a,chartsMajorMinor:`${n}.${i}.x`}}(t);if(!n)return a;const{gridMajorMinor:r,chartsMajorMinor:o}=n;return"incompatible"===e?`AG Grid version ${t} and AG Charts version ${i} is not supported. AG Grid version ${r} should be used with AG Chart ${o}. Please see https://www.ag-grid.com/javascript-data-grid/modules/ for more information.`:"invalidCharts"===e?`AG Grid version ${r} should be used with AG Chart ${o}. Please see https://www.ag-grid.com/javascript-data-grid/modules/ for more information.`:a}function oo({gridVersion:e,chartsVersion:t}){if(!no(t))return{isValid:!1,message:ro({type:"invalidCharts",gridVersion:e,chartsVersion:t})};if(!no(e))return{isValid:!1,message:ro({type:"invalidGrid",gridVersion:e,chartsVersion:t})};const[i,a]=e.split(".")||[],[n,r,o]=t.split(".")||[],s=function({gridMajorVersion:e,chartsMajorVersion:t}){const i=parseInt(e,10),a=parseInt(t,10),n=i-io;return n===a-ao&&n>=0}({gridMajorVersion:i,chartsMajorVersion:n});return s&&a===r||o.includes("beta")?{isValid:!0}:s&&a===r?{isValid:!1,message:ro({type:"invalid",gridVersion:e,chartsVersion:t})}:{isValid:!1,message:ro({type:"incompatible",gridVersion:e,chartsVersion:t})}}var so={version:Ee,validate:()=>oo({gridVersion:Ee,chartsVersion:to.CHARTS_VERSION}),moduleName:`${h.ModuleNames.GridChartsModule}-core`,beans:[to,Re,be,fe,xe,ue],userComponents:[{name:"agMenuItem",classImp:u.AgMenuItemRenderer}],dependantModules:[g.RangeSelectionModule,u.EnterpriseCoreModule]},lo={version:Ee,moduleName:`${h.ModuleNames.GridChartsModule}-api`,apiFunctions:{getChartModels:function(e){return e.frameworkOverrides.wrapIncoming((()=>e.chartService?.getChartModels()))},getChartRef:function(e,t){return e.frameworkOverrides.wrapIncoming((()=>e.chartService?.getChartRef(t)))},getChartImageDataURL:function(e,t){return e.frameworkOverrides.wrapIncoming((()=>e.chartService?.getChartImageDataURL(t)))},downloadChart:function(e,t){return e.frameworkOverrides.wrapIncoming((()=>e.chartService?.downloadChart(t)))},openChartToolPanel:function(e,t){return e.frameworkOverrides.wrapIncoming((()=>e.chartService?.openChartToolPanel(t)))},closeChartToolPanel:function(e,t){return e.frameworkOverrides.wrapIncoming((()=>e.chartService?.closeChartToolPanel(t.chartId)))},createRangeChart:function(e,t){return e.frameworkOverrides.wrapIncoming((()=>e.chartService?.createRangeChart(t,!0)))},createPivotChart:function(e,t){return e.frameworkOverrides.wrapIncoming((()=>e.chartService?.createPivotChart(t,!0)))},createCrossFilterChart:function(e,t){return e.frameworkOverrides.wrapIncoming((()=>e.chartService?.createCrossFilterChart(t,!0)))},updateChart:function(e,t){return e.frameworkOverrides.wrapIncoming((()=>e.chartService?.updateChart(t)))},restoreChart:function(e,t,i){return e.frameworkOverrides.wrapIncoming((()=>e.chartService?.restoreChart(t,i)))}},dependantModules:[so]},co={version:Ee,moduleName:h.ModuleNames.GridChartsModule,dependantModules:[so,lo]};((e,t,i)=>{l(e,t,"default"),i&&l(i,t,"default")})(c,i(4933),e.exports);var ho={time:d.time,AgCharts:d.AgCharts}},2424:function(e,t,i){var a,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,l={};((e,t)=>{for(var i in t)n(e,i,{get:t[i],enumerable:!0})})(l,{ClipboardModule:()=>w}),e.exports=(a=l,((e,t,i,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of o(t))s.call(e,l)||l===i||n(e,l,{get:()=>t[l],enumerable:!(a=r(t,l))||a.enumerable});return e})(n({},"__esModule",{value:!0}),a));var c=i(3423),d=i(9209),h=i(8299);var u=i(3423),g="paste",p="dragCopy",m="clipboard",f=e=>`AG Grid: Unable to use the Clipboard API (navigator.clipboard.${e}()). The reason why it could not be used has been logged in the previous line. For this reason the grid has defaulted to using a workaround which doesn't perform as well. Either fix why Clipboard API is blocked, OR stop this message from appearing by setting grid property suppressClipboardApi=true (which will default the grid to using the workaround rather than the API.`,v=class e extends u.BeanStub{constructor(){super(...arguments),this.beanName="clipboardService",this.lastPasteOperationTime=0,this.navigatorApiFailed=!1}wireBeans(e){this.csvCreator=e.csvCreator,this.selectionService=e.selectionService,this.rowModel=e.rowModel,this.ctrlsService=e.ctrlsService,this.valueService=e.valueService,this.focusService=e.focusService,this.rowRenderer=e.rowRenderer,this.visibleColsService=e.visibleColsService,this.funcColsService=e.funcColsService,this.cellNavigationService=e.cellNavigationService,this.cellPositionUtils=e.cellPositionUtils,this.rowPositionUtils=e.rowPositionUtils,this.rangeService=e.rangeService}postConstruct(){"clientSide"===this.rowModel.getType()&&(this.clientSideRowModel=this.rowModel),this.ctrlsService.whenReady((e=>{this.gridCtrl=e.gridCtrl}))}pasteFromClipboard(){!this.gos.get("suppressClipboardApi")&&!this.navigatorApiFailed&&navigator.clipboard&&navigator.clipboard.readText?navigator.clipboard.readText().then(this.processClipboardData.bind(this)).catch((e=>{(0,u._warnOnce)(`${e}\n${f("readText")}`),this.navigatorApiFailed=!0,this.pasteFromClipboardLegacy()})):this.pasteFromClipboardLegacy()}pasteFromClipboardLegacy(){let e=!1;const t=t=>{const i=(new Date).getTime();i-this.lastPasteOperationTime<50&&(e=!0,t.preventDefault()),this.lastPasteOperationTime=i};this.executeOnTempElement((e=>{e.addEventListener("paste",t),e.focus({preventScroll:!0})}),(i=>{const a=i.value;e?this.refocusLastFocusedCell():this.processClipboardData(a),i.removeEventListener("paste",t)}))}refocusLastFocusedCell(){const e=this.focusService.getFocusedCell();e&&this.focusService.setFocusedCell({rowIndex:e.rowIndex,column:e.column,rowPinned:e.rowPinned,forceBrowserFocus:!0})}getClipboardDelimiter(){const e=this.gos.get("clipboardDelimiter");return(0,u._exists)(e)?e:"\t"}processClipboardData(t){if(null==t)return;let i=e.stringToArray(t,this.getClipboardDelimiter());const a=this.gos.getCallback("processDataFromClipboard");if(a&&(i=a({data:i})),null==i)return;this.gos.get("suppressLastEmptyLineOnPaste")&&this.removeLastLineIfBlank(i);this.doPasteOperation(((e,t,a,n)=>{const r=this.rangeService?.isMoreThanOneCell();r&&!this.hasOnlyOneValueToPaste(i)?this.pasteIntoActiveRange(this.rangeService,i,e,t,n):this.pasteStartingFromFocusedCell(i,e,t,a,n)}))}static stringToArray(e,t=","){const i=[],a=e=>"\r"===e||"\n"===e;let n=!1;if(""===e)return[[""]];for(let r=0,o=0,s=0;s<e.length;s++){const l=e[s-1],c=e[s],d=e[s+1],h=()=>{i[r]||(i[r]=[]),i[r][o]||(i[r][o]="")};if(h(),'"'===c&&(n?'"'===d?(i[r][o]+='"',s++):n=!1:(void 0===l||l===t||a(l))&&(n=!0)),!n&&'"'!==c){if(c===t){o++,h();continue}if(a(c)){o=0,r++,h(),"\r"===c&&"\n"===d&&s++;continue}}i[r][o]+=c}return i}doPasteOperation(e){const t="clipboard";let i;if(this.eventService.dispatchEvent({type:"pasteStart",source:t}),this.clientSideRowModel){const e=this.gos.get("aggregateOnlyChangedColumns");i=new u.ChangedPath(e,this.clientSideRowModel.getRootNode())}const a={},n=[];e(a,n,this.focusService.getFocusedCell(),i);const r=[...n];i&&(this.clientSideRowModel.doAggregate(i),i.forEachChangedNodeDepthFirst((e=>{r.push(e)}))),this.rowRenderer.refreshCells({rowNodes:r}),this.dispatchFlashCells(a),this.fireRowChanged(n),this.refocusLastFocusedCell();const o={type:"pasteEnd",source:t};this.eventService.dispatchEvent(o)}pasteIntoActiveRange(e,t,i,a,n){const r=this.getRangeSize(e)%t.length!=0;let o=0,s=0;this.iterateActiveRanges(!1,((e,l,c,d)=>{if(d-o>=t.length){if(r)return;o+=s,s=0}const h=t[d-o];a.push(l);const u=this.gos.getCallback("processCellFromClipboard");c.forEach(((t,a)=>{if(!t.isCellEditable(l)||t.isSuppressPaste(l))return;a>=h.length&&(a%=h.length);const r=this.processCell(l,t,h[a],p,u,!0);l.setDataValue(t,r,g),n&&n.addParentNode(l.parent,[t]);const{rowIndex:o,rowPinned:s}=e,c=this.cellPositionUtils.createIdFromValues({rowIndex:o,column:t,rowPinned:s});i[c]=!0})),s++}))}getDisplayedColumnsStartingAt(e){let t=e;const i=[];for(;null!=t;)i.push(t),t=this.visibleColsService.getColAfter(t);return i}pasteStartingFromFocusedCell(e,t,i,a,n){if(!a)return;const r={rowIndex:a.rowIndex,rowPinned:a.rowPinned},o=this.getDisplayedColumnsStartingAt(a.column);this.isPasteSingleValueIntoRange(e)?this.pasteSingleValueIntoRange(e,i,t,n):this.pasteMultipleValues(e,r,i,o,t,m,n)}isPasteSingleValueIntoRange(e){return this.hasOnlyOneValueToPaste(e)&&null!=this.rangeService&&!this.rangeService.isEmpty()}pasteSingleValueIntoRange(e,t,i,a){const n=e[0][0];this.iterateActiveRanges(!1,((e,r,o)=>{t.push(r),o.forEach((e=>this.updateCellValue(r,e,n,i,m,a)))}))}hasOnlyOneValueToPaste(e){return 1===e.length&&1===e[0].length}copyRangeDown(){if(!this.rangeService||this.rangeService.isEmpty())return;const e=[];this.doPasteOperation(((t,i,a,n)=>{const r=this.gos.getCallback("processCellForClipboard"),o=this.gos.getCallback("processCellFromClipboard");this.iterateActiveRanges(!0,((a,s,l)=>{e.length?(i.push(s),l.forEach(((i,r)=>{if(!i.isCellEditable(s)||i.isSuppressPaste(s))return;const l=this.processCell(s,i,e[r],p,o,!0);s.setDataValue(i,l,g),n&&n.addParentNode(s.parent,[i]);const{rowIndex:c,rowPinned:d}=a,h=this.cellPositionUtils.createIdFromValues({rowIndex:c,column:i,rowPinned:d});t[h]=!0}))):l.forEach((t=>{const i=this.processCell(s,t,this.valueService.getValue(t,s),p,r,!1,!0);e.push(i)}))}))}))}removeLastLineIfBlank(e){const t=(0,u._last)(e);if(t&&1===t.length&&""===t[0]){if(1===e.length)return;(0,u._removeFromArray)(e,t)}}fireRowChanged(e){"fullRow"===this.gos.get("editType")&&e.forEach((e=>{const t={type:"rowValueChanged",node:e,data:e.data,rowIndex:e.rowIndex,rowPinned:e.rowPinned};this.eventService.dispatchEvent(t)}))}pasteMultipleValues(e,t,i,a,n,r,o){let s=t;const l=null!=this.clientSideRowModel&&!this.gos.get("enableGroupEdit")&&!this.gos.get("treeData"),c=()=>{for(;;){if(!s)return null;const e=this.rowPositionUtils.getRowNode(s);if(s=this.cellNavigationService.getRowBelow({rowPinned:s.rowPinned,rowIndex:s.rowIndex}),null==e)return null;if(!(e.detail||e.footer||l&&e.group))return e}};e.forEach((e=>{const t=c();t&&(e.forEach(((e,i)=>this.updateCellValue(t,a[i],e,n,r,o))),i.push(t))}))}updateCellValue(e,t,i,a,n,r){if(!e||!t||!t.isCellEditable(e)||t.isSuppressPaste(e))return;if(e.group&&t.isValueActive())return;const o=this.processCell(e,t,i,n,this.gos.getCallback("processCellFromClipboard"),!0);e.setDataValue(t,o,g);const{rowIndex:s,rowPinned:l}=e;a[this.cellPositionUtils.createIdFromValues({rowIndex:s,column:t,rowPinned:l})]=!0,r&&r.addParentNode(e.parent,[t])}copyToClipboard(e={}){this.copyOrCutToClipboard(e)}cutToClipboard(e={},t="api"){if(this.gos.get("suppressCutToClipboard"))return;const i={type:"cutStart",source:t};this.eventService.dispatchEvent(i),this.copyOrCutToClipboard(e,!0);const a={type:"cutEnd",source:t};this.eventService.dispatchEvent(a)}copyOrCutToClipboard(e,t){let{includeHeaders:i,includeGroupHeaders:a}=e;null==i&&(i=this.gos.get("copyHeadersToClipboard")),null==a&&(a=this.gos.get("copyGroupHeadersToClipboard"));const n={includeHeaders:i,includeGroupHeaders:a},r=!this.gos.get("suppressCopyRowsToClipboard");let o=null;!this.rangeService||this.rangeService.isEmpty()||this.shouldSkipSingleCellRange(this.rangeService)?r&&!this.selectionService.isEmpty()?(this.copySelectedRowsToClipboard(n),o=1):this.focusService.isAnyCellFocused()&&(this.copyFocusedCellToClipboard(n),o=2):(this.copySelectedRangeToClipboard(n),o=0),t&&null!==o&&this.clearCellsAfterCopy(o)}clearCellsAfterCopy(e){if(this.eventService.dispatchEvent({type:"keyShortcutChangedCellStart"}),0===e)this.rangeService.clearCellRangeCellValues({cellEventSource:"clipboardService"});else if(1===e)this.clearSelectedRows();else{const e=this.focusService.getFocusedCell();if(null==e)return;const t=this.rowPositionUtils.getRowNode(e);t&&this.clearCellValue(t,e.column)}this.eventService.dispatchEvent({type:"keyShortcutChangedCellEnd"})}clearSelectedRows(){const e=this.selectionService.getSelectedNodes(),t=this.visibleColsService.getAllCols();for(const i of e)for(const e of t)this.clearCellValue(i,e)}clearCellValue(e,t){if(!t.isCellEditable(e))return;const i=this.valueService.parseValue(t,e,"",e.getValueFromValueService(t))??null;e.setDataValue(t,i,"clipboardService")}shouldSkipSingleCellRange(e){return this.gos.get("suppressCopySingleCellRanges")&&!e.isMoreThanOneCell()}iterateActiveRanges(e,t,i){if(!this.rangeService||this.rangeService.isEmpty())return;const a=this.rangeService.getCellRanges();e?this.iterateActiveRange(a[0],t,i,!0):a.forEach(((e,n)=>this.iterateActiveRange(e,t,i,n===a.length-1)))}iterateActiveRange(e,t,i,a){if(!this.rangeService)return;let n=this.rangeService.getRangeStartRow(e);const r=this.rangeService.getRangeEndRow(e);i&&e.columns&&i(e.columns);let o=0,s=!1;for(;!s&&null!=n;){const i=this.rowPositionUtils.getRowNode(n);s=this.rowPositionUtils.sameRow(n,r),t(n,i,e.columns,o++,s&&a),n=this.cellNavigationService.getRowBelow(n)}}copySelectedRangeToClipboard(e={}){if(!this.rangeService||this.rangeService.isEmpty())return;const t=this.rangeService.areAllRangesAbleToMerge(),{data:i,cellsToFlash:a}=t?this.buildDataFromMergedRanges(this.rangeService,e):this.buildDataFromRanges(this.rangeService,e);this.copyDataToClipboard(i),this.dispatchFlashCells(a)}buildDataFromMergedRanges(e,t){const i=new Set,a=e.getCellRanges(),n=new Map,r=[],o={};a.forEach((t=>{t.columns.forEach((e=>i.add(e)));const{rowPositions:a,cellsToFlash:s}=this.getRangeRowPositionsAndCellsToFlash(e,t);a.forEach((e=>{const t=`${e.rowIndex}-${e.rowPinned||"null"}`;n.get(t)||(n.set(t,!0),r.push(e))})),Object.assign(o,s)}));const s=this.visibleColsService.getAllCols(),l=Array.from(i);l.sort(((e,t)=>s.indexOf(e)-s.indexOf(t)));return{data:this.buildExportParams({columns:l,rowPositions:r,includeHeaders:t.includeHeaders,includeGroupHeaders:t.includeGroupHeaders}),cellsToFlash:o}}buildDataFromRanges(e,t){const i=e.getCellRanges(),a=[],n={};return i.forEach((i=>{const{rowPositions:r,cellsToFlash:o}=this.getRangeRowPositionsAndCellsToFlash(e,i);Object.assign(n,o),a.push(this.buildExportParams({columns:i.columns,rowPositions:r,includeHeaders:t.includeHeaders,includeGroupHeaders:t.includeGroupHeaders}))})),{data:a.join("\n"),cellsToFlash:n}}getRangeRowPositionsAndCellsToFlash(e,t){const i=[],a={},n=e.getRangeStartRow(t),r=e.getRangeEndRow(t);let o=n;for(;o&&(i.push(o),t.columns.forEach((e=>{const{rowIndex:t,rowPinned:i}=o,n=this.cellPositionUtils.createIdFromValues({rowIndex:t,column:e,rowPinned:i});a[n]=!0})),!this.rowPositionUtils.sameRow(o,r));)o=this.cellNavigationService.getRowBelow(o);return{rowPositions:i,cellsToFlash:a}}getCellsToFlashFromRowNodes(e){const t=this.visibleColsService.getAllCols(),i={};for(let a=0;a<e.length;a++){const{rowIndex:n,rowPinned:r}=e[a];if(null!=n)for(let e=0;e<t.length;e++){const a=t[e];i[this.cellPositionUtils.createIdFromValues({rowIndex:n,column:a,rowPinned:r})]=!0}}return i}copyFocusedCellToClipboard(e={}){const t=this.focusService.getFocusedCell();if(null==t)return;const i=this.cellPositionUtils.createId(t),a={rowPinned:t.rowPinned,rowIndex:t.rowIndex},n=t.column,r=this.buildExportParams({columns:[n],rowPositions:[a],includeHeaders:e.includeHeaders,includeGroupHeaders:e.includeGroupHeaders});this.copyDataToClipboard(r),this.dispatchFlashCells({[i]:!0})}copySelectedRowsToClipboard(e={}){const{columnKeys:t,includeHeaders:i,includeGroupHeaders:a}=e,n=this.buildExportParams({columns:t,includeHeaders:i,includeGroupHeaders:a});this.copyDataToClipboard(n);const r=this.selectionService.getSelectedNodes()||[];this.dispatchFlashCells(this.getCellsToFlashFromRowNodes(r))}buildExportParams(e){const{columns:t,rowPositions:i,includeHeaders:a=!1,includeGroupHeaders:n=!1}=e,r={columnKeys:t,rowPositions:i,skipColumnHeaders:!a,skipColumnGroupHeaders:!n,suppressQuotes:!0,columnSeparator:this.getClipboardDelimiter(),onlySelected:!i,processCellCallback:this.gos.getCallback("processCellForClipboard"),processRowGroupCallback:e=>this.processRowGroupCallback(e),processHeaderCallback:this.gos.getCallback("processHeaderForClipboard"),processGroupHeaderCallback:this.gos.getCallback("processGroupHeaderForClipboard")};return this.csvCreator.getDataAsCsv(r,!0)}processRowGroupCallback(e){const{node:t,column:i}=e,a=this.gos.get("treeData"),n=this.gos.get("suppressGroupMaintainValueType");let r=(()=>{if(a||n||!i)return t.key;const e=t.groupData?.[i.getId()];return e&&t.rowGroupColumn&&!1!==t.rowGroupColumn.getColDef().useValueFormatterForExport?this.valueService.formatValue(t.rowGroupColumn,t,e)??e:e})();if(e.node.footer){let e="";r&&r.length&&(e=` ${r}`),r=`Total${e}`}const o=this.gos.getCallback("processCellForClipboard");if(o){let e=t.rowGroupColumn;return!e&&t.footer&&-1===t.level&&(e=this.funcColsService.getRowGroupColumns()[0]),o({value:r,node:t,column:e,type:"clipboard",formatValue:i=>this.valueService.formatValue(e,t,i)??i,parseValue:i=>this.valueService.parseValue(e,t,i,this.valueService.getValue(e,t))})}return r}dispatchFlashCells(e){window.setTimeout((()=>{const t={type:"flashCells",cells:e};this.eventService.dispatchEvent(t)}),0)}processCell(e,t,i,a,n,r,o){if(n){return n({column:t,node:e,value:i,type:a,formatValue:i=>this.valueService.formatValue(t,e??null,i)??i,parseValue:i=>this.valueService.parseValue(t,e??null,i,this.valueService.getValue(t,e))})}return r&&!1!==t.getColDef().useValueParserForImport?this.valueService.parseValue(t,e??null,i,this.valueService.getValue(t,e)):o&&!1!==t.getColDef().useValueFormatterForExport?this.valueService.formatValue(t,e??null,i)??i:i}copyDataToClipboard(e){const t=this.gos.getCallback("sendToClipboard");if(t)return void t({data:e});!this.gos.get("suppressClipboardApi")&&navigator.clipboard?navigator.clipboard.writeText(e).catch((t=>{(0,u._warnOnce)(`${t}\n${f("writeText")}`),this.copyDataToClipboardLegacy(e)})):this.copyDataToClipboardLegacy(e)}copyDataToClipboardLegacy(e){this.executeOnTempElement((t=>{const i=this.gos.getDocument(),a=this.gos.getActiveDomElement();t.value=e||" ",t.select(),t.focus({preventScroll:!0});i.execCommand("copy")||(0,u._warnOnce)("Browser did not allow document.execCommand('copy'). Ensure api.copySelectedRowsToClipboard() is invoked via a user event, i.e. button click, otherwise the browser will prevent it for security reasons."),null!=a&&null!=a.focus&&a.focus({preventScroll:!0})}))}executeOnTempElement(e,t){const i=this.gos.getDocument(),a=i.createElement("textarea");a.style.width="1px",a.style.height="1px",a.style.top=i.documentElement.scrollTop+"px",a.style.left=i.documentElement.scrollLeft+"px",a.style.position="absolute",a.style.opacity="0";const n=this.gridCtrl.getGui();n.appendChild(a);try{e(a)}catch(e){(0,u._warnOnce)("Browser does not support document.execCommand('copy') for clipboard operations")}t?window.setTimeout((()=>{t(a),n.removeChild(a)}),100):n.removeChild(a)}getRangeSize(e){const t=e.getCellRanges();let i=0,a=0;return t.length>0&&(i=e.getRangeStartRow(t[0]).rowIndex,a=e.getRangeEndRow(t[0]).rowIndex),i-a+1}},y="32.0.2",b={version:y,moduleName:`${c.ModuleNames.ClipboardModule}-core`,beans:[v],dependantModules:[h.EnterpriseCoreModule,d.CsvExportModule]},C={version:y,moduleName:`${c.ModuleNames.ClipboardModule}-api`,apiFunctions:{copyToClipboard:function(e,t){e.clipboardService?.copyToClipboard(t)},cutToClipboard:function(e,t){e.clipboardService?.cutToClipboard(t)},copySelectedRowsToClipboard:function(e,t){e.clipboardService?.copySelectedRowsToClipboard(t)},copySelectedRangeToClipboard:function(e,t){e.clipboardService?.copySelectedRangeToClipboard(t)},copySelectedRangeDown:function(e){e.clipboardService?.copyRangeDown()},pasteFromClipboard:function(e){e.clipboardService?.pasteFromClipboard()}},dependantModules:[b]},w={version:y,moduleName:c.ModuleNames.ClipboardModule,dependantModules:[b,C]}},7202:function(e,t,i){var a,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,l={};((e,t)=>{for(var i in t)n(e,i,{get:t[i],enumerable:!0})})(l,{AgPrimaryCols:()=>L,ColumnsToolPanelModule:()=>V}),e.exports=(a=l,((e,t,i,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of o(t))s.call(e,l)||l===i||n(e,l,{get:()=>t[l],enumerable:!(a=r(t,l))||a.enumerable});return e})(n({},"__esModule",{value:!0}),a));var c=i(3423),d=i(8299),h=i(9942),u=i(3691),g=i(3423),p=i(9942),m=i(3423),f=i(3423),v={selector:"AG-PRIMARY-COLS-HEADER",component:class extends f.Component{constructor(){super('<div class="ag-column-select-header" role="presentation">\n <div data-ref="eExpand" class="ag-column-select-header-icon"></div>\n <ag-checkbox data-ref="eSelect" class="ag-column-select-header-checkbox"></ag-checkbox>\n <ag-input-text-field class="ag-column-select-header-filter-wrapper" data-ref="eFilterTextField"></ag-input-text-field>\n </div>',[f.AgCheckboxSelector,f.AgInputTextFieldSelector]),this.eExpand=f.RefPlaceholder,this.eSelect=f.RefPlaceholder,this.eFilterTextField=f.RefPlaceholder}wireBeans(e){this.columnModel=e.columnModel}postConstruct(){this.createExpandIcons(),this.addManagedListeners(this.eExpand,{click:this.onExpandClicked.bind(this),keydown:e=>{e.key===f.KeyCode.SPACE&&(e.preventDefault(),this.onExpandClicked())}}),this.addManagedElementListeners(this.eSelect.getInputElement(),{click:this.onSelectClicked.bind(this)}),this.addManagedPropertyListener("functionsReadOnly",(()=>this.onFunctionsReadOnlyPropChanged())),this.eFilterTextField.setAutoComplete(!1).onValueChange((()=>this.onFilterTextChanged())),this.addManagedElementListeners(this.eFilterTextField.getInputElement(),{keydown:this.onMiniFilterKeyDown.bind(this)}),this.addManagedEventListeners({newColumnsLoaded:this.showOrHideOptions.bind(this)});const e=this.localeService.getLocaleTextFunc();this.eSelect.setInputAriaLabel(e("ariaColumnSelectAll","Toggle Select All Columns")),this.eFilterTextField.setInputAriaLabel(e("ariaFilterColumnsInput","Filter Columns Input")),this.activateTabIndex([this.eExpand])}onFunctionsReadOnlyPropChanged(){const e=this.gos.get("functionsReadOnly");this.eSelect.setReadOnly(e),this.eSelect.addOrRemoveCssClass("ag-column-select-column-readonly",e)}init(e){this.params=e;const t=this.gos.get("functionsReadOnly");this.eSelect.setReadOnly(t),this.eSelect.addOrRemoveCssClass("ag-column-select-column-readonly",t),this.columnModel.isReady()&&this.showOrHideOptions()}createExpandIcons(){this.eExpand.appendChild(this.eExpandChecked=(0,f._createIconNoSpan)("columnSelectOpen",this.gos)),this.eExpand.appendChild(this.eExpandUnchecked=(0,f._createIconNoSpan)("columnSelectClosed",this.gos)),this.eExpand.appendChild(this.eExpandIndeterminate=(0,f._createIconNoSpan)("columnSelectIndeterminate",this.gos)),this.setExpandState(0)}showOrHideOptions(){const e=!this.params.suppressColumnFilter,t=!this.params.suppressColumnSelectAll,i=!this.params.suppressColumnExpandAll,a=this.columnModel.isProvidedColGroupsPresent(),n=this.localeService.getLocaleTextFunc();this.eFilterTextField.setInputPlaceholder(n("searchOoo","Search...")),(0,f._setDisplayed)(this.eFilterTextField.getGui(),e),(0,f._setDisplayed)(this.eSelect.getGui(),t),(0,f._setDisplayed)(this.eExpand,i&&a)}onFilterTextChanged(){this.onFilterTextChangedDebounced||(this.onFilterTextChangedDebounced=(0,f._debounce)((()=>{const e=this.eFilterTextField.getValue();this.dispatchLocalEvent({type:"filterChanged",filterText:e})}),300)),this.onFilterTextChangedDebounced()}onMiniFilterKeyDown(e){e.key===f.KeyCode.ENTER&&setTimeout((()=>this.onSelectClicked()),300)}onSelectClicked(){this.dispatchLocalEvent({type:this.selectState?"unselectAll":"selectAll"})}onExpandClicked(){this.dispatchLocalEvent({type:0===this.expandState?"collapseAll":"expandAll"})}setExpandState(e){this.expandState=e,(0,f._setDisplayed)(this.eExpandChecked,0===this.expandState),(0,f._setDisplayed)(this.eExpandUnchecked,1===this.expandState),(0,f._setDisplayed)(this.eExpandIndeterminate,2===this.expandState)}setSelectionState(e){this.selectState=e,this.eSelect.setValue(this.selectState)}}},y=i(3423),b=i(8299),C=i(3423),w=class{constructor(e,t,i,a=!1,n){this.localEventService=new C.LocalEventService,this.displayName=e,this.dept=i,this.group=a,a?(this.columnGroup=t,this.expanded=n,this.children=[]):this.column=t}isGroup(){return this.group}getDisplayName(){return this.displayName}getColumnGroup(){return this.columnGroup}getColumn(){return this.column}getDept(){return this.dept}isExpanded(){return!!this.expanded}getChildren(){return this.children}isPassesFilter(){return this.passesFilter}setExpanded(e){e!==this.expanded&&(this.expanded=e,this.localEventService.dispatchEvent({type:"expandedChanged"}))}setPassesFilter(e){this.passesFilter=e}addEventListener(e,t){this.localEventService.addEventListener(e,t)}removeEventListener(e,t){this.localEventService.removeEventListener(e,t)}},S=i(3423),x=i(8299),k=i(3423),M=i(3423),R=i(8299),D=class extends M.Component{constructor(e,t,i){super('<div class="ag-menu"></div>'),this.column=e,this.mouseEvent=t,this.parentEl=i,this.displayName=null}wireBeans(e){this.columnModel=e.columnModel,this.columnNameService=e.columnNameService,this.funcColsService=e.funcColsService,this.popupService=e.popupService,this.focusService=e.focusService}postConstruct(){if(this.initializeProperties(this.column),this.buildMenuItemMap(),(0,M.isColumn)(this.column)?this.displayName=this.columnNameService.getDisplayNameForColumn(this.column,"columnToolPanel"):this.displayName=this.columnNameService.getDisplayNameForProvidedColumnGroup(null,this.column,"columnToolPanel"),this.isActive()){this.mouseEvent.preventDefault();const e=this.getMappedMenuItems();if(0===e.length)return;this.displayContextMenu(e)}}initializeProperties(e){(0,M.isProvidedColumnGroup)(e)?this.columns=e.getLeafColumns():this.columns=[e],this.allowGrouping=this.columns.some((e=>e.isPrimary()&&e.isAllowRowGroup())),this.allowValues=this.columns.some((e=>e.isPrimary()&&e.isAllowValue())),this.allowPivoting=this.columnModel.isPivotMode()&&this.columns.some((e=>e.isPrimary()&&e.isAllowPivot()))}buildMenuItemMap(){const e=this.localeService.getLocaleTextFunc();this.menuItemMap=new Map,this.menuItemMap.set("rowGroup",{allowedFunction:e=>e.isPrimary()&&e.isAllowRowGroup()&&!this.columnModel.isColGroupLocked(e),activeFunction:e=>e.isRowGroupActive(),activateLabel:()=>`${e("groupBy","Group by")} ${this.displayName}`,deactivateLabel:()=>`${e("ungroupBy","Un-Group by")} ${this.displayName}`,activateFunction:()=>{const e=this.funcColsService.getRowGroupColumns();this.funcColsService.setRowGroupColumns(this.addColumnsToList(e),"toolPanelUi")},deActivateFunction:()=>{const e=this.funcColsService.getRowGroupColumns();this.funcColsService.setRowGroupColumns(this.removeColumnsFromList(e),"toolPanelUi")},addIcon:"menuAddRowGroup",removeIcon:"menuRemoveRowGroup"}),this.menuItemMap.set("value",{allowedFunction:e=>e.isPrimary()&&e.isAllowValue(),activeFunction:e=>e.isValueActive(),activateLabel:()=>e("addToValues",`Add ${this.displayName} to values`,[this.displayName]),deactivateLabel:()=>e("removeFromValues",`Remove ${this.displayName} from values`,[this.displayName]),activateFunction:()=>{const e=this.funcColsService.getValueColumns();this.funcColsService.setValueColumns(this.addColumnsToList(e),"toolPanelUi")},deActivateFunction:()=>{const e=this.funcColsService.getValueColumns();this.funcColsService.setValueColumns(this.removeColumnsFromList(e),"toolPanelUi")},addIcon:"valuePanel",removeIcon:"valuePanel"}),this.menuItemMap.set("pivot",{allowedFunction:e=>this.columnModel.isPivotMode()&&e.isPrimary()&&e.isAllowPivot(),activeFunction:e=>e.isPivotActive(),activateLabel:()=>e("addToLabels",`Add ${this.displayName} to labels`,[this.displayName]),deactivateLabel:()=>e("removeFromLabels",`Remove ${this.displayName} from labels`,[this.displayName]),activateFunction:()=>{const e=this.funcColsService.getPivotColumns();this.funcColsService.setPivotColumns(this.addColumnsToList(e),"toolPanelUi")},deActivateFunction:()=>{const e=this.funcColsService.getPivotColumns();this.funcColsService.setPivotColumns(this.removeColumnsFromList(e),"toolPanelUi")},addIcon:"pivotPanel",removeIcon:"pivotPanel"})}addColumnsToList(e){return[...e].concat(this.columns.filter((t=>-1===e.indexOf(t))))}removeColumnsFromList(e){return e.filter((e=>-1===this.columns.indexOf(e)))}displayContextMenu(e){const t=this.getGui(),i=this.createBean(new R.AgMenuList),a=this.localeService.getLocaleTextFunc();let n=()=>{};t.appendChild(i.getGui()),i.addMenuItems(e),i.addManagedListeners(i,{closeMenu:()=>{this.parentEl.focus(),n()}});const r=this.popupService.addPopup({modal:!0,eChild:t,closeOnEsc:!0,afterGuiAttached:()=>this.focusService.focusInto(i.getGui()),ariaLabel:a("ariaLabelContextMenu","Context Menu"),closedCallback:e=>{e instanceof KeyboardEvent&&this.parentEl.focus(),this.destroyBean(i)}});r&&(n=r.hideFunc),this.popupService.positionPopupUnderMouseEvent({type:"columnContextMenu",mouseEvent:this.mouseEvent,ePopup:t})}isActive(){return this.allowGrouping||this.allowValues||this.allowPivoting}getMappedMenuItems(){const e=[];for(const t of this.menuItemMap.values()){const i=this.columns.some((e=>t.allowedFunction(e)&&!t.activeFunction(e))),a=this.columns.some((e=>t.allowedFunction(e)&&t.activeFunction(e)));i&&e.push({name:t.activateLabel(this.displayName),icon:(0,M._createIconNoSpan)(t.addIcon,this.gos,null),action:()=>t.activateFunction()}),a&&e.push({name:t.deactivateLabel(this.displayName),icon:(0,M._createIconNoSpan)(t.removeIcon,this.gos,null),action:()=>t.deActivateFunction()})}return e}},A=class extends k.Component{constructor(e,t,i,a){super(),this.modelItem=e,this.allowDragging=t,this.eventType=i,this.focusWrapper=a,this.cbSelect=k.RefPlaceholder,this.eLabel=k.RefPlaceholder,this.eGroupOpenedIcon=k.RefPlaceholder,this.eGroupClosedIcon=k.RefPlaceholder,this.eColumnGroupIcons=k.RefPlaceholder,this.processingColumnStateChange=!1,this.modelItem=e,this.columnGroup=e.getColumnGroup(),this.columnDept=e.getDept(),this.displayName=e.getDisplayName(),this.allowDragging=t}wireBeans(e){this.columnModel=e.columnModel,this.dragAndDropService=e.dragAndDropService,this.modelItemUtils=e.modelItemUtils}postConstruct(){this.setTemplate('<div class="ag-column-select-column-group" aria-hidden="true">\n <span class="ag-column-group-icons" data-ref="eColumnGroupIcons" >\n <span class="ag-column-group-closed-icon" data-ref="eGroupClosedIcon"></span>\n <span class="ag-column-group-opened-icon" data-ref="eGroupOpenedIcon"></span>\n </span>\n <ag-checkbox data-ref="cbSelect" class="ag-column-select-checkbox"></ag-checkbox>\n <span class="ag-column-select-column-label" data-ref="eLabel"></span>\n </div>',[k.AgCheckboxSelector]),this.eDragHandle=(0,k._createIconNoSpan)("columnDrag",this.gos),this.eDragHandle.classList.add("ag-drag-handle","ag-column-select-column-group-drag-handle");const e=this.cbSelect.getGui(),t=this.cbSelect.getInputElement();e.insertAdjacentElement("afterend",this.eDragHandle),t.setAttribute("tabindex","-1"),this.eLabel.innerHTML=this.displayName?this.displayName:"",this.setupExpandContract(),this.addCssClass("ag-column-select-indent-"+this.columnDept),this.getGui().style.setProperty("--ag-indentation-level",String(this.columnDept)),this.addManagedEventListeners({columnPivotModeChanged:this.onColumnStateChanged.bind(this)}),this.addManagedElementListeners(this.eLabel,{click:this.onLabelClicked.bind(this)}),this.addManagedListeners(this.cbSelect,{fieldValueChanged:this.onCheckboxChanged.bind(this)}),this.addManagedListeners(this.modelItem,{expandedChanged:this.onExpandChanged.bind(this)}),this.addManagedListeners(this.focusWrapper,{keydown:this.handleKeyDown.bind(this),contextmenu:this.onContextMenu.bind(this)}),this.setOpenClosedIcons(),this.setupDragging(),this.onColumnStateChanged(),this.addVisibilityListenersToAllChildren(),this.refreshAriaExpanded(),this.refreshAriaLabel(),this.setupTooltip();(0,k._getToolPanelClassesFromColDef)(this.columnGroup.getColGroupDef(),this.gos,null,this.columnGroup).forEach((e=>this.addOrRemoveCssClass(e,!0)))}getColumns(){return this.columnGroup.getLeafColumns()}setupTooltip(){const e=this.columnGroup.getColGroupDef();if(!e)return;let t;"whenTruncated"===this.gos.get("tooltipShowMode")&&(t=()=>this.eLabel.scrollWidth>this.eLabel.clientWidth);const i=()=>{const i=e.headerTooltip;this.setTooltip({newTooltipText:i,location:"columnToolPanelColumnGroup",shouldDisplayTooltip:t})};i(),this.addManagedEventListeners({newColumnsLoaded:i})}getTooltipParams(){const e=super.getTooltipParams();return e.location="columnToolPanelColumnGroup",e}handleKeyDown(e){switch(e.key){case k.KeyCode.LEFT:e.preventDefault(),this.modelItem.setExpanded(!1);break;case k.KeyCode.RIGHT:e.preventDefault(),this.modelItem.setExpanded(!0);break;case k.KeyCode.SPACE:e.preventDefault(),this.isSelectable()&&this.onSelectAllChanged(!this.isSelected())}}onContextMenu(e){const{columnGroup:t,gos:i}=this;if(i.get("functionsReadOnly"))return;const a=this.createBean(new D(t,e,this.focusWrapper));this.addDestroyFunc((()=>{a.isAlive()&&this.destroyBean(a)}))}addVisibilityListenersToAllChildren(){const e=this.onColumnStateChanged.bind(this);this.columnGroup.getLeafColumns().forEach((t=>{this.addManagedListeners(t,{visibleChanged:e,columnValueChanged:e,columnPivotChanged:e,columnRowGroupChanged:e})}))}setupDragging(){if(!this.allowDragging)return void(0,k._setDisplayed)(this.eDragHandle,!1);let e=!this.gos.get("suppressDragLeaveHidesColumns");const t={type:k.DragSourceType.ToolPanel,eElement:this.eDragHandle,dragItemName:this.displayName,getDefaultIconName:()=>e?"hide":"notAllowed",getDragItem:()=>this.createDragItem(),onDragStarted:()=>{e=!this.gos.get("suppressDragLeaveHidesColumns");const t={type:"columnPanelItemDragStart",column:this.columnGroup};this.eventService.dispatchEvent(t)},onDragStopped:()=>{this.eventService.dispatchEvent({type:"columnPanelItemDragEnd"})},onGridEnter:t=>{e&&this.modelItemUtils.updateColumns({columns:this.columnGroup.getLeafColumns(),visibleState:t?.visibleState,pivotState:t?.pivotState,eventType:this.eventType})},onGridExit:()=>{e&&this.onChangeCommon(!1)}};this.dragAndDropService.addDragSource(t,!0),this.addDestroyFunc((()=>this.dragAndDropService.removeDragSource(t)))}createDragItem(){const e=this.columnGroup.getLeafColumns(),t={},i={};return e.forEach((e=>{const a=e.getId();t[a]=e.isVisible(),i[a]=this.modelItemUtils.createPivotState(e)})),{columns:e,visibleState:t,pivotState:i}}setupExpandContract(){this.eGroupClosedIcon.appendChild((0,k._createIcon)("columnSelectClosed",this.gos,null)),this.eGroupOpenedIcon.appendChild((0,k._createIcon)("columnSelectOpen",this.gos,null));const e=this.onExpandOrContractClicked.bind(this);this.addManagedElementListeners(this.eGroupClosedIcon,{click:e}),this.addManagedElementListeners(this.eGroupOpenedIcon,{click:e});const t=new k.TouchListener(this.eColumnGroupIcons,!0);this.addManagedListeners(t,{tap:e}),this.addDestroyFunc(t.destroy.bind(t))}onLabelClicked(){const e=!this.cbSelect.getValue();this.onChangeCommon(e)}onCheckboxChanged(e){this.onChangeCommon(e.selected)}getVisibleLeafColumns(){const e=[],t=i=>{i.forEach((i=>{i.isPassesFilter()&&(i.isGroup()?t(i.getChildren()):e.push(i.getColumn()))}))};return t(this.modelItem.getChildren()),e}onChangeCommon(e){this.refreshAriaLabel(),this.processingColumnStateChange||this.modelItemUtils.selectAllChildren(this.modelItem.getChildren(),e,this.eventType)}refreshAriaLabel(){const e=this.localeService.getLocaleTextFunc(),t=e("ariaColumnGroup","Column Group"),i=this.cbSelect.getValue(),a=void 0===i?e("ariaIndeterminate","indeterminate"):i?e("ariaVisible","visible"):e("ariaHidden","hidden"),n=e("ariaToggleVisibility","Press SPACE to toggle visibility");(0,k._setAriaLabel)(this.focusWrapper,`${this.displayName} ${t}`),this.cbSelect.setInputAriaLabel(`${n} (${a})`),(0,k._setAriaDescribedBy)(this.focusWrapper,this.cbSelect.getInputElement().id)}onColumnStateChanged(){const e=this.workOutSelectedValue(),t=this.workOutReadOnlyValue();this.processingColumnStateChange=!0,this.cbSelect.setValue(e),this.cbSelect.setReadOnly(t),this.addOrRemoveCssClass("ag-column-select-column-group-readonly",t),this.processingColumnStateChange=!1}workOutSelectedValue(){const e=this.columnModel.isPivotMode(),t=this.getVisibleLeafColumns();let i=0,a=0;if(t.forEach((t=>{!e&&t.getColDef().lockVisible||(this.isColumnChecked(t,e)?i++:a++)})),!(i>0&&a>0))return i>0}workOutReadOnlyValue(){const e=this.columnModel.isPivotMode();let t=0;return this.columnGroup.getLeafColumns().forEach((i=>{e?i.isAnyFunctionAllowed()&&t++:i.getColDef().lockVisible||t++})),0===t}isColumnChecked(e,t){if(t){const t=e.isPivotActive(),i=e.isRowGroupActive(),a=e.isValueActive();return t||i||a}return e.isVisible()}onExpandOrContractClicked(){const e=this.modelItem.isExpanded();this.modelItem.setExpanded(!e)}onExpandChanged(){this.setOpenClosedIcons(),this.refreshAriaExpanded()}setOpenClosedIcons(){const e=this.modelItem.isExpanded();(0,k._setDisplayed)(this.eGroupClosedIcon,!e),(0,k._setDisplayed)(this.eGroupOpenedIcon,e)}refreshAriaExpanded(){(0,k._setAriaExpanded)(this.focusWrapper,this.modelItem.isExpanded())}getDisplayName(){return this.displayName}onSelectAllChanged(e){const t=this.cbSelect.getValue();!this.cbSelect.isReadOnly()&&(e&&!t||!e&&t)&&this.cbSelect.toggle()}isSelected(){return this.cbSelect.getValue()}isSelectable(){return!this.cbSelect.isReadOnly()}setSelected(e){this.cbSelect.setValue(e,!0)}},E=class extends S.BeanStub{constructor(e,t){super(),this.comp=e,this.virtualList=t}wireBeans(e){this.columnModel=e.columnModel,this.columnMoveService=e.columnMoveService}postConstruct(){this.createManagedBean(new x.VirtualListDragFeature(this.comp,this.virtualList,{dragSourceType:S.DragSourceType.ToolPanel,listItemDragStartEvent:"columnPanelItemDragStart",listItemDragEndEvent:"columnPanelItemDragEnd",eventSource:this.eventService,getCurrentDragValue:e=>this.getCurrentDragValue(e),isMoveBlocked:e=>this.isMoveBlocked(e),getNumRows:e=>e.getDisplayedColsList().length,moveItem:(e,t)=>this.moveItem(e,t)}))}getCurrentDragValue(e){return e.column}isMoveBlocked(e){if(this.gos.get("suppressMovableColumns"))return!0;return!!this.getCurrentColumns(e).find((e=>{const t=e.getColDef();return!!t.suppressMovable||!!t.lockPosition}))}moveItem(e,t){const i=this.getTargetIndex(e,t),a=this.getCurrentColumns(e);null!=i&&this.columnMoveService.moveColumns(a,i,"toolPanelUi")}getMoveDiff(e,t){const i=this.columnModel.getCols(),a=this.getCurrentColumns(e),n=a[0],r=a.length;return i.indexOf(n)<t?r:0}getCurrentColumns(e){return(0,S.isProvidedColumnGroup)(e)?e.getLeafColumns():[e]}getTargetIndex(e,t){if(!t)return null;const i=t.component;let a,n="top"===t.position;if(i instanceof A){a=i.getColumns()[0],n=!0}else a=i.getColumn();if(-1!==this.getCurrentColumns(e).indexOf(a))return null;const r=this.columnModel.getCols().indexOf(a),o=n?r:r+1;return o-this.getMoveDiff(e,o)}},T=i(3423),P=class extends T.Component{constructor(e,t,i,a){super(),this.allowDragging=t,this.groupsExist=i,this.focusWrapper=a,this.eLabel=T.RefPlaceholder,this.cbSelect=T.RefPlaceholder,this.processingColumnStateChange=!1,this.column=e.getColumn(),this.columnDept=e.getDept(),this.displayName=e.getDisplayName()}wireBeans(e){this.columnModel=e.columnModel,this.dragAndDropService=e.dragAndDropService,this.modelItemUtils=e.modelItemUtils}postConstruct(){this.setTemplate('<div class="ag-column-select-column" aria-hidden="true">\n <ag-checkbox data-ref="cbSelect" class="ag-column-select-checkbox"></ag-checkbox>\n <span class="ag-column-select-column-label" data-ref="eLabel"></span>\n </div>',[T.AgCheckboxSelector]),this.eDragHandle=(0,T._createIconNoSpan)("columnDrag",this.gos),this.eDragHandle.classList.add("ag-drag-handle","ag-column-select-column-drag-handle");const e=this.cbSelect.getGui(),t=this.cbSelect.getInputElement();e.insertAdjacentElement("afterend",this.eDragHandle),t.setAttribute("tabindex","-1");const i=(0,T._escapeString)(this.displayName);this.eLabel.innerHTML=i;const a=this.columnDept;this.groupsExist&&this.addCssClass("ag-column-select-add-group-indent"),this.addCssClass(`ag-column-select-indent-${a}`),this.getGui().style.setProperty("--ag-indentation-level",String(a)),this.setupDragging();const n=this.onColumnStateChanged.bind(this);this.addManagedEventListeners({columnPivotModeChanged:n}),this.addManagedListeners(this.column,{columnValueChanged:n,columnPivotChanged:n,columnRowGroupChanged:n,visibleChanged:n}),this.addManagedListeners(this.focusWrapper,{keydown:this.handleKeyDown.bind(this),contextmenu:this.onContextMenu.bind(this)}),this.addManagedPropertyListener("functionsReadOnly",this.onColumnStateChanged.bind(this)),this.addManagedListeners(this.cbSelect,{fieldValueChanged:this.onCheckboxChanged.bind(this)}),this.addManagedElementListeners(this.eLabel,{click:this.onLabelClicked.bind(this)}),this.onColumnStateChanged(),this.refreshAriaLabel(),this.setupTooltip();(0,T._getToolPanelClassesFromColDef)(this.column.getColDef(),this.gos,this.column,null).forEach((e=>this.addOrRemoveCssClass(e,!0)))}getColumn(){return this.column}setupTooltip(){let e;"whenTruncated"===this.gos.get("tooltipShowMode")&&(e=()=>this.eLabel.scrollWidth>this.eLabel.clientWidth);const t=()=>{const t=this.column.getColDef().headerTooltip;this.setTooltip({newTooltipText:t,location:"columnToolPanelColumn",shouldDisplayTooltip:e})};t(),this.addManagedEventListeners({newColumnsLoaded:t})}getTooltipParams(){const e=super.getTooltipParams();return e.location="columnToolPanelColumn",e.colDef=this.column.getColDef(),e}onContextMenu(e){const{column:t,gos:i}=this;if(i.get("functionsReadOnly"))return;const a=this.createBean(new D(t,e,this.focusWrapper));this.addDestroyFunc((()=>{a.isAlive()&&this.destroyBean(a)}))}handleKeyDown(e){e.key===T.KeyCode.SPACE&&(e.preventDefault(),this.isSelectable()&&this.onSelectAllChanged(!this.isSelected()))}onLabelClicked(){if(this.gos.get("functionsReadOnly"))return;const e=!this.cbSelect.getValue();this.onChangeCommon(e)}onCheckboxChanged(e){this.onChangeCommon(e.selected)}onChangeCommon(e){this.cbSelect.isReadOnly()||(this.refreshAriaLabel(),this.processingColumnStateChange||this.modelItemUtils.setColumn(this.column,e,"toolPanelUi"))}refreshAriaLabel(){const e=this.localeService.getLocaleTextFunc(),t=e("ariaColumn","Column"),i=this.cbSelect.getValue()?e("ariaVisible","visible"):e("ariaHidden","hidden"),a=e("ariaToggleVisibility","Press SPACE to toggle visibility");(0,T._setAriaLabel)(this.focusWrapper,`${this.displayName} ${t}`),this.cbSelect.setInputAriaLabel(`${a} (${i})`),(0,T._setAriaDescribedBy)(this.focusWrapper,this.cbSelect.getInputElement().id)}setupDragging(){if(!this.allowDragging)return void(0,T._setDisplayed)(this.eDragHandle,!1);let e=!this.gos.get("suppressDragLeaveHidesColumns");const t={type:T.DragSourceType.ToolPanel,eElement:this.eDragHandle,dragItemName:this.displayName,getDefaultIconName:()=>e?"hide":"notAllowed",getDragItem:()=>this.createDragItem(),onDragStarted:()=>{e=!this.gos.get("suppressDragLeaveHidesColumns");const t={type:"columnPanelItemDragStart",column:this.column};this.eventService.dispatchEvent(t)},onDragStopped:()=>{this.eventService.dispatchEvent({type:"columnPanelItemDragEnd"})},onGridEnter:t=>{e&&this.modelItemUtils.updateColumns({columns:[this.column],visibleState:t?.visibleState,pivotState:t?.pivotState,eventType:"toolPanelUi"})},onGridExit:()=>{e&&this.onChangeCommon(!1)}};this.dragAndDropService.addDragSource(t,!0),this.addDestroyFunc((()=>this.dragAndDropService.removeDragSource(t)))}createDragItem(){const e=this.column.getColId(),t={[e]:this.column.isVisible()},i={[e]:this.modelItemUtils.createPivotState(this.column)};return{columns:[this.column],visibleState:t,pivotState:i}}onColumnStateChanged(){this.processingColumnStateChange=!0;const e=this.columnModel.isPivotMode();if(e){const e=this.column.isAnyFunctionActive();this.cbSelect.setValue(e)}else this.cbSelect.setValue(this.column.isVisible());let t=!0,i=!0;if(e){const e=this.gos.get("functionsReadOnly"),a=!this.column.isAnyFunctionAllowed();t=!e&&!a,i=t}else{const{enableRowGroup:e,enableValue:a,lockPosition:n,suppressMovable:r,lockVisible:o}=this.column.getColDef();t=!o,i=!!e||!!a||!(!!n||!!r)}this.cbSelect.setReadOnly(!t),this.eDragHandle.classList.toggle("ag-column-select-column-readonly",!i),this.addOrRemoveCssClass("ag-column-select-column-readonly",!i&&!t),this.cbSelect.setPassive(!1),this.processingColumnStateChange=!1}getDisplayName(){return this.displayName}onSelectAllChanged(e){e!==this.cbSelect.getValue()&&(this.cbSelect.isReadOnly()||this.cbSelect.toggle())}isSelected(){return this.cbSelect.getValue()}isSelectable(){return!this.cbSelect.isReadOnly()}isExpandable(){return!1}setExpanded(e){(0,T._warnOnce)("can not expand a column item that does not represent a column group header")}},F=class{constructor(e){this.items=e}getRowCount(){return this.items.length}getRow(e){return this.items[e]}},I={selector:"AG-PRIMARY-COLS-LIST",component:class extends y.Component{constructor(){super('<div class="ag-column-select-list" role="presentation"></div>'),this.destroyColumnItemFuncs=[],this.hasLoadedInitialState=!1,this.isInitialState=!1}wireBeans(e){this.columnModel=e.columnModel,this.columnNameService=e.columnNameService,this.colDefService=e.toolPanelColDefService,this.modelItemUtils=e.modelItemUtils}destroy(){this.destroyColumnTree(),super.destroy()}destroyColumnTree(){this.allColsTree=[],this.destroyColumnItemFuncs.forEach((e=>e())),this.destroyColumnItemFuncs=[]}init(e,t,i){this.params=e,this.allowDragging=t,this.eventType=i,this.params.suppressSyncLayoutWithGrid||this.addManagedEventListeners({columnMoved:this.onColumnsChanged.bind(this)}),this.addManagedEventListeners({newColumnsLoaded:this.onColumnsChanged.bind(this)});const a=this.fireSelectionChangedEvent.bind(this);this.addManagedEventListeners({columnPivotChanged:a,columnPivotModeChanged:a,columnRowGroupChanged:a,columnValueChanged:a,columnVisible:a,newColumnsLoaded:a}),this.expandGroupsByDefault=!this.params.contractColumnSelection,this.virtualList=this.createManagedBean(new b.VirtualList({cssIdentifier:"column-select",ariaRole:"tree"})),this.appendChild(this.virtualList.getGui()),this.virtualList.setComponentCreator(((e,t)=>((0,y._setAriaLevel)(t,e.getDept()+1),this.createComponentFromItem(e,t)))),this.columnModel.isReady()&&this.onColumnsChanged(),this.params.suppressColumnMove||this.createManagedBean(new E(this,this.virtualList))}createComponentFromItem(e,t){if(e.isGroup()){const i=new A(e,this.allowDragging,this.eventType,t);return this.createBean(i),i}const i=new P(e,this.allowDragging,this.groupsExist,t);return this.createBean(i),i}onColumnsChanged(){this.hasLoadedInitialState||(this.hasLoadedInitialState=!0,this.isInitialState=!!this.params.initialState);const e=this.getExpandedStates(),t=this.columnModel.isPivotMode();!this.params.suppressSyncLayoutWithGrid&&!t?this.buildTreeFromWhatGridIsDisplaying():this.buildTreeFromProvidedColumnDefs(),this.setExpandedStates(e),this.markFilteredColumns(),this.flattenAndFilterModel(),this.isInitialState=!1}getDisplayedColsList(){return this.displayedColsList}getExpandedStates(){const e={};if(this.isInitialState){const{expandedGroupIds:t}=this.params.initialState;return t.forEach((t=>{e[t]=!0})),e}return this.allColsTree?(this.forEachItem((t=>{if(!t.isGroup())return;const i=t.getColumnGroup();i&&(e[i.getId()]=t.isExpanded())})),e):{}}setExpandedStates(e){if(!this.allColsTree)return;const{isInitialState:t}=this;this.forEachItem((i=>{if(!i.isGroup())return;const a=i.getColumnGroup();if(a){const n=e[a.getId()];(null!=n||t)&&i.setExpanded(!!n)}}))}buildTreeFromWhatGridIsDisplaying(){this.colDefService.syncLayoutWithGrid(this.setColumnLayout.bind(this))}setColumnLayout(e){const t=this.colDefService.createColumnTree(e);this.buildListModel(t),this.groupsExist=e.some((e=>e&&void 0!==e.children)),this.markFilteredColumns(),this.flattenAndFilterModel()}buildTreeFromProvidedColumnDefs(){this.buildListModel(this.columnModel.getColDefColTree()),this.groupsExist=this.columnModel.isProvidedColGroupsPresent()}buildListModel(e){const t=this.onColumnExpanded.bind(this),i=e=>{e.addEventListener("expandedChanged",t);const i=e.removeEventListener.bind(e,"expandedChanged",t);this.destroyColumnItemFuncs.push(i)},a=(e,t,i)=>{e.forEach((e=>{(0,y.isProvidedColumnGroup)(e)?n(e,t,i):r(e,t,i)}))},n=(e,t,n)=>{const r=e.getColGroupDef();if(r&&r.suppressColumnsToolPanel)return;if(e.isPadding())return void a(e.getChildren(),t,n);const o=this.columnNameService.getDisplayNameForProvidedColumnGroup(null,e,"columnToolPanel"),s=new w(o,e,t,!0,this.expandGroupsByDefault);n.push(s),i(s),a(e.getChildren(),t+1,s.getChildren())},r=(e,t,i)=>{if(e.getColDef()&&e.getColDef().suppressColumnsToolPanel)return;const a=this.columnNameService.getDisplayNameForColumn(e,"columnToolPanel");i.push(new w(a,e,t))};this.destroyColumnTree(),a(e,0,this.allColsTree)}onColumnExpanded(){this.flattenAndFilterModel()}flattenAndFilterModel(){this.displayedColsList=[];const e=t=>{t.isPassesFilter()&&(this.displayedColsList.push(t),t.isGroup()&&t.isExpanded()&&t.getChildren().forEach(e))};this.allColsTree.forEach(e),this.virtualList.setModel(new F(this.displayedColsList));const t=this.virtualList.getLastFocusedRow();this.virtualList.refresh(),null!=t&&this.focusRowIfAlive(t),this.notifyListeners(),this.refreshAriaLabel()}refreshAriaLabel(){const e=this.localeService.getLocaleTextFunc(),t=e("ariaColumnPanelList","Column List"),i=e("columns","Columns"),a=this.displayedColsList.length;(0,y._setAriaLabel)(this.virtualList.getAriaElement(),`${t} ${a} ${i}`)}focusRowIfAlive(e){window.setTimeout((()=>{this.isAlive()&&this.virtualList.focusRow(e)}),0)}forEachItem(e){const t=i=>{i.forEach((i=>{e(i),i.isGroup()&&t(i.getChildren())}))};this.allColsTree&&t(this.allColsTree)}doSetExpandedAll(e){this.forEachItem((t=>{t.isGroup()&&t.setExpanded(e)}))}setGroupsExpanded(e,t){if(!t)return void this.doSetExpandedAll(e);const i=[];this.forEachItem((a=>{if(!a.isGroup())return;const n=a.getColumnGroup().getId();t.indexOf(n)>=0&&(a.setExpanded(e),i.push(n))}));const a=t.filter((e=>!(0,y._includes)(i,e)));a.length>0&&(0,y._warnOnce)("unable to find group(s) for supplied groupIds:",a)}getExpandState(){let e=0,t=0;return this.forEachItem((i=>{i.isGroup()&&(i.isExpanded()?e++:t++)})),e>0&&t>0?2:t>0?1:0}doSetSelectedAll(e){this.modelItemUtils.selectAllChildren(this.allColsTree,e,this.eventType)}getSelectionState(){let e=0,t=0;const i=this.columnModel.isPivotMode();if(this.forEachItem((a=>{if(a.isGroup())return;if(!a.isPassesFilter())return;const n=a.getColumn(),r=n.getColDef();let o;if(i){if(!n.isAllowPivot()&&!n.isAllowRowGroup()&&!n.isAllowValue())return;o=n.isValueActive()||n.isPivotActive()||n.isRowGroupActive()}else{if(r.lockVisible)return;o=n.isVisible()}o?e++:t++})),!(e>0&&t>0))return!(0===e||t>0)}setFilterText(e){this.filterText=(0,y._exists)(e)?e.toLowerCase():null,this.markFilteredColumns(),this.flattenAndFilterModel()}markFilteredColumns(){const e=e=>{if(!(0,y._exists)(this.filterText))return!0;const t=e.getDisplayName();return null==t||-1!==t.toLowerCase().indexOf(this.filterText)},t=(i,a)=>{let n=!1;if(i.isGroup()){const r=e(i);i.getChildren().forEach((e=>{const i=t(e,r||a);i&&(n=i)}))}const r=!(!a&&!n)||e(i);return i.setPassesFilter(r),r};this.allColsTree.forEach((e=>t(e,!1)))}notifyListeners(){this.fireGroupExpandedEvent(),this.fireSelectionChangedEvent()}fireGroupExpandedEvent(){const e=this.getExpandState();this.dispatchLocalEvent({type:"groupExpanded",state:e})}fireSelectionChangedEvent(){if(!this.allColsTree)return;const e=this.getSelectionState();this.dispatchLocalEvent({type:"selectionChanged",state:e})}getExpandedGroups(){const e=[];return this.allColsTree?(this.forEachItem((t=>{t.isGroup()&&t.isExpanded()&&e.push(t.getColumnGroup().getId())})),e):e}}},L=class extends m.Component{constructor(){super('<div class="ag-column-select">\n <ag-primary-cols-header data-ref="primaryColsHeaderPanel"></ag-primary-cols-header>\n <ag-primary-cols-list data-ref="primaryColsListPanel"></ag-primary-cols-list>\n </div>',[v,I]),this.primaryColsHeaderPanel=m.RefPlaceholder,this.primaryColsListPanel=m.RefPlaceholder}init(e,t,i){this.allowDragging=e,this.params=t,this.eventType=i,this.primaryColsHeaderPanel.init(this.params);const a=this.params.suppressColumnFilter,n=this.params.suppressColumnSelectAll;this.params.suppressColumnExpandAll&&a&&n&&this.primaryColsHeaderPanel.setDisplayed(!1),this.addManagedListeners(this.primaryColsListPanel,{groupExpanded:this.onGroupExpanded.bind(this),selectionChanged:this.onSelectionChange.bind(this)}),this.primaryColsListPanel.init(this.params,this.allowDragging,this.eventType),this.addManagedListeners(this.primaryColsHeaderPanel,{expandAll:this.onExpandAll.bind(this),collapseAll:this.onCollapseAll.bind(this),selectAll:this.onSelectAll.bind(this),unselectAll:this.onUnselectAll.bind(this),filterChanged:this.onFilterChanged.bind(this)}),this.positionableFeature=new m.PositionableFeature(this.getGui(),{minHeight:100}),this.createManagedBean(this.positionableFeature)}toggleResizable(e){this.positionableFeature.setResizable(!!e&&{bottom:!0})}onExpandAll(){this.primaryColsListPanel.doSetExpandedAll(!0)}onCollapseAll(){this.primaryColsListPanel.doSetExpandedAll(!1)}expandGroups(e){this.primaryColsListPanel.setGroupsExpanded(!0,e)}collapseGroups(e){this.primaryColsListPanel.setGroupsExpanded(!1,e)}setColumnLayout(e){this.primaryColsListPanel.setColumnLayout(e)}onFilterChanged(e){this.primaryColsListPanel.setFilterText(e.filterText)}syncLayoutWithGrid(){this.primaryColsListPanel.onColumnsChanged()}onSelectAll(){this.primaryColsListPanel.doSetSelectedAll(!0)}onUnselectAll(){this.primaryColsListPanel.doSetSelectedAll(!1)}onGroupExpanded(e){this.primaryColsHeaderPanel.setExpandState(e.state),this.params.onStateUpdated()}onSelectionChange(e){this.primaryColsHeaderPanel.setSelectionState(e.state)}getExpandedGroups(){return this.primaryColsListPanel.getExpandedGroups()}},N=i(3423),O=class extends N.Component{constructor(){super(...arguments),this.cbPivotMode=N.RefPlaceholder}wireBeans(e){this.columnModel=e.columnModel,this.ctrlsService=e.ctrlsService}createTemplate(){return'<div class="ag-pivot-mode-panel">\n <ag-toggle-button data-ref="cbPivotMode" class="ag-pivot-mode-select"></ag-toggle-button>\n </div>'}postConstruct(){this.setTemplate(this.createTemplate(),[N.AgToggleButtonSelector]),this.cbPivotMode.setValue(this.columnModel.isPivotMode());const e=this.localeService.getLocaleTextFunc();this.cbPivotMode.setLabel(e("pivotMode","Pivot Mode")),this.addManagedListeners(this.cbPivotMode,{fieldValueChanged:this.onBtPivotMode.bind(this)});const t=this.onPivotModeChanged.bind(this);this.addManagedEventListeners({newColumnsLoaded:t,columnPivotModeChanged:t})}onBtPivotMode(){const e=!!this.cbPivotMode.getValue();e!==this.columnModel.isPivotMode()&&(this.gos.updateGridOptions({options:{pivotMode:e},source:"toolPanelUi"}),this.ctrlsService.getHeaderRowContainerCtrls().forEach((e=>e.refresh())))}onPivotModeChanged(){const e=this.columnModel.isPivotMode();this.cbPivotMode.setValue(e)}},z=class extends g.Component{constructor(){super('<div class="ag-column-panel"></div>'),this.initialised=!1,this.childDestroyFuncs=[]}setVisible(e){super.setDisplayed(e),e&&!this.initialised&&this.init(this.params)}init(e){const t=this.gos.addGridCommonParams({suppressColumnMove:!1,suppressColumnSelectAll:!1,suppressColumnFilter:!1,suppressColumnExpandAll:!1,contractColumnSelection:!1,suppressPivotMode:!1,suppressRowGroups:!1,suppressValues:!1,suppressPivots:!1,suppressSyncLayoutWithGrid:!1});if(this.params={...t,...e},this.isRowGroupingModuleLoaded()&&!this.params.suppressPivotMode&&(this.pivotModePanel=this.createBean(new O),this.childDestroyFuncs.push((()=>this.destroyBean(this.pivotModePanel))),this.appendChild(this.pivotModePanel)),this.primaryColsPanel=this.createBean(new L),this.childDestroyFuncs.push((()=>this.destroyBean(this.primaryColsPanel))),this.primaryColsPanel.init(!0,this.params,"toolPanelUi"),this.primaryColsPanel.addCssClass("ag-column-panel-column-select"),this.appendChild(this.primaryColsPanel),this.isRowGroupingModuleLoaded()){this.params.suppressRowGroups||(this.rowGroupDropZonePanel=this.createBean(new p.RowGroupDropZonePanel(!1)),this.childDestroyFuncs.push((()=>this.destroyBean(this.rowGroupDropZonePanel))),this.appendChild(this.rowGroupDropZonePanel)),this.params.suppressValues||(this.valuesDropZonePanel=this.createBean(new p.ValuesDropZonePanel(!1)),this.childDestroyFuncs.push((()=>this.destroyBean(this.valuesDropZonePanel))),this.appendChild(this.valuesDropZonePanel)),this.params.suppressPivots||(this.pivotDropZonePanel=this.createBean(new p.PivotDropZonePanel(!1)),this.childDestroyFuncs.push((()=>this.destroyBean(this.pivotDropZonePanel))),this.appendChild(this.pivotDropZonePanel)),this.setLastVisible();const[e]=this.addManagedEventListeners({columnPivotModeChanged:()=>{this.resetChildrenHeight(),this.setLastVisible()}});this.childDestroyFuncs.push((()=>e()))}this.initialised=!0}setPivotModeSectionVisible(e){this.isRowGroupingModuleLoaded()&&(this.pivotModePanel?this.pivotModePanel.setDisplayed(e):e&&(this.pivotModePanel=this.createBean(new O),this.getGui().insertBefore(this.pivotModePanel.getGui(),this.getGui().firstChild),this.childDestroyFuncs.push((()=>this.destroyBean(this.pivotModePanel)))),this.setLastVisible())}setRowGroupsSectionVisible(e){this.isRowGroupingModuleLoaded()&&(this.rowGroupDropZonePanel?this.rowGroupDropZonePanel.setDisplayed(e):e&&(this.rowGroupDropZonePanel=this.createManagedBean(new p.RowGroupDropZonePanel(!1)),this.appendChild(this.rowGroupDropZonePanel)),this.setLastVisible())}setValuesSectionVisible(e){this.isRowGroupingModuleLoaded()&&(this.valuesDropZonePanel?this.valuesDropZonePanel.setDisplayed(e):e&&(this.valuesDropZonePanel=this.createManagedBean(new p.ValuesDropZonePanel(!1)),this.appendChild(this.valuesDropZonePanel)),this.setLastVisible())}setPivotSectionVisible(e){this.isRowGroupingModuleLoaded()&&(this.pivotDropZonePanel?this.pivotDropZonePanel.setDisplayed(e):e&&(this.pivotDropZonePanel=this.createManagedBean(new p.PivotDropZonePanel(!1)),this.appendChild(this.pivotDropZonePanel),this.pivotDropZonePanel.setDisplayed(e)),this.setLastVisible())}setResizers(){[this.primaryColsPanel,this.rowGroupDropZonePanel,this.valuesDropZonePanel,this.pivotDropZonePanel].forEach((e=>{if(!e)return;const t=e.getGui();e.toggleResizable(!t.classList.contains("ag-last-column-drop")&&!t.classList.contains("ag-hidden"))}))}setLastVisible(){const e=this.getGui();Array.prototype.slice.call(e.querySelectorAll(".ag-column-drop")).forEach((e=>e.classList.remove("ag-last-column-drop")));const t=e.querySelectorAll(".ag-column-drop:not(.ag-hidden)"),i=(0,g._last)(t);i&&i.classList.add("ag-last-column-drop"),this.setResizers()}resetChildrenHeight(){const e=this.getGui().children;for(let t=0;t<e.length;t++){const i=e[t];i.style.removeProperty("height"),i.style.removeProperty("flex")}}isRowGroupingModuleLoaded(){return g.ModuleRegistry.__assertRegistered(g.ModuleNames.RowGroupingModule,"Row Grouping",this.gridId)}expandColumnGroups(e){this.primaryColsPanel.expandGroups(e)}collapseColumnGroups(e){this.primaryColsPanel.collapseGroups(e)}setColumnLayout(e){this.primaryColsPanel.setColumnLayout(e)}syncLayoutWithGrid(){this.primaryColsPanel.syncLayoutWithGrid()}destroyChildren(){this.childDestroyFuncs.forEach((e=>e())),this.childDestroyFuncs.length=0,(0,g._clearElement)(this.getGui())}refresh(e){return this.destroyChildren(),this.init(e),!0}getState(){return{expandedGroupIds:this.primaryColsPanel.getExpandedGroups()}}destroy(){this.destroyChildren(),super.destroy()}},G=i(3423),B=class extends G.BeanStub{constructor(){super(...arguments),this.beanName="modelItemUtils"}wireBeans(e){this.aggFuncService=e.aggFuncService,this.columnModel=e.columnModel,this.columnApplyStateService=e.columnApplyStateService}selectAllChildren(e,t,i){const a=this.extractAllLeafColumns(e);this.setAllColumns(a,t,i)}setColumn(e,t,i){this.setAllColumns([e],t,i)}setAllColumns(e,t,i){this.columnModel.isPivotMode()?this.setAllPivot(e,t,i):this.setAllVisible(e,t,i)}extractAllLeafColumns(e){const t=[],i=e=>{e.forEach((e=>{e.isPassesFilter()&&(e.isGroup()?i(e.getChildren()):t.push(e.getColumn()))}))};return i(e),t}setAllVisible(e,t,i){const a=[];e.forEach((e=>{e.getColDef().lockVisible||e.isVisible()!=t&&a.push({colId:e.getId(),hide:!t})})),a.length>0&&this.columnApplyStateService.applyColumnState({state:a},i)}setAllPivot(e,t,i){this.setAllPivotActive(e,t,i)}setAllPivotActive(e,t,i){const a=[],n=t?e=>{if(!e.isAnyFunctionActive())if(e.isAllowValue()){const t="string"==typeof e.getAggFunc()?e.getAggFunc():this.aggFuncService?.getDefaultAggFunc(e);a.push({colId:e.getId(),aggFunc:t})}else e.isAllowRowGroup()?a.push({colId:e.getId(),rowGroup:!0}):e.isAllowPivot()&&a.push({colId:e.getId(),pivot:!0})}:e=>{(e.isPivotActive()||e.isRowGroupActive()||e.isValueActive())&&a.push({colId:e.getId(),pivot:!1,rowGroup:!1,aggFunc:null})};e.forEach(n),a.length>0&&this.columnApplyStateService.applyColumnState({state:a},i)}updateColumns(e){const{columns:t,visibleState:i,pivotState:a,eventType:n}=e,r=t.map((e=>{const t=e.getColId();if(this.columnModel.isPivotMode()){const e=a?.[t];return{colId:t,pivot:e?.pivot,rowGroup:e?.rowGroup,aggFunc:e?.aggFunc}}return{colId:t,hide:!i?.[t]}}));this.columnApplyStateService.applyColumnState({state:r},n)}createPivotState(e){return{pivot:e.isPivotActive(),rowGroup:e.isRowGroupActive(),aggFunc:e.isValueActive()?e.getAggFunc():void 0}}},V={version:"32.0.2",moduleName:c.ModuleNames.ColumnsToolPanelModule,beans:[B],userComponents:[{name:"agColumnsToolPanel",classImp:z},{name:"agMenuItem",classImp:d.AgMenuItemRenderer}],dependantModules:[d.EnterpriseCoreModule,h.RowGroupingModule,u.SideBarModule]}},8299:function(e,t,i){var a,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,l={};((e,t)=>{for(var i in t)n(e,i,{get:t[i],enumerable:!0})})(l,{AgDialog:()=>Z,AgGroupComponent:()=>x,AgGroupComponentSelector:()=>R,AgMenuItemComponent:()=>ie,AgMenuItemRenderer:()=>C,AgMenuList:()=>J,AgMenuPanel:()=>te,AgPanel:()=>$,AgRichSelect:()=>H,EnterpriseCoreModule:()=>w,GroupCellRenderer:()=>he,GroupCellRendererCtrl:()=>de,LicenseManager:()=>y,PillDragComp:()=>_,PillDropZonePanel:()=>U,TabbedLayout:()=>se,VirtualList:()=>z,VirtualListDragFeature:()=>re}),e.exports=(a=l,((e,t,i,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of o(t))s.call(e,l)||l===i||n(e,l,{get:()=>t[l],enumerable:!(a=r(t,l))||a.enumerable});return e})(n({},"__esModule",{value:!0}),a));var c=i(3423),d=i(3423),h=i(3423),u=class{constructor(){this.ieCompatibility=!1}init(){this.ieCompatibility="5d41402abc4b2a76b9719d911017c592"!=this.md5("hello")}md5cycle(e,t){let i=e[0],a=e[1],n=e[2],r=e[3];i=this.ff(i,a,n,r,t[0],7,-680876936),r=this.ff(r,i,a,n,t[1],12,-389564586),n=this.ff(n,r,i,a,t[2],17,606105819),a=this.ff(a,n,r,i,t[3],22,-1044525330),i=this.ff(i,a,n,r,t[4],7,-176418897),r=this.ff(r,i,a,n,t[5],12,1200080426),n=this.ff(n,r,i,a,t[6],17,-1473231341),a=this.ff(a,n,r,i,t[7],22,-45705983),i=this.ff(i,a,n,r,t[8],7,1770035416),r=this.ff(r,i,a,n,t[9],12,-1958414417),n=this.ff(n,r,i,a,t[10],17,-42063),a=this.ff(a,n,r,i,t[11],22,-1990404162),i=this.ff(i,a,n,r,t[12],7,1804603682),r=this.ff(r,i,a,n,t[13],12,-40341101),n=this.ff(n,r,i,a,t[14],17,-1502002290),a=this.ff(a,n,r,i,t[15],22,1236535329),i=this.gg(i,a,n,r,t[1],5,-165796510),r=this.gg(r,i,a,n,t[6],9,-1069501632),n=this.gg(n,r,i,a,t[11],14,643717713),a=this.gg(a,n,r,i,t[0],20,-373897302),i=this.gg(i,a,n,r,t[5],5,-701558691),r=this.gg(r,i,a,n,t[10],9,38016083),n=this.gg(n,r,i,a,t[15],14,-660478335),a=this.gg(a,n,r,i,t[4],20,-405537848),i=this.gg(i,a,n,r,t[9],5,568446438),r=this.gg(r,i,a,n,t[14],9,-1019803690),n=this.gg(n,r,i,a,t[3],14,-187363961),a=this.gg(a,n,r,i,t[8],20,1163531501),i=this.gg(i,a,n,r,t[13],5,-1444681467),r=this.gg(r,i,a,n,t[2],9,-51403784),n=this.gg(n,r,i,a,t[7],14,1735328473),a=this.gg(a,n,r,i,t[12],20,-1926607734),i=this.hh(i,a,n,r,t[5],4,-378558),r=this.hh(r,i,a,n,t[8],11,-2022574463),n=this.hh(n,r,i,a,t[11],16,1839030562),a=this.hh(a,n,r,i,t[14],23,-35309556),i=this.hh(i,a,n,r,t[1],4,-1530992060),r=this.hh(r,i,a,n,t[4],11,1272893353),n=this.hh(n,r,i,a,t[7],16,-155497632),a=this.hh(a,n,r,i,t[10],23,-1094730640),i=this.hh(i,a,n,r,t[13],4,681279174),r=this.hh(r,i,a,n,t[0],11,-358537222),n=this.hh(n,r,i,a,t[3],16,-722521979),a=this.hh(a,n,r,i,t[6],23,76029189),i=this.hh(i,a,n,r,t[9],4,-640364487),r=this.hh(r,i,a,n,t[12],11,-421815835),n=this.hh(n,r,i,a,t[15],16,530742520),a=this.hh(a,n,r,i,t[2],23,-995338651),i=this.ii(i,a,n,r,t[0],6,-198630844),r=this.ii(r,i,a,n,t[7],10,1126891415),n=this.ii(n,r,i,a,t[14],15,-1416354905),a=this.ii(a,n,r,i,t[5],21,-57434055),i=this.ii(i,a,n,r,t[12],6,1700485571),r=this.ii(r,i,a,n,t[3],10,-1894986606),n=this.ii(n,r,i,a,t[10],15,-1051523),a=this.ii(a,n,r,i,t[1],21,-2054922799),i=this.ii(i,a,n,r,t[8],6,1873313359),r=this.ii(r,i,a,n,t[15],10,-30611744),n=this.ii(n,r,i,a,t[6],15,-1560198380),a=this.ii(a,n,r,i,t[13],21,1309151649),i=this.ii(i,a,n,r,t[4],6,-145523070),r=this.ii(r,i,a,n,t[11],10,-1120210379),n=this.ii(n,r,i,a,t[2],15,718787259),a=this.ii(a,n,r,i,t[9],21,-343485551),e[0]=this.add32(i,e[0]),e[1]=this.add32(a,e[1]),e[2]=this.add32(n,e[2]),e[3]=this.add32(r,e[3])}cmn(e,t,i,a,n,r){return t=this.add32(this.add32(t,e),this.add32(a,r)),this.add32(t<<n|t>>>32-n,i)}ff(e,t,i,a,n,r,o){return this.cmn(t&i|~t&a,e,t,n,r,o)}gg(e,t,i,a,n,r,o){return this.cmn(t&a|i&~a,e,t,n,r,o)}hh(e,t,i,a,n,r,o){return this.cmn(t^i^a,e,t,n,r,o)}ii(e,t,i,a,n,r,o){return this.cmn(i^(t|~a),e,t,n,r,o)}md51(e){const t=e.length,i=[1732584193,-271733879,-1732584194,271733878];let a;for(a=64;a<=e.length;a+=64)this.md5cycle(i,this.md5blk(e.substring(a-64,a)));e=e.substring(a-64);const n=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(a=0;a<e.length;a++)n[a>>2]|=e.charCodeAt(a)<<(a%4<<3);if(n[a>>2]|=128<<(a%4<<3),a>55)for(this.md5cycle(i,n),a=0;a<16;a++)n[a]=0;return n[14]=8*t,this.md5cycle(i,n),i}md5blk(e){const t=[];for(let i=0;i<64;i+=4)t[i>>2]=e.charCodeAt(i)+(e.charCodeAt(i+1)<<8)+(e.charCodeAt(i+2)<<16)+(e.charCodeAt(i+3)<<24);return t}rhex(e){const t="0123456789abcdef".split("");let i="",a=0;for(;a<4;a++)i+=t[e>>8*a+4&15]+t[e>>8*a&15];return i}hex(e){for(let t=0;t<e.length;t++)e[t]=this.rhex(e[t]);return e.join("")}md5(e){return this.hex(this.md51(e))}add32(e,t){return this.ieCompatibility?this.add32Compat(e,t):this.add32Std(e,t)}add32Std(e,t){return e+t&4294967295}add32Compat(e,t){const i=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(i>>16)<<16|65535&i}},g={"01":"GRID","02":"CHARTS","0102":"BOTH"},p=class e{constructor(e){this.watermarkMessage=void 0,this.totalMessageLength=124,this.document=e,this.md5=new u,this.md5.init()}validateLicense(){const t=this.getLicenseDetails(e.licenseKey),i=`AG Grid ${"BOTH"===t.currentLicenseType?"and AG Charts ":""}Enterprise`,a=void 0===t.suppliedLicenseType?"":`AG ${"BOTH"===t.suppliedLicenseType?"Grid and AG Charts":"GRID"===t.suppliedLicenseType?"Grid":"Charts"} Enterprise`;if(t.missing)this.isWebsiteUrl()&&!this.isForceWatermark()||this.outputMissingLicenseKey(i);else if(t.expired){const n=e.getGridReleaseDate(),r=e.formatDate(n);this.outputExpiredKey(t.expiry,r,i,a)}else t.valid?t.isTrial&&t.trialExpired&&this.outputExpiredTrialKey(t.expiry,i,a):this.outputInvalidLicenseKey(!!t.incorrectLicenseType,i,a)}static extractExpiry(t){const i=t.substring(t.lastIndexOf("_")+1,t.length);return new Date(parseInt(e.decode(i),10))}static extractLicenseComponents(t){let i=t.replace(/[\u200B-\u200D\uFEFF]/g,"");if(i=i.replace(/\r?\n|\r/g,""),t.length<=32)return{md5:null,license:t,version:null,isTrial:null};const a=i.length-32,n=i.substring(a),r=i.substring(0,a),[o,s,l]=e.extractBracketedInformation(i);return{md5:n,license:r,version:o,isTrial:s,type:l}}getLicenseDetails(t){const i=e.chartsLicenseManager?"BOTH":"GRID";if((0,h._missingOrEmpty)(t))return{licenseKey:t,valid:!1,missing:!0,currentLicenseType:i};const a=e.getGridReleaseDate(),{md5:n,license:r,version:o,isTrial:s,type:l}=e.extractLicenseComponents(t);let c,d,u,p=n===this.md5.md5(r)&&-1===t.indexOf("For_Trialing_ag-Grid_Only"),m=null,f=!1;function v(){c=m<new Date,d=void 0}if(p&&(m=e.extractExpiry(r),p=!isNaN(m.getTime()),p))switch(d=a>m,o){case"legacy":case"2":s&&v();break;case"3":(0,h._missingOrEmpty)(l)?p=!1:(u=l,l!==g["01"]&&l!==g["0102"]||"BOTH"===i&&"BOTH"!==u?(p=!1,f=!0):s&&v())}return p?{licenseKey:t,valid:p,expiry:e.formatDate(m),expired:d,version:o,isTrial:s,trialExpired:c,incorrectLicenseType:f,currentLicenseType:i,suppliedLicenseType:u}:{licenseKey:t,valid:p,incorrectLicenseType:f,currentLicenseType:i,suppliedLicenseType:u}}isDisplayWatermark(){return this.isForceWatermark()||!this.isLocalhost()&&!this.isWebsiteUrl()&&!(0,h._missingOrEmpty)(this.watermarkMessage)}getWatermarkMessage(){return this.watermarkMessage||""}getHostname(){const e=(this.document.defaultView||window).location,{hostname:t=""}=e;return t}isForceWatermark(){const e=(this.document.defaultView||window).location,{pathname:t}=e;return!!t&&-1!==t.indexOf("forceWatermark")}isWebsiteUrl(){return null!==this.getHostname().match(/^((?:[\w-]+\.)?ag-grid\.com)$/)}isLocalhost(){return null!==this.getHostname().match(/^(?:127\.0\.0\.1|localhost)$/)}static formatDate(e){const t=e.getDate(),i=e.getMonth(),a=e.getFullYear();return t+" "+["January","February","March","April","May","June","July","August","September","October","November","December"][i]+" "+a}static getGridReleaseDate(){return new Date(parseInt(e.decode(e.RELEASE_INFORMATION),10))}static decode(t){const i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";let a,n,r,o,s,l,c,d="",h=0;const u=t.replace(/[^A-Za-z0-9+/=]/g,"");for(;h<u.length;)o=i.indexOf(u.charAt(h++)),s=i.indexOf(u.charAt(h++)),l=i.indexOf(u.charAt(h++)),c=i.indexOf(u.charAt(h++)),a=o<<2|s>>4,n=(15&s)<<4|l>>2,r=(3&l)<<6|c,d+=String.fromCharCode(a),64!=l&&(d+=String.fromCharCode(n)),64!=c&&(d+=String.fromCharCode(r));return d=e.utf8_decode(d),d}static utf8_decode(e){e=e.replace(/rn/g,"n");let t="";for(let i=0;i<e.length;i++){const a=e.charCodeAt(i);a<128?t+=String.fromCharCode(a):a>127&&a<2048?(t+=String.fromCharCode(a>>6|192),t+=String.fromCharCode(63&a|128)):(t+=String.fromCharCode(a>>12|224),t+=String.fromCharCode(a>>6&63|128),t+=String.fromCharCode(63&a|128))}return t}static setChartsLicenseManager(e){this.chartsLicenseManager=e}static setLicenseKey(e){this.licenseKey=e,this.chartsLicenseManager&&this.chartsLicenseManager.setLicenseKey(e,!0)}static extractBracketedInformation(e){if(!e.includes("["))return["legacy",!1,void 0];const t=e.match(/\[(.*?)\]/g).map((e=>e.replace("[","").replace("]","")));if(!t||0===t.length)return["legacy",!1,void 0];const i=1===t.filter((e=>"TRIAL"===e)).length,a=t.filter((e=>0===e.indexOf("v")))[0];return[a?a.replace("v",""):"legacy",i,g[t.filter((e=>g[e]))[0]]]}centerPadAndOutput(e){const t=this.totalMessageLength-e.length;console.error(e.padStart(t/2+e.length,"*").padEnd(this.totalMessageLength,"*"))}padAndOutput(e,t="*",i=""){console.error(e.padEnd(this.totalMessageLength-i.length,t)+i)}outputInvalidLicenseKey(e,t,i){e?(this.centerPadAndOutput(""),this.centerPadAndOutput(` ${t} License `),this.centerPadAndOutput(" Incompatible License Key "),this.padAndOutput(`* Your license key is for ${i} only and does not cover you for ${t}.`," ","*"),this.padAndOutput("* Please contact info@ag-grid.com to obtain a combined license key."," ","*"),this.centerPadAndOutput(""),this.centerPadAndOutput("")):(this.centerPadAndOutput(""),this.centerPadAndOutput(` ${t} License `),this.centerPadAndOutput(" Invalid License Key "),this.padAndOutput("* Your license key is not valid - please contact info@ag-grid.com to obtain a valid license."," ","*"),this.centerPadAndOutput(""),this.centerPadAndOutput("")),this.watermarkMessage="Invalid License"}outputExpiredTrialKey(e,t,i){this.centerPadAndOutput(""),this.centerPadAndOutput(` ${t} License `),this.centerPadAndOutput(" Trial Period Expired. "),this.padAndOutput(`* Your trial only license for ${i} expired on ${e}.`," ","*"),this.padAndOutput("* Please email info@ag-grid.com to purchase a license."," ","*"),this.centerPadAndOutput(""),this.centerPadAndOutput(""),this.watermarkMessage="Trial Period Expired"}outputMissingLicenseKey(e){this.centerPadAndOutput(""),this.centerPadAndOutput(` ${e} License `),this.centerPadAndOutput(" License Key Not Found "),this.padAndOutput(`* All ${e} features are unlocked for trial.`," ","*"),this.padAndOutput("* If you want to hide the watermark please email info@ag-grid.com for a trial license key."," ","*"),this.centerPadAndOutput(""),this.centerPadAndOutput(""),this.watermarkMessage="For Trial Use Only"}outputExpiredKey(e,t,i,a){this.centerPadAndOutput(""),this.centerPadAndOutput(` ${i} License `),this.centerPadAndOutput(" Incompatible Software Version "),this.padAndOutput(`* Your license key works with versions of ${a} released before ${e}.`," ","*"),this.padAndOutput(`* The version you are trying to use was released on ${t}.`," ","*"),this.padAndOutput("* Please contact info@ag-grid.com to renew your license key."," ","*"),this.centerPadAndOutput(""),this.centerPadAndOutput(""),this.watermarkMessage="License Expired"}};p.RELEASE_INFORMATION="MTcxOTQzMTYzMDEwNw==";var m=p,f=i(3423),v={selector:"AG-WATERMARK",component:class extends f.Component{constructor(){super('<div class="ag-watermark">\n <div data-ref="eLicenseTextRef" class="ag-watermark-text"></div>\n </div>'),this.eLicenseTextRef=f.RefPlaceholder}wireBeans(e){this.licenseManager=e.licenseManager}postConstruct(){const e=this.shouldDisplayWatermark();this.setDisplayed(e),e&&(this.eLicenseTextRef.innerText=this.licenseManager.getWatermarkMessage(),window.setTimeout((()=>this.addCssClass("ag-opacity-zero")),0),window.setTimeout((()=>this.setDisplayed(!1)),5e3))}shouldDisplayWatermark(){return this.licenseManager.isDisplayWatermark()}}},y=class extends d.BeanStub{constructor(){super(...arguments),this.beanName="licenseManager"}postConstruct(){this.validateLicense()}validateLicense(){this.licenseManager=new m(this.gos.getDocument()),this.licenseManager.validateLicense()}static getLicenseDetails(e){return new m(null).getLicenseDetails(e)}getWatermarkSelector(){return v}isDisplayWatermark(){return this.licenseManager.isDisplayWatermark()}getWatermarkMessage(){return this.licenseManager.getWatermarkMessage()}static setLicenseKey(e){m.setLicenseKey(e)}static setChartsLicenseManager(e){m.setChartsLicenseManager(e)}},b=i(3423),C=class extends b.Component{constructor(){super(),this.setTemplate("<div></div>")}init(e){this.params=e,this.cssClassPrefix=this.params.cssClassPrefix??"ag-menu-option",this.addIcon(),this.addName(),this.addShortcut(),this.addSubMenu()}configureDefaults(){return!0}addIcon(){if(this.params.isCompact)return;const e=(0,b._loadTemplate)(`<span data-ref="eIcon" class="${this.getClassName("part")} ${this.getClassName("icon")}" role="presentation"></span>`),{checked:t,icon:i}=this.params;t?e.appendChild((0,b._createIconNoSpan)("check",this.gos)):i&&((0,b._isNodeOrElement)(i)?e.appendChild(i):"string"==typeof i?e.innerHTML=i:(0,b._warnOnce)("menu item icon must be DOM node or string")),this.getGui().appendChild(e)}addName(){const e=(0,b._loadTemplate)(`<span data-ref="eName" class="${this.getClassName("part")} ${this.getClassName("text")}">${this.params.name||""}</span>`);this.getGui().appendChild(e)}addShortcut(){if(this.params.isCompact)return;const e=(0,b._loadTemplate)(`<span data-ref="eShortcut" class="${this.getClassName("part")} ${this.getClassName("shortcut")}">${this.params.shortcut||""}</span>`);this.getGui().appendChild(e)}addSubMenu(){const e=(0,b._loadTemplate)(`<span data-ref="ePopupPointer" class="${this.getClassName("part")} ${this.getClassName("popup-pointer")}"></span>`),t=this.getGui();if(this.params.subMenu){const i=this.gos.get("enableRtl")?"smallLeft":"smallRight";(0,b._setAriaExpanded)(t,!1),e.appendChild((0,b._createIconNoSpan)(i,this.gos))}t.appendChild(e)}getClassName(e){return`${this.cssClassPrefix}-${e}`}destroy(){super.destroy()}},w={version:"32.0.2",moduleName:c.ModuleNames.EnterpriseCoreModule,beans:[y],userComponents:[{name:"agMenuItem",classImp:C}]},S=i(3423);var x=class extends S.Component{constructor(e={}){super(function(e){const t=e.cssIdentifier||"default";return`\n <div class="ag-group ag-${t}-group" role="presentation">\n <div data-ref="eToolbar" class="ag-group-toolbar ag-${t}-group-toolbar">\n <ag-checkbox data-ref="cbGroupEnabled"></ag-checkbox>\n </div>\n <div data-ref="eContainer" class="ag-group-container ag-group-container-${e.direction||"vertical"} ag-${t}-group-container"></div>\n </div>\n `}(e),[S.AgCheckboxSelector]),this.params=e,this.suppressEnabledCheckbox=!0,this.suppressToggleExpandOnEnableChange=!1,this.eToolbar=S.RefPlaceholder,this.cbGroupEnabled=S.RefPlaceholder,this.eContainer=S.RefPlaceholder;const{enabled:t,items:i,suppressEnabledCheckbox:a,expanded:n,suppressToggleExpandOnEnableChange:r,useToggle:o}=e;this.cssIdentifier=e.cssIdentifier||"default",this.enabled=null==t||t,this.items=i||[],this.useToggle=o??!1,this.alignItems=e.alignItems||"center",this.expanded=null==n||n,null!=a&&(this.suppressEnabledCheckbox=a),null!=r&&(this.suppressToggleExpandOnEnableChange=r)}postConstruct(){if(this.setupTitleBar(),this.items.length){const e=this.items;this.items=[],this.addItems(e)}const e=this.localeService.getLocaleTextFunc();this.cbGroupEnabled.setLabel(e("enabled","Enabled")),this.enabled&&this.setEnabled(this.enabled,void 0,!0),this.setAlignItems(this.alignItems);const{onEnableChange:t,onExpandedChange:i,suppressOpenCloseIcons:a}=this.params;this.hideEnabledCheckbox(this.suppressEnabledCheckbox),this.hideOpenCloseIcons(a??!1),this.refreshChildDisplay(),(0,S._setDisplayed)(this.eContainer,this.expanded),this.cbGroupEnabled.onValueChange((e=>{this.setEnabled(e,!0,this.suppressToggleExpandOnEnableChange),this.dispatchEnableChangeEvent(e)})),null!=t&&this.onEnableChange(t),null!=i&&this.onExpandedChange(i)}refreshChildDisplay(){(0,S._setDisplayed)(this.eToolbar,this.expanded&&!this.suppressEnabledCheckbox),this.eTitleBar?.refreshOnExpand(this.expanded)}isExpanded(){return this.expanded}setAlignItems(e){this.alignItems!==e&&this.removeCssClass(`ag-group-item-alignment-${this.alignItems}`),this.alignItems=e;const t=`ag-group-item-alignment-${this.alignItems}`;return this.addCssClass(t),this}toggleGroupExpand(e,t){if(this.eTitleBar?.isSuppressCollapse()&&!this.useToggle)e=!0,t=!0;else if(e=null!=e?e:!this.expanded,this.expanded===e)return this;return this.expanded=e,this.refreshChildDisplay(),(0,S._setDisplayed)(this.eContainer,e),t||this.dispatchLocalEvent({type:e?"expanded":"collapsed"}),this}addItems(e){e.forEach((e=>this.addItem(e)))}prependItem(e){this.insertItem(e,!0)}addItem(e){this.insertItem(e,!1)}insertItem(e,t){const i=this.eContainer,a=e instanceof S.Component?e.getGui():e;a.classList.add("ag-group-item",`ag-${this.cssIdentifier}-group-item`),t?(i.insertAdjacentElement("afterbegin",a),this.items.unshift(a)):(i.appendChild(a),this.items.push(a))}hideItem(e,t){const i=this.items[t];(0,S._setDisplayed)(i,!e)}getItemIndex(e){const t=e instanceof S.Component?e.getGui():e;return this.items.indexOf(t)}setTitle(e){return this.eTitleBar?.setTitle(e),this}addTitleBarWidget(e){return this.eTitleBar?.addWidget(e),this}addCssClassToTitleBar(e){this.eTitleBar?.addCssClass(e)}dispatchEnableChangeEvent(e){const t={type:"enableChange",enabled:e};this.dispatchLocalEvent(t)}setEnabled(e,t,i){return this.enabled=e,this.refreshDisabledStyles(),i||this.toggleGroupExpand(e),t||(this.cbGroupEnabled.setValue(e),this.eToggle?.setValue(e)),this}isEnabled(){return this.enabled}onEnableChange(e){return this.addManagedListeners(this,{enableChange:t=>e(t.enabled)}),this}onExpandedChange(e){return this.addManagedListeners(this,{expanded:()=>e(!0),collapsed:()=>e(!1)}),this}hideEnabledCheckbox(e){return this.suppressEnabledCheckbox=e,this.refreshChildDisplay(),this.refreshDisabledStyles(),this}hideOpenCloseIcons(e){return this.eTitleBar?.hideOpenCloseIcons(e),this}refreshDisabledStyles(){const e=!this.enabled;this.eContainer.classList.toggle("ag-disabled",e),this.eTitleBar?.refreshDisabledStyles(this.suppressEnabledCheckbox&&e),this.eContainer.classList.toggle("ag-disabled-group-container",e)}setupTitleBar(){const e=this.useToggle?this.createToggleTitleBar():this.createDefaultTitleBar();this.eToolbar.insertAdjacentElement("beforebegin",e.getGui())}createDefaultTitleBar(){const e=this.createManagedBean(new M(this.params));return this.eTitleBar=e,e.refreshOnExpand(this.expanded),this.addManagedListeners(e,{expandedChanged:e=>this.toggleGroupExpand(e.expanded)}),e}createToggleTitleBar(){const e=this.createManagedBean(new S.AgToggleButton({value:this.enabled,label:this.params.title,labelAlignment:"left",labelWidth:"flex",onValueChange:e=>{this.setEnabled(e,!0),this.dispatchEnableChangeEvent(e)}}));return e.addCssClass("ag-group-title-bar"),e.addCssClass(`ag-${this.params.cssIdentifier??"default"}-group-title-bar ag-unselectable`),this.eToggle=e,this.toggleGroupExpand(this.enabled),e}},k="ag-disabled-group-title-bar";var M=class extends S.Component{constructor(e={}){super(function(e){const t=e.cssIdentifier??"default";return`\n <div class="ag-group-title-bar ag-${t}-group-title-bar ag-unselectable" role="${e.suppressKeyboardNavigation?"presentation":"role"}">\n <span class="ag-group-title-bar-icon ag-${t}-group-title-bar-icon" data-ref="eGroupOpenedIcon" role="presentation"></span>\n <span class="ag-group-title-bar-icon ag-${t}-group-title-bar-icon" data-ref="eGroupClosedIcon" role="presentation"></span>\n <span data-ref="eTitle" class="ag-group-title ag-${t}-group-title"></span>\n </div>\n `}(e)),this.suppressOpenCloseIcons=!1,this.suppressKeyboardNavigation=!1,this.eGroupOpenedIcon=S.RefPlaceholder,this.eGroupClosedIcon=S.RefPlaceholder,this.eTitle=S.RefPlaceholder;const{title:t,suppressOpenCloseIcons:i,suppressKeyboardNavigation:a}=e;t&&t.length>0&&(this.title=t),null!=i&&(this.suppressOpenCloseIcons=i),this.suppressKeyboardNavigation=a??!1}postConstruct(){this.setTitle(this.title),this.hideOpenCloseIcons(this.suppressOpenCloseIcons),this.setupExpandContract()}setupExpandContract(){this.eGroupClosedIcon.appendChild((0,S._createIcon)("columnSelectClosed",this.gos,null)),this.eGroupOpenedIcon.appendChild((0,S._createIcon)("columnSelectOpen",this.gos,null)),this.addManagedElementListeners(this.getGui(),{click:()=>this.dispatchExpandChanged(),keydown:e=>{switch(e.key){case S.KeyCode.ENTER:case S.KeyCode.SPACE:e.preventDefault(),this.dispatchExpandChanged();break;case S.KeyCode.RIGHT:case S.KeyCode.LEFT:e.preventDefault(),this.dispatchExpandChanged(e.key===S.KeyCode.RIGHT)}}})}refreshOnExpand(e){this.refreshAriaStatus(e),this.refreshOpenCloseIcons(e)}refreshAriaStatus(e){this.suppressOpenCloseIcons||(0,S._setAriaExpanded)(this.getGui(),e)}refreshOpenCloseIcons(e){const t=!this.suppressOpenCloseIcons;(0,S._setDisplayed)(this.eGroupOpenedIcon,t&&e),(0,S._setDisplayed)(this.eGroupClosedIcon,t&&!e)}isSuppressCollapse(){return this.suppressOpenCloseIcons}dispatchExpandChanged(e){const t={type:"expandedChanged",expanded:e};this.dispatchLocalEvent(t)}setTitle(e){const t=this.getGui(),i=!!e&&e.length>0;e=i?e:void 0,this.eTitle.textContent=e??"",(0,S._setDisplayed)(t,i),e!==this.title&&(this.title=e);const a=t.classList.contains(k);return this.refreshDisabledStyles(a),this}addWidget(e){return this.getGui().appendChild(e),this}hideOpenCloseIcons(e){return this.suppressOpenCloseIcons=e,e&&this.dispatchExpandChanged(!0),this}refreshDisabledStyles(e){const t=this.getGui();e?(t.classList.add(k),t.removeAttribute("tabindex")):(t.classList.remove(k),"string"!=typeof this.title||this.suppressKeyboardNavigation?t.removeAttribute("tabindex"):t.setAttribute("tabindex","0"))}},R={selector:"AG-GROUP-COMPONENT",component:x},D=i(3423),A=i(3423),E=i(3423),T=i(3423),P=class extends T.Component{constructor(e){super('\n <div class="ag-pill" role="option">\n <span class="ag-pill-text" data-ref="eText"></span>\n <span class="ag-button ag-pill-button" data-ref="eButton" role="presentation"></span>\n </div>\n '),this.config=e,this.eText=E.RefPlaceholder,this.eButton=E.RefPlaceholder}postConstruct(){const{config:e,eButton:t}=this,{onKeyDown:i,onButtonClick:a}=e;this.getGui().setAttribute("tabindex",String(this.gos.get("tabIndex"))),this.addGuiEventListener("focus",(()=>{this.eButton.focus()})),i&&this.addGuiEventListener("keydown",i),a&&this.addManagedElementListeners(t,{click:a})}toggleCloseButtonClass(e,t){this.eButton.classList.toggle(e,t)}setText(e){this.eText.textContent=e}getText(){return this.eText.textContent}},F=class extends A.Component{constructor(){super('\n <div class="ag-pill-container" role="listbox"></div>\n '),this.pills=[]}wireBeans(e){this.focusService=e.focusService}init(e){this.params=e,this.refresh()}refresh(){this.clearPills();const{params:e,onPillKeyDown:t}=this,i=e.getValue();if(!Array.isArray(i))return;const a=i.length;for(let n=0;n<a;n++){const r=i[n],o=this.createBean(new P({onButtonClick:()=>this.onPillButtonClick(o),onKeyDown:t.bind(this)})),s=o.getGui();(0,A._setAriaPosInSet)(s,n+1),(0,A._setAriaSetSize)(s,a),e.onPillMouseDown&&o.addGuiEventListener("mousedown",e.onPillMouseDown),e.announceItemFocus&&o.addGuiEventListener("focus",e.announceItemFocus),o.setText(r),o.toggleCloseButtonClass("ag-icon-cancel",!0),this.appendChild(s),this.pills.push(o)}}onNavigationKeyDown(e){const{key:t}=e;if(!this.pills.length||t!==A.KeyCode.LEFT&&t!==A.KeyCode.RIGHT)return;e.preventDefault();const i=this.gos.getActiveDomElement(),a=this.getGui(),{params:n,focusService:r}=this;if(a.contains(i)){const e=r.findNextFocusableElement(a,!1,t===A.KeyCode.LEFT);e?e.focus():n.eWrapper&&n.eWrapper.focus()}else{const e=r.findFocusableElements(a);e.length>0&&e[t===A.KeyCode.RIGHT?0:e.length-1].focus()}}clearPills(){const e=this.getGui();e.contains(this.gos.getActiveDomElement())&&this.params.eWrapper&&this.params.eWrapper.focus(),(0,A._clearElement)(e),this.destroyBeans(this.pills),this.pills=[]}onPillButtonClick(e){this.deletePill(e)}onPillKeyDown(e){const t=e.key;if(t!==A.KeyCode.DELETE&&t!==A.KeyCode.BACKSPACE)return;e.preventDefault();const i=this.gos.getDocument(),a=this.pills.findIndex((e=>e.getGui().contains(i.activeElement)));if(-1===a)return;const n=this.pills[a];n&&this.deletePill(n,a)}deletePill(e,t){const i=e.getText(),a=(this.params.getValue()||[]).filter((e=>e!==i));if(this.params.setValue(a),!a.length&&this.params.eWrapper)this.params.eWrapper.focus();else if(null!=t){const e=this.pills[Math.min(t,this.pills.length-1)];e&&e.getFocusableElement().focus()}}destroy(){this.clearPills(),super.destroy()}},I=i(3423),L=i(3423),N=class extends L.Component{constructor(e){super('<div class="ag-rich-select-row" role="presentation"></div>'),this.params=e}wireBeans(e){this.userComponentFactory=e.userComponentFactory}setState(e){let t="";const{params:i}=this;i.valueFormatter&&(t=i.valueFormatter(e));this.populateWithRenderer(e,t)||this.populateWithoutRenderer(e,t),this.value=e}highlightString(e){const{parsedValue:t}=this;if(this.params.cellRenderer||!(0,L._exists)(t))return;let i=(0,L._exists)(e);if(i){const a=t?.toLocaleLowerCase().indexOf(e.toLocaleLowerCase());if(a>=0){const i=a+e.length,n=(0,L._escapeString)(t.slice(0,a),!0),r=(0,L._escapeString)(t.slice(a,i),!0),o=(0,L._escapeString)(t.slice(i));this.renderValueWithoutRenderer(`${n}<span class="ag-rich-select-row-text-highlight">${r}</span>${o}`)}else i=!1}i||this.renderValueWithoutRenderer(t)}updateSelected(e){const t=this.getGui();(0,L._setAriaSelected)(t.parentElement,e),this.addOrRemoveCssClass("ag-rich-select-row-selected",e)}getValue(){return this.value}toggleHighlighted(e){this.addOrRemoveCssClass("ag-rich-select-row-highlighted",e)}populateWithoutRenderer(e,t){const i=this.gos.getDocument(),a=this.getGui(),n=i.createElement("span");n.style.overflow="hidden",n.style.textOverflow="ellipsis";const r=(0,L._escapeString)((0,L._exists)(t)?t:e,!0);this.parsedValue=(0,L._exists)(r)?r:null,a.appendChild(n),this.renderValueWithoutRenderer(r),this.setTooltip({newTooltipText:this.parsedValue,shouldDisplayTooltip:()=>n.scrollWidth>n.clientWidth})}renderValueWithoutRenderer(e){const t=this.getGui().querySelector("span");t&&(t.innerHTML=(0,L._exists)(e)?e:"&nbsp;")}populateWithRenderer(e,t){let i,a;if(this.params.cellRenderer){const i=this.getParentComponent()?.getParentComponent();a=this.userComponentFactory.getEditorRendererDetails(this.params,{value:e,valueFormatted:t,getValue:()=>i?.getValue(),setValue:e=>{i?.setValue(e,!0)},setTooltip:(e,t)=>{this.setTooltip({newTooltipText:e,shouldDisplayTooltip:t})}})}return a&&(i=a.newAgStackInstance()),i&&(0,L._bindCellRendererToHtmlElement)(i,this.getGui()),!!i&&(i.then((e=>{this.addDestroyFunc((()=>{this.destroyBean(e)}))})),!0)}},O=i(3423);var z=class extends O.TabGuardComp{constructor(e){super(function(e){return`<div class="ag-virtual-list-viewport ag-${e}-virtual-list-viewport" role="presentation">\n <div class="ag-virtual-list-container ag-${e}-virtual-list-container" data-ref="eContainer"></div>\n </div>`}(e?.cssIdentifier||"default")),this.renderedRows=new Map,this.rowHeight=20,this.pageSize=-1,this.isScrolling=!1,this.isHeightFromTheme=!0,this.eContainer=O.RefPlaceholder;const{cssIdentifier:t="default",ariaRole:i="listbox",listName:a}=e||{};this.cssIdentifier=t,this.ariaRole=i,this.listName=a}wireBeans(e){this.resizeObserverService=e.resizeObserverService,this.animationFrameService=e.animationFrameService,this.environment=e.environment}postConstruct(){this.addScrollListener(),this.rowHeight=this.getItemHeight(),this.addResizeObserver(),this.initialiseTabGuard({onFocusIn:e=>this.onFocusIn(e),onFocusOut:e=>this.onFocusOut(e),focusInnerElement:e=>this.focusInnerElement(e),onTabKeyDown:e=>this.onTabKeyDown(e),handleKeyDown:e=>this.handleKeyDown(e)}),this.setAriaProperties(),this.addManagedEventListeners({gridStylesChanged:this.onGridStylesChanged.bind(this)})}onGridStylesChanged(e){e.listItemHeightChanged&&(this.rowHeight=this.getItemHeight(),this.refresh())}setAriaProperties(){const e=this.localeService.getLocaleTextFunc()("ariaDefaultListName",this.listName||"List"),t=this.eContainer;(0,O._setAriaRole)(t,this.ariaRole),(0,O._setAriaLabel)(t,e)}addResizeObserver(){const e=this.resizeObserverService.observeResize(this.getGui(),(()=>this.animationFrameService.requestAnimationFrame((()=>this.drawVirtualRows()))));this.addDestroyFunc(e)}focusInnerElement(e){this.focusRow(e?this.model.getRowCount()-1:0)}onFocusIn(e){const t=e.target;t.classList.contains("ag-virtual-list-item")&&(this.lastFocusedRowIndex=(0,O._getAriaPosInSet)(t)-1)}onFocusOut(e){this.getFocusableElement().contains(e.relatedTarget)||(this.lastFocusedRowIndex=null)}handleKeyDown(e){switch(e.key){case O.KeyCode.UP:case O.KeyCode.DOWN:this.navigate(e.key===O.KeyCode.UP)&&e.preventDefault();break;case O.KeyCode.PAGE_HOME:case O.KeyCode.PAGE_END:case O.KeyCode.PAGE_UP:case O.KeyCode.PAGE_DOWN:null!==this.navigateToPage(e.key)&&e.preventDefault()}}onTabKeyDown(e){(0,O._stopPropagationForAgGrid)(e),this.forceFocusOutOfContainer(e.shiftKey)}navigate(e){if(null==this.lastFocusedRowIndex)return!1;const t=this.lastFocusedRowIndex+(e?-1:1);return!(t<0||t>=this.model.getRowCount())&&(this.focusRow(t),!0)}navigateToPage(e,t="focused"){let i=!1;"focused"===t&&(t=this.getLastFocusedRow(),i=!0);const a=this.model.getRowCount()-1;let n=-1;return e===O.KeyCode.PAGE_HOME?n=0:e===O.KeyCode.PAGE_END?n=a:e===O.KeyCode.PAGE_DOWN?n=Math.min(t+this.pageSize,a):e===O.KeyCode.PAGE_UP&&(n=Math.max(t-this.pageSize,0)),-1===n?null:(i?this.focusRow(n):this.ensureIndexVisible(n),n)}getLastFocusedRow(){return this.lastFocusedRowIndex}focusRow(e){this.isScrolling||(this.isScrolling=!0,this.ensureIndexVisible(e),this.animationFrameService.requestAnimationFrame((()=>{if(this.isScrolling=!1,!this.isAlive())return;const t=this.renderedRows.get(e);t&&t.eDiv.focus()})))}getComponentAt(e){const t=this.renderedRows.get(e);return t&&t.rowComponent}forEachRenderedRow(e){this.renderedRows.forEach(((t,i)=>e(t.rowComponent,i)))}getItemHeight(){return this.isHeightFromTheme?this.environment.getDefaultListItemHeight():this.rowHeight}ensureIndexVisible(e,t=!0){const i=this.model.getRowCount();if("number"!=typeof e||e<0||e>=i)return(0,O._warnOnce)("invalid row index for ensureIndexVisible: ",e),!1;const a=e*this.rowHeight,n=a+this.rowHeight,r=this.getGui(),o=r.scrollTop,s=r.offsetHeight,l=o+s,c=t?0:this.rowHeight,d=l<n-c;if(o>a+c)return r.scrollTop=a,!0;if(d){const e=n-s;return r.scrollTop=e,!0}return!1}setComponentCreator(e){this.componentCreator=e}setComponentUpdater(e){this.componentUpdater=e}getRowHeight(){return this.rowHeight}getScrollTop(){return this.getGui().scrollTop}setRowHeight(e){this.isHeightFromTheme=!1,this.rowHeight=e,this.refresh()}refresh(e){if(null==this.model||!this.isAlive())return;const t=this.model.getRowCount();this.eContainer.style.height=t*this.rowHeight+"px",(0,O._waitUntil)((()=>this.eContainer.clientHeight>=t*this.rowHeight),(()=>{this.isAlive()&&(this.canSoftRefresh(e)?this.drawVirtualRows(!0):(this.clearVirtualRows(),this.drawVirtualRows()))}))}canSoftRefresh(e){return!!(e&&this.renderedRows.size&&"function"==typeof this.model.areRowsEqual&&this.componentUpdater)}clearVirtualRows(){this.renderedRows.forEach(((e,t)=>this.removeRow(t)))}drawVirtualRows(e){if(!this.isAlive()||!this.model)return;const t=this.getGui(),i=t.scrollTop,a=i+t.offsetHeight,n=Math.floor(i/this.rowHeight),r=Math.floor(a/this.rowHeight);this.pageSize=Math.floor((a-i)/this.rowHeight),this.ensureRowsRendered(n,r,e)}ensureRowsRendered(e,t,i){this.renderedRows.forEach(((i,a)=>{(a<e||a>t)&&a!==this.lastFocusedRowIndex&&this.removeRow(a)})),i&&this.refreshRows();for(let i=e;i<=t;i++)this.renderedRows.has(i)||i<this.model.getRowCount()&&this.insertRow(i)}insertRow(e){const t=this.model.getRow(e),i=document.createElement("div");i.classList.add("ag-virtual-list-item",`ag-${this.cssIdentifier}-virtual-list-item`),(0,O._setAriaRole)(i,"tree"===this.ariaRole?"treeitem":"option"),(0,O._setAriaSetSize)(i,this.model.getRowCount()),(0,O._setAriaPosInSet)(i,e+1),i.setAttribute("tabindex","-1"),i.style.height=`${this.rowHeight}px`,i.style.top=this.rowHeight*e+"px";const a=this.componentCreator(t,i);a.addGuiEventListener("focusin",(()=>this.lastFocusedRowIndex=e)),i.appendChild(a.getGui()),this.renderedRows.has(e-1)?this.renderedRows.get(e-1).eDiv.insertAdjacentElement("afterend",i):this.renderedRows.has(e+1)?this.renderedRows.get(e+1).eDiv.insertAdjacentElement("beforebegin",i):this.eContainer.appendChild(i),this.renderedRows.set(e,{rowComponent:a,eDiv:i,value:t})}removeRow(e){const t=this.renderedRows.get(e);this.eContainer.removeChild(t.eDiv),this.destroyBean(t.rowComponent),this.renderedRows.delete(e)}refreshRows(){const e=this.model.getRowCount();this.renderedRows.forEach(((t,i)=>{if(i>=e)this.removeRow(i);else{const e=this.model.getRow(i);this.model.areRowsEqual?.(t.value,e)?this.componentUpdater(e,t.rowComponent):this.removeRow(i)}}))}addScrollListener(){this.addGuiEventListener("scroll",(()=>this.drawVirtualRows()),{passive:!0})}setModel(e){this.model=e}getAriaElement(){return this.eContainer}destroy(){this.isAlive()&&(this.clearVirtualRows(),super.destroy())}},G="ag-rich-select-list",B="ag-rich-select-row",V=class extends z{constructor(e,t,i){super({cssIdentifier:"rich-select"}),this.params=e,this.richSelectWrapper=t,this.getSearchString=i,this.lastRowHovered=-1,this.selectedItems=new Set,this.params=e,this.setComponentCreator(this.createRowComponent.bind(this)),this.setComponentUpdater((()=>{}))}postConstruct(){super.postConstruct(),this.createLoadingElement();const{cellRowHeight:e,pickerAriaLabelKey:t,pickerAriaLabelValue:i}=this.params;e&&this.setRowHeight(e);const a=this.getGui(),n=this.getAriaElement();this.addManagedListeners(a,{mousemove:this.onMouseMove.bind(this),mouseout:this.onMouseOut.bind(this),mousedown:this.onMouseDown.bind(this),click:this.onClick.bind(this)}),a.classList.add(G);const r=`${G}-${this.getCompId()}`;n.setAttribute("id",r);const o=this.localeService.getLocaleTextFunc()(t,i);(0,I._setAriaLabel)(n,o),(0,I._setAriaControls)(this.richSelectWrapper,n)}navigateToPage(e){const t=super.navigateToPage(e,this.lastRowHovered);return null!=t&&this.animationFrameService.requestAnimationFrame((()=>{if(!this.isAlive())return null;this.highlightIndex(t)})),t}drawVirtualRows(e){super.drawVirtualRows(e),this.refreshSelectedItems()}highlightFilterMatch(e){this.forEachRenderedRow((t=>{t.highlightString(e)}))}onNavigationKeyDown(e,t){this.animationFrameService.requestAnimationFrame((()=>{if(!this.currentList||!this.isAlive())return;const i=this.currentList.length,a=this.lastRowHovered,n=e===I.KeyCode.DOWN?1:-1,r=Math.min(Math.max(-1===a?0:a+n,0),i-1);this.highlightIndex(r),t()}))}selectValue(e){if(!this.currentList)return void(this.eLoading&&this.appendChild(this.eLoading));if(this.eLoading?.offsetParent&&this.eLoading.parentElement?.removeChild(this.eLoading),null==e)return;const t=this.getIndicesForValues(e);t.length>0&&(this.refresh(),this.ensureIndexVisible(t[0]),this.refresh(!0)),this.selectListItems(Array.isArray(e)?e:[e])}selectListItems(e,t=!1){t||this.selectedItems.clear();for(let t=0;t<e.length;t++){const i=e[t];this.selectedItems.has(i)||this.selectedItems.add(i)}this.refreshSelectedItems()}getCurrentList(){return this.currentList}setCurrentList(e){this.currentList=e,this.setModel({getRowCount:()=>e.length,getRow:t=>e[t],areRowsEqual:(e,t)=>e===t})}getSelectedItems(){return this.selectedItems}getLastItemHovered(){return this.currentList[this.lastRowHovered]}highlightIndex(e,t){if(this.currentList){if(e<0||e>=this.currentList.length)this.lastRowHovered=-1;else{this.lastRowHovered=e;this.ensureIndexVisible(e,!t)&&!t&&this.refresh(!0)}this.forEachRenderedRow(((t,i)=>{const a=e===i;if(t.toggleHighlighted(a),a){const e=`${B}-${t.getCompId()}`;(0,I._setAriaActiveDescendant)(this.richSelectWrapper,e),this.richSelectWrapper.setAttribute("data-active-option",e)}}))}}getIndicesForValues(e){const{currentList:t}=this;if(!t||0===t.length||null==e)return[];if(Array.isArray(e)||(e=[e]),0===e.length)return[];const i=[];for(let a=0;a<e.length;a++){const n=t.indexOf(e[a]);n>=0&&i.push(n)}return i}toggleListItemSelection(e){this.selectedItems.has(e)?this.selectedItems.delete(e):this.selectedItems.add(e),this.refreshSelectedItems(),this.dispatchValueSelected()}refreshSelectedItems(){this.forEachRenderedRow((e=>{const t=this.selectedItems.has(e.getValue());e.updateSelected(t)}))}createLoadingElement(){const e=this.gos.getDocument(),t=this.localeService.getLocaleTextFunc(),i=e.createElement("div");i.classList.add("ag-loading-text"),i.innerText=t("loadingOoo","Loading..."),this.eLoading=i}createRowComponent(e,t){const i=new N(this.params);t.setAttribute("id",`${B}-${i.getCompId()}`),i.setParentComponent(this),this.createBean(i),i.setState(e);const{highlightMatch:a,searchType:n="fuzzy"}=this.params;return a&&"fuzzy"!==n&&i.highlightString(this.getSearchString()),i}getRowForMouseEvent(e){const t=this.getGui().getBoundingClientRect(),i=this.getScrollTop(),a=e.clientY-t.top+i;return Math.floor(a/this.getRowHeight())}onMouseMove(e){const t=this.getRowForMouseEvent(e);-1!==t&&t!=this.lastRowHovered&&(this.lastRowHovered=t,this.highlightIndex(t,!0))}onMouseDown(e){e.preventDefault()}onMouseOut(e){this.getGui().contains(e.relatedTarget)||this.highlightIndex(-1)}onClick(e){const{multiSelect:t}=this.params;if(!this.currentList)return;const i=this.getRowForMouseEvent(e),a=this.currentList[i];t?this.toggleListItemSelection(a):(this.selectListItems([a]),this.dispatchValueSelected())}dispatchValueSelected(){const e={type:"richSelectListRowSelected",fromEnterKey:!1,value:this.selectedItems};this.dispatchLocalEvent(e)}destroy(){super.destroy(),this.eLoading=void 0}},H=class extends D.AgPickerField{constructor(e){super({pickerAriaLabelKey:"ariaLabelRichSelectField",pickerAriaLabelValue:"Rich Select Field",pickerType:"ag-list",className:"ag-rich-select",pickerIcon:"smallDown",ariaRole:"combobox",template:e?.template??'\n <div class="ag-picker-field" role="presentation">\n <div data-ref="eLabel"></div>\n <div data-ref="eWrapper" class="ag-wrapper ag-picker-field-wrapper ag-rich-select-value ag-picker-collapsed">\n <span data-ref="eDisplayField" class="ag-picker-field-display"></span>\n <ag-input-text-field data-ref="eInput" class="ag-rich-select-field-input"></ag-input-text-field>\n <span data-ref="eDeselect" class="ag-rich-select-deselect-button ag-picker-field-icon" role="presentation"></span>\n <span data-ref="eIcon" class="ag-picker-field-icon" aria-hidden="true"></span>\n </div>\n </div>',agComponents:[D.AgInputTextFieldSelector],modalPicker:!1,...e,maxPickerHeight:e?.maxPickerHeight??"calc(var(--ag-row-height) * 6.5)"}),this.searchString="",this.searchStringCreator=null,this.eInput=D.RefPlaceholder,this.eDeselect=D.RefPlaceholder,this.skipWrapperAnnouncement=!1;const{value:t,valueList:i,searchStringCreator:a}=e||{};void 0!==t&&(this.value=t),null!=i&&(this.values=i),a&&(this.searchStringCreator=a)}wireBeans(e){super.wireBeans(e),this.userComponentFactory=e.userComponentFactory,this.ariaAnnouncementService=e.ariaAnnouncementService}postConstruct(){super.postConstruct(),this.createListComponent(),this.eDeselect.appendChild((0,D._createIconNoSpan)("cancel",this.gos));const{allowTyping:e,placeholder:t,suppressDeselectAll:i}=this.config;this.eDeselect.classList.add("ag-hidden"),e?(this.eInput.setAutoComplete(!1).setInputPlaceholder(t),this.eDisplayField.classList.add("ag-hidden")):this.eInput.setDisplayed(!1),this.setupAriaProperties();const{searchDebounceDelay:a=300}=this.config;this.clearSearchString=(0,D._debounce)(this.clearSearchString,a),this.renderSelectedValue(),e&&this.eInput.onValueChange((e=>this.searchTextFromString(e))),this.addManagedElementListeners(this.eWrapper,{focus:this.onWrapperFocus.bind(this)}),this.addManagedElementListeners(this.eWrapper,{focusout:this.onWrapperFocusOut.bind(this)}),i||this.addManagedElementListeners(this.eDeselect,{mousedown:this.onDeselectAllMouseDown.bind(this),click:this.onDeselectAllClick.bind(this)})}setupAriaProperties(){const{eWrapper:e,gos:t,localeService:i}=this;e.tabIndex=t.get("tabIndex");const a=i.getLocaleTextFunc();this.ariaDeleteSelection=a("ariaLabelRichSelectDeleteSelection","Press DELETE to deselect item"),this.ariaDeselectAllItems=a("ariaLabelRichSelectDeselectAllItems","Press DELETE to deselect all items"),this.ariaToggleSelection=a("ariaLabelRichSelectToggleSelection","Press SPACE to toggle selection")}createListComponent(){this.listComponent=this.createBean(new V(this.config,this.eWrapper,(()=>this.searchString))),this.listComponent.setParentComponent(this),this.addManagedListeners(this.listComponent,{richSelectListRowSelected:e=>{this.onListValueSelected(e.value,e.fromEnterKey)}})}renderSelectedValue(){const{value:e,eDisplayField:t,config:i}=this,{allowTyping:a,cellRenderer:n,initialInputValue:r,multiSelect:o,suppressDeselectAll:s,suppressMultiSelectPillRenderer:l}=i,c=this.config.valueFormatter?this.config.valueFormatter(e):e;if(a)return void this.eInput.setValue(r??c);if(o&&!s){const t=null==e||Array.isArray(e)&&0===e.length;this.eDeselect.classList.toggle("ag-hidden",t)}let d,h;if(!o||l)if(n&&(d=this.userComponentFactory.getEditorRendererDetails(i,{value:e,valueFormatted:c,getValue:()=>this.getValue(),setValue:e=>{this.setValue(e,!0)},setTooltip:(e,t)=>{this.setTooltip({newTooltipText:e,shouldDisplayTooltip:t})}})),d&&(h=d.newAgStackInstance()),h)(0,D._clearElement)(t),(0,D._bindCellRendererToHtmlElement)(h,t),h.then((e=>{this.addDestroyFunc((()=>this.destroyBean(e)))}));else{if((0,D._exists)(this.value))t.innerText=c,t.classList.remove("ag-display-as-placeholder");else{const{placeholder:e}=i;(0,D._exists)(e)?(t.innerHTML=`${(0,D._escapeString)(e)}`,t.classList.add("ag-display-as-placeholder")):(0,D._clearElement)(t)}this.setTooltip({newTooltipText:c??null,shouldDisplayTooltip:()=>this.eDisplayField.scrollWidth>this.eDisplayField.clientWidth})}else this.createOrUpdatePillContainer(t)}createPickerComponent(){const{values:e}=this;return e&&this.setValueList({valueList:e}),this.listComponent}setSearchStringCreator(e){this.searchStringCreator=e}setValueList(e){const{valueList:t,refresh:i}=e;this.listComponent&&this.listComponent.getCurrentList()!==t&&(this.listComponent.setCurrentList(t),i&&(this.values?this.listComponent.refresh(!0):(this.values=t,this.isPickerDisplayed&&this.listComponent.selectValue(this.value))))}showPicker(){super.showPicker();const{listComponent:e,value:t}=this;if(!e)return;let i=null;null!=this.value&&(e.selectValue(this.value),i=e.getIndicesForValues(Array.isArray(t)?t:[t])[0]),null!=i?e.highlightIndex(i):e.refresh(),this.displayOrHidePicker()}beforeHidePicker(){super.beforeHidePicker()}createOrUpdatePillContainer(e){if(!this.pillContainer){const t=this.pillContainer=this.createBean(new F);this.addDestroyFunc((()=>{this.destroyBean(this.pillContainer),this.pillContainer=null})),(0,D._clearElement)(e),e.appendChild(t.getGui()),t.init({eWrapper:this.eWrapper,onPillMouseDown:e=>{e.stopImmediatePropagation()},announceItemFocus:()=>{this.ariaAnnouncementService.announceValue(this.ariaDeleteSelection)},getValue:()=>this.getValue(),setValue:e=>this.setValue(e,!0)})}this.doWhileBlockingAnnouncement((()=>this.pillContainer?.refresh()))}doWhileBlockingAnnouncement(e){this.skipWrapperAnnouncement=!0,e(),this.skipWrapperAnnouncement=!1}onWrapperFocus(){const{eInput:e,config:t}=this,{allowTyping:i,multiSelect:a,suppressDeselectAll:n}=t;if(i){const t=e.getFocusableElement();t.focus(),t.select()}else!a||n||this.skipWrapperAnnouncement||this.ariaAnnouncementService.announceValue(this.ariaDeselectAllItems)}onWrapperFocusOut(e){this.eWrapper.contains(e.relatedTarget)||this.hidePicker()}onDeselectAllMouseDown(e){e.stopImmediatePropagation()}onDeselectAllClick(){this.setValue([],!0)}buildSearchStringFromKeyboardEvent(e){let{key:t}=e;if(t===D.KeyCode.BACKSPACE)this.searchString=this.searchString.slice(0,-1),t="";else if(!(0,D._isEventFromPrintableCharacter)(e))return;e.preventDefault(),this.searchTextFromCharacter(t)}searchTextFromCharacter(e){this.searchString+=e,this.runSearch(),this.clearSearchString()}searchTextFromString(e){null==e&&(e=""),this.searchString=e,this.runSearch()}buildSearchStrings(e){const{valueFormatter:t=(e=>e)}=this.config;let i;return"number"==typeof e[0]||"string"==typeof e[0]?i=e.map((e=>t(e))):"object"==typeof e[0]&&this.searchStringCreator&&(i=this.searchStringCreator(e)),i}filterListModel(e){const{filterList:t}=this.config;t&&(this.setValueList({valueList:e,refresh:!0}),this.alignPickerToComponent())}runSearch(){if(!this.listComponent)return;const{values:e}=this,t=this.buildSearchStrings(e);if(!t)return void this.listComponent.highlightIndex(-1);const{suggestions:i,filteredValues:a}=this.getSuggestionsAndFilteredValues(this.searchString,t),{filterList:n,highlightMatch:r,searchType:o="fuzzy"}=this.config,s=a.length,l=!(!n||""===this.searchString);if(this.filterListModel(l?a:e),i.length){const e=l?0:t.indexOf(i[0]);this.listComponent?.highlightIndex(e)}else if(this.listComponent?.highlightIndex(-1),!l||s)this.listComponent?.ensureIndexVisible(0);else if(l){this.getAriaElement().removeAttribute("data-active-option");const e=this.listComponent?.getAriaElement();e&&(0,D._setAriaActiveDescendant)(e,null)}r&&"fuzzy"!==o&&this.listComponent?.highlightFilterMatch(this.searchString),this.displayOrHidePicker()}getSuggestionsAndFilteredValues(e,t){let i=[];const a=[];if(!e.length)return{suggestions:i,filteredValues:a};const{searchType:n="fuzzy",filterList:r}=this.config;if("fuzzy"===n){const n=(0,D._fuzzySuggestions)(e,t,!0);i=n.values;const o=n.indices;if(r&&o.length)for(let e=0;e<o.length;e++)a.push(this.values[o[e]])}else i=t.filter(((e,t)=>{const i=e.toLocaleLowerCase(),o=this.searchString.toLocaleLowerCase(),s="match"===n?i.startsWith(o):-1!==i.indexOf(o);return r&&s&&a.push(this.values[t]),s}));return{suggestions:i,filteredValues:a}}displayOrHidePicker(){if(!this.listComponent)return;const e=this.listComponent.getGui(),t=this.listComponent.getCurrentList(),i=!!t&&0===t.length;e.classList.toggle("ag-hidden",i)}clearSearchString(){this.searchString=""}setValue(e,t,i,a){if(this.value===e)return this;const n=Array.isArray(e);if(null!=e){if(!n){const t=this.listComponent?.getCurrentList();if(-1===(t?t.indexOf(e):-1))return this}i||this.listComponent?.selectValue(e)}return super.setValue(e,t),a||this.renderSelectedValue(),this}onNavigationKeyDown(e,t,i){e.preventDefault();const a=t===D.KeyCode.DOWN;this.isPickerDisplayed||!a?this.listComponent?.onNavigationKeyDown(t,i):this.showPicker()}onEnterKeyDown(e){if(this.isPickerDisplayed&&(e.preventDefault(),this.listComponent?.getCurrentList())){const e=this.listComponent.getLastItemHovered();this.config.multiSelect||!e?this.dispatchPickerEventAndHidePicker(this.value,!0):this.onListValueSelected(new Set([e]),!0)}}onDeleteKeyDown(e){const{eWrapper:t,gos:i}=this;i.getActiveDomElement()===t&&(e.preventDefault(),this.setValue([],!0))}onTabKeyDown(){const{config:e,isPickerDisplayed:t,listComponent:i}=this,{multiSelect:a}=e;if(t&&i)if(a){const e=this.getValueFromSet(i.getSelectedItems());e&&this.setValue(e,!1,!0,!0)}else this.setValue(i.getLastItemHovered(),!1,!0)}getValueFromSet(e){const{multiSelect:t}=this.config;let i=null;for(const a of e){if(1===e.size&&!t){i=a;break}i||(i=[]),i.push(a)}return Array.isArray(i)&&i.sort(),i}onListValueSelected(e,t){const i=this.getValueFromSet(e);this.setValue(i,!1,!0),this.config.multiSelect||this.dispatchPickerEventAndHidePicker(i,t)}dispatchPickerEventAndHidePicker(e,t){const i={type:"fieldPickerValueSelected",fromEnterKey:t,value:e};this.dispatchLocalEvent(i),this.hidePicker()}getFocusableElement(){const{allowTyping:e}=this.config;return e?this.eInput.getFocusableElement():super.getFocusableElement()}onKeyDown(e){const{key:t}=e,{isPickerDisplayed:i,config:a,listComponent:n,pickerComponent:r}=this,{allowTyping:o,multiSelect:s,suppressDeselectAll:l}=a;switch(t){case D.KeyCode.LEFT:case D.KeyCode.RIGHT:o&&!this.pillContainer||(e.preventDefault(),this.pillContainer&&(this.listComponent?.highlightIndex(-1),this.pillContainer.onNavigationKeyDown(e)));break;case D.KeyCode.PAGE_HOME:case D.KeyCode.PAGE_END:if(o){e.preventDefault();const i=this.eInput.getInputElement(),a=t===D.KeyCode.PAGE_HOME?0:i.value.length;i.setSelectionRange(a,a);break}case D.KeyCode.PAGE_UP:case D.KeyCode.PAGE_DOWN:e.preventDefault(),r&&n?.navigateToPage(t);break;case D.KeyCode.DOWN:case D.KeyCode.UP:this.onNavigationKeyDown(e,t,(()=>{s&&(this.doWhileBlockingAnnouncement((()=>this.eWrapper.focus())),this.ariaAnnouncementService.announceValue(this.ariaToggleSelection))}));break;case D.KeyCode.ESCAPE:i&&((0,D._isVisible)(this.listComponent.getGui())&&(e.preventDefault(),(0,D._stopPropagationForAgGrid)(e)),this.hidePicker());break;case D.KeyCode.ENTER:this.onEnterKeyDown(e);break;case D.KeyCode.SPACE:if(i&&s&&n){e.preventDefault();const t=n.getLastItemHovered();t&&n.toggleListItemSelection(t)}break;case D.KeyCode.TAB:this.onTabKeyDown();break;case D.KeyCode.DELETE:s&&!l&&this.onDeleteKeyDown(e);break;default:o||this.buildSearchStringFromKeyboardEvent(e)}}destroy(){this.listComponent&&(this.listComponent=this.destroyBean(this.listComponent)),super.destroy()}},W=i(3423),_=class extends W.Component{constructor(e,t,i,a,n){super(),this.dragSourceDropTarget=e,this.ghost=t,this.horizontal=i,this.template=a,this.agComponents=n,this.eText=W.RefPlaceholder,this.eDragHandle=W.RefPlaceholder,this.eButton=W.RefPlaceholder}wireBeans(e){this.dragAndDropService=e.dragAndDropService}postConstruct(){this.setTemplate(this.template??'\n <span role="option">\n <span data-ref="eDragHandle" class="ag-drag-handle ag-column-drop-cell-drag-handle" role="presentation"></span>\n <span data-ref="eText" class="ag-column-drop-cell-text" aria-hidden="true"></span>\n <span data-ref="eButton" class="ag-column-drop-cell-button" role="presentation"></span>\n </span>',this.agComponents);const e=this.getGui();this.addElementClasses(e),this.addElementClasses(this.eDragHandle,"drag-handle"),this.addElementClasses(this.eText,"text"),this.addElementClasses(this.eButton,"button"),this.eDragHandle.appendChild((0,W._createIconNoSpan)("columnDrag",this.gos)),this.eButton.appendChild((0,W._createIconNoSpan)("cancel",this.gos)),this.setupComponents(),!this.ghost&&this.isDraggable()&&this.addDragSource(),this.setupAria(),this.setupTooltip(),this.activateTabIndex(),this.refreshDraggable()}isDraggable(){return!0}refreshDraggable(){this.eDragHandle.classList.toggle("ag-column-select-column-readonly",!this.isDraggable())}setupAria(){const e=this.localeService.getLocaleTextFunc(),t=[this.getAriaDisplayName()];this.addAdditionalAriaInstructions(t,e),(0,W._setAriaLabel)(this.getGui(),t.join(". "))}addAdditionalAriaInstructions(e,t){if(this.isRemovable()){const i=t("ariaDropZoneColumnComponentDescription","Press DELETE to remove");e.push(i)}}setupTooltip(){const e=()=>{const e=this.getTooltip();this.setTooltip({newTooltipText:e})};e(),this.addManagedEventListeners({newColumnsLoaded:e})}getDragSourceId(){}getDefaultIconName(){return"notAllowed"}addDragSource(){const{dragAndDropService:e,eDragHandle:t}=this,i=this.createGetDragItem(),a=this.getDefaultIconName(),n={type:this.getDragSourceType(),sourceId:this.getDragSourceId(),eElement:t,getDefaultIconName:()=>a,getDragItem:i,dragItemName:this.getDisplayName()};e.addDragSource(n,!0),this.addDestroyFunc((()=>e.removeDragSource(n)))}setupComponents(){this.setTextValue(),this.setupRemove(),this.ghost&&this.addCssClass("ag-column-drop-cell-ghost")}isRemovable(){return!0}refreshRemove(){(0,W._setDisplayed)(this.eButton,this.isRemovable())}setupRemove(){this.refreshRemove();const e={type:"columnRemove"};this.addGuiEventListener("keydown",(e=>this.onKeyDown(e))),this.addManagedElementListeners(this.eButton,{click:t=>{this.dispatchLocalEvent(e),t.stopPropagation()}});const t=new W.TouchListener(this.eButton);this.addManagedListeners(t,{tap:()=>this.dispatchLocalEvent(e)}),this.addDestroyFunc(t.destroy.bind(t))}onKeyDown(e){e.key===W.KeyCode.DELETE&&this.isRemovable()&&(e.preventDefault(),this.dispatchLocalEvent({type:"columnRemove"}))}getDisplayValue(){return this.getDisplayName()}setTextValue(){const e=this.getDisplayValue(),t=(0,W._escapeString)(e);this.eText.innerHTML=t}addElementClasses(e,t){t=t?`-${t}`:"";const i=this.horizontal?"horizontal":"vertical";e.classList.add(`ag-column-drop-cell${t}`,`ag-column-drop-${i}-cell${t}`)}destroy(){super.destroy(),this.dragSourceDropTarget=null}},q=i(3423),U=class extends q.Component{constructor(e){super('<div class="ag-unselectable" role="presentation"></div>'),this.horizontal=e,this.state="notDragging",this.guiDestroyFunctions=[],this.childPillComponents=[],this.resizeEnabled=!1,this.addElementClasses(this.getGui()),this.ePillDropList=document.createElement("div"),this.addElementClasses(this.ePillDropList,"list"),(0,q._setAriaRole)(this.ePillDropList,"listbox")}wireBeans(e){this.focusService=e.focusService,this.dragAndDropService=e.dragAndDropService}isHorizontal(){return this.horizontal}toggleResizable(e){this.positionableFeature.setResizable(!!e&&{bottom:!0}),this.resizeEnabled=e}isSourceEventFromTarget(e){const{dropZoneTarget:t,dragSource:i}=e;return t.contains(i.eElement)}destroy(){this.destroyGui(),super.destroy()}destroyGui(){this.guiDestroyFunctions.forEach((e=>e())),this.guiDestroyFunctions.length=0,this.childPillComponents.length=0,(0,q._clearElement)(this.getGui()),(0,q._clearElement)(this.ePillDropList)}init(e){this.params=e??{},this.createManagedBean(new q.ManagedFocusFeature(this.getFocusableElement(),{onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.onKeyDown.bind(this)})),this.setupDropTarget(),this.positionableFeature=new q.PositionableFeature(this.getGui(),{minHeight:100}),this.createManagedBean(this.positionableFeature),this.refreshGui(),(0,q._setAriaLabel)(this.ePillDropList,this.getAriaLabel())}onTabKeyDown(e){const t=this.focusService.findFocusableElements(this.getFocusableElement(),null,!0),i=t.length;if(0===i)return;const{shiftKey:a}=e,n=this.gos.getActiveDomElement(),r=n===t[0],o=n===(0,q._last)(t);1===i||r&&a||o&&!a||t[a?0:i-1].focus()}onKeyDown(e){const{key:t}=e,i=!this.horizontal;let a=t===q.KeyCode.DOWN,n=t===q.KeyCode.UP;if(!i){const e=this.gos.get("enableRtl");a=!e&&t===q.KeyCode.RIGHT||e&&t===q.KeyCode.LEFT,n=!e&&t===q.KeyCode.LEFT||e&&t===q.KeyCode.RIGHT}if(!a&&!n)return;const r=this.focusService.findNextFocusableElement(this.getFocusableElement(),!1,n);r&&(e.preventDefault(),r.focus())}addElementClasses(e,t){t=t?`-${t}`:"";const i=this.horizontal?"horizontal":"vertical";e.classList.add(`ag-column-drop${t}`,`ag-column-drop-${i}${t}`)}setupDropTarget(){this.dropTarget={getContainer:this.getGui.bind(this),getIconName:this.getIconName.bind(this),onDragging:this.onDragging.bind(this),onDragEnter:this.onDragEnter.bind(this),onDragLeave:this.onDragLeave.bind(this),onDragStop:this.onDragStop.bind(this),isInterestedIn:this.isInterestedIn.bind(this)},this.dragAndDropService.addDropTarget(this.dropTarget)}minimumAllowedNewInsertIndex(){return 0}checkInsertIndex(e){const t=this.getNewInsertIndex(e);if(t<0)return!1;const i=this.minimumAllowedNewInsertIndex(),a=Math.max(i,t),n=a!==this.insertIndex;return n&&(this.insertIndex=a),n}getNewInsertIndex(e){const t=e.event,i=this.horizontal?t.clientX:t.clientY,a=this.childPillComponents.map((e=>e.getGui().getBoundingClientRect())),n=a.findIndex((e=>this.horizontal?e.right>i&&e.left<i:e.top<i&&e.bottom>i));if(-1===n){const e=this.gos.get("enableRtl");if(a.every((e=>i>(this.horizontal?e.right:e.bottom))))return e&&this.horizontal?0:this.childPillComponents.length;return a.every((e=>i<(this.horizontal?e.left:e.top)))?e&&this.horizontal?this.childPillComponents.length:0:this.insertIndex}return this.insertIndex<=n?n+1:n}checkDragStartedBySelf(e){"notDragging"===this.state&&(this.state="rearrangeItems",this.potentialDndItems=this.getItems(e.dragSource.getDragItem()),this.refreshGui(),this.checkInsertIndex(e),this.refreshGui())}onDragging(e){this.checkDragStartedBySelf(e),this.checkInsertIndex(e)&&this.refreshGui()}handleDragEnterEnd(e){}onDragEnter(e){const t=this.getItems(e.dragSource.getDragItem());this.state="newItemsIn";const i=t.filter((t=>this.isItemDroppable(t,e))),a=i.every((e=>-1!==this.childPillComponents.map((e=>e.getItem())).indexOf(e)));0!==i.length&&(this.potentialDndItems=i,a?this.state="notDragging":(this.handleDragEnterEnd(e),this.checkInsertIndex(e),this.refreshGui()))}isPotentialDndItems(){return(0,q._existsAndNotEmpty)(this.potentialDndItems)}handleDragLeaveEnd(e){}onDragLeave(e){if("rearrangeItems"===this.state){const t=this.getItems(e.dragSource.getDragItem());this.removeItems(t)}this.isPotentialDndItems()&&(this.handleDragLeaveEnd(e),this.potentialDndItems=[],this.refreshGui()),this.state="notDragging"}onDragStop(){this.isPotentialDndItems()&&("newItemsIn"===this.state?this.addItems(this.potentialDndItems):this.rearrangeItems(this.potentialDndItems),this.potentialDndItems=[],this.refreshGui()),this.state="notDragging"}removeItems(e){const t=this.getExistingItems().filter((t=>!(0,q._includes)(e,t)));this.updateItems(t)}addItems(e){if(!e)return;const t=this.getExistingItems().slice(),i=e.filter((e=>t.indexOf(e)<0));(0,q._insertArrayIntoArray)(t,i,this.insertIndex),this.updateItems(t)}addItem(e){this.insertIndex=this.getExistingItems().length,this.addItems([e]),this.refreshGui()}rearrangeItems(e){const t=this.getNonGhostItems().slice();return(0,q._insertArrayIntoArray)(t,e,this.insertIndex),!(0,q._areEqual)(t,this.getExistingItems())&&(this.updateItems(t),!0)}refreshGui(){const e=this.ePillDropList.scrollTop,t=this.resizeEnabled,i=this.getFocusedItem();let a=this.focusService.findNextFocusableElement();a||(a=this.focusService.findNextFocusableElement(void 0,!1,!0)),this.toggleResizable(!1),this.destroyGui(),this.addIconAndTitleToGui(),this.addEmptyMessageToGui(),this.addItemsToGui(),this.isHorizontal()||(this.ePillDropList.scrollTop=e),t&&this.toggleResizable(t),this.focusService.isKeyboardMode()&&this.restoreFocus(i,a)}getFocusedItem(){const e=this.getGui(),t=this.gos.getActiveDomElement();if(!e.contains(t))return-1;return Array.from(e.querySelectorAll(".ag-column-drop-cell")).indexOf(t)}restoreFocus(e,t){const i=this.getGui(),a=Array.from(i.querySelectorAll(".ag-column-drop-cell"));if(-1===e)return;0===a.length&&t.focus();const n=a[Math.min(a.length-1,e)];n&&n.focus()}focusList(e){const t=e?this.childPillComponents.length-1:0;this.restoreFocus(t,this.getFocusableElement())}getNonGhostItems(){const e=this.getExistingItems();return this.isPotentialDndItems()?e.filter((e=>!(0,q._includes)(this.potentialDndItems,e))):e}addItemsToGui(){const e=this.getNonGhostItems().map((e=>this.createItemComponent(e,!1)));if(this.isPotentialDndItems()){const t=this.potentialDndItems.map((e=>this.createItemComponent(e,!0)));this.insertIndex>=e.length?e.push(...t):e.splice(this.insertIndex,0,...t)}this.appendChild(this.ePillDropList),e.forEach(((e,t)=>{t>0&&this.addArrow(this.ePillDropList),this.ePillDropList.appendChild(e.getGui())})),this.addAriaLabelsToComponents()}addAriaLabelsToComponents(){this.childPillComponents.forEach(((e,t)=>{const i=e.getGui();(0,q._setAriaPosInSet)(i,t+1),(0,q._setAriaSetSize)(i,this.childPillComponents.length)}))}createItemComponent(e,t){const i=this.createPillComponent(e,this.dropTarget,t,this.horizontal);return i.addEventListener("columnRemove",this.removeItems.bind(this,[e])),this.createBean(i),this.guiDestroyFunctions.push((()=>this.destroyBean(i))),t||this.childPillComponents.push(i),i}addIconAndTitleToGui(){const{title:e,icon:t}=this.params;if(!e||!t)return;const i=document.createElement("div");if((0,q._setAriaHidden)(i,!0),this.addElementClasses(i,"title-bar"),this.addElementClasses(t,"icon"),this.addOrRemoveCssClass("ag-column-drop-empty",this.isExistingItemsEmpty()),i.appendChild(t),!this.horizontal){const t=document.createElement("span");this.addElementClasses(t,"title"),t.innerHTML=e,i.appendChild(t)}this.appendChild(i)}isExistingItemsEmpty(){return 0===this.getExistingItems().length}addEmptyMessageToGui(){const{emptyMessage:e}=this.params;if(!e||!this.isExistingItemsEmpty()||this.isPotentialDndItems())return;const t=document.createElement("span");t.innerHTML=e,this.addElementClasses(t,"empty-message"),this.ePillDropList.appendChild(t)}addArrow(e){if(this.horizontal){const t=this.gos.get("enableRtl"),i=(0,q._createIconNoSpan)(t?"smallLeft":"smallRight",this.gos);this.addElementClasses(i,"cell-separator"),e.appendChild(i)}}},K=i(3423),j=i(3423);var Y=class e extends j.Component{constructor(e){super(function(e){const t=e.cssIdentifier||"default";return`<div class="ag-panel ag-${t}-panel" tabindex="-1">\n <div data-ref="eTitleBar" class="ag-panel-title-bar ag-${t}-panel-title-bar ag-unselectable">\n <span data-ref="eTitle" class="ag-panel-title-bar-title ag-${t}-panel-title-bar-title"></span>\n <div data-ref="eTitleBarButtons" class="ag-panel-title-bar-buttons ag-${t}-panel-title-bar-buttons"></div>\n </div>\n <div data-ref="eContentWrapper" class="ag-panel-content-wrapper ag-${t}-panel-content-wrapper"></div>\n </div>`}(e)),this.config=e,this.closable=!0,this.eContentWrapper=j.RefPlaceholder,this.eTitleBar=j.RefPlaceholder,this.eTitleBarButtons=j.RefPlaceholder,this.eTitle=j.RefPlaceholder}postConstruct(){const{component:e,closable:t,hideTitleBar:i,title:a,minWidth:n=250,width:r,minHeight:o=250,height:s,centered:l,popup:c,x:d,y:h}=this.config;this.positionableFeature=new j.PositionableFeature(this.getGui(),{minWidth:n,width:r,minHeight:o,height:s,centered:l,x:d,y:h,popup:c,calculateTopBuffer:()=>this.positionableFeature.getHeight()-this.getBodyHeight()}),this.createManagedBean(this.positionableFeature);const u=this.getGui();e&&this.setBodyComponent(e),i?(0,j._setDisplayed)(this.eTitleBar,!1):(a&&this.setTitle(a),this.setClosable(null!=t?t:this.closable)),this.addManagedElementListeners(this.eTitleBar,{mousedown:e=>{if(u.contains(e.relatedTarget)||u.contains(this.gos.getActiveDomElement())||this.eTitleBarButtons.contains(e.target))return void e.preventDefault();const t=this.eContentWrapper.querySelector("button, [href], input, select, textarea, [tabindex]");t&&t.focus()}}),c&&this.positionableFeature.isPositioned()||(this.renderComponent&&this.renderComponent(),this.positionableFeature.initialisePosition(),this.eContentWrapper.style.height="0")}renderComponent(){const e=this.getGui();e.focus(),this.close=()=>{e.parentElement.removeChild(e),this.destroy()}}getHeight(){return this.positionableFeature.getHeight()}setHeight(e){this.positionableFeature.setHeight(e)}getWidth(){return this.positionableFeature.getWidth()}setWidth(e){this.positionableFeature.setWidth(e)}setClosable(t){if(t!==this.closable&&(this.closable=t),t){const t=this.closeButtonComp=new j.Component(e.CLOSE_BTN_TEMPLATE);this.createBean(t);const i=t.getGui(),a=(0,j._createIconNoSpan)("close",this.gos);a.classList.add("ag-panel-title-bar-button-icon"),i.appendChild(a),this.addTitleBarButton(t),t.addManagedElementListeners(i,{click:this.onBtClose.bind(this)})}else if(this.closeButtonComp){const e=this.closeButtonComp.getGui();e.parentElement.removeChild(e),this.closeButtonComp=this.destroyBean(this.closeButtonComp)}}setBodyComponent(e){e.setParentComponent(this),this.eContentWrapper.appendChild(e.getGui())}addTitleBarButton(e,t){const i=this.eTitleBarButtons,a=i.children,n=a.length;null==t&&(t=n),t=Math.max(0,Math.min(t,n)),e.addCssClass("ag-panel-title-bar-button");const r=e.getGui();0===t?i.insertAdjacentElement("afterbegin",r):t===n?i.insertAdjacentElement("beforeend",r):a[t-1].insertAdjacentElement("afterend",r),e.setParentComponent(this)}getBodyHeight(){return(0,j._getInnerHeight)(this.eContentWrapper)}getBodyWidth(){return(0,j._getInnerWidth)(this.eContentWrapper)}setTitle(e){this.eTitle.innerText=e}onBtClose(){this.close()}destroy(){this.closeButtonComp&&(this.closeButtonComp=this.destroyBean(this.closeButtonComp));const e=this.getGui();e&&(0,j._isVisible)(e)&&this.close(),super.destroy()}};Y.CLOSE_BTN_TEMPLATE='<div class="ag-button"></div>';var $=Y,Z=class extends ${constructor(e){super({...e,popup:!0}),this.isMaximizable=!1,this.isMaximized=!1,this.maximizeListeners=[],this.resizeListenerDestroy=null,this.lastPosition={x:0,y:0,width:0,height:0}}wireBeans(e){this.popupService=e.popupService,this.focusService=e.focusService}postConstruct(){const e=this.getGui(),{movable:t,resizable:i,maximizable:a,modal:n}=this.config;if(this.addCssClass("ag-dialog"),super.postConstruct(),this.tabGuardFeature=this.createManagedBean(new K.TabGuardFeature(this)),this.tabGuardFeature.initialiseTabGuard({isFocusableContainer:!0,onFocusIn:()=>{const t=this.gos.getDocument(),{activeElement:i}=t;this.popupService.bringPopupToFront(e)&&i!==t.body&&i?.focus?.()},onTabKeyDown:t=>{if(n)return;const i=t.shiftKey,a=this.focusService.findNextFocusableElement(e,!1,i);a&&!this.tabGuardFeature.getTabGuardCtrl().isTabGuard(a)||this.focusService.focusNextGridCoreContainer(i)&&t.preventDefault()}}),t&&this.setMovable(t),a&&this.setMaximizable(a),i&&this.setResizable(i),!this.config.modal){const{focusService:e}=this;e.addFocusableContainer(this),this.addDestroyFunc((()=>e.removeFocusableContainer(this)))}}setAllowFocus(e){this.tabGuardFeature.getTabGuardCtrl().setAllowFocus(e)}renderComponent(){const e=this.getGui(),{alwaysOnTop:t,modal:i,title:a,afterGuiAttached:n}=this.config,r=this.localeService.getLocaleTextFunc(),o=this.popupService.addPopup({modal:i,eChild:e,closeOnEsc:!0,closedCallback:this.onClosed.bind(this),alwaysOnTop:t,ariaLabel:a||r("ariaLabelDialog","Dialog"),afterGuiAttached:n});o&&(this.close=o.hideFunc)}onClosed(e){this.destroy(),this.config.closedCallback?.(e)}toggleMaximize(){const e=this.positionableFeature.getPosition();if(this.isMaximized){const{x:e,y:t,width:i,height:a}=this.lastPosition;this.setWidth(i),this.setHeight(a),this.positionableFeature.offsetElement(e,t)}else this.lastPosition.width=this.getWidth(),this.lastPosition.height=this.getHeight(),this.lastPosition.x=e.x,this.lastPosition.y=e.y,this.positionableFeature.offsetElement(0,0),this.setHeight("100%"),this.setWidth("100%");this.isMaximized=!this.isMaximized,this.refreshMaximizeIcon()}refreshMaximizeIcon(){(0,K._setDisplayed)(this.maximizeIcon,!this.isMaximized),(0,K._setDisplayed)(this.minimizeIcon,this.isMaximized)}clearMaximizebleListeners(){this.maximizeListeners.length&&(this.maximizeListeners.forEach((e=>e())),this.maximizeListeners.length=0),this.resizeListenerDestroy&&(this.resizeListenerDestroy(),this.resizeListenerDestroy=null)}destroy(){this.maximizeButtonComp=this.destroyBean(this.maximizeButtonComp),this.clearMaximizebleListeners(),super.destroy()}setResizable(e){this.positionableFeature.setResizable(e)}setMovable(e){this.positionableFeature.setMovable(e,this.eTitleBar)}setMaximizable(e){if(!e)return this.clearMaximizebleListeners(),void(this.maximizeButtonComp&&(this.destroyBean(this.maximizeButtonComp),this.maximizeButtonComp=this.maximizeIcon=this.minimizeIcon=void 0));const t=this.eTitleBar;if(!t||e===this.isMaximizable)return;const i=this.buildMaximizeAndMinimizeElements();this.refreshMaximizeIcon(),i.addManagedElementListeners(i.getGui(),{click:this.toggleMaximize.bind(this)}),this.addTitleBarButton(i,0),this.maximizeListeners.push(...this.addManagedElementListeners(t,{dblclick:this.toggleMaximize.bind(this)})),[this.resizeListenerDestroy]=this.addManagedListeners(this.positionableFeature,{resize:()=>{this.isMaximized=!1,this.refreshMaximizeIcon()}})}buildMaximizeAndMinimizeElements(){const e=this.maximizeButtonComp=this.createBean(new K.Component('<div class="ag-dialog-button"></span>')),t=e.getGui();return this.maximizeIcon=(0,K._createIconNoSpan)("maximize",this.gos),t.appendChild(this.maximizeIcon),this.maximizeIcon.classList.add("ag-panel-title-bar-button-icon"),this.minimizeIcon=(0,K._createIconNoSpan)("minimize",this.gos),t.appendChild(this.minimizeIcon),this.minimizeIcon.classList.add("ag-panel-title-bar-button-icon"),e}},X=i(3423),Q=i(3423),J=class extends Q.TabGuardComp{constructor(e=0,t){super('<div class="ag-menu-list" role="tree"></div>'),this.level=e,this.menuItems=[],this.params=t??{column:null,node:null,value:null}}postConstruct(){this.initialiseTabGuard({onTabKeyDown:e=>this.onTabKeyDown(e),handleKeyDown:e=>this.handleKeyDown(e),onFocusIn:e=>this.handleFocusIn(e),onFocusOut:e=>this.handleFocusOut(e)})}onTabKeyDown(e){const t=this.getParentComponent(),i=t&&t.getGui();i&&i.classList.contains("ag-focus-managed")||e.preventDefault(),e.shiftKey&&this.closeIfIsChild(e)}handleKeyDown(e){switch(e.key){case Q.KeyCode.UP:case Q.KeyCode.RIGHT:case Q.KeyCode.DOWN:case Q.KeyCode.LEFT:e.preventDefault(),this.handleNavKey(e.key);break;case Q.KeyCode.ESCAPE:this.closeIfIsChild()&&(0,Q._stopPropagationForAgGrid)(e)}}handleFocusIn(e){const t=e.relatedTarget;(this.tabGuardFeature.getTabGuardCtrl().isTabGuard(t)||!this.getGui().contains(t)&&!this.activeMenuItem?.getSubMenuGui()?.contains(t))&&(this.activeMenuItem?this.activeMenuItem.activate():this.activateFirstItem())}handleFocusOut(e){const t=e.relatedTarget;!this.activeMenuItem||this.getGui().contains(t)||this.activeMenuItem.getSubMenuGui()?.contains(t)||this.activeMenuItem.isSubMenuOpening()||this.activeMenuItem.deactivate()}clearActiveItem(){this.activeMenuItem&&(this.activeMenuItem.deactivate(),this.activeMenuItem=null)}addMenuItems(e){null!=e&&Q.AgPromise.all(e.map((e=>"separator"===e?Q.AgPromise.resolve({eGui:this.createSeparator()}):"string"==typeof e?((0,Q._warnOnce)(`unrecognised menu item ${e}`),Q.AgPromise.resolve({eGui:null})):this.addItem(e)))).then((e=>{e.forEach((e=>{e?.eGui&&(this.appendChild(e.eGui),e.comp&&this.menuItems.push(e.comp))}))}))}addItem(e){const t=this.createManagedBean(new ie);return t.init({menuItemDef:e,isAnotherSubMenuOpen:()=>this.menuItems.some((e=>e.isSubMenuOpen())),level:this.level,contextParams:this.params}).then((()=>(t.setParentComponent(this),this.addManagedListeners(t,{closeMenu:e=>{this.dispatchLocalEvent(e)},menuItemActivated:e=>{this.activeMenuItem&&this.activeMenuItem!==e.menuItem&&this.activeMenuItem.deactivate(),this.activeMenuItem=e.menuItem}}),{comp:t,eGui:t.getGui()})))}activateFirstItem(){const e=this.menuItems.filter((e=>!e.isDisabled()))[0];e&&e.activate()}createSeparator(){return(0,Q._loadTemplate)('\n <div class="ag-menu-separator" aria-hidden="true">\n <div class="ag-menu-separator-part"></div>\n <div class="ag-menu-separator-part"></div>\n <div class="ag-menu-separator-part"></div>\n <div class="ag-menu-separator-part"></div>\n </div>')}handleNavKey(e){switch(e){case Q.KeyCode.UP:case Q.KeyCode.DOWN:{const t=this.findNextItem(e===Q.KeyCode.UP);return void(t&&t!==this.activeMenuItem&&t.activate())}}e===(this.gos.get("enableRtl")?Q.KeyCode.RIGHT:Q.KeyCode.LEFT)?this.closeIfIsChild():this.openChild()}closeIfIsChild(e){const t=this.getParentComponent();return!!(t&&t instanceof ie)&&(e&&e.preventDefault(),t.closeSubMenu(),t.getGui().focus(),!0)}openChild(){this.activeMenuItem&&this.activeMenuItem.openSubMenu(!0)}findNextItem(e){const t=this.menuItems.filter((e=>!e.isDisabled()));if(!t.length)return;if(!this.activeMenuItem)return e?(0,Q._last)(t):t[0];let i;e&&t.reverse();let a=!1;for(let e=0;e<t.length;e++){const n=t[e];if(a){i=n;break}n===this.activeMenuItem&&(a=!0)}return a&&!i?t[0]:i||this.activeMenuItem}destroy(){this.clearActiveItem(),super.destroy()}},ee=i(3423),te=class extends ee.TabGuardComp{constructor(e){super(),this.setTemplateFromElement(e.getGui(),void 0,void 0,!0)}postConstruct(){this.initialiseTabGuard({onTabKeyDown:e=>this.onTabKeyDown(e),handleKeyDown:e=>this.handleKeyDown(e)})}handleKeyDown(e){e.key===ee.KeyCode.ESCAPE&&this.closePanel()}onTabKeyDown(e){e.defaultPrevented||(this.closePanel(),e.preventDefault())}closePanel(){const e=this.parentComponent;e.closeSubMenu(),setTimeout((()=>e.getGui().focus()),0)}},ie=class extends X.BeanStub{constructor(){super(...arguments),this.ACTIVATION_DELAY=80,this.isActive=!1,this.subMenuIsOpen=!1,this.subMenuIsOpening=!1,this.suppressRootStyles=!0,this.suppressAria=!0,this.suppressFocus=!0}wireBeans(e){this.popupService=e.popupService,this.userComponentFactory=e.userComponentFactory}init(e){const{menuItemDef:t,isAnotherSubMenuOpen:i,level:a,childComponent:n,contextParams:r}=e;this.params=e.menuItemDef,this.level=a,this.isAnotherSubMenuOpen=i,this.childComponent=n,this.contextParams=r,this.cssClassPrefix=this.params.menuItemParams?.cssClassPrefix??"ag-menu-option";return this.userComponentFactory.getMenuItemCompDetails(this.params,{...t,level:a,isAnotherSubMenuOpen:i,openSubMenu:e=>this.openSubMenu(e),closeSubMenu:()=>this.closeSubMenu(),closeMenu:e=>this.closeMenu(e),updateTooltip:(e,t)=>this.refreshTooltip(e,t),onItemActivated:()=>this.onItemActivated()}).newAgStackInstance().then((e=>{this.menuItemComp=e;const t=e.configureDefaults?.();t&&this.configureDefaults(!0===t?void 0:t)}))}addListeners(e,t){t?.suppressClick||this.addManagedElementListeners(e,{click:e=>this.onItemSelected(e)}),t?.suppressKeyboardSelect||this.addManagedElementListeners(e,{keydown:e=>{e.key!==X.KeyCode.ENTER&&e.key!==X.KeyCode.SPACE||(e.preventDefault(),this.onItemSelected(e))}}),t?.suppressMouseDown||this.addManagedElementListeners(e,{mousedown:e=>{e.stopPropagation(),e.preventDefault()}}),t?.suppressMouseOver||this.addManagedElementListeners(e,{mouseenter:()=>this.onMouseEnter(),mouseleave:()=>this.onMouseLeave()})}isDisabled(){return!!this.params.disabled}openSubMenu(e=!1){if(this.closeSubMenu(),!this.params.subMenu)return;this.subMenuIsOpening=!0;const t=(0,X._loadTemplate)('<div class="ag-menu" role="presentation"></div>');let i;this.eSubMenuGui=t;let a=()=>{this.subMenuIsOpening=!1};if(this.childComponent){const e=this.createBean(new te(this.childComponent));e.setParentComponent(this);const n=e.getGui(),r="mouseenter",o=()=>this.cancelDeactivate();n.addEventListener(r,o),i=()=>n.removeEventListener(r,o),t.appendChild(n),this.childComponent.afterGuiAttached&&(a=()=>{this.childComponent.afterGuiAttached(),this.subMenuIsOpening=!1})}else if(this.params.subMenu){const n=this.createBean(new J(this.level+1,this.contextParams));n.setParentComponent(this),n.addMenuItems(this.params.subMenu),t.appendChild(n.getGui()),this.addManagedListeners(n,{closeMenu:e=>this.dispatchLocalEvent(e)}),n.addGuiEventListener("mouseenter",(()=>this.cancelDeactivate())),i=()=>this.destroyBean(n),e&&(a=()=>{n.activateFirstItem(),this.subMenuIsOpening=!1})}const n=this.popupService.positionPopupForMenu.bind(this.popupService,{eventSource:this.eGui,ePopup:t}),r=this.localeService.getLocaleTextFunc(),o=this.popupService.addPopup({modal:!0,eChild:t,positionCallback:n,anchorToElement:this.eGui,ariaLabel:r("ariaLabelSubMenu","SubMenu"),afterGuiAttached:a});this.subMenuIsOpen=!0,this.setAriaExpanded(!0),this.hideSubMenu=()=>{o&&o.hideFunc(),this.subMenuIsOpen=!1,this.setAriaExpanded(!1),i(),this.menuItemComp.setExpanded?.(!1),this.eSubMenuGui=void 0},this.menuItemComp.setExpanded?.(!0)}setAriaExpanded(e){this.suppressAria||(0,X._setAriaExpanded)(this.eGui,e)}closeSubMenu(){this.hideSubMenu&&(this.hideSubMenu(),this.hideSubMenu=null,this.setAriaExpanded(!1))}isSubMenuOpen(){return this.subMenuIsOpen}isSubMenuOpening(){return this.subMenuIsOpening}activate(e){this.cancelActivate(),this.params.disabled||(this.isActive=!0,this.suppressRootStyles||this.eGui.classList.add(`${this.cssClassPrefix}-active`),this.menuItemComp.setActive?.(!0),this.suppressFocus||this.eGui.focus({preventScroll:!0}),e&&this.params.subMenu&&window.setTimeout((()=>{this.isAlive()&&this.isActive&&this.openSubMenu()}),300),this.onItemActivated())}deactivate(){this.cancelDeactivate(),this.suppressRootStyles||this.eGui.classList.remove(`${this.cssClassPrefix}-active`),this.menuItemComp.setActive?.(!1),this.isActive=!1,this.subMenuIsOpen&&this.hideSubMenu()}getGui(){return this.menuItemComp.getGui()}getParentComponent(){return this.parentComponent}setParentComponent(e){this.parentComponent=e}getSubMenuGui(){return this.eSubMenuGui}onItemSelected(e){this.menuItemComp.select?.(),this.params.action?this.getFrameworkOverrides().wrapOutgoing((()=>this.params.action(this.gos.addGridCommonParams({...this.contextParams})))):this.openSubMenu(e&&"keydown"===e.type),this.params.subMenu&&!this.params.action||this.params.suppressCloseOnSelect||this.closeMenu(e)}closeMenu(e){const t={type:"closeMenu"};e&&(e instanceof MouseEvent?t.mouseEvent=e:t.keyboardEvent=e),this.dispatchLocalEvent(t)}onItemActivated(){const e={type:"menuItemActivated",menuItem:this};this.dispatchLocalEvent(e)}cancelActivate(){this.activateTimeoutId&&(window.clearTimeout(this.activateTimeoutId),this.activateTimeoutId=0)}cancelDeactivate(){this.deactivateTimeoutId&&(window.clearTimeout(this.deactivateTimeoutId),this.deactivateTimeoutId=0)}onMouseEnter(){this.cancelDeactivate(),this.isAnotherSubMenuOpen()?this.activateTimeoutId=window.setTimeout((()=>this.activate(!0)),this.ACTIVATION_DELAY):this.activate(!0)}onMouseLeave(){this.cancelActivate(),this.isSubMenuOpen()?this.deactivateTimeoutId=window.setTimeout((()=>this.deactivate()),this.ACTIVATION_DELAY):this.deactivate()}configureDefaults(e){if(!this.menuItemComp)return void setTimeout((()=>this.configureDefaults(e)));let t=this.menuItemComp.getGui();const i=this.menuItemComp.getRootElement?.();i&&(e?.suppressRootStyles||t.classList.add("ag-menu-option-custom"),t=i),this.eGui=t,this.suppressRootStyles=!!e?.suppressRootStyles,this.suppressRootStyles||(t.classList.add(this.cssClassPrefix),this.params.cssClasses?.forEach((e=>t.classList.add(e))),this.params.disabled&&t.classList.add(`${this.cssClassPrefix}-disabled`)),e?.suppressTooltip||this.refreshTooltip(this.params.tooltip),this.suppressAria=!!e?.suppressAria,this.suppressAria||((0,X._setAriaRole)(t,"treeitem"),(0,X._setAriaLevel)(t,this.level+1),this.params.disabled&&(0,X._setAriaDisabled)(t,!0)),e?.suppressTabIndex||t.setAttribute("tabindex","-1"),this.params.disabled||this.addListeners(t,e),this.suppressFocus=!!e?.suppressFocus}refreshTooltip(e,t){this.tooltip=e,this.tooltipFeature&&(this.tooltipFeature=this.destroyBean(this.tooltipFeature)),e&&this.menuItemComp&&(this.tooltipFeature=this.createBean(new X.TooltipFeature({getGui:()=>this.getGui(),getTooltipValue:()=>this.tooltip,getLocation:()=>"menu",shouldDisplayTooltip:t})))}destroy(){this.tooltipFeature&&(this.tooltipFeature=this.destroyBean(this.tooltipFeature)),super.destroy()}},ae=i(3423),ne="ag-list-item-hovered",re=class extends ae.BeanStub{constructor(e,t,i){super(),this.comp=e,this.virtualList=t,this.params=i,this.currentDragValue=null,this.lastHoveredListItem=null}wireBeans(e){this.dragAndDropService=e.dragAndDropService}postConstruct(){this.addManagedListeners(this.params.eventSource,{[this.params.listItemDragStartEvent]:this.listItemDragStart.bind(this),[this.params.listItemDragEndEvent]:this.listItemDragEnd.bind(this)}),this.createDropTarget(),this.createAutoScrollService()}listItemDragStart(e){this.currentDragValue=this.params.getCurrentDragValue(e),this.moveBlocked=this.params.isMoveBlocked(this.currentDragValue)}listItemDragEnd(){window.setTimeout((()=>{this.currentDragValue=null,this.moveBlocked=!1}),10)}createDropTarget(){const e={isInterestedIn:e=>e===this.params.dragSourceType,getIconName:()=>this.moveBlocked?"pinned":"move",getContainer:()=>this.comp.getGui(),onDragging:e=>this.onDragging(e),onDragStop:()=>this.onDragStop(),onDragLeave:()=>this.onDragLeave()};this.dragAndDropService.addDropTarget(e)}createAutoScrollService(){const e=this.virtualList.getGui();this.autoScrollService=new ae.AutoScrollService({scrollContainer:e,scrollAxis:"y",getVerticalPosition:()=>e.scrollTop,setVerticalPosition:t=>e.scrollTop=t})}onDragging(e){if(!this.currentDragValue||this.moveBlocked)return;const t=this.getListDragItem(e),i=this.virtualList.getComponentAt(t.rowIndex);if(!i)return;const a=i.getGui().parentElement;this.lastHoveredListItem&&this.lastHoveredListItem.rowIndex===t.rowIndex&&this.lastHoveredListItem.position===t.position||(this.autoScrollService.check(e.event),this.clearHoveredItems(),this.lastHoveredListItem=t,(0,ae._radioCssClass)(a,ne),(0,ae._radioCssClass)(a,`ag-item-highlight-${t.position}`))}getListDragItem(e){const t=this.virtualList.getGui(),i=parseFloat(window.getComputedStyle(t).paddingTop),a=this.virtualList.getRowHeight(),n=this.virtualList.getScrollTop(),r=Math.max(0,(e.y-i+n)/a),o=this.params.getNumRows(this.comp)-1,s=0|Math.min(o,r);return{rowIndex:s,position:Math.round(r)>r||r>o?"bottom":"top",component:this.virtualList.getComponentAt(s)}}onDragStop(){this.moveBlocked||(this.params.moveItem(this.currentDragValue,this.lastHoveredListItem),this.clearHoveredItems(),this.autoScrollService.ensureCleared())}onDragLeave(){this.clearHoveredItems(),this.autoScrollService.ensureCleared()}clearHoveredItems(){this.virtualList.getGui().querySelectorAll(`.${ne}`).forEach((e=>{[ne,"ag-item-highlight-top","ag-item-highlight-bottom"].forEach((t=>{e.classList.remove(t)}))})),this.lastHoveredListItem=null}},oe=i(3423);var se=class extends oe.TabGuardComp{constructor(e){var t;super(`<div class="ag-tabs ${t=e.cssClass}">\n <div data-ref="eHeader"></div>\n <div data-ref="eBody" role="presentation" class="ag-tabs-body ${t?`${t}-body`:""}"></div>\n </div>`),this.eHeader=oe.RefPlaceholder,this.eBody=oe.RefPlaceholder,this.items=[],this.tabbedItemScrollMap=new Map,this.params=e}wireBeans(e){this.focusService=e.focusService}postConstruct(){this.setupHeader(),this.params.items&&this.params.items.forEach((e=>this.addItem(e))),this.initialiseTabGuard({onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.handleKeyDown.bind(this),focusInnerElement:this.focusInnerElement.bind(this),focusTrapActive:!0}),this.addDestroyFunc((()=>this.activeItem?.tabbedItem?.afterDetachedCallback?.()))}setupHeader(){const{enableCloseButton:e,cssClass:t}=this.params,i=(e,i)=>{e.classList.add(`ag-tabs-${i}`),t&&e.classList.add(`${t}-${i}`)};e?(this.setupCloseButton(i),this.eTabHeader=this.gos.getDocument().createElement("div"),i(this.eHeader,"header-wrapper"),(0,oe._setAriaRole)(this.eHeader,"presentation"),this.eHeader.appendChild(this.eTabHeader)):this.eTabHeader=this.eHeader,(0,oe._setAriaRole)(this.eTabHeader,"tablist"),i(this.eTabHeader,"header")}setupCloseButton(e){const t=this.gos.getDocument(),i=t.createElement("button");e(i,"close-button");const a=(0,oe._createIconNoSpan)("close",this.gos,void 0,!0);(0,oe._setAriaLabel)(i,this.params.closeButtonAriaLabel),i.appendChild(a),this.addManagedElementListeners(i,{click:()=>this.params.onCloseClicked?.()});const n=t.createElement("div");e(n,"close-button-wrapper"),(0,oe._setAriaRole)(n,"presentation"),n.appendChild(i),this.eHeader.appendChild(n),this.eCloseButton=i}handleKeyDown(e){switch(e.key){case oe.KeyCode.RIGHT:case oe.KeyCode.LEFT:{if(!this.eTabHeader.contains(this.gos.getActiveDomElement()))return;const t=e.key===oe.KeyCode.RIGHT,i=this.gos.get("enableRtl"),a=this.items.indexOf(this.activeItem),n=t!==i?Math.min(a+1,this.items.length-1):Math.max(a-1,0);if(a===n)return;e.preventDefault();const r=this.items[n];this.showItemWrapper(r),r.eHeaderButton.focus();break}case oe.KeyCode.UP:case oe.KeyCode.DOWN:e.stopPropagation()}}onTabKeyDown(e){if(e.defaultPrevented)return;const{focusService:t,eHeader:i,eBody:a,activeItem:n,params:r}=this,{suppressTrapFocus:o,enableCloseButton:s}=r,l=this.gos.getActiveDomElement(),c=e.target,d=e.shiftKey;if(i.contains(l))return e.preventDefault(),void(s&&d&&!this.eCloseButton?.contains(l)?this.eCloseButton?.focus():o&&d?this.focusService.findFocusableElementBeforeTabGuard(this.gos.getDocument().body,c)?.focus():this.focusBody(e.shiftKey));let h=null;t.isTargetUnderManagedComponent(a,c)&&(d&&(h=this.focusService.findFocusableElementBeforeTabGuard(a,c)),h||o||(h=n.eHeaderButton)),h||!a.contains(l)||(h=t.findNextFocusableElement(a,!1,d),h)?h&&(e.preventDefault(),h.focus()):o&&!d?this.forceFocusOutOfContainer(d):s&&!d?(e.preventDefault(),this.eCloseButton?.focus()):(e.preventDefault(),this.focusHeader())}focusInnerElement(e){e?this.focusBody(!0):this.focusHeader()}focusHeader(e){this.activeItem.eHeaderButton.focus({preventScroll:e})}focusBody(e){this.focusService.focusInto(this.eBody,e)}setAfterAttachedParams(e){this.afterAttachedParams=e}showFirstItem(){this.items.length>0&&this.showItemWrapper(this.items[0])}addItem(e){const t=document.createElement("span");(0,oe._setAriaRole)(t,"tab"),t.setAttribute("tabindex","-1"),t.appendChild(e.title),t.classList.add("ag-tab"),this.eTabHeader.appendChild(t),(0,oe._setAriaLabel)(t,e.titleLabel);const i={tabbedItem:e,eHeaderButton:t};this.items.push(i),t.addEventListener("click",this.showItemWrapper.bind(this,i))}showItem(e){const t=this.items.find((t=>t.tabbedItem===e));t&&this.showItemWrapper(t)}showItemWrapper(e){const{tabbedItem:t,eHeaderButton:i}=e;this.params.onItemClicked?.({item:t}),this.activeItem!==e?(this.lastScrollListener&&(this.lastScrollListener=this.lastScrollListener()),(0,oe._clearElement)(this.eBody),t.bodyPromise.then((e=>{this.eBody.appendChild(e);const i=!this.focusService.isKeyboardMode();if(this.params.suppressFocusBodyOnOpen||this.focusService.focusInto(this.eBody,!1,i),t.afterAttachedCallback&&t.afterAttachedCallback(this.afterAttachedParams),this.params.keepScrollPosition){const i=t.getScrollableContainer&&t.getScrollableContainer()||e;[this.lastScrollListener]=this.addManagedElementListeners(i,{scroll:()=>{this.tabbedItemScrollMap.set(t.name,i.scrollTop)}});const a=this.tabbedItemScrollMap.get(t.name);void 0!==a&&setTimeout((()=>{i.scrollTop=a}),0)}})),this.activeItem&&(this.activeItem.eHeaderButton.classList.remove("ag-tab-selected"),this.activeItem.tabbedItem.afterDetachedCallback?.()),i.classList.add("ag-tab-selected"),this.activeItem=e):this.params.onActiveItemClicked?.()}},le=i(3423),ce=i(3423),de=class extends ce.BeanStub{wireBeans(e){this.expressionService=e.expressionService,this.valueService=e.valueService,this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.userComponentFactory=e.userComponentFactory,this.ctrlsService=e.ctrlsService,this.funcColsService=e.funcColsService}init(e,t,i,a,n,r,o){this.params=o,this.eGui=t,this.eCheckbox=i,this.eExpanded=a,this.eContracted=n,this.comp=e,this.compClass=r;const{node:s,colDef:l}=o,c=this.isTopLevelFooter();if(!c){if(this.isEmbeddedRowMismatch())return;if(s.footer&&this.gos.get("groupHideOpenParents")){if((l&&l.showRowGroup)!==(s.rowGroupColumn&&s.rowGroupColumn.getColId()))return}}if(this.setupShowingValueForOpenedParent(),this.findDisplayedGroupNode(),!c){const e=o.node.footer&&o.node.rowGroupIndex===this.funcColsService.getRowGroupColumns().findIndex((e=>e.getColId()===o.colDef?.showRowGroup)),t="multipleColumns"!=this.gos.get("groupDisplayType")||this.gos.get("treeData")||this.gos.get("showOpenedGroup")&&!o.node.footer&&(!o.node.group||null!=o.node.rowGroupIndex&&o.node.rowGroupIndex>this.funcColsService.getRowGroupColumns().findIndex((e=>e.getColId()===o.colDef?.showRowGroup))),i=!s.group&&(this.params.colDef?.field||this.params.colDef?.valueGetter),a=this.isExpandable(),n=this.columnModel.isPivotMode()&&s.leafGroup&&s.rowGroupColumn?.getColId()===o.column?.getColDef().showRowGroup;if(!(this.showingValueForOpenedParent||a||i||t||e||n))return}this.addExpandAndContract(),this.addFullWidthRowDraggerIfNeeded(),this.addCheckboxIfNeeded(),this.addValueElement(),this.setupIndent(),this.refreshAriaExpanded()}getCellAriaRole(){const e=this.params.colDef?.cellAriaRole,t=this.params.column?.getColDef().cellAriaRole;return e||t||"gridcell"}destroy(){super.destroy(),this.expandListener=null}refreshAriaExpanded(){const{node:e,eGridCell:t}=this.params;if(this.expandListener&&(this.expandListener=this.expandListener()),!this.isExpandable())return void(0,ce._removeAriaExpanded)(t);const i=()=>{(0,ce._setAriaExpanded)(t,!!e.expanded)};[this.expandListener]=this.addManagedListeners(e,{expandedChanged:i})||null,i()}isTopLevelFooter(){if(!this.gos.getGrandTotalRow())return!1;if(null!=this.params.value||-1!=this.params.node.level)return!1;const e=this.params.colDef;if(null==e)return!0;if(!0===e.showRowGroup)return!0;const t=this.funcColsService.getRowGroupColumns();if(!t||0===t.length)return!0;return t[0].getId()===e.showRowGroup}isEmbeddedRowMismatch(){if(!this.params.fullWidth||!this.gos.get("embedFullWidthRows"))return!1;const e="left"===this.params.pinned,t="right"===this.params.pinned,i=!e&&!t;return this.gos.get("enableRtl")?this.visibleColsService.isPinningLeft()?!t:!i:this.visibleColsService.isPinningLeft()?!e:!i}findDisplayedGroupNode(){const e=this.params.column,t=this.params.node;if(this.showingValueForOpenedParent){let i=t.parent;for(;null!=i;){if(i.rowGroupColumn&&e.isRowGroupDisplayed(i.rowGroupColumn.getId())){this.displayedGroupNode=i;break}i=i.parent}}(0,ce._missing)(this.displayedGroupNode)&&(this.displayedGroupNode=t)}setupShowingValueForOpenedParent(){const e=this.params.node,t=this.params.column;if(!this.gos.get("groupHideOpenParents"))return void(this.showingValueForOpenedParent=!1);if(!e.groupData)return void(this.showingValueForOpenedParent=!1);if(null!=e.rowGroupColumn){const i=e.rowGroupColumn.getId();if(t.isRowGroupDisplayed(i))return void(this.showingValueForOpenedParent=!1)}const i=null!=e.groupData[t.getId()];this.showingValueForOpenedParent=i}addValueElement(){this.displayedGroupNode.footer?this.addFooterValue():(this.addGroupValue(),this.addChildCount())}addGroupValue(){const e=this.adjustParamsWithDetailsFromRelatedColumn(),t=this.getInnerCompDetails(e),{valueFormatted:i,value:a}=e;let n=i;if(null==n){const e=this.displayedGroupNode.rowGroupColumn&&this.params.column?.isRowGroupDisplayed(this.displayedGroupNode.rowGroupColumn.getId());if(""===this.displayedGroupNode.key&&this.displayedGroupNode.group&&e){n=this.localeService.getLocaleTextFunc()("blanks","(Blanks)")}else n=a??null}this.comp.setInnerRenderer(t,n)}adjustParamsWithDetailsFromRelatedColumn(){const e=this.displayedGroupNode.rowGroupColumn,t=this.params.column;if(!e)return this.params;if(null!=t){if(!t.isRowGroupDisplayed(e.getId()))return this.params}const i=this.params,{value:a,node:n}=this.params;return{...i,valueFormatted:this.valueService.formatValue(e,n,a)}}addFooterValue(){let e=this.params.totalValueGetter;if(!e){const t=this.params.footerValueGetter;t&&(e=t,(0,ce._warnOnce)("As of v31.3, footerValueGetter is deprecated. Use `totalValueGetter` instead."))}let t="";if(e){const i=(0,ce._cloneObject)(this.params);i.value=this.params.value,"function"==typeof e?t=e(i):"string"==typeof e?t=this.expressionService.evaluate(e,i):(0,ce._warnOnce)("footerValueGetter should be either a function or a string (expression)")}else{t=this.localeService.getLocaleTextFunc()("footerTotal","Total")+" "+(null!=this.params.value?this.params.value:"")}const i=this.getInnerCompDetails(this.params);this.comp.setInnerRenderer(i,t)}getInnerCompDetails(e){if(e.fullWidth)return this.userComponentFactory.getFullWidthGroupRowInnerCellRenderer(this.gos.get("groupRowRendererParams"),e);const t=this.userComponentFactory.getInnerRendererDetails(e,e),i=e=>e&&e.componentClass==this.compClass;if(t&&!i(t))return t;const a=this.displayedGroupNode.rowGroupColumn,n=a?a.getColDef():void 0;if(!n)return;const r=this.userComponentFactory.getCellRendererDetails(n,e);if(r&&!i(r))return r;if(i(r)&&n.cellRendererParams&&n.cellRendererParams.innerRenderer){return this.userComponentFactory.getInnerRendererDetails(n.cellRendererParams,e)}}addChildCount(){this.params.suppressCount||(this.addManagedListeners(this.displayedGroupNode,{allChildrenCountChanged:this.updateChildCount.bind(this)}),this.updateChildCount())}updateChildCount(){const e=this.displayedGroupNode.allChildrenCount,t=this.isShowRowGroupForThisRow()&&null!=e&&e>=0?`(${e})`:"";this.comp.setChildCount(t)}isShowRowGroupForThisRow(){if(this.gos.get("treeData"))return!0;const e=this.displayedGroupNode.rowGroupColumn;if(!e)return!1;const t=this.params.column;return null==t||t.isRowGroupDisplayed(e.getId())}addExpandAndContract(){const e=this.params,t=(0,ce._createIconNoSpan)("groupExpanded",this.gos,null),i=(0,ce._createIconNoSpan)("groupContracted",this.gos,null);t&&this.eExpanded.appendChild(t),i&&this.eContracted.appendChild(i);const a=e.eGridCell;this.params.column?.isCellEditable(e.node)&&this.gos.get("enableGroupEdit")||!this.isExpandable()||e.suppressDoubleClickExpand||this.addManagedListeners(a,{dblclick:this.onCellDblClicked.bind(this)}),this.addManagedListeners(this.eExpanded,{click:this.onExpandClicked.bind(this)}),this.addManagedListeners(this.eContracted,{click:this.onExpandClicked.bind(this)}),this.addManagedListeners(a,{keydown:this.onKeyDown.bind(this)}),this.addManagedListeners(e.node,{expandedChanged:this.showExpandAndContractIcons.bind(this)}),this.showExpandAndContractIcons();const n=this.onRowNodeIsExpandableChanged.bind(this);this.addManagedListeners(this.displayedGroupNode,{allChildrenCountChanged:n,masterChanged:n,groupChanged:n,hasChildrenChanged:n})}onExpandClicked(e){(0,ce._isStopPropagationForAgGrid)(e)||((0,ce._stopPropagationForAgGrid)(e),this.onExpandOrContract(e))}onExpandOrContract(e){const t=this.displayedGroupNode,i=!t.expanded;!i&&t.sticky&&this.scrollToStickyNode(t),t.setExpanded(i,e)}scrollToStickyNode(e){this.ctrlsService.getGridBodyCtrl().getScrollFeature().setVerticalScrollPosition(e.rowTop-e.stickyRowTop)}isExpandable(){if(this.showingValueForOpenedParent)return!0;const e=this.displayedGroupNode,t=this.columnModel.isPivotMode()&&e.leafGroup;if(!(e.isExpandable()&&!e.footer&&!t))return!1;const i=this.params.column;if(null!=i&&"string"==typeof i.getColDef().showRowGroup){return this.isShowRowGroupForThisRow()}return!0}showExpandAndContractIcons(){const{params:e,displayedGroupNode:t,columnModel:i}=this,{node:a}=e,n=this.isExpandable();if(n){const e=!!this.showingValueForOpenedParent||a.expanded;this.comp.setExpandedDisplayed(e),this.comp.setContractedDisplayed(!e)}else this.comp.setExpandedDisplayed(!1),this.comp.setContractedDisplayed(!1);const r=i.isPivotMode(),o=r&&t.leafGroup,s=n&&!o,l=a.footer&&-1===a.level;this.comp.addOrRemoveCssClass("ag-cell-expandable",s),this.comp.addOrRemoveCssClass("ag-row-group",s),r?this.comp.addOrRemoveCssClass("ag-pivot-leaf-group",!!o):l||this.comp.addOrRemoveCssClass("ag-row-group-leaf-indent",!s)}onRowNodeIsExpandableChanged(){this.showExpandAndContractIcons(),this.setIndent(),this.refreshAriaExpanded()}setupIndent(){const e=this.params.node;this.params.suppressPadding||(this.addManagedListeners(e,{uiLevelChanged:this.setIndent.bind(this)}),this.setIndent())}setIndent(){if(this.gos.get("groupHideOpenParents"))return;const e=this.params,t=e.node,i=!!e.colDef,a=this.gos.get("treeData"),n=!i||a||!0===e.colDef.showRowGroup?t.uiLevel:0;this.indentClass&&this.comp.addOrRemoveCssClass(this.indentClass,!1),this.indentClass="ag-row-group-indent-"+n,this.comp.addOrRemoveCssClass(this.indentClass,!0),this.eGui.style.setProperty("--ag-indentation-level",String(n))}addFullWidthRowDraggerIfNeeded(){if(!this.params.fullWidth||!this.params.rowDrag)return;const e=new ce.RowDragComp((()=>this.params.value),this.params.node);this.createManagedBean(e),this.eGui.insertAdjacentElement("afterbegin",e.getGui())}isUserWantsSelected(){const e=this.params.checkbox;return"function"==typeof e||!0===e}addCheckboxIfNeeded(){const e=this.displayedGroupNode,t=this.isUserWantsSelected()&&!e.footer&&!e.rowPinned&&!e.detail;if(t){const e=new ce.CheckboxSelectionComponent;this.createBean(e),e.init({rowNode:this.params.node,column:this.params.column,overrides:{isVisible:this.params.checkbox,callbackParams:this.params,removeHidden:!0}}),this.eCheckbox.appendChild(e.getGui()),this.addDestroyFunc((()=>this.destroyBean(e)))}this.comp.setCheckboxVisible(t)}onKeyDown(e){if(!(e.key===ce.KeyCode.ENTER)||this.params.suppressEnterExpand)return;this.params.column&&this.params.column.isCellEditable(this.params.node)||this.onExpandOrContract(e)}onCellDblClicked(e){if((0,ce._isStopPropagationForAgGrid)(e))return;(0,ce._isElementInEventPath)(this.eExpanded,e)||(0,ce._isElementInEventPath)(this.eContracted,e)||this.onExpandOrContract(e)}},he=class extends le.Component{constructor(){super('<span class="ag-cell-wrapper">\n <span class="ag-group-expanded" data-ref="eExpanded"></span>\n <span class="ag-group-contracted" data-ref="eContracted"></span>\n <span class="ag-group-checkbox ag-invisible" data-ref="eCheckbox"></span>\n <span class="ag-group-value" data-ref="eValue"></span>\n <span class="ag-group-child-count" data-ref="eChildCount"></span>\n </span>'),this.eExpanded=le.RefPlaceholder,this.eContracted=le.RefPlaceholder,this.eCheckbox=le.RefPlaceholder,this.eValue=le.RefPlaceholder,this.eChildCount=le.RefPlaceholder}init(e){const t={setInnerRenderer:(e,t)=>this.setRenderDetails(e,t),setChildCount:e=>this.eChildCount.textContent=e,addOrRemoveCssClass:(e,t)=>this.addOrRemoveCssClass(e,t),setContractedDisplayed:e=>(0,le._setDisplayed)(this.eContracted,e),setExpandedDisplayed:e=>(0,le._setDisplayed)(this.eExpanded,e),setCheckboxVisible:e=>this.eCheckbox.classList.toggle("ag-invisible",!e)},i=this.createManagedBean(new de),a=!e.colDef,n=this.getGui();i.init(t,n,this.eCheckbox,this.eExpanded,this.eContracted,this.constructor,e),a&&(0,le._setAriaRole)(n,i.getCellAriaRole())}setRenderDetails(e,t){if(e){const t=e.newAgStackInstance();if(null==t)return;t.then((e=>{if(!e)return;const t=()=>this.destroyBean(e);this.isAlive()?(this.eValue.appendChild(e.getGui()),this.addDestroyFunc(t)):t()}))}else this.eValue.innerText=t}destroy(){this.destroyBean(this.innerCellRenderer),super.destroy()}refresh(){return!1}}},4588:function(e,t,i){var a,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,l={};((e,t)=>{for(var i in t)n(e,i,{get:t[i],enumerable:!0})})(l,{ExcelExportModule:()=>St,exportMultipleSheetsAsExcel:()=>mt,getMultipleSheetsAsExcel:()=>pt}),e.exports=(a=l,((e,t,i,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of o(t))s.call(e,l)||l===i||n(e,l,{get:()=>t[l],enumerable:!(a=r(t,l))||a.enumerable});return e})(n({},"__esModule",{value:!0}),a));var c=i(3423),d=i(9209),h=i(8299),u=i(3423),g=i(9209),p=i(3423),m=i(9209),f=i(3423),v=i(9209),y={0:1,"0.00":2,"#,##0":3,"#,##0.00":4,"0%":9,"0.00%":10,"0.00E+00":11,"# ?/?":12,"# ??/??":13,"mm-dd-yy":14,"d-mmm-yy":15,"d-mmm":16,"mmm-yy":17,"h:mm AM/PM":18,"h:mm:ss AM/PM":19,"h:mm":20,"h:mm:ss":21,"m/d/yy h:mm":22,"#,##0 ;(#,##0)":37,"#,##0 ;[Red](#,##0)":38,"#,##0.00;(#,##0.00)":39,"#,##0.00;[Red](#,##0.00)":40,"mm:ss":45,"[h]:mm:ss":46,"mmss.0":47,"##0.0E+0":48,"@":49},b=e=>Math.ceil(9525*e),C=(e,t)=>{if(!t)return;let i;if("number"==typeof t)i=t;else{i=t({rowIndex:e})}return a=i,Math.round(72*a/96);var a},w=(e,t)=>{const i=v.XmlFactory.createHeader({encoding:"UTF-8",standalone:"yes"}),a=v.XmlFactory.createXml(e);return t?a:`${i}${a}`},S=e=>{const t=String.fromCharCode,i=Math.floor(e/26),a=e%26;return i&&26!==e?a?i<26?t(65+i-1)+t(65+a-1):S(i)+t(65+a-1):S(i-1)+"Z":t(65+e-1)},x=e=>{if(null==e)return null;let t="";for(let i=0;i<e.length;i++){const a=e.charCodeAt(i);if(a>=0&&a<=31&&10!==a){t+=`_x${a.toString(16).toUpperCase().padStart(4,"0")}_`}else t+=e[i]}return t},k=e=>{const t=[];for(const i of e.keys()){const e=i.toString(),a={name:"t",textNode:(0,f._escapeString)(x(e),!1)};e.trim().length!==e.length&&(a.properties={rawMap:{"xml:space":"preserve"}}),t.push({name:"si",children:[a]})}return t},M=i(3423),R={getTemplate(e){const{name:t,ContentType:i,Extension:a,PartName:n}=e;return{name:t,properties:{rawMap:{Extension:a,PartName:n,ContentType:i}}}}},D={getTemplate(e){const t=new Array(e).fill(void 0).map(((e,t)=>({name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",PartName:`/xl/worksheets/sheet${t+1}.xml`}))),i=lt.worksheetImages.size,a=lt.worksheetHeaderFooterImages.size,n=lt.worksheetDataTables.size,r={};lt.workbookImageIds.forEach((e=>{const t="jpg"===e.type?"jpeg":e.type;r[t]=!0}));const o=new Array(i).fill(void 0).map(((e,t)=>({name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.drawing+xml",PartName:`/xl/drawings/drawing${t+1}.xml`}))),s=new Array(n).fill(void 0).map(((e,t)=>({name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml",PartName:`/xl/tables/${lt.getTableNameFromIndex(t)}.xml`}))),l=Object.keys(r).map((e=>({name:"Default",ContentType:`image/${e}`,Extension:e})));a&&l.push({name:"Default",Extension:"vml",ContentType:"application/vnd.openxmlformats-officedocument.vmlDrawing"});return{name:"Types",properties:{rawMap:{xmlns:"http://schemas.openxmlformats.org/package/2006/content-types"}},children:[...l,{name:"Default",Extension:"rels",ContentType:"application/vnd.openxmlformats-package.relationships+xml"},{name:"Default",ContentType:"application/xml",Extension:"xml"},{name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",PartName:"/xl/workbook.xml"},...t,{name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.theme+xml",PartName:"/xl/theme/theme1.xml"},{name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",PartName:"/xl/styles.xml"},{name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",PartName:"/xl/sharedStrings.xml"},...o,...s,{name:"Override",ContentType:"application/vnd.openxmlformats-package.core-properties+xml",PartName:"/docProps/core.xml"}].map((e=>R.getTemplate(e)))}}},A={getTemplate(e){const t=(new Date).toJSON();return{name:"cp:coreProperties",properties:{prefixedAttributes:[{prefix:"xmlns:",map:{cp:"http://schemas.openxmlformats.org/package/2006/metadata/core-properties",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/",dcmitype:"http://purl.org/dc/dcmitype/",xsi:"http://www.w3.org/2001/XMLSchema-instance"}}]},children:[{name:"dc:creator",textNode:e},{name:"dc:title",textNode:"Workbook"},{name:"dcterms:created",properties:{rawMap:{"xsi:type":"dcterms:W3CDTF"}},textNode:t},{name:"dcterms:modified",properties:{rawMap:{"xsi:type":"dcterms:W3CDTF"}},textNode:t}]}}},E=(e,t)=>({name:`xdr:${e}`,children:[{name:"xdr:col",textNode:t.col.toString()},{name:"xdr:colOff",textNode:t.offsetX.toString()},{name:"xdr:row",textNode:t.row.toString()},{name:"xdr:rowOff",textNode:t.offsetY.toString()}]}),T=e=>{const t=[{name:"a:ext",properties:{rawMap:{uri:"{FF2B5EF4-FFF2-40B4-BE49-F238E27FC236}"}},children:[{name:"a16:creationId",properties:{rawMap:{id:"{822E6D20-D7BC-2841-A643-D49A6EF008A2}","xmlns:a16":"http://schemas.microsoft.com/office/drawing/2014/main"}}}]}];switch(e.recolor&&e.recolor.toLowerCase()){case"grayscale":case"sepia":case"washout":t.push({name:"a:ext",properties:{rawMap:{uri:"{C183D7F6-B498-43B3-948B-1728B52AA6E4}"}},children:[{name:"adec:decorative",properties:{rawMap:{val:"0","xmlns:adec":"http://schemas.microsoft.com/office/drawing/2017/decorative"}}}]})}return{name:"a:extLst",children:t}},P=(e,t)=>({name:"xdr:nvPicPr",children:[{name:"xdr:cNvPr",properties:{rawMap:{id:t,name:e.id,descr:null!=e.altText?e.altText:void 0}},children:[T(e)]},{name:"xdr:cNvPicPr",properties:{rawMap:{preferRelativeResize:"0"}},children:[{name:"a:picLocks"}]}]}),F=e=>{if(!e.saturation&&!e.tint)return;const t=[];return e.saturation&&t.push({name:"a:satMod",properties:{rawMap:{val:1e3*e.saturation}}}),e.tint&&t.push({name:"a:tint",properties:{rawMap:{val:1e3*e.tint}}}),t},I=(e,t)=>{let i;if(e.transparency){const t=Math.min(Math.max(e.transparency,0),100);i=[{name:"a:alphaModFix",properties:{rawMap:{amt:1e5-Math.round(1e3*t)}}}]}if(e.recolor)switch(i||(i=[]),e.recolor.toLocaleLowerCase()){case"grayscale":i.push({name:"a:grayscl"});break;case"sepia":i.push((n={color:"D9C3A5",tint:50,saturation:180},{name:"a:duotone",children:[{name:"a:prstClr",properties:{rawMap:{val:(a={color:"black"}).color}},children:F(a)},{name:"a:srgbClr",properties:{rawMap:{val:n.color}},children:F(n)}]}));break;case"washout":i.push({name:"a:lum",properties:{rawMap:{bright:"70000",contrast:"-70000"}}})}var a,n;return{name:"xdr:blipFill",children:[{name:"a:blip",properties:{rawMap:{cstate:"print","r:embed":`rId${t}`,"xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships"}},children:i},{name:"a:stretch",children:[{name:"a:fillRect"}]}]}},L=(e,t)=>{const i={name:"a:xfrm",children:[{name:"a:off",properties:{rawMap:{x:0,y:0}}},{name:"a:ext",properties:{rawMap:{cx:t.width,cy:t.height}}}]};if(e.rotation){const t=e.rotation;i.properties={rawMap:{rot:6e4*Math.min(Math.max(t,0),360)}}}return{name:"xdr:spPr",children:[i,{name:"a:prstGeom",properties:{rawMap:{prst:"rect"}},children:[{name:"a:avLst"}]}]}},N=(e,t,i,a)=>({name:"xdr:pic",children:[P(e,t+1),I(e,i+1),L(e,a)]}),O={getTemplate(e){const{sheetIndex:t}=e,i=lt.worksheetImages.get(t),a=lt.worksheetImageIds.get(t);return{name:"xdr:wsDr",properties:{rawMap:{"xmlns:a":"http://schemas.openxmlformats.org/drawingml/2006/main","xmlns:xdr":"http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing"}},children:i.map(((e,t)=>{const i=(e=>{e.fitCell=!!e.fitCell||!e.width||!e.height;const{position:t={},fitCell:i,width:a=0,height:n=0,totalHeight:r,totalWidth:o}=e,{offsetX:s=0,offsetY:l=0,row:c=1,rowSpan:d=1,column:h=1,colSpan:u=1}=t;return{from:{row:c-1,col:h-1,offsetX:b(s),offsetY:b(l)},to:{row:c-1+(i?1:d-1),col:h-1+(i?1:u-1),offsetX:b(a+s),offsetY:b(n+l)},height:b(r||n),width:b(o||a)}})(e);return{name:"xdr:twoCellAnchor",properties:{rawMap:{editAs:"absolute"}},children:[E("from",i.from),E("to",i.to),N(e,t,a.get(e.id).index,i),{name:"xdr:clientData"}]}}))}}},z={getTemplate(e){const{Id:t,Type:i,Target:a}=e;return{name:"Relationship",properties:{rawMap:{Id:t,Type:i,Target:a}}}}},G={getTemplate(e){return{name:"Relationships",properties:{rawMap:{xmlns:"http://schemas.openxmlformats.org/package/2006/relationships"}},children:e.map((e=>z.getTemplate(e)))}}},B={getTemplate(e){return{name:"sst",properties:{rawMap:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main",count:e.size,uniqueCount:e.size}},children:k(e)}}},V={None:"None",Dot:"Dotted",Dash:"Dashed",Double:"Double",DashDot:"DashDot",DashDotDot:"DashDotDot",SlantDashDot:"SlantDashDot",Continuous:"Continuous"},H=["Dashed","DashDot","DashDotDot"],W={None:"none",Solid:"solid",Gray50:"mediumGray",Gray75:"darkGray",Gray25:"lightGray",HorzStripe:"darkHorizontal",VertStripe:"darkVertical",ReverseDiagStripe:"darkDown",DiagStripe:"darkUp",DiagCross:"darkGrid",ThickDiagCross:"darkTrellis",ThinHorzStripe:"lightHorizontal",ThinVertStripe:"lightVertical",ThinReverseDiagStripe:"lightDown",ThinDiagStripe:"lightUp",ThinHorzCross:"lightGrid",ThinDiagCross:"lightTrellis",Gray125:"gray125",Gray0625:"gray0625"},_={Automatic:"general",Left:"left",Center:"center",Right:"right",Fill:"fill",Justify:"justify",CenterAcrossSelection:"centerContinuous",Distributed:"distributed",JustifyDistributed:"justify"},q={Automatic:void 0,Top:"top",Bottom:"bottom",Center:"center",Justify:"justify",Distributed:"distributed",JustifyDistributed:"justify"},U=e=>null==e?e:("#"===e.charAt(0)&&(e=e.substring(1)),6===e.length?"FF"+e:e),K=(e,t)=>{if(!e)return"thin";const i=(e=>{switch(e){case 1:return"thin";case 2:return"medium";case 3:return"thick";default:return"hair"}})(t);if("Continuous"===e)return i;const a=V[e];return"medium"===i&&H.some((e=>e===a))?`medium${a}`:`${a.charAt(0).toLowerCase()}${a.substring(1)}`},j=e=>_[e]||"general",Y=e=>q[e]||void 0,$=e=>({name:"color",properties:{rawMap:{rgb:U(e||"#000000")}}}),Z={getTemplate(e){const{left:t,right:i,top:a,bottom:n,diagonal:r}=e,o=t?[$(t.color)]:void 0,s=i?[$(i.color)]:void 0,l=a?[$(a.color)]:void 0,c=n?[$(n.color)]:void 0,d=r?[$(r.color)]:void 0;return{name:"border",children:[{name:"left",properties:{rawMap:{style:t&&t.style}},children:o},{name:"right",properties:{rawMap:{style:i&&i.style}},children:s},{name:"top",properties:{rawMap:{style:a&&a.style}},children:l},{name:"bottom",properties:{rawMap:{style:n&&n.style}},children:c},{name:"diagonal",properties:{rawMap:{style:r&&r.style}},children:d}]}}},X={getTemplate(e){return{name:"borders",properties:{rawMap:{count:e.length}},children:e.map((e=>Z.getTemplate(e)))}}},Q=e=>{const t=["Context","LeftToRight","RightToLeft"].indexOf(e);return Math.max(t,0)},J={getTemplate(e){const{horizontal:t,indent:i,readingOrder:a,rotate:n,shrinkToFit:r,vertical:o,wrapText:s}=e;return{name:"alignment",properties:{rawMap:{horizontal:t&&j(t),indent:i,readingOrder:a&&Q(a),textRotation:n,shrinkToFit:r,vertical:o&&Y(o),wrapText:s}}}}},ee={getTemplate(e){const t=!1===e.protected?0:1;return{name:"protection",properties:{rawMap:{hidden:!0===e.hideFormula?1:0,locked:t}}}}},te={getTemplate(e){const{alignment:t,borderId:i,fillId:a,fontId:n,numFmtId:r,protection:o,quotePrefix:s,xfId:l}=e,c=[];return t&&c.push(J.getTemplate(t)),o&&c.push(ee.getTemplate(o)),{name:"xf",properties:{rawMap:{applyAlignment:t?1:void 0,applyProtection:o?1:void 0,applyBorder:i?1:void 0,applyFill:a?1:void 0,borderId:i,fillId:a,applyFont:n?1:void 0,fontId:n,applyNumberFormat:r?1:void 0,numFmtId:r,quotePrefix:s?1:void 0,xfId:l}},children:c.length?c:void 0}}},ie={getTemplate(e){return{name:"cellStyleXfs",properties:{rawMap:{count:e.length}},children:e.map((e=>te.getTemplate(e)))}}},ae={getTemplate(e){const{builtinId:t,name:i,xfId:a}=e;return{name:"cellStyle",properties:{rawMap:{builtinId:t,name:i,xfId:a}}}}},ne={getTemplate(e){return{name:"cellStyles",properties:{rawMap:{count:e.length}},children:e.map((e=>ae.getTemplate(e)))}}},re={getTemplate(e){return{name:"cellXfs",properties:{rawMap:{count:e.length}},children:e.map((e=>te.getTemplate(e)))}}},oe={getTemplate(e){const{patternType:t,fgTheme:i,fgTint:a,fgRgb:n,bgRgb:r,bgIndexed:o}=e,s={name:"patternFill",properties:{rawMap:{patternType:t}}};return(i||a||n)&&(s.children=[{name:"fgColor",properties:{rawMap:{theme:i,tint:a,rgb:n}}}]),(o||r)&&(s.children||(s.children=[]),s.children.push({name:"bgColor",properties:{rawMap:{indexed:o,rgb:r}}})),{name:"fill",children:[s]}}},se={getTemplate(e){return{name:"fills",properties:{rawMap:{count:e.length}},children:e.map((e=>oe.getTemplate(e)))}}},le={getTemplate(e){const{size:t,colorTheme:i,color:a="FF000000",fontName:n="Calibri",family:r,scheme:o,italic:s,bold:l,strikeThrough:c,outline:d,shadow:h,underline:u,verticalAlign:g}=e,p=[{name:"sz",properties:{rawMap:{val:t}}},{name:"color",properties:{rawMap:{theme:i,rgb:a}}},{name:"name",properties:{rawMap:{val:n}}}];return r&&p.push({name:"family",properties:{rawMap:{val:r}}}),o&&p.push({name:"scheme",properties:{rawMap:{val:o}}}),s&&p.push({name:"i"}),l&&p.push({name:"b"}),c&&p.push({name:"strike"}),d&&p.push({name:"outline"}),h&&p.push({name:"shadow"}),u&&p.push({name:"u",properties:{rawMap:{val:u}}}),g&&p.push({name:"vertAlign",properties:{rawMap:{val:g}}}),{name:"font",children:p}}},ce={getTemplate(e){return{name:"fonts",properties:{rawMap:{count:e.length}},children:e.map((e=>le.getTemplate(e)))}}},de=i(3423);var he,ue,ge,pe,me,fe,ve,ye,be,Ce={getTemplate(e){let{formatCode:t,numFmtId:i}=e;return t.length&&(t=function(e){const t=e.split(/(\[[^\]]*\])/);for(let e=0;e<t.length;e++){let i=t[e];i.length&&(i.startsWith("[")||(i=i.replace(/\$/g,'"$"')),t[e]=(0,de._escapeString)(i))}return t.join("")}(t)),{name:"numFmt",properties:{rawMap:{formatCode:t,numFmtId:i}}}}},we={getTemplate(e){return{name:"numFmts",properties:{rawMap:{count:e.length}},children:e.map((e=>Ce.getTemplate(e)))}}},Se=(e,t)=>(-1!==e.indexOf("mixedStyle")&&t>1&&(e+=`_${t}`),e),xe=()=>{he={base:0},ue=[],ge=[{fontName:"Calibri",colorTheme:"1",family:"2",scheme:"minor"}],pe=[{patternType:"none"},{patternType:"gray125"}],me=[{left:void 0,right:void 0,top:void 0,bottom:void 0,diagonal:void 0}],fe=[{borderId:0,fillId:0,fontId:0,numFmtId:0}],ve=[{borderId:0,fillId:0,fontId:0,numFmtId:0,xfId:0}],ye=[{builtinId:0,name:"Normal",xfId:0}]},ke=e=>{const t=(i=e.pattern)?W[i]||i:"none";var i;const a=U(e.color),n=U(e.patternColor);let r=pe.findIndex((e=>{const{patternType:i,fgRgb:r,bgRgb:o}=e;return i==t&&r==a&&o==n}));return-1===r&&(r=pe.length,pe.push({patternType:t,fgRgb:a,bgRgb:n})),r},Me=e=>{const{fontName:t="Calibri",color:i,size:a,bold:n,italic:r,outline:o,shadow:s,strikeThrough:l,underline:c,family:d,verticalAlign:h}=e,u=U(i),g=(e=>{if(void 0===e)return;const t=["Automatic","Roman","Swiss","Modern","Script","Decorative"].indexOf(e||"Automatic");return Math.max(t,0)})(d),p=c?c.toLocaleLowerCase():void 0,m=h?h.toLocaleLowerCase():void 0;let f=ge.findIndex((e=>e.fontName==t&&e.color==u&&e.size==a&&e.bold==n&&e.italic==r&&e.outline==o&&e.shadow==s&&e.strikeThrough==l&&e.underline==p&&e.verticalAlign==m&&e.family==g));return-1===f&&(f=ge.length,ge.push({fontName:t,color:u,size:a,bold:n,italic:r,outline:o,shadow:s,strikeThrough:l,underline:p,verticalAlign:m,family:null!=g?g.toString():void 0})),f},Re=e=>{const{alignment:t,borders:i,font:a,interior:n,numberFormat:r,protection:o,quotePrefix:s}=e;let{id:l}=e,c=0,d=0,h=0,u=0;l&&(l=Se(l,be),null==he[l]&&(n&&(c=ke(n)),i&&(d=(e=>{const{borderBottom:t,borderTop:i,borderLeft:a,borderRight:n}=e;let r,o,s,l,c,d,h,u;a&&(s=K(a.lineStyle,a.weight),h=U(a.color)),n&&(l=K(n.lineStyle,n.weight),u=U(n.color)),t&&(r=K(t.lineStyle,t.weight),c=U(t.color)),i&&(o=K(i.lineStyle,i.weight),d=U(i.color));let g=me.findIndex((e=>{const{left:t,right:i,top:a,bottom:n}=e;if(!t&&(s||h))return!1;if(!i&&(l||u))return!1;if(!a&&(o||d))return!1;if(!n&&(r||c))return!1;const{style:g,color:p}=t||{},{style:m,color:f}=i||{},{style:v,color:y}=a||{},{style:b,color:C}=n||{};return g==s&&p==h&&m==l&&f==u&&v==o&&y==d&&b==r&&C==c}));return-1===g&&(g=me.length,me.push({left:{style:s,color:h},right:{style:l,color:u},top:{style:o,color:d},bottom:{style:r,color:c},diagonal:{style:void 0,color:void 0}})),g})(i)),a&&(h=Me(a)),r&&(u=(e=>{if(y[e])return y[e];let t=ue.findIndex((t=>t.formatCode===e));return-1===t?(t=ue.length+164,ue.push({formatCode:e,numFmtId:t})):t=ue[t].numFmtId,t})(r.format)),he[l]=ve.length,ve.push({alignment:t,borderId:d||0,fillId:c||0,fontId:h||0,numFmtId:u||0,protection:o,quotePrefix:s,xfId:0})))},De=(e,t)=>he[Se(e,t)]||0,Ae={getTemplate(e){const t=we.getTemplate(ue),i=ce.getTemplate(ge.map((t=>({...t,size:null!=t.size?t.size:e})))),a=se.getTemplate(pe),n=X.getTemplate(me),r=ie.getTemplate(fe),o=re.getTemplate(ve),s=ne.getTemplate(ye);return xe(),{name:"styleSheet",properties:{rawMap:{"mc:Ignorable":"x14ac x16r2 xr",xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","xmlns:x14ac":"http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac","xmlns:x16r2":"http://schemas.microsoft.com/office/spreadsheetml/2015/02/main","xmlns:xr":"http://schemas.microsoft.com/office/spreadsheetml/2014/revision"}},children:[t,i,a,n,r,o,s,{name:"tableStyles",properties:{rawMap:{count:0,defaultPivotStyle:"PivotStyleLight16",defaultTableStyle:"TableStyleMedium2"}}}]}}},Ee={getTemplate(e,t){const{name:i,columns:a,rowCount:n,displayName:r,headerRowIndex:o,showRowStripes:s,showColumnStripes:l,showFilterButtons:c,highlightFirstColumn:d,highlightLastColumn:h}=e||{};if(!(e&&i&&Array.isArray(a)&&a.length&&n))return{name:"table"};const u=a.map(((e,t)=>({name:"filterColumn",properties:{rawMap:{colId:t.toString(),hiddenButton:c[t]?0:1}}}))),g=o+1,p=(t+1).toString(),m=`${`A${g}`}:${`${String.fromCharCode(64+a.length)}${g+n}`}`;return{name:"table",properties:{rawMap:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","mc:Ignorable":"xr xr3","xmlns:xr":"http://schemas.microsoft.com/office/spreadsheetml/2014/revision","xmlns:xr3":"http://schemas.microsoft.com/office/spreadsheetml/2016/revision3",name:i,displayName:t?`${r}_${t+1}`:r,ref:m,totalsRowShown:0,id:p}},children:[{name:"autoFilter",properties:{rawMap:{ref:m}},children:u},{name:"tableColumns",properties:{rawMap:{count:a.length}},children:a.map(((e,t)=>({name:"tableColumn",properties:{rawMap:{id:(t+1).toString(),name:e,dataCellStyle:"Normal"}}})))},{name:"tableStyleInfo",properties:{rawMap:{name:"TableStyleLight1",showFirstColumn:d?1:0,showLastColumn:h?1:0,showRowStripes:s?1:0,showColumnStripes:l?1:0}}}]}}},Te=e=>{const[t,i,a,n]=e;return{name:`a:${t}`,children:[{name:`a:${i}`,properties:{rawMap:{val:a,lastClr:n}}}]}},Pe={getTemplate(){return{name:"a:clrScheme",properties:{rawMap:{name:"Office"}},children:[Te(["dk1","sysClr","windowText","000000"]),Te(["lt1","sysClr","window","FFFFFF"]),Te(["dk2","srgbClr","44546A"]),Te(["lt2","srgbClr","E7E6E6"]),Te(["accent1","srgbClr","4472C4"]),Te(["accent2","srgbClr","ED7D31"]),Te(["accent3","srgbClr","A5A5A5"]),Te(["accent4","srgbClr","FFC000"]),Te(["accent5","srgbClr","5B9BD5"]),Te(["accent6","srgbClr","70AD47"]),Te(["hlink","srgbClr","0563C1"]),Te(["folHlink","srgbClr","954F72"])]}}},Fe=e=>{const[t,i,a,n]=e;return{name:`a:${t}`,properties:{rawMap:{script:a,typeface:i,panose:n}}}},Ie={getTemplate(){return{name:"a:fontScheme",properties:{rawMap:{name:"Office"}},children:[{name:"a:majorFont",children:[Fe(["latin","Calibri Light",void 0,"020F0302020204030204"]),Fe(["ea",""]),Fe(["cs",""]),Fe(["font","游ゴシック Light","Jpan"]),Fe(["font","맑은 고딕","Hang"]),Fe(["font","等线 Light","Hans"]),Fe(["font","新細明體","Hant"]),Fe(["font","Times New Roman","Arab"]),Fe(["font","Times New Roman","Hebr"]),Fe(["font","Tahoma","Thai"]),Fe(["font","Nyala","Ethi"]),Fe(["font","Vrinda","Beng"]),Fe(["font","Shruti","Gujr"]),Fe(["font","MoolBoran","Khmr"]),Fe(["font","Tunga","Knda"]),Fe(["font","Raavi","Guru"]),Fe(["font","Euphemia","Cans"]),Fe(["font","Plantagenet Cherokee","Cher"]),Fe(["font","Microsoft Yi Baiti","Yiii"]),Fe(["font","Microsoft Himalaya","Tibt"]),Fe(["font","MV Boli","Thaa"]),Fe(["font","Mangal","Deva"]),Fe(["font","Gautami","Telu"]),Fe(["font","Latha","Taml"]),Fe(["font","Estrangelo Edessa","Syrc"]),Fe(["font","Kalinga","Orya"]),Fe(["font","Kartika","Mlym"]),Fe(["font","DokChampa","Laoo"]),Fe(["font","Iskoola Pota","Sinh"]),Fe(["font","Mongolian Baiti","Mong"]),Fe(["font","Times New Roman","Viet"]),Fe(["font","Microsoft Uighur","Uigh"]),Fe(["font","Sylfaen","Geor"]),Fe(["font","Arial","Armn"]),Fe(["font","Leelawadee UI","Bugi"]),Fe(["font","Microsoft JhengHei","Bopo"]),Fe(["font","Javanese Text","Java"]),Fe(["font","Segoe UI","Lisu"]),Fe(["font","Myanmar Text","Mymr"]),Fe(["font","Ebrima","Nkoo"]),Fe(["font","Nirmala UI","Olck"]),Fe(["font","Ebrima","Osma"]),Fe(["font","Phagspa","Phag"]),Fe(["font","Estrangelo Edessa","Syrn"]),Fe(["font","Estrangelo Edessa","Syrj"]),Fe(["font","Estrangelo Edessa","Syre"]),Fe(["font","Nirmala UI","Sora"]),Fe(["font","Microsoft Tai Le","Tale"]),Fe(["font","Microsoft New Tai Lue","Talu"]),Fe(["font","Ebrima","Tfng"])]},{name:"a:minorFont",children:[Fe(["latin","Calibri",void 0,"020F0502020204030204"]),Fe(["ea",""]),Fe(["cs",""]),Fe(["font","游ゴシック","Jpan"]),Fe(["font","맑은 고딕","Hang"]),Fe(["font","等线","Hans"]),Fe(["font","新細明體","Hant"]),Fe(["font","Arial","Arab"]),Fe(["font","Arial","Hebr"]),Fe(["font","Tahoma","Thai"]),Fe(["font","Nyala","Ethi"]),Fe(["font","Vrinda","Beng"]),Fe(["font","Shruti","Gujr"]),Fe(["font","DaunPenh","Khmr"]),Fe(["font","Tunga","Knda"]),Fe(["font","Raavi","Guru"]),Fe(["font","Euphemia","Cans"]),Fe(["font","Plantagenet Cherokee","Cher"]),Fe(["font","Microsoft Yi Baiti","Yiii"]),Fe(["font","Microsoft Himalaya","Tibt"]),Fe(["font","MV Boli","Thaa"]),Fe(["font","Mangal","Deva"]),Fe(["font","Gautami","Telu"]),Fe(["font","Latha","Taml"]),Fe(["font","Estrangelo Edessa","Syrc"]),Fe(["font","Kalinga","Orya"]),Fe(["font","Kartika","Mlym"]),Fe(["font","DokChampa","Laoo"]),Fe(["font","Iskoola Pota","Sinh"]),Fe(["font","Mongolian Baiti","Mong"]),Fe(["font","Arial","Viet"]),Fe(["font","Microsoft Uighur","Uigh"]),Fe(["font","Sylfaen","Geor"]),Fe(["font","Arial","Armn"]),Fe(["font","Leelawadee UI","Bugi"]),Fe(["font","Microsoft JhengHei","Bopo"]),Fe(["font","Javanese Text","Java"]),Fe(["font","Segoe UI","Lisu"]),Fe(["font","Myanmar Text","Mymr"]),Fe(["font","Ebrima","Nkoo"]),Fe(["font","Nirmala UI","Olck"]),Fe(["font","Ebrima","Osma"]),Fe(["font","Phagspa","Phag"]),Fe(["font","Estrangelo Edessa","Syrn"]),Fe(["font","Estrangelo Edessa","Syrj"]),Fe(["font","Estrangelo Edessa","Syre"]),Fe(["font","Nirmala UI","Sora"]),Fe(["font","Microsoft Tai Le","Tale"]),Fe(["font","Microsoft New Tai Lue","Talu"]),Fe(["font","Ebrima","Tfng"])]}]}}},Le=(e,t,i)=>({name:`a:${e}`,properties:{rawMap:{val:t}},children:i}),Ne=e=>{const[t,i,a,n,r,o]=e,s=[];return s.push(Le("satMod",a)),n&&s.push(Le("lumMod",n)),r&&s.push(Le("tint",r)),o&&s.push(Le("shade",o)),{name:"a:gs",properties:{rawMap:{pos:t}},children:[{name:"a:schemeClr",properties:{rawMap:{val:i}},children:s}]}},Oe=(e,t)=>({name:"a:solidFill",children:[Le("schemeClr",e,t)]}),ze=e=>{const[t,i,a,n,r]=e,[o,s]=r;return{name:"a:gradFill",properties:{rawMap:{rotWithShape:t}},children:[{name:"a:gsLst",children:[Ne(i),Ne(a),Ne(n)]},{name:"a:lin",properties:{rawMap:{ang:o,scaled:s}}}]}},Ge=e=>{const[t,i,a,n]=e;return{name:"a:ln",properties:{rawMap:{w:t,cap:i,cmpd:a,algn:n}},children:[Oe("phClr"),Le("prstDash","solid"),{name:"a:miter",properties:{rawMap:{lim:"800000"}}}]}},Be=e=>{const t=[];if(e){const[i,a,n,r,o]=e;t.push({name:"a:outerShdw",properties:{rawMap:{blurRad:i,dist:a,dir:n,algn:r,rotWithShape:o}},children:[Le("srgbClr","000000",[Le("alpha","63000")])]})}return{name:"a:effectStyle",children:[Object.assign({},{name:"a:effectLst"},t.length?{children:t}:{})]}},Ve={getTemplate(){return{name:"a:fmtScheme",properties:{rawMap:{name:"Office"}},children:[{name:"a:fillStyleLst",children:[Oe("phClr"),ze(["1",["0","phClr","105000","110000","67000"],["50000","phClr","103000","105000","73000"],["100000","phClr","109000","105000","81000"],["5400000","0"]]),ze(["1",["0","phClr","103000","102000","94000"],["50000","phClr","110000","100000",void 0,"100000"],["100000","phClr","120000","99000",void 0,"78000"],["5400000","0"]])]},{name:"a:lnStyleLst",children:[Ge(["6350","flat","sng","ctr"]),Ge(["12700","flat","sng","ctr"]),Ge(["19050","flat","sng","ctr"])]},{name:"a:effectStyleLst",children:[Be(),Be(),Be(["57150","19050","5400000","ctr","0"])]},{name:"a:bgFillStyleLst",children:[Oe("phClr"),Oe("phClr",[Le("tint","95000"),Le("satMod","170000")]),ze(["1",["0","phClr","150000","102000","93000","98000"],["50000","phClr","130000","103000","98000","90000"],["100000","phClr","120000",void 0,void 0,"63000"],["5400000","0"]])]}]}}},He={getTemplate(){return{name:"a:themeElements",children:[Pe.getTemplate(),Ie.getTemplate(),Ve.getTemplate()]}}},We={getTemplate(){return{name:"a:theme",properties:{prefixedAttributes:[{prefix:"xmlns:",map:{a:"http://schemas.openxmlformats.org/drawingml/2006/main"}}],rawMap:{name:"Office Theme"}},children:[He.getTemplate(),{name:"a:objectDefaults"},{name:"a:extraClrSchemeLst"}]}}},_e=e=>{const{aspectratio:t,rotation:i}=e||{},a={};return t&&(a.aspectratio="t"),i&&(a.rotation="t"),{name:"o:lock",properties:{prefixedAttributes:[{prefix:"v:",map:{ext:"edit"}}],rawMap:a}}};var qe=(e,t)=>{let i;const{recolor:a,brightness:n,contrast:r,id:o}=e;if(a&&(i={},"Washout"!==a&&"Grayscale"!==a||(i.gain="19661f",i.blacklevel="22938f"),"Black & White"!==a&&"Grayscale"!==a||(i.grayscale="t","Black & White"===a&&(i.bilevel="t"))),!a||"Grayscale"===a){if(i||(i={}),null!=r&&50!==r){let e="1";r>=0&&(r<50?e=String(r/50):r<100?e=String(50/(100-r)):100===r&&(e="2147483647f")),i.gain=e}null!=n&&50!==n&&(i.blacklevel=(s=n,l=0,c=100,d=-.5,h=.5,(s-l)/(c-l)*(h-d)+d).toString())}var s,l,c,d,h;return{name:"v:imagedata",properties:{prefixedAttributes:[{prefix:"o:",map:{relid:`rId${t}`,title:o}}],rawMap:i}}},Ue=e=>Math.floor(.74999943307122*(e??0)),Ke={getTemplate(e){const t=lt.worksheetHeaderFooterImages.get(e.sheetIndex)||[];var i;return{name:"xml",properties:{prefixedAttributes:[{prefix:"xmlns:",map:{v:"urn:schemas-microsoft-com:vml",o:"urn:schemas-microsoft-com:office:office",x:"urn:schemas-microsoft-com:office:excel"}}]},children:[{name:"o:shapelayout",properties:{prefixedAttributes:[{prefix:"v:",map:{ext:"edit"}}]},children:[{name:"o:idmap",properties:{prefixedAttributes:[{prefix:"v:",map:{ext:"edit"}}],rawMap:{data:"1"}}}]},{name:"v:shapetype",properties:{prefixedAttributes:[{prefix:"o:",map:{spt:"75",preferrelative:"t"}}],rawMap:{coordsize:"21600,21600",filled:"f",id:"_x0000_t75",path:"m@4@5l@4@11@9@11@9@5xe",stroked:"f"}},children:[{name:"v:stroke",properties:{rawMap:{joinstyle:"miter"}}},(i=["if lineDrawn pixelLineWidth 0","sum @0 1 0","sum 0 0 @1","prod @2 1 2","prod @3 21600 pixelWidth","prod @3 21600 pixelHeight","sum @0 0 1","prod @6 1 2","prod @7 21600 pixelWidth","sum @8 21600 0","prod @7 21600 pixelHeight","sum @10 21600 0"],{name:"v:formulas",children:i.map((e=>({name:"v:f",properties:{rawMap:{eqn:e}}})))}),{name:"v:path",properties:{prefixedAttributes:[{prefix:"o:",map:{connecttype:"rect",extrusionok:"f"}}],rawMap:{gradientshapeok:"t"}}},_e({aspectratio:!0})]},...t.map(((e,t)=>((e,t)=>{const{width:i=0,height:a=0,altText:n}=e,r=Ue(i),o=Ue(a);return{name:"v:shape",properties:{rawMap:{id:e.headerFooterPosition,"o:spid":"_x0000_s1025",style:`position: absolute; margin-left: 0; margin-top: 10in; margin-bottom: 0; margin-right: 0; width: ${r}pt; height: ${o}pt; z-index: ${t+1}`,type:"#_x0000_t75",alt:n}},children:[qe(e,t+1),_e({rotation:!0})]}})(e,t)))]}}},je={getTemplate(e,t){const i=(t+1).toString();return{name:"sheet",properties:{rawMap:{name:e,sheetId:i,"r:id":`rId${i}`}}}}},Ye={getTemplate(e){return{name:"sheets",children:e.map(((e,t)=>je.getTemplate(e,t)))}}},$e={getTemplate(e){return{name:"workbook",properties:{prefixedAttributes:[{prefix:"xmlns:",map:{r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships"}}],rawMap:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main"}},children:[Ye.getTemplate(e)]}}},Ze=i(3423),Xe={getTemplate(e){const{min:t,max:i,outlineLevel:a,s:n,width:r,hidden:o,bestFit:s}=e;let l=1,c="0";return r>1&&(l=(e=>Math.ceil((e-12)/7+1))(r),c="1"),{name:"col",properties:{rawMap:{min:t,max:i,outlineLevel:null!=a?a:void 0,width:l,style:n,hidden:o?"1":"0",bestFit:s?"1":"0",customWidth:c}}}}},Qe={getTemplate(e){return{name:"mergeCell",properties:{rawMap:{ref:e}}}}},Je=i(3423),et={getTemplate(e,t,i){const{ref:a,data:n,styleId:r}=e,{type:o,value:s}=n||{type:"empty",value:null};let l=o;"f"===o?l="str":o.charAt(0)===o.charAt(0).toUpperCase()&&(l=(e=>{const t=e.charAt(0).toLowerCase();return"s"===t?"inlineStr":t})(o));const c={name:"c",properties:{rawMap:{r:a,t:"empty"===l?void 0:l,s:r?De(r,i):void 0}}};if("empty"===l)return c;let d;return d="str"===l&&"f"===o?[{name:"f",textNode:(0,Je._escapeString)(x(s),!1)}]:"inlineStr"===l?[{name:"is",children:[{name:"t",textNode:(0,Je._escapeString)(x(s),!1)}]}]:[{name:"v",textNode:s}],Object.assign({},c,{children:d})}},tt=e=>""!==e.data?.value||void 0!==e.styleId,it={getTemplate(e,t,i){const{collapsed:a,hidden:n,height:r,outlineLevel:o,cells:s=[]}=e;((e,t)=>{const i=[];let a=0;for(let t=0;t<e.length;t++){const n=e[t];n.mergeAcross&&(i.push({pos:t,excelPos:a}),a+=n.mergeAcross),a++}if(i.length)for(let a=i.length-1;a>=0;a--){const n=[],r=e[i[a].pos];for(let e=1;e<=r.mergeAcross;e++)n.push({ref:`${S(i[a].excelPos+1+e)}${t+1}`,styleId:r.styleId,data:{type:"empty",value:null}});n.length&&e.splice(i[a].pos+1,0,...n)}})(s,t);return{name:"row",properties:{rawMap:{r:t+1,collapsed:a?"1":"0",hidden:n?"1":"0",ht:r,customHeight:null!=r?"1":"0",spans:"1:1",outlineLevel:o||void 0}},children:s.filter(tt).map(((e,t)=>et.getTemplate(e,t,i)))}}},at=e=>{if(null==e)return 1;const t=["Letter","Letter Small","Tabloid","Ledger","Legal","Statement","Executive","A3","A4","A4 Small","A5","A6","B4","B5","Folio","Envelope","Envelope DL","Envelope C5","Envelope B5","Envelope C3","Envelope C4","Envelope C6","Envelope Monarch","Japanese Postcard","Japanese Double Postcard"].indexOf(e);return-1===t?1:t+1},nt=(e,t,i)=>e.reduce(((e,a,n)=>{const r="Center"===(o=a.position)?"C":"Right"===o?"R":"L";var o;const s=(l=`${e}&amp;${r}`,(c=a.font)?(l+="&amp;&quot;",l+=c.fontName||"Calibri",c.bold!==c.italic?l+=c.bold?",Bold":",Italic":c.bold?l+=",Bold Italic":l+=",Regular",l+="&quot;",c.size&&(l+=`&amp;${c.size}`),c.strikeThrough&&(l+="&amp;S"),c.underline&&(l+="&amp;"+("Double"===c.underline?"E":"U")),c.color&&(l+=`&amp;K${c.color.replace("#","").toUpperCase()}`),l):l);var l,c;const d=["Left","Center","Right"];a.position||(a.position=d[n]);const{image:h}=a;if("&[Picture]"===a.value&&h){const e=`${r}${t}${i}`;lt.addHeaderFooterImageToMap(h,e)}return`${s}${(0,Ze._escapeString)((u=a.value,(0,Ze._iterateObject)({"&[Page]":"&P","&[Pages]":"&N","&[Date]":"&D","&[Time]":"&T","&[Tab]":"&A","&[Path]":"&Z","&[File]":"&F","&[Picture]":"&G"},((e,t)=>{u=u.replace(e,t)})),u))}`;var u}),""),rt=e=>{const t=[];return["all","first","even"].forEach((i=>{const a=e[i],n="all"===i?"odd":i;if(a)for(const[e,r]of Object.entries(a)){const a=`${e.charAt(0).toUpperCase()}${e.slice(1)}`,o=e[0].toUpperCase();if(r){const e="all"===i?"":i.toUpperCase();t.push({name:`${n}${a}`,properties:{rawMap:{"xml:space":"preserve"}},textNode:nt(r,o,e)})}}})),t},ot={getTemplate(e){const{worksheet:t,currentSheet:i,config:a}=e,{margins:n={},pageSetup:r,headerFooterConfig:o,suppressColumnOutline:s}=a,{table:l}=t,{rows:c,columns:d}=l,h=d&&d.length?((e,t,i)=>{const a=[],n=[];e.forEach(((e,i)=>{const r=e.cells;let o,s=0;r.forEach(((e,r)=>{const l=r+s+1,c=S(l),d=i+1;if(e.mergeAcross){s+=e.mergeAcross;const t=S(r+s+1);a.push(`${c}${d}:${t}${d}`)}t[l-1]||(t[l-1]={});const{collapsibleRanges:h}=e;h&&h.forEach((e=>{n.push([l+e[0],l+e[1]])})),o=t[l-1],o.min=l,o.max=l,e.ref=`${c}${d}`}))})),n.sort(((e,t)=>e[0]!==t[0]?e[0]-t[0]:t[1]-e[1]));const r=new Map,o=new Map;return n.filter((e=>{const t=e.toString();return!r.get(t)&&(r.set(t,!0),!0)})).forEach((e=>{const a=t.find((t=>t.min==e[0]&&t.max==e[1])),n=o.get(e[0]);t.push({min:e[0],max:e[1],outlineLevel:i?void 0:n||1,width:(a||{width:100}).width}),o.set(e[0],(n||0)+1)})),a})(c,d,!!s):[],{worksheetDataTables:u}=lt,g=u.get(i),p=(0,Ze._compose)((e=>(e.children.push({name:"sheetPr",children:[{name:"outlinePr",properties:{rawMap:{summaryBelow:0}}}]}),e)),(e=>t=>{const i=e.reduce(((e,t)=>t.outlineLevel&&t.outlineLevel>e?t.outlineLevel:e),0);return t.children.push({name:"sheetFormatPr",properties:{rawMap:{baseColWidth:10,defaultRowHeight:16,outlineLevelRow:i||void 0}}}),t})(c),(e=>t=>(e.length&&t.children.push({name:"cols",children:e.map((e=>Xe.getTemplate(e)))}),t))(d),((e,t)=>i=>(e.length&&i.children.push({name:"sheetData",children:e.map(((e,i)=>it.getTemplate(e,i,t)))}),i))(c,i+1),(f=h,e=>(f.length&&e.children.push({name:"mergeCells",properties:{rawMap:{count:f.length}},children:f.map((e=>Qe.getTemplate(e)))}),e)),(e=>t=>{const{top:i=.75,right:a=.7,bottom:n=.75,left:r=.7,header:o=.3,footer:s=.3}=e;return t.children.push({name:"pageMargins",properties:{rawMap:{bottom:n,footer:s,header:o,left:r,right:a,top:i}}}),t})(n),(e=>t=>{var i;return e&&t.children.push({name:"pageSetup",properties:{rawMap:{horizontalDpi:0,verticalDpi:0,orientation:(i=e.orientation,!i||"Portrait"!==i&&"Landscape"!==i?"portrait":i.toLocaleLowerCase()),paperSize:at(e.pageSize)}}}),t})(r),(e=>t=>{if(!e)return t;const i=null!=e.first?1:0,a=null!=e.even?1:0;return t.children.push({name:"headerFooter",properties:{rawMap:{differentFirst:i,differentOddEven:a}},children:rt(e)}),t})(o),(e=>t=>{const i=lt.worksheetImages.get(e);return i?.length&&t.children.push({name:"drawing",properties:{rawMap:{"r:id":"rId"+ ++t.rIdCounter}}}),t})(i),(e=>t=>(lt.worksheetHeaderFooterImages.get(e)&&t.children.push({name:"legacyDrawingHF",properties:{rawMap:{"r:id":"rId"+ ++t.rIdCounter}}}),t))(i),(m=g,e=>(m&&e.children.push({name:"tableParts",properties:{rawMap:{count:"1"}},children:[{name:"tablePart",properties:{rawMap:{"r:id":"rId"+ ++e.rIdCounter}}}]}),e)));var m,f;const{children:v}=p({children:[],rIdCounter:0});return{name:"worksheet",properties:{prefixedAttributes:[{prefix:"xmlns:",map:{r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships"}}],rawMap:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main"}},children:v}}},st=class e{static createExcel(e,t,i){this.addSheetName(t),((e,t)=>{1===(be=t)&&xe(),e.forEach(Re)})(e,this.sheetNames.length);const a=Object.assign({},i);return i.exportAsExcelTable&&(i.columnModel.isPivotActive()&&(this.showExcelTableNonCompatibleFeaturesWarning("pivot mode"),a.exportAsExcelTable=!1),i.gos.get("masterDetail")&&(this.showExcelTableNonCompatibleFeaturesWarning("master/detail"),a.exportAsExcelTable=!1)),this.processTableConfig(t,a),this.createWorksheet(t,a)}static showExcelTableNonCompatibleFeaturesWarning(e){(0,M._warnOnce)(`Excel table export does not work with ${e}. The exported Excel file will not contain any Excel tables.\nPlease turn off ${e} to enable Excel table exports.`)}static getTableNameFromIndex(e){return`table${e+1}`}static getSanitizedTableName(e){return e.replace(/^[^a-zA-Z_]+/,"_").replace(/\s/g,"_").replace(/[^a-zA-Z0-9_]/g,"_")}static addTableToSheet(e,t){this.worksheetDataTables.has(e)?(0,M._warnOnce)("Unable to add data table to Excel sheet: A table already exists."):this.worksheetDataTables.set(e,t)}static processTableConfig(t,i){if(!i.exportAsExcelTable)return;const a="boolean"==typeof i.exportAsExcelTable?{}:i.exportAsExcelTable,{name:n,showColumnStripes:r,showRowStripes:o,showFilterButton:s,highlightFirstColumn:l,highlightLastColumn:c}=a,d=this.getSanitizedTableName(n||e.defaultTableDisplayName),h=this.sheetNames.length-1,{table:u}=t,{rows:g,columns:p}=u,m=i.columnModel.getHeaderRowCount(),f=m-1,v=g.length,y=p.length,b=[],C=[];for(let e=0;e<y;e++){const t=p[e];b.push(t.displayName||""),C.push("match"===s||void 0===s?t.filterAllowed??!1:s)}b&&b.length&&v&&d?this.addTableToSheet(h,{name:this.getTableNameFromIndex(h),displayName:d,columns:b,showFilterButtons:C,headerRowIndex:f,rowCount:v-m,showRowStripes:o??!0,showColumnStripes:r??!1,highlightFirstColumn:l??!1,highlightLastColumn:c??!1}):(0,M._warnOnce)("Unable to add data table to Excel sheet: Missing required parameters.")}static addHeaderFooterImageToMap(e,t){const i=this.sheetNames.length-1,a=e;a.headerFooterPosition=t,this.buildImageMap({imageToAdd:a,idx:i});let n=this.worksheetHeaderFooterImages.get(i);n||(n=[],this.worksheetHeaderFooterImages.set(i,n)),n.find((t=>t.id===e.id))||n.push(e)}static addBodyImageToMap(e,t,i,a,n){const r=this.sheetNames.length,{row:o,column:s}=e.position||{},l=e;a&&(null==t||null==i||o&&s||(e.position||(e.position={}),e.position=Object.assign({},e.position,{row:t,column:a.indexOf(i)+1})),((e,t)=>{const{colSpan:i,column:a}=e.position;if(e.width)if(i){const n=t.slice(a-1,a+i-1);let r=0;for(let t=0;t<n.length;t++){const i=n[t].getActualWidth();if(e.width<r+i){e.position.colSpan=t+1,e.totalWidth=e.width,e.width=e.totalWidth-r;break}r+=i}}else e.totalWidth=e.width})(l,a),((e,t)=>{const{rowSpan:i,row:a}=e.position;var n;if(e.height)if(i){let r=0,o=0;for(let s=a;s<a+i;s++){const i=(n=C(s,t)||20,Math.round(96*n/72));if(e.height<r+i){e.position.rowSpan=o+1,e.totalHeight=e.height,e.height=e.totalHeight-r;break}r+=i,o++}}else e.totalHeight=e.height})(l,n)),this.buildImageMap({imageToAdd:l,idx:r});let c=this.worksheetImageIds.get(r);c||(c=new Map,this.worksheetImageIds.set(r,c));const d=this.worksheetImages.get(r);d?d.push(l):this.worksheetImages.set(r,[l]),c.get(e.id)||c.set(e.id,{index:c.size,type:e.imageType})}static buildImageMap(e){const{imageToAdd:t,idx:i}=e,a=this.images.get(t.id);if(a){const e=a.find((e=>e.sheetId===i));e?e.image.push(t):a.push({sheetId:i,image:[t]})}else this.images.set(t.id,[{sheetId:i,image:[t]}]),this.workbookImageIds.set(t.id,{type:t.imageType,index:this.workbookImageIds.size})}static addSheetName(e){const t=(0,M._escapeString)(e.name)||"";let i="";for(;-1!==this.sheetNames.indexOf(`${t}${i}`);)if(""===i)i="_1";else{const e=parseInt(i.slice(1),10);i=`_${e+1}`}e.name=`${t}${i}`,this.sheetNames.push(e.name)}static getStringPosition(e){return this.sharedStrings.has(e)?this.sharedStrings.get(e):(this.sharedStrings.set(e,this.sharedStrings.size),this.sharedStrings.size-1)}static resetFactory(){this.sharedStrings=new Map,this.images=new Map,this.worksheetImages=new Map,this.worksheetHeaderFooterImages=new Map,this.workbookImageIds=new Map,this.worksheetImageIds=new Map,this.worksheetDataTables=new Map,this.sheetNames=[],this.factoryMode=M.ExcelFactoryMode.SINGLE_SHEET}static createWorkbook(){return w($e.getTemplate(this.sheetNames))}static createStylesheet(e){return w(Ae.getTemplate(e))}static createSharedStrings(){return w(B.getTemplate(this.sharedStrings))}static createCore(e){return w(A.getTemplate(e))}static createContentTypes(e){return w(D.getTemplate(e))}static createRels(){const e=G.getTemplate([{Id:"rId1",Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",Target:"xl/workbook.xml"},{Id:"rId2",Type:"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",Target:"docProps/core.xml"}]);return w(e)}static createTheme(){return w(We.getTemplate())}static createTable(e,t){return w(Ee.getTemplate(e,t))}static createWorkbookRels(e){const t=new Array(e).fill(void 0).map(((e,t)=>({Id:`rId${t+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet",Target:`worksheets/sheet${t+1}.xml`}))),i=G.getTemplate([...t,{Id:`rId${e+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",Target:"theme/theme1.xml"},{Id:`rId${e+2}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",Target:"styles.xml"},{Id:`rId${e+3}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings",Target:"sharedStrings.xml"}]);return w(i)}static createDrawing(e){return w(O.getTemplate({sheetIndex:e}))}static createDrawingRel(e){const t=this.worksheetImageIds.get(e)||[],i=[];for(const[e,a]of t)i.push({Id:`rId${a.index+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",Target:`../media/image${this.workbookImageIds.get(e).index+1}.${a.type}`});return w(G.getTemplate(i))}static createVmlDrawing(e){return w(Ke.getTemplate({sheetIndex:e}),!0)}static createVmlDrawingRel(e){const t=this.worksheetHeaderFooterImages.get(e)||[],i=[];for(let e=0;e<t.length;e++){const a=t[e],n=this.workbookImageIds.get(a.id);if(!n)continue;const{index:r,type:o}=n,s="jpg"===o?"jpeg":o;i.push({Id:`rId${e+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",Target:`../media/image${r+1}.${s}`})}return w(G.getTemplate(i))}static createRelationships({drawingIndex:e,vmlDrawingIndex:t,tableIndex:i}={}){if(void 0===e&&void 0===t&&void 0===i)return"";const a=[];null!=e&&a.push({Id:`rId${a.length+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",Target:`../drawings/drawing${e+1}.xml`}),null!=t&&a.push({Id:`rId${a.length+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing",Target:`../drawings/vmlDrawing${t+1}.vml`}),null!=i&&a.push({Id:`rId${a.length+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/table",Target:`../tables/${this.getTableNameFromIndex(i)}.xml`});const n=G.getTemplate(a);return w(n)}static createWorksheet(e,t){return w(ot.getTemplate({worksheet:e,currentSheet:this.sheetNames.length-1,config:t}))}};st.sharedStrings=new Map,st.sheetNames=[],st.images=new Map,st.worksheetImages=new Map,st.worksheetHeaderFooterImages=new Map,st.workbookImageIds=new Map,st.worksheetImageIds=new Map,st.worksheetDataTables=new Map,st.defaultTableDisplayName="AG-GRID-TABLE",st.factoryMode=M.ExcelFactoryMode.SINGLE_SHEET;var lt=st,ct=class extends m.BaseGridSerializingSession{constructor(e){super(e),this.mixedStyles={},this.mixedStyleCounter=0,this.rows=[],this.config=Object.assign({},e),this.stylesByIds={},this.config.baseExcelStyles.forEach((e=>{this.stylesByIds[e.id]=e})),this.excelStyles=[...this.config.baseExcelStyles,{id:"_quotePrefix",quotePrefix:1}]}addCustomContent(e){e.forEach((e=>{const t=this.rows.length+1;let i;this.config.suppressRowOutline||null==e.outlineLevel||(i=e.outlineLevel);const a={height:C(t,e.height||this.config.rowHeight),cells:(e.cells||[]).map(((e,i)=>{const a=this.addImage(t,this.columnsToExport[i],e.data?.value);let n=null;e.styleId&&(n="string"==typeof e.styleId?[e.styleId]:e.styleId);const r=this.getStyleId(n);if(a)return this.createCell(r,this.getDataTypeForValue(a.value),null==a.value?"":a.value);const o=e.data?.value??"",s=this.getDataTypeForValue(o);return e.mergeAcross?this.createMergedCell(r,s,o,e.mergeAcross):this.createCell(r,s,o)})),outlineLevel:i};null!=e.collapsed&&(a.collapsed=e.collapsed),null!=e.hidden&&(a.hidden=e.hidden),this.rows.push(a)}))}onNewHeaderGroupingRow(){const e=[];return this.rows.push({cells:e,height:C(this.rows.length+1,this.config.headerRowHeight)}),{onColumn:(t,i,a,n,r)=>{const o=this.config.styleLinker({rowType:m.RowType.HEADER_GROUPING,rowIndex:1,value:`grouping-${i}`,columnGroup:t});e.push({...this.createMergedCell(this.getStyleId(o),this.getDataTypeForValue("string"),i,n),collapsibleRanges:r})}}}onNewHeaderRow(){return this.onNewRow(this.onNewHeaderColumn,this.config.headerRowHeight)}onNewBodyRow(e){const t=this.onNewRow(this.onNewBodyColumn,this.config.rowHeight);return e&&this.addRowOutlineIfNecessary(e),t}prepare(e){super.prepare(e),this.columnsToExport=[...e],this.cols=e.map(((e,t)=>this.convertColumnToExcel(e,t)))}parse(){const e=this.rows.reduce(((e,t)=>Math.max(e,t.cells.length)),0);for(;this.cols.length<e;)this.cols.push(this.convertColumnToExcel(null,this.cols.length+1));const t={name:this.config.sheetName,table:{columns:this.cols,rows:this.rows}};return this.createExcel(t)}addRowOutlineIfNecessary(e){const{gos:t,suppressRowOutline:i,rowGroupExpandState:a="expanded"}=this.config;if(t.get("groupHideOpenParents")||i||null==e.level)return;const n=e.footer?1:0,r=(0,p._last)(this.rows);if(r.outlineLevel=e.level+n,"expanded"===a)return;const o="collapsed"===a;if(e.isExpandable()){const t=!o&&e.expanded;r.collapsed=!t}r.hidden=!!e.parent&&-1!==e.parent.level&&(o||this.isAnyParentCollapsed(e.parent))}isAnyParentCollapsed(e){for(;e&&-1!==e.level;){if(!e.expanded)return!0;e=e.parent}return!1}convertColumnToExcel(e,t){const i=this.config.columnWidth,a=(e?this.extractHeaderValue(e):void 0)??"",n=!!e&&e.isFilterAllowed();if(i)return"number"==typeof i?{width:i,displayName:a,filterAllowed:n}:{width:i({column:e,index:t}),displayName:a,filterAllowed:n};if(e){const t=75;return{width:Math.max(e.getActualWidth(),t),displayName:a,filterAllowed:n}}return{displayName:a,filterAllowed:n}}onNewHeaderColumn(e,t){return i=>{const a=this.extractHeaderValue(i),n=this.config.styleLinker({rowType:m.RowType.HEADER,rowIndex:e,value:a,column:i});t.push(this.createCell(this.getStyleId(n),this.getDataTypeForValue("string"),a))}}onNewBodyColumn(e,t){let i=0;return(a,n,r)=>{if(i>0)return void(i-=1);const{value:o,valueFormatted:s}=this.extractRowCellValue(a,n,e,"excel",r),l=this.config.styleLinker({rowType:m.RowType.BODY,rowIndex:e,value:o,column:a,node:r}),c=this.getStyleId(l),d=a.getColSpan(r),h=this.addImage(e,a,o);h?t.push(this.createCell(c,this.getDataTypeForValue(h.value),null==h.value?"":h.value)):d>1?(i=d-1,t.push(this.createMergedCell(c,this.getDataTypeForValue(o),o,d-1))):t.push(this.createCell(c,this.getDataTypeForValue(o),o,s))}}onNewRow(e,t){const i=[];return this.rows.push({cells:i,height:C(this.rows.length+1,t)}),{onColumn:e.bind(this,this.rows.length,i)()}}createExcel(e){const{excelStyles:t,config:i}=this;return lt.createExcel(t,e,i)}getDataTypeForValue(e){return void 0===e?"empty":this.isNumerical(e)?"n":"s"}getTypeFromStyle(e,t){if(this.isFormula(t))return"f";if(e&&e.dataType)switch(e.dataType.toLocaleLowerCase()){case"formula":return"f";case"string":return"s";case"number":return"n";case"datetime":return"d";case"error":return"e";case"boolean":return"b";default:(0,p._warnOnce)(`Unrecognized data type for excel export [${e.id}.dataType=${e.dataType}]`)}return null}addImage(e,t,i){if(!this.config.addImageToCell)return;const a=this.config.addImageToCell(e,t,i);return a?(lt.addBodyImageToMap(a.image,e,t,this.columnsToExport,this.config.rowHeight),a):void 0}createCell(e,t,i,a){const n=this.getStyleById(e);!n?.dataType&&"s"===t&&a&&(i=a);const r=this.getTypeFromStyle(n,i)||t,{value:o,escaped:s}=this.getCellValue(r,i),l=[];return n&&l.push(e),s&&l.push("_quotePrefix"),{styleId:e=this.getStyleId(l)||void 0,data:{type:r,value:o}}}createMergedCell(e,t,i,a){const n=null==i?"":i;return{styleId:this.getStyleById(e)?e:void 0,data:{type:t,value:"s"===t?lt.getStringPosition(n).toString():i},mergeAcross:a}}getCellValue(e,t){let i=!1;if(null==t||"s"===e&&""===t)return{value:"",escaped:!1};if("s"===e)t&&"'"===t[0]&&(i=!0,t=t.slice(1)),t=lt.getStringPosition(t).toString();else if("f"===e)t=t.slice(1);else if("n"===e){const e=Number(t);isNaN(e)?t="":""!==t&&(t=e.toString())}return{value:t,escaped:i}}getStyleId(e){if(!e||!e.length)return null;if(1===e.length)return e[0];const t=e.join("-");return this.mixedStyles[t]||this.addNewMixedStyle(e),this.mixedStyles[t].excelID}deepCloneObject(e){return JSON.parse(JSON.stringify(e))}addNewMixedStyle(e){this.mixedStyleCounter+=1;const t=`mixedStyle${this.mixedStyleCounter}`,i={};for(const t of e)for(const e of this.excelStyles)e.id===t&&(0,p._mergeDeep)(i,this.deepCloneObject(e));i.id=t,i.name=t;const a=e.join("-");this.mixedStyles[a]={excelID:t,key:a,result:i},this.excelStyles.push(i),this.stylesByIds[t]=i}isFormula(e){return null!=e&&(this.config.autoConvertFormulas&&e.toString().startsWith("="))}isNumerical(e){return"bigint"==typeof e||isFinite(e)&&""!==e&&!isNaN(parseFloat(e))}getStyleById(e){return null==e?null:this.stylesByIds[e]||null}},dt=(e,t)=>{const i="xl/drawings",a=`${i}/drawing${t+1}.xml`,n=`${i}/_rels/drawing${t+1}.xml.rels`;g.ZipContainer.addFile(n,lt.createDrawingRel(e)),g.ZipContainer.addFile(a,lt.createDrawing(e))},ht=(e,t)=>{const i="xl/drawings",a=`${i}/vmlDrawing${t+1}.vml`,n=`${i}/_rels/vmlDrawing${t+1}.vml.rels`;g.ZipContainer.addFile(a,lt.createVmlDrawing(e)),g.ZipContainer.addFile(n,lt.createVmlDrawingRel(e))},ut=(e,t={})=>{if(!e||0===e.length)return(0,u._warnOnce)("Invalid params supplied to createExcelFileForExcel() - `ExcelExportParams.data` is empty."),lt.resetFactory(),!1;const{fontSize:i=11,author:a="AG Grid"}=t;return(()=>{g.ZipContainer.addFolders(["_rels/","docProps/","xl/","xl/theme/","xl/_rels/","xl/worksheets/"]);const{images:e}=lt;if(!e.size)return;g.ZipContainer.addFolders(["xl/worksheets/_rels","xl/drawings/","xl/drawings/_rels","xl/media/"]);let t=0;e.forEach((e=>{const i=e[0].image[0],{base64:a,imageType:n}=i,r="jpg"===n?"jpeg":n;g.ZipContainer.addFile(`xl/media/image${++t}.${r}`,a,!0)}))})(),(()=>{const{worksheetDataTables:e}=lt,t=e,i=Array.from(t.keys());for(let e=0;e<i.length;e++){const a=i[e],n=t.get(a);n&&g.ZipContainer.addFile(`xl/tables/${n.name}.xml`,lt.createTable(n,e))}})(),(e=>{let t=0,i=0,a=0;const{images:n,worksheetDataTables:r,worksheetImages:o,worksheetHeaderFooterImages:s}=lt;for(let l=0;l<e.length;l++){const c=e[l];g.ZipContainer.addFile(`xl/worksheets/sheet${l+1}.xml`,c,!1);const d=n.size>0&&o.has(l),h=r.size>0&&r.has(l),u=n.size&&s.has(l);if(!d&&!h&&!u)continue;let p,m,f;d&&(dt(l,t),m=t,t++),u&&(ht(l,i),f=i,i++),h&&(p=a++);const v=`xl/worksheets/_rels/sheet${l+1}.xml.rels`;g.ZipContainer.addFile(v,lt.createRelationships({tableIndex:p,drawingIndex:m,vmlDrawingIndex:f}))}})(e),((e,t,i)=>{g.ZipContainer.addFile("xl/workbook.xml",lt.createWorkbook()),g.ZipContainer.addFile("xl/styles.xml",lt.createStylesheet(e)),g.ZipContainer.addFile("xl/sharedStrings.xml",lt.createSharedStrings()),g.ZipContainer.addFile("xl/theme/theme1.xml",lt.createTheme()),g.ZipContainer.addFile("xl/_rels/workbook.xml.rels",lt.createWorkbookRels(i)),g.ZipContainer.addFile("docProps/core.xml",lt.createCore(t)),g.ZipContainer.addFile("[Content_Types].xml",lt.createContentTypes(i)),g.ZipContainer.addFile("_rels/.rels",lt.createRels())})(i,a,e.length),lt.resetFactory(),!0},gt=e=>{const{data:t,fontSize:i,author:a}=e,n=e.mimeType||"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";return ut(t,{author:a,fontSize:i})?g.ZipContainer.getZipFile(n):Promise.resolve(void 0)},pt=e=>{const{data:t,fontSize:i,author:a}=e,n=e.mimeType||"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";if(ut(t,{author:a,fontSize:i}))return g.ZipContainer.getUncompressedZipFile(n)},mt=e=>{const{fileName:t="export.xlsx"}=e;gt(e).then((e=>{if(e){const i="function"==typeof t?t():t;g.Downloader.download(i,e)}}))},ft=class extends g.BaseCreator{constructor(){super(...arguments),this.beanName="excelCreator"}wireBeans(e){this.columnModel=e.columnModel,this.columnNameService=e.columnNameService,this.funcColsService=e.funcColsService,this.valueService=e.valueService,this.stylingService=e.stylingService,this.gridSerializer=e.gridSerializer,this.gos=e.gos}postConstruct(){this.setBeans({gridSerializer:this.gridSerializer,gos:this.gos})}getMergedParams(e){const t=this.gos.get("defaultExcelExportParams");return Object.assign({},t,e)}export(e){if(this.isExportSuppressed())return void(0,u._warnOnce)("Export cancelled. Export is not allowed as per your configuration.");const t=this.getMergedParams(e),i={data:[this.getData(t)],fontSize:t.fontSize,author:t.author,mimeType:t.mimeType};this.packageCompressedFile(i).then((e=>{if(e){const{fileName:i}=t,a="function"==typeof i?i(this.gos.getGridCommonParams()):i;g.Downloader.download(this.getFileName(a),e)}}))}exportDataAsExcel(e){this.export(e)}getDataAsExcel(e){const t=this.getMergedParams(e),i={data:[this.getData(t)],fontSize:t.fontSize,author:t.author,mimeType:t.mimeType};return this.packageFile(i)}setFactoryMode(e){lt.factoryMode=e}getFactoryMode(){return lt.factoryMode}getSheetDataForExcel(e){const t=this.getMergedParams(e);return this.getData(t)}getMultipleSheetsAsExcel(e){return pt(e)}exportMultipleSheetsAsExcel(e){mt(e)}getDefaultFileExtension(){return"xlsx"}createSerializingSession(e){const{columnModel:t,columnNameService:i,funcColsService:a,valueService:n,gos:r}=this;let o;if(null!=e.sheetName){const{sheetName:t}=e,i="function"==typeof t?t(this.gos.getGridCommonParams()):t;o=String(i).substring(0,31)}else o="ag-grid";const s={...e,sheetName:o,columnModel:t,columnNameService:i,funcColsService:a,valueService:n,gos:r,suppressRowOutline:e.suppressRowOutline||e.skipRowGroups,headerRowHeight:e.headerRowHeight||e.rowHeight,baseExcelStyles:this.gos.get("excelStyles")||[],styleLinker:this.styleLinker.bind(this)};return new ct(s)}styleLinker(e){const{rowType:t,rowIndex:i,value:a,column:n,columnGroup:r,node:o}=e,s=t===g.RowType.HEADER,l=t===g.RowType.HEADER_GROUPING,c=s?n:r;let d=[];if(s||l)return d.push("header"),l&&d.push("headerGroup"),c&&(d=d.concat((0,u._getHeaderClassesFromColDef)(c.getDefinition(),this.gos,n||null,r||null))),d;const h=this.gos.get("excelStyles"),p=["cell"];if(!h||!h.length)return p;const m=h.map((e=>e.id)),f=n.getDefinition();return this.stylingService.processAllCellClasses(f,this.gos.addGridCommonParams({value:a,data:o.data,node:o,colDef:f,column:n,rowIndex:i}),(e=>{m.indexOf(e)>-1&&p.push(e)})),p.sort(((e,t)=>m.indexOf(e)<m.indexOf(t)?-1:1))}isExportSuppressed(){return this.gos.get("suppressExcelExport")}packageCompressedFile(e){return gt(e)}packageFile(e){return pt(e)}},vt=i(3423);function yt(e){return e.excelCreator?.getFactoryMode()!==vt.ExcelFactoryMode.MULTI_SHEET||((0,vt._warnOnce)("The Excel Exporter is currently on Multi Sheet mode. End that operation by calling 'api.getMultipleSheetAsExcel()' or 'api.exportMultipleSheetsAsExcel()'"),!1)}var bt="32.0.2",Ct={version:bt,moduleName:`${c.ModuleNames.ExcelExportModule}-core`,beans:[ft],dependantModules:[d._CsvExportCoreModule,h.EnterpriseCoreModule]},wt={version:bt,moduleName:`${c.ModuleNames.ExcelExportModule}-api`,apiFunctions:{getDataAsExcel:function(e,t){if(yt(e))return e.excelCreator?.getDataAsExcel(t)},exportDataAsExcel:function(e,t){yt(e)&&e.excelCreator?.exportDataAsExcel(t)},getSheetDataForExcel:function(e,t){return e.excelCreator?.setFactoryMode(vt.ExcelFactoryMode.MULTI_SHEET),e.excelCreator?.getSheetDataForExcel(t)},getMultipleSheetsAsExcel:function(e,t){return e.excelCreator?.getMultipleSheetsAsExcel(t)},exportMultipleSheetsAsExcel:function(e,t){e.excelCreator?.exportMultipleSheetsAsExcel(t)}},dependantModules:[Ct]},St={version:bt,moduleName:c.ModuleNames.ExcelExportModule,dependantModules:[Ct,wt]}},746:function(e,t,i){var a,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,l={};((e,t)=>{for(var i in t)n(e,i,{get:t[i],enumerable:!0})})(l,{FiltersToolPanelModule:()=>k}),e.exports=(a=l,((e,t,i,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of o(t))s.call(e,l)||l===i||n(e,l,{get:()=>t[l],enumerable:!(a=r(t,l))||a.enumerable});return e})(n({},"__esModule",{value:!0}),a));var c=i(3423),d=i(8299),h=i(3691),u=i(3423),g=i(3423),p=class extends g.Component{constructor(){super(...arguments),this.eExpand=g.RefPlaceholder,this.eFilterTextField=g.RefPlaceholder}wireBeans(e){this.columnModel=e.columnModel}postConstruct(){this.setTemplate('<div class="ag-filter-toolpanel-search" role="presentation">\n <div data-ref="eExpand" class="ag-filter-toolpanel-expand"></div>\n <ag-input-text-field data-ref="eFilterTextField" class="ag-filter-toolpanel-search-input"></ag-input-text-field>\n </div>',[g.AgInputTextFieldSelector]);const e=this.localeService.getLocaleTextFunc();this.eFilterTextField.setAutoComplete(!1).setInputAriaLabel(e("ariaFilterColumnsInput","Filter Columns Input")).onValueChange(this.onSearchTextChanged.bind(this)),this.createExpandIcons(),this.setExpandState(0),this.addManagedElementListeners(this.eExpand,{click:this.onExpandClicked.bind(this)}),this.addManagedEventListeners({newColumnsLoaded:this.showOrHideOptions.bind(this)})}init(e){this.params=e,this.columnModel.isReady()&&this.showOrHideOptions()}createExpandIcons(){this.eExpand.appendChild(this.eExpandChecked=(0,g._createIconNoSpan)("columnSelectOpen",this.gos)),this.eExpand.appendChild(this.eExpandUnchecked=(0,g._createIconNoSpan)("columnSelectClosed",this.gos)),this.eExpand.appendChild(this.eExpandIndeterminate=(0,g._createIconNoSpan)("columnSelectIndeterminate",this.gos))}showOrHideOptions(){const e=!this.params.suppressFilterSearch,t=!this.params.suppressExpandAll,i=this.localeService.getLocaleTextFunc();this.eFilterTextField.setInputPlaceholder(i("searchOoo","Search..."));const a=this.columnModel.getCols().some((e=>e.getOriginalParent()&&e.isFilterAllowed()));(0,g._setDisplayed)(this.eFilterTextField.getGui(),e),(0,g._setDisplayed)(this.eExpand,t&&a)}onSearchTextChanged(){this.onSearchTextChangedDebounced||(this.onSearchTextChangedDebounced=(0,g._debounce)((()=>{this.dispatchLocalEvent({type:"searchChanged",searchText:this.eFilterTextField.getValue()})}),300)),this.onSearchTextChangedDebounced()}onExpandClicked(){const e=0===this.currentExpandState?{type:"collapseAll"}:{type:"expandAll"};this.dispatchLocalEvent(e)}setExpandState(e){this.currentExpandState=e,(0,g._setDisplayed)(this.eExpandChecked,0===this.currentExpandState),(0,g._setDisplayed)(this.eExpandUnchecked,1===this.currentExpandState),(0,g._setDisplayed)(this.eExpandIndeterminate,2===this.currentExpandState)}},m={selector:"AG-FILTERS-TOOL-PANEL-HEADER",component:p},f=i(3423),v=i(3423),y=class extends v.Component{constructor(e,t){super('\n <div class="ag-filter-toolpanel-instance">\n <div class="ag-filter-toolpanel-header ag-filter-toolpanel-instance-header" data-ref="eFilterToolPanelHeader" role="button" aria-expanded="false">\n <div data-ref="eExpand" class="ag-filter-toolpanel-expand"></div>\n <span data-ref="eFilterName" class="ag-header-cell-text"></span>\n <span data-ref="eFilterIcon" class="ag-header-icon ag-filter-icon ag-filter-toolpanel-instance-header-icon" aria-hidden="true"></span>\n </div>\n <div class="ag-filter-toolpanel-instance-body ag-filter" data-ref="agFilterToolPanelBody"></div>\n </div>'),this.expandedCallback=t,this.eFilterToolPanelHeader=v.RefPlaceholder,this.eFilterName=v.RefPlaceholder,this.agFilterToolPanelBody=v.RefPlaceholder,this.eFilterIcon=v.RefPlaceholder,this.eExpand=v.RefPlaceholder,this.expanded=!1,this.hideHeader=e}wireBeans(e){this.filterManager=e.filterManager,this.columnNameService=e.columnNameService}postConstruct(){this.eExpandChecked=(0,v._createIconNoSpan)("columnSelectOpen",this.gos),this.eExpandUnchecked=(0,v._createIconNoSpan)("columnSelectClosed",this.gos),this.eExpand.appendChild(this.eExpandChecked),this.eExpand.appendChild(this.eExpandUnchecked)}setColumn(e){this.column=e,this.eFilterName.innerText=this.columnNameService.getDisplayNameForColumn(this.column,"filterToolPanel",!1)||"",this.addManagedListeners(this.eFilterToolPanelHeader,{click:this.toggleExpanded.bind(this),keydown:this.onKeyDown.bind(this)}),this.addManagedEventListeners({filterOpened:this.onFilterOpened.bind(this)}),this.addInIcon("filter",this.eFilterIcon,this.column),(0,v._setDisplayed)(this.eFilterIcon,this.isFilterActive(),{skipAriaHidden:!0}),(0,v._setDisplayed)(this.eExpandChecked,!1),this.hideHeader?((0,v._setDisplayed)(this.eFilterToolPanelHeader,!1),this.eFilterToolPanelHeader.removeAttribute("tabindex")):this.eFilterToolPanelHeader.setAttribute("tabindex","0"),this.addManagedListeners(this.column,{filterChanged:this.onFilterChanged.bind(this)})}onKeyDown(e){const{key:t}=e,{ENTER:i,SPACE:a,LEFT:n,RIGHT:r}=v.KeyCode;t!==i&&t!==a&&t!==n&&t!==r||(e.preventDefault(),t===i||t===a?this.toggleExpanded():t===v.KeyCode.LEFT?this.collapse():this.expand())}getColumn(){return this.column}getColumnFilterName(){return this.columnNameService.getDisplayNameForColumn(this.column,"filterToolPanel",!1)}addCssClassToTitleBar(e){this.eFilterToolPanelHeader.classList.add(e)}addInIcon(e,t,i){if(null==t)return;const a=(0,v._createIconNoSpan)(e,this.gos,i);t.appendChild(a)}isFilterActive(){return!!this.filterManager?.isFilterActive(this.column)}onFilterChanged(){(0,v._setDisplayed)(this.eFilterIcon,this.isFilterActive(),{skipAriaHidden:!0}),this.dispatchLocalEvent({type:"filterChanged"})}toggleExpanded(){this.expanded?this.collapse():this.expand()}expand(){this.expanded||(this.expanded=!0,(0,v._setAriaExpanded)(this.eFilterToolPanelHeader,!0),(0,v._setDisplayed)(this.eExpandChecked,!0),(0,v._setDisplayed)(this.eExpandUnchecked,!1),this.addFilterElement(),this.expandedCallback())}addFilterElement(e){const t=(0,v._loadTemplate)('<div class="ag-filter-toolpanel-instance-filter"></div>'),i=this.createManagedBean(new v.FilterWrapperComp(this.column,"TOOLBAR"));this.filterWrapperComp=i,i.hasFilter()&&i.getFilter()?.then((a=>{this.underlyingFilter=a,a&&(t.appendChild(i.getGui()),this.agFilterToolPanelBody.appendChild(t),i.afterGuiAttached({container:"toolPanel",suppressFocus:e}))}))}collapse(){this.expanded&&(this.expanded=!1,(0,v._setAriaExpanded)(this.eFilterToolPanelHeader,!1),this.removeFilterElement(),(0,v._setDisplayed)(this.eExpandChecked,!1),(0,v._setDisplayed)(this.eExpandUnchecked,!0),this.filterWrapperComp?.afterGuiDetached(),this.destroyBean(this.filterWrapperComp),this.expandedCallback())}removeFilterElement(){(0,v._clearElement)(this.agFilterToolPanelBody)}isExpanded(){return this.expanded}refreshFilter(e){if(!this.expanded)return;const t=this.underlyingFilter;t&&(e?"function"==typeof t.refreshVirtualList&&t.refreshVirtualList():t.afterGuiDetached?.())}onFilterOpened(e){"COLUMN_MENU"===e.source&&e.column===this.column&&this.expanded&&this.collapse()}},b=i(3423),C=i(8299),w=class e extends b.Component{constructor(e,t,i,a,n){super(),this.filterGroupComp=b.RefPlaceholder,this.columnGroup=e,this.childFilterComps=t,this.depth=a,this.expandedCallback=i,this.showingColumn=n}wireBeans(e){this.columnNameService=e.columnNameService}postConstruct(){this.setTemplate('<div class="ag-filter-toolpanel-group-wrapper">\n <ag-group-component data-ref="filterGroupComp"></ag-group-component>\n </div>',[C.AgGroupComponentSelector],{filterGroupComp:{cssIdentifier:"filter-toolpanel",direction:"vertical"}}),this.setGroupTitle(),this.filterGroupComp.setAlignItems("stretch"),this.filterGroupComp.addCssClass(`ag-filter-toolpanel-group-level-${this.depth}`),this.filterGroupComp.getGui().style.setProperty("--ag-indentation-level",String(this.depth)),this.filterGroupComp.addCssClassToTitleBar(`ag-filter-toolpanel-group-level-${this.depth}-header`),this.childFilterComps.forEach((e=>{this.filterGroupComp.addItem(e),e.addCssClassToTitleBar(`ag-filter-toolpanel-group-level-${this.depth+1}-header`),e.getGui().style.setProperty("--ag-indentation-level",String(this.depth+1))})),this.refreshFilterClass(),this.addExpandCollapseListeners(),this.addFilterChangedListeners(),this.setupTooltip(),this.addInIcon("filter")}setupTooltip(){if(!this.showingColumn)return;let e;"whenTruncated"===this.gos.get("tooltipShowMode")&&(e=()=>{const e=this.filterGroupComp.getGui().querySelector(".ag-group-title");return!e||e.scrollWidth>e.clientWidth});const t=()=>{const t=this.columnGroup.getColDef().headerTooltip;this.setTooltip({newTooltipText:t,location:"filterToolPanelColumnGroup",shouldDisplayTooltip:e})};t(),this.addManagedEventListeners({newColumnsLoaded:t})}getTooltipParams(){const e=super.getTooltipParams();return e.location="filterToolPanelColumnGroup",e}addCssClassToTitleBar(e){this.filterGroupComp.addCssClassToTitleBar(e)}refreshFilters(t){this.childFilterComps.forEach((i=>{i instanceof e?i.refreshFilters(t):i.refreshFilter(t)}))}isColumnGroup(){return(0,b.isProvidedColumnGroup)(this.columnGroup)}isExpanded(){return this.filterGroupComp.isExpanded()}getChildren(){return this.childFilterComps}getFilterGroupName(){return this.filterGroupName?this.filterGroupName:""}getFilterGroupId(){return this.columnGroup.getId()}hideGroupItem(e,t){this.filterGroupComp.hideItem(e,t)}hideGroup(e){this.setDisplayed(!e)}addInIcon(e){const t=(0,b._createIconNoSpan)(e,this.gos);t&&t.classList.add("ag-filter-toolpanel-group-instance-header-icon"),this.filterGroupComp.addTitleBarWidget(t)}forEachToolPanelFilterChild(e){this.childFilterComps.forEach((t=>{t instanceof y&&e(t)}))}addExpandCollapseListeners(){const e=this.isColumnGroup()?()=>this.expandedCallback():()=>this.forEachToolPanelFilterChild((e=>e.expand())),t=this.isColumnGroup()?()=>this.expandedCallback():()=>this.forEachToolPanelFilterChild((e=>e.collapse()));this.addManagedListeners(this.filterGroupComp,{expanded:e,collapsed:t})}getColumns(){return(0,b.isProvidedColumnGroup)(this.columnGroup)?this.columnGroup.getLeafColumns():[this.columnGroup]}addFilterChangedListeners(){this.getColumns().forEach((e=>{this.addManagedListeners(e,{filterChanged:()=>this.refreshFilterClass()})})),(0,b.isProvidedColumnGroup)(this.columnGroup)||this.addManagedEventListeners({filterOpened:this.onFilterOpened.bind(this)})}refreshFilterClass(){const e=this.getColumns();this.filterGroupComp.addOrRemoveCssClass("ag-has-filter",e.some((e=>e.isFilterActive())))}onFilterOpened(e){"COLUMN_MENU"===e.source&&e.column===this.columnGroup&&this.isExpanded()&&this.collapse()}expand(){this.filterGroupComp.toggleGroupExpand(!0)}collapse(){this.filterGroupComp.toggleGroupExpand(!1)}setGroupTitle(){this.filterGroupName=(0,b.isProvidedColumnGroup)(this.columnGroup)?this.getColumnGroupName(this.columnGroup):this.getColumnName(this.columnGroup),this.filterGroupComp.setTitle(this.filterGroupName||"")}getColumnGroupName(e){return this.columnNameService.getDisplayNameForProvidedColumnGroup(null,e,"filterToolPanel")}getColumnName(e){return this.columnNameService.getDisplayNameForColumn(e,"filterToolPanel",!1)}destroyFilters(){this.childFilterComps=this.destroyBeans(this.childFilterComps),(0,b._clearElement)(this.getGui())}destroy(){this.destroyFilters(),super.destroy()}},S={selector:"AG-FILTERS-TOOL-PANEL-LIST",component:class extends f.Component{constructor(){super('<div class="ag-filter-list-panel"></div>'),this.initialised=!1,this.hasLoadedInitialState=!1,this.isInitialState=!1,this.filterGroupComps=[],this.suppressOnColumnsChanged=!1,this.onColumnsChangedPending=!1}wireBeans(e){this.toolPanelColDefService=e.toolPanelColDefService,this.columnModel=e.columnModel}init(e){this.initialised=!0;const t=this.gos.addGridCommonParams({suppressExpandAll:!1,suppressFilterSearch:!1,suppressSyncLayoutWithGrid:!1});(0,f._mergeDeep)(t,e),this.params=t,this.params.suppressSyncLayoutWithGrid||this.addManagedEventListeners({columnMoved:()=>this.onColumnsChanged()}),this.addManagedEventListeners({newColumnsLoaded:()=>this.onColumnsChanged(),toolPanelVisibleChanged:e=>{"filters"===e.key&&this.refreshFilters(e.visible)},dragStarted:()=>{this.suppressOnColumnsChanged=!0},dragStopped:()=>{this.suppressOnColumnsChanged=!1,this.onColumnsChangedPending&&(this.onColumnsChangedPending=!1,this.onColumnsChanged())}}),this.columnModel.isReady()&&this.onColumnsChanged()}onColumnsChanged(){if(this.suppressOnColumnsChanged)return void(this.onColumnsChangedPending=!0);const e=this.columnModel.isPivotMode();!this.params.suppressSyncLayoutWithGrid&&!e?this.syncFilterLayout():this.buildTreeFromProvidedColumnDefs(),this.refreshAriaLabel()}syncFilterLayout(){this.toolPanelColDefService.syncLayoutWithGrid(this.setFiltersLayout.bind(this)),this.refreshAriaLabel()}buildTreeFromProvidedColumnDefs(){const e=this.columnModel.getColDefColTree();this.recreateFilters(e)}setFiltersLayout(e){const t=this.toolPanelColDefService.createColumnTree(e);this.recreateFilters(t)}recreateFilters(e){const t=this.gos.getActiveDomElement();this.hasLoadedInitialState||(this.hasLoadedInitialState=!0,this.isInitialState=!!this.params.initialState);const i=this.getExpansionState();this.destroyFilters(),this.filterGroupComps=this.recursivelyAddComps(e,0,i);const a=this.filterGroupComps.length;a&&(this.filterGroupComps.forEach((e=>this.appendChild(e))),this.setFirstAndLastVisible(0,a-1)),(0,f._exists)(this.searchFilterText)&&this.searchFilters(this.searchFilterText),this.fireExpandedEvent(),this.getGui().contains(t)&&t.focus(),this.isInitialState=!1,this.refreshAriaLabel()}recursivelyAddComps(e,t,i){return(0,f._flatten)(e.map((e=>{if((0,f.isProvidedColumnGroup)(e))return(0,f._flatten)(this.recursivelyAddFilterGroupComps(e,t,i));const a=e;if(!this.shouldDisplayFilter(a))return[];const n=new y(0===t,(()=>this.onFilterExpanded()));if(this.createBean(n),n.setColumn(a),i.get(a.getId())&&n.expand(),t>0)return n;const r=this.createBean(new w(a,[n],this.onGroupExpanded.bind(this),t,!0));return r.addCssClassToTitleBar("ag-filter-toolpanel-header"),i.get(r.getFilterGroupId())||r.collapse(),r})))}refreshAriaLabel(){const e=this.localeService.getLocaleTextFunc(),t=e("ariaFilterPanelList","Filter List"),i=e("filters","Filters"),a=this.getGui().querySelectorAll(".ag-filter-toolpanel-group-item:not(.ag-filter-toolpanel-group-wrapper, .ag-hidden)").length;(0,f._setAriaLabel)(this.getAriaElement(),`${t} ${a} ${i}`)}recursivelyAddFilterGroupComps(e,t,i){if(!this.filtersExistInChildren(e.getChildren()))return;const a=e.getColGroupDef();if(a&&a.suppressFiltersToolPanel)return[];const n=e.isPadding()?t:t+1,r=(0,f._flatten)(this.recursivelyAddComps(e.getChildren(),n,i));if(e.isPadding())return r;const o=new w(e,r,this.onGroupExpanded.bind(this),t,!1);this.createBean(o),o.addCssClassToTitleBar("ag-filter-toolpanel-header");const s=i.get(o.getFilterGroupId());return(this.isInitialState&&!s||!1===s)&&o.collapse(),[o]}filtersExistInChildren(e){return e.some((e=>(0,f.isProvidedColumnGroup)(e)?this.filtersExistInChildren(e.getChildren()):this.shouldDisplayFilter(e)))}shouldDisplayFilter(e){const t=e.getColDef()&&e.getColDef().suppressFiltersToolPanel;return e.isFilterAllowed()&&!t}getExpansionState(){const e=new Map;if(this.isInitialState){const{expandedColIds:t,expandedGroupIds:i}=this.params.initialState;return t.forEach((t=>e.set(t,!0))),i.forEach((t=>e.set(t,!0))),e}const t=i=>{e.set(i.getFilterGroupId(),i.isExpanded()),i.getChildren().forEach((i=>{i instanceof w?t(i):e.set(i.getColumn().getId(),i.isExpanded())}))};return this.filterGroupComps.forEach(t),e}refresh(){}setVisible(e){super.setDisplayed(e),e&&!this.initialised&&this.init(this.params)}expandFilterGroups(e,t){const i=[],a=n=>{const r=n.getFilterGroupId();(!t||(0,f._includes)(t,r))&&(e&&n.isColumnGroup()?n.expand():n.collapse(),i.push(r)),n.getChildren().forEach((e=>{e instanceof w&&a(e)}))};if(this.filterGroupComps.forEach(a),this.onGroupExpanded(),t){const e=t.filter((e=>i.indexOf(e)<0));e.length>0&&(0,f._warnOnce)("unable to find groups for these supplied groupIds:",e)}}expandFilters(e,t){const i=[],a=n=>{if(n instanceof w){let t=!1;return n.getChildren().forEach((i=>{a(i)&&(e?(n.expand(),t=!0):n.isColumnGroup()||n.collapse())})),t}const r=n.getColumn().getColId(),o=!t||(0,f._includes)(t,r);return o&&(e?n.expand():n.collapse(),i.push(r)),o};if(this.filterGroupComps.forEach(a),this.onGroupExpanded(),t){const e=t.filter((e=>i.indexOf(e)<0));e.length>0&&(0,f._warnOnce)("unable to find columns for these supplied colIds:"+e)}}onGroupExpanded(){this.fireExpandedEvent()}onFilterExpanded(){this.dispatchLocalEvent({type:"filterExpanded"})}fireExpandedEvent(){let e=0,t=0;const i=a=>{a.isColumnGroup()&&(a.isExpanded()?e++:t++,a.getChildren().forEach((e=>{e instanceof w&&i(e)})))};let a;this.filterGroupComps.forEach(i),a=e>0&&t>0?2:t>0?1:0,this.dispatchLocalEvent({type:"groupExpanded",state:a})}performFilterSearch(e){this.searchFilterText=(0,f._exists)(e)?e.toLowerCase():null,this.searchFilters(this.searchFilterText)}searchFilters(e){const t=t=>!(0,f._exists)(e)||-1!==t.toLowerCase().indexOf(e),i=(e,a)=>{if(!(e instanceof w))return t(e.getColumnFilterName()||"");const n=e.getChildren(),r=t(e.getFilterGroupName()),o=a||r;if(o){e.hideGroup(!1);for(let t=0;t<n.length;t++)i(n[t],o),e.hideGroupItem(!1,t);return!0}let s=!1;return n.forEach(((t,n)=>{const r=i(t,a);e.hideGroupItem(!r,n),r&&(s=!0)})),e.hideGroup(!s),s};let a,n;this.filterGroupComps.forEach(((e,t)=>{i(e,!1),void 0===a?e.containsCssClass("ag-hidden")||(a=t,n=t):e.containsCssClass("ag-hidden")||n===t||(n=t)})),this.setFirstAndLastVisible(a,n),this.refreshAriaLabel()}setFirstAndLastVisible(e,t){this.filterGroupComps.forEach(((i,a)=>{i.removeCssClass("ag-first-group-visible"),i.removeCssClass("ag-last-group-visible"),a===e&&i.addCssClass("ag-first-group-visible"),a===t&&i.addCssClass("ag-last-group-visible")}))}refreshFilters(e){this.filterGroupComps.forEach((t=>t.refreshFilters(e)))}getExpandedFiltersAndGroups(){const e=[],t=new Set,i=a=>{if(a instanceof w){a.getChildren().forEach((e=>i(e)));const n=a.getFilterGroupId();a.isExpanded()&&!t.has(n)&&e.push(n)}else a.isExpanded()&&t.add(a.getColumn().getColId())};return this.filterGroupComps.forEach(i),{expandedGroupIds:e,expandedColIds:Array.from(t)}}destroyFilters(){this.filterGroupComps=this.destroyBeans(this.filterGroupComps),(0,f._clearElement)(this.getGui())}destroy(){this.destroyFilters(),super.destroy()}}},x=class extends u.Component{constructor(){super('<div class="ag-filter-toolpanel">\n <ag-filters-tool-panel-header data-ref="filtersToolPanelHeaderPanel"></ag-filters-tool-panel-header>\n <ag-filters-tool-panel-list data-ref="filtersToolPanelListPanel"></ag-filters-tool-panel-list>\n </div>',[m,S]),this.filtersToolPanelHeaderPanel=u.RefPlaceholder,this.filtersToolPanelListPanel=u.RefPlaceholder,this.initialised=!1,this.listenerDestroyFuncs=[]}init(e){this.initialised&&(this.listenerDestroyFuncs.forEach((e=>e())),this.listenerDestroyFuncs=[]),this.initialised=!0;const t=this.gos.addGridCommonParams({suppressExpandAll:!1,suppressFilterSearch:!1,suppressSyncLayoutWithGrid:!1});this.params={...t,...e},this.filtersToolPanelHeaderPanel.init(this.params),this.filtersToolPanelListPanel.init(this.params);const i=this.params.suppressExpandAll,a=this.params.suppressFilterSearch;i&&a&&this.filtersToolPanelHeaderPanel.setDisplayed(!1),this.listenerDestroyFuncs.push(...this.addManagedListeners(this.filtersToolPanelHeaderPanel,{expandAll:this.onExpandAll.bind(this),collapseAll:this.onCollapseAll.bind(this),searchChanged:this.onSearchChanged.bind(this)}),...this.addManagedListeners(this.filtersToolPanelListPanel,{filterExpanded:this.onFilterExpanded.bind(this),groupExpanded:this.onGroupExpanded.bind(this)}))}setVisible(e){super.setDisplayed(e),e&&!this.initialised&&this.init(this.params)}onExpandAll(){this.filtersToolPanelListPanel.expandFilterGroups(!0)}onCollapseAll(){this.filtersToolPanelListPanel.expandFilterGroups(!1)}onSearchChanged(e){this.filtersToolPanelListPanel.performFilterSearch(e.searchText)}setFilterLayout(e){this.filtersToolPanelListPanel.setFiltersLayout(e)}onFilterExpanded(){this.params.onStateUpdated()}onGroupExpanded(e){this.filtersToolPanelHeaderPanel.setExpandState(e.state),this.params.onStateUpdated()}expandFilterGroups(e){this.filtersToolPanelListPanel.expandFilterGroups(!0,e)}collapseFilterGroups(e){this.filtersToolPanelListPanel.expandFilterGroups(!1,e)}expandFilters(e){this.filtersToolPanelListPanel.expandFilters(!0,e)}collapseFilters(e){this.filtersToolPanelListPanel.expandFilters(!1,e)}syncLayoutWithGrid(){this.filtersToolPanelListPanel.syncFilterLayout()}refresh(e){return this.init(e),!0}getState(){return this.filtersToolPanelListPanel.getExpandedFiltersAndGroups()}destroy(){super.destroy()}},k={version:"32.0.2",moduleName:c.ModuleNames.FiltersToolPanelModule,beans:[],userComponents:[{name:"agFiltersToolPanel",classImp:x}],dependantModules:[h.SideBarModule,d.EnterpriseCoreModule,c._ColumnFilterModule]}},382:function(e,t,i){var a,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,l={};((e,t)=>{for(var i in t)n(e,i,{get:t[i],enumerable:!0})})(l,{MasterDetailModule:()=>C}),e.exports=(a=l,((e,t,i,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of o(t))s.call(e,l)||l===i||n(e,l,{get:()=>t[l],enumerable:!(a=r(t,l))||a.enumerable});return e})(n({},"__esModule",{value:!0}),a));var c=i(3423),d=i(8299),h=i(3423),u=i(3423),g=class extends u.BeanStub{constructor(){super(...arguments),this.loadRowDataVersion=0}wireBeans(e){this.focusService=e.focusService,this.rowPositionUtils=e.rowPositionUtils,this.environment=e.environment}init(e,t){this.params=t,this.comp=e;null!=t.pinned||(this.setAutoHeightClasses(),this.setupRefreshStrategy(),this.addThemeToDetailGrid(),this.createDetailGrid(),this.loadRowData(),this.addManagedEventListeners({fullWidthRowFocused:this.onFullWidthRowFocused.bind(this)}))}onFullWidthRowFocused(e){const t=this.params,i={rowIndex:t.node.rowIndex,rowPinned:t.node.rowPinned},a={rowIndex:e.rowIndex,rowPinned:e.rowPinned};this.rowPositionUtils.sameRow(i,a)&&this.focusService.focusInto(this.comp.getGui(),e.fromBelow)}setAutoHeightClasses(){const e=this.gos.get("detailRowAutoHeight"),t=e?"ag-details-row-auto-height":"ag-details-row-fixed-height",i=e?"ag-details-grid-auto-height":"ag-details-grid-fixed-height";this.comp.addOrRemoveCssClass(t,!0),this.comp.addOrRemoveDetailGridCssClass(i,!0)}setupRefreshStrategy(){const e=this.params.refreshStrategy;"everything"==e||"nothing"==e||"rows"==e?this.refreshStrategy=e:(null!=e&&(0,u._warnOnce)("invalid cellRendererParams.refreshStrategy = '"+e+"' supplied, defaulting to refreshStrategy = 'rows'."),this.refreshStrategy="rows")}addThemeToDetailGrid(){for(const e of this.environment.getThemeClasses())this.comp.addOrRemoveDetailGridCssClass(e,!0)}createDetailGrid(){if((0,u._missing)(this.params.detailGridOptions))return void(0,u._warnOnce)("could not find detail grid options for master detail, please set gridOptions.detailCellRendererParams.detailGridOptions");const e=this.gos.get("detailRowAutoHeight"),t={...this.params.detailGridOptions};e&&(t.domLayout="autoHeight"),this.comp.setDetailGrid(t)}registerDetailWithMaster(e){const t=this.params.node.id,i=this.params.api,a={id:t,api:e},n=this.params.node;i.isDestroyed()||(i.addDetailGridInfo(t,a),n.detailGridInfo=a,this.addDestroyFunc((()=>{n.detailGridInfo===a&&(i.isDestroyed()||i.removeDetailGridInfo(t),n.detailGridInfo=null)})))}loadRowData(){this.loadRowDataVersion++;const e=this.loadRowDataVersion;if("serverSide"===this.params.detailGridOptions?.rowModelType){const e=this.params.node;return void e.detailGridInfo?.api?.refreshServerSide({purge:!0})}const t=this.params.getDetailRowData;if(!t)return void(0,u._warnOnce)("could not find getDetailRowData for master / detail, please set gridOptions.detailCellRendererParams.getDetailRowData");t({node:this.params.node,data:this.params.node.data,successCallback:t=>{this.loadRowDataVersion===e&&this.comp.setRowData(t)},context:this.gos.getGridCommonParams().context})}refresh(){const e=!0;switch(this.refreshStrategy){case"nothing":return e;case"everything":return false}return this.loadRowData(),e}},p=class extends h.Component{constructor(){super(...arguments),this.eDetailGrid=h.RefPlaceholder}wireBeans(e){this.context=e.context}init(e){this.params=e,this.selectAndSetTemplate();const t={addOrRemoveCssClass:(e,t)=>this.addOrRemoveCssClass(e,t),addOrRemoveDetailGridCssClass:(e,t)=>this.eDetailGrid.classList.toggle(e,t),setDetailGrid:e=>this.setDetailGrid(e),setRowData:e=>this.setRowData(e),getGui:()=>this.eDetailGrid};this.ctrl=this.createManagedBean(new g),this.ctrl.init(t,e)}refresh(){return this.ctrl&&this.ctrl.refresh()}destroy(){super.destroy()}selectAndSetTemplate(){if(this.params.pinned)return void this.setTemplate('<div class="ag-details-row"></div>');const e=()=>{this.setTemplate('<div class="ag-details-row" role="gridcell">\n <div data-ref="eDetailGrid" class="ag-details-grid" role="presentation"></div>\n </div>')};if((0,h._missing)(this.params.template))e();else if("string"==typeof this.params.template)this.setTemplate(this.params.template,[]);else if("function"==typeof this.params.template){const e=(0,this.params.template)(this.params);this.setTemplate(e,[])}else(0,h._warnOnce)("detailCellRendererParams.template should be function or string"),e();null==this.eDetailGrid&&(0,h._warnOnce)('Reference to eDetailGrid was missing from the details template. Please add data-ref="eDetailGrid" to the template.')}setDetailGrid(e){if(!this.eDetailGrid)return;const t=this.context.getBean("agGridReact"),i=t?(0,h._cloneObject)(t):void 0,a=this.context.getBean("frameworkComponentWrapper"),n=this.getFrameworkOverrides(),r=(0,h.createGrid)(this.eDetailGrid,e,{frameworkOverrides:n,providedBeanInstances:{agGridReact:i,frameworkComponentWrapper:a},modules:h.ModuleRegistry.__getGridRegisteredModules(this.params.api.getGridId())});this.detailApi=r,this.ctrl.registerDetailWithMaster(r),this.addDestroyFunc((()=>{r?.destroy()}))}setRowData(e){this.detailApi&&this.detailApi.setGridOption("rowData",e)}},m=i(3423),f=class extends m.BeanStub{constructor(){super(...arguments),this.beanName="detailGridApiService",this.detailGridInfoMap={}}addDetailGridInfo(e,t){this.detailGridInfoMap[e]=t}removeDetailGridInfo(e){delete this.detailGridInfoMap[e]}getDetailGridInfo(e){return this.detailGridInfoMap[e]}forEachDetailGridInfo(e){let t=0;(0,m._iterateObject)(this.detailGridInfoMap,((i,a)=>{(0,m._exists)(a)&&(e(a,t),t++)}))}destroy(){this.detailGridInfoMap={},super.destroy()}};var v="32.0.2",y={version:v,moduleName:`${c.ModuleNames.MasterDetailModule}-core`,userComponents:[{name:"agGroupRowRenderer",classImp:d.GroupCellRenderer},{name:"agGroupCellRenderer",classImp:d.GroupCellRenderer},{name:"agDetailCellRenderer",classImp:p}],controllers:[{name:"detailCellRenderer",classImp:g},{name:"groupCellRendererCtrl",classImp:d.GroupCellRendererCtrl}],dependantModules:[d.EnterpriseCoreModule]},b={version:v,moduleName:`${c.ModuleNames.MasterDetailModule}-api`,beans:[f],apiFunctions:{addDetailGridInfo:function(e,t,i){e.detailGridApiService?.addDetailGridInfo(t,i)},removeDetailGridInfo:function(e,t){e.detailGridApiService?.removeDetailGridInfo(t)},getDetailGridInfo:function(e,t){return e.detailGridApiService?.getDetailGridInfo(t)},forEachDetailGridInfo:function(e,t){e.detailGridApiService?.forEachDetailGridInfo(t)}},dependantModules:[y]},C={version:v,moduleName:c.ModuleNames.MasterDetailModule,dependantModules:[y,b]}},3279:function(e,t,i){var a,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,l={};((e,t)=>{for(var i in t)n(e,i,{get:t[i],enumerable:!0})})(l,{MenuModule:()=>q}),e.exports=(a=l,((e,t,i,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of o(t))s.call(e,l)||l===i||n(e,l,{get:()=>t[l],enumerable:!(a=r(t,l))||a.enumerable});return e})(n({},"__esModule",{value:!0}),a));var c=i(3423),d=i(8299),h=i(3423),u=class e extends h.BeanStub{constructor(){super(...arguments),this.beanName="chartMenuItemMapper"}wireBeans(e){this.chartService=e.chartService}getChartItems(t){if(!this.chartService)return void h.ModuleRegistry.__assertRegistered(h.ModuleNames.GridChartsModule,`the Context Menu key "${t}"`,this.gridId);const i="pivotChart"===t?new g(this.gos,this.chartService,this.localeService):new p(this.gos,this.chartService,this.localeService),a=this.chartService.isEnterprise();let n=i.getMenuItem();if(n&&n.subMenu&&!a){const e=t=>({...t,subMenu:t.subMenu?.filter((e=>!e._enterprise)).map((t=>e(t)))});n=e(n)}const r=this.gos.get("chartToolPanelsDef")?.settingsPanel?.chartGroupsDef;return r&&(n=e.filterAndOrderChartMenu(n,r,i.getConfigLookup())),this.cleanInternals(n)}cleanInternals(e){if(!e)return e;const t=e=>(delete e?._key,delete e?._enterprise,e?.subMenu?.forEach((e=>t(e))),e);return t(e)}static buildLookup(e){const t={},i=e=>{t[e._key]=e,e.subMenu&&e.subMenu.forEach((e=>i(e)))};return i(e),t}static filterAndOrderChartMenu(e,t,i){const a=this.buildLookup(e),n={...e,subMenu:[]};if(Object.entries(t).forEach((([e,t])=>{const r=i[e];if(null===r)return;if(null==r)return void(0,h._warnOnce)(`invalid chartGroupsDef config '${e}'`);const o=a[r._key];if(o)if(o.subMenu){const i=t.map((t=>{const i=r[t];if(null!=i)return a[i];(0,h._warnOnce)(`invalid chartGroupsDef config '${e}.${t}'`)})).filter((e=>void 0!==e));i.length>0&&(o.subMenu=i,n.subMenu?.push(o))}else n.subMenu?.push(o)})),0!=n.subMenu?.length)return n}},g=class{constructor(e,t,i){this.gos=e,this.chartService=t,this.localeService=i}getMenuItem(){const e=this.localeService.getLocaleTextFunc(),t=(t,i,a,n,r=!1)=>({name:e(t,i),action:()=>this.chartService.createPivotChart({chartType:a}),_key:n,_enterprise:r});return{name:e("pivotChart","Pivot Chart"),_key:"pivotChart",subMenu:[{_key:"pivotColumnChart",name:e("columnChart","Column"),subMenu:[t("groupedColumn","Grouped&lrm;","groupedColumn","pivotGroupedColumn"),t("stackedColumn","Stacked&lrm;","stackedColumn","pivotStackedColumn"),t("normalizedColumn","100% Stacked&lrm;","normalizedColumn","pivotNormalizedColumn")]},{_key:"pivotBarChart",name:e("barChart","Bar"),subMenu:[t("groupedBar","Grouped&lrm;","groupedBar","pivotGroupedBar"),t("stackedBar","Stacked&lrm;","stackedBar","pivotStackedBar"),t("normalizedBar","100% Stacked&lrm;","normalizedBar","pivotNormalizedBar")]},{_key:"pivotPieChart",name:e("pieChart","Pie"),subMenu:[t("pie","Pie&lrm;","pie","pivotPie"),t("donut","Donut&lrm;","donut","pivotDonut")]},t("line","Line&lrm;","line","pivotLineChart"),{_key:"pivotXYChart",name:e("xyChart","X Y (Scatter)"),subMenu:[t("scatter","Scatter&lrm;","scatter","pivotScatter"),t("bubble","Bubble&lrm;","bubble","pivotBubble")]},{_key:"pivotAreaChart",name:e("areaChart","Area"),subMenu:[t("area","Area&lrm;","area","pivotArea"),t("stackedArea","Stacked&lrm;","stackedArea","pivotStackedArea"),t("normalizedArea","100% Stacked&lrm;","normalizedArea","pivotNormalizedArea")]},{_key:"pivotStatisticalChart",_enterprise:!1,name:e("statisticalChart","Statistical"),subMenu:[t("histogramChart","Histogram&lrm;","histogram","pivotHistogram",!1)]},{_key:"pivotHierarchicalChart",_enterprise:!0,name:e("hierarchicalChart","Hierarchical"),subMenu:[t("treemapChart","Treemap&lrm;","treemap","pivotTreemap",!0),t("sunburstChart","Sunburst&lrm;","sunburst","pivotSunburst",!0)]},{_key:"pivotCombinationChart",name:e("combinationChart","Combination"),subMenu:[t("columnLineCombo","Column & Line&lrm;","columnLineCombo","pivotColumnLineCombo"),t("AreaColumnCombo","Area & Column&lrm;","areaColumnCombo","pivotAreaColumnCombo")]}],icon:(0,h._createIconNoSpan)("chart",this.gos,void 0)}}getConfigLookup(){return{columnGroup:{_key:"pivotColumnChart",column:"pivotGroupedColumn",stackedColumn:"pivotStackedColumn",normalizedColumn:"pivotNormalizedColumn"},barGroup:{_key:"pivotBarChart",bar:"pivotGroupedBar",stackedBar:"pivotStackedBar",normalizedBar:"pivotNormalizedBar"},pieGroup:{_key:"pivotPieChart",pie:"pivotPie",donut:"pivotDonut",doughnut:"pivotDonut"},lineGroup:{_key:"pivotLineChart",line:"pivotLineChart"},scatterGroup:{_key:"pivotXYChart",bubble:"pivotBubble",scatter:"pivotScatter"},areaGroup:{_key:"pivotAreaChart",area:"pivotArea",stackedArea:"pivotStackedArea",normalizedArea:"pivotNormalizedArea"},combinationGroup:{_key:"pivotCombinationChart",columnLineCombo:"pivotColumnLineCombo",areaColumnCombo:"pivotAreaColumnCombo",customCombo:null},hierarchicalGroup:{_key:"pivotHierarchicalChart",treemap:"pivotTreemap",sunburst:"pivotSunburst"},statisticalGroup:{_key:"pivotStatisticalChart",histogram:"pivotHistogram",rangeBar:null,rangeArea:null,boxPlot:null},polarGroup:null,specializedGroup:null}}},p=class{constructor(e,t,i){this.gos=e,this.chartService=t,this.localeService=i}getMenuItem(){const e=this.localeService.getLocaleTextFunc(),t=(t,i,a,n,r=!1)=>({name:e(t,i),action:()=>this.chartService.createChartFromCurrentRange(a),_key:n,_enterprise:r});return{name:e("chartRange","Chart Range"),_key:"chartRange",subMenu:[{name:e("columnChart","Column"),subMenu:[t("groupedColumn","Grouped&lrm;","groupedColumn","rangeGroupedColumn"),t("stackedColumn","Stacked&lrm;","stackedColumn","rangeStackedColumn"),t("normalizedColumn","100% Stacked&lrm;","normalizedColumn","rangeNormalizedColumn")],_key:"rangeColumnChart"},{name:e("barChart","Bar"),subMenu:[t("groupedBar","Grouped&lrm;","groupedBar","rangeGroupedBar"),t("stackedBar","Stacked&lrm;","stackedBar","rangeStackedBar"),t("normalizedBar","100% Stacked&lrm;","normalizedBar","rangeNormalizedBar")],_key:"rangeBarChart"},{name:e("pieChart","Pie"),subMenu:[t("pie","Pie&lrm;","pie","rangePie"),t("donut","Donut&lrm;","donut","rangeDonut")],_key:"rangePieChart"},t("line","Line&lrm;","line","rangeLineChart"),{name:e("xyChart","X Y (Scatter)"),subMenu:[t("scatter","Scatter&lrm;","scatter","rangeScatter"),t("bubble","Bubble&lrm;","bubble","rangeBubble")],_key:"rangeXYChart"},{name:e("areaChart","Area"),subMenu:[t("area","Area&lrm;","area","rangeArea"),t("stackedArea","Stacked&lrm;","stackedArea","rangeStackedArea"),t("normalizedArea","100% Stacked&lrm;","normalizedArea","rangeNormalizedArea")],_key:"rangeAreaChart"},{name:e("polarChart","Polar"),subMenu:[t("radarLine","Radar Line&lrm;","radarLine","rangeRadarLine"),t("radarArea","Radar Area&lrm;","radarArea","rangeRadarArea"),t("nightingale","Nightingale&lrm;","nightingale","rangeNightingale"),t("radialColumn","Radial Column&lrm;","radialColumn","rangeRadialColumn"),t("radialBar","Radial Bar&lrm;","radialBar","rangeRadialBar")],_key:"rangePolarChart",_enterprise:!0},{name:e("statisticalChart","Statistical"),subMenu:[t("boxPlot","Box Plot&lrm;","boxPlot","rangeBoxPlot",!0),t("histogramChart","Histogram&lrm;","histogram","rangeHistogram",!1),t("rangeBar","Range Bar&lrm;","rangeBar","rangeRangeBar",!0),t("rangeArea","Range Area&lrm;","rangeArea","rangeRangeArea",!0)],_key:"rangeStatisticalChart",_enterprise:!1},{name:e("hierarchicalChart","Hierarchical"),subMenu:[t("treemap","Treemap&lrm;","treemap","rangeTreemap"),t("sunburst","Sunburst&lrm;","sunburst","rangeSunburst")],_key:"rangeHierarchicalChart",_enterprise:!0},{name:e("specializedChart","Specialized"),subMenu:[t("heatmap","Heatmap&lrm;","heatmap","rangeHeatmap"),t("waterfall","Waterfall&lrm;","waterfall","rangeWaterfall")],_key:"rangeSpecializedChart",_enterprise:!0},{name:e("combinationChart","Combination"),subMenu:[t("columnLineCombo","Column & Line&lrm;","columnLineCombo","rangeColumnLineCombo"),t("AreaColumnCombo","Area & Column&lrm;","areaColumnCombo","rangeAreaColumnCombo")],_key:"rangeCombinationChart"}],icon:(0,h._createIconNoSpan)("chart",this.gos,void 0)}}getConfigLookup(){return{columnGroup:{_key:"rangeColumnChart",column:"rangeGroupedColumn",stackedColumn:"rangeStackedColumn",normalizedColumn:"rangeNormalizedColumn"},barGroup:{_key:"rangeBarChart",bar:"rangeGroupedBar",stackedBar:"rangeStackedBar",normalizedBar:"rangeNormalizedBar"},pieGroup:{_key:"rangePieChart",pie:"rangePie",donut:"rangeDonut",doughnut:"rangeDonut"},lineGroup:{_key:"rangeLineChart",line:"rangeLineChart"},scatterGroup:{_key:"rangeXYChart",bubble:"rangeBubble",scatter:"rangeScatter"},areaGroup:{_key:"rangeAreaChart",area:"rangeArea",stackedArea:"rangeStackedArea",normalizedArea:"rangeNormalizedArea"},polarGroup:{_key:"rangePolarChart",radarLine:"rangeRadarLine",radarArea:"rangeRadarArea",nightingale:"rangeNightingale",radialColumn:"rangeRadialColumn",radialBar:"rangeRadialBar"},statisticalGroup:{_key:"rangeStatisticalChart",boxPlot:"rangeBoxPlot",histogram:"rangeHistogram",rangeBar:"rangeRangeBar",rangeArea:"rangeRangeArea"},hierarchicalGroup:{_key:"rangeHierarchicalChart",treemap:"rangeTreemap",sunburst:"rangeSunburst"},specializedGroup:{_key:"rangeSpecializedChart",heatmap:"rangeHeatmap",waterfall:"rangeWaterfall"},combinationGroup:{_key:"rangeCombinationChart",columnLineCombo:"rangeColumnLineCombo",areaColumnCombo:"rangeAreaColumnCombo",customCombo:null}}}},m=i(3423),f=i(7202),v=i(8299),y=class extends m.BeanStub{constructor(){super(...arguments),this.beanName="columnChooserFactory"}wireBeans(e){this.focusService=e.focusService,this.menuUtils=e.menuUtils,this.visibleColsService=e.visibleColsService}createColumnSelectPanel(e,t,i,a){const n=e.createManagedBean(new f.AgPrimaryCols),r=a??t?.getColDef().columnChooserParams??t?.getColDef().columnsMenuParams??{},{contractColumnSelection:o,suppressColumnExpandAll:s,suppressColumnFilter:l,suppressColumnSelectAll:c,suppressSyncLayoutWithGrid:d,columnLayout:h}=r;return n.init(!!i,this.gos.addGridCommonParams({suppressColumnMove:!1,suppressValues:!1,suppressPivots:!1,suppressRowGroups:!1,suppressPivotMode:!1,contractColumnSelection:!!o,suppressColumnExpandAll:!!s,suppressColumnFilter:!!l,suppressColumnSelectAll:!!c,suppressSyncLayoutWithGrid:!!h||!!d,onStateUpdated:()=>{}}),"columnMenu"),h&&n.setColumnLayout(h),n}showColumnChooser({column:e,chooserParams:t,eventSource:i}){this.hideActiveColumnChooser();const a=this.createColumnSelectPanel(this,e,!0,t),n=this.localeService.getLocaleTextFunc(),r=this.visibleColsService.getAllCols().indexOf(e),o=e?this.focusService.getFocusedHeader():null;this.activeColumnChooserDialog=this.createBean(new v.AgDialog({title:n("chooseColumns","Choose Columns"),component:a,width:300,height:300,resizable:!0,movable:!0,centered:!0,closable:!0,afterGuiAttached:()=>{this.focusService.findNextFocusableElement(a.getGui())?.focus(),this.dispatchVisibleChangedEvent(!0,e)},closedCallback:t=>{const a=this.activeColumnChooser.getGui();this.destroyBean(this.activeColumnChooser),this.activeColumnChooser=void 0,this.activeColumnChooserDialog=void 0,this.dispatchVisibleChangedEvent(!1,e),e&&this.menuUtils.restoreFocusOnClose({column:e,headerPosition:o,columnIndex:r,eventSource:i},a,t,!0)}})),this.activeColumnChooser=a}hideActiveColumnChooser(){this.activeColumnChooserDialog&&this.destroyBean(this.activeColumnChooserDialog)}dispatchVisibleChangedEvent(e,t){const i={type:"columnMenuVisibleChanged",visible:e,switchingTab:!1,key:"columnChooser",column:t??null};this.eventService.dispatchEvent(i)}},b=i(3423),C=i(8299),w="separator",S=class extends b.BeanStub{constructor(){super(...arguments),this.beanName="columnMenuFactory"}wireBeans(e){this.menuItemMapper=e.menuItemMapper,this.columnModel=e.columnModel,this.funcColsService=e.funcColsService,this.rowModel=e.rowModel,this.menuService=e.menuService}createMenu(e,t,i){const a=e.createManagedBean(new C.AgMenuList(0,{column:t??null,node:null,value:null})),n=this.getMenuItems(t),r=this.menuItemMapper.mapWithStockItems(n,t??null,i,"columnMenu");return a.addMenuItems(r),a}getMenuItems(e){const t=this.getDefaultMenuOptions(e);let i;const a=e?.getColDef().mainMenuItems;if(Array.isArray(a))i=a;else if("function"==typeof a)i=a(this.gos.addGridCommonParams({column:e,defaultItems:t}));else{const a=this.gos.getCallback("getMainMenuItems");i=a&&e?a({column:e,defaultItems:t}):t}return(0,b._removeRepeatsFromArray)(i,w),i}getDefaultMenuOptions(e){const t=[],i=this.menuService.isLegacyMenuEnabled();if(!e)return i||t.push("columnChooser"),t.push("resetColumns"),t;const a=!e.getColDef().lockPinned,n=this.funcColsService.getRowGroupColumns().length,r=n>0,o=e.isAllowValue(),s=e.isAllowRowGroup(),l=e.isPrimary(),c=this.columnModel.isPivotMode(),d="clientSide"===this.rowModel.getType(),h=this.gos.get("treeData"),u=l&&r&&o||!l;if(!i&&e.isSortable()){const i=e.getSort();"asc"!==i&&t.push("sortAscending"),"desc"!==i&&t.push("sortDescending"),i&&t.push("sortUnSort"),t.push(w)}this.menuService.isFilterMenuItemEnabled(e)&&(t.push("columnFilter"),t.push(w)),a&&t.push("pinSubMenu"),u&&t.push("valueAggSubMenu"),(a||u)&&t.push(w),t.push("autoSizeThis"),t.push("autoSizeAll"),t.push(w);if(e.getColDef().showRowGroup)t.push("rowUnGroup");else if(s&&e.isPrimary())if(e.isRowGroupActive()){this.columnModel.isColGroupLocked(e)||t.push("rowUnGroup")}else t.push("rowGroup");t.push(w),i||t.push("columnChooser"),t.push("resetColumns");return d&&(h||n>(c?1:0))&&(t.push("expandAll"),t.push("contractAll")),t}},x=i(3423),k=i(8299),M="ag-context-menu-open",R=class extends x.BeanStub{constructor(){super(...arguments),this.beanName="contextMenuFactory"}wireBeans(e){this.popupService=e.popupService,this.ctrlsService=e.ctrlsService,this.columnModel=e.columnModel,this.menuUtils=e.menuUtils,this.rangeService=e.rangeService}hideActiveMenu(){this.destroyBean(this.activeMenu)}getMenuItems(e,t,i){const a=[];if((0,x._exists)(e)&&x.ModuleRegistry.__isRegistered(x.ModuleNames.ClipboardModule,this.gridId)&&t&&(this.gos.get("suppressCutToClipboard")||a.push("cut"),a.push("copy","copyWithHeaders","copyWithGroupHeaders","paste","separator")),this.gos.get("enableCharts")&&x.ModuleRegistry.__isRegistered(x.ModuleNames.GridChartsModule,this.gridId)&&(this.columnModel.isPivotMode()&&a.push("pivotChart"),this.rangeService&&!this.rangeService.isEmpty()&&a.push("chartRange")),(0,x._exists)(e)){const e=!x.ModuleRegistry.__isRegistered(x.ModuleNames.CsvExportModule,this.gridId),t=!x.ModuleRegistry.__isRegistered(x.ModuleNames.ExcelExportModule,this.gridId),i=this.gos.get("suppressExcelExport")||t,n=this.gos.get("suppressCsvExport")||e;!((0,x._isIOSUserAgent)()||i&&n)&&a.push("export")}const n=a.length?a:void 0,r=t?.getColDef().contextMenuItems;if(Array.isArray(r))return r;if("function"==typeof r)return r(this.gos.addGridCommonParams({column:t,node:e,value:i,defaultItems:n}));const o=this.gos.getCallback("getContextMenuItems");return o?o({column:t,node:e,value:i,defaultItems:n}):a}onContextMenu(e,t,i,a,n,r){this.menuUtils.onContextMenu(e,t,(e=>this.showMenu(i,a,n,e,r)))}showMenu(e,t,i,a,n){const r=this.getMenuItems(e,t,i),o=this.ctrlsService.getGridBodyCtrl().getGui();if(void 0===r||(0,x._missingOrEmpty)(r))return!1;const s=new D(r,t,e,i);this.createBean(s);const l=s.getGui(),c={column:t,rowNode:e,type:"contextMenu",mouseEvent:a,ePopup:l,nudgeY:1},d=this.localeService.getLocaleTextFunc(),h=this.popupService.addPopup({modal:!0,eChild:l,closeOnEsc:!0,closedCallback:e=>{o.classList.remove(M),this.destroyBean(s),this.dispatchVisibleChangedEvent(!1,void 0===e?"api":"ui")},click:a,positionCallback:()=>{const e=this.gos.get("enableRtl");this.popupService.positionPopupUnderMouseEvent({...c,nudgeX:e?-1*(l.offsetWidth+1):1})},anchorToElement:n,ariaLabel:d("ariaLabelContextMenu","Context Menu")});h&&(o.classList.add(M),s.afterGuiAttached({container:"contextMenu",hidePopup:h.hideFunc})),this.activeMenu&&this.hideActiveMenu(),this.activeMenu=s,s.addEventListener("destroyed",(()=>{this.activeMenu===s&&(this.activeMenu=null)})),h&&s.addEventListener("closeMenu",(e=>h.hideFunc({mouseEvent:e.mouseEvent??void 0,keyboardEvent:e.keyboardEvent??void 0,forceHide:!0})));const u=a&&a instanceof MouseEvent&&"mousedown"===a.type;return this.dispatchVisibleChangedEvent(!0,u?"api":"ui"),!0}dispatchVisibleChangedEvent(e,t="ui"){const i={type:"contextMenuVisibleChanged",visible:e,source:t};this.eventService.dispatchEvent(i)}},D=class extends x.Component{constructor(e,t,i,a){super('<div class="ag-menu" role="presentation"></div>'),this.menuItems=e,this.column=t,this.node=i,this.value=a,this.menuList=null,this.focusedCell=null}wireBeans(e){this.focusService=e.focusService,this.menuItemMapper=e.menuItemMapper,this.cellPositionUtils=e.cellPositionUtils}postConstruct(){const e=this.createManagedBean(new k.AgMenuList(0,{column:this.column,node:this.node,value:this.value})),t=this.menuItemMapper.mapWithStockItems(this.menuItems,null,(()=>this.getGui()),"contextMenu");e.addMenuItems(t),this.appendChild(e),this.menuList=e,e.addEventListener("closeMenu",(e=>this.dispatchLocalEvent(e)))}afterGuiAttached(e){e.hidePopup&&this.addDestroyFunc(e.hidePopup),this.focusedCell=this.focusService.getFocusedCell(),this.menuList&&this.focusService.focusInto(this.menuList.getGui())}restoreFocusedCell(){const e=this.focusService.getFocusedCell();if(e&&this.focusedCell&&this.cellPositionUtils.equals(e,this.focusedCell)){const{rowIndex:e,rowPinned:t,column:i}=this.focusedCell,a=this.gos.getDocument(),n=this.gos.getActiveDomElement();n&&n!==a.body||this.focusService.setFocusedCell({rowIndex:e,column:i,rowPinned:t,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!this.focusService.isKeyboardMode()})}}destroy(){this.restoreFocusedCell(),super.destroy()}},A=i(3423),E=i(8299),T="filterMenuTab",P="generalMenuTab",F="columnsMenuTab",I=[P,T,F],L=class extends A.BeanStub{constructor(){super(...arguments),this.beanName="enterpriseMenuFactory"}wireBeans(e){this.popupService=e.popupService,this.focusService=e.focusService,this.ctrlsService=e.ctrlsService,this.visibleColsService=e.visibleColsService,this.filterManager=e.filterManager,this.menuUtils=e.menuUtils,this.menuService=e.menuService}hideActiveMenu(){this.destroyBean(this.activeMenu)}showMenuAfterMouseEvent(e,t,i,a){const n=a?"filterMenuTab":void 0;this.showMenu(e,(a=>{const r=a.getGui();this.popupService.positionPopupUnderMouseEvent({type:i,column:e,mouseEvent:t,ePopup:r}),n&&a.showTab?.(n),this.dispatchVisibleChangedEvent(!0,!1,e,n)}),i,n,void 0,t.target)}showMenuAfterButtonClick(e,t,i,a){let n=-1,r="left";this.gos.get("enableRtl")&&(n=1,r="right");const o=a?"filterMenuTab":void 0,s=o?[o]:void 0,l=this.menuService.isLegacyMenuEnabled(),c=(l?9:4)*n,d=l?-23:4;this.showMenu(e,(a=>{const n=a.getGui();this.popupService.positionPopupByComponent({type:i,column:e,eventSource:t,ePopup:n,alignSide:r,nudgeX:c,nudgeY:d,position:"under",keepWithinBounds:!0}),o&&a.showTab?.(o),this.dispatchVisibleChangedEvent(!0,!1,e,o)}),i,o,s,t)}showMenu(e,t,i,a,n,r){const{menu:o,eMenuGui:s,anchorToElement:l,restoreFocusParams:c}=this.getMenuParams(e,n,r),d=[];d.push((t=>{const i=o.getGui();this.destroyBean(o),e&&(e.setMenuVisible(!1,"contextMenu"),this.menuUtils.restoreFocusOnClose(c,i,t))}));const h=this.localeService.getLocaleTextFunc();if(this.popupService.addPopup({modal:!0,eChild:s,closeOnEsc:!0,closedCallback:t=>{d.forEach((e=>e(t))),this.dispatchVisibleChangedEvent(!1,!1,e,a)},afterGuiAttached:e=>o.afterGuiAttached(Object.assign({},{container:i},e)),positionCallback:a?()=>t(o):void 0,ariaLabel:h("ariaLabelColumnMenu","Column Menu")}),a||(o.showTabBasedOnPreviousSelection?.(),t(o)),this.menuService.isColumnMenuAnchoringEnabled()){const t=this.popupService.setPopupPositionRelatedToElement(s,l);t&&e&&this.addStopAnchoring(t,e,d)}o.addEventListener("tabSelected",(t=>{this.dispatchVisibleChangedEvent(!1,!0,e),this.lastSelectedTab=t.key,this.dispatchVisibleChangedEvent(!0,!0,e)})),e?.setMenuVisible(!0,"contextMenu"),this.activeMenu=o,o.addEventListener("destroyed",(()=>{this.activeMenu===o&&(this.activeMenu=null)}))}addStopAnchoring(e,t,i){e.then((e=>{t.addEventListener("leftChanged",e),t.addEventListener("visibleChanged",e),i.push((()=>{t.removeEventListener("leftChanged",e),t.removeEventListener("visibleChanged",e)}))}))}getMenuParams(e,t,i){const a={column:e,headerPosition:this.focusService.getFocusedHeader(),columnIndex:this.visibleColsService.getAllCols().indexOf(e),eventSource:i},n=this.createMenu(e,a,t,i);return{menu:n,eMenuGui:n.getGui(),anchorToElement:i||this.ctrlsService.getGridBodyCtrl().getGui(),restoreFocusParams:a}}createMenu(e,t,i,a){return this.menuService.isLegacyMenuEnabled()?this.createBean(new N(e,t,this.lastSelectedTab,i,a)):this.createBean(new O(e,t,a))}dispatchVisibleChangedEvent(e,t,i,a){const n={type:"columnMenuVisibleChanged",visible:e,switchingTab:t,key:this.lastSelectedTab??a??(this.menuService.isLegacyMenuEnabled()?P:"columnMenu"),column:i??null};this.eventService.dispatchEvent(n)}isMenuEnabled(e){if(!this.menuService.isLegacyMenuEnabled())return!0;const t=!this.filterManager?.isFilterAllowed(e),i=e.getColDef().menuTabs??I;return(t&&i.includes(T)?i.length-1:i.length)>0}showMenuAfterContextMenuEvent(e,t,i){this.menuUtils.onContextMenu(t,i,(t=>(this.showMenuAfterMouseEvent(e,t,"columnMenu"),!0)))}},N=class extends A.BeanStub{constructor(e,t,i,a,n){super(),this.column=e,this.restoreFocusParams=t,this.initialSelection=i,this.restrictTo=a,this.sourceElement=n,this.tabFactories={},this.includeChecks={},this.tabFactories[P]=this.createMainPanel.bind(this),this.tabFactories[T]=this.createFilterPanel.bind(this),this.tabFactories[F]=this.createColumnsPanel.bind(this),this.includeChecks[P]=()=>!0,this.includeChecks[T]=()=>!!e&&!!this.filterManager?.isFilterAllowed(e),this.includeChecks[F]=()=>!0}wireBeans(e){this.filterManager=e.filterManager,this.columnChooserFactory=e.columnChooserFactory,this.columnMenuFactory=e.columnMenuFactory,this.menuUtils=e.menuUtils}postConstruct(){const e=this.getTabsToCreate().map((e=>this.createTab(e)));this.tabbedLayout=new E.TabbedLayout({items:e,cssClass:"ag-menu",onActiveItemClicked:this.onHidePopup.bind(this),onItemClicked:this.onTabItemClicked.bind(this)}),this.createBean(this.tabbedLayout),this.mainMenuList&&this.mainMenuList.setParentComponent(this.tabbedLayout),this.addDestroyFunc((()=>this.destroyBean(this.tabbedLayout)))}getTabsToCreate(){return this.restrictTo?this.restrictTo:(this.column?.getColDef().menuTabs??I).filter((e=>this.isValidMenuTabItem(e))).filter((e=>this.isNotSuppressed(e))).filter((e=>this.isModuleLoaded(e)))}isModuleLoaded(e){return e!==F||A.ModuleRegistry.__isRegistered(A.ModuleNames.ColumnsToolPanelModule,this.gridId)}isValidMenuTabItem(e){let t=!0,i=I;return null!=this.restrictTo&&(t=this.restrictTo.indexOf(e)>-1,i=this.restrictTo),t=t&&I.indexOf(e)>-1,t||(0,A._warnOnce)(`Trying to render an invalid menu item '${e}'. Check that your 'menuTabs' contains one of [${i}]`),t}isNotSuppressed(e){return this.includeChecks[e]()}createTab(e){return this.tabFactories[e]()}showTabBasedOnPreviousSelection(){this.showTab(this.initialSelection)}showTab(e){this.tabItemColumns&&e===F?this.tabbedLayout.showItem(this.tabItemColumns):this.tabItemFilter&&e===T?this.tabbedLayout.showItem(this.tabItemFilter):this.tabItemGeneral&&e===P?this.tabbedLayout.showItem(this.tabItemGeneral):this.tabbedLayout.showFirstItem()}onTabItemClicked(e){let t=null;switch(e.item){case this.tabItemColumns:t=F;break;case this.tabItemFilter:t=T;break;case this.tabItemGeneral:t=P}t&&this.activateTab(t)}activateTab(e){const t={type:"tabSelected",key:e};this.dispatchLocalEvent(t)}createMainPanel(){return this.mainMenuList=this.columnMenuFactory.createMenu(this,this.column,(()=>this.sourceElement??this.getGui())),this.mainMenuList.addEventListener("closeMenu",this.onHidePopup.bind(this)),this.tabItemGeneral={title:(0,A._createIconNoSpan)("menu",this.gos,this.column),titleLabel:P.replace("MenuTab",""),bodyPromise:A.AgPromise.resolve(this.mainMenuList.getGui()),name:P},this.tabItemGeneral}onHidePopup(e){this.menuUtils.closePopupAndRestoreFocusOnSelect(this.hidePopupFunc,this.restoreFocusParams,e)}createFilterPanel(){const e=this.column?this.createBean(new A.FilterWrapperComp(this.column,"COLUMN_MENU")):null;if(this.filterComp=e,!e?.hasFilter())throw new Error("AG Grid - Unable to instantiate filter");return this.tabItemFilter={title:(0,A._createIconNoSpan)("filter",this.gos,this.column),titleLabel:T.replace("MenuTab",""),bodyPromise:A.AgPromise.resolve(e?.getGui()),afterAttachedCallback:t=>e.afterGuiAttached(t),afterDetachedCallback:()=>e.afterGuiDetached(),name:T},this.tabItemFilter}createColumnsPanel(){const e=document.createElement("div");e.classList.add("ag-menu-column-select-wrapper");const t=this.columnChooserFactory.createColumnSelectPanel(this,this.column).getGui();return t.classList.add("ag-menu-column-select"),e.appendChild(t),this.tabItemColumns={title:(0,A._createIconNoSpan)("columns",this.gos,this.column),titleLabel:F.replace("MenuTab",""),bodyPromise:A.AgPromise.resolve(e),name:F},this.tabItemColumns}afterGuiAttached(e){const{container:t,hidePopup:i}=e;this.tabbedLayout.setAfterAttachedParams({container:t,hidePopup:i}),i&&(this.hidePopupFunc=i,this.addDestroyFunc(i))}getGui(){return this.tabbedLayout.getGui()}destroy(){super.destroy(),this.destroyBean(this.filterComp)}},O=class extends A.Component{constructor(e,t,i){super('\n <div data-ref="eColumnMenu" role="presentation" class="ag-menu ag-column-menu"></div>\n '),this.column=e,this.restoreFocusParams=t,this.sourceElement=i,this.eColumnMenu=A.RefPlaceholder}wireBeans(e){this.columnMenuFactory=e.columnMenuFactory,this.menuUtils=e.menuUtils,this.focusService=e.focusService}postConstruct(){this.mainMenuList=this.columnMenuFactory.createMenu(this,this.column,(()=>this.sourceElement??this.getGui())),this.mainMenuList.addEventListener("closeMenu",this.onHidePopup.bind(this)),this.eColumnMenu.appendChild(this.mainMenuList.getGui())}onHidePopup(e){this.menuUtils.closePopupAndRestoreFocusOnSelect(this.hidePopupFunc,this.restoreFocusParams,e)}afterGuiAttached({hidePopup:e}){e&&(this.hidePopupFunc=e,this.addDestroyFunc(e)),this.focusService.focusInto(this.mainMenuList.getGui())}};var z=i(3423),G=class extends z.BeanStub{constructor(){super(...arguments),this.beanName="menuItemMapper"}wireBeans(e){this.columnModel=e.columnModel,this.columnNameService=e.columnNameService,this.columnApplyStateService=e.columnApplyStateService,this.funcColsService=e.funcColsService,this.focusService=e.focusService,this.rowPositionUtils=e.rowPositionUtils,this.chartMenuItemMapper=e.chartMenuItemMapper,this.menuService=e.menuService,this.sortController=e.sortController,this.columnAutosizeService=e.columnAutosizeService,this.expansionService=e.expansionService,this.clipboardService=e.clipboardService,this.aggFuncService=e.aggFuncService,this.csvCreator=e.csvCreator,this.excelCreator=e.excelCreator}mapWithStockItems(e,t,i,a){if(!e)return[];const n=[];return e.forEach((e=>{let r;if(r="string"==typeof e?this.getStockMenuItem(e,t,i,a):{...e},!r)return;const o=r,{subMenu:s}=o;s&&s instanceof Array&&(o.subMenu=this.mapWithStockItems(s,t,i,a)),null!=r&&n.push(r)})),n}getStockMenuItem(e,t,i,a){const n=this.localeService.getLocaleTextFunc(),r=this.gos.get("skipHeaderOnAutoSize");switch(e){case"pinSubMenu":return{name:n("pinColumn","Pin Column"),icon:(0,z._createIconNoSpan)("menuPin",this.gos,null),subMenu:["clearPinned","pinLeft","pinRight"]};case"pinLeft":return{name:n("pinLeft","Pin Left"),action:()=>this.columnModel.setColsPinned([t],"left",a),checked:!!t&&t.isPinnedLeft()};case"pinRight":return{name:n("pinRight","Pin Right"),action:()=>this.columnModel.setColsPinned([t],"right",a),checked:!!t&&t.isPinnedRight()};case"clearPinned":return{name:n("noPin","No Pin"),action:()=>this.columnModel.setColsPinned([t],null,a),checked:!!t&&!t.isPinned()};case"valueAggSubMenu":return z.ModuleRegistry.__assertRegistered(z.ModuleNames.RowGroupingModule,"Aggregation from Menu",this.gridId)&&(t?.isPrimary()||t?.getColDef().pivotValueColumn)?{name:n("valueAggregation","Value Aggregation"),icon:(0,z._createIconNoSpan)("menuValue",this.gos,null),subMenu:this.createAggregationSubMenu(t,this.aggFuncService)}:null;case"autoSizeThis":return{name:n("autosizeThisColumn","Autosize This Column"),action:()=>this.columnAutosizeService.autoSizeColumn(t,a,r)};case"autoSizeAll":return{name:n("autosizeAllColumns","Autosize All Columns"),action:()=>this.columnAutosizeService.autoSizeAllColumns(a,r)};case"rowGroup":return{name:n("groupBy","Group by")+" "+(0,z._escapeString)(this.columnNameService.getDisplayNameForColumn(t,"header")),disabled:this.gos.get("functionsReadOnly")||t?.isRowGroupActive()||!t?.getColDef().enableRowGroup,action:()=>this.funcColsService.addRowGroupColumns([t],a),icon:(0,z._createIconNoSpan)("menuAddRowGroup",this.gos,null)};case"rowUnGroup":{const e=(0,z._createIconNoSpan)("menuRemoveRowGroup",this.gos,null),i=t?.getColDef().showRowGroup,r=this.gos.get("groupLockGroupColumns");if(!0===i)return{name:n("ungroupAll","Un-Group All"),disabled:this.gos.get("functionsReadOnly")||-1===r||r>=this.funcColsService.getRowGroupColumns().length,action:()=>this.funcColsService.setRowGroupColumns(this.funcColsService.getRowGroupColumns().slice(0,r),a),icon:e};if("string"==typeof i){const t=this.columnModel.getColDefCol(i),r=null!=t?(0,z._escapeString)(this.columnNameService.getDisplayNameForColumn(t,"header")):i;return{name:n("ungroupBy","Un-Group by")+" "+r,disabled:this.gos.get("functionsReadOnly")||null!=t&&this.columnModel.isColGroupLocked(t),action:()=>this.funcColsService.removeRowGroupColumns([i],a),icon:e}}return{name:n("ungroupBy","Un-Group by")+" "+(0,z._escapeString)(this.columnNameService.getDisplayNameForColumn(t,"header")),disabled:this.gos.get("functionsReadOnly")||!t?.isRowGroupActive()||!t?.getColDef().enableRowGroup||this.columnModel.isColGroupLocked(t),action:()=>this.funcColsService.removeRowGroupColumns([t],a),icon:e}}case"resetColumns":return{name:n("resetColumns","Reset Columns"),action:()=>this.columnApplyStateService.resetColumnState(a)};case"expandAll":return{name:n("expandAll","Expand All Row Groups"),action:()=>this.expansionService.expandAll(!0)};case"contractAll":return{name:n("collapseAll","Collapse All Row Groups"),action:()=>this.expansionService.expandAll(!1)};case"copy":return z.ModuleRegistry.__assertRegistered(z.ModuleNames.ClipboardModule,"Copy from Menu",this.gridId)?{name:n("copy","Copy"),shortcut:n("ctrlC","Ctrl+C"),icon:(0,z._createIconNoSpan)("clipboardCopy",this.gos,null),action:()=>this.clipboardService.copyToClipboard()}:null;case"copyWithHeaders":return z.ModuleRegistry.__assertRegistered(z.ModuleNames.ClipboardModule,"Copy with Headers from Menu",this.gridId)?{name:n("copyWithHeaders","Copy with Headers"),icon:(0,z._createIconNoSpan)("clipboardCopy",this.gos,null),action:()=>this.clipboardService.copyToClipboard({includeHeaders:!0})}:null;case"copyWithGroupHeaders":return z.ModuleRegistry.__assertRegistered(z.ModuleNames.ClipboardModule,"Copy with Group Headers from Menu",this.gridId)?{name:n("copyWithGroupHeaders","Copy with Group Headers"),icon:(0,z._createIconNoSpan)("clipboardCopy",this.gos,null),action:()=>this.clipboardService.copyToClipboard({includeHeaders:!0,includeGroupHeaders:!0})}:null;case"cut":if(z.ModuleRegistry.__assertRegistered(z.ModuleNames.ClipboardModule,"Cut from Menu",this.gridId)){const e=this.focusService.getFocusedCell(),t=e?this.rowPositionUtils.getRowNode(e):null,i=!!t&&e?.column.isCellEditable(t);return{name:n("cut","Cut"),shortcut:n("ctrlX","Ctrl+X"),icon:(0,z._createIconNoSpan)("clipboardCut",this.gos,null),disabled:!i||this.gos.get("suppressCutToClipboard"),action:()=>this.clipboardService.cutToClipboard(void 0,"contextMenu")}}return null;case"paste":return z.ModuleRegistry.__assertRegistered(z.ModuleNames.ClipboardModule,"Paste from Clipboard",this.gridId)?{name:n("paste","Paste"),shortcut:n("ctrlV","Ctrl+V"),disabled:!0,icon:(0,z._createIconNoSpan)("clipboardPaste",this.gos,null),action:()=>this.clipboardService.pasteFromClipboard()}:null;case"export":{const e=[],t=z.ModuleRegistry.__isRegistered(z.ModuleNames.CsvExportModule,this.gridId),i=z.ModuleRegistry.__isRegistered(z.ModuleNames.ExcelExportModule,this.gridId);return!this.gos.get("suppressCsvExport")&&t&&e.push("csvExport"),!this.gos.get("suppressExcelExport")&&i&&e.push("excelExport"),{name:n("export","Export"),subMenu:e,icon:(0,z._createIconNoSpan)("save",this.gos,null)}}case"csvExport":return{name:n("csvExport","CSV Export"),icon:(0,z._createIconNoSpan)("csvExport",this.gos,null),action:()=>this.csvCreator?.exportDataAsCsv()};case"excelExport":return{name:n("excelExport","Excel Export"),icon:(0,z._createIconNoSpan)("excelExport",this.gos,null),action:()=>this.excelCreator?.exportDataAsExcel()};case"separator":return"separator";case"pivotChart":case"chartRange":return this.chartMenuItemMapper.getChartItems(e)??null;case"columnFilter":return t?{name:n("columnFilter","Column Filter"),icon:(0,z._createIconNoSpan)("filter",this.gos,null),action:()=>this.menuService.showFilterMenu({column:t,buttonElement:i(),containerType:"columnFilter",positionBy:"button"})}:null;case"columnChooser":return z.ModuleRegistry.__isRegistered(z.ModuleNames.ColumnsToolPanelModule,this.gridId)?{name:n("columnChooser","Choose Columns"),icon:(0,z._createIconNoSpan)("columns",this.gos,null),action:()=>this.menuService.showColumnChooser({column:t,eventSource:i()})}:null;case"sortAscending":return{name:n("sortAscending","Sort Ascending"),icon:(0,z._createIconNoSpan)("sortAscending",this.gos,null),action:()=>this.sortController.setSortForColumn(t,"asc",!1,a)};case"sortDescending":return{name:n("sortDescending","Sort Descending"),icon:(0,z._createIconNoSpan)("sortDescending",this.gos,null),action:()=>this.sortController.setSortForColumn(t,"desc",!1,a)};case"sortUnSort":return{name:n("sortUnSort","Clear Sort"),icon:(0,z._createIconNoSpan)("sortUnSort",this.gos,null),action:()=>this.sortController.setSortForColumn(t,null,!1,a)};default:return(0,z._warnOnce)(`unknown menu item type ${e}`),null}}createAggregationSubMenu(e,t){const i=this.localeService.getLocaleTextFunc();let a;if(e.isPrimary())a=e;else{const t=e.getColDef().pivotValueColumn;a=(0,z._exists)(t)?t:void 0}const n=[];if(a){const e=a.isValueActive(),r=t.getFuncNames(a);n.push({name:i("noAggregation","None"),action:()=>{this.funcColsService.removeValueColumns([a],"contextMenu"),this.funcColsService.setColumnAggFunc(a,void 0,"contextMenu")},checked:!e}),r.forEach((r=>{n.push({name:i(r,t.getDefaultFuncLabel(r)),action:()=>{this.funcColsService.setColumnAggFunc(a,r,"contextMenu"),this.funcColsService.addValueColumns([a],"contextMenu")},checked:e&&a.getAggFunc()===r})}))}return n}},B=i(3423),V=class extends B.BeanStub{constructor(){super(...arguments),this.beanName="menuUtils"}wireBeans(e){this.focusService=e.focusService,this.headerNavigationService=e.headerNavigationService,this.visibleColsService=e.visibleColsService}restoreFocusOnClose(e,t,i,a){const{eventSource:n}=e,r=i instanceof KeyboardEvent;if(!a&&!r||!n)return;const o=this.gos.getDocument(),s=this.gos.getActiveDomElement();(t.contains(s)||s===o.body)&&this.focusHeaderCell(e)}closePopupAndRestoreFocusOnSelect(e,t,i){let a;i&&i.keyboardEvent&&(a=i.keyboardEvent),e(a&&{keyboardEvent:a});const n=this.focusService.getFocusedCell(),r=this.gos.getDocument(),o=this.gos.getActiveDomElement();if(!o||o===r.body)if(n){const{rowIndex:e,rowPinned:t,column:i}=n;this.focusService.setFocusedCell({rowIndex:e,column:i,rowPinned:t,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0})}else this.focusHeaderCell(t)}onContextMenu(e,t,i){if(!this.gos.get("allowContextMenuWithControlKey")&&e&&(e.ctrlKey||e.metaKey))return;if(e&&this.blockMiddleClickScrollsIfNeeded(e),this.gos.get("suppressContextMenu"))return;if(i(e??t.touches[0])){const i=e??t;i&&i.cancelable&&i.preventDefault()}}focusHeaderCell(e){const{column:t,columnIndex:i,headerPosition:a,eventSource:n}=e;if(this.visibleColsService.getAllCols().some((e=>e===t))&&n&&(0,B._isVisible)(n)){const e=this.focusService.findTabbableParent(n);e&&(t&&this.headerNavigationService.scrollToColumn(t),e.focus())}else if(a&&-1!==i){const e=this.visibleColsService.getAllCols(),t=e[i]||(0,B._last)(e);t&&this.focusService.focusHeaderPosition({headerPosition:{headerRowIndex:a.headerRowIndex,column:t}})}}blockMiddleClickScrollsIfNeeded(e){this.gos.get("suppressMiddleClickScrolls")&&2===e.which&&e.preventDefault()}},H="32.0.2",W={version:H,moduleName:`${c.ModuleNames.MenuModule}-core`,beans:[L,R,G,u,y,S,V],dependantModules:[d.EnterpriseCoreModule],userComponents:[{name:"agMenuItem",classImp:d.AgMenuItemRenderer}]},_={version:H,moduleName:`${c.ModuleNames.MenuModule}-api`,apiFunctions:{showContextMenu:function(e,t){const{rowNode:i,column:a,value:n,x:r,y:o}=t||{};let{x:s,y:l}=e.menuService.getContextMenuPosition(i,a);null!=r&&(s=r),null!=o&&(l=o),e.menuService.showContextMenu({mouseEvent:new MouseEvent("mousedown",{clientX:s,clientY:l}),rowNode:i,column:a,value:n})},showColumnChooser:function(e,t){e.menuService.showColumnChooser({chooserParams:t})},hideColumnChooser:function(e){e.menuService.hideColumnChooser()}},dependantModules:[W,c._CommunityMenuApiModule]},q={version:H,moduleName:c.ModuleNames.MenuModule,dependantModules:[W,_]}},2954:function(e,t,i){var a,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,l={};((e,t)=>{for(var i in t)n(e,i,{get:t[i],enumerable:!0})})(l,{MultiFilter:()=>g,MultiFilterModule:()=>b}),e.exports=(a=l,((e,t,i,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of o(t))s.call(e,l)||l===i||n(e,l,{get:()=>t[l],enumerable:!(a=r(t,l))||a.enumerable});return e})(n({},"__esModule",{value:!0}),a));var c=i(3423),d=i(8299),h=i(3423),u=i(8299),g=class e extends h.TabGuardComp{constructor(){super('<div class="ag-multi-filter ag-menu-list-compact"></div>'),this.filterDefs=[],this.filters=[],this.guiDestroyFuncs=[],this.filterGuis=[],this.activeFilterIndices=[],this.lastActivatedMenuItem=null,this.afterFiltersReadyFuncs=[]}wireBeans(e){this.filterManager=e.filterManager,this.userComponentFactory=e.userComponentFactory,this.focusService=e.focusService}postConstruct(){this.initialiseTabGuard({onFocusIn:e=>this.onFocusIn(e)})}static getFilterDefs(e){const{filters:t}=e;return t&&t.length>0?t:[{filter:"agTextColumnFilter"},{filter:"agSetColumnFilter"}]}init(t){this.params=t,this.filterDefs=e.getFilterDefs(t);const{column:i,filterChangedCallback:a}=t;this.column=i,this.filterChangedCallback=a;const n=[];return this.filterDefs.forEach(((e,t)=>{const i=this.createFilter(e,t);null!=i&&n.push(i)})),new h.AgPromise((e=>{h.AgPromise.all(n).then((t=>{this.filters=t,this.refreshGui("columnMenu").then((()=>{e()}))}))})).then((()=>{this.afterFiltersReadyFuncs.forEach((e=>e())),this.afterFiltersReadyFuncs.length=0}))}refreshGui(e){return e===this.lastOpenedInContainer?h.AgPromise.resolve():(this.tabGuardFeature.removeAllChildrenExceptTabGuards(),this.destroyChildren(),h.AgPromise.all(this.filters.map(((t,i)=>{const a=this.filterDefs[i],n=this.getFilterTitle(t,a);let r;if("subMenu"===a.display&&"toolPanel"!==e)r=this.insertFilterMenu(t,n).then((e=>e.getGui()));else if("subMenu"===a.display||"accordion"===a.display){const e=this.insertFilterGroup(t,n);r=h.AgPromise.resolve(e.getGui())}else r=h.AgPromise.resolve(t.getGui());return r}))).then((t=>{t.forEach(((e,t)=>{t>0&&this.appendChild((0,h._loadTemplate)('<div class="ag-filter-separator"></div>')),this.appendChild(e)})),this.filterGuis=t,this.lastOpenedInContainer=e})))}getFilterTitle(e,t){return null!=t.title?t.title:e instanceof h.ProvidedFilter?e.getFilterTitle():"Filter"}destroyChildren(){this.guiDestroyFuncs.forEach((e=>e())),this.guiDestroyFuncs.length=0,this.filterGuis.length=0}insertFilterMenu(e,t){const i=this.createBean(new u.AgMenuItemComponent);return i.init({menuItemDef:{name:t,subMenu:[],cssClasses:["ag-multi-filter-menu-item"],menuItem:u.AgMenuItemRenderer,menuItemParams:{cssClassPrefix:"ag-compact-menu-option",isCompact:!0}},level:0,isAnotherSubMenuOpen:()=>!1,childComponent:e,contextParams:{column:null,node:null,value:null}}).then((()=>{i.setParentComponent(this),this.guiDestroyFuncs.push((()=>this.destroyBean(i))),this.addManagedListeners(i,{menuItemActivated:e=>{this.lastActivatedMenuItem&&this.lastActivatedMenuItem!==e.menuItem&&this.lastActivatedMenuItem.deactivate(),this.lastActivatedMenuItem=e.menuItem}});const e=i.getGui();return i.addManagedElementListeners(e,{keydown:e=>{const{key:t}=e;switch(t){case h.KeyCode.UP:case h.KeyCode.RIGHT:case h.KeyCode.DOWN:case h.KeyCode.LEFT:e.preventDefault(),t===h.KeyCode.RIGHT&&i.openSubMenu(!0)}},focusin:()=>i.activate(),focusout:()=>{i.isSubMenuOpen()||i.isSubMenuOpening()||i.deactivate()}}),i}))}insertFilterGroup(e,t){const i=this.createBean(new u.AgGroupComponent({title:t,cssIdentifier:"multi-filter"}));return this.guiDestroyFuncs.push((()=>this.destroyBean(i))),i.addItem(e.getGui()),i.toggleGroupExpand(!1),e.afterGuiAttached&&i.addManagedListeners(i,{expanded:()=>e.afterGuiAttached({container:this.lastOpenedInContainer,suppressFocus:!0,hidePopup:this.hidePopup})}),i}isFilterActive(){return this.filters.some((e=>e.isFilterActive()))}getLastActiveFilterIndex(){return this.activeFilterIndices.length>0?this.activeFilterIndices[this.activeFilterIndices.length-1]:null}doesFilterPass(e,t){let i=!0;return this.filters.forEach((a=>{i&&a!==t&&a.isFilterActive()&&(i=a.doesFilterPass(e))})),i}getFilterType(){return"multi"}getModelFromUi(){return{filterType:this.getFilterType(),filterModels:this.filters.map((e=>{const t=e;return"function"==typeof t.getModelFromUi?t.getModelFromUi():null}))}}getModel(){if(!this.isFilterActive())return null;return{filterType:this.getFilterType(),filterModels:this.filters.map((e=>e.isFilterActive()?e.getModel():null))}}setModel(e){const t=(e,t)=>new h.AgPromise((i=>{const a=e.setModel(t);a?a.then((()=>i())):i()}));let i=[];return null==e?i=this.filters.map(((e,i)=>t(e,null).then((()=>{this.updateActiveList(i)})))):this.filters.forEach(((a,n)=>{const r=e.filterModels.length>n?e.filterModels[n]:null,o=t(a,r).then((()=>{this.updateActiveList(n)}));i.push(o)})),h.AgPromise.all(i).then((()=>{}))}applyModel(e="api"){let t=!1;return this.filters.forEach((i=>{i instanceof h.ProvidedFilter&&(t=i.applyModel(e)||t)})),t}getChildFilterInstance(e){return this.filters[e]}afterGuiAttached(e){let t;e?(this.hidePopup=e.hidePopup,t=this.refreshGui(e.container)):(this.hidePopup=void 0,t=h.AgPromise.resolve());const i=e?.suppressFocus;t.then((()=>{const{filterDefs:t}=this;let a=!!i;t&&(0,h._forEachReverse)(t,((t,n)=>{const r=0===n,o=t.display&&"inline"!==t.display,s=i||!r||o,l={...e??{},suppressFocus:s},c=this.filters?.[n];if(c&&(this.executeFunctionIfExistsOnFilter(c,"afterGuiAttached",l),r&&!s&&(a=!0)),!i&&r&&o){const e=this.filterGuis[n];e&&(this.focusService.focusInto(e)||e.focus(),a=!0)}}));const n=this.gos.getDocument(),r=this.gos.getActiveDomElement();a||r&&r!==n.body&&!this.getGui().contains(r)||this.forceFocusOutOfContainer(!0)}))}afterGuiDetached(){this.executeFunctionIfExists("afterGuiDetached")}onAnyFilterChanged(){this.executeFunctionIfExists("onAnyFilterChanged")}onNewRowsLoaded(){this.executeFunctionIfExists("onNewRowsLoaded")}destroy(){this.filters.forEach((e=>this.destroyBean(e))),this.filters.length=0,this.destroyChildren(),this.hidePopup=void 0,super.destroy()}executeFunctionIfExists(e,...t){(0,h._forEachReverse)(this.filters,(i=>{this.executeFunctionIfExistsOnFilter(i,e,t)}))}executeFunctionIfExistsOnFilter(e,t,...i){const a=e[t];"function"==typeof a&&a.apply(e,i)}createFilter(e,t){const{filterModifiedCallback:i,doesRowPassOtherFilter:a}=this.params;let n;const r={...this.filterManager.createFilterParams(this.column,this.column.getColDef()),filterModifiedCallback:i,filterChangedCallback:e=>{this.executeWhenAllFiltersReady((()=>this.filterChanged(t,e)))},doesRowPassOtherFilter:e=>a(e)&&this.doesFilterPass({node:e,data:e.data},n)},o=this.userComponentFactory.getFilterDetails(e,r,"agTextColumnFilter");if(!o)return null;const s=o.newAgStackInstance();return s&&s.then((e=>n=e)),s}executeWhenAllFiltersReady(e){this.filters&&this.filters.length>0?e():this.afterFiltersReadyFuncs.push(e)}updateActiveList(e){const t=this.filters[e];(0,h._removeFromArray)(this.activeFilterIndices,e),t.isFilterActive()&&this.activeFilterIndices.push(e)}filterChanged(e,t){this.updateActiveList(e),this.filterChangedCallback(t);const i=this.filters[e];this.filters.forEach((e=>{e!==i&&"function"==typeof e.onAnyFilterChanged&&e.onAnyFilterChanged()}))}onFocusIn(e){null==this.lastActivatedMenuItem||this.lastActivatedMenuItem.getGui().contains(e.target)||(this.lastActivatedMenuItem.deactivate(),this.lastActivatedMenuItem=null)}getModelAsString(e){if(!this.filters||!e?.filterModels?.length)return"";const t=this.getLastActiveFilterIndex()??0,i=this.filters[t];return i.getModelAsString?.(e.filterModels[t])??""}},p=i(3423),m=class extends p.Component{constructor(){super('<div class="ag-multi-floating-filter ag-floating-filter-input"></div>'),this.floatingFilters=[],this.compDetailsList=[]}wireBeans(e){this.userComponentFactory=e.userComponentFactory,this.filterManager=e.filterManager}init(e){this.params=e;const{compDetailsList:t}=this.getCompDetailsList(e);return this.setParams(t)}setParams(e){const t=[];return e.forEach((e=>{const i=e?.newAgStackInstance();null!=i&&(this.compDetailsList.push(e),t.push(i))})),p.AgPromise.all(t).then((e=>{e.forEach(((e,t)=>{this.floatingFilters.push(e);const i=e.getGui();this.appendChild(i),t>0&&(0,p._setDisplayed)(i,!1)}))}))}onParamsUpdated(e){this.refresh(e)}refresh(e){this.params=e;const{compDetailsList:t,floatingFilterParamsList:i}=this.getCompDetailsList(e);t.length===this.compDetailsList.length&&t.every(((e,t)=>!this.filterManager?.areFilterCompsDifferent(this.compDetailsList[t],e)))?i.forEach(((e,t)=>{const i=this.floatingFilters[t];let a=!1;if(i.refresh){null!==i.refresh(e)&&(a=!0)}a||i.onParamsUpdated?.(e)})):((0,p._clearElement)(this.getGui()),this.destroyBeans(this.floatingFilters),this.floatingFilters=[],this.compDetailsList=[],this.setParams(t))}getCompDetailsList(e){const t=[],i=[],a=e.filterParams;return g.getFilterDefs(a).forEach(((a,n)=>{const r={...e,parentFilterInstance:e=>{this.parentMultiFilterInstance((t=>{const i=t.getChildFilterInstance(n);null!=i&&e(i)}))}};(0,p._mergeDeep)(r.filterParams,a.filterParams);const o=this.getCompDetails(a,r);o&&(t.push(o),i.push(r))})),{compDetailsList:t,floatingFilterParamsList:i}}onParentModelChanged(e,t){t&&t.afterFloatingFilter||this.parentMultiFilterInstance((i=>{if(null==e)this.floatingFilters.forEach(((e,i)=>{e.onParentModelChanged(null,t),(0,p._setDisplayed)(e.getGui(),0===i)}));else{const a=i.getLastActiveFilterIndex();this.floatingFilters.forEach(((i,n)=>{const r=e.filterModels.length>n?e.filterModels[n]:null;i.onParentModelChanged(r,t);const o=null==a?0===n:n===a;(0,p._setDisplayed)(i.getGui(),o)}))}}))}destroy(){this.destroyBeans(this.floatingFilters),this.floatingFilters.length=0,super.destroy()}getCompDetails(e,t){const i=(0,p.getDefaultFloatingFilterType)(this.frameworkOverrides,e,(()=>this.filterManager.getDefaultFloatingFilter(this.params.column)))??"agReadOnlyFloatingFilter";return this.userComponentFactory.getFloatingFilterCompDetails(e,t,i)}parentMultiFilterInstance(e){this.params.parentFilterInstance((t=>{if(!(t instanceof g))throw new Error("AG Grid - MultiFloatingFilterComp expects MultiFilter as its parent");e(t)}))}},f="32.0.2",v={version:f,moduleName:`${c.ModuleNames.MultiFilterModule}-core`,userComponents:[{name:"agMultiColumnFilter",classImp:g},{name:"agMenuItem",classImp:d.AgMenuItemRenderer}],dependantModules:[d.EnterpriseCoreModule,c._ColumnFilterModule]},y={version:f,moduleName:"@ag-grid-enterprise/multi-floating-filter",userComponents:[{name:"agMultiColumnFloatingFilter",classImp:m}],dependantModules:[v,c._ReadOnlyFloatingFilterModule]},b={version:f,moduleName:c.ModuleNames.MultiFilterModule,dependantModules:[v,y]}},1060:function(e,t,i){var a,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,l={};((e,t)=>{for(var i in t)n(e,i,{get:t[i],enumerable:!0})})(l,{RangeSelectionModule:()=>M}),e.exports=(a=l,((e,t,i,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of o(t))s.call(e,l)||l===i||n(e,l,{get:()=>t[l],enumerable:!(a=r(t,l))||a.enumerable});return e})(n({},"__esModule",{value:!0}),a));var c=i(3423),d=i(8299);var h=i(3423),u=class extends h.BeanStub{constructor(){super(...arguments),this.beanName="rangeService",this.cellRanges=[],this.bodyScrollListener=this.onBodyScroll.bind(this),this.dragging=!1,this.intersectionRange=!1}wireBeans(e){this.rowModel=e.rowModel,this.dragService=e.dragService,this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.cellNavigationService=e.cellNavigationService,this.pinnedRowModel=e.pinnedRowModel,this.rowPositionUtils=e.rowPositionUtils,this.cellPositionUtils=e.cellPositionUtils,this.ctrlsService=e.ctrlsService,this.valueService=e.valueService}postConstruct(){const e=this.onColumnsChanged.bind(this),t=()=>this.removeAllCellRanges(),i=this.refreshLastRangeStart.bind(this);this.addManagedEventListeners({newColumnsLoaded:e,columnVisible:e,columnValueChanged:e,columnPivotModeChanged:t,columnRowGroupChanged:t,columnPivotChanged:t,columnGroupOpened:i,columnMoved:i,columnPinned:i}),this.ctrlsService.whenReady((e=>{const t=e.gridBodyCtrl;this.autoScrollService=new h.AutoScrollService({scrollContainer:t.getBodyViewportElement(),scrollAxis:"xy",getVerticalPosition:()=>t.getScrollFeature().getVScrollPosition().top,setVerticalPosition:e=>t.getScrollFeature().setVerticalScrollPosition(e),getHorizontalPosition:()=>t.getScrollFeature().getHScrollPosition().left,setHorizontalPosition:e=>t.getScrollFeature().setHorizontalScrollPosition(e),shouldSkipVerticalScroll:()=>!this.gos.isDomLayout("normal"),shouldSkipHorizontalScroll:()=>!t.getScrollFeature().isHorizontalScrollShowing()})}))}onColumnsChanged(){this.refreshLastRangeStart();const e=this.visibleColsService.getAllCols();this.cellRanges.forEach((t=>{const i=t.columns;t.columns=t.columns.filter((t=>t.isVisible()&&-1!==e.indexOf(t)));!(0,h._areEqual)(i,t.columns)&&this.dispatchChangedEvent(!1,!0,t.id)}));const t=this.cellRanges.length;this.cellRanges=this.cellRanges.filter((e=>e.columns.length>0)),t>this.cellRanges.length&&this.dispatchChangedEvent(!1,!0)}refreshLastRangeStart(){const e=(0,h._last)(this.cellRanges);e&&this.refreshRangeStart(e)}isContiguousRange(e){const t=e.columns;if(!t.length)return!1;const i=this.visibleColsService.getAllCols(),a=t.map((e=>i.indexOf(e))).sort(((e,t)=>e-t));return(0,h._last)(a)-a[0]+1===t.length}getRangeStartRow(e){if(e.startRow&&e.endRow)return this.rowPositionUtils.before(e.startRow,e.endRow)?e.startRow:e.endRow;return{rowIndex:0,rowPinned:this.pinnedRowModel.getPinnedTopRowCount()>0?"top":null}}getRangeEndRow(e){if(e.startRow&&e.endRow)return this.rowPositionUtils.before(e.startRow,e.endRow)?e.endRow:e.startRow;const t=this.pinnedRowModel.getPinnedBottomRowCount();return t>0?{rowIndex:t-1,rowPinned:"bottom"}:{rowIndex:this.rowModel.getRowCount()-1,rowPinned:null}}setRangeToCell(e,t=!1){if(!this.gos.get("enableRangeSelection"))return;const i=this.calculateColumnsBetween(e.column,e.column);if(!i)return;(this.gos.get("suppressMultiRangeSelection")||!t||(0,h._missing)(this.cellRanges))&&this.removeAllCellRanges(!0);const a={rowIndex:e.rowIndex,rowPinned:e.rowPinned},n={startRow:a,endRow:a,columns:i,startColumn:e.column};this.cellRanges.push(n),this.setNewestRangeStartCell(e),this.onDragStop(),this.dispatchChangedEvent(!0,!0)}extendLatestRangeToCell(e){if(this.isEmpty()||!this.newestRangeStartCell)return;const t=(0,h._last)(this.cellRanges);this.updateRangeEnd(t,e)}updateRangeEnd(e,t,i=!1){const a=t.column,n=this.calculateColumnsBetween(e.startColumn,a);n&&!this.isLastCellOfRange(e,t)&&(e.columns=n,e.endRow={rowIndex:t.rowIndex,rowPinned:t.rowPinned},i||this.dispatchChangedEvent(!0,!0,e.id))}refreshRangeStart(e){const{startColumn:t,columns:i}=e,a=(t,i)=>{const a=e.columns.filter((e=>e!==t));t?(e.startColumn=t,e.columns=i?[t,...a]:[...a,t]):e.columns=a},{left:n,right:r}=this.getRangeEdgeColumns(e);if(t===i[0]&&t!==n)return void a(n,!0);t===(0,h._last)(i)&&t===r&&a(r,!1)}getRangeEdgeColumns(e){const t=this.visibleColsService.getAllCols(),i=e.columns.map((e=>t.indexOf(e))).filter((e=>e>-1)).sort(((e,t)=>e-t));return{left:t[i[0]],right:t[(0,h._last)(i)]}}extendLatestRangeInDirection(e){if(this.isEmpty()||!this.newestRangeStartCell)return;const t=e.key,i=e.ctrlKey||e.metaKey,a=(0,h._last)(this.cellRanges),n=this.newestRangeStartCell,r=a.columns[0],o=(0,h._last)(a.columns),s=a.endRow.rowIndex,l=a.endRow.rowPinned,c={column:n.column===r?o:r,rowIndex:s,rowPinned:l},d=this.cellNavigationService.getNextCellToFocus(t,c,i);return d?(this.setCellRange({rowStartIndex:n.rowIndex,rowStartPinned:n.rowPinned,rowEndIndex:d.rowIndex,rowEndPinned:d.rowPinned,columnStart:n.column,columnEnd:d.column}),d):void 0}setCellRange(e){this.gos.get("enableRangeSelection")&&(this.removeAllCellRanges(!0),this.addCellRange(e))}setCellRanges(e){(0,h._shallowCompare)(this.cellRanges,e)||(this.removeAllCellRanges(!0),e.forEach((e=>{e.columns&&e.startRow&&this.setNewestRangeStartCell({rowIndex:e.startRow.rowIndex,rowPinned:e.startRow.rowPinned,column:e.columns[0]}),this.cellRanges.push(e)})),this.dispatchChangedEvent(!1,!0))}setNewestRangeStartCell(e){this.newestRangeStartCell=e}clearCellRangeCellValues(e){let{cellRanges:t}=e;const{cellEventSource:i="rangeService",dispatchWrapperEvents:a,wrapperEventSource:n="deleteKey"}=e;if(a){const e={type:"rangeDeleteStart",source:n};this.eventService.dispatchEvent(e)}if(t||(t=this.cellRanges),t.forEach((e=>{this.forEachRowInRange(e,(t=>{const a=this.rowPositionUtils.getRowNode(t);if(a)for(let t=0;t<e.columns.length;t++){const n=this.columnModel.getCol(e.columns[t]);if(!n||!n.isCellEditable(a))continue;const r=this.valueService.parseValue(n,a,"",a.getValueFromValueService(n))??null;a.setDataValue(n,r,i)}}))})),a){const e={type:"rangeDeleteEnd",source:n};this.eventService.dispatchEvent(e)}}createCellRangeFromCellRangeParams(e){return this.createPartialCellRangeFromRangeParams(e,!1)}createPartialCellRangeFromRangeParams(e,t){let i,a=!1;if(e.columns)i=e.columns.map((e=>this.columnModel.getCol(e))).filter((e=>e));else{const t=this.columnModel.getCol(e.columnStart),n=this.columnModel.getCol(e.columnEnd);if(!t||!n)return;i=this.calculateColumnsBetween(t,n),i&&i.length&&(a=i[0]!==t)}if(!i||!t&&0===i.length)return;return{startRow:null!=e.rowStartIndex?{rowIndex:e.rowStartIndex,rowPinned:e.rowStartPinned||null}:void 0,endRow:null!=e.rowEndIndex?{rowIndex:e.rowEndIndex,rowPinned:e.rowEndPinned||null}:void 0,columns:i,startColumn:a?(0,h._last)(i):i[0]}}addCellRange(e){if(!this.gos.get("enableRangeSelection"))return;const t=this.createCellRangeFromCellRangeParams(e);t&&(t.startRow&&this.setNewestRangeStartCell({rowIndex:t.startRow.rowIndex,rowPinned:t.startRow.rowPinned,column:t.startColumn}),this.cellRanges.push(t),this.dispatchChangedEvent(!1,!0,t.id))}getCellRanges(){return this.cellRanges}isEmpty(){return 0===this.cellRanges.length}isMoreThanOneCell(){const e=this.cellRanges.length;if(0===e)return!1;if(e>1)return!0;const t=this.cellRanges[0],i=this.getRangeStartRow(t),a=this.getRangeEndRow(t);return i.rowPinned!==a.rowPinned||i.rowIndex!==a.rowIndex||1!==t.columns.length}areAllRangesAbleToMerge(){const e=new Map;if(this.cellRanges.length<=1)return!0;let t;this.cellRanges.forEach((t=>{this.forEachRowInRange(t,(i=>{const a=`${i.rowPinned||"normal"}_${i.rowIndex}`,n=e.get(a),r=t.columns.map((e=>e.getId()));if(n){const e=r.filter((e=>-1===n.indexOf(e)));n.push(...e)}else e.set(a,r)}))}));for(const i of e.values()){const e=i.sort().join();if(void 0!==t){if(t!==e)return!1}else t=e}return!0}forEachRowInRange(e,t){const i=this.getRangeStartRow(e),a=this.getRangeEndRow(e);let n=i;for(;n&&(t(n),!this.rowPositionUtils.sameRow(n,a));)n=this.cellNavigationService.getRowBelow(n)}removeAllCellRanges(e){this.isEmpty()||(this.onDragStop(),this.cellRanges.length=0,e||this.dispatchChangedEvent(!1,!0))}onBodyScroll(){this.dragging&&this.lastMouseEvent&&this.onDragging(this.lastMouseEvent)}isCellInAnyRange(e){return this.getCellRangeCount(e)>0}isCellInSpecificRange(e,t){const i=null!==t.columns&&(0,h._includes)(t.columns,e.column),a=this.isRowInRange(e.rowIndex,e.rowPinned,t);return i&&a}isLastCellOfRange(e,t){const{startRow:i,endRow:a}=e,n=this.rowPositionUtils.before(i,a)?a:i,r=t.rowIndex===n.rowIndex&&t.rowPinned===n.rowPinned,o=e.columns[0],s=(0,h._last)(e.columns),l=e.startColumn===o?s:o;return t.column===l&&r}isBottomRightCell(e,t){const i=this.visibleColsService.getAllCols(),a=e.columns.map((e=>i.indexOf(e))).sort(((e,t)=>e-t)),{startRow:n,endRow:r}=e,o=this.rowPositionUtils.before(n,r)?r:n,s=i.indexOf(t.column)===(0,h._last)(a),l=t.rowIndex===o.rowIndex&&(0,h._makeNull)(t.rowPinned)===(0,h._makeNull)(o.rowPinned);return s&&l}getCellRangeCount(e){return this.isEmpty()?0:this.cellRanges.filter((t=>this.isCellInSpecificRange(e,t))).length}isRowInRange(e,t,i){const a=this.getRangeStartRow(i),n=this.getRangeEndRow(i),r={rowIndex:e,rowPinned:t||null},o=r.rowIndex===a.rowIndex&&r.rowPinned==a.rowPinned,s=r.rowIndex===n.rowIndex&&r.rowPinned==n.rowPinned;if(o||s)return!0;const l=!this.rowPositionUtils.before(r,a),c=this.rowPositionUtils.before(r,n);return l&&c}getDraggingRange(){return this.draggingRange}onDragStart(e){if(!this.gos.get("enableRangeSelection"))return;const{ctrlKey:t,metaKey:i,shiftKey:a}=e,n=t||i,r=!!!this.gos.get("suppressMultiRangeSelection")&&n,o=a&&(0,h._existsAndNotEmpty)(this.cellRanges);r||o&&!(0,h._exists)((0,h._last)(this.cellRanges).type)||this.removeAllCellRanges(!0);const s=this.dragService.getStartTarget();if(s&&this.updateValuesOnMove(s),this.lastCellHovered){if(this.dragging=!0,this.lastMouseEvent=e,this.intersectionRange=r&&this.getCellRangeCount(this.lastCellHovered)>1,o||this.setNewestRangeStartCell(this.lastCellHovered),this.cellRanges.length>0)this.draggingRange=(0,h._last)(this.cellRanges);else{const e={rowIndex:this.lastCellHovered.rowIndex,rowPinned:this.lastCellHovered.rowPinned};this.draggingRange={startRow:e,endRow:e,columns:[this.lastCellHovered.column],startColumn:this.newestRangeStartCell.column},this.cellRanges.push(this.draggingRange)}this.ctrlsService.getGridBodyCtrl().addScrollEventListener(this.bodyScrollListener),this.dispatchChangedEvent(!0,!1,this.draggingRange.id)}}intersectLastRange(e){if(e&&this.dragging)return;if(this.gos.get("suppressMultiRangeSelection"))return;if(this.isEmpty())return;const t=this.rowPositionUtils,i=(0,h._last)(this.cellRanges),a=this.getRangeStartRow(i),n=this.getRangeEndRow(i),r=[];this.cellRanges.slice(0,-1).forEach((e=>{const o=this.getRangeStartRow(e),s=this.getRangeEndRow(e),l=e.columns,c=l.filter((e=>-1===i.columns.indexOf(e)));if(c.length===l.length)return void r.push(e);if(t.before(n,o)||t.before(s,a))return void r.push(e);const d=r.length;if(t.before(o,a)){const e={columns:[...l],startColumn:i.startColumn,startRow:{...o},endRow:this.cellNavigationService.getRowAbove(a)};r.push(e)}if(c.length>0){const e={columns:c,startColumn:(0,h._includes)(c,i.startColumn)?i.startColumn:c[0],startRow:this.rowMax([{...a},{...o}]),endRow:this.rowMin([{...n},{...s}])};r.push(e)}t.before(n,s)&&r.push({columns:[...l],startColumn:i.startColumn,startRow:this.cellNavigationService.getRowBelow(n),endRow:{...s}}),r.length-d==1&&(r[r.length-1].id=e.id)})),this.cellRanges=r,e&&this.dispatchChangedEvent(!1,!0)}rowMax(e){let t;return e.forEach((e=>{(void 0===t||this.rowPositionUtils.before(t,e))&&(t=e)})),t}rowMin(e){let t;return e.forEach((e=>{(void 0===t||this.rowPositionUtils.before(e,t))&&(t=e)})),t}updateValuesOnMove(e){const t=(0,h._getCtrlForEventTarget)(this.gos,e,h.CellCtrl.DOM_DATA_KEY_CELL_CTRL),i=t?.getCellPosition();this.cellHasChanged=!1,!i||this.lastCellHovered&&this.cellPositionUtils.equals(i,this.lastCellHovered)||(this.lastCellHovered&&(this.cellHasChanged=!0),this.lastCellHovered=i)}onDragging(e){if(!this.dragging||!e)return;this.updateValuesOnMove(e.target),this.lastMouseEvent=e;const t=this.lastCellHovered,i=e=>t&&t.rowPinned===e&&this.newestRangeStartCell.rowPinned===e,a=i("top")||i("bottom");if(this.autoScrollService.check(e,a),!this.cellHasChanged)return;const n=this.calculateColumnsBetween(this.newestRangeStartCell.column,t.column);n&&(this.draggingRange.endRow={rowIndex:t.rowIndex,rowPinned:t.rowPinned},this.draggingRange.columns=n,this.dispatchChangedEvent(!1,!1,this.draggingRange.id))}onDragStop(){if(!this.dragging)return;const{id:e}=this.draggingRange;this.autoScrollService.ensureCleared(),this.ctrlsService.getGridBodyCtrl().removeScrollEventListener(this.bodyScrollListener),this.lastMouseEvent=null,this.dragging=!1,this.draggingRange=void 0,this.lastCellHovered=void 0,this.intersectionRange&&(this.intersectionRange=!1,this.intersectLastRange()),this.dispatchChangedEvent(!1,!0,e)}dispatchChangedEvent(e,t,i){const a={type:"rangeSelectionChanged",started:e,finished:t,id:i};this.eventService.dispatchEvent(a)}calculateColumnsBetween(e,t){const i=this.visibleColsService.getAllCols(),a=e===t,n=i.indexOf(e),r=e=>(0,h._warnOnce)(`column ${e.getId()} is not visible`);if(n<0)return void r(e);const o=a?n:i.indexOf(t);if(o<0)return void r(t);if(a)return[e];const s=Math.min(n,o),l=s===n?o:n,c=[];for(let e=s;e<=l;e++)c.push(i[e]);return c}},g=i(3423),p=i(3423),m=i(3423),f=class extends m.Component{constructor(){super(...arguments),this.changedCalculatedValues=!1,this.dragging=!1,this.shouldDestroyOnEndDragging=!1}wireBeans(e){this.dragService=e.dragService,this.rangeService=e.rangeService,this.mouseEventService=e.mouseEventService,this.rowPositionUtils=e.rowPositionUtils,this.cellPositionUtils=e.cellPositionUtils,this.ctrlsService=e.ctrlsService}postConstruct(){this.dragService.addDragSource({dragStartPixels:0,eElement:this.getGui(),onDragStart:this.onDragStart.bind(this),onDragging:e=>{this.dragging=!0,this.rangeService.autoScrollService.check(e),this.changedCalculatedValues&&(this.onDrag(e),this.changedCalculatedValues=!1)},onDragStop:e=>{this.dragging=!1,this.onDragEnd(e),this.clearValues(),this.rangeService.autoScrollService.ensureCleared(),document.body.classList.remove(this.getDraggingCssClass()),this.shouldDestroyOnEndDragging&&this.destroy()}}),this.addManagedElementListeners(this.getGui(),{mousedown:this.preventRangeExtension.bind(this)})}isDragging(){return this.dragging}getCellCtrl(){return this.cellCtrl}setCellCtrl(e){this.cellCtrl=e}getCellRange(){return this.cellRange}setCellRange(e){this.cellRange=e}getRangeStartRow(){return this.rangeStartRow}setRangeStartRow(e){this.rangeStartRow=e}getRangeEndRow(){return this.rangeEndRow}setRangeEndRow(e){this.rangeEndRow=e}getLastCellHovered(){return this.lastCellHovered}preventRangeExtension(e){e.stopPropagation()}onDragStart(e){[this.cellHoverListener]=this.addManagedElementListeners(this.ctrlsService.get("gridCtrl").getGui(),{mousemove:this.updateValuesOnMove.bind(this)}),document.body.classList.add(this.getDraggingCssClass())}getDraggingCssClass(){return`ag-dragging-${this.type===m.SelectionHandleType.FILL?"fill":"range"}-handle`}updateValuesOnMove(e){const t=this.mouseEventService.getCellPositionForEvent(e);!t||this.lastCellHovered&&this.cellPositionUtils.equals(t,this.lastCellHovered)||(this.lastCellHovered=t,this.changedCalculatedValues=!0)}getType(){return this.type}refresh(e){const t=this.getCellCtrl(),i=this.getGui(),a=(0,m._last)(this.rangeService.getCellRanges()),n=a.startRow,r=a.endRow;if(n&&r){this.rowPositionUtils.before(r,n)?(this.setRangeStartRow(r),this.setRangeEndRow(n)):(this.setRangeStartRow(n),this.setRangeEndRow(r))}if(t!==e||!(0,m._isVisible)(i)){this.setCellCtrl(e);const t=e.getComp().getParentOfValue();t&&t.appendChild(i)}this.setCellRange(a)}clearValues(){this.lastCellHovered=void 0,this.removeListeners()}removeListeners(){this.cellHoverListener&&(this.cellHoverListener(),this.cellHoverListener=void 0)}destroy(){if(!this.shouldDestroyOnEndDragging&&this.isDragging())return(0,m._setDisplayed)(this.getGui(),!1),void(this.shouldDestroyOnEndDragging=!0);this.shouldDestroyOnEndDragging=!1,super.destroy(),this.removeListeners();const e=this.getGui();e.parentElement&&e.parentElement.removeChild(e)}};function v(e){const t=e.length;let i=0;if(t<=1)return e;for(let t=0;t<e.length;t++){const a=e[t],n=a.toString().split("e-");n.length>1?i=Math.max(i,parseInt(n[1],10)):Math.floor(a)!==a&&(i=Math.max(i,a.toString().split(".")[1].length))}let a=0,n=0,r=0,o=0,s=0;for(let i=0;i<t;i++)s=e[i],a+=i,n+=s,o+=i*i,r+=i*s;const l=(t*r-a*n)/(t*o-a*a),c=n/t-l*a/t,d=[];for(let e=0;e<=t;e++)d.push(parseFloat((e*l+c).toFixed(i)));return d}var y=class extends f{constructor(){super('<div class="ag-fill-handle"></div>'),this.markedCells=[],this.cellValues=[],this.isUp=!1,this.isLeft=!1,this.isReduce=!1,this.type=p.SelectionHandleType.FILL}wireBeans(e){super.wireBeans(e),this.valueService=e.valueService,this.navigationService=e.navigationService,this.cellNavigationService=e.cellNavigationService,this.visibleColsService=e.visibleColsService}updateValuesOnMove(e){super.updateValuesOnMove(e),this.initialXY||(this.initialXY=this.mouseEventService.getNormalisedPosition(e));const{x:t,y:i}=this.initialXY,{x:a,y:n}=this.mouseEventService.getNormalisedPosition(e),r=Math.abs(t-a),o=Math.abs(i-n),s=this.getFillHandleDirection();let l;l="xy"===s?r>o?"x":"y":s,l!==this.dragAxis&&(this.dragAxis=l,this.changedCalculatedValues=!0)}onDrag(e){if(!this.initialPosition){const e=this.getCellCtrl();if(!e)return;this.initialPosition=e.getCellPosition()}const t=this.getLastCellHovered();t&&this.markPathFrom(this.initialPosition,t)}onDragEnd(e){if(this.initialXY=null,!this.markedCells.length)return;const t="x"===this.dragAxis,i=this.getCellRange(),a=i.columns.length,n=this.getRangeStartRow(),r=this.getRangeEndRow();let o;if(this.isUp||this.isLeft){const e=t?n:this.lastCellMarked;o=this.rangeService.createCellRangeFromCellRangeParams({rowStartIndex:e.rowIndex,rowStartPinned:e.rowPinned,columnStart:t?this.lastCellMarked.column:i.columns[0],rowEndIndex:r.rowIndex,rowEndPinned:r.rowPinned,columnEnd:i.columns[a-1]})}else o=this.rangeService.createCellRangeFromCellRangeParams({rowStartIndex:n.rowIndex,rowStartPinned:n.rowPinned,columnStart:i.columns[0],rowEndIndex:t?r.rowIndex:this.lastCellMarked.rowIndex,rowEndPinned:t?r.rowPinned:this.lastCellMarked.rowPinned,columnEnd:t?this.lastCellMarked.column:i.columns[a-1]});o&&(this.raiseFillStartEvent(),this.handleValueChanged(i,o,e),this.rangeService.setCellRanges([o]),this.raiseFillEndEvent(i,o))}getFillHandleDirection(){const e=this.gos.get("fillHandleDirection");return e?"x"!==e&&"y"!==e&&"xy"!==e?((0,p._warnOnce)("valid values for fillHandleDirection are 'x', 'y' and 'xy'. Default to 'xy'."),"xy"):e:"xy"}raiseFillStartEvent(){this.eventService.dispatchEvent({type:"fillStart"})}raiseFillEndEvent(e,t){const i={type:"fillEnd",initialRange:e,finalRange:t};this.eventService.dispatchEvent(i)}handleValueChanged(e,t,i){const a=this.rangeService.getRangeEndRow(e),n=this.rangeService.getRangeStartRow(e),r=this.rangeService.getRangeEndRow(t),o=this.rangeService.getRangeStartRow(t),s="y"===this.dragAxis;if(this.isReduce&&!this.gos.get("suppressClearOnFillReduction")){const i=s?e.columns:e.columns.filter((e=>t.columns.indexOf(e)<0)),n=s?this.cellNavigationService.getRowBelow(r):o;return void(n&&this.clearCellsInRange(n,a,i))}const l=[],c=[],d=[],h=[];let u=!0,g=0;const m=()=>{l.length=0,c.length=0,d.length=0,h.length=0,g=0},f=(t,i)=>{let c=this.isUp?a:n,d=!1;for(s&&(u=!0,m());!d&&c;){const h=this.rowPositionUtils.getRowNode(c);if(!h)break;s&&t?v(l,t,h,(()=>!this.rowPositionUtils.sameRow(c,this.isUp?n:a))):i&&(u=!0,m(),i.forEach((t=>v(l,t,h,(()=>t!==(this.isLeft?e.columns[0]:(0,p._last)(e.columns))))))),d=this.rowPositionUtils.sameRow(c,this.isUp?o:r),c=this.isUp?this.cellNavigationService.getRowAbove(c):this.cellNavigationService.getRowBelow(c)}},v=(e,t,a,n)=>{let r,o=!1;if(u)r=this.valueService.getValue(t,a),c.push(r),d.push(this.valueService.getValue(t,a,void 0,!0)),h.push(this.valueService.formatValue(t,a,r)),u=n();else{const{value:n,fromUserFunction:s,sourceCol:l,sourceRowNode:u}=this.processValues({event:i,values:e,initialValues:c,initialNonAggregatedValues:d,initialFormattedValues:h,col:t,rowNode:a,idx:g++});if(r=n,t.isCellEditable(a)){const e=this.valueService.getValue(t,a);s||(l&&!1!==l.getColDef()?.useValueFormatterForExport&&(r=this.valueService.formatValue(l,u,r)??r),!1!==t.getColDef().useValueParserForImport&&(r=this.valueService.parseValue(t,a,l?r:(0,p._toStringOrNull)(r),e))),s&&e===r?o=!0:a.setDataValue(t,r,"rangeService")}}o||e.push({value:r,column:t,rowNode:a})};if(s)e.columns.forEach((e=>{f(e)}));else{const e=this.isLeft?[...t.columns].reverse():t.columns;f(void 0,e)}}clearCellsInRange(e,t,i){const a={startRow:e,endRow:t,columns:i,startColumn:i[0]};this.rangeService.clearCellRangeCellValues({cellRanges:[a]})}processValues(e){const{event:t,values:i,initialValues:a,initialNonAggregatedValues:n,initialFormattedValues:r,col:o,rowNode:s,idx:l}=e,c=this.gos.getCallback("fillOperation");let d;if(d="y"===this.dragAxis?this.isUp?"up":"down":this.isLeft?"left":"right",c){const e=c({event:t,values:i.map((({value:e})=>e)),initialValues:a,initialNonAggregatedValues:n,initialFormattedValues:r,currentIndex:l,currentCellValue:this.valueService.getValue(o,s),direction:d,column:o,rowNode:s});if(!1!==e)return{value:e,fromUserFunction:!0}}const h=!i.some((({value:e})=>{const t=parseFloat(e);return isNaN(t)||t.toString()!==e.toString()}));if(t.altKey||!h){if(h&&1===a.length){const e=this.isUp||this.isLeft?-1:1;return{value:parseFloat((0,p._last)(i).value)+1*e,fromUserFunction:!1}}const{value:e,column:t,rowNode:n}=i[l%i.length];return{value:e,fromUserFunction:!1,sourceCol:t,sourceRowNode:n}}return{value:(0,p._last)(v(i.map((({value:e})=>Number(e))))),fromUserFunction:!1}}clearValues(){this.clearMarkedPath(),this.clearCellValues(),this.lastCellMarked=void 0,super.clearValues()}clearMarkedPath(){this.markedCells.forEach((e=>{if(!e.isAlive())return;const t=e.getComp();t.addOrRemoveCssClass("ag-selection-fill-top",!1),t.addOrRemoveCssClass("ag-selection-fill-right",!1),t.addOrRemoveCssClass("ag-selection-fill-bottom",!1),t.addOrRemoveCssClass("ag-selection-fill-left",!1)})),this.markedCells.length=0,this.isUp=!1,this.isLeft=!1,this.isReduce=!1}clearCellValues(){this.cellValues.length=0}markPathFrom(e,t){if(this.clearMarkedPath(),this.clearCellValues(),"y"===this.dragAxis){if(this.rowPositionUtils.sameRow(t,e))return;const i=this.rowPositionUtils.before(t,e),a=this.getRangeStartRow(),n=this.getRangeEndRow();i&&(t.rowPinned==a.rowPinned&&t.rowIndex>=a.rowIndex||a.rowPinned!=n.rowPinned&&t.rowPinned==n.rowPinned&&t.rowIndex<=n.rowIndex)?(this.reduceVertical(e,t),this.isReduce=!0):(this.extendVertical(e,t,i),this.isReduce=!1)}else{const i=e.column,a=t.column;if(i===a)return;const n=this.visibleColsService.getAllCols(),r=n.indexOf(i),o=n.indexOf(a);o<=r&&o>=n.indexOf(this.getCellRange().columns[0])?(this.reduceHorizontal(e,t),this.isReduce=!0):(this.extendHorizontal(e,t,o<r),this.isReduce=!1)}this.lastCellMarked=t}extendVertical(e,t,i){const{navigationService:a,rangeService:n}=this;let r=e;do{const o=this.getCellRange(),s=o.columns.length;for(let l=0;l<s;l++){const c=o.columns[l],d={...{rowIndex:r.rowIndex,rowPinned:r.rowPinned},column:c},h=n.isCellInSpecificRange(d,o),u=this.rowPositionUtils.sameRow(r,e);if(i&&(this.isUp=!0),!u){const e=a.getCellByPosition(d);if(e){this.markedCells.push(e);const a=e.getComp();h||(a.addOrRemoveCssClass("ag-selection-fill-left",0===l),a.addOrRemoveCssClass("ag-selection-fill-right",l===s-1)),a.addOrRemoveCssClass(i?"ag-selection-fill-top":"ag-selection-fill-bottom",this.rowPositionUtils.sameRow(r,t))}}}if(this.rowPositionUtils.sameRow(r,t))break}while(r=i?this.cellNavigationService.getRowAbove(r):this.cellNavigationService.getRowBelow(r))}reduceVertical(e,t){let i=e;do{const e=this.getCellRange(),a=e.columns.length,n=this.rowPositionUtils.sameRow(i,t);for(let n=0;n<a;n++){const a={...{rowIndex:i.rowIndex,rowPinned:i.rowPinned},column:e.columns[n]},r=this.navigationService.getCellByPosition(a);if(r){this.markedCells.push(r);r.getComp().addOrRemoveCssClass("ag-selection-fill-bottom",this.rowPositionUtils.sameRow(i,t))}}if(n)break}while(i=this.cellNavigationService.getRowAbove(i))}extendHorizontal(e,t,i){const a=this.visibleColsService.getAllCols(),n=a.indexOf(i?t.column:e.column),r=a.indexOf(i?this.getCellRange().columns[0]:t.column),o=i?0:1,s=a.slice(n+o,r+o),l=this.getRangeStartRow(),c=this.getRangeEndRow();s.forEach((e=>{let t=l,a=!1;do{a=this.rowPositionUtils.sameRow(t,c);const n=this.navigationService.getCellByPosition({rowIndex:t.rowIndex,rowPinned:t.rowPinned,column:e});if(n){this.markedCells.push(n);const a=n.getComp();a.addOrRemoveCssClass("ag-selection-fill-top",this.rowPositionUtils.sameRow(t,l)),a.addOrRemoveCssClass("ag-selection-fill-bottom",this.rowPositionUtils.sameRow(t,c)),i?(this.isLeft=!0,a.addOrRemoveCssClass("ag-selection-fill-left",e===s[0])):a.addOrRemoveCssClass("ag-selection-fill-right",e===(0,p._last)(s))}t=this.cellNavigationService.getRowBelow(t)}while(!a)}))}reduceHorizontal(e,t){const i=this.visibleColsService.getAllCols(),a=i.indexOf(t.column),n=i.indexOf(e.column),r=i.slice(a,n),o=this.getRangeStartRow(),s=this.getRangeEndRow();r.forEach((e=>{let t=o,i=!1;do{i=this.rowPositionUtils.sameRow(t,s);const a=this.navigationService.getCellByPosition({rowIndex:t.rowIndex,rowPinned:t.rowPinned,column:e});if(a){this.markedCells.push(a);a.getComp().addOrRemoveCssClass("ag-selection-fill-right",e===r[0])}t=this.cellNavigationService.getRowBelow(t)}while(!i)}))}refresh(e){const t=this.rangeService.getCellRanges()[0];t.startRow&&t.endRow?super.refresh(e):this.destroy()}},b=i(3423),C=class extends f{constructor(){super('<div class="ag-range-handle"></div>'),this.type=b.SelectionHandleType.RANGE,this.rangeFixed=!1}onDrag(e){const t=this.getLastCellHovered();if(!t)return;const i=this.rangeService.getCellRanges(),a=(0,b._last)(i);if(this.rangeFixed||(this.fixRangeStartEnd(a),this.rangeFixed=!0),this.endPosition={rowIndex:t.rowIndex,rowPinned:t.rowPinned,column:t.column},2===i.length&&i[0].type===b.CellRangeType.DIMENSION&&a.type===b.CellRangeType.VALUE){!this.rowPositionUtils.sameRow(this.endPosition,this.rangeService.getRangeEndRow(a))&&this.rangeService.updateRangeEnd(i[0],{...this.endPosition,column:i[0].columns[0]},!0)}this.rangeService.extendLatestRangeToCell(this.endPosition)}onDragEnd(e){const t=(0,b._last)(this.rangeService.getCellRanges());this.fixRangeStartEnd(t),this.rangeFixed=!1}fixRangeStartEnd(e){const t=this.rangeService.getRangeStartRow(e),i=this.rangeService.getRangeEndRow(e),a=e.columns[0];e.startRow=t,e.endRow=i,e.startColumn=a}},w=class extends g.BeanStub{constructor(){super(...arguments),this.beanName="selectionHandleFactory"}createSelectionHandle(e){return this.createBean(e===g.SelectionHandleType.RANGE?new C:new y)}},S="32.0.2",x={version:S,moduleName:`${c.ModuleNames.RangeSelectionModule}-core`,beans:[u,w],dependantModules:[d.EnterpriseCoreModule]},k={version:S,moduleName:`${c.ModuleNames.RangeSelectionModule}-api`,apiFunctions:{getCellRanges:function(e){return e.rangeService?.getCellRanges()??null},addCellRange:function(e,t){e.rangeService?.addCellRange(t)},clearRangeSelection:function(e){e.rangeService?.removeAllCellRanges()}},dependantModules:[x]},M={version:S,moduleName:c.ModuleNames.RangeSelectionModule,dependantModules:[x,k]}},3715:function(e,t,i){var a,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,l={};((e,t)=>{for(var i in t)n(e,i,{get:t[i],enumerable:!0})})(l,{RichSelectModule:()=>p}),e.exports=(a=l,((e,t,i,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of o(t))s.call(e,l)||l===i||n(e,l,{get:()=>t[l],enumerable:!(a=r(t,l))||a.enumerable});return e})(n({},"__esModule",{value:!0}),a));var c=i(3423),d=i(8299),h=i(3423),u=i(8299),g=class extends h.PopupComponent{constructor(){super('<div class="ag-cell-edit-wrapper"></div>')}init(e){this.params=e;const{cellStartedEdit:t,values:i}=e;(0,h._missing)(i)&&(0,h._warnOnce)("agRichSelectCellEditor requires cellEditorParams.values to be set");const{params:a,valuesPromise:n}=this.buildRichSelectParams();this.richSelect=this.createManagedBean(new u.AgRichSelect(a)),this.richSelect.addCssClass("ag-cell-editor"),this.appendChild(this.richSelect),n&&n.then((e=>{this.richSelect.setValueList({valueList:e,refresh:!0});const t=this.getSearchStringCallback(e);t&&this.richSelect.setSearchStringCreator(t)})),this.addManagedListeners(this.richSelect,{fieldPickerValueSelected:this.onEditorPickerValueSelected.bind(this)}),this.focusAfterAttached=t}onEditorPickerValueSelected(e){setTimeout((()=>this.params.stopEditing(!e.fromEnterKey)))}buildRichSelectParams(){const{cellRenderer:e,cellHeight:t,value:i,values:a,formatValue:n,searchDebounceDelay:r,valueListGap:o,valueListMaxHeight:s,valueListMaxWidth:l,allowTyping:c,filterList:d,searchType:u,highlightMatch:g,valuePlaceholder:p,eventKey:m,multiSelect:f,suppressDeselectAll:v,suppressMultiSelectPillRenderer:y}=this.params,b={value:i,cellRenderer:e,cellRowHeight:t,searchDebounceDelay:r,valueFormatter:n,pickerAriaLabelKey:"ariaLabelRichSelectField",pickerAriaLabelValue:"Rich Select Field",pickerType:"virtual-list",pickerGap:o,allowTyping:c,filterList:d,searchType:u,highlightMatch:g,maxPickerHeight:s,maxPickerWidth:l,placeholder:p,initialInputValue:1===m?.length?m:void 0,multiSelect:f,suppressDeselectAll:v,suppressMultiSelectPillRenderer:y};let C,w;return C="function"==typeof a?a(this.params):a??[],Array.isArray(C)?(b.valueList=C,b.searchStringCreator=this.getSearchStringCallback(C)):w=C,f&&c&&(this.params.allowTyping=b.allowTyping=!1,(0,h._warnOnce)("agRichSelectCellEditor cannot have `multiSelect` and `allowTyping` set to `true`. AllowTyping has been turned off.")),{params:b,valuesPromise:w}}getSearchStringCallback(e){const{colDef:t}=this.params;if("object"==typeof e[0]&&t.keyCreator)return e=>e.map((e=>{const i=this.gos.addGridCommonParams({value:e,colDef:this.params.colDef,column:this.params.column,node:this.params.node,data:this.params.data});return t.keyCreator(i)}))}afterGuiAttached(){const{focusAfterAttached:e,params:t}=this;setTimeout((()=>{if(!this.isAlive())return;if(e){const e=this.richSelect.getFocusableElement();e.focus();const{allowTyping:t,eventKey:i}=this.params;!t||i&&1===i.length||e.select()}this.richSelect.showPicker();const{eventKey:i}=t;i&&1===i?.length&&this.richSelect.searchTextFromString(i)}))}focusIn(){this.richSelect.getFocusableElement().focus()}getValue(){return this.richSelect.getValue()}isPopup(){return!1}},p={version:"32.0.2",moduleName:c.ModuleNames.RichSelectModule,beans:[],userComponents:[{name:"agRichSelect",classImp:g},{name:"agRichSelectCellEditor",classImp:g}],dependantModules:[d.EnterpriseCoreModule,c._EditCoreModule]}},9942:function(e,t,i){var a,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,l={};((e,t)=>{for(var i in t)n(e,i,{get:t[i],enumerable:!0})})(l,{PivotDropZonePanel:()=>N,RowGroupDropZonePanel:()=>z,RowGroupingModule:()=>ce,ValuesDropZonePanel:()=>he}),e.exports=(a=l,((e,t,i,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of o(t))s.call(e,l)||l===i||n(e,l,{get:()=>t[l],enumerable:!(a=r(t,l))||a.enumerable});return e})(n({},"__esModule",{value:!0}),a));var c=i(3423),d=i(8299),h=i(3423),u={sum:"Sum",first:"First",last:"Last",min:"Min",max:"Max",count:"Count",avg:"Average"},g=class extends h.BeanStub{constructor(){super(...arguments),this.beanName="aggFuncService",this.aggFuncsMap={},this.initialised=!1}postConstruct(){this.init()}init(){this.initialised||(this.initialiseWithDefaultAggregations(),this.addAggFuncs(this.gos.get("aggFuncs")))}initialiseWithDefaultAggregations(){const e=this.aggFuncsMap;e.sum=p,e.first=m,e.last=f,e.min=v,e.max=y,e.count=b,e.avg=C,this.initialised=!0}isAggFuncPossible(e,t){const i=this.getFuncNames(e),a=(0,h._includes)(i,t),n=(0,h._exists)(this.aggFuncsMap[t]);return a&&n}getDefaultFuncLabel(e){return u[e]??e}getDefaultAggFunc(e){const t=e.getColDef().defaultAggFunc;if((0,h._exists)(t)&&this.isAggFuncPossible(e,t))return t;if(this.isAggFuncPossible(e,"sum"))return"sum";const i=this.getFuncNames(e);return(0,h._existsAndNotEmpty)(i)?i[0]:null}addAggFuncs(e){this.init(),(0,h._iterateObject)(e,((e,t)=>{this.aggFuncsMap[e]=t}))}getAggFunc(e){return this.init(),this.aggFuncsMap[e]}getFuncNames(e){const t=e.getColDef().allowedAggFuncs;return null==t?Object.keys(this.aggFuncsMap).sort():t}clear(){this.aggFuncsMap={}}};function p(e){const{values:t}=e;let i=null;for(let e=0;e<t.length;e++){const a=t[e];"number"==typeof a?null===i?i=a:i+="number"==typeof i?a:BigInt(a):"bigint"==typeof a&&(i=null===i?a:("bigint"==typeof i?i:BigInt(i))+a)}return i}function m(e){return e.values.length>0?e.values[0]:null}function f(e){return e.values.length>0?(0,h._last)(e.values):null}function v(e){const{values:t}=e;let i=null;for(let e=0;e<t.length;e++){const a=t[e];"number"!=typeof a&&"bigint"!=typeof a||!(null===i||i>a)||(i=a)}return i}function y(e){const{values:t}=e;let i=null;for(let e=0;e<t.length;e++){const a=t[e];"number"!=typeof a&&"bigint"!=typeof a||!(null===i||i<a)||(i=a)}return i}function b(e){const{values:t}=e;let i=0;for(let e=0;e<t.length;e++){const a=t[e];i+=null!=a&&"number"==typeof a.value?a.value:1}const a=e.rowNode?.aggData?.[e.column.getColId()];return a&&a.value===i?a:{value:i,toString:function(){return this.value.toString()},toNumber:function(){return this.value}}}function C(e){const{values:t}=e;let i=0,a=0;for(let e=0;e<t.length;e++){const n=t[e];let r=null;"number"==typeof n||"bigint"==typeof n?(r=n,a++):null==n||"number"!=typeof n.value&&"bigint"!=typeof n.value||"number"!=typeof n.count||(r=n.value*("number"==typeof n.value?n.count:BigInt(n.count)),a+=n.count),"number"==typeof r?i+="number"==typeof i?r:BigInt(r):"bigint"==typeof r&&(i=("bigint"==typeof i?i:BigInt(i))+r)}let n=null;a>0&&(n=i/("number"==typeof i?a:BigInt(a)));const r=e.rowNode?.aggData?.[e.column?.getColId()];return r&&r.count===a&&r.value===n?r:{count:a,value:n,toString:function(){return"number"==typeof this.value||"bigint"==typeof this.value?this.value.toString():""},toNumber:function(){return this.value}}}var w=i(3423),S=class extends w.BeanStub{constructor(){super(...arguments),this.beanName="aggregationStage"}wireBeans(e){this.columnModel=e.columnModel,this.aggFuncService=e.aggFuncService,this.funcColsService=e.funcColsService,this.pivotResultColsService=e.pivotResultColsService,this.valueService=e.valueService}execute(e){const t=(0,w._missingOrEmpty)(this.funcColsService.getValueColumns()),i=!this.gos.getCallback("getGroupRowAgg"),a=e.changedPath&&e.changedPath.isActive();if(t&&i&&a)return;const n=this.createAggDetails(e);this.recursivelyCreateAggData(n)}createAggDetails(e){const t=this.columnModel.isPivotActive(),i=this.funcColsService.getValueColumns(),a=t?this.funcColsService.getPivotColumns():[];return{alwaysAggregateAtRootLevel:this.gos.get("alwaysAggregateAtRootLevel"),groupIncludeTotalFooter:!!this.gos.getGrandTotalRow(),changedPath:e.changedPath,valueColumns:i,pivotColumns:a,filteredOnly:!this.isSuppressAggFilteredOnly(),userAggFunc:this.gos.getCallback("getGroupRowAgg")}}isSuppressAggFilteredOnly(){return void 0!==this.gos.getGroupAggFiltering()||this.gos.get("suppressAggFilteredOnly")}recursivelyCreateAggData(e){e.changedPath.forEachChangedNodeDepthFirst((t=>{if(!t.hasChildren())return void(t.aggData&&t.setAggData(null));if(-1===t.level&&!e.groupIncludeTotalFooter){const i=!this.columnModel.isPivotMode();if(!e.alwaysAggregateAtRootLevel&&i)return void t.setAggData(null)}this.aggregateRowNode(t,e)}),!0)}aggregateRowNode(e,t){const i=0===t.valueColumns.length,a=0===t.pivotColumns.length;let n;n=t.userAggFunc?t.userAggFunc({nodes:e.childrenAfterFilter}):i?null:a?this.aggregateRowNodeUsingValuesOnly(e,t):this.aggregateRowNodeUsingValuesAndPivot(e),e.setAggData(n),e.sibling&&e.sibling.setAggData(n)}aggregateRowNodeUsingValuesAndPivot(e){const t={},i=this.pivotResultColsService.getPivotResultCols()?.list??[];let a=!0;for(let n=0;n<i.length;n++){const r=i[n],o=r.getColDef();if(null!=o.pivotTotalColumnIds){a=!1;continue}const s=o.pivotKeys??[];let l;l=e.leafGroup?this.getValuesFromMappedSet(e.childrenMapped,s,o.pivotValueColumn):this.getValuesPivotNonLeaf(e,o.colId),t[o.colId]=this.aggregateValues(l,o.pivotValueColumn.getAggFunc(),o.pivotValueColumn,e,r)}if(!a)for(let a=0;a<i.length;a++){const n=i[a],r=n.getColDef();if(null==r.pivotTotalColumnIds||!r.pivotTotalColumnIds.length)continue;const o=r.pivotTotalColumnIds.map((e=>t[e]));t[r.colId]=this.aggregateValues(o,r.pivotValueColumn.getAggFunc(),r.pivotValueColumn,e,n)}return t}aggregateRowNodeUsingValuesOnly(e,t){const i={},a=t.changedPath.isActive()?t.changedPath.getValueColumnsForNode(e,t.valueColumns):t.valueColumns,n=t.changedPath.isActive()?t.changedPath.getNotValueColumnsForNode(e,t.valueColumns):null,r=this.getValuesNormal(e,a,t.filteredOnly),o=e.aggData;return a.forEach(((t,a)=>{i[t.getId()]=this.aggregateValues(r[a],t.getAggFunc(),t,e)})),n&&o&&n.forEach((e=>{i[e.getId()]=o[e.getId()]})),i}getValuesPivotNonLeaf(e,t){return e.childrenAfterFilter.map((e=>e.aggData[t]))}getValuesFromMappedSet(e,t,i){let a=e;for(let e=0;e<t.length;e++){const i=t[e];a=a?a[i]:null}return a?a.map((e=>this.valueService.getValue(i,e))):[]}getValuesNormal(e,t,i){const a=[];t.forEach((()=>a.push([])));const n=t.length,r=i?e.childrenAfterFilter:e.childrenAfterGroup,o=r.length;for(let e=0;e<o;e++){const i=r[e];for(let e=0;e<n;e++){const n=t[e],r=this.valueService.getValue(n,i);a[e].push(r)}}return a}aggregateValues(e,t,i,a,n){const r="string"==typeof t?this.aggFuncService.getAggFunc(t):t;if("function"!=typeof r)return(0,w._errorOnce)(`unrecognised aggregation function ${t}`),null;return r(this.gos.addGridCommonParams({values:e,column:i,colDef:i?i.getColDef():void 0,pivotResultColumn:n,rowNode:a,data:a?a.data:void 0}))}},x=i(3423),k=class extends x.BeanStub{constructor(){super(...arguments),this.beanName="autoColService"}wireBeans(e){this.columnModel=e.columnModel,this.columnNameService=e.columnNameService,this.columnFactory=e.columnFactory}createAutoCols(e){const t=[],i=this.gos.get("treeData");let a=this.gos.isGroupMultiAutoColumn();return i&&a&&((0,x._warnOnce)('you cannot mix groupDisplayType = "multipleColumns" with treeData, only one column can be used to display groups when doing tree data'),a=!1),a?e.forEach(((e,i)=>{t.push(this.createOneAutoCol(e,i))})):t.push(this.createOneAutoCol()),t}updateAutoCols(e,t){e.forEach(((e,i)=>this.updateOneAutoCol(e,i,t)))}createOneAutoCol(e,t){let i;i=e?`${x.GROUP_AUTO_COLUMN_ID}-${e.getId()}`:x.GROUP_AUTO_COLUMN_ID;const a=this.createAutoColDef(i,e,t);a.colId=i;const n=new x.AgColumn(a,null,i,!0);return this.createBean(n),n}updateOneAutoCol(e,t,i){const a=e.getColDef(),n="string"==typeof a.showRowGroup?a.showRowGroup:void 0,r=null!=n?this.columnModel.getColDefCol(n):void 0,o=this.createAutoColDef(e.getId(),r??void 0,t);e.setColDef(o,null,i),this.columnFactory.applyColumnState(e,o,i)}createAutoColDef(e,t,i){let a=this.createBaseColDef(t);const n=this.gos.get("autoGroupColumnDef");if((0,x._mergeDeep)(a,n),a=this.columnFactory.addColumnDefaultAndTypes(a,e),!this.gos.get("treeData")){(0,x._missing)(a.field)&&(0,x._missing)(a.valueGetter)&&(0,x._missing)(a.filterValueGetter)&&"agGroupColumnFilter"!==a.filter&&(a.filter=!1)}i&&i>0&&(a.headerCheckboxSelection=!1);const r=this.gos.isColumnsSortingCoupledToGroup(),o=a.valueGetter||null!=a.field;return r&&!o&&(a.sortIndex=void 0,a.initialSort=void 0),a}createBaseColDef(e){const t=this.gos.get("autoGroupColumnDef"),i={headerName:this.localeService.getLocaleTextFunc()("group","Group")};if(t&&(t.cellRenderer||t.cellRendererSelector)||(i.cellRenderer="agGroupCellRenderer"),e){const t=e.getColDef();Object.assign(i,{headerName:this.columnNameService.getDisplayNameForColumn(e,"header"),headerValueGetter:t.headerValueGetter}),t.cellRenderer&&Object.assign(i,{cellRendererParams:{innerRenderer:t.cellRenderer,innerRendererParams:t.cellRendererParams}}),i.showRowGroup=e.getColId()}else i.showRowGroup=!0;return i}},M=i(3423),R=i(3423),D=i(3423),A=i(3423),E=i(8299),T=i(3423),P=i(8299),F=class extends P.PillDragComp{constructor(e,t,i,a,n){super(t,i,n,'\n <span role="option">\n <span data-ref="eDragHandle" class="ag-drag-handle ag-column-drop-cell-drag-handle" role="presentation"></span>\n <span data-ref="eText" class="ag-column-drop-cell-text" aria-hidden="true"></span>\n <ag-sort-indicator data-ref="eSortIndicator"></ag-sort-indicator>\n <span data-ref="eButton" class="ag-column-drop-cell-button" role="presentation"></span>\n </span>\n ',[T.SortIndicatorSelector]),this.column=e,this.dropZonePurpose=a,this.eSortIndicator=T.RefPlaceholder,this.popupShowing=!1}wireBeans(e){super.wireBeans(e),this.popupService=e.popupService,this.sortController=e.sortController,this.columnModel=e.columnModel,this.columnNameService=e.columnNameService,this.funcColsService=e.funcColsService,this.aggFuncService=e.aggFuncService}postConstruct(){this.displayName=this.columnNameService.getDisplayNameForColumn(this.column,"columnDrop"),super.postConstruct(),this.setupSort(),this.addManagedEventListeners({sortChanged:()=>{this.setupAria()}}),this.isGroupingZone()&&this.addManagedPropertyListener("groupLockGroupColumns",(()=>{this.refreshRemove(),this.refreshDraggable(),this.setupAria()}))}getItem(){return this.column}getDisplayName(){return this.displayName}getTooltip(){return this.column.getColDef().headerTooltip}addAdditionalAriaInstructions(e,t){const i=this.gos.get("rowGroupPanelSuppressSort"),a=this.gos.get("functionsReadOnly");if(this.isAggregationZone()&&!a){const i=t("ariaDropZoneColumnValueItemDescription","Press ENTER to change the aggregation type");e.push(i)}if(this.isGroupingZone()&&this.column.isSortable()&&!i){const i=t("ariaDropZoneColumnGroupItemDescription","Press ENTER to sort");e.push(i)}super.addAdditionalAriaInstructions(e,t)}isDraggable(){return this.isReadOnly()}isRemovable(){return this.isReadOnly()}isReadOnly(){return!this.isGroupingAndLocked()&&!this.gos.get("functionsReadOnly")}getAriaDisplayName(){const e=this.localeService.getLocaleTextFunc(),{name:t,aggFuncName:i}=this.getColumnAndAggFuncName(),a=e("ariaDropZoneColumnComponentAggFuncSeparator"," of "),n={asc:e("ariaDropZoneColumnComponentSortAscending","ascending"),desc:e("ariaDropZoneColumnComponentSortDescending","descending")},r=this.column.getSort(),o=this.gos.get("rowGroupPanelSuppressSort");return[i&&`${i}${a}`,t,this.isGroupingZone()&&!o&&r&&`, ${n[r]}`].filter((e=>!!e)).join("")}getColumnAndAggFuncName(){const e=this.displayName;let t="";if(this.isAggregationZone()){const e=this.column.getAggFunc(),i="string"==typeof e?e:"agg";t=this.localeService.getLocaleTextFunc()(i,i)}return{name:e,aggFuncName:t}}setupSort(){const e=this.column.isSortable(),t=this.isGroupingZone();if(e&&t&&!this.gos.get("rowGroupPanelSuppressSort")){this.eSortIndicator.setupSort(this.column,!0);const e=e=>{e.preventDefault();const t="ctrl"===this.gos.get("multiSortKey")?e.ctrlKey||e.metaKey:e.shiftKey;this.sortController.progressSort(this.column,t,"uiColumnSorted")};this.addGuiEventListener("click",e),this.addGuiEventListener("keydown",(t=>{t.key===T.KeyCode.ENTER&&this.isGroupingZone()&&e(t)}))}}getDefaultIconName(){return"hide"}createGetDragItem(){const{column:e}=this;return()=>{const t={};return t[e.getId()]=e.isVisible(),{columns:[e],visibleState:t}}}setupComponents(){super.setupComponents(),this.isAggregationZone()&&!this.gos.get("functionsReadOnly")&&this.addGuiEventListener("click",this.onShowAggFuncSelection.bind(this))}onKeyDown(e){super.onKeyDown(e);e.key===T.KeyCode.ENTER&&this.isAggregationZone()&&!this.gos.get("functionsReadOnly")&&(e.preventDefault(),this.onShowAggFuncSelection())}getDisplayValue(){const{name:e,aggFuncName:t}=this.getColumnAndAggFuncName();return this.isAggregationZone()?`${t}(${e})`:e}onShowAggFuncSelection(){if(this.popupShowing)return;this.popupShowing=!0;const e=new P.VirtualList({cssIdentifier:"select-agg-func"}),t=this.aggFuncService.getFuncNames(this.column),i=this.getGui(),a=e.getGui();e.setModel({getRow:function(e){return t[e]},getRowCount:function(){return t.length}}),this.createBean(e);const n=(0,T._loadTemplate)('<div class="ag-select-agg-func-popup"></div>');n.style.top="0px",n.style.left="0px",n.appendChild(a),n.style.width=`${i.clientWidth}px`;const[r]=this.addManagedElementListeners(n,{focusout:e=>{!n.contains(e.relatedTarget)&&s&&s.hideFunc()}}),o=this.localeService.getLocaleTextFunc(),s=this.popupService.addPopup({modal:!0,eChild:n,closeOnEsc:!0,closedCallback:t=>{this.destroyBean(e),this.popupShowing=!1,"Escape"===t?.key&&i.focus(),r&&r()},ariaLabel:o("ariaLabelAggregationFunction","Aggregation Function")});s&&e.setComponentCreator(this.createAggSelect.bind(this,s.hideFunc)),e.addGuiEventListener("keydown",(t=>{if(t.key===T.KeyCode.ENTER||t.key===T.KeyCode.SPACE){const t=e.getLastFocusedRow();if(null==t)return;const i=e.getComponentAt(t);i&&i.selectItem()}})),this.popupService.positionPopupByComponent({type:"aggFuncSelect",eventSource:i,ePopup:n,keepWithinBounds:!0,column:this.column,position:"under"}),e.refresh();let l=t.findIndex((e=>e===this.column.getAggFunc()));-1===l&&(l=0),e.focusRow(l)}createAggSelect(e,t){const i=this.localeService.getLocaleTextFunc(),a=t.toString(),n=i(a,a);return new I((()=>{e(),this.funcColsService.setColumnAggFunc(this.column,t,"toolPanelDragAndDrop")}),n)}isGroupingAndLocked(){return this.isGroupingZone()&&this.columnModel.isColGroupLocked(this.column)}isAggregationZone(){return"aggregation"===this.dropZonePurpose}isGroupingZone(){return"rowGroup"===this.dropZonePurpose}getDragSourceType(){return T.DragSourceType.ToolPanel}destroy(){super.destroy(),this.column=null}},I=class extends T.Component{constructor(e,t){super('<div class="ag-select-agg-func-item"/>'),this.selectItem=e,this.getGui().innerText=t,this.addGuiEventListener("click",this.selectItem)}},L=class extends E.PillDropZonePanel{constructor(e,t){super(e),this.dropZonePurpose=t}wireBeans(e){super.wireBeans(e),this.columnModel=e.columnModel,this.funcColsService=e.funcColsService}init(e){super.init(e),this.addManagedEventListeners({newColumnsLoaded:this.refreshGui.bind(this)}),this.addManagedPropertyListeners(["functionsReadOnly","rowGroupPanelSuppressSort","groupLockGroupColumns"],this.refreshGui.bind(this))}getItems(e){return e.columns??[]}isInterestedIn(e){return e===A.DragSourceType.HeaderCell||e===A.DragSourceType.ToolPanel}minimumAllowedNewInsertIndex(){const e=this.gos.get("groupLockGroupColumns"),t=this.funcColsService.getRowGroupColumns().length;return-1===e?t:Math.min(e,t)}showOrHideColumnOnExit(e){return this.isRowGroupPanel()&&!this.gos.get("suppressRowGroupHidesColumns")&&!e.fromNudge}handleDragEnterEnd(e){if(this.showOrHideColumnOnExit(e)){const t=e.dragSource.getDragItem().columns;this.setColumnsVisible(t,!1,"uiColumnDragged")}}handleDragLeaveEnd(e){if(this.showOrHideColumnOnExit(e)){const t=e.dragSource.getDragItem();this.setColumnsVisible(t.columns,!0,"uiColumnDragged")}}setColumnsVisible(e,t,i){if(e){const a=e.filter((e=>!e.getColDef().lockVisible));this.columnModel.setColsVisible(a,t,i)}}isRowGroupPanel(){return"rowGroup"===this.dropZonePurpose}createPillComponent(e,t,i,a){return new F(e,t,i,this.dropZonePurpose,a)}},N=class extends L{constructor(e){super(e,"pivot")}postConstruct(){const e=this.localeService.getLocaleTextFunc(),t=e("pivotColumnsEmptyMessage","Drag here to set column labels"),i=e("pivots","Column Labels");super.init({icon:(0,D._createIconNoSpan)("pivotPanel",this.gos,null),emptyMessage:t,title:i}),this.addManagedEventListeners({newColumnsLoaded:this.refresh.bind(this),columnPivotChanged:this.refresh.bind(this),columnPivotModeChanged:this.checkVisibility.bind(this)}),this.refresh()}getAriaLabel(){return this.localeService.getLocaleTextFunc()("ariaPivotDropZonePanelLabel","Column Labels")}getTooltipParams(){const e=super.getTooltipParams();return e.location="pivotColumnsList",e}refresh(){this.checkVisibility(),this.refreshGui()}checkVisibility(){const e=this.columnModel.isPivotMode();if(this.isHorizontal())switch(this.gos.get("pivotPanelShow")){case"always":this.setDisplayed(e);break;case"onlyWhenPivoting":{const t=this.columnModel.isPivotActive();this.setDisplayed(e&&t);break}default:this.setDisplayed(!1)}else this.setDisplayed(e)}isItemDroppable(e,t){return!(this.gos.get("functionsReadOnly")||!e.isPrimary())&&(e.isAllowPivot()&&(!e.isPivotActive()||this.isSourceEventFromTarget(t)))}updateItems(e){this.funcColsService.setPivotColumns(e,"toolPanelUi")}getIconName(){return this.isPotentialDndItems()?"pivot":"notAllowed"}getExistingItems(){return this.funcColsService.getPivotColumns()}},O=i(3423),z=class extends L{constructor(e){super(e,"rowGroup")}postConstruct(){const e=this.localeService.getLocaleTextFunc(),t=e("rowGroupColumnsEmptyMessage","Drag here to set row groups"),i=e("groups","Row Groups");super.init({icon:(0,O._createIconNoSpan)("rowGroupPanel",this.gos,null),emptyMessage:t,title:i}),this.addManagedEventListeners({columnRowGroupChanged:this.refreshGui.bind(this)})}getAriaLabel(){return this.localeService.getLocaleTextFunc()("ariaRowGroupDropZonePanelLabel","Row Groups")}getTooltipParams(){const e=super.getTooltipParams();return e.location="rowGroupColumnsList",e}isItemDroppable(e,t){return!(this.gos.get("functionsReadOnly")||!e.isPrimary())&&(e.isAllowRowGroup()&&(!e.isRowGroupActive()||this.isSourceEventFromTarget(t)))}updateItems(e){this.funcColsService.setRowGroupColumns(e,"toolPanelUi")}getIconName(){return this.isPotentialDndItems()?"group":"notAllowed"}getExistingItems(){return this.funcColsService.getRowGroupColumns()}},G={selector:"AG-GRID-HEADER-DROP-ZONES",component:class extends R.Component{wireBeans(e){this.columnModel=e.columnModel,this.funcColsService=e.funcColsService}constructor(){super()}postConstruct(){this.setGui(this.createNorthPanel());const e=this.onRowGroupChanged.bind(this);this.addManagedEventListeners({columnRowGroupChanged:e,newColumnsLoaded:e}),this.addManagedPropertyListener("rowGroupPanelShow",e),this.addManagedPropertyListener("pivotPanelShow",(()=>this.onPivotPanelShow())),this.onRowGroupChanged()}createNorthPanel(){const e=document.createElement("div");e.classList.add("ag-column-drop-wrapper"),(0,R._setAriaRole)(e,"presentation"),this.rowGroupComp=new z(!0),this.createManagedBean(this.rowGroupComp),this.pivotComp=new N(!0),this.createManagedBean(this.pivotComp),e.appendChild(this.rowGroupComp.getGui()),e.appendChild(this.pivotComp.getGui());const t=this.onDropPanelVisible.bind(this);return this.addManagedListeners(this.rowGroupComp,{displayChanged:t}),this.addManagedListeners(this.pivotComp,{displayChanged:t}),this.onDropPanelVisible(),e}onDropPanelVisible(){const e=this.rowGroupComp.isDisplayed()&&this.pivotComp.isDisplayed(),t="ag-column-drop-horizontal-half-width";this.rowGroupComp.addOrRemoveCssClass(t,e),this.pivotComp.addOrRemoveCssClass(t,e)}onRowGroupChanged(){if(!this.rowGroupComp)return;const e=this.gos.get("rowGroupPanelShow");if("always"===e)this.rowGroupComp.setDisplayed(!0);else if("onlyWhenGrouping"===e){const e=!this.funcColsService.isRowGroupEmpty();this.rowGroupComp.setDisplayed(e)}else this.rowGroupComp.setDisplayed(!1)}onPivotPanelShow(){if(!this.pivotComp)return;const e=this.gos.get("pivotPanelShow");if("always"===e)this.pivotComp.setDisplayed(!0);else if("onlyWhenPivoting"===e){const e=this.columnModel.isPivotActive();this.pivotComp.setDisplayed(e)}else this.pivotComp.setDisplayed(!1)}}},B=class extends M.BeanStub{constructor(){super(...arguments),this.beanName="columnDropZonesService"}getDropZoneSelector(){return G}},V=i(3423),H=class extends V.BeanStub{constructor(){super(...arguments),this.beanName="filterAggregatesStage"}wireBeans(e){this.filterManager=e.filterManager,this.columnModel=e.columnModel}execute(e){const t=this.columnModel.isPivotMode(),i=this.filterManager?.isAggregateFilterPresent()||this.filterManager?.isAggregateQuickFilterPresent(),a=this.gos.getGroupAggFiltering()||(t?e=>e.node.leafGroup:e=>!e.node.group),{changedPath:n}=e,r=(e,t=!1)=>{e.childrenAfterFilter&&(e.childrenAfterAggFilter=e.childrenAfterFilter,t&&e.childrenAfterAggFilter.forEach((e=>r(e,t))),this.setAllChildrenCount(e)),e.sibling&&(e.sibling.childrenAfterAggFilter=e.childrenAfterAggFilter)};n.forEachChangedNodeDepthFirst(i?e=>{e.childrenAfterAggFilter=e.childrenAfterFilter?.filter((e=>{if(a({node:e})){if(this.filterManager.doesRowPassAggregateFilters({rowNode:e}))return r(e,!0),!0}const t=e.childrenAfterAggFilter?.length;return t}))||null,this.setAllChildrenCount(e),e.sibling&&(e.sibling.childrenAfterAggFilter=e.childrenAfterAggFilter)}:r,!0)}setAllChildrenCountTreeData(e){let t=0;e.childrenAfterAggFilter.forEach((e=>{t++,t+=e.allChildrenCount})),e.setAllChildrenCount(t)}setAllChildrenCountGridGrouping(e){let t=0;e.childrenAfterAggFilter.forEach((e=>{e.group?t+=e.allChildrenCount:t++})),e.setAllChildrenCount(t)}setAllChildrenCount(e){e.hasChildren()?this.gos.get("treeData")?this.setAllChildrenCountTreeData(e):this.setAllChildrenCountGridGrouping(e):e.setAllChildrenCount(null)}},W=i(3423),_=class extends W.TabGuardComp{constructor(){super('\n <div class="ag-group-filter">\n <div data-ref="eGroupField"></div>\n <div data-ref="eUnderlyingFilter"></div>\n </div>\n '),this.eGroupField=W.RefPlaceholder,this.eUnderlyingFilter=W.RefPlaceholder}wireBeans(e){this.filterManager=e.filterManager,this.columnNameService=e.columnNameService,this.funcColsService=e.funcColsService}postConstruct(){this.initialiseTabGuard({})}init(e){return this.params=e,this.validateParams(),this.updateGroups().then((()=>{this.addManagedEventListeners({columnRowGroupChanged:()=>this.onColumnRowGroupChanged()})}))}validateParams(){const{colDef:e}=this.params;e.field&&(0,W._warnOnce)('Group Column Filter does not work with the colDef property "field". This property will be ignored.'),e.filterValueGetter&&(0,W._warnOnce)('Group Column Filter does not work with the colDef property "filterValueGetter". This property will be ignored.'),e.filterParams&&(0,W._warnOnce)('Group Column Filter does not work with the colDef property "filterParams". This property will be ignored.')}updateGroups(){const e=this.updateGroupField();return this.getUnderlyingFilters(e)}getSourceColumns(){if(this.groupColumn=this.params.column,this.gos.get("treeData"))return(0,W._warnOnce)("Group Column Filter does not work with Tree Data enabled. Please disable Tree Data, or use a different filter."),[];const e=this.funcColsService.getSourceColumnsForGroupColumn(this.groupColumn);return e||((0,W._warnOnce)("Group Column Filter only works on group columns. Please use a different filter."),[])}updateGroupField(){(0,W._clearElement)(this.eGroupField),this.eGroupFieldSelect&&this.destroyBean(this.eGroupFieldSelect);const e=this.getSourceColumns(),t=e.filter((e=>e.isFilterAllowed()));return t.length?(1===e.length?(this.selectedColumn=t[0],(0,W._setDisplayed)(this.eGroupField,!1)):(this.selectedColumn&&t.some((e=>e.getId()===this.selectedColumn.getId()))||(this.selectedColumn=t[0]),this.createGroupFieldSelectElement(t),this.eGroupField.appendChild(this.eGroupFieldSelect.getGui()),this.eGroupField.appendChild((0,W._loadTemplate)('<div class="ag-filter-separator"></div>')),(0,W._setDisplayed)(this.eGroupField,!0)),t):(this.selectedColumn=void 0,(0,W._setDisplayed)(this.eGroupField,!1),null)}createGroupFieldSelectElement(e){this.eGroupFieldSelect=this.createManagedBean(new W.AgSelect);const t=this.localeService.getLocaleTextFunc();this.eGroupFieldSelect.setLabel(t("groupFilterSelect","Select field:")),this.eGroupFieldSelect.setLabelAlignment("top"),this.eGroupFieldSelect.addOptions(e.map((e=>({value:e.getId(),text:this.columnNameService.getDisplayNameForColumn(e,"groupFilter",!1)??void 0})))),this.eGroupFieldSelect.setValue(this.selectedColumn.getId()),this.eGroupFieldSelect.onValueChange((e=>this.updateSelectedColumn(e))),this.eGroupFieldSelect.addCssClass("ag-group-filter-field-select-wrapper"),1===e.length&&this.eGroupFieldSelect.setDisabled(!0)}getUnderlyingFilters(e){if(!e)return this.filterColumnPairs=void 0,this.selectedFilter=void 0,this.groupColumn.setFilterActive(!1,"columnRowGroupChanged"),W.AgPromise.resolve();const t=[],i=[];return e.forEach((e=>{const a=this.filterManager.getOrCreateFilterWrapper(e);a?.filterPromise&&t.push(a.filterPromise.then((t=>(t&&i.push({filter:t,column:e}),e.getId()===this.selectedColumn.getId()&&(this.selectedFilter=t??void 0),t))))})),W.AgPromise.all(t).then((()=>{this.filterColumnPairs=i,this.groupColumn.setFilterActive(this.isFilterActive(),"columnRowGroupChanged")}))}addUnderlyingFilterElement(){if((0,W._clearElement)(this.eUnderlyingFilter),!this.selectedColumn)return W.AgPromise.resolve();const e=this.createManagedBean(new W.FilterWrapperComp(this.selectedColumn,"COLUMN_MENU"));return this.filterWrapperComp=e,e.hasFilter()?(this.eUnderlyingFilter.appendChild(e.getGui()),e.getFilter()?.then((()=>{e.afterGuiAttached?.(this.afterGuiAttachedParams),this.afterGuiAttachedParams?.suppressFocus||!this.eGroupFieldSelect||this.eGroupFieldSelect.isDisabled()||this.eGroupFieldSelect.getFocusableElement().focus()}))??W.AgPromise.resolve()):W.AgPromise.resolve()}updateSelectedColumn(e){if(!e)return;this.filterWrapperComp?.afterGuiDetached(),this.destroyBean(this.filterWrapperComp);const t=this.getFilterColumnPair(e);this.selectedColumn=t?.column,this.selectedFilter=t?.filter,this.dispatchLocalEvent({type:"selectedColumnChanged"}),this.addUnderlyingFilterElement()}isFilterActive(){return!!this.filterColumnPairs?.some((({filter:e})=>e.isFilterActive()))}doesFilterPass(){return!0}getModel(){return null}setModel(){return W.AgPromise.resolve()}afterGuiAttached(e){this.afterGuiAttachedParams=e,this.addUnderlyingFilterElement()}afterGuiDetached(){(0,W._clearElement)(this.eUnderlyingFilter),this.selectedFilter?.afterGuiDetached?.()}onColumnRowGroupChanged(){this.updateGroups().then((()=>{this.dispatchLocalEvent({type:"columnRowGroupChanged"})}))}getFilterColumnPair(e){if(e)return this.filterColumnPairs?.find((({column:t})=>t.getId()===e))}getSelectedFilter(){return this.selectedFilter}getSelectedColumn(){return this.selectedColumn}isFilterAllowed(){return!!this.selectedColumn}destroy(){super.destroy()}},q=i(3423),U=class extends q.Component{constructor(){super('\n <div data-ref="eFloatingFilter" class="ag-group-floating-filter ag-floating-filter-input" role="presentation"></div>\n '),this.eFloatingFilter=q.RefPlaceholder,this.haveAddedColumnListeners=!1}wireBeans(e){this.columnNameService=e.columnNameService,this.filterManager=e.filterManager}init(e){this.params=e;const t="multipleColumns"===this.gos.get("groupDisplayType");return new q.AgPromise((e=>{this.params.parentFilterInstance((i=>{this.parentFilterInstance=i,t?this.setupUnderlyingFloatingFilterElement().then((()=>e())):(this.setupReadOnlyFloatingFilterElement(),e())}))})).then((()=>{this.addManagedListeners(this.parentFilterInstance,{selectedColumnChanged:this.onSelectedColumnChanged.bind(this),columnRowGroupChanged:this.onColumnRowGroupChanged.bind(this)})}))}onParamsUpdated(e){this.refresh(e)}refresh(e){this.params=e,this.setParams()}setParams(){const e=this.columnNameService.getDisplayNameForColumn(this.params.column,"header",!0),t=this.localeService.getLocaleTextFunc();this.eFloatingFilterText?.setInputAriaLabel(`${e} ${t("ariaFilterInput","Filter Input")}`)}setupReadOnlyFloatingFilterElement(){this.eFloatingFilterText||(this.eFloatingFilterText=this.createManagedBean(new q.AgInputTextField),this.eFloatingFilterText.setDisabled(!0).addGuiEventListener("click",(()=>this.params.showParentFilter())),this.setParams()),this.updateDisplayedValue(),this.eFloatingFilter.appendChild(this.eFloatingFilterText.getGui())}setupUnderlyingFloatingFilterElement(){this.showingUnderlyingFloatingFilter=!1,this.underlyingFloatingFilter=void 0,(0,q._clearElement)(this.eFloatingFilter);const e=this.parentFilterInstance.getSelectedColumn();if(e&&!e.isVisible()){const t=this.filterManager.getFloatingFilterCompDetails(e,this.params.showParentFilter);if(t)return this.haveAddedColumnListeners||(this.haveAddedColumnListeners=!0,this.addManagedListeners(e,{visibleChanged:this.onColumnVisibleChanged.bind(this),colDefChanged:this.onColDefChanged.bind(this)})),t.newAgStackInstance().then((e=>{this.underlyingFloatingFilter=e,this.underlyingFloatingFilter?.onParentModelChanged(this.parentFilterInstance.getSelectedFilter()?.getModel()),this.appendChild(e.getGui()),this.showingUnderlyingFloatingFilter=!0}))}return this.setupReadOnlyFloatingFilterElement(),q.AgPromise.resolve()}onColumnVisibleChanged(){this.setupUnderlyingFloatingFilterElement()}onColDefChanged(e){if(!e.column)return;const t=this.filterManager.getFloatingFilterCompDetails(e.column,this.params.showParentFilter);t&&(this.underlyingFloatingFilter?.refresh?this.underlyingFloatingFilter.refresh(t.params):this.underlyingFloatingFilter?.onParamsUpdated?.(t.params))}onParentModelChanged(e,t){this.showingUnderlyingFloatingFilter?this.underlyingFloatingFilter?.onParentModelChanged(this.parentFilterInstance.getSelectedFilter()?.getModel(),t):this.updateDisplayedValue()}updateDisplayedValue(){if(!this.parentFilterInstance||!this.eFloatingFilterText)return;const e=this.parentFilterInstance.getSelectedFilter();if(!e)return this.eFloatingFilterText.setValue(""),void this.eFloatingFilterText.setDisplayed(!1);if(this.eFloatingFilterText.setDisplayed(!0),e.getModelAsString){const t=e.getModel();this.eFloatingFilterText.setValue(null==t?"":e.getModelAsString(t))}else this.eFloatingFilterText.setValue("")}onSelectedColumnChanged(){this.showingUnderlyingFloatingFilter||this.updateDisplayedValue()}onColumnRowGroupChanged(){this.showingUnderlyingFloatingFilter||this.updateDisplayedValue()}destroy(){super.destroy()}},K=i(3423),j=class{constructor(){this.allSets={},this.allParents=[]}removeFromChildrenAfterGroup(e,t){this.getSet(e).removeFromChildrenAfterGroup[t.id]=!0}isRemoveFromAllLeafChildren(e,t){return!!this.getSet(e).removeFromAllLeafChildren[t.id]}preventRemoveFromAllLeafChildren(e,t){delete this.getSet(e).removeFromAllLeafChildren[t.id]}removeFromAllLeafChildren(e,t){this.getSet(e).removeFromAllLeafChildren[t.id]=!0}getSet(e){return this.allSets[e.id]||(this.allSets[e.id]={removeFromAllLeafChildren:{},removeFromChildrenAfterGroup:{}},this.allParents.push(e)),this.allSets[e.id]}getAllParents(){return this.allParents}flush(){this.allParents.forEach((e=>{const t=this.allSets[e.id];e.childrenAfterGroup=e.childrenAfterGroup.filter((e=>!t.removeFromChildrenAfterGroup[e.id])),e.allLeafChildren=e.allLeafChildren?.filter((e=>!t.removeFromAllLeafChildren[e.id]))??null,e.updateHasChildren(),e.sibling&&(e.sibling.childrenAfterGroup=e.childrenAfterGroup,e.sibling.allLeafChildren=e.allLeafChildren)})),this.allSets={},this.allParents.length=0}},Y=class extends K.BeanStub{constructor(){super(...arguments),this.beanName="groupStage",this.treeNodeCache=new $}wireBeans(e){this.beans=e,this.columnModel=e.columnModel,this.funcColsService=e.funcColsService,this.selectableService=e.selectableService,this.valueService=e.valueService,this.selectionService=e.selectionService,this.showRowGroupColsService=e.showRowGroupColsService}execute(e){const t=this.createGroupingDetails(e);if(t.transactions)this.handleTransaction(t);else{const i=!0===e.afterColumnsChanged;this.shotgunResetEverything(t,i)}t.usingTreeData||(this.positionLeafsAndGroups(e.changedPath),this.orderGroups(t)),this.selectableService.updateSelectableAfterGrouping()}positionLeafsAndGroups(e){e.forEachChangedNodeDepthFirst((e=>{if(e.childrenAfterGroup){const t=[],i=[];let a;e.childrenAfterGroup.forEach((e=>{e.childrenAfterGroup?.length?""!==e.key||a?i.push(e):a=e:t.push(e)})),a&&i.push(a),e.childrenAfterGroup=[...t,...i]}}),!1)}createGroupingDetails(e){const{rowNode:t,changedPath:i,rowNodeTransactions:a,rowNodeOrder:n}=e,r=this.gos.get("treeData"),o=r?null:this.funcColsService.getRowGroupColumns();return{expandByDefault:this.gos.get("groupDefaultExpanded"),groupedCols:o,rootNode:t,pivotMode:this.columnModel.isPivotMode(),groupedColCount:r||!o?0:o.length,rowNodeOrder:n,transactions:a,changedPath:i,groupAllowUnbalanced:this.gos.get("groupAllowUnbalanced"),isGroupOpenByDefault:this.gos.getCallback("isGroupOpenByDefault"),initialGroupOrderComparator:this.gos.getCallback("initialGroupOrderComparator"),usingTreeData:r,suppressGroupMaintainValueType:this.gos.get("suppressGroupMaintainValueType"),getDataPath:r?this.gos.get("getDataPath"):void 0,keyCreators:o?.map((e=>e.getColDef().keyCreator))??[]}}handleTransaction(e){e.transactions.forEach((t=>{const i=e.usingTreeData?void 0:new j;if((0,K._existsAndNotEmpty)(t.remove)&&this.removeNodes(t.remove,e,i),(0,K._existsAndNotEmpty)(t.update)&&this.moveNodesInWrongPath(t.update,e,i),(0,K._existsAndNotEmpty)(t.add)&&this.insertNodes(t.add,e,!1),i){const t=i.getAllParents().slice();i.flush(),this.removeEmptyGroups(t,e)}})),e.rowNodeOrder&&this.sortChildren(e)}sortChildren(e){e.changedPath.forEachChangedNodeDepthFirst((t=>{(0,K._sortRowNodesByOrder)(t.childrenAfterGroup,e.rowNodeOrder)&&e.changedPath.addParentNode(t)}),!1,!0)}orderGroups(e){const t=e.initialGroupOrderComparator;(0,K._exists)(t)&&function e(i){(0,K._exists)(i.childrenAfterGroup)&&!i.leafGroup&&(i.childrenAfterGroup.sort(((e,i)=>t({nodeA:e,nodeB:i}))),i.childrenAfterGroup.forEach((t=>e(t))))}(e.rootNode)}getExistingPathForNode(e,t){const i=[];let a=t.usingTreeData?e:e.parent;for(;a&&a!==t.rootNode;)i.push({key:a.key,rowGroupColumn:a.rowGroupColumn,field:a.field}),a=a.parent;return i.reverse(),i}topoSort(e,t){const i=[],a=Object.fromEntries(e.map(((e,t)=>[e.id,t]))),n=new Set(Object.keys(a)),r=[t.rootNode];let o=0;for(;o<r.length;){const t=r[o];if(o++,void 0===t)continue;if(t.id&&t.id in a&&(i.push(e[a[t.id]]),n.delete(t.id)),0===n.size)return i;const s=t.childrenAfterGroup??[];for(let e=0;e<s.length;e++)r.push(s[e])}return i}moveNodesInWrongPath(e,t,i){(t.usingTreeData?this.topoSort(e,t):e).forEach((e=>{t.changedPath.isActive()&&t.changedPath.addParentNode(e.parent);const a=e=>e.key,n=this.getExistingPathForNode(e,t).map(a),r=this.getGroupInfo(e,t).map(a);(0,K._areEqual)(n,r)||this.moveNode(e,t,i)}))}moveNode(e,t,i){if(this.removeNodesInStages([e],t,i),this.insertOneNode(e,t,!0,i),e.setData(e.data),t.changedPath.isActive()){const i=e.parent;t.changedPath.addParentNode(i)}}removeNodes(e,t,i){this.removeNodesInStages(e,t,i),t.changedPath.isActive()&&e.forEach((e=>t.changedPath.addParentNode(e.parent)))}removeNodesInStages(e,t,i){if(this.removeNodesFromParents(e,t,i),t.usingTreeData){const i=e.map((e=>e.parent));this.removeEmptyGroups(i,t)}}forEachParentGroup(e,t,i){let a=t;for(;a&&a!==e.rootNode;)i(a),a=a.parent}removeNodesFromParents(e,t,i){const a=null==i,n=i||new j;e.forEach((e=>{this.removeFromParent(e,n),this.forEachParentGroup(t,e.parent,(t=>{n.removeFromAllLeafChildren(t,e)}))})),a&&n.flush()}removeEmptyGroups(e,t){let i=!0;const a=e=>{const t=this.getChildrenMappedKey(e.key,e.rowGroupColumn),i=e.parent;return!(!i?.childrenMapped||!i.childrenMapped[t])&&e.isEmptyRowGroupNode()};for(;i;){i=!1;const n=new j;e.forEach((e=>{this.forEachParentGroup(t,e,(e=>{const r=a(e);r&&t.usingTreeData&&e.data&&t.getDataPath?.(e.data)?e.setGroup((e.childrenAfterGroup&&e.childrenAfterGroup.length>0)??!1):r&&(i=!0,this.removeFromParent(e,n),e.setSelectedParams({newValue:!1,source:"rowGroupChanged"}))}))})),n.flush()}}removeFromParent(e,t){e.parent&&(t?t.removeFromChildrenAfterGroup(e.parent,e):((0,K._removeFromArray)(e.parent.childrenAfterGroup,e),e.parent.updateHasChildren()));const i=this.getChildrenMappedKey(e.key,e.rowGroupColumn);null!=e.parent?.childrenMapped&&delete e.parent.childrenMapped[i],e.setRowTop(null),e.setRowIndex(null)}addToParent(e,t){const i=this.getChildrenMappedKey(e.key,e.rowGroupColumn);null!=t?.childrenMapped&&t?.childrenMapped?.[i]!==e&&(t.childrenMapped[i]=e,t.childrenAfterGroup.push(e),t.setGroup(!0))}areGroupColsEqual(e,t){return null!=e&&null!=t&&e.pivotMode===t.pivotMode&&((0,K._areEqual)(e.groupedCols,t.groupedCols)&&(0,K._areEqual)(e.keyCreators,t.keyCreators))}checkAllGroupDataAfterColsChanged(e){const t=i=>{i&&i.forEach((i=>{if(!e.usingTreeData&&!i.group)return;const a={field:i.field,key:i.key,rowGroupColumn:i.rowGroupColumn,leafNode:i.allLeafChildren?.[0]};this.setGroupData(i,a,e),t(i.childrenAfterGroup)}))};t(e.rootNode.childrenAfterGroup)}shotgunResetEverything(e,t){if(this.noChangeInGroupingColumns(e,t))return;this.selectionService.filterFromSelection((e=>e&&!e.group));const{rootNode:i,groupedCols:a}=e;i.leafGroup=!e.usingTreeData&&0===a.length,i.childrenAfterGroup=[],i.childrenMapped={},i.updateHasChildren();const n=i.sibling;n&&(n.childrenAfterGroup=i.childrenAfterGroup,n.childrenMapped=i.childrenMapped),this.insertNodes(i.allLeafChildren,e,!1)}noChangeInGroupingColumns(e,t){let i=!1;const a=this.showRowGroupColsService.getShowRowGroupCols(),n=a?a.map((e=>e.getId())).join("-"):"";return t&&(i=e.usingTreeData||this.areGroupColsEqual(e,this.oldGroupingDetails),this.oldGroupDisplayColIds!==n&&this.checkAllGroupDataAfterColsChanged(e)),this.oldGroupingDetails=e,this.oldGroupDisplayColIds=n,i}insertNodes(e,t,i){t.usingTreeData?this.buildNodeCacheFromRows(e,t):this.treeNodeCache.clear(),e.forEach((e=>{this.insertOneNode(e,t,i),t.changedPath.isActive()&&t.changedPath.addParentNode(e.parent)}))}insertOneNode(e,t,i,a){const n=this.getGroupInfo(e,t),r=t.usingTreeData?n.length-1:void 0,o=this.findParentForNode(e,n,t,a,r);if(t.usingTreeData){const a=o.childrenAfterGroup?.find((t=>t.key===e.key));if(a)return void(0,K._warnOnce)("duplicate group keys for row data, keys should be unique",[a.data,e.data]);const r=(0,K._last)(n);e.parent=o,e.level=n.length,this.ensureRowNodeFields(e,this.getChildrenMappedKey(r.key,r.rowGroupColumn)),this.setGroupData(e,r,t),i||this.setExpandedInitialValue(t,e),this.addToParent(e,o)}else o.group||(0,K._warnOnce)("duplicate group keys for row data, keys should be unique",[o.data,e.data]),e.parent=o,e.level=n.length,o.childrenAfterGroup.push(e),o.updateHasChildren()}findParentForNode(e,t,i,a,n){let r=i.rootNode;return t.forEach(((o,s)=>{void 0!==n&&s>=n||(r=this.getOrCreateNextNode(r,t,o,s,i),a?.isRemoveFromAllLeafChildren(r,e)?a?.preventRemoveFromAllLeafChildren(r,e):r.allLeafChildren.push(e))})),r}getOrCreateNextNode(e,t,i,a,n){const r=this.getChildrenMappedKey(i.key,i.rowGroupColumn);let o=e?.childrenMapped?.[r];return o||(n.usingTreeData&&this.treeNodeCache.has(t,a,r)?(o=this.treeNodeCache.get(t,a,r),o.parent=e):o=this.createGroup(i,e,a,n),this.addToParent(o,e)),o}buildNodeCacheFromRows(e,t){let i=0;const a=e.map((e=>{const a=this.getGroupInfo(e,t);return i=Math.max(i,a.length),a}));this.treeNodeCache.clear();for(let t=0;t<i;t++)for(const[i,n]of a.entries()){const a=void 0!==n[t],r=void 0===n[t+1];if(!a)continue;const o=n[t];null==this.treeNodeCache.get(n,t,o.key)&&this.treeNodeCache.set(n,t,o.key,r?this.ensureRowNodeFields(e[i],o.key):null)}this.backfillGroups(this.treeNodeCache.inner(),t.rootNode,0,t)}ensureRowNodeFields(e,t){return void 0!==t&&(e.key=t),e.childrenMapped??(e.childrenMapped={}),e.allLeafChildren??(e.allLeafChildren=[]),e.childrenAfterGroup??(e.childrenAfterGroup=[]),e}backfillGroups(e,t,i,a){for(const[n,r]of Object.entries(e))null===r.node&&(r.node=this.createGroup({key:n,rowGroupColumn:null,field:null},t,i,a)),this.backfillGroups(r.subtree,r.node,i+1,a)}createGroup(e,t,i,a){const n=new K.RowNode(this.beans);return n.group=!0,n.field=e.field,n.rowGroupColumn=e.rowGroupColumn,this.setGroupData(n,e,a),n.key=e.key,n.id=this.createGroupId(n,t,a.usingTreeData,i),n.level=i,n.leafGroup=!a.usingTreeData&&i===a.groupedColCount-1,n.allLeafChildren=[],n.setAllChildrenCount(0),n.rowGroupIndex=a.usingTreeData?null:i,n.childrenAfterGroup=[],n.childrenMapped={},n.updateHasChildren(),n.parent=t,this.setExpandedInitialValue(a,n),n}createGroupId(e,t,i,a){let n;return n=i?(e,t,i)=>{if(i<0)return null;const a=t?n(t,t.parent,i-1):null;return`${null==a?"":a+"-"}${i}-${e.key}`}:(e,t)=>{if(!e.rowGroupColumn)return null;const i=t?n(t,t.parent,0):null;return`${null==i?"":i+"-"}${e.rowGroupColumn.getColId()}-${e.key}`},K.RowNode.ID_PREFIX_ROW_GROUP+n(e,t,a)}setGroupData(e,t,i){e.groupData={};this.showRowGroupColsService.getShowRowGroupCols().forEach((a=>{if(i.usingTreeData)return void(e.groupData[a.getColId()]=t.key);const n=e.rowGroupColumn;null!==n&&a.isRowGroupDisplayed(n.getId())&&(i.suppressGroupMaintainValueType?e.groupData[a.getColId()]=t.key:e.groupData[a.getColId()]=this.valueService.getValue(n,t.leafNode))}))}getChildrenMappedKey(e,t){return t?t.getId()+"-"+e:e}setExpandedInitialValue(e,t){if(e.pivotMode&&t.leafGroup)return void(t.expanded=!1);const i=e.isGroupOpenByDefault;if(i){const e={rowNode:t,field:t.field,key:t.key,level:t.level,rowGroupColumn:t.rowGroupColumn};t.expanded=1==i(e)}else-1!==e.expandByDefault?t.expanded=t.level<e.expandByDefault:t.expanded=!0}getGroupInfo(e,t){return t.usingTreeData?this.getGroupInfoFromCallback(e,t):this.getGroupInfoFromGroupColumns(e,t)}getGroupInfoFromCallback(e,t){const i=t.getDataPath?.(e.data);return void 0!==i&&0!==i.length||(0,K._warnOnce)(`getDataPath() should not return an empty path for data ${e.data}`),i?.map((e=>({key:e,field:null,rowGroupColumn:null})))??[]}getGroupInfoFromGroupColumns(e,t){const i=[];return t.groupedCols.forEach((a=>{let n=this.valueService.getKeyForNode(a,e),r=null!=n&&""!==n;if((t.pivotMode||!t.groupAllowUnbalanced)&&!r&&(n="",r=!0),r){const t={key:n,field:a.getColDef().field,rowGroupColumn:a,leafNode:e};i.push(t)}})),i}},$=class{constructor(){this.cache={}}traverse(e,t){let i=this.cache,a=0;for(;a<=t;){const t=e[a].key;t in i||(i[t]={node:null,subtree:{}}),i=i[t].subtree,a++}return i}set(e,t,i,a){this.traverse(e,t-1)[i]={node:a,subtree:{}}}has(e,t,i){return i in this.traverse(e,t-1)}get(e,t,i){const a=this.traverse(e,t-1);return a[i]?.node}clear(){this.cache={}}inner(){return this.cache}},Z=i(3423),X="PivotRowTotal_",Q=class extends Z.BeanStub{constructor(){super(...arguments),this.beanName="pivotColDefService"}wireBeans(e){this.columnModel=e.columnModel,this.funcColsService=e.funcColsService,this.columnNameService=e.columnNameService}postConstruct(){const e=()=>this.gos.get("serverSidePivotResultFieldSeparator")??"_";this.fieldSeparator=e(),this.addManagedPropertyListener("serverSidePivotResultFieldSeparator",(()=>{this.fieldSeparator=e()}));const t=()=>this.gos.get("pivotDefaultExpanded");this.pivotDefaultExpanded=t(),this.addManagedPropertyListener("pivotDefaultExpanded",(()=>{this.pivotDefaultExpanded=t()}))}createPivotColumnDefs(e){const t=this.createPivotColumnsFromUniqueValues(e);const i=function e(t,i=[]){return t.forEach((t=>{void 0!==t.children?e(t.children,i):i.push(t)})),i}(t);this.addRowGroupTotals(t,i),this.addExpandablePivotGroups(t,i),this.addPivotTotalsToGroups(t,i);return{pivotColumnGroupDefs:t,pivotColumnDefs:i.map((e=>(0,Z._cloneObject)(e)))}}createPivotColumnsFromUniqueValues(e){const t=this.funcColsService.getPivotColumns(),i=t.length;return this.recursivelyBuildGroup(0,e,[],i,t)}recursivelyBuildGroup(e,t,i,a,n){const r=this.funcColsService.getValueColumns();if(e>=a)return this.buildMeasureCols(i);const o=n[e].getColDef(),s=this.headerNameComparator.bind(this,o.pivotComparator);if(1===r.length&&this.gos.get("removePivotHeaderRowWhenSingleValueColumn")&&e===a-1){const e=[];return(0,Z._iterateObject)(t,(t=>{const a=[...i,t],n=this.createColDef(r[0],t,a);n.columnGroupShow="open",e.push(n)})),e.sort(s),e}const l=[];return(0,Z._iterateObject)(t,((t,r)=>{const o=-1===this.pivotDefaultExpanded||e<this.pivotDefaultExpanded,s=[...i,t];l.push({children:this.recursivelyBuildGroup(e+1,r,s,a,n),headerName:t,pivotKeys:s,columnGroupShow:"open",openByDefault:o,groupId:this.generateColumnGroupId(s)})})),l.sort(s),l}buildMeasureCols(e){const t=this.funcColsService.getValueColumns();return 0===t.length?[this.createColDef(null,"-",e)]:t.map((t=>{const i=this.columnNameService.getDisplayNameForColumn(t,"header");return{...this.createColDef(t,i,e),columnGroupShow:"open"}}))}addExpandablePivotGroups(e,t){if(this.gos.get("suppressExpandablePivotGroups")||this.gos.get("pivotColumnGroupTotals"))return;const i=(e,t,a)=>{const n=e;if(n.children){const r=new Map;n.children.forEach((e=>{i(e,t,r)}));const o=!n.children.some((e=>e.children));this.funcColsService.getValueColumns().forEach((i=>{const a=this.columnNameService.getDisplayNameForColumn(i,"header"),n=this.createColDef(i,a,e.pivotKeys);if(n.pivotTotalColumnIds=r.get(i.getColId()),n.columnGroupShow="closed",n.aggFunc=i.getAggFunc(),!o){e.children.push(n),t.push(n)}})),this.merge(a,r)}else{const t=e;if(!t.pivotValueColumn)return;const i=t.pivotValueColumn.getColId(),n=a.has(i)?a.get(i):[];n.push(t.colId),a.set(i,n)}};e.forEach((e=>{i(e,t,new Map)}))}addPivotTotalsToGroups(e,t){if(!this.gos.get("pivotColumnGroupTotals"))return;const i="after"===this.gos.get("pivotColumnGroupTotals"),a=this.funcColsService.getValueColumns(),n=a.map((e=>e.getAggFunc()));if(!n||n.length<1||!this.sameAggFuncs(n))return;const r=a[0];e.forEach((e=>{this.recursivelyAddPivotTotal(e,t,r,i)}))}recursivelyAddPivotTotal(e,t,i,a){const n=e;if(!n.children){const t=e;return t.colId?[t.colId]:null}let r=[];if(n.children.forEach((e=>{const n=this.recursivelyAddPivotTotal(e,t,i,a);n&&(r=r.concat(n))})),n.children.length>1){const n=this.localeService.getLocaleTextFunc()("pivotColumnGroupTotals","Total"),o=this.createColDef(i,n,e.pivotKeys,!0);o.pivotTotalColumnIds=r,o.aggFunc=i.getAggFunc();const s=e.children;a?s.push(o):s.unshift(o),t.push(o)}return r}addRowGroupTotals(e,t){if(!this.gos.get("pivotRowTotals"))return;const i="after"===this.gos.get("pivotRowTotals"),a=this.funcColsService.getValueColumns(),n=i?a.slice():a.slice().reverse();for(let a=0;a<n.length;a++){const r=n[a];let o=[];e.forEach((e=>{o=o.concat(this.extractColIdsForValueColumn(e,r))}));const s=n.length>1||!this.gos.get("removePivotHeaderRowWhenSingleValueColumn");this.createRowGroupTotal(e,t,r,o,i,s)}}extractColIdsForValueColumn(e,t){const i=e;if(!i.children){const e=i;return e.pivotValueColumn===t&&e.colId?[e.colId]:[]}let a=[];return i.children.forEach((e=>{this.extractColIdsForValueColumn(e,t);const i=this.extractColIdsForValueColumn(e,t);a=a.concat(i)})),a}createRowGroupTotal(e,t,i,a,n,r){let o;if(0===this.funcColsService.getValueColumns().length)o=this.createColDef(null,"-",[]);else{const e=this.columnNameService.getDisplayNameForColumn(i,"header");o=this.createColDef(i,e,[]),o.pivotTotalColumnIds=a}o.colId=X+o.colId,t.push(o);const s=r?{children:[o],pivotKeys:[],groupId:`${X}_pivotGroup_${i.getColId()}`}:o;n?e.push(s):e.unshift(s)}createColDef(e,t,i,a=!1){const n={};if(e){const t=e.getColDef();Object.assign(n,t),n.hide=!1}return n.headerName=t,n.colId=this.generateColumnId(i||[],e&&!a?e.getColId():""),n.field=n.colId,n.valueGetter=e=>e.data?.[e.colDef.field],n.pivotKeys=i,n.pivotValueColumn=e,!0===n.filter&&(n.filter="agNumberColumnFilter"),n}sameAggFuncs(e){if(1==e.length)return!0;for(let t=1;t<e.length;t++)if(e[t]!==e[0])return!1;return!0}headerNameComparator(e,t,i){return e?e(t.headerName,i.headerName):t.headerName&&!i.headerName?1:!t.headerName&&i.headerName?-1:t.headerName&&i.headerName?t.headerName<i.headerName?-1:t.headerName>i.headerName?1:0:0}merge(e,t){t.forEach(((t,i)=>{const a=[...e.has(i)?e.get(i):[],...t];e.set(i,a)}))}generateColumnGroupId(e){return`pivotGroup_${this.funcColsService.getPivotColumns().map((e=>e.getColId())).join("-")}_${e.join("-")}`}generateColumnId(e,t){return`pivot_${this.funcColsService.getPivotColumns().map((e=>e.getColId())).join("-")}_${e.join("-")}_${t}`}createColDefsFromFields(e){const t={};for(let i=0;i<e.length;i++){const a=e[i].split(this.fieldSeparator);let n=t;for(let e=0;e<a.length;e++){const t=a[e];null==n[t]&&(n[t]={}),n=n[t]}}const i=(e,t,a,n)=>{const r=[];for(const t in a){const o=a[t],s=i(`${e}${this.fieldSeparator}${t}`,t,o,n+1);r.push(s)}if(0===r.length){const i=this.columnModel.getColDefCol(t);if(i){const a=this.columnNameService.getDisplayNameForColumn(i,"header")??t,n=this.createColDef(i,a,void 0,!1);return n.colId=e,n.aggFunc=i.getAggFunc(),n.valueGetter=t=>t.data?.[e],n}return{colId:e,headerName:t,valueGetter:t=>t.data?.[e]}}if(this.gos.get("removePivotHeaderRowWhenSingleValueColumn")&&1===r.length&&"colId"in r[0])return r[0].headerName=t,r[0];return{openByDefault:-1===this.pivotDefaultExpanded||n<this.pivotDefaultExpanded,groupId:e,headerName:t,children:r}},a=[];for(const e in t){const n=i(e,e,t[e],0);a.push(n)}return a}},J=i(3423),ee="Exceeded maximum allowed pivot column count.",te=class extends J.BeanStub{constructor(){super(...arguments),this.beanName="pivotStage",this.uniqueValues={},this.lastTimeFailed=!1,this.maxUniqueValues=-1,this.currentUniqueCount=0}wireBeans(e){this.valueService=e.valueService,this.columnModel=e.columnModel,this.pivotResultColsService=e.pivotResultColsService,this.funcColsService=e.funcColsService,this.pivotColDefService=e.pivotColDefService}execute(e){const t=e.changedPath;this.columnModel.isPivotActive()?this.executePivotOn(t):this.executePivotOff(t)}executePivotOff(e){this.aggregationColumnsHashLastTime=null,this.uniqueValues={},this.pivotResultColsService.isPivotResultColsPresent()&&(this.pivotResultColsService.setPivotResultCols(null,"rowModelUpdated"),e&&e.setInactive())}executePivotOn(e){const t=this.funcColsService.getValueColumns().length??1,i=this.gos.get("pivotMaxGeneratedColumns");let a;this.maxUniqueValues=-1===i?-1:i/t;try{a=this.bucketUpRowNodes(e)}catch(e){if(e.message===ee){this.pivotResultColsService.setPivotResultCols([],"rowModelUpdated");const t={type:"pivotMaxColumnsExceeded",message:e.message};return this.eventService.dispatchEvent(t),void(this.lastTimeFailed=!0)}throw e}const n=this.setUniqueValues(a),r=this.funcColsService.getValueColumns(),o=r.map((e=>`${e.getId()}-${e.getColDef().headerName}`)).join("#"),s=r.map((e=>e.getAggFunc().toString())).join("#"),l=this.aggregationColumnsHashLastTime!==o,c=this.aggregationFuncsHashLastTime!==s;this.aggregationColumnsHashLastTime=o,this.aggregationFuncsHashLastTime=s;const d=this.funcColsService.getRowGroupColumns().map((e=>e.getId())).join("#"),h=d!==this.groupColumnsHashLastTime;this.groupColumnsHashLastTime=d;const u=this.gos.get("pivotRowTotals"),g=this.gos.get("pivotColumnGroupTotals"),p=this.gos.get("suppressExpandablePivotGroups"),m=this.gos.get("removePivotHeaderRowWhenSingleValueColumn"),f=u!==this.pivotRowTotalsLastTime||g!==this.pivotColumnGroupTotalsLastTime||p!==this.suppressExpandablePivotGroupsLastTime||m!==this.removePivotHeaderRowWhenSingleValueColumnLastTime;if(this.pivotRowTotalsLastTime=u,this.pivotColumnGroupTotalsLastTime=g,this.suppressExpandablePivotGroupsLastTime=p,this.removePivotHeaderRowWhenSingleValueColumnLastTime=m,this.lastTimeFailed||n||l||h||c||f){const{pivotColumnGroupDefs:t,pivotColumnDefs:i}=this.pivotColDefService.createPivotColumnDefs(this.uniqueValues);this.pivotColumnDefs=i,this.pivotResultColsService.setPivotResultCols(t,"rowModelUpdated"),e&&e.setInactive()}this.lastTimeFailed=!1}setUniqueValues(e){return!!(JSON.stringify(e)!==JSON.stringify(this.uniqueValues))&&(this.uniqueValues=e,!0)}bucketUpRowNodes(e){this.currentUniqueCount=0;const t={};e.forEachChangedNodeDepthFirst((e=>{e.leafGroup&&(e.childrenMapped=null)}));const i=e=>{e.leafGroup?this.bucketRowNode(e,t):e.childrenAfterFilter?.forEach(i)};return e.executeFromRootNode(i),t}bucketRowNode(e,t){const i=this.funcColsService.getPivotColumns();0===i.length?e.childrenMapped=null:e.childrenMapped=this.bucketChildren(e.childrenAfterFilter,i,0,t),e.sibling&&(e.sibling.childrenMapped=e.childrenMapped)}bucketChildren(e,t,i,a){const n={},r=t[i];if(e.forEach((e=>{let t=this.valueService.getKeyForNode(r,e);if((0,J._missing)(t)&&(t=""),!a[t]){this.currentUniqueCount+=1,a[t]={};const e=-1!==this.maxUniqueValues,i=this.currentUniqueCount>this.maxUniqueValues;if(e&&i)throw Error(ee)}n[t]||(n[t]=[]),n[t].push(e)})),i===t.length-1)return n;{const e={};return(0,J._iterateObject)(n,((n,r)=>{e[n]=this.bucketChildren(r,t,i+1,a[n])})),e}}getPivotColumnDefs(){return this.pivotColumnDefs}};var ie=i(3423),ae=class extends ie.BeanStub{constructor(){super(...arguments),this.beanName="showRowGroupColsService"}wireBeans(e){this.columnModel=e.columnModel,this.funcColsService=e.funcColsService}refresh(){this.showRowGroupCols=[],this.showRowGroupColsMap={},this.columnModel.getCols().forEach((e=>{const t=e.getColDef().showRowGroup,i="string"==typeof t;if(i||!0===t)if(this.showRowGroupCols.push(e),i)this.showRowGroupColsMap[t]=e;else{this.funcColsService.getRowGroupColumns().forEach((t=>{this.showRowGroupColsMap[t.getId()]=e}))}}))}getShowRowGroupCols(){return this.showRowGroupCols}getShowRowGroupCol(e){return this.showRowGroupColsMap[e]}},ne="32.0.2",re={version:ne,moduleName:`${c.ModuleNames.RowGroupingModule}-core`,beans:[S,H,Y,Q,te,g,k,ae,B],userComponents:[{name:"agGroupRowRenderer",classImp:d.GroupCellRenderer},{name:"agGroupCellRenderer",classImp:d.GroupCellRenderer}],controllers:[{name:"groupCellRendererCtrl",classImp:d.GroupCellRendererCtrl}],dependantModules:[d.EnterpriseCoreModule]},oe={version:ne,moduleName:`${c.ModuleNames.RowGroupingModule}-api`,apiFunctions:{addAggFunc:function(e,t,i){e.aggFuncService&&e.aggFuncService.addAggFuncs({key:i})},addAggFuncs:function(e,t){e.aggFuncService&&e.aggFuncService.addAggFuncs(t)},clearAggFuncs:function(e){e.aggFuncService&&e.aggFuncService.clear()},setColumnAggFunc:function(e,t,i){e.funcColsService.setColumnAggFunc(t,i,"api")},isPivotMode:function(e){return e.columnModel.isPivotMode()},getPivotResultColumn:function(e,t,i){return e.pivotResultColsService.lookupPivotResultCol(t,i)},setValueColumns:function(e,t){e.funcColsService.setValueColumns(t,"api")},getValueColumns:function(e){return e.funcColsService.getValueColumns()},removeValueColumn:function(e,t){e.funcColsService.removeValueColumns([t],"api")},removeValueColumns:function(e,t){e.funcColsService.removeValueColumns(t,"api")},addValueColumn:function(e,t){e.funcColsService.addValueColumns([t],"api")},addValueColumns:function(e,t){e.funcColsService.addValueColumns(t,"api")},setRowGroupColumns:function(e,t){e.funcColsService.setRowGroupColumns(t,"api")},removeRowGroupColumn:function(e,t){e.funcColsService.removeRowGroupColumns([t],"api")},removeRowGroupColumns:function(e,t){e.funcColsService.removeRowGroupColumns(t,"api")},addRowGroupColumn:function(e,t){e.funcColsService.addRowGroupColumns([t],"api")},addRowGroupColumns:function(e,t){e.funcColsService.addRowGroupColumns(t,"api")},getRowGroupColumns:function(e){return e.funcColsService.getRowGroupColumns()},moveRowGroupColumn:function(e,t,i){e.funcColsService.moveRowGroupColumn(t,i,"api")},setPivotColumns:function(e,t){e.funcColsService.setPivotColumns(t,"api")},removePivotColumn:function(e,t){e.funcColsService.removePivotColumns([t],"api")},removePivotColumns:function(e,t){e.funcColsService.removePivotColumns(t,"api")},addPivotColumn:function(e,t){e.funcColsService.addPivotColumns([t],"api")},addPivotColumns:function(e,t){e.funcColsService.addPivotColumns(t,"api")},getPivotColumns:function(e){return e.funcColsService.getPivotColumns()},setPivotResultColumns:function(e,t){e.pivotResultColsService.setPivotResultCols(t,"api")},getPivotResultColumns:function(e){const t=e.pivotResultColsService.getPivotResultCols();return t?t.list:null}},dependantModules:[re]},se={version:ne,moduleName:"@ag-grid-enterprise/group-filter",userComponents:[{name:"agGroupColumnFilter",classImp:_}],dependantModules:[re,c._ColumnFilterModule]},le={version:ne,moduleName:"@ag-grid-enterprise/group-floating-filter",userComponents:[{name:"agGroupColumnFloatingFilter",classImp:U}],dependantModules:[se,c._FloatingFilterModule]},ce={version:ne,moduleName:c.ModuleNames.RowGroupingModule,dependantModules:[re,oe,se,le]},de=i(3423),he=class extends L{constructor(e){super(e,"aggregation")}postConstruct(){const e=this.localeService.getLocaleTextFunc(),t=e("valueColumnsEmptyMessage","Drag here to aggregate"),i=e("values","Values");super.init({icon:(0,de._createIconNoSpan)("valuePanel",this.gos,null),emptyMessage:t,title:i}),this.addManagedEventListeners({columnValueChanged:this.refreshGui.bind(this)})}getAriaLabel(){return this.localeService.getLocaleTextFunc()("ariaValuesDropZonePanelLabel","Values")}getTooltipParams(){const e=super.getTooltipParams();return e.location="valueColumnsList",e}getIconName(){return this.isPotentialDndItems()?"aggregate":"notAllowed"}isItemDroppable(e,t){return!(this.gos.get("functionsReadOnly")||!e.isPrimary())&&(e.isAllowValue()&&(!e.isValueActive()||this.isSourceEventFromTarget(t)))}updateItems(e){this.funcColsService.setValueColumns(e,"toolPanelUi")}getExistingItems(){return this.funcColsService.getValueColumns()}}},5070:function(e,t,i){var a,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,l={};((e,t)=>{for(var i in t)n(e,i,{get:t[i],enumerable:!0})})(l,{ServerSideRowModelModule:()=>ee}),e.exports=(a=l,((e,t,i,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of o(t))s.call(e,l)||l===i||n(e,l,{get:()=>t[l],enumerable:!(a=r(t,l))||a.enumerable});return e})(n({},"__esModule",{value:!0}),a));var c=i(3423),d=i(8299),h=i(3423),u=class extends h.BeanStub{constructor(){super(...arguments),this.beanName="ssrmBlockUtils"}wireBeans(e){this.valueService=e.valueService,this.showRowGroupColsService=e.showRowGroupColsService,this.nodeManager=e.ssrmNodeManager,this.beans=e,this.expansionService=e.expansionService}createRowNode(e){const t=new h.RowNode(this.beans),i=null!=e.rowHeight?e.rowHeight:this.gos.getRowHeightAsNumber();return t.setRowHeight(i),t.group=e.group,t.leafGroup=e.leafGroup,t.level=e.level,t.uiLevel=e.level,t.parent=e.parent,t.stub=!0,t.__needsRefreshWhenVisible=!1,t.group&&(t.expanded=!1,t.field=e.field,t.rowGroupColumn=e.rowGroupColumn),t}destroyRowNodes(e){e&&e.forEach((e=>this.destroyRowNode(e)))}destroyRowNode(e,t=!1){e.childStore&&!t&&(this.destroyBean(e.childStore),e.childStore=null),e.sibling&&!e.footer&&this.destroyRowNode(e.sibling,!1),e.clearRowTopAndRowIndex(),null!=e.id&&this.nodeManager.removeNode(e)}setTreeGroupInfo(e){e.updateHasChildren();const t=this.gos.get("getServerSideGroupKey");e.hasChildren()&&null!=t&&(e.key=t(e.data)),e.hasChildren()||null==e.childStore||(this.destroyBean(e.childStore),e.childStore=null,e.expanded=!1)}setRowGroupInfo(e){e.key=this.valueService.getValue(e.rowGroupColumn,e),null!==e.key&&void 0!==e.key||(0,h._doOnce)((()=>{(0,h._warnOnce)("null and undefined values are not allowed for server side row model keys"),e.rowGroupColumn&&(0,h._warnOnce)(`column = ${e.rowGroupColumn.getId()}`),(0,h._warnOnce)("data is "+e.data)}),"ServerSideBlock-CannotHaveNullOrUndefinedForKey");this.beans.gos.getGroupTotalRowCallback()({node:e})&&(e.createFooter(),e.sibling&&(e.sibling.uiLevel=e.uiLevel+1))}setMasterDetailInfo(e){const t=this.gos.get("isRowMaster");e.master=null==t||t(e.data)}updateDataIntoRowNode(e,t){if(e.updateData(t),this.gos.get("treeData"))this.setTreeGroupInfo(e),this.setChildCountIntoRowNode(e);else if(e.group){if(this.setChildCountIntoRowNode(e),!e.footer){this.beans.gos.getGroupTotalRowCallback()({node:e})?e.sibling?e.sibling.updateData(t):e.createFooter():e.sibling&&e.destroyFooter()}}else this.gos.get("masterDetail")}setDataIntoRowNode(e,t,i,a){e.stub=!1;const n=this.gos.get("treeData");(0,h._exists)(t)?(e.setDataAndId(t,i),n?this.setTreeGroupInfo(e):e.group?this.setRowGroupInfo(e):this.gos.get("masterDetail")&&this.setMasterDetailInfo(e)):(e.setDataAndId(void 0,void 0),e.key=null),(n||e.group)&&(this.setGroupDataIntoRowNode(e),this.setChildCountIntoRowNode(e)),(0,h._exists)(t)&&(e.setRowHeight(this.gos.getRowHeightForNode(e,!1,a).height),e.sibling?.setRowHeight(this.gos.getRowHeightForNode(e.sibling,!1,a).height))}setChildCountIntoRowNode(e){const t=this.gos.get("getChildCount");t&&e.setAllChildrenCount(t(e.data))}setGroupDataIntoRowNode(e){const t=this.showRowGroupColsService?.getShowRowGroupCols()??[],i=this.gos.get("treeData");t.forEach((t=>{if(null==e.groupData&&(e.groupData={}),i)e.groupData[t.getColId()]=e.key;else if(t.isRowGroupDisplayed(e.rowGroupColumn.getId())){const i=this.valueService.getValue(e.rowGroupColumn,e);e.groupData[t.getColId()]=i}}))}clearDisplayIndex(e){e.clearRowTopAndRowIndex();if(e.hasChildren()&&(0,h._exists)(e.childStore)){e.childStore.clearDisplayIndexes()}e.master&&e.detailNode&&e.detailNode.clearRowTopAndRowIndex()}setDisplayIndex(e,t,i){if(e.setRowIndex(t.next()),e.setRowTop(i.value),i.value+=e.rowHeight,e.footer)return;e.master&&(e.expanded&&e.detailNode?(e.detailNode.setRowIndex(t.next()),e.detailNode.setRowTop(i.value),i.value+=e.detailNode.rowHeight):e.detailNode&&e.detailNode.clearRowTopAndRowIndex());if(e.hasChildren()&&(0,h._exists)(e.childStore)){const a=e.childStore;e.expanded?a.setDisplayIndexes(t,i):a.clearDisplayIndexes()}}binarySearchForDisplayIndex(e,t){let i=0,a=t.length-1;if((0,h._missing)(a)||(0,h._missing)(i))(0,h._warnOnce)(`error: topPointer = ${a}, bottomPointer = ${i}`);else for(;;){const n=Math.floor((i+a)/2),r=t[n];if(r.rowIndex===e)return r;const o=r.master&&r.expanded,s=r.detailNode;if(o&&s&&s.rowIndex===e)return r.detailNode;const l=r.childStore;if(r.expanded&&l&&l.isDisplayIndexInStore(e))return l.getRowUsingDisplayIndex(e);if(r.rowIndex<e)i=n+1;else{if(!(r.rowIndex>e))return void(0,h._warnOnce)(`error: unable to locate rowIndex = ${e} in cache`);a=n-1}}}extractRowBounds(e,t){const i=e=>({rowHeight:e.rowHeight,rowTop:e.rowTop});if(e.rowIndex===t)return i(e);if(e.hasChildren()&&e.expanded&&(0,h._exists)(e.childStore)){const i=e.childStore;if(i.isDisplayIndexInStore(t))return i.getRowBounds(t)}else if(e.master&&e.expanded&&(0,h._exists)(e.detailNode)&&e.detailNode.rowIndex===t)return i(e.detailNode)}getIndexAtPixel(e,t){if(e.isPixelInRange(t))return e.rowIndex;const i=e.master&&e.expanded,a=e.detailNode;if(i&&a&&a.isPixelInRange(t))return e.detailNode.rowIndex;if(e.hasChildren()&&e.expanded&&(0,h._exists)(e.childStore)){const i=e.childStore;if(i.isPixelInRange(t))return i.getRowIndexAtPixel(t)}return null}createNodeIdPrefix(e){const t=[];let i=e;for(;i&&i.level>=0;)""===i.key?t.push("ag-Grid-MissingKey"):t.push(i.key),i=i.parent;if(t.length>0)return t.reverse().join("-")}checkOpenByDefault(e){return this.expansionService.checkOpenByDefault(e)}},g=i(3423),p=class extends g.BeanStub{constructor(){super(...arguments),this.beanName="ssrmExpandListener"}wireBeans(e){this.serverSideRowModel=e.rowModel,this.storeFactory=e.ssrmStoreFactory,this.beans=e}postConstruct(){this.gos.isRowModelType("serverSide")&&this.addManagedEventListeners({rowGroupOpened:this.onRowGroupOpened.bind(this)})}onRowGroupOpened(e){const t=e.node;if(t.expanded){if(t.master)this.createDetailNode(t);else if((0,g._missing)(t.childStore)){const e=this.serverSideRowModel.getParams();t.childStore=this.createBean(this.storeFactory.createStore(e,t))}}else this.gos.get("purgeClosedRowNodes")&&(0,g._exists)(t.childStore)&&(t.childStore=this.destroyBean(t.childStore));this.eventService.dispatchEvent({type:"storeUpdated"})}createDetailNode(e){if((0,g._exists)(e.detailNode))return e.detailNode;const t=new g.RowNode(this.beans);t.detail=!0,t.selectable=!1,t.parent=e,(0,g._exists)(e.id)&&(t.id="detail_"+e.id),t.data=e.data,t.level=e.level+1;const i=this.gos.getRowHeightForNode(t).height;return t.rowHeight=i||200,e.detailNode=t,t}},m=i(3423),f=class extends m.BeanStub{constructor(){super(...arguments),this.beanName="ssrmFilterListener"}wireBeans(e){this.serverSideRowModel=e.rowModel,this.filterManager=e.filterManager,this.listenerUtils=e.ssrmListenerUtils}postConstruct(){this.gos.isRowModelType("serverSide")&&this.addManagedEventListeners({advancedFilterEnabledChanged:()=>this.onFilterChanged(!0),filterChanged:()=>this.onFilterChanged()})}onFilterChanged(e){const t=this.serverSideRowModel.getParams();if(!t)return;const i=t.filterModel;let a,n;if(this.filterManager?.isAdvancedFilterEnabled()){a=this.filterManager.getAdvancedFilterModel();const t=e?Object.keys(i??{}):this.getAdvancedFilterColumns(i),r=this.getAdvancedFilterColumns(a);t.forEach((e=>r.add(e))),n=Array.from(r)}else if(a=this.filterManager?.getFilterModel()??{},e){const e=this.getAdvancedFilterColumns(i);Object.keys(a).forEach((t=>e.add(t))),n=Array.from(e)}else n=this.findChangedColumns(i,a);const r={valueColChanged:this.listenerUtils.isSortingWithValueColumn(n),secondaryColChanged:this.listenerUtils.isSortingWithSecondaryColumn(n),changedColumns:n};this.serverSideRowModel.refreshAfterFilter(a,r)}findChangedColumns(e,t){const i={};Object.keys(e).forEach((e=>i[e]=!0)),Object.keys(t).forEach((e=>i[e]=!0));const a=[];return Object.keys(i).forEach((i=>{JSON.stringify(e[i])!=JSON.stringify(t[i])&&a.push(i)})),a}getAdvancedFilterColumns(e){const t=new Set;if(!e)return t;const i=e=>{"join"===e.filterType?e.conditions.forEach((e=>i(e))):t.add(e.colId)};return i(e),t}},v=i(3423),y=class extends v.BeanStub{constructor(){super(...arguments),this.beanName="ssrmListenerUtils"}wireBeans(e){this.pivotResultColsService=e.pivotResultColsService,this.funcColsService=e.funcColsService}isSortingWithValueColumn(e){const t=this.funcColsService.getValueColumns().map((e=>e.getColId()));for(let i=0;i<e.length;i++)if(t.indexOf(e[i])>-1)return!0;return!1}isSortingWithSecondaryColumn(e){const t=this.pivotResultColsService.getPivotResultCols();if(!t)return!1;const i=t.list.map((e=>e.getColId()));for(let t=0;t<e.length;t++)if(i.indexOf(e[t])>-1)return!0;return!1}},b=i(3423),C=class extends b.BeanStub{constructor(){super(...arguments),this.beanName="ssrmSortService"}wireBeans(e){this.sortController=e.sortController,this.serverSideRowModel=e.rowModel,this.listenerUtils=e.ssrmListenerUtils}postConstruct(){this.gos.isRowModelType("serverSide")&&this.addManagedEventListeners({sortChanged:this.onSortChanged.bind(this)})}onSortChanged(){const e=this.serverSideRowModel.getParams();if(!e)return;const t=this.sortController.getSortModel(),i=e.sortModel,a=this.findChangedColumnsInSort(t,i),n={valueColChanged:this.listenerUtils.isSortingWithValueColumn(a),secondaryColChanged:this.listenerUtils.isSortingWithSecondaryColumn(a),changedColumns:a};this.serverSideRowModel.refreshAfterSort(t,n)}findChangedColumnsInSort(e,t){let i=[];[e,t].forEach((e=>{if(e){const t=e.map((e=>e.colId));i=i.concat(t)}}));return i.filter((i=>{const a=t.find((e=>e.colId===i)),n=e.find((e=>e.colId===i));return((e,t)=>(e?e.sort:null)!==(t?t.sort:null))(a,n)||((i,a)=>(i?t.indexOf(i):-1)!==(a?e.indexOf(a):-1))(a,n)}))}},w=i(3423),S=class extends w.BeanStub{constructor(){super(...arguments),this.beanName="ssrmNodeManager",this.rowNodes={}}addRowNode(e){const t=e.id;this.rowNodes[t]&&((0,w._warnOnce)(`Duplicate node id ${e.id}. Row ID's are provided via the getRowId() callback. Please modify the getRowId() callback code to provide unique row id values.`),(0,w._warnOnce)("first instance",this.rowNodes[t].data),(0,w._warnOnce)("second instance",e.data)),this.rowNodes[t]=e}removeNode(e){const t=e.id;this.rowNodes[t]&&(this.rowNodes[t]=void 0)}destroy(){this.clear(),super.destroy()}clear(){this.rowNodes={},super.destroy()}},x=i(3423),k=i(3423),M=class extends k.RowNodeBlock{constructor(e,t,i){super(0),this.nodeIdSequence=new k.NumberSequence,this.info={},this.ssrmParams=e,this.parentRowNode=i,this.level=i.level+1,this.groupLevel=e.rowGroupCols?this.level<e.rowGroupCols.length:void 0,this.leafGroup=!!e.rowGroupCols&&this.level===e.rowGroupCols.length-1}wireBeans(e){this.storeUtils=e.ssrmStoreUtils,this.blockUtils=e.ssrmBlockUtils,this.funcColsService=e.funcColsService,this.rowNodeBlockLoader=e.rowNodeBlockLoader,this.rowNodeSorter=e.rowNodeSorter,this.sortController=e.sortController,this.selectionService=e.selectionService,this.nodeManager=e.ssrmNodeManager,this.filterManager=e.filterManager,this.transactionManager=e.ssrmTransactionManager,this.serverSideRowModel=e.rowModel}postConstruct(){if(this.usingTreeData=this.gos.get("treeData"),this.nodeIdPrefix=this.blockUtils.createNodeIdPrefix(this.parentRowNode),!this.usingTreeData&&this.groupLevel){const e=this.ssrmParams.rowGroupCols[this.level];this.groupField=e.field,this.rowGroupColumn=this.funcColsService.getRowGroupColumns()[this.level]}let e=1;const t=-1===this.parentRowNode.level,i=this.storeUtils.getServerSideInitialRowCount();t&&null!=i&&(e=i),this.initialiseRowNodes(e),this.rowNodeBlockLoader.addBlock(this),this.addDestroyFunc((()=>this.rowNodeBlockLoader.removeBlock(this))),this.postSortFunc=this.gos.getCallback("postSortRows"),null!=i&&this.eventService.dispatchEventOnce({type:"rowCountReady"})}destroy(){this.destroyRowNodes(),super.destroy()}destroyRowNodes(){this.blockUtils.destroyRowNodes(this.allRowNodes),this.allRowNodes=[],this.nodesAfterSort=[],this.nodesAfterFilter=[],this.allNodesMap={}}initialiseRowNodes(e,t=!1){this.destroyRowNodes();for(let i=0;i<e;i++){const e=this.blockUtils.createRowNode({field:this.groupField,group:this.groupLevel,leafGroup:this.leafGroup,level:this.level,parent:this.parentRowNode,rowGroupColumn:this.rowGroupColumn});t&&(e.failedLoad=!0),this.allRowNodes.push(e),this.nodesAfterFilter.push(e),this.nodesAfterSort.push(e)}}getBlockStateJson(){return{id:this.nodeIdPrefix?this.nodeIdPrefix:"",state:this.getState()}}loadFromDatasource(){this.storeUtils.loadFromDatasource({startRow:void 0,endRow:void 0,parentBlock:this,parentNode:this.parentRowNode,storeParams:this.ssrmParams,success:this.success.bind(this,this.getVersion()),fail:this.pageLoadFailed.bind(this,this.getVersion())})}getStartRow(){return 0}getEndRow(){return this.nodesAfterSort.length}createDataNode(e,t){const i=this.blockUtils.createRowNode({field:this.groupField,group:this.groupLevel,leafGroup:this.leafGroup,level:this.level,parent:this.parentRowNode,rowGroupColumn:this.rowGroupColumn});null!=t?(0,k._insertIntoArray)(this.allRowNodes,i,t):this.allRowNodes.push(i);const a=this.prefixId(this.nodeIdSequence.next());return this.blockUtils.setDataIntoRowNode(i,e,a,void 0),this.nodeManager.addRowNode(i),this.blockUtils.checkOpenByDefault(i),this.allNodesMap[i.id]=i,i}prefixId(e){return this.nodeIdPrefix?this.nodeIdPrefix+"-"+e:e.toString()}processServerFail(){this.initialiseRowNodes(1,!0),this.fireStoreUpdatedEvent(),this.flushAsyncTransactions()}processServerResult(e){if(!this.isAlive())return;const t=e.groupLevelInfo;t&&Object.assign(this.info,t),e.pivotResultFields&&this.serverSideRowModel.generateSecondaryColumns(e.pivotResultFields);const i=this.allRowNodes.length>0?this.allNodesMap:void 0;this.allRowNodes=[],this.nodesAfterSort=[],this.nodesAfterFilter=[],this.allNodesMap={},e.rowData||(0,k._warnOnce)('"params.data" is missing from Server-Side Row Model success() callback. Please use the "data" attribute. If no data is returned, set an empty list.'),this.createOrRecycleNodes(i,e.rowData),i&&this.blockUtils.destroyRowNodes((0,k._getAllValuesInObject)(i)),0===this.level&&this.eventService.dispatchEventOnce({type:"rowCountReady"}),this.filterAndSortNodes(),this.fireStoreUpdatedEvent(),this.flushAsyncTransactions()}createOrRecycleNodes(e,t){if(!t)return;const i=t=>{if(!e)return;const i=this.gos.getRowIdCallback();if(!i)return;const a=this.parentRowNode.getGroupKeys(),n=this.level,r=i({data:t,parentKeys:a.length>0?a:void 0,level:n}),o=e[r];return o?(delete e[r],o):void 0},a=(e,t)=>{this.allNodesMap[e.id]=e,this.blockUtils.updateDataIntoRowNode(e,t),this.allRowNodes.push(e)};t.forEach((e=>{const t=i(e);t?a(t,e):this.createDataNode(e)}))}flushAsyncTransactions(){window.setTimeout((()=>this.transactionManager.flushAsyncTransactions()),0)}filterAndSortNodes(){this.filterRowNodes(),this.sortRowNodes()}sortRowNodes(){const e=this.storeUtils.isServerSideSortAllLevels()||this.storeUtils.isServerSideSortOnServer(),t=this.sortController.getSortOptions(),i=!t||0==t.length;if(e||i)this.nodesAfterSort=this.nodesAfterFilter;else if(this.nodesAfterSort=this.rowNodeSorter.doFullSort(this.nodesAfterFilter,t),this.postSortFunc){const e={nodes:this.nodesAfterSort};this.postSortFunc(e)}}filterRowNodes(){const e=!this.storeUtils.isServerSideOnlyRefreshFilteredGroups()||this.storeUtils.isServerSideFilterOnServer(),t=this.groupLevel;this.nodesAfterFilter=e||t?this.allRowNodes:this.filterManager?this.allRowNodes.filter((e=>this.filterManager.doesRowPassFilter({rowNode:e}))):this.allRowNodes}clearDisplayIndexes(){this.displayIndexStart=void 0,this.displayIndexEnd=void 0,this.allRowNodes.forEach((e=>this.blockUtils.clearDisplayIndex(e)))}getDisplayIndexEnd(){return this.displayIndexEnd}isDisplayIndexInStore(e){return 0!==this.getRowCount()&&(e>=this.displayIndexStart&&e<this.displayIndexEnd)}setDisplayIndexes(e,t){this.displayIndexStart=e.peek(),this.topPx=t.value;const i={};this.nodesAfterSort.forEach((a=>{this.blockUtils.setDisplayIndex(a,e,t),i[a.id]=!0})),this.allRowNodes.forEach((e=>{i[e.id]||this.blockUtils.clearDisplayIndex(e)})),this.displayIndexEnd=e.peek(),this.heightPx=t.value-this.topPx}forEachStoreDeep(e,t=new k.NumberSequence){e(this,t.next()),this.allRowNodes.forEach((i=>{const a=i.childStore;a&&a.forEachStoreDeep(e,t)}))}forEachNodeDeep(e,t=new k.NumberSequence){this.allRowNodes.forEach((i=>{e(i,t.next());const a=i.childStore;a&&a.forEachNodeDeep(e,t)}))}forEachNodeDeepAfterFilterAndSort(e,t=new k.NumberSequence,i=!1){this.nodesAfterSort.forEach((a=>{e(a,t.next());const n=a.childStore;n&&n.forEachNodeDeepAfterFilterAndSort(e,t,i)})),i&&this.parentRowNode.sibling&&e(this.parentRowNode.sibling,t.next())}getRowUsingDisplayIndex(e){if(!this.isDisplayIndexInStore(e))return;return this.blockUtils.binarySearchForDisplayIndex(e,this.nodesAfterSort)}getRowBounds(e){for(let t=0;t<this.nodesAfterSort.length;t++){const i=this.nodesAfterSort[t],a=this.blockUtils.extractRowBounds(i,e);if(a)return a}return null}isPixelInRange(e){return e>=this.topPx&&e<this.topPx+this.heightPx}getRowIndexAtPixel(e){if(e<=this.topPx){return this.nodesAfterSort[0].rowIndex}if(e>=this.topPx+this.heightPx){const t=this.nodesAfterSort[this.nodesAfterSort.length-1],i=t.rowTop+t.rowHeight;if(e>=i&&t.expanded){if(t.childStore&&t.childStore.getRowCount()>0)return t.childStore.getRowIndexAtPixel(e);if(t.detailNode)return t.detailNode.rowIndex}return t.rowIndex}let t=null;this.nodesAfterSort.forEach((i=>{const a=this.blockUtils.getIndexAtPixel(i,e);null!=a&&(t=a)}));return null==t?this.displayIndexEnd-1:t}getChildStore(e){return this.storeUtils.getChildStore(e,this,(e=>this.allRowNodes.find((t=>t.key==e))))}forEachChildStoreShallow(e){this.allRowNodes.forEach((t=>{const i=t.childStore;i&&e(i)}))}refreshAfterFilter(e){const t=this.storeUtils.isServerSideFilterOnServer(),i=this.storeUtils.isServerRefreshNeeded(this.parentRowNode,this.ssrmParams.rowGroupCols,e);if(!this.storeUtils.isServerSideOnlyRefreshFilteredGroups()||t&&i)return this.refreshStore(!0),void this.sortRowNodes();this.filterRowNodes(),this.sortRowNodes(),this.forEachChildStoreShallow((t=>t.refreshAfterFilter(e)))}refreshAfterSort(e){const t=this.storeUtils.isServerSideSortOnServer(),i=this.storeUtils.isServerRefreshNeeded(this.parentRowNode,this.ssrmParams.rowGroupCols,e);if(this.storeUtils.isServerSideSortAllLevels()||t&&i)return this.refreshStore(!0),void this.filterRowNodes();this.filterRowNodes(),this.sortRowNodes(),this.forEachChildStoreShallow((t=>t.refreshAfterSort(e)))}applyTransaction(e){switch(this.getState()){case"failed":return{status:k.ServerSideTransactionResultStatus.StoreLoadingFailed};case"loading":return{status:k.ServerSideTransactionResultStatus.StoreLoading};case"needsLoading":return{status:k.ServerSideTransactionResultStatus.StoreWaitingToLoad}}const t=this.gos.getCallback("isApplyServerSideTransaction");if(t){if(!t({transaction:e,parentNode:this.parentRowNode,groupLevelInfo:this.info}))return{status:k.ServerSideTransactionResultStatus.Cancelled}}const i={status:k.ServerSideTransactionResultStatus.Applied,remove:[],update:[],add:[]},a=[];return this.executeAdd(e,i),this.executeRemove(e,i,a),this.executeUpdate(e,i,a),this.filterAndSortNodes(),this.updateSelection(a),i}updateSelection(e){if(e.length>0){this.selectionService.setNodesSelected({newValue:!1,nodes:e,suppressFinishActions:!0,clearSelection:!1,source:"rowDataChanged"});const t={type:"selectionChanged",source:"rowDataChanged"};this.eventService.dispatchEvent(t)}}executeAdd(e,t){const{add:i,addIndex:a}=e;if((0,k._missingOrEmpty)(i))return;"number"==typeof a&&a>=0?i.reverse().forEach((e=>{const i=this.createDataNode(e,a);t.add.push(i)})):i.forEach((e=>{const i=this.createDataNode(e);t.add.push(i)}))}executeRemove(e,t,i){const{remove:a}=e;if(null==a)return;const n={};a.forEach((e=>{const a=this.lookupRowNode(e);a&&(a.isSelected()&&i.push(a),a.clearRowTopAndRowIndex(),n[a.id]=!0,delete this.allNodesMap[a.id],t.remove.push(a),this.nodeManager.removeNode(a))})),this.allRowNodes=this.allRowNodes.filter((e=>!n[e.id]))}executeUpdate(e,t,i){const{update:a}=e;null!=a&&a.forEach((e=>{const a=this.lookupRowNode(e);a&&(this.blockUtils.updateDataIntoRowNode(a,e),!a.selectable&&a.isSelected()&&i.push(a),t.update.push(a))}))}lookupRowNode(e){const t=this.gos.getRowIdCallback();if(null!=t){const i=this.parentRowNode.getGroupKeys(),a=t({data:e,parentKeys:i.length>0?i:void 0,level:this.level}),n=this.allNodesMap[a];return n||((0,k._errorOnce)(`could not find row id=${a}, data item was not found for this id`),null)}{const t=this.allRowNodes.find((t=>t.data===e));return t||((0,k._errorOnce)("could not find data item as object was not found",e),null)}}addStoreStates(e){e.push({suppressInfiniteScroll:!0,route:this.parentRowNode.getGroupKeys(),rowCount:this.allRowNodes.length,info:this.info}),this.forEachChildStoreShallow((t=>t.addStoreStates(e)))}refreshStore(e){if(e){const e=this.nodesAfterSort?this.nodesAfterSort.length:1;this.initialiseRowNodes(e)}this.scheduleLoad(),this.fireStoreUpdatedEvent()}retryLoads(){"failed"===this.getState()&&(this.initialiseRowNodes(1),this.scheduleLoad()),this.forEachChildStoreShallow((e=>e.retryLoads()))}scheduleLoad(){this.setStateWaitingToLoad(),this.rowNodeBlockLoader.checkBlockToLoad()}fireStoreUpdatedEvent(){this.eventService.dispatchEvent({type:"storeUpdated"})}getRowCount(){return this.nodesAfterSort.length}getTopLevelRowDisplayedIndex(e){return this.nodesAfterSort[e].rowIndex}isLastRowIndexKnown(){return"loaded"==this.getState()}getRowNodesInRange(e,t){const i=[];let a=!1;(0,k._missing)(e)&&(a=!0),this.nodesAfterSort.forEach((n=>{const r=n===e||n===t;(a||r)&&i.push(n),r&&(a=!a)}));return a?[]:i}getStoreBounds(){return{topPx:this.topPx,heightPx:this.heightPx}}},R=i(3423),D=i(3423),A=i(3423),E=class extends A.BeanStub{constructor(){super(...arguments),this.beanName="lazyBlockLoadingService",this.cacheLoadingNodesMap=new Map,this.isCheckQueued=!1,this.nextBlockToLoad=void 0}wireBeans(e){this.rowNodeBlockLoader=e.rowNodeBlockLoader,this.rowRenderer=e.rowRenderer,this.rowModel=e.rowModel}postConstruct(){this.addManagedListeners(this.rowNodeBlockLoader,{blockLoaded:()=>this.queueLoadCheck()})}subscribe(e){this.cacheLoadingNodesMap.set(e,new Set)}unsubscribe(e){this.cacheLoadingNodesMap.delete(e)}queueLoadCheck(){this.isCheckQueued||(this.isCheckQueued=!0,window.queueMicrotask((()=>{this.queueLoadAction(),this.isCheckQueued=!1})))}queueLoadAction(){const e=this.getBlockToLoad();if(!e)return;const t=this.nextBlockToLoad&&this.nextBlockToLoad.cache===e.cache&&this.nextBlockToLoad.index===e.index;if(!(t||this.nextBlockToLoad&&t)){this.nextBlockToLoad=e,window.clearTimeout(this.loaderTimeout);const t=Number(this.nextBlockToLoad.index),i=this.nextBlockToLoad.cache,a=e.index+e.cache.getBlockSize();this.loaderTimeout=window.setTimeout((()=>{i.isAlive()&&(this.loaderTimeout=void 0,this.attemptLoad(i,t,a),this.nextBlockToLoad=void 0)}),this.gos.get("blockLoadDebounceMillis"))}}attemptLoad(e,t,i){const a=this.rowNodeBlockLoader.getAvailableLoadingCount();null!=a&&0===a||(this.rowNodeBlockLoader.registerLoads(1),this.executeLoad(e,t,i),this.queueLoadCheck())}executeLoad(e,t,i){const a=e.getSsrmParams(),n={startRow:t,endRow:i,rowGroupCols:a.rowGroupCols,valueCols:a.valueCols,pivotCols:a.pivotCols,pivotMode:a.pivotMode,groupKeys:e.store.getParentNode().getGroupKeys(),filterModel:a.filterModel,sortModel:a.sortModel},r=this.cacheLoadingNodesMap.get(e),o=()=>{for(let e=0;e<i-t;e++)r.delete(t+e)},s=this.gos.addGridCommonParams({request:n,success:a=>{this.rowNodeBlockLoader.loadComplete(),e.onLoadSuccess(t,i-t,a),o()},fail:()=>{this.rowNodeBlockLoader.loadComplete(),e.onLoadFailed(t,i-t),o()},parentNode:e.store.getParentNode()});(()=>{for(let e=0;e<i-t;e++)r.add(t+e)})(),e.getSsrmParams().datasource?.getRows(s)}getBlockToLoad(){const e=this.rowRenderer.getFirstVirtualRenderedRow(),t=this.rowRenderer.getLastVirtualRenderedRow();for(let i=e;i<=t;i++){const e=this.rowModel.getRow(i);if(!e)continue;const t=e.parent&&e.parent.childStore;if(!(t&&t instanceof F))continue;const a=t.getCache(),n=a.getNodes().getBy("node",e);if(!n)continue;const r=this.cacheLoadingNodesMap.get(a);if(!r?.has(n.index)&&(e.__needsRefreshWhenVisible||e.stub&&!e.failedLoad))return{cache:a,index:a.getBlockStartIndex(n.index)}}let i=null,a=null,n=Number.MAX_SAFE_INTEGER;for(const r of this.cacheLoadingNodesMap.keys()){r.getNodesToRefresh().forEach((o=>{if(null==o.rowIndex)return a=o,void(i=r);const s=r.getNodes().getBy("node",o);if(!s)return;const l=this.cacheLoadingNodesMap.get(r);if(l?.has(s.index))return;const c=Math.abs(e-o.rowIndex),d=Math.abs(o.rowIndex-t);c<n&&(a=o,n=c,i=r),d<n&&(a=o,n=d,i=r)}))}if(!i)return;const r=i,o=r.getNodes().getBy("node",a)?.index;return null==o?void 0:{cache:r,index:r.getBlockStartIndex(o)}}isRowLoading(e,t){return this.cacheLoadingNodesMap.get(e)?.has(t)??!1}};E.DEFAULT_BLOCK_SIZE=100;var T=class{constructor(...e){if(e.length<1)throw new Error("AG Grid: At least one index must be provided.");this.indexes=e,this.maps=new Map(this.indexes.map((e=>[e,new Map])))}getSize(){return this.maps.get(this.indexes[0]).size}getBy(e,t){const i=this.maps.get(e);if(!i)throw new Error(`AG Grid: ${String(e)} not found`);return i.get(t)}set(e){this.indexes.forEach((t=>{const i=this.maps.get(t);if(!i)throw new Error(`AG Grid: ${String(t)} not found`);i.set(e[t],e)}))}delete(e){this.indexes.forEach((t=>{const i=this.maps.get(t);if(!i)throw new Error(`AG Grid: ${String(t)} not found`);i.delete(e[t])}))}clear(){this.maps.forEach((e=>e.clear()))}getIterator(e){const t=this.maps.get(e);if(!t)throw new Error(`AG Grid: ${String(e)} not found`);return t.values()}forEach(e){const t=this.getIterator(this.indexes[0]);let i;for(;(i=t.next())&&!i.done;)e(i.value)}find(e){const t=this.getIterator(this.indexes[0]);let i;for(;(i=t.next())&&!i.done;)if(e(i.value))return i.value}filter(e){const t=this.getIterator(this.indexes[0]);let i;const a=[];for(;(i=t.next())&&!i.done;)e(i.value)&&a.push(i.value);return a}},P=class extends D.BeanStub{constructor(e,t,i){super(),this.live=!0,this.removedNodeCache=new Map,this.store=e,this.numberOfRows=t,this.isLastRowKnown=!1,this.storeParams=i}wireBeans(e){this.rowRenderer=e.rowRenderer,this.blockUtils=e.ssrmBlockUtils,this.focusService=e.focusService,this.nodeManager=e.ssrmNodeManager,this.serverSideRowModel=e.rowModel,this.rowNodeSorter=e.rowNodeSorter,this.sortController=e.sortController,this.lazyBlockLoadingService=e.lazyBlockLoadingService}postConstruct(){this.lazyBlockLoadingService.subscribe(this),this.nodeMap=new T("index","id","node"),this.nodeDisplayIndexMap=new Map,this.nodesToRefresh=new Set,this.defaultNodeIdPrefix=this.blockUtils.createNodeIdPrefix(this.store.getParentNode()),this.getRowIdFunc=this.gos.getRowIdCallback(),this.isMasterDetail=this.gos.get("masterDetail")}destroy(){this.lazyBlockLoadingService.unsubscribe(this),this.numberOfRows=0,this.nodeMap.forEach((e=>this.blockUtils.destroyRowNode(e.node))),this.nodeMap.clear(),this.nodeDisplayIndexMap.clear(),this.nodesToRefresh.clear(),this.live=!1,super.destroy()}getRowByDisplayIndex(e){if(!this.store.isDisplayIndexInStore(e))return;const t=this.nodeDisplayIndexMap.get(e);if(t)return(t.stub||t.__needsRefreshWhenVisible)&&this.lazyBlockLoadingService.queueLoadCheck(),t;if(e===this.store.getDisplayIndexStart())return this.createStubNode(0,e);const i=this.nodeDisplayIndexMap.get(e-1);if(i){if(this.isMasterDetail&&i.master&&i.expanded)return i.detailNode;if(i.expanded&&i.childStore?.isDisplayIndexInStore(e))return i.childStore?.getRowUsingDisplayIndex(e);const t=this.nodeMap.getBy("node",i);return this.createStubNode(t.index+1,e)}const a=this.getSurroundingNodesByDisplayIndex(e);if(null==a){const t=this.store.getRowCount()-(this.store.getDisplayIndexEnd()-e);return this.createStubNode(t,e)}const{previousNode:n,nextNode:r}=a;if(n&&n.node.expanded&&n.node.childStore?.isDisplayIndexInStore(e))return n.node.childStore?.getRowUsingDisplayIndex(e);if(r){const t=r.node.rowIndex-e,i=r.index-t;return this.createStubNode(i,e)}const o=this.store.getRowCount()-(this.store.getDisplayIndexEnd()-e);return this.createStubNode(o,e)}createStubNode(e,t){const i=this.store.getRowBounds(t),a=this.createRowAtIndex(e,null,(e=>{e.setRowIndex(t),e.setRowTop(i.rowTop),this.nodeDisplayIndexMap.set(t,e)}));return this.lazyBlockLoadingService.queueLoadCheck(),a}getRowByStoreIndex(e){return this.nodeMap.getBy("index",e)?.node}skipDisplayIndexes(e,t,i){if(0===e)return;const a=this.gos.getRowHeightAsNumber();t.skip(e),i.value+=e*a}setDisplayIndexes(e,t){this.nodeDisplayIndexMap.clear();const i={};this.nodeMap.forEach((e=>{i[e.index]=e.node}));let a=-1;for(const n in i){const r=i[n],o=Number(n),s=o-1-a;this.skipDisplayIndexes(s,e,t),this.blockUtils.setDisplayIndex(r,e,t),this.nodeDisplayIndexMap.set(r.rowIndex,r),a=o}const n=this.numberOfRows-1-a;this.skipDisplayIndexes(n,e,t),this.purgeExcessRows()}getRowCount(){return this.numberOfRows}setRowCount(e,t){if(e<0)throw new Error("AG Grid: setRowCount can only accept a positive row count.");this.numberOfRows=e,null!=t&&(this.isLastRowKnown=t,!1===t&&(this.numberOfRows+=1)),this.fireStoreUpdatedEvent()}getNodes(){return this.nodeMap}getNodeCachedByDisplayIndex(e){return this.nodeDisplayIndexMap.get(e)??null}getNodesToRefresh(){return this.nodesToRefresh}getSurroundingNodesByDisplayIndex(e){let t,i;return this.nodeMap.forEach((a=>{e>a.node.rowIndex?(null==i||i.node.rowIndex<a.node.rowIndex)&&(i=a):(null==t||t.node.rowIndex>a.node.rowIndex)&&(t=a)})),i||t?{previousNode:i,nextNode:t}:null}getDisplayIndexFromStoreIndex(e){const t=this.nodeMap.getBy("index",e);if(t)return t.node.rowIndex;let i,a;if(this.nodeMap.forEach((t=>{e>t.index?(null==a||a.index<t.index)&&(a=t):(null==i||i.index>t.index)&&(i=t)})),!i)return this.store.getDisplayIndexEnd()-(this.numberOfRows-e);if(!a)return this.store.getDisplayIndexStart()+e;const n=e-a.index;return(a.node.childStore?.getDisplayIndexEnd()??a.node.rowIndex)+n}createRowAtIndex(e,t,i){const a=this.nodeMap.getBy("index",e);if(a){const{node:i}=a;if(i.__needsRefreshWhenVisible=!1,this.doesNodeMatch(t,i))return this.blockUtils.updateDataIntoRowNode(i,t),this.nodesToRefresh.delete(i),i;if(null==this.getRowIdFunc&&i.hasChildren()&&i.expanded)return this.nodesToRefresh.delete(i),i;this.destroyRowAtIndex(e)}if(t&&null!=this.getRowIdFunc){const i=this.getRowId(t),a=i&&this.removedNodeCache?.get(i);if(a)return this.removedNodeCache?.delete(i),this.blockUtils.updateDataIntoRowNode(a,t),this.nodeMap.set({id:a.id,node:a,index:e}),this.nodesToRefresh.delete(a),a.__needsRefreshWhenVisible=!1,a;const n=this.nodeMap.getBy("id",i);if(n){this.nodeMap.delete(n);const{node:i,index:a}=n;return this.blockUtils.updateDataIntoRowNode(i,t),this.nodeMap.set({id:i.id,node:i,index:e}),this.nodesToRefresh.delete(i),i.__needsRefreshWhenVisible=!1,this.getBlockStartIndex(a)===this.getBlockStartIndex(e)?i:(this.markBlockForVerify(a),i)}}const n=this.blockUtils.createRowNode(this.store.getRowDetails());if(null!=t){const e=this.getPrefixedId(this.store.getIdSequence().next());this.blockUtils.setDataIntoRowNode(n,t,e,void 0),this.serverSideRowModel.setPaused(!0),this.blockUtils.checkOpenByDefault(n),this.serverSideRowModel.setPaused(!1),this.nodeManager.addRowNode(n)}return this.nodeMap.set({id:n.id,node:n,index:e}),i&&i(n),n}getBlockStates(){const e={},t={};this.nodeMap.forEach((({node:i,index:a})=>{const n=this.getBlockStartIndex(a);i.stub||i.failedLoad||(e[n]=(e[n]??0)+1);let r="loaded";i.failedLoad?r="failed":this.lazyBlockLoadingService.isRowLoading(this,n)?r="loading":(this.nodesToRefresh.has(i)||i.stub)&&(r="needsLoading"),t[n]||(t[n]=new Set),t[n].add(r)}));const i={loading:4,failed:3,needsLoading:2,loaded:1},a=this.blockUtils.createNodeIdPrefix(this.store.getParentNode()),n={};return Object.entries(t).forEach((([t,r])=>{const o=[...r].sort(((e,t)=>(i[e]??0)-(i[t]??0)))[0],s=Number(t)/this.getBlockSize(),l=a?`${a}-${s}`:String(s);n[l]={blockNumber:s,startRow:Number(t),endRow:Number(t)+this.getBlockSize(),pageStatus:o,loadedRowCount:e[t]??0}})),n}destroyRowAtIndex(e){const t=this.nodeMap.getBy("index",e);t&&(this.nodeMap.delete(t),this.nodeDisplayIndexMap.delete(t.node.rowIndex),this.nodesToRefresh.size>0?this.removedNodeCache.set(t.node.id,t.node):this.blockUtils.destroyRowNode(t.node),this.nodesToRefresh.delete(t.node))}getSsrmParams(){return this.store.getSsrmParams()}getPrefixedId(e){return this.defaultNodeIdPrefix?this.defaultNodeIdPrefix+"-"+e:e.toString()}markBlockForVerify(e){const[t,i]=this.getBlockBounds(e);this.nodeMap.filter((e=>e.index>=t&&e.index<i)).forEach((({node:e})=>{e.__needsRefreshWhenVisible=!0}))}doesNodeMatch(e,t){if(t.stub)return!1;const i=this.getRowId(e);return null===i?t.data===e:t.id===i}purgeStubsOutsideOfViewport(){const e=this.rowRenderer.getFirstVirtualRenderedRow(),t=this.rowRenderer.getLastVirtualRenderedRow(),i=this.getBlockStartIndex(e),[,a]=this.getBlockBounds(t);this.nodeMap.forEach((e=>{this.lazyBlockLoadingService.isRowLoading(this,e.index)||e.node.failedLoad||e.node.stub&&(e.index<i||e.index>a)&&this.destroyRowAtIndex(e.index)}))}getBlocksDistanceFromRow(e,t){const i={};return e.forEach((({node:e,index:a})=>{const[n,r]=this.getBlockBounds(a);if(n in i)return;const o=Math.abs(e.rowIndex-t);let s;const l=this.nodeMap.getBy("index",[r-1]);l&&(s=Math.abs(l.node.rowIndex-t));const c=null==s||o<s?o:s;i[n]=c})),Object.entries(i)}purgeExcessRows(){if(this.purgeStubsOutsideOfViewport(),null==this.store.getDisplayIndexEnd()||null==this.storeParams.maxBlocksInCache)return;const e=this.rowRenderer.getFirstVirtualRenderedRow(),t=this.rowRenderer.getLastVirtualRenderedRow(),i=new Set,a=new Set;this.nodeMap.forEach((({index:n,node:r})=>{const o=this.getBlockStartIndex(n);i.add(o);r.rowIndex>=e&&r.rowIndex<=t&&a.add(o)}));const n=Math.max(a.size,this.storeParams.maxBlocksInCache??0),r=i.size-n;if(r<=0)return;let o=Number.MAX_SAFE_INTEGER,s=Number.MIN_SAFE_INTEGER;a.forEach((e=>{o>e&&(o=e),s<e&&(s=e)}));const l=this.nodeMap.filter((({node:e,index:t})=>{const i=this.getBlockStartIndex(t);return!(i>=o&&i<=s)&&!this.isNodeCached(e)}));if(0===l.length)return;const c=e+(t-e)/2,d=this.getBlocksDistanceFromRow(l,c),h=this.getBlockSize();d.sort(((e,t)=>Math.sign(t[1]-e[1])));for(let e=0;e<Math.min(r,d.length);e++){const t=Number(d[e][0]);for(let e=t;e<t+h;e++){const t=this.nodeMap.getBy("index",e);t&&!this.isNodeCached(t.node)&&this.destroyRowAtIndex(e)}}}isNodeFocused(e){const t=this.focusService.getFocusCellToUseAfterRefresh();if(!t)return!1;if(null!=t.rowPinned)return!1;return t.rowIndex===e.rowIndex}isNodeCached(e){return e.isExpandable()&&e.expanded||this.isNodeFocused(e)}extractDuplicateIds(e){if(null==this.getRowIdFunc)return[];const t=new Set,i=new Set;return e.forEach((e=>{const a=this.getRowId(e);t.has(a)?i.add(a):t.add(a)})),[...i]}onLoadSuccess(e,t,i){if(!this.live)return;const a=i.groupLevelInfo;if(this.store.setStoreInfo(a),null!=this.getRowIdFunc){const a=this.extractDuplicateIds(i.rowData);if(a.length>0){const i=a.join(", ");return(0,D._warnOnce)(`Unable to display rows as duplicate row ids (${i}) were returned by the getRowId callback. Please modify the getRowId callback to provide unique ids.`),void this.onLoadFailed(e,t)}}i.pivotResultFields&&this.serverSideRowModel.generateSecondaryColumns(i.pivotResultFields);const n=this.nodesToRefresh.size>0;if(i.rowData.forEach(((t,i)=>{const a=e+i,n=this.nodeMap.getBy("index",a);if(!n?.node?.stub)return n&&this.doesNodeMatch(t,n.node)?(this.blockUtils.updateDataIntoRowNode(n.node,t),this.nodesToRefresh.delete(n.node),void(n.node.__needsRefreshWhenVisible=!1)):void this.createRowAtIndex(a,t);this.createRowAtIndex(a,t)})),null!=i.rowCount&&-1!==i.rowCount)this.numberOfRows=i.rowCount,this.isLastRowKnown=!0;else if(t>i.rowData.length)this.numberOfRows=e+i.rowData.length,this.isLastRowKnown=!0;else if(!this.isLastRowKnown){const t=e+i.rowData.length+1;t>this.numberOfRows&&(this.numberOfRows=t)}if(this.isLastRowKnown){this.nodeMap.filter((e=>e.index>=this.numberOfRows)).forEach((e=>this.destroyRowAtIndex(e.index)))}this.fireStoreUpdatedEvent();const r=0===this.nodesToRefresh.size;n&&r&&this.fireRefreshFinishedEvent()}fireRefreshFinishedEvent(){0===this.nodesToRefresh.size&&(this.removedNodeCache.forEach((e=>{this.blockUtils.destroyRowNode(e)})),this.removedNodeCache=new Map,this.store.fireRefreshFinishedEvent())}isStoreFullyLoaded(){const e=this.isLastRowKnown,t=this.nodeMap.getSize()===this.numberOfRows;if(!e||!t)return;if(this.nodesToRefresh.size>0)return;let i=-1;return null==this.nodeMap.find((e=>(i+=1,e.index!==i||(!!e.node.__needsRefreshWhenVisible||!!e.node.stub))))}isLastRowIndexKnown(){return this.isLastRowKnown}onLoadFailed(e,t){if(!this.live)return;const i=this.nodesToRefresh.size>0;for(let i=e;i<e+t&&i<this.getRowCount();i++){let{node:e}=this.nodeMap.getBy("index",i)??{};e&&this.nodesToRefresh.delete(e),e&&e.stub||(e&&!e.stub&&this.destroyRowAtIndex(i),e=this.createRowAtIndex(i)),e.__needsRefreshWhenVisible=!1,e.failedLoad=!0}const a=0===this.nodesToRefresh.size;i&&a&&this.fireRefreshFinishedEvent(),this.fireStoreUpdatedEvent()}markNodesForRefresh(){this.nodeMap.forEach((e=>{e.node.stub&&!e.node.failedLoad||this.nodesToRefresh.add(e.node)})),this.lazyBlockLoadingService.queueLoadCheck(),this.isLastRowKnown&&0===this.numberOfRows&&(this.numberOfRows=1,this.isLastRowKnown=!1,this.fireStoreUpdatedEvent())}isNodeInCache(e){return!!this.nodeMap.getBy("id",e)}fireStoreUpdatedEvent(){this.live&&this.store.fireStoreUpdatedEvent()}getRowId(e){if(null==this.getRowIdFunc)return null;const{level:t}=this.store.getRowDetails(),i=this.store.getParentNode().getGroupKeys();return this.getRowIdFunc({data:e,parentKeys:i.length>0?i:void 0,level:t})}getOrderedNodeMap(){const e={};return this.nodeMap.forEach((t=>e[t.index]=t)),e}clearDisplayIndexes(){this.nodeDisplayIndexMap.clear()}clientSideSortRows(){const e=this.sortController.getSortOptions();if(!e.some((e=>null!=e.sort)))return;const t=new Array(this.nodeMap.getSize());this.nodeMap.forEach((e=>t[e.index]=e.node)),this.nodeMap.clear();this.rowNodeSorter.doFullSort(t,e).forEach(((e,t)=>{this.nodeMap.set({id:e.id,node:e,index:t})}))}updateRowNodes(e){if(null==this.getRowIdFunc)throw new Error("AG Grid: Transactions can only be applied when row ids are supplied.");const t=[];return e.forEach((e=>{const i=this.getRowId(e),a=this.nodeMap.getBy("id",i);a&&(this.blockUtils.updateDataIntoRowNode(a.node,e),t.push(a.node))})),t}insertRowNodes(e,t){const i=this.store.getRowCount()-(this.store.getParentNode().sibling?1:0),a=null==t&&this.isLastRowKnown?i:t;if(null==a||i<a)return[];if(null==this.getRowIdFunc)throw new Error("AG Grid: Transactions can only be applied when row ids are supplied.");const n={};e.forEach((e=>{const t=this.getRowId(e);t&&this.isNodeInCache(t)||(n[t]=e)}));const r=Object.values(n),o=r.length;if(0===o)return[];const s=this.nodeMap.filter((e=>e.index>=a));return s.forEach((e=>this.nodeMap.delete(e))),s.forEach((e=>{this.nodeMap.set({node:e.node,index:e.index+o,id:e.id})})),this.numberOfRows+=o,r.map(((e,t)=>this.createRowAtIndex(a+t,e)))}removeRowNodes(e){if(null==this.getRowIdFunc)throw new Error("AG Grid: Transactions can only be applied when row ids are supplied.");const t=[],i=[];let a=0;const n=[...e],r=this.getOrderedNodeMap();let o=-1;for(const e in r){o+=1;const s=r[e],l=n.findIndex((e=>e===s.id));if(-1!==l){n.splice(l,1),this.destroyRowAtIndex(Number(e)),t.push(s.node),a+=1;continue}if(0===a)continue;const c=Number(e);o!==c&&i.push(s.node),this.nodeMap.delete(r[e]),this.nodeMap.set({id:s.id,node:s.node,index:c-a})}return this.numberOfRows-=this.isLastRowIndexKnown()?e.length:a,n.length>0&&i.length>0&&(i.forEach((e=>e.__needsRefreshWhenVisible=!0)),this.lazyBlockLoadingService.queueLoadCheck()),t}getBlockSize(){return this.storeParams.cacheBlockSize||E.DEFAULT_BLOCK_SIZE}getBlockStartIndex(e){return e-e%this.getBlockSize()}getBlockBounds(e){const t=this.getBlockStartIndex(e);return[t,t+this.getBlockSize()]}},F=class extends R.BeanStub{constructor(e,t,i){super(),this.idSequence=new R.NumberSequence,this.ssrmParams=e,this.parentRowNode=i,this.storeParams=t,this.level=i.level+1,this.group=!!e.rowGroupCols&&this.level<e.rowGroupCols.length,this.leafGroup=!!e.rowGroupCols&&this.level===e.rowGroupCols.length-1,this.info={}}wireBeans(e){this.blockUtils=e.ssrmBlockUtils,this.storeUtils=e.ssrmStoreUtils,this.selectionService=e.selectionService,this.funcColsService=e.funcColsService}postConstruct(){let e=1;0===this.level&&(e=this.storeUtils.getServerSideInitialRowCount()??1,this.eventService.dispatchEventOnce({type:"rowCountReady"})),this.cache=this.createManagedBean(new P(this,e,this.storeParams));if(!this.gos.get("treeData")&&this.group){const e=this.ssrmParams.rowGroupCols[this.level];this.groupField=e.field,this.rowGroupColumn=this.funcColsService.getRowGroupColumns()[this.level]}}destroy(){this.displayIndexStart=void 0,this.displayIndexEnd=void 0,this.destroyBean(this.cache),super.destroy()}applyRowData(e,t,i){this.cache.onLoadSuccess(t,i,e)}applyTransaction(e){const t=this.gos.getRowIdCallback();if(!t)return(0,R._warnOnce)("getRowId callback must be implemented for transactions to work. Transaction was ignored."),{status:R.ServerSideTransactionResultStatus.Cancelled};const i=this.gos.getCallback("isApplyServerSideTransaction");if(i){if(!i({transaction:e,parentNode:this.parentRowNode,groupLevelInfo:this.info}))return{status:R.ServerSideTransactionResultStatus.Cancelled}}const a=this.cache.isStoreFullyLoaded();let n,r,o;if(e.update?.length&&(n=this.cache.updateRowNodes(e.update)),e.add?.length){let t=e.addIndex;null!=t&&t<0&&(t=void 0),r=this.cache.insertRowNodes(e.add,t)}if(e.remove?.length){const i=e.remove.map((e=>t({level:this.level,parentKeys:this.parentRowNode.getGroupKeys(),data:e}))),a=[...new Set(i)];o=this.cache.removeRowNodes(a)}const s=this.gos.get("serverSideEnableClientSideSort");return a&&s&&(n?.length||r?.length)&&this.cache.clientSideSortRows(),this.updateSelectionAfterTransaction(n,o),{status:R.ServerSideTransactionResultStatus.Applied,update:n,add:r,remove:o}}updateSelectionAfterTransaction(e,t){const i=[];e?.forEach((e=>{e.isSelected()&&!e.selectable&&i.push(e)})),t?.forEach((e=>{e.isSelected()&&i.push(e)})),i.length&&this.selectionService.setNodesSelected({newValue:!1,clearSelection:!1,nodes:i,source:"rowDataChanged"})}clearDisplayIndexes(){this.displayIndexStart=void 0,this.displayIndexEnd=void 0,this.cache.getNodes().forEach((e=>this.blockUtils.clearDisplayIndex(e.node))),this.parentRowNode.sibling&&this.blockUtils.clearDisplayIndex(this.parentRowNode.sibling),this.cache.clearDisplayIndexes()}getDisplayIndexStart(){return this.displayIndexStart}getDisplayIndexEnd(){return this.displayIndexEnd}getRowCount(){return this.parentRowNode.sibling?this.cache.getRowCount()+1:this.cache.getRowCount()}setRowCount(e,t){this.cache.setRowCount(e,t)}isDisplayIndexInStore(e){return 0!==this.cache.getRowCount()&&(this.displayIndexStart<=e&&e<this.getDisplayIndexEnd())}setDisplayIndexes(e,t){this.displayIndexStart=e.peek(),this.topPx=t.value;const i=this.parentRowNode.level>-1&&this.gos.getGroupTotalRowCallback()({node:this.parentRowNode});i||this.parentRowNode.destroyFooter(),"top"===i&&(this.parentRowNode.createFooter(),this.blockUtils.setDisplayIndex(this.parentRowNode.sibling,e,t)),this.cache.setDisplayIndexes(e,t),"bottom"===i&&(this.parentRowNode.createFooter(),this.blockUtils.setDisplayIndex(this.parentRowNode.sibling,e,t)),this.displayIndexEnd=e.peek(),this.heightPx=t.value-this.topPx}forEachStoreDeep(e,t=new R.NumberSequence){e(this,t.next()),this.cache.getNodes().forEach((i=>{const a=i.node.childStore;a&&a.forEachStoreDeep(e,t)}))}forEachNodeDeep(e,t=new R.NumberSequence){this.cache.getNodes().forEach((i=>{e(i.node,t.next());const a=i.node.childStore;a&&a.forEachNodeDeep(e,t)}))}forEachNodeDeepAfterFilterAndSort(e,t=new R.NumberSequence,i=!1){const a=this.parentRowNode.level>-1&&this.gos.getGroupTotalRowCallback()({node:this.parentRowNode});"top"===a&&e(this.parentRowNode.sibling,t.next());const n=this.cache.getOrderedNodeMap();for(const a in n){const r=n[a];e(r.node,t.next());const o=r.node.childStore;o&&o.forEachNodeDeepAfterFilterAndSort(e,t,i)}"bottom"===a&&e(this.parentRowNode.sibling,t.next())}retryLoads(){this.cache.getNodes().forEach((({node:e})=>{e.failedLoad&&(e.failedLoad=!1,e.__needsRefreshWhenVisible=!0,e.stub=!0)})),this.forEachChildStoreShallow((e=>e.retryLoads())),this.fireStoreUpdatedEvent()}getRowUsingDisplayIndex(e){return this.parentRowNode.sibling&&e===this.parentRowNode.sibling.rowIndex?this.parentRowNode.sibling:this.cache.getRowByDisplayIndex(e)}getRowBounds(e){if(!this.isDisplayIndexInStore(e))return null;const t=this.cache.getNodeCachedByDisplayIndex(e);if(t){const i=this.blockUtils.extractRowBounds(t,e);if(i)return i}const{previousNode:i,nextNode:a}=this.cache.getSurroundingNodesByDisplayIndex(e)??{};if(i){const t=this.blockUtils.extractRowBounds(i.node,e);if(null!=t)return t}const n=this.gos.getRowHeightAsNumber();if(a){const t=(a.node.rowIndex-e)*n;return{rowTop:a.node.rowTop-t,rowHeight:n}}return{rowTop:this.topPx+this.heightPx-(this.getDisplayIndexEnd()-e)*n,rowHeight:n}}isPixelInRange(e){return e>=this.topPx&&e<this.topPx+this.heightPx}getRowIndexAtPixel(e){if(e<this.topPx)return this.getDisplayIndexStart();if(e>=this.topPx+this.heightPx)return this.getDisplayIndexEnd()-1;if(this.parentRowNode.sibling&&e>this.parentRowNode.sibling.rowTop&&e<this.parentRowNode.sibling.rowTop+this.parentRowNode.sibling.rowHeight)return this.parentRowNode.sibling.rowIndex;let t=Number.MAX_SAFE_INTEGER,i=null,a=Number.MAX_SAFE_INTEGER,n=null;if(this.cache.getNodes().forEach((({node:r})=>{const o=Math.abs(e-r.rowTop);r.rowTop<e?o<t&&(t=o,i=r):o<a&&(a=o,n=r)})),i){const t=this.blockUtils.getIndexAtPixel(i,e);if(null!=t)return t}const r=this.gos.getRowHeightAsNumber();if(n){const t=n.rowTop,i=Math.ceil((t-e)/r);return n.rowIndex-i}const o=this.topPx+this.heightPx,s=Math.floor((o-e)/r);return this.getDisplayIndexEnd()-s}getChildStore(e){return this.storeUtils.getChildStore(e,this,(e=>{const t=this.cache.getNodes().find((t=>t.node.key==e));return t?t.node:null}))}forEachChildStoreShallow(e){this.cache.getNodes().forEach((({node:t})=>{t.childStore&&e(t.childStore)}))}refreshAfterSort(e){if(this.storeUtils.isServerSideSortAllLevels()||this.storeUtils.isServerRefreshNeeded(this.parentRowNode,this.ssrmParams.rowGroupCols,e)){const e=this.cache.isStoreFullyLoaded(),t=this.gos.get("serverSideEnableClientSideSort");if(!(e&&t)){const e=this.cache.getRowCount();return this.destroyBean(this.cache),void(this.cache=this.createManagedBean(new P(this,e,this.storeParams)))}this.cache.clientSideSortRows()}this.forEachChildStoreShallow((t=>t.refreshAfterSort(e)))}refreshAfterFilter(e){!this.storeUtils.isServerSideOnlyRefreshFilteredGroups()||this.storeUtils.isServerRefreshNeeded(this.parentRowNode,this.ssrmParams.rowGroupCols,e)?this.refreshStore(!0):this.forEachChildStoreShallow((t=>t.refreshAfterFilter(e)))}refreshStore(e){if(e)return this.destroyBean(this.cache),this.cache=this.createManagedBean(new P(this,1,this.storeParams)),void this.fireStoreUpdatedEvent();this.cache.markNodesForRefresh()}getTopLevelRowDisplayedIndex(e){return this.cache.getDisplayIndexFromStoreIndex(e)??e}isLastRowIndexKnown(){return this.cache.isLastRowIndexKnown()}getRowNodesInRange(e,t){return this.cache.getNodes().filter((({node:i})=>i.rowIndex>=e.rowIndex&&i.rowIndex<=t.rowIndex)).map((({node:e})=>e))}addStoreStates(e){e.push({suppressInfiniteScroll:!1,route:this.parentRowNode.getGroupKeys(),rowCount:this.getRowCount(),lastRowIndexKnown:this.isLastRowIndexKnown(),info:this.info,maxBlocksInCache:this.storeParams.maxBlocksInCache,cacheBlockSize:this.storeParams.cacheBlockSize}),this.forEachChildStoreShallow((t=>t.addStoreStates(e)))}getIdSequence(){return this.idSequence}getParentNode(){return this.parentRowNode}getRowDetails(){return{field:this.groupField,group:this.group,leafGroup:this.leafGroup,level:this.level,parent:this.parentRowNode,rowGroupColumn:this.rowGroupColumn}}getSsrmParams(){return this.ssrmParams}setStoreInfo(e){e&&Object.assign(this.info,e)}fireStoreUpdatedEvent(){this.eventService.dispatchEvent({type:"storeUpdated"})}fireRefreshFinishedEvent(){const e={type:"storeRefreshed",route:this.parentRowNode.getRoute()};this.eventService.dispatchEvent(e)}getBlockStates(){return this.cache.getBlockStates()}getStoreBounds(){return{topPx:this.topPx,heightPx:this.heightPx}}getCache(){return this.cache}},I=class extends x.BeanStub{constructor(){super(...arguments),this.beanName="rowModel",this.onRowHeightChanged_debounced=(0,x._debounce)(this.onRowHeightChanged.bind(this),100),this.pauseStoreUpdateListening=!1,this.started=!1,this.managingPivotResultColumns=!1}wireBeans(e){this.columnModel=e.columnModel,this.columnNameService=e.columnNameService,this.pivotResultColsService=e.pivotResultColsService,this.funcColsService=e.funcColsService,this.filterManager=e.filterManager,this.sortController=e.sortController,this.rowRenderer=e.rowRenderer,this.nodeManager=e.ssrmNodeManager,this.storeFactory=e.ssrmStoreFactory,this.beans=e,this.pivotColDefService=e.pivotColDefService}ensureRowHeightsValid(){return!1}start(){this.started=!0,this.updateDatasource()}destroyDatasource(){this.datasource&&(this.datasource.destroy&&this.datasource.destroy(),this.rowRenderer.datasourceChanged(),this.datasource=void 0)}postConstruct(){const e=this.resetRootStore.bind(this);this.addManagedEventListeners({newColumnsLoaded:this.onColumnEverything.bind(this),storeUpdated:this.onStoreUpdated.bind(this),columnValueChanged:e,columnPivotChanged:e,columnRowGroupChanged:e,columnPivotModeChanged:e}),this.addManagedPropertyListeners(["masterDetail","treeData","removePivotHeaderRowWhenSingleValueColumn","suppressServerSideInfiniteScroll","cacheBlockSize"],e),this.addManagedPropertyListener("rowHeight",(()=>this.resetRowHeights())),this.verifyProps(),this.addManagedPropertyListener("serverSideDatasource",(()=>this.updateDatasource()))}updateDatasource(){const e=this.gos.get("serverSideDatasource");e&&this.setDatasource(e)}verifyProps(){this.gos.exists("initialGroupOrderComparator")&&(0,x._warnOnce)("initialGroupOrderComparator cannot be used with Server Side Row Model."),this.gos.isRowSelection()&&!this.gos.exists("getRowId")&&(0,x._warnOnce)("getRowId callback must be provided for Server Side Row Model selection to work correctly.")}setDatasource(e){this.started&&(this.destroyDatasource(),this.datasource=e,this.resetRootStore())}applyRowData(e,t,i){const a=this.getRootStore();if(!a)return;const n=a.getChildStore(i);n&&(n instanceof F?n.applyRowData(e,t,e.rowData.length):n instanceof M&&n.processServerResult(e))}isLastRowIndexKnown(){const e=this.getRootStore();return!!e&&e.isLastRowIndexKnown()}onColumnEverything(){if(!this.storeParams)return void this.resetRootStore();const e=this.columnsToValueObjects(this.funcColsService.getRowGroupColumns()),t=this.columnsToValueObjects(this.funcColsService.getValueColumns()),i=this.columnsToValueObjects(this.funcColsService.getPivotColumns()),a=e=>{const t={};e.oldCols.forEach((e=>t[e.id]=e));const i=e.newCols.every((e=>{const i=t[e.id];return i&&delete t[e.id],i&&i.field===e.field&&i.aggFunc===e.aggFunc})),a=!e.allowRemovedColumns&&!!Object.values(t).length;return i&&!a},n=!(0,x._jsonEquals)(this.storeParams.sortModel,this.sortController.getSortModel()),r=!a({oldCols:this.storeParams.rowGroupCols,newCols:e}),o=!a({oldCols:this.storeParams.pivotCols,newCols:i}),s=!!e?.length&&!a({oldCols:this.storeParams.valueCols,newCols:t,allowRemovedColumns:!0});if(n||r||o||s)this.resetRootStore();else{const e=this.createStoreParams();this.storeParams.rowGroupCols=e.rowGroupCols,this.storeParams.pivotCols=e.pivotCols,this.storeParams.valueCols=e.valueCols}}destroyRootStore(){this.rootNode&&this.rootNode.childStore&&(this.rootNode.childStore=this.destroyBean(this.rootNode.childStore),this.nodeManager.clear())}refreshAfterSort(e,t){this.storeParams&&(this.storeParams.sortModel=e);const i=this.getRootStore();i&&(i.refreshAfterSort(t),this.onStoreUpdated())}generateSecondaryColumns(e){if(!this.pivotColDefService)return void x.ModuleRegistry.__assertRegistered(x.ModuleNames.RowGroupingModule,"pivotResultFields",this.gridId);const t=this.pivotColDefService.createColDefsFromFields(e);this.managingPivotResultColumns=!0,this.pivotResultColsService.setPivotResultCols(t,"rowModelUpdated")}resetRowHeights(){const e=this.resetRowHeightsForAllRowNodes(),t=this.gos.getRowHeightForNode(this.rootNode);if(this.rootNode.setRowHeight(t.height,t.estimated),this.rootNode.sibling){const e=this.gos.getRowHeightForNode(this.rootNode.sibling);this.rootNode.sibling.setRowHeight(e.height,e.estimated)}e&&this.onRowHeightChanged()}resetRowHeightsForAllRowNodes(){let e=!1;return this.forEachNode((t=>{const i=this.gos.getRowHeightForNode(t);t.setRowHeight(i.height,i.estimated);const a=t.detailNode;if(a){const e=this.gos.getRowHeightForNode(a);a.setRowHeight(e.height,e.estimated)}if(t.sibling){const e=this.gos.getRowHeightForNode(t.sibling);a.setRowHeight(e.height,e.estimated)}e=!0})),e}resetRootStore(){this.destroyRootStore(),this.rootNode=new x.RowNode(this.beans),this.rootNode.group=!0,this.rootNode.level=-1,this.datasource&&(this.storeParams=this.createStoreParams(),this.rootNode.childStore=this.createBean(this.storeFactory.createStore(this.storeParams,this.rootNode)),this.updateRowIndexesAndBounds()),this.managingPivotResultColumns&&(this.pivotResultColsService.setPivotResultCols(null,"api"),this.managingPivotResultColumns=!1),this.dispatchModelUpdated(!0)}columnsToValueObjects(e){return e.map((e=>({id:e.getId(),aggFunc:e.getAggFunc(),displayName:this.columnNameService.getDisplayNameForColumn(e,"model"),field:e.getColDef().field})))}createStoreParams(){const e=this.columnsToValueObjects(this.funcColsService.getRowGroupColumns()),t=this.columnsToValueObjects(this.funcColsService.getValueColumns()),i=this.columnsToValueObjects(this.funcColsService.getPivotColumns()),a=this.gos.isGetRowHeightFunction();return{valueCols:t,rowGroupCols:e,pivotCols:i,pivotMode:this.columnModel.isPivotMode(),filterModel:this.filterManager?.isAdvancedFilterEnabled()?this.filterManager?.getAdvancedFilterModel():this.filterManager?.getFilterModel()??{},sortModel:this.sortController.getSortModel(),datasource:this.datasource,lastAccessedSequence:new x.NumberSequence,dynamicRowHeight:a}}getParams(){return this.storeParams}dispatchModelUpdated(e=!1){const t={type:"modelUpdated",animate:!e,keepRenderedRows:!e,newPage:!1,newData:!1};this.eventService.dispatchEvent(t)}onStoreUpdated(){this.pauseStoreUpdateListening||(this.updateRowIndexesAndBounds(),this.dispatchModelUpdated())}onRowHeightChangedDebounced(){this.onRowHeightChanged_debounced()}onRowHeightChanged(){this.updateRowIndexesAndBounds(),this.dispatchModelUpdated()}updateRowIndexesAndBounds(){const e=this.getRootStore();e&&e.setDisplayIndexes(new x.NumberSequence,{value:0})}retryLoads(){const e=this.getRootStore();e&&(e.retryLoads(),this.onStoreUpdated())}getRow(e){const t=this.getRootStore();if(t)return t.getRowUsingDisplayIndex(e)}setPaused(e){this.pauseStoreUpdateListening=e}expandAll(e){this.pauseStoreUpdateListening=!0,this.forEachNode((t=>{t.stub||t.hasChildren()&&t.setExpanded(e)})),this.pauseStoreUpdateListening=!1,this.onStoreUpdated()}refreshAfterFilter(e,t){this.storeParams&&(this.storeParams.filterModel=e);const i=this.getRootStore();i&&(i.refreshAfterFilter(t),this.onStoreUpdated())}getRootStore(){if(this.rootNode&&this.rootNode.childStore)return this.rootNode.childStore}getRowCount(){const e=this.getRootStore();return e?e.getDisplayIndexEnd():0}getTopLevelRowCount(){const e=this.getRootStore();return e?e.getRowCount():1}getTopLevelRowDisplayedIndex(e){const t=this.getRootStore();return t?t.getTopLevelRowDisplayedIndex(e):e}getRowBounds(e){const t=this.getRootStore();if(!t){return{rowTop:0,rowHeight:this.gos.getRowHeightAsNumber()}}return t.getRowBounds(e)}getBlockStates(){const e=this.getRootStore();if(!e)return;const t={};return e.forEachStoreDeep((e=>{if(e instanceof M){const{id:i,state:a}=e.getBlockStateJson();t[i]=a}else{if(!(e instanceof F))throw new Error("AG Grid: Unsupported store type");Object.entries(e.getBlockStates()).forEach((([e,i])=>{t[e]=i}))}})),t}getRowIndexAtPixel(e){const t=this.getRootStore();return e<=0||!t?0:t.getRowIndexAtPixel(e)}isEmpty(){return!1}isRowsToRender(){return null!=this.getRootStore()&&this.getRowCount()>0}getType(){return"serverSide"}forEachNode(e){const t=this.getRootStore();t&&t.forEachNodeDeep(e)}forEachNodeAfterFilterAndSort(e,t=!1){const i=this.getRootStore();i&&i.forEachNodeDeepAfterFilterAndSort(e,void 0,t)}executeOnStore(e,t){if(!this.started)return!1;const i=this.getRootStore();if(!i)return!0;const a=i.getChildStore(e);return a&&t(a),!0}refreshStore(e={}){const t=e.route?e.route:[];this.executeOnStore(t,(t=>t.refreshStore(1==e.purge)))}getStoreState(){const e=[],t=this.getRootStore();return t&&t.addStoreStates(e),e}getNodesInRangeForSelection(e,t){const i=e.rowIndex,a=t.rowIndex;if(null===i&&null===a)return[];if(null===a)return e?[e]:[];if(null===i)return[t];const n=[],[r,o]=[i,a].sort(((e,t)=>e-t));return this.forEachNode((e=>{const t=e.rowIndex;null==t||e.stub||t>=r&&t<=o&&n.push(e)})),n.length!==o-r+1?e?[e,t]:[]:n}getRowNode(e){let t;return this.forEachNode((i=>{i.id===e&&(t=i),i.detailNode&&i.detailNode.id===e&&(t=i.detailNode)})),t}isRowPresent(e){return!!this.getRowNode(e.id)}setRowCount(e,t){const i=this.getRootStore();if(i){if(i instanceof F)return void i.setRowCount(e,t);(0,x._errorOnce)("Infinite scrolling must be enabled in order to set the row count.")}}destroy(){this.destroyDatasource(),this.destroyRootStore(),super.destroy()}},L=i(3423);var N=i(3423),O=class extends N.ExpansionService{constructor(){super(...arguments),this.beanName="expansionService",this.queuedRowIds=new Set}wireBeans(e){super.wireBeans(e),this.serverSideRowModel=e.rowModel}postConstruct(){super.postConstruct(),this.addManagedEventListeners({columnRowGroupChanged:()=>{this.queuedRowIds.clear()}})}checkOpenByDefault(e){if(!e.isExpandable())return;if(this.queuedRowIds.has(e.id))return this.queuedRowIds.delete(e.id),void e.setExpanded(!0);const t=this.gos.getCallback("isServerSideGroupOpenByDefault");if(!t)return;t({data:e.data,rowNode:e})&&e.setExpanded(!0)}expandRows(e){e.forEach((e=>{const t=this.serverSideRowModel.getRowNode(e);t?t.setExpanded(!0):this.queuedRowIds.add(e)}))}expandAll(e){this.serverSideRowModel.expandAll(e)}onGroupExpandedOrCollapsed(){}},z=i(3423),G=i(3423),B=class{constructor(){this.root=null,this.end=null,this.cachedRange=[]}init(e){this.rowModel=e}reset(){this.root=null,this.end=null,this.cachedRange.length=0}setRoot(e){this.root=e,this.end=null,this.cachedRange.length=0}setEndRange(e){this.end=e,this.cachedRange.length=0}getRoot(){return this.root}getRange(){if(0===this.cachedRange.length){const e=this.root?this.rowModel.getRowNode(this.root):void 0,t=this.end?this.rowModel.getRowNode(this.end):void 0;if(null==e||null==t)return this.cachedRange;this.cachedRange=this.rowModel.getNodesInRangeForSelection(e,t)}return this.cachedRange}isInRange(e){return null!==this.root&&this.getRange().some((t=>t.id===e))}truncate(e){const t=this.getRange();if(0===t.length)return{keep:[],discard:[]};const i=t[0].id===this.root,a=t.findIndex((t=>t.id===e));if(a>-1){const n=t.slice(0,a),r=t.slice(a+1);return this.setEndRange(e),i?{keep:n,discard:r}:{keep:r,discard:n}}return{keep:t,discard:[]}}extend(e,t=!1){if(null==this.root){const i=this.getRange().slice(),a=this.rowModel.getRowNode(e);return a&&(t&&a.depthFirstSearch((e=>!e.group&&i.push(e))),i.push(a)),this.setRoot(e),{keep:i,discard:[]}}const i=this.rowModel.getRowNode(e),a=this.rowModel.getRowNode(this.root);if(null==i)return{keep:this.getRange(),discard:[]};if(null==a)return{keep:this.getRange().concat(i),discard:[]};if(this.rowModel.getNodesInRangeForSelection(a,i).find((e=>e.id===this.end)))return this.setEndRange(e),{keep:this.getRange(),discard:[]};{const t=this.getRange().slice();return this.setEndRange(e),{keep:this.getRange(),discard:t}}}},V=class extends G.BeanStub{constructor(){super(...arguments),this.selectionCtx=new B,this.selectedState={selectAll:!1,toggledNodes:new Set},this.selectAllUsed=!1,this.selectedNodes={}}wireBeans(e){this.rowModel=e.rowModel}postConstruct(){this.selectionCtx.init(this.rowModel),this.rowSelection=this.gos.get("rowSelection"),this.addManagedPropertyListener("rowSelection",(e=>{this.rowSelection=e.currentValue}))}getSelectedState(){return{selectAll:this.selectedState.selectAll,toggledNodes:[...this.selectedState.toggledNodes]}}setSelectedState(e){const t={selectAll:!1,toggledNodes:new Set};"object"==typeof e?"selectAll"in e&&"boolean"==typeof e.selectAll?(t.selectAll=e.selectAll,"toggledNodes"in e&&Array.isArray(e.toggledNodes)?(e.toggledNodes.forEach((e=>{"string"==typeof e?t.toggledNodes.add(e):(0,G._warnOnce)(`Provided ids must be of string type. Invalid id provided: ${e}`)})),this.selectedState=t):(0,G._warnOnce)("`toggledNodes` must be an array of string ids.")):(0,G._errorOnce)("Select all status should be of boolean type."):(0,G._errorOnce)("The provided selection state should be an object.")}deleteSelectionStateFromParent(e,t){if(0===this.selectedState.toggledNodes.size)return!1;let i=!1;return t.forEach((e=>{this.selectedState.toggledNodes.delete(e)&&(i=!0)})),i}overrideSelectionValue(e,t){if(!(0,G.isSelectionUIEvent)(t))return e;const i=this.selectionCtx.getRoot(),a=i?this.rowModel.getRowNode(i):null;return!a||(a.isSelected()??!1)}setNodesSelected(e){const{nodes:t,clearSelection:i,newValue:a,rangeSelect:n,source:r}=e;if(0===t.length)return 0;const o=i&&a&&!n;if("multiple"!==this.rowSelection||o){if(t.length>1)throw new Error("AG Grid: cannot select multiple rows when rowSelection is set to 'single'");const e=t[0];return a&&e.selectable?(this.selectedNodes={[e.id]:e},this.selectedState={selectAll:!1,toggledNodes:new Set([e.id])}):(this.selectedNodes={},this.selectedState={selectAll:!1,toggledNodes:new Set}),e.selectable&&this.selectionCtx.setRoot(e.id),1}const s=(e,t=a)=>{t&&e.selectable?this.selectedNodes[e.id]=e:delete this.selectedNodes[e.id];t===this.selectedState.selectAll||!e.selectable?this.selectedState.toggledNodes.delete(e.id):this.selectedState.toggledNodes.add(e.id)};if(n){if(t.length>1)throw new Error("AG Grid: cannot select multiple rows when using rangeSelect");const e=t[0],i=this.overrideSelectionValue(a,r);if(this.selectionCtx.isInRange(e.id)){const t=this.selectionCtx.truncate(e.id);i&&t.discard.forEach((e=>s(e,!1))),t.keep.forEach((e=>s(e,i)))}else{if(this.selectionCtx.getRoot()!==e.id){const t=this.selectionCtx.extend(e.id);i&&t.discard.forEach((e=>s(e,!1))),t.keep.forEach((e=>s(e,i)))}}return 1}return t.forEach((e=>s(e))),this.selectionCtx.setRoot((0,G._last)(t).id),1}processNewRow(e){this.selectedNodes[e.id]&&(this.selectedNodes[e.id]=e)}isNodeSelected(e){const t=this.selectedState.toggledNodes.has(e.id);return this.selectedState.selectAll?!t:t}getSelectedNodes(){return this.selectAllUsed&&(0,G._warnOnce)("getSelectedNodes and getSelectedRows functions cannot be used with select all functionality with the server-side row model.\n Use `api.getServerSideSelectionState()` instead."),Object.values(this.selectedNodes)}getSelectedRows(){return this.getSelectedNodes().map((e=>e.data))}getSelectionCount(){return this.selectedState.selectAll?-1:this.selectedState.toggledNodes.size}clearOtherNodes(e,t){const i=this.selectedState.selectAll?1:this.selectedState.toggledNodes.size-1;this.selectedState={selectAll:!1,toggledNodes:new Set([e.id])},this.rowModel.forEachNode((i=>{i!==e&&i.selectThisNode(!1,void 0,t)}));const a={type:"selectionChanged",source:t};return this.eventService.dispatchEvent(a),i}isEmpty(){return!this.selectedState.selectAll&&!this.selectedState.toggledNodes?.size}selectAllRowNodes(){this.selectedState={selectAll:!0,toggledNodes:new Set},this.selectedNodes={},this.selectAllUsed=!0,this.selectionCtx.reset()}deselectAllRowNodes(){this.selectedState={selectAll:!1,toggledNodes:new Set},this.selectedNodes={},this.selectionCtx.reset()}getSelectAllState(){return this.selectedState.selectAll?!(this.selectedState.toggledNodes.size>0)||null:this.selectedState.toggledNodes.size>0&&null}},H=i(3423),W=class extends H.BeanStub{constructor(){super(...arguments),this.selectionCtx=new B,this.selectedState={selectAllChildren:!1,toggledNodes:new Map}}wireBeans(e){this.rowModel=e.rowModel,this.funcColsService=e.funcColsService,this.filterManager=e.filterManager,this.selectionService=e.selectionService}postConstruct(){this.addManagedEventListeners({modelUpdated:()=>this.removeRedundantState(),columnRowGroupChanged:()=>this.selectionService.reset("rowGroupChanged")}),this.selectionCtx.init(this.rowModel)}getSelectedState(){const e=this.gos.get("treeData"),t=(i,a,n)=>{const r={nodeId:n};if((e||a<=this.funcColsService.getRowGroupColumns().length)&&(r.selectAllChildren=i.selectAllChildren),i.toggledNodes.size){const e=[];i.toggledNodes.forEach(((i,n)=>{const r=t(i,a+1,n);e.push(r)})),r.toggledNodes=e}return r};return t(this.selectedState,0)}setSelectedState(e){const t=(e,i)=>{if("object"!=typeof e)throw new Error("AG Grid: Each provided state object must be an object.");if("selectAllChildren"in e&&"boolean"!=typeof e.selectAllChildren)throw new Error("AG Grid: `selectAllChildren` must be a boolean value or undefined.");if("toggledNodes"in e){if(!Array.isArray(e.toggledNodes))throw new Error("AG Grid: `toggledNodes` must be an array.");if(!e.toggledNodes.every((e=>"object"==typeof e&&"nodeId"in e&&"string"==typeof e.nodeId)))throw new Error("AG Grid: Every `toggledNode` requires an associated string id.")}const a=e.selectAllChildren??!i,n=e.toggledNodes?.map((e=>[e.nodeId,t(e,a)])),r=n?.some((([,e])=>a===e.selectAllChildren&&0===e.toggledNodes.size));if(r)throw new Error("\n AG Grid: AG Grid: Row selection state could not be parsed due to invalid data. Ensure all child state has toggledNodes or does not conform with the parent rule.\n Please rebuild the selection state and reapply it.\n ");return{selectAllChildren:a,toggledNodes:new Map(n)}};try{this.selectedState=t(e,!!e.selectAllChildren)}catch(e){(0,H._errorOnce)(e.message)}}deleteSelectionStateFromParent(e,t){let i=this.selectedState;const a=[...e];for(;i&&a.length;)i=i.toggledNodes.get(a.pop());if(!i)return!1;let n=!1;return t.forEach((e=>{i?.toggledNodes.delete(e)&&(n=!0)})),n&&this.removeRedundantState(),n}overrideSelectionValue(e,t){if(!(0,H.isSelectionUIEvent)(t))return e;const i=this.selectionCtx.getRoot(),a=i?this.rowModel.getRowNode(i):null;return!a||(a.isSelected()??!1)}setNodesSelected({nodes:e,newValue:t,rangeSelect:i,clearSelection:a,source:n}){if(0===e.length)return 0;if(i){if(e.length>1)throw new Error("AG Grid: cannot select multiple rows when using rangeSelect");const i=e[0],a=this.overrideSelectionValue(t,n);if(this.selectionCtx.isInRange(i.id)){const e=this.selectionCtx.truncate(i.id);return a&&this.selectRange(e.discard,!1),this.selectRange(e.keep,a),1}if(this.selectionCtx.getRoot()!==i.id){const e=this.selectionCtx.extend(i.id,!0);return a&&this.selectRange(e.discard,!1),this.selectRange(e.keep,a),1}return 1}const r=a&&t&&!i;if("multiple"!==this.gos.get("rowSelection")||r){if(e.length>1)throw new Error("AG Grid: cannot select multiple rows when rowSelection is set to 'single'");this.deselectAllRowNodes()}return e.forEach((e=>{const i=this.getRouteToNode(e);this.recursivelySelectNode(i,this.selectedState,t)})),this.removeRedundantState(),this.selectionCtx.setRoot((0,H._last)(e).id),1}selectRange(e,t){const i=e.map(this.getRouteToNode).sort(((e,t)=>t.length-e.length)),a=new Set;i.forEach((e=>{a.has((0,H._last)(e))||(e.forEach((e=>a.add(e))),this.recursivelySelectNode(e,this.selectedState,t))})),this.removeRedundantState()}isNodeSelected(e){const t=this.getRouteToNode(e);return this.isNodePathSelected(t,this.selectedState)}isNodePathSelected([e,...t],i){if(0===t.length){const t=i.toggledNodes.has(e.id);if(e.hasChildren()){const t=i.toggledNodes.get(e.id);if(t&&t.toggledNodes.size)return}return i.selectAllChildren?!t:t}if(i.toggledNodes.has(e.id)){const a=i.toggledNodes.get(e.id);if(a)return this.isNodePathSelected(t,a)}return i.selectAllChildren}getRouteToNode(e){const t=[];let i=e;for(;i.parent;)t.push(i),i=i.parent;return t.reverse()}removeRedundantState(){if(this.filterManager?.isAnyFilterPresent())return;const e=(t=this.selectedState,i,a)=>{if(t.toggledNodes.forEach(((i,a)=>{e(i,a,t)})),i){const e=this.rowModel.getRowNode(i),a=e?.childStore,n=a?.isLastRowIndexKnown();if(n){if(t.toggledNodes.size>=a.getRowCount()){for(const e of t.toggledNodes.entries()){const[t,i]=e;if(i.toggledNodes.size>0)return;if(!this.rowModel.getRowNode(t))return}t.selectAllChildren=!t.selectAllChildren,t.toggledNodes.clear()}}}const n=0===t.toggledNodes.size,r=a?.selectAllChildren===t.selectAllChildren;n&&r&&a?.toggledNodes.delete(i)};e()}recursivelySelectNode([e,...t],i,a){if(!e)return;if(!t.length){const t=e.selectable;if(i.selectAllChildren===a||!t)return void i.toggledNodes.delete(e.id);const n={selectAllChildren:a,toggledNodes:new Map};return void i.toggledNodes.set(e.id,n)}const n=i.toggledNodes.has(e.id),r=i.toggledNodes.get(e.id)??{selectAllChildren:i.selectAllChildren,toggledNodes:new Map};n||i.toggledNodes.set(e.id,r),this.recursivelySelectNode(t,r,a),i.selectAllChildren===r.selectAllChildren&&0===r.toggledNodes.size&&i.toggledNodes.delete(e.id)}getSelectedNodes(){(0,H._warnOnce)("`getSelectedNodes` and `getSelectedRows` functions cannot be used with `groupSelectsChildren` and the server-side row model.\n Use `api.getServerSideSelectionState()` instead.");const e=[];return this.rowModel.forEachNode((t=>{t.isSelected()&&e.push(t)})),e}processNewRow(){}getSelectedRows(){return this.getSelectedNodes().map((e=>e.data))}getSelectionCount(){return-1}isEmpty(){return!this.selectedState.selectAllChildren&&!this.selectedState.toggledNodes?.size}selectAllRowNodes(){this.selectedState={selectAllChildren:!0,toggledNodes:new Map},this.selectionCtx.reset()}deselectAllRowNodes(){this.selectedState={selectAllChildren:!1,toggledNodes:new Map},this.selectionCtx.reset()}getSelectAllState(){return this.selectedState.selectAllChildren?!(this.selectedState.toggledNodes.size>0)||null:this.selectedState.toggledNodes.size>0&&null}},_=class extends z.BeanStub{constructor(){super(...arguments),this.beanName="selectionService"}wireBeans(e){this.rowModel=e.rowModel}postConstruct(){const e=this.gos.get("groupSelectsChildren");this.addManagedPropertyListener("groupSelectsChildren",(e=>{this.destroyBean(this.selectionStrategy);const t=e.currentValue?W:V;this.selectionStrategy=this.createManagedBean(new t),this.shotgunResetNodeSelectionState(),this.dispatchSelectionChanged("api")})),this.addManagedPropertyListener("rowSelection",(()=>this.deselectAllRowNodes({source:"api"})));const t=e?W:V;this.selectionStrategy=this.createManagedBean(new t)}getSelectionState(){return this.selectionStrategy.getSelectedState()}setSelectionState(e,t){Array.isArray(e)||(this.selectionStrategy.setSelectedState(e),this.shotgunResetNodeSelectionState(),this.dispatchSelectionChanged(t))}setNodesSelected(e){const{nodes:t,...i}=e,a=this.gos.get("rowSelection");if(t.length>1&&"multiple"!==a)return(0,z._warnOnce)("cannot multi select while rowSelection='single'"),0;if(t.length>1&&e.rangeSelect)return(0,z._warnOnce)("cannot use range selection when multi selecting rows"),0;const n={nodes:t.filter((e=>e.selectable)),...i};if(!n.nodes.length)return 0;const r=this.selectionStrategy.setNodesSelected(n);return this.shotgunResetNodeSelectionState(n.source),this.dispatchSelectionChanged(n.source),r}deleteSelectionStateFromParent(e,t){this.selectionStrategy.deleteSelectionStateFromParent(e,t)&&(this.shotgunResetNodeSelectionState(),this.dispatchSelectionChanged("api"))}shotgunResetNodeSelectionState(e){this.rowModel.forEachNode((t=>{if(t.stub)return;const i=this.selectionStrategy.isNodeSelected(t);i!==t.isSelected()&&t.selectThisNode(i,void 0,e)}))}getSelectedNodes(){return this.selectionStrategy.getSelectedNodes()}getSelectedRows(){return this.selectionStrategy.getSelectedRows()}getSelectionCount(){return this.selectionStrategy.getSelectionCount()}syncInRowNode(e){this.selectionStrategy.processNewRow(e);const t=this.selectionStrategy.isNodeSelected(e);if(0!=t&&!e.selectable)return this.selectionStrategy.setNodesSelected({nodes:[e],newValue:!1,source:"api"}),this.shotgunResetNodeSelectionState(),void this.dispatchSelectionChanged("api");e.setSelectedInitialValue(t)}reset(){this.selectionStrategy.deselectAllRowNodes({source:"api"})}isEmpty(){return this.selectionStrategy.isEmpty()}hasNodesToSelect(){return!0}selectAllRowNodes(e){q(e),this.selectionStrategy.selectAllRowNodes(e),this.rowModel.forEachNode((t=>{t.stub||t.selectThisNode(!0,void 0,e.source)})),this.dispatchSelectionChanged(e.source)}deselectAllRowNodes(e){q(e),this.selectionStrategy.deselectAllRowNodes(e),this.rowModel.forEachNode((t=>{t.stub||t.selectThisNode(!1,void 0,e.source)})),this.dispatchSelectionChanged(e.source)}getSelectAllState(e,t){return this.selectionStrategy.getSelectAllState(e,t)}updateGroupsFromChildrenSelections(){return!1}getBestCostNodeSelection(){(0,z._warnOnce)("calling gridApi.getBestCostNodeSelection() is only possible when using rowModelType=`clientSide`.")}filterFromSelection(){}dispatchSelectionChanged(e){const t={type:"selectionChanged",source:e};this.eventService.dispatchEvent(t)}};function q(e){(e.justCurrentPage||e.justFiltered)&&(0,z._warnOnce)("selecting just filtered only works when gridOptions.rowModelType='clientSide'")}var U=i(3423),K=class extends U.BeanStub{constructor(){super(...arguments),this.beanName="ssrmStoreFactory"}wireBeans(e){this.columnModel=e.columnModel,this.funcColsService=e.funcColsService}createStore(e,t){const i=this.getStoreParams(e,t);return new(i.suppressInfiniteScroll?M:F)(e,i,t)}getStoreParams(e,t){const i=this.getLevelSpecificParams(t),a=this.isInfiniteScroll(i);return{suppressInfiniteScroll:!a,cacheBlockSize:this.getBlockSize(a,i),maxBlocksInCache:this.getMaxBlocksInCache(a,e,i)}}getMaxBlocksInCache(e,t,i){if(!e)return;const a=i&&null!=i.maxBlocksInCache?i.maxBlocksInCache:this.gos.get("maxBlocksInCache");if(null!=a&&a>=0)if(t.dynamicRowHeight){const e="Server Side Row Model does not support Dynamic Row Height and Cache Purging. Either a) remove getRowHeight() callback or b) remove maxBlocksInCache property. Purging has been disabled.";(0,U._warnOnce)(e)}else{if(!this.columnModel.isAutoRowHeightActive())return a;{const e="Server Side Row Model does not support Auto Row Height and Cache Purging. Either a) remove colDef.autoHeight or b) remove maxBlocksInCache property. Purging has been disabled.";(0,U._warnOnce)(e)}}}getBlockSize(e,t){if(!e)return;const i=t&&null!=t.cacheBlockSize?t.cacheBlockSize:this.gos.get("cacheBlockSize");return null!=i&&i>0?i:100}getLevelSpecificParams(e){const t=this.gos.getCallback("getServerSideGroupLevelParams");if(!t)return;return t({level:e.level+1,parentRowNode:e.level>=0?e:void 0,rowGroupColumns:this.funcColsService.getRowGroupColumns(),pivotColumns:this.funcColsService.getPivotColumns(),pivotMode:this.columnModel.isPivotMode()})}isInfiniteScroll(e){return!(e&&null!=e.suppressInfiniteScroll?e.suppressInfiniteScroll:this.isSuppressServerSideInfiniteScroll())}isSuppressServerSideInfiniteScroll(){return this.gos.get("suppressServerSideInfiniteScroll")}},j=i(3423),Y=class extends j.BeanStub{constructor(){super(...arguments),this.beanName="ssrmStoreUtils"}wireBeans(e){this.columnModel=e.columnModel,this.serverSideRowModel=e.rowModel,this.storeFactory=e.ssrmStoreFactory}loadFromDatasource(e){const{storeParams:t,parentBlock:i,parentNode:a}=e,n=a.getGroupKeys();if(!t.datasource)return;const r={startRow:e.startRow,endRow:e.endRow,rowGroupCols:t.rowGroupCols,valueCols:t.valueCols,pivotCols:t.pivotCols,pivotMode:t.pivotMode,groupKeys:n,filterModel:t.filterModel,sortModel:t.sortModel},o=this.gos.addGridCommonParams({success:e.success,fail:e.fail,request:r,parentNode:e.parentNode});window.setTimeout((()=>{t.datasource&&i.isAlive()?t.datasource.getRows(o):e.fail()}),0)}getChildStore(e,t,i){if((0,j._missingOrEmpty)(e))return t;const a=i(e[0]);if(a){if(1===e.length&&!a.childStore){const e=this.serverSideRowModel.getParams();a.childStore=this.createBean(this.storeFactory.createStore(e,a))}const t=e.slice(1,e.length),i=a.childStore;return i?i.getChildStore(t):null}return null}isServerRefreshNeeded(e,t,i){if(i.valueColChanged||i.secondaryColChanged)return!0;const a=e.level+1;if(!(a<t.length))return!0;const n=t[a].id;if(i.changedColumns.indexOf(n)>-1)return!0;return this.columnModel.getCols().filter((e=>e.getColDef().showRowGroup&&i.changedColumns.includes(e.getId()))).map((e=>e.getColDef().showRowGroup)).some((e=>!0===e||e===n))}getServerSideInitialRowCount(){return this.gos.get("serverSideInitialRowCount")}assertRowModelIsServerSide(e){return!!this.gos.isRowModelType("serverSide")||((0,j._warnOnce)(`The '${e}' property can only be used with the Server Side Row Model.`),!1)}assertNotTreeData(e){return!this.gos.get("treeData")||((0,j._warnOnce)(`The '${e}' property cannot be used while using tree data.`),!1)}isServerSideSortAllLevels(){return this.gos.get("serverSideSortAllLevels")&&this.assertRowModelIsServerSide("serverSideSortAllLevels")}isServerSideOnlyRefreshFilteredGroups(){return this.gos.get("serverSideOnlyRefreshFilteredGroups")&&this.assertRowModelIsServerSide("serverSideOnlyRefreshFilteredGroups")}isServerSideSortOnServer(){return this.gos.get("serverSideSortOnServer")&&this.assertRowModelIsServerSide("serverSideSortOnServer")&&this.assertNotTreeData("serverSideSortOnServer")}isServerSideFilterOnServer(){return this.gos.get("serverSideFilterOnServer")&&this.assertRowModelIsServerSide("serverSideFilterOnServer")&&this.assertNotTreeData("serverSideFilterOnServer")}},$=i(3423),Z=class extends $.BeanStub{constructor(){super(...arguments),this.beanName="ssrmTransactionManager",this.asyncTransactions=[]}wireBeans(e){this.valueCache=e.valueCache,this.serverSideRowModel=e.rowModel,this.selectionService=e.selectionService}postConstruct(){this.gos.isRowModelType("serverSide")}applyTransactionAsync(e,t){null==this.asyncTransactionsTimeout&&this.scheduleExecuteAsync(),this.asyncTransactions.push({transaction:e,callback:t})}scheduleExecuteAsync(){const e=this.gos.getAsyncTransactionWaitMillis();this.asyncTransactionsTimeout=window.setTimeout((()=>{this.executeAsyncTransactions()}),e)}executeAsyncTransactions(){if(!this.asyncTransactions)return;const e=[],t=[],i=[];let a=!1;if(this.asyncTransactions.forEach((n=>{let r;this.serverSideRowModel.executeOnStore(n.transaction.route,(e=>{r=e.applyTransaction(n.transaction)}))?null==r&&(r={status:$.ServerSideTransactionResultStatus.StoreNotFound}):r={status:$.ServerSideTransactionResultStatus.StoreNotStarted},t.push(r);r.status==$.ServerSideTransactionResultStatus.StoreLoading?i.push(n):(n.callback&&e.push((()=>n.callback(r))),r.status===$.ServerSideTransactionResultStatus.Applied&&(a=!0))})),e.length>0&&window.setTimeout((()=>{e.forEach((e=>e()))}),0),this.asyncTransactionsTimeout=void 0,this.asyncTransactions=i,a&&(this.valueCache.onDataChanged(),this.eventService.dispatchEvent({type:"storeUpdated"})),t.length>0){const e={type:"asyncTransactionsFlushed",results:t};this.eventService.dispatchEvent(e)}}flushAsyncTransactions(){null!=this.asyncTransactionsTimeout&&clearTimeout(this.asyncTransactionsTimeout),this.executeAsyncTransactions()}applyTransaction(e){let t;if(this.serverSideRowModel.executeOnStore(e.route,(i=>{t=i.applyTransaction(e)}))){if(t){if(this.valueCache.onDataChanged(),t.remove){const i=t.remove.map((e=>e.id));this.selectionService.deleteSelectionStateFromParent(e.route||[],i)}return this.eventService.dispatchEvent({type:"storeUpdated"}),t}return{status:$.ServerSideTransactionResultStatus.StoreNotFound}}return{status:$.ServerSideTransactionResultStatus.StoreNotStarted}}},X="32.0.2",Q={version:X,moduleName:`${c.ModuleNames.ServerSideRowModelModule}-core`,rowModel:"serverSide",beans:[I,p,C,Y,u,S,Z,f,K,y,_,O,E],dependantModules:[d.EnterpriseCoreModule,c._RowNodeBlockModule]},J={version:X,moduleName:`${c.ModuleNames.ServerSideRowModelModule}-api`,beans:[c.RowModelHelperService],apiFunctions:{getServerSideSelectionState:function(e){return e.selectionService.getSelectionState()},setServerSideSelectionState:function(e,t){e.selectionService.setSelectionState(t,"api")},applyServerSideTransaction:function(e,t){return e.ssrmTransactionManager?.applyTransaction(t)},applyServerSideTransactionAsync:function(e,t,i){return e.ssrmTransactionManager?.applyTransactionAsync(t,i)},applyServerSideRowData:function(e,t){const i=t.startRow??0,a=t.route??[];i<0?(0,L._warnOnce)(`invalid value ${t.startRow} for startRow, the value should be >= 0`):e.rowModelHelperService?.getServerSideRowModel()?.applyRowData(t.successParams,i,a)},retryServerSideLoads:function(e){e.rowModelHelperService?.getServerSideRowModel()?.retryLoads()},flushServerSideAsyncTransactions:function(e){return e.ssrmTransactionManager?.flushAsyncTransactions()},refreshServerSide:function(e,t){e.rowModelHelperService?.getServerSideRowModel()?.refreshStore(t)},getServerSideGroupLevelState:function(e){return e.rowModelHelperService?.getServerSideRowModel()?.getStoreState()??[]}},dependantModules:[Q,c._CsrmSsrmSharedApiModule,c._SsrmInfiniteSharedApiModule]},ee={version:X,moduleName:c.ModuleNames.ServerSideRowModelModule,dependantModules:[Q,J]}},1413:function(e,t,i){var a,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,l={};((e,t)=>{for(var i in t)n(e,i,{get:t[i],enumerable:!0})})(l,{SetFilter:()=>D,SetFilterModule:()=>O}),e.exports=(a=l,((e,t,i,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of o(t))s.call(e,l)||l===i||n(e,l,{get:()=>t[l],enumerable:!(a=r(t,l))||a.enumerable});return e})(n({},"__esModule",{value:!0}),a));var c=i(3423),d=i(8299),h=i(3423),u=i(8299),g=class{};g.SELECT_ALL="__AG_SELECT_ALL__",g.ADD_SELECTION_TO_FILTER="__AG_ADD_SELECTION_TO_FILTER__";var p={loadingOoo:"Loading...",blanks:"(Blanks)",searchOoo:"Search...",selectAll:"(Select All)",selectAllSearchResults:"(Select All Search Results)",addCurrentSelectionToFilter:"Add current selection to filter",noMatches:"No matches."},m=i(3423),f=class extends m.Component{constructor(e){super(e.isGroup?'\n <div class="ag-set-filter-item" aria-hidden="true">\n <span class="ag-set-filter-group-icons">\n <span class="ag-set-filter-group-closed-icon" data-ref="eGroupClosedIcon"></span>\n <span class="ag-set-filter-group-opened-icon" data-ref="eGroupOpenedIcon"></span>\n <span class="ag-set-filter-group-indeterminate-icon" data-ref="eGroupIndeterminateIcon"></span>\n </span>\n <ag-checkbox data-ref="eCheckbox" class="ag-set-filter-item-checkbox"></ag-checkbox>\n </div>':'\n <div class="ag-set-filter-item">\n <ag-checkbox data-ref="eCheckbox" class="ag-set-filter-item-checkbox"></ag-checkbox>\n </div>',[m.AgCheckboxSelector]),this.eCheckbox=m.RefPlaceholder,this.eGroupOpenedIcon=m.RefPlaceholder,this.eGroupClosedIcon=m.RefPlaceholder,this.eGroupIndeterminateIcon=m.RefPlaceholder,this.focusWrapper=e.focusWrapper,this.value=e.value,this.params=e.params,this.translate=e.translate,this.valueFormatter=e.valueFormatter,this.item=e.item,this.isSelected=e.isSelected,this.isTree=e.isTree,this.depth=e.depth??0,this.isGroup=e.isGroup,this.groupsExist=e.groupsExist,this.isExpanded=e.isExpanded,this.hasIndeterminateExpandState=e.hasIndeterminateExpandState}wireBeans(e){this.valueService=e.valueService,this.userComponentFactory=e.userComponentFactory}postConstruct(){this.addDestroyFunc((()=>this.destroyCellRendererComponent?.())),this.render(),this.eCheckbox.setLabelEllipsis(!0).setValue(this.isSelected,!0).setDisabled(!!this.params.readOnly).getInputElement().setAttribute("tabindex","-1"),this.refreshVariableAriaLabels(),this.isTree&&(this.depth>0&&(this.addCssClass("ag-set-filter-indent-"+this.depth),this.getGui().style.setProperty("--ag-indentation-level",String(this.depth))),this.isGroup?this.setupExpansion():this.groupsExist&&this.addCssClass("ag-set-filter-add-group-indent"),(0,m._setAriaLevel)(this.getAriaElement(),this.depth+1)),this.refreshAriaChecked(),this.params.readOnly||this.eCheckbox.onValueChange((e=>this.onCheckboxChanged(!!e)))}getFocusableElement(){return this.focusWrapper}setupExpansion(){this.eGroupClosedIcon.appendChild((0,m._createIcon)("setFilterGroupClosed",this.gos,null)),this.eGroupOpenedIcon.appendChild((0,m._createIcon)("setFilterGroupOpen",this.gos,null));const e=this.onExpandOrContractClicked.bind(this);this.addManagedElementListeners(this.eGroupClosedIcon,{click:e}),this.addManagedElementListeners(this.eGroupOpenedIcon,{click:e}),this.hasIndeterminateExpandState&&(this.eGroupIndeterminateIcon.appendChild((0,m._createIcon)("setFilterGroupIndeterminate",this.gos,null)),this.addManagedElementListeners(this.eGroupIndeterminateIcon,{click:e})),this.setExpandedIcons(),this.refreshAriaExpanded()}onExpandOrContractClicked(){this.setExpanded(!this.isExpanded)}setExpanded(e,t){if(this.isGroup&&e!==this.isExpanded){this.isExpanded=e;const i={type:"expandedChanged",isExpanded:!!e,item:this.item};t||this.dispatchLocalEvent(i),this.setExpandedIcons(),this.refreshAriaExpanded()}}setExpandedIcons(){(0,m._setDisplayed)(this.eGroupClosedIcon,this.hasIndeterminateExpandState?!1===this.isExpanded:!this.isExpanded),(0,m._setDisplayed)(this.eGroupOpenedIcon,!0===this.isExpanded),this.hasIndeterminateExpandState&&(0,m._setDisplayed)(this.eGroupIndeterminateIcon,void 0===this.isExpanded)}onCheckboxChanged(e){this.isSelected=e;const t={type:"selectionChanged",isSelected:e,item:this.item};this.dispatchLocalEvent(t),this.refreshVariableAriaLabels(),this.refreshAriaChecked()}toggleSelected(){this.params.readOnly||this.setSelected(!this.isSelected)}setSelected(e,t){this.isSelected=e,this.eCheckbox.setValue(e,t),this.refreshAriaChecked()}refreshVariableAriaLabels(){if(!this.isTree)return;const e=this.localeService.getLocaleTextFunc(),t=this.eCheckbox.getValue(),i=void 0===t?e("ariaIndeterminate","indeterminate"):t?e("ariaVisible","visible"):e("ariaHidden","hidden"),a=e("ariaToggleVisibility","Press SPACE to toggle visibility");(0,m._setAriaLabelledBy)(this.eCheckbox.getInputElement(),void 0),this.eCheckbox.setInputAriaLabel(`${a} (${i})`)}setupFixedAriaLabels(e){if(!this.isTree)return;const t=this.localeService.getLocaleTextFunc()("ariaFilterValue","Filter Value"),i=this.getAriaElement();(0,m._setAriaLabel)(i,`${e} ${t}`),(0,m._setAriaDescribedBy)(i,this.eCheckbox.getInputElement().id)}refreshAriaChecked(){const e=this.getAriaElement();(0,m._setAriaChecked)(e,this.eCheckbox.getValue())}refreshAriaExpanded(){(0,m._setAriaExpanded)(this.getAriaElement(),!!this.isExpanded)}refresh(e,t,i){if(this.item=e,t!==this.isSelected&&this.setSelected(t,!0),this.setExpanded(i,!0),this.valueFunction){const e=this.valueFunction();this.setTooltipAndCellRendererParams(e,e),this.cellRendererComponent||this.renderCellWithoutCellRenderer()}if(this.cellRendererComponent){const e=this.cellRendererComponent.refresh?.(this.cellRendererParams);if(!e){const e=this.cellRendererComponent;this.renderCell(),this.destroyBean(e)}}}render(){const{params:{column:e}}=this;let{value:t}=this,i=null;"function"==typeof t?(this.valueFunction=t,i=this.valueFunction(),t=i):i=this.isTree?(0,m._toStringOrNull)(t):this.getFormattedValue(e,t),this.setTooltipAndCellRendererParams(t,i),this.renderCell()}setTooltipAndCellRendererParams(e,t){const i="whenTruncated"===this.gos.get("tooltipShowMode");if(this.params.showTooltips&&(!i||!this.params.cellRenderer)){const a=null!=t?t:(0,m._toStringOrNull)(e);let n;i&&(n=()=>{const e=this.eCheckbox.getGui().querySelector(".ag-label");return!e||e.scrollWidth>e.clientWidth}),this.setTooltip({newTooltipText:a,location:"setFilterValue",getColDef:()=>this.params.colDef,getColumn:()=>this.params.column,shouldDisplayTooltip:n})}this.cellRendererParams=this.gos.addGridCommonParams({value:e,valueFormatted:t,colDef:this.params.colDef,column:this.params.column,setTooltip:(e,t)=>{this.setTooltip({newTooltipText:e,getColDef:()=>this.params.colDef,getColumn:()=>this.params.column,location:"setFilterValue",shouldDisplayTooltip:t})}})}getTooltipParams(){const e=super.getTooltipParams();return e.location="setFilterValue",e.colDef=this.getComponentHolder(),this.isTree&&(e.level=this.depth),e}getFormattedValue(e,t){return this.valueService.formatValue(e,null,t,this.valueFormatter,!1)}renderCell(){const e=this.userComponentFactory.getSetFilterCellRendererDetails(this.params,this.cellRendererParams),t=e?e.newAgStackInstance():void 0;null!=t?t.then((e=>{e&&(this.cellRendererComponent=e,this.eCheckbox.setLabel(e.getGui()),this.destroyCellRendererComponent=()=>this.destroyBean(e))})):this.renderCellWithoutCellRenderer()}renderCellWithoutCellRenderer(){let e=(null==this.cellRendererParams.valueFormatted?this.cellRendererParams.value:this.cellRendererParams.valueFormatted)??this.translate("blanks");"string"!=typeof e&&((0,m._warnOnce)(`Set Filter Value Formatter must return string values. Please ensure the Set Filter Value Formatter returns string values for complex objects. See ${this.getFrameworkOverrides().getDocLink("filter-set-filter-list/#filter-value-types")}`),e=""),this.eCheckbox.setLabel(e),this.setupFixedAriaLabels(e)}getComponentHolder(){return this.params.column.getColDef()}},v=class{getModelAsString(e,t){const{values:i}=e||t.getModel()||{},a=t.getValueModel();if(null==i||null==a)return"";const n=i.filter((e=>a.isKeyAvailable(e))),r=n.length;return`(${r}) ${n.slice(0,10).map((e=>t.getFormattedValue(e))).join(",")}${r>10?",...":""}`}},y=i(3423),b=i(3423),C=class{constructor(e,t,i,a,n,r,o,s,l,c,d){this.rowModel=e,this.filterParams=t,this.createKey=i,this.caseFormat=a,this.funcColsService=n,this.valueService=r,this.treeDataOrGrouping=o,this.treeData=s,this.getDataPath=l,this.groupAllowUnbalanced=c,this.addManagedEventListeners=d}extractUniqueValuesAsync(e,t){return new b.AgPromise((i=>{if(this.rowModel.isRowDataLoaded())i(this.extractUniqueValues(e,t));else{const[a]=this.addManagedEventListeners({rowCountReady:()=>{a?.(),i(this.extractUniqueValues(e,t))}})}}))}extractUniqueValues(e,t){const i=new Map,a=this.extractExistingFormattedKeys(t),n=new Set,r=this.treeData&&!!this.getDataPath,o=this.funcColsService.getRowGroupColumns(),s=(e,r)=>{const o=this.caseFormat(e);if(!n.has(o)){n.add(o);let s=e,l=(0,b._makeNull)(r);const c=a?.get(o);null!=c&&(s=c,l=t.get(c)),i.set(s,l)}};return this.rowModel.forEachLeafNode((t=>{if(!t.data||!e(t))return;if(this.treeDataOrGrouping)return void this.addValueForTreeDataOrGrouping(t,r,o,s);const i=this.getValue(t);null!=i&&Array.isArray(i)?(i.forEach((e=>{s(this.createKey(e,t),e)})),0===i.length&&s(null,null)):s(this.createKey(i,t),i)})),i}addValueForTreeDataOrGrouping(e,t,i,a){let n;if(t){if(e.childrenAfterGroup?.length)return;n=this.getDataPath(e.data)}else n=i.map((t=>this.valueService.getKeyForNode(t,e))),n.push(this.getValue(e));n&&(n=n.map((e=>(0,b._toStringOrNull)((0,b._makeNull)(e))))),!t&&this.groupAllowUnbalanced&&n?.some((e=>null==e))&&(n=n.filter((e=>null!=e))),a(this.createKey(n),n)}getValue(e){return this.filterParams.getValue(e)}extractExistingFormattedKeys(e){if(!e)return null;const t=new Map;return e.forEach(((e,i)=>{t.set(this.caseFormat(i),i)})),t}},w=class{constructor({caseFormat:e}){this.filteringKeys=null,this.filteringKeysCaseFormatted=null,this.hasNoAppliedFilteringKeys=!1,this.caseFormat=e}allFilteringKeys(){return this.filteringKeys}allFilteringKeysCaseFormatted(){return this.filteringKeysCaseFormatted}noAppliedFilteringKeys(){return this.hasNoAppliedFilteringKeys}setFilteringKeys(e){this.filteringKeys=new Set(e),this.hasNoAppliedFilteringKeys=!this.filteringKeys||0===this.filteringKeys.size,this.filteringKeysCaseFormatted=new Set,this.filteringKeys.forEach((e=>this.filteringKeysCaseFormatted.add(this.caseFormat(e))))}addFilteringKey(e){null==this.filteringKeys&&(this.filteringKeys=new Set,this.filteringKeysCaseFormatted=new Set),this.filteringKeys.add(e),this.filteringKeysCaseFormatted.add(this.caseFormat(e)),this.hasNoAppliedFilteringKeys&&(this.hasNoAppliedFilteringKeys=!1)}hasCaseFormattedFilteringKey(e){return this.filteringKeysCaseFormatted.has(this.caseFormat(e))}hasFilteringKey(e){return this.filteringKeys.has(e)}reset(){this.filteringKeys=null,this.filteringKeysCaseFormatted=null,this.hasNoAppliedFilteringKeys=!1}},S=class{constructor(e,t,i,a){this.valueService=e,this.valueFormatter=t,this.formatter=i,this.column=a,this.displayedKeys=[]}updateDisplayedValuesToAllAvailable(e,t,i){this.displayedKeys=Array.from(i)}updateDisplayedValuesToMatchMiniFilter(e,t,i,a,n){this.displayedKeys=[];for(const t of i)if(null==t)n&&this.displayedKeys.push(t);else{const i=e(t),n=this.valueService.formatValue(this.column,null,i,this.valueFormatter,!1);a(this.formatter(n))&&this.displayedKeys.push(t)}}getDisplayedValueCount(){return this.displayedKeys.length}getDisplayedItem(e){return this.displayedKeys[e]}getSelectAllItem(){return g.SELECT_ALL}getAddSelectionToFilterItem(){return g.ADD_SELECTION_TO_FILTER}getDisplayedKeys(){return this.displayedKeys}forEachDisplayedKey(e){this.displayedKeys.forEach(e)}someDisplayedKey(e){return this.displayedKeys.some(e)}hasGroups(){return!1}refresh(){}},x=i(3423),k=e=>e?[String(e.getFullYear()),String(e.getMonth()+1),String(e.getDate())]:null,M=class{constructor(e,t,i,a){this.formatter=e,this.treeListPathGetter=t,this.treeListFormatter=i,this.treeDataOrGrouping=a,this.allDisplayedItemsTree=[],this.activeDisplayedItemsFlat=[],this.selectAllItem={depth:0,filterPasses:!0,available:!0,treeKey:g.SELECT_ALL,children:this.allDisplayedItemsTree,expanded:!0,key:g.SELECT_ALL,parentTreeKeys:[]},this.addSelectionToFilterItem={depth:0,filterPasses:!0,available:!0,treeKey:g.ADD_SELECTION_TO_FILTER,expanded:!0,key:g.ADD_SELECTION_TO_FILTER,parentTreeKeys:[]}}updateDisplayedValuesToAllAvailable(e,t,i,a){"reload"===a?this.generateItemTree(e,t,i):"otherFilter"===a?(this.updateAvailable(i),this.updateExpandAll()):"miniFilter"===a&&(this.resetFilter(),this.updateExpandAll()),this.flattenItems()}updateDisplayedValuesToMatchMiniFilter(e,t,i,a,n,r){"reload"===r?this.generateItemTree(e,t,i):"otherFilter"===r&&this.updateAvailable(i),this.updateFilter(a,n),this.updateExpandAll(),this.flattenItems()}generateItemTree(e,t,i){this.allDisplayedItemsTree=[],this.groupsExist=!1;const a=this.getTreeListPathGetter(e,i);for(const n of t){const t=a(e(n))??[null];t.length>1&&(this.groupsExist=!0);const r=i.has(n);let o,s=this.allDisplayedItemsTree,l=[];t.forEach(((e,i)=>{s||(s=[],o.children=s),o=s.find((t=>t.treeKey?.toUpperCase()===e?.toUpperCase())),o||(o={treeKey:e,depth:i,filterPasses:!0,expanded:!1,available:r,parentTreeKeys:l},i===t.length-1&&(o.key=n),s.push(o)),s=o.children,l=[...l,e]}))}this.updateAvailable(i),this.selectAllItem.children=this.allDisplayedItemsTree,this.selectAllItem.expanded=!1}getTreeListPathGetter(e,t){if(this.treeListPathGetter)return this.treeListPathGetter;if(this.treeDataOrGrouping)return e=>e;let i=!1;for(const a of t){const t=e(a);if(t instanceof Date){i=!0;break}if(null!=t)break}return i?k:((0,x._warnOnce)("property treeList=true for Set Filter params, but you did not provide a treeListPathGetter or values of type Date."),e=>[String(e)])}flattenItems(){this.activeDisplayedItemsFlat=[];const e=t=>{t.forEach((t=>{t.filterPasses&&t.available&&(this.activeDisplayedItemsFlat.push(t),t.children&&t.expanded&&e(t.children))}))};e(this.allDisplayedItemsTree)}resetFilter(){const e=t=>{t.children&&t.children.forEach((t=>{e(t)})),t.filterPasses=!0};this.allDisplayedItemsTree.forEach((t=>e(t)))}updateFilter(e,t){const i=i=>!!i.available&&(null==i.treeKey?t:e(this.formatter(this.treeListFormatter?this.treeListFormatter(i.treeKey,i.depth,i.parentTreeKeys):i.treeKey)));this.allDisplayedItemsTree.forEach((e=>this.recursiveItemCheck(e,!1,i,"filterPasses")))}getDisplayedValueCount(){return this.activeDisplayedItemsFlat.length}getDisplayedItem(e){return this.activeDisplayedItemsFlat[e]}getSelectAllItem(){return this.selectAllItem}getAddSelectionToFilterItem(){return this.addSelectionToFilterItem}getDisplayedKeys(){const e=[];return this.forEachDisplayedKey((t=>e.push(t))),e}forEachDisplayedKey(e){const t=(i,a)=>{i.children?i.expanded&&a||i.children.forEach((e=>{e.filterPasses&&t(e,!1)})):e(i.key)};this.activeDisplayedItemsFlat.forEach((e=>t(e,!0)))}someDisplayedKey(e){const t=(i,a)=>i.children?(!i.expanded||!a)&&i.children.some((e=>!!e.filterPasses&&t(e,!1))):e(i.key);return this.activeDisplayedItemsFlat.some((e=>t(e,!0)))}hasGroups(){return this.groupsExist}refresh(){this.updateExpandAll(),this.flattenItems()}updateExpandAll(){const e=(t,i,a)=>{for(const n of t){if(!n.filterPasses||!n.available||!n.children)continue;if(i=i||!!n.expanded,a=a||!n.expanded,i&&a)return;const t=e(n.children,i,a);if(void 0===t)return;t?i=!0:a=!0}return i&&a?void 0:i},t=this.getSelectAllItem();t.expanded=e(t.children,!1,!1)}recursiveItemCheck(e,t,i,a){let n=!1;e.children&&e.children.forEach((r=>{const o=this.recursiveItemCheck(r,t||i(e),i,a);n=n||o}));const r=t||n||i(e);return e[a]=r,r}updateAvailable(e){const t=t=>e.has(t.key);this.allDisplayedItemsTree.forEach((e=>this.recursiveItemCheck(e,!1,t,"available")))}},R=class{constructor(e){this.localEventService=new y.LocalEventService,this.miniFilterText=null,this.addCurrentSelectionToFilter=!1,this.providedValues=null,this.allValues=new Map,this.availableKeys=new Set,this.selectedKeys=new Set,this.initialised=!1;const{usingComplexObjects:t,funcColsService:i,valueService:a,treeDataTreeList:n,groupingTreeList:r,filterParams:o,gos:s,valueFormatter:l,addManagedEventListeners:c}=e,{column:d,colDef:h,textFormatter:u,doesRowPassOtherFilter:g,suppressSorting:p,comparator:m,rowModel:f,values:v,caseSensitive:b,treeList:x,treeListPathGetter:k,treeListFormatter:R}=o;this.filterParams=o,this.gos=s,this.setIsLoading=e.setIsLoading,this.translate=e.translate,this.caseFormat=e.caseFormat,this.createKey=e.createKey,this.usingComplexObjects=!!e.usingComplexObjects,this.formatter=u??(e=>e??null),this.doesRowPassOtherFilters=g,this.suppressSorting=p||!1,this.filteringKeys=new w({caseFormat:this.caseFormat});const D=m??h.comparator,A=!!n||!!r;this.compareByValue=!!(t&&D||A||x&&!k),this.entryComparator=A&&!D?this.createTreeDataOrGroupingComparator():!x||k||D?([e,t],[i,a])=>D(t,a):([e,t],[i,a])=>(0,y._defaultComparator)(t,a),this.keyComparator=D??y._defaultComparator,this.caseSensitive=!!b;const E=s.get("getDataPath"),T=s.get("groupAllowUnbalanced");"clientSide"===f.getType()&&(this.clientSideValuesExtractor=new C(f,this.filterParams,this.createKey,this.caseFormat,i,a,A,!!n,E,T,c)),null==v?this.valuesType=2:(this.valuesType=Array.isArray(v)?0:1,this.providedValues=v),this.displayValueModel=x?new M(this.formatter,k,R,n||r):new S(a,l,this.formatter,d),this.updateAllValues().then((e=>this.resetSelectionState(e||[])))}addEventListener(e,t,i){this.localEventService.addEventListener(e,t,i)}removeEventListener(e,t,i){this.localEventService.removeEventListener(e,t,i)}updateOnParamsChange(e){return new y.AgPromise((t=>{const{values:i,textFormatter:a,suppressSorting:n}=e,r=this.providedValues,o=this.suppressSorting;if(this.filterParams=e,this.formatter=a??(e=>e??null),this.suppressSorting=n||!1,this.providedValues=i??null,this.providedValues!==r||this.suppressSorting!==o){i&&0!==i.length?this.valuesType=Array.isArray(i)?0:1:(this.valuesType=2,this.providedValues=null);const e=this.getModel();this.updateAllValues().then((()=>{this.setModel(e).then((()=>t()))}))}else t()}))}refreshValues(){return new y.AgPromise((e=>{this.allValuesPromise.then((()=>{const t=this.getModel();this.updateAllValues(),this.setModel(t).then((()=>e()))}))}))}overrideValues(e){return new y.AgPromise((t=>{this.allValuesPromise.then((()=>{this.valuesType=0,this.providedValues=e,this.refreshValues().then((()=>t()))}))}))}refreshAfterAnyFilterChanged(){return this.showAvailableOnly()?this.allValuesPromise.then((e=>(this.updateAvailableKeys(e??[],"otherFilter"),!0))):y.AgPromise.resolve(!1)}isInitialised(){return this.initialised}updateAllValues(){return this.allValuesPromise=new y.AgPromise((e=>{switch(this.valuesType){case 2:this.getValuesFromRowsAsync(!1).then((t=>e(this.processAllValues(t))));break;case 0:e(this.processAllValues(this.uniqueValues(this.validateProvidedValues(this.providedValues))));break;case 1:{this.setIsLoading(!0);const t=this.providedValues,{column:i,colDef:a}=this.filterParams,n=this.gos.addGridCommonParams({success:t=>{this.setIsLoading(!1),e(this.processAllValues(this.uniqueValues(this.validateProvidedValues(t))))},colDef:a,column:i});window.setTimeout((()=>t(n)),0);break}default:throw new Error("Unrecognised valuesType")}})),this.allValuesPromise.then((e=>this.updateAvailableKeys(e||[],"reload"))).then((()=>this.initialised=!0)),this.allValuesPromise}processAllValues(e){const t=this.sortKeys(e);return this.allValues=e??new Map,t}validateProvidedValues(e){if(this.usingComplexObjects&&e?.length){const t=e[0];if(t&&"object"!=typeof t&&"function"!=typeof t){null==this.createKey(t)?(0,y._warnOnce)("Set Filter Key Creator is returning null for provided values and provided values are primitives. Please provide complex objects. See https://www.ag-grid.com/javascript-data-grid/filter-set-filter-list/#filter-value-types"):(0,y._warnOnce)("Set Filter has a Key Creator, but provided values are primitives. Did you mean to provide complex objects?")}}return e}setValuesType(e){this.valuesType=e}getValuesType(){return this.valuesType}isKeyAvailable(e){return this.availableKeys.has(e)}showAvailableOnly(){return 2===this.valuesType}updateAvailableKeys(e,t){const i=this.showAvailableOnly()?this.sortKeys(this.getValuesFromRows(!0)):e;this.availableKeys=new Set(i),this.localEventService.dispatchEvent({type:"availableValuesChanged"}),this.updateDisplayedValues(t,e)}sortKeys(e){const t=e??new Map;if(this.suppressSorting)return Array.from(t.keys());let i;return i=this.compareByValue?Array.from(t.entries()).sort(this.entryComparator).map((([e])=>e)):Array.from(t.keys()).sort(this.keyComparator),this.filterParams.excelMode&&t.has(null)&&(i=i.filter((e=>null!=e)),i.push(null)),i}getParamsForValuesFromRows(e=!1){if(!this.clientSideValuesExtractor)return(0,y._errorOnce)("Set Filter cannot initialise because you are using a row model that does not contain all rows in the browser. Either use a different filter type, or configure Set Filter such that you provide it with values"),null;return{predicate:t=>!e||this.doesRowPassOtherFilters(t),existingValues:e&&!this.caseSensitive?this.allValues:void 0}}getValuesFromRows(e=!1){const t=this.getParamsForValuesFromRows(e);return t?this.clientSideValuesExtractor.extractUniqueValues(t.predicate,t.existingValues):null}getValuesFromRowsAsync(e=!1){const t=this.getParamsForValuesFromRows(e);return t?this.clientSideValuesExtractor.extractUniqueValuesAsync(t.predicate,t.existingValues):y.AgPromise.resolve(null)}setMiniFilter(e){return e=(0,y._makeNull)(e),this.miniFilterText!==e&&(null===e&&this.setAddCurrentSelectionToFilter(!1),this.miniFilterText=e,this.updateDisplayedValues("miniFilter"),!0)}getMiniFilter(){return this.miniFilterText}updateDisplayedValues(e,t){if("expansion"===e)return void this.displayValueModel.refresh();if(null==this.miniFilterText)return void this.displayValueModel.updateDisplayedValuesToAllAvailable((e=>this.getValue(e)),t,this.availableKeys,e);const i=this.caseFormat(this.formatter(this.miniFilterText)||""),a=e=>null!=e&&this.caseFormat(e).indexOf(i)>=0,n=!!this.filterParams.excelMode&&a(this.translate("blanks"));this.displayValueModel.updateDisplayedValuesToMatchMiniFilter((e=>this.getValue(e)),t,this.availableKeys,a,n,e)}getDisplayedValueCount(){return this.displayValueModel.getDisplayedValueCount()}getDisplayedItem(e){return this.displayValueModel.getDisplayedItem(e)}getSelectAllItem(){return this.displayValueModel.getSelectAllItem()}getAddSelectionToFilterItem(){return this.displayValueModel.getAddSelectionToFilterItem()}hasSelections(){return this.filterParams.defaultToNothingSelected?this.selectedKeys.size>0:this.allValues.size!==this.selectedKeys.size}getKeys(){return Array.from(this.allValues.keys())}getValues(){return Array.from(this.allValues.values())}getValue(e){return this.allValues.get(e)}setAddCurrentSelectionToFilter(e){this.addCurrentSelectionToFilter=e}isInWindowsExcelMode(){return"windows"===this.filterParams.excelMode}isAddCurrentSelectionToFilterChecked(){return this.isInWindowsExcelMode()&&this.addCurrentSelectionToFilter}showAddCurrentSelectionToFilter(){return this.isInWindowsExcelMode()&&(0,y._exists)(this.miniFilterText)&&this.miniFilterText.length>0}selectAllMatchingMiniFilter(e=!1){null==this.miniFilterText?this.selectedKeys=new Set(this.allValues.keys()):(e&&this.selectedKeys.clear(),this.displayValueModel.forEachDisplayedKey((e=>this.selectedKeys.add(e))))}deselectAllMatchingMiniFilter(){null==this.miniFilterText?this.selectedKeys.clear():this.displayValueModel.forEachDisplayedKey((e=>this.selectedKeys.delete(e)))}selectKey(e){this.selectedKeys.add(e)}deselectKey(e){this.filterParams.excelMode&&this.isEverythingVisibleSelected()&&this.resetSelectionState(this.displayValueModel.getDisplayedKeys()),this.selectedKeys.delete(e)}isKeySelected(e){return this.selectedKeys.has(e)}isEverythingVisibleSelected(){return!this.displayValueModel.someDisplayedKey((e=>!this.isKeySelected(e)))}isNothingVisibleSelected(){return!this.displayValueModel.someDisplayedKey((e=>this.isKeySelected(e)))}getModel(){if(!this.hasSelections())return null;const e=this.isAddCurrentSelectionToFilterChecked()?this.filteringKeys.allFilteringKeys():null;if(e&&e.size>0){if(this.selectedKeys){const t=new Set([...Array.from(e),...Array.from(this.selectedKeys).filter((t=>!e.has(t)))]);return Array.from(t)}return Array.from(e)}return Array.from(this.selectedKeys)}setModel(e){return this.allValuesPromise.then((t=>{if(null==e)this.resetSelectionState(t??[]);else{this.selectedKeys.clear();const t=new Map;this.allValues.forEach(((e,i)=>{t.set(this.caseFormat(i),i)})),e.forEach((e=>{const i=this.caseFormat((0,y._makeNull)(e)),a=t.get(i);void 0!==a&&this.selectKey(a)}))}}))}uniqueValues(e){const t=new Map,i=new Set;return(e??[]).forEach((e=>{const a=(0,y._makeNull)(e),n=this.createKey(a),r=this.caseFormat(n);i.has(r)||(i.add(r),t.set(n,a))})),t}resetSelectionState(e){this.filterParams.defaultToNothingSelected?this.selectedKeys.clear():this.selectedKeys=new Set(e)}hasGroups(){return this.displayValueModel.hasGroups()}createTreeDataOrGroupingComparator(){return([e,t],[i,a])=>{if(null==t)return null==a?0:-1;if(null==a)return 1;for(let e=0;e<t.length;e++){if(e>=a.length)return 1;const i=(0,y._defaultComparator)(t[e],a[e]);if(0!==i)return i}return 0}}setAppliedModelKeys(e){this.filteringKeys.setFilteringKeys(e)}addToAppliedModelKeys(e){this.filteringKeys.addFilteringKey(e)}getAppliedModelKeys(){return this.filteringKeys.allFilteringKeys()}getCaseFormattedAppliedModelKeys(){return this.filteringKeys.allFilteringKeysCaseFormatted()}hasAppliedModelKey(e){return this.filteringKeys.hasCaseFormattedFilteringKey(e)}hasAnyAppliedModelKey(){return!this.filteringKeys.noAppliedFilteringKeys()}},D=class extends h.ProvidedFilter{constructor(){super("setFilter"),this.eMiniFilter=h.RefPlaceholder,this.eFilterLoading=h.RefPlaceholder,this.eSetFilterList=h.RefPlaceholder,this.eFilterNoMatches=h.RefPlaceholder,this.valueModel=null,this.setFilterParams=null,this.virtualList=null,this.caseSensitive=!1,this.treeDataTreeList=!1,this.groupingTreeList=!1,this.hardRefreshVirtualList=!1,this.noValueFormatterSupplied=!1,this.filterModelFormatter=new v,this.updateSetFilterOnParamsChange=e=>{this.setFilterParams=e,this.caseSensitive=!!e.caseSensitive;const t=e.keyCreator??e.colDef.keyCreator;this.setValueFormatter(e.valueFormatter,t,!!e.treeList,!!e.colDef.refData);const i=e.column.getId().startsWith(h.GROUP_AUTO_COLUMN_ID);this.treeDataTreeList=this.gos.get("treeData")&&!!e.treeList&&i,this.getDataPath=this.gos.get("getDataPath"),this.groupingTreeList=!!this.funcColsService.getRowGroupColumns().length&&!!e.treeList&&i,this.createKey=this.generateCreateKey(t,this.treeDataTreeList||this.groupingTreeList)}}wireBeans(e){super.wireBeans(e),this.funcColsService=e.funcColsService,this.valueService=e.valueService,this.dataTypeService=e.dataTypeService}postConstruct(){super.postConstruct()}updateUiVisibility(){}createBodyTemplate(){return`\n <div class="ag-set-filter">\n <div data-ref="eFilterLoading" class="ag-filter-loading ag-hidden">${this.translateForSetFilter("loadingOoo")}</div>\n <ag-input-text-field class="ag-mini-filter" data-ref="eMiniFilter"></ag-input-text-field>\n <div data-ref="eFilterNoMatches" class="ag-filter-no-matches ag-hidden">${this.translateForSetFilter("noMatches")}</div>\n <div data-ref="eSetFilterList" class="ag-set-filter-list" role="presentation"></div>\n </div>`}getAgComponents(){return[h.AgInputTextFieldSelector]}handleKeyDown(e){if(super.handleKeyDown(e),!e.defaultPrevented)switch(e.key){case h.KeyCode.SPACE:this.handleKeySpace(e);break;case h.KeyCode.ENTER:this.handleKeyEnter(e);break;case h.KeyCode.LEFT:this.handleKeyLeft(e);break;case h.KeyCode.RIGHT:this.handleKeyRight(e)}}handleKeySpace(e){this.getComponentForKeyEvent(e)?.toggleSelected()}handleKeyEnter(e){if(!this.setFilterParams)return;const{excelMode:t,readOnly:i}=this.setFilterParams||{};t&&!i&&(e.preventDefault(),this.onBtApply(!1,!1,e),"mac"===this.setFilterParams.excelMode&&this.eMiniFilter.getInputElement().select())}handleKeyLeft(e){this.getComponentForKeyEvent(e)?.setExpanded(!1)}handleKeyRight(e){this.getComponentForKeyEvent(e)?.setExpanded(!0)}getComponentForKeyEvent(e){if(!this.eSetFilterList.contains(this.gos.getActiveDomElement())||!this.virtualList)return;const t=this.virtualList.getLastFocusedRow();if(null==t)return;const i=this.virtualList.getComponentAt(t);if(null==i)return;e.preventDefault();const{readOnly:a}=this.setFilterParams??{};return a?void 0:i}getCssIdentifier(){return"set-filter"}setModel(e){return null==e&&null==this.valueModel?.getModel()?(this.setMiniFilter(null),h.AgPromise.resolve()):super.setModel(e)}refresh(e){if(this.applyExcelModeOptions(e),!super.refresh(e))return!1;return!["treeList","treeListFormatter","treeListPathGetter","caseSensitive","comparator","suppressSelectAll","excelMode"].some((t=>e[t]!==this.setFilterParams?.[t]))&&(!this.haveColDefParamsChanged(e)&&(super.updateParams(e),this.updateSetFilterOnParamsChange(e),this.updateMiniFilter(),e.cellRenderer===this.setFilterParams?.cellRenderer&&e.valueFormatter===this.setFilterParams?.valueFormatter||this.checkAndRefreshVirtualList(),this.valueModel?.updateOnParamsChange(e).then((()=>{this.valueModel?.hasSelections()&&this.refreshFilterValues()})),!0))}haveColDefParamsChanged(e){const{colDef:t,keyCreator:i}=e,{colDef:a,keyCreator:n}=this.setFilterParams??{},r=i??t.keyCreator;return t.filterValueGetter!==a?.filterValueGetter||r!==(n??a?.keyCreator)||!!this.dataTypeService&&this.dataTypeService.getFormatValue(t.cellDataType)===r&&t.valueFormatter!==a?.valueFormatter}setModelAndRefresh(e){return this.valueModel?this.valueModel.setModel(e).then((()=>this.checkAndRefreshVirtualList())):h.AgPromise.resolve()}resetUiToDefaults(){return this.setMiniFilter(null),this.setModelAndRefresh(null)}setModelIntoUi(e){this.setMiniFilter(null);const t=null==e?null:e.values;return this.setModelAndRefresh(t)}getModelFromUi(){if(!this.valueModel)throw new Error("Value model has not been created.");const e=this.valueModel.getModel();return e?{values:e,filterType:this.getFilterType()}:null}getFilterType(){return"set"}getValueModel(){return this.valueModel}areModelsEqual(e,t){return null==e&&null==t||null!=e&&null!=t&&(0,h._areEqual)(e.values,t.values)}setParams(e){this.applyExcelModeOptions(e),super.setParams(e),this.updateSetFilterOnParamsChange(e);const t=e.keyCreator??e.colDef.keyCreator;this.valueModel=new R({filterParams:e,setIsLoading:e=>this.setIsLoading(e),translate:e=>this.translateForSetFilter(e),caseFormat:e=>this.caseFormat(e),createKey:this.createKey,valueFormatter:this.valueFormatter,usingComplexObjects:!!t,gos:this.gos,funcColsService:this.funcColsService,valueService:this.valueService,treeDataTreeList:this.treeDataTreeList,groupingTreeList:this.groupingTreeList,addManagedEventListeners:e=>this.addManagedEventListeners(e)}),this.initialiseFilterBodyUi(),this.addEventListenersForDataChanges()}onAddCurrentSelectionToFilterChange(e){if(!this.valueModel)throw new Error("Value model has not been created.");this.valueModel.setAddCurrentSelectionToFilter(e)}setValueFormatter(e,t,i,a){let n=e;if(!n){if(t&&!i)throw new Error("AG Grid: Must supply a Value Formatter in Set Filter params when using a Key Creator");this.noValueFormatterSupplied=!0,a||(n=e=>(0,h._toStringOrNull)(e.value))}this.valueFormatter=n}generateCreateKey(e,t){if(t&&!e)throw new Error("AG Grid: Must supply a Key Creator in Set Filter params when `treeList = true` on a group column, and Tree Data or Row Grouping is enabled.");return e?(t,i=null)=>{const a=this.getKeyCreatorParams(t,i);return(0,h._makeNull)(e(a))}:e=>(0,h._makeNull)((0,h._toStringOrNull)(e))}getFormattedValue(e){let t=this.valueModel.getValue(e);this.noValueFormatterSupplied&&(this.treeDataTreeList||this.groupingTreeList)&&Array.isArray(t)&&(t=(0,h._last)(t));const i=this.valueService.formatValue(this.setFilterParams.column,null,t,this.valueFormatter,!1);return(null==i?(0,h._toStringOrNull)(t):i)??this.translateForSetFilter("blanks")}applyExcelModeOptions(e){"windows"===e.excelMode?(e.buttons||(e.buttons=["apply","cancel"]),null==e.closeOnApply&&(e.closeOnApply=!0)):"mac"===e.excelMode&&(e.buttons||(e.buttons=["reset"]),null==e.applyMiniFilterWhileTyping&&(e.applyMiniFilterWhileTyping=!0),null==e.debounceMs&&(e.debounceMs=500)),e.excelMode&&e.defaultToNothingSelected&&(e.defaultToNothingSelected=!1,(0,h._warnOnce)('The Set Filter Parameter "defaultToNothingSelected" value was ignored because it does not work when "excelMode" is used.'))}addEventListenersForDataChanges(){this.isValuesTakenFromGrid()&&(this.addManagedEventListeners({cellValueChanged:e=>{this.setFilterParams&&e.column===this.setFilterParams.column&&this.syncAfterDataChange()}}),this.addManagedPropertyListeners(["treeData","getDataPath","groupAllowUnbalanced"],(()=>{this.syncAfterDataChange()})))}syncAfterDataChange(){if(!this.valueModel)throw new Error("Value model has not been created.");return this.valueModel.refreshValues().then((()=>{this.checkAndRefreshVirtualList(),this.onBtApply(!1,!0)}))}setIsLoading(e){(0,h._setDisplayed)(this.eFilterLoading,e),e||(this.hardRefreshVirtualList=!0)}initialiseFilterBodyUi(){this.initVirtualList(),this.initMiniFilter()}initVirtualList(){if(!this.setFilterParams)throw new Error("Set filter params have not been provided.");if(!this.valueModel)throw new Error("Value model has not been created.");const e=this.localeService.getLocaleTextFunc()("ariaFilterList","Filter List"),t=!!this.setFilterParams.treeList,i=this.virtualList=this.createBean(new u.VirtualList({cssIdentifier:"filter",ariaRole:t?"tree":"listbox",listName:e})),a=this.eSetFilterList;t&&a.classList.add("ag-set-filter-tree-list"),a&&a.appendChild(i.getGui());const{cellHeight:n}=this.setFilterParams;null!=n&&i.setRowHeight(n);i.setComponentCreator(((e,i)=>this.createSetListItem(e,t,i)));let r;i.setComponentUpdater(((e,t)=>this.updateSetListItem(e,t))),r=this.setFilterParams.suppressSelectAll?new A(this.valueModel):new E(this.valueModel,(()=>this.isSelectAllSelected())),t&&(r=new T(r)),i.setModel(r)}getSelectAllLabel(){if(!this.setFilterParams)throw new Error("Set filter params have not been provided.");if(!this.valueModel)throw new Error("Value model has not been created.");const e=null!=this.valueModel.getMiniFilter()&&this.setFilterParams.excelMode?"selectAllSearchResults":"selectAll";return this.translateForSetFilter(e)}getAddSelectionToFilterLabel(){if(!this.setFilterParams)throw new Error("Set filter params have not been provided.");if(!this.valueModel)throw new Error("Value model has not been created.");return this.translateForSetFilter("addCurrentSelectionToFilter")}createSetListItem(e,t,i){if(!this.setFilterParams)throw new Error("Set filter params have not been provided.");if(!this.valueModel)throw new Error("Value model has not been created.");const a=this.valueModel.hasGroups(),{isSelected:n,isExpanded:r}=this.isSelectedExpanded(e),{value:o,depth:s,isGroup:l,hasIndeterminateExpandState:c,selectedListener:d,expandedListener:h}=this.newSetListItemAttributes(e),u={focusWrapper:i,value:o,params:this.setFilterParams,translate:e=>this.translateForSetFilter(e),valueFormatter:this.valueFormatter,item:e,isSelected:n,isTree:t,depth:s,groupsExist:a,isGroup:l,isExpanded:r,hasIndeterminateExpandState:c},g=this.createBean(new f(u));return g.addEventListener("selectionChanged",d),h&&g.addEventListener("expandedChanged",h),g}newSetTreeItemAttributes(e){if(!this.setFilterParams)throw new Error("Set filter params have not been provided.");if(!this.valueModel)throw new Error("Value model has not been created.");const t=this.valueModel.hasGroups();return e.key===g.SELECT_ALL?{value:()=>this.getSelectAllLabel(),isGroup:t,depth:e.depth,hasIndeterminateExpandState:!0,selectedListener:e=>this.onSelectAll(e.isSelected),expandedListener:e=>this.onExpandAll(e.item,e.isExpanded)}:e.key===g.ADD_SELECTION_TO_FILTER?{value:()=>this.getAddSelectionToFilterLabel(),depth:e.depth,isGroup:!1,hasIndeterminateExpandState:!1,selectedListener:e=>{this.onAddCurrentSelectionToFilterChange(e.isSelected)}}:e.children?{value:this.setFilterParams.treeListFormatter?.(e.treeKey,e.depth,e.parentTreeKeys)??e.treeKey,depth:e.depth,isGroup:!0,selectedListener:e=>this.onGroupItemSelected(e.item,e.isSelected),expandedListener:e=>this.onExpandedChanged(e.item,e.isExpanded)}:{value:this.setFilterParams.treeListFormatter?.(e.treeKey,e.depth,e.parentTreeKeys)??e.treeKey,depth:e.depth,selectedListener:e=>this.onItemSelected(e.item.key,e.isSelected)}}newSetListItemAttributes(e){if(!this.setFilterParams)throw new Error("Set filter params have not been provided.");if(!this.valueModel)throw new Error("Value model has not been created.");return this.isSetFilterModelTreeItem(e)?this.newSetTreeItemAttributes(e):e===g.SELECT_ALL?{value:()=>this.getSelectAllLabel(),selectedListener:e=>this.onSelectAll(e.isSelected)}:e===g.ADD_SELECTION_TO_FILTER?{value:()=>this.getAddSelectionToFilterLabel(),selectedListener:e=>{this.onAddCurrentSelectionToFilterChange(e.isSelected)}}:{value:this.valueModel.getValue(e),selectedListener:e=>this.onItemSelected(e.item,e.isSelected)}}updateSetListItem(e,t){const{isSelected:i,isExpanded:a}=this.isSelectedExpanded(e);t.refresh(e,i,a)}isSelectedExpanded(e){let t,i;return this.isSetFilterModelTreeItem(e)?(i=e.expanded,t=e.key===g.SELECT_ALL?this.isSelectAllSelected():e.key===g.ADD_SELECTION_TO_FILTER?this.valueModel.isAddCurrentSelectionToFilterChecked():e.children?this.areAllChildrenSelected(e):this.valueModel.isKeySelected(e.key)):t=e===g.SELECT_ALL?this.isSelectAllSelected():e===g.ADD_SELECTION_TO_FILTER?this.valueModel.isAddCurrentSelectionToFilterChecked():this.valueModel.isKeySelected(e),{isSelected:t,isExpanded:i}}isSetFilterModelTreeItem(e){return void 0!==e?.treeKey}initMiniFilter(){if(!this.setFilterParams)throw new Error("Set filter params have not been provided.");if(!this.valueModel)throw new Error("Value model has not been created.");const{eMiniFilter:e,localeService:t}=this,i=t.getLocaleTextFunc();e.setDisplayed(!this.setFilterParams.suppressMiniFilter),e.setValue(this.valueModel.getMiniFilter()),e.onValueChange((()=>this.onMiniFilterInput())),e.setInputAriaLabel(i("ariaSearchFilterValues","Search filter values")),this.addManagedElementListeners(e.getInputElement(),{keydown:e=>this.onMiniFilterKeyDown(e)})}updateMiniFilter(){if(!this.setFilterParams)throw new Error("Set filter params have not been provided.");if(!this.valueModel)throw new Error("Value model has not been created.");const{eMiniFilter:e}=this;e.isDisplayed()!==!this.setFilterParams.suppressMiniFilter&&e.setDisplayed(!this.setFilterParams.suppressMiniFilter);const t=this.valueModel.getMiniFilter();e.getValue()!==t&&e.setValue(t)}afterGuiAttached(e){if(!this.setFilterParams)throw new Error("Set filter params have not been provided.");super.afterGuiAttached(e),this.resetExpansion(),this.refreshVirtualList();const{eMiniFilter:t}=this;t.setInputPlaceholder(this.translateForSetFilter("searchOoo")),e&&e.suppressFocus||(t.isDisplayed()?t.getFocusableElement().focus():this.virtualList?.focusRow(0))}afterGuiDetached(){super.afterGuiDetached(),this.setFilterParams?.excelMode&&this.resetMiniFilter();const e=this.getModel();!this.setFilterParams?.excelMode&&this.areModelsEqual(e,this.getModelFromUi())||(this.resetUiToActiveModel(e),this.showOrHideResults())}applyModel(e="api"){if(!this.setFilterParams)throw new Error("Set filter params have not been provided.");if(!this.valueModel)throw new Error("Value model has not been created.");this.setFilterParams.excelMode&&"rowDataUpdated"!==e&&this.valueModel.isEverythingVisibleSelected()&&this.valueModel.selectAllMatchingMiniFilter();const t=this.valueModel.showAddCurrentSelectionToFilter()&&this.valueModel.isAddCurrentSelectionToFilterChecked();if(t&&!this.getModel())return!1;const i=super.applyModel(e),a=this.getModel();return a?(t||this.valueModel.setAppliedModelKeys(new Set),a.values.forEach((e=>{this.valueModel.addToAppliedModelKeys(e)}))):t||this.valueModel.setAppliedModelKeys(null),i}isModelValid(e){return!this.setFilterParams||!this.setFilterParams.excelMode||(null==e||e.values.length>0)}doesFilterPass(e){if(!this.setFilterParams||!this.valueModel||!this.valueModel.getCaseFormattedAppliedModelKeys())return!0;if(!this.valueModel.hasAnyAppliedModelKey())return!1;const{node:t,data:i}=e;if(this.treeDataTreeList)return this.doesFilterPassForTreeData(t,i);if(this.groupingTreeList)return this.doesFilterPassForGrouping(t);const a=this.getValueFromNode(t);return null!=a&&Array.isArray(a)?0===a.length?this.valueModel.hasAppliedModelKey(null):a.some((e=>this.isInAppliedModel(this.createKey(e,t)))):this.isInAppliedModel(this.createKey(a,t))}doesFilterPassForTreeData(e,t){return!e.childrenAfterGroup?.length&&this.isInAppliedModel(this.createKey(this.checkMakeNullDataPath(this.getDataPath(t))))}doesFilterPassForGrouping(e){const t=this.funcColsService.getRowGroupColumns().map((t=>this.valueService.getKeyForNode(t,e)));return t.push(this.getValueFromNode(e)),this.isInAppliedModel(this.createKey(this.checkMakeNullDataPath(t)))}checkMakeNullDataPath(e){return e&&(e=e.map((e=>(0,h._toStringOrNull)((0,h._makeNull)(e))))),e?.some((e=>null==e))?this.gos.get("groupAllowUnbalanced")&&null!=(0,h._last)(e)?e.filter((e=>null!=e)):null:e}isInAppliedModel(e){return this.valueModel.hasAppliedModelKey(e)}getValueFromNode(e){return this.setFilterParams.getValue(e)}getKeyCreatorParams(e,t=null){return{value:e,colDef:this.setFilterParams.colDef,column:this.setFilterParams.column,node:t,data:t?.data,api:this.setFilterParams.api,context:this.setFilterParams.context}}onNewRowsLoaded(){this.isValuesTakenFromGrid()&&this.syncAfterDataChange()}isValuesTakenFromGrid(){if(!this.valueModel)return!1;return 2===this.valueModel.getValuesType()}setFilterValues(e){if(!this.valueModel)throw new Error("Value model has not been created.");this.valueModel.overrideValues(e).then((()=>{this.checkAndRefreshVirtualList(),this.onUiChanged()}))}resetFilterValues(){if(!this.valueModel)throw new Error("Value model has not been created.");this.valueModel.setValuesType(2),this.syncAfterDataChange()}refreshFilterValues(){if(!this.valueModel)throw new Error("Value model has not been created.");this.valueModel.isInitialised()&&this.valueModel.refreshValues().then((()=>{this.checkAndRefreshVirtualList(),this.onUiChanged()}))}onAnyFilterChanged(){setTimeout((()=>{if(this.isAlive()){if(!this.valueModel)throw new Error("Value model has not been created.");this.valueModel.refreshAfterAnyFilterChanged().then((e=>{e&&(this.checkAndRefreshVirtualList(),this.showOrHideResults())}))}}),0)}onMiniFilterInput(){if(!this.setFilterParams)throw new Error("Set filter params have not been provided.");if(!this.valueModel)throw new Error("Value model has not been created.");if(!this.valueModel.setMiniFilter(this.eMiniFilter.getValue()))return;const{applyMiniFilterWhileTyping:e,readOnly:t}=this.setFilterParams||{};!t&&e?this.filterOnAllVisibleValues(!1):this.updateUiAfterMiniFilterChange()}updateUiAfterMiniFilterChange(){if(!this.setFilterParams)throw new Error("Set filter params have not been provided.");if(!this.valueModel)throw new Error("Value model has not been created.");const{excelMode:e,readOnly:t}=this.setFilterParams||{};null==e||t?this.checkAndRefreshVirtualList():null==this.valueModel.getMiniFilter()?this.resetUiToActiveModel(this.getModel()):(this.valueModel.selectAllMatchingMiniFilter(!0),this.checkAndRefreshVirtualList(),this.onUiChanged()),this.showOrHideResults()}showOrHideResults(){if(!this.valueModel)throw new Error("Value model has not been created.");const e=null!=this.valueModel.getMiniFilter()&&this.valueModel.getDisplayedValueCount()<1;(0,h._setDisplayed)(this.eFilterNoMatches,e),(0,h._setDisplayed)(this.eSetFilterList,!e)}resetMiniFilter(){this.eMiniFilter.setValue(null,!0),this.valueModel?.setMiniFilter(null)}resetUiToActiveModel(e,t){this.setModelAndRefresh(null==e?null:e.values).then((()=>{this.onUiChanged(!1,"prevent"),t?.()}))}handleCancelEnd(e){this.setMiniFilter(null),super.handleCancelEnd(e)}onMiniFilterKeyDown(e){const{excelMode:t,readOnly:i}=this.setFilterParams||{};e.key!==h.KeyCode.ENTER||t||i||this.filterOnAllVisibleValues()}filterOnAllVisibleValues(e=!0){const{readOnly:t}=this.setFilterParams||{};if(!this.valueModel)throw new Error("Value model has not been created.");if(t)throw new Error("Unable to filter in readOnly mode.");this.valueModel.selectAllMatchingMiniFilter(!0),this.checkAndRefreshVirtualList(),this.onUiChanged(!1,e?"immediately":"debounce"),this.showOrHideResults()}focusRowIfAlive(e){null!=e&&window.setTimeout((()=>{if(!this.virtualList)throw new Error("Virtual list has not been created.");this.isAlive()&&this.virtualList.focusRow(e)}),0)}onSelectAll(e){if(!this.valueModel)throw new Error("Value model has not been created.");if(!this.virtualList)throw new Error("Virtual list has not been created.");e?this.valueModel.selectAllMatchingMiniFilter():this.valueModel.deselectAllMatchingMiniFilter(),this.refreshAfterSelection()}onGroupItemSelected(e,t){const i=e=>{e.children?e.children.forEach((e=>i(e))):this.selectItem(e.key,t)};i(e),this.refreshAfterSelection()}onItemSelected(e,t){if(!this.valueModel)throw new Error("Value model has not been created.");if(!this.virtualList)throw new Error("Virtual list has not been created.");this.selectItem(e,t),this.refreshAfterSelection()}selectItem(e,t){t?this.valueModel.selectKey(e):this.valueModel.deselectKey(e)}onExpandAll(e,t){const i=e=>{e.filterPasses&&e.available&&e.children&&(e.children.forEach((e=>i(e))),e.expanded=t)};i(e),this.refreshAfterExpansion()}onExpandedChanged(e,t){e.expanded=t,this.refreshAfterExpansion()}refreshAfterExpansion(){const e=this.virtualList.getLastFocusedRow();this.valueModel.updateDisplayedValues("expansion"),this.checkAndRefreshVirtualList(),this.focusRowIfAlive(e)}refreshAfterSelection(){const e=this.virtualList.getLastFocusedRow();this.checkAndRefreshVirtualList(),this.onUiChanged(),this.focusRowIfAlive(e)}setMiniFilter(e){this.eMiniFilter.setValue(e),this.onMiniFilterInput()}getMiniFilter(){return this.valueModel?this.valueModel.getMiniFilter():null}checkAndRefreshVirtualList(){if(!this.virtualList)throw new Error("Virtual list has not been created.");this.virtualList.refresh(!this.hardRefreshVirtualList),this.hardRefreshVirtualList&&(this.hardRefreshVirtualList=!1)}getFilterKeys(){return this.valueModel?this.valueModel.getKeys():[]}getFilterValues(){return this.valueModel?this.valueModel.getValues():[]}getValues(){return this.getFilterKeys()}refreshVirtualList(){this.setFilterParams&&this.setFilterParams.refreshValuesOnOpen?this.refreshFilterValues():this.checkAndRefreshVirtualList()}translateForSetFilter(e){return this.localeService.getLocaleTextFunc()(e,p[e])}isSelectAllSelected(){if(!this.setFilterParams||!this.valueModel)return!1;if(this.setFilterParams.defaultToNothingSelected){if(this.valueModel.hasSelections()&&this.valueModel.isEverythingVisibleSelected())return!0;if(this.valueModel.isNothingVisibleSelected())return!1}else{if(this.valueModel.hasSelections()&&this.valueModel.isNothingVisibleSelected())return!1;if(this.valueModel.isEverythingVisibleSelected())return!0}}areAllChildrenSelected(e){const t=e=>{if(e.children){let i=!1,a=!1;return e.children.some((e=>{if(!e.filterPasses||!e.available)return!1;const n=t(e);return void 0===n||(n?i=!0:a=!0,i&&a)}))?void 0:i}return this.valueModel.isKeySelected(e.key)};return this.setFilterParams.defaultToNothingSelected?this.valueModel.hasSelections()&&t(e):t(e)}destroy(){null!=this.virtualList&&(this.virtualList.destroy(),this.virtualList=null),super.destroy()}caseFormat(e){return null==e||"string"!=typeof e||this.caseSensitive?e:e.toUpperCase()}resetExpansion(){if(!this.setFilterParams?.treeList)return;const e=this.valueModel?.getSelectAllItem();if(this.isSetFilterModelTreeItem(e)){const t=e=>{e.children&&(e.children.forEach((e=>t(e))),e.expanded=!1)};t(e),this.valueModel.updateDisplayedValues("expansion")}}getModelAsString(e){return this.filterModelFormatter.getModelAsString(e,this)}getPositionableElement(){return this.eSetFilterList}},A=class{constructor(e){this.model=e}getRowCount(){return this.model.getDisplayedValueCount()}getRow(e){return this.model.getDisplayedItem(e)}areRowsEqual(e,t){return e===t}},E=class{constructor(e,t){this.model=e,this.isSelectAllSelected=t}getRowCount(){const e=this.model.showAddCurrentSelectionToFilter()?2:1;return this.model.getDisplayedValueCount()+e}getRow(e){if(0===e)return this.model.getSelectAllItem();const t=this.model.showAddCurrentSelectionToFilter(),i=t?2:1;return 1===e&&t?this.model.getAddSelectionToFilterItem():this.model.getDisplayedItem(e-i)}areRowsEqual(e,t){return e===t}},T=class{constructor(e){this.model=e}getRowCount(){return this.model.getRowCount()}getRow(e){return this.model.getRow(e)}areRowsEqual(e,t){return null==e&&null==t||null!=e&&null!=t&&e.treeKey===t.treeKey&&e.depth===t.depth}},P=i(3423),F=class extends P.Component{constructor(){super('\n <div class="ag-floating-filter-input ag-set-floating-filter-input" role="presentation">\n <ag-input-text-field data-ref="eFloatingFilterText"></ag-input-text-field>\n </div>',[P.AgInputTextFieldSelector]),this.eFloatingFilterText=P.RefPlaceholder,this.availableValuesListenerAdded=!1,this.filterModelFormatter=new v}wireBeans(e){this.columnNameService=e.columnNameService}destroy(){super.destroy()}init(e){this.params=e,this.eFloatingFilterText.setDisabled(!0).addGuiEventListener("click",(()=>this.params.showParentFilter())),this.setParams(e)}setParams(e){const t=this.columnNameService.getDisplayNameForColumn(e.column,"header",!0),i=this.localeService.getLocaleTextFunc();this.eFloatingFilterText.setInputAriaLabel(`${t} ${i("ariaFilterInput","Filter Input")}`)}onParamsUpdated(e){this.refresh(e)}refresh(e){this.params=e,this.setParams(e)}onParentModelChanged(e){this.updateFloatingFilterText(e)}parentSetFilterInstance(e){this.params.parentFilterInstance((t=>{if(!(t instanceof D))throw new Error("AG Grid - SetFloatingFilter expects SetFilter as its parent");e(t)}))}addAvailableValuesListener(){this.parentSetFilterInstance((e=>{const t=e.getValueModel();t&&this.addManagedListeners(t,{availableValuesChanged:()=>this.updateFloatingFilterText()})})),this.availableValuesListenerAdded=!0}updateFloatingFilterText(e){this.availableValuesListenerAdded||this.addAvailableValuesListener(),this.parentSetFilterInstance((t=>{this.eFloatingFilterText.setValue(this.filterModelFormatter.getModelAsString(e,t))}))}},I="32.0.2",L={version:I,moduleName:`${c.ModuleNames.SetFilterModule}-core`,userComponents:[{name:"agSetColumnFilter",classImp:D}],dependantModules:[d.EnterpriseCoreModule,c._ColumnFilterModule]},N={version:I,moduleName:"@ag-grid-enterprise/set-floating-filter",userComponents:[{name:"agSetColumnFloatingFilter",classImp:F}],dependantModules:[L,c._FloatingFilterModule]},O={version:I,moduleName:c.ModuleNames.SetFilterModule,dependantModules:[L,N]}},3691:function(e,t,i){var a,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,l={};((e,t)=>{for(var i in t)n(e,i,{get:t[i],enumerable:!0})})(l,{SideBarModule:()=>O,ToolPanelColDefService:()=>u}),e.exports=(a=l,((e,t,i,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of o(t))s.call(e,l)||l===i||n(e,l,{get:()=>t[l],enumerable:!(a=r(t,l))||a.enumerable});return e})(n({},"__esModule",{value:!0}),a));var c=i(3423),d=i(8299),h=i(3423),u=class extends h.BeanStub{constructor(){super(...arguments),this.beanName="toolPanelColDefService",this.isColGroupDef=e=>e&&void 0!==e.children,this.getId=e=>this.isColGroupDef(e)?e.groupId:e.colId}wireBeans(e){this.columnModel=e.columnModel}createColumnTree(e){const t=[],i=(e,a)=>{if(this.isColGroupDef(e)){const t=e,n=void 0!==t.groupId?t.groupId:t.headerName,r=new h.AgProvidedColumnGroup(t,n,!1,a),o=[];return t.children.forEach((e=>{const t=i(e,a+1);t&&o.push(t)})),r.setChildren(o),r}{const i=e,a=i.colId?i.colId:i.field,n=this.columnModel.getColDefCol(a);return n||t.push(i),n}},a=[];return e.forEach((e=>{const t=i(e,0);t&&a.push(t)})),t.length>0&&(0,h._warnOnce)("unable to find grid columns for the supplied colDef(s):",t),a}syncLayoutWithGrid(e){const t=this.getLeafPathTrees();e(this.mergeLeafPathTrees(t))}getLeafPathTrees(){const e=(t,i)=>{let a;if((0,h.isProvidedColumnGroup)(t))if(t.isPadding())a=i;else{const e=Object.assign({},t.getColGroupDef());e.groupId=t.getGroupId(),e.children=[i],a=e}else{const e=Object.assign({},t.getColDef());e.colId=t.getColId(),a=e}const n=t.getOriginalParent();return n?e(n,a):a};return this.columnModel.getCols().filter((e=>{const t=e.getColDef();return e.isPrimary()&&!t.showRowGroup})).map((t=>e(t,t.getColDef())))}mergeLeafPathTrees(e){const t=(e,t)=>this.isColGroupDef(e)&&this.isColGroupDef(t)&&this.getId(e)===this.getId(t),i=(e,t)=>{if(!this.isColGroupDef(t))return e;const a=e,n=t;if(n.children&&n.groupId){if(this.addChildrenToGroup(a,n.groupId,n.children[0]))return a}return n.children.forEach((e=>i(a,e))),a},a=[];for(let n=1;n<=e.length;n++){const r=e[n-1],o=e[n];t(r,o)?e[n]=i(r,o):a.push(r)}return a}addChildrenToGroup(e,t,i){if(!this.isColGroupDef(e))return!0;const a=e,n=i;if(((e,t)=>{const i=e.children.map(this.getId),a=(0,h._includes)(i,this.getId(t)),n=(0,h._last)(e.children),r=n&&this.getId(n)!==this.getId(t);return a&&r})(a,n))return a.children.push(n),!0;if(a.groupId===t){const e=a.children.map(this.getId);if(!(0,h._includes)(e,this.getId(n)))return a.children.push(n),!0}return a.children.forEach((e=>this.addChildrenToGroup(e,t,i))),!1}},g=i(3423);var p=i(3423),m=i(3423),f=i(3423),v=i(3423),y=class extends v.Component{constructor(e){super(),this.eToggleButton=v.RefPlaceholder,this.eIconWrapper=v.RefPlaceholder,this.eLabel=v.RefPlaceholder,this.toolPanelDef=e}getToolPanelId(){return this.toolPanelDef.id}postConstruct(){const e=this.createTemplate();this.setTemplate(e,[]),this.setLabel(),this.setIcon(),this.addManagedElementListeners(this.eToggleButton,{click:this.onButtonPressed.bind(this)}),this.eToggleButton.setAttribute("id",`ag-${this.getCompId()}-button`)}createTemplate(){return'<div class="ag-side-button" role="presentation">\n <button type="button" data-ref="eToggleButton" tabindex="-1" role="tab" aria-expanded="false" class="ag-button ag-side-button-button">\n <div data-ref="eIconWrapper" class="ag-side-button-icon-wrapper" aria-hidden="true"></div>\n <span data-ref="eLabel" class="ag-side-button-label"></span>\n </button>\n </div>'}setLabel(){const e=this.localeService.getLocaleTextFunc(),t=this.toolPanelDef,i=e(t.labelKey,t.labelDefault);this.eLabel.innerText=i}setIcon(){this.eIconWrapper.insertAdjacentElement("afterbegin",(0,v._createIconNoSpan)(this.toolPanelDef.iconKey,this.gos))}onButtonPressed(){this.dispatchLocalEvent({type:"toggleButtonClicked"})}setSelected(e){this.addOrRemoveCssClass("ag-selected",e),(0,v._setAriaExpanded)(this.eToggleButton,e)}getButtonElement(){return this.eToggleButton}},b={selector:"AG-SIDE-BAR-BUTTONS",component:class extends f.Component{constructor(){super('<div class="ag-side-buttons" role="tablist"></div>'),this.buttonComps=[]}wireBeans(e){this.focusService=e.focusService,this.visibleColsService=e.visibleColsService}postConstruct(){this.addManagedElementListeners(this.getFocusableElement(),{keydown:this.handleKeyDown.bind(this)})}handleKeyDown(e){if(e.key!==f.KeyCode.TAB||!e.shiftKey)return;const t=(0,f._last)(this.visibleColsService.getAllCols());this.focusService.focusGridView(t,!0)&&e.preventDefault()}setActiveButton(e){this.buttonComps.forEach((t=>{t.setSelected(e===t.getToolPanelId())}))}addButtonComp(e){const t=this.createBean(new y(e));return this.buttonComps.push(t),this.appendChild(t),t.addEventListener("toggleButtonClicked",(()=>{this.dispatchLocalEvent({type:"sideBarButtonClicked",toolPanelId:e.id})})),t}clearButtons(){this.buttonComps=this.destroyBeans(this.buttonComps),(0,f._clearElement)(this.getGui()),super.destroy()}destroy(){this.clearButtons(),super.destroy()}}},C=i(3423),w={id:"columns",labelDefault:"Columns",labelKey:"columns",iconKey:"columns",toolPanel:"agColumnsToolPanel"},S={id:"filters",labelDefault:"Filters",labelKey:"filters",iconKey:"filter",toolPanel:"agFiltersToolPanel"},x={columns:w,filters:S};function k(e){if(!e)return;if(!0===e)return{toolPanels:[w,S],defaultToolPanel:"columns"};if("string"==typeof e)return k([e]);if(Array.isArray(e)){const t=[];if(e.forEach((e=>{const i=x[e];i?t.push(i):M(e)})),0===t.length)return;return{toolPanels:t,defaultToolPanel:t[0].id}}return{toolPanels:R(e.toolPanels),defaultToolPanel:e.defaultToolPanel,hiddenByDefault:e.hiddenByDefault,position:e.position}}function M(e){(0,C._warnOnce)(`the key ${e} is not a valid key for specifying a tool panel, valid keys are: ${Object.keys(x).join(",")}`)}function R(e){const t=[];return e?(e.forEach((e=>{let i=null;if("string"==typeof e){const t=x[e];if(!t)return void M(e);i=t}else i=e;t.push(i)})),t):t}var D=i(3423),A=i(3423),E=class extends A.Component{constructor(){super('<div class="ag-tool-panel-horizontal-resize"></div>'),this.minWidth=100,this.maxWidth=null}wireBeans(e){this.horizontalResizeService=e.horizontalResizeService}setElementToResize(e){this.elementToResize=e}postConstruct(){const e=this.horizontalResizeService.addResizeBar({eResizeBar:this.getGui(),dragStartPixels:1,onResizeStart:this.onResizeStart.bind(this),onResizing:this.onResizing.bind(this),onResizeEnd:this.onResizeEnd.bind(this)});this.addDestroyFunc(e),this.setInverted(this.gos.get("enableRtl"))}dispatchResizeEvent(e,t,i){const a={type:"toolPanelSizeChanged",width:i,started:e,ended:t};this.eventService.dispatchEvent(a)}onResizeStart(){this.startingWidth=this.elementToResize.offsetWidth,this.dispatchResizeEvent(!0,!1,this.startingWidth)}onResizeEnd(e){return this.onResizing(e,!0)}onResizing(e,t=!1){const i=this.inverted?-1:1;let a=Math.max(this.minWidth,Math.floor(this.startingWidth-e*i));null!=this.maxWidth&&(a=Math.min(this.maxWidth,a)),this.elementToResize.style.width=`${a}px`,this.dispatchResizeEvent(!1,t,a)}setInverted(e){this.inverted=e}setMaxWidth(e){this.maxWidth=e}setMinWidth(e){this.minWidth=null!=e?e:100}},T=class extends D.Component{wireBeans(e){this.userComponentFactory=e.userComponentFactory}constructor(){super('<div class="ag-tool-panel-wrapper" role="tabpanel"/>')}postConstruct(){const e=this.getGui(),t=this.resizeBar=this.createManagedBean(new E);e.setAttribute("id",`ag-${this.getCompId()}`),t.setElementToResize(e),this.appendChild(t)}getToolPanelId(){return this.toolPanelId}setToolPanelDef(e,t){const{id:i,minWidth:a,maxWidth:n,width:r}=e;this.toolPanelId=i,this.width=r;const o=this.userComponentFactory.getToolPanelCompDetails(e,t),s=o.newAgStackInstance();this.params=o.params,null!=s?(s.then(this.setToolPanelComponent.bind(this)),null!=a&&this.resizeBar.setMinWidth(a),null!=n&&this.resizeBar.setMaxWidth(n)):(0,D._warnOnce)(`error processing tool panel component ${i}. You need to specify 'toolPanel'`)}setToolPanelComponent(e){this.toolPanelCompInstance=e,this.appendChild(e.getGui()),this.addDestroyFunc((()=>{this.destroyBean(e)})),this.width&&(this.getGui().style.width=`${this.width}px`)}getToolPanelInstance(){return this.toolPanelCompInstance}setResizerSizerSide(e){const t="left"===e,i=this.gos.get("enableRtl")?t:!t;this.resizeBar.setInverted(i)}refresh(){this.toolPanelCompInstance?.refresh(this.params)}},P={selector:"AG-SIDE-BAR",component:class extends m.Component{constructor(){super('<div class="ag-side-bar ag-unselectable">\n <ag-side-bar-buttons data-ref="sideBarButtons"></ag-side-bar-buttons>\n </div>',[b]),this.sideBarButtons=m.RefPlaceholder,this.toolPanelWrappers=[]}wireBeans(e){this.focusService=e.focusService,this.filterManager=e.filterManager,this.sideBarService=e.sideBarService}postConstruct(){this.sideBarButtons.addEventListener("sideBarButtonClicked",this.onToolPanelButtonClicked.bind(this));const{sideBar:e}=this.gos.get("initialState")??{};this.setSideBarDef({sideBarDef:k(this.gos.get("sideBar")),sideBarState:e}),this.addManagedPropertyListener("sideBar",this.onSideBarUpdated.bind(this)),this.sideBarService.registerSideBarComp(this);const t=this.getFocusableElement();this.createManagedBean(new m.ManagedFocusFeature(t,{onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.handleKeyDown.bind(this)})),(0,m._addFocusableContainerListener)(this,t,this.focusService)}onTabKeyDown(e){if(e.defaultPrevented)return;const{focusService:t,sideBarButtons:i}=this,a=this.getGui(),n=i.getGui(),r=this.gos.getActiveDomElement(),o=a.querySelector(".ag-tool-panel-wrapper:not(.ag-hidden)"),s=e.target;if(!o)return;if(n.contains(r))return void(t.focusInto(o,e.shiftKey)&&e.preventDefault());if(!e.shiftKey)return;let l=null;o.contains(r)?l=this.focusService.findNextFocusableElement(o,void 0,!0):t.isTargetUnderManagedComponent(o,s)&&e.shiftKey&&(l=this.focusService.findFocusableElementBeforeTabGuard(o,s)),l||(l=n.querySelector(".ag-selected button")),l&&l!==e.target&&(e.preventDefault(),l.focus())}handleKeyDown(e){const t=this.gos.getActiveDomElement();if(!this.sideBarButtons.getGui().contains(t))return;const i=this.sideBarButtons.getGui(),a=Array.prototype.slice.call(i.querySelectorAll(".ag-side-button")),n=a.findIndex((e=>e.contains(t)));let r=null;switch(e.key){case m.KeyCode.LEFT:case m.KeyCode.UP:r=Math.max(0,n-1);break;case m.KeyCode.RIGHT:case m.KeyCode.DOWN:r=Math.min(n+1,a.length-1)}if(null===r)return;const o=a[r].querySelector("button");o&&(o.focus(),e.preventDefault())}onToolPanelButtonClicked(e){const t=e.toolPanelId;this.openedItem()===t?this.openToolPanel(void 0,"sideBarButtonClicked"):this.openToolPanel(t,"sideBarButtonClicked")}clearDownUi(){this.sideBarButtons.clearButtons(),this.destroyToolPanelWrappers()}setSideBarDef({sideBarDef:e,sideBarState:t,existingToolPanelWrappers:i}){if(this.setDisplayed(!1),this.sideBar=e,this.sideBar&&this.sideBar.toolPanels){const e=this.sideBar.toolPanels;if(this.createToolPanelsAndSideButtons(e,t,i),!this.toolPanelWrappers.length)return;const a=t?t.visible:!this.sideBar.hiddenByDefault;if(this.setDisplayed(a),this.setSideBarPosition(t?t.position:this.sideBar.position),a)if(t){const{openToolPanel:e}=t;e&&this.openToolPanel(e,"sideBarInitializing")}else this.openToolPanel(this.sideBar.defaultToolPanel,"sideBarInitializing")}}getDef(){return this.sideBar}setSideBarPosition(e){e||(e="right"),this.position=e;const t="left"===e,i=t?"right":"left";return this.addOrRemoveCssClass("ag-side-bar-left",t),this.addOrRemoveCssClass("ag-side-bar-right",!t),this.toolPanelWrappers.forEach((e=>{e.setResizerSizerSide(i)})),this.eventService.dispatchEvent({type:"sideBarUpdated"}),this}setDisplayed(e,t){super.setDisplayed(e,t),this.eventService.dispatchEvent({type:"sideBarUpdated"})}getState(){const e={};return this.toolPanelWrappers.forEach((t=>{e[t.getToolPanelId()]=t.getToolPanelInstance()?.getState?.()})),{visible:this.isDisplayed(),position:this.position,openToolPanel:this.openedItem(),toolPanels:e}}createToolPanelsAndSideButtons(e,t,i){for(const a of e)this.createToolPanelAndSideButton(a,t?.toolPanels?.[a.id],i?.[a.id])}validateDef(e){if(null==e.id)return(0,m._warnOnce)("please review all your toolPanel components, it seems like at least one of them doesn't have an id"),!1;if("agColumnsToolPanel"===e.toolPanel){if(!m.ModuleRegistry.__assertRegistered(m.ModuleNames.ColumnsToolPanelModule,"Column Tool Panel",this.gridId))return!1}if("agFiltersToolPanel"===e.toolPanel){if(!m.ModuleRegistry.__assertRegistered(m.ModuleNames.FiltersToolPanelModule,"Filters Tool Panel",this.gridId))return!1;if(this.filterManager?.isAdvancedFilterEnabled())return(0,m._warnOnce)("Advanced Filter does not work with Filters Tool Panel. Filters Tool Panel has been disabled."),!1}return!0}createToolPanelAndSideButton(e,t,i){if(!this.validateDef(e))return;const a=this.sideBarButtons.addButtonComp(e);let n;i?n=i:(n=this.createBean(new T),n.setToolPanelDef(e,{initialState:t,onStateUpdated:()=>this.eventService.dispatchEvent({type:"sideBarUpdated"})})),n.setDisplayed(!1);const r=n.getGui();this.appendChild(r),this.toolPanelWrappers.push(n),(0,m._setAriaControls)(a.getButtonElement(),r)}refresh(){this.toolPanelWrappers.forEach((e=>e.refresh()))}openToolPanel(e,t="api"){const i=this.openedItem();if(i===e)return;this.toolPanelWrappers.forEach((t=>{const i=e===t.getToolPanelId();t.setDisplayed(i)}));i!==this.openedItem()&&(this.sideBarButtons.setActiveButton(e),this.raiseToolPanelVisibleEvent(e,i??void 0,t))}getToolPanelInstance(e){const t=this.toolPanelWrappers.filter((t=>t.getToolPanelId()===e))[0];if(t)return t.getToolPanelInstance();(0,m._warnOnce)(`unable to lookup Tool Panel as invalid key supplied: ${e}`)}raiseToolPanelVisibleEvent(e,t,i){const a=!!e&&!!t;if(t){const e={type:"toolPanelVisibleChanged",source:i,key:t,visible:!1,switchingToolPanel:a};this.eventService.dispatchEvent(e)}if(e){const t={type:"toolPanelVisibleChanged",source:i,key:e,visible:!0,switchingToolPanel:a};this.eventService.dispatchEvent(t)}}close(e="api"){this.openToolPanel(void 0,e)}isToolPanelShowing(){return!!this.openedItem()}openedItem(){let e=null;return this.toolPanelWrappers.forEach((t=>{t.isDisplayed()&&(e=t.getToolPanelId())})),e}onSideBarUpdated(){const e=k(this.gos.get("sideBar")),t={};e&&this.sideBar&&e.toolPanels?.forEach((e=>{const{id:i}=e;if(!i)return;const a=this.sideBar.toolPanels?.find((e=>e.id===i));if(!a||e.toolPanel!==a.toolPanel)return;const n=this.toolPanelWrappers.find((e=>e.getToolPanelId()===i));if(!n)return;const r=this.gos.addGridCommonParams({...e.toolPanelParams??{},onStateUpdated:()=>this.eventService.dispatchEvent({type:"sideBarUpdated"})}),o=n.getToolPanelInstance()?.refresh(r);!0===o&&(this.toolPanelWrappers=this.toolPanelWrappers.filter((e=>e!==n)),(0,m._removeFromParent)(n.getGui()),t[i]=n)})),this.clearDownUi(),this.setSideBarDef({sideBarDef:e,existingToolPanelWrappers:t})}destroyToolPanelWrappers(){this.toolPanelWrappers.forEach((e=>{(0,m._removeFromParent)(e.getGui()),this.destroyBean(e)})),this.toolPanelWrappers.length=0}destroy(){this.destroyToolPanelWrappers(),super.destroy()}}},F=class extends p.BeanStub{constructor(){super(...arguments),this.beanName="sideBarService"}registerSideBarComp(e){this.sideBarComp=e}getSideBarComp(){return this.sideBarComp}getSideBarSelector(){return P}},I="32.0.2",L={version:I,moduleName:`${c.ModuleNames.SideBarModule}-core`,beans:[u,F],dependantModules:[d.EnterpriseCoreModule]},N={version:I,moduleName:`${c.ModuleNames.SideBarModule}-api`,apiFunctions:{isSideBarVisible:function(e){return e.sideBarService?.getSideBarComp().isDisplayed()??!1},setSideBarVisible:function(e,t){e.sideBarService?.getSideBarComp().setDisplayed(t)},setSideBarPosition:function(e,t){e.sideBarService?.getSideBarComp().setSideBarPosition(t)},openToolPanel:function(e,t){e.sideBarService?.getSideBarComp().openToolPanel(t,"api")},closeToolPanel:function(e){e.sideBarService?.getSideBarComp().close("api")},getOpenedToolPanel:function(e){return e.sideBarService?.getSideBarComp().openedItem()??null},refreshToolPanel:function(e){e.sideBarService?.getSideBarComp().refresh()},isToolPanelShowing:function(e){return e.sideBarService?.getSideBarComp().isToolPanelShowing()??!1},getToolPanelInstance:function(e,t){const i=e.sideBarService?.getSideBarComp().getToolPanelInstance(t);return(0,g._unwrapUserComp)(i)},getSideBar:function(e){return e.sideBarService?.getSideBarComp().getDef()}},dependantModules:[L]},O={version:I,moduleName:c.ModuleNames.SideBarModule,dependantModules:[L,N]}},5120:function(e,t,i){var a,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,l={};((e,t)=>{for(var i in t)n(e,i,{get:t[i],enumerable:!0})})(l,{SparklinesModule:()=>xe}),e.exports=(a=l,((e,t,i,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of o(t))s.call(e,l)||l===i||n(e,l,{get:()=>t[l],enumerable:!(a=r(t,l))||a.enumerable});return e})(n({},"__esModule",{value:!0}),a));var c=i(3423),d=i(8299),h=i(3423),u=i(3423),g=i(4933),p=i(4933),m=i(3423);function f(e,t="solid"){const i={solid:[],dash:[4,3],dot:[1,3],dashDot:[4,3,1,3],dashDotDot:[4,3,1,3,1,3],shortDot:[1,1],shortDash:[3,1],shortDashDot:[3,1,1,1],shortDashDotDot:[3,1,1,1,1,1],longDash:[8,3],longDashDot:[8,3,1,3],longDashDotDot:[8,3,1,3,1,3]},a={solid:[],dash:[3,3],dot:[0,3],dashDot:[3,3,0,3],dashDotDot:[3,3,0,3,0,3],shortDot:[0,2],shortDash:[2,2],shortDashDot:[2,2,0,2],shortDashDotDot:[2,2,0,2,0,2],longDash:[7,3],longDashDot:[7,3,0,3],longDashDotDot:[7,3,0,3,0,3]};return"round"===e||"square"===e?null==a[t]?(v(t),a.solid):a[t]:null==i[t]?(v(t),i.solid):i[t]}function v(e){(0,m._warnOnce)(`'${e}' is not a valid 'lineDash' option.`)}var y=i(4933);function b(e){switch(e){case"circle":default:return y._Scene.Circle;case"square":return y._Scene.Square;case"diamond":return y._Scene.Diamond}}var C=i(3423),w=i(4933),{extent:S,isNumber:x,isString:k,isStringObject:M,isDate:R,createId:D,Padding:A}=w._Util,{LinearScale:E,BandScale:T,TimeScale:P}=w._Scale,F=class{constructor(){this.type="category",this.stroke="rgb(204, 214, 235)",this.strokeWidth=1}},I=class e{constructor(){this.id=D(this),this.seriesRect={x:0,y:0,width:0,height:0},this._context=void 0,this._container=void 0,this._data=void 0,this.padding=new A(3),this.xKey="x",this.yKey="y",this.dataType=void 0,this.xData=[],this.yData=[],this.min=void 0,this.max=void 0,this.yScale=new E,this.axis=new F,this.highlightStyle={size:6,fill:"yellow",stroke:"silver",strokeWidth:1},this._width=100,this._height=100,this.smallestInterval=void 0,this.layoutId=0,this.defaultDateFormatter=new Intl.DateTimeFormat("en-US",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}),this._onMouseMove=this.onMouseMove.bind(this),this._onMouseOut=this.onMouseOut.bind(this);const t=new w._Scene.Group;this.rootGroup=t;const i=document.createElement("div");i.setAttribute("class","ag-sparkline-wrapper");const a=new w._Scene.Scene({});this.scene=a,this.canvasElement=a.canvas.element,a.setRoot(t),a.setContainer(i),this.resizeAndSetDimensions(this.width,this.height),e.tooltipDocuments.includes(document)||this.initialiseTooltipStyles(),this.setupDomEventListeners(this.canvasElement)}set context(e){this._context!==e&&(this._context=e)}get context(){return this._context}set container(e){if(this._container!==e){const{parentNode:t}=this.canvasElement;null!=t&&t.removeChild(this.canvasElement),e&&e.appendChild(this.canvasElement),this._container=e}}get container(){return this._container}set data(e){this._data!==e&&(this._data=e,this.processData(),this.mouseMoveEvent&&this.highlightedDatum&&this.updateHitPoint(this.mouseMoveEvent))}get data(){return this._data}resizeAndSetDimensions(e,t){this.scene.resize(e,t),this.seriesRect.width=e,this.seriesRect.height=t}initialiseTooltipStyles(){const t=document.createElement("style");t.innerHTML="\n.ag-sparkline-tooltip-wrapper {\n position: absolute;\n user-select: none;\n pointer-events: none;\n}\n\n.ag-sparkline-tooltip {\n position: relative;\n font: 12px arial,sans-serif;\n border-radius: 2px;\n box-shadow: 0 1px 3px rgb(0 0 0 / 20%), 0 1px 1px rgb(0 0 0 / 14%);\n line-height: 1.7em;\n overflow: hidden;\n white-space: nowrap;\n z-index: 99999;\n background-color: rgb(255, 255, 255);\n color: rgba(0,0,0, 0.67);\n}\n\n.ag-sparkline-tooltip-content {\n padding: 0 7px;\n opacity: 1;\n}\n\n.ag-sparkline-tooltip-title {\n padding-left: 7px;\n opacity: 1;\n}\n\n.ag-sparkline-tooltip-wrapper-hidden {\n top: -10000px !important;\n}\n\n.ag-sparkline-wrapper {\n box-sizing: border-box;\n overflow: hidden;\n}\n",document.head.insertBefore(t,document.head.querySelector("style")),e.tooltipDocuments.push(document)}set width(e){this._width!==e&&(this._width=e,this.scene.resize(e,this.height),this.scheduleLayout())}get width(){return this._width}set height(e){this._height!==e&&(this._height=e,this.scene.resize(this.width,e),this.scheduleLayout())}get height(){return this._height}update(){}updateYScale(){this.updateYScaleRange(),this.updateYScaleDomain()}updateYScaleDomain(){}updateYScaleRange(){const{yScale:e,seriesRect:t}=this;e.range=[t.height,0]}updateXScale(){const{type:e}=this.axis;this.xScale=this.getXScale(e),this.updateXScaleRange(),this.updateXScaleDomain()}updateXScaleRange(){this.xScale.range=[0,this.seriesRect.width]}updateXScaleDomain(){const{xData:e,xScale:t}=this;let i;(t instanceof E||t instanceof P)&&(i=S(e)),this.xScale.domain=i?i.slice():e}getXScale(e="category"){switch(e){case"number":return new E;case"time":return new P;default:return new T}}updateAxisLine(){}updateAxes(){this.updateYScale(),this.updateXScale(),this.updateAxisLine()}updateCrosshairs(){this.updateXCrosshairLine(),this.updateYCrosshairLine()}generateNodeData(){return[]}getNodeData(){return[]}updateNodes(){}updateXCrosshairLine(){}updateYCrosshairLine(){}highlightDatum(e){this.updateNodes()}dehighlightDatum(){this.highlightedDatum=void 0,this.updateNodes(),this.updateCrosshairs()}onMouseMove(e){this.mouseMoveEvent=e,this.updateHitPoint(e)}renderScene(){this.scene.render().catch((e=>(0,C._errorOnce)("chart rendering failed",e)))}updateHitPoint(e){const t=this.pickClosestSeriesNodeDatum(e.offsetX,e.offsetY);if(!t)return;const i=this.highlightedDatum;this.highlightedDatum=t,(this.highlightedDatum&&!i||this.highlightedDatum&&i&&this.highlightedDatum!==i)&&(this.highlightDatum(t),this.updateCrosshairs(),this.renderScene());(this.processedOptions?.tooltip?.enabled??!0)&&this.handleTooltip(e,t)}onMouseOut(e){this.dehighlightDatum(),this.tooltip.toggle(!1),this.renderScene()}processData(){const{data:e,yData:t,xData:i}=this;if(!e||this.invalidData(this.data))return;t.length=0,i.length=0;const a=e.length,n=this.getDataType(e);this.dataType=n;const{type:r}=this.axis,o="number"!==r&&"time"!==r?"category":r,s="number"===o||"time"===o,l=(e,t)=>{null==this.smallestInterval&&(this.smallestInterval={x:1/0,y:1/0});const{x:i}=this.smallestInterval,a=Math.abs(e-t);a>0&&a<i&&(this.smallestInterval.x=a)};let c;if("number"===n)for(let n=0;n<a;n++){const a=n,r=e[n],d=this.getDatum(a,o),h=this.getDatum(r,"number");s&&l(d,c),i.push(d),t.push(h),c=d}else if("array"===n)for(let n=0;n<a;n++){const a=e[n];if(Array.isArray(a)){const e=a[0],n=a[1],r=this.getDatum(e,o),d=this.getDatum(n,"number");if(null==r)continue;s&&l(r,c),i.push(r),t.push(d),c=r}}else if("object"===n){const{yKey:n,xKey:r}=this;for(let d=0;d<a;d++){const a=e[d];if("object"==typeof a&&!Array.isArray(a)){const e=a[r],d=a[n],h=this.getDatum(e,o),u=this.getDatum(d,"number");if(null==h)continue;s&&l(h,c),i.push(h),t.push(u),c=h}}}this.updateAxes(),this.immediateLayout()}getDataType(e){for(const t of e)if(null!=t){if(x(t))return"number";if(Array.isArray(t))return"array";if("object"==typeof t)return"object"}}getDatum(e,t){if("number"===t&&x(e)||"time"===t&&(x(e)||R(e)))return e;if("category"===t){if(k(e)||R(e)||x(e))return{toString:()=>String(e)};if(M(e))return e}}get layoutScheduled(){return!!this.layoutId}scheduleLayout(){this.layoutId&&cancelAnimationFrame(this.layoutId),this.layoutId=requestAnimationFrame((()=>{this.immediateLayout(),this.layoutId=0}))}immediateLayout(){this.setSparklineDimensions(),this.invalidData(this.data)||(this.updateXScaleRange(),this.updateYScaleRange(),this.updateAxisLine(),this.update(),this.renderScene())}setSparklineDimensions(){const{width:e,height:t,padding:i,seriesRect:a,rootGroup:n}=this,r=e-i.left-i.right,o=t-i.top-i.bottom;a.width=r,a.height=o,a.x=i.left,a.y=i.top,n.translationX=a.x,n.translationY=a.y}pickClosestSeriesNodeDatum(e,t){let i,a=1/0;const n=this.rootGroup.transformPoint(e,t),r=this.getNodeData();for(let e=0;e<r.length;e++){const t=r[e];if(!t.point)return;const o=this.getDistance(n,t.point);o<=a&&(a=o,i=t)}return i}getDistance(e,t){return Math.abs(e.x-t.x)}handleTooltip(e,t){const{seriesDatum:i}=t,{canvasElement:a}=this,{clientX:n,clientY:r}=e,o=this.processedOptions?.tooltip,s={pageX:n,pageY:r,position:{xOffset:o?.xOffset,yOffset:o?.yOffset},container:o?.container};null==s.container&&(s.container=a);const l=i.y,c=i.x;let d=o?.enabled??!0;const h=o?.renderer;if(h){const e=h({context:this.context,datum:i,yValue:l,xValue:c});d="string"!=typeof e&&void 0!==e.enabled?e.enabled:d}const u=d&&void 0!==i.y&&this.getTooltipHtml(t);u&&this.tooltip.show(s,u)}formatNumericDatum(e){return String(Math.round(10*e)/10)}formatDatum(e){const t=this.axis.type||"category";return"number"===t&&"number"==typeof e?this.formatNumericDatum(e):"time"===t&&(e instanceof Date||x(e))?this.defaultDateFormatter.format(e):String(e)}setupDomEventListeners(e){e.addEventListener("mousemove",this._onMouseMove),e.addEventListener("mouseout",this._onMouseOut)}cleanupDomEventListeners(e){e.removeEventListener("mousemove",this._onMouseMove),e.removeEventListener("mouseout",this._onMouseOut)}invalidData(e){return!e||!Array.isArray(e)}destroy(){this.cleanupDomEventListeners(this.canvasElement),this.scene.destroy(),this.container=void 0}};I.tooltipDocuments=[];var L=I;function N(e,t){if("string"==typeof e)return e;t=t??{};const{content:i=t.content??"",title:a=t.title??void 0,color:n=t.color,backgroundColor:r=t.backgroundColor,opacity:o=t.opacity??1}=e;let s,l;n?(s=a?`<span class="${O}-title"; style="color: ${n}">${a}</span>`:"",l=`<span class="${O}-content" style="color: ${n}">${i}</span>`):(s=a?`<span class="${O}-title">${a}</span>`:"",l=`<span class="${O}-content">${i}</span>`);let c=`opacity: ${o}`;return r&&(c+=`; background-color: ${r.toLowerCase()}`),`<div class="${O}" style="${c}">\n ${s}\n ${l}\n </div>`}var O="ag-sparkline-tooltip",z=class{constructor(){this.element=document.createElement("div");document.body.appendChild(this.element)}isVisible(){const{element:e}=this;if(e.classList)return!e.classList.contains(`${O}-wrapper-hidden`);const t=e.getAttribute("class");return!!t&&t.split(" ").indexOf(`${O}-wrapper-hidden`)<0}updateClass(e){const t=[`${O}-wrapper`];!0!==e&&t.push(`${O}-wrapper-hidden`),this.element.setAttribute("class",t.join(" "))}show(e,t){this.toggle(!1);const{element:i}=this;if(void 0!==t)i.innerHTML=t;else if(!i.innerHTML)return;const a=e.position?.xOffset??10,n=e.position?.yOffset??0;let r=e.pageX+a,o=e.pageY+n;const s=i.getBoundingClientRect();let l=window.innerWidth-s.width;if(e.container){const t=e.container.getBoundingClientRect();l=t.left+(t.width-s.width)}r>l&&(r=e.pageX-i.clientWidth-a),"undefined"!=typeof scrollX&&(r+=scrollX),"undefined"!=typeof scrollY&&(o+=scrollY),i.style.left=`${Math.round(r)}px`,i.style.top=`${Math.round(o)}px`,this.toggle(!0)}toggle(e){this.updateClass(e)}destroy(){const{parentNode:e}=this.element;e&&e.removeChild(this.element)}},{extent:G}=p._Util,{BandScale:B}=p._Scale,V=class{constructor(){this.enabled=!0,this.shape="circle",this.size=0,this.fill="rgb(124, 181, 236)",this.stroke="rgb(124, 181, 236)",this.strokeWidth=1,this.formatter=void 0}},H=class{constructor(){this.stroke="rgb(124, 181, 236)",this.strokeWidth=1}},W=class{constructor(){this.xLine={enabled:!0,stroke:"rgba(0,0,0, 0.54)",strokeWidth:1,lineDash:"solid",lineCap:void 0},this.yLine={enabled:!1,stroke:"rgba(0,0,0, 0.54)",strokeWidth:1,lineDash:"solid",lineCap:void 0}}},_=class extends L{constructor(){super(),this.fill="rgba(124, 181, 236, 0.25)",this.strokePath=new p._Scene.Path,this.fillPath=new p._Scene.Path,this.xCrosshairLine=new p._Scene.Line,this.yCrosshairLine=new p._Scene.Line,this.areaSparklineGroup=new p._Scene.Group,this.xAxisLine=new p._Scene.Line,this.markers=new p._Scene.Group,this.markerSelection=p._Scene.Selection.select(this.markers,(()=>this.markerFactory())),this.markerSelectionData=[],this.marker=new V,this.line=new H,this.crosshairs=new W,this.rootGroup.append(this.areaSparklineGroup),this.xAxisLine.zIndex=500,this.fillPath.zIndex=50,this.strokePath.zIndex=1e3,this.xCrosshairLine.zIndex=2e3,this.yCrosshairLine.zIndex=2e3,this.markers.zIndex=2500,this.areaSparklineGroup.append([this.fillPath,this.xAxisLine,this.strokePath,this.xCrosshairLine,this.yCrosshairLine,this.markers])}markerFactory(){const{shape:e}=this.marker;return new(b(e))}getNodeData(){return this.markerSelectionData}update(){const e=this.generateNodeData();if(!e)return;const{nodeData:t,fillData:i,strokeData:a}=e;this.markerSelectionData=t,this.updateSelection(t),this.updateNodes(),this.updateStroke(a),this.updateFill(i)}updateYScaleDomain(){const{yData:e,yScale:t}=this,i=G(e);let a=0,n=1;void 0!==i&&(a=this.min=i[0],n=this.max=i[1]),a=a<0?a:0,n=n<0?0:n,t.domain=[a,n]}generateNodeData(){const{data:e,yData:t,xData:i,xScale:a,yScale:n}=this;if(!e)return;const r=!(a instanceof B),o=r?0:a.bandwidth/2,s=t.length,l=[],c=[],d=[];let h,u,g,p;const m=n.convert(0);for(let e=0;e<s;e++){const f=t[e],v=i[e],y=a.convert(r?a.toDomain(v):v)+o,b=void 0===f?NaN:n.convert(f);e+1<s&&(p=a.convert(r?a.toDomain(i[e+1]):i[e+1])+o),d.push({seriesDatum:{x:v,y:f},point:{x:y,y:b}}),void 0===f&&void 0!==g?(c.push({seriesDatum:void 0,point:{x:g,y:m}}),void 0!==p&&c.push({seriesDatum:void 0,point:{x:p,y:m}})):void 0!==f&&(c.push({seriesDatum:{x:v,y:f},point:{x:y,y:b}}),l.push({seriesDatum:{x:v,y:f},point:{x:y,y:b}}),h=void 0!==h?h:y,u=y),g=y}return c.push({seriesDatum:void 0,point:{x:u,y:m}},{seriesDatum:void 0,point:{x:h,y:m}}),{nodeData:l,fillData:c,strokeData:d}}updateAxisLine(){const{xScale:e,yScale:t,axis:i,xAxisLine:a}=this;a.x1=e.range[0],a.x2=e.range[1],a.y1=a.y2=0,a.stroke=i.stroke,a.strokeWidth=i.strokeWidth;const n=t.convert(0);a.translationY=n}updateSelection(e){this.markerSelection.update(e)}updateNodes(){const{highlightedDatum:e,highlightStyle:t,marker:i}=this,{size:a,fill:n,stroke:r,strokeWidth:o}=t,s=i.formatter;this.markerSelection.each(((t,l,c)=>{const{point:d,seriesDatum:h}=l;if(!d)return;const u=l===e,g=u&&void 0!==n?n:i.fill,p=u&&void 0!==r?r:i.stroke,m=u&&void 0!==o?o:i.strokeWidth,f=u&&void 0!==a?a:i.size;let v;if(s){const e=0===c,t=c===this.markerSelectionData.length-1,i=h.y===this.min,a=h.y===this.max;v=s({datum:l,xValue:h.x,yValue:h.y,min:i,max:a,first:e,last:t,fill:g,stroke:p,strokeWidth:m,size:f,highlighted:u})}t.size=v&&null!=v.size?v.size:f,t.fill=v&&null!=v.fill?v.fill:g,t.stroke=v&&null!=v.stroke?v.stroke:p,t.strokeWidth=v&&null!=v.strokeWidth?v.strokeWidth:m,t.translationX=d.x,t.translationY=d.y,t.visible=v&&null!=v.enabled?v.enabled:i.enabled&&t.size>0}))}updateStroke(e){const{strokePath:t,yData:i,line:a}=this,n=t.path;if(n.clear(),i.length<2)return;const r=e.length;let o=!0;for(let t=0;t<r;t++){const{point:i,seriesDatum:a}=e[t],r=i.x,s=i.y;null==a.y?o=!0:o?(n.moveTo(r,s),o=!1):n.lineTo(r,s)}t.lineJoin=t.lineCap="round",t.fill=void 0,t.stroke=a.stroke,t.strokeWidth=a.strokeWidth}updateFill(e){const{fillPath:t,yData:i,fill:a}=this,n=t.path,r=e.length;if(n.clear(),!(i.length<2)){for(let t=0;t<r;t++){const{point:i}=e[t],a=i.x,r=i.y;t>0?n.lineTo(a,r):n.moveTo(a,r)}n.closePath(),t.lineJoin="round",t.stroke=void 0,t.fill=a}}updateXCrosshairLine(){const{yScale:e,xCrosshairLine:t,highlightedDatum:i,crosshairs:{xLine:a}}=this;if(!a.enabled||null==i)return void(t.strokeWidth=0);t.y1=e.range[0],t.y2=e.range[1],t.x1=t.x2=0,t.stroke=a.stroke,t.strokeWidth=a.strokeWidth??1,t.lineCap="round"===a.lineCap||"square"===a.lineCap?a.lineCap:void 0;const{lineDash:n}=a;t.lineDash=Array.isArray(n)?n:f(t.lineCap,a.lineDash),t.translationX=i.point.x}updateYCrosshairLine(){const{xScale:e,yCrosshairLine:t,highlightedDatum:i,crosshairs:{yLine:a}}=this;if(!a.enabled||null==i)return void(t.strokeWidth=0);t.x1=e.range[0],t.x2=e.range[1],t.y1=t.y2=0,t.stroke=a.stroke,t.strokeWidth=a.strokeWidth??1,t.lineCap="round"===a.lineCap||"square"===a.lineCap?a.lineCap:void 0;const{lineDash:n}=a;t.lineDash=Array.isArray(n)?n:f(t.lineCap,a.lineDash),t.translationY=i.point.y}getTooltipHtml(e){const{dataType:t}=this,{seriesDatum:i}=e,a=i.y,n=i.x,r={content:this.formatNumericDatum(a),title:"array"===t||"object"===t?this.formatDatum(n):void 0},o=this.processedOptions?.tooltip?.renderer;return o?N(o({context:this.context,datum:i,yValue:a,xValue:n}),r):N(r)}},q=i(4933),U=i(4933),K=class{constructor(){this.enabled=!0,this.fontSize=8,this.fontFamily="Verdana, sans-serif",this.fontStyle=void 0,this.fontWeight=void 0,this.color="rgba(70, 70, 70, 1)"}},{extent:j}=U._Util,Y=class extends K{constructor(){super(...arguments),this.formatter=void 0,this.placement="insideEnd"}},$=class extends L{constructor(){super(),this.fill="rgb(124, 181, 236)",this.stroke="silver",this.strokeWidth=0,this.paddingInner=.1,this.paddingOuter=.2,this.valueAxisDomain=void 0,this.formatter=void 0,this.axisLine=new U._Scene.Line,this.bandWidth=0,this.sparklineGroup=new U._Scene.Group,this.rectGroup=new U._Scene.Group,this.labelGroup=new U._Scene.Group,this.rectSelection=U._Scene.Selection.select(this.rectGroup,U._Scene.Rect),this.labelSelection=U._Scene.Selection.select(this.labelGroup,U._Scene.Text),this.nodeSelectionData=[],this.label=new Y,this.rootGroup.append(this.sparklineGroup),this.rectGroup.zIndex=50,this.axisLine.zIndex=500,this.labelGroup.zIndex=1500,this.sparklineGroup.append([this.rectGroup,this.axisLine,this.labelGroup]),this.axisLine.lineCap="round",this.label.enabled=!1}getNodeData(){return this.nodeSelectionData}update(){this.updateSelections(),this.updateNodes()}updateSelections(){const e=this.generateNodeData();e&&(this.nodeSelectionData=e,this.updateRectSelection(e),this.updateLabelSelection(e))}updateNodes(){this.updateRectNodes(),this.updateLabelNodes()}calculateStep(e){const{xScale:t,paddingInner:i,paddingOuter:a,smallestInterval:n}=this,r=(t.domain[1]-t.domain[0])/(n?.x??1)+1,o=Math.min(r,50),s=o-1;return e/Math.max(1,2*a+s*i+o)}updateYScaleDomain(){const{yScale:e,yData:t,valueAxisDomain:i}=this,a=j(t);let n=0,r=1;void 0!==a&&(n=this.min=a[0],r=this.max=a[1]),n=n<0?n:0,r=r<0?0:r,i&&(i[1]<r&&(i[1]=r),i[0]>n&&(i[0]=n)),e.domain=i||[n,r]}updateRectSelection(e){this.rectSelection.update(e)}updateRectNodes(){const{highlightedDatum:e,formatter:t,fill:i,stroke:a,strokeWidth:n}=this,{fill:r,stroke:o,strokeWidth:s}=this.highlightStyle;this.rectSelection.each(((l,c,d)=>{const h=c===e,u=h&&void 0!==r?r:i,g=h&&void 0!==o?o:a,p=h&&void 0!==s?s:n;let m;const{x:f,y:v,width:y,height:b,seriesDatum:C}=c;if(t){const e=0===d,i=d===this.nodeSelectionData.length-1,a=C.y===this.min,n=C.y===this.max;m=t({datum:c,xValue:C.x,yValue:C.y,width:y,height:b,min:a,max:n,first:e,last:i,fill:u,stroke:g,strokeWidth:p,highlighted:h})}l.fill=m&&m.fill||u,l.stroke=m&&m.stroke||g,l.strokeWidth=m&&m.strokeWidth||p,l.x=l.y=0,l.width=y,l.height=b,l.visible=l.height>0,l.translationX=f,l.translationY=v}))}updateLabelSelection(e){this.labelSelection.update(e,(e=>{e.tag=1,e.pointerEvents=U._Scene.PointerEvents.None}))}updateLabelNodes(){const{label:{enabled:e,fontStyle:t,fontWeight:i,fontSize:a,fontFamily:n,color:r}}=this;this.labelSelection.each(((o,s)=>{const l=s.label;l&&e?(o.fontStyle=t,o.fontWeight=i,o.fontSize=a,o.fontFamily=n,o.textAlign=l.textAlign,o.textBaseline=l.textBaseline,o.text=l.text,o.x=l.x,o.y=l.y,o.fill=r,o.visible=!0):o.visible=!1}))}getTooltipHtml(e){const{dataType:t}=this,{seriesDatum:i}=e,a=i.y,n=i.x,r={content:this.formatNumericDatum(a),title:"array"===t||"object"===t?this.formatDatum(n):void 0},o=this.processedOptions?.tooltip?.renderer;return o?N(o({context:this.context,datum:i,yValue:a,xValue:n}),r):N(r)}formatLabelValue(e){return e%1!=0?e.toFixed(1):e.toFixed(0)}},{isNumber:Z}=q._Util,{BandScale:X}=q._Scale,Q=class extends ${updateYScaleRange(){const{seriesRect:e,yScale:t}=this;t.range=[0,e.width]}updateXScaleRange(){const{xScale:e,seriesRect:t,paddingOuter:i,paddingInner:a}=this;if(e instanceof X)e.range=[0,t.height],e.paddingInner=a,e.paddingOuter=i;else{const n=this.calculateStep(t.height),r=n*i;this.bandWidth=n*(1-a),e.range=[r,t.height-r-this.bandWidth]}}updateAxisLine(){const{yScale:e,axis:t,axisLine:i,seriesRect:a}=this,{strokeWidth:n}=t;i.x1=0,i.x2=0,i.y1=0,i.y2=a.height,i.stroke=t.stroke,i.strokeWidth=n+(n%2==1?1:0);const r=e.convert(0);i.translationX=r}generateNodeData(){const{data:e,yData:t,xData:i,xScale:a,yScale:n,fill:r,stroke:o,strokeWidth:s,label:l}=this;if(!e)return;const{fontStyle:c,fontWeight:d,fontSize:h,fontFamily:u,color:g,formatter:p,placement:m}=l,f=[],v=n.convert(0),y=!(a instanceof X);for(let e=0,l=t.length;e<l;e++){let l=t[e];const b=i[e],C=void 0===l;C&&(l=0);const w=a.convert(y?a.toDomain(b):b),S=Math.min(void 0===l?NaN:n.convert(l),v),x=Math.max(void 0===l?NaN:n.convert(l),v),k=y?this.bandWidth:a.bandwidth,M=x-S,R={x:v,y:w};let D;D=p?p({value:l}):void 0!==l&&Z(l)?this.formatLabelValue(l):"";const A=w+k/2;let E;const T="middle";let P;const F=void 0!==l&&l>=0,I=4;if("center"===m)E=S+M/2,P="center";else if("outsideEnd"===m)E=S+(F?M+I:-I),P=F?"start":"end";else if("insideEnd"===m){E=S+(F?M-I:I),P=F?"end":"start";const e=q._Scene.Text.getTextSize(D,u).width||20;(F&&E<v+e||!F&&E>v-e)&&(E=v+I*(F?1:-1),P=F?"start":"end")}else E=v+I*(F?1:-1),P=F?"start":"end";f.push({x:S,y:w,width:M,height:k,fill:r,stroke:o,strokeWidth:s,seriesDatum:{x:b,y:C?void 0:l},point:R,label:{x:E,y:A,text:D,fontStyle:c,fontWeight:d,fontSize:h,fontFamily:u,textAlign:P,textBaseline:T,fill:g}})}return f}getDistance(e,t){return Math.abs(e.y-t.y)}},J=i(4933),{isNumber:ee}=J._Util,{BandScale:te}=J._Scale,ie=class extends ${updateYScaleRange(){const{seriesRect:e,yScale:t}=this;t.range=[e.height,0]}updateXScaleRange(){const{xScale:e,seriesRect:t,paddingOuter:i,paddingInner:a}=this;if(e instanceof te)e.range=[0,t.width],e.paddingInner=a,e.paddingOuter=i;else{const n=this.calculateStep(t.width),r=n*i;this.bandWidth=n*(1-a),e.range=[r,t.width-r-this.bandWidth]}}updateAxisLine(){const{yScale:e,axis:t,axisLine:i,seriesRect:a}=this,{strokeWidth:n}=t;i.x1=0,i.x2=a.width,i.y1=0,i.y2=0,i.stroke=t.stroke,i.strokeWidth=n+(n%2==1?1:0);const r=e.convert(0);i.translationY=r}generateNodeData(){const{data:e,yData:t,xData:i,xScale:a,yScale:n,fill:r,stroke:o,strokeWidth:s,label:l}=this;if(!e)return;const{fontStyle:c,fontWeight:d,fontSize:h,fontFamily:u,color:g,formatter:p,placement:m}=l,f=[],v=n.convert(0),y=!(a instanceof te);for(let e=0,l=t.length;e<l;e++){let l=t[e];const b=i[e],C=void 0===l;C&&(l=0);const w=Math.min(void 0===l?NaN:n.convert(l),v),S=a.convert(y?a.toDomain(b):b),x=Math.max(void 0===l?NaN:n.convert(l),v),k=y?this.bandWidth:a.bandwidth,M=x-w,R={x:S+k/2,y:v};let D;D=p?p({value:l}):void 0!==l&&ee(l)?this.formatLabelValue(l):"";const A=S+k/2;let E;const T="center";let P;const F=void 0!==l&&l>=0,I=2;if("center"===m)E=w+M/2,P="middle";else if("outsideEnd"===m)E=w+(F?-I:M+I),P=F?"bottom":"top";else if("insideEnd"===m){E=w+(F?I:M-I),P=F?"top":"bottom";const e=J._Scene.Text.getTextSize(D,u).height||10;(F&&E>v-e||!F&&E<v+e)&&(E=v+I*(F?-1:1),P=F?"bottom":"top")}else E=v+I*(F?-1:1),P=F?"bottom":"top";f.push({x:S,y:w,width:k,height:M,fill:r,stroke:o,strokeWidth:s,seriesDatum:{x:b,y:C?void 0:l},point:R,label:{x:A,y:E,text:D,fontStyle:c,fontWeight:d,fontSize:h,fontFamily:u,textAlign:T,textBaseline:P,fill:g}})}return f}},ae=i(4933),{extent:ne}=ae._Util,{BandScale:re}=ae._Scale,oe=class{constructor(){this.enabled=!0,this.shape="circle",this.size=0,this.fill="rgb(124, 181, 236)",this.stroke="rgb(124, 181, 236)",this.strokeWidth=1,this.formatter=void 0}},se=class{constructor(){this.stroke="rgb(124, 181, 236)",this.strokeWidth=1}},le=class{constructor(){this.xLine={enabled:!0,stroke:"rgba(0,0,0, 0.54)",strokeWidth:1,lineDash:"solid",lineCap:void 0},this.yLine={enabled:!1,stroke:"rgba(0,0,0, 0.54)",strokeWidth:1,lineDash:"solid",lineCap:void 0}}},ce=class extends L{constructor(){super(),this.linePath=new ae._Scene.Path,this.xCrosshairLine=new ae._Scene.Line,this.yCrosshairLine=new ae._Scene.Line,this.lineSparklineGroup=new ae._Scene.Group,this.markers=new ae._Scene.Group,this.markerSelection=ae._Scene.Selection.select(this.markers,(()=>this.markerFactory())),this.markerSelectionData=[],this.marker=new oe,this.line=new se,this.crosshairs=new le,this.rootGroup.append(this.lineSparklineGroup),this.linePath.zIndex=1e3,this.xCrosshairLine.zIndex=2e3,this.yCrosshairLine.zIndex=2e3,this.markers.zIndex=2500,this.lineSparklineGroup.append([this.linePath,this.xCrosshairLine,this.yCrosshairLine,this.markers])}getNodeData(){return this.markerSelectionData}markerFactory(){const{shape:e}=this.marker;return new(b(e))}onMarkerShapeChange(){this.markerSelection=this.markerSelection.clear(),this.scheduleLayout()}update(){const e=this.generateNodeData();e&&(this.markerSelectionData=e,this.updateSelection(e),this.updateNodes(),this.updateLine())}updateYScaleDomain(){const{yData:e,yScale:t}=this,i=ne(e);let a=0,n=1;if(void 0!==i&&(a=this.min=i[0],n=this.max=i[1]),a===n){const e=Math.abs(.01*a);a-=e,n+=e}t.domain=[a,n]}generateNodeData(){const{data:e,yData:t,xData:i,xScale:a,yScale:n}=this;if(!e)return;const r=!(a instanceof re),o=r?0:a.bandwidth/2,s=[];for(let e=0;e<t.length;e++){const l=t[e],c=i[e];if(null==l)continue;const d=a.convert(r?a.toDomain(c):c)+o,h=void 0===l?NaN:n.convert(l);s.push({seriesDatum:{x:c,y:l},point:{x:d,y:h}})}return s}updateSelection(e){this.markerSelection.update(e)}updateNodes(){const{highlightedDatum:e,highlightStyle:t,marker:i}=this,{size:a,fill:n,stroke:r,strokeWidth:o}=t,s=i.formatter;this.markerSelection.each(((t,l,c)=>{const d=l===e,h=d&&void 0!==n?n:i.fill,u=d&&void 0!==r?r:i.stroke,g=d&&void 0!==o?o:i.strokeWidth,p=d&&void 0!==a?a:i.size;let m;const{seriesDatum:f,point:v}=l;if(s){const e=0===c,t=c===this.markerSelectionData.length-1,i=f.y===this.min,a=f.y===this.max;m=s({datum:l,xValue:f.x,yValue:f.y,min:i,max:a,first:e,last:t,fill:h,stroke:u,strokeWidth:g,size:p,highlighted:d})}t.size=m&&null!=m.size?m.size:p,t.fill=m&&null!=m.fill?m.fill:h,t.stroke=m&&null!=m.stroke?m.stroke:u,t.strokeWidth=m&&null!=m.strokeWidth?m.strokeWidth:g,t.translationX=v.x,t.translationY=v.y,t.visible=m&&null!=m.enabled?m.enabled:i.enabled&&t.size>0}))}updateLine(){const{linePath:e,yData:t,xData:i,xScale:a,yScale:n,line:r}=this,o=e.path;if(o.clear(),t.length<2)return;const s=!(a instanceof re),l=t.length,c=s?0:a.bandwidth/2;let d=!0;for(let e=0;e<l;e++){const r=i[e],l=t[e],h=a.convert(s?a.toDomain(r):r)+c,u=void 0===l?NaN:n.convert(l);null==l?d=!0:d?(o.moveTo(h,u),d=!1):o.lineTo(h,u)}e.fill=void 0,e.stroke=r.stroke,e.strokeWidth=r.strokeWidth}updateXCrosshairLine(){const{yScale:e,xCrosshairLine:t,highlightedDatum:i,crosshairs:{xLine:a}}=this;if(!a.enabled||null==i)return void(t.strokeWidth=0);t.y1=e.range[0],t.y2=e.range[1],t.x1=t.x2=0,t.stroke=a.stroke,t.strokeWidth=a.strokeWidth??1,t.lineCap="round"===a.lineCap||"square"===a.lineCap?a.lineCap:void 0;const{lineDash:n}=a;t.lineDash=Array.isArray(n)?n:f(t.lineCap,a.lineDash),t.translationX=i.point.x}updateYCrosshairLine(){const{xScale:e,yCrosshairLine:t,highlightedDatum:i,crosshairs:{yLine:a}}=this;if(!a.enabled||null==i)return void(t.strokeWidth=0);t.x1=e.range[0],t.x2=e.range[1],t.y1=t.y2=0,t.stroke=a.stroke,t.strokeWidth=a.strokeWidth??1,t.lineCap="round"===a.lineCap||"square"===a.lineCap?a.lineCap:void 0;const{lineDash:n}=a;t.lineDash=Array.isArray(n)?n:f(t.lineCap,a.lineDash),t.translationY=i.point.y}getTooltipHtml(e){const{dataType:t}=this,{seriesDatum:i}=e,a=i.y,n=i.x,r={content:this.formatNumericDatum(a),title:"array"===t||"object"===t?this.formatDatum(n):void 0},o=this.processedOptions?.tooltip?.renderer;return o?N(o({context:this.context,datum:i,yValue:a,xValue:n}),r):N(r)}},{isNumber:de}=g._Util,he=class{static create(e,t){const i=function(e="line"){switch(e){case"column":return new ie;case"bar":return new Q;case"area":return new _;default:return new ce}}((e=g._Util.deepClone(e)).type);return t&&(i.tooltip=t),function(e,t){be(e,"context",t.context,t),be(e,"width",t.width,t),be(e,"height",t.height,t),be(e,"container",t.container,t),be(e,"xKey",t.xKey,t),be(e,"yKey",t.yKey,t),t.padding&&function(e,t){be(e,"top",t.top,t),be(e,"right",t.right,t),be(e,"bottom",t.bottom,t),be(e,"left",t.left,t)}(e.padding,t.padding);t.axis&&function(e,t){be(e,"type",t.type,t),be(e,"stroke",t.stroke,t),be(e,"strokeWidth",t.strokeWidth,t)}(e.axis,t.axis);t.highlightStyle&&function(e,t){be(e,"fill",t.fill,t),be(e,"size",t.size,t),be(e,"stroke",t.stroke,t),be(e,"strokeWidth",t.strokeWidth,t)}(e.highlightStyle,t.highlightStyle)}(i,e),function(e,t){switch(t.type){case"bar":case"column":ue(e,t);break;case"area":!function(e,t){be(e,"fill",t.fill,t),t.marker&&ge(e.marker,t.marker);t.line&&pe(e.line,t.line);t.crosshairs&&me(e.crosshairs,t.crosshairs)}(e,t);break;default:!function(e,t){t.marker&&ge(e.marker,t.marker);t.line&&pe(e.line,t.line);t.crosshairs&&me(e.crosshairs,t.crosshairs)}(e,t)}}(i,e),e.data&&(i.data=e.data),i.processedOptions=e,i}};function ue(e,t){be(e,"valueAxisDomain",t.valueAxisDomain,t),be(e,"fill",t.fill,t),be(e,"stroke",t.stroke,t),be(e,"strokeWidth",t.strokeWidth,t),be(e,"paddingInner",t.paddingInner,t),be(e,"paddingOuter",t.paddingOuter,t),be(e,"formatter",t.formatter,t),t.label&&function(e,t){be(e,"enabled",t.enabled,t),be(e,"fontStyle",t.fontStyle,t),be(e,"fontWeight",t.fontWeight,t),be(e,"fontSize",t.fontSize,t),be(e,"fontFamily",t.fontFamily,t),be(e,"textAlign",t.textAlign,t),be(e,"textBaseline",t.textBaseline,t),be(e,"color",t.color,t),be(e,"formatter",t.formatter,t),be(e,"placement",t.placement,t)}(e.label,t.label)}function ge(e,t){be(e,"enabled",t.enabled,t),be(e,"size",t.size,t),be(e,"shape",t.shape,t),be(e,"fill",t.fill,t),be(e,"stroke",t.stroke,t),be(e,"strokeWidth",t.strokeWidth,t),be(e,"formatter",t.formatter,t)}function pe(e,t){be(e,"stroke",t.stroke,t),be(e,"strokeWidth",t.strokeWidth,t)}function me(e,t){e.xLine&&t.xLine&&fe(e.xLine,t.xLine),e.yLine&&t.yLine&&fe(e.yLine,t.yLine)}function fe(e,t){be(e,"enabled",t.enabled,t),be(e,"stroke",t.stroke,t),be(e,"strokeWidth",t.strokeWidth,t),be(e,"lineDash",t.lineDash,t),be(e,"lineCap",t.lineCap,t)}var ve=(e,t,i)=>!!de(t)||((0,u._warnOnce)(`${e} must be a number, the value you provided is not a valid number. Using the default of ${i}px.`),!1),ye={xOffset:ve,yOffset:ve};function be(e,t,i,a){if(t in a)if(t in e){const a=ye[t];(!a||a(t,i,e[t]))&&e[t]!==i&&(e[t]=i)}else(0,u._warnOnce)(`Property ${t} does not exist on the target object.`)}var Ce=class extends h.Component{constructor(){super('<div class="ag-sparkline-wrapper">\n <span data-ref="eSparkline"></span>\n </div>'),this.eSparkline=h.RefPlaceholder}wireBeans(e){this.resizeObserverService=e.resizeObserverService,this.sparklineTooltipSingleton=e.sparklineTooltipSingleton}init(e){let t=!0;const i=this.resizeObserverService.observeResize(this.getGui(),(()=>{const{clientWidth:i,clientHeight:a}=this.getGui();if(0!==i&&0!==a)if(t){const n={data:e.value,width:i,height:a,context:{data:e.data},...e.sparklineOptions};this.sparkline=he.create(n,this.sparklineTooltipSingleton.getSparklineTooltip()),this.eSparkline.appendChild(this.sparkline.canvasElement),t=!1}else this.sparkline.width=i,this.sparkline.height=a}));this.addDestroyFunc((()=>i()))}refresh(e){return!!this.sparkline&&(this.sparkline.data=e.value,!0)}destroy(){this.sparkline&&this.sparkline.destroy(),super.destroy()}},we=i(3423),Se=class extends we.BeanStub{constructor(){super(...arguments),this.beanName="sparklineTooltipSingleton"}postConstruct(){this.tooltip=new z}getSparklineTooltip(){return this.tooltip}destroy(){this.tooltip&&this.tooltip.destroy(),super.destroy()}},xe={version:"32.0.2",moduleName:c.ModuleNames.SparklinesModule,beans:[Se],userComponents:[{name:"agSparklineCellRenderer",classImp:Ce}],dependantModules:[d.EnterpriseCoreModule]}},7874:function(e,t,i){var a,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,l={};((e,t)=>{for(var i in t)n(e,i,{get:t[i],enumerable:!0})})(l,{StatusBarModule:()=>A}),e.exports=(a=l,((e,t,i,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of o(t))s.call(e,l)||l===i||n(e,l,{get:()=>t[l],enumerable:!(a=r(t,l))||a.enumerable});return e})(n({},"__esModule",{value:!0}),a));var c=i(3423),d=i(8299),h=i(3423),u=i(3423),g=class extends u.Component{constructor(){super('<div class="ag-status-name-value">\n <span data-ref="eLabel"></span>:&nbsp;\n <span data-ref="eValue" class="ag-status-name-value-value"></span>\n </div>'),this.eLabel=u.RefPlaceholder,this.eValue=u.RefPlaceholder}setLabel(e,t){this.setDisplayed(!1);const i=this.localeService.getLocaleTextFunc();this.eLabel.innerHTML=i(e,t)}setValue(e){this.eValue.innerHTML=e}},p={selector:"AG-NAME-VALUE",component:g},m=class extends h.Component{constructor(){super('<div class="ag-status-panel ag-status-panel-aggregations">\n <ag-name-value data-ref="avgAggregationComp"></ag-name-value>\n <ag-name-value data-ref="countAggregationComp"></ag-name-value>\n <ag-name-value data-ref="minAggregationComp"></ag-name-value>\n <ag-name-value data-ref="maxAggregationComp"></ag-name-value>\n <ag-name-value data-ref="sumAggregationComp"></ag-name-value>\n </div>',[p]),this.sumAggregationComp=h.RefPlaceholder,this.countAggregationComp=h.RefPlaceholder,this.minAggregationComp=h.RefPlaceholder,this.maxAggregationComp=h.RefPlaceholder,this.avgAggregationComp=h.RefPlaceholder}wireBeans(e){this.valueService=e.valueService,this.cellNavigationService=e.cellNavigationService,this.rowModel=e.rowModel,this.cellPositionUtils=e.cellPositionUtils,this.rowPositionUtils=e.rowPositionUtils,this.rangeService=e.rangeService}destroy(){super.destroy()}postConstruct(){this.isValidRowModel()?(this.avgAggregationComp.setLabel("avg","Average"),this.countAggregationComp.setLabel("count","Count"),this.minAggregationComp.setLabel("min","Min"),this.maxAggregationComp.setLabel("max","Max"),this.sumAggregationComp.setLabel("sum","Sum"),this.addManagedEventListeners({rangeSelectionChanged:this.onRangeSelectionChanged.bind(this),modelUpdated:this.onRangeSelectionChanged.bind(this)})):(0,h._warnOnce)("agAggregationComponent should only be used with the client and server side row model.")}isValidRowModel(){const e=this.rowModel.getType();return"clientSide"===e||"serverSide"===e}init(e){this.params=e}refresh(e){return this.params=e,this.onRangeSelectionChanged(),!0}setAggregationComponentValue(e,t,i){const a=this.getAllowedAggregationValueComponent(e);if((0,h._exists)(a)&&a){const e=this.localeService.getLocaleTextFunc(),n=e("thousandSeparator",","),r=e("decimalSeparator",".");a.setValue((0,h._formatNumberTwoDecimalPlacesAndCommas)(t,n,r)),a.setDisplayed(i)}else this.getAggregationValueComponent(e)?.setDisplayed(!1)}getAllowedAggregationValueComponent(e){const{aggFuncs:t}=this.params;return!t||t.includes(e)?this.getAggregationValueComponent(e):null}getAggregationValueComponent(e){return this[`${e}AggregationComp`]}onRangeSelectionChanged(){const e=this.rangeService?.getCellRanges();let t=0,i=0,a=0,n=null,r=null;const o={};if(e&&!(0,h._missingOrEmpty)(e)&&this.rangeService)for(let s=0;s<e.length;s++){const l=e[s];let c=this.rangeService.getRangeStartRow(l);const d=this.rangeService.getRangeEndRow(l);for(;;){if((0,h._missing)(c)||!c||this.rowPositionUtils.before(d,c)||!c||!l.columns)break;l.columns.forEach((e=>{if(null===c)return;const s=this.cellPositionUtils.createId({rowPinned:c.rowPinned,column:e,rowIndex:c.rowIndex});if(o[s])return;o[s]=!0;const l=this.rowPositionUtils.getRowNode(c);if((0,h._missing)(l))return;let d=this.valueService.getValue(e,l);(0,h._missing)(d)||""===d||(i++,"object"==typeof d&&"value"in d&&(d=d.value,""===d)||("string"==typeof d&&(d=Number(d)),"number"!=typeof d||isNaN(d)||(t+=d,(null===r||d>r)&&(r=d),(null===n||d<n)&&(n=d),a++)))})),c=this.cellNavigationService.getRowBelow(c)}}const s=i>1,l=a>1;this.setAggregationComponentValue("count",i,s),this.setAggregationComponentValue("sum",t,l),this.setAggregationComponentValue("min",n,l),this.setAggregationComponentValue("max",r,l),this.setAggregationComponentValue("avg",t/a,l)}},f=i(3423),v=i(3423),y=i(3423),b=i(3423),C=i(3423);var w=i(3423),S=i(3423),x={selector:"AG-STATUS-BAR",component:class extends S.Component{constructor(){super('<div class="ag-status-bar">\n <div data-ref="eStatusBarLeft" class="ag-status-bar-left" role="status"></div>\n <div data-ref="eStatusBarCenter" class="ag-status-bar-center" role="status"></div>\n <div data-ref="eStatusBarRight" class="ag-status-bar-right" role="status"></div>\n </div>'),this.updateQueued=!1,this.panelsPromise=S.AgPromise.resolve(),this.eStatusBarLeft=S.RefPlaceholder,this.eStatusBarCenter=S.RefPlaceholder,this.eStatusBarRight=S.RefPlaceholder,this.compDestroyFunctions={}}wireBeans(e){this.userComponentFactory=e.userComponentFactory,this.statusBarService=e.statusBarService}postConstruct(){this.processStatusPanels(new Map),this.addManagedPropertyListeners(["statusBar"],this.handleStatusBarChanged.bind(this))}processStatusPanels(e){const t=this.gos.get("statusBar")?.statusPanels;if(t){const i=t.filter((e=>"left"===e.align)),a=t.filter((e=>"center"===e.align)),n=t.filter((e=>!e.align||"right"===e.align));this.panelsPromise=S.AgPromise.all([this.createAndRenderComponents(i,this.eStatusBarLeft,e),this.createAndRenderComponents(a,this.eStatusBarCenter,e),this.createAndRenderComponents(n,this.eStatusBarRight,e)])}else this.setDisplayed(!1)}handleStatusBarChanged(){this.updateQueued||(this.updateQueued=!0,this.panelsPromise.then((()=>{this.updateStatusBar(),this.updateQueued=!1})))}updateStatusBar(){const e=this.gos.get("statusBar")?.statusPanels,t=Array.isArray(e)&&e.length>0;this.setDisplayed(t);const i=new Map;t&&e.forEach((e=>{const t=e.key??e.statusPanel,a=this.statusBarService.getStatusPanel(t);if(a?.refresh){const n=this.gos.addGridCommonParams(e.statusPanelParams??{});a.refresh(n)&&(i.set(t,a),delete this.compDestroyFunctions[t],(0,S._removeFromParent)(a.getGui()))}})),this.resetStatusBar(),t&&this.processStatusPanels(i)}resetStatusBar(){this.eStatusBarLeft.innerHTML="",this.eStatusBarCenter.innerHTML="",this.eStatusBarRight.innerHTML="",this.destroyComponents(),this.statusBarService.unregisterAllComponents()}destroy(){this.destroyComponents(),super.destroy()}destroyComponents(){Object.values(this.compDestroyFunctions).forEach((e=>e())),this.compDestroyFunctions={}}createAndRenderComponents(e,t,i){const a=[];return e.forEach((e=>{const t=e.key||e.statusPanel,n=i.get(t);let r;if(n)r=S.AgPromise.resolve(n);else{const t={};if(r=this.userComponentFactory.getStatusPanelCompDetails(e,t).newAgStackInstance(),null==r)return}a.push({key:t,promise:r})})),S.AgPromise.all(a.map((e=>e.promise))).then((()=>{a.forEach((e=>{e.promise.then((i=>{const a=()=>{this.destroyBean(i)};this.isAlive()?(this.statusBarService.registerStatusPanel(e.key,i),t.appendChild(i.getGui()),this.compDestroyFunctions[e.key]=a):a()}))}))}))}}},k=class extends w.BeanStub{constructor(){super(),this.beanName="statusBarService",this.allComponents=new Map}registerStatusPanel(e,t){this.allComponents.set(e,t)}unregisterStatusPanel(e){this.allComponents.delete(e)}unregisterAllComponents(){this.allComponents.clear()}getStatusPanel(e){return this.allComponents.get(e)}getStatusPanelSelector(){return x}destroy(){this.unregisterAllComponents(),super.destroy()}},M="32.0.2",R={version:M,moduleName:`${c.ModuleNames.StatusBarModule}-core`,beans:[k],userComponents:[{name:"agAggregationComponent",classImp:m},{name:"agSelectedRowCountComponent",classImp:class extends g{wireBeans(e){this.rowModel=e.rowModel,this.selectionService=e.selectionService}postConstruct(){if(!this.isValidRowModel())return void(0,v._warnOnce)("agSelectedRowCountComponent should only be used with the client and server side row model.");this.setLabel("selectedRows","Selected"),this.addCssClass("ag-status-panel"),this.addCssClass("ag-status-panel-selected-row-count"),this.onRowSelectionChanged();const e=this.onRowSelectionChanged.bind(this);this.addManagedEventListeners({modelUpdated:e,selectionChanged:e})}isValidRowModel(){const e=this.rowModel.getType();return"clientSide"===e||"serverSide"===e}onRowSelectionChanged(){const e=this.selectionService.getSelectionCount();if(e<0)return this.setValue("?"),void this.setDisplayed(!0);const t=this.localeService.getLocaleTextFunc(),i=t("thousandSeparator",","),a=t("decimalSeparator",".");this.setValue((0,v._formatNumberCommas)(e,i,a)),this.setDisplayed(e>0)}init(){}refresh(){return!0}destroy(){super.destroy()}}},{name:"agTotalRowCountComponent",classImp:class extends g{wireBeans(e){this.rowModel=e.rowModel}postConstruct(){this.setLabel("totalRows","Total Rows"),"clientSide"===this.rowModel.getType()?(this.addCssClass("ag-status-panel"),this.addCssClass("ag-status-panel-total-row-count"),this.setDisplayed(!0),this.addManagedEventListeners({modelUpdated:this.onDataChanged.bind(this)}),this.onDataChanged()):(0,b._warnOnce)("agTotalRowCountComponent should only be used with the client side row model.")}onDataChanged(){const e=this.localeService.getLocaleTextFunc(),t=e("thousandSeparator",","),i=e("decimalSeparator",".");this.setValue((0,b._formatNumberCommas)(this.getRowCountValue(),t,i))}getRowCountValue(){let e=0;return this.rowModel.forEachLeafNode((()=>e+=1)),e}init(){}refresh(){return!0}destroy(){super.destroy()}}},{name:"agFilteredRowCountComponent",classImp:class extends g{wireBeans(e){this.rowModel=e.rowModel}postConstruct(){if(this.setLabel("filteredRows","Filtered"),"clientSide"!==this.rowModel.getType())return void(0,f._warnOnce)("agFilteredRowCountComponent should only be used with the client side row model.");this.addCssClass("ag-status-panel"),this.addCssClass("ag-status-panel-filtered-row-count"),this.setDisplayed(!0);const e=this.onDataChanged.bind(this);this.addManagedEventListeners({modelUpdated:e}),e()}onDataChanged(){const e=this.getTotalRowCountValue(),t=this.getFilteredRowCountValue(),i=this.localeService.getLocaleTextFunc(),a=i("thousandSeparator",","),n=i("decimalSeparator",".");this.setValue((0,f._formatNumberCommas)(t,a,n)),this.setDisplayed(e!==t)}getTotalRowCountValue(){let e=0;return this.rowModel.forEachNode((()=>e+=1)),e}getFilteredRowCountValue(){let e=0;return this.rowModel.forEachNodeAfterFilter((t=>{t.group||(e+=1)})),e}init(){}refresh(){return!0}destroy(){super.destroy()}}},{name:"agTotalAndFilteredRowCountComponent",classImp:class extends g{wireBeans(e){this.rowModel=e.rowModel}postConstruct(){"clientSide"===this.rowModel.getType()?(this.setLabel("totalAndFilteredRows","Rows"),this.addCssClass("ag-status-panel"),this.addCssClass("ag-status-panel-total-and-filtered-row-count"),this.setDisplayed(!0),this.addManagedEventListeners({modelUpdated:this.onDataChanged.bind(this)}),this.onDataChanged()):(0,y._warnOnce)("agTotalAndFilteredRowCountComponent should only be used with the client side row model.")}onDataChanged(){const e=this.localeService.getLocaleTextFunc(),t=e("thousandSeparator",","),i=e("decimalSeparator","."),a=(0,y._formatNumberCommas)(this.getFilteredRowCountValue(),t,i),n=(0,y._formatNumberCommas)(this.getTotalRowCount(),t,i);if(a===n)this.setValue(a);else{const e=this.localeService.getLocaleTextFunc();this.setValue(`${a} ${e("of","of")} ${n}`)}}getFilteredRowCountValue(){let e=0;return this.rowModel.forEachNodeAfterFilter((t=>{t.group||e++})),e}getTotalRowCount(){let e=0;return this.rowModel.forEachNode((t=>{t.group||e++})),e}init(){}refresh(){return!0}destroy(){super.destroy()}}}],dependantModules:[d.EnterpriseCoreModule]},D={version:M,moduleName:`${c.ModuleNames.StatusBarModule}-api`,apiFunctions:{getStatusPanel:function(e,t){const i=e.statusBarService.getStatusPanel(t);return(0,C._unwrapUserComp)(i)}},dependantModules:[R]},A={version:M,moduleName:c.ModuleNames.StatusBarModule,dependantModules:[R,D]}},1555:function(e,t,i){var a,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,l={};((e,t)=>{for(var i in t)n(e,i,{get:t[i],enumerable:!0})})(l,{ViewportRowModelModule:()=>g}),e.exports=(a=l,((e,t,i,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of o(t))s.call(e,l)||l===i||n(e,l,{get:()=>t[l],enumerable:!(a=r(t,l))||a.enumerable});return e})(n({},"__esModule",{value:!0}),a));var c=i(3423),d=i(8299),h=i(3423),u=class extends h.BeanStub{constructor(){super(...arguments),this.beanName="rowModel",this.firstRow=-1,this.lastRow=-1,this.rowCount=-1,this.rowNodesByIndex={}}wireBeans(e){this.rowRenderer=e.rowRenderer,this.focusService=e.focusService,this.beans=e}ensureRowHeightsValid(e,t,i,a){return!1}postConstruct(){this.rowHeight=this.gos.getRowHeightAsNumber(),this.addManagedEventListeners({viewportChanged:this.onViewportChanged.bind(this)}),this.addManagedPropertyListener("viewportDatasource",(()=>this.updateDatasource())),this.addManagedPropertyListener("rowHeight",(()=>{this.rowHeight=this.gos.getRowHeightAsNumber(),this.updateRowHeights()}))}start(){this.updateDatasource()}isLastRowIndexKnown(){return!0}destroy(){this.destroyDatasource(),super.destroy()}destroyDatasource(){this.viewportDatasource&&(this.viewportDatasource.destroy&&this.viewportDatasource.destroy(),this.rowRenderer.datasourceChanged(),this.firstRow=-1,this.lastRow=-1)}updateDatasource(){const e=this.gos.get("viewportDatasource");e&&this.setViewportDatasource(e)}getViewportRowModelPageSize(){return this.gos.get("viewportRowModelPageSize")}getViewportRowModelBufferSize(){return this.gos.get("viewportRowModelBufferSize")}calculateFirstRow(e){const t=this.getViewportRowModelBufferSize(),i=this.getViewportRowModelPageSize(),a=e-t;return a<0?0:Math.floor(a/i)*i}calculateLastRow(e){if(-1===e)return e;const t=this.getViewportRowModelBufferSize(),i=this.getViewportRowModelPageSize(),a=e+t,n=Math.ceil(a/i)*i,r=this.rowCount-1;return Math.min(n,r)}onViewportChanged(e){const t=this.calculateFirstRow(e.firstRow),i=this.calculateLastRow(e.lastRow);this.firstRow===t&&this.lastRow===i||(this.firstRow=t,this.lastRow=i,this.purgeRowsNotInViewport(),this.viewportDatasource&&this.viewportDatasource.setViewportRange(this.firstRow,this.lastRow))}purgeRowsNotInViewport(){Object.keys(this.rowNodesByIndex).forEach((e=>{const t=parseInt(e,10);if(t<this.firstRow||t>this.lastRow){if(this.isRowFocused(t))return;delete this.rowNodesByIndex[t]}}))}isRowFocused(e){const t=this.focusService.getFocusCellToUseAfterRefresh();if(!t)return!1;if(null!=t.rowPinned)return!1;return t.rowIndex===e}setViewportDatasource(e){this.destroyDatasource(),this.viewportDatasource=e,this.rowCount=-1,e.init?e.init({setRowCount:this.setRowCount.bind(this),setRowData:this.setRowData.bind(this),getRow:this.getRow.bind(this)}):(0,h._warnOnce)("viewport is missing init method.")}getType(){return"viewport"}getRow(e){return this.rowNodesByIndex[e]||(this.rowNodesByIndex[e]=this.createBlankRowNode(e)),this.rowNodesByIndex[e]}getRowNode(e){let t;return this.forEachNode((i=>{i.id===e&&(t=i)})),t}getRowCount(){return-1===this.rowCount?0:this.rowCount}getRowIndexAtPixel(e){return 0!==this.rowHeight?Math.floor(e/this.rowHeight):0}getRowBounds(e){return{rowHeight:this.rowHeight,rowTop:this.rowHeight*e}}updateRowHeights(){this.forEachNode((e=>{e.setRowHeight(this.rowHeight),e.setRowTop(this.rowHeight*e.rowIndex)}));this.eventService.dispatchEvent({type:"modelUpdated",newData:!1,newPage:!1,keepRenderedRows:!0,animate:!1})}getTopLevelRowCount(){return this.getRowCount()}getTopLevelRowDisplayedIndex(e){return e}isEmpty(){return this.rowCount>0}isRowsToRender(){return this.rowCount>0}getNodesInRangeForSelection(e,t){const i=e.rowIndex,a=t.rowIndex,n=i<this.firstRow||i>this.lastRow,r=a<this.firstRow||a>this.lastRow;if(n||r)return[];const o=[],s=i<=a?a:i;for(let e=i<=a?i:a;e<=s;e++)o.push(this.rowNodesByIndex[e]);return o}forEachNode(e){let t=0;Object.keys(this.rowNodesByIndex).forEach((i=>{const a=parseInt(i,10),n=this.rowNodesByIndex[a];e(n,t),t++}))}setRowData(e){(0,h._iterateObject)(e,((e,t)=>{const i=parseInt(e,10);if(i>=this.firstRow&&i<=this.lastRow){let e=this.rowNodesByIndex[i];(0,h._missing)(e)&&(e=this.createBlankRowNode(i),this.rowNodesByIndex[i]=e),e.setDataAndId(t,i.toString())}}))}createBlankRowNode(e){const t=new h.RowNode(this.beans);return t.setRowHeight(this.rowHeight),t.setRowTop(this.rowHeight*e),t.setRowIndex(e),t}setRowCount(e,t=!1){if(e===this.rowCount)return;this.rowCount=e,this.eventService.dispatchEventOnce({type:"rowCountReady"});const i={type:"modelUpdated",newData:!1,newPage:!1,keepRenderedRows:t,animate:!1};this.eventService.dispatchEvent(i)}isRowPresent(e){return!!this.getRowNode(e.id)}},g={version:"32.0.2",moduleName:c.ModuleNames.ViewportRowModelModule,rowModel:"viewport",beans:[u],dependantModules:[d.EnterpriseCoreModule]}},4933:function(e,t,i){"use strict";var a,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,l=(e,t)=>{for(var i in t)n(e,i,{get:t[i],enumerable:!0})},c=(e,t,i,a)=>{for(var o,s=a>1?void 0:a?r(t,i):t,l=e.length-1;l>=0;l--)(o=e[l])&&(s=(a?o(t,i,s):o(s))||s);return a&&s&&n(t,i,s),s},d={};l(d,{AG_CHARTS_LOCALE_EN_US:()=>h,AgCharts:()=>Tf,AgErrorBarSupportedSeriesTypes:()=>u,AgTooltipPositionType:()=>g,Marker:()=>nd,VERSION:()=>es,_ModuleSupport:()=>$f,_Scale:()=>_f,_Scene:()=>If,_Theme:()=>Hf,_Util:()=>qf,time:()=>p}),e.exports=(a=d,((e,t,i,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of o(t))s.call(e,l)||l===i||n(e,l,{get:()=>t[l],enumerable:!(a=r(t,l))||a.enumerable});return e})(n({},"__esModule",{value:!0}),a));var h={ariaAnnounceVisible:"visible",ariaAnnounceHidden:"hidden",ariaAnnounceHoverDatum:"${datum}",ariaAnnounceChart:"chart, ${seriesCount}[number] series, ${caption}",ariaAnnounceHierarchyDatum:"level ${level}[number], ${count}[number] children, ${description}",ariaAnnounceFlowProportionLink:"link ${index} of ${count}, from ${from} to ${to}, ${sizeName} ${size}",ariaAnnounceFlowProportionNode:"node ${index} of ${count}, ${description}",ariaLabelAnnotationsToolbar:"Annotations",ariaLabelAnnotationOptionsToolbar:"Annotation Options",ariaLabelLegend:"Legend",ariaLabelLegendPagination:"Legend Pagination",ariaLabelLegendPagePrevious:"Previous Legend Page",ariaLabelLegendPageNext:"Next Legend Page",ariaLabelLegendItem:"${label}, Legend item ${index}[number] of ${count}[number], ",ariaLabelLegendItemUnknown:"Unknown legend item",ariaLabelNavigator:"Navigator",ariaLabelNavigatorRange:"Range",ariaLabelNavigatorMinimum:"Minimum",ariaLabelNavigatorMaximum:"Maximum",ariaLabelRangesToolbar:"Ranges",ariaLabelZoomToolbar:"Zoom",ariaValuePanRange:"${min}[percent] to ${max}[percent]",overlayLoadingData:"Loading data...",overlayNoData:"No data to display",overlayNoVisibleSeries:"No visible series",toolbarAnnotationsTrendLine:"Trend line",toolbarAnnotationsHorizontalLine:"Horizontal line",toolbarAnnotationsVerticalLine:"Vertical line",toolbarAnnotationsParallelChannel:"Parallel channel",toolbarAnnotationsDisjointChannel:"Disjoint channel",toolbarAnnotationsClearAll:"Clear all annotations",toolbarAnnotationsColor:"Pick annotation color",toolbarAnnotationsLock:"Lock annotation",toolbarAnnotationsUnlock:"Unlock annotation",toolbarAnnotationsDelete:"Delete annotation",toolbarRange1Month:"1m",toolbarRange1MonthAria:"1 month",toolbarRange3Months:"3m",toolbarRange3MonthsAria:"3 months",toolbarRange6Months:"6m",toolbarRange6MonthsAria:"6 months",toolbarRangeYearToDate:"YTD",toolbarRangeYearToDateAria:"Year to date",toolbarRange1Year:"1y",toolbarRange1YearAria:"1 year",toolbarRangeAll:"All",toolbarRangeAllAria:"All",toolbarZoomZoomOut:"Zoom out",toolbarZoomZoomIn:"Zoom in",toolbarZoomPanLeft:"Pan left",toolbarZoomPanRight:"Pan right",toolbarZoomPanStart:"Pan to the start",toolbarZoomPanEnd:"Pan to the end",toolbarZoomReset:"Reset the zoom",contextMenuDownload:"Download",contextMenuToggleSeriesVisibility:"Toggle Visibility",contextMenuToggleOtherSeries:"Toggle Other Series",contextMenuZoomToCursor:"Zoom to here",contextMenuPanToCursor:"Pan to here"},u=["bar","line","scatter"];var g=(e=>(e.POINTER="pointer",e.NODE="node",e.TOP="top",e.RIGHT="right",e.BOTTOM="bottom",e.LEFT="left",e.TOP_LEFT="top-left",e.TOP_RIGHT="top-right",e.BOTTOM_RIGHT="bottom-right",e.BOTTOM_LEFT="bottom-left",e))(g||{});var p={};l(p,{TimeInterval:()=>w,day:()=>H,friday:()=>$,hour:()=>B,millisecond:()=>x,minute:()=>O,monday:()=>U,month:()=>Q,saturday:()=>Z,second:()=>I,sunday:()=>q,thursday:()=>Y,tuesday:()=>K,utcDay:()=>ne,utcHour:()=>ae,utcMinute:()=>ie,utcMonth:()=>re,utcYear:()=>oe,wednesday:()=>j,year:()=>ee});var m=new Map;function f(e,t){m.has(t)||(m.set(t,!0),e())}function v(e){return e}function*y(...e){for(const t of e)yield*t}function b(e,t=0,i){const{leading:a=!0,trailing:n=!0}=i??{};let r,o,s=!1;function l(){n&&o?(r=setTimeout(l,t),e(...o)):s=!1,o=null}return Object.assign((function(...i){s?o=i:(s=!0,r=setTimeout(l,t),a?e(...i):o=i)}),{cancel(){clearTimeout(r),s=!1,o=null}})}f.clear=()=>m.clear();var C={log(...e){console.log(...e)},warn(e,...t){console.warn(`AG Charts - ${e}`,...t)},error(e,...t){"object"==typeof e?console.error("AG Charts error",e,...t):console.error(`AG Charts - ${e}`,...t)},table(...e){console.table(...e)},warnOnce(e,...t){f((()=>C.warn(e,...t)),`Logger.warn: ${e}`)},errorOnce(e,...t){f((()=>C.error(e,...t)),`Logger.error: ${e}`)}},w=class{constructor(e,t,i){this._encode=e,this._decode=t,this._rangeCallback=i}floor(e){const t=new Date(e),i=this._encode(t);return this._decode(i)}ceil(e){const t=new Date(Number(e)-1),i=this._encode(t);return this._decode(i+1)}range(e,t,i){const a=this._rangeCallback?.(e,t),n=this._encode(i?this.floor(e):this.ceil(e)),r=this._encode(i?this.ceil(t):this.floor(t));if(r<n)return[];const o=[];for(let e=n;e<=r;e++){const t=this._decode(e);o.push(t)}return a?.(),o}},S=class extends w{getOffset(e,t){const i="number"==typeof e||e instanceof Date?this._encode(new Date(e)):0;return Math.floor(i)%t}every(e,t){let i,a=0;const n=e;n!==(e=Math.max(1,Math.round(e)))&&C.warnOnce(`interval step of [${n}] rounded to [${e}].`);const{snapTo:r="start"}=t??{};if("string"==typeof r){const t=a;i=(i,n)=>{const o="start"===r?i:n;return a=this.getOffset(o,e),()=>a=t}}else"number"==typeof r?a=this.getOffset(new Date(r),e):r instanceof Date&&(a=this.getOffset(r,e));return new w((t=>{const i=this._encode(t);return Math.floor((i-a)/e)}),(t=>this._decode(t*e+a)),i)}};var x=new S((function(e){return e.getTime()}),(function(e){return new Date(e)})),k=x,M=(new Date(0).getFullYear(),1e3),R=60*M,D=60*R,A=24*D,E=7*A,T=30*A,P=365*A,F=(new Date).getTimezoneOffset()*R;var I=new S((function(e){return Math.floor((e.getTime()-F)/M)}),(function(e){return new Date(F+e*M)})),L=I,N=(new Date).getTimezoneOffset()*R;var O=new S((function(e){return Math.floor((e.getTime()-N)/R)}),(function(e){return new Date(N+e*R)})),z=O,G=(new Date).getTimezoneOffset()*R;var B=new S((function(e){return Math.floor((e.getTime()-G)/D)}),(function(e){return new Date(G+e*D)})),V=B;var H=new S((function(e){const t=e.getTimezoneOffset()*R;return Math.floor((e.getTime()-t)/A)}),(function(e){const t=new Date(1970,0,1);return t.setDate(t.getDate()+e),t})),W=H;function _(e){const t=(7+e-4)%7;return new S((function(e){const i=e.getTimezoneOffset()*R;return Math.floor((e.getTime()-i)/E-t/7)}),(function(e){const i=new Date(1970,0,1);return i.setDate(i.getDate()+7*e+t),i}))}var q=_(0),U=_(1),K=_(2),j=_(3),Y=_(4),$=_(5),Z=_(6),X=q;var Q=new S((function(e){return 12*e.getFullYear()+e.getMonth()}),(function(e){const t=Math.floor(e/12);return new Date(t,e-12*t,1)})),J=Q;var ee=new S((function(e){return e.getFullYear()}),(function(e){const t=new Date;return t.setFullYear(e),t.setMonth(0,1),t.setHours(0,0,0,0),t})),te=ee;var ie=new S((function(e){return Math.floor(e.getTime()/R)}),(function(e){return new Date(e*R)}));var ae=new S((function(e){return Math.floor(e.getTime()/D)}),(function(e){return new Date(e*D)}));var ne=new S((function(e){return Math.floor(e.getTime()/A)}),(function(e){const t=new Date(0);return t.setUTCDate(t.getUTCDate()+e),t.setUTCHours(0,0,0,0),t}));var re=new S((function(e){return 12*e.getUTCFullYear()+e.getUTCMonth()}),(function(e){const t=Math.floor(e/12),i=e-12*t;return new Date(Date.UTC(t,i,1))}));var oe=new S((function(e){return e.getUTCFullYear()}),(function(e){const t=new Date;return t.setUTCFullYear(e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0),t})),se={};l(se,{NODE_UPDATE_STATE_TO_PHASE_MAPPING:()=>Xt,fromToMotion:()=>Qt,staticFromToMotion:()=>Jt});var le=new Map;function ce(){le.clear()}function de(e){const t=e.constructor,i=Object.hasOwn(t,"className")?t.className:t.name;if(!i)throw new Error(`The ${t} is missing the 'className' property.`);const a=(le.get(i)??0)+1;return le.set(i,a),`${i}-${a}`}function he(){return URL.createObjectURL(new Blob).split("/").at(-1)}var ue="$interpolate",ge=e=>null!=e[ue];function pe(e,t,i,a=1/0){const n={nearest:void 0,distanceSquared:a};for(const a of i){const i=a.distanceSquared(e,t);if(0===i)return{nearest:a,distanceSquared:0};i<n.distanceSquared&&(n.nearest=a,n.distanceSquared=i)}return n}function me(e,t,i,a=1/0){const{x:n,y:r}=i.transformPoint(e,t),o={nearest:void 0,distanceSquared:a};for(const e of i.children){const{nearest:t,distanceSquared:i}=e.nearestSquared(n,r,o.distanceSquared);if(0===i)return{nearest:t,distanceSquared:i};i<o.distanceSquared&&(o.nearest=t,o.distanceSquared=i)}return o}function fe(e,t,i){return Math.min(i,Math.max(e,t))}function ve(e,t){const[i,a]=ye(t);return fe(i,e,a)}function ye(e){return e.length?[Math.min(...e),Math.max(...e)]:[]}function be(e){const[t,i]=ye(e);return i-t}function Ce(e,t,i=1e-10){return Math.abs(e-t)<i}function we(e){return-1===Math.sign(e)||Object.is(e,-0)}function Se(e,t=2){const i=10**t;return Math.round(e*i)/i}function xe(e,t=2){const i=Math.floor(Math.log(Math.abs(e))/Math.LN10);return i>=0||!isFinite(i)?e.toFixed(t):e.toFixed(Math.abs(i)-1+t)}function ke(e,t){return Math.floor(e%t+(e<0?t:0))}function Me(e,t=10){const[,i=""]=(Math.abs(e)%1).toLocaleString("en-GB",{minimumFractionDigits:0,maximumFractionDigits:t}).split(".");return i.length}function Re(e,t){return t=t??navigator.language,new Intl.NumberFormat(t,{style:"percent"}).format(e)}function De(e,t){return Re(e/100,t)}var Ae=class e{constructor(e,t,i,a){this.x=e,this.y=t,this.width=i,this.height=a}static fromDOMRect({x:t,y:i,width:a,height:n}){return new e(t,i,a,n)}clone(){const{x:t,y:i,width:a,height:n}=this;return new e(t,i,a,n)}equals(e){return this.x===e.x&&this.y===e.y&&this.width===e.width&&this.height===e.height}containsPoint(e,t){return e>=this.x&&e<=this.x+this.width&&t>=this.y&&t<=this.y+this.height}collidesBBox(e){return this.x<e.x+e.width&&this.x+this.width>e.x&&this.y<e.y+e.height&&this.y+this.height>e.y}computeCenter(){return{x:this.x+this.width/2,y:this.y+this.height/2}}isFinite(){return Number.isFinite(this.x)&&Number.isFinite(this.y)&&Number.isFinite(this.width)&&Number.isFinite(this.height)}distanceSquared(e,t){if(this.containsPoint(e,t))return 0;const i=e-fe(this.x,e,this.x+this.width),a=t-fe(this.y,t,this.y+this.height);return i*i+a*a}static nearestBox(e,t,i){return pe(e,t,i)}clip(e){if(void 0===e)return this;const t=Math.max(this.x,e.x),i=Math.max(this.y,e.y),a=Math.min(this.x+this.width,e.x+e.width),n=Math.min(this.y+this.height,e.y+e.height);return this.x=t,this.y=i,this.width=Math.max(0,a-t),this.height=Math.max(0,n-i),this}shrink(e,t){const i=(e,t)=>{switch(e){case"top":this.y+=t;case"bottom":this.height-=t;break;case"left":this.x+=t;case"right":this.width-=t;break;case"vertical":this.y+=t,this.height-=2*t;break;case"horizontal":this.x+=t,this.width-=2*t;break;case void 0:this.x+=t,this.width-=2*t,this.y+=t,this.height-=2*t}};return"number"==typeof e?i(t,e):"object"==typeof e&&Object.entries(e).forEach((([e,t])=>i(e,t))),this}grow(e,t){if("number"==typeof e)this.shrink(-e,t);else{const t={...e};for(const e in t)t[e]*=-1;this.shrink(t)}return this}translate(e,t){return this.x+=e,this.y+=t,this}combine(e){const{x:t,y:i,width:a,height:n}=this;this.x=Math.min(t,e.x),this.y=Math.min(i,e.y),this.width=Math.max(t+a,e.x+e.width)-this.x,this.height=Math.max(i+n,e.y+e.height)-this.y}static merge(t){let i=1/0,a=1/0,n=-1/0,r=-1/0;for(const e of t)e.x<i&&(i=e.x),e.y<a&&(a=e.y),e.x+e.width>n&&(n=e.x+e.width),e.y+e.height>r&&(r=e.y+e.height);return new e(i,a,n-i,r-a)}[ue](t,i){return new e(this.x*(1-i)+t.x*i,this.y*(1-i)+t.y*i,this.width*(1-i)+t.width*i,this.height*(1-i)+t.height*i)}};Ae.zero=new Ae(0,0,0,0),Ae.NaN=new Ae(NaN,NaN,NaN,NaN);var Ee=Ae,Te=(e=>(e[e.NONE=0]="NONE",e[e.TRIVIAL=1]="TRIVIAL",e[e.MINOR=2]="MINOR",e[e.MAJOR=3]="MAJOR",e))(Te||{});function Pe(e){return function(t,i){const a=`__${i}`;t[i]||function(e,t,i,a){const{redraw:n=1,type:r="normal",changeCb:o,convertor:s,checkDirtyOnAssignment:l=!1}=a??{},c={redraw:n,type:r,changeCb:o,checkDirtyOnAssignment:l,convertor:s};let d;switch(r){case"normal":d=function(e,t){const{redraw:i=1,changeCb:a}=t;return function(t){return t!==this[e]?(this[e]=t,this.markDirty(this,i),a?.(this),t):Fe}}(i,c);break;case"transform":d=function(e,t){const{redraw:i=1}=t;return function(t){return t!==this[e]?(this[e]=t,this.markDirtyTransform(i),t):Fe}}(i,c);break;case"path":d=function(e,t){const{redraw:i=1}=t;return function(t){return t!==this[e]?(this[e]=t,this._dirtyPath||(this._dirtyPath=!0,this.markDirty(this,i)),t):Fe}}(i,c);break;case"font":d=function(e,t){const{redraw:i=1}=t;return function(t){return t!==this[e]?(this[e]=t,this._dirtyFont||(this._dirtyFont=!0,this.markDirty(this,i)),t):Fe}}(i,c)}d=function(e,t){const{checkDirtyOnAssignment:i}=t;if(i)return function(t){const i=e.call(this,t);return i!==Fe&&null!=t&&t._dirty>0&&this.markDirty(t,t._dirty),i};return e}(function(e,t){const{changeCb:i}=t;if(i)return function(t){const a=e.call(this,t);return a!==Fe&&i.call(this,this),a};return e}(function(e,t){const{convertor:i}=t;if(i)return function(t){e.call(this,i(t))};return e}(d,c),c),c);const h=function(){return this[i]};Object.defineProperty(e,t,{set:d,get:h,enumerable:!0,configurable:!0})}(t,i,a,e)}}var Fe=Symbol("no-change");var Ie=class{constructor(){this._dirty=3}markDirty(e,t=1){this._dirty<t&&(this._dirty=t)}markClean(e){this._dirty=0}isDirty(){return this._dirty>0}},Le=class e{get e(){return[...this.elements]}constructor(e=[1,0,0,1,0,0]){this.elements=e}setElements(e){const t=this.elements;return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],this}get identity(){const e=this.elements;return 1===e[0]&&0===e[1]&&0===e[2]&&1===e[3]&&0===e[4]&&0===e[5]}AxB(e,t,i){const a=e[0]*t[0]+e[2]*t[1],n=e[1]*t[0]+e[3]*t[1],r=e[0]*t[2]+e[2]*t[3],o=e[1]*t[2]+e[3]*t[3],s=e[0]*t[4]+e[2]*t[5]+e[4],l=e[1]*t[4]+e[3]*t[5]+e[5];(i=i??e)[0]=a,i[1]=n,i[2]=r,i[3]=o,i[4]=s,i[5]=l}multiplySelf(e){return this.AxB(this.elements,e.elements),this}multiply(t){const i=new Array(6);return this.AxB(this.elements,t.elements,i),new e(i)}preMultiplySelf(e){return this.AxB(e.elements,this.elements,this.elements),this}inverse(){const t=this.elements;let i=t[0],a=t[1],n=t[2],r=t[3];const o=t[4],s=t[5],l=1/(i*r-a*n);return i*=l,a*=l,n*=l,r*=l,new e([r,-a,-n,i,n*s-r*o,a*o-i*s])}inverseTo(e){const t=this.elements;let i=t[0],a=t[1],n=t[2],r=t[3];const o=t[4],s=t[5],l=1/(i*r-a*n);return i*=l,a*=l,n*=l,r*=l,e.setElements([r,-a,-n,i,n*s-r*o,a*o-i*s]),this}invertSelf(){const e=this.elements;let t=e[0],i=e[1],a=e[2],n=e[3];const r=e[4],o=e[5],s=1/(t*n-i*a);return t*=s,i*=s,a*=s,n*=s,e[0]=n,e[1]=-i,e[2]=-a,e[3]=t,e[4]=a*o-n*r,e[5]=i*r-t*o,this}transformPoint(e,t){const i=this.elements;return{x:e*i[0]+t*i[2]+i[4],y:e*i[1]+t*i[3]+i[5]}}transformBBox(e,t){const i=this.elements,a=i[0],n=i[1],r=i[2],o=i[3],s=.5*e.width,l=.5*e.height,c=e.x+s,d=e.y+l,h=Math.abs(s*a)+Math.abs(l*r),u=Math.abs(s*n)+Math.abs(l*o);return t||(t=new Ee(0,0,0,0)),t.x=c*a+d*r+i[4]-h,t.y=c*n+d*o+i[5]-u,t.width=h+h,t.height=u+u,t}toContext(e){if(this.identity)return;const t=this.elements;e.transform(t[0],t[1],t[2],t[3],t[4],t[5])}static flyweight(t){return e.instance.setElements(t.elements)}static updateTransformMatrix(e,t,i,a,n,r,o){const[s,l]=[0,0],c=t,d=i;let h,u;1===c&&1===d?(h=0,u=0):(h=null==o?.scalingCenterX?s:o?.scalingCenterX,u=null==o?.scalingCenterY?l:o?.scalingCenterY);const g=a,p=Math.cos(g),m=Math.sin(g);let f,v;0===g?(f=0,v=0):(f=null==o?.rotationCenterX?s:o?.rotationCenterX,v=null==o?.rotationCenterY?l:o?.rotationCenterY);const y=n,b=r,C=h*(1-c)-f,w=u*(1-d)-v;return e.setElements([p*c,m*c,-m*d,p*d,p*C-m*w+f+y,m*C+p*w+v+b]),e}static fromContext(t){const i=t.getTransform();return new e([i.a,i.b,i.c,i.d,i.e,i.f])}};Le.instance=new Le;var Ne=Le,Oe=(e=>(e[e.All=0]="All",e[e.None=1]="None",e))(Oe||{}),ze=class e extends Ie{constructor({isVirtual:t,tag:i,zIndex:a}={}){super(),this.serialNumber=e._nextSerialNumber++,this.id=de(this),this.isContainerNode=!1,this._virtualChildren=[],this._children=[],this.childSet={},this.matrix=new Ne,this.dirtyTransform=!1,this.scalingX=1,this.scalingY=1,this.scalingCenterX=null,this.scalingCenterY=null,this.rotationCenterX=null,this.rotationCenterY=null,this.rotation=0,this.translationX=0,this.translationY=0,this._childNodeCounts={groups:0,nonGroups:0},this.visible=!0,this.dirtyZIndex=!1,this.zIndex=0,this.zIndexSubOrder=void 0,this.pointerEvents=0,this.isVirtual=t??!1,this.tag=i??NaN,this.zIndex=a??0}get datum(){return this._datum??this._parent?.datum}get previousDatum(){return this._previousDatum}set datum(e){this._datum!==e&&(this._previousDatum=this._datum),this._datum=e}_setLayerManager(e){this._layerManager=e,this._debug=e?.debug;for(const t of this._children)t._setLayerManager(e);for(const t of this._virtualChildren)t._setLayerManager(e)}get layerManager(){return this._layerManager}*ancestors(){let e=this;for(;e=e.parent;)yield e}*traverseUp(){yield this,yield*this.ancestors()}get parent(){return this._parent}get children(){return this._virtualChildren.length?this._children.concat(this._virtualChildren.flatMap((e=>e.children))):this._children}get virtualChildren(){return this._virtualChildren}hasVirtualChildren(){return this._virtualChildren.length>0}setProperties(e,t){const i=t??Object.keys(e);for(const t of i)this[t]=e[t];return this}append(e){Array.isArray(e)||(e=[e]);for(const t of e){if(t.parent)throw new Error(`${t} already belongs to another parent: ${t.parent}.`);if(t.layerManager)throw new Error(`${t} already belongs to a scene: ${t.layerManager}.`);if(this.childSet[t.id])throw new Error(`Duplicate ${t.constructor.name} node: ${t}`);t.isVirtual?this._virtualChildren.push(t):this._children.push(t),this.childSet[t.id]=!0,t._parent=this,t._setLayerManager(this.layerManager)}this.dirtyZIndex=!0,this.markDirty(this,3)}appendChild(e){return this.append(e),e}removeChild(e){const t=()=>{throw new Error("The node to be removed is not a child of this node.")};if(e.parent!==this&&t(),e.isVirtual){const i=this._virtualChildren.indexOf(e);i<0&&t(),this._virtualChildren.splice(i,1)}else{const i=this._children.indexOf(e);i<0&&t(),this._children.splice(i,1)}return delete this.childSet[e.id],e._parent=void 0,e._setLayerManager(),this.dirtyZIndex=!0,this.markDirty(e,3),e}calculateCumulativeMatrix(){this.computeTransformMatrix();const e=Ne.flyweight(this.matrix);for(const t of this.ancestors())t.computeTransformMatrix(),e.preMultiplySelf(t.matrix);return e}transformPoint(e,t){return this.calculateCumulativeMatrix().invertSelf().transformPoint(e,t)}inverseTransformPoint(e,t){return this.calculateCumulativeMatrix().transformPoint(e,t)}transformBBox(e){return this.calculateCumulativeMatrix().invertSelf().transformBBox(e)}inverseTransformBBox(e){return this.calculateCumulativeMatrix().transformBBox(e)}markDirtyTransform(){this.dirtyTransform=!0,this.markDirty(this,3)}destroy(){this.parent?.removeChild(this)}containsPoint(e,t){return!1}pickNode(e,t){if(!this.visible||1===this.pointerEvents||!this.containsPoint(e,t))return;const{children:i}=this;if(i.length>1e3)for(let a=i.length-1;a>=0;a--){const n=i[a],r=n.computeTransformedBBox()?.containsPoint(e,t),o=r?n.pickNode(e,t):void 0;if(o)return o}else if(i.length)for(let a=i.length-1;a>=0;a--){const n=i[a].pickNode(e,t);if(n)return n}else if(!this.isContainerNode)return this}getCachedBBox(){return this.cachedBBox??Ee.zero}computeBBox(){}computeTransformedBBox(){const e=this.computeBBox();if(!e)return;this.computeTransformMatrix();const t=Ne.flyweight(this.matrix);for(const e of this.ancestors())e.computeTransformMatrix(),t.preMultiplySelf(e.matrix);return t.transformBBox(e,e),e}computeTransformMatrix(){if(!this.dirtyTransform)return;const{matrix:e,scalingX:t,scalingY:i,rotation:a,translationX:n,translationY:r,scalingCenterX:o,scalingCenterY:s,rotationCenterX:l,rotationCenterY:c}=this;Ne.updateTransformMatrix(e,t,i,a,n,r,{scalingCenterX:o,scalingCenterY:s,rotationCenterX:l,rotationCenterY:c}),this.dirtyTransform=!1}preRender(){this._childNodeCounts.groups=0,this._childNodeCounts.nonGroups=1;for(const e of this.children){const t=e.preRender();this._childNodeCounts.groups+=t.groups,this._childNodeCounts.nonGroups+=t.nonGroups}return this._childNodeCounts}render(e){const{stats:t}=e;this._dirty=0,this.cachedBBox=this.computeBBox(),t&&t.nodesRendered++}markDirty(e,t=1,i=t){this._dirty>t||this._dirty===t&&t===i||(this._dirty=t,this.parent?this.parent.markDirty(this,i):this.layerManager&&this.layerManager.markDirty())}get dirty(){return this._dirty}markClean(e){const{force:t=!1,recursive:i=!0}=e??{};if(0!==this._dirty||t){if(this._dirty=0,!1!==i)for(const e of this._virtualChildren)e.markClean({force:t});if(!0===i)for(const e of this._children)e.markClean({force:t})}}onVisibleChange(){}get nodeCount(){let e=1,t=this._dirty>=0||this.dirtyTransform?1:0,i=this.visible?1:0;const a=a=>{const{count:n,visibleCount:r,dirtyCount:o}=a.nodeCount;e+=n,i+=r,t+=o};for(const e of this._children)a(e);for(const e of this._virtualChildren)a(e);return{count:e,visibleCount:i,dirtyCount:t}}onZIndexChange(){this.parent&&(this.parent.dirtyZIndex=!0)}};ze._nextSerialNumber=0,c([Pe({type:"transform"})],ze.prototype,"scalingX",2),c([Pe({type:"transform"})],ze.prototype,"scalingY",2),c([Pe({type:"transform"})],ze.prototype,"scalingCenterX",2),c([Pe({type:"transform"})],ze.prototype,"scalingCenterY",2),c([Pe({type:"transform"})],ze.prototype,"rotationCenterX",2),c([Pe({type:"transform"})],ze.prototype,"rotationCenterY",2),c([Pe({type:"transform"})],ze.prototype,"rotation",2),c([Pe({type:"transform"})],ze.prototype,"translationX",2),c([Pe({type:"transform"})],ze.prototype,"translationY",2),c([Pe({redraw:3,changeCb:e=>e.onVisibleChange()})],ze.prototype,"visible",2),c([Pe({redraw:1,changeCb:e=>e.onZIndexChange()})],ze.prototype,"zIndex",2),c([Pe({redraw:1,changeCb:e=>e.onZIndexChange()})],ze.prototype,"zIndexSubOrder",2);var Ge=ze,Be=(e,t,i)=>e*(1-i)+t*i,Ve=e=>{const t=e<0?-1:1,i=Math.abs(e);return i<=.04045?e/12.92:t*((i+.055)/1.055)**2.4},He=e=>{const t=e<0?-1:1,i=Math.abs(e);return i>.0031308?t*(1.055*i**(1/2.4)-.055):12.92*e},We=class e{constructor(e,t,i,a=1){this.r=fe(0,e||0,1),this.g=fe(0,t||0,1),this.b=fe(0,i||0,1),this.a=fe(0,a||0,1)}static validColorString(t){return t.indexOf("#")>=0?!!e.parseHex(t):t.indexOf("rgb")>=0?!!e.stringToRgba(t):!!e.nameToHex[t.toLowerCase()]}static fromString(t){if(t.indexOf("#")>=0)return e.fromHexString(t);const i=e.nameToHex[t.toLowerCase()];if(i)return e.fromHexString(i);if(t.indexOf("rgb")>=0)return e.fromRgbaString(t);throw new Error(`Invalid color string: '${t}'`)}static parseHex(e){let t;switch((e=e.replace(/ /g,"").slice(1)).length){case 6:case 8:t=[];for(let i=0;i<e.length;i+=2)t.push(parseInt(`${e[i]}${e[i+1]}`,16));break;case 3:case 4:t=e.split("").map((e=>parseInt(e,16))).map((e=>e+16*e))}if(t?.length>=3&&t.every((e=>e>=0)))return 3===t.length&&t.push(255),t}static fromHexString(t){const i=e.parseHex(t);if(i){const[t,a,n,r]=i;return new e(t/255,a/255,n/255,r/255)}throw new Error(`Malformed hexadecimal color string: '${t}'`)}static stringToRgba(e){let t=-1,i=-1;for(let a=0;a<e.length;a++){const n=e[a];if(-1===t&&"("===n)t=a;else if(")"===n){i=a;break}}if(-1===t||-1===i)return;const a=e.substring(t+1,i).split(","),n=[];for(let e=0;e<a.length;e++){const t=a[e];let i=parseFloat(t);if(!Number.isFinite(i))return;t.indexOf("%")>=0?(i=fe(0,i,100),i/=100):3===e?i=fe(0,i,1):(i=fe(0,i,255),i/=255),n.push(i)}return n}static fromRgbaString(t){const i=e.stringToRgba(t);if(i){if(3===i.length)return new e(i[0],i[1],i[2]);if(4===i.length)return new e(i[0],i[1],i[2],i[3])}throw new Error(`Malformed rgb/rgba color string: '${t}'`)}static fromArray(t){if(4===t.length)return new e(t[0],t[1],t[2],t[3]);if(3===t.length)return new e(t[0],t[1],t[2]);throw new Error("The given array should contain 3 or 4 color components (numbers).")}static fromHSB(t,i,a,n=1){const r=e.HSBtoRGB(t,i,a);return new e(r[0],r[1],r[2],n)}static fromHSL(t,i,a,n=1){const r=e.HSLtoRGB(t,i,a);return new e(r[0],r[1],r[2],n)}static fromOKLCH(t,i,a,n=1){const r=e.OKLCHtoRGB(t,i,a);return new e(r[0],r[1],r[2],n)}static padHex(e){return 1===e.length?"0"+e:e}toHexString(){let t="#"+e.padHex(Math.round(255*this.r).toString(16))+e.padHex(Math.round(255*this.g).toString(16))+e.padHex(Math.round(255*this.b).toString(16));return this.a<1&&(t+=e.padHex(Math.round(255*this.a).toString(16))),t}toRgbaString(e=3){const t=[Math.round(255*this.r),Math.round(255*this.g),Math.round(255*this.b)],i=Math.pow(10,e);return 1!==this.a?(t.push(Math.round(this.a*i)/i),`rgba(${t.join(", ")})`):`rgb(${t.join(", ")})`}toString(){return 1===this.a?this.toHexString():this.toRgbaString()}toHSB(){return e.RGBtoHSB(this.r,this.g,this.b)}static RGBtoOKLCH(e,t,i){const a=Ve(e),n=Ve(t),r=Ve(i),o=Math.cbrt(.4122214708*a+.5363325363*n+.0514459929*r),s=Math.cbrt(.2119034982*a+.6806995451*n+.1073969566*r),l=Math.cbrt(.0883024619*a+.2817188376*n+.6299787005*r),c=.2104542553*o+.793617785*s-.0040720468*l,d=1.9779984951*o-2.428592205*s+.4505937099*l,h=.0259040371*o+.7827717662*s-.808675766*l,u=180*Math.atan2(h,d)/Math.PI;return[c,Math.hypot(d,h),u>=0?u:u+360]}static OKLCHtoRGB(e,t,i){const a=e,n=t*Math.cos(i*Math.PI/180),r=t*Math.sin(i*Math.PI/180),o=(a+.3963377774*n+.2158037573*r)**3,s=(a-.1055613458*n-.0638541728*r)**3,l=(a-.0894841775*n-1.291485548*r)**3,c=-1.2684380046*o+2.6097574011*s-.3413193965*l,d=-.0041960863*o-.7034186147*s+1.707614701*l;return[He(4.0767416621*o-3.3077115913*s+.2309699292*l),He(c),He(d)]}static RGBtoHSL(e,t,i){const a=Math.min(e,t,i),n=Math.max(e,t,i),r=(n+a)/2;let o,s;if(n===a)o=0,s=0;else{const l=n-a;s=r>.5?l/(2-n-a):l/(n+a),o=n===e?(t-i)/l+(t<i?6:0):n===t?(i-e)/l+2:(e-t)/l+4,o*=60}return[o,s,r]}static HSLtoRGB(e,t,i){if(0===t)return[i,i,i];const a=i<.5?i*(1+t):i+t-i*t,n=2*i-a;function r(e){return e<0&&(e+=1),e>1&&(e-=1),e<1/6?n+6*(a-n)*e:e<.5?a:e<2/3?n+(a-n)*(2/3-e)*6:n}return[r((e=(e%360+360)%360)/360+1/3),r(e/360),r(e/360-1/3)]}static RGBtoHSB(e,t,i){const a=Math.min(e,t,i),n=Math.max(e,t,i);let r=0;if(a!==n){const o=n-a,s=(n-e)/o,l=(n-t)/o,c=(n-i)/o;r=e===n?c-l:t===n?2+s-c:4+l-s,r/=6,r<0&&(r+=1)}return[360*r,0===n?0:(n-a)/n,n]}static HSBtoRGB(e,t,i){e=(e%360+360)%360/360;let a=0,n=0,r=0;if(0===t)a=n=r=i;else{const o=6*(e-Math.floor(e)),s=o-Math.floor(o),l=i*(1-t),c=i*(1-t*s),d=i*(1-t*(1-s));switch(o|0){case 0:a=i,n=d,r=l;break;case 1:a=c,n=i,r=l;break;case 2:a=l,n=i,r=d;break;case 3:a=l,n=c,r=i;break;case 4:a=d,n=l,r=i;break;case 5:a=i,n=l,r=c}}return[a,n,r]}static mix(t,i,a){return new e(Be(t.r,i.r,a),Be(t.g,i.g,a),Be(t.b,i.b,a),Be(t.a,i.a,a))}};We.nameToHex={__proto__:null,aliceblue:"#F0F8FF",antiquewhite:"#FAEBD7",aqua:"#00FFFF",aquamarine:"#7FFFD4",azure:"#F0FFFF",beige:"#F5F5DC",bisque:"#FFE4C4",black:"#000000",blanchedalmond:"#FFEBCD",blue:"#0000FF",blueviolet:"#8A2BE2",brown:"#A52A2A",burlywood:"#DEB887",cadetblue:"#5F9EA0",chartreuse:"#7FFF00",chocolate:"#D2691E",coral:"#FF7F50",cornflowerblue:"#6495ED",cornsilk:"#FFF8DC",crimson:"#DC143C",cyan:"#00FFFF",darkblue:"#00008B",darkcyan:"#008B8B",darkgoldenrod:"#B8860B",darkgray:"#A9A9A9",darkgreen:"#006400",darkgrey:"#A9A9A9",darkkhaki:"#BDB76B",darkmagenta:"#8B008B",darkolivegreen:"#556B2F",darkorange:"#FF8C00",darkorchid:"#9932CC",darkred:"#8B0000",darksalmon:"#E9967A",darkseagreen:"#8FBC8F",darkslateblue:"#483D8B",darkslategray:"#2F4F4F",darkslategrey:"#2F4F4F",darkturquoise:"#00CED1",darkviolet:"#9400D3",deeppink:"#FF1493",deepskyblue:"#00BFFF",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1E90FF",firebrick:"#B22222",floralwhite:"#FFFAF0",forestgreen:"#228B22",fuchsia:"#FF00FF",gainsboro:"#DCDCDC",ghostwhite:"#F8F8FF",gold:"#FFD700",goldenrod:"#DAA520",gray:"#808080",green:"#008000",greenyellow:"#ADFF2F",grey:"#808080",honeydew:"#F0FFF0",hotpink:"#FF69B4",indianred:"#CD5C5C",indigo:"#4B0082",ivory:"#FFFFF0",khaki:"#F0E68C",lavender:"#E6E6FA",lavenderblush:"#FFF0F5",lawngreen:"#7CFC00",lemonchiffon:"#FFFACD",lightblue:"#ADD8E6",lightcoral:"#F08080",lightcyan:"#E0FFFF",lightgoldenrodyellow:"#FAFAD2",lightgray:"#D3D3D3",lightgreen:"#90EE90",lightgrey:"#D3D3D3",lightpink:"#FFB6C1",lightsalmon:"#FFA07A",lightseagreen:"#20B2AA",lightskyblue:"#87CEFA",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#B0C4DE",lightyellow:"#FFFFE0",lime:"#00FF00",limegreen:"#32CD32",linen:"#FAF0E6",magenta:"#FF00FF",maroon:"#800000",mediumaquamarine:"#66CDAA",mediumblue:"#0000CD",mediumorchid:"#BA55D3",mediumpurple:"#9370DB",mediumseagreen:"#3CB371",mediumslateblue:"#7B68EE",mediumspringgreen:"#00FA9A",mediumturquoise:"#48D1CC",mediumvioletred:"#C71585",midnightblue:"#191970",mintcream:"#F5FFFA",mistyrose:"#FFE4E1",moccasin:"#FFE4B5",navajowhite:"#FFDEAD",navy:"#000080",oldlace:"#FDF5E6",olive:"#808000",olivedrab:"#6B8E23",orange:"#FFA500",orangered:"#FF4500",orchid:"#DA70D6",palegoldenrod:"#EEE8AA",palegreen:"#98FB98",paleturquoise:"#AFEEEE",palevioletred:"#DB7093",papayawhip:"#FFEFD5",peachpuff:"#FFDAB9",peru:"#CD853F",pink:"#FFC0CB",plum:"#DDA0DD",powderblue:"#B0E0E6",purple:"#800080",rebeccapurple:"#663399",red:"#FF0000",rosybrown:"#BC8F8F",royalblue:"#4169E1",saddlebrown:"#8B4513",salmon:"#FA8072",sandybrown:"#F4A460",seagreen:"#2E8B57",seashell:"#FFF5EE",sienna:"#A0522D",silver:"#C0C0C0",skyblue:"#87CEEB",slateblue:"#6A5ACD",slategray:"#708090",slategrey:"#708090",snow:"#FFFAFA",springgreen:"#00FF7F",steelblue:"#4682B4",tan:"#D2B48C",teal:"#008080",thistle:"#D8BFD8",tomato:"#FF6347",transparent:"#00000000",turquoise:"#40E0D0",violet:"#EE82EE",wheat:"#F5DEB3",white:"#FFFFFF",whitesmoke:"#F5F5F5",yellow:"#FFFF00",yellowgreen:"#9ACD32"};var _e=We;function qe(e,t){return i=>Number(e)*(1-i)+Number(t)*i}function Ue(e,t){if("string"==typeof e)try{e=_e.fromString(e)}catch(t){e=_e.fromArray([0,0,0])}if("string"==typeof t)try{t=_e.fromString(t)}catch(e){t=_e.fromArray([0,0,0])}return i=>_e.mix(e,t,i).toRgbaString()}var Ke=Symbol("BREAK"),je="__decorator_config";function Ye(e,t){null==Object.getOwnPropertyDescriptor(e,je)&&Object.defineProperty(e,je,{value:{}});const i=e[je],a=t.toString();if(void 0!==i[a])return i[a];const n=new WeakMap;i[a]={setters:[],getters:[],observers:[],valuesMap:n};const r=Object.getOwnPropertyDescriptor(e,t),o=r?.set,s=r?.get;return Object.defineProperty(e,t,{set:function(e){const{setters:r,observers:l}=i[a];let c;r.some((e=>e.length>2))&&(c=s?s.call(this):n.get(this));for(const i of r)if((e=i(this,t,e,c))===Ke)return;o?o.call(this,e):n.set(this,e);for(const t of l)t(this,e,c)},get:function(){let e=s?s.call(this):n.get(this);for(const n of i[a].getters)if(e=n(this,t,e),e===Ke)return;return e},enumerable:!0,configurable:!1}),i[a]}function $e(e,t,i){return(a,n)=>{const r=Ye(a,n);r.setters.push(e),t&&r.getters.unshift(t),i&&Object.assign(r,i)}}function Ze(e){return void 0!==e&&je in e}function Xe(e){const t=new Set;for(;Ze(e);)t.add(e?.[je]),e=Object.getPrototypeOf(e);return Array.from(t).flatMap((e=>Object.keys(e)))}function Qe(e){return Xe(e).reduce(((t,i)=>(t[i]=e[i]??null,t)),{})}function Je(e){return null!=e}function et(e){return Array.isArray(e)}function tt(e){return"boolean"==typeof e}function it(e){return e instanceof Date}function at(e){return it(e)&&!isNaN(Number(e))}function nt(e){return e instanceof RegExp}function rt(e){return"function"==typeof e}function ot(e){return"object"==typeof e&&null!==e&&!et(e)}function st(e){return et(e)||lt(e)}function lt(e){return"object"==typeof e&&null!==e&&e.constructor===Object}function ct(e){return"string"==typeof e}function dt(e){return"number"==typeof e}function ht(e){return dt(e)&&Number.isFinite(e)}function ut(e){return"undefined"!=typeof window&&e instanceof HTMLElement}function gt(e,t){return ct(t)&&Object.keys(e).includes(t)}function pt(e,t){return Object.values(e).includes(t)}function mt(e){return"symbol"==typeof e}function ft(...e){return vt(...e.reverse())}function vt(...e){const t={};for(const i of e){if(!ot(i))continue;const e=Ze(i)?Xe(i):Object.keys(i);for(const a of e)lt(t[a])&&lt(i[a])?t[a]=vt(t[a],i[a]):t[a]??(t[a]=i[a])}return t}function yt(e,...t){return t&&et(e)?e.map((e=>vt(e,...t))):e}function bt(e,t){return Object.entries(e).reduce(((i,[a,n])=>(i[a]=t(n,a,e),i)),{})}function Ct(e,t){const i={...e};for(const e of t)delete i[e];return i}function wt(e,t){return(et(t)?t:t.split(".")).reduce(((e,t)=>e[t]),e)}var St=new Set(["__proto__","constructor","prototype"]);function xt(e,t,i){const a=et(t)?t.slice():t.split("."),n=a.pop();if(a.some((e=>St.has(e))))return;const r=a.reduce(((e,t)=>e[t]),e);return r[n]=i,r[n]}function kt(e,t,i){if(void 0===i)return t;for(const a of e){const e=i[a];void 0!==e&&(t[a]=e)}return t}var Mt=class{set(e){const{className:t=this.constructor.name}=this.constructor;if("object"!=typeof e)return C.warn(`unable to set ${t} - expecting a properties object`),this;const i=new Set(Object.keys(e));for(const t of Xe(this))if(i.has(t)){const a=e[t],n=this;Dt(n[t])?n[t]=n[t]instanceof Rt?n[t].reset(a):n[t].set(a):n[t]=a,i.delete(t)}for(const e of i)C.warn(`unable to set [${e}] in ${t} - property is unknown`);return this}isValid(e){return Xe(this).every((t=>{const{optional:i}=function(e,t){const i=t.toString();for(;Ze(e);){const t=e[je];if(Object.hasOwn(t,i))return t[i];e=Object.getPrototypeOf(e)}}(this,t),a=!0===i||void 0!==this[t];return a||C.warnOnce(`${e??""}[${t}] is required.`),a}))}toJson(){return Xe(this).reduce(((e,t)=>{const i=this[t];return e[t]=Dt(i)?i.toJson():i,e}),{})}},Rt=class e extends Array{constructor(e,...t){super(t.length);const i=(a=e,Boolean(a?.prototype?.constructor?.name)?t=>(new e).set(t):e);var a;Object.defineProperty(this,"itemFactory",{value:i,enumerable:!1,configurable:!1}),this.set(t)}set(e){if(et(e)){this.length=e.length;for(let t=0;t<e.length;t++)this[t]=this.itemFactory(e[t])}return this}reset(t){return new e(this.itemFactory,...t)}toJson(){return this.map((e=>e?.toJson?.()??e))}};function Dt(e){return e instanceof Mt||e instanceof Rt}var At="class-instance";function Et(e,t,i){if(et(t)){if(!et(e)||e.length!==t.length||t.some(((t,i)=>null!=Et(e[i],t))))return t}else{if(lt(t)){if(!lt(e))return t;const a={},n=new Set([...Object.keys(e),...Object.keys(t)]);for(const r of n)if(e[r]!==t[r]&&!i?.includes(r))if(typeof e[r]==typeof t[r]){const i=Et(e[r],t[r]);null!==i&&(a[r]=i)}else a[r]=t[r];return Object.keys(a).length?a:null}if(e!==t)return t}return null}function Tt(e,t){return et(e)?e.map((e=>Tt(e,t))):lt(e)?bt(e,((e,i)=>t?.shallow?.includes(i)?Pt(e):Tt(e,t))):Pt(e)}function Pt(e){return et(e)?[...e]:lt(e)?{...e}:it(e)?new Date(e):nt(e)?new RegExp(e.source,e.flags):e}function Ft(e,t,i,...a){if(et(e))t(e,...a),e.forEach(((e,n)=>{Ft(e,t,i,...Lt(a,n))}));else if(lt(e)){t(e,...a);for(const n of Object.keys(e)){if(i?.skip?.includes(n))continue;const r=e[n];(et(r)||lt(r))&&Ft(r,t,i,...Lt(a,n))}}}function It(e,t,i={}){const{path:a,constructedArrays:n,matcherPath:r=a?.replace(/(\[[0-9+]+])/i,"[]"),skip:o=[]}=i;if(null==e)throw new Error(`AG Charts - target is uninitialised: ${a??"<root>"}`);if(null==t)return e;if(Dt(e))return e.set(t);const s=e,l=Nt(e);for(const c in t){if(St.has(c))continue;const d=`${r?r+".":""}${c}`;if(o.includes(d))continue;const h=t[c],u=`${a?a+".":""}${c}`,g=s.constructor,p=s[c];let m;try{const t=Nt(p),a=Nt(h);if(l===At&&!(c in e)){C.warn(`unable to set [${u}] in ${g?.name} - property is unknown`);continue}if(null!=t&&null!=a&&a!==t&&(t!==At||"object"!==a)){C.warn(`unable to set [${u}] in ${g?.name} - can't apply type of [${a}], allowed types are: [${t}]`);continue}if(Dt(p))s[c].set(h);else if("array"===a)if(m??(m=n?.get(p)),null==m)s[c]=h;else{const e=h;s[c]=e.map((e=>It(new m,e,{...i,path:u,matcherPath:d+"[]"})))}else a===At?s[c]=h:"object"===a?null!=p?It(p,h,{...i,path:u,matcherPath:d}):null==m?(s[c]={},It(s[c],h,{...i,path:u,matcherPath:d})):s[c]=It(new m,h,{...i,path:u,matcherPath:d}):s[c]=h}catch(e){C.warn(`unable to set [${u}] in [${g?.name}]; nested error is: ${e.message}`)}}return e}function Lt(e,t){return e.map((e=>e?.[t]))}function Nt(e){return null==e?null:ut(e)||it(e)?"primitive":et(e)?"array":ot(e)?lt(e)?"object":At:rt(e)?"function":"primitive"}var Ot={};l(Ot,{easeIn:()=>Gt,easeInOut:()=>Vt,easeInOutQuad:()=>_t,easeInQuad:()=>Ht,easeOut:()=>Bt,easeOutQuad:()=>Wt,inverseEaseOut:()=>qt,linear:()=>zt});var zt=e=>e,Gt=e=>1-Math.cos(e*Math.PI/2),Bt=e=>Math.sin(e*Math.PI/2),Vt=e=>-(Math.cos(e*Math.PI)-1)/2,Ht=e=>e*e,Wt=e=>1-(1-e)**2,_t=e=>e<.5?2*e*e:1-(-2*e+2)**2/2,qt=e=>2*Math.asin(e)/Math.PI,Ut=.2,Kt=["initial","remove","update","add","trailing","end","none"],jt={initial:{animationDuration:1,animationDelay:0},add:{animationDuration:.25,animationDelay:.75},remove:{animationDuration:.25,animationDelay:0},update:{animationDuration:.5,animationDelay:.25},trailing:{animationDuration:Ut,animationDelay:1,skipIfNoEarlierAnimations:!0},end:{animationDelay:1.2,animationDuration:0,skipIfNoEarlierAnimations:!0},none:{animationDuration:0,animationDelay:0}},Yt=(e=>(e.Loop="loop",e.Reverse="reverse",e))(Yt||{});function $t(e){return e.every((e=>e instanceof Ge))?{nodes:e,selections:[]}:{nodes:[],selections:e}}var Zt=class{constructor(e){this.isComplete=!1,this.elapsed=0,this.iteration=0,this.isPlaying=!1,this.isReverse=!1,this.id=e.id,this.groupId=e.groupId,this.autoplay=e.autoplay??!0,this.ease=e.ease??zt,this.phase=e.phase;const t=e.duration??jt[this.phase].animationDuration;this.duration=t*e.defaultDuration,this.delay=(e.delay??0)*e.defaultDuration,this.onComplete=e.onComplete,this.onPlay=e.onPlay,this.onStop=e.onStop,this.onUpdate=e.onUpdate,this.interpolate=this.createInterpolator(e.from,e.to),this.from=e.from,!0===e.skip&&(this.onUpdate?.(e.to,!1,this),this.onStop?.(this),this.onComplete?.(this),this.isComplete=!0),!1!==e.collapsable&&(this.duration=this.checkCollapse(e,this.duration))}checkCollapse(e,t){if(e.from===e.to)return 0;return("object"==typeof e.from?Et(e.from,e.to):null)?t:0}play(e=!1){this.isPlaying||this.isComplete||(this.isPlaying=!0,this.onPlay?.(this),this.autoplay&&(this.autoplay=!1,e&&this.onUpdate?.(this.from,!0,this)))}pause(){this.isPlaying=!1}stop(){this.isPlaying=!1,this.isComplete||(this.isComplete=!0,this.onStop?.(this))}update(e){if(this.isComplete)return e;!this.isPlaying&&this.autoplay&&this.play(!0);const t=this.elapsed;if(this.elapsed+=e,this.delay>this.elapsed)return 0;const i=this.interpolate(this.isReverse?1-this.delta:this.delta);this.onUpdate?.(i,!1,this);const a=this.delay+this.duration;return this.elapsed>=a?(this.stop(),this.isComplete=!0,this.onComplete?.(this),e-(a-t)):0}get delta(){return this.ease(fe(0,(this.elapsed-this.delay)/this.duration,1))}createInterpolator(e,t){if("object"!=typeof t||ge(t))return this.interpolateValue(e,t);const i=[];for(const a in t){const n=this.interpolateValue(e[a],t[a]);null!=n&&i.push([a,n])}return e=>{const t={};for(const[a,n]of i)t[a]=n(e);return t}}interpolateValue(e,t){if(void 0!==e&&void 0!==t){if(ge(e))return i=>e[ue](t,i);try{switch(typeof e){case"number":return qe(e,t);case"string":return Ue(e,t);case"boolean":if(e===t)return()=>e}}catch(e){}throw new Error(`Unable to interpolate values: ${e}, ${t}`)}}},Xt={added:"add",updated:"update",removed:"remove",unknown:"initial","no-op":"none"};function Qt(e,t,i,a,n,r,o){const{fromFn:s,toFn:l,intermediateFn:c}=n,{nodes:d,selections:h}=$t(a),u=(a,n)=>{let d,h=0,u=0;for(const g of n){const p=a[h]===g,m={last:u>=n.length-1,lastLive:h>=a.length-1,prev:n[u-1],prevFromProps:d,prevLive:a[h-1],next:n[u+1],nextLive:a[h+(p?1:0)]},f=`${e}_${t}_${g.id}`;i.stopByAnimationId(f);let v="unknown";p?r&&o&&(v=ei(g,g.datum,r,o)):v="removed";const{phase:y,start:b,finish:C,delay:w,duration:S,...x}=s(g,g.datum,v,m),{phase:k,start:M,finish:R,delay:D,duration:A,...E}=l(g,g.datum,v,m),T=null==C&&null==R;i.animate({id:f,groupId:e,phase:y??k??"update",duration:S??A,delay:w??D,from:x,to:E,ease:Bt,collapsable:T,onPlay:()=>{g.setProperties({...b,...M})},onUpdate(e){g.setProperties(e),c&&g.setProperties(c(g,g.datum,v,m))},onStop:()=>{g.setProperties({...b,...M,...x,...E,...C,...R})}}),p&&h++,u++,d=x}};let g=0;for(const a of h){const n=a.nodes();u(n.filter((e=>!a.isGarbage(e))),n),i.animate({id:`${e}_${t}_selection_${g}`,groupId:e,phase:"end",from:0,to:1,ease:Bt,onStop(){a.cleanup()}}),g++}u(d,d)}function Jt(e,t,i,a,n,r,o){const{nodes:s,selections:l}=$t(a),{start:c,finish:d,phase:h}=o,u=null==d;i.animate({id:`${e}_${t}`,groupId:e,phase:h??"update",from:n,to:r,ease:Bt,collapsable:u,onPlay:()=>{if(c){for(const e of s)e.setProperties(c);for(const e of l)for(const t of e.nodes())t.setProperties(c)}},onUpdate(e){for(const t of s)t.setProperties(e);for(const t of l)for(const i of t.nodes())i.setProperties(e)},onStop:()=>{for(const e of s)e.setProperties({...r,...d});for(const e of l)for(const t of e.nodes())t.setProperties({...r,...d})}})}function ei(e,t,i,a){const n=i(e,t);return a.added.has(n)?"added":a.removed.has(n)?"removed":"updated"}var ti={periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]};function ii(e,t=new Date(e.getFullYear(),0,1)){const i=e.getTimezoneOffset()-t.getTimezoneOffset(),a=e.getTime()-t.getTime()+6e4*i;return Math.floor(a/864e5)}function ai(e,t){const i=(t-new Date(e.getFullYear(),0,1).getDay()+7)%7,a=new Date(e.getFullYear(),0,i+1);return a<=e?Math.floor(ii(e,a)/7)+1:0}function ni(e,t=e.getFullYear()){const i=new Date(t,0,1).getDay(),a=new Date(t,0,(4-i+7)%7-3+1);return a<=e?Math.floor(ii(e,a)/7)+1:ni(e,t-1)}var ri={a:e=>ti.shortDays[e.getDay()],A:e=>ti.days[e.getDay()],b:e=>ti.shortMonths[e.getMonth()],B:e=>ti.months[e.getMonth()],c:"%x, %X",d:(e,t)=>si(e.getDate(),2,t??"0"),e:"%_d",f:(e,t)=>si(1e3*e.getMilliseconds(),6,t??"0"),H:(e,t)=>si(e.getHours(),2,t??"0"),I:(e,t)=>{const i=e.getHours()%12;return 0===i?"12":si(i,2,t??"0")},j:(e,t)=>si(ii(e)+1,3,t??"0"),m:(e,t)=>si(e.getMonth()+1,2,t??"0"),M:(e,t)=>si(e.getMinutes(),2,t??"0"),L:(e,t)=>si(e.getMilliseconds(),3,t??"0"),p:e=>e.getHours()<12?"AM":"PM",Q:e=>String(e.getTime()),s:e=>String(Math.floor(e.getTime()/1e3)),S:(e,t)=>si(e.getSeconds(),2,t??"0"),u:e=>{let t=e.getDay();return t<1&&(t+=7),String(t%7)},U:(e,t)=>si(ai(e,0),2,t??"0"),V:(e,t)=>si(ni(e),2,t??"0"),w:(e,t)=>si(e.getDay(),2,t??"0"),W:(e,t)=>si(ai(e,1),2,t??"0"),x:"%-m/%-d/%Y",X:"%-I:%M:%S %p",y:(e,t)=>si(e.getFullYear()%100,2,t??"0"),Y:(e,t)=>si(e.getFullYear(),4,t??"0"),Z:e=>function(e){const t=e.getTimezoneOffset(),i=Math.abs(t);return`${t>0?"-":"+"}${si(Math.floor(i/60),2,"0")}${si(Math.floor(i%60),2,"0")}`}(e),"%":()=>"%"},oi={_:" ",0:"0","-":""};function si(e,t,i){const a=String(Math.floor(e));return a.length>=t?a:`${i.repeat(t-a.length)}${a}`}function li(e){const t=[];for(;e.length>0;){let i=e.indexOf("%");if(0!==i){const a=i>0?e.substring(0,i):e;t.push(a)}if(i<0)break;const a=e[i+1],n=oi[a];null!=n&&i++;const r=e[i+1],o=ri[r];if("function"==typeof o)t.push([o,n]);else if("string"==typeof o){const e=li(o);t.push([e,n])}else t.push(`${n??""}${r}`);e=e.substring(i+2)}return e=>{const i="number"==typeof e?new Date(e):e;return t.map((e=>"string"==typeof e?e:e[0](i,e[1]))).join("")}}function ci(e){return e instanceof Date?e.getTime():e}function di(e,t,i){const a=li(hi(e,t,i));return e=>a(e)}function hi(e=[],t=e,i=0){let a=1/0;for(let t=1;t<e.length;t++)a=Math.min(a,Math.abs(e[t]-e[t-1]));const n=new Date(t[0]).getFullYear(),r=new Date(t.at(-1)).getFullYear()-n>0,o=isFinite(a)?function(e,t){if(e<M)return 0;if(e<R)return 1;if(e<D)return 2;if(e<A)return 3;if(e<E)return 4;if(e<28*A||e<31*A&&function(e){let t=new Date(e[0]).getMonth();for(let i=1;i<e.length;i++){const a=new Date(e[i]).getMonth();if(t===a)return!0;t=a}return!1}(t))return 5;if(e<P)return 6;return 7}(a,e):function(e){if(L.floor(e)<e)return 0;if(z.floor(e)<e)return 1;if(V.floor(e)<e)return 2;if(W.floor(e)<e)return 3;if(J.floor(e)<e)return X.floor(e)<e?4:5;if(te.floor(e)<e)return 6;return 7}(e[0]);return function(e,t,i){const a=ci(i[0]),n=ci(i.at(-1)),r=Math.abs(n-a),o=t||7===e,s=[["hour",6*D,14*A,3,"%I %p"],["hour",R,6*D,3,"%I:%M"],["second",1e3,6*D,1,":%S"],["ms",0,6*D,0,".%L"],["am/pm",R,6*D,3,"%p"]," ",["day",A,E,4,"%a"],["month",0===r?0:E,52*E,5,"%b %d"],["month",5*E,10*P,6,"%B"]," ",["year",o?0:P,1/0,7,"%Y"]].filter((t=>{if("string"==typeof t)return!0;const[i,a,n,o]=t;return o>=e&&a<=r&&r<n})).reduce(((e,t)=>("string"==typeof t?e.result.push(t):e.used.has(t[0])||(e.result.push(t),e.used.add(t[0])),e)),{result:[],used:new Set}).result,l=s.findIndex((e=>"string"!=typeof e)),c=s.length-[...s].reverse().findIndex((e=>"string"!=typeof e));return s.slice(l,c).map((e=>"string"==typeof e?e:e[4])).join("").replaceAll(/\s+/g," ").trim()}(Math.max(o-i,0),r,e)}var ui=(e,t)=>{const i=Symbol(String(t));e[i]=void 0,Object.defineProperty(e,t,{get(){return this[i]},set(e){this[i]!==e&&(this[i]=e,this.invalid=!0)},enumerable:!0,configurable:!1})},gi=class e{constructor(){this.type="band",this.invalid=!0,this.range=[0,1],this.round=!1,this.interval=void 0,this.index=new Map,this.ordinalRange=[],this._domain=[],this._bandwidth=1,this._step=1,this._inset=1,this._rawBandwidth=1,this._paddingInner=0,this._paddingOuter=0}static is(t){return t instanceof e}refresh(){this.invalid&&(this.invalid=!1,this.update(),this.invalid&&C.warnOnce("Expected update to not invalidate scale"))}set domain(e){this.index=new Map,this.invalid=!0,this._domain=[];for(const t of e){const e=ci(t);void 0===this.getIndex(e)&&this.index.set(e,this._domain.push(t)-1)}}get domain(){return this._domain}getDomain(){return this._domain}ticks(){return this.refresh(),this._domain}convert(e){this.refresh();const t=this.getIndex(e);return null==t?NaN:this.ordinalRange[t]??NaN}invert(e){this.refresh();const t=this.ordinalRange.findIndex((t=>t===e));return this.domain[t]}invertNearest(e){this.refresh();let t=-1,i=1/0;const a=this.ordinalRange.findIndex(((a,n)=>{if(a===e)return!0;const r=Math.abs(e-a);return r<i&&(i=r,t=n),!1}));return this.domain[a]??this.domain[t]}get bandwidth(){return this.refresh(),this._bandwidth}get step(){return this.refresh(),this._step}get inset(){return this.refresh(),this._inset}get rawBandwidth(){return this.refresh(),this._rawBandwidth}set padding(e){e=fe(0,e,1),this._paddingInner=e,this._paddingOuter=e}get padding(){return this._paddingInner}set paddingInner(e){this._paddingInner=fe(0,e,1)}get paddingInner(){return this._paddingInner}set paddingOuter(e){this._paddingOuter=fe(0,e,1)}get paddingOuter(){return this._paddingOuter}update(){const e=this._domain.length;if(0===e)return;const[t,i]=this.range;let{_paddingInner:a}=this;const{_paddingOuter:n,round:r}=this,o=i-t;let s,l,c;1===e?(a=0,s=o*(1-2*n),l=r?Math.round(s):s,c=o*n):(s=o/Math.max(1,e-a+2*n),l=r?Math.floor(s):s,c=t+(o-l*(e-a))/2);let d=l*(1-a);r&&(c=Math.round(c),d=Math.round(d)),this._step=l,this._inset=c,this._bandwidth=d,this._rawBandwidth=s*(1-a),this.ordinalRange=this._domain.map(((e,t)=>c+l*t))}getIndex(e){return this.index.get(e instanceof Date?e.getTime():e)}};c([ui],gi.prototype,"range",2),c([ui],gi.prototype,"round",2),c([ui],gi.prototype,"interval",2);var pi=gi;function mi(e,t={}){const{optional:i=!1,property:a}=t;return $e(((n,r,o)=>{const s={...t,target:n,property:r};if(i&&void 0===o||e(o,s))return Dt(n[r])&&!Dt(o)?(n[r].set(o),n[r]):o;const l=a??String(r).replace(/^_*/,""),c=n.constructor.className??n.constructor.name.replace(/Properties$/,"");let d=ha(o);if(null!=d&&d.length>50){const e=d.length-50;d=d.slice(0,50)+`... (+${e} characters)`}return C.warn(`Property [${l}] of [${c}] cannot be set to [${d}]${e.message?`; expecting ${ca(e,s)}`:""}, ignoring.`),Ke}),void 0,{optional:i})}var fi,vi=(...e)=>{const t=[];return la(((i,a)=>(t.length=0,e.every((e=>{const n=e(i,a);return n||t.push(ca(e,a)),n})))),(()=>t.filter(Boolean).join(" AND ")))},yi=(...e)=>la(((t,i)=>e.some((e=>e(t,i)))),(t=>e.map(function(e){return t=>ca(t,e)}(t)).filter(Boolean).join(" OR "))),bi=da(la(((e,t)=>Dt(e)||ot(e)&&Dt(t.target[t.property])),"a properties object")),Ci=da(la((e=>ot(e)),"an object")),wi=la(tt,"a boolean"),Si=la(rt,"a function"),xi=la(ct,"a string"),ki=(fi=la(ht,"a number"),Object.assign(fi,{restrict({min:e,max:t}={}){const i=["a number"],a=dt(e),n=dt(t);return a&&n?i.push(`between ${e} and ${t} inclusive`):a?i.push(`greater than or equal to ${e}`):n&&i.push(`less than or equal to ${t}`),la((i=>ht(i)&&(!a||i>=e)&&(!n||i<=t)),i.join(" "))}})),Mi=la((e=>dt(e)&&isNaN(e)),"NaN"),Ri=ki.restrict({min:0}),Di=ki.restrict({min:0,max:1}),Ai=ki.restrict({min:-360,max:360}),Ei=yi(ki,Mi),Ti=function(e){return Object.assign(e,{restrict({length:e,minLength:t}={}){let i="an array";return dt(t)&&t>0?i="a non-empty array":dt(e)&&(i=`an array of length ${e}`),la((i=>et(i)&&(!dt(e)||i.length===e)&&(!dt(t)||i.length>=t)),i)}})}(la(et,"an array")),Pi=(e,t)=>la(((t,i)=>et(t)&&t.every((t=>e(t,i)))),(e=>{const i=ca(Ti,e)??"";return t?`${i} of ${t}`:i})),Fi=e=>ht(e)||at(e),Ii=e=>la(((t,i)=>!Fi(t)||!Fi(i.target[e])||t<i.target[e]),`to be less than ${e}`),Li=e=>la(((t,i)=>!Fi(t)||!Fi(i.target[e])||t>i.target[e]),`to be greater than ${e}`),Ni=la(at,"Date object"),Oi=yi(Ni,Ri),zi="A color string can be in one of the following formats to be valid: #rgb, #rrggbb, rgb(r, g, b), rgba(r, g, b, a) or a CSS color name such as 'white', 'orange', 'cyan', etc",Gi=la((e=>ct(e)&&_e.validColorString(e)),`color String. ${zi}`),Bi=la(Pi(Gi),`color strings. ${zi}`),Vi=Pi(wi,"boolean values"),Hi=Pi(ki,"numbers"),Wi=Pi(xi,"strings"),_i=la(Pi(Ni),"Date objects"),qi=la(Pi(bi),"objects"),Ui=ra(["butt","round","square"],"a line cap"),Ki=ra(["round","bevel","miter"],"a line join"),ji=la(Pi(Ri),"numbers specifying the length in pixels of alternating dashes and gaps, for example, [6, 3] means dashes with a length of 6 pixels with gaps between of 3 pixels."),Yi=ra(["top","right","bottom","left"],"a position"),$i=ra(["normal","italic","oblique"],"a font style"),Zi=yi(ra(["normal","bold","bolder","lighter"],"a font weight"),ki.restrict({min:1,max:1e3})),Xi=ra(["never","always","hyphenate","on-space"],"a text wrap strategy"),Qi=ra(["left","center","right"],"a text align"),Ji=ra(["top","middle","bottom"],"a vertical align"),ea=ra(["ellipsis","hide"],"an overflow strategy"),ta=ra(["horizontal","vertical"],"a direction"),ia=ra(["inside","outside"],"a placement"),aa=yi(ra(["exact","nearest"],"interaction range"),ki),na=ra(["top","bottom","left","right"]);function ra(e,t="a"){return la((t=>e.includes(t)),`${t} keyword such as ${function(e){const t=e.map((e=>`'${e}'`));if(1===t.length)return t[0];const i=t.pop();return`${t.join(", ")} or ${i}`}(e)}`)}var oa=yi(vi(ki.restrict({min:1}),Ii("maxSpacing")),Mi),sa=yi(vi(ki.restrict({min:1}),Li("minSpacing")),Mi);function la(e,t){return e.message=t,e}function ca(e,t){return rt(e.message)?e.message(t):e.message}function da(e){return Object.assign(e,{restrict(t){return la((e=>e instanceof t),(i=>ca(e,i)??`an instance of ${t.name}`))}})}function ha(e){if("number"==typeof e){if(isNaN(e))return"NaN";if(e===1/0)return"Infinity";if(e===-1/0)return"-Infinity"}return JSON.stringify(e)}var ua=(e=>(e.X="x",e.Y="y",e))(ua||{}),ga={constructedArrays:new WeakMap};function pa(e,t){ga.constructedArrays?.set(e,t)}var ma=class e{constructor(t,i){this.invalid=!0,this.nice=!1,this.interval=void 0,this.tickCount=e.defaultTickCount,this.minTickCount=0,this.maxTickCount=1/0,this.niceDomain=[],this.defaultClampMode="raw",this.domain=t,this.range=i}static is(t){return t instanceof e}transform(e){return e}transformInvert(e){return e}calcBandwidth(e=1){const t=this.getDomain(),i=this.getPixelRange(),a=Math.abs(t[1]-t[0])/e+1,n=Math.floor(i),r=Math.min(a,n);return i/Math.max(1,r)}getDomain(){return this.nice&&(this.refresh(),this.niceDomain.length)?this.niceDomain:this.domain}convert(e,t){const i=t?.clampMode??this.defaultClampMode;if(!this.domain||this.domain.length<2)return NaN;this.refresh();const a=this.getDomain().map((e=>this.transform(e))),[n,r]=a,{range:o}=this,[s,l]=o;if(e=this.transform(e),"clamped"===i){const[t,i]=ye(a.map(Number));if(Number(e)<t)return s;if(Number(e)>i)return l}return n===r?(s+l)/2:e===n?s:e===r?l:s+(Number(e)-Number(n))/(Number(r)-Number(n))*(l-s)}invert(e){this.refresh();const t=this.getDomain().map((e=>this.transform(e))),[i,a]=t,{range:n}=this,[r,o]=n,s=r>o;let l;return e<(s?o:r)?s?a:i:e>(s?r:o)?s?i:a:(l=r===o?this.toDomain((Number(i)+Number(a))/2):this.toDomain(Number(i)+(e-r)/(o-r)*(Number(a)-Number(i))),this.transformInvert(l))}refresh(){this.invalid&&(this.invalid=!1,this.update(),this.invalid&&C.warnOnce("Expected update to not invalidate scale"))}getPixelRange(){const[e,t]=this.range;return Math.abs(t-e)}};ma.defaultTickCount=5,ma.defaultMaxTickCount=6,c([ui],ma.prototype,"domain",2),c([ui],ma.prototype,"range",2),c([ui],ma.prototype,"nice",2),c([ui],ma.prototype,"interval",2),c([ui],ma.prototype,"tickCount",2),c([ui],ma.prototype,"minTickCount",2),c([ui],ma.prototype,"maxTickCount",2);var fa=ma;function va(e,t){const i=[];for(let a=0;a<e;a++)i.push(t(a));return i}function ya(e){if(0===e.length)return;let t=1/0,i=-1/0;for(let a of e)a instanceof Date&&(a=a.getTime()),"number"==typeof a&&(a<t&&(t=a),a>i&&(i=a));const a=[t,i];return a.every(isFinite)?a:void 0}function ba(e,t,i){return Ca(e,t,i).extent}function Ca(e,t,i){let a=!1;return e.length>2&&(e=ya(e)??[NaN,NaN]),isNaN(t)||(a||(a=t>e[0]),e=[t,e[1]]),isNaN(i)||(a||(a=i<e[1]),e=[e[0],i]),e[0]>e[1]&&(e=[]),{extent:e,clipped:a}}function wa(e,t){if(null==e||null==t||e.length!==t.length)return!1;for(let i=0;i<e.length;i++)if(Array.isArray(e[i])&&Array.isArray(t[i])){if(!wa(e[i],t[i]))return!1}else if(e[i]!==t[i])return!1;return!0}function Sa(e){return void 0===e?[]:Array.isArray(e)?e:[e]}function xa(e){return Array.from(new Set(e))}function ka(e,t){return e.reduce(((e,i)=>{const a=t(i);return e[a]??(e[a]=[]),e[a].push(i),e}),{})}function Ma(e,t,i=0){if(0===e.length)return[];const a=[];for(let n=0;n<t;n++)a.push(e.at((n+i)%e.length));return a}function Ra(e,t){return t.reduce((([t,i],a)=>e(a)?[[...t,a],i]:[t,[...i,a]]),[[],[]])}function*Da(e,t){for(const i of e)yield t(i)}function Aa(e,t){return!t.some((t=>!function(e,t){return function(e,t){return e.includes(t)}(e,t)}(e,t)))}function Ea(e){let t,i;const a=Fa.exec(e);a&&([,t,e,i]=a);const n=Pa.exec(e);if(!n)throw new Error(`The number formatter is invalid: ${e}`);const[,r,o,s,l,c,d,h,u,g,p]=n;return{fill:r,align:o,sign:s,symbol:l,zero:c,width:parseInt(d),comma:h,precision:parseInt(u),trim:Boolean(g),type:p,prefix:t,suffix:i}}function Ta(e){const t="string"==typeof e?Ea(e):e,{fill:i,align:a,sign:n="-",symbol:r,zero:o,width:s,comma:l,type:c,prefix:d="",suffix:h="",precision:u}=t;let{trim:g}=t;const p=null==u||isNaN(u);let m,f;if(c)if(c in La&&c in Ia)m=p?Ia[c]:La[c];else if(c in La)m=La[c];else{if(!(c in Ia))throw new Error(`The number formatter type is invalid: ${c}`);m=Ia[c]}else m=La.g,g=!0;return f=null==u||p?c?6:12:u,e=>{let t=m(e,f);return g&&(t=t.replace(/\.0+$/,"").replace(/(\.[1-9])0+$/,"$1")),l&&(t=function(e,t){let i=e.indexOf(".");i<0&&(i=e.length);const a=e.substring(0,i).split(""),n=e.substring(i);for(let e=a.length-3;e>0;e-=3)a.splice(e,0,t);return`${a.join("")}${n}`}(t,l)),t=function(e,t,i=""){if("("===i)return e>=0?t:`(${t})`;const a="+"===i?"+":"";return`${e>=0?a:Ga}${t}`}(e,t,n),r&&"#"!==r&&(t=`${r}${t}`),"#"===r&&"x"===c&&(t=`0x${t}`),"s"===c&&(t=`${t}${function(e){return za[Va(e)]}(e)}`),"%"!==c&&"p"!==c||(t=`${t}%`),null==s||isNaN(s)||(t=function(e,t,i=" ",a=">"){let n=e;if(">"!==a&&a){if("<"===a)n=n.padEnd(t,i);else if("^"===a){const e=Math.max(0,t-n.length),a=Math.ceil(e/2),r=Math.floor(e/2);n=n.padStart(a+n.length,i),n=n.padEnd(r+n.length,i)}}else n=n.padStart(t,i);return n}(t,s,i??o,a)),t=`${d}${t}${h}`,t}}var Pa=/^(?:(.)?([<>=^]))?([+\-( ])?([$€£¥₣₹#])?(0)?(\d+)?(,)?(?:\.(\d+))?(~)?([%a-z])?$/i,Fa=/^((?:[^#]|#[^{])*)#{([^}]+)}(.*)$/,Ia={b:e=>Ba(e).toString(2),c:e=>String.fromCharCode(e),d:e=>Math.round(Math.abs(e)).toFixed(0),o:e=>Ba(e).toString(8),x:e=>Ba(e).toString(16),X:e=>Ia.x(e).toUpperCase(),n:e=>Ia.d(e),"%":e=>`${Ba(100*e).toFixed(0)}`},La={e:(e,t)=>Math.abs(e).toExponential(t),E:(e,t)=>La.e(e,t).toUpperCase(),f:(e,t)=>Math.abs(e).toFixed(t),F:(e,t)=>La.f(e,t).toUpperCase(),g:(e,t)=>{if(0===e)return"0";const i=Math.abs(e),a=Math.floor(Math.log10(i));return a>=-4&&a<t?i.toFixed(t-1-a):i.toExponential(t-1)},G:(e,t)=>La.g(e,t).toUpperCase(),n:(e,t)=>La.g(e,t),p:(e,t)=>La.r(100*e,t),r:(e,t)=>{if(0===e)return"0";const i=Math.abs(e),a=Math.floor(Math.log10(i))-(t-1);if(a<=0)return i.toFixed(-a);const n=10**a;return(Math.round(i/n)*n).toFixed()},s:(e,t)=>{const i=Va(e);return La.r(e/10**i,t)},"%":(e,t)=>La.f(100*e,t)},Na=-24,Oa=24,za={[Na]:"y",[-21]:"z",[-18]:"a",[-15]:"f",[-12]:"p",[-9]:"n",[-6]:"µ",[-3]:"m",0:"",3:"k",6:"M",9:"G",12:"T",15:"P",18:"E",21:"Z",[Oa]:"Y"},Ga="−";function Ba(e){return Math.floor(Math.abs(e))}function Va(e){return fe(Na,e?3*Math.floor(Math.log10(Math.abs(e))/3):0,Oa)}var Ha=(e,t,i)=>({duration:t*i,timeInterval:e,step:i}),Wa=[Ha(L,M,1),Ha(L,M,5),Ha(L,M,15),Ha(L,M,30),Ha(z,R,1),Ha(z,R,5),Ha(z,R,15),Ha(z,R,30),Ha(V,D,1),Ha(V,D,3),Ha(V,D,6),Ha(V,D,12),Ha(W,A,1),Ha(W,A,2),Ha(X,E,1),Ha(X,E,2),Ha(X,E,3),Ha(J,T,1),Ha(J,T,2),Ha(J,T,3),Ha(J,T,4),Ha(J,T,6),Ha(te,P,1)],_a=[1,2,5,10];function qa(e,t,i,a,n){if(i<2)return $a(e,t,t-e);const r=Ka(e,t,i,a,n);return isNaN(r)?[]:$a(e=Math.ceil(e/r)*r,t=Math.floor(t/r)*r,r)}function Ua(e,t,i,a,n,r){const o=r??Math.abs(t-e)/Math.max(i,1);let s=0;for(const e of Wa){if(o<=e.duration)break;s++}if(0===s){const r=Math.max(Ka(e,t,i,a,n),1);return k.every(r)}if(s===Wa.length){const o=null==r?Ka(e/P,t/P,i,a,n):1;return te.every(o)}const l=Wa[s-1],c=Wa[s],{timeInterval:d,step:h}=o-l.duration<c.duration-o?l:c;return d.every(h)}function Ka(e,t,i,a=0,n=1/0){if(e===t)return 1;if(i<1)return NaN;const r=Math.abs(t-e),o=10**Math.floor(Math.log10(r/i));let s=NaN,l=1/0,c=!1;for(const e of _a){const t=Math.ceil(r/(e*o)),d=t>=a&&t<=n;if(c&&!d)continue;const h=Math.abs(t-i);(l>h||c!==d)&&(c||(c=d),l=h,s=e)}return s*o}function ja(e){for(let t=e.length-1;t>=0;t-=1)if("0"!==e[t])return t+1;return 0}function Ya(e,t){const i=Ea(t??",f");(null==i.precision||isNaN(i.precision))&&(!i.type||"eEFgGnprs".includes(i.type)?i.precision=Math.max(...e.map((e=>{if(!Number.isFinite(e))return 0;const[t,a]=e.toExponential((i.type?6:12)-1).split(/\.|e/g);return("1"!==t&&"-1"!==t?1:0)+ja(a)+1}))):"f%".includes(i.type)&&(i.precision=Math.max(...e.map((e=>{if(!Number.isFinite(e)||0===e)return 0;const t=Math.floor(Math.log10(Math.abs(e))),a=i.type?6:12,[n,r]=e.toExponential(a-1).split(/\.|e/g),o=ja(r);return Math.max(0,o-t)})))));const a=Ta(i);return e=>a(Number(e))}function $a(e,t,i){const a=Math.ceil(Math.abs(t-e)/i),n=10**Me(i),r=Math.min(e,t);return va(a+1,(e=>Math.round((r+i*e)*n)/n))}function Za(e,t){return e>=t&&(C.warnOnce("the configured interval results in more than 1 item per pixel, ignoring. Supply a larger interval or omit this configuration"),!0)}var Xa=class e extends fa{constructor(){super([],[0,1]),this.type="time"}toDomain(e){return new Date(e)}convert(e,t){return super.convert(new Date(e),t)}invert(e){return new Date(super.invert(e))}ticks(){if(!this.domain||this.domain.length<2)return[];this.refresh();const{interval:t,nice:i,tickCount:a,minTickCount:n,maxTickCount:r}=this,[o,s]=ye(this.getDomain().map(ci));return null!=t?e.getTicksForInterval({start:o,stop:s,interval:t,availableRange:this.getPixelRange()})??e.getDefaultTicks({start:o,stop:s,tickCount:a,minTickCount:n,maxTickCount:r}):i&&2===a?this.niceDomain:i&&1===a?this.niceDomain.slice(0,1):e.getDefaultTicks({start:o,stop:s,tickCount:a,minTickCount:n,maxTickCount:r})}static getDefaultTicks({start:e,stop:t,tickCount:i,minTickCount:a,maxTickCount:n}){const r=Ua(e,t,i,a,n);return r?r.range(new Date(e),new Date(t)):[]}static getTicksForInterval({start:e,stop:t,interval:i,availableRange:a}){if(!i)return[];if(i instanceof w){const n=i.range(new Date(e),new Date(t));if(Za(n.length,a))return;return n}const n=Math.abs(i);if(Za((t-e)/n,a))return;const r=[...Wa].reverse().find((e=>n%e.duration==0));if(r){return r.timeInterval.every(n/(r.duration/r.step)).range(new Date(e),new Date(t))}let o=new Date(e);const s=new Date(t),l=[];for(;o<=s;)l.push(o),o=new Date(o),o.setMilliseconds(o.getMilliseconds()+n);return l}tickFormat({ticks:e,domain:t,specifier:i,formatOffset:a}){return null==i?di(e,t,a):li(i)}update(){!this.domain||this.domain.length<2||this.nice&&this.updateNiceDomain()}updateNiceDomain(){let[e,t]=this.domain;for(let i=0;i<4;i++){this.updateNiceDomainIteration(e,t);const[i,a]=this.niceDomain;if(ci(e)===ci(i)&&ci(t)===ci(a))break;e=i,t=a}}updateNiceDomainIteration(e,t){const i=Math.min(ci(e),ci(t)),a=Math.max(ci(e),ci(t)),n=e>t,{interval:r}=this;let o;if(r instanceof w)o=r;else{o=Ua(i,a,"number"==typeof r?(a-i)/Math.max(r,1):this.tickCount,this.minTickCount,this.maxTickCount)}if(o){const e=o.range(new Date(i),new Date(a),!0),t=n?[...e].reverse():e,r=t[0],s=t.at(-1);this.niceDomain=[r,s]}}};function Qa(e,t){return e-t}var Ja=class e extends pi{constructor(){super(...arguments),this.type="ordinal-time",this.tickCount=fa.defaultTickCount,this.minTickCount=0,this.maxTickCount=1/0,this.interval=void 0,this._domain=[],this.timestamps=[],this.sortedTimestamps=[],this.visibleRange=[0,1]}static is(t){return t instanceof e}setVisibleRange(e){this.visibleRange=e}set domain(e){this.invalid=!0,0!==e.length?(this._domain=e,this.timestamps=xa(e.map(ci)),this.sortedTimestamps=this.timestamps.slice().sort(Qa)):this._domain=[]}get domain(){return this._domain}ticks(){this.refresh();const[e,t]=[this.timestamps[0],this.timestamps.at(-1)],i=Math.min(e,t),a=Math.max(e,t),n=e>t;let r;if(null==this.interval)r=this.getDefaultTicks(this.maxTickCount,n);else{const[e,t]=this.range,n=Math.abs(t-e);r=Xa.getTicksForInterval({start:i,stop:a,interval:this.interval,availableRange:n})??[]}const o=new Set;return r.filter((e=>{const t=this.convert(e);return!isNaN(t)&&!o.has(t)&&(o.add(t),!0)}))}getDefaultTicks(e,t){const i=[],a=this.timestamps.length,n=Math.ceil(a*(this.visibleRange[1]-this.visibleRange[0])/e),r=Math.floor(n/2);for(const[e,o]of this.timestamps.entries())n>0&&(e+r)%n||(t?i.push(new Date(this.timestamps[a-e-1])):i.push(new Date(o)));return i}convert(e){this.refresh();const t=Number(e);if(t<this.sortedTimestamps[0])return NaN;let i=this.findInterval(t);return this.timestamps[0]!==this.sortedTimestamps[0]&&(i=this.timestamps.length-i-1),this.ordinalRange[i]??NaN}findInterval(e){const{sortedTimestamps:t}=this;let i=0,a=t.length-1;for(;i<=a;){const n=Math.floor((i+a)/2);if(t[n]===e)return n;t[n]<e?i=n+1:a=n-1}return i}tickFormat({ticks:e,domain:t,specifier:i}){return null==i?di(e,t):li(i)}invert(e){this.refresh();const t=this.ordinalRange.findIndex((t=>e<=t));return this.domain[t]}invertNearest(e){return new Date(super.invertNearest(e))}};c([ui],Ja.prototype,"tickCount",2),c([ui],Ja.prototype,"minTickCount",2),c([ui],Ja.prototype,"maxTickCount",2),c([ui],Ja.prototype,"interval",2);var en=Ja;function tn(e,t){return"number"==typeof e&&"number"==typeof t?e-t:"string"==typeof e&&"string"==typeof t?e.localeCompare(t):null==e&&null==t?0:null==e?-1:null==t?1:String(e).localeCompare(String(t))}function an(e){return"function"==typeof e?e():e}function nn(e,t,i){for(const a in e){const n=i(an(e[a]),an(t[a]));if(0!==n)return n}return 0}var rn=class e extends Ge{constructor(e){super({isVirtual:e?.isVirtual}),this.opts=e,this.opacity=1,this.lastBBox=void 0;const{zIndex:t,zIndexSubOrder:i}=e??{};this.isContainerNode=!0,void 0!==t&&(this.zIndex=t),void 0!==i&&(this.zIndexSubOrder=i),this.name=this.opts?.name}static is(t){return t instanceof e}onZIndexChange(){super.onZIndexChange(),this.layer&&this._layerManager?.moveLayer(this.layer,this.zIndex,this.zIndexSubOrder)}isLayer(){return null!=this.layer}_setLayerManager(e){if(this._layerManager&&this.layer&&(this._layerManager.removeLayer(this.layer),this.layer=void 0),this.layer)throw new Error("AG Charts - unable to deregister scene rendering layer!");super._setLayerManager(e)}initialiseLayer(){this.layer||this._layerManager&&!0===this.opts?.layer&&(this.layer=this._layerManager.addLayer({name:this.name,zIndex:this.zIndex,zIndexSubOrder:this.zIndexSubOrder,getComputedOpacity:()=>this.getComputedOpacity(),getVisibility:()=>this.getVisibility()}))}getComputedOpacity(){let t=1;for(const i of this.traverseUp())i instanceof e&&(t*=i.opacity);return t}getVisibility(){for(const e of this.traverseUp())if(!e.visible)return!1;return!0}onVisibleChange(){this.layer&&(this.layer.enabled=this.visible)}markDirty(e,t=1){if(this.isVirtual)return void super.markDirty(e,t);let i=t;(t<2||null!=this.layer)&&(i=1),super.markDirty(e,t,i)}containsPoint(e,t){return!0}computeBBox(){return this.computeTransformMatrix(),e.computeBBox(this.children)}computeTransformedBBox(){return this.computeBBox()}computeTransformedRegionBBox(){return this.clipRect?(this.computeTransformMatrix(),this.matrix.transformBBox(this.clipRect)):this.computeTransformedBBox()}preRender(){const e=super.preRender();return e.groups+=1,e.nonGroups-=1,!0!==this.opts?.layer||null!=this.layer||(e.nonGroups>0&&this.initialiseLayer(),this.opts?.nonEmptyChildDerivedZIndex&&e.nonGroups>0&&this.deriveZIndexFromChildren()),e}deriveZIndexFromChildren(){const e=this.children.filter((e=>e._childNodeCounts.nonGroups>0));this.sortChildren(e);const t=e.at(-1);this.zIndex=t?.zIndex??-1/0,this.zIndexSubOrder=t?.zIndexSubOrder}render(e){const{opts:{name:t}={},_debug:i}=this,{dirty:a,dirtyZIndex:n,layer:r,children:o,clipRect:s,dirtyTransform:l}=this;let{ctx:c,forceRender:d,clipBBox:h}=e;const{resized:u,stats:g}=e,p=c.getTransform(),m=a>=2||n||u;let f=m,v=!1;for(const e of o)if(f||(f=null==e.layerManager&&e.dirty>=1),v||(v=null!=e.layerManager&&e.dirty>=1),f)break;if(t&&i?.({name:t,group:this,isDirty:m,isChildDirty:f,dirtyTransform:l,renderCtx:e,forceRender:d}),l)d="dirtyTransform";else if(r){const e=this.computeBBox();void 0!==this.lastBBox&&this.lastBBox.equals(e)||(d="dirtyTransform",this.lastBBox=e)}if(!(m||f||v||d))return t&&g&&i?.({name:t,result:"skipping",renderCtx:e,counts:this.nodeCount,group:this}),r&&g&&(g.layersSkipped++,g.nodesSkipped+=this.nodeCount.count),void this.markClean({recursive:!1});const y=this.visible;if(r){if(c=r.context,c.save(),c.setTransform(r.pixelRatio,0,0,r.pixelRatio,0,0),"dirtyTransform"!==d&&(d=f||n),d&&r.clear(),h){const{width:a,height:n,x:r,y:o}=h;i?.((()=>({name:t,clipBBox:h,ctxTransform:c.getTransform(),renderCtx:e,group:this}))),c.beginPath(),c.rect(r,o,a,n),c.clip()}c.setTransform(p)}else c.globalAlpha*=this.opacity;if(this.computeTransformMatrix(),this.matrix.toContext(c),s){const{x:a,y:n,width:r,height:o}=s;c.save(),i?.((()=>({name:t,clipRect:s,ctxTransform:c.getTransform(),renderCtx:e,group:this}))),c.beginPath(),c.rect(a,n,r,o),c.clip(),h=this.matrix.transformBBox(s)}const b=this.hasVirtualChildren();n?(this.sortChildren(o),"dirtyTransform"!==d&&(d=!0)):b&&this.sortChildren(o);const C=d!==e.forceRender||h!==e.clipBBox||c!==e.ctx?{...e,ctx:c,forceRender:d,clipBBox:h}:e;let w=0;for(const e of o)e.visible&&y?d||0!==e.dirty?(c.save(),e.render(C),c.restore()):g&&(w+=e.nodeCount.count):(e.markClean(),g&&(w+=e.nodeCount.count));if(g&&(g.nodesSkipped+=w),super.render(e),s&&c.restore(),b)for(const e of this.virtualChildren)e.markClean({recursive:"virtual"});r&&(g&&g.layersRendered++,c.restore(),d&&r.snapshot(),r.context.verifyDepthZero?.()),t&&g&&i?.({name:t,result:"rendered",skipped:w,renderCtx:e,counts:this.nodeCount,group:this})}sortChildren(e){this.dirtyZIndex=!1,e.sort(((e,t)=>nn([e.zIndex,...e.zIndexSubOrder??[void 0,void 0],e.serialNumber],[t.zIndex,...t.zIndexSubOrder??[void 0,void 0],t.serialNumber],tn)))}static computeBBox(e){let t=1/0,i=-1/0,a=1/0,n=-1/0;for(const r of e){if(!r.visible)continue;const e=r.computeTransformedBBox();if(!e)continue;const{x:o,y:s,width:l,height:c}=e;o<t&&(t=o),s<a&&(a=s),o+l>i&&(i=o+l),s+c>n&&(n=s+c)}return new Ee(t,a,i-t,n-a)}setClipRectInGroupCoordinateSpace(e){this.clipRect=e?this.transformBBox(e):void 0}};rn.className="Group",c([Pe({redraw:3,convertor:e=>fe(0,e,1)})],rn.prototype,"opacity",2);var on=rn,sn=2*Math.PI;function ln(e){return e%=sn,e+=sn,e%=sn}function cn(e){return e%=sn,(e+=sn)!==sn&&(e%=sn),e}function dn(e){return(e%=sn)<-Math.PI?e+=sn:e>=Math.PI&&(e-=sn),e}function hn(e,t,i){const a=ln(e),n=ln(t),r=ln(i);return n<r?n<=a&&a<=r:!(n>r)||(n<=a||a<=r)}function un(e){return e/180*Math.PI}function gn(e){return e/Math.PI*180}function pn(e,t,i){i&&([e,t]=[t,e]);const a=ln(e);return(ln(t)+sn-a)%sn}function mn(e,t){return e=ln(e),(t=ln(t))-e+(e>t?2*Math.PI:0)}function fn(e,t,i,a){return{x:e+i*Math.cos(a),y:t+i*Math.sin(a)}}var vn=class{constructor(e=[]){this.stops=e}},yn=class extends vn{constructor(e,t=0){super(e),this.angle=t}createGradient(e,t){const{stops:i,angle:a}=this,n=ln(un(a+90)),r=Math.cos(n),o=Math.sin(n),s=t.width,l=t.height,c=t.x+.5*s,d=t.y+.5*l;if(s>0&&l>0){const t=Math.sqrt(l*l+s*s)/2,a=Math.atan2(l,s);let h;h=n<Math.PI/2?n:n<Math.PI?Math.PI-n:n<1.5*Math.PI?n-Math.PI:2*Math.PI-n;const u=t*Math.abs(Math.cos(h-a)),g=e.createLinearGradient(c+r*u,d+o*u,c-r*u,d-o*u);for(const e of i)g.addColorStop(e.offset,e.color);return g}return"black"}},bn=/^linear-gradient\((-?[\d.]+)deg,(.*?)\)$/i,Cn=class e extends Ge{constructor(){super(...arguments),this.fillOpacity=1,this.strokeOpacity=1,this.fill=e.defaultStyles.fill,this.stroke=e.defaultStyles.stroke,this.strokeWidth=e.defaultStyles.strokeWidth,this.lineDash=e.defaultStyles.lineDash,this.lineDashOffset=e.defaultStyles.lineDashOffset,this.lineCap=e.defaultStyles.lineCap,this.lineJoin=e.defaultStyles.lineJoin,this.miterLimit=void 0,this.opacity=e.defaultStyles.opacity,this.fillShadow=e.defaultStyles.fillShadow}restoreOwnStyles(){const{defaultStyles:e}=this.constructor;Object.assign(this,e)}onFillChange(){const{fill:e}=this;let t;if(e?.startsWith("linear-gradient")&&(t=bn.exec(e))){const e=parseFloat(t[1]),i=[],a=t[2],n=/(#[0-9a-f]+)|(rgba?\(.+?\))|([a-z]+)/gi;let r;for(;r=n.exec(a);)i.push(r[0]);this.gradient=new yn(i.map(((e,t)=>({color:e,offset:t/(i.length-1)}))),e)}else this.gradient=void 0}align(e,t){const i=this.layerManager?.canvas?.pixelRatio??1,a=Math.round(e*i)/i;return null==t?a:0===t?0:t<1?Math.ceil(t*i)/i:Math.round((t+e)*i)/i-a}fillStroke(e,t){this.renderFill(e,t),this.renderStroke(e,t)}renderFill(e,t){if(this.fill){const{globalAlpha:i}=e;this.applyFill(e),this.applyFillAlpha(e),this.applyShadow(e),this.executeFill(e,t),e.globalAlpha=i}e.shadowColor="rgba(0, 0, 0, 0)"}executeFill(e,t){t?e.fill(t):e.fill()}applyFill(e){e.fillStyle=this.gradient?.createGradient(e,this.computeBBox())??this.fill}applyFillAlpha(e){e.globalAlpha*=this.opacity*this.fillOpacity}applyShadow(e){const t=this.layerManager?.canvas.pixelRatio??1,i=this.fillShadow;i?.enabled&&(e.shadowColor=i.color,e.shadowOffsetX=i.xOffset*t,e.shadowOffsetY=i.yOffset*t,e.shadowBlur=i.blur*t)}renderStroke(e,t){if(this.stroke&&this.strokeWidth){const{globalAlpha:i}=e;e.strokeStyle=this.stroke,e.globalAlpha*=this.opacity*this.strokeOpacity,e.lineWidth=this.strokeWidth,this.lineDash&&e.setLineDash(this.lineDash),this.lineDashOffset&&(e.lineDashOffset=this.lineDashOffset),this.lineCap&&(e.lineCap=this.lineCap),this.lineJoin&&(e.lineJoin=this.lineJoin),null!=this.miterLimit&&(e.miterLimit=this.miterLimit),this.executeStroke(e,t),e.globalAlpha=i}}executeStroke(e,t){t?e.stroke(t):e.stroke()}containsPoint(e,t){return this.isPointInPath(e,t)}};Cn.defaultStyles={fill:"black",stroke:void 0,strokeWidth:0,lineDash:void 0,lineDashOffset:0,lineCap:void 0,lineJoin:void 0,opacity:1,fillShadow:void 0},c([Pe({redraw:2})],Cn.prototype,"fillOpacity",2),c([Pe({redraw:2})],Cn.prototype,"strokeOpacity",2),c([Pe({redraw:2,changeCb:e=>e.onFillChange()})],Cn.prototype,"fill",2),c([Pe({redraw:2})],Cn.prototype,"stroke",2),c([Pe({redraw:2})],Cn.prototype,"strokeWidth",2),c([Pe({redraw:2})],Cn.prototype,"lineDash",2),c([Pe({redraw:2})],Cn.prototype,"lineDashOffset",2),c([Pe({redraw:2})],Cn.prototype,"lineCap",2),c([Pe({redraw:2})],Cn.prototype,"lineJoin",2),c([Pe({redraw:2})],Cn.prototype,"miterLimit",2),c([Pe({redraw:2,convertor:e=>fe(0,e,1)})],Cn.prototype,"opacity",2),c([Pe({redraw:2,checkDirtyOnAssignment:!0})],Cn.prototype,"fillShadow",2);var wn=Cn,Sn=class extends wn{constructor(e={}){super(e),this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.startLine=!1,this.endLine=!1,this.isRange=!1,this.restoreOwnStyles()}computeBBox(){return new Ee(this.x1,this.y1,this.x2-this.x1,this.y2-this.y1)}isPointInPath(e,t){return!1}render(e){const{ctx:t,forceRender:i,stats:a}=e;if(0===this.dirty&&!i)return void(a&&(a.nodesSkipped+=this.nodeCount.count));this.computeTransformMatrix(),this.matrix.toContext(t);let{x1:n,y1:r,x2:o,y2:s}=this;n=this.align(n),r=this.align(r),o=this.align(o),s=this.align(s);const{fill:l,opacity:c,isRange:d}=this;if(!(!d||!l)){const{fillOpacity:e}=this;t.fillStyle=l,t.globalAlpha=c*e,t.beginPath(),t.moveTo(n,r),t.lineTo(o,r),t.lineTo(o,s),t.lineTo(n,s),t.closePath(),t.fill()}const{stroke:h,strokeWidth:u,startLine:g,endLine:p}=this;if(!(!g&&!p||!h||!u)){const{strokeOpacity:e,lineDash:i,lineDashOffset:a,lineCap:l,lineJoin:d}=this;t.strokeStyle=h,t.globalAlpha=c*e,t.lineWidth=u,i&&t.setLineDash(i),a&&(t.lineDashOffset=a),l&&(t.lineCap=l),d&&(t.lineJoin=d),t.beginPath(),g&&(t.moveTo(n,r),t.lineTo(o,r)),p&&(t.moveTo(o,s),t.lineTo(n,s)),t.stroke()}this.fillShadow?.markClean(),super.render(e)}};Sn.className="Range",Sn.defaultStyles={...wn.defaultStyles,strokeWidth:1},c([Pe({redraw:2})],Sn.prototype,"x1",2),c([Pe({redraw:2})],Sn.prototype,"y1",2),c([Pe({redraw:2})],Sn.prototype,"x2",2),c([Pe({redraw:2})],Sn.prototype,"y2",2),c([Pe({redraw:2})],Sn.prototype,"startLine",2),c([Pe({redraw:2})],Sn.prototype,"endLine",2),c([Pe({redraw:2})],Sn.prototype,"isRange",2);var xn=new WeakMap,kn=new WeakMap;function Mn(e,t){const i=JSON.stringify(e,null,0);return xn.has(t)||xn.set(t,new Map),xn.get(t)?.has(i)||xn.get(t)?.set(i,t(e)),xn.get(t)?.get(i)}function Rn(e){return(t,...i)=>{const a=JSON.stringify(t,null,0);return kn.has(e)||kn.set(e,new Map),kn.get(e)?.has(a)||kn.get(e)?.set(a,e(t,...i)),kn.get(e)?.get(a)}}var Dn=class{constructor(e){this.ctx=e,this.charMap=new Map}static createFontMeasurer(e){const t=function(e=0,t=0){return new OffscreenCanvas(e,t).getContext("2d")}(),i=new this(t);return this.instanceMap.set(e,i),t.font=e,i}static getFontMeasurer(e){const t=this.instanceMap.get(e.font)??this.createFontMeasurer(e.font);return e.textAlign&&(t.ctx.textAlign=e.textAlign),e.textBaseline&&(t.ctx.textBaseline=e.textBaseline),t}static measureText(e,t){const{ctx:i}=this.getFontMeasurer(t);return this.getMetrics(i,e)}static measureLines(e,t){const{ctx:i}=this.getFontMeasurer(t),a="string"==typeof e?e.split(this.lineSplitter):e;return this.getMultilineMetrics(i,a)}static wrapText(e,t){return this.wrapLines(e,t).join("\n")}static wrapLines(e,t){const i=e.split(this.lineSplitter),a=this.getFontMeasurer(t);if("never"===t.textWrap)return i.map((e=>this.truncateLine(e.trimEnd(),a,t.maxWidth)));const n=[],r="hyphenate"===t.textWrap,o="on-space"===t.textWrap;for(let e of i){e=e.trimEnd();for(let i=0,s=0,l=0;i<e.length;i++){const c=e.charAt(i);if(s+=a.textWidth(c)," "===c&&(l=i),s>t.maxWidth){if(0===i)break;if(l){const r=this.getWordAt(e,l+1),c=a.textWidth(r);if(c<=t.maxWidth){n.push(e.slice(0,l).trimEnd()),e=e.slice(l).trimStart(),i=-1,s=0,l=0;continue}o&&c>t.maxWidth&&n.push(e.slice(0,l).trimEnd(),this.truncateLine(e.slice(l).trimStart(),a,t.maxWidth,!0))}else o&&n.push(this.truncateLine(e,a,t.maxWidth,!0));if(o){e="";break}const c=r?"-":"";let d=e.slice(0,i).trim();for(;d.length&&a.textWidth(d+c)>t.maxWidth;)d=d.slice(0,-1).trimEnd();if(n.push(d+c),!d.length){e="";break}e=e.slice(d.length).trimStart(),i=-1,s=0,l=0}}e&&n.push(e)}return this.avoidOrphans(n,a,t),this.clipLines(n,a,t)}static getWordAt(e,t){const i=e.indexOf(" ",t);return-1===i?e.slice(t):e.slice(t,i)}static clipLines(e,t,i){if(!i.maxHeight)return e;const{height:a,lineMetrics:n}=this.measureLines(e,i);if(a<=i.maxHeight)return e;for(let a=0,r=0;a<n.length;a++){const{lineHeight:o}=n[a];if(r+=o,r>i.maxHeight){const n=e.slice(0,Math.max(a,1)),r=n.pop();return n.concat(this.truncateLine(r,t,i.maxWidth,!0))}}return e}static avoidOrphans(e,t,i){if(e.length<2)return;const{length:a}=e,n=e[a-1],r=e[a-2];if(r.length<n.length)return;const o=r.lastIndexOf(" ");if(-1===o||o===r.indexOf(" ")||n.includes(" "))return;const s=r.slice(o+1);t.textWidth(n+s)<=i.maxWidth&&(e[a-2]=r.slice(0,o),e[a-1]=s+" "+n)}static truncateLine(e,t,i,a){const n=t.textWidth(this.EllipsisChar);let r=0,o=0;for(;o<e.length;o++){const a=t.textWidth(e.charAt(o));if(r+a>i)break;r+=a}if(e.length===o&&(!a||r+n<=i))return a?e+this.EllipsisChar:e;for(e=e.slice(0,o).trimEnd();e.length&&t.textWidth(e)+n>i;)e=e.slice(0,-1).trimEnd();return e+this.EllipsisChar}static getMetrics(e,t){const i=e.measureText(t);return i.fontBoundingBoxAscent??(i.fontBoundingBoxAscent=i.emHeightAscent),i.fontBoundingBoxDescent??(i.fontBoundingBoxDescent=i.emHeightDescent),{width:i.width,height:i.actualBoundingBoxAscent+i.actualBoundingBoxDescent,lineHeight:i.fontBoundingBoxAscent+i.fontBoundingBoxDescent,offsetTop:i.actualBoundingBoxAscent,offsetLeft:i.actualBoundingBoxLeft}}static getMultilineMetrics(e,t){let i=0,a=0,n=0,r=0,o=0;const s=this.getVerticalModifier(e.textBaseline),l=t.map(((t,s,{length:l})=>{const c=e.measureText(t);return c.fontBoundingBoxAscent??(c.fontBoundingBoxAscent=c.emHeightAscent),c.fontBoundingBoxDescent??(c.fontBoundingBoxDescent=c.emHeightDescent),i<c.width&&(i=c.width),r<c.actualBoundingBoxLeft&&(r=c.actualBoundingBoxLeft),0===s?(a+=c.actualBoundingBoxAscent,n+=c.actualBoundingBoxAscent):o+=c.fontBoundingBoxAscent,s===l-1?a+=c.actualBoundingBoxDescent:o+=c.fontBoundingBoxDescent,{text:t,width:c.width,height:c.actualBoundingBoxAscent+c.actualBoundingBoxDescent,lineHeight:c.fontBoundingBoxAscent+c.fontBoundingBoxDescent,offsetTop:c.actualBoundingBoxAscent,offsetLeft:c.actualBoundingBoxLeft}}));return a+=o,n+=o*s,{width:i,height:a,offsetTop:n,offsetLeft:r,lineMetrics:l}}static getVerticalModifier(e){switch(e){case"hanging":case"top":return 0;case"middle":return.5;default:return 1}}textWidth(e,t){if(t){let t=0;for(let i=0;i<e.length;i++)t+=this.textWidth(e.charAt(i));return t}return e.length>1?this.ctx.measureText(e).width:this.charMap.get(e)??this.charWidth(e)}charWidth(e){const{width:t}=this.ctx.measureText(e);return this.charMap.set(e,t),t}};Dn.EllipsisChar="…",Dn.instanceMap=new Map,Dn.lineSplitter=/\r?\n/g;function An(e){const{redraw:t=3,changeCb:i}=e??{};return Pe({redraw:t,type:"font",changeCb:i})}var En=class e extends wn{constructor(){super(...arguments),this.x=0,this.y=0,this.lines=[],this.text=void 0,this._dirtyFont=!0,this.fontSize=10,this.fontFamily="sans-serif",this.textAlign=e.defaultStyles.textAlign,this.textBaseline=e.defaultStyles.textBaseline}onTextChange(){this.lines=this.text?.split("\n").map((e=>e.trim()))??[]}get font(){return(null==this._font||this._dirtyFont)&&(this._dirtyFont=!1,this._font=Pn(this)),this._font}computeBBox(){const{x:e,y:t,lines:i,textBaseline:a,textAlign:n}=this,{offsetTop:r,offsetLeft:o,width:s,height:l}=Dn.measureLines(i,{font:Pn(this),textBaseline:a,textAlign:n});return new Ee(e-o,t-r,s,l)}getLineHeight(e){return this.lineHeight??Dn.measureText(e,this).lineHeight}isPointInPath(e,t){const i=this.transformPoint(e,t),a=this.computeBBox();return!!a&&a.containsPoint(i.x,i.y)}render(e){const{ctx:t,forceRender:i,stats:a}=e;if(0===this.dirty&&!i)return void(a&&(a.nodesSkipped+=this.nodeCount.count));if(!this.lines.length||!this.layerManager)return void(a&&(a.nodesSkipped+=this.nodeCount.count));this.computeTransformMatrix(),this.matrix.toContext(t);const{fill:n,stroke:r,strokeWidth:o}=this,{pixelRatio:s}=this.layerManager.canvas;if(t.font=this.font,t.textAlign=this.textAlign,t.textBaseline=this.textBaseline,n){t.fillStyle=n,t.globalAlpha*=this.opacity*this.fillOpacity;const{fillShadow:e}=this;e?.enabled&&(t.shadowColor=e.color,t.shadowOffsetX=e.xOffset*s,t.shadowOffsetY=e.yOffset*s,t.shadowBlur=e.blur*s),this.renderLines(((e,i,a)=>t.fillText(e,i,a)))}if(r&&o){t.strokeStyle=r,t.lineWidth=o,t.globalAlpha*=this.opacity*this.strokeOpacity;const{lineDash:e,lineDashOffset:i,lineCap:a,lineJoin:n}=this;e&&t.setLineDash(e),i&&(t.lineDashOffset=i),a&&(t.lineCap=a),n&&(t.lineJoin=n),this.renderLines(((e,i,a)=>t.strokeText(e,i,a)))}super.render(e)}renderLines(t){const{lines:i,x:a,y:n}=this,r=i.map((e=>this.getLineHeight(e))),o=r.reduce(((e,t)=>e+t),0);let s=(r[0]-o)*e.getVerticalModifier(this.textBaseline);for(let e=0;e<i.length;e++)t(i[e],a,n+s),s+=r[e]}static wrapLines(e,t,i,a,n,r){const o=Dn.wrapLines(e,{maxWidth:t,maxHeight:i,font:Pn(a),textAlign:a.textAlign,textBaseline:a.textBaseline,textWrap:n});if("hide"!==r||!o.some((e=>e.endsWith(Dn.EllipsisChar))))return o}static wrap(t,i,a,n,r,o="ellipsis"){const s=e.wrapLines(t,i,a,n,r,o);return s?.join("\n").trim()??""}setFont(e){this.fontFamily=e.fontFamily,this.fontSize=e.fontSize,this.fontStyle=e.fontStyle,this.fontWeight=e.fontWeight}setAlign(e){this.textAlign=e.textAlign,this.textBaseline=e.textBaseline}static getVerticalModifier(e){switch(e){case"top":case"hanging":return 0;case"bottom":case"alphabetic":case"ideographic":return 1;case"middle":return.5}}static measureText(e,t,i,a){return this._measureText({text:e,font:t,textBaseline:i,textAlign:a})}static getTextSize(e,t){return this._getTextSize({text:e,font:t})}static getTextSizeMultiline(t,i,a=e.defaultStyles.textBaseline,n=e.defaultStyles.textAlign){const r=Dn.measureLines(t,{font:i,textBaseline:a,textAlign:n});return{top:r.offsetTop,left:r.offsetLeft,width:r.width,height:r.height}}};En.className="Text",En.defaultLineHeightRatio=1.15,En.defaultStyles=Object.assign({},wn.defaultStyles,{textAlign:"start",fontStyle:void 0,fontWeight:void 0,fontSize:10,fontFamily:"sans-serif",textBaseline:"alphabetic"}),En.ellipsis="…",En._measureText=Rn((({text:e,font:t,textBaseline:i,textAlign:a})=>Dn.measureText(e,{font:t,textBaseline:i,textAlign:a}))),En._getTextSize=Rn((({text:e,font:t})=>Dn.measureText(e,{font:t}))),c([Pe({redraw:3})],En.prototype,"x",2),c([Pe({redraw:3})],En.prototype,"y",2),c([Pe({redraw:3,changeCb:e=>e.onTextChange()})],En.prototype,"text",2),c([An()],En.prototype,"fontStyle",2),c([An()],En.prototype,"fontWeight",2),c([An()],En.prototype,"fontSize",2),c([An()],En.prototype,"fontFamily",2),c([Pe({redraw:3})],En.prototype,"textAlign",2),c([Pe({redraw:3})],En.prototype,"textBaseline",2),c([Pe({redraw:3})],En.prototype,"lineHeight",2);var Tn=En;function Pn(e){const{fontFamily:t,fontSize:i,fontStyle:a,fontWeight:n}=e;return[a??"",n??"",i+"px",t].join(" ").trim()}var Fn=class extends Mt{constructor(){super(...arguments),this.enabled=!0,this.fontSize=12,this.fontFamily="Verdana, sans-serif"}getFont(){return Pn(this)}};function In(e){const{parallelFlipRotation:t=0,regularFlipRotation:i=0}=e,a=e.rotation?ln(un(e.rotation)):0,n=!a&&t>=0&&t<=Math.PI?-1:1,r=!a&&i>=0&&i<=Math.PI?-1:1;let o=0;return e.parallel?o=n*Math.PI/2:-1===r&&(o=Math.PI),{configuredRotation:a,defaultRotation:o,parallelFlipFlag:n,regularFlipFlag:r}}function Ln(e,t,i,a,n){const r=t>0&&t<=Math.PI,o=i>0&&i<=Math.PI;if(e){if(!t&&!i)return"center";if(a*(r||o?-1:1)==-1)return"end"}else if(a*n==-1)return"end";return"start"}function Nn(e,t,i,a,n){const{width:r,height:o}=t,s=new Ee(i,a,0,0);n.transformBBox(s,t);const{x:l,y:c}=t;return t.width=r,t.height=o,{point:{x:l,y:c},label:{text:e,width:r,height:o}}}c([mi(wi)],Fn.prototype,"enabled",2),c([mi(Gi,{optional:!0})],Fn.prototype,"color",2),c([mi($i,{optional:!0})],Fn.prototype,"fontStyle",2),c([mi(Zi,{optional:!0})],Fn.prototype,"fontWeight",2),c([mi(Ri)],Fn.prototype,"fontSize",2),c([mi(xi)],Fn.prototype,"fontFamily",2),c([mi(Si,{optional:!0})],Fn.prototype,"formatter",2);var On=(e=>(e[e.SERIES_BACKGROUND_ZINDEX=0]="SERIES_BACKGROUND_ZINDEX",e[e.AXIS_GRID_ZINDEX=1]="AXIS_GRID_ZINDEX",e[e.AXIS_ZINDEX=2]="AXIS_ZINDEX",e[e.SERIES_CROSSLINE_RANGE_ZINDEX=3]="SERIES_CROSSLINE_RANGE_ZINDEX",e[e.SERIES_LAYER_ZINDEX=4]="SERIES_LAYER_ZINDEX",e[e.SERIES_HIGHLIGHT_ZINDEX=5]="SERIES_HIGHLIGHT_ZINDEX",e[e.AXIS_FOREGROUND_ZINDEX=6]="AXIS_FOREGROUND_ZINDEX",e[e.SERIES_CROSSHAIR_ZINDEX=7]="SERIES_CROSSHAIR_ZINDEX",e[e.SERIES_LABEL_ZINDEX=8]="SERIES_LABEL_ZINDEX",e[e.SERIES_CROSSLINE_LINE_ZINDEX=9]="SERIES_CROSSLINE_LINE_ZINDEX",e[e.SERIES_ANNOTATION_ZINDEX=10]="SERIES_ANNOTATION_ZINDEX",e[e.LEGEND_ZINDEX=11]="LEGEND_ZINDEX",e[e.NAVIGATOR_ZINDEX=12]="NAVIGATOR_ZINDEX",e))(On||{});function zn(e){return null!=e&&Object.hasOwn(e,"toString")&&ct(e.toString())}function Gn(e){return null!=e&&Object.hasOwn(e,"valueOf")&&ht(e.valueOf())}function Bn(e){return ht(e)||at(e)||Gn(e)}function Vn(e,t){return null!=e&&(!t||Bn(e))}function Hn(e){return zn(e)&&Object.hasOwn(e,"id")?e.id:e}var Wn=e=>"value"===e?la(((e,t)=>"line"===t.target.type),(e=>"range"===e.target.type?"crossLine type 'range' to have a 'range' property instead of 'value'":"crossLine property 'type' to be 'line'")):la(((e,t)=>"range"===t.target.type),(e=>"line"===e.target.type?"crossLine type 'line' to have a 'value' property instead of 'range'":"crossLine property 'type' to be 'range'")),_n=(e,t,i,a)=>{const n="line"===e&&void 0!==t,r="range"===e&&void 0!==i;if(!n&&!r)return!0;const[o,s]=i??[t,void 0],l=fa.is(a)||en.is(a),c=Vn(o,l)&&!isNaN(a.convert(o)),d=Vn(s,l)&&!isNaN(a.convert(s));if(n&&c||r&&c&&d)return!0;const h=["Expecting crossLine"];return r?(c||h.push(`range start ${ha(o)}`),d||h.push(`${c?"":"and "}range end ${ha(s)}`)):h.push(`value ${ha(o)}`),h.push("to match the axis scale domain."),C.warnOnce(h.join(" ")),!1},qn={top:{xTranslationDirection:0,yTranslationDirection:-1},bottom:{xTranslationDirection:0,yTranslationDirection:1},left:{xTranslationDirection:-1,yTranslationDirection:0},right:{xTranslationDirection:1,yTranslationDirection:0},topLeft:{xTranslationDirection:1,yTranslationDirection:-1},topRight:{xTranslationDirection:-1,yTranslationDirection:-1},bottomLeft:{xTranslationDirection:1,yTranslationDirection:1},bottomRight:{xTranslationDirection:-1,yTranslationDirection:1},inside:{xTranslationDirection:0,yTranslationDirection:0},insideLeft:{xTranslationDirection:1,yTranslationDirection:0},insideRight:{xTranslationDirection:-1,yTranslationDirection:0},insideTop:{xTranslationDirection:0,yTranslationDirection:1},insideBottom:{xTranslationDirection:0,yTranslationDirection:-1},insideTopLeft:{xTranslationDirection:1,yTranslationDirection:1},insideBottomLeft:{xTranslationDirection:1,yTranslationDirection:-1},insideTopRight:{xTranslationDirection:-1,yTranslationDirection:1},insideBottomRight:{xTranslationDirection:-1,yTranslationDirection:-1}},Un={top:{xTranslationDirection:1,yTranslationDirection:0},bottom:{xTranslationDirection:-1,yTranslationDirection:0},left:{xTranslationDirection:0,yTranslationDirection:-1},right:{xTranslationDirection:0,yTranslationDirection:1},topLeft:{xTranslationDirection:-1,yTranslationDirection:-1},topRight:{xTranslationDirection:-1,yTranslationDirection:1},bottomLeft:{xTranslationDirection:1,yTranslationDirection:-1},bottomRight:{xTranslationDirection:1,yTranslationDirection:1},inside:{xTranslationDirection:0,yTranslationDirection:0},insideLeft:{xTranslationDirection:0,yTranslationDirection:1},insideRight:{xTranslationDirection:0,yTranslationDirection:-1},insideTop:{xTranslationDirection:-1,yTranslationDirection:0},insideBottom:{xTranslationDirection:1,yTranslationDirection:0},insideTopLeft:{xTranslationDirection:-1,yTranslationDirection:1},insideBottomLeft:{xTranslationDirection:1,yTranslationDirection:1},insideTopRight:{xTranslationDirection:-1,yTranslationDirection:-1},insideBottomRight:{xTranslationDirection:1,yTranslationDirection:-1}};function Kn({yDirection:e,padding:t=0,position:i="top",bbox:a}){const n=e?qn:Un,{xTranslationDirection:r,yTranslationDirection:o}=n[i];return{xTranslation:r*(t+(e?a.width:a.height)/2),yTranslation:o*(t+(e?a.height:a.width)/2)}}function jn({yDirection:e,bbox:t,padding:i=0,position:a="top"}){const n={};return a.startsWith("inside")||("top"!==a||e?"bottom"!==a||e?"left"===a&&e?n.left=i+t.width:"right"===a&&e&&(n.right=i+t.width):n.bottom=i+t.height:n.top=i+t.height),n}var Yn=({yDirection:e,xEnd:t,yStart:i,yEnd:a})=>e?{x:t/2,y:i}:{x:t,y:isNaN(a)?i:(i+a)/2},$n=({yDirection:e,xStart:t,xEnd:i,yStart:a,yEnd:n})=>e?{x:t,y:isNaN(n)?a:(a+n)/2}:{x:i/2,y:a},Zn=({yDirection:e,xEnd:t,yStart:i,yEnd:a})=>e?{x:t,y:isNaN(a)?i:(i+a)/2}:{x:t/2,y:isNaN(a)?i:a},Xn=({yDirection:e,xStart:t,xEnd:i,yStart:a,yEnd:n})=>e?{x:i/2,y:isNaN(n)?a:n}:{x:t,y:isNaN(n)?a:(a+n)/2},Qn=({yDirection:e,xStart:t,xEnd:i,yStart:a})=>e?{x:t/2,y:a}:{x:i,y:a},Jn=({yDirection:e,xStart:t,yStart:i,yEnd:a})=>e?{x:t,y:isNaN(a)?i:a}:{x:t,y:i},er=({yDirection:e,xEnd:t,yStart:i,yEnd:a})=>e?{x:t,y:i}:{x:t,y:isNaN(a)?i:a},tr=({yDirection:e,xStart:t,xEnd:i,yStart:a,yEnd:n})=>e?{x:i,y:isNaN(n)?a:n}:{x:t,y:isNaN(n)?a:n},ir={top:{c:Yn},bottom:{c:Xn},left:{c:$n},right:{c:Zn},topLeft:{c:Qn},topRight:{c:er},bottomLeft:{c:Jn},bottomRight:{c:tr},inside:{c:({xEnd:e,yStart:t,yEnd:i})=>({x:e/2,y:isNaN(i)?t:(t+i)/2})},insideLeft:{c:$n},insideRight:{c:Zn},insideTop:{c:Yn},insideBottom:{c:Xn},insideTopLeft:{c:Qn},insideBottomLeft:{c:Jn},insideTopRight:{c:er},insideBottomRight:{c:tr}},ar=ra(["top","left","right","bottom","topLeft","topRight","bottomLeft","bottomRight","inside","insideLeft","insideRight","insideTop","insideBottom","insideTopLeft","insideBottomLeft","insideTopRight","insideBottomRight"],"crossLine label position"),nr=class{constructor(){this.enabled=void 0,this.text=void 0,this.fontStyle=void 0,this.fontWeight=void 0,this.fontSize=14,this.fontFamily="Verdana, sans-serif",this.padding=5,this.color="rgba(87, 87, 87, 1)",this.position=void 0,this.rotation=void 0,this.parallel=void 0}};c([mi(wi,{optional:!0})],nr.prototype,"enabled",2),c([mi(xi,{optional:!0})],nr.prototype,"text",2),c([mi($i,{optional:!0})],nr.prototype,"fontStyle",2),c([mi(Zi,{optional:!0})],nr.prototype,"fontWeight",2),c([mi(Ri)],nr.prototype,"fontSize",2),c([mi(xi)],nr.prototype,"fontFamily",2),c([mi(ki)],nr.prototype,"padding",2),c([mi(Gi,{optional:!0})],nr.prototype,"color",2),c([mi(ar,{optional:!0})],nr.prototype,"position",2),c([mi(Ai,{optional:!0})],nr.prototype,"rotation",2),c([mi(wi,{optional:!0})],nr.prototype,"parallel",2);var rr=class e{constructor(){this.id=de(this),this.enabled=void 0,this.type=void 0,this.range=void 0,this.value=void 0,this.fill=void 0,this.fillOpacity=void 0,this.stroke=void 0,this.strokeWidth=void 0,this.strokeOpacity=void 0,this.lineDash=void 0,this.label=new nr,this.scale=void 0,this.clippedRange=[-1/0,1/0],this.gridLength=0,this.sideFlag=-1,this.parallelFlipRotation=0,this.regularFlipRotation=0,this.direction="x",this.group=new on({name:`${this.id}`,layer:!0,zIndex:e.LINE_LAYER_ZINDEX}),this.labelGroup=new on({name:`${this.id}`,layer:!0,zIndex:e.LABEL_LAYER_ZINDEX}),this.crossLineRange=new Sn,this.crossLineLabel=new Tn,this.labelPoint=void 0,this.data=[],this.startLine=!1,this.endLine=!1,this.isRange=!1;const{group:t,labelGroup:i,crossLineRange:a,crossLineLabel:n}=this;t.append(a),i.append(n),a.pointerEvents=1}update(e){const{enabled:t,data:i,type:a,value:n,range:r,scale:o}=this;if(!(a&&o&&t&&e&&_n(a,n,r,o)&&0!==i.length))return this.group.visible=!1,void(this.labelGroup.visible=!1);this.group.visible=e,this.labelGroup.visible=e,this.group.zIndex=this.getZIndex(this.isRange),this.updateNodes()}calculateLayout(e,t){if(!e)return;if(!this.createNodeData(t))return;const{sideFlag:i,gridLength:a,data:n}=this,r=[],o=i*a,s=n[0],l=n[1],c=new Ee(Math.min(0,o),Math.min(s,l),Math.abs(0-o),Math.abs(s-l));r.push(c);const d=this.computeLabelBBox();return d&&r.push(d),Ee.merge(r)}updateNodes(){this.updateRangeNode(),this.label.enabled&&(this.updateLabel(),this.positionLabel())}createNodeData(e){const{scale:t,gridLength:i,sideFlag:a,direction:n,label:{position:r="top"},clippedRange:o,strokeWidth:s=0}=this;if(this.data=[],!t)return!1;const l=t.bandwidth??0,c=t.step??0,d=(e?-1:1)*(t instanceof pi?(c-l)/2:0),[h,u]=[0,a*i];let[g,p]=this.getRange();const m=void 0===p&&en.is(t)?l/2+d:0;let[f,v]=[Number(t.convert(g,{clampMode:"clamped"}))-d+m,t.convert(p,{clampMode:"clamped"})+l+d];f=ve(f,o),v=ve(v,o),[g,p]=[Number(t.convert(g))+m,t.convert(p)+l];const y=(g===f||p===v||f!==v)&&Math.abs(v-f)>0;if(y&&f>v&&([f,v]=[v,f],[g,p]=[p,g]),g-d>=f&&(g-=d),p+d<=v&&(p+=d),this.isRange=y,this.startLine=s>0&&g>=f&&g<=f+d,this.endLine=s>0&&p>=v-l-d&&p<=v,!y&&!this.startLine&&!this.endLine)return!1;if(this.data=[f,v],this.label.enabled){const e="y"===n,{c:t=Yn}=ir[r]??{},{x:i,y:a}=t({yDirection:e,xStart:h,xEnd:u,yStart:f,yEnd:v});this.labelPoint={x:i,y:a}}return!0}updateRangeNode(){const{crossLineRange:e,sideFlag:t,gridLength:i,data:a,startLine:n,endLine:r,isRange:o,fill:s,fillOpacity:l,stroke:c,strokeWidth:d,lineDash:h}=this;e.x1=0,e.x2=t*i,e.y1=a[0],e.y2=a[1],e.startLine=n,e.endLine=r,e.isRange=o,e.fill=s,e.fillOpacity=l??1,e.stroke=c,e.strokeWidth=d??1,e.strokeOpacity=this.strokeOpacity??1,e.lineDash=h}updateLabel(){const{crossLineLabel:e,label:t}=this;t.text&&(e.fontStyle=t.fontStyle,e.fontWeight=t.fontWeight,e.fontSize=t.fontSize,e.fontFamily=t.fontFamily,e.fill=t.color,e.text=t.text)}positionLabel(){const{crossLineLabel:e,labelPoint:{x:t,y:i}={},label:{parallel:a,rotation:n,position:r="top",padding:o=0},direction:s,parallelFlipRotation:l,regularFlipRotation:c}=this;if(void 0===t||void 0===i)return;const{defaultRotation:d,configuredRotation:h}=In({rotation:n,parallel:a,regularFlipRotation:c,parallelFlipRotation:l});e.rotation=d+h,e.textBaseline="middle",e.textAlign="center";const u=e.computeTransformedBBox();if(!u)return;const g="y"===s,{xTranslation:p,yTranslation:m}=Kn({yDirection:g,padding:o,position:r,bbox:u});e.translationX=t+p,e.translationY=i+m}getZIndex(t=!1){return t?e.RANGE_LAYER_ZINDEX:e.LINE_LAYER_ZINDEX}getRange(){const{value:e,range:t,scale:i}=this,a=fa.is(i)||en.is(i),n=t?.[0]??e;let r=t?.[1];return a||void 0!==r||(r=n),a&&n===r&&(r=void 0),[n,r]}computeLabelBBox(){const{label:e}=this;if(!e.enabled)return;const t=new Tn;t.fontFamily=e.fontFamily,t.fontSize=e.fontSize,t.fontStyle=e.fontStyle,t.fontWeight=e.fontWeight,t.text=e.text;const{labelPoint:{x:i,y:a}={},label:{parallel:n,rotation:r,position:o="top",padding:s=0},direction:l,parallelFlipRotation:c,regularFlipRotation:d}=this;if(void 0===i||void 0===a)return;const{configuredRotation:h}=In({rotation:r,parallel:n,regularFlipRotation:d,parallelFlipRotation:c});t.rotation=h,t.textBaseline="middle",t.textAlign="center";const u=t.computeTransformedBBox();if(!u)return;const g="y"===l,{xTranslation:p,yTranslation:m}=Kn({yDirection:g,padding:s,position:o,bbox:u});return t.translationX=i+p,t.translationY=a+m,t.computeTransformedBBox()}calculatePadding(e){const{isRange:t,startLine:i,endLine:a,direction:n,label:{padding:r=0,position:o="top"}}=this;if(!t&&!i&&!a)return;const s=this.computeLabelBBox();if(null==s?.x||null==s?.y)return;const l=jn({yDirection:"y"===n,padding:r,position:o,bbox:s});e.left=Math.max(e.left??0,l.left??0),e.right=Math.max(e.right??0,l.right??0),e.top=Math.max(e.top??0,l.top??0),e.bottom=Math.max(e.bottom??0,l.bottom??0)}};rr.LINE_LAYER_ZINDEX=9,rr.RANGE_LAYER_ZINDEX=3,rr.LABEL_LAYER_ZINDEX=8,rr.className="CrossLine",c([mi(wi,{optional:!0})],rr.prototype,"enabled",2),c([mi(ra(["range","line"],"a crossLine type"),{optional:!0})],rr.prototype,"type",2),c([mi(vi(Wn("range"),Ti.restrict({length:2})),{optional:!0})],rr.prototype,"range",2),c([mi(Wn("value"),{optional:!0})],rr.prototype,"value",2),c([mi(Gi,{optional:!0})],rr.prototype,"fill",2),c([mi(Di,{optional:!0})],rr.prototype,"fillOpacity",2),c([mi(Gi,{optional:!0})],rr.prototype,"stroke",2),c([mi(ki,{optional:!0})],rr.prototype,"strokeWidth",2),c([mi(Di,{optional:!0})],rr.prototype,"strokeOpacity",2),c([mi(ji,{optional:!0})],rr.prototype,"lineDash",2);var or=rr,sr=class{constructor(){this.moduleMap=new Map}*modules(){const e=["toolbar","navigator"];for(const t of this.moduleMap.values())e.includes(t.module.optionsKey)||(yield t.moduleInstance);for(const t of e){const e=this.moduleMap.get(t);e&&(yield e.moduleInstance)}}addModule(e,t){if(this.moduleMap.has(e.optionsKey))throw new Error(`AG Charts - module already initialised: ${e.optionsKey}`);this.moduleMap.set(e.optionsKey,{module:e,moduleInstance:t(e)})}removeModule(e){const t=ct(e)?e:e.optionsKey;this.moduleMap.get(t)?.moduleInstance.destroy(),this.moduleMap.delete(t)}getModule(e){return this.moduleMap.get(ct(e)?e:e.optionsKey)?.moduleInstance}isEnabled(e){return this.moduleMap.has(ct(e)?e:e.optionsKey)}mapModules(e){return Array.from(this.moduleMap.values(),((t,i)=>e(t.moduleInstance,i)))}destroy(){for(const e of this.moduleMap.keys())this.moduleMap.get(e)?.moduleInstance.destroy();this.moduleMap.clear()}},lr={};function cr(e,t){const{nodes:i,selections:a}=$t(e);for(const e of a){for(const i of e.nodes()){const e=t(i,i.datum);i.setProperties(e)}e.cleanup()}for(const e of i){const i=t(e,e.datum);e.setProperties(i)}}l(lr,{resetMotion:()=>cr});var dr=class e extends fa{constructor(){super([1,10],[0,1]),this.type="log",this.base=10,this.baseLog=v,this.basePow=v,this.log=e=>Math.min(...this.domain)>=0?this.baseLog(e):-this.baseLog(-e),this.pow=e=>Math.min(...this.domain)>=0?this.basePow(e):-this.basePow(-e),this.defaultClampMode="clamped"}toDomain(e){return e}transform(e){return Math.min(...this.domain)>=0?Math.log(e):-Math.log(-e)}transformInvert(e){return Math.min(...this.domain)>=0?Math.exp(e):-Math.exp(-e)}refresh(){this.base<=0&&(this.base=0,C.warnOnce("expecting a finite Number greater than to 0")),super.refresh()}update(){!this.domain||this.domain.length<2||(this.baseLog=e.getBaseLogMethod(this.base),this.basePow=e.getBasePowerMethod(this.base),this.nice&&this.updateNiceDomain())}updateNiceDomain(){const[e,t]=this.domain,i=e>t?Math.ceil:Math.floor,a=e>t?Math.floor:Math.ceil,n=this.pow(i(this.log(e))),r=this.pow(a(this.log(t)));this.niceDomain=[n,r]}ticks(){const e=this.tickCount??10;if(!this.domain||this.domain.length<2||e<1)return[];this.refresh();const t=this.base,[i,a]=this.getDomain(),n=Math.min(i,a),r=Math.max(i,a);let o=this.log(n),s=this.log(r);if(this.interval){const e=e=>e>=n&&e<=r,t=$a(o,s,Math.min(Math.abs(this.interval),Math.abs(s-o))).map(this.pow).filter(e);if(!Za(t.length,this.getPixelRange()))return t}if(!(t%1==0)||s-o>=e)return qa(o,s,Math.min(s-o,e)).map(this.pow);const l=[],c=n>0;o=Math.floor(o)-1,s=Math.round(s)+1;const d=be(this.range)/e;let h=1/0;for(let e=o;e<=s;e++){const i=this.convert(this.pow(e+1));for(let a=1;a<t;a++){const o=c?a:t-a+1,s=this.pow(e)*o,u=this.convert(s),g=Math.abs(h-u),p=Math.abs(u-i);s>=n&&s<=r&&(1===a||g>=d&&p>=d||0===l.length)&&(l.push(s),h=u)}}return l}tickFormat({count:e,ticks:t,specifier:i}){return e!==1/0&&null==t&&this.ticks(),i??(i=10===this.base?".0e":","),ct(i)?Ta(i):i}static getBaseLogMethod(e){switch(e){case 10:return Math.log10;case Math.E:return Math.log;case 2:return Math.log2;default:const t=Math.log(e);return e=>Math.log(e)/t}}static getBasePowerMethod(e){switch(e){case 10:return e=>e>=0?10**e:1/10**-e;case Math.E:return Math.exp;default:return t=>e**t}}};c([ui],dr.prototype,"base",2);var hr=dr,ur={};function gr(e){return e?ur.document?.[e]:ur.document}function pr(e){return e?ur.window?.[e]:ur.window}function mr(e,t,i){const a=gr().createElement(e);return"object"==typeof t&&(i=t,t=void 0),t&&a.classList.add(t),i&&Object.assign(a.style,i),a}function fr(e,t){const{body:i}=gr(),a=mr("a",{display:"none"});a.href=e,a.download=t,i.appendChild(a),a.click(),setTimeout((()=>i.removeChild(a)))}function vr(e){ur.document=e}function yr(e){ur.window=e}function br(e,t){e&&(e.style.width=`${t.width}px`,e.style.height=`${t.height}px`,e.style.left=`${t.x}px`,e.style.top=`${t.y}px`)}"undefined"!=typeof window?ur.window=window:void 0!==i.g&&(ur.window=i.g.window),"undefined"!=typeof document?ur.document=document:void 0!==i.g&&(ur.document=i.g.document);var Cr=Date.now(),wr={create(...e){return Object.assign(((...t)=>{wr.check(...e)&&("function"==typeof t[0]&&(t=Sa(t[0]())),(()=>{const e=Date.now()-Cr;if(e>2e3){const t=(Math.floor(e/100)/10).toFixed(1);C.log(`**** ${t}s since last log message ****`)}Cr=Date.now()})(),C.log(...t))}),{check:()=>wr.check(...e)})},check(...e){0===e.length&&e.push(!0);return Sa(pr("agChartsDebug")).some((t=>e.includes(t)))}},Sr=class e{constructor(e,t,i=!0){this.parentNode=e,this.autoCleanup=i,this.garbageBin=new Set,this._nodesMap=new Map,this._nodes=[],this.data=[],this.debug=wr.create(!0,"scene","scene:selections"),this.nodeFactory=Object.prototype.isPrototypeOf.call(Ge,t)?()=>new t:t}static select(t,i,a=!0){return new e(t,i,a)}static selectAll(e,t){const i=[],a=e=>{t(e)&&i.push(e),e.children.forEach(a)};return a(e),i}static selectByClass(t,i,...a){return e.selectAll(t,(e=>e instanceof i||a.some((t=>e instanceof t))))}static selectByTag(t,i){return e.selectAll(t,(e=>e.tag===i))}createNode(e,t,i){const a=this.nodeFactory(e);return a.datum=e,t?.(a),null==i?this._nodes.push(a):this._nodes.splice(i,0,a),this.parentNode.appendChild(a),a}update(e,t,i){if(this.garbageBin.size>0&&this.debug(`Selection - update() called with pending garbage: ${e}`),i){const a=new Map(e.map(((e,t)=>[i(e),[e,t]])));for(const[e,t]of this._nodesMap.entries())if(a.has(t)){const[i]=a.get(t);e.datum=i,this.garbageBin.delete(e),a.delete(t)}else this.garbageBin.add(e);for(const[e,[i,n]]of a.entries())this._nodesMap.set(this.createNode(i,t,n),e)}else{const i=Math.max(e.length,this.data.length);for(let a=0;a<i;a++)a>=e.length?this.garbageBin.add(this._nodes[a]):a>=this._nodes.length?this.createNode(e[a],t):(this._nodes[a].datum=e[a],this.garbageBin.delete(this._nodes[a]))}return this.data=e.slice(),this.autoCleanup&&this.cleanup(),this}cleanup(){return 0===this.garbageBin.size||(this._nodes=this._nodes.filter((e=>!this.garbageBin.has(e)||(this._nodesMap.delete(e),this.garbageBin.delete(e),e.destroy(),!1)))),this}clear(){return this.update([]),this}isGarbage(e){return this.garbageBin.has(e)}hasGarbage(){return this.garbageBin.size>0}each(e){for(const t of this._nodes.entries())e(t[1],t[1].datum,t[0]);return this}*[Symbol.iterator](){for(let e=0;e<this._nodes.length;e++){const t=this._nodes[e],i=this._nodes[e].datum;yield{node:t,datum:i,index:e}}}select(t){return e.selectAll(this.parentNode,t)}selectByClass(t){return e.selectByClass(this.parentNode,t)}selectByTag(t){return e.selectByTag(this.parentNode,t)}nodes(){return this._nodes}};function xr(e,t,i,a){const n=e-i,r=t-a;return n*n+r*r}function kr(e,t,i,a,n,r,o){if(i===n&&a===r)return Math.min(o,xr(e,t,i,a));const s=n-i,l=r-a,c=Math.max(0,Math.min(1,((e-i)*s+(t-a)*l)/(s*s+l*l))),d=i+c*s,h=a+c*l;return Math.min(o,xr(e,t,d,h))}function Mr(e,t,i,a,n,r,o,s,l){s&&([o,r]=[r,o]);if(!hn(Math.atan2(t-a,e-i),r,o)){const o=i+Math.cos(r)*n,s=a+Math.sin(r)*n,c=i+Math.cos(r)*n,d=a+Math.sin(r)*n;return Math.min(l,xr(e,t,o,s),xr(e,t,c,d))}const c=n-Math.sqrt(xr(e,t,i,a));return Math.min(l,c*c)}var Rr=class extends wn{constructor(e={}){super(e),this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.restoreOwnStyles()}set x(e){this.x1=e,this.x2=e}set y(e){this.y1=e,this.y2=e}computeBBox(){return new Ee(Math.min(this.x1,this.x2),Math.min(this.y1,this.y2),Math.abs(this.x2-this.x1),Math.abs(this.y2-this.y1))}isPointInPath(e,t){if(this.x1===this.x2||this.y1===this.y2){const{x:i,y:a}=this.transformPoint(e,t);return this.computeBBox().grow(this.strokeWidth/2).containsPoint(i,a)}return!1}distanceSquared(e,t){const{x1:i,y1:a,x2:n,y2:r}=this;return kr(e,t,i,a,n,r,1/0)}render(e){const{ctx:t,forceRender:i,stats:a,devicePixelRatio:n}=e;if(0===this.dirty&&!i)return void(a&&(a.nodesSkipped+=this.nodeCount.count));this.computeTransformMatrix(),this.matrix.toContext(t);let{x1:r,y1:o,x2:s,y2:l}=this;if(r===s){const{strokeWidth:e}=this,t=Math.round(r*n)/n+Math.trunc(e*n)%2/(2*n);r=t,s=t}else if(o===l){const{strokeWidth:e}=this,t=Math.round(o*n)/n+Math.trunc(e*n)%2/(2*n);o=t,l=t}t.beginPath(),t.moveTo(r,o),t.lineTo(s,l),this.fillStroke(t),this.fillShadow?.markClean(),super.render(e)}};function Dr(e,t,i,a,n,r){if(0===e.size)return!1;let o=e.x,s=e.y;null!=t&&(o-=(t.x-.5)*e.size,s-=(t.y-.5)*e.size);let l=o;o<i?l=i:o>i+n&&(l=i+n);let c=s;s<a?c=a:s>a+r&&(c=a+r);const d=o-l,h=s-c;return Math.sqrt(d*d+h*h)<=.5*e.size}function Ar(e,t,i,a,n){const r=e.x+e.width>t&&e.x<t+a,o=e.y+e.height>i&&e.y<i+n;return r&&o}Rr.className="Line",Rr.defaultStyles=Object.assign({},wn.defaultStyles,{fill:void 0,strokeWidth:1}),c([Pe({redraw:3})],Rr.prototype,"x1",2),c([Pe({redraw:3})],Rr.prototype,"y1",2),c([Pe({redraw:3})],Rr.prototype,"x2",2),c([Pe({redraw:3})],Rr.prototype,"y2",2);var Er={top:{x:0,y:-1},bottom:{x:0,y:1},left:{x:-1,y:0},right:{x:1,y:0}};function Tr(e,t){return e.length===t.length&&e.every(((e,i)=>{const a=t[i];return Array.isArray(e)&&Array.isArray(a)?Tr(e,a):e===a}))}function Pr(e,t){return e.length===t.length&&e.every(((e,i)=>Number(e)===Number(t[i])))}function Fr(e,t){const i=et(e)?e:e.split(".");if(1===i.length){const[e]=i;return $e(((t,i,a)=>t[e]=a),(t=>t[e]),t)}return $e(((e,t,a)=>xt(e,i,a)),(e=>wt(e,i)),t)}function Ir(e){return $e(((t,i,a)=>t[e]=a))}function Lr(e,t){return $e(((i,a,n)=>i[e][t??a]=n))}function Nr(e){const{newValue:t,oldValue:i,changeValue:a}=e;return $e(((e,n,r,o)=>(r!==o&&(void 0!==o&&i?.call(e,o),void 0!==r&&t?.call(e,r),a?.call(e,r,o)),r)))}function Or(e){return t=e,(e,i)=>{Ye(e,i).observers.push(t)};var t}var zr="color: green",Gr=class e{constructor(e,t,i){this.defaultState=e,this.states=t,this.enterEach=i,this.debug=wr.create(!0,"animation"),this.state=e,this.debug(`%c${this.constructor.name} | init -> ${e}`,zr)}is(e){return"__child"===this.state&&this.childState?this.childState.is(e):this.state===e}transition(t,i){if(!this.transitionChild(t,i)||"__child"===this.state||"__parent"===this.state)return;const a=this.states[this.state],n=a?.[t];if(!n)return void this.debug(`%c${this.constructor.name} | ${this.state} -> ${t} -> ${this.state}`,"color: grey");const r=this.getDestinationState(n),o=r===this.state?void 0:a.onExit;this.debug(`%c${this.constructor.name} | ${this.state} -> ${t} -> ${r}`,zr),this.enterEach?.(this.state,r),"__child"!==r&&"__parent"!==r&&this.states[r].onEnter?.(),this.state=r,"function"==typeof n?n(i):"object"!=typeof n||n instanceof e||n.action?.(i),o?.()}resetHierarchy(){this.debug(`%c${this.constructor.name} | ${this.state} -> [resetHierarchy] -> ${this.defaultState}`,"color: green"),this.state=this.defaultState}transitionChild(e,t){return"__child"!==this.state||!this.childState||(this.childState.transition(e,t),!this.childState.is("__parent")||(this.debug(`%c${this.constructor.name} | ${this.state} -> ${e} -> ${this.defaultState}`,zr),this.state=this.defaultState,this.states[this.state].onEnter?.(),this.childState.resetHierarchy(),!1))}getDestinationState(t){let i=this.state;return"string"==typeof t?i=t:t instanceof e?(this.childState=t,i="__child"):"object"==typeof t&&(t.target instanceof e?(this.childState=t.target,i="__child"):i=t.target),i}};function Br(e,t,i){void 0===i||""===i?e?.removeAttribute(t):e?.setAttribute(t,i.toString())}function Vr(e,t,i,a,n){let{top:r,right:o,bottom:s,left:l,width:c,height:d}=n;return null!=l?null!=c?o=i-l+c:null!=o&&(c=i-l-o):null!=o&&null!=c&&(l=i-o-c),null!=r?null!=d?s=a-r-d:null!=s&&(d=a-s-r):null!=s&&null!=d&&(r=a-s-d),null==c?null==d?(c=e,d=t):c=Math.ceil(e*d/t):null==d&&(d=Math.ceil(t*c/e)),null==l&&(l=null==o?Math.floor((i-c)/2):i-o-c),null==r&&(r=null==s?Math.floor((a-d)/2):a-d-s),{x:l,y:r,width:c,height:d}}var Hr="ag-chart-tooltip",Wr="ag-chart-dark-tooltip",_r={html:"",ariaLabel:""};function qr(e){const t=(e,t,i)=>0===t||"."!==i[t-1]?". ":" ";return e.replace(/<br\s*\/?>/g,t).replace(/<\/p\s+>/g,t).replace(/<\/li\s*>/g,t).replace(/<[^<>]+>/g,"").replace(/\n+/g," ").replace(/\s+/g," ")}function Ur(e,t){if("string"==typeof e)return{html:e,ariaLabel:e};const{content:i=t?.content??"",title:a=t?.title,color:n=t?.color??"white",backgroundColor:r=t?.backgroundColor??"#888"}=e;return{html:`${a?`<div class="${Hr}-title"\n style="color: ${n}; background-color: ${r}">${a}</div>`:""}${i?`<div class="${Hr}-content">${i}</div>`:""}`,ariaLabel:qr(`${a?`${a}: `:""}${i}`)}}var Kr=class extends Mt{constructor(){super(...arguments),this.type="pointer",this.xOffset=0,this.yOffset=0}};c([mi(ra(["pointer","node","top","right","bottom","left","top-left","top-right","bottom-right","bottom-left"],"a position type"))],Kr.prototype,"type",2),c([mi(ki)],Kr.prototype,"xOffset",2),c([mi(ki)],Kr.prototype,"yOffset",2);var jr=class extends Mt{constructor(){super(),this.enabled=!0,this.delay=0,this.range=void 0,this.wrapping="hyphenate",this.position=new Kr,this.darkTheme=!1,this.nestedDOM=!0,this.enableInteraction=!1,this.lastVisibilityChange=Date.now(),this.wrapTypes=["always","hyphenate","on-space","never"],this.showTimeout=0,this._showArrow=!0}get interactive(){return this.enableInteraction}setup(e){this.element=e.addChild("canvas-overlay",Hr),this.element.classList.add(Hr),Br(this.element,"aria-hidden",!0)}destroy(e){e.removeChild("canvas-overlay",Hr)}isVisible(){return!this.element?.classList.contains(Hr+"-hidden")}show(e,t,i,a=!1){const{element:n}=this;if(null!=i&&null!=n)n.innerHTML=i.html;else if(!n?.innerHTML)return void this.toggle(!1);const r=t.position?.type??this.position.type,o=t.position?.xOffset??0,s=t.position?.yOffset??0,l=this.getTooltipBounds({positionType:r,meta:t,yOffset:s,xOffset:o,canvasRect:e}),c=Vr(n.clientWidth,n.clientHeight,e.width,e.height,l),d=this.nestedDOM?e:this.getWindowSize(),h=this.nestedDOM?0:-e.left,u=this.nestedDOM?0:-e.top,g=d.width-n.clientWidth-1+h,p=d.height-n.clientHeight+u,m=fe(h,c.x,g),f=fe(u,c.y,p),v=m!==c.x||f!==c.y,y=!("node"!==r&&"pointer"!==r||v||o||s),b=t.showArrow??this.showArrow??y;this.updateShowArrow(b),n.style.transform=`translate(${Math.round(m)}px, ${Math.round(f)}px)`,this.enableInteraction=t.enableInteraction??!1,this.delay>0&&!a?(this.toggle(!1),this.showTimeout=setTimeout((()=>{this.toggle(!0)}),this.delay)):this.toggle(!0)}getWindowSize(){const{innerWidth:e,innerHeight:t}=pr();return{width:e,height:t}}toggle(e){if(!this.element)return;const{classList:t}=this.element,i=(e,i)=>t.toggle(`${Hr}-${e}`,i),a=this.isVisible();let n=1/0;if(e||clearTimeout(this.showTimeout),a!==e){const e=Date.now();n=e-this.lastVisibilityChange,this.lastVisibilityChange=e}n>5&&i("no-animation",!a&&e&&n>100),i("no-interaction",!this.enableInteraction),i("hidden",!e),i("arrow",this._showArrow),t.toggle(Wr,this.darkTheme);for(const e of this.wrapTypes)t.toggle(`${Hr}-wrap-${e}`,e===this.wrapping)}updateShowArrow(e){this._showArrow=e}getTooltipBounds(e){if(!this.element)return{};const{positionType:t,meta:i,yOffset:a,xOffset:n,canvasRect:r}=e,{clientWidth:o,clientHeight:s}=this.element,l={width:o,height:s};switch(t){case"node":case"pointer":return l.top=i.offsetY+a-s-8,l.left=i.offsetX+n-o/2,l;case"top":return l.top=a,l.left=r.width/2-o/2+n,l;case"right":return l.top=r.height/2-s/2+a,l.left=r.width-o/2+n,l;case"left":return l.top=r.height/2-s/2+a,l.left=n,l;case"bottom":return l.top=r.height-s+a,l.left=r.width/2-o/2+n,l;case"top-left":return l.top=a,l.left=n,l;case"top-right":return l.top=a,l.left=r.width-o+n,l;case"bottom-right":return l.top=r.height-s+a,l.left=r.width-o+n,l;case"bottom-left":return l.top=r.height-s+a,l.left=n,l}}};c([mi(wi)],jr.prototype,"enabled",2),c([mi(wi,{optional:!0})],jr.prototype,"showArrow",2),c([Or(((e,t,i)=>{t&&e.element?.classList.add(t),i&&e.element?.classList.remove(i)})),mi(xi,{optional:!0})],jr.prototype,"class",2),c([mi(Ri)],jr.prototype,"delay",2),c([mi(aa,{optional:!0})],jr.prototype,"range",2),c([mi(Xi)],jr.prototype,"wrapping",2),c([mi(bi)],jr.prototype,"position",2),c([mi(wi)],jr.prototype,"darkTheme",2),c([mi(wi)],jr.prototype,"nestedDOM",2);var Yr=class extends Mt{constructor(){super(...arguments),this.id=de(this),this.node=new Tn({zIndex:1}).setProperties({textAlign:"center",pointerEvents:1}),this.enabled=!1,this.textAlign="center",this.fontSize=10,this.fontFamily="sans-serif",this.wrapping="always",this.truncated=!1,this.layoutStyle="block"}registerInteraction(e){const t=e.regionManager.getRegion("root");return function(...e){return()=>{for(const t of e)t()}}(...[t.addListener("hover",(t=>this.handleMouseMove(e,t))),t.addListener("leave",(t=>this.handleMouseLeave(e,t)))])}computeTextWrap(e,t){const{text:i,wrapping:a}=this,n=Math.min(this.maxWidth??1/0,e),r=this.maxHeight??t;if(!isFinite(n)&&!isFinite(r))return void(this.node.text=i);const o=Tn.wrap(i??"",n,r,this,a);this.node.text=o,this.truncated=o.includes(Dn.EllipsisChar)}handleMouseMove(e,t){if(void 0!==t&&this.enabled&&this.node.visible&&this.truncated){const{offsetX:i,offsetY:a}=t;e.tooltipManager.updateTooltip(this.id,{offsetX:i,offsetY:a,lastPointerEvent:t,showArrow:!1},Ur({content:this.text}))}}handleMouseLeave(e,t){e.tooltipManager.removeTooltip(this.id)}};Yr.SMALL_PADDING=10,Yr.LARGE_PADDING=20,c([mi(wi)],Yr.prototype,"enabled",2),c([mi(xi,{optional:!0}),Lr("node")],Yr.prototype,"text",2),c([mi(Qi,{optional:!0}),Lr("node")],Yr.prototype,"textAlign",2),c([mi($i,{optional:!0}),Lr("node")],Yr.prototype,"fontStyle",2),c([mi(Zi,{optional:!0}),Lr("node")],Yr.prototype,"fontWeight",2),c([mi(Ri),Lr("node")],Yr.prototype,"fontSize",2),c([mi(xi),Lr("node")],Yr.prototype,"fontFamily",2),c([mi(Gi,{optional:!0}),Lr("node","fill")],Yr.prototype,"color",2),c([mi(Ri,{optional:!0})],Yr.prototype,"spacing",2),c([mi(Ri,{optional:!0})],Yr.prototype,"lineHeight",2),c([mi(Ri,{optional:!0})],Yr.prototype,"maxWidth",2),c([mi(Ri,{optional:!0})],Yr.prototype,"maxHeight",2),c([mi(Xi)],Yr.prototype,"wrapping",2),c([mi(xi)],Yr.prototype,"layoutStyle",2);var $r=class{constructor(){this.registeredListeners=new Map}addListener(e,t){const i={symbol:Symbol(e),handler:t};return this.registeredListeners.has(e)?this.registeredListeners.get(e).push(i):this.registeredListeners.set(e,[i]),()=>this.removeListener(i.symbol)}removeListener(e){for(const[t,i]of this.registeredListeners.entries()){const a=i.findIndex((t=>t.symbol===e));if(a>=0){i.splice(a,1),0===i.length&&this.registeredListeners.delete(t);break}}}dispatch(e,...t){for(const i of this.getListenersByType(e))try{i.handler(...t)}catch(e){C.errorOnce(e)}}dispatchWrapHandlers(e,t,...i){for(const a of this.getListenersByType(e))try{t(a.handler,...i)}catch(e){C.errorOnce(e)}}getListenersByType(e){return this.registeredListeners.get(e)??[]}destroy(){this.registeredListeners.clear()}},Zr=class{constructor(){this.listeners=new $r,this.destroyFns=[]}addListener(e,t){return this.listeners.addListener(e,t)}destroy(){this.listeners.destroy(),this.destroyFns.forEach((e=>e()))}};function Xr(e){const t={...e,preventDefault(){t.sourceEvent?.preventDefault()}};return t}function Qr(e,t){e.dispatchWrapHandlers(t.type,((e,t)=>e(t)),Xr(t))}var Jr=["click","dblclick","contextmenu","hover","drag-start","drag","drag-end","leave","enter","page-left","wheel"],eo=["blur","focus"],to=["keydown","keyup"],io=["mousemove","mouseup"],ao=["pagehide","mousemove","mouseup"],no=["click","dblclick","contextmenu","mousedown","mouseleave","mouseenter","touchstart","touchmove","touchend","touchcancel","wheel","blur","focus","keydown","keyup"],ro=(e=>(e[e.Default=16]="Default",e[e.ZoomDrag=8]="ZoomDrag",e[e.Annotations=4]="Annotations",e[e.ContextMenu=2]="ContextMenu",e[e.Animation=1]="Animation",e[e.All=31]="All",e))(ro||{}),oo=class e extends Zr{constructor(e,t){super(),this.keyboardOptions=e,this.domManager=t,this.debug=wr.create(!0,"interaction"),this.eventHandler=e=>this.processEvent(e),this.mouseDown=!1,this.touchDown=!1,this.clickHistory=[{offsetX:NaN,offsetY:NaN,type:"mousedown"}],this.dblclickHistory=[{offsetX:NaN,offsetY:NaN,type:"mousedown"},{offsetX:NaN,offsetY:NaN,type:"mouseup"},{offsetX:NaN,offsetY:NaN,type:"mousedown"}],this.stateQueue=17,this.rootElement=this.domManager.getDocumentRoot();for(const e of no)e.startsWith("touch")||"wheel"===e?this.domManager.addEventListener(e,this.eventHandler,{passive:!1}):this.domManager.addEventListener(e,this.eventHandler);for(const e of ao)pr().addEventListener(e,this.eventHandler);this.containerChanged(!0),this.domManager.addListener("container-changed",(()=>this.containerChanged()))}containerChanged(e=!1){const t=this.domManager.getDocumentRoot();if(e||t!==this.rootElement){for(const e of io)this.rootElement?.removeEventListener(e,this.eventHandler);this.rootElement=t,this.debug("[InteractionManager] Switching rootElement to:",this.rootElement);for(const e of io)this.rootElement?.addEventListener(e,this.eventHandler)}}destroy(){super.destroy();for(const e of ao)pr().removeEventListener(e,this.eventHandler);for(const e of io)this.rootElement?.removeEventListener(e,this.eventHandler);for(const e of no)this.domManager.removeEventListener(e,this.eventHandler);this.domManager.removeStyles("interactionManager")}addListener(e,t,i=16){return super.addListener(e,(e=>{this.getState()&i&&t(e)}))}pushState(e){this.stateQueue|=e}popState(e){this.stateQueue&=~e}getState(){return this.stateQueue&-this.stateQueue}processEvent(e){const t=this.decideInteractionEventTypes(e),i=e.target;"click"!==e.type||"true"!==i?.ariaDisabled?t.length>0&&this.dispatchEvent(e,t).catch((e=>C.errorOnce(e))):e.preventDefault()}async dispatchEvent(e,t){if(Aa(Jr,t))return void this.dispatchPointerEvent(e,t);const{relatedElement:i,targetElement:a}=this.extractElements(e);if(Aa(eo,t))for(const n of t){const t=e;Qr(this.listeners,{type:n,sourceEvent:t,relatedElement:i,targetElement:a})}else if(Aa(to,t))for(const n of t){const t=e;Qr(this.listeners,{type:n,sourceEvent:t,relatedElement:i,targetElement:a})}}extractElements(e){let t,i;return"relatedTarget"in e&&e.relatedTarget instanceof HTMLElement&&(t=e.relatedTarget),"target"in e&&e.target instanceof HTMLElement&&(i=e.target),{relatedElement:t,targetElement:i}}dispatchPointerEvent(e,t){const i=this.calculateCoordinates(e);if(null!=i)for(const a of t)Qr(this.listeners,this.buildPointerEvent({type:a,event:e,...i}))}getEventHTMLTarget(e){return e.target instanceof HTMLElement?e.target:e.currentTarget instanceof HTMLElement?e.currentTarget:void 0}recordDown(e){e instanceof MouseEvent&&(kt(["offsetX","offsetY"],this.clickHistory[0],e),kt(["offsetX","offsetY"],this.dblclickHistory[2],this.dblclickHistory[0]),kt(["offsetX","offsetY"],this.dblclickHistory[0],e)),this.dragStartElement=this.getEventHTMLTarget(e)}recordUp(e){e instanceof MouseEvent&&kt(["offsetX","offsetY"],this.dblclickHistory[1],e),this.dragStartElement=void 0}decideInteractionEventTypes(e){const t="drag-start";switch(e.type){case"blur":case"focus":case"keydown":case"keyup":return this.keyboardOptions.enabled?[e.type]:[];case"click":case"dblclick":case"contextmenu":case"wheel":return[e.type];case"mousedown":return this.isEventOverElement(e)&&"button"in e&&0===e.button?(this.mouseDown=!0,this.recordDown(e),[t]):[];case"touchstart":return this.isEventOverElement(e)?(this.touchDown=!0,this.recordDown(e),[t]):[];case"touchmove":case"mousemove":return this.mouseDown||this.touchDown||this.isEventOverElement(e)?this.mouseDown||this.touchDown?["drag"]:["hover"]:[];case"mouseup":return this.mouseDown||this.isEventOverElement(e)?(this.mouseDown=!1,this.recordUp(e),["drag-end"]):[];case"touchend":return this.touchDown||this.isEventOverElement(e)?(this.touchDown=!1,this.recordUp(e),["drag-end"]):[];case"mouseleave":case"touchcancel":return["leave"];case"mouseenter":const i=e instanceof MouseEvent&&!(1&~e.buttons);return this.mouseDown!==i?(this.mouseDown=i,[i?t:"drag-end"]):["enter"];case"pagehide":return["page-left"]}return[]}isEventOverElement(e){return this.domManager.isEventOverElement(e)}calculateCoordinates(t){if(t instanceof MouseEvent)return this.getMouseEventCoords(t);if("undefined"!=typeof TouchEvent&&t instanceof TouchEvent){const i=t.touches[0]??t.changedTouches[0],{clientX:a,clientY:n,pageX:r,pageY:o}=i;return{...e.NULL_COORDS,clientX:a,clientY:n,pageX:r,pageY:o}}if(t instanceof PageTransitionEvent){if(t.persisted)return;return e.NULL_COORDS}}getMouseEventCoords(e){const{clientX:t,clientY:i,pageX:a,pageY:n}=e;let{offsetX:r,offsetY:o}=e;const s=this.getEventHTMLTarget(e),{x:l=0,y:c=0}=s?this.domManager.calculateCanvasPosition(s):{};if(null!=this.dragStartElement&&e.target!==this.dragStartElement){const e=this.domManager.calculateCanvasPosition(this.dragStartElement);r-=e.x-l,o-=e.y-c}else r+=l,o+=c;return{clientX:t,clientY:i,pageX:a,pageY:n,offsetX:r,offsetY:o}}isWheelEvent(e){return"wheel"===e.type}buildPointerEvent(e){const{type:t,event:i,clientX:a,clientY:n}=e;let{offsetX:r,offsetY:o,pageX:s,pageY:l}=e;if(!ht(r)||!ht(o)){const e=this.domManager.getBoundingClientRect();r=a-e.left,o=n-e.top}if(!ht(s)||!ht(l)){const e=this.rootElement?.getBoundingClientRect();s=a-(e?.left??0),l=n-(e?.top??0)}let[c,d]=[NaN,NaN];if(this.isWheelEvent(i)){const e=0===i.deltaMode?.01:1;c=i.deltaX*e,d=i.deltaY*e}let h=[];"click"===i.type?h=this.clickHistory:"dblclick"===i.type&&(h=this.dblclickHistory);const{relatedElement:u,targetElement:g}=this.extractElements(i),p={type:t,offsetX:r,offsetY:o,pageX:s,pageY:l,deltaX:c,deltaY:d,pointerHistory:h,sourceEvent:i,relatedElement:u,targetElement:g};return this.debug("InteractionManager - builtEvent: ",p),p}};oo.NULL_COORDS={clientX:-1/0,clientY:-1/0,pageX:-1/0,pageY:-1/0,offsetX:-1/0,offsetY:-1/0};var so=oo,lo=(e=>(e.TITLE="title",e.SUBTITLE="subtitle",e.FOOTNOTE="footnote",e.LEGEND="legend",e.NAVIGATOR="navigator",e.PAGINATION="pagination",e.ROOT="root",e.SERIES="series",e.HORIZONTAL_AXES="horizontal-axes",e.VERTICAL_AXES="vertical-axes",e.TOOLBAR="toolbar",e))(lo||{}),co=["stroke","lineDash"],ho=Pi((e=>ot(e)&&Object.keys(e).every((e=>co.includes(e)))),"objects with gridline style properties such as 'stroke' or 'lineDash'"),uo=class{constructor(){this.enabled=!0,this.width=1,this.style=[{stroke:void 0,lineDash:[]}]}};function go(e,t=[void 0]){return $e(((i,a,n)=>t.includes(n)?rt(e)?e(n):e:n))}c([mi(wi)],uo.prototype,"enabled",2),c([mi(Ri)],uo.prototype,"width",2),c([mi(ho)],uo.prototype,"style",2);var po=la((e=>ht(e)&&e>0||e instanceof w),"a non-zero positive Number value or, for a time axis, a Time Interval such as 'agCharts.time.month'"),mo=class extends Mt{constructor(){super(...arguments),this.minSpacing=NaN,this.maxSpacing=NaN}};c([mi(po,{optional:!0})],mo.prototype,"step",2),c([mi(Ti,{optional:!0})],mo.prototype,"values",2),c([mi(oa),go(NaN)],mo.prototype,"minSpacing",2),c([mi(sa),go(NaN)],mo.prototype,"maxSpacing",2);var fo=class extends Mt{constructor(){super(...arguments),this.enabled=!0,this.autoWrap=!1,this.fontSize=12,this.fontFamily="Verdana, sans-serif",this.padding=5,this.minSpacing=NaN,this.color="rgba(87, 87, 87, 1)",this.avoidCollisions=!0,this.mirrored=!1,this.parallel=!1}getSideFlag(){return this.mirrored?1:-1}};c([mi(wi)],fo.prototype,"enabled",2),c([mi(wi,{optional:!0})],fo.prototype,"autoWrap",2),c([mi(Ri,{optional:!0})],fo.prototype,"maxWidth",2),c([mi(Ri,{optional:!0})],fo.prototype,"maxHeight",2),c([mi($i,{optional:!0})],fo.prototype,"fontStyle",2),c([mi(Zi,{optional:!0})],fo.prototype,"fontWeight",2),c([mi(ki.restrict({min:1}))],fo.prototype,"fontSize",2),c([mi(xi)],fo.prototype,"fontFamily",2),c([mi(Ri)],fo.prototype,"padding",2),c([mi(Ei),go(NaN)],fo.prototype,"minSpacing",2),c([mi(Gi,{optional:!0})],fo.prototype,"color",2),c([mi(Ai,{optional:!0})],fo.prototype,"rotation",2),c([mi(wi)],fo.prototype,"avoidCollisions",2),c([mi(wi)],fo.prototype,"mirrored",2),c([mi(wi)],fo.prototype,"parallel",2),c([mi(Si,{optional:!0})],fo.prototype,"formatter",2),c([mi(xi,{optional:!0})],fo.prototype,"format",2);var vo=class{constructor(){this.enabled=!0,this.width=1,this.stroke=void 0}};c([mi(wi)],vo.prototype,"enabled",2),c([mi(Ri)],vo.prototype,"width",2),c([mi(Gi,{optional:!0})],vo.prototype,"stroke",2);var yo=class extends Mt{constructor(){super(...arguments),this.enabled=!0,this.width=1,this.size=6}};c([mi(wi)],yo.prototype,"enabled",2),c([mi(Ri)],yo.prototype,"width",2),c([mi(Ri)],yo.prototype,"size",2),c([mi(Gi,{optional:!0})],yo.prototype,"stroke",2);var bo=class extends Mt{constructor(){super(...arguments),this.enabled=!1,this.spacing=Yr.SMALL_PADDING,this.fontSize=10,this.fontFamily="sans-serif",this.wrapping="always"}};function Co(e){const[t,i]=ye(e.range),a=Math.floor(t),n=Math.ceil(i);return{min:a,max:n,visible:a!==n}}c([mi(wi)],bo.prototype,"enabled",2),c([mi(xi,{optional:!0})],bo.prototype,"text",2),c([mi(Ri,{optional:!0})],bo.prototype,"spacing",2),c([mi($i,{optional:!0})],bo.prototype,"fontStyle",2),c([mi(Zi,{optional:!0})],bo.prototype,"fontWeight",2),c([mi(Ri)],bo.prototype,"fontSize",2),c([mi(xi)],bo.prototype,"fontFamily",2),c([mi(Gi,{optional:!0})],bo.prototype,"color",2),c([mi(Xi)],bo.prototype,"wrapping",2),c([mi(Si,{optional:!0})],bo.prototype,"formatter",2);var wo=2*Math.PI,So=wo/2;function xo(e){const t=(t,i)=>{const[a=e.min,n=e.max]=ye(i??[]);return t<a||t>n},i={fromFn(e,i,a){let n=e.y1+e.translationY,r=e.opacity;return("added"===a||t(e.datum.translationY,e.datum.range))&&(n=i.translationY,r=0),{y:0,translationY:n,opacity:r,phase:Xt[a]}},toFn(e,t,i){const a=t.translationY;let n=1;return"removed"===i&&(n=0),{y:0,translationY:a,opacity:n,finish:{y:a,translationY:0}}},intermediateFn(e,i,a){return{visible:!t(e.y)}}},a={fromFn(e,i,a){const n=e.previousDatum??i,r=n.x,o=n.y,s=n.rotationCenterX;let l=Math.round(e.translationY),c=n.rotation,d=e.opacity;return"removed"===a||t(n.y,n.range)?c=i.rotation:("added"===a||t(e.datum.y,e.datum.range))&&(l=Math.round(n.translationY),d=0,c=i.rotation),{x:r,y:o,rotationCenterX:s,translationY:l,rotation:c,opacity:d,phase:Xt[a]}},toFn(e,t,i){const a=t.x,n=t.y,r=t.rotationCenterX,o=Math.round(t.translationY);let s=0,l=1;var c,d;return"added"===i?(l=1,s=t.rotation):"removed"===i?(l=0,s=t.rotation):(c=e.previousDatum?.rotation??t.rotation,d=t.rotation,s=Math.abs(d-c)<So?d:c>d?d+wo:d-wo),{x:a,y:n,rotationCenterX:r,translationY:o,rotation:s,opacity:l,finish:{rotation:t.rotation}}}};return{tick:i,line:{fromFn(e,t){return{...e.previousDatum??t,phase:Xt.updated}},toFn(e,t){return{...t}}},label:a,group:{fromFn(e,t){const{rotation:i,translationX:a,translationY:n}=e;return{rotation:i,translationX:a,translationY:n,phase:Xt.updated}},toFn(e,t){const{rotation:i,translationX:a,translationY:n}=t;return{rotation:i,translationX:a,translationY:n}}}}}function ko(){return(e,t)=>({rotation:t.rotation,rotationCenterX:t.rotationCenterX,rotationCenterY:t.rotationCenterY,translationX:t.translationX,translationY:t.translationY})}function Mo(e){const{visible:t,min:i,max:a}=e;return(e,n)=>{const r=n.translationY;return{y:r,translationY:0,opacity:1,visible:t&&r>=i&&r<=a}}}function Ro(){return(e,t)=>({x:t.x,y:t.y,translationY:t.translationY,rotation:t.rotation,rotationCenterX:t.rotationCenterX})}function Do(){return(e,t)=>({...t})}var Ao=class e{constructor(t,i,a){let n;this.moduleCtx=t,this.scale=i,this.id=de(this),this.nice=!0,this.reverse=!1,this.keys=[],this.interval=new mo,this.disableZoom=!1,this.dataDomain={domain:[],clipped:!1},this.layoutConstraints={stacked:!0,align:"start",width:100,unit:"percent"},this.boundSeries=[],this.includeInvisibleDomains=!1,this.interactionEnabled=!0,this.axisGroup=new on({name:`${this.id}-axis`,zIndex:2}),this.lineNode=this.axisGroup.appendChild(new Rr),this.tickLineGroup=this.axisGroup.appendChild(new on({name:`${this.id}-Axis-tick-lines`,zIndex:2})),this.tickLabelGroup=this.axisGroup.appendChild(new on({name:`${this.id}-Axis-tick-labels`,zIndex:2})),this.crossLineGroup=new on({name:`${this.id}-CrossLines`}),this.labelGroup=new on({name:`${this.id}-Labels`,zIndex:10}),this.gridGroup=new on({name:`${this.id}-Axis-grid`}),this.gridLineGroup=this.gridGroup.appendChild(new on({name:`${this.id}-gridLines`,zIndex:1})),this.tickLineGroupSelection=Sr.select(this.tickLineGroup,Rr,!1),this.tickLabelGroupSelection=Sr.select(this.tickLabelGroup,Tn,!1),this.gridLineGroupSelection=Sr.select(this.gridLineGroup,Rr,!1),this.line=new vo,this.tick=new yo,this.gridLine=new uo,this.label=this.createLabel(),this.defaultTickMinSpacing=e.defaultTickMinSpacing,this.translation={x:0,y:0},this.rotation=0,this.layout={label:{fractionDigits:0,padding:this.label.padding,format:this.label.format}},this.destroyFns=[],this.minRect=void 0,this.range=[0,1],this.visibleRange=[0,1],this.title=new bo,this._titleCaption=new Yr,this.gridLength=0,this.gridPadding=0,this.seriesAreaPadding=0,this.tickGenerationResult=void 0,this.maxThickness=1/0,this.moduleMap=new sr,this.range=this.scale.range.slice(),this.crossLines?.forEach((e=>this.initCrossLine(e))),this.destroyFns.push(this._titleCaption.registerInteraction(this.moduleCtx)),this._titleCaption.node.rotation=-Math.PI/2,this.axisGroup.appendChild(this._titleCaption.node),this.destroyFns.push(t.regionManager.getRegion("series").addListener("hover",(e=>this.checkAxisHover(e))),t.regionManager.getRegion("horizontal-axes").addListener("hover",(e=>this.checkAxisHover(e))),t.regionManager.getRegion("vertical-axes").addListener("hover",(e=>this.checkAxisHover(e)))),this.animationManager=t.animationManager,this.animationState=new Gr("empty",{empty:{update:{target:"ready",action:()=>this.resetSelectionNodes()},reset:"empty"},ready:{update:e=>this.animateReadyUpdate(e),resize:()=>this.resetSelectionNodes(),reset:"empty"}}),this._crossLines=[],this.assignCrossLineArrayConstructor(this._crossLines),this.destroyFns.push(t.layoutService.addListener("layout-complete",(e=>{null!=n&&null!=Et(e.chart,n)&&this.animationState.transition("resize"),n={...e.chart}}))),!1!==a?.respondsToZoom&&this.destroyFns.push(t.updateService.addListener("update-complete",(e=>{this.minRect=e.minRect})))}get type(){return this.constructor.type??""}set crossLines(e){this._crossLines?.forEach((e=>this.detachCrossLine(e))),e&&this.assignCrossLineArrayConstructor(e),this._crossLines=e,this._crossLines?.forEach((e=>{this.attachCrossLine(e),this.initCrossLine(e)}))}get crossLines(){return this._crossLines}resetAnimation(e){"initial"===e&&this.animationState.transition("reset")}attachCrossLine(e){this.crossLineGroup.appendChild(e.group),this.crossLineGroup.appendChild(e.labelGroup)}detachCrossLine(e){this.crossLineGroup.removeChild(e.group),this.crossLineGroup.removeChild(e.labelGroup)}destroy(){this.moduleMap.destroy(),this.destroyFns.forEach((e=>e()))}updateRange(){const{range:e,visibleRange:t,scale:i}=this,a=(e[1]-e[0])/(t[1]-t[0]),n=a*t[0],r=e[0]-n;i.setVisibleRange?.(t),i.range=[r,r+a],this.crossLines?.forEach((t=>{t.clippedRange=[e[0],e[1]]}))}setCrossLinesVisible(e){this.crossLineGroup.visible=e}attachAxis(e,t){t.appendChild(this.gridGroup),e.appendChild(this.axisGroup),e.appendChild(this.crossLineGroup),e.appendChild(this.labelGroup)}attachLabel(e){this.labelGroup.append(e)}detachAxis(e,t){t.removeChild(this.gridGroup),e.removeChild(this.axisGroup),e.removeChild(this.crossLineGroup),e.removeChild(this.labelGroup)}getAxisGroup(){return this.axisGroup}inRange(e,t=0){const[i,a]=ye(this.range);return e>=i-t&&e<=a+t}onFormatChange(e,t,i,a){const{scale:n}=this,r=n instanceof hr,o=e=>r?String:i=>"number"==typeof i?i.toFixed(t+e):String(i);if(a&&n&&n.tickFormat)try{const t=n.tickFormat({ticks:e,specifier:a});this.labelFormatter=t,this.datumFormatter=t}catch(e){this.labelFormatter=o(0),this.datumFormatter=o(1),C.warnOnce(`the axis label format string ${a} is invalid. No formatting will be applied`)}else this.labelFormatter=o(0),this.datumFormatter=o(1)}setTickInterval(e){this.scale.interval=this.interval?.step??e}onGridLengthChange(e,t){(t&&!e||!t&&e)&&this.onGridVisibilityChange(),this.crossLines?.forEach((e=>this.initCrossLine(e)))}onGridVisibilityChange(){this.gridLineGroupSelection.clear()}createLabel(){return new fo}checkAxisHover(e){if(!this.interactionEnabled)return;this.computeBBox().containsPoint(e.offsetX,e.offsetY)&&this.moduleCtx.chartEventManager.axisHover(this.id,this.direction)}update(e=0,t=!0){if(!this.tickGenerationResult)return;const{rotation:i,parallelFlipRotation:a,regularFlipRotation:n}=this.calculateRotations(),r=this.label.getSideFlag();this.updatePosition();const o=this.getAxisLineCoordinates(),{tickData:s,combinedRotation:l,textBaseline:c,textAlign:d,primaryTickCount:h}=this.tickGenerationResult,u=this.tickLabelGroupSelection.nodes().map((e=>e.datum.tickId));if(this.updateSelections(o,s.ticks,{combinedRotation:l,textAlign:d,textBaseline:c,range:this.scale.range}),!t||this.animationManager.isSkipped())this.resetSelectionNodes();else{const e=this.calculateUpdateDiff(u,s);this.animationState.transition("update",e)}return this.updateAxisLine(),this.updateLabels(),this.updateVisibility(),this.updateGridLines(r),this.updateTickLines(),this.updateTitle({anyTickVisible:s.ticks.length>0}),this.updateCrossLines({rotation:i,parallelFlipRotation:a,regularFlipRotation:n}),this.updateLayoutState(s.fractionDigits),h}getAxisLineCoordinates(){const[e,t]=ye(this.range);return{x:0,y1:e,y2:t}}getTickLineCoordinates(e){const t=this.label.getSideFlag()*this.getTickSize(),i=Math.min(0,t);return{x1:i,x2:i+Math.abs(t),y:e.translationY}}getTickLabelProps(e,t){const{label:i}=this,{combinedRotation:a,textBaseline:n,textAlign:r,range:o}=t,s=e.tickLabel,l=i.getSideFlag()*(this.getTickSize()+i.padding+this.seriesAreaPadding),c=""!==s&&null!=s;return{tickId:e.tickId,translationY:e.translationY,fill:i.color,fontFamily:i.fontFamily,fontSize:i.fontSize,fontStyle:i.fontStyle,fontWeight:i.fontWeight,rotation:a,rotationCenterX:l,text:s,textAlign:r,textBaseline:n,visible:c,x:l,y:0,range:o}}getTickSize(){return this.tick.enabled?this.tick.size:6}setTitleProps(e,t){const{title:i}=this;if(!i.enabled)return e.enabled=!1,void(e.node.visible=!1);e.color=i.color,e.fontFamily=i.fontFamily,e.fontSize=i.fontSize,e.fontStyle=i.fontStyle,e.fontWeight=i.fontWeight,e.enabled=i.enabled,e.wrapping=i.wrapping;const a=e.node,n=(i.spacing??0)+t.spacing,r=this.label.getSideFlag(),o=ln(this.rotation),s=-1===r&&o>Math.PI&&o<2*Math.PI?-1:1,l=s*r*Math.PI/2,c=1===s?"bottom":"top",{range:d}=this,h=Math.floor(s*r*(d[0]+d[1])/2),u=-1===r?Math.floor(s*-n):Math.floor(-n),{callbackCache:g}=this.moduleCtx,{formatter:p=(e=>e.defaultValue)}=i,m=g.call(p,this.getTitleFormatterParams());a.setProperties({rotation:l,text:m,textBaseline:c,visible:!0,x:h,y:u})}calculateLayout(e){const{rotation:t,parallelFlipRotation:i,regularFlipRotation:a}=this.calculateRotations(),n=this.label.getSideFlag(),r=n*(this.getTickSize()+this.label.padding+this.seriesAreaPadding);this.updateScale(),this.tickGenerationResult=this.generateTicks({primaryTickCount:e,parallelFlipRotation:i,regularFlipRotation:a,labelX:r,sideFlag:n});const{tickData:o,combinedRotation:s,textBaseline:l,textAlign:c,...d}=this.tickGenerationResult;this.updateLayoutState(o.fractionDigits);const h=[],{x:u,y1:g,y2:p}=this.getAxisLineCoordinates(),m=new Ee(u+Math.min(n*this.seriesAreaPadding,0),g,this.seriesAreaPadding,p-g);if(h.push(m),this.tick.enabled&&o.ticks.forEach((e=>{const{x1:t,x2:i,y:a}=this.getTickLineCoordinates(e),n=new Ee(t,a,i-t,0);h.push(n)})),this.label.enabled){const e=new Tn;o.ticks.forEach((t=>{const i=this.getTickLabelProps(t,{combinedRotation:s,textAlign:c,textBaseline:l,range:this.scale.range});if(!i.visible)return;e.setProperties({...i,translationY:Math.round(t.translationY)});const a=e.computeTransformedBBox();a&&h.push(a)}))}if(this.title?.enabled){const e=new Yr,t=Ee.merge(h).width;this.setTitleProps(e,{spacing:t});const i=e.node.computeTransformedBBox();i&&h.push(i)}const f=(e=>{const t=new Ne,{rotation:i,translationX:a,translationY:n,rotationCenterX:r,rotationCenterY:o}=this.getAxisTransform();return Ne.updateTransformMatrix(t,1,1,i,a,n,{scalingCenterX:0,scalingCenterY:0,rotationCenterX:r,rotationCenterY:o}),t.transformBBox(e)})(Ee.merge(h)),v=this.isAnySeriesActive();return this.crossLines?.forEach((e=>{var r;e.sideFlag=-n,e.direction=t===-Math.PI/2?"x":"y",e instanceof or&&((r=e.label).parallel??(r.parallel=this.label.parallel)),e.parallelFlipRotation=i,e.regularFlipRotation=a,e.calculateLayout(v,this.reverse)})),{primaryTickCount:e=d.primaryTickCount,bbox:f}}updateLayoutState(e){this.layout.label={fractionDigits:e,padding:this.label.padding,format:this.label.format}}setDomain(e){this.dataDomain=this.normaliseDataDomain(e),this.reverse&&this.dataDomain.domain.reverse(),this.scale.domain=this.dataDomain.domain}updateScale(){this.updateRange(),this.calculateDomain(),this.setTickInterval(this.interval.step);const{scale:e,nice:t}=this;fa.is(e)&&(e.nice=t,e.update())}calculateRotations(){const e=un(this.rotation);return{rotation:e,parallelFlipRotation:ln(e),regularFlipRotation:ln(e-Math.PI/2)}}generateTicks({primaryTickCount:e,parallelFlipRotation:t,regularFlipRotation:i,labelX:a,sideFlag:n}){const{scale:r,interval:{minSpacing:o,maxSpacing:s},label:{parallel:l,rotation:c,fontFamily:d,fontSize:h,fontStyle:u,fontWeight:g}}=this,p=void 0!==e,{defaultRotation:m,configuredRotation:f,parallelFlipFlag:v,regularFlipFlag:y}=In({rotation:c,parallel:l,regularFlipRotation:i,parallelFlipRotation:t}),b=f+m,C=new Ne,{maxTickCount:w}=this.estimateTickCount({minSpacing:o,maxSpacing:s}),S=!(fa.is(r)||en.is(r))||isNaN(w)?10:w;let x=Ln(l,f,0,n,y);const k=function(e,t,i,a){return e&&!t?i*a==-1?"hanging":"bottom":"middle"}(l,f,n,v),M=Pn({fontFamily:d,fontSize:h,fontStyle:u,fontWeight:g}),R={fontFamily:d,fontSize:h,fontStyle:u,fontWeight:g,textBaseline:k,textAlign:x};let D={rawTicks:[],fractionDigits:0,ticks:[],labelCount:0},A=0,E=0,T=!0,P=!1;for(;T&&A<=S&&!P;){E=0,x=Ln(l,f,0,n,y);const t=this.getTickStrategies({secondaryAxis:p,index:A});for(const i of t){({tickData:D,index:A,autoRotation:E,terminate:P}=i({index:A,tickData:D,textProps:R,labelOverlap:T,terminate:P,primaryTickCount:e}));const t=0!==f||0!==E,r=b+E;x=Ln(l,f,E,n,y),T=!!this.label.avoidCollisions&&this.checkLabelOverlap(r,t,C,D.ticks,a,{font:M})}}const F=m+f+E;return!p&&D.rawTicks.length>0&&(e=D.rawTicks.length),{tickData:D,primaryTickCount:e,combinedRotation:F,textBaseline:k,textAlign:x}}getTickStrategies({index:e,secondaryAxis:t}){const{scale:i,label:a}=this,{minSpacing:n}=this.interval,r=fa.is(i)||en.is(i),o=a.enabled&&a.avoidCollisions,s=!r&&0!==e&&o,l=!0===a.autoRotate&&void 0===a.rotation,c=[];let d;d=this.interval.values?3:t?1:s?2:0;if(c.push((({index:e,tickData:t,primaryTickCount:i,terminate:a})=>this.createTickData(d,e,t,a,i))),!r&&!isNaN(n)){const e=({index:e,tickData:t,primaryTickCount:i,terminate:a})=>this.createTickData(2,e,t,a,i);c.push(e)}if(!o)return c;if(a.autoWrap){const e=({index:e,tickData:t,textProps:i})=>this.wrapLabels(t,e,i);c.push(e)}else if(l){const e=({index:e,tickData:t,labelOverlap:i,terminate:a})=>({index:e,tickData:t,autoRotation:this.getAutoRotation(i),terminate:a});c.push(e)}return c}createTickData(e,t,i,a,n){const{scale:r}=this,{step:o,values:s,minSpacing:l,maxSpacing:c}=this.interval,{maxTickCount:d,minTickCount:h,defaultTickCount:u}=this.estimateTickCount({minSpacing:l,maxSpacing:c}),g=fa.is(r)||en.is(r),p=!g||isNaN(d)?10:d;let m=g?Math.max(u-t,h):d;const f=void 0===o&&void 0===s&&m>h&&(g||2===e);let v=!0;for(;v&&t<=p;){const a=i.rawTicks;m=g?Math.max(u-t,h):d;const{rawTicks:r,fractionDigits:o,ticks:s,labelCount:l}=this.getTicks({tickGenerationType:e,previousTicks:a,tickCount:m,minTickCount:h,maxTickCount:d,primaryTickCount:n});i.rawTicks=r,i.fractionDigits=o,i.ticks=s,i.labelCount=l,v=!!f&&Pr(r,a),t++}return a||(a=void 0!==o||void 0!==s),{tickData:i,index:t,autoRotation:0,terminate:a}}checkLabelOverlap(e,t,i,a,n,r){Ne.updateTransformMatrix(i,1,1,e,0,0);const o=this.createLabelData(a,n,r,i),s=function(e,t){return isNaN(e)?t?0:10:e}(this.label.minSpacing,t);return function(e,t){const i=[];for(let a=0;a<e.length;a++){const n=e[a],{point:{x:r,y:o},label:{text:s}}=n;let{label:{width:l,height:c}}=n;if(l+=t??0,c+=t??0,i.some((e=>Ar(e,r,o,l,c))))return!0;i.push({index:a,text:s,x:r,y:o,width:l,height:c,datum:n})}return!1}(o,s)}createLabelData(e,t,i,a){const n=[];for(const{tickLabel:r,translationY:o}of e){if(!r)continue;const{width:e,height:s}=Dn.measureLines(r,i),l=Nn(r,new Ee(t,o,e,s),t,o,a);n.push(l)}return n}getAutoRotation(e){return e?ln(un(this.label.autoRotateAngle??0)):0}getTicks({tickGenerationType:e,previousTicks:t,tickCount:i,minTickCount:a,maxTickCount:n,primaryTickCount:r}){const{range:o,scale:s,visibleRange:l}=this;let c;switch(e){case 3:if(c=this.interval.values,fa.is(s)){const[e,t]=ye(s.getDomain().map(Number));c=c.filter((i=>i>=e&&i<=t)).sort(((e,t)=>e-t))}break;case 1:c=fa.is(s)?this.updateSecondaryAxisTicks(r):this.createTicks(i,a,n);break;case 2:c=this.filterTicks(t,i);break;default:c=this.createTicks(i,a,n)}const d=c.reduce(((e,t)=>Math.max(e,Me(t))),0),h=(s.bandwidth??0)/2,u=[];let g=0;const p=new Map,m=Math.max(0,Math.floor(l[0]*c.length)),f=Math.min(c.length,Math.ceil(l[1]*c.length)),v=c.slice(m,f);this.onFormatChange(v,d,c,this.label.format);for(let e=0;e<v.length;e++){const t=v[e],i=s.convert(t)+h;if(o.length>0&&!this.inRange(i,.001))continue;const a=this.formatTick(t,d,m+e);let n=a;if(p.has(n)){const e=p.get(n);p.set(n,e+1),n=`${n}_${e}`}else p.set(n,1);u.push({tick:t,tickId:n,tickLabel:a,translationY:Math.floor(i)}),""!==a&&null!=a&&g++}return{rawTicks:c,fractionDigits:d,ticks:u,labelCount:g}}filterTicks(e,t){const{minSpacing:i,maxSpacing:a}=this.interval,n=!isNaN(i)||!isNaN(a)?Math.ceil(e.length/t):2;return e.filter(((e,t)=>t%n==0))}createTicks(e,t,i){const{scale:a}=this;return e&&(fa.is(a)||en.is(a))&&("number"==typeof e?(a.tickCount=e,a.minTickCount=t??0,a.maxTickCount=i??1/0):a instanceof Xa&&this.setTickInterval(e)),a.ticks?.()??[]}estimateTickCount({minSpacing:e,maxSpacing:t}){const{minRect:i,label:{avoidCollisions:a}}=this;if(!a)return{minTickCount:fa.defaultMaxTickCount,maxTickCount:fa.defaultMaxTickCount,defaultTickCount:fa.defaultMaxTickCount};const n=this.calculateRangeWithBleed(),r=Math.max(this.defaultTickMinSpacing,n/fa.defaultMaxTickCount);let o=!isNaN(t);isNaN(e)&&(e=r),isNaN(t)&&(t=n),e>t&&(e===r?e=t:t=e);let s=1;i&&(s="x"===this.direction?i.width:i.height),o&&(o=s<r);const l=fe(1,Math.floor(n/e),o?Math.min(Math.floor(n/s),100):100),c=Math.min(l,Math.ceil(n/t));return{minTickCount:c,maxTickCount:l,defaultTickCount:fe(c,fa.defaultTickCount,l)}}updateVisibility(){this.moduleCtx.animationManager.isSkipped()&&this.resetSelectionNodes(),this.tickLineGroup.visible=this.tick.enabled,this.gridLineGroup.visible=this.gridLine.enabled,this.tickLabelGroup.visible=this.label.enabled}updateCrossLines({rotation:e,parallelFlipRotation:t,regularFlipRotation:i}){const a=this.label.getSideFlag(),n=this.isAnySeriesActive();this.crossLines?.forEach((r=>{r.sideFlag=-a,r.direction=e===-Math.PI/2?"x":"y",r instanceof or&&(r.label.parallel=r.label.parallel??this.label.parallel),r.parallelFlipRotation=t,r.regularFlipRotation=i,r.update(n)}))}updateTickLines(){const{tick:e,label:t}=this,i=t.getSideFlag();this.tickLineGroupSelection.each((t=>{t.strokeWidth=e.width,t.stroke=e.stroke,t.x1=i*this.getTickSize(),t.x2=0}))}calculateAvailableRange(){return be(this.range)}calculateRangeWithBleed(){const e=1/be(this.visibleRange);return Se(this.calculateAvailableRange()*e,2)}calculateDomain(){const e=this.boundSeries.filter((e=>this.includeInvisibleDomains||e.isEnabled())).flatMap((e=>e.getDomain(this.direction)));this.setDomain(e)}getAxisTransform(){return{rotation:un(this.rotation),rotationCenterX:0,rotationCenterY:0,translationX:Math.floor(this.translation.x),translationY:Math.floor(this.translation.y)}}updatePosition(){const{crossLineGroup:e,axisGroup:t,gridGroup:i,translation:a,gridLineGroupSelection:n,gridPadding:r,gridLength:o}=this,{rotation:s}=this.calculateRotations(),l=this.label.getSideFlag(),c=Math.floor(a.x),d=Math.floor(a.y);e.setProperties({rotation:s,translationX:c,translationY:d}),i.setProperties({rotation:s,translationX:c,translationY:d}),t.datum=this.getAxisTransform(),n.each((e=>{e.x1=r,e.x2=-l*o+r}))}updateSecondaryAxisTicks(e){throw new Error("AG Charts - unexpected call to updateSecondaryAxisTicks() - check axes configuration.")}updateSelections(e,t,i){this.lineNode.datum=e,this.gridLineGroupSelection.update(this.gridLength?t:[],(e=>e.append(new Rr)),(e=>e.tickId)),this.tickLineGroupSelection.update(t,(e=>e.appendChild(new Rr)),(e=>e.tickId)),this.tickLabelGroupSelection.update(t.map((e=>this.getTickLabelProps(e,i))),(e=>e.appendChild(new Tn)),(e=>e.tickId))}updateAxisLine(){const{line:e}=this,t=e.enabled?e.width:0;this.lineNode.setProperties({stroke:e.stroke,strokeWidth:t})}updateGridLines(e){const{gridLine:{style:t,width:i},gridPadding:a,gridLength:n}=this;0!==n&&0!==t.length&&this.gridLineGroupSelection.each(((r,o,s)=>{const{stroke:l,lineDash:c}=t[s%t.length];r.setProperties({x1:a,x2:-e*n+a,fill:void 0,stroke:l,strokeWidth:i,lineDash:c})}))}updateLabels(){const{label:e}=this;e.enabled&&this.tickLabelGroupSelection.each(((e,t)=>{e.setProperties(t,["fill","fontFamily","fontSize","fontStyle","fontWeight","text","textAlign","textBaseline"])}))}wrapLabels(e,t,i){const{parallel:a,maxWidth:n,maxHeight:r}=this.label;let o=this.maxThickness,s=Math.round(this.calculateAvailableRange()/e.labelCount);return a&&([o,s]=[s,o]),e.ticks.forEach((e=>{e.tickLabel=Tn.wrap(e.tickLabel,n??o,r??s,i,"hyphenate")})),{tickData:e,index:t,autoRotation:0,terminate:!0}}updateTitle(e){const{rotation:t,title:i,_titleCaption:a,lineNode:n,tickLineGroup:r,tickLabelGroup:o}=this;let s=0;if(i.enabled&&e.anyTickVisible){const e=on.computeBBox([r,o,n]);s+=(0===t?e.width:e.height)+(this.tickLabelGroup.visible?0:this.seriesAreaPadding)}this.setTitleProps(a,{spacing:s})}formatTick(e,t,i){return String(this.getFormatter(i,!0)(e,t))}formatDatum(e){return String(this.getFormatter()(e))}getFormatter(e=0,t){const{label:i,labelFormatter:a,datumFormatter:n,moduleCtx:{callbackCache:r}}=this;return i.formatter?(t,a)=>r.call(i.formatter,{value:t,index:e,fractionDigits:a})??t:!t&&n?e=>r.call(n,e)??String(e):a?e=>r.call(a,e)??String(e):e=>String(e)}computeBBox(){return this.axisGroup.computeBBox()}initCrossLine(e){e.scale=this.scale,e.gridLength=this.gridLength}isAnySeriesActive(){return this.boundSeries.some((e=>this.includeInvisibleDomains||e.isEnabled()))}clipTickLines(e,t,i,a){this.tickLineGroup.setClipRectInGroupCoordinateSpace(new Ee(e,t,i,a))}clipGrid(e,t,i,a){this.gridGroup.setClipRectInGroupCoordinateSpace(new Ee(e,t,i,a))}calculatePadding(e,t){const i=.01*Math.abs(this.reverse?t:e);return[i,i]}getTitleFormatterParams(){const e=this.boundSeries.reduce(((e,t)=>{const i=t.getKeys(this.direction),a=t.getNames(this.direction);for(let t=0;t<i.length;t++)e.push({key:i[t],name:a[t]});return e}),[]);return{direction:this.direction,boundSeries:e,defaultValue:this.title?.text}}normaliseDataDomain(e){return{domain:[...e],clipped:!1}}getLayoutState(){return{rect:this.computeBBox(),gridPadding:this.gridPadding,seriesAreaPadding:this.seriesAreaPadding,tickSize:this.getTickSize(),direction:this.direction,domain:this.dataDomain.domain,scale:this.scale,...this.layout}}getModuleMap(){return this.moduleMap}createModuleContext(){return this.axisContext??(this.axisContext=this.createAxisContext()),{...this.moduleCtx,parent:this.axisContext}}createAxisContext(){const{scale:e}=this;return{axisId:this.id,direction:this.direction,continuous:fa.is(e)||en.is(e),keys:()=>this.boundSeries.flatMap((e=>e.getKeys(this.direction))),seriesKeyProperties:()=>this.boundSeries.reduce(((e,t)=>(t.getKeyProperties(this.direction).forEach((t=>{e.indexOf(t)<0&&e.push(t)})),e)),[]),scaleValueFormatter:t=>t?e.tickFormat?.({specifier:t}):this.getFormatter(),scaleBandwidth:()=>e.bandwidth??0,scaleDomain:()=>e.getDomain?.(),scaleConvert:t=>e.convert(t),scaleInvert:en.is(e)?t=>e.invertNearest?.(t):t=>e.invert?.(t),scaleInvertNearest:t=>e.invertNearest?.(t),attachLabel:e=>this.attachLabel(e),inRange:(e,t)=>this.inRange(e,t)}}animateReadyUpdate(e){const{animationManager:t}=this.moduleCtx,i=xo(Co(this));Qt(this.id,"axis-group",t,[this.axisGroup],i.group),Qt(this.id,"line",t,[this.lineNode],i.line),Qt(this.id,"line-paths",t,[this.gridLineGroupSelection,this.tickLineGroupSelection],i.tick,((e,t)=>t.tickId),e),Qt(this.id,"tick-labels",t,[this.tickLabelGroupSelection],i.label,((e,t)=>t.tickId),e)}resetSelectionNodes(){const{gridLineGroupSelection:e,tickLineGroupSelection:t,tickLabelGroupSelection:i,lineNode:a}=this,n=Co(this);cr([this.axisGroup],((e,t)=>({rotation:t.rotation,rotationCenterX:t.rotationCenterX,rotationCenterY:t.rotationCenterY,translationX:t.translationX,translationY:t.translationY}))),cr([e,t],Mo(n)),cr([i],((e,t)=>({x:t.x,y:t.y,translationY:t.translationY,rotation:t.rotation,rotationCenterX:t.rotationCenterX}))),cr([a],((e,t)=>({...t})))}calculateUpdateDiff(e,t){const i=new Set,a=new Set,n={},r=Math.max(e.length,t.ticks.length);for(let o=0;o<r;o++){const r=t.ticks[o],s=e[o],l=r?.tickId;n[l??s]=r,s!==l&&(a.has(l)?a.delete(l):l&&i.add(l),i.has(s)?i.delete(s):s&&a.add(s))}return{changed:i.size>0||a.size>0,added:i,removed:a}}isReversed(){return this.reverse}};Ao.defaultTickMinSpacing=50,c([mi(wi)],Ao.prototype,"nice",2),c([mi(wi)],Ao.prototype,"reverse",2),c([mi(Wi)],Ao.prototype,"keys",2),c([mi(bi)],Ao.prototype,"interval",2),c([mi(wi)],Ao.prototype,"disableZoom",2),c([mi(bi,{optional:!0})],Ao.prototype,"title",2),c([Or(((e,t,i)=>e.onGridLengthChange(t,i)))],Ao.prototype,"gridLength",2);var Eo=Ao,To=class extends fo{constructor(){super(...arguments),this.autoRotateAngle=335}};c([mi(wi,{optional:!0})],To.prototype,"autoRotate",2),c([mi(Ai)],To.prototype,"autoRotateAngle",2);var Po=class e extends Eo{constructor(){super(...arguments),this.thickness=0}static is(t){return t instanceof e}get direction(){return["top","bottom"].includes(this.position)?"x":"y"}updateDirection(){switch(this.position){case"top":this.rotation=-90,this.label.mirrored=!0,this.label.parallel=!0;break;case"right":this.rotation=0,this.label.mirrored=!0,this.label.parallel=!1;break;case"bottom":this.rotation=-90,this.label.mirrored=!1,this.label.parallel=!0;break;case"left":this.rotation=0,this.label.mirrored=!1,this.label.parallel=!1}this.axisContext&&(this.axisContext.position=this.position,this.axisContext.direction=this.direction)}update(e,t){return this.updateDirection(),super.update(e,t)}calculateLayout(e){return this.updateDirection(),super.calculateLayout(e)}createAxisContext(){return{...super.createAxisContext(),position:this.position}}assignCrossLineArrayConstructor(e){pa(e,or)}createLabel(){return new To}};c([mi(Ri)],Po.prototype,"thickness",2),c([mi(Yi)],Po.prototype,"position",2);var Fo=Po,Io=class extends Fo{constructor(e,t=new pi){super(e,t),this._paddingOverrideEnabled=!1,this.groupPaddingInner=.1,this.includeInvisibleDomains=!0}set paddingInner(e){this._paddingOverrideEnabled=!0,this.scale.paddingInner=e}get paddingInner(){return this._paddingOverrideEnabled=!0,this.scale.paddingInner}set paddingOuter(e){this.scale.paddingOuter=e}get paddingOuter(){return this.scale.paddingOuter}normaliseDataDomain(e){const t=[],i=new Set;for(const a of e){const e=a instanceof Date?a.getTime():a;i.has(e)||(i.add(e),t.push(a))}return{domain:t,clipped:!1}}calculateDomain(){if(!this._paddingOverrideEnabled){let e=1/0,t=-1/0;for(const i of this.boundSeries){const a=i.getBandScalePadding?.();null!=a&&(e=Math.min(e,a.inner),t=Math.max(t,a.outer))}this.scale.paddingInner=Number.isFinite(e)?e:0,this.scale.paddingOuter=Number.isFinite(t)?t:0}return super.calculateDomain()}};Io.className="CategoryAxis",Io.type="category",c([mi(Di)],Io.prototype,"groupPaddingInner",2);var Lo=class{constructor(e="",t,i=0){this.x=0,this.y=0,this.subtreeLeft=NaN,this.subtreeRight=NaN,this.screenX=0,this.screenY=0,this.children=[],this.leafCount=0,this.prelim=0,this.mod=0,this.ancestor=this,this.change=0,this.shift=0,this.label=e,this.parent=t,this.depth=t?t.depth+1:0,this.number=i}getLeftSibling(){return this.number>0&&this.parent?this.parent.children[this.number-1]:void 0}getLeftmostSibling(){return this.number>0&&this.parent?this.parent.children[0]:void 0}nextLeft(){return this.children?this.children[0]:this.thread}nextRight(){return this.children?this.children[this.children.length-1]:this.thread}getSiblings(){return this.parent?this.parent.children.filter(((e,t)=>t!==this.number)):[]}};function No(e,t=!0){const i=new Lo;let a=0;return t&&e.forEach((e=>a=Math.max(a,e.labels.length))),e.forEach((e=>{if(t)for(;e.labels.length<a;)e.labels.unshift("");!function(e,t){const i=t.labels.slice().reverse(),a=i.length-1;i.forEach(((t,i)=>{const n=e.children,r=n.find((e=>e.label===t)),o=i!==a;if(r&&o)e=r;else{const i=new Lo(t,e);i.number=n.length,n.push(i),o&&(e=i)}}))}(i,e)})),i}function Oo(e,t,i){const a=i/(t.number-e.number);t.change-=a,t.shift+=i,e.change+=a,t.prelim+=i,t.mod+=i}function zo(e,t,i){return t.getSiblings().indexOf(e.ancestor)>=0?e.ancestor:i}function Go(e,t){const i=e.children;if(i.length){let a=i[0];i.forEach((e=>{Go(e,t),a=function(e,t,i){const a=e.getLeftSibling();if(a){let n=e,r=e,o=a,s=r.getLeftmostSibling(),l=r.mod,c=n.mod,d=o.mod,h=s.mod;for(;o.nextRight()&&r.nextLeft();){o=o.nextRight(),r=r.nextLeft(),s=s.nextLeft(),n=n.nextRight(),n.ancestor=e;const a=o.prelim+d-(r.prelim+l)+i;a>0&&(Oo(zo(o,e,t),e,a),l+=a,c+=a),d+=o.mod,l+=r.mod,h+=s.mod,c+=n.mod}o.nextRight()&&!n.nextRight()?(n.thread=o.nextRight(),n.mod+=d-c):(r.nextLeft()&&!s.nextLeft()&&(s.thread=r.nextLeft(),s.mod+=l-h),t=e)}return t}(e,a,t)})),function(e){const t=e.children;if(t){let e=0,i=0;for(let a=t.length-1;a>=0;a--){const n=t[a];n.prelim+=e,n.mod+=e,i+=n.change,e+=n.shift+i}}}(e);const n=(i[0].prelim+i.at(-1).prelim)/2,r=e.getLeftSibling();r?(e.prelim=r.prelim+t,e.mod=e.prelim-n):e.prelim=n}else{const i=e.getLeftSibling();e.prelim=i?i.prelim+t:0}}var Bo=class{constructor(){this.top=1/0,this.right=-1/0,this.bottom=-1/0,this.left=1/0}update(e,t){const{x:i,y:a}=t(e);i>this.right&&(this.right=i),i<this.left&&(this.left=i),a>this.bottom&&(this.bottom=a),a<this.top&&(this.top=a)}};function Vo(e,t,i){e.x=e.prelim+t,e.y=e.depth,i.update(e),e.children.forEach((a=>Vo(a,t+e.mod,i)))}function Ho(e){const t=e.children;let i=0;t.forEach((e=>{Ho(e),e.children.length?i+=e.leafCount:i++})),e.leafCount=i,t.length?(e.subtreeLeft=t[0].subtreeLeft,e.subtreeRight=t[e.children.length-1].subtreeRight,e.x=(e.subtreeLeft+e.subtreeRight)/2):(e.subtreeLeft=e.x,e.subtreeRight=e.x)}function Wo(e){const t=new _o;return Go(e,1),Vo(e,-e.prelim,t),Ho(e),t}var _o=class{constructor(){this.dimensions=new Bo,this.leafCount=0,this.nodes=[],this.leafNodes=[],this.nonLeafNodes=[],this.depth=0}update(e){this.dimensions.update(e,(e=>({x:e.x,y:e.y}))),e.children.length?this.nonLeafNodes.push(e):(this.leafCount++,this.leafNodes.push(e)),e.depth>this.depth&&(this.depth=e.depth),this.nodes.push(e)}resize(e,t,i=0,a=0,n=!1){const r=this.leafCount-1,o=this.depth,s=this.dimensions;let l=1,c=1;if(e>0&&r){const t=(s.right-s.left)/r;l=e/r/t,n&&(l=-l)}if(t>0&&o){const e=(s.bottom-s.top)/o;c=t/o/e}const d=new Bo;this.nodes.forEach((e=>{e.screenX=e.x*l,e.screenY=e.y*c,d.update(e,(e=>({x:e.screenX,y:e.screenY})))}));const h=-d.left,u=-d.top;this.nodes.forEach((e=>{e.screenX+=h+i,e.screenY+=u+a}))}},qo=class extends fo{constructor(){super(...arguments),this.grid=!1}};c([mi(wi)],qo.prototype,"grid",2);var Uo=class extends Fo{constructor(e){const t=new pi;t.paddingOuter=.1,t.paddingInner=2*t.paddingOuter,super(e,t),this.tickScale=new pi,this.line=new vo,this.label=new qo,this.labelColor="rgba(87, 87, 87, 1)",this.includeInvisibleDomains=!0;const{tickLineGroup:i,tickLabelGroup:a,gridLineGroup:n,tickScale:r}=this;r.paddingInner=1,r.paddingOuter=0,this.gridLineSelection=Sr.select(n,Rr),this.axisLineSelection=Sr.select(i,Rr),this.separatorSelection=Sr.select(i,Rr),this.labelSelection=Sr.select(a,Tn)}updateRange(){const{range:e,visibleRange:t,scale:i}=this,a=(e[1]-e[0])/(t[1]-t[0]),n=a*t[0],r=e[0]-n;this.tickScale.range=i.range=[r,r+a],this.resizeTickTree()}resizeTickTree(){const e=this.scale,t=e.domain.length?[e.convert(e.domain[0]),e.convert(e.domain[e.domain.length-1])]:e.range,i=this.tickTreeLayout,a=this.lineHeight;i&&i.resize(Math.abs(t[1]-t[0]),i.depth*a,(Math.min(t[0],t[1])||0)+(e.bandwidth??0)/2,-i.depth*a,t[1]-t[0]<0)}get lineHeight(){return 1.5*this.label.fontSize}onGridVisibilityChange(){this.gridLineSelection.clear(),this.labelSelection.clear()}calculateDomain(){const{direction:e}=this;let t=null;const i=this.boundSeries.filter((e=>e.visible)).flatMap((i=>{if("y"===e||t)return i.getDomain(e);if(null===t){const a=i.getDomain(e);return t=dt(a[0]),a}return[]}));this.setDomain(ya(i)??xa(i));const{domain:a}=this.dataDomain;this.tickTreeLayout=Wo(No(a)),this.tickScale.domain=a.concat(""),this.resizeTickTree()}update(){this.computedLayout&&(this.updatePosition(),this.updateTitleCaption(),this.updateCategoryLabels(),this.updateSeparators(),this.updateAxisLines(),this.updateCategoryGridLines(),this.resetSelectionNodes())}updateTitleCaption(){const{_titleCaption:e}=this;e.node.visible=!1}updateCategoryLabels(){if(!this.computedLayout)return;const{tickLabelLayout:e}=this.computedLayout;this.labelSelection.update(e).each(((e,t)=>{e.setProperties(t)}))}updateSeparators(){if(!this.computedLayout)return;const{separatorLayout:e}=this.computedLayout,{range:t}=this;this.separatorSelection.update(e).each(((e,i)=>{e.x1=i.x1,e.x2=i.x2,e.y1=i.y,e.y2=i.y,e.visible=i.y>=t[0]-1e-7&&i.y<=t[1]+1e-7,e.stroke=this.tick.stroke,e.fill=void 0,e.strokeWidth=1}))}updateAxisLines(){if(!this.computedLayout)return;const{axisLineLayout:e}=this.computedLayout;this.axisLineSelection.update(e).each(((e,t)=>{e.setProperties({...t,stroke:this.line.stroke,strokeWidth:this.line.width}),e.x1=t.x,e.x2=t.x,e.y1=t.y1,e.y2=t.y2,e.strokeWidth=this.line.width,e.stroke=this.line.stroke}))}updateCategoryGridLines(){const{gridLength:e,gridLine:t,label:i,range:a,tickScale:n}=this,r=n.ticks(),o=i.getSideFlag(),s=this.gridLineSelection.update(e?r:[]);if(e){const{width:i,style:r}=t,l=r.length;s.each(((t,s,c)=>{const d=Math.round(n.convert(s));t.x1=0,t.x2=-o*e,t.y1=d,t.y2=d,t.visible=d>=a[0]&&d<=a[1];const{stroke:h,lineDash:u}=r[c%l];t.stroke=h,t.strokeWidth=i,t.lineDash=u,t.fill=void 0}))}}computeLayout(){this.updateDirection(),this.calculateDomain(),this.updateRange();const{scale:e,label:t,label:{parallel:i},moduleCtx:{callbackCache:a},range:n,title:r,title:{formatter:o=(e=>e.defaultValue)}={}}=this,s=e.range[0],l=e.range[1],c=Math.abs(l-s)/e.domain.length||0,d=Math.ceil(t.fontSize/c),h=un(this.rotation),u=Math.abs(Math.cos(h))<1e-8,g=t.getSideFlag(),p=this.lineHeight,m=this.tickTreeLayout,f=e.ticks(),v=m?m.nodes:[],y=!!m&&m.depth>1,{defaultRotation:b,configuredRotation:C,parallelFlipFlag:w}=In({rotation:t.rotation,parallel:i,regularFlipRotation:ln(h-Math.PI/2),parallelFlipRotation:ln(h)}),S=[],x=new Map;let k=0;const M=new Tn,R=(e,i)=>{if(M.setProperties({fill:t.color,fontFamily:t.fontFamily,fontSize:t.fontSize,fontStyle:t.fontStyle,fontWeight:t.fontWeight,textAlign:"center",textBaseline:-1===w?"bottom":"hanging",translationX:e.screenY-.25*t.fontSize,translationY:e.screenX}),0===i){if(!(r?.enabled&&f.length>0))return!1;const i=a.call(o,this.getTitleFormatterParams());M.setProperties({fill:r.color,fontFamily:r.fontFamily,fontSize:r.fontSize,fontStyle:r.fontStyle,fontWeight:r.fontWeight,text:i,textBaseline:"hanging",translationX:e.screenY-.25*t.fontSize,translationY:e.screenX})}else{if(i%d!=0)return!1;if(!(e.screenX>=n[0]&&e.screenX<=n[1]))return!1;t.formatter?M.text=a.call(t.formatter,{value:String(e.label),index:i})??String(e.label):M.text=String(e.label)}return!0};v.forEach(((e,t)=>{if(!R(e,t))return;const i=M.computeTransformedBBox();if(!i)return;x.set(t,i);!e.children.length&&i.width>k&&(k=i.width)}));const D=g*t.padding,A=this.label.grid,E=[];v.forEach(((e,t)=>{let i=R(e,t);const a=t;M.x=D,M.rotationCenterX=D;const n=!e.children.length;if(n)M.rotation=C,M.textAlign="end",M.textBaseline="middle";else{M.translationX-=k-p+this.label.padding;const t=e.leafCount*c,n=x.get(a);n&&n.width>t?(i=!1,x.delete(a)):M.rotation=u?b:-Math.PI/2}if(e.parent&&y){const t=n?e.screenX-c/2:e.screenX-e.leafCount*c/2;if(n)(e.number!==e.children.length-1||A)&&E.push({y:t,x1:0,x2:-k-2*this.label.padding});else{const i=-k-2*this.label.padding+e.screenY;E.push({y:t,x1:i+p,x2:i})}}let r;if(i){const e=M.computeTransformedBBox();e&&x.set(t,e),r={...(o=M,{fill:o.fill,fontFamily:o.fontFamily,fontSize:o.fontSize,fontStyle:o.fontStyle,fontWeight:o.fontWeight,rotation:o.rotation,rotationCenterX:o.rotationCenterX,rotationCenterY:o.rotationCenterY,text:o.text,textAlign:o.textAlign,textBaseline:o.textBaseline,translationX:o.translationX,translationY:o.translationY,visible:o.visible,x:o.x,y:o.y}),visible:i}}else x.delete(t),r={visible:i};var o;S.push(r)}));let T=0;E.forEach((e=>T=Math.min(T,e.x2))),E.push({y:Math.max(s,l),x1:0,x2:T});const P=[],F=[];E.forEach((e=>{if(e.y>=n[0]-1e-7&&e.y<=n[1]+1e-7){const{x1:t,x2:i,y:a}=e,n=new Ee(Math.min(t,i),a,Math.abs(t-i),0);F.push(n),P.push({x1:t,x2:i,y:a})}}));const I=[],L=[],N=m?m.depth+1:1;for(let e=0;e<N;e++){const t=f.length>0&&(0===e||A&&y),i=e>0?-k-2*this.label.padding-(e-1)*p:0,a=new Ee(i,Math.min(...n),0,Math.abs(n[1]-n[0]));L.push(a),I.push({x:i,y1:n[0],y2:n[1],visible:t})}return{bbox:(e=>{const t=new Ne,{rotation:i,translationX:a,translationY:n,rotationCenterX:r,rotationCenterY:o}=this.getAxisTransform();return Ne.updateTransformMatrix(t,1,1,i,a,n,{scalingCenterX:0,scalingCenterY:0,rotationCenterX:r,rotationCenterY:o}),t.transformBBox(e)})(Ee.merge([...x.values(),...F,...L])),tickLabelLayout:S,separatorLayout:P,axisLineLayout:I}}calculateLayout(){const{axisLineLayout:e,separatorLayout:t,tickLabelLayout:i,bbox:a}=this.computeLayout();return this.computedLayout={axisLineLayout:e,separatorLayout:t,tickLabelLayout:i},{bbox:a,primaryTickCount:void 0}}};Uo.className="GroupedCategoryAxis",Uo.type="grouped-category",c([mi(Gi,{optional:!0})],Uo.prototype,"labelColor",2);var Ko=class{constructor(){this.destroyFns=[]}destroy(){for(const e of this.destroyFns)e()}},jo=class{constructor(){this.modules=[],this.dependencies=new Map,this.dependents=new Map}register(...e){for(const t of e){this.registerDependencies(t);const e=this.modules.find((e=>t.type===e.type&&t.optionsKey===e.optionsKey&&t.identifier===e.identifier));if(e){if("enterprise"===t.packageType&&"community"===e.packageType){const i=this.modules.indexOf(e);this.modules.splice(i,1,t)}}else this.modules.push(t)}}hasEnterpriseModules(){return this.modules.some((e=>"enterprise"===e.packageType))}*byType(...e){const{dependents:t}=this,i=new Set;let a=0;const n=this.modules.filter((t=>e.includes(t.type)));do{for(const e of n)if(!i.has(e.optionsKey)&&!t.has(e.optionsKey)){yield e,i.add(e.optionsKey);for(const[i,a]of t.entries())a.delete(e.optionsKey),0===a.size&&t.delete(i)}a++}while(i.size<n.length&&a<3);if(t.size>0)throw new Error(`Could not resolve module dependencies: [${[...t.keys()]}]`)}registerDependencies(e){if(null!=e.dependencies&&0!==e.dependencies.length){for(const t of e.dependencies){const i=this.dependencies.get(t)??new Set;i.add(e.optionsKey),this.dependencies.set(t,i)}this.dependents.set(e.optionsKey,new Set(e.dependencies))}}},Yo=new jo;function $o(e){return new Promise((t=>{setTimeout((()=>t(void 0)),e)}))}var Zo=class{constructor(){this.available=!0,this.acquireQueue=[]}acquire(e){return new Promise((t=>{this.acquireQueue.push([e,t]),this.available&&this.dispatchNext().catch((e=>C.errorOnce(e)))}))}async acquireImmediately(e){return!!this.available&&(await this.acquire(e),!0)}async waitForClearAcquireQueue(){return this.acquire((async()=>{}))}async dispatchNext(){this.available=!1;let[e,t]=this.acquireQueue.shift()??[];for(;e;){try{await e(),t?.()}catch(e){C.error("mutex callback error",e),t?.()}[e,t]=this.acquireQueue.shift()??[]}this.available=!0}},Xo=class{constructor(){this.eventListeners=new Map}addEventListener(e,t){if("function"!=typeof t)throw new Error("AG Charts - listener must be a Function");const i=this.eventListeners.get(e);i?i.add(t):this.eventListeners.set(e,new Set([t]))}removeEventListener(e,t){this.eventListeners.get(e)?.delete(t),0===this.eventListeners.size&&this.eventListeners.delete(e)}hasEventListener(e){return this.eventListeners.has(e)}clearEventListeners(){this.eventListeners.clear()}fireEvent(e){this.eventListeners.get(e.type)?.forEach((t=>t(e)))}},Qo=class extends Mt{constructor(e=0,t=e,i=e,a=t){super(),this.top=e,this.right=t,this.bottom=i,this.left=a}clear(){this.top=this.right=this.bottom=this.left=0}};function Jo(e,t){let i,a,n=0,r=!1;const o=()=>r,s=()=>{r=!1,a?.(),a=void 0,i=void 0,n>0&&e(l)},l=()=>{const e=n;n=0,r=!0;const i=t({count:e});i?i.then(s,s):s()};return{schedule(t){0!==n||o()||e(l,t),n++},async await(){if(o())for(null==i&&(i=new Promise((e=>{a=e})));o();)await i}}}c([mi(Ri)],Qo.prototype,"top",2),c([mi(Ri)],Qo.prototype,"right",2),c([mi(Ri)],Qo.prototype,"bottom",2),c([mi(Ri)],Qo.prototype,"left",2);var es="10.0.2",ts=class{constructor(e){this.version=e.split("-")[0]}save(...e){const t={version:this.version};for(const i of Object.values(e))t[i.mementoOriginatorKey]=this.encode(i,i.createMemento());return t}restore(e,...t){if("object"==typeof e)if(null!=e)if("version"in e&&"string"==typeof e.version)for(const i of t){if(!(i.mementoOriginatorKey in e))continue;const t=this.decode(i,e[i.mementoOriginatorKey]);if(!i.guardMemento(t))return void C.warnOnce(`Could not restore [${i.mementoOriginatorKey}] data, value was invalid, ignoring.`,t);i.restoreMemento(this.version,e.version,t)}else C.warnOnce("Could not restore data, missing [version] string in object, ignoring.");else C.warnOnce("Could not restore data of type [null], expecting an object, ignoring.");else C.warnOnce(`Could not restore data of type [${typeof e}], expecting an object, ignoring.`)}encode(e,t){try{return JSON.parse(JSON.stringify(t,this.encodeTypes))}catch(t){throw new Error(`Failed to encode [${e.mementoOriginatorKey}] value [${t}].`,{cause:t})}}decode(e,t){try{return JSON.parse(JSON.stringify(t),this.decodeTypes)}catch(t){throw new Error(`Failed to decode [${e.mementoOriginatorKey}] value [${t}].`,{cause:t})}}encodeTypes(e,t){return it(this[e])?{__type:"date",value:String(this[e])}:t}decodeTypes(e,t){return ot(this[e])&&"__type"in this[e]&&"date"===this[e].__type?new Date(this[e].value):t}},is=class{constructor(){this.caretaker=new ts(es),this.state=new Map}setState(e,t){null!=Et(this.state.get(e.mementoOriginatorKey),t)&&(this.state.set(e.mementoOriginatorKey,t),this.restoreState(e))}restoreState(e){const{caretaker:t,state:i}=this;if(!i.has(e.mementoOriginatorKey))return;const a=i.get(e.mementoOriginatorKey);t.restore({version:t.version,[e.mementoOriginatorKey]:a},e)}};var as=class e{constructor(t){this.enabled=!0,this.width=600,this.height=300;const{width:i,height:a,pixelRatio:n,canvasConstructor:r}=t;this.pixelRatio=function(){if("undefined"==typeof navigator)return!1;const e=navigator.userAgent.match(/\(iPhone; CPU iPhone OS (\d+_\d+_\d+) like Mac OS X\)/);if(null==e)return!1;const[t,i]=e[1].split("_").map(Number);return t<16||16===t&&i<6}()?1:n??pr("devicePixelRatio"),this.element=r?.()??mr("canvas"),this.element.style.display="block",this.element.style.width=(i??this.width)+"px",this.element.style.height=(a??this.height)+"px",this.element.width=Math.round((i??this.width)*this.pixelRatio),this.element.height=Math.round((a??this.height)*this.pixelRatio),this.context=this.element.getContext("2d"),this.onEnabledChange(),this.resize(i??0,a??0),e.debugContext(this.context)}static is(t){return t instanceof e}drawImage(e,t=0,i=0){return e.drawImage(this.context.canvas,t,i)}toDataURL(e){return this.element.toDataURL(e)}resize(e,t){if(!(e>0&&t>0))return;const{element:i,context:a,pixelRatio:n}=this;i.width=Math.round(e*n),i.height=Math.round(t*n),a.setTransform(n,0,0,n,0,0),i.style.width=e+"px",i.style.height=t+"px",this.width=e,this.height=t}snapshot(){}clear(){this.context.save(),this.context.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0),this.context.clearRect(0,0,this.width,this.height),this.context.restore()}destroy(){this.element.remove(),this.element.width=0,this.element.height=0,this.context.clearRect(0,0,0,0),Object.freeze(this)}onEnabledChange(){this.element&&(this.element.style.display=this.enabled?"":"none")}static debugContext(e){if(wr.check("canvas")){const t=e.save.bind(e),i=e.restore.bind(e);let a=0;Object.assign(e,{save(){t(),a++},restore(){if(0===a)throw new Error("AG Charts - Unable to restore() past depth 0");i(),a--},verifyDepthZero(){if(0!==a)throw new Error(`AG Charts - Save/restore depth is non-zero: ${a}`)}})}}};c([Or((e=>e.onEnabledChange()))],as.prototype,"enabled",2);var ns=as,rs=class e{constructor(e,t){this.canvas=e,this.markDirty=t,this.debug=wr.create(!0,"scene"),this.layersMap=new Map,this.nextZIndex=0,this.nextLayerId=0}static sortLayers(e,t){return nn([e.zIndex,...e.zIndexSubOrder??[void 0,void 0],e.id],[t.zIndex,...t.zIndexSubOrder??[void 0,void 0],t.id],tn)}get size(){return this.layersMap.size}forEach(t){Array.from(this.layersMap.values()).sort(e.sortLayers).forEach(t)}resize(e,t){this.canvas.resize(e,t),this.layersMap.forEach((({canvas:i})=>i.resize(e,t)))}addLayer(e){const{width:t,height:i,pixelRatio:a}=this.canvas,{zIndex:n=this.nextZIndex++,name:r,zIndexSubOrder:o,getComputedOpacity:s,getVisibility:l}=e,c=new ns({width:t,height:i,pixelRatio:a}),d={id:this.nextLayerId++,name:r,canvas:c,zIndex:n,zIndexSubOrder:o,getComputedOpacity:s,getVisibility:l};return n>=this.nextZIndex&&(this.nextZIndex=n+1),this.layersMap.set(c,d),this.debug("Scene.addLayer() - layers",this.layersMap),d.canvas}removeLayer(e){this.layersMap.has(e)&&(this.layersMap.delete(e),e.destroy(),this.markDirty(),this.debug("Scene.removeLayer() - layers",this.layersMap))}moveLayer(e,t,i){const a=this.layersMap.get(e);a&&(a.zIndex=t,a.zIndexSubOrder=i,this.markDirty(),this.debug("Scene.moveLayer() - layers",this.layersMap))}clear(){this.layersMap.clear()}};function os(e,t,i,a,n={}){if(!wr.check("scene:stats","scene:stats:verbose"))return;const{layersRendered:r=0,layersSkipped:o=0,nodesRendered:s=0,nodesSkipped:l=0}=a??{},c=performance.now(),{start:d,...h}=t,u=Object.entries(h).map((([e,t])=>ds(e,t))).filter((e=>null!=e)).join(" + "),g=Object.entries(n).map((([e,t])=>`${e}: ${t}`)).join(" ; "),p=wr.check("scene:stats:verbose"),m=[`${ds("⏱️",d,c)} (${u})`,`${g}`,`Layers: ${p?cs(r,o):e.size}`,p?`Nodes: ${cs(s,l)}`:null].filter(ct),f=new Map(m.map((e=>[e,Tn.getTextSize(e,i.font)]))),v=Math.max(...Array.from(f.values(),(e=>e.width))),y=function(e,t){let i=0;for(const a of e)i+=t(a);return i}(f.values(),(e=>e.height));i.save(),i.fillStyle="white",i.fillRect(0,0,v,y),i.fillStyle="black";let b=0;for(const[e,t]of f.entries())b+=t.height,i.fillText(e,2,b);i.restore()}function ss(e){return wr.check(!0,"scene")?{node:e,name:(e instanceof on?e.name:null)??e.id,dirty:Te[e.dirty],...e.parent?.isVirtual?{virtualParentDirty:Te[e.parent.dirty],virtualParent:e.parent}:{},...e.children.map((e=>ss(e))).reduce(((e,t)=>{let{name:i}=t;const{node:{visible:a,opacity:n,zIndex:r,zIndexSubOrder:o},node:s,virtualParent:l}=t;(!a||n<=0)&&(i=`(${i})`),s instanceof on&&s.isLayer()&&(i=`*${i}*`);const c=[`${i??"<unknown>"}`,`z: ${r}`,o&&`zo: ${o.map((e=>"function"==typeof e?`${e()} (fn)`:e)).join(" / ")}`,l&&"(virtual parent)"].filter((e=>!!e)).join(" ");let d=c,h=1;for(;null!=e[d]&&h<100;)d=`${c} (${h++})`;return e[d]=t,e}),{})}:{}}function ls(e){if(0===e.dirty)return{dirtyTree:{},paths:[]};const t=e.children.map((e=>ls(e))).filter((e=>e.paths.length>0)),i=on.is(e)?e.name??e.id:e.id,a=t.length?t.flatMap((e=>e.paths)).map((e=>`${i}.${e}`)):[i];return{dirtyTree:{name:i,node:e,dirty:Te[e.dirty],...t.map((e=>e.dirtyTree)).filter((e=>null!=e.dirty)).reduce(((e,t)=>(e[t.name??"<unknown>"]=t,e)),{})},paths:a}}function cs(e,t){const i=e+t;return`${e} / ${i} (${Math.round(100*e/i)}%)`}function ds(e,t,i){const a=null!=i?i-t:t;return`${e}: ${Math.round(100*a)/100}ms`}var hs=class{constructor({width:e,height:t,pixelRatio:i,domManager:a}){this.debug=wr.create(!0,"scene"),this.id=de(this),this.root=null,this.isDirty=!1,this.domManager=a;const n={width:e,height:t,pixelRatio:i};a&&(n.canvasConstructor=()=>a.addChild("canvas","scene-canvas")),this.canvas=new ns(n),this.layersManager=new rs(this.canvas,(()=>{this.isDirty=!0}))}get width(){return this.pendingSize?.[0]??this.canvas.width}get height(){return this.pendingSize?.[1]??this.canvas.height}setContainer(e){if(void 0!==e.tagName){const{element:t}=this.canvas;t.parentElement?.removeChild(t),e.appendChild(t)}else this.domManager=e,this.domManager.addChild("canvas","scene-canvas",this.canvas.element);return this}setRoot(e){return this.root===e||(this.isDirty=!0,this.root?._setLayerManager(),this.root=e,e&&(e.visible=!0,e._setLayerManager(this.layersManager))),this}attachNode(e,t){if(!t)return this.root?.appendChild(e),()=>this.removeChild(e);const i=this.root?.children.find((e=>e instanceof on&&e.name===t));if(!i)throw new Error("AG Charts - Unrecognized root group name: "+t);return i.appendChild(e),()=>i.removeChild(e)}appendChild(e){return this.root?.appendChild(e),this}removeChild(e){return this.root?.removeChild(e),this}download(e,t){fr(this.canvas.toDataURL(t),e?.trim()??"image")}getDataURL(e){return this.canvas.toDataURL(e)}resize(e,t){return e=Math.round(e),t=Math.round(t),e>0&&t>0&&(e!==this.width||t!==this.height)&&(this.pendingSize=[e,t],this.isDirty=!0,!0)}async render(e){const{debugSplitTimes:t={start:performance.now()},extraDebugStats:i}=e??{},{canvas:a,canvas:{context:n}={},root:r,pendingSize:o}=this;if(!n)return;const s=performance.now();if(o&&(this.layersManager.resize(...o),this.pendingSize=void 0),r&&!r.visible)return void(this.isDirty=!1);if(r&&!this.isDirty)return this.debug.check()&&this.debug("Scene.render() - no-op",{redrawType:Te[r.dirty],tree:ss(r)}),void os(this.layersManager,t,n,void 0,i);const l={ctx:n,devicePixelRatio:this.canvas.pixelRatio??1,forceRender:!0,resized:Boolean(o),debugNodes:{}};wr.check("scene:stats:verbose")&&(l.stats={layersRendered:0,layersSkipped:0,nodesRendered:0,nodesSkipped:0});let c=!1;if((!r||r.dirty>=1)&&(c=!0,a.clear()),r&&wr.check("scene:dirtyTree")){const{dirtyTree:e,paths:t}=ls(r);wr.create("scene:dirtyTree")("Scene.render() - dirtyTree",{dirtyTree:e,paths:t})}if(r&&c&&(this.debug("Scene.render() - before",{redrawType:Te[r.dirty],canvasCleared:c,tree:ss(r)}),r.visible&&(r.preRender(),n.save(),r.render(l),n.restore())),t["✍️"]=performance.now()-s,this.layersManager.size&&c){const e=performance.now();n.save(),n.resetTransform(),this.layersManager.forEach((e=>{e.canvas.enabled&&e.getVisibility()&&(n.globalAlpha=e.getComputedOpacity(),e.canvas.drawImage(n))})),n.restore(),t["⛙"]=performance.now()-e}n.verifyDepthZero?.(),this.isDirty=!1,os(this.layersManager,t,n,l.stats,i),function(e,t){e.save();for(const[i,a]of Object.entries(t)){const t=a.computeTransformedBBox();t?(e.globalAlpha=.8,e.strokeStyle="red",e.lineWidth=1,e.strokeRect(t.x,t.y,t.width,t.height),e.fillStyle="red",e.strokeStyle="white",e.font="16px sans-serif",e.textBaseline="top",e.textAlign="left",e.lineWidth=2,e.strokeText(i,t.x,t.y,t.width),e.fillText(i,t.x,t.y,t.width)):C.log(`Scene.render() - no bbox for debugged node [${i}].`)}e.restore()}(n,l.debugNodes),r&&this.debug.check()&&this.debug("Scene.render() - after",{redrawType:Te[r.dirty],tree:ss(r),canvasCleared:c})}strip(){const{context:e,pixelRatio:t}=this.canvas;e.setTransform(t,0,0,t,0,0),this.layersManager.clear(),this.setRoot(null),this.isDirty=!1}destroy(){this.strip(),this.canvas.destroy(),Object.assign(this,{canvas:void 0})}};hs.className="Scene";var us=class{constructor(){this.cache=new WeakMap}call(e,...t){let i,a=this.cache.get(e);const n=()=>{try{const n=e(...t);return a&&null!=i&&a.set(i,n),n}catch(e){return void C.warnOnce("User callback errored, ignoring",e)}};try{i=JSON.stringify(t)}catch(e){return n()}return null==a&&(a=new Map,this.cache.set(e,a)),a.has(i)?a.get(i):n()}invalidateCache(){this.cache=new WeakMap}},gs=class extends Zr{constructor(e){super(),this.annotationRoot=e,this.mementoOriginatorKey="annotations",this.annotations=[]}createMemento(){return this.annotations}guardMemento(e){return et(e)}restoreMemento(e,t,i){this.listeners.dispatch("restore-annotations",{type:"restore-annotations",annotations:i})}updateData(e){this.annotations=e??[]}attachNode(e){return this.annotationRoot.append(e),()=>(this.annotationRoot?.removeChild(e),this)}setAnnotationStyles(e){this.styles=e}getAnnotationTypeStyles(e){return this.styles?.[e]}},ps=class{constructor(e){this.sceneRoot=e,this.axes=new Map,this.axisGridGroup=new on({name:"Axes-Grids",layer:!0,zIndex:1}),this.axisGroup=new on({name:"Axes",layer:!0,zIndex:2}),this.sceneRoot.appendChild(this.axisGroup),this.sceneRoot.appendChild(this.axisGridGroup)}updateAxes(e,t){for(const i of e)t.includes(i)||(i.detachAxis(this.axisGroup,this.axisGridGroup),i.destroy());for(const i of t)e?.includes(i)||i.attachAxis(this.axisGroup,this.axisGridGroup);this.axes.clear();for(const e of t){const t=e.createAxisContext();this.axes.has(t.direction)?this.axes.get(t.direction)?.push(t):this.axes.set(t.direction,[t])}}getAxisContext(e){return[...this.axes.get(e)??[]]}destroy(){this.axes.clear(),this.sceneRoot.removeChild(this.axisGroup),this.sceneRoot.removeChild(this.axisGridGroup)}},ms=class extends $r{constructor(e){super(),this.animationManager=e,this.dispatchOnlyLatest=!0,this.dispatchThrottle=0,this.requestThrottle=300,this.isLoadingInitialData=!1,this.isLoadingData=!1,this.freshRequests=[],this.requestCounter=0,this.debug=wr.create(!0,"data-model","data-source"),this.throttledFetch=this.createThrottledFetch(this.requestThrottle),this.throttledDispatch=this.createThrottledDispatch(this.dispatchThrottle)}updateCallback(e){"function"==typeof e&&(this.debug("DataService - updated data source callback"),this.dataSourceCallback=e,this.isLoadingInitialData=!0,this.animationManager.skip(),this.dispatch("data-source-change"))}clearCallback(){this.dataSourceCallback=void 0}load(e){this.isLoadingData=!0,this.throttledFetch(e)}isLazy(){return null!=this.dataSourceCallback}isLoading(){return this.isLazy()&&(this.isLoadingInitialData||this.isLoadingData)}createThrottledFetch(e){return b((e=>this.fetch(e)),e,{leading:!1,trailing:!0})}createThrottledDispatch(e){return b(((e,t)=>{this.debug(`DataService - dispatching 'data-load' | ${e}`),this.dispatch("data-load",{type:"data-load",data:t})}),e,{leading:!0,trailing:!0})}async fetch(e){if(!this.dataSourceCallback)throw new Error("DataService - [dataSource.getData] callback not initialised");const t=performance.now(),i=this.requestCounter++;let a;this.debug(`DataService - requesting | ${i}`),this.freshRequests.push(i);try{a=await this.dataSourceCallback(e),this.debug(`DataService - response | ${performance.now()-t}ms | ${i}`)}catch(e){this.debug(`DataService - request failed | ${i}`),C.errorOnce(`DataService - request failed | [${e}]`)}this.isLoadingInitialData=!1;const n=this.freshRequests.findIndex((e=>e===i));-1===n||this.dispatchOnlyLatest&&n!==this.freshRequests.length-1?this.debug(`DataService - discarding stale request | ${i}`):(this.freshRequests=this.freshRequests.slice(n+1),0===this.freshRequests.length&&(this.isLoadingData=!1),Array.isArray(a)?this.throttledDispatch(i,a):this.dispatch("data-error"))}};c([Nr({newValue(e){this.throttledDispatch=this.createThrottledDispatch(e)}})],ms.prototype,"dispatchThrottle",2),c([Nr({newValue(e){this.throttledFetch=this.createThrottledFetch(e)}})],ms.prototype,"requestThrottle",2);var fs=class{constructor(e,t,i){this.element=e,this.topTabGuard=t,this.bottomTabGuard=i,this.destroyFns=[],this.guardTabIndex=0,this.element.tabIndex=-1,this.initEventListener(this.element,"blur",(()=>this.onBlur())),this.initEventListener(this.element,"focus",(()=>this.onFocus())),this.initEventListener(this.topTabGuard,"focus",(e=>this.onTabStart(e,this.topTabGuard))),this.initEventListener(this.bottomTabGuard,"focus",(e=>this.onTabStart(e,this.bottomTabGuard)))}set tabIndex(e){e>=0&&(this.guardTabIndex=e),e>0?(this.topTabGuard.tabIndex=e,this.bottomTabGuard.style.display="none"):(this.topTabGuard.tabIndex=e,this.bottomTabGuard.tabIndex=e)}destroy(){for(const e of this.destroyFns)e();this.destroyFns.length=0}initEventListener(e,t,i){e.addEventListener(t,i),this.destroyFns.push((()=>e.removeEventListener(t,i)))}onBlur(){-1===this.element.tabIndex&&(this.tabIndex=this.guardTabIndex,this.guardTarget=void 0,this.guessedDelta=void 0)}onFocus(){-1===this.element.tabIndex&&(this.tabIndex=-1)}onTabStart(e,t){if(t.tabIndex>0&&(this.guessedDelta=0,null!=e.relatedTarget&&"tabIndex"in e.relatedTarget)){const i=Number(e.relatedTarget.tabIndex);!isNaN(i)&&i>0&&(this.guessedDelta=i<t.tabIndex?1:-1)}this.guardTarget=t,this.element.focus()}getBrowserFocusDelta(){const{guessedDelta:e,guardTarget:t,topTabGuard:i,bottomTabGuard:a}=this;return void 0!==e?e:t===i?1:t===a?-1:0}},vs=class{constructor(){this.elements=new Map,this.documentReady=!1,this.queuedObserveRequests=[],this.onLoad=()=>{this.documentReady=!0,this.queuedObserveRequests.forEach((([e,t])=>this.observe(e,t))),this.queuedObserveRequests=[]},"undefined"!=typeof ResizeObserver&&(this.resizeObserver=new ResizeObserver((e=>{for(const{target:t,contentRect:{width:i,height:a}}of e){const e=this.elements.get(t);this.checkSize(e,t,i,a)}})),this.documentReady="complete"===gr("readyState"),this.documentReady||pr()?.addEventListener("load",this.onLoad))}destroy(){pr()?.removeEventListener("load",this.onLoad),this.resizeObserver?.disconnect(),this.resizeObserver=null}checkSize(e,t,i,a){e&&(i===e.size?.width&&a===e.size?.height||(e.size={width:i,height:a},e.cb(e.size,t)))}observe(e,t){if(!this.documentReady)return void this.queuedObserveRequests.push([e,t]);this.elements.has(e)?this.removeFromQueue(e):this.resizeObserver?.observe(e);const i={cb:t};this.elements.set(e,i),this.checkSize(i,e,e.offsetWidth,e.offsetHeight)}unobserve(e){this.resizeObserver?.unobserve(e),this.elements.delete(e),this.removeFromQueue(e),this.elements.size||this.destroy()}removeFromQueue(e){this.queuedObserveRequests=this.queuedObserveRequests.filter((([t])=>t!==e))}},ys="canvas-center",bs=["styles",ys,"canvas","canvas-proxy","canvas-overlay"],Cs=new Map([["styles",{childElementType:"style"}],["canvas",{childElementType:"canvas",eventTypes:["focus","blur"]}],["canvas-proxy",{childElementType:"div"}],["canvas-overlay",{childElementType:"div"}],[ys,{childElementType:"div"}]]);var ws=class extends Zr{constructor(e){super(),this.containerSize=void 0,this.sizeMonitor=new vs;const t=mr("div");t.innerHTML='<div class="ag-charts-wrapper ag-charts-styles" data-ag-charts><div class="ag-charts-canvas-center"><div class="ag-charts-canvas-container"><div class="ag-charts-tab-guard"></div><div class="ag-charts-canvas"></div><div class="ag-charts-canvas-proxy"></div><div class="ag-charts-tab-guard"></div><div class="ag-charts-canvas-overlay"></div></div></div></div>',this.element=t.children.item(0),this.rootElements=bs.reduce(((e,t)=>{const i=`ag-charts-${t}`,a=this.element.classList.contains(i)?this.element:this.element.querySelector(`.${i}`);if(!a)throw new Error(`AG Charts - unable to find DOM element ${i}`);return e[t]={element:a,children:new Map,listeners:[]},e}),{});let i=!1;this.observer=function(e,t){if("undefined"==typeof IntersectionObserver)return;const i=new IntersectionObserver((i=>{for(const a of i)a.target===e&&t(a.intersectionRatio)}),{root:e});return i.observe(e),i}(this.element,(e=>{0!==e||i||this.listeners.dispatch("hidden",{type:"hidden"}),i=0===e})),this.setSizeOptions(),this.addStyles("dom-manager",".ag-charts-wrapper,\n.ag-charts-wrapper:focus,\n.ag-charts-wrapper:after,\n.ag-charts-wrapper:before,\n.ag-charts-wrapper *,\n.ag-charts-wrapper *:focus,\n.ag-charts-wrapper *:after,\n.ag-charts-wrapper *:before{box-sizing:border-box;outline:none}.ag-charts-wrapper{position:relative}.ag-charts-canvas-center{width:100%;height:100%;position:absolute;touch-action:auto;display:flex;align-items:var(--ag-charts-align);justify-content:var(--ag-charts-justify)}.ag-charts-canvas-container,\n.ag-charts-canvas{position:relative}.ag-charts-canvas-container > *,\n.ag-charts-canvas > *{display:block}.ag-charts-canvas-proxy{opacity:0;position:absolute;top:0;left:0;pointer-events:none}.ag-charts-tab-guard{opacity:0;width:0px;height:0px}.ag-charts-canvas-overlay{pointer-events:none;position:absolute;top:0;left:0;right:0;bottom:0}.ag-charts-canvas-overlay > *{position:absolute;pointer-events:auto}.ag-charts-theme-default,\n.ag-charts-theme-default-dark{--ag-charts-active-color:var(--ag-active-color,#2196f3);--ag-charts-background-color:var(--ag-background-color,#fff);--ag-charts-foreground-color:var(--ag-foreground-color,#181d1f);--ag-charts-border-color:var(--ag-border-color,#dddddd);--ag-charts-font-size:var(--ag-font-size,14px);--ag-charts-size:var(--ag-grid-size,8px);--ag-charts-border:var(--ag-charts-border-color) var(--ag-borders,solid 1px);--ag-charts-border-critical:var(--ag-borders-critical,solid 1px);--ag-charts-layer-context-menu:5;--ag-charts-layer-tooltip:4;--ag-charts-layer-toolbar:3;--ag-charts-layer-crosshair:2;--ag-charts-layer-annotations:1;--ag-charts-align:center;--ag-charts-justify:center;--ag-charts-axis-label-background-color:#474747;--ag-charts-axis-label-color:#ffffff;--ag-charts-toolbar-foreground-color:var(--ag-header-foreground-color,var(--ag-charts-foreground-color));--ag-charts-toolbar-background-color:var(\n --ag-header-background-color,color-mix(in srgb,var(--ag-charts-background-color),var(--ag-charts-foreground-color) 2%)\n );--ag-charts-toolbar-size:34px;--ag-charts-toolbar-size-small:24px;--ag-charts-toolbar-border:var(--ag-charts-border-critical,solid 1px) var(--ag-charts-border-color);--ag-charts-toolbar-hover-color:color-mix(in srgb,var(--ag-charts-background-color),var(--ag-charts-active-color) 12%);--ag-charts-toolbar-focus-color:var(--ag-charts-active-color);--ag-charts-toolbar-active-background-color:color-mix(in srgb,var(--ag-charts-background-color),var(--ag-charts-active-color) 24%);--ag-charts-toolbar-active-color:var(--ag-active-color,#5090dc);--ag-charts-toolbar-disabled-foreground-color:var(\n --ag-disabled-foreground-color,color-mix(in srgb,transparent,var(--ag-charts-toolbar-foreground-color) 50%)\n );--ag-charts-toolbar-disabled-background-color:color-mix(in srgb,var(--ag-charts-toolbar-background-color),var(--ag-charts-toolbar-foreground-color) 6%);--ag-charts-toolbar-gap:var(--ag-charts-size);--ag-charts-toolbar-font-size:14px;--ag-charts-toolbar-font-size-small:12px;--ag-charts-toolbar-button-padding:7px;--ag-charts-toolbar-button-padding-small:3px;--ag-charts-button-radius:var(--ag-border-radius,4px);--ag-charts-focus-border-color:var(--ag-input-focus-border-color,var(--ag-charts-active-color));--ag-charts-focus-border:solid 1px var(--ag-charts-focus-border-color);--ag-charts-focus-border-shadow:var(\n --ag-input-focus-box-shadow,0 0 0 3px color-mix(in srgb,transparent,var(--ag-input-focus-border-color,var(--ag-charts-active-color)) 47%)\n );--ag-charts-icon-font-family:'agChartsDefault';--ag-charts-icon-font-weight:normal;--ag-charts-icon-font-color:color-mix(in srgb,transparent,var(--ag-charts-foreground-color),90%)}.ag-charts-theme-default-dark{--ag-charts-background-color:var(--ag-background-color,color-mix(in srgb,#fff,#182230 97%));--ag-charts-foreground-color:var(--ag-foreground-color,#fff);--ag-charts-border-color:var(--ag-border-color,rgba(255,255,255,0.16));--ag-charts-hover-color:var(\n --ag-row-hover-color,color-mix(in srgb,transparent,var(--ag-charts-active-color) 20%)\n );--ag-charts-axis-label-background-color:#9caebb;--ag-charts-axis-label-color:#000000;--ag-charts-toolbar-background-color:var(--ag-header-background-color,color-mix(in srgb,#fff,#182230 93%))}[class^='ag-charts-icon']{display:block;speak:none;speak:never;mask-size:contain;mask-repeat:no-repeat;background-color:currentColor}.ag-charts-icon-zoom-in{mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04Ljc1IDQuNWEuNzUuNzUgMCAwIDAtMS41IDB2Mi43NUg0LjVhLjc1Ljc1IDAgMCAwIDAgMS41aDIuNzV2Mi43NWEuNzUuNzUgMCAwIDAgMS41IDBWOC43NWgyLjc1YS43NS43NSAwIDAgMCAwLTEuNUg4Ljc1VjQuNVoiIGZpbGw9IiMwMDAiLz48L3N2Zz4=)}.ag-charts-icon-zoom-out{mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjc1IDhhLjc1Ljc1IDAgMCAxIC43NS0uNzVoN2EuNzUuNzUgMCAwIDEgMCAxLjVoLTdBLjc1Ljc1IDAgMCAxIDMuNzUgOFoiIGZpbGw9IiMwMDAiLz48L3N2Zz4=)}.ag-charts-icon-zoom-in-alt{mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLXpvb20taW4iPjxjaXJjbGUgY3g9IjExIiBjeT0iMTEiIHI9IjgiLz48bGluZSB4MT0iMjEiIHgyPSIxNi42NSIgeTE9IjIxIiB5Mj0iMTYuNjUiLz48bGluZSB4MT0iMTEiIHgyPSIxMSIgeTE9IjgiIHkyPSIxNCIvPjxsaW5lIHgxPSI4IiB4Mj0iMTQiIHkxPSIxMSIgeTI9IjExIi8+PC9zdmc+)}.ag-charts-icon-zoom-out-alt{mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLXpvb20tb3V0Ij48Y2lyY2xlIGN4PSIxMSIgY3k9IjExIiByPSI4Ii8+PGxpbmUgeDE9IjIxIiB4Mj0iMTYuNjUiIHkxPSIyMSIgeTI9IjE2LjY1Ii8+PGxpbmUgeDE9IjgiIHgyPSIxNCIgeTE9IjExIiB5Mj0iMTEiLz48L3N2Zz4=)}.ag-charts-icon-reset{mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00LjQxMiA0LjA1OCAyLjc1IDIuMzk2VjYuNzVoLjc0NGEuNzYuNzYgMCAwIDAgLjAxMiAwaDMuNTk4TDUuNDc4IDUuMTI1YTQuMTI1IDQuMTI1IDAgMCAxIDIuNTIzLS44NzUgMy43NSAzLjc1IDAgMSAxLTMuMTE5IDUuODMzLjc1Ljc1IDAgMCAwLTEuMjQ3LjgzNEE1LjI1IDUuMjUgMCAxIDAgOCAyLjc1aC0uMDAzYTUuNjI1IDUuNjI1IDAgMCAwLTMuNTg1IDEuMzA4WiIgZmlsbD0iIzAwMCIvPjwvc3ZnPg==)}.ag-charts-icon-pan-left{mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMC4wMyA0LjQ3YS43NS43NSAwIDAgMSAwIDEuMDZMNy41NiA4bDIuNDcgMi40N2EuNzUuNzUgMCAxIDEtMS4wNiAxLjA2bC0zLTNhLjc1Ljc1IDAgMCAxIDAtMS4wNmwzLTNhLjc1Ljc1IDAgMCAxIDEuMDYgMFoiIGZpbGw9IiMwMDAiLz48L3N2Zz4=)}.ag-charts-icon-pan-right{mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01Ljk3IDExLjUzYS43NS43NSAwIDAgMSAwLTEuMDZMOC40NCA4IDUuOTcgNS41M2EuNzUuNzUgMCAwIDEgMS4wNi0xLjA2bDMgM2EuNzUuNzUgMCAwIDEgMCAxLjA2bC0zIDNhLjc1Ljc1IDAgMCAxLTEuMDYgMFoiIGZpbGw9IiMwMDAiLz48L3N2Zz4=)}.ag-charts-icon-pan-start{mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWNoZXZyb24tZmlyc3QiPjxwYXRoIGQ9Im0xNyAxOC02LTYgNi02Ii8+PHBhdGggZD0iTTcgNnYxMiIvPjwvc3ZnPg==)}.ag-charts-icon-pan-end{mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWNoZXZyb24tbGFzdCI+PHBhdGggZD0ibTcgMTggNi02LTYtNiIvPjxwYXRoIGQ9Ik0xNyA2djEyIi8+PC9zdmc+)}.ag-charts-icon-trend-line{mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGNpcmNsZSBjeD0iMi41IiBjeT0iOCIgcj0iMS43NSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjEuNSIvPjxjaXJjbGUgY3g9IjEzLjUiIGN5PSI4IiByPSIxLjc1IiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41Ii8+PHBhdGggc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjEuNSIgZD0iTTQgOGg4Ii8+PC9zdmc+)}.ag-charts-icon-horizontal-line{mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMC4zODYgOC43NWEyLjUwMSAyLjUwMSAwIDAgMS00Ljc3MiAwSC43NWEuNzUuNzUgMCAwIDEgMC0xLjVoNC44NjRhMi41MDEgMi41MDEgMCAwIDEgNC43NzIgMGg0Ljg2NGEuNzUuNzUgMCAwIDEgMCAxLjVoLTQuODY0Wk05IDhhMSAxIDAgMSAxLTIgMCAxIDEgMCAwIDEgMiAwWiIgZmlsbD0iIzAwMCIvPjwvc3ZnPg==)}.ag-charts-icon-vertical-line{mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04Ljc1IDUuNjE0YTIuNTAxIDIuNTAxIDAgMCAxIDAgNC43NzJ2NC44NjRhLjc1Ljc1IDAgMCAxLTEuNSAwdi00Ljg2NGEyLjUwMSAyLjUwMSAwIDAgMSAwLTQuNzcyVi43NWEuNzUuNzUgMCAwIDEgMS41IDB2NC44NjRaTTggN2ExIDEgMCAxIDEgMCAyIDEgMSAwIDAgMSAwLTJaIiBmaWxsPSIjMDAwIi8+PC9zdmc+)}.ag-charts-icon-parallel-channel{mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC40MjQgNC45MmEyLjUgMi41IDAgMSAwLTMuMzc3LTIuMTRsLTYuNjMgMi45YTIuNTAxIDIuNTAxIDAgMSAwIC42MDcgMS4zNzJsNi41ODUtMi44OGEyLjUwMSAyLjUwMSAwIDAgMCAyLjgxNS43NDhabS4wNS0yLjY5M2ExIDEgMCAxIDEtMS44Ny43MDggMSAxIDAgMCAxIDEuODctLjcwOFptLTExIDQuNzVhMSAxIDAgMSAxLTEuODcuNzA4IDEgMSAwIDAgMSAxLjg3LS43MDhabTEuNTUgNi4wNzVhMi41MDEgMi41MDEgMCAxIDEtLjYwNy0xLjM3Mmw2LjYzLTIuOWEyLjUwMSAyLjUwMSAwIDEgMSAuNTYyIDEuMzkxbC02LjU4NSAyLjg4Wm0tMS41NS0uMDc1YTEgMSAwIDEgMS0xLjg3LjcwOCAxIDEgMCAwIDEgMS44Ny0uNzA4Wm0xMC40Mi0zLjQ2YTEgMSAwIDEgMC0uNzA5LTEuODcgMSAxIDAgMCAwIC43MDggMS44N1oiIGZpbGw9IiMwMDAiLz48L3N2Zz4=)}.ag-charts-icon-disjoint-channel{mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC40MjQgNC45MmEyLjUgMi41IDAgMSAwLTMuMzgzLTIuNDUzTDQuNjkgNC4wNTVhMi41IDIuNSAwIDEgMCAuMzQ0IDEuNDZsNi4zOTItMS41OThhMi41MDEgMi41MDEgMCAwIDAgMyAxLjAwM1ptLjA1LTIuNjkzYTEgMSAwIDEgMS0xLjg3LjcwOCAxIDEgMCAwIDEgMS44Ny0uNzA4Wm0tMTEgMi43NWExIDEgMCAxIDEtMS44Ny43MDggMSAxIDAgMCAxIDEuODctLjcwOFptMS41NiA1LjQyYTIuNSAyLjUgMCAxIDAtLjM0NSAxLjQ2MWw2LjM1MiAxLjU4OGEyLjUgMi41IDAgMSAwIC4zODQtMS40NWwtNi4zOTItMS41OThabS0xLjU2LjUzOGExIDEgMCAxIDAtMS44Ny0uNzA4IDEgMSAwIDAgMCAxLjg3LjcwOFptMTAuNDIgMS40NjFhMSAxIDAgMSAxLS43MDkgMS44NyAxIDEgMCAwIDEgLjcwOC0xLjg3WiIgZmlsbD0iIzAwMCIvPjwvc3ZnPg==)}.ag-charts-icon-line-color{mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEyLjc4OC41ODNhMi42MyAyLjYzIDAgMCAwLTEuODYuNzdMOS41NDQgMi43MzhhLjc1Ny43NTcgMCAwIDAtLjE0LjE0TDIuMDMyIDEwLjI1di4wMDFjLS4yNDIuMjQxLS40Mi41MzgtLjUyLjg2NGwtLjAwMi4wMDItLjg4IDIuOTAyLS4wMDEuMDAzYTEuMDgzIDEuMDgzIDAgMCAwIDEuMzUgMS4zNDdoLjAwMWwyLjkwMi0uODhoLjAwMWMuMzI2LS4xLjYyMy0uMjc3Ljg2NS0uNTE4di0uMDAxbDcuMzc1LTcuMzc2YS43NjMuNzYzIDAgMCAwIC4xMzktLjEzOWwxLjM4NC0xLjM4NEEyLjYzIDIuNjMgMCAwIDAgMTIuNzg4LjU4M1ptLS4xMjYgNC4zNTIuOTI0LS45MjRhMS4xMyAxLjEzIDAgMCAwLTEuNTk3LTEuNTk3bC0uOTI0LjkyNCAxLjU5NyAxLjU5N1ptLTIuNjU3LS41MzYtNi45MTMgNi45MTRIMy4wOWEuNTgzLjU4MyAwIDAgMC0uMTQ2LjI0MmwtLjY1MyAyLjE1MyAyLjE1NS0uNjU0YS41ODMuNTgzIDAgMCAwIC4yNDEtLjE0NGw2LjkxNC02LjkxNC0xLjU5Ny0xLjU5N1oiIGZpbGw9IiMwMDAiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDE2djE2SDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+)}.ag-charts-icon-delete{mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjA4MyAyLjY2N2MwLS4wOS4wNTMtLjI0Mi4xOTctLjM4Ny4xNDUtLjE0NC4yOTctLjE5Ny4zODctLjE5N2gyLjY2N2MuMDg5IDAgLjI0MS4wNTMuMzg2LjE5Ny4xNDUuMTQ1LjE5Ny4yOTcuMTk3LjM4N3YuNTgzSDYuMDg0di0uNTgzWk01LjMzIDQuNzVIMTEuOTE3djguNTgzYzAgLjA5LS4wNTIuMjQyLS4xOTcuMzg3LS4xNDUuMTQ0LS4yOTcuMTk3LS4zODYuMTk3SDQuNjY3Yy0uMDkgMC0uMjQyLS4wNTMtLjM4Ny0uMTk3LS4xNDQtLjE0NS0uMTk3LS4yOTctLjE5Ny0uMzg3VjQuNzVINS4zM1ptLS43NDUtMS41di0uNTgzYzAtLjU3OC4yOC0xLjA5Mi42MzYtMS40NDcuMzU1LS4zNTYuODctLjYzNyAxLjQ0Ny0uNjM3aDIuNjY3Yy41NzcgMCAxLjA5MS4yODEgMS40NDcuNjM3LjM1NS4zNTUuNjM2Ljg3LjYzNiAxLjQ0N3YuNTgzSDE0YS43NS43NSAwIDAgMSAwIDEuNWgtLjU4M3Y4LjU4M2MwIC41NzgtLjI4MSAxLjA5Mi0uNjM2IDEuNDQ3LS4zNTYuMzU2LS44Ny42MzctMS40NDcuNjM3SDQuNjY3Yy0uNTc3IDAtMS4wOTItLjI4MS0xLjQ0Ny0uNjM3LS4zNTUtLjM1NS0uNjM3LS44Ny0uNjM3LTEuNDQ3VjQuNzVIMmEuNzUuNzUgMCAwIDEgMC0xLjVoMi41ODNabTIuMDgzIDMuMzMzYS43NS43NSAwIDAgMSAuNzUuNzV2NGEuNzUuNzUgMCAxIDEtMS41IDB2LTRhLjc1Ljc1IDAgMCAxIC43NS0uNzVabTMuNDE3Ljc1YS43NS43NSAwIDAgMC0xLjUgMHY0YS43NS43NSAwIDEgMCAxLjUgMHYtNFoiIGZpbGw9IiMwMDAiLz48L3N2Zz4=)}.ag-charts-icon-lock{mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjE3MyAyLjg0YTIuNTgzIDIuNTgzIDAgMCAxIDQuNDEgMS44Mjd2MS45MTZINS40MTZWNC42NjdjMC0uNjg1LjI3My0xLjM0My43NTctMS44MjdaTTMuOTE3IDYuNTgzVjQuNjY3YTQuMDgzIDQuMDgzIDAgMCAxIDguMTY2IDB2MS45MTZoLjU4NGMxLjE1IDAgMi4wODMuOTMzIDIuMDgzIDIuMDg0djQuNjY2YzAgMS4xNS0uOTMzIDIuMDg0LTIuMDgzIDIuMDg0SDMuMzMzYTIuMDgzIDIuMDgzIDAgMCAxLTIuMDgzLTIuMDg0VjguNjY3YzAtMS4xNTEuOTMzLTIuMDg0IDIuMDgzLTIuMDg0aC41ODNabTcuNDE2IDEuNWgtOGEuNTgzLjU4MyAwIDAgMC0uNTgzLjU4NHY0LjY2NmMwIC4zMjIuMjYxLjU4NC41ODMuNTg0aDkuMzM0YS41ODMuNTgzIDAgMCAwIC41ODMtLjU4NFY4LjY2N2EuNTgzLjU4MyAwIDAgMC0uNTgzLS41ODRoLTEuMzM0WiIgZmlsbD0iIzAwMCIvPjwvc3ZnPg==)}.ag-charts-icon-unlock{mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjkyMyAyLjg0YTIuNTgzIDIuNTgzIDAgMCAxIDMuNjUzIDAgMyAzIDAgMCAxIC41Ny43OThjLjEzNC4yNzguMTcuNDc0LjE3LjU0NWEuNzUuNzUgMCAwIDAgMS41IDBjMC0uMzgxLS4xMzItLjgwOS0uMzItMS4xOThhNC41MDEgNC41MDEgMCAwIDAtLjg1OS0xLjIwNiA0LjA4MyA0LjA4MyAwIDAgMC02Ljk3IDIuODg4djEuOTE2aC0uNTg0QzIuOTMzIDYuNTgzIDIgNy41MTYgMiA4LjY2N3Y0LjY2NmMwIDEuMTUuOTMzIDIuMDg0IDIuMDgzIDIuMDg0aDkuMzM0YzEuMTUgMCAyLjA4My0uOTMzIDIuMDgzLTIuMDg0VjguNjY3YzAtMS4xNTEtLjkzMy0yLjA4NC0yLjA4My0yLjA4NGgtNy4yNVY0LjY2N2MwLS42ODUuMjcyLTEuMzQzLjc1Ni0xLjgyN1pNNS40MTcgOC4wODNINC4wODJhLjU4My41ODMgMCAwIDAtLjU4My41ODR2NC42NjZjMCAuMzIyLjI2MS41ODQuNTgzLjU4NGg5LjMzNGEuNTgzLjU4MyAwIDAgMCAuNTgzLS41ODRWOC42NjdhLjU4My41ODMgMCAwIDAtLjU4My0uNTg0aC04WiIgZmlsbD0iIzAwMCIvPjwvc3ZnPg==)}.ag-charts-icon-plus{mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLXBsdXMiPjxwYXRoIGQ9Ik01IDEyaDE0Ii8+PHBhdGggZD0iTTEyIDV2MTQiLz48L3N2Zz4=)}.ag-charts-icon-crossline-add-line{mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iIzAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNOC43NSA0LjVhLjc1Ljc1IDAgMCAwLTEuNSAwdjIuNzVINC41YS43NS43NSAwIDAgMCAwIDEuNWgyLjc1djIuNzVhLjc1Ljc1IDAgMCAwIDEuNSAwVjguNzVoMi43NWEuNzUuNzUgMCAwIDAgMC0xLjVIOC43NXoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==)}"),e&&this.setContainer(e)}destroy(){super.destroy(),this.observer?.unobserve(this.element),this.container&&this.sizeMonitor.unobserve(this.container),Object.values(this.rootElements).forEach((e=>{e.children.forEach((e=>e.remove())),e.element.remove()})),this.guardedElement?.destroy(),this.element.remove()}setSizeOptions(e=300,t=300,i,a){const{style:n}=this.element;n.width=`${i??e}px`,n.height=`${a??t}px`}updateContainerSize(){const{style:e}=this.rootElements[ys].element;e.width=`${this.containerSize?.width??0}px`,e.height=`${this.containerSize?.height??0}px`}setContainer(e){e!==this.container&&(this.container&&(this.container.removeChild(this.element),this.sizeMonitor.unobserve(this.container)),e.appendChild(this.element),this.sizeMonitor.observe(e,(e=>{this.containerSize=e,this.updateContainerSize(),this.listeners.dispatch("resize",{type:"resize"})})),this.container=e,this.listeners.dispatch("container-changed",{type:"container-changed"}))}setThemeClass(e){this.element.classList.forEach((t=>{t.startsWith("ag-charts-theme-")&&t!==e&&this.element.classList.remove(t)})),this.element.classList.add(e)}createTabGuards(){const e=this.rootElements.canvas.element.querySelector("canvas"),t=this.element.querySelectorAll(".ag-charts-tab-guard");if(null==e||null==t[0]||null==t[1])throw new Error("AG Charts - error initialising canvas tab guards");return new fs(e,t[0],t[1])}setTabIndex(e){this.guardedElement??(this.guardedElement=this.createTabGuards()),this.guardedElement.tabIndex=e}getBrowserFocusDelta(){return this.guardedElement?.getBrowserFocusDelta()??0}addEventListener(e,t,i){this.element.addEventListener(e,t,i),Cs.forEach(((a,n)=>{if(!a.eventTypes?.includes(e))return;const r=this.rootElements[n];r.listeners.push([e,t,i]),r.children.forEach((i=>{i.addEventListener(e,t)}))}))}removeEventListener(e,t,i){this.element.removeEventListener(e,t,i),Cs.forEach(((a,n)=>{if(!a.eventTypes?.includes(e))return;const r=this.rootElements[n];r.listeners=r.listeners.filter((([i,a])=>i!==e&&a!==t)),r.children.forEach((a=>{a.removeEventListener(e,t,i)}))}))}getBoundingClientRect(){return this.rootElements.canvas.element.getBoundingClientRect()}getDocumentRoot(){const e=this.container?.ownerDocument?.body??gr("body");let t=this.container;for(;null!=t;){if(t===e)return;if(t.parentNode instanceof DocumentFragment)return t;t=t.parentNode}}getChildBoundingClientRect(e){const{children:t}=this.rootElements[e],i=[];for(const e of t.values())i.push(Ee.fromDOMRect(e.getBoundingClientRect()));return Ee.merge(i)}calculateCanvasPosition(e){let t=0,i=0;const{x:a=0,y:n=0}=this.getChildBoundingClientRect("canvas")??{},r=e.getBoundingClientRect();return t=r.x-a,i=r.y-n,{x:t,y:i}}isManagedDOMElement(e,t=this.element){for(;e&&e!==t;){if(null==e.parentElement)return!1;e=e.parentElement}return!0}isManagedChildDOMElement(e,t,i){const{children:a}=this.rootElements[t],n=a?.get(i);return null!=n&&this.isManagedDOMElement(e,n)}isEventOverElement(e){let t=e.target;if(null==t)return!1;for(;t!==this.element;)if(t=t.parentElement,null==t)return!1;return!0}addStyles(e,t){this.addChild("styles",e).innerHTML=t}removeStyles(e){this.removeChild("styles",e)}updateCursor(e){this.element.style.cursor=e}getCursor(){return this.element.style.cursor}addChild(e,t,i){const{element:a,children:n,listeners:r}=this.rootElements[e];if(!n)throw new Error("AG Charts - unable to create DOM elements after destroy()");if(n.has(t))return n.get(t);const{childElementType:o="div"}=Cs.get(e)??{};if(i&&i.tagName.toLowerCase()!==o.toLowerCase())throw new Error("AG Charts - mismatching DOM element type");const s=i??mr(o);for(const[e,t,i]of r)s.addEventListener(e,t,i);return n.set(t,s),a?.appendChild(s),s}removeChild(e,t){const{children:i}=this.rootElements[e];i&&i.has(t)&&(i.get(t)?.remove(),i.delete(t))}incrementDataCounter(e){const{dataset:t}=this.element;t[e]??(t[e]="0"),t[e]=String(Number(t[e])+1)}};function Ss(e,t,i,a){if(0===e)return function(e,t,i){if(0===e)return function(e,t){const i=-t/e;return 0!==e&&i>=0&&i<=1?[i]:[]}(t,i);const a=t*t-4*e*i,n=[];if(0===a){const i=-t/(2*e);i>=0&&i<=1&&n.push(i)}else if(a>0){const i=Math.sqrt(a),r=(-t-i)/(2*e),o=(-t+i)/(2*e);r>=0&&r<=1&&n.push(r),o>=0&&o<=1&&n.push(o)}return n}(t,i,a);const n=t/e,r=i/e,o=(3*r-n*n)/9,s=(9*n*r-27*(a/e)-2*n*n*n)/54,l=o*o*o+s*s,c=1/3,d=[];if(l>=0){const e=Math.sqrt(l),t=Math.sign(s+e)*Math.pow(Math.abs(s+e),c),i=Math.sign(s-e)*Math.pow(Math.abs(s-e),c),a=Math.abs(Math.sqrt(3)*(t-i)/2),r=-c*n+(t+i);if(r>=0&&r<=1&&d.push(r),0===a){const e=-c*n-(t+i)/2;e>=0&&e<=1&&d.push(e)}}else{const e=Math.acos(s/Math.sqrt(-o*o*o)),t=c*n,i=2*Math.sqrt(-o),a=i*Math.cos(c*e)-t,r=i*Math.cos(c*(e+2*Math.PI))-t,l=i*Math.cos(c*(e+4*Math.PI))-t;a>=0&&a<=1&&d.push(a),r>=0&&r<=1&&d.push(r),l>=0&&l<=1&&d.push(l)}return d}function xs(e,t,i,a,n,r,o,s){const l=(i-e)*(s-r)-(a-t)*(o-n);if(0===l)return 0;const c=((o-n)*(t-r)-(e-n)*(s-r))/l,d=((i-e)*(t-r)-(a-t)*(e-n))/l;return c>=0&&c<=1&&d>=0&&d<=1?1:0}function ks(e,t,i,a,n,r,o,s,l,c,d,h){let u=0;const g=c-h,p=d-l,m=l*(h-c)-c*(d-l),f=Ms(e,i,n,o),v=Ms(t,a,r,s),y=Ss(g*f[0]+p*v[0],g*f[1]+p*v[1],g*f[2]+p*v[2],g*f[3]+p*v[3]+m);for(const e of y){const t=e*e,i=e*t,a=f[0]*i+f[1]*t+f[2]*e+f[3],n=v[0]*i+v[1]*t+v[2]*e+v[3];let r;r=l===d?(n-c)/(h-c):(a-l)/(d-l),r>=0&&r<=1&&u++}return u}function Ms(e,t,i,a){return[3*t-e-3*i+a,3*e-6*t+3*i,-3*e+3*t,e]}function Rs(e,t,i,a,n,r,o,s,l,c){if(isNaN(e)||isNaN(t))return 0;r&&([n,a]=[a,n]);const d=(c-s)/(l-o),h=s-d*o,u=Math.pow(d,2)+1,g=2*(d*(h-t)-e),p=Math.pow(e,2)+Math.pow(h-t,2)-Math.pow(i,2),m=Math.pow(g,2)-4*u*p;if(m<0)return 0;const f=(-g+Math.sqrt(m))/2/u,v=(-g-Math.sqrt(m))/2/u;let y=0;return[f,v].forEach((i=>{if(!(i>=Math.min(o,l)&&i<=Math.max(o,l)))return;const r=i-e,s=d*i+h-t;hn(Math.atan2(s,r),a,n)&&y++})),y}var Ds=class{constructor(){this.path2d=new Path2D,this.previousCommands=[],this.previousParams=[],this.previousClosedPath=!1,this.commands=[],this.params=[],this.openedPath=!1,this.closedPath=!1}isDirty(){return this.closedPath!==this.previousClosedPath||this.previousCommands.length!==this.commands.length||this.previousParams.length!==this.params.length||this.previousCommands.toString()!==this.commands.toString()||this.previousParams.toString()!==this.params.toString()}getPath2D(){return this.path2d}moveTo(e,t){this.openedPath=!0,this.path2d.moveTo(e,t),this.commands.push(0),this.params.push(e,t)}lineTo(e,t){this.openedPath?(this.path2d.lineTo(e,t),this.commands.push(1),this.params.push(e,t)):this.moveTo(e,t)}rect(e,t,i,a){this.moveTo(e,t),this.lineTo(e+i,t),this.lineTo(e+i,t+a),this.lineTo(e,t+a),this.closePath()}roundRect(e,t,i,a,n){n=Math.min(n,i/2,a/2),this.moveTo(e,t+n),this.arc(e+n,t+n,n,Math.PI,1.5*Math.PI),this.lineTo(e+n,t),this.lineTo(e+i-n,t),this.arc(e+i-n,t+n,n,1.5*Math.PI,2*Math.PI),this.lineTo(e+i,t+n),this.lineTo(e+i,t+a-n),this.arc(e+i-n,t+a-n,n,0,Math.PI/2),this.lineTo(e+i-n,t+a),this.lineTo(e+n,t+a),this.arc(e+ +n,t+a-n,n,Math.PI/2,Math.PI),this.lineTo(e,t+a-n),this.closePath()}arc(e,t,i,a,n,r){this.openedPath=!0,this.path2d.arc(e,t,i,a,n,r),this.commands.push(2),this.params.push(e,t,i,a,n,r?1:0)}cubicCurveTo(e,t,i,a,n,r){this.openedPath||this.moveTo(e,t),this.path2d.bezierCurveTo(e,t,i,a,n,r),this.commands.push(3),this.params.push(e,t,i,a,n,r)}closePath(){this.openedPath&&(this.path2d.closePath(),this.commands.push(4),this.openedPath=!1,this.closedPath=!0)}clear(e){e&&(this.previousCommands=this.commands,this.previousParams=this.params,this.previousClosedPath=this.closedPath),this.path2d=new Path2D,this.openedPath=!1,this.closedPath=!1,this.commands=[],this.params=[]}isPointInPath(e,t){const i=this.commands,a=this.params,n=i.length,r=-1e4,o=-1e4;let s=NaN,l=NaN,c=0,d=0,h=0;for(let u=0,g=0;u<n;u++)switch(i[u]){case 0:h+=xs(s,l,c,d,r,o,e,t),c=a[g++],s=c,d=a[g++],l=d;break;case 1:h+=xs(c,d,a[g++],a[g++],r,o,e,t),c=a[g-2],d=a[g-1];break;case 3:h+=ks(c,d,a[g++],a[g++],a[g++],a[g++],a[g++],a[g++],r,o,e,t),c=a[g-2],d=a[g-1];break;case 2:const i=a[g++],n=a[g++],u=a[g++],p=a[g++],m=a[g++];if(h+=Rs(i,n,u,p,m,Boolean(a[g++]),r,o,e,t),!isNaN(s)){h+=xs(c,d,i+Math.cos(p)*u,n+Math.sin(p)*u,r,o,e,t)}c=i+Math.cos(m)*u,d=n+Math.sin(m)*u;break;case 4:h+=xs(s,l,c,d,r,o,e,t)}return h%2==1}distanceSquared(e,t){let i=1/0;const a=this.commands,n=this.params,r=a.length;let o=NaN,s=NaN,l=0,c=0;for(let d=0,h=0;d<r;d++)switch(a[d]){case 0:l=o=n[h++],c=s=n[h++];break;case 1:i=kr(e,t,l,c,n[h++],n[h++],i);break;case 3:C.error("Command.Curve distanceSquare not implemented");break;case 2:{const a=n[h++],r=n[h++],o=n[h++],s=n[h++],d=n[h++],u=a+Math.cos(s)*o,g=r+Math.sin(s)*o,p=Boolean(n[h++]);i=kr(e,t,l,c,u,g,i),i=Mr(e,t,a,r,o,s,d,p,i),l=a+Math.cos(d)*o,c=r+Math.sin(d)*o;break}case 4:i=kr(e,t,l,c,o,s,i)}return i}getPoints(){const{commands:e,params:t}=this,i=[];let a=0;for(let n=0;n<e.length;n++)switch(e[n]){case 0:case 1:i.push({x:t[a++],y:t[a++]});break;case 3:a+=4,i.push({x:t[a++],y:t[a++]});break;case 2:i.push({x:t[a++],y:t[a++]}),a+=4}return i}computeSVGDataPath(e,t){const i=[],{commands:a,params:n}=this;let r=0;for(let o=0;o<a.length;o++)switch(a[o]){case 0:i.push("M",e+n[r++],t+n[r++]);break;case 1:i.push("L",e+n[r++],t+n[r++]);break;case 3:i.push("C",e+n[r++],t+n[r++],e+n[r++],t+n[r++],e+n[r++],t+n[r++]);break;case 2:const[a,o,s,l,c,d]=[n[r++],n[r++],n[r++],n[r++],n[r++],n[r++]],h=e+a+Math.cos(l)*s,u=t+o+Math.sin(l)*s,g=e+a+Math.cos(c)*s,p=t+o+Math.sin(c)*s,m=pn(l,c,!!d)>Math.PI?1:0,f=(d+1)%2;i.push("L",h,u,"A",s,s,0,m,f,g,p);break;case 4:i.push("Z")}return i.join(" ")}};function As(e){const{redraw:t=3,changeCb:i,convertor:a}=e??{};return Pe({redraw:t,type:"path",convertor:a,changeCb:i})}var Es=class extends wn{constructor(){super(...arguments),this.path=new Ds,this._clipX=NaN,this._clipY=NaN,this._dirtyPath=!0}set clipX(e){this._clipX=e,this.dirtyPath=!0}set clipY(e){this._clipY=e,this.dirtyPath=!0}set dirtyPath(e){this._dirtyPath!==e&&(this._dirtyPath=e,e&&this.markDirty(this,3))}get dirtyPath(){return this._dirtyPath}checkPathDirty(){this._dirtyPath||(this.dirtyPath=this.path.isDirty()||(this.fillShadow?.isDirty()??!1)||(this._clipPath?.isDirty()??!1))}isPointInPath(e,t){const i=this.transformPoint(e,t);return this.path.closedPath&&this.path.isPointInPath(i.x,i.y)}distanceSquared(e,t){const i=this.transformPoint(e,t);return this.distanceSquaredTransformedPoint(i.x,i.y)}computeSVGDataPath(){const{x:e,y:t}=this.inverseTransformPoint(0,0);return this.path.computeSVGDataPath(e,t)}distanceSquaredTransformedPoint(e,t){return this.path.closedPath&&this.path.isPointInPath(e,t)?0:this.path.distanceSquared(e,t)}isDirtyPath(){return!1}updatePath(){}render(e){const{ctx:t,forceRender:i,stats:a}=e;if(0!==this.dirty||i){if(this.computeTransformMatrix(),this.matrix.toContext(t),(this.dirtyPath||this.isDirtyPath())&&(this.updatePath(),this.dirtyPath=!1),isNaN(this._clipX)||isNaN(this._clipY)||null==this.clipMode)this.drawPath(t);else{t.save();const e=this.strokeWidth/2;if(this._clipPath??(this._clipPath=new Ds),this._clipPath.clear(),this._clipPath.rect(-e,-e,this._clipX+e,this._clipY+e+e),"normal"===this.clipMode&&t.clip(this._clipPath?.getPath2D()),this._clipX>0&&this._clipY>0&&this.drawPath(t),"punch-out"===this.clipMode){t.clip(this._clipPath?.getPath2D());const{x:e=-1e4,y:i=-1e4,width:a=2e4,height:n=2e4}=this.computeBBox()??{};t.clearRect(e,i,a,n)}t.restore()}this.fillShadow?.markClean(),super.render(e)}else a&&(a.nodesSkipped+=this.nodeCount.count)}drawPath(e){this.fillStroke(e,this.path.getPath2D())}};Es.className="Path",c([As()],Es.prototype,"clipMode",2),c([As()],Es.prototype,"clipX",1),c([As()],Es.prototype,"clipY",1);var Ts={};l(Ts,{block:()=>Fs,css:()=>Ps,elements:()=>Is,modifiers:()=>Ls});var Ps=".ag-charts-focus.ag-charts-focus__indicator{position:absolute;display:block;pointer-events:none;user-select:none;width:100%;height:100%}.ag-charts-focus.ag-charts-focus__indicator > div{position:absolute;outline:var(--ag-charts-focus-border);outline-width:2px;box-shadow:var(--ag-charts-focus-border-shadow)}.ag-charts-focus.ag-charts-focus__indicator > svg{width:100%;height:100%;fill:none;stroke:var(--ag-charts-focus-border-color);stroke-width:2px}.ag-charts-focus--hidden{visibility:hidden}",Fs="ag-charts-focus",Is={indicator:"ag-charts-focus__indicator",svg:"ag-charts-focus__svg"},Ls={hidden:"ag-charts-focus--hidden"},Ns=class{constructor(e){this.domManager=e;const{css:t,block:i,elements:a,modifiers:n}=Ts;this.div=gr().createElement("div"),this.svg=gr().createElementNS("http://www.w3.org/2000/svg","svg"),this.path=gr().createElementNS("http://www.w3.org/2000/svg","path"),this.svg.append(this.path),e.addStyles(i,t),this.element=e.addChild("canvas-overlay",i),this.element.classList.add(i,a.indicator,n.hidden),this.element.append(this.svg)}destroy(){this.domManager.removeStyles(Fs),this.domManager.removeChild("canvas-overlay",Fs)}updateBounds(e){void 0===e?this.element.classList.add(Ls.hidden):e instanceof Es?(this.path.setAttribute("d",e.computeSVGDataPath()),this.show(this.svg)):(br(this.div,e),this.show(this.div))}show(e){this.element.classList.remove(Ls.hidden),this.element.innerHTML="",this.element.append(e)}};function Os(e,t){return t.params?.type===e}function zs(e){return{params:e,result:mr({button:"button",slider:"input",toolbar:"div",group:"div"}[e.type])}}var Gs=class{constructor(e,t,i,a){this.localeManager=t,this.domManager=i,this.focusIndicator=a,this.debugShowDOMProxies=wr.check("showDOMProxies"),this.destroyFns=[],this.destroyFns.push(e.addListener("update-complete",(()=>this.update())))}destroy(){this.destroyFns.forEach((e=>e()))}update(){this.focusable&&this.focusIndicator.updateBounds(this.focusable.computeTransformedBBox())}addLocalisation(e){e(),this.destroyFns.push(this.localeManager.addListener("locale-changed",e))}createProxyContainer(e){const t=zs(e),{params:i,result:a}=t;return this.domManager.addChild("canvas-overlay",i.id,a),a.classList.add(...i.classList),a.style.pointerEvents="none",a.role=i.type,a.ariaOrientation=i.ariaOrientation,this.addLocalisation((()=>{a.ariaLabel=this.localeManager.t(i.ariaLabel.id,i.ariaLabel.params)})),a}createProxyElement(e){const t=zs(e);if(Os("button",t)){const{params:e,result:i}=t;if(this.initElement(e,i),"string"==typeof e.textContent)i.textContent=e.textContent;else{const{textContent:t}=e;this.addLocalisation((()=>{i.textContent=this.localeManager.t(t.id,t.params)}))}}if(Os("slider",t)){const{params:e,result:i}=t;this.initElement(e,i),i.type="range",i.role="presentation",i.style.margin="0px",i.ariaOrientation=e.ariaOrientation,this.addLocalisation((()=>{i.ariaLabel=this.localeManager.t(e.ariaLabel.id,e.ariaLabel.params)}))}return t.result}initElement(e,t){const{focusable:i,onclick:a,onchange:n,onfocus:r,onblur:o,tabIndex:s,id:l,parent:c}=e;t.id=l,t.style.pointerEvents="none",t.style.opacity=this.debugShowDOMProxies?"0.25":"0",t.style.position="absolute",t.style.overflow="hidden",void 0!==s&&(t.tabIndex=s),c.appendChild(t),t.addEventListener("focus",(e=>{this.focusable=i,t.style.setProperty("pointerEvents",null),this.focusIndicator.updateBounds(i.computeTransformedBBox())})),t.addEventListener("blur",(e=>{this.focusable=void 0,t.style.pointerEvents="none",this.focusIndicator.updateBounds(void 0)})),a&&t.addEventListener("click",a),r&&t.addEventListener("focus",r),o&&t.addEventListener("blur",o),n&&t.addEventListener("change",n)}},Bs=class{constructor(e){this.maxAnimationTime=e,this.debug=wr.create(!0,"animation"),this.controllers=new Map,this.stoppedCbs=new Set,this.currentPhase=0,this.phases=new Map(Kt.map((e=>[e,[]]))),this.skipAnimations=!1,this.animationTimeConsumed=0,this.isReady=!1}get size(){return this.controllers.size}get consumedTimeMs(){return this.animationTimeConsumed}isActive(){return this.controllers.size>0}getActiveControllers(){return this.phases.get(Kt[this.currentPhase])??[]}checkOverlappingId(e){null!=e&&this.controllers.has(e)&&(this.controllers.get(e).stop(),this.debug(`Skipping animation batch due to update of existing animation: ${e}`),this.skip())}addAnimation(e){if(e.isComplete)return;if(Kt.indexOf(e.phase)<this.currentPhase)return this.debug("Skipping animation due to being for an earlier phase",e.id),void e.stop();this.controllers.set(e.id,e),this.phases.get(e.phase)?.push(e)}removeAnimation(e){this.controllers.delete(e.id);const t=this.phases.get(e.phase),i=t?.indexOf(e);null!=i&&i>=0&&t?.splice(i,1)}progress(e){if(!this.isReady)return;let t=0===e?.01:e;const i=()=>{const e=Kt[this.currentPhase];return{phaseControllers:[...this.getActiveControllers()],phase:e,phaseMeta:jt[e]}};let{phase:a,phaseControllers:n,phaseMeta:r}=i();const o=()=>null==Kt[this.currentPhase],s=()=>{for(({phase:a,phaseControllers:n,phaseMeta:r}=i());!o()&&0===n.length;)this.currentPhase++,({phase:a,phaseControllers:n,phaseMeta:r}=i()),this.debug(`AnimationBatch - phase changing to ${a}`,{unusedTime:t},n)},l=this.controllers.size;this.debug(`AnimationBatch - ${e}ms; phase ${a} with ${n?.length} of ${l}`);do{const e=t,i=r.skipIfNoEarlierAnimations&&0===this.animationTimeConsumed;let a=0;for(const r of n)i?r.stop():t=Math.min(r.update(e),t),r.isComplete&&(a++,this.removeAnimation(r));this.animationTimeConsumed+=e-t,this.debug(`AnimationBatch - updated ${n.length} controllers; ${a} completed`),this.debug(`AnimationBatch - animationTimeConsumed: ${this.animationTimeConsumed}`),s()}while(t>0&&!o());this.animationTimeConsumed>this.maxAnimationTime&&(C.warnOnce("Animation batch exceeded max animation time, skipping.",new Map(this.controllers.entries())),this.stop())}ready(){if(this.isReady)return;this.isReady=!0,this.debug(`AnimationBatch - ready; skipped: ${this.skipAnimations}`,[...this.controllers]);let e=!0;for(const[,t]of this.controllers)if(t.duration>0&&!0!==jt[t.phase].skipIfNoEarlierAnimations){e=!1;break}if(!e)for(const[,e]of this.controllers)e.autoplay&&e.play(!0)}skip(e=!0){if(!1===this.skipAnimations&&!0===e){for(const e of this.controllers.values())e.stop();this.controllers.clear()}this.skipAnimations=e}play(){for(const e of this.controllers.values())e.play()}pause(){for(const e of this.controllers.values())e.pause()}stop(){for(const e of this.controllers.values())try{e.stop(),this.removeAnimation(e)}catch(e){C.error("Error during animation stop",e)}this.dispatchStopped()}stopByAnimationId(e){if(null!=e&&this.controllers.has(e)){const t=this.controllers.get(e);t&&(t.stop(),this.removeAnimation(t))}}stopByAnimationGroupId(e){for(const t of this.controllers.values())t.groupId===e&&this.stopByAnimationId(t.id)}dispatchStopped(){this.stoppedCbs.forEach((e=>e())),this.stoppedCbs.clear()}isSkipped(){return this.skipAnimations}destroy(){this.stop(),this.controllers.clear()}};function Vs(e){return null==e||!isNaN(e)&&e>=0&&e<=2}var Hs=class extends Zr{constructor(e,t){super(),this.interactionManager=e,this.chartUpdateMutex=t,this.defaultDuration=1e3,this.batch=new Bs(1.5*this.defaultDuration),this.debug=wr.create(!0,"animation"),this.rafAvailable="undefined"!=typeof requestAnimationFrame,this.isPlaying=!1,this.requestId=null,this.skipAnimations=!1,this.currentAnonymousAnimationId=0}animate({...e}){const t=this.batch;try{t.checkOverlappingId(e.id)}catch(e){return void this.failsafeOnError(e)}let{id:i}=e;null==i&&(i=`__${this.currentAnonymousAnimationId}`,this.currentAnonymousAnimationId+=1);const a=this.isSkipped()||"none"===e.phase;a&&this.debug("AnimationManager - skipping animation");const{delay:n,duration:r}=e;if(!Vs(n))throw new Error(`Animation delay of ${n} is unsupported (${i})`);if(!Vs(r))throw new Error(`Animation duration of ${r} is unsupported (${i})`);const o=new Zt({...e,id:i,skip:a,autoplay:!!this.isPlaying&&e.autoplay,phase:e.phase,defaultDuration:this.defaultDuration});if(!this.forceTimeJump(o,this.defaultDuration))return this.batch.addAnimation(o),o}play(){if(!this.isPlaying){this.isPlaying=!0,this.debug("AnimationManager.play()");try{this.batch.play()}catch(e){this.failsafeOnError(e)}this.requestAnimation()}}pause(){if(this.isPlaying){this.isPlaying=!1,this.cancelAnimation(),this.debug("AnimationManager.pause()");try{this.batch.pause()}catch(e){this.failsafeOnError(e)}}}stop(){this.isPlaying=!1,this.cancelAnimation(),this.debug("AnimationManager.stop()"),this.batch.stop()}stopByAnimationId(e){try{this.batch.stopByAnimationId(e)}catch(e){this.failsafeOnError(e)}}stopByAnimationGroupId(e){try{this.batch.stopByAnimationGroupId(e)}catch(e){this.failsafeOnError(e)}}reset(){this.isPlaying?(this.stop(),this.play()):this.stop()}skip(e=!0){this.skipAnimations=e}isSkipped(){return!this.rafAvailable||this.skipAnimations||this.batch.isSkipped()}isActive(){return this.isPlaying&&this.batch.isActive()}skipCurrentBatch(){this.debug.check()&&this.debug("AnimationManager - skipCurrentBatch()",{stack:(new Error).stack}),this.batch.skip()}isSkippingFrames(){return!0}scheduleAnimationFrame(e){this.requestId=requestAnimationFrame(e)}forceTimeJump(e,t){return!1}requestAnimation(){if(!this.rafAvailable)return;if(!this.batch.isActive()||null!==this.requestId)return;let e;const t=async i=>{const a=async()=>{const t=i-(e??i);e=i,this.debug("AnimationManager - onAnimationFrame()",{controllersCount:this.batch.size,deltaTime:t}),this.interactionManager.pushState(1);try{this.batch.progress(t)}catch(e){this.failsafeOnError(e)}this.listeners.dispatch("animation-frame",{type:"animation-frame",deltaMs:t})};this.isSkippingFrames()?await this.chartUpdateMutex.acquireImmediately(a):await this.chartUpdateMutex.acquire(a),this.batch.isActive()?this.scheduleAnimationFrame(t):(this.batch.stop(),this.listeners.dispatch("animation-stop",{type:"animation-stop",deltaMs:this.batch.consumedTimeMs}))};this.listeners.dispatch("animation-start",{type:"animation-start",deltaMs:0}),this.scheduleAnimationFrame(t)}cancelAnimation(){null!==this.requestId&&(cancelAnimationFrame(this.requestId),this.requestId=null,this.startBatch())}failsafeOnError(e,t=!0){C.error("Error during animation, skipping animations",e),t&&this.cancelAnimation()}startBatch(e){this.debug(`AnimationManager - startBatch() with skipAnimations=${e}.`),this.reset(),this.batch.stop(),this.batch.destroy(),this.batch=new Bs(1.5*this.defaultDuration),!0===e&&this.batch.skip()}endBatch(){this.batch.isActive()?(this.batch.ready(),this.requestAnimation()):(this.interactionManager.popState(1),this.batch.isSkipped()&&this.batch.skip(!1))}onBatchStop(e){this.batch.stoppedCbs.add(e)}},Ws=class e{constructor(t,i,a){this.localeManager=t,this.domManager=i,this.layoutService=a,this.debug=wr.create(!0,"aria"),this.destroyFns=[],this.liveElem=e.createAnnouncer(),this.domManager.addChild("canvas-proxy","ag-charts-canvas-proxy",this.liveElem),this.destroyFns.push(this.layoutService.addListener("layout-complete",(e=>this.onResize(e))),(()=>this.domManager.removeChild("canvas-proxy","ag-charts-canvas-proxy")))}static createAnnouncer(){const e=gr().createElement("div");return e.classList.add("ag-charts-aria-announcer"),Br(e,"role","figure"),Br(e,"aria-live","assertive"),e}destroy(){this.destroyFns.forEach((e=>e()))}onResize(e){this.liveElem.style.width=`${e.chart.width}px`,this.liveElem.style.height=`${e.chart.height}px`}announceValue(e,t){const{localeManager:i,liveElem:a}=this,n=i.t(e,t);this.debug(`AriaAnnouncementService - announceValue: ${n}`),a.textContent=" ",setTimeout((()=>a.innerText=n),16)}},_s=class extends Zr{legendItemClick(e,t,i,a){const n={type:"legend-item-click",series:e,itemId:t,enabled:i,legendItemName:a};this.listeners.dispatch("legend-item-click",n)}legendItemDoubleClick(e,t,i,a,n){const r={type:"legend-item-double-click",series:e,itemId:t,enabled:i,legendItemName:n,numVisibleItems:a};this.listeners.dispatch("legend-item-double-click",r)}axisHover(e,t){const i={type:"axis-hover",axisId:e,direction:t};this.listeners.dispatch("axis-hover",i)}},qs=class e{constructor(e){this.defaultActions=[],this.disabledActions=new Set,this.hiddenActions=new Set,this.listeners=new $r;const{Default:t,ContextMenu:i}=ro;this.destroyFns=[e.listenAll("contextmenu",(e=>this.onContextMenu(e)),t|i)]}destroy(){this.destroyFns.forEach((e=>e()))}onContextMenu(t){"all"===e.toContextType(t.region)&&this.dispatchContext("all",t,{})}static toContextType(e){return"legend"===e||"series"===e?e:"all"}static check(e,t){return t.type===e}static checkCallback(e,t,i){return e===t}dispatchContext(e,t,i){const{offsetX:a,offsetY:n,sourceEvent:r}=t;this.listeners.dispatch("",Xr({type:e,x:a,y:n,context:i,sourceEvent:r}))}addListener(e){return this.listeners.addListener("",e)}filterActions(e){return this.defaultActions.filter((t=>t.id&&!this.hiddenActions.has(t.id)&&["all",e].includes(t.type)))}registerDefaultAction(e){e.id&&this.defaultActions.find((({id:t})=>t===e.id))||this.defaultActions.push(e)}enableAction(e){this.disabledActions.delete(e)}disableAction(e){this.disabledActions.add(e)}setActionVisiblity(e,t){t?this.hiddenActions.delete(e):this.hiddenActions.add(e)}isDisabled(e){return this.disabledActions.has(e)}},Us=class extends Map{constructor(e,t){super(),this.defaultValue=e,this.defaultState=t}set(e,t){return this.delete(e),void 0!==t&&super.set(e,t),this}stateId(){return Array.from(this.keys()).pop()??this.defaultState}stateValue(){return Array.from(this.values()).pop()??this.defaultValue}},Ks=(e=>(e.Auto="auto",e.Default="default",e.Grab="grab",e.Grabbing="grabbing",e.Move="move",e.NotAllowed="not-allowed",e.Pointer="pointer",e.EWResize="ew-resize",e.NSResize="ns-resize",e.ZoomIn="zoom-in",e.ZoomOut="zoom-out",e))(Ks||{}),js=class{constructor(e){this.domManager=e,this.stateTracker=new Us("default")}updateCursor(e,t){this.stateTracker.set(e,t),this.domManager.updateCursor(this.stateTracker.stateValue())}getCursor(){return this.domManager.getCursor()}};function Ys(e,t){return Math.sqrt(function(e,t){const i=e.screenX-t.screenX,a=e.screenY-t.screenY;return i*i+a*a}(e,t))}var $s=class extends Zr{constructor(e){super(),this.domManager=e,this.touchstart=e=>this.onTouchStart(e),this.touchmove=e=>this.onTouchMove(e),this.touchend=e=>this.onTouchEnd(e),this.touchcancel=e=>this.onTouchCancel(e),this.pinch={finger1:{identifier:NaN,screenX:NaN,screenY:NaN},finger2:{identifier:NaN,screenX:NaN,screenY:NaN},origin:{x:NaN,y:NaN},distance:NaN,status:0},this.domManager.addEventListener("touchstart",this.touchstart,{passive:!0}),this.domManager.addEventListener("touchmove",this.touchmove,{passive:!1}),this.domManager.addEventListener("touchend",this.touchend),this.domManager.addEventListener("touchcancel",this.touchcancel)}destroy(){this.domManager.removeEventListener("touchstart",this.touchstart),this.domManager.removeEventListener("touchmove",this.touchmove),this.domManager.removeEventListener("touchend",this.touchend),this.domManager.removeEventListener("touchcancel",this.touchcancel)}findPinchTouches(e){const{touches:t}=e,{finger1:i,finger2:a}=this.pinch;if(0!==this.pinch.status&&2===t.length){if(t[0].identifier===i.identifier&&t[1].identifier===a.identifier)return[t[0],t[1]];if(t[0].identifier===a.identifier&&t[1].identifier===i.identifier)return[t[1],t[0]]}}copyTouchData(e){const t=["identifier","screenX","screenY"];kt(t,this.pinch.finger1,e.touches[0]),kt(t,this.pinch.finger2,e.touches[1]),this.pinch.distance=Ys(this.pinch.finger1,this.pinch.finger2)}dispatchPinchEvent(e,t,i){const{finger1:a,finger2:n,origin:r}=this.pinch;this.listeners.dispatch(e,Xr({sourceEvent:i,type:e,finger1:a,finger2:n,deltaDistance:t,origin:r}))}onTouchStart(e){this.stopPinchTracking(e);const{pinch:t}=this;2===e.touches.length&&(t.status=1,this.copyTouchData(e),t.origin.x=(e.touches[0].clientX+e.touches[1].clientX)/2,t.origin.y=(e.touches[0].clientY+e.touches[1].clientY)/2)}onTouchMove(e){const t=this.findPinchTouches(e);if(void 0!==t){const[i,a]=t,{pinch:n}=this,r=Ys(i,a),o=r-n.distance;1===n.status?Math.abs(o)>1&&(n.status=2,this.copyTouchData(e),this.dispatchPinchEvent("pinch-start",0,e)):2===n.status?(n.distance=r,this.copyTouchData(e),this.dispatchPinchEvent("pinch-move",o,e)):C.error(`unexpected pinch.status: ${n.status}`)}}onTouchEnd(e){this.stopPinchTracking(e)}onTouchCancel(e){this.stopPinchTracking(e)}stopPinchTracking(e){const{pinch:t}=this;2===t.status&&this.dispatchPinchEvent("pinch-end",0,e),this.pinch.status=0}},Zs=class extends Zr{constructor(){super(...arguments),this.highlightStates=new Us}updateHighlight(e,t){const{activeHighlight:i}=this;this.highlightStates.set(e,t),this.activeHighlight=this.highlightStates.stateValue(),this.isEqual(this.activeHighlight,i)||this.listeners.dispatch("highlight-change",{type:"highlight-change",currentHighlight:this.activeHighlight,previousHighlight:i})}getActiveHighlight(){return this.activeHighlight}isEqual(e,t){return e===t||e?.series===t?.series&&e?.itemId===t?.itemId&&e?.datum===t?.datum}},Xs=class extends Zr{constructor(e,t){super(),this.domManager=t,this.hasBrowserFocus=!1,this.isMouseBlurred=!1,this.isClicking=!1,this.destroyFns.push(e.addListener("drag-start",(e=>this.onClickStart(e)),31),e.addListener("click",(e=>this.onClickStop(e)),31),e.addListener("drag-end",(e=>this.onClickStop(e)),31),e.addListener("wheel",(e=>this.mouseBlur(e))),e.addListener("hover",(e=>this.mouseBlur(e))),e.addListener("drag",(e=>this.mouseBlur(e))),e.addListener("blur",(e=>this.onBlur(e)),31),e.addListener("focus",(e=>this.onFocus(e)),31),e.addListener("keydown",(e=>this.onKeyDown(e)),31))}destroy(){super.destroy()}onClickStart(e){this.isClicking=!0,this.mouseBlur(e)}onClickStop(e){this.mouseBlur(e),this.isClicking=!1}mouseBlur(e){this.hasBrowserFocus&&(this.isMouseBlurred||(this.dispatch("blur",0,e),this.isMouseBlurred=!0))}onBlur(e){this.hasBrowserFocus=!1,this.isMouseBlurred=!1,this.dispatch("blur",0,e)}onFocus(e){const t=this.domManager.getBrowserFocusDelta();this.dispatch("browserfocus",t,e),this.hasBrowserFocus=!0,this.isClicking?this.isMouseBlurred=!0:this.dispatch("tab",t,e)}onKeyDown(e){if(!this.hasBrowserFocus)return;this.isMouseBlurred=!1;const{code:t,altKey:i,shiftKey:a,metaKey:n,ctrlKey:r}=e.sourceEvent;if("Tab"===t)return a?this.dispatch("tab",-1,e):this.dispatch("tab",1,e);if(!(i||a||n||r)){switch(t){case"ArrowDown":return this.dispatch("nav-vert",1,e);case"ArrowUp":return this.dispatch("nav-vert",-1,e);case"ArrowLeft":return this.dispatch("nav-hori",-1,e);case"ArrowRight":return this.dispatch("nav-hori",1,e);case"ZoomIn":case"Add":return this.dispatch("nav-zoom",1,e);case"ZoomOut":case"Substract":return this.dispatch("nav-zoom",-1,e);case"Space":case"Enter":return this.dispatch("submit",0,e);case"Escape":return this.dispatch("cancel",0,e);case"Backspace":case"Delete":return this.dispatch("delete",0,e)}switch(e.sourceEvent.key){case"+":return this.dispatch("nav-zoom",1,e);case"-":return this.dispatch("nav-zoom",-1,e)}}}dispatch(e,t,i){Qr(this.listeners,{type:e,delta:t,sourceEvent:i})}},Qs=["series"],Js=class extends $r{};function el(e,t,i,a,n=16){return e?.addListener(i,(e=>{t.getState()&n&&a(e)}))??(()=>{})}var tl=class{constructor(e,t,i){this.interactionManager=e,this.keyNavManager=t,this.focusIndicator=i,this.currentTabIndex=0,this.isDragging=!1,this.leftCanvas=!1,this.regions=new Map,this.destroyFns=[],this.allRegionsListeners=new Js,this.destroyFns.push(...Jr.map((t=>e.addListener(t,this.processPointerEvent.bind(this),31))),this.keyNavManager.addListener("blur",this.onNav.bind(this)),this.keyNavManager.addListener("browserfocus",this.onBrowserFocus.bind(this)),this.keyNavManager.addListener("tab",this.onTab.bind(this)),this.keyNavManager.addListener("nav-vert",this.onNav.bind(this)),this.keyNavManager.addListener("nav-hori",this.onNav.bind(this)),this.keyNavManager.addListener("nav-zoom",this.onNav.bind(this)),this.keyNavManager.addListener("submit",this.onNav.bind(this)),this.keyNavManager.addListener("cancel",this.onNav.bind(this)),this.keyNavManager.addListener("delete",this.onNav.bind(this)))}destroy(){this.destroyFns.forEach((e=>e())),this.currentRegion=void 0;for(const e of this.regions.values())e.listeners.destroy();this.focusIndicator.destroy(),this.regions.clear()}addRegion(e,...t){if(this.regions.has(e))throw new Error(`AG Charts - Region: ${e} already exists`);const i={properties:{name:e,bboxproviders:[...t]},listeners:new Js};return this.regions.set(e,i),this.makeObserver(i)}updateRegion(e,...t){const i=this.regions.get(e);i&&(i.properties.bboxproviders=[...t])}getRegion(e){return this.makeObserver(this.regions.get(e))}listenAll(e,t,i=16){return el(this.allRegionsListeners,this.interactionManager,e,t,i)}makeObserver(e){const{interactionManager:t}=this;return new class{addListener(i,a,n=16){return el(e?.listeners,t,i,a,n)}}}checkPointerHistory(e,t){for(const i of t.pointerHistory){const t=this.pickRegion(i.offsetX,i.offsetY);if(e.properties.name!==t?.properties.name)return!1}return!0}dispatch(e,t){if(null==e)return;const i=Xr({...t,region:e.properties.name});this.allRegionsListeners.dispatch(i.type,i),e.listeners.dispatch(i.type,i)}handleDragging(e){const{currentRegion:t}=this;switch(e.type){case"drag-start":this.isDragging=!0,this.leftCanvas=!1;break;case"leave":return this.leftCanvas=!0,this.isDragging;case"enter":return this.leftCanvas=!1,this.isDragging;case"drag":if(this.isDragging)return this.dispatch(t,e),!0;break;case"drag-end":if(this.isDragging)return this.isDragging=!1,this.dispatch(t,e),this.leftCanvas&&this.dispatch(t,{...e,type:"leave"}),!0}return!1}processPointerEvent(e){if(this.handleDragging(e))return;const{currentRegion:t}=this,i=this.pickRegion(e.offsetX,e.offsetY);void 0!==t&&i?.properties.name!==t.properties.name&&this.dispatch(t,{...e,type:"leave"}),void 0!==i&&i.properties.name!==t?.properties.name&&this.dispatch(i,{...e,type:"enter"}),void 0!==i&&this.checkPointerHistory(i,e)&&this.dispatch(i,e),this.currentRegion=i}pickRegion(e,t){let i,a=1/0;for(const n of this.regions.values())for(const r of n.properties.bboxproviders){const o=r.computeTransformedRegionBBox?.()??r.computeTransformedBBox(),s=o.width*o.height;s<a&&o.containsPoint(e,t)&&(a=s,i=n)}return i}getTabRegion(e){if(void 0!==e&&e>=0&&e<Qs.length)return this.regions.get(Qs[e])}getNextInteractableTabIndex(e,t){const i=t<0?-1:1;let a=e;for(;0!==t;){if(void 0===this.getTabRegion(a+i))return;t-=i,a+=i}return a}validateCurrentTabIndex(){void 0!==this.getTabRegion(this.currentTabIndex)&&(this.currentTabIndex=this.getNextInteractableTabIndex(-1,1)??0)}onBrowserFocus(e){e.delta>0?this.currentTabIndex=-1:e.delta<0&&(this.currentTabIndex=Qs.length)}onTab(e){this.validateCurrentTabIndex();const t=this.getNextInteractableTabIndex(this.currentTabIndex,e.delta),i=this.getTabRegion(t),a=this.getTabRegion(this.currentTabIndex);if(void 0!==t&&(this.currentTabIndex=t),void 0!==a&&i?.properties.name!==a.properties.name){const{delta:t,sourceEvent:i}=e,n=Xr({type:"blur",delta:t,sourceEvent:i});this.dispatch(a,n)}void 0===i?this.focusIndicator.updateBounds(void 0):this.dispatch(i,e)}onNav(e){const t=this.getTabRegion(this.currentTabIndex);this.dispatch(t,e)}},il=["start","center","end"],al=["annotations","annotationOptions","ranges","zoom"],nl=(e=>(e.Top="top",e.Right="right",e.Bottom="bottom",e.Left="left",e.Floating="floating",e.FloatingTop="floating-top",e.FloatingBottom="floating-bottom",e))(nl||{}),rl=Object.values(nl);function ol(e){return["floating-top","floating-bottom"].includes(e)}var sl=class extends Zr{static isGroup(e,t){return t.group===e}static isChildElement(e,t){for(const i of rl)if(e.isManagedChildDOMElement(t,"canvas-overlay",`toolbar-${i}`))return!0;return!1}pressButton(e,t){this.listeners.dispatch("button-pressed",{type:"button-pressed",group:e,value:t})}cancel(e){this.listeners.dispatch("cancelled",{type:"cancelled",group:e})}toggleButton(e,t,i){const{active:a=!1,enabled:n=!0,visible:r=!0}=i;this.listeners.dispatch("button-toggled",{type:"button-toggled",group:e,value:t,active:a,enabled:n,visible:r})}toggleGroup(e,t,i){this.listeners.dispatch("group-toggled",{type:"group-toggled",caller:e,group:t,visible:i})}changeFloatingAnchor(e,t){this.listeners.dispatch("floating-anchor-changed",{type:"floating-anchor-changed",group:e,anchor:t})}buttonMoved(e,t,i){this.listeners.dispatch("button-moved",{type:"button-moved",group:e,value:t,rect:i})}proxyGroupOptions(e,t,i){this.listeners.dispatch("proxy-group-options",{type:"proxy-group-options",caller:e,group:t,options:i})}},ll=class{constructor(e,t){this.domManager=e,this.tooltip=t,this.stateTracker=new Us,this.suppressState=new Us(!1),this.appliedState=null,t.setup(e),e.addListener("hidden",(()=>this.tooltip.toggle(!1))),e.addStyles("tooltip",".ag-chart-tooltip{transition:transform 0.1s ease;max-width:100%;z-index:99999;font:12px Verdana,sans-serif;color:rgb(70,70,70);box-shadow:0 4px 8px rgba(0,0,0,0.08)}.ag-chart-tooltip-wrap-always{overflow-wrap:break-word;word-break:break-word;hyphens:none}.ag-chart-tooltip-wrap-hyphenate{overflow-wrap:break-word;word-break:break-word;hyphens:auto}.ag-chart-tooltip-wrap-on-space{overflow-wrap:normal;word-break:normal}.ag-chart-tooltip-wrap-never{white-space:pre;text-overflow:ellipsis}.ag-chart-tooltip-no-interaction{pointer-events:none;user-select:none}.ag-chart-tooltip-no-animation{transition:none!important}.ag-chart-tooltip-hidden{visibility:hidden}.ag-chart-tooltip-title{overflow:hidden;position:relative;padding:8px 14px;border-top-left-radius:2px;border-top-right-radius:2px;color:white;background-color:#888888;z-index:1;text-overflow:inherit}.ag-chart-tooltip-title:only-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.ag-chart-tooltip-content{overflow:hidden;padding:6px 14px;line-height:1.7em;background:white;border-bottom-left-radius:2px;border-bottom-right-radius:2px;border:1px solid rgba(0,0,0,0.15);text-overflow:inherit}.ag-chart-tooltip-arrow::before{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid #d9d9d9;border-left-color:transparent;border-right-color:transparent;border-bottom-color:transparent;width:0;height:0;margin:0 auto}.ag-chart-tooltip-arrow::after{content:'';position:absolute;top:calc(100% - 1px);left:50%;transform:translateX(-50%);border:5px solid white;border-left-color:transparent;border-right-color:transparent;border-bottom-color:transparent;width:0;height:0;margin:0 auto}")}updateTooltip(e,t,i){this.tooltip.enabled&&(i??(i=this.stateTracker.get(e)?.content),this.stateTracker.set(e,{content:i,meta:t}),this.applyStates())}removeTooltip(e){this.tooltip.enabled&&(this.stateTracker.delete(e),this.applyStates())}suppressTooltip(e){this.suppressState.set(e,!0)}unsuppressTooltip(e){this.suppressState.delete(e)}getTooltipMeta(e){return this.stateTracker.get(e)?.meta}destroy(){this.domManager.removeStyles("tooltip")}applyStates(){const e=this.stateTracker.stateId(),t=e?this.stateTracker.get(e):null;if(this.suppressState.stateValue()||null==t?.meta||null==t?.content)return this.appliedState=null,void this.tooltip.toggle(!1);const i=this.domManager.getBoundingClientRect();if(this.appliedState?.content===t?.content){const e=this.tooltip.isVisible();this.tooltip.show(i,t?.meta,null,e)}else this.tooltip.show(i,t?.meta,t?.content);this.appliedState=t}static makeTooltipMeta(e,t){const{offsetX:i,offsetY:a}=e,{tooltip:n}=t.series.properties,r={offsetX:i,offsetY:a,enableInteraction:n.interaction?.enabled??!1,lastPointerEvent:{type:e.type,offsetX:i,offsetY:a},showArrow:n.showArrow,position:{type:n.position.type,xOffset:n.position.xOffset,yOffset:n.position.yOffset}},o=t.yBar?.upperPoint??t.midPoint??t.series.datumMidPoint?.(t);if("node"===n.position.type&&o){const{x:e,y:i}=o,a=t.series.contentGroup.inverseTransformPoint(e,i);return{...r,offsetX:Math.round(a.x),offsetY:Math.round(a.y)}}return r}},cl=class extends $r{constructor(){super(...arguments),this.layoutComplete="layout-complete",this.debug=wr.create(!0,"layout")}addListener(e,t){if(this.isLayoutStage(e)||this.isLayoutComplete(e))return super.addListener(e,t);throw new Error(`AG Charts - unsupported listener type: ${e}`)}dispatchPerformLayout(e,t){return this.isLayoutStage(e)?this.getListenersByType(e).reduce(((e,t)=>{try{const i=t.handler(e);return this.debug("[LayoutService] Context updated to: ",{...i},t),i}catch(t){return C.errorOnce(t),e}}),t):t}dispatchLayoutComplete(e){this.dispatch(this.layoutComplete,e)}isLayoutStage(e){return e!==this.layoutComplete}isLayoutComplete(e){return e===this.layoutComplete}},dl=/\$\{(\w+)\}(?:\[(\w+)\])?/gi,hl={number:new Intl.NumberFormat("en-US"),percent:new Intl.NumberFormat("en-US",{style:"percent"}),date:new Intl.DateTimeFormat("en-US",{dateStyle:"full"}),time:new Intl.DateTimeFormat("en-US",{timeStyle:"full"}),datetime:new Intl.DateTimeFormat("en-US",{dateStyle:"full",timeStyle:"full"})},ul=class extends $r{constructor(){super(...arguments),this.localeText=void 0,this.getLocaleText=void 0}setLocaleText(e){this.localeText!==e&&(this.localeText=e,this.dispatch("locale-changed"))}setLocaleTextFormatter(e){this.getLocaleText=e,this.getLocaleText!==e&&(this.getLocaleText=e,this.dispatch("locale-changed"))}t(e,t={}){const{localeText:i=h,getLocaleText:a}=this,n=i[e];return a?.({key:e,defaultValue:n,variables:t})??(({defaultValue:e,variables:t})=>e?.replaceAll(dl,((e,i,a)=>{const n=t[i],r=null!=a?hl[a]:void 0;return null!=a&&null==r&&C.warnOnce(`Format style [${a}] is not supported`),null!=r?r.format(n):"number"==typeof n?hl.number.format(n):n instanceof Date?hl.datetime.format(n):n})))({key:e,defaultValue:n,variables:t})??e}},gl=class{constructor(){this.groups={}}registerSeries({id:e,seriesGrouping:t,visible:i,type:a}){var n;t&&((n=this.groups)[a]??(n[a]={}),this.groups[a][e]={grouping:t,visible:i})}deregisterSeries({id:e,type:t}){this.groups[t]&&delete this.groups[t][e],this.groups[t]&&0===Object.keys(this.groups[t]).length&&delete this.groups[t]}getVisiblePeerGroupIndex({type:e,seriesGrouping:t,visible:i}){if(!t)return{visibleGroupCount:i?1:0,visibleSameStackCount:i?1:0,index:0};const a=new Set,n=new Set;for(const i of Object.values(this.groups[e]??{}))i.visible&&(a.add(i.grouping.groupIndex),i.grouping.groupIndex===t.groupIndex&&n.add(i.grouping.stackIndex));const r=Array.from(a);return r.sort(((e,t)=>e-t)),{visibleGroupCount:r.length,visibleSameStackCount:n.size,index:r.indexOf(t.groupIndex)}}},pl=(e=>(e[e.FULL=0]="FULL",e[e.UPDATE_DATA=1]="UPDATE_DATA",e[e.PROCESS_DATA=2]="PROCESS_DATA",e[e.PERFORM_LAYOUT=3]="PERFORM_LAYOUT",e[e.SERIES_UPDATE=4]="SERIES_UPDATE",e[e.TOOLTIP_RECALCULATION=5]="TOOLTIP_RECALCULATION",e[e.SCENE_RENDER=6]="SCENE_RENDER",e[e.NONE=7]="NONE",e))(pl||{}),ml=class extends $r{constructor(e){super(),this.updateCallback=e}update(e=0,t){this.updateCallback(e,t)}dispatchUpdateComplete(e){this.dispatch("update-complete",{type:"update-complete",minRect:e?.minRect,minVisibleRect:e?.minVisibleRect})}},fl=class{constructor(e,t){const{scene:i,root:a,syncManager:n,container:r,updateCallback:o,updateMutex:s,overrideDevicePixelRatio:l}=t;this.chartService=e,this.syncManager=n,this.zoomManager=e.zoomManager,this.domManager=new ws(r),i?.setContainer(this.domManager),this.scene=i??new hs({pixelRatio:l,domManager:this.domManager}),this.scene.setRoot(a),this.axisManager=new ps(a),this.localeManager=new ul,this.annotationManager=new gs(e.annotationRoot),this.chartEventManager=new _s,this.cursorManager=new js(this.domManager),this.highlightManager=new Zs,this.interactionManager=new so(e.keyboard,this.domManager),this.keyNavManager=new Xs(this.interactionManager,this.domManager),this.focusIndicator=new Ns(this.domManager),this.regionManager=new tl(this.interactionManager,this.keyNavManager,this.focusIndicator),this.contextMenuRegistry=new qs(this.regionManager),this.toolbarManager=new sl,this.gestureDetector=new $s(this.domManager),this.layoutService=new cl,this.ariaAnnouncementService=new Ws(this.localeManager,this.domManager,this.layoutService),this.updateService=new ml(o),this.proxyInteractionService=new Gs(this.updateService,this.localeManager,this.domManager,this.focusIndicator),this.seriesStateManager=new gl,this.stateManager=new is,this.callbackCache=new us,this.animationManager=new Hs(this.interactionManager,s),this.animationManager.skip(),this.animationManager.play(),this.dataService=new ms(this.animationManager),this.tooltipManager=new ll(this.domManager,e.tooltip)}destroy(){this.tooltipManager.destroy(),this.contextMenuRegistry.destroy(),this.regionManager.destroy(),this.proxyInteractionService.destroy(),this.focusIndicator.destroy(),this.keyNavManager.destroy(),this.interactionManager.destroy(),this.animationManager.stop(),this.animationManager.destroy(),this.ariaAnnouncementService.destroy(),this.chartEventManager.destroy(),this.highlightManager.destroy(),this.callbackCache.invalidateCache(),this.animationManager.reset(),this.syncManager.destroy(),this.domManager.destroy(),this.axisManager.destroy()}},vl=class extends Mt{constructor(){super(...arguments),this.range="tooltip"}};c([mi(ra(["tooltip","node"],"a range"))],vl.prototype,"range",2);var yl=class e{constructor(){this.domain=new Set}static is(t){return t instanceof e}extend(e){this.domain.add(e)}getDomain(){return Array.from(this.domain)}},bl=class e{constructor(){this.domain=[1/0,-1/0]}static is(t){return t instanceof e}static extendDomain(e,t=[1/0,-1/0]){for(const i of e)"number"==typeof i&&(t[0]>i&&(t[0]=i),t[1]<i&&(t[1]=i));return t}extend(e){this.domain[0]>e&&(this.domain[0]=e),this.domain[1]<e&&(this.domain[1]=e)}getDomain(){return[...this.domain]}};function Cl(e){return e.map((e=>ot(e)?JSON.stringify(e):e)).join("-")}function wl(e){const t=1e4;return Number.isInteger(e)?e:Math.abs(e)>t?Math.trunc(e):Math.round(e*t)/t}function Sl(e,t){const i=function(e){if(null==e)return[];let[t,i]=e.map(Number);return 0===t&&0===i?[0,1]:t===1/0&&i===-1/0?[]:(t===1/0?t=0:i===-1/0&&(i=0),ht(t)&&ht(i)?[t,i]:[])}(e);if(0===i.length)return i;let[a,n]=i;if(a===n){const[e,i]=t?.calculatePadding(a,n)??[1,1];a-=e,n+=i}return[a,n]}function xl(e,t){return t?.get(e.id)??0}var kl=Symbol("invalid");function Ml(e){const t=[];let i,a=0;const n=/((?:(?:^|\.)\s*\w+|\[\s*(?:'(?:[^']|(?<!\\)\\')*'|"(?:[^"]|(?<!\\)\\")*"|-?\d+)\s*\])\s*)/g;for(;i=n.exec(e);){if(i.index!==a)return;a=i.index+i[0].length;const e=i[1].trim();if(e.startsWith("."))t.push(e.slice(1).trim());else if(e.startsWith("[")){const i=e.slice(1,-1).trim();i.startsWith("'")?t.push(i.slice(1,-1).replace(/(?<!\\)\\'/g,"'")):i.startsWith('"')?t.push(i.slice(1,-1).replace(/(?<!\\)\\"/g,'"')):t.push(i)}else t.push(e)}if(a===e.length)return t}function Rl(e){return t=>{let i=t;for(const t of e)i=i[t];return i}}var Dl=class{constructor(e,t="standalone"){this.opts=e,this.mode=t,this.debug=wr.create(!0,"data-model"),this.scopeCache=new Map,this.keys=[],this.values=[],this.aggregates=[],this.groupProcessors=[],this.propertyProcessors=[],this.reducers=[],this.processors=[];let i=!0;for(const t of e.props){if("key"===t.type&&!i)throw new Error("AG Charts - internal config error: keys must come before values.");"value"===t.type&&i&&(i=!1)}const a=({matchGroupIds:e=[]})=>{for(const t of e)if(this.values.every((e=>e.groupId!==t)))throw new Error(`AG Charts - internal config error: matchGroupIds properties must match defined groups (${t}).`)};for(const t of e.props)switch(t.type){case"key":this.keys.push({...t,index:this.keys.length,missing:new Map});break;case"value":if(null==t.property)throw new Error(`AG Charts - internal config error: no properties specified for value definitions: ${JSON.stringify(t)}`);this.values.push({...t,index:this.values.length,missing:new Map});break;case"aggregate":a(t),this.aggregates.push({...t,index:this.aggregates.length});break;case"group-value-processor":a(t),this.groupProcessors.push({...t,index:this.groupProcessors.length});break;case"property-value-processor":this.propertyProcessors.push({...t,index:this.propertyProcessors.length});break;case"reducer":this.reducers.push({...t,index:this.reducers.length});break;case"processor":this.processors.push({...t,index:this.processors.length})}}resolveProcessedDataDefById(e,t){const i=this.scopeCache.get(e.id)?.get(t);if(!i)throw new Error(`AG Charts - didn't find property definition for [${t}, ${e.id}]`);return{index:i.index,def:i}}resolveProcessedDataIndexById(e,t){return this.resolveProcessedDataDefById(e,t).index}resolveProcessedDataDefsByIds(e,t){return t.map((t=>[t,this.resolveProcessedDataDefById(e,t)]))}resolveProcessedDataDefsValues(e,{keys:t,values:i}){const a={};for(const[n,{index:r,def:o}]of e){const e="key"===o.type?t:i;a[n]=e[r]}return a}getDomain(e,t,i="value",a){const n=this.getDomainsByType(i,a);return n?.[this.resolveProcessedDataIndexById(e,t)]??[]}getDomainsByType(e,t){switch(e){case"key":return t.domain.keys;case"value":return t.domain.values;case"aggregate":return t.domain.aggValues;case"group-value-processor":return t.domain.groups;default:return null}}processData(e,t){const{opts:{groupByKeys:i,groupByFn:a},aggregates:n,groupProcessors:r,reducers:o,processors:s,propertyProcessors:l}=this,c=performance.now();if(i&&0===this.keys.length)return;let d=this.extractData(e,t);if(i?d=this.groupData(d):a&&(d=this.groupData(d,a(d))),r.length>0&&this.postProcessGroups(d),n.length>0&&this.aggregateData(d),l.length>0&&this.postProcessProperties(d),o.length>0&&this.reduceData(d),s.length>0&&this.postProcessData(d),e.length>0)for(const t of y(this.keys,this.values))for(const[i,a]of t.missing)if(a>=e.length){const e=null==i?"":` for ${i}`;C.warnOnce(`the key '${t.property}' was not found in any data element${e}.`)}const h=performance.now();d.time=h-c,this.debug.check()&&function(e){const t=(e,t)=>{t.length>0&&(C.log(`DataModel.processData() - ${e}`),C.table(t))};if(C.log("DataModel.processData() - processedData",e),t("Key Domains",e.domain.keys),t("Group Domains",e.domain.groups??[]),t("Value Domains",e.domain.values),t("Aggregate Domains",e.domain.aggValues??[]),"grouped"===e.type){t("Values",e.data.reduce(((e,t)=>{const i=t.keys??[],a=t.aggValues??[],n=t.keys.map((()=>{})),r=a?.map((()=>{}));return e.push(...t.values.map(((e,t)=>[...0===t?i:n,...e??[],...0==t?a:r]))),e}),[]))}else{t("Values",e.data.reduce(((e,t)=>{const i=t.aggValues??[];return e.push([...t.keys,...t.values,...i]),e}),[]))}}(d),this.scopeCache.clear();for(const e of y(this.keys,this.values,this.aggregates))if(e.idsMap)for(const[t,i]of e.idsMap)for(const a of i)if(this.scopeCache.has(t)){if(this.scopeCache.get(t)?.has(a))throw new Error("duplicate definition ids on the same scope are not allowed.");this.scopeCache.get(t).set(a,e)}else this.scopeCache.set(t,new Map([[a,e]]));return d}valueGroupIdxLookup({matchGroupIds:e}){const t=[];for(const[i,a]of this.values.entries())(!e||a.groupId&&e.includes(a.groupId))&&t.push(i);return t}valueIdxLookup(e,t){const i=null==e||0===e.length,a="string"==typeof t?t:t.id,n=this.values.findIndex((t=>(null==t.scopes||i&&!t.scopes.length||t.scopes.some((t=>e?.includes(t))))&&(t.property===a||t.id===a||(t=>{if(t.idsMap)for(const[i,n]of t.idsMap)if(e?.includes(i)&&n.has(a))return!0;return!1})(t))));if(-1===n)throw new Error(`AG Charts - configuration error, unknown property ${JSON.stringify(t)} in scope(s) ${JSON.stringify(e)}`);return n}extractData(e,t){const{dataDomain:i,processValue:a,scopes:n,allScopesHaveSameDefs:r}=this.initDataDomainProcessor(),o=new Map(t?.map((e=>[e.id,e]))),{keys:s,values:l}=this,c=new Array(e.length);let d=0,h=0;for(const[t,i]of e.entries()){const e={},u=n.size>0?new Set(n):void 0,g=new Array(s.length);let p,m=0;for(const e of s){if(p=a(e,i,p),p===kl)break;g&&(g[m++]=p)}if(p===kl)continue;const f=l.length>0?new Array(l.length):void 0;let v;for(const[s,c]of l.entries()){for(const r of c.scopes??n){const n=o.get(r);if(v=a(c,n?.data[t]??i,v,r),v!==kl&&f){if(null!=n&&!1!==c.includeProperty){const t=c.includeProperty&&null!=c.id?c.id:c.property;e[r]??(e[r]={}),e[r][t]=v}f[s]=v}}if(v===kl){if(r)break;for(const e of c.scopes??n)u?.delete(e);if(0===u?.size)break}}if(v===kl&&r)continue;if(0===u?.size)continue;const y={datum:{...i,...e},keys:g,values:f};!r&&u&&u.size<n.size&&(h++,y.validScopes=new Set(u)),c[d++]=y}c.length=d;const u=e=>{const t=i.get(e),a=t.getDomain();return bl.is(t)&&a[0]>a[1]?[]:a};return{type:"ungrouped",input:{count:e.length},data:c,domain:{keys:s.map(u),values:l.map(u)},defs:{allScopesHaveSameDefs:r,keys:s,values:l},partialValidDataCount:h,time:0}}groupData(e,t){const i=new Map;for(const a of e.data){const{keys:e,values:n,datum:r,validScopes:o}=a,s=t?.(a)??e,l=Cl(s);if(i.has(l)){const e=i.get(l);if(e.values.push(n),e.datum.push(r),null!=o&&null!=e.validScopes)for(const t of e.validScopes)o.has(t)||e.validScopes.delete(t)}else i.set(l,{keys:s,values:[n],datum:[r],validScopes:o})}const a=new Array(i.size),n=new Array(i.size);let r=0;for(const{keys:e,values:t,datum:o,validScopes:s}of i.values())0!==s?.size&&(n[r]=e,a[r++]={keys:e,values:t,datum:o,validScopes:s});return{...e,type:"grouped",data:a,domain:{...e.domain,groups:n}}}aggregateData(e){const t="ungrouped"===e.type;e.domain.aggValues=[];for(const[i,a]of this.aggregates.entries()){const n=this.valueGroupIdxLookup(a),r=[1/0,-1/0];for(const o of e.data){if(o.aggValues??(o.aggValues=new Array(this.aggregates.length)),o.validScopes)continue;const e=t?[o.values]:o.values;let s=a.groupAggregateFunction?.()??[1/0,-1/0];for(const t of e){const e=n.map((e=>t[e])),i=a.aggregateFunction(e,o.keys);i&&(s=a.groupAggregateFunction?.(i,s)??bl.extendDomain(i,s))}const l=(a.finalFunction?.(s)??s).map((e=>wl(e)));o.aggValues[i]=l,bl.extendDomain(l,r)}e.domain.aggValues.push(r)}}postProcessGroups(e){const{groupProcessors:t}=this,i=new Set,a=new Map,n=new Map,r=new Map;for(const e of t){const t=this.valueGroupIdxLookup(e);n.set(e,t),r.set(e,e.adjust());for(const e of t){const t="category"===this.values[e].valueType;i.add(e),a.set(e,t?new yl:new bl)}}const o=e=>{for(const t of i)a.get(t)?.extend(e[t])};for(const i of e.data){for(const a of t){if(i.validScopes)continue;const t=n.get(a)??[],o=r.get(a)?.();if(o)if("grouped"===e.type)for(const e of i.values)e&&o(e,t);else i.values&&o(i.values,t)}if("grouped"===e.type)for(const e of i.values)o(e);else o(i.values)}for(const[t,i]of a)e.domain.values[t]=i.getDomain()}postProcessProperties(e){for(const{adjust:t,property:i,scopes:a}of this.propertyProcessors)t()(e,this.valueIdxLookup(a,i))}reduceData(e){e.reduced??(e.reduced={});for(const t of this.reducers){const i=t.reducer();let a=t.initialValue;for(const n of e.data)n.validScopes&&!t.scopes?.some((e=>n.validScopes?.has(e)))||(a=i(a,n));e.reduced[t.property]=a}}postProcessData(e){e.reduced??(e.reduced={});for(const t of this.processors)e.reduced[t.property]=t.calculate(e)}initDataDomainProcessor(){const{keys:e,values:t}=this,i=new Set;for(const e of t)if(e.scopes)for(const t of e.scopes)i.add(t);const a=new Map,n=new Map;let r=!0;const o=()=>{for(const n of y(e,t))"category"===n.valueType?a.set(n,new yl):(a.set(n,new bl),r&&(r=(n.scopes??[]).length===i.size))};o();const s=this.buildAccessors(y(e,t));return{dataDomain:a,processValue:(e,t,i,r)=>{let l,c;if(s.has(e.property)){try{c=s.get(e.property)(t)}catch(e){}l=null!=c}else l=e.property in t,c=l?t[e.property]:e.missingValue;if(null!=e.forceValue){c=l&&we(c)?-1*e.forceValue:e.forceValue,l=!0}if(!l&&!("missingValue"in e)){const t=e.missing.get(r)??0;e.missing.set(r,t+1)}if(a.has(e)||o(),l&&!(e.validation?.(c,t)??1)){if(!("invalidValue"in e))return"integrated"!==this.mode&&C.warnOnce(`invalid value of type [${typeof c}] for [${e.scopes} / ${e.id}] ignored:`,`[${c}]`),kl;c=e.invalidValue}return e.processor&&(n.has(e)||n.set(e,e.processor()),c=n.get(e)?.(c,i===kl?void 0:i)),a.get(e)?.extend(c),c},initDataDomain:o,scopes:i,allScopesHaveSameDefs:r}}buildAccessors(e){const t=new Map;if("integrated"===this.mode)return t;for(const i of e){if(!(i.property.includes(".")||i.property.includes("[")))continue;const e=Ml(i.property);if(null==e){C.warnOnce("Invalid property path [%s]",i.property);continue}const a=Rl(e);t.set(i.property,a)}return t}};var Al=class e{constructor(e){this.mode=e,this.debug=wr.create(!0,"data-model"),this.requested=[],this.status="setup"}async request(e,t,i){if("setup"!==this.status)throw new Error("AG Charts - data request after data setup phase.");return new Promise(((a,n)=>{this.requested.push({id:e,opts:i,data:t,resolve:a,reject:n})}))}execute(){if("setup"!==this.status)throw new Error("AG Charts - data request after data setup phase.");this.status="executed",this.debug("DataController.execute() - requested",this.requested);const e=this.validateRequests(this.requested);this.debug("DataController.execute() - validated",e);const t=this.mergeRequested(e);this.debug("DataController.execute() - merged",t),this.debug.check()&&(pr().processedData=[]);const i=this.requested.map((({id:e})=>e)),a=this.hasMultipleDataSources(e);for(const{opts:n,data:r,resolves:o,rejects:s,ids:l}of t)try{const t=new Dl(n,this.mode),c=t.processData(r,e);this.debug.check()&&pr("processedData").push(c),0===c?.partialValidDataCount?o.forEach(((e,n)=>e({dataModel:t,processedData:this.processScopedData(l[n],c,i,a)}))):c?this.splitResult(t,c,l,o):s.forEach((e=>e(new Error("AG Charts - no processed data generated"))))}catch(e){s.forEach((t=>t(e)))}}hasMultipleDataSources(e){if(e.length){const[{data:t},...i]=e;return i.some((e=>t!==e.data))}return!1}processScopedData(e,t,i,a){const n=t=>{if(Array.isArray(t))return t.map(n);const r=a?{...t,...t[e]}:t;for(const e of i)delete r[e];return r},r=t=>Array.isArray(t)?t.map(r):t?.[e]??t;return{...t,data:t.data.map((e=>({...e,datum:n(e.datum),values:a?e.values?.map(r):e.values})))}}validateRequests(e){const t=[];for(const[i,a]of e.entries())i>0&&a.data.length!==e[0].data.length&&!1===a.opts.groupByData?a.reject(new Error("all series[].data arrays must be of the same length and have matching keys.")):t.push(a);return t}mergeRequested(t){const i=[];for(const a of t){const t=i.find(e.groupMatch(a));t?t.push(a):i.push([a])}return i.map(e.mergeRequests)}splitResult(e,t,i,a){for(let n=0;n<i.length;n++){const r=i[n];(0,a[n])({dataModel:e,processedData:{...t,data:t.data.filter((({validScopes:e})=>e?.has(r)??!0))}})}}static groupMatch({data:e,opts:t}){function i(e){return e.filter((e=>"key"===e.type)).map((e=>e.property)).join(";")}return([a])=>(!1===t.groupByData||a.data===e)&&a.opts.groupByKeys===t.groupByKeys&&a.opts.groupByFn===t.groupByFn&&i(a.opts.props)===i(t.props)}static mergeRequests(t){return t.reduce(((t,{id:i,data:a,resolve:n,reject:r,opts:{props:o,...s}})=>{t.ids.push(i),t.rejects.push(r),t.resolves.push(n),t.data??(t.data=a),t.opts??(t.opts={...s,props:[]});for(const a of o){const n={...a,scopes:[i]};e.createIdsMap(i,n);const r=t.opts.props.find((t=>t.type===n.type&&e.deepEqual(t,n)));r?(r.scopes??(r.scopes=[]),r.scopes.push(...n.scopes??[]),"key"!==r.type&&"value"!==r.type||!n.idsMap?.size||e.mergeIdsMap(n.idsMap,r.idsMap)):t.opts.props.push(n)}return t}),{ids:[],rejects:[],resolves:[],data:null,opts:null})}static mergeIdsMap(e,t){for(const[i,a]of e)if(t.has(i))for(const e of a)t.get(i).add(e);else t.set(i,new Set(a))}static createIdsMap(e,t){null!=t.id&&(t.idsMap??(t.idsMap=new Map),t.idsMap.has(e)?t.idsMap.get(e).add(t.id):t.idsMap.set(e,new Set([t.id])))}static deepEqual(t,i){if(t===i)return!0;if(t&&i&&"object"==typeof t&&"object"==typeof i){if(t.constructor!==i.constructor)return!1;let a,n;if(Array.isArray(t)){if(n=t.length,n!==i.length)return!1;for(a=n-1;a>=0;a--)if(!e.deepEqual(t[a],i[a]))return!1;return!0}const r=Object.keys(t);if(n=r.length,n!==Object.keys(i).length)return!1;for(a=n-1;a>=0;a--){const n=r[a];if(!(e.skipKeys.has(n)||Object.hasOwn(i,n)&&e.deepEqual(t[n],i[n])))return!1}return!0}return!1}};Al.skipKeys=new Set(["id","idsMap","type","scopes"]);var El=Al,Tl=new class{constructor(){this.axesMap=new Map,this.hidden=new Set,this.themeTemplates=new Map}register(e,t){this.axesMap.set(e,t.instanceConstructor),t.themeTemplate&&this.setThemeTemplate(e,t.themeTemplate),t.hidden&&this.hidden.add(e)}create(e,t){const i=this.axesMap.get(e);if(i)return new i(t);throw new Error(`AG Charts - unknown axis type: ${e}`)}has(e){return this.axesMap.has(e)}keys(){return this.axesMap.keys()}publicKeys(){return[...this.keys()].filter((e=>!this.hidden.has(e)))}setThemeTemplate(e,t){return this.themeTemplates.set(e,t),this}getThemeTemplate(e){return this.themeTemplates.get(e)}},Pl=[{type:"root",optionsKey:"animation",chartTypes:["cartesian","polar","hierarchy","topology","flow-proportion"]},{type:"root",optionsKey:"annotations",chartTypes:["cartesian"]},{type:"root",optionsKey:"background",chartTypes:["cartesian","polar","hierarchy","topology","flow-proportion"],optionsInnerKey:"image"},{type:"root",optionsKey:"contextMenu",chartTypes:["cartesian","polar","hierarchy","topology","flow-proportion"]},{type:"root",optionsKey:"statusBar",chartTypes:["cartesian"],identifier:"status-bar"},{type:"root",optionsKey:"dataSource",chartTypes:["cartesian","polar","hierarchy","topology","flow-proportion"]},{type:"root",optionsKey:"sync",chartTypes:["cartesian"]},{type:"root",optionsKey:"zoom",chartTypes:["cartesian","topology"]},{type:"legend",optionsKey:"gradientLegend",chartTypes:["cartesian","polar","hierarchy","topology","flow-proportion"],identifier:"gradient"},{type:"root",optionsKey:"navigator",chartTypes:["cartesian"],optionsInnerKey:"miniChart"},{type:"axis",optionsKey:"axes[]",chartTypes:["polar"],identifier:"angle-category"},{type:"axis",optionsKey:"axes[]",chartTypes:["polar"],identifier:"angle-number"},{type:"axis",optionsKey:"axes[]",chartTypes:["polar"],identifier:"radius-category"},{type:"axis",optionsKey:"axes[]",chartTypes:["polar"],identifier:"radius-number"},{type:"axis",optionsKey:"axes[]",chartTypes:["cartesian"],identifier:"ordinal-time"},{type:"axis-option",optionsKey:"crosshair",chartTypes:["cartesian"]},{type:"series",optionsKey:"series[]",chartTypes:["cartesian"],identifier:"box-plot"},{type:"series",optionsKey:"series[]",chartTypes:["cartesian"],identifier:"candlestick"},{type:"series",optionsKey:"series[]",chartTypes:["cartesian"],identifier:"ohlc"},{type:"series",optionsKey:"series[]",chartTypes:["cartesian"],identifier:"bullet"},{type:"series",optionsKey:"series[]",chartTypes:["cartesian"],identifier:"heatmap"},{type:"series",optionsKey:"series[]",chartTypes:["cartesian"],identifier:"range-area"},{type:"series",optionsKey:"series[]",chartTypes:["cartesian"],identifier:"range-bar"},{type:"series",optionsKey:"series[]",chartTypes:["cartesian"],identifier:"waterfall"},{type:"series",optionsKey:"series[]",chartTypes:["polar"],identifier:"nightingale"},{type:"series",optionsKey:"series[]",chartTypes:["polar"],identifier:"radar-area"},{type:"series",optionsKey:"series[]",chartTypes:["polar"],identifier:"radar-line"},{type:"series",optionsKey:"series[]",chartTypes:["polar"],identifier:"radial-bar"},{type:"series",optionsKey:"series[]",chartTypes:["polar"],identifier:"radial-column"},{type:"series",optionsKey:"series[]",chartTypes:["hierarchy"],identifier:"sunburst"},{type:"series",optionsKey:"series[]",chartTypes:["hierarchy"],identifier:"treemap"},{type:"series",optionsKey:"series[]",chartTypes:["topology"],identifier:"map-shape"},{type:"series",optionsKey:"series[]",chartTypes:["topology"],identifier:"map-line"},{type:"series",optionsKey:"series[]",chartTypes:["topology"],identifier:"map-marker"},{type:"series",optionsKey:"series[]",chartTypes:["topology"],identifier:"map-shape-background"},{type:"series",optionsKey:"series[]",chartTypes:["topology"],identifier:"map-line-background"},{type:"series",optionsKey:"series[]",chartTypes:["flow-proportion"],identifier:"chord"},{type:"series",optionsKey:"series[]",chartTypes:["flow-proportion"],identifier:"sankey"},{type:"series-option",optionsKey:"errorBar",chartTypes:["cartesian"],identifier:"error-bars"}];function Fl(e){return Pl.find((t=>"series"===t.type&&t.identifier===e))?.chartTypes}function Il(e){if(!function(e){return"enterprise"===e.packageType}(e))throw new Error("AG Charts - internal configuration error, only enterprise modules need verification.");const t=Pl.find((t=>t.type===e.type&&t.optionsKey===e.optionsKey&&t.identifier===e.identifier&&e.chartTypes.every((e=>t.chartTypes.includes(e)))));return t&&(t.useCount??(t.useCount=0),t.useCount++),null!=t}var Ll=new class{constructor(){this.legendMap=new Map,this.themeTemplates=new Map}register(e,{optionsKey:t,instanceConstructor:i,themeTemplate:a}){this.legendMap.set(e,{optionsKey:t,instanceConstructor:i}),this.themeTemplates.set(t,a)}create(e,t){const i=this.legendMap.get(e)?.instanceConstructor;if(i)return new i(t);throw new Error(`AG Charts - unknown legend type: ${e}`)}getThemeTemplates(){return Object.fromEntries(this.themeTemplates)}getKeys(){return Array.from(this.legendMap.entries()).reduce(((e,[t,i])=>(e[t]=i.optionsKey,e)),{})}},Nl={isEnterprise:!1},Ol=class extends Map{get(e){return super.get(e)??"unknown"}isCartesian(e){return"cartesian"===this.get(e)}isPolar(e){return"polar"===this.get(e)}isHierarchy(e){return"hierarchy"===this.get(e)}isTopology(e){return"topology"===this.get(e)}isFlowProportion(e){return"flow-proportion"===this.get(e)}get seriesTypes(){return Array.from(this.keys())}get cartesianTypes(){return this.seriesTypes.filter((e=>this.isCartesian(e)))}get polarTypes(){return this.seriesTypes.filter((e=>this.isPolar(e)))}get hierarchyTypes(){return this.seriesTypes.filter((e=>this.isHierarchy(e)))}get topologyTypes(){return this.seriesTypes.filter((e=>this.isTopology(e)))}get flowProportionTypes(){return this.seriesTypes.filter((e=>this.isFlowProportion(e)))}},zl=class extends Map{set(e,t){return super.set(e,vt(t,this.get(e)))}},Gl=new Ol,Bl=new Ol,Vl=new zl,Hl=new class{constructor(){this.seriesMap=new Map,this.themeTemplates=new Map}register(e,{chartTypes:[t],instanceConstructor:i,tooltipDefaults:a,defaultAxes:n,themeTemplate:r,enterpriseThemeTemplate:o,paletteFactory:s,solo:l,stackable:c,groupable:d,stackedByDefault:h,swapDefaultAxesCondition:u,hidden:g}){this.setThemeTemplate(e,r,o),this.seriesMap.set(e,{instanceConstructor:i,tooltipDefaults:a,defaultAxes:n,paletteFactory:s,solo:l,stackable:c,groupable:d,stackedByDefault:h,swapDefaultAxesCondition:u}),Gl.set(e,t),g||Bl.set(e,t)}create(e,t){const i=this.seriesMap.get(e)?.instanceConstructor;if(i)return new i(t);throw new Error(`AG Charts - unknown series type: ${e}`)}cloneDefaultAxes(e){const t=this.seriesMap.get(e)?.defaultAxes;return t?{axes:Tt(t)}:null}setThemeTemplate(e,t,i={}){const a=this.themeTemplates.get(e);this.themeTemplates.set(e,{community:vt(t,a?.community),enterprise:vt(i,t,a?.community)})}getThemeTemplate(e){const t=this.themeTemplates.get(e);return Nl.isEnterprise?t?.enterprise:t?.community}getPaletteFactory(e){return this.seriesMap.get(e)?.paletteFactory}getTooltipDefauls(e){return this.seriesMap.get(e)?.tooltipDefaults}isSolo(e){return this.seriesMap.get(e)?.solo??!1}isGroupable(e){return this.seriesMap.get(e)?.groupable??!1}isStackable(e){return this.seriesMap.get(e)?.stackable??!1}isStackedByDefault(e){return this.seriesMap.get(e)?.stackedByDefault??!1}isDefaultAxisSwapNeeded(e){let t;for(const i of e.series??[]){const{type:e="line"}=i,a=this.seriesMap.get(e)?.swapDefaultAxesCondition?.(i);if(null!=a){if(null!=t&&t!=a)throw new Error("AG Charts - The provided series have incompatible directions");t=a}}return t}},Wl=class e extends Zr{constructor(e){super(),this.chart=e}subscribe(t=e.DEFAULT_GROUP){let i=this.get(t);return i||(i=new Set,e.chartsGroups.set(t,i)),i.add(this.chart),this}unsubscribe(t=e.DEFAULT_GROUP){return this.get(t)?.delete(this.chart),this}getChart(){return this.chart}getGroup(t=e.DEFAULT_GROUP){const i=this.get(t);return i?Array.from(i):[]}getGroupSiblings(t=e.DEFAULT_GROUP){return this.getGroup(t).filter((e=>e!==this.chart))}get(t){return e.chartsGroups.get(t)}};Wl.chartsGroups=new Map,Wl.DEFAULT_GROUP=Symbol("sync-group-default");var _l=Wl,ql=class extends Zr{constructor(){super(...arguments),this.axisZoomManagers=new Map,this.state=new Us(void 0,"initial"),this.rejectCallbacks=new Map}updateAxes(e){const t=new Map(e.map((e=>[e.id,this.axisZoomManagers.get(e.id)])));this.axisZoomManagers.clear();for(const i of e)this.axisZoomManagers.set(i.id,t.get(i.id)??new Ul(i));this.state.size>0&&e.length>0&&this.updateZoom(this.state.stateId(),this.state.stateValue())}updateZoom(e,t,i=!0,a){if(a&&this.rejectCallbacks.set(e,a),0!==this.axisZoomManagers.size)this.state.set(e,t),this.axisZoomManagers.forEach((i=>{i.updateZoom(e,t?.[i.getDirection()])})),this.applyChanges(e);else{const n=this.state.stateId();"initial"===n||n===e||i?(this.state.set(e,t),n!==e&&this.rejectCallbacks.get(n)?.(e)):a?.(n)}}updateAxisZoom(e,t,i){this.axisZoomManagers.get(t)?.updateZoom(e,i),this.applyChanges(e)}fireZoomPanStartEvent(e){this.listeners.dispatch("zoom-pan-start",{type:"zoom-pan-start",callerId:e})}getZoom(){let e,t;if(this.axisZoomManagers.forEach((i=>{"x"===i.getDirection()?e??(e=i.getZoom()):"y"===i.getDirection()&&(t??(t=i.getZoom()))})),e||t)return{x:e,y:t}}getAxisZoom(e){return this.axisZoomManagers.get(e)?.getZoom()??{min:0,max:1}}getAxisZooms(){const e={};for(const[t,i]of this.axisZoomManagers.entries())e[t]={direction:i.getDirection(),zoom:i.getZoom()};return e}applyChanges(e){if(!Array.from(this.axisZoomManagers.values(),(e=>e.applyChanges())).some(Boolean))return;const t={};for(const[e,i]of this.axisZoomManagers.entries())t[e]=i.getZoom();this.listeners.dispatch("zoom-change",{type:"zoom-change",...this.getZoom(),axes:t,callerId:e})}},Ul=class{constructor(e){this.axis=e;const[t=0,i=1]=e.visibleRange;this.state=new Us({min:t,max:i}),this.currentZoom=this.state.stateValue()}getDirection(){return this.axis.direction}updateZoom(e,t){this.state.set(e,t)}getZoom(){return Tt(this.state.stateValue())}applyChanges(){const e=this.currentZoom;return this.currentZoom=this.state.stateValue(),e.min!==this.currentZoom.min||e.max!==this.currentZoom.max}},Kl=class extends Mt{constructor(){super(...arguments),this.enabled=!1}};function jl(e,t){const{bounds:i,showFocusBox:a}=t;a&&e?.updateBounds(i);const{x:n,y:r}=((o=i)instanceof Ee?o.computeCenter():o?.computeTransformedBBox()?.computeCenter())??{};var o;if(void 0!==n&&void 0!==r)return{type:"keyboard",offsetX:n,offsetY:r}}c([mi(wi)],Kl.prototype,"enabled",2),c([mi(ki)],Kl.prototype,"tabIndex",2);var Yl=["top","right","bottom","left"];var $l=["direction","xKey","yKey","sizeKey","angleKey","radiusKey","normalizedTo","stacked","grouped","stackGroup"];function Zl(e){return e.series?.[0]?.type??"line"}function Xl(e){const t=Zl(e);return null==t||("cartesian"===t?(C.warnOnce(`type '${t}' is deprecated, use a series type instead`),!0):Gl.isCartesian(t)||function(e){const t=Fl(e)?.find((e=>"cartesian"===e));return"cartesian"===t}(t))}function Ql(e){const t=Zl(e);return null!=t&&("polar"===t?(C.warnOnce(`type '${t}' is deprecated, use a series type instead`),!0):Gl.isPolar(t)||function(e){const t=Fl(e)?.find((e=>"polar"===e));return"polar"===t}(t))}function Jl(e){const t=Zl(e);return null!=t&&("hierarchy"===t?(C.warnOnce(`type '${t}' is deprecated, use a series type instead`),!0):Gl.isHierarchy(t)||function(e){const t=Fl(e)?.find((e=>"hierarchy"===e));return"hierarchy"===t}(t))}function ec(e){const t=Zl(e);return null!=t&&("topology"===t?(C.warnOnce(`type '${t}' is deprecated, use a series type instead`),!0):Gl.isTopology(t)||function(e){const t=Fl(e)?.find((e=>"topology"===e));return"topology"===t}(t))}function tc(e){const t=Zl(e);return null!=t&&("flow-proportion"===t?(C.warnOnce(`type '${t}' is deprecated, use a series type instead`),!0):Gl.isFlowProportion(t)||function(e){const t=Fl(e)?.find((e=>"flow-proportion"===e));return"flow-proportion"===t}(t))}var ic=class extends sr{applyOptions(e){for(const t of this.moduleMap.values())t.module.optionsKey in e&&Dt(t.moduleInstance)&&t.moduleInstance.set(e[t.module.optionsKey])}*legends(){for(const{module:e,moduleInstance:t}of this.moduleMap.values())"legend"===e.type&&(yield{legendType:e.identifier,legend:t})}},ac="ag-chart-overlay",nc="ag-chart-dark-overlay",rc=class extends Mt{constructor(e,t){super(),this.className=e,this.defaultMessageId=t}getText(e){return e.t(this.text??this.defaultMessageId)}getElement(e,t,i){if(this.content?.remove(),this.focusBox=i,this.renderer){const e=this.renderer();this.content=mr("div"),e instanceof HTMLElement?this.content.replaceChildren(e):this.content.innerHTML=e}else{const i=mr("div",{display:"flex",alignItems:"center",justifyContent:"center",boxSizing:"border-box",height:"100%",margin:"8px",font:"12px Verdana, sans-serif"});i.innerText=this.getText(t),this.content=i,e?.animate({from:0,to:1,id:"overlay",phase:"add",groupId:"opacity",onUpdate(e){i.style.opacity=String(e)},onStop(){i.style.opacity="1"}})}return this.content}removeElement(e=(()=>this.content?.remove()),t){if(this.content){if(t){const{content:i}=this;t.animate({from:1,to:0,phase:"remove",id:"overlay",groupId:"opacity",onUpdate(e){i.style.opacity=String(e)},onStop(){e?.()}})}else e?.();this.content=void 0,this.focusBox=void 0}}};c([mi(xi,{optional:!0})],rc.prototype,"text",2),c([mi(Si,{optional:!0})],rc.prototype,"renderer",2);var oc=class extends Mt{constructor(){super(...arguments),this.darkTheme=!1,this.loading=new rc("ag-chart-loading-overlay","overlayLoadingData"),this.noData=new rc("ag-chart-no-data-overlay","overlayNoData"),this.noVisibleSeries=new rc("ag-chart-no-visible-series","overlayNoVisibleSeries")}getFocusInfo(e){for(const t of[this.loading,this.noData,this.noVisibleSeries])if(void 0!==t.focusBox)return{text:t.getText(e),rect:t.focusBox}}destroy(){this.loading.removeElement(),this.noData.removeElement(),this.noVisibleSeries.removeElement()}};function sc(e,t=[0,0]){for(const i of e)"number"==typeof i&&(i<0&&(t[0]+=i),i>0&&(t[1]+=i));return t}function lc(e,t){return{id:e,matchGroupIds:[t],type:"aggregate",aggregateFunction:e=>sc(e)}}function cc(e,t){return{id:e,type:"aggregate",matchGroupIds:t?[t]:void 0,aggregateFunction:e=>sc(e),groupAggregateFunction:(e,t=[0,0])=>(t[0]+=e?.[0]??0,t[1]+=e?.[1]??0,t)}}function dc(e,t){return{id:e,matchGroupIds:[t],type:"aggregate",aggregateFunction:e=>bl.extendDomain(e)}}function hc(e){return{id:e,type:"aggregate",aggregateFunction:()=>[0,1],groupAggregateFunction:(e,t=[0,0])=>(t[0]+=e?.[0]??0,t[1]+=e?.[1]??0,t)}}function uc(e,t){return{id:e,matchGroupIds:t?[t]:void 0,type:"aggregate",aggregateFunction:e=>sc(e),groupAggregateFunction:(e,t=[0,0,-1])=>(t[0]+=e?.[0]??0,t[1]+=e?.[1]??0,t[2]++,t),finalFunction:(e=[0,0,0])=>{const t=e[0]+e[1];return t>=0?[0,t/e[2]]:[t/e[2],0]}}}function gc(e,t,i){const a={id:e,matchGroupIds:i?[i]:void 0,type:"aggregate",aggregateFunction:(e,i=[])=>{const a=i[1]-i[0];return t.aggregateFunction(e).map((e=>e/a))}};return t.groupAggregateFunction&&(a.groupAggregateFunction=t.groupAggregateFunction),a}function pc(e){return()=>{let t=0;return i=>ht(i)?(t+=e?Math.max(0,i):i,t):i}}function mc(){return()=>{let e=0;return t=>{if(!ht(t))return t;const i=e;return e+=t,i}}}c([mi(wi)],oc.prototype,"darkTheme",2),c([mi(bi)],oc.prototype,"loading",2),c([mi(bi)],oc.prototype,"noData",2),c([mi(bi)],oc.prototype,"noVisibleSeries",2);var fc={type:"reducer",property:"smallestKeyInterval",initialValue:1/0,reducer:()=>{let e=NaN;return(t=1/0,i)=>{const a=i.keys[0],n=Math.abs(a-e);return e=a,!isNaN(n)&&n>0&&n<t?n:t}}},vc={type:"reducer",property:"largestKeyInterval",initialValue:-1/0,reducer:()=>{let e=NaN;return(t=-1/0,i)=>{const a=i.keys[0],n=Math.abs(a-e);return e=a,!isNaN(n)&&n>0&&n>t?n:t}}},yc={type:"processor",property:"sortedGroupDomain",calculate:({domain:{groups:e}})=>e?.slice().sort(((e,t)=>{for(let i=0;i<e.length;i++){const a=e[i]-t[i];if(0!==a)return a}return 0}))};function bc({normaliseTo:e,mode:t}){const i=(t,i)=>{const a=t*e/i;return a>=0?Math.min(e,a):Math.max(-e,a)};return()=>()=>(e,a)=>{const n=[0,0];for(const i of a){const a=e[i],r=a<0?0:1;"sum"===t?n[r]+=a:n[r]=0===r?Math.min(n[r],a):Math.max(n[r],a)}const r=Math.max(Math.abs(n[0]),n[1]);for(const t of a)e[t]=i(e[t],r)}}function Cc(e,t,i="sum"){return{type:"group-value-processor",matchGroupIds:e,adjust:Mn({normaliseTo:t,mode:i},bc)}}function wc({normaliseTo:e,zeroDomain:t,rangeMin:i,rangeMax:a}){const n=e[1]-e[0],r=(i,a,r)=>{const o=e[0]+(i-a)/r*n;return 0===r?t:o>=e[1]?e[1]:o<e[0]?e[0]:o};return()=>(t,n)=>{let[o,s]=t.domain.values[n];null!=i&&(o=i),null!=a&&(s=a);const l=s-o;t.domain.values[n]=[e[0],e[1]];for(const e of t.data){let i=e.values;"ungrouped"===t.type&&(i=[i]);for(const e of i)e[n]=r(e[n],o,l)}}}function Sc(e,t,i,a,n){return{type:"property-value-processor",property:e,adjust:Mn({normaliseTo:t,rangeMin:a,rangeMax:n,zeroDomain:i},wc)}}function xc(e){return{type:"processor",property:"animationValidation",calculate(t){const{keys:i,values:a}=t.defs,{input:n,data:r}=t;let o=!0,s=!0;const l=[];for(let t=0;t<a.length;t++)e?.includes(a[t].id)&&l.push([t,a[t]]);const c=(e,i,a)=>{if("category"===i.valueType){const i=t.domain[a][e];return void(o&&(o=i.length===n.count))}let l=r[0]?.[a][e];for(let t=1;(o||s)&&t<r.length;t++){const i=r[t][a][e];s&&(s=l<=i),o&&(o=l!==i),l=i}};for(let e=0;(o||s)&&e<i.length;e++)c(e,i[e],"keys");for(let e=0;(o||s)&&e<l.length;e++){const[t,i]=l[e];c(t,i,"values")}return{uniqueKeys:o,orderedKeys:s}}}}function kc({mode:e,separateNegative:t}){return()=>()=>(i,a)=>{const n=[0,0];for(const r of a){const a=i[r],o=we(a)&&t?0:1;ht(a)&&("normal"===e&&(n[o]+=a),i[r]=n[o],"trailing"===e&&(n[o]+=a))}}}function Mc({mode:e,sum:t}){return()=>{const i=[];let a=!0;return()=>(n,r)=>{let o=0;for(const s of r){const r=n[s],l=a&&"current"===t?0:i[s];i[s]=r;const c="current"===t?r:l;ht(r)&&ht(l)?("normal"===e&&(o+=c),n[s]=o,"trailing"===e&&(o+=c)):n[s]=o}a=!1}}}function Rc(e,t,i,a=!1){let n;if(t.startsWith("window")){n=Mn({mode:t.endsWith("-trailing")?"trailing":"normal",sum:i},Mc)}else n=Mn({mode:t,separateNegative:a},kc);return{type:"group-value-processor",matchGroupIds:[e],adjust:n}}function Dc({separateNegative:e}){return()=>()=>(t,i)=>{const a=[!0,!0];for(const n of i){const i=t[n],r=we(i)&&e?0:1;a[r]&&(a[r]=ht(i)),t[n]=a[r]}}}function Ac(e,t=!1){return{type:"group-value-processor",matchGroupIds:[e],adjust:Mn({separateNegative:t},Dc)}}function Ec(e,t=!0){return{type:"processor",property:"diff",calculate:i=>{const a=new Map,n=new Map,r=new Map,o=new Map,s=Math.max(e.data.length,i.data.length);for(let l=0;l<s;l++){const s=e.data[l],c=i.data[l],d=s?Tc(s.keys):"",h=c?Tc(c.keys):"";c&&s&&d===h?wa(s.values,c.values)||r.set(h,c):(o.has(h)?(!t&&wa(o.get(h).values,c.values)||(r.set(h,c),a.set(h,c)),o.delete(h)):c&&n.set(h,c),n.has(d)?(!t&&wa(n.get(d).values,s.values)||(r.set(d,s),a.set(d,s)),n.delete(d)):s&&(r.delete(d),o.set(d,s)))}return{changed:n.size>0||r.size>0||o.size>0,added:n,updated:r,removed:o,moved:a}}}}function Tc(e,...t){let i;i=et(e)?e.map((e=>Hn(e))).join("___"):Hn(e);return("string"==typeof i||"number"==typeof i||i instanceof Date)&&t.length>0&&(i+=`___${t.join("___")}`),i}var Pc=(e=>(e[e.EXACT_SHAPE_MATCH=0]="EXACT_SHAPE_MATCH",e[e.NEAREST_BY_MAIN_AXIS_FIRST=1]="NEAREST_BY_MAIN_AXIS_FIRST",e[e.NEAREST_BY_MAIN_CATEGORY_AXIS_FIRST=2]="NEAREST_BY_MAIN_CATEGORY_AXIS_FIRST",e[e.NEAREST_NODE=3]="NEAREST_NODE",e))(Pc||{});function Fc(e){return null!=e&&Bn(e)}function Ic(e){return null!=e}function Lc(e){switch(e){case"number":case"log":case"ordinal-time":case"time":case"color":return Fc;default:return Ic}}function Nc(e){switch(e){case"number":case"log":case"time":case"color":return"range";default:return"category"}}function Oc(e,t,i={}){return{property:e,type:"key",valueType:Nc(t),validation:Lc(t),...i}}function zc(e,t,i={}){return{property:e,type:"value",valueType:Nc(t),validation:Lc(t),...i}}function Gc(e,t={}){const{min:i=-1/0,max:a=1/0,...n}=t;return{type:"value",property:e,valueType:"range",validation:Fc,processor:()=>e=>ht(e)?fe(i,e,a):e,...n}}function Bc(e,t,i={}){const{onlyPositive:a,...n}=i;return{...zc(e,t,n),processor:pc(a)}}function Vc(e,t,i={}){return{...zc(e,t,i),processor:mc()}}function Hc(e,t,i="current",a,n){return[zc(e,n,a),Rc(a.groupId,t,i,a.separateNegative),...null!=a.rangeId?[dc(a.rangeId,a.groupId)]:[]]}function Wc(e,t,i){return[zc(e,i,t),Ac(t.groupId,t.separateNegative)]}var _c=class{constructor(e,t,{datum:i},a){this.type=e,this.event=t,this.datum=i,this.seriesId=a.id}},qc=class{constructor(e,t,i){this.series=e,this.seriesGrouping=t,this.oldGrouping=i,this.type="groupingChanged"}},Uc=class extends Xo{constructor(e){super(),this.destroyFns=[],this.seriesGrouping=void 0,this.NodeEvent=_c,this.internalId=de(this),this.rootGroup=new on({name:"seriesRoot",isVirtual:!0}),this.axes={x:void 0,y:void 0},this.directions=["x","y"],this.nodeDataRefresh=!0,this.moduleMap=new sr,this._declarationOrder=-1,this.seriesListeners=new $r;const{moduleCtx:t,pickModes:i=[1],directionKeys:a={},directionNames:n={},contentGroupVirtual:r=!0,canHaveAxes:o=!1}=e;this.ctx=t,this.directionKeys=a,this.directionNames=n,this.canHaveAxes=o,this.contentGroup=this.rootGroup.appendChild(new on({name:`${this.internalId}-content`,isVirtual:r,zIndex:4,zIndexSubOrder:this.getGroupZIndexSubOrder("data")})),this.highlightGroup=new on({name:`${this.internalId}-highlight`,isVirtual:r,zIndex:4,zIndexSubOrder:this.getGroupZIndexSubOrder("highlight")}),this.highlightNode=this.highlightGroup.appendChild(new on({name:"highlightNode",zIndex:0})),this.highlightLabel=this.highlightGroup.appendChild(new on({name:"highlightLabel",zIndex:10})),this.pickModes=i,this.labelGroup=this.rootGroup.appendChild(new on({name:`${this.internalId}-series-labels`,zIndex:8})),this.annotationGroup=new on({name:`${this.id}-annotation`,isVirtual:r,zIndex:4,zIndexSubOrder:this.getGroupZIndexSubOrder("annotation")})}get id(){return this.properties?.id??this.internalId}get type(){return this.constructor.type??""}get data(){return this._data??this._chartData}set visible(e){this.properties.visible=e,this.visibleMaybeChanged()}get visible(){return this.properties.visible}get hasData(){return null!=this.data&&this.data.length>0}get tooltipEnabled(){return this.properties.tooltip?.enabled??!1}onDataChange(){this.nodeDataRefresh=!0}setOptionsData(e){this._data=e,this.onDataChange()}setChartData(e){this._chartData=e,this.data===e&&this.onDataChange()}onSeriesGroupingChange(e,t){const{internalId:i,type:a,visible:n}=this;e&&this.ctx.seriesStateManager.deregisterSeries({id:i,type:a}),t&&this.ctx.seriesStateManager.registerSeries({id:i,type:a,visible:n,seriesGrouping:t}),this.fireEvent(new qc(this,t,e))}getBandScalePadding(){return{inner:1,outer:0}}getGroupZIndexSubOrder(e,t=0){let i=0;switch(e){case"data":case"paths":break;case"labels":i+=2e4;break;case"marker":i+=1e4;break;case"highlight":t+=15e3;break;case"annotation":i+=15e3}return[()=>this._declarationOrder+i,t]}addListener(e,t){return this.seriesListeners.addListener(e,t)}dispatch(e,t){this.seriesListeners.dispatch(e,t)}addChartEventListeners(){}destroy(){this.destroyFns.forEach((e=>e())),this.destroyFns=[],this.ctx.seriesStateManager.deregisterSeries(this)}getDirectionValues(e,t){const i=this.resolveKeyDirection(e),a=t?.[i],n=[];if(!a)return n;const r=(...e)=>{for(const t of e)Array.isArray(t)?r(...t):"object"==typeof t?r(...Object.values(t)):n.push(t)};return r(...a.map((e=>this.properties[e]))),n}getKeys(e){return this.getDirectionValues(e,this.directionKeys)}getKeyProperties(e){return this.directionKeys[this.resolveKeyDirection(e)]??[]}getNames(e){return this.getDirectionValues(e,this.directionNames)}resolveKeyDirection(e){return e}getDomain(e){const t=this.getSeriesDomain(e),i=this.moduleMap.mapModules((t=>t.getDomain(e)));return t.concat(i.flat())}markNodeDataDirty(){this.nodeDataRefresh=!0,this.visibleMaybeChanged()}visibleMaybeChanged(){this.ctx.seriesStateManager.registerSeries(this)}getOpacity(){const{dimOpacity:e=1,enabled:t=!0}=this.properties.highlightStyle.series;if(!t||1===e)return 1;switch(this.isItemIdHighlighted()){case 0:case 1:return 1;default:return e}}getStrokeWidth(e){const{strokeWidth:t,enabled:i=!0}=this.properties.highlightStyle.series;if(!i||void 0===t)return e;switch(this.isItemIdHighlighted()){case 1:return t;case 0:case 2:return e}}isItemIdHighlighted(){const e=this.ctx.highlightManager?.getActiveHighlight()?.series;return null==e?0:e!==this?2:1}getModuleTooltipParams(){return this.moduleMap.mapModules((e=>e.getTooltipParams())).reduce(((e,t)=>Object.assign(e,t)),{})}pickNode(e,t){const{pickModes:i,visible:a,rootGroup:n}=this;if(a&&n.visible)for(const a of i){if(t&&!t.includes(a))continue;let i;switch(a){case 0:i=this.pickNodeExactShape(e);break;case 1:case 2:i=this.pickNodeMainAxisFirst(e,2===a);break;case 3:i=this.pickNodeClosestDatum(e)}if(i)return{pickMode:a,match:i.datum,distance:i.distance}}}pickNodeExactShape(e){const t=this.contentGroup.pickNode(e.x,e.y);if(t&&!0!==t.datum.missing)return{datum:t.datum,distance:0}}pickNodeClosestDatum(e){throw new Error("AG Charts - Series.pickNodeClosestDatum() not implemented")}pickNodeNearestDistantObject(e,t){const i=pe(e.x,e.y,t);if(void 0!==i.nearest&&!0!==i.nearest.datum.missing)return{datum:i.nearest.datum,distance:Math.sqrt(i.distanceSquared)}}pickNodeMainAxisFirst(e,t){throw new Error("AG Charts - Series.pickNodeMainAxisFirst() not implemented")}fireNodeClickEvent(e,t){this.fireEvent(new this.NodeEvent("nodeClick",e,t,this))}fireNodeDoubleClickEvent(e,t){this.fireEvent(new this.NodeEvent("nodeDoubleClick",e,t,this))}createNodeContextMenuActionEvent(e,t){return new this.NodeEvent("nodeContextMenuAction",e,t,this)}toggleSeriesItem(e,t){this.visible=t,this.nodeDataRefresh=!0,this.dispatch("visibility-changed",{itemId:e,enabled:t})}isEnabled(){return this.visible}getModuleMap(){return this.moduleMap}createModuleContext(){return{...this.ctx,series:this}}getLabelText(e,t,i=String){return e.formatter?this.ctx.callbackCache.call(e.formatter,{seriesId:this.id,...t})??i(t.value):i(t.value)}getMarkerStyle(e,t,i=e.getStyle()){const a=vt({size:t.datum.point?.size??0},i);if(e.itemStyler){return vt(this.ctx.callbackCache.call(e.itemStyler,{seriesId:this.id,...a,...t,datum:t.datum.datum}),a)}return a}updateMarkerStyle(e,t,i,a=t.getStyle(),{applyTranslation:n=!0}={}){const{point:r}=i.datum,o=this.getMarkerStyle(t,i,a),s=this.visible&&o.size>0&&r&&!isNaN(r.x)&&!isNaN(r.y);n?e.setProperties({visible:s,...o,translationX:r?.x,translationY:r?.y}):e.setProperties({visible:s,...o}),"function"!=typeof t.shape||e.dirtyPath||(e.path.clear(!0),e.updatePath(),e.checkPathDirty())}getMinRects(e,t){}get nodeDataDependencies(){return this._nodeDataDependencies??{seriesRectWidth:NaN,seriesRectHeight:NaN}}checkResize(e){const{width:t,height:i}=e??{width:NaN,height:NaN},a=e?{seriesRectWidth:t,seriesRectHeight:i}:void 0,n=null!=Et(this.nodeDataDependencies,a);return n&&(this._nodeDataDependencies=a,this.markNodeDataDirty()),n}pickFocus(e){}};Uc.highlightedZIndex=1e12,c([Nr({changeValue:function(e,t){this.onSeriesGroupingChange(t,e)}})],Uc.prototype,"seriesGrouping",2);var Kc=class{constructor(e,t,i){this.seriesRoot=e,this.highlightRoot=t,this.annotationRoot=i,this.groups={},this.series={},this.expectedSeriesCount=1,this.mode="normal"}setSeriesCount(e){this.expectedSeriesCount=e}requestGroup(e){var t,i;const{internalId:a,type:n,rootGroup:r,highlightGroup:o,annotationGroup:s,seriesGrouping:l}=e,{groupIndex:c=a}=l??{};if(null!=this.series[a])throw new Error(`AG Charts - series already has an allocated layer: ${this.series[a]}`);0===Object.keys(this.series).length&&(this.mode=this.expectedSeriesCount>=30?"aggressive-grouping":"normal"),(t=this.groups)[n]??(t[n]={});const d=this.lookupIdx(c);let h=this.groups[n][d];return h||(h=(i=this.groups[n])[d]??(i[d]={type:n,id:d,seriesIds:[],group:this.seriesRoot.appendChild(new on({name:`${n}-content`,layer:!0,zIndex:4,zIndexSubOrder:e.getGroupZIndexSubOrder("data")})),highlight:this.highlightRoot.appendChild(new on({name:`${n}-highlight`,zIndex:4,zIndexSubOrder:e.getGroupZIndexSubOrder("highlight")})),annotation:this.annotationRoot.appendChild(new on({name:`${n}-annotation`,zIndex:4,zIndexSubOrder:e.getGroupZIndexSubOrder("annotation")}))})),this.series[a]={layerState:h,seriesConfig:e},h.seriesIds.push(a),h.group.appendChild(r),h.highlight.appendChild(o),h.annotation.appendChild(s),h.group}changeGroup(e){const{internalId:t,seriesGrouping:i,type:a,rootGroup:n,highlightGroup:r,annotationGroup:o,oldGrouping:s}=e,{groupIndex:l=t}=i??{};this.groups[a]?.[l]?.seriesIds.includes(t)||(null!=this.series[t]&&this.releaseGroup({internalId:t,seriesGrouping:s,type:a,rootGroup:n,highlightGroup:r,annotationGroup:o}),this.requestGroup(e))}releaseGroup(e){const{internalId:t,rootGroup:i,highlightGroup:a,annotationGroup:n,type:r}=e;if(null==this.series[t])throw new Error(`AG Charts - series doesn't have an allocated layer: ${t}`);const o=this.series[t]?.layerState;if(o&&(o.seriesIds=o.seriesIds.filter((e=>e!==t)),o.group.removeChild(i),o.highlight.removeChild(a),o.annotation.removeChild(n)),0===o?.seriesIds.length)this.seriesRoot.removeChild(o.group),this.highlightRoot.removeChild(o.highlight),this.annotationRoot.removeChild(o.annotation),delete this.groups[o.type][o.id],delete this.groups[r][t];else if(o?.seriesIds.length>0){const e=this.series[o?.seriesIds?.[0]]?.seriesConfig;o.group.zIndexSubOrder=e?.getGroupZIndexSubOrder("data"),o.highlight.zIndexSubOrder=e?.getGroupZIndexSubOrder("highlight"),o.annotation.zIndexSubOrder=e?.getGroupZIndexSubOrder("annotation")}delete this.series[t]}lookupIdx(e){return"normal"===this.mode?e:"string"!=typeof e||(e=Number(e.split("-").at(-1)))?Math.floor(30*fe(0,e/this.expectedSeriesCount,1)):0}destroy(){for(const e of Object.values(this.groups))for(const t of Object.values(e))this.seriesRoot.removeChild(t.group),this.highlightRoot.removeChild(t.highlight),this.annotationRoot.removeChild(t.annotation);this.groups={},this.series={}}},jc=class{constructor(e,t){this.chartLike=e,this.layoutService=t,this.destroyFns=[],this.destroyFns.push(this.layoutService.addListener("start-layout",(e=>this.positionPadding(e))),this.layoutService.addListener("layout-complete",(e=>this.alignCaptions(e))),this.layoutService.addListener("start-layout",(e=>this.positionCaptions(e))))}destroy(){this.destroyFns.forEach((e=>e()))}positionPadding(e){const{shrinkRect:t}=e,{padding:i}=this.chartLike;return t.shrink(i.left,"left"),t.shrink(i.top,"top"),t.shrink(i.right,"right"),t.shrink(i.bottom,"bottom"),{...e,shrinkRect:t}}positionCaptions(e){const{shrinkRect:t,positions:i,padding:a}=e,{title:n,subtitle:r,footnote:o,titlePadding:s}=this.chartLike,l=t.clone().shrink(s),c=t.clone(),d=e=>{const i=t.height/10,a=e.lineHeight??e.fontSize*Tn.defaultLineHeightRatio,n=t.width,r=Math.max(a,i);e.computeTextWrap(n,r)},h=e=>"left"===e?l.x:"right"===e?l.x+l.width:("center"!==e&&C.error(`invalid textAlign value: ${e}`),l.x+l.width/2),u=(e,t)=>{const i=l.y;e.node.x=h(e.textAlign),e.node.y=i,e.node.textBaseline="top",d(e);const a=e.node.computeBBox(),n=Math.ceil(a.y-i+a.height+t);return"block"===e.layoutStyle&&(c.shrink(n+2*s,"top"),l.shrink(n,"top")),a};if(n.node.visible=n.enabled,r.node.visible=r.enabled,o.node.visible=o.enabled,n.enabled){const{spacing:e=(r.enabled?Yr.SMALL_PADDING:Yr.LARGE_PADDING)}=n;i.title=u(n,e)}return r.enabled&&(i.subtitle=u(r,r.spacing??0)),o.enabled&&(i.footnote=((e,t)=>{const i=l.y+l.height;e.node.x=h(e.textAlign),e.node.y=i,e.node.textBaseline="bottom",d(e);const a=e.node.computeBBox(),n=Math.ceil(i-a.y+t);return"block"===e.layoutStyle&&(c.shrink(n+2*s,"bottom"),l.shrink(n,"bottom")),a})(o,o.spacing??0)),a.title=s,{...e,shrinkRect:c,positions:i}}alignCaptions(e){const{title:t,subtitle:i,footnote:a,titlePadding:n}=this.chartLike,r=(e,t)=>{if("overlay"===e.layoutStyle)if("left"===e.textAlign)e.node.x=t.x+n;else if("right"===e.textAlign){const i=e.node.computeBBox();e.node.x=t.x+t.width-i.width-n}};r(t,e.series.rect),r(i,e.series.rect),r(a,e.series.rect)}},Yc=class{constructor(e,t,i,a){this.chart=e,this.dataService=t,this.updateService=i,this.zoomManager=a,this.dirtyZoom=!1,this.dirtyDataSource=!1,this.lastAxisZooms=new Map,this.destroyFns=[],this.destroyFns.push(this.dataService.addListener("data-source-change",(()=>this.onDataSourceChange())),this.dataService.addListener("data-load",(()=>this.onDataLoad())),this.dataService.addListener("data-error",(()=>this.onDataError())),this.updateService.addListener("update-complete",(()=>this.onUpdateComplete())),this.zoomManager.addListener("zoom-change",(()=>this.onZoomChange())))}destroy(){this.destroyFns.forEach((e=>e()))}onDataLoad(){this.updateService.update(1)}onDataError(){this.updateService.update(3)}onDataSourceChange(){this.dirtyDataSource=!0}onUpdateComplete(){(this.dirtyZoom||this.dirtyDataSource)&&this.updateWindow().catch((e=>C.errorOnce(e)))}onZoomChange(){this.dirtyZoom=!0}async updateWindow(){if(!this.dataService.isLazy())return;const e=this.getValidAxis();let t,i=!0;if(e){const a=this.zoomManager.getAxisZoom(e.id);t=this.getAxisWindow(e,a),i=this.shouldRefresh(e,a)}this.dirtyZoom=!1,this.dirtyDataSource=!1,i&&this.dataService.load({windowStart:t?.min,windowEnd:t?.max})}getValidAxis(){return this.chart.axes.find((e=>"time"===e.type))}shouldRefresh(e,t){if(this.dirtyDataSource)return!0;if(!this.dirtyZoom)return!1;const i=this.lastAxisZooms.get(e.id);return(!i||t.min!==i.min||t.max!==i.max)&&(this.lastAxisZooms.set(e.id,t),!0)}getAxisWindow(e,t){const i=e.scale.getDomain?.();if(!t||!i||0===i.length||isNaN(Number(i[0])))return;const a=Number(i[1])-Number(i[0]);return{min:new Date(Number(i[0])+a*t.min),max:new Date(Number(i[0])+a*t.max)}}},$c=class{constructor(e,t,i,a,n,r,o){this.chartLike=e,this.overlays=t,this.dataService=i,this.layoutService=a,this.localeManager=n,this.animationManager=r,this.domManager=o,this.destroyFns=[],this.overlayElem=this.domManager.addChild("canvas-overlay","overlay"),this.overlayElem.role="status",this.overlayElem.ariaAtomic="false",this.overlayElem.ariaLive="polite",this.overlayElem.classList.toggle(ac),this.domManager.addStyles("overlays",".ag-chart-overlay{color:#181d1f;pointer-events:none}.ag-chart-overlay.ag-chart-dark-overlay{color:#ffffff}.ag-chart-overlay--loading{color:rgb(140,140,140)}.ag-chart-overlay__loading-background{background:white;pointer-events:none}.ag-chart-overlay.ag-chart-dark-overlay .ag-chart-overlay__loading-background{background:#192232}"),this.destroyFns.push(this.layoutService.addListener("layout-complete",(e=>this.onLayoutComplete(e))))}destroy(){this.destroyFns.forEach((e=>e())),this.domManager.removeStyles("overlays"),this.domManager.removeChild("canvas-overlay","overlay")}onLayoutComplete({series:{rect:e}}){const t=this.dataService.isLoading(),i=this.chartLike.series.some((e=>e.hasData)),a=this.chartLike.series.some((e=>e.visible));this.overlays.darkTheme?this.overlayElem.classList.add(nc):this.overlayElem.classList.remove(nc),this.overlayElem.style.left=`${e.x}px`,this.overlayElem.style.top=`${e.y}px`,this.overlayElem.style.width=`${e.width}px`,this.overlayElem.style.height=`${e.height}px`,this.toggleOverlay(this.overlays.loading,e,t),this.toggleOverlay(this.overlays.noData,e,!t&&!i),this.toggleOverlay(this.overlays.noVisibleSeries,e,i&&!a)}toggleOverlay(e,t,i){if(i){const i=e.getElement(this.animationManager,this.localeManager,t);this.overlayElem.appendChild(i)}else e.removeElement((()=>{this.overlayElem.innerText=" "}),this.animationManager)}},Zc=wr.create(!0,"opts"),Xc=class extends Mt{constructor(){super(...arguments),this.padding=new Qo(0)}};c([mi(wi,{optional:!0})],Xc.prototype,"clip",2),c([mi(bi)],Xc.prototype,"padding",2);var Qc=class e extends Xo{constructor(e,t){var i;super(),this.id=de(this),this.seriesRoot=new on({name:`${this.id}-series-root`}),this.highlightRoot=new on({name:`${this.id}-highlight-root`,layer:!0,zIndex:5,nonEmptyChildDerivedZIndex:!0}),this.annotationRoot=new on({name:`${this.id}-annotation-root`,layer:!0,zIndex:10}),this.debug=wr.create(),this.extraDebugStats={},this.data=[],this._firstAutoSize=!0,this.padding=new Qo(20),this.titlePadding=0,this.seriesArea=new Xc,this.title=new Yr,this.subtitle=new Yr,this.footnote=new Yr,this.keyboard=new Kl,this.mode="standalone",this.destroyed=!1,this._skipSync=!1,this._destroyFns=[],this.chartAnimationPhase="initial",this.modulesManager=new ic,this.zoomManager=new ql,this.processors=[],this.queuedUserOptions=[],this._pendingFactoryUpdatesCount=0,this._performUpdateNoRenderCount=0,this._performUpdateSkipAnimations=!1,this.performUpdateType=7,this.updateShortcutCount=0,this.seriesToUpdate=new Set,this.updateMutex=new Zo,this.updateRequestors={},this.performUpdateTrigger=Jo(((e,t=0)=>setTimeout(e,t)),(async({count:e})=>{this.destroyed||this.updateMutex.acquire((async()=>{try{await this.performUpdate(e)}catch(e){C.error("update error",e)}})).catch((e=>C.errorOnce(e)))})),this._performUpdateSplits={},this.axes=[],this.series=[],this.focus={hasFocus:!1,series:void 0,seriesIndex:0,datumIndex:0,datum:void 0},this.pointerScheduler=function(e){return Jo(((e,t)=>requestAnimationFrame(e)),e)}((()=>{this.lastInteractionEvent&&(this.performUpdateType<=4?this.pointerScheduler.schedule():(this.handlePointer(this.lastInteractionEvent,!1),this.lastInteractionEvent=void 0))})),this.onSeriesNodeClick=e=>{const t={...e,type:"seriesNodeClick"};Object.defineProperty(t,"series",{enumerable:!1,get:()=>e.series}),this.fireEvent(t)},this.onSeriesNodeDoubleClick=e=>{const t={...e,type:"seriesNodeDoubleClick"};this.fireEvent(t)},this.seriesGroupingChanged=e=>{if(!(e instanceof qc))return;const{series:t,seriesGrouping:i,oldGrouping:a}=e;null!=t.rootGroup.parent&&this.seriesLayerManager.changeGroup({internalId:t.internalId,type:t.type,rootGroup:t.rootGroup,highlightGroup:t.highlightGroup,annotationGroup:t.annotationGroup,getGroupZIndexSubOrder:e=>t.getGroupZIndexSubOrder(e),seriesGrouping:i,oldGrouping:a})},this.dataProcessListeners=new Set,this.chartOptions=e;const a=t?.scene,n=t?.container,r=new on({name:"root"}),o=new on({name:"titles",layer:!0,zIndex:8});r.visible=!1,r.append(o),r.append(this.seriesRoot),r.append(this.highlightRoot),r.append(this.annotationRoot),o.append(this.title.node),o.append(this.subtitle.node),o.append(this.footnote.node);const{overrideDevicePixelRatio:s}=e.specialOverrides;this.tooltip=new jr,this.seriesLayerManager=new Kc(this.seriesRoot,this.highlightRoot,this.annotationRoot);const l=this.ctx=new fl(this,{scene:a,root:r,syncManager:new _l(this),container:n,updateCallback:(e=0,t)=>this.update(e,t),updateMutex:this.updateMutex,overrideDevicePixelRatio:s});this._destroyFns.push(l.domManager.addListener("resize",(()=>this.parentResize(l.domManager.containerSize)))),this.overlays=new oc,(i=this.overlays.loading).renderer??(i.renderer=()=>function(e,t){const{animationDuration:i}=jt.add,a=mr("div",`${ac}--loading`,{display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column",height:"100%",boxSizing:"border-box",font:"13px Verdana, sans-serif",userSelect:"none",animation:`ag-charts-loading ${i*t}ms linear 50ms both`}),n=mr("span",{width:"45px",height:"40px",backgroundImage:["linear-gradient(#0000 calc(1 * 100% / 6), #ccc 0 calc(3 * 100% / 6), #0000 0), ","linear-gradient(#0000 calc(2 * 100% / 6), #ccc 0 calc(4 * 100% / 6), #0000 0), ","linear-gradient(#0000 calc(3 * 100% / 6), #ccc 0 calc(5 * 100% / 6), #0000 0)"].join(""),backgroundSize:"10px 400%",backgroundRepeat:"no-repeat",animation:"ag-charts-loading-matrix 1s infinite linear"}),r=mr("p",{marginTop:"1em"});r.innerText=e;const o=mr("div",`${ac}__loading-background`,{position:"absolute",inset:"0",opacity:"0.5",zIndex:"-1"}),s=mr("style");return s.innerText=["@keyframes ag-charts-loading { from { opacity: 0 } to { opacity: 1 } }","@keyframes ag-charts-loading-matrix {","0% { background-position: 0% 0%, 50% 0%, 100% 0%; }","100% { background-position: 0% 100%, 50% 100%, 100% 100%; }","}"].join(" "),a.replaceChildren(s,n,r,o),a}(this.overlays.loading.getText(l.localeManager),l.animationManager.defaultDuration)),this.processors=[new jc(this,l.layoutService),new Yc(this,l.dataService,l.updateService,l.zoomManager),new $c(this,this.overlays,l.dataService,l.layoutService,l.localeManager,l.animationManager,l.domManager)],this.highlight=new vl,this.container=n;const{All:c}=ro,d=this.getModuleContext(),h=l.regionManager.addRegion("series",this.seriesRoot,this.ctx.axisManager.axisGridGroup),u=this.ctx.regionManager.addRegion("horizontal-axes"),g=this.ctx.regionManager.addRegion("vertical-axes");l.regionManager.addRegion("root",r),this._destroyFns.push(l.dataService.addListener("data-load",(e=>{this.data=e.data})),this.title.registerInteraction(d),this.subtitle.registerInteraction(d),this.footnote.registerInteraction(d),l.regionManager.listenAll("click",(e=>this.onClick(e))),l.regionManager.listenAll("dblclick",(e=>this.onDoubleClick(e))),h.addListener("hover",(e=>this.onMouseMove(e)),20),h.addListener("drag",(e=>this.onMouseMove(e)),20),u.addListener("hover",(e=>this.onMouseMove(e))),g.addListener("hover",(e=>this.onMouseMove(e))),h.addListener("leave",(e=>this.onLeave(e))),u.addListener("leave",(e=>this.onLeave(e))),g.addListener("leave",(e=>this.onLeave(e))),h.addListener("blur",(()=>this.onBlur())),h.addListener("tab",(e=>this.onTab(e))),h.addListener("nav-vert",(e=>this.onNavVert(e))),h.addListener("nav-hori",(e=>this.onNavHori(e))),h.addListener("submit",(e=>this.onSubmit(e))),h.addListener("contextmenu",(e=>this.onContextMenu(e)),c),l.keyNavManager.addListener("browserfocus",(e=>this.onBrowserFocus(e))),l.interactionManager.addListener("page-left",(()=>this.destroy())),l.animationManager.addListener("animation-start",(()=>this.onAnimationStart())),l.animationManager.addListener("animation-frame",(()=>{this.update(6)})),l.highlightManager.addListener("highlight-change",(e=>this.changeHighlightDatum(e))),l.zoomManager.addListener("zoom-pan-start",(()=>this.resetPointer())),l.zoomManager.addListener("zoom-change",(()=>{this.resetPointer(),this.ctx.focusIndicator.updateBounds(void 0),this.series.map((e=>e.animationState?.transition("updateData")));const e="initial"!==this.chartAnimationPhase;this.update(3,{forceNodeDataRefresh:!0,skipAnimations:e})}))),this.parentResize(l.domManager.containerSize)}static getInstance(t){return e.chartsInstances.get(t)}get canvasElement(){return this.ctx.scene.canvas.element}download(e,t){this.ctx.scene.download(e,t)}getCanvasDataURL(e){return this.ctx.scene.getDataURL(e)}getOptions(){return this.queuedUserOptions.at(-1)??this.chartOptions.userOptions}getModuleContext(){return this.ctx}getCaptionText(){return[this.title,this.subtitle,this.footnote].filter((e=>e.enabled&&e.text)).map((e=>e.text)).join(". ")}getAriaLabel(){return this.ctx.localeManager.t("ariaAnnounceChart",{seriesCount:this.series.length,caption:this.getCaptionText()})}getDatumAriaText(e,t){const i=t.ariaLabel;return e.series.getDatumAriaText?.(e,i)??i}resetAnimations(){this.chartAnimationPhase="initial";for(const e of this.series)e.resetAnimation(this.chartAnimationPhase);for(const e of this.axes)e.resetAnimation(this.chartAnimationPhase);this.animationRect=void 0,this.ctx.animationManager.reset()}skipAnimations(){this.ctx.animationManager.skipCurrentBatch(),this._performUpdateSkipAnimations=!0}destroy(e){if(this.destroyed)return;const t=e?.keepTransferableResources;let i;return this.performUpdateType=7,this._destroyFns.forEach((e=>e())),this.processors.forEach((e=>e.destroy())),this.tooltip.destroy(this.ctx.domManager),this.overlays.destroy(),this.modulesManager.destroy(),t?(this.ctx.scene.strip(),i={container:this.container,scene:this.ctx.scene}):(this.ctx.scene.destroy(),this.container=void 0),this.destroySeries(this.series),this.seriesLayerManager.destroy(),this.axes.forEach((e=>e.destroy())),this.axes=[],this.animationRect=void 0,this.ctx.destroy(),this.zoomManager.destroy(),this.destroyed=!0,Object.freeze(this),i}resetPointer(e=!1){e||this.ctx.tooltipManager.removeTooltip(this.id),this.ctx.highlightManager.updateHighlight(this.id),this.lastInteractionEvent=void 0}requestFactoryUpdate(e){this.destroyed||(this._pendingFactoryUpdatesCount++,this.updateMutex.acquire((async()=>{this.destroyed||(await e(this),this.destroyed||this._pendingFactoryUpdatesCount--)})).catch((e=>C.errorOnce(e))))}update(e=0,t){const{forceNodeDataRefresh:i=!1,skipAnimations:a,seriesToUpdate:n=this.series,newAnimationBatch:r}=t??{};i&&this.series.forEach((e=>e.markNodeDataDirty()));for(const e of n)this.seriesToUpdate.add(e);if(a&&(this.ctx.animationManager.skipCurrentBatch(),this._performUpdateSkipAnimations=!0),r&&this.ctx.animationManager.isActive()&&(this._performUpdateSkipAnimations=!0),this._skipSync=t?.skipSync??!1,this.debug.check()){let t=(new Error).stack??"<unknown>";t=t.replace(/\([^)]*/g,""),this.updateRequestors[t]=e}e<this.performUpdateType&&(this.performUpdateType=e,this.performUpdateTrigger.schedule(t?.backOffMs))}async performUpdate(e){const{performUpdateType:t,extraDebugStats:i,_performUpdateSplits:a,ctx:n}=this,r=[...this.seriesToUpdate];this.performUpdateType=7,this.seriesToUpdate.clear(),0===this.updateShortcutCount&&t<6&&(n.animationManager.startBatch(this._performUpdateSkipAnimations),n.animationManager.onBatchStop((()=>this.chartAnimationPhase="ready"))),this.debug("Chart.performUpdate() - start",pl[t]);let o=performance.now();a.start??(a.start=o);const s=e=>{a[e]??(a[e]=0),a[e]+=performance.now()-o,o=performance.now()};let l=!1;switch(t){case 0:this.updateDOM();case 1:await this.updateData(),s("⬇️");case 2:await this.processData(),this.resetPointer(!0),s("🏭");case 3:if(this.checkUpdateShortcut(3))break;if(!this.checkFirstAutoSize(r)){l=!0;break}await this.processLayout(),s("⌖");case 4:if(this.checkUpdateShortcut(4))break;const{seriesRect:e}=this;await Promise.all(r.map((t=>t.update({seriesRect:e})))),s("🤔");case 5:if(this.checkUpdateShortcut(5))break;const o=n.tooltipManager.getTooltipMeta(this.id);t<=4&&null!=o?.lastPointerEvent&&this.handlePointer(o.lastPointerEvent,!0),s("↖");case 6:if(this.checkUpdateShortcut(6))break;n.animationManager.endBatch(),i.updateShortcutCount=this.updateShortcutCount,await n.scene.render({debugSplitTimes:a,extraDebugStats:i}),this.extraDebugStats={};for(const e in a)delete a[e];this.ctx.domManager.incrementDataCounter("sceneRenders");case 7:this.updateShortcutCount=0,this.updateRequestors={},this._performUpdateSkipAnimations=!1,n.animationManager.endBatch()}l||n.updateService.dispatchUpdateComplete(this.getMinRects());const c=performance.now();this.debug("Chart.performUpdate() - end",{chart:this,durationMs:Math.round(100*(c-a.start))/100,count:e,performUpdateType:pl[t]})}updateThemeClassName(){const{theme:e}=this.chartOptions.processedOptions,t="ag-charts-theme-",i=[`${t}default`,`${t}default-dark`];let a=i[0],n=!1;"string"==typeof e?(a=e.replace("ag-",t),n=e.includes("-dark")):"string"==typeof e?.baseTheme&&(a=e.baseTheme.replace("ag-",t),n=e.baseTheme.includes("-dark")),i.includes(a)||(a=n?i[1]:i[0]),this.ctx.domManager.setThemeClass(a)}updateDOM(){this.updateThemeClassName();const{enabled:e,tabIndex:t}=this.keyboard;this.ctx.domManager.setTabIndex(e?t??0:-1),Br(this.ctx.scene.canvas.element,"role","figure"),Br(this.ctx.scene.canvas.element,"aria-label",this.getAriaLabel())}checkUpdateShortcut(e){return this.updateShortcutCount>3?(C.warn("exceeded the maximum number of simultaneous updates (4), discarding changes and rendering",this.updateRequestors),!1):this.performUpdateType<=e&&(this.updateShortcutCount++,!0)}checkFirstAutoSize(e){if(null!=this.width&&null!=this.height);else if(!this._lastAutoSize){const t=this._performUpdateNoRenderCount++,i=(t+1)**2*40;if(t<8)return this.update(3,{seriesToUpdate:e,backOffMs:i}),this.debug("Chart.checkFirstAutoSize() - backing off until first size update",i),!1;this.debug("Chart.checkFirstAutoSize() - timeout for first size update.")}return this._performUpdateNoRenderCount=0,!0}onAxisChange(e,t){null==t&&0===e.length||this.ctx.axisManager.updateAxes(t??[],e)}onSeriesChange(e,t){const i=t?.filter((t=>!e.includes(t)))??[];this.destroySeries(i),this.seriesLayerManager?.setSeriesCount(e.length);for(const i of e){if(t?.includes(i))continue;null==i.rootGroup.parent&&this.seriesLayerManager.requestGroup(i);const e=this;i.chart={get mode(){return e.mode},get isMiniChart(){return!1},get seriesRect(){return e.seriesRect},placeLabels(){return e.placeLabels()}},i.resetAnimation(this.chartAnimationPhase),this.addSeriesListeners(i),i.addChartEventListeners()}}destroySeries(e){e?.forEach((e=>{e.removeEventListener("nodeClick",this.onSeriesNodeClick),e.removeEventListener("nodeDoubleClick",this.onSeriesNodeDoubleClick),e.removeEventListener("groupingChanged",this.seriesGroupingChanged),e.destroy(),this.seriesLayerManager.releaseGroup(e),e.chart=void 0}))}addSeriesListeners(e){this.hasEventListener("seriesNodeClick")&&e.addEventListener("nodeClick",this.onSeriesNodeClick),this.hasEventListener("seriesNodeDoubleClick")&&e.addEventListener("nodeDoubleClick",this.onSeriesNodeDoubleClick),e.addEventListener("groupingChanged",this.seriesGroupingChanged)}updateAllSeriesListeners(){this.series.forEach((e=>{e.removeEventListener("nodeClick",this.onSeriesNodeClick),e.removeEventListener("nodeDoubleClick",this.onSeriesNodeDoubleClick),this.addSeriesListeners(e)}))}assignSeriesToAxes(){this.axes.forEach((e=>{e.boundSeries=this.series.filter((t=>t.axes[e.direction]===e))}))}assignAxesToSeries(){const e=ka(this.axes,(e=>e.direction));this.series.forEach((t=>{t.directions.forEach((i=>{const a=e[i];if(!a)return void C.warnOnce(`no available axis for direction [${i}]; check series and axes configuration.`);const n=t.getKeys(i),r=a.find((e=>!e.keys.length||n.some((t=>e.keys.includes(t)))));r?t.axes[i]=r:C.warnOnce(`no matching axis for direction [${i}] and keys [${n}]; check series and axes configuration.`)}))}))}parentResize(e){if(null==e||null!=this.width&&null!=this.height)return;let{width:t,height:i}=e;if(t=Math.floor(t),i=Math.floor(i),0===t&&0===i)return;const[a=0,n=0]=this._lastAutoSize??[];a===t&&n===i||(this._lastAutoSize=[t,i],this.resize("SizeMonitor",{}))}resize(e,t){const{scene:i,animationManager:a}=this.ctx,{inWidth:n,inHeight:r,inMinWidth:o,inMinHeight:s}=t;this.ctx.domManager.setSizeOptions(o??this.minWidth,s??this.minHeight,n??this.width,r??this.height);const l=n??this.width??this._lastAutoSize?.[0],c=r??this.height??this._lastAutoSize?.[1];if(this.debug(`Chart.resize() from ${e}`,{width:l,height:c,stack:(new Error).stack}),null!=l&&null!=c&&ht(l)&&ht(c)&&i.resize(l,c)){this.resetPointer(),a.reset();let e=!0;null!=this.width&&null!=this.height||!this._firstAutoSize||(e=!1,this._firstAutoSize=!1),this.update(3,{forceNodeDataRefresh:!0,skipAnimations:e})}}async updateData(){this.series.forEach((e=>e.setChartData(this.data)));const e=this.modulesManager.mapModules((e=>e.updateData?.({data:this.data})));await Promise.all(e)}async processData(){if(this.series.some((e=>e.canHaveAxes))){this.assignAxesToSeries();const e=this.modulesManager.getModule("sync");e?.enabled?e.syncAxes(this._skipSync):this.assignSeriesToAxes()}const e=new El(this.mode),t=this.series.map((t=>t.processData(e))),i=this.modulesManager.mapModules((t=>t.processData?.({dataController:e})));e.execute(),await Promise.all([...t,...i]);for(const{legendType:e,legend:t}of this.modulesManager.legends())t.data=this.getLegendData(e,"integrated"!==this.mode);this.dataProcessListeners.forEach((e=>e())),this.dataProcessListeners.clear()}placeLabels(){const e=[],t=[];for(const a of this.series){if(!a.visible)continue;const n=a.getLabelData();i=n?.[0],null!=i&&"object"==typeof i.point&&"object"==typeof i.label&&(t.push(n),e.push(a))}var i;const{seriesRect:a}=this,{top:n,right:r,bottom:o,left:s}=this.seriesArea.padding,l=a&&t.length>0?function(e,t,i=5){const a=[];e=e.map((e=>e.slice().sort(((e,t)=>t.point.size-e.point.size))));for(let l=0;l<e.length;l++){const c=a[l]=[],d=e[l];if(d?.length&&d[0].label)for(let l=0,h=d.length;l<h;l++){const h=d[l],{point:u,label:g,marker:p}=h,{text:m,width:f,height:v}=g,y=.5*u.size;let b=0,C=0;if(y>0&&null!=h.placement){const e=Er[h.placement];b=(.5*f+y+i)*e.x,C=(.5*v+y+i)*e.y}const w=u.x-.5*f+b-((p?.center.x??.5)-.5)*u.size,S=u.y-.5*v+C-((p?.center.y??.5)-.5)*u.size;(!t||(o=S,s=v,(r=w)+f<(n=t).x+n.width&&r>n.x&&o>n.y&&o+s<n.y+n.height))&&(e.some((e=>e.some((e=>Dr(e.point,e.marker?.center,w,S,f,v)))))||a.some((e=>e.some((e=>Ar(e,w,S,f,v)))))||c.push({index:l,text:m,x:w,y:S,width:f,height:v,datum:h}))}}var n,r,o,s;return a}(t,{x:-s,y:-n,width:a.width+s+r,height:a.height+n+o}):[];return new Map(l.map(((t,i)=>[e[i],t])))}getLegendData(e,t){var i;const a=this.series.filter((e=>e.properties.showInLegend)).flatMap((t=>t.getLegendData(e)));if(t&&a.every((e=>"category"===e.legendType))){const e={},t=new Map(this.series.map((e=>[e.id,e.type])));for(const{seriesId:n,symbols:[{marker:r}],label:o}of a){if(null==r.fill)continue;const a=t.get(n),s=e[a]??(e[a]={});s[i=o.text]??(s[i]=r.fill),s[o.text]!==r.fill&&C.warnOnce(`legend item '${o.text}' has multiple fill colors, this may cause unexpected behaviour.`)}}return a}async processLayout(){const e=this.animationRect;await this.performLayout(),e&&!this.animationRect?.equals(e)&&this.ctx.animationManager.skipCurrentBatch(),this.debug("Chart.performUpdate() - seriesRect",this.seriesRect)}async performLayout(){const{width:e,height:t}=this.ctx.scene;let i={shrinkRect:new Ee(0,0,e,t),positions:{},padding:{}};i=this.ctx.layoutService.dispatchPerformLayout("start-layout",i),i=this.ctx.layoutService.dispatchPerformLayout("before-series",i);for(const e of this.modulesManager.modules())null!=e.performLayout&&(i=await e.performLayout(i));return i.shrinkRect}pickNode(e,t){const i=performance.now(),a=[...t].reverse();let n;for(const{series:t,pickModes:i,maxDistance:r}of a){if(!t.visible||!t.rootGroup.visible)continue;const{match:a,distance:o}=t.pickNode(e,i)??{};if(a&&null!=o&&((!n||n.distance>o)&&o<=(r??1/0)&&(n={series:t,distance:o,datum:a}),0===o))break}return this.extraDebugStats.pickSeriesNode=Math.round((this.extraDebugStats.pickSeriesNode??0)+(performance.now()-i)),n}pickSeriesNode(e,t,i){const a=t?[0]:void 0;return this.pickNode(e,this.series.map((e=>({series:e,pickModes:a,maxDistance:i}))))}pickTooltip(e){return this.pickNode(e,this.series.map((e=>{const t=e.properties.tooltip.range;let i;i="exact"===t?[0]:void 0;return{series:e,pickModes:i,maxDistance:"number"==typeof t?t:void 0}})))}onMouseMove(e){this.lastInteractionEvent=e,this.pointerScheduler.schedule(),this.extraDebugStats.mouseX=e.offsetX,this.extraDebugStats.mouseY=e.offsetY,this.update(6)}onLeave(e){const t=e.relatedElement;t&&this.ctx.domManager.isManagedDOMElement(t)||(this.resetPointer(),this.update(6),this.ctx.cursorManager.updateCursor("chart"))}onBrowserFocus(e){e.delta>0?(this.focus.datum=void 0,this.focus.series=void 0,this.focus.datumIndex=0,this.focus.seriesIndex=0):e.delta<0&&(this.focus.datum=void 0,this.focus.series=void 0,this.focus.datumIndex=1/0,this.focus.seriesIndex=1/0)}onAnimationStart(){this.focus.hasFocus&&this.onBlur()}onBlur(){this.ctx.focusIndicator.updateBounds(void 0),this.resetPointer(),this.focus.hasFocus=!1}onTab(e){this.handleFocus(0,0),e.preventDefault(),this.focus.hasFocus=!0}onNavVert(e){this.focus.seriesIndex+=e.delta,this.handleFocus(e.delta,0),e.preventDefault()}onNavHori(e){this.focus.datumIndex+=e.delta,this.handleFocus(0,e.delta),e.preventDefault()}onSubmit(e){const{series:t,datum:i}=this.focus,a=e.sourceEvent.sourceEvent;void 0!==t&&void 0!==i?t.fireNodeClickEvent(a,i):this.fireEvent({type:"click",event:a}),e.preventDefault()}onContextMenu(e){this.ctx.tooltipManager.removeTooltip(this.id);const{Default:t,ContextMenu:i}=ro;let a;this.ctx.interactionManager.getState()&(t|i)&&this.checkSeriesNodeRange(e,((e,t)=>{this.ctx.highlightManager.updateHighlight(this.id),a=t})),this.ctx.contextMenuRegistry.dispatchContext("series",e,{pickedNode:a})}handleFocus(e,t){this.focus.hasFocus=!0;const i=this.overlays.getFocusInfo(this.ctx.localeManager);null==i?this.handleSeriesFocus(e,t):(this.ctx.focusIndicator.updateBounds(i.rect),this.ctx.ariaAnnouncementService.announceValue(i.text))}handleSeriesFocus(e,t){const{series:i,seriesRect:a,focus:n}=this,r=i.filter((e=>e.visible));if(0===r.length)return;n.seriesIndex=fe(0,n.seriesIndex,r.length-1),n.series=r[n.seriesIndex];const{datumIndex:o,seriesIndex:s}=n,l=n.series.pickFocus({datumIndex:o,datumIndexDelta:t,otherIndex:s,otherIndexDelta:e,seriesRect:a});this.updatePickedFocus(l)}updatePickedFocus(e){const{focus:t}=this;if(void 0===e||void 0===t.series)return;const{datum:i,datumIndex:a}=e;t.datumIndex=a,t.datum=i;const n=jl(this.ctx.focusIndicator,e);if(void 0!==n){this.lastInteractionEvent=n;const e=t.series.getTooltipHtml(i),a=ll.makeTooltipMeta(this.lastInteractionEvent,i),r=this.getDatumAriaText(i,e);this.ctx.highlightManager.updateHighlight(this.id,i),this.ctx.tooltipManager.updateTooltip(this.id,a,e),this.ctx.ariaAnnouncementService.announceValue("ariaAnnounceHoverDatum",{datum:r})}}static isHoverEvent(e){return void 0!==e&&"hover"===e.type}static isDragEvent(e){return void 0!==e&&"drag"===e.type}handlePointer(t,i){const a=this.ctx.interactionManager.getState();if(16!==a&&4!==a||!e.isHoverEvent(t)&&!e.isDragEvent(t))return;const{lastPick:n,hoverRect:r}=this,{offsetX:o,offsetY:s}=t,l=(e=!1)=>{n&&this.resetPointer(e)};(i?!this.ctx.animationManager.isActive():r?.containsPoint(o,s))?(this.handlePointerTooltip(t,l),this.handlePointerNode(t)):l()}handlePointerTooltip(e,t){const{lastPick:i}=this,{offsetX:a,offsetY:n,targetElement:r}=e;if(r&&this.tooltip.interactive&&this.ctx.domManager.isManagedChildDOMElement(r,"canvas-overlay",Hr))return;const o=this.pickTooltip({x:a,y:n});if(!o)return this.ctx.tooltipManager.removeTooltip(this.id),void("tooltip"===this.highlight.range&&t(!0));const s="node"===this.highlight.range||!i||i!==o.datum;let l;s&&(l=o.series.getTooltipHtml(o.datum),"tooltip"===this.highlight.range&&this.ctx.highlightManager.updateHighlight(this.id,o.datum));const c=this.tooltip.enabled&&o.series.tooltipEnabled&&(!s||void 0!==l),d=ll.makeTooltipMeta(e,o.datum);c&&this.ctx.tooltipManager.updateTooltip(this.id,d,l)}handlePointerNode(e){this.checkSeriesNodeRange(e,((e,t)=>{(e.hasEventListener("nodeClick")||e.hasEventListener("nodeDoubleClick"))&&this.ctx.cursorManager.updateCursor("chart","pointer"),"node"===this.highlight.range&&this.ctx.highlightManager.updateHighlight(this.id,t)}))||(this.ctx.cursorManager.updateCursor("chart"),"node"===this.highlight.range&&this.ctx.highlightManager.updateHighlight(this.id))}onClick(e){if(this.checkSeriesNodeClick(e))return this.update(4),void e.preventDefault();this.fireEvent({type:"click",event:e.sourceEvent})}onDoubleClick(e){if(this.checkSeriesNodeDoubleClick(e))return this.update(4),void e.preventDefault();this.fireEvent({type:"doubleClick",event:e.sourceEvent})}checkSeriesNodeClick(e){return this.checkSeriesNodeRange(e,((t,i)=>t.fireNodeClickEvent(e.sourceEvent,i)))}checkSeriesNodeDoubleClick(e){return this.checkSeriesNodeRange(e,((t,i)=>t.fireNodeDoubleClickEvent(e.sourceEvent,i)))}checkSeriesNodeRange(e,t){const i=this.pickSeriesNode({x:e.offsetX,y:e.offsetY},!1),a=i?.datum,n=a?.series.properties.nodeClickRange;let r;ht(n)&&(r=n);let o=this.pickSeriesNode({x:e.offsetX,y:e.offsetY},!0);if(o&&(e.preventZoomDblClick=!0),a&&"nearest"===n)return t(a.series,a),!0;if("exact"!==n&&(o=this.pickSeriesNode({x:e.offsetX,y:e.offsetY},!1,r)),!o)return!1;const s=null!=r,l="exact"===n&&0===o.distance;if(s||l){if(void 0===e.pointerHistory||e.pointerHistory?.every((e=>{const t={x:e.offsetX,y:e.offsetY},i=this.pickSeriesNode(t,!1,r);return i?.datum===o?.datum})))return t(o.series,o.datum),!0}return!1}changeHighlightDatum(e){const t=new Set,{series:i,datum:a}=e.currentHighlight??{},{series:n,datum:r}=e.previousHighlight??{};n&&t.add(n),i&&t.add(i),n?.properties.cursor&&r&&this.ctx.cursorManager.updateCursor(n.id),i?.properties.cursor&&a&&this.ctx.cursorManager.updateCursor(i.id,i.properties.cursor),this.lastPick=e.currentHighlight;null==i||null==n?this.update(4):this.update(4,{seriesToUpdate:t})}async waitForUpdate(e=1e4,t=!1){const i=performance.now();for(this._pendingFactoryUpdatesCount>0&&await this.updateMutex.waitForClearAcquireQueue();7!==this.performUpdateType;){if(performance.now()-i>e){const i=`Chart.waitForUpdate() timeout of ${e} reached - first chart update taking too long.`;if(t)throw new Error(i);C.warnOnce(i)}await $o(50)}await this.updateMutex.waitForClearAcquireQueue()}waitForDataProcess(e){return new Promise((t=>{this.dataProcessListeners.add(t),dt(e)&&setTimeout((()=>{this.dataProcessListeners.has(t)&&(this.dataProcessListeners.delete(t),t())}),e)}))}getMinRects(){const{width:e,height:t}=this.ctx.scene,i=this.series.map((i=>i.getMinRects(e,t))).filter(Je);if(0===i.length)return;let a=0,n=0,r=0,o=0;for(const{minRect:e,minVisibleRect:t}of i)a=Math.max(a,e.width),n=Math.max(n,e.height),r=Math.max(r,t.width),o=Math.max(o,t.height);const s=new Ee(0,0,a,n);let l=s.clone();return r>0&&o>0&&(l=new Ee(0,0,r,o)),{minRect:s,minVisibleRect:l}}filterMiniChartSeries(e){return e?.filter((e=>!1!==e.showInMiniChart))}applyOptions(e){const t=e!==this.chartOptions?this.chartOptions.processedOptions:{},i=e.processedOptions,a=e.diffOptions(t);if(null==a)return;Zc("Chart.applyOptions() - applying delta",a);const n=this.applyModules(i);a.listeners&&this.registerListeners(this,a.listeners),It(this,a,{skip:["type","data","series","listeners","preset","theme","legend.listeners","navigator.miniChart.series","navigator.miniChart.label","axes","topology","nodes","initialState"]});let r=!1,o="no-op";a.series?.length&&(o=this.applySeries(this,a.series,t?.series),r=!0),"replaced"===o&&this.resetAnimations(),this.applyAxes(this,i,t,o,[],!0)&&(r=!0),a.data&&(this.data=a.data),a.legend?.listeners&&this.modulesManager.isEnabled("legend")&&Object.assign(this.legend.listeners,a.legend.listeners),a.listeners&&this.updateAllSeriesListeners(),this.chartOptions=e;const s=this.modulesManager.getModule("navigator"),l=this.modulesManager.getModule("zoom");s?.enabled||l?.enabled||this.ctx.zoomManager.updateZoom("chart");const c=s?.miniChart,d=i.navigator?.miniChart?.series??i.series;!0===c?.enabled&&null!=d?this.applyMiniChartOptions(c,d,i,t):!1===c?.enabled&&(c.series=[],c.axes=[]),this.ctx.annotationManager.setAnnotationStyles(e.annotationThemes),r||(r=this.shouldForceNodeDataRefresh(a,o));const h=r||n?0:3;this.maybeResetAnimations(o),Zc("Chart.applyOptions() - update type",pl[h],{seriesStatus:o,forceNodeDataRefresh:r}),this.update(h,{forceNodeDataRefresh:r,newAnimationBatch:!0})}applyInitialState(){const{ctx:{annotationManager:e,stateManager:t}}=this,i=this.getOptions();if(null!=i.initialState?.annotations){const a=i.initialState.annotations.map((t=>vt(t,e.getAnnotationTypeStyles(t.type))));t.setState(e,a)}}maybeResetAnimations(e){if("standalone"===this.mode)switch(e){case"series-grouping-change":case"replaced":this.resetAnimations()}}shouldForceNodeDataRefresh(e,t){const i=!!e.data||"data-change"===t||"replaced"===t,a=Ll.getKeys(),n=Object.values(a).some((t=>null!=e[t])),r=null!=e.title&&null!=e.subtitle;return i||n||r}applyMiniChartOptions(e,t,i,a){const n=a?.navigator?.miniChart?.series??a?.series,r=this.applySeries(e,this.filterMiniChartSeries(t),this.filterMiniChartSeries(n));this.applyAxes(e,i,a,r,["axes[].tick","axes[].thickness","axes[].title","axes[].crosshair","axes[].gridLine","axes[].label"]);const o=e.axes,s=o.find((e=>"x"===e.direction));for(const e of o)e.gridLine.enabled=!1,e.label.enabled=e===s,e.tick.enabled=!1,e.interactionEnabled=!1;if(null!=s){const e=i.navigator?.miniChart,t=e?.label,a=e?.label?.interval;s.line.enabled=!1,s.label.set(Ct(t,["interval","rotation","minSpacing","autoRotate","autoRotateAngle"])),s.tick.set(Ct(a,["enabled","width","size","color","interval","step"]));const n=a?.step;null!=n&&(s.interval.step=n)}}applyModules(e){const{type:t}=this.constructor;let i=!1;for(const a of Yo.byType("root","legend")){const n=null!=e[a.optionsKey]&&a.chartTypes.includes(t);n!==this.modulesManager.isEnabled(a)&&(n?(this.modulesManager.addModule(a,(e=>new e.instanceConstructor(this.getModuleContext()))),"legend"===a.type&&this.modulesManager.getModule(a)?.attachLegend(this.ctx.scene),this[a.optionsKey]=this.modulesManager.getModule(a)):(this.modulesManager.removeModule(a),delete this[a.optionsKey]),i=!0)}return i}applySeries(e,t,i){if(!t)return"no-change";const a=function(e,t,i){const a=(e,t)=>{const i=[e];for(const e of $l)e in t&&null!=t[e]&&i.push(`${e}=${t[e]}`);return i.join(";")},n=new Map;let r=0;for(const t of e){const e=a(t.type,t.properties);n.has(e)||n.set(e,[]),n.get(e)?.push([t,r++])}const o=new Map;for(const e of t){const t=a(e.type,e);o.has(t)||o.set(t,[]),o.get(t)?.push(e)}if(![...n.keys()].some((e=>o.has(e))))return{status:"no-overlap",oldKeys:n.keys(),newKeys:o.keys()};const s=[];let l=-1;for(const[e,t]of o.entries())for(const a of t){l++;const t=n.get(e);if(null==t||t.length<1){s.push({opts:a,idx:l,status:"add"}),n.delete(e);continue}const[r,o]=t.shift(),c=Et(i?.[o]??{},a??{}),{groupIndex:d,stackIndex:h}=c?.seriesGrouping??{};null!=d||null!=h?s.push({opts:a,series:r,diff:c,idx:o,status:"series-grouping"}):c?s.push({opts:a,series:r,diff:c,idx:o,status:"update"}):s.push({opts:a,series:r,idx:o,status:"no-op"}),0===t.length&&n.delete(e)}for(const e of n.values())for(const[t,i]of e)s.push({series:t,idx:i,status:"remove"});return{status:"overlap",changes:s}}(e.series,t,i);if("no-overlap"===a.status)return Zc(`Chart.applySeries() - creating new series instances, status: ${a.status}`,a),e.series=t.map((e=>this.createSeries(e))),"replaced";Zc("Chart.applySeries() - matchResult",a);const n=[];let r=!1,o=!1,s=!1;for(const e of a.changes)switch(o||(o="series-grouping"===e.status),r||(r=null!=e.diff?.data),s||(s="no-op"!==e.status),e.status){case"add":const t=this.createSeries(e.opts);n.push(t),Zc("Chart.applySeries() - created new series",t);break;case"remove":Zc(`Chart.applySeries() - removing series at previous idx ${e.idx}`,e.series);break;case"no-op":n.push(e.series),Zc(`Chart.applySeries() - no change to series at previous idx ${e.idx}`,e.series);break;default:const{series:i,diff:a,idx:r}=e;Zc(`Chart.applySeries() - applying series diff previous idx ${r}`,a,i),this.applySeriesValues(i,a),i.markNodeDataDirty(),n.push(i)}for(let e=0;e<n.length;e++)n[e]._declarationOrder=e;return Zc("Chart.applySeries() - final series instances",n),e.series=n,o?"series-grouping-change":r?"data-change":s?"updated":"no-op"}applyAxes(e,t,i,a,n=[],r=!1){if(!("axes"in t)||!t.axes)return!1;n=["axes[].type",...n];const{axes:o}=t;if(!("replaced"===a)&&e.axes.length===o.length&&e.axes.every(((e,t)=>e.type===o[t].type))&&Xl(i))return e.axes.forEach(((e,t)=>{const a=Et(i.axes?.[t]??{},o[t]);Zc(`Chart.applyAxes() - applying axis diff idx ${t}`,a);const r=`axes[${t}]`;It(e,a,{...ga,path:r,skip:n})})),!0;Zc(`Chart.applyAxes() - creating new axes instances; seriesStatus: ${a}`),e.axes=this.createAxis(o,n);const s={x:[],y:[]};return e.axes.forEach((e=>s[e.direction].push(e.getAxisGroup()))),r&&(this.ctx.regionManager.updateRegion("horizontal-axes",...s.x),this.ctx.regionManager.updateRegion("vertical-axes",...s.y)),!0}createSeries(e){const t=Hl.create(e.type,this.getModuleContext());return this.applySeriesOptionModules(t,e),this.applySeriesValues(t,e),t}applySeriesOptionModules(e,t){const i=e.createModuleContext(),a=e.getModuleMap();for(const n of Yo.byType("series-option"))n.optionsKey in t&&n.seriesTypes.includes(e.type)&&a.addModule(n,(e=>new e.instanceConstructor(i)))}applySeriesValues(e,t){const i=e.getModuleMap(),{type:a,data:n,listeners:r,seriesGrouping:o,showInMiniChart:s,...l}=t;for(const e of Pl)if("series-option"===e.type&&e.optionsKey in l){const t=i.getModule(e.optionsKey);if(t){const i=l[e.optionsKey];delete l[e.optionsKey],t.properties.set(i)}}e.properties.set(l),"data"in t&&e.setOptionsData(n),r&&this.registerListeners(e,r),"seriesGrouping"in t&&(e.seriesGrouping=null==o?void 0:{...e.seriesGrouping,...o})}createAxis(e,t){const i=[],a=this.getModuleContext();for(let n=0;n<e.length;n++){const r=e[n],o=Tl.create(r.type,a);this.applyAxisModules(o,r),It(o,r,{...ga,path:`axes[${n}]`,skip:t}),i.push(o)}return function(e){const t=[],i=[],a=[...Yl];for(const a of e)a instanceof Fo&&("string"==typeof(n=a.position)&&Yl.includes(n)?i.push(a.position):t.push(a));var n;for(const e of t){let t;do{t=a.pop()}while(t&&i.includes(t));if(null==t)break;e.position=t}}(i),i}applyAxisModules(e,t){const i=e.createModuleContext(),a=e.getModuleMap();for(const n of Yo.byType("axis-option")){const r=null!=t[n.optionsKey];r!==a.isEnabled(n)&&(r?(a.addModule(n,(e=>new e.instanceConstructor(i))),e[n.optionsKey]=a.getModule(n)):(a.removeModule(n),delete e[n.optionsKey]))}}registerListeners(e,t){e.clearEventListeners();for(const[i,a]of Object.entries(t))rt(a)&&e.addEventListener(i,a)}};Qc.chartsInstances=new WeakMap,c([Nr({newValue(e){this.destroyed||(this.ctx.domManager.setContainer(e),Qc.chartsInstances.set(e,this))},oldValue(e){Qc.chartsInstances.delete(e)}})],Qc.prototype,"container",2),c([Nr({newValue(e){this.resize("width option",{inWidth:e})}})],Qc.prototype,"width",2),c([Nr({newValue(e){this.resize("height option",{inHeight:e})}})],Qc.prototype,"height",2),c([Nr({newValue(e){this.resize("minWidth option",{inMinWidth:e})}})],Qc.prototype,"minWidth",2),c([Nr({newValue(e){this.resize("minHeight option",{inMinHeight:e})}})],Qc.prototype,"minHeight",2),c([mi(bi)],Qc.prototype,"padding",2),c([mi(ki)],Qc.prototype,"titlePadding",2),c([mi(bi)],Qc.prototype,"seriesArea",2),c([mi(bi)],Qc.prototype,"title",2),c([mi(bi)],Qc.prototype,"subtitle",2),c([mi(bi)],Qc.prototype,"footnote",2),c([mi(bi)],Qc.prototype,"keyboard",2),c([mi(ra(["standalone","integrated"],"a chart mode"))],Qc.prototype,"mode",2),c([Nr({changeValue(e,t){this.onAxisChange(e,t)}})],Qc.prototype,"axes",2),c([Nr({changeValue(e,t){this.onSeriesChange(e,t)}})],Qc.prototype,"series",2);var Jc=Qc,ed=class{constructor(e,t,i){this.root=new ad(e,t,i)}clear(e){this.root.clear(e)}addValue(e,t){const i={hitTester:e,value:t,distanceSquared:(t,i)=>e.distanceSquared(t,i)};this.root.addElem(i)}find(e,t){const i={best:{nearest:void 0,distanceSquared:1/0}};return this.root.find(e,t,i),i.best}},td=class{constructor(e,t,i,a){this.nw=e,this.ne=t,this.sw=i,this.se=a}addElem(e){this.nw.addElem(e),this.ne.addElem(e),this.sw.addElem(e),this.se.addElem(e)}find(e,t,i){this.nw.find(e,t,i),this.ne.find(e,t,i),this.sw.find(e,t,i),this.se.find(e,t,i)}},id=class{constructor(e,t,i){this.capacity=e,this.maxdepth=t,this.boundary=i??Ee.NaN,this.elems=[],this.subdivisions=void 0}clear(e){this.elems.length=0,this.boundary=e,this.subdivisions=void 0}addElem(e){this.addCondition(e)&&(void 0===this.subdivisions?0===this.maxdepth||this.elems.length<this.capacity?this.elems.push(e):this.subdivide(e):this.subdivisions.addElem(e))}find(e,t,i){this.findCondition(e,t,i)&&(void 0===this.subdivisions?this.findAction(e,t,i):this.subdivisions.find(e,t,i))}subdivide(e){this.subdivisions=this.makeSubdivisions();for(const e of this.elems)this.subdivisions.addElem(e);this.subdivisions.addElem(e),this.elems.length=0}makeSubdivisions(){const{x:e,y:t,width:i,height:a}=this.boundary,{capacity:n}=this,r=this.maxdepth-1,o=i/2,s=a/2,l=new Ee(e,t,o,s),c=new Ee(e+o,t,o,s),d=new Ee(e,t+s,o,s),h=new Ee(e+o,t+s,o,s);return new td(this.child(n,r,l),this.child(n,r,c),this.child(n,r,d),this.child(n,r,h))}},ad=class e extends id{addCondition(e){const{x:t,y:i}=e.hitTester.midPoint;return this.boundary.containsPoint(t,i)}findCondition(e,t,i){const{best:a}=i;return 0!==a.distanceSquared&&this.boundary.distanceSquared(e,t)<a.distanceSquared}findAction(e,t,i){const a=pe(e,t,this.elems,i.best.distanceSquared);void 0!==a.nearest&&a.distanceSquared<i.best.distanceSquared&&(i.best=a)}child(t,i,a){return new e(t,i,a)}},nd=class extends Es{constructor(){super(...arguments),this.x=0,this.y=0,this.size=12}computeBBox(){const{x:e,y:t,size:i}=this,{center:a}=this.constructor;return new Ee(e-i*a.x,t-i*a.y,i,i)}computeTransformedBBox(){return super.computeTransformedBBox()}applyPath(e,t){const{path:i}=this;let{x:a,y:n}=this;null!=this.repeat&&(a=0,n=0),i.clear();for(const{x:r,y:o,t:s}of t)a+=r*e,n+=o*e,"move"===s?i.moveTo(a,n):i.lineTo(a,n);i.closePath()}executeFill(e,t){if(!t)return;if(null==this.repeat)return super.executeFill(e,t);e.save();let i=this.translationX,a=this.translationY;for(const n of this.repeat)e.translate(n.x-i,n.y-a),e.fill(t),i=n.x,a=n.y;e.restore()}executeStroke(e,t){if(!t)return;if(null==this.repeat)return super.executeStroke(e,t);e.save();let i=this.translationX,a=this.translationY;for(const n of this.repeat)e.translate(n.x-i,n.y-a),e.stroke(t),i=n.x,a=n.y;e.restore()}};nd.center={x:.5,y:.5},c([As()],nd.prototype,"x",2),c([As()],nd.prototype,"y",2),c([As({convertor:Math.abs})],nd.prototype,"size",2),c([As()],nd.prototype,"repeat",2);var rd=class extends nd{updatePath(){const{x:e,y:t,path:i,size:a}=this,n=a/2;i.clear(),i.arc(e,t,n,0,2*Math.PI),i.closePath()}};rd.className="Circle";var od=class e extends nd{updatePath(){const t=this.size/4.2;super.applyPath(t,e.moves)}};od.className="Cross",od.moves=[{x:-1,y:0,t:"move"},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1},{x:1,y:1},{x:-1,y:1},{x:-1,y:-1},{x:-1,y:1},{x:-1,y:-1}];var sd=od,ld=class e extends nd{updatePath(){const t=this.size/2;super.applyPath(t,e.moves)}};ld.className="Diamond",ld.moves=[{x:0,y:-1,t:"move"},{x:1,y:1},{x:-1,y:1},{x:-1,y:-1},{x:1,y:-1}];var cd=ld,dd=class extends nd{rad(e){return e/180*Math.PI}updatePath(){const{x:e,path:t,size:i,rad:a}=this,n=i/4,r=this.y+n/2;t.clear(),t.arc(e-n,r-n,n,a(130),a(330)),t.arc(e+n,r-n,n,a(220),a(50)),t.lineTo(e,r+n),t.closePath()}};dd.className="Heart";var hd=class extends nd{updatePath(){const{path:e,x:t,y:i}=this,a=this.size,n=.5;e.clear(),e.moveTo(t+-.34375*a,i+-.65625*a),e.cubicCurveTo(t+-.34375*a,i+-.848509*a,t+-.192259*a,i+-1*a,t+0*a,i+-1*a),e.cubicCurveTo(t+(.692259-n)*a,i+-1*a,t+.34375*a,i+-.848509*a,t+.34375*a,i+-.65625*a),e.cubicCurveTo(t+.34375*a,i+-.506176*a,t+.284625*a,i+(.600181-1)*a,t+(.716461-n)*a,i+(.695393-1)*a),e.cubicCurveTo(t+.199009*a,i+-.280231*a,t+(.681271-n)*a,i+-.256896*a,t+(.663785-n)*a,i+(.766105-1)*a),e.cubicCurveTo(t+(.611893-n)*a,i+(.834367-1)*a,t+(.562228-n)*a,i+(.899699-1)*a,t+(.528896-n)*a,i+(.980648-1)*a),e.cubicCurveTo(t+(.524075-n)*a,i+(.992358-1)*a,t+(.512663-n)*a,i+0*a,t+0*a,i+0*a),e.cubicCurveTo(t+(.487337-n)*a,i+0*a,t+(.475925-n)*a,i+(.992358-1)*a,t+(.471104-n)*a,i+(.980648-1)*a),e.cubicCurveTo(t+(.487337-n)*a,i+0*a,t+(.475925-n)*a,i+(.992358-1)*a,t+(.471104-n)*a,i+(.980648-1)*a),e.cubicCurveTo(t+(.437772-n)*a,i+(.899699-1)*a,t+(.388107-n)*a,i+(.834367-1)*a,t+(.336215-n)*a,i+(.766105-1)*a),e.cubicCurveTo(t+(.318729-n)*a,i+-.256896*a,t+-.199009*a,i+-.280231*a,t+(.283539-n)*a,i+(.695393-1)*a),e.cubicCurveTo(t+-.284625*a,i+(.600181-1)*a,t+-.34375*a,i+-.506176*a,t+-.34375*a,i+-.65625*a),e.closePath()}};hd.className="MapPin",hd.center={x:.5,y:1};var ud=class e extends nd{updatePath(){const t=this.size/3;super.applyPath(t,e.moves)}};ud.className="Plus",ud.moves=[{x:-.5,y:-.5,t:"move"},{x:0,y:-1},{x:1,y:0},{x:0,y:1},{x:1,y:0},{x:0,y:1},{x:-1,y:0},{x:0,y:1},{x:-1,y:0},{x:0,y:-1},{x:-1,y:0},{x:0,y:-1}];var gd=ud,pd=class extends nd{updatePath(){const{path:e,x:t,y:i}=this,a=this.size/2;e.clear(),e.moveTo(this.align(t-a),this.align(i-a)),e.lineTo(this.align(t+a),this.align(i-a)),e.lineTo(this.align(t+a),this.align(i+a)),e.lineTo(this.align(t-a),this.align(i+a)),e.closePath()}};pd.className="Square";var md=class extends nd{updatePath(){const{x:e,y:t,path:i,size:a}=this,n=a/2,r=Math.PI/2;i.clear();for(let o=0;o<10;o++){const s=o%2==0?a:n,l=o*Math.PI/5-r,c=e+Math.cos(l)*s,d=t+Math.sin(l)*s;i.lineTo(c,d)}i.closePath()}};md.className="Star";var fd=class e extends nd{updatePath(){const t=1.1*this.size;super.applyPath(t,e.moves)}};fd.className="Triangle",fd.moves=[{x:0,y:-.48,t:"move"},{x:.5,y:.87},{x:-1,y:0}];var vd=fd,yd={circle:rd,cross:sd,diamond:cd,heart:dd,pin:hd,plus:gd,square:pd,star:md,triangle:vd},bd=Object.keys(yd);function Cd(e){return"string"==typeof e&&bd.includes(e)}function wd(e=pd){return Cd(e)?yd[e]:"function"==typeof e?e:pd}var Sd=class extends Uc{constructor(){super(...arguments),this.showFocusBox=!0}getScaleInformation({xScale:e,yScale:t}){return{isContinuousX:fa.is(e),isContinuousY:fa.is(t),xScaleType:e?.type,yScaleType:t?.type}}getModulePropertyDefinitions(){const e=this.axes.x?.scale,t=this.axes.y?.scale;return this.moduleMap.mapModules((i=>i.getPropertyDefinitions(this.getScaleInformation({xScale:e,yScale:t})))).flat()}async requestDataModel(e,t,i){i.props.push(...this.getModulePropertyDefinitions());const{dataModel:a,processedData:n}=await e.request(this.id,t??[],i);return this.dataModel=a,this.processedData=n,this.dispatch("data-processed",{dataModel:a,processedData:n}),{dataModel:a,processedData:n}}isProcessedDataAnimatable(){const e=this.processedData?.reduced?.animationValidation;if(!e)return!0;const{orderedKeys:t,uniqueKeys:i}=e;return t&&i}checkProcessedDataAnimatable(){this.isProcessedDataAnimatable()||this.ctx.animationManager.skipCurrentBatch()}pickFocus(e){const t=this.getNodeData();if(void 0===t||0===t.length)return;const i=this.computeFocusDatumIndex(e,t);if(void 0===i)return;const{showFocusBox:a}=this,n=t[i],r={...e,datumIndex:i},o=this.computeFocusBounds(r);return void 0!==o?{bounds:o,showFocusBox:a,datum:n,datumIndex:i}:void 0}computeFocusDatumIndex(e,t){const i=e=>{const{missing:i=!1,enabled:a=!0}=t[e];return!i&&a},a=e=>{for(;e>=0&&!i(e);)e--;return-1===e?void 0:e},n=e=>{for(;e<t.length&&!i(e);)e++;return e===t.length?void 0:e};let r;const o=fe(0,e.datumIndex,t.length-1);return e.datumIndexDelta<0?r=a(o):e.datumIndexDelta>0?r=n(o):(r??(r=n(o)),r??(r=a(o))),void 0===r?0===e.datumIndexDelta?void 0:e.datumIndex-e.datumIndexDelta:r}},xd=class extends Mt{constructor(){super(...arguments),this.fill="rgba(255,255,255, 0.33)",this.stroke="rgba(0, 0, 0, 0.4)",this.strokeWidth=2}};c([mi(Gi,{optional:!0})],xd.prototype,"fill",2),c([mi(Di,{optional:!0})],xd.prototype,"fillOpacity",2),c([mi(Gi,{optional:!0})],xd.prototype,"stroke",2),c([mi(Ri,{optional:!0})],xd.prototype,"strokeWidth",2),c([mi(Di,{optional:!0})],xd.prototype,"strokeOpacity",2),c([mi(ji,{optional:!0})],xd.prototype,"lineDash",2),c([mi(Ri,{optional:!0})],xd.prototype,"lineDashOffset",2);var kd=class extends Mt{};c([mi(Ri,{optional:!0})],kd.prototype,"strokeWidth",2),c([mi(Di,{optional:!0})],kd.prototype,"dimOpacity",2),c([mi(wi,{optional:!0})],kd.prototype,"enabled",2);var Md=class extends Mt{constructor(){super(...arguments),this.color="black"}};c([mi(Gi,{optional:!0})],Md.prototype,"color",2);var Rd=class extends Mt{constructor(){super(...arguments),this.item=new xd,this.series=new kd,this.text=new Md}};c([mi(bi)],Rd.prototype,"item",2),c([mi(bi)],Rd.prototype,"series",2),c([mi(bi)],Rd.prototype,"text",2);var Dd=class extends Mt{constructor(){super(...arguments),this.visible=!0,this.showInLegend=!0,this.cursor="default",this.nodeClickRange="exact",this.highlightStyle=new Rd}};c([mi(xi,{optional:!0})],Dd.prototype,"id",2),c([mi(wi)],Dd.prototype,"visible",2),c([mi(wi)],Dd.prototype,"showInLegend",2),c([mi(xi)],Dd.prototype,"cursor",2),c([mi(aa)],Dd.prototype,"nodeClickRange",2),c([mi(bi)],Dd.prototype,"highlightStyle",2);var Ad={x:["xKey"],y:["yKey"]},Ed={x:["xName"],y:["yName"]},Td=class extends _c{constructor(e,t,i,a){super(e,t,i,a),this.xKey=a.properties.xKey,this.yKey=a.properties.yKey}},Pd=class extends Dd{};c([mi(xi,{optional:!0})],Pd.prototype,"legendItemName",2);var Fd=class extends Sd{constructor({pathsPerSeries:e=1,hasMarkers:t=!1,hasHighlightedLabels:i=!1,pathsZIndexSubOrderOffset:a=[],datumSelectionGarbageCollection:n=!0,markerSelectionGarbageCollection:r=!0,animationAlwaysUpdateSelections:o=!1,animationResetFns:s,directionKeys:l,directionNames:c,...d}){if(super({directionKeys:l,directionNames:c,canHaveAxes:!0,...d}),this.NodeEvent=Td,this.dataNodeGroup=this.contentGroup.appendChild(new on({name:`${this.id}-series-dataNodes`,zIndex:4,zIndexSubOrder:this.getGroupZIndexSubOrder("data")})),this.markerGroup=this.contentGroup.appendChild(new on({name:`${this.id}-series-markers`,zIndex:4,zIndexSubOrder:this.getGroupZIndexSubOrder("marker")})),this.labelGroup=this.contentGroup.appendChild(new on({name:`${this.id}-series-labels`,zIndex:8,zIndexSubOrder:this.getGroupZIndexSubOrder("labels")})),this.labelSelection=Sr.select(this.labelGroup,Tn),this.highlightSelection=Sr.select(this.highlightNode,(()=>this.opts.hasMarkers?this.markerFactory():this.nodeFactory())),this.highlightLabelSelection=Sr.select(this.highlightLabel,Tn),this.annotationSelections=new Set,this.minRectsCache={dirtyNodeData:!0},this.debug=wr.create(),!l||!c)throw new Error(`Unable to initialise series type ${this.type}`);this.opts={pathsPerSeries:e,hasMarkers:t,hasHighlightedLabels:i,pathsZIndexSubOrderOffset:a,directionKeys:l,directionNames:c,animationResetFns:s,animationAlwaysUpdateSelections:o,datumSelectionGarbageCollection:n,markerSelectionGarbageCollection:r},this.paths=[];for(let t=0;t<e;t++)this.paths[t]=new Es,this.paths[t].zIndex=4,this.paths[t].zIndexSubOrder=this.getGroupZIndexSubOrder("paths",t),this.contentGroup.appendChild(this.paths[t]);this.datumSelection=Sr.select(this.dataNodeGroup,(()=>this.nodeFactory()),n),this.markerSelection=Sr.select(this.markerGroup,(()=>this.markerFactory()),r),this.animationState=new Gr("empty",{empty:{update:{target:"ready",action:e=>this.animateEmptyUpdateReady(e)},reset:"empty",skip:"ready",disable:"disabled"},ready:{updateData:"waiting",clear:"clearing",highlight:e=>this.animateReadyHighlight(e),highlightMarkers:e=>this.animateReadyHighlightMarkers(e),resize:e=>this.animateReadyResize(e),reset:"empty",skip:"ready",disable:"disabled"},waiting:{update:{target:"ready",action:e=>this.animateWaitingUpdateReady(e)},reset:"empty",skip:"ready",disable:"disabled"},disabled:{update:e=>this.resetAllAnimation(e),reset:"empty"},clearing:{update:{target:"empty",action:e=>this.animateClearingUpdateEmpty(e)},reset:"empty",skip:"ready"}},(()=>this.checkProcessedDataAnimatable()))}get contextNodeData(){return this._contextNodeData}getNodeData(){return this.contextNodeData?.nodeData}resetAnimation(e){"initial"===e?this.animationState.transition("reset"):"ready"===e?this.animationState.transition("skip"):"disabled"===e&&this.animationState.transition("disable")}addChartEventListeners(){this.destroyFns.push(this.ctx.chartEventManager.addListener("legend-item-click",(e=>this.onLegendItemClick(e))),this.ctx.chartEventManager.addListener("legend-item-double-click",(e=>this.onLegendItemDoubleClick(e))))}destroy(){super.destroy(),this._contextNodeData=void 0}async update({seriesRect:e}){const{visible:t,_contextNodeData:i}=this,a=this.ctx.highlightManager?.getActiveHighlight()?.series,n=a===this,r=this.checkResize(e),o=await this.updateHighlightSelection(n);await this.updateSelections(t),await this.updateNodes(o,n,t);const s=this.getAnimationData(e,i);s&&(r&&this.animationState.transition("resize",s),this.animationState.transition("update",s))}async updateSelections(e){var t;const i=!this.opts.animationAlwaysUpdateSelections&&this.ctx.animationManager.isSkipped();if((e||!i)&&(this.nodeDataRefresh||this.isPathOrSelectionDirty())){if(this.nodeDataRefresh){this.nodeDataRefresh=!1,this.debug("CartesianSeries.updateSelections() - calling createNodeData() for",this.id),this.markQuadtreeDirty(),this._contextNodeData=await this.createNodeData();const e=this.isProcessedDataAnimatable();this._contextNodeData&&((t=this._contextNodeData).animationValid??(t.animationValid=e)),this.minRectsCache.dirtyNodeData=!0;const{dataModel:i,processedData:a}=this;void 0!==i&&void 0!==a&&this.dispatch("data-update",{dataModel:i,processedData:a})}await this.updateSeriesSelections()}}async updateSeriesSelections(e){const{datumSelection:t,labelSelection:i,markerSelection:a,paths:n}=this,r=this._contextNodeData;if(!r)return;const{nodeData:o,labelData:s,itemId:l}=r;await this.updatePaths({seriesHighlighted:e,itemId:l,contextData:r,paths:n}),this.datumSelection=await this.updateDatumSelection({nodeData:o,datumSelection:t}),this.labelSelection=await this.updateLabelSelection({labelData:s,labelSelection:i}),this.opts.hasMarkers&&(this.markerSelection=await this.updateMarkerSelection({nodeData:o,markerSelection:a}))}markerFactory(){return new(wd())}getGroupZIndexSubOrder(e,t=0){const i=super.getGroupZIndexSubOrder(e,t);if("paths"===e){const[e]=i,a=this.opts.pathsZIndexSubOrderOffset[t]??0;i[0]=rt(e)?()=>Number(e())+a:Number(e)+a}return i}async updateNodes(e,t,i){const{highlightSelection:a,highlightLabelSelection:n,opts:{hasMarkers:r,hasHighlightedLabels:o}}=this,s=!this.ctx.animationManager.isSkipped(),l=this.visible&&null!=this._contextNodeData&&i;this.rootGroup.visible=s||l,this.contentGroup.visible=s||l,this.highlightGroup.visible=(s||l)&&t;const c=this.getOpacity();r?(await this.updateMarkerNodes({markerSelection:a,isHighlight:!0}),this.animationState.transition("highlightMarkers",a)):(await this.updateDatumNodes({datumSelection:a,isHighlight:!0}),this.animationState.transition("highlight",a)),o&&await this.updateLabelNodes({labelSelection:n});const{dataNodeGroup:d,markerGroup:h,datumSelection:u,labelSelection:g,markerSelection:p,paths:m,labelGroup:f}=this,{itemId:v}=this.contextNodeData??{};d.opacity=c,d.visible=s||l,f.visible=l,r&&(h.opacity=c,h.zIndex=d.zIndex>=4?d.zIndex:d.zIndex+1,h.visible=l),f&&(f.opacity=c),await this.updatePathNodes({seriesHighlighted:t,itemId:v,paths:m,opacity:c,visible:l,animationEnabled:s}),d.visible&&(await this.updateDatumNodes({datumSelection:u,highlightedItems:e,isHighlight:!1}),await this.updateLabelNodes({labelSelection:g}),r&&await this.updateMarkerNodes({markerSelection:p,isHighlight:!1}))}getHighlightLabelData(e,t){const i=e.filter((e=>e.datum===t.datum&&e.itemId===t.itemId));return 0===i.length?void 0:i}getHighlightData(e,t){return t?[t]:void 0}async updateHighlightSelection(e){const{highlightSelection:t,highlightLabelSelection:i,_contextNodeData:a}=this;if(!a)return;const n=this.ctx.highlightManager?.getActiveHighlight(),r=e&&n?.datum?n:void 0;let o,s;if(null!=r){const e=this.isLabelEnabled(),{labelData:t,nodeData:i}=a;s=this.getHighlightData(i,r),o=e?this.getHighlightLabelData(t,r):void 0}return this.highlightSelection=await this.updateHighlightSelectionItem({items:s,highlightSelection:t}),this.highlightLabelSelection=await this.updateHighlightSelectionLabel({items:o,highlightLabelSelection:i}),s}markQuadtreeDirty(){this.quadtree=void 0}*datumNodesIter(){for(const{node:e}of this.datumSelection)!0!==e.datum.missing&&(yield e)}getQuadTree(){if(void 0===this.quadtree){const{width:e,height:t}=this.ctx.scene.canvas,i=new Ee(0,0,e,t);this.quadtree=new ed(100,10,i),this.initQuadTree(this.quadtree)}return this.quadtree}initQuadTree(e){}pickNodeExactShape(e){const t=super.pickNodeExactShape(e);if(t)return t;const{x:i,y:a}=e,{opts:{hasMarkers:n}}=this;let r;const{dataNodeGroup:o,markerGroup:s}=this;if(r=o.pickNode(i,a),!r&&n&&(r=s?.pickNode(i,a)),r&&!0!==r.datum.missing)return{datum:r.datum,distance:0};for(const t of this.moduleMap.modules()){const{datum:i}=t.pickNodeExact(e)??{};if(null!=i&&!0!==i?.missing)return{datum:i,distance:0}}}pickNodeClosestDatum(e){const{x:t,y:i}=e,{axes:a,rootGroup:n,_contextNodeData:r}=this;if(!r)return;const o=a.x,s=a.y,l=n.transformPoint(t,i);let c,d=1/0;for(const e of r.nodeData){const{point:{x:t=NaN,y:i=NaN}={}}=e;if(isNaN(t)||isNaN(i))continue;if(!(o?.inRange(t)&&s?.inRange(i)))continue;const a=Math.max((l.x-t)**2+(l.y-i)**2,0);a<d&&(d=a,c=e)}for(const t of this.moduleMap.modules()){const i=t.pickNodeNearest(e);if(void 0!==i&&i.distanceSquared<d){d=i.distanceSquared,c=i.datum;break}}if(c){return{datum:c,distance:Math.max(Math.sqrt(d)-(c.point?.size??0),0)}}}pickNodeMainAxisFirst(e,t){const{x:i,y:a}=e,{axes:n,rootGroup:r,_contextNodeData:o}=this;if(!o)return;const s=n.x,l=n.y,c=[s,l].filter((e=>e instanceof Io)).map((e=>e.direction));if(t&&0===c.length)return;const[d="x"]=c,h=r.transformPoint(i,a),u="x"===d?[h.x,h.y]:[h.y,h.x],g=[1/0,1/0];let p;for(const e of o.nodeData){const{x:t=NaN,y:i=NaN}=e.point??e.midPoint??{};if(isNaN(t)||isNaN(i)||!0===e.missing)continue;if(!(s?.inRange(t)&&l?.inRange(i)))continue;const a="x"===d?[t,i]:[i,t];let n=!0;for(let e=0;e<a.length;e++){const t=Math.abs(a[e]-u[e]);if(t>g[e]){n=!1;break}t<g[e]&&(g[e]=t,g.fill(1/0,e+1,g.length))}n&&(p=e)}if(p){let t=Math.max(g[0]**2+g[1]**2-(p.point?.size??0),0);for(const i of this.moduleMap.modules()){const a=i.pickNodeMainAxisFirst(e);if(void 0!==a&&a.distanceSquared<t){p=a.datum,t=a.distanceSquared;break}}return{datum:p,distance:Math.sqrt(t)}}}onLegendItemClick(e){const{legendItemName:t}=this.properties,{enabled:i,itemId:a,series:n}=e,r=null!=t&&t===e.legendItemName;(n.id===this.id||r)&&this.toggleSeriesItem(a,i)}onLegendItemDoubleClick(e){const{enabled:t,itemId:i,series:a,numVisibleItems:n}=e,{legendItemName:r}=this.properties,o=null!=r&&r===e.legendItemName;a.id===this.id||o||t&&1===n?this.toggleSeriesItem(i,!0):this.toggleSeriesItem(i,!1)}isPathOrSelectionDirty(){return!1}getLabelData(){return[]}shouldFlipXY(){return!1}getMinRects(e,t){const{dirtyNodeData:i,sizeCache:a,minRect:n,minVisibleRect:r}=this.minRectsCache,o=JSON.stringify({width:e,height:t});if(!(o!==a)&&!i&&n&&r)return{minRect:n,minVisibleRect:r};const s=this.computeMinRects(e,t);return this.minRectsCache={dirtyNodeData:!1,sizeCache:o,minRect:s?.minRect,minVisibleRect:s?.minVisibleRect},s}computeMinRects(e,t){const i=this._contextNodeData;if(!i?.nodeData.length)return;const{nodeData:a}=i,n=Array(a.length),r=Array(a.length);for(const[e,{midPoint:t}]of a.entries())n[e]=t?.x??0,r[e]=t?.y??0;let o,s,l,c;n.sort(((e,t)=>e-t)),r.sort(((e,t)=>e-t));let d=0,h=0;for(let i=1;i<a.length;i++)n[i]>=0&&(o??(o=i)),n[i]>e&&(s??(s=i)),r[i]>=0&&(l??(l=i)),r[i]>t&&(c??(c=i)),d=Math.max(d,n[i]-n[i-1]),h=Math.max(h,r[i]-r[i-1]);s??(s=a.length),c??(c=a.length);const u=null!=o&&null!=s?n.slice(o,s):[],g=null!=l&&null!=c?r.slice(l,c):[];let p=0,m=0;for(let e=1;e<Math.max(u.length,g.length);e++){const t=u[e],i=u[e-1],a=g[e],n=g[e-1];null!=t&&null!=i&&(p=Math.max(p,t-i)),null!=a&&null!=n&&(m=Math.max(m,a-n))}return{minRect:new Ee(0,0,d,h),minVisibleRect:new Ee(0,0,p,m)}}updateHighlightSelectionItem(e){const{opts:{hasMarkers:t}}=this,{items:i,highlightSelection:a}=e,n=i??[];if(t){const e=a;return this.updateMarkerSelection({nodeData:n,markerSelection:e})}return this.updateDatumSelection({nodeData:n,datumSelection:a})}updateHighlightSelectionLabel(e){return this.updateLabelSelection({labelData:e.items??[],labelSelection:e.highlightLabelSelection})}async updateDatumSelection(e){return e.datumSelection}async updateDatumNodes(e){}async updateMarkerSelection(e){return e.markerSelection}async updateMarkerNodes(e){}async updatePaths(e){e.paths.forEach((e=>e.visible=!1))}async updatePathNodes(e){const{paths:t,opacity:i,visible:a}=e;for(const e of t)e.opacity=i,e.visible=a}resetAllAnimation(e){const{path:t,datum:i,label:a,marker:n}=this.opts?.animationResetFns??{};this.ctx.animationManager.stopByAnimationGroupId(this.id),t&&e.paths.forEach((e=>{cr([e],t)})),i&&cr([e.datumSelection],i),a&&cr([e.labelSelection],a),n&&this.opts.hasMarkers&&cr([e.markerSelection],n),!1===e.contextData?.animationValid&&this.ctx.animationManager.skipCurrentBatch()}animateEmptyUpdateReady(e){this.ctx.animationManager.skipCurrentBatch(),this.resetAllAnimation(e)}animateWaitingUpdateReady(e){this.ctx.animationManager.skipCurrentBatch(),this.resetAllAnimation(e)}animateReadyHighlight(e){const{datum:t}=this.opts?.animationResetFns??{};t&&cr([e],t)}animateReadyHighlightMarkers(e){const{marker:t}=this.opts?.animationResetFns??{};t&&cr([e],t)}animateReadyResize(e){this.resetAllAnimation(e)}animateClearingUpdateEmpty(e){this.ctx.animationManager.skipCurrentBatch(),this.resetAllAnimation(e)}animationTransitionClear(){const e=this.getAnimationData();e&&this.animationState.transition("clear",e)}getAnimationData(e,t){const{_contextNodeData:i}=this;if(!i)return;return{datumSelection:this.datumSelection,markerSelection:this.markerSelection,labelSelection:this.labelSelection,annotationSelections:[...this.annotationSelections],contextData:i,previousContextData:t,paths:this.paths,seriesRect:e}}calculateScaling(){const e={};for(const t of Object.values(ua)){const i=this.axes[t];if(i)if(i.scale instanceof hr){const{range:a,domain:n}=i.scale;e[t]={type:"log",convert:e=>i.scale.convert(e),domain:[n[0],n[1]],range:[a[0],a[1]]}}else if(i.scale instanceof fa){const{range:a}=i.scale,n=i.scale.getDomain();e[t]={type:"continuous",domain:[n[0],n[1]],range:[a[0],a[1]]}}else if(i.scale){const{domain:a}=i.scale;e[t]={type:"category",domain:a,range:a.map((e=>i.scale.convert(e)))}}}return e}},Id=["top","right","bottom","left"],Ld=class extends Jc{constructor(e,t){super(e,t),this.paired=!0,this.firstSeriesTranslation=!0,this._lastCrossLineIds=void 0,this._lastAxisAreaWidths=new Map,this._lastClipSeries=!1,this._lastVisibility={crossLines:!0,series:!0}}onAxisChange(e,t){super.onAxisChange(e,t),this.zoomManager.updateAxes(e)}destroySeries(e){super.destroySeries(e),this.firstSeriesTranslation=!0}async performLayout(){const e=await super.performLayout(),{firstSeriesTranslation:t,seriesRoot:i,annotationRoot:a,highlightRoot:n}=this,{animationRect:r,seriesRect:o,visibility:s,clipSeries:l}=this.updateAxes(e);this.seriesRoot.visible=s.series,this.seriesRect=o,this.animationRect=r;const{x:c,y:d}=o;if(t){for(const e of[i,a,n])e.translationX=Math.floor(c),e.translationY=Math.floor(d);this.firstSeriesTranslation=!1}else{const{translationX:e,translationY:t}=i;Jt(this.id,"seriesRect",this.ctx.animationManager,[i,n,a],{translationX:e,translationY:t},{translationX:Math.floor(c),translationY:Math.floor(d)},{phase:"update"})}const h=o.clone().grow(this.seriesArea.padding);this.hoverRect=h;const u=this.seriesArea.clip||l?h:void 0;i.setClipRectInGroupCoordinateSpace(u),n.setClipRectInGroupCoordinateSpace(u),a.setClipRectInGroupCoordinateSpace(u),this.ctx.layoutService.dispatchLayoutComplete({type:"layout-complete",chart:{width:this.ctx.scene.width,height:this.ctx.scene.height},clipSeries:l,series:{rect:o,paddedRect:h,visible:s.series,shouldFlipXY:this.shouldFlipXY()},axes:this.axes.map((e=>({id:e.id,...e.getLayoutState()})))});const g=this.modulesManager.mapModules((e=>e.performCartesianLayout?.({seriesRect:o})));return await Promise.all(g),e}updateAxes(e){const t=this.axes.flatMap((e=>e.crossLines??[])).map((e=>e.id));let i,a,n;null!=this._lastCrossLineIds&&this._lastCrossLineIds.length===t.length&&this._lastCrossLineIds.every(((e,i)=>t[i]===e))?(i=new Map(this._lastAxisAreaWidths.entries()),a=this._lastClipSeries,n={...this._lastVisibility}):(i=new Map,a=!1,n={crossLines:!0,series:!0},this._lastCrossLineIds=t);const r=new Set(this.axes.map((e=>e.position)));for(const e of i.keys())r.has(e)||i.delete(e);const o=(e,t,r)=>![...e.keys()].some((e=>!i.has(e)))&&(n.crossLines===r.crossLines&&n.series===r.series&&a===t&&[...i.entries()].every((([t,i])=>{const a=e.get(t);return null==i&&null==a||i===a}))),s=e=>{for(const[t,i]of e.entries())i&&Math.abs(i)===1/0?e.set(t,0):e.set(t,null!=i?Math.ceil(i):i);return e};let l=new Map,c={},d=!1,h=this.seriesRect?.clone(),u=0,g={};do{i=new Map(l.entries()),a=d,Object.assign(n,c);const t=this.updateAxesPass(i,e.clone(),h);if(l=s(t.axisAreaWidths),c=t.visibility,d=t.clipSeries,({seriesRect:h,primaryTickCounts:g}=t),u++>10){C.warn("unable to find stable axis layout.");break}}while(!o(l,d,c));this.axes.forEach((e=>{e.update(g[e.direction])}));return this.axes.forEach((t=>{if(t.setCrossLinesVisible(n.crossLines),h)switch(t.clipGrid(h.x,h.y,h.width+5,h.height+5),t.position){case"left":case"right":t.clipTickLines(e.x,h.y,e.width+5,h.height+5);break;case"top":case"bottom":t.clipTickLines(h.x,e.y,h.width+5,e.height+5)}})),this._lastAxisAreaWidths=i,this._lastVisibility=n,this._lastClipSeries=a,{seriesRect:h,animationRect:e,visibility:n,clipSeries:a}}updateAxesPass(e,t,i){const a=new Map,n=new Map,r={series:!0,crossLines:!0};let o=!1;const s={},l=this.applySeriesPadding(t),c=i?this.buildCrossLinePadding(e):{},d=this.buildAxisBound(l,e,c,r),h=this.buildSeriesRect(d,e);for(const e of this.axes){const{position:t="left"}=e,{clipSeries:i,axisThickness:r}=this.calculateAxisDimensions({axis:e,seriesRect:h,paddedBounds:l,primaryTickCounts:s,clipSeries:o});a.set(e.id,r),n.has(t)||n.set(t,[]),n.get(t)?.push(e),o=o||i}const u=new Map,g=new Map;for(const[e,t]of n.entries())u.set(e,this.calculateAxisArea(t,a,g));for(const[e,t]of n.entries())this.positionAxes({axes:t,position:e,axisWidths:a,axisOffsets:g,axisAreaWidths:u,axisBound:d,seriesRect:h});return{clipSeries:o,seriesRect:h,axisAreaWidths:u,visibility:r,primaryTickCounts:s}}buildCrossLinePadding(e){const t={};this.axes.forEach((e=>{e.crossLines?.forEach((e=>{e.calculatePadding?.(t)}))}));for(const[i,a=0]of Object.entries(t))t[i]=Math.max(a-(e.get(i)??0),0);return t}applySeriesPadding(e){const t=e.clone(),i=this.axes.slice().reverse();return Id.forEach((e=>{const a=this.seriesArea.padding[e],n=i.find((t=>t.position===e));n?n.seriesAreaPadding=a:t.shrink(a,e)})),t}buildAxisBound(e,t,i,a){const n=e.clone(),{top:r=0,right:o=0,bottom:s=0,left:l=0}=i,c=l+o,d=r+s,h=(t.get("left")??0)+(t.get("right")??0)+c,u=(t.get("top")??0)+(t.get("bottom")??0)+d;return n.width<=h||n.height<=u?(a.crossLines=!1,a.series=!1,n):(n.x+=l,n.y+=r,n.width-=c,n.height-=d,n)}buildSeriesRect(e,t){const i=e.clone();return i.x+=t.get("left")??0,i.y+=t.get("top")??0,i.width-=(t.get("left")??0)+(t.get("right")??0),i.height-=(t.get("top")??0)+(t.get("bottom")??0),i.width=Math.max(0,i.width),i.height=Math.max(0,i.height),i}clampToOutsideSeriesRect(e,t,i,a){const{x:n,y:r,width:o,height:s}=e,l=[n,r,n+o,r+s][("x"===i?0:1)+(1===a?0:2)];return(1===a?Math.min:Math.max)(t,l)}calculateAxisDimensions(e){const{axis:t,seriesRect:i,paddedBounds:a,primaryTickCounts:n}=e;let{clipSeries:r}=e;const{position:o="left",direction:s}=t;this.sizeAxis(t,i,o);let l=t.nice?n[s]:void 0;const c="y"===s;t.thickness?t.maxThickness=t.thickness:t.maxThickness=.3*(c?a.width:a.height);const d=t.calculateLayout(l);let h;return l=d.primaryTickCount,n[s]??(n[s]=l),r||(r=t.dataDomain.clipped||t.visibleRange[0]>0||t.visibleRange[1]<1),h=null!=t.thickness&&t.thickness>0?t.thickness:c?d.bbox.width:d.bbox.height,h=Math.ceil(h),{clipSeries:r,axisThickness:h,primaryTickCount:l}}sizeAxis(e,t,i){const a=e instanceof Io||e instanceof Uo,n="left"===i||"right"===i;let{min:r=0,max:o=1}=e.disableZoom?{}:this.ctx.zoomManager.getAxisZoom(e.id);const{width:s,height:l}=t,c=n?l:s;let d=0,h=c;const{width:u,unit:g,align:p}=e.layoutConstraints;h="px"===g?d+u:h*u/100,"end"===p&&(d=c-(h-d),h=c),a&&n?[r,o]=[1-o,1-r]:n&&([d,h]=[h,d]),e.range=[d,h],e.visibleRange=[r,o],e.gridLength=n?s:l}calculateAxisArea(e,t,i){let a=0,n=0;for(const r of e){i.set(r.id,n);const e=t.get(r.id)??0;a=Math.max(a,n+e),r.layoutConstraints.stacked&&(n+=e+15)}return a}positionAxes(e){const{axes:t,axisBound:i,axisWidths:a,axisOffsets:n,axisAreaWidths:r,seriesRect:o,position:s}=e,l=r.get(s)??0;let c="x",d="y",h=1,u=0;"top"!==s&&"bottom"!==s||(c="y",d="x",u+=1),u+=i[c],"right"!==s&&"bottom"!==s||(h=-1,u+="x"===c?i.width:i.height);for(const e of t){const t=r.get("x"===d?"left":"top")??0;e.translation[d]=i[d]+t;const s=a.get(e.id)??0,g=n.get(e.id)??0;e.translation[c]=this.clampToOutsideSeriesRect(o,u+h*(g+s),c,h),e.gridPadding=l-g-s,e.updatePosition()}}shouldFlipXY(){return!this.series.some((e=>!(e instanceof Fd&&e.shouldFlipXY())))}};Ld.className="CartesianChart",Ld.type="cartesian";var Nd=class e{constructor(e,t){this.factoryApi=t,this.chart=e}static isInstance(t){return t instanceof e||("AgChartInstanceProxy"===t.constructor?.name&&null!=t.chart||null!=t.chart&&this.validateImplementation(t))}static validateImplementation(e){const t=Object.keys(Object.getPrototypeOf(e)??{});return["getOptions","destroy"].every((e=>t.includes(e)))}async update(e){this.factoryApi.createOrUpdate(e,this),await this.chart.waitForUpdate()}async updateDelta(e){this.factoryApi.updateUserDelta(this,e),await this.chart.waitForUpdate()}getOptions(){const e=Tt(this.chart.getOptions());for(const t in e)t.startsWith("_")&&delete e[t];return e}waitForUpdate(){return this.chart.waitForUpdate()}async download(e){const t=await this.prepareResizedChart(this,e);try{t.chart.download(e?.fileName,e?.fileFormat)}finally{t.destroy()}}async getImageDataURL(e){const t=await this.prepareResizedChart(this,e);try{return t.chart.getCanvasDataURL(e?.fileFormat)}finally{t.destroy()}}getState(){return this.factoryApi.caretaker.save(this.chart.ctx.annotationManager)}async setState(e){this.factoryApi.caretaker.restore(e,this.chart.ctx.annotationManager),await this.chart.waitForUpdate()}resetAnimations(){this.chart.resetAnimations()}skipAnimations(){this.chart.skipAnimations()}destroy(){this.chart.destroy()}async prepareResizedChart({chart:e},t={}){const i=t.width??e.width??e.ctx.scene.canvas.width,a=t.height??e.height??e.ctx.scene.canvas.height,n=vt({container:document.createElement("div"),overrideDevicePixelRatio:1,width:i,height:a},Yo.hasEnterpriseModules()&&{animation:{enabled:!1}},e.getOptions()),r=await this.factoryApi.createOrUpdate(n);return r.chart.ctx.zoomManager.updateZoom("agChartV2",e.ctx.zoomManager.getZoom()),e.series.forEach(((e,t)=>{e.visible||(r.chart.series[t].visible=!1)})),e.update(0,{forceNodeDataRefresh:!0}),await r.waitForUpdate(),r}};Nd.chartInstances=new WeakMap,c([Nr({oldValue(e){Nd.chartInstances.delete(e)},newValue(e){Nd.chartInstances.set(e,this)}})],Nd.prototype,"chart",2);var Od=Nd,zd=class extends fa{constructor(){super([0,1],[0,1]),this.type="number"}toDomain(e){return e}ticks(){const e=this.tickCount??fa.defaultTickCount;if(!this.domain||this.domain.length<2||e<1||!this.domain.every(isFinite))return[];this.refresh();const[t,i]=this.getDomain();if(this.interval){const e=Math.abs(this.interval);if(!Za((i-t)/e,this.getPixelRange()))return $a(t,i,e)}return qa(t,i,e,this.minTickCount,this.maxTickCount)}update(){!this.domain||this.domain.length<2||this.nice&&this.updateNiceDomain()}getTickStep(e,t){return this.interval??Ka(e,t,this.tickCount,this.minTickCount,this.maxTickCount)}updateNiceDomain(){const e=this.tickCount;if(e<1)return void(this.niceDomain=[...this.domain]);let[t,i]=this.domain;if(1===e)[t,i]=function(e,t){const i=Math.abs(t-e),a=10**Math.floor(Math.log10(i));let n=1/0,r=[e,t];for(const o of _a){const s=o*a,l=Math.floor(e/s)*s,c=Math.ceil(t/s)*s,d=1-i/Math.abs(c-l);n>d&&(n=d,r=[l,c])}return r}(t,i);else{const e=t>i?Math.ceil:Math.floor,a=i<t?Math.floor:Math.ceil,n=4;for(let r=0;r<n;r++){const n=t,r=i,o=this.getTickStep(t,i),[s,l]=this.domain;if(o>=1)t=e(s/o)*o,i=a(l/o)*o;else{const n=1/o;t=e(s*n)/n,i=a(l*n)/n}if(t===n&&i===r)break}}this.niceDomain=[t,i]}tickFormat({ticks:e,specifier:t}){return Ya(e??this.ticks(),t)}};function Gd(e,t,i){let[a,n]=ye(e);a=function(e,t,i){const a=Math.abs(t-e)/(i-1),n=Math.floor(Math.log10(a)),r=Math.pow(10,n);return Math.floor(e/r)*r}(Math.floor(a),n,t);const r=function(e,t,i){const a=i-1,n=(t-e)/a;return function(e){const t=Math.floor(Math.log10(e)),i=Math.pow(10,t),a=e/i*10;if(a>0&&a<=1)return i/10;if(a>1&&a<=2)return 2*i/10;if(a>1&&a<=5)return 5*i/10;if(a>5&&a<=10)return 10*i/10;if(a>10&&a<=20)return 20*i/10;if(a>20&&a<=40)return 40*i/10;if(a>40&&a<=50)return 50*i/10;if(a>50&&a<=100)return 100*i/10;return a}(n)}(a,n,t);n=a+(t-1)*r;const o=i?[n,a]:[a,n],s=function(e,t,i){const a=Math.floor(Math.log10(t)),n=t>0&&t<1?Math.abs(a):0,r=Math.pow(10,n),o=[];for(let a=0;a<i;a++){const i=e+t*a;o[a]=Math.round(i*r)/r}return o}(a,r,t);return{domain:o,ticks:s}}var Bd=class extends Fo{constructor(e,t=new zd){super(e,t),this.min=NaN,this.max=NaN}normaliseDataDomain(e){const{min:t,max:i}=this,{extent:a,clipped:n}=Ca(e,t,i);return{domain:a,clipped:n}}updateSecondaryAxisTicks(e){if(null==this.dataDomain)throw new Error("AG Charts - dataDomain not calculated, cannot perform tick calculation.");if(0===this.dataDomain.domain.length)return[];const{domain:t,ticks:i}=Gd(this.dataDomain.domain,e??0,this.reverse);return this.scale.nice=!1,this.scale.domain=t,this.scale.update(),i}};Bd.className="NumberAxis",Bd.type="number",c([mi(vi(Ei,Ii("max"))),go(NaN)],Bd.prototype,"min",2),c([mi(vi(Ei,Li("min"))),go(NaN)],Bd.prototype,"max",2);var Vd=la((e=>dt(e)&&0!==e),"a non-zero number"),Hd=class extends Bd{constructor(e){super(e,new hr),this.min=NaN,this.max=NaN}normaliseDataDomain(e){const{min:t,max:i}=this,{extent:a,clipped:n}=Ca(e,t,i),r=a[0]>a[1],o=a[0]<0&&a[1]>0,s=0===a[0]&&0===a[1];return(r||o||s)&&(o?C.warn("the data domain crosses zero, the chart data cannot be rendered. See log axis documentation for more information."):s&&C.warn("the data domain has 0 extent, no data is rendered.")),0===a[0]&&(a[0]=1),0===a[1]&&(a[1]=-1),{domain:a,clipped:n}}set base(e){this.scale.base=e}get base(){return this.scale.base}};Hd.className="LogAxis",Hd.type="log",c([mi(vi(Ei,Vd,Ii("max"))),go(NaN)],Hd.prototype,"min",2),c([mi(vi(Ei,Vd,Li("min"))),go(NaN)],Hd.prototype,"max",2);var Wd=class extends Fo{constructor(e){super(e,new Xa),this.min=void 0,this.max=void 0}normaliseDataDomain(e){let{min:t,max:i}=this,a=!1;return"number"==typeof t&&(t=new Date(t)),"number"==typeof i&&(i=new Date(i)),e.length>2&&(e=(ya(e)??[0,1e3]).map((e=>new Date(e)))),t instanceof Date&&(a||(a=t>e[0]),e=[t,e[1]]),i instanceof Date&&(a||(a=i<e[1]),e=[e[0],i]),e[0]>e[1]&&(e=[]),{domain:e,clipped:a}}onFormatChange(e,t,i,a){a?super.onFormatChange(e,t,i,a):(this.labelFormatter=this.scale.tickFormat({ticks:e,domain:i}),this.datumFormatter=this.scale.tickFormat({ticks:e,domain:i,formatOffset:1}))}calculatePadding(){return[0,0]}};Wd.className="TimeAxis",Wd.type="time",c([mi(vi(Oi,Ii("max")),{optional:!0})],Wd.prototype,"min",2),c([mi(vi(Oi,Li("min")),{optional:!0})],Wd.prototype,"max",2);var _d=1e-6,qd=(e,t,i,a,n)=>{let r=!1,o=!1,s=a-Math.sqrt(Math.max(n**2-i**2,0)),l=0,c=0,d=i-Math.sqrt(Math.max(n**2-a**2,0));return s>e?(r=!0,s=e,l=i-Math.sqrt(Math.max(n**2-(a-e)**2))):s<_d&&(s=0),d>t?(o=!0,c=a-Math.sqrt(Math.max(n**2-(i-t)**2)),d=t):d<_d&&(d=0),{leading0:s,leading1:l,trailing0:c,trailing1:d,leadingClipped:r,trailingClipped:o}},Ud=(e,{x0:t,y0:i,x1:a,y1:n,cx:r,cy:o},s,l)=>{if(l&&e.moveTo(t,i),t!==a||i!==n){const l=Math.atan2(i-o,t-r),c=Math.atan2(n-o,a-r);e.arc(r,o,s,l,c)}else e.lineTo(t,i)},Kd=(e,t,i,a,n,r,o)=>{let{topLeft:s,topRight:l,bottomRight:c,bottomLeft:d}=r;const h=Math.max(s+d,l+c),u=Math.max(s+l,d+c);if(h<=0&&u<=0)return void(null==o?e.rect(t,i,a,n):e.rect(o.x,o.y,o.width,o.height));if(null==o&&s===l&&s===c&&s===d)return void e.roundRect(t,i,a,n,s);if(a<0&&(t+=a,a=Math.abs(a)),n<0&&(i+=n,n=Math.abs(n)),a<=0||n<=0)return;if(null==o)o=new Ee(t,i,a,n);else{const e=Math.max(t,o.x),r=Math.min(t+a,o.x+o.width),s=Math.max(i,o.y),l=Math.min(i+n,o.y+o.height);o=new Ee(e,s,r-e,l-s)}const g=Math.max(h/n,u/a,1);g>1&&(s/=g,l/=g,c/=g,d/=g);let p,m,f,v,y=!0,b=!0,C=!0,w=!0;if(y){const e=qd(o.height,o.width,Math.max(t+s-o.x,0),Math.max(i+s-o.y,0),s);e.leadingClipped&&(w=!1),e.trailingClipped&&(b=!1);p={x0:Math.max(o.x+e.leading1,o.x),y0:Math.max(o.y+e.leading0,o.y),x1:Math.max(o.x+e.trailing1,o.x),y1:Math.max(o.y+e.trailing0,o.y),cx:t+s,cy:i+s}}if(b){const e=qd(o.width,o.height,Math.max(i+l-o.y,0),Math.max(o.x+o.width-(t+a-l),0),l);e.leadingClipped&&(y=!1),e.trailingClipped&&(C=!1);m={x0:Math.min(o.x+o.width-e.leading0,o.x+o.width),y0:Math.max(o.y+e.leading1,o.y),x1:Math.min(o.x+o.width-e.trailing0,o.x+o.width),y1:Math.max(o.y+e.trailing1,o.y),cx:t+a-l,cy:i+l}}if(C){const e=qd(o.height,o.width,Math.max(o.x+o.width-(t+a-c),0),Math.max(o.y+o.height-(i+n-c),0),c);e.leadingClipped&&(b=!1),e.trailingClipped&&(w=!1);f={x0:Math.min(o.x+o.width-e.leading1,o.x+o.width),y0:Math.min(o.y+o.height-e.leading0,o.y+o.height),x1:Math.min(o.x+o.width-e.trailing1,o.x+o.width),y1:Math.min(o.y+o.height-e.trailing0,o.y+o.height),cx:t+a-c,cy:i+n-c}}if(w){const e=qd(o.width,o.height,Math.max(o.y+o.height-(i+n-d),0),Math.max(t+d-o.x,0),d);e.leadingClipped&&(C=!1),e.trailingClipped&&(y=!1);v={x0:Math.max(o.x+e.leading0,o.x),y0:Math.min(o.y+o.height-e.leading1,o.y+o.height),x1:Math.max(o.x+e.trailing0,o.x),y1:Math.min(o.y+o.height-e.trailing1,o.y+o.height),cx:t+d,cy:i+n-d}}let S=!1;y&&null!=p&&(Ud(e,p,s,!S),S||(S=!0)),b&&null!=m&&(Ud(e,m,l,!S),S||(S=!0)),C&&null!=f&&(Ud(e,f,c,!S),S||(S=!0)),w&&null!=v&&(Ud(e,v,d,!S),S||(S=!0)),e.closePath()},jd=class extends Es{constructor(){super(...arguments),this.borderPath=new Ds,this.x=0,this.y=0,this.width=10,this.height=10,this.topLeftCornerRadius=0,this.topRightCornerRadius=0,this.bottomRightCornerRadius=0,this.bottomLeftCornerRadius=0,this.clipBBox=void 0,this.crisp=!1,this.lastUpdatePathStrokeWidth=wn.defaultStyles.strokeWidth,this.effectiveStrokeWidth=wn.defaultStyles.strokeWidth,this.hittester=super.isPointInPath,this.distanceCalculator=super.distanceSquaredTransformedPoint,this.microPixelEffectOpacity=1}set cornerRadius(e){this.topLeftCornerRadius=e,this.topRightCornerRadius=e,this.bottomRightCornerRadius=e,this.bottomLeftCornerRadius=e}isDirtyPath(){return this.lastUpdatePathStrokeWidth!==this.strokeWidth||Boolean(this.path.isDirty()||this.borderPath.isDirty())}updatePath(){const{path:e,borderPath:t,crisp:i,topLeftCornerRadius:a,topRightCornerRadius:n,bottomRightCornerRadius:r,bottomLeftCornerRadius:o}=this;let{x:s,y:l,width:c,height:d,strokeWidth:h,clipBBox:u}=this;const g=1/(this.layerManager?.canvas.pixelRatio??1);let p=1;if(e.clear(!0),t.clear(!0),i&&(c<=g&&(p*=c/g),d<=g&&(p*=d/g),c=this.align(s,c),d=this.align(l,d),s=this.align(s),l=this.align(l),u=null!=u?new Ee(this.align(u.x),this.align(u.y),this.align(u.x,u.width),this.align(u.y,u.height)):void 0),h)if(c<g){const e=s+g/2;t.moveTo(e,l),t.lineTo(e,l+d),h=g,this.borderClipPath=void 0}else if(d<g){const e=l+g/2;t.moveTo(s,e),t.lineTo(s+c,e),h=g,this.borderClipPath=void 0}else if(h<c&&h<d){const i=h/2;s+=i,l+=i,c-=h,d-=h;const g=u?.clone().shrink(i),p={topLeft:a>0?a-h:0,topRight:n>0?n-h:0,bottomRight:r>0?r-h:0,bottomLeft:o>0?o-h:0};this.borderClipPath=void 0,c>0&&d>0&&(null==g||g?.width>0&&g?.height>0)&&(Kd(e,s,l,c,d,p,g),Kd(t,s,l,c,d,p,g))}else this.borderClipPath=this.borderClipPath??new Ds,this.borderClipPath.clear(!0),this.borderClipPath.rect(s,l,c,d),t.rect(s,l,c,d);else{const t={topLeft:a,topRight:n,bottomRight:r,bottomLeft:o};this.borderClipPath=void 0,Kd(e,s,l,c,d,t,u)}[a,n,r,o].every((e=>0===e))?(this.hittester=(e,t)=>{const i=this.transformPoint(e,t);return this.getCachedBBox().containsPoint(i.x,i.y)},this.distanceSquared=(e,t)=>this.getCachedBBox().distanceSquared(e,t)):(this.hittester=super.isPointInPath,this.distanceCalculator=super.distanceSquaredTransformedPoint),this.effectiveStrokeWidth=h,this.lastUpdatePathStrokeWidth=h,this.microPixelEffectOpacity=p}computeBBox(){const{x:e,y:t,width:i,height:a,clipBBox:n}=this;return n?.clone()??new Ee(e,t,i,a)}isPointInPath(e,t){return this.hittester(e,t)}get midPoint(){return{x:this.x+this.width/2,y:this.y+this.height/2}}distanceSquared(e,t){return this.distanceCalculator(e,t)}applyFillAlpha(e){const{fillOpacity:t,microPixelEffectOpacity:i,opacity:a}=this;e.globalAlpha*=a*t*i}renderStroke(e){const{stroke:t,effectiveStrokeWidth:i}=this;if(t&&i){const{globalAlpha:a}=e,{strokeOpacity:n,lineDash:r,lineDashOffset:o,lineCap:s,lineJoin:l,borderPath:c,borderClipPath:d,opacity:h,microPixelEffectOpacity:u}=this;d&&e.clip(d.getPath2D()),e.strokeStyle=t,e.globalAlpha*=h*n*u,e.lineWidth=i,r&&e.setLineDash(r),o&&(e.lineDashOffset=o),s&&(e.lineCap=s),l&&(e.lineJoin=l),e.stroke(c.getPath2D()),e.globalAlpha=a}}};jd.className="Rect",c([As()],jd.prototype,"x",2),c([As()],jd.prototype,"y",2),c([As()],jd.prototype,"width",2),c([As()],jd.prototype,"height",2),c([As()],jd.prototype,"topLeftCornerRadius",2),c([As()],jd.prototype,"topRightCornerRadius",2),c([As()],jd.prototype,"bottomRightCornerRadius",2),c([As()],jd.prototype,"bottomLeftCornerRadius",2),c([As()],jd.prototype,"clipBBox",2),c([As()],jd.prototype,"crisp",2);var Yd=class extends Ko{constructor(e){super(),this.node=new on({name:"background",zIndex:0}),this.rectNode=new jd,this.visible=!0,this.fill="white",this.node.appendChild(this.rectNode),this.destroyFns.push(e.scene.attachNode(this.node),e.layoutService.addListener("layout-complete",(e=>this.onLayoutComplete(e))))}onLayoutComplete(e){const{width:t,height:i}=e.chart;this.rectNode.width=t,this.rectNode.height=i}};c([mi(wi),Lr("node","visible")],Yd.prototype,"visible",2),c([mi(Gi,{optional:!0}),Lr("rectNode","fill")],Yd.prototype,"fill",2),c([mi(bi,{optional:!0})],Yd.prototype,"image",2);var $d={type:"root",optionsKey:"background",packageType:"community",chartTypes:["cartesian","polar","hierarchy","topology","flow-proportion"],instanceConstructor:Yd};function Zd(e,t,i,a){t.addEventListener(i,a),e.push((()=>t.removeEventListener(i,a)))}function Xd(e,t,i){Zd(e,t,"keydown",(e=>{"Escape"===e.key&&i(e)}))}function Qd(e,t,...i){return!(e.shiftKey||e.altKey||e.ctrlKey||e.metaKey)&&(e.key===t||i.some((t=>e.key===t)))}function Jd(e,t,i,a){i&&Zd(e,t,"keydown",(e=>{Qd(e,a)&&i.focus()}))}function eh(e,t,i,a,n,r){Jd(e,t,n,r),Jd(e,t,i,a),Zd(e,t,"keydown",(e=>{Qd(e,a,r)&&e.preventDefault()}))}var th={horizontal:{nextKey:"ArrowRight",prevKey:"ArrowLeft"},vertical:{nextKey:"ArrowDown",prevKey:"ArrowUp"}};function ih(e){const{orientation:t,toolbar:i,buttons:a,onEscape:n,onFocus:r,onBlur:o}=e,{nextKey:s,prevKey:l}=th[t],c=0===a.length;i.role="toolbar",i.ariaOrientation=t,i.ariaHidden=c.toString();const d=e=>{e.target&&"tabIndex"in e.target&&(a.forEach((e=>e.tabIndex=-1)),e.target.tabIndex=0)},h=[];for(let e=0;e<a.length;e++){const t=a[e-1],i=a[e],c=a[e+1];Zd(h,i,"focus",d),r&&Zd(h,i,"focus",r),o&&Zd(h,i,"blur",o),n&&Xd(h,i,n),eh(h,i,t,l,c,s),i.tabIndex=0===e?0:-1}return h}function ah(e){const{orientation:t,menu:i,buttons:a,onEscape:n}=e,{nextKey:r,prevKey:o}=th[t];i.role="menu",i.ariaOrientation=t;const s=[];for(let e=0;e<a.length;e++){const t=a[(a.length+e-1)%a.length],i=a[e],l=a[(a.length+e+1)%a.length];n&&Xd(s,i,n),eh(s,i,t,o,l,r),i.tabIndex=-1}return i.tabIndex=-1,n&&Xd(s,i,n),Zd(s,i,"keydown",(e=>{e.target!==i||e.key!==r&&e.key!==o||(e.preventDefault(),a[0]?.focus())})),s}function nh(e,t){return i=>{if("true"===e.ariaDisabled)return i.preventDefault();t(i)}}function rh({orientation:e,bboxes:t,maxHeight:i,maxWidth:a,itemPaddingY:n=0,itemPaddingX:r=0,forceResult:o=!1}){const s="horizontal"===e,l={max:s?a:i,fn:s?e=>e.width:e=>e.height,padding:s?r:n},c={max:s?i:a,fn:s?e=>e.height:e=>e.width,padding:s?n:r};let d=0;const h=[];for(;d<t.length;){const e=oh(t.slice(d),d,l,c,o);if(!e)return;d+=e.processedBBoxCount,h.push(e.pageIndices)}return function(e,t,i,a,n){let r=0,o=0;const s=e.map((e=>{"horizontal"===t&&(e=function(e){const t=[];for(const i of e[0])t.push([]);return e.forEach(((e,i)=>{e.forEach(((e,a)=>{t[a][i]=e}))})),t}(e));let s=0;const l=e.map((e=>{const t=e.map((e=>(s=Math.max(e,s),i[e])));let r=0,o=0;return t.forEach((e=>{r+=e.height+a,o=Math.max(o,e.width+n)})),{indices:e,bboxes:t,columnHeight:Math.ceil(r),columnWidth:Math.ceil(o)}}));let c=0,d=0;return l.forEach((e=>{c+=e.columnWidth,d=Math.max(d,e.columnHeight)})),r=Math.max(c,r),o=Math.max(d,o),{columns:l,startIndex:e[0][0],endIndex:s,pageWidth:c,pageHeight:d}}));return{pages:s,maxPageWidth:r,maxPageHeight:o}}(h,e,t,n,r)}function oh(e,t,i,a,n){let r=function(e,t){const i=e.length;let a=0;for(let n=0;n<i;n++)if(a+=t.fn(e[n])+t.padding,a>t.max){return i/n<2?Math.ceil(i/2):n}return i}(e,i);if(r<1){if(!n)return;r=1}let o=r;for(;o>=1;){const r=sh(e,t,o,i,a,n);if(null==r&&o<=1)return;if(null==r){o--;continue}if("number"==typeof r){if(r<=1)return;o=r<o&&r>1?r:o,o--;continue}return{processedBBoxCount:r.length*r[0].length,pageIndices:r}}}function sh(e,t,i,a,n,r){const o=[];let s=0,l=0,c=[];const d=[];for(let h=0;h<e.length;h++){const u=(h+i)%i;0===u&&(s+=l,l=0,c.length>0&&o.push(c),c=[]);const g=a.fn(e[h])+a.padding;d[u]=Math.max(d[u]??0,g),l=Math.max(l,n.fn(e[h])+n.padding);const p=s+l,m=!r||o.length>0;if(p>n.max&&m){c=[];break}if(d.reduce(((e,t)=>e+t),0)>a.max&&!r)return d.length<i?d.length:void 0;c.push(h+t)}return c.length>0&&o.push(c),o.length>0?o:void 0}var lh=class extends on{constructor(){super({name:"markerLabelGroup"}),this.label=new Tn,this.symbolsGroup=new on({name:"legend-markerLabel-symbols"}),this.pageIndex=NaN,this._markers=[],this._lines=[];const{markers:e,label:t,lines:i}=this;t.textBaseline="middle",t.fontSize=12,t.fontFamily="Verdana, sans-serif",t.fill="black",t.y=1,this.symbolsGroup.append([...i,...e]),this.append([this.symbolsGroup,t])}destroy(){super.destroy(),this.proxyButton?.remove()}set markers(e){wa(this._markers,e)||(this._markers.forEach((e=>{this.removeChild(e)})),this._markers=e,this._markers.forEach((e=>{this.symbolsGroup.appendChild(e)})))}get markers(){return this._markers}set lines(e){wa(this._lines,e)||(this._lines.forEach((e=>{this.removeChild(e)})),this._lines=e,this._lines.forEach((e=>{this.symbolsGroup.appendChild(e)})))}get lines(){return this._lines}update(e){const{markers:t,lines:i}=this;let a=0;for(let n=0;n<Math.max(t.length,i.length);n++){const{length:r,spacing:o}=e[n]??0,s=t[n],l=i[n],c=s?.size??0;if(s){const e=s.constructor.center;s.x=(e.x-.5)*c+r/2+a,s.y=(e.y-.5)*c}l&&(l.x1=a,l.x2=a+r,l.y1=0,l.y2=0,l.markDirtyTransform()),a+=o+Math.max(r,c)}const n=e.at(-1),r=this.lines.at(-1),o=this.markers.at(-1),s=r?.visible?r.x2:-1/0,l=(o?.x??0)+(o?.size??0)/2;if(this.label.x=Math.max(s,l)+(n?.spacing??0),e.length<2)return;const c=this.symbolsGroup.computeBBox(),d=Math.max(o?.size??0,n?.length??0),h=new Ee(c.x+d/2,c.y,d,c.height);this.symbolsGroup.setClipRectInGroupCoordinateSpace(h)}render(e){this.markers.forEach((e=>{e.opacity=this.opacity})),this.lines.forEach((e=>{e.opacity=this.opacity})),this.label.opacity=this.opacity,super.render(e)}};lh.className="MarkerLabel",c([Lr("label")],lh.prototype,"text",2),c([Lr("label")],lh.prototype,"fontStyle",2),c([Lr("label")],lh.prototype,"fontWeight",2),c([Lr("label")],lh.prototype,"fontSize",2),c([Lr("label")],lh.prototype,"fontFamily",2),c([Lr("label","fill")],lh.prototype,"color",2);var ch=class extends Mt{constructor(){super(...arguments),this.color="black",this.fontStyle=void 0,this.fontWeight=void 0,this.fontSize=12,this.fontFamily="Verdana, sans-serif"}};c([mi(Gi)],ch.prototype,"color",2),c([mi($i,{optional:!0})],ch.prototype,"fontStyle",2),c([mi(Zi,{optional:!0})],ch.prototype,"fontWeight",2),c([mi(Ri)],ch.prototype,"fontSize",2),c([mi(xi)],ch.prototype,"fontFamily",2);var dh=class extends Mt{constructor(){super(...arguments),this.size=15,this.fill=void 0,this.fillOpacity=void 0,this.stroke=void 0,this.strokeWidth=1,this.strokeOpacity=1}};c([mi(Ri)],dh.prototype,"size",2),c([mi(Gi,{optional:!0})],dh.prototype,"fill",2),c([mi(Di,{optional:!0})],dh.prototype,"fillOpacity",2),c([mi(Gi,{optional:!0})],dh.prototype,"stroke",2),c([mi(Ri)],dh.prototype,"strokeWidth",2),c([mi(Di)],dh.prototype,"strokeOpacity",2);var hh=class extends Mt{constructor(e){super(),this.parent=e,this.shape=vd,this.size=15,this.padding=8}};c([Nr({changeValue(){this.parent.marker===this&&this.parent.onMarkerShapeChange()}})],hh.prototype,"shape",2),c([mi(Ri)],hh.prototype,"size",2),c([mi(Ri)],hh.prototype,"padding",2);var uh=class extends Mt{constructor(e,t,i,a){super(),this.chartUpdateCallback=e,this.pageUpdateCallback=t,this.regionManager=i,this.cursorManager=a,this.id=de(this),this.marker=new hh(this),this.activeStyle=new dh,this.inactiveStyle=new dh,this.highlightStyle=new dh,this.label=new ch,this.group=new on({name:"pagination"}),this.labelNode=new Tn,this.destroyFns=[],this.totalPages=0,this.currentPage=0,this.translationX=0,this.translationY=0,this.nextButtonDisabled=!1,this.previousButtonDisabled=!1,this._visible=!0,this._enabled=!0,this._orientation="vertical",this._nextButton=new vd,this._previousButton=new vd,this.labelNode.setProperties({textBaseline:"middle",fontSize:12,fontFamily:"Verdana, sans-serif",fill:"black",y:1}),this.group.append([this.nextButton,this.previousButton,this.labelNode]);const n=this.regionManager.addRegion("pagination",this.group);this.destroyFns.push(n.addListener("click",(e=>this.onPaginationClick(e))),n.addListener("hover",(e=>this.onPaginationMouseMove(e)))),this.update(),this.updateMarkers()}destroy(){this.destroyFns.forEach((e=>e()))}set visible(e){this._visible=e,this.updateGroupVisibility()}get visible(){return this._visible}set enabled(e){this._enabled=e,this.updateGroupVisibility()}get enabled(){return this._enabled}updateGroupVisibility(){this.group.visible=this.enabled&&this.visible}set orientation(e){if(this._orientation=e,"horizontal"===e)this.previousButton.rotation=-Math.PI/2,this.nextButton.rotation=Math.PI/2;else this.previousButton.rotation=0,this.nextButton.rotation=Math.PI}get orientation(){return this._orientation}set nextButton(e){this._nextButton!==e&&(this.group.removeChild(this._nextButton),this._nextButton=e,this.group.appendChild(e))}get nextButton(){return this._nextButton}set previousButton(e){this._previousButton!==e&&(this.group.removeChild(this._previousButton),this._previousButton=e,this.group.appendChild(e))}get previousButton(){return this._previousButton}update(){this.updateLabel(),this.updatePositions(),this.enableOrDisableButtons()}updatePositions(){this.group.translationX=this.translationX,this.group.translationY=this.translationY,this.updateLabelPosition(),this.updateNextButtonPosition()}updateLabelPosition(){const{size:e,padding:t}=this.marker;this.nextButton.size=e,this.previousButton.size=e,this.labelNode.x=e/2+t}updateNextButtonPosition(){const e=this.labelNode.computeBBox();this.nextButton.translationX=e.x+e.width+this.marker.size/2+this.marker.padding}updateLabel(){const{currentPage:e,totalPages:t,labelNode:i,label:{color:a,fontStyle:n,fontWeight:r,fontSize:o,fontFamily:s}}=this;i.text=`${e+1} / ${t}`,i.fill=a,i.fontStyle=n,i.fontWeight=r,i.fontSize=o,i.fontFamily=s}updateMarkers(){const{nextButton:e,previousButton:t,nextButtonDisabled:i,previousButtonDisabled:a,activeStyle:n,inactiveStyle:r,highlightStyle:o,highlightActive:s}=this,l=(e,t)=>t?r:e===s?o:n;this.updateMarker(e,l("next",i)),this.updateMarker(t,l("previous",a))}updateMarker(e,t){const{size:i}=this.marker;e.size=i,e.fill=t.fill,e.fillOpacity=t.fillOpacity??1,e.stroke=t.stroke,e.strokeWidth=t.strokeWidth,e.strokeOpacity=t.strokeOpacity}enableOrDisableButtons(){const{currentPage:e,totalPages:t}=this,i=0===t,a=e===t-1,n=0===e;this.nextButtonDisabled=a||i,this.previousButtonDisabled=n||i}nextButtonContainsPoint(e,t){return!this.nextButtonDisabled&&this.nextButton.containsPoint(e,t)}previousButtonContainsPoint(e,t){return!this.previousButtonDisabled&&this.previousButton.containsPoint(e,t)}clickNext(){this.incrementPage(),this.onPaginationChanged()}clickPrevious(){this.decrementPage(),this.onPaginationChanged()}setPage(e){e=fe(0,e,this.totalPages-1),this.currentPage!==e&&(this.currentPage=e,this.onPaginationChanged())}onPaginationClick(e){const{offsetX:t,offsetY:i}=e;e.preventDefault(),this.nextButtonContainsPoint(t,i)?this.clickNext():this.previousButtonContainsPoint(t,i)&&this.clickPrevious()}onPaginationMouseMove(e){const{offsetX:t,offsetY:i}=e;this.nextButtonContainsPoint(t,i)?(this.cursorManager.updateCursor(this.id,"pointer"),this.highlightActive="next"):this.previousButtonContainsPoint(t,i)?(this.cursorManager.updateCursor(this.id,"pointer"),this.highlightActive="previous"):(this.cursorManager.updateCursor(this.id),this.highlightActive=void 0),this.updateMarkers(),this.chartUpdateCallback(6)}onPaginationChanged(){this.pageUpdateCallback(this.currentPage)}incrementPage(){this.currentPage=Math.min(this.currentPage+1,this.totalPages-1)}decrementPage(){this.currentPage=Math.max(this.currentPage-1,0)}onMarkerShapeChange(){const e=wd(this.marker.shape||vd);this.previousButton=new e,this.nextButton=new e,this.updatePositions(),this.updateMarkers(),this.chartUpdateCallback(6)}attachPagination(e){e.append(this.group)}computeBBox(){return this.group.computeBBox()}computeCSSBounds(){const e=this.group.computeTransformedBBox(),t=this._previousButton.computeTransformedBBox(),i=this._nextButton.computeTransformedBBox();return t.x-=e.x,t.y-=e.y,i.x-=e.x,i.y-=e.y,{group:e,prev:t,next:i}}};uh.className="Pagination",c([mi(bi)],uh.prototype,"marker",2),c([mi(bi)],uh.prototype,"activeStyle",2),c([mi(bi)],uh.prototype,"inactiveStyle",2),c([mi(bi)],uh.prototype,"highlightStyle",2),c([mi(bi)],uh.prototype,"label",2);var gh=class extends Mt{constructor(){super(...arguments),this.maxLength=void 0,this.color="black",this.fontStyle=void 0,this.fontWeight=void 0,this.fontSize=12,this.fontFamily="Verdana, sans-serif"}};c([mi(Ri,{optional:!0})],gh.prototype,"maxLength",2),c([mi(Gi)],gh.prototype,"color",2),c([mi($i,{optional:!0})],gh.prototype,"fontStyle",2),c([mi(Zi,{optional:!0})],gh.prototype,"fontWeight",2),c([mi(Ri)],gh.prototype,"fontSize",2),c([mi(xi)],gh.prototype,"fontFamily",2),c([mi(Si,{optional:!0})],gh.prototype,"formatter",2);var ph=class extends Mt{constructor(){super(...arguments),this.size=15,this.padding=8}};c([Or((e=>e.parent?.onMarkerShapeChange()))],ph.prototype,"shape",2),c([mi(Ri)],ph.prototype,"size",2),c([mi(Ri)],ph.prototype,"padding",2),c([mi(Ri,{optional:!0})],ph.prototype,"strokeWidth",2),c([mi(wi)],ph.prototype,"enabled",2);var mh=class extends Mt{};c([mi(Ri,{optional:!0})],mh.prototype,"strokeWidth",2),c([mi(Ri,{optional:!0})],mh.prototype,"length",2);var fh=class extends Mt{constructor(){super(...arguments),this.paddingX=16,this.paddingY=8,this.showSeriesStroke=!1,this.marker=new ph,this.label=new gh,this.line=new mh}};c([mi(Ri,{optional:!0})],fh.prototype,"maxWidth",2),c([mi(Ri)],fh.prototype,"paddingX",2),c([mi(Ri)],fh.prototype,"paddingY",2),c([mi(wi)],fh.prototype,"showSeriesStroke",2),c([mi(bi)],fh.prototype,"marker",2),c([mi(bi)],fh.prototype,"label",2),c([mi(bi)],fh.prototype,"line",2);var vh=class extends Mt{};c([mi(Si,{optional:!0})],vh.prototype,"legendItemClick",2),c([mi(Si,{optional:!0})],vh.prototype,"legendItemDoubleClick",2);var yh="legend-visibility",bh="legend-other-series",Ch=class extends Mt{constructor(e){super(),this.ctx=e,this.id=de(this),this.group=new on({name:"legend",layer:!0,zIndex:11}),this.itemSelection=Sr.select(this.group,lh),this.oldSize=[0,0],this.pages=[],this.maxPageSize=[0,0],this.paginationTrackingIndex=0,this.truncatedItems=new Set,this._data=[],this.toggleSeries=!0,this.item=new fh,this.listeners=new vh,this.enabled=!0,this.position="bottom",this.spacing=20,this.characterWidths=new Map,this.destroyFns=[],this.size=[0,0],this._visible=!0,this.item.marker.parent=this,this.pagination=new uh((t=>e.updateService.update(t)),(e=>this.updatePageNumber(e)),e.regionManager,e.cursorManager),this.pagination.attachPagination(this.group),e.contextMenuRegistry.registerDefaultAction({id:yh,type:"legend",label:"contextMenuToggleSeriesVisibility",action:e=>this.contextToggleVisibility(e)}),e.contextMenuRegistry.registerDefaultAction({id:bh,type:"legend",label:"contextMenuToggleOtherSeries",action:e=>this.contextToggleOtherSeries(e)});const{Default:t,Animation:i,ContextMenu:a}=ro,n=t|i,r=t|i|a,o=e.regionManager.addRegion("legend",this.group);this.destroyFns.push(o.addListener("contextmenu",(e=>this.checkContextClick(e)),r),o.addListener("click",(e=>this.checkLegendClick(e)),n),o.addListener("dblclick",(e=>this.checkLegendDoubleClick(e)),n),o.addListener("hover",(e=>this.handleLegendMouseMove(e))),o.addListener("leave",(e=>this.handleLegendMouseExit(e)),n),o.addListener("enter",(e=>this.handleLegendMouseEnter(e)),n),e.layoutService.addListener("start-layout",(e=>this.positionLegend(e))),(()=>this.detachLegend()),e.localeManager.addListener("locale-changed",(()=>this.onLocaleChanged()))),this.proxyLegendToolbar=this.ctx.proxyInteractionService.createProxyContainer({type:"toolbar",id:`${this.id}-toolbar`,classList:["ag-charts-proxy-legend-toolbar"],ariaLabel:{id:"ariaLabelLegend"},ariaOrientation:"horizontal"}),this.proxyLegendPagination=this.ctx.proxyInteractionService.createProxyContainer({type:"group",id:`${this.id}-pagination`,classList:["ag-charts-proxy-legend-pagination"],ariaLabel:{id:"ariaLabelLegendPagination"},ariaOrientation:"horizontal"})}set data(e){this._data=e,this.updateGroupVisibility()}get data(){return this._data}destroy(){this.ctx.domManager.removeChild("canvas-overlay",`${this.id}-toolbar`),this.ctx.domManager.removeChild("canvas-overlay",`${this.id}-pagination`),this.destroyFns.forEach((e=>e())),this.pagination.destroy(),this.itemSelection.clear()}initLegendItemToolbar(){this.itemSelection.each(((e,t,i)=>{e.proxyButton??(e.proxyButton=this.ctx.proxyInteractionService.createProxyElement({type:"button",id:`ag-charts-legend-item-${i}`,textContent:this.getItemAriaText(i),parent:this.proxyLegendToolbar,focusable:e,onclick:()=>{this.doClick(e.datum),e.proxyButton.textContent=this.getItemAriaText(i,!e.datum.enabled)},onblur:()=>this.doMouseExit(),onfocus:()=>{const t=e?.computeTransformedBBox(),i=jl(this.ctx.focusIndicator,{bounds:t,showFocusBox:!0});this.doHover(i,e.datum),this.pagination.setPage(e.pageIndex)}}))}));const e=this.itemSelection.nodes().map((e=>e.proxyButton)).filter((e=>!!e));ih({orientation:this.getOrientation(),buttons:e,toolbar:this.proxyLegendToolbar})}onMarkerShapeChange(){this.itemSelection.clear(),this.group.markDirty(this.group,2)}getOrientation(){if(void 0!==this.orientation)return this.orientation;switch(this.position){case"right":case"left":return"vertical";case"bottom":case"top":return"horizontal"}}getCharacterWidths(e){const{characterWidths:t}=this;if(t.has(e))return t.get(e);const i={"...":Tn.getTextSize("...",e).width};return t.set(e,i),i}set visible(e){this._visible=e,this.updateGroupVisibility()}get visible(){return this._visible}updateGroupVisibility(){this.group.visible=this.enabled&&this.visible&&this.data.length>0}attachLegend(e){e.appendChild(this.group)}detachLegend(){this.group.parent?.removeChild(this.group)}getItemLabel(e){const{ctx:{callbackCache:t}}=this,{formatter:i}=this.item.label;return i?t.call(i,{itemId:e.itemId,value:e.label.text,seriesId:e.seriesId}):e.label.text}calcLayout(e,t){const{paddingX:i,paddingY:a,label:n,maxWidth:r,label:{maxLength:o=1/0,fontStyle:s,fontWeight:l,fontSize:c,fontFamily:d}}=this.item,h=[...this.data];this.reverseOrder&&h.reverse();const u=0===this.itemSelection.nodes().length;this.itemSelection.update(h),u&&this.initLegendItemToolbar();const g=[],p=Pn(n),m=r??.8*e;if(this.itemSelection.each(((e,t)=>{e.fontStyle=s,e.fontWeight=l,e.fontSize=c,e.fontFamily=d;const i=this.updateMarkerLabel(e,t,this.calcMarkerWidth()),a=t.itemId??t.id,n=(this.getItemLabel(t)??"<unknown>").replace(/\r?\n/g," ");e.text=this.truncate(n,o,m,i,p,a),g.push(e.computeBBox())})),e=Math.max(1,e),t=Math.max(1,t),!isFinite(e))return{};const f=this.size,v=this.oldSize;f[0]=e,f[1]=t,f[0]===v[0]&&f[1]===v[1]||(v[0]=f[0],v[1]=f[1]);const{pages:y,maxPageHeight:b,maxPageWidth:C}=this.updatePagination(g,e,t),w=this.pages;this.pages=y,this.maxPageSize=[C-i,b-a];const S=this.pagination.currentPage,x=this.pages[S];return this.pages.length<1||!x?(this.visible=!1,{oldPages:w}):(this.visible=!0,this.updatePositions(S),this.update(),{oldPages:w})}calcSymbolsLengths(e){const{showSeriesStroke:t,marker:i,line:a}=this.item,n=i.enabled??(t&&(e.marker.enabled??!0)),r=n?i.size:0,o=!(!e.line||!t);return{markerEnabled:n,markerLength:r,lineEnabled:o,lineLength:o?a.length??25:0}}calcMarkerWidth(){let e=0;return this.itemSelection.each(((t,i)=>{i.symbols.forEach((t=>{const{lineLength:i,markerLength:a}=this.calcSymbolsLengths(t);e=Math.max(e,i,a)}))})),e}updateMarkerLabel(e,t,i){const{marker:a,paddingX:n}=this.item,r=[];let o=n;if(e.markers.length!==t.symbols.length&&e.lines.length!==t.symbols.length){const i=[],n=[];t.symbols.forEach((e=>{const{shape:t=e.marker.shape}=a,r=wd(t);n.push(new Rr),i.push(new r)})),e.markers=i,e.lines=n}return t.symbols.forEach(((t,n)=>{const s=t.marker.padding??a.padding,{markerEnabled:l,lineEnabled:c}=this.calcSymbolsLengths(t);e.markers[n].size=l||!c?a.size:0,r.push({length:i,spacing:s}),(l||c)&&(o+=s+i)})),e.update(r),o}truncate(e,t,i,a,n,r){const o=e.split("");let s=!1;e.length>t&&(e=`${e.substring(0,t)}`,s=!0);if(Math.floor(a+Tn.getTextSize(e,n).width)>i){let t="";const r=this.getCharacterWidths(n);let l=a+r["..."];for(const e of o){if(r[e]||(r[e]=Tn.getTextSize(e,n).width),l+=r[e],l>i)break;t+=e}e=t,s=!0}return s?(e+="...",this.truncatedItems.add(r)):this.truncatedItems.delete(r),e}updatePagination(e,t,i){const a=this.getOrientation(),n=Math.min(this.paginationTrackingIndex,e.length);this.pagination.orientation=a,this.pagination.translationX=0,this.pagination.translationY=0;const{pages:r,maxPageHeight:o,maxPageWidth:s,paginationBBox:l,paginationVertical:c}=this.calculatePagination(e,t,i),d=r.findIndex((e=>e.endIndex>=n));this.pagination.currentPage=fe(0,d,r.length-1);const{paddingX:h,paddingY:u}=this.item,g=s-h,p=o-u;let m=0,f=-l.y-this.item.marker.size/2;c?f+=p+8:(m+=-l.x+g+8,f+=(p-l.height)/2),this.pagination.translationX=m,this.pagination.translationY=f,this.pagination.update(),this.pagination.updateMarkers();let v=0;return this.itemSelection.each(((e,t,i)=>{i>(r[v]?.endIndex??1/0)&&v++,e.pageIndex=v})),{maxPageHeight:o,maxPageWidth:s,pages:r}}updatePaginationProxyButtons(e){this.proxyLegendPagination.style.display=this.pagination.visible?"absolute":"none";const t=(e?.length??this.pages.length)>1,i=this.pages.length>1;if(t!==i)if(i){this.proxyPrevButton=this.ctx.proxyInteractionService.createProxyElement({type:"button",id:`${this.id}-prev-page`,textContent:{id:"ariaLabelLegendPagePrevious"},tabIndex:0,parent:this.proxyLegendPagination,focusable:this.pagination.previousButton,onclick:()=>this.pagination.clickPrevious()}),this.proxyNextButton??(this.proxyNextButton=this.ctx.proxyInteractionService.createProxyElement({type:"button",id:`${this.id}-next-page`,textContent:{id:"ariaLabelLegendPageNext"},tabIndex:0,parent:this.proxyLegendPagination,focusable:this.pagination.nextButton,onclick:()=>this.pagination.clickNext()}));const{group:e,prev:t,next:i}=this.pagination.computeCSSBounds();br(this.proxyLegendPagination,e),br(this.proxyPrevButton,t),br(this.proxyNextButton,i)}else this.proxyNextButton?.remove(),this.proxyPrevButton?.remove(),[this.proxyNextButton,this.proxyPrevButton]=[void 0,void 0]}calculatePagination(e,t,i){const{paddingX:a,paddingY:n}=this.item,r=this.getOrientation(),o=["left","right"].includes(this.position);let s=this.pagination.computeBBox(),l=new Ee(0,0,0,0),c=[],d=0,h=0,u=0;const g=void 0!==this.maxWidth&&void 0!==this.maxHeight;do{if(u++>10){C.warn("unable to find stable legend layout.");break}s=l;const p=t-(o?0:s.width),m=rh({orientation:r,bboxes:e,maxHeight:i-(o?s.height:0),maxWidth:p,itemPaddingY:n,itemPaddingX:a,forceResult:g});c=m?.pages??[],d=m?.maxPageWidth??0,h=m?.maxPageHeight??0;const f=c.length;if(this.pagination.visible=f>1,this.pagination.totalPages=f,this.pagination.update(),l=this.pagination.computeBBox(),!this.pagination.visible)break}while((p=l).width!==s.width||p.height!==s.height);var p;return{maxPageWidth:d,maxPageHeight:h,pages:c,paginationBBox:s,paginationVertical:o}}updatePositions(e=0){const{item:{paddingY:t},itemSelection:i,pages:a}=this;if(a.length<1||!a[e])return;const{columns:n,startIndex:r,endIndex:o}=a[e];let s=0,l=0;const c=n.length,d=n[0].indices.length,h="horizontal"===this.getOrientation(),u=n[0].bboxes[0].height+t,g=[];i.each(((e,t,i)=>{if(i<r||i>o)return void(e.visible=!1);const a=i-r;let p=0,m=0;h?(p=a%c,m=Math.floor(a/c)):(p=Math.floor(a/d),m=a%d),e.visible=!0;const f=n[p];if(!f)return;l=Math.floor(u*m),s=Math.floor(g[m]??0),g[m]=(g[m]??0)+f.columnWidth,e.translationX=s,e.translationY=l;const{width:v,height:y}=e.computeBBox();br(e.proxyButton,{x:s,y:l,width:v,height:y})}))}updatePageNumber(e){const{pages:t}=this,{startIndex:i,endIndex:a}=t[e];0===i?this.paginationTrackingIndex=0:e===t.length-1?this.paginationTrackingIndex=a:this.paginationTrackingIndex=Math.floor((i+a)/2),this.pagination.update(),this.pagination.updateMarkers(),this.updatePositions(e),this.ctx.updateService.update(6)}update(){const{label:{color:e}}=this.item;this.itemSelection.each(((t,i)=>{i.symbols.forEach(((e,i)=>{const a=t.markers[i],n=t.lines[i];if(a){const{strokeWidth:t,fill:i,stroke:n,fillOpacity:r,strokeOpacity:o}=this.getMarkerStyles(e);a.fill=i,a.stroke=n,a.strokeWidth=t,a.fillOpacity=r,a.strokeOpacity=o}if(n){const t=this.getLineStyles(e);n.stroke=t.stroke,n.strokeOpacity=t.strokeOpacity,n.strokeWidth=t.strokeWidth,n.lineDash=t.lineDash}})),t.opacity=i.enabled?1:.5,t.color=e})),this.updateContextMenu()}updateContextMenu(){const{toggleSeries:e}=this;this.ctx.contextMenuRegistry.setActionVisiblity(yh,e),this.ctx.contextMenuRegistry.setActionVisiblity(bh,e)}getLineStyles(e){const{stroke:t,strokeOpacity:i=1,strokeWidth:a,lineDash:n}=e.line??{},r=Math.min(2,a??1);return{stroke:t,strokeOpacity:i,strokeWidth:this.item.line.strokeWidth??r,lineDash:n}}getMarkerStyles(e){const{fill:t,stroke:i,strokeOpacity:a=1,fillOpacity:n=1,strokeWidth:r}=e.marker,o=Math.min(2,r??1);return{fill:t,stroke:i,strokeOpacity:a,fillOpacity:n,strokeWidth:this.item.marker.strokeWidth??o}}getDatumForPoint(e,t){const i=[],a={dist:1/0,datum:void 0};for(const n of this.group.children){if(!n.visible)continue;if(!(n instanceof lh))continue;const r=n.computeBBox();if(r.grow(this.item.paddingX/2,"horizontal"),r.grow(this.item.paddingY/2,"vertical"),r.containsPoint(e,t))return n.datum;const o=e-r.x-this.item.paddingX/2,s=t-r.y-this.item.paddingY/2,l=o**2+s**2;o>=0&&s>=0&&l<a.dist&&(a.dist=l,a.datum=n.datum),i.push(r)}if(Ee.merge(i).containsPoint(e,t))return a.datum}computePagedBBox(){const e=this.group.computeBBox();if(this.pages.length<=1)return e;const[t,i]=this.maxPageSize;return e.height=Math.max(i,e.height),e.width=Math.max(t,e.width),e}contextToggleVisibility(e){const t=this.data.find((t=>t.itemId===e.itemId));this.doClick(t)}contextToggleOtherSeries(e){const t=this.data.find((t=>t.itemId===e.itemId));this.doDoubleClick(t)}checkContextClick(e){const t=this.getDatumForPoint(e.offsetX,e.offsetY);this.preventHidingAll&&this.contextMenuDatum?.enabled&&this.getVisibleItemCount()<=1?this.ctx.contextMenuRegistry.disableAction(yh):this.ctx.contextMenuRegistry.enableAction(yh),this.ctx.contextMenuRegistry.dispatchContext("legend",e,{legendItem:t})}checkLegendClick(e){const t=this.getDatumForPoint(e.offsetX,e.offsetY);this.doClick(t)&&e.preventDefault()}getVisibleItemCount(){return this.ctx.chartService.series.flatMap((e=>e.getLegendData("category"))).filter((e=>e.enabled)).length}doClick(e){const{listeners:{legendItemClick:t},ctx:{chartService:i,highlightManager:a},preventHidingAll:n,toggleSeries:r}=this;if(!e)return!1;const{id:o,itemId:s,enabled:l}=e,c=i.series.find((e=>e.id===o));if(!c)return!1;let d=l;if(r){if(d=!l,n&&!d){this.getVisibleItemCount()<2&&(d=!0)}const t=d?"ariaAnnounceVisible":"ariaAnnounceHidden";this.ctx.ariaAnnouncementService.announceValue(t),this.ctx.chartEventManager.legendItemClick(c,s,d,e.legendItemName)}return d?a.updateHighlight(this.id,{series:c,itemId:s,datum:void 0}):a.updateHighlight(this.id),this.ctx.updateService.update(2,{forceNodeDataRefresh:!0}),t?.({type:"click",enabled:d,itemId:s,seriesId:c.id}),!0}checkLegendDoubleClick(e){const t=this.getDatumForPoint(e.offsetX,e.offsetY);this.doDoubleClick(t)&&e.preventDefault()}doDoubleClick(e){const{listeners:{legendItemDoubleClick:t},ctx:{chartService:i},toggleSeries:a}=this;if("integrated"===i.mode)return!1;if(!e)return!1;const{id:n,itemId:r,seriesId:o}=e,s=i.series.find((e=>e.id===n));if(!s)return!1;if(a){const e=i.series.flatMap((e=>e.getLegendData("category"))),t=e.filter((e=>e.enabled)).length,a=e.find((e=>e.itemId===r&&e.seriesId===o));this.ctx.chartEventManager.legendItemDoubleClick(s,r,a?.enabled??!1,t,a?.legendItemName)}return this.ctx.updateService.update(2,{forceNodeDataRefresh:!0}),t?.({type:"dblclick",enabled:!0,itemId:r,seriesId:s.id}),!0}handleLegendMouseMove(e){if(!this.enabled)return;const{offsetX:t,offsetY:i}=e;e.preventDefault();const a=this.getDatumForPoint(t,i);this.doHover(e,a)}doHover(e,t){const{toggleSeries:i,listeners:a}=this;if(void 0===e||void 0===t)return this.ctx.cursorManager.updateCursor(this.id),void this.ctx.highlightManager.updateHighlight(this.id);const n=t?this.ctx.chartService.series.find((e=>e.id===t?.id)):void 0;if(t&&this.truncatedItems.has(t.itemId??t.id)){const{offsetX:i,offsetY:a}=e;this.ctx.tooltipManager.updateTooltip(this.id,{offsetX:i,offsetY:a,lastPointerEvent:e,showArrow:!1},Ur({content:this.getItemLabel(t)}))}else this.ctx.tooltipManager.removeTooltip(this.id);(i||null!=a.legendItemClick||null!=a.legendItemDoubleClick)&&this.ctx.cursorManager.updateCursor(this.id,"pointer"),t?.enabled&&n?this.ctx.highlightManager.updateHighlight(this.id,{series:n,itemId:t?.itemId,datum:void 0}):this.ctx.highlightManager.updateHighlight(this.id)}handleLegendMouseExit(e){this.doMouseExit()}doMouseExit(){this.ctx.cursorManager.updateCursor(this.id),this.ctx.tooltipManager.removeTooltip(this.id),16===this.ctx.interactionManager.getState()&&this.ctx.highlightManager.updateHighlight(this.id)}handleLegendMouseEnter(e){const{enabled:t,toggleSeries:i,listeners:{legendItemClick:a,legendItemDoubleClick:n}}=this,r=this.getDatumForPoint(e.offsetX,e.offsetY);t&&void 0!==r&&(i||null!=a||null!=n)&&this.ctx.cursorManager.updateCursor(this.id,"pointer")}onLocaleChanged(){this.itemSelection.each((({proxyButton:e},t,i)=>{null!=e&&(e.textContent=this.getItemAriaText(i))}))}getItemAriaText(e,t){const i=this.data[e],a=i&&this.getItemLabel(i);t??(t=i.enabled);const n=this.ctx.localeManager;if(e>=0&&a){const i=e+1,r=this.data.length;return[n.t("ariaLabelLegendItem",{label:a,index:i,count:r}),n.t(t?"ariaAnnounceVisible":"ariaAnnounceHidden")].join("")}return n.t("ariaLabelLegendItemUnknown")}positionLegend(e){const{shrinkRect:t}=e,i=t.clone();if(!this.enabled||!this.data.length)return{...e,shrinkRect:i};const[a,n]=this.calculateLegendDimensions(t);this.group.translationX=0,this.group.translationY=0;const{oldPages:r}=this.calcLayout(a,n),o=this.computePagedBBox(),s=()=>{switch(this.position){case"top":case"left":return 0;case"bottom":return t.height-o.height;default:return t.width-o.width}};if(this.visible){let e,a;switch(this.position){case"top":case"bottom":e=(t.width-o.width)/2,a=s(),i.shrink(o.height,this.position);break;default:e=s(),a=(t.height-o.height)/2,i.shrink(o.width,this.position)}this.group.translationX=Math.floor(-o.x+t.x+e),this.group.translationY=Math.floor(-o.y+t.y+a);const n=this.group.computeTransformedBBox();n&&(br(this.proxyLegendToolbar,n),this.proxyLegendToolbar.style.removeProperty("display")),this.proxyLegendToolbar.ariaOrientation=this.getOrientation()}else this.proxyLegendToolbar.style.display="none";if(this.updatePaginationProxyButtons(r),this.visible&&this.enabled&&this.data.length){const e=this.spacing;i.shrink(e,this.position);const t=o.clone();t.x+=this.group.translationX,t.y+=this.group.translationY}return{...e,shrinkRect:i}}calculateLegendDimensions(e){const{width:t,height:i}=e,a=t/i;let n,r;switch(this.position){case"top":case"bottom":const e=a<1?Math.min(.5,1/a*.2):.2;n=this.maxWidth?Math.min(this.maxWidth,t):t,r=this.maxHeight?Math.min(this.maxHeight,i):Math.round(i*e);break;default:const o=a>1?Math.min(.5,.25*a):.25;n=this.maxWidth?Math.min(this.maxWidth,t):Math.round(t*o),r=this.maxHeight?Math.min(this.maxHeight,i):i}return[n,r]}};Ch.className="Legend",c([mi(wi)],Ch.prototype,"toggleSeries",2),c([mi(bi)],Ch.prototype,"pagination",2),c([mi(bi)],Ch.prototype,"item",2),c([mi(bi)],Ch.prototype,"listeners",2),c([Or((e=>e.updateGroupVisibility())),mi(wi)],Ch.prototype,"enabled",2),c([mi(Yi)],Ch.prototype,"position",2),c([mi(Ri,{optional:!0})],Ch.prototype,"maxWidth",2),c([mi(Ri,{optional:!0})],Ch.prototype,"maxHeight",2),c([mi(wi,{optional:!0})],Ch.prototype,"reverseOrder",2),c([mi(ra(["horizontal","vertical"],"an orientation"),{optional:!0})],Ch.prototype,"orientation",2),c([mi(wi,{optional:!0})],Ch.prototype,"preventHidingAll",2),c([mi(Ri)],Ch.prototype,"spacing",2);var wh={type:"legend",optionsKey:"legend",identifier:"category",chartTypes:["cartesian","polar","hierarchy","topology","flow-proportion"],instanceConstructor:Ch,packageType:"community"},Sh=class extends Ko{constructor(e){super(),this.ctx=e,this.localeText=void 0}};c([Or((e=>{e.ctx.localeManager.setLocaleText(e.localeText)})),mi(Ci,{optional:!0})],Sh.prototype,"localeText",2),c([Or((e=>{e.ctx.localeManager.setLocaleTextFormatter(e.getLocaleText)})),mi(Si,{optional:!0})],Sh.prototype,"getLocaleText",2);var xh={type:"root",optionsKey:"locale",packageType:"community",chartTypes:["cartesian","polar","hierarchy","topology","flow-proportion"],instanceConstructor:Sh},kh=class extends Es{constructor(){super(...arguments),this.zIndex=3,this._fill="#f2f2f2",this._stroke="#999999",this._strokeWidth=1,this._lineCap="square",this._centerX=0,this._centerY=0,this._width=8,this._gripLineGap=2,this._gripLineLength=8,this._height=16}set centerX(e){this._centerX!==e&&(this._centerX=e,this.dirtyPath=!0)}get centerX(){return this._centerX}set centerY(e){this._centerY!==e&&(this._centerY=e,this.dirtyPath=!0)}get centerY(){return this._centerY}set width(e){this._width!==e&&(this._width=e,this.dirtyPath=!0)}get width(){return this._width}set gripLineGap(e){this._gripLineGap!==e&&(this._gripLineGap=e,this.dirtyPath=!0)}get gripLineGap(){return this._gripLineGap}set gripLineLength(e){this._gripLineLength!==e&&(this._gripLineLength=e,this.dirtyPath=!0)}get gripLineLength(){return this._gripLineLength}set height(e){this._height!==e&&(this._height=e,this.dirtyPath=!0)}get height(){return this._height}layout(e,t){this.centerX=e,this.centerY=t}static align(e,t,i,a,n,r,o,s){const l=e.strokeWidth/2,c=e.align(i+n*o)+l,d=c+e.align(i+n*o,n*(s-o))-2*l,h=e.align(a+r/2)+l;e.layout(c,h),t.layout(d,h)}computeBBox(){const{centerX:e,centerY:t,width:i,height:a}=this;return new Ee(e-i/2,t-a/2,i,a)}computeTransformedBBox(){return super.computeTransformedBBox()}isPointInPath(e,t){const i=this.transformPoint(e,t);return this.computeBBox().containsPoint(i.x,i.y)}updatePath(){const{centerX:e,centerY:t,path:i,strokeWidth:a,gripLineGap:n,gripLineLength:r}=this,o=this.layerManager?.canvas?.pixelRatio??1;i.clear();const s=Math.floor(this.width/2*o)/o,l=Math.floor(this.height/2*o)/o;i.moveTo(e-s,t-l),i.lineTo(e+s,t-l),i.lineTo(e+s,t+l),i.lineTo(e-s,t+l),i.closePath();const c=Math.floor((n+a)/2*o)/o,d=Math.floor(r/2*o)/o;i.moveTo(e-c,t-d),i.lineTo(e-c,t+d),i.moveTo(e+c,t-d),i.lineTo(e+c,t+d)}};kh.className="RangeHandle",c([mi(Gi)],kh.prototype,"_fill",2),c([mi(Gi)],kh.prototype,"_stroke",2),c([mi(Ri)],kh.prototype,"_strokeWidth",2),c([mi(Ui)],kh.prototype,"_lineCap",2),c([mi(Ri)],kh.prototype,"_width",2),c([mi(Ri)],kh.prototype,"_gripLineGap",2),c([mi(Ri)],kh.prototype,"_gripLineLength",2),c([mi(Ri)],kh.prototype,"_height",2);var Mh=class extends Es{constructor(){super(...arguments),this.zIndex=2,this.x=0,this.y=0,this.width=200,this.height=30,this.min=0,this.max=1}layout(e,t,i,a){this.x=e,this.y=t,this.width=i,this.height=a,this.dirtyPath=!0}update(e,t){this.min=isNaN(e)?this.min:e,this.max=isNaN(t)?this.max:t,this.dirtyPath=!0}computeBBox(){const{x:e,y:t,width:i,height:a}=this;return new Ee(e,t,i,a)}computeVisibleRangeBBox(){const{x:e,y:t,width:i,height:a,min:n,max:r}=this,o=e+i*n;return new Ee(o,t,e+i*r-o,a)}updatePath(){const{path:e,x:t,y:i,width:a,height:n,min:r,max:o,strokeWidth:s}=this,l=s/2;e.clear();const c=this.align(t)+l,d=this.align(i)+l,h=c+this.align(t,a)-2*l,u=d+this.align(i,n)-2*l;e.moveTo(c,d),e.lineTo(h,d),e.lineTo(h,u),e.lineTo(c,u),e.closePath();const g=this.align(t+a*r)+l,p=g+this.align(t+a*r,a*(o-r))-2*l;e.moveTo(g,d),e.lineTo(g,u),e.lineTo(p,u),e.lineTo(p,d),e.closePath()}};Mh.className="RangeMask";var Rh=class extends on{constructor(e){super({name:"rangeSelectorGroup",layer:!0,zIndex:12}),this.x=0,this.y=0,this.width=200,this.height=30,this.lOffset=0,this.rOffset=0,this.isContainerNode=!0,this.background=new on({name:"navigator-background"}),this.background.zIndex=1,this.appendChild(this.background),this.append(e)}layout(e,t,i,a,n,r){this.x=e,this.y=t,this.width=i,this.height=a,this.lOffset=n,this.rOffset=r,this.background.translationX=e,this.background.translationY=t}updateBackground(e,t){null!=e&&this.background.removeChild(e),null!=t&&this.background.appendChild(t)}computeBBox(){const{x:e,y:t,width:i,height:a,lOffset:n,rOffset:r}=this;return new Ee(e-n,t,i+(n+r),a)}},Dh=class extends Ko{constructor(e){super(),this.ctx=e,this.miniChart=void 0,this.enabled=!1,this.mask=new Mh,this.minHandle=new kh,this.maxHandle=new kh,this.maskVisibleRange={computeBBox:()=>this.mask.computeVisibleRangeBBox(),computeTransformedBBox:()=>this.mask.computeVisibleRangeBBox()},this.height=30,this.spacing=10,this.x=0,this.y=0,this.width=0,this.rangeSelector=new Rh([this.mask,this.minHandle,this.maxHandle]),this._min=0,this._max=1,this.minRange=.001;const t=e.regionManager.addRegion("navigator",this.rangeSelector);this.destroyFns.push(e.scene.attachNode(this.rangeSelector),t.addListener("hover",(e=>this.onHover(e)),25),t.addListener("drag-start",(e=>this.onDragStart(e)),25),t.addListener("drag",(e=>this.onDrag(e)),25),t.addListener("drag-end",(()=>this.onDragEnd()),25),t.addListener("leave",(e=>this.onLeave(e)),25),this.ctx.localeManager.addListener("locale-changed",(()=>this.updateZoom())),e.zoomManager.addListener("zoom-change",(e=>this.onZoomChange(e)))),this.proxyNavigatorToolbar=this.ctx.proxyInteractionService.createProxyContainer({type:"toolbar",id:"navigator-toolbar",classList:["ag-charts-proxy-navigator-toolbar"],ariaOrientation:"vertical",ariaLabel:{id:"ariaLabelNavigator"}}),this.updateGroupVisibility(),this.proxyNavigatorElements=[this.ctx.proxyInteractionService.createProxyElement({type:"slider",id:"ag-charts-navigator-min",ariaLabel:{id:"ariaLabelNavigatorMinimum"},ariaOrientation:"horizontal",parent:this.proxyNavigatorToolbar,focusable:this.minHandle,onchange:e=>this.onMinSliderChange(e)}),this.ctx.proxyInteractionService.createProxyElement({type:"slider",id:"ag-charts-navigator-pan",ariaLabel:{id:"ariaLabelNavigatorRange"},ariaOrientation:"horizontal",parent:this.proxyNavigatorToolbar,focusable:this.maskVisibleRange,onchange:e=>this.onPanSliderChange(e)}),this.ctx.proxyInteractionService.createProxyElement({type:"slider",id:"ag-charts-navigator-max",ariaLabel:{id:"ariaLabelNavigatorMaximum"},ariaOrientation:"horizontal",parent:this.proxyNavigatorToolbar,focusable:this.maxHandle,onchange:e=>this.onMaxSliderChange(e)})],ih({orientation:"vertical",toolbar:this.proxyNavigatorToolbar,buttons:this.proxyNavigatorElements}),this.destroyFns.push((()=>{this.proxyNavigatorElements.forEach((e=>e.remove())),this.proxyNavigatorToolbar.remove()}))}updateBackground(e,t){this.rangeSelector?.updateBackground(e,t)}updateGroupVisibility(){const{enabled:e}=this;null!=this.rangeSelector&&e!==this.rangeSelector.visible&&(this.rangeSelector.visible=e,e?this.updateZoom():this.ctx.zoomManager.updateZoom("navigator"))}async performLayout(e){const{shrinkRect:t}=e;if(this.enabled){const e=this.height+this.spacing;t.shrink(e,"bottom"),this.y=t.y+t.height+this.spacing}else this.y=0;return{...e,shrinkRect:t}}async performCartesianLayout(e){const{x:t,width:i}=e.seriesRect;if(this.enabled){const{y:e,height:a}=this;this.layoutNodes(t,e,i,a),br(this.proxyNavigatorToolbar,{x:t,y:e,width:i,height:a}),this.proxyNavigatorToolbar.style.removeProperty("display")}else this.proxyNavigatorToolbar.style.display="none";this.x=t,this.width=i}onHover(e){if(!this.enabled)return;const{mask:t,minHandle:i,maxHandle:a}=this,{offsetX:n,offsetY:r}=e;i.containsPoint(n,r)||a.containsPoint(n,r)?this.ctx.cursorManager.updateCursor("navigator","ew-resize"):t.computeVisibleRangeBBox().containsPoint(n,r)?this.ctx.cursorManager.updateCursor("navigator","grab"):this.ctx.cursorManager.updateCursor("navigator")}onDragStart(e){if(!this.enabled)return;const{mask:t,minHandle:i,maxHandle:a,x:n,width:r,_min:o}=this,{offsetX:s,offsetY:l}=e;i.zIndex<a.zIndex?a.containsPoint(s,l)?this.dragging="max":i.containsPoint(s,l)&&(this.dragging="min"):i.containsPoint(s,l)?this.dragging="min":a.containsPoint(s,l)&&(this.dragging="max"),null==this.dragging&&t.computeVisibleRangeBBox().containsPoint(s,l)&&(this.dragging="pan",this.panStart=(s-n)/r-o),null!=this.dragging&&this.ctx.zoomManager.fireZoomPanStartEvent("navigator")}onDrag(e){if(!this.enabled||null==this.dragging)return;const{dragging:t,minRange:i,panStart:a,x:n,width:r}=this;let{_min:o,_max:s}=this;const{offsetX:l}=e,c=(l-n)/r;if("min"===t)o=fe(0,c,s-i);else if("max"===t)s=fe(o+i,c,1);else if("pan"===t&&null!=a){const e=s-o;o=fe(0,c-a,1-e),s=o+e}this._min=o,this._max=s,this.updateZoom()}onDragEnd(){this.dragging=void 0}onLeave(e){this.ctx.cursorManager.updateCursor("navigator")}onZoomChange(e){const{x:t}=e;t&&(this._min=t.min,this._max=t.max,this.updateNodes(t.min,t.max))}onPanSliderChange(e){const t=this.getSliderRatio(this.proxyNavigatorElements[1]),i=this._max-this._min;this._min=fe(0,t,1-i),this._max=this._min+i,this.updateZoom()}onMinSliderChange(e){const t=this.proxyNavigatorElements[0];this._min=this.setSliderRatioClamped(t,0,this._max-this.minRange),this.updateZoom()}onMaxSliderChange(e){const t=this.proxyNavigatorElements[2];this._max=this.setSliderRatioClamped(t,this._min+this.minRange,1),this.updateZoom()}setPanSliderValue(e,t){this.proxyNavigatorElements[1].value=`${Math.round(100*e)}`,this.proxyNavigatorElements[1].ariaValueText=this.ctx.localeManager.t("ariaValuePanRange",{min:e,max:t})}setSliderRatioClamped(e,t,i){const a=this.getSliderRatio(e),n=fe(t,a,i);return n!==a&&this.setSliderRatio(e,n),n}setSliderRatio(e,t){const i=Math.round(100*t);e.value=`${i}`,e.ariaValueText=De(i)}getSliderRatio(e){return parseFloat(e.value)/100}layoutNodes(e,t,i,a){const{rangeSelector:n,mask:r,minHandle:o,maxHandle:s,_min:l,_max:c}=this;n.layout(e,t,i,a,o.width/2,s.width/2),r.layout(e,t,i,a),kh.align(o,s,e,t,i,a,l,c),l+(c-l)/2<.5?(o.zIndex=3,s.zIndex=4):(o.zIndex=4,s.zIndex=3),[o,this.maskVisibleRange,s].forEach(((i,a)=>{const n=i.computeBBox(),r={x:n.x-e,y:n.y-t,height:n.height,width:n.width};br(this.proxyNavigatorElements[a],r)}))}updateNodes(e,t){this.mask.update(e,t)}updateZoom(){if(!this.enabled)return;const{_min:e,_max:t}=this,i=this.ctx.zoomManager.getZoom();if(null==e||null==t)return;return this.setPanSliderValue(e,t),this.setSliderRatio(this.proxyNavigatorElements[0],e),this.setSliderRatio(this.proxyNavigatorElements[2],t),this.ctx.zoomManager.updateZoom("navigator",{x:{min:e,max:t},y:i?.y},!1,(e=>{null==this.min&&null==this.max||C.warnOnce(`Could not apply [navigator.min] or [navigator.max] as [${e}] has modified the initial zoom state.`)}))}};c([mi(bi,{optional:!0})],Dh.prototype,"miniChart",2),c([mi(wi),Or((e=>e.updateGroupVisibility()))],Dh.prototype,"enabled",2),c([mi(Ri)],Dh.prototype,"height",2),c([mi(Ri)],Dh.prototype,"spacing",2),c([Nr({newValue(e){this._min=e,this.updateZoom()}}),mi(vi(Di,Ii("max")),{optional:!0})],Dh.prototype,"min",2),c([Nr({newValue(e){this._max=e,this.updateZoom()}}),mi(vi(Di,Li("min")),{optional:!0})],Dh.prototype,"max",2);var Ah={type:"root",optionsKey:"navigator",packageType:"community",chartTypes:["cartesian"],instanceConstructor:Dh,themeTemplate:{navigator:{enabled:!1,height:30,mask:{fill:"#999999",stroke:"#999999",strokeWidth:1,fillOpacity:.2},minHandle:{fill:"#f2f2f2",stroke:"#999999",strokeWidth:1,width:9,height:16,gripLineGap:1,gripLineLength:8},maxHandle:{fill:"#f2f2f2",stroke:"#999999",strokeWidth:1,width:9,height:16,gripLineGap:1,gripLineLength:8}}}};function Eh({takeColors:e}){const{fills:[t],strokes:[i]}=e(1);return{fill:t,stroke:i}}function Th(e){return{marker:Eh(e)}}var Ph=(e=>(e[e.SMALL=12]="SMALL",e[e.MEDIUM=13]="MEDIUM",e[e.LARGE=17]="LARGE",e))(Ph||{}),Fh=(e=>(e.NORMAL="normal",e.BOLD="bold",e.BOLDER="bolder",e.LIGHTER="lighter",e))(Fh||{}),Ih=(e=>(e.TOP="top",e.RIGHT="right",e.BOTTOM="bottom",e.LEFT="left",e))(Ih||{}),Lh=(e=>(e.CATEGORY="category",e.ORDINAL_TIME="ordinal-time",e.NUMBER="number",e.TIME="time",e.LOG="log",e))(Lh||{}),Nh=(e=>(e.ANGLE_CATEGORY="angle-category",e.ANGLE_NUMBER="angle-number",e.RADIUS_CATEGORY="radius-category",e.RADIUS_NUMBER="radius-number",e))(Nh||{}),Oh=(e=>(e.CIRCLE="circle",e.POLYGON="polygon",e))(Oh||{}),zh=Symbol("is-dark-theme"),Gh=Symbol("default-font"),Bh=Symbol("default-label-colour"),Vh=Symbol("default-inverted-label-colour"),Hh=Symbol("default-inside-series-label-colour"),Wh=Symbol("default-muted-label-colour"),_h=Symbol("default-axis-grid-colour"),qh=Symbol("default-axis-line-colour"),Uh=Symbol("default-cross-lines-colour"),Kh=Symbol("default-background-colour"),jh=Symbol("default-shadow-colour"),Yh=Symbol("default-colours"),$h=Symbol("default-padding"),Zh=Symbol("default-caption-layout-style"),Xh=Symbol("default-caption-alignment"),Qh=Symbol("palette-up-stroke"),Jh=Symbol("palette-down-stroke"),eu=Symbol("palette-up-fill"),tu=Symbol("palette-down-fill"),iu=Symbol("palette-neutral-stroke"),au=Symbol("palette-neutral-fill"),nu=Symbol("default-polar-series-stroke"),ru=Symbol("default-diverging-series-colour-range"),ou=Symbol("default-hierarchy-fills"),su=Symbol("default-hierarchy-strokes"),lu=Symbol("default-annotation-stroke"),cu=Symbol("default-annotation-background-fill"),du=Symbol("default-annotation-handle-fill"),hu=Symbol("default-toolbar-position"),uu=Symbol("default-gridline-enabled");function gu(e,t,i,a,n){const{addPhaseFn:r,updatePhaseFn:o,removePhaseFn:s}=n,l=(a,n,r)=>{i.animate({id:`${e}_${t}_${n.id}_${a}`,groupId:e,from:0,to:1,ease:Bt,collapsable:!1,onUpdate(e,t){t&&"removed"!==a||(n.path.clear(!0),r(e,n),n.checkPathDirty())},onStop(){"added"===a&&(n.path.clear(!0),r(1,n),n.checkPathDirty())},phase:Xt[a]})};for(const e of a)i.isSkipped()||(l("removed",e,s),l("updated",e,o)),l("added",e,r)}var pu=null;function mu(e){if(null!=e)return""===e?"":(pu??(pu=mr("div")),pu.textContent=String(e),pu.innerHTML)}function fu({id:e},t,i,...a){Jt(e,t,i,a,{opacity:0},{opacity:1},{phase:"trailing"})}function vu({id:e},t,i,...a){Jt(e,t,i,a,{opacity:1},{opacity:0},{phase:"remove"})}function yu(e){return{opacity:1}}var bu=class extends Mt{constructor(){super(...arguments),this._dirty=3}markDirty(e,t=1){this._dirty<t&&(this._dirty=t)}markClean(e){this._dirty=0}isDirty(){return this._dirty>0}},Cu=class extends bu{constructor(){super(...arguments),this.enabled=!0,this.color="rgba(0, 0, 0, 0.5)",this.xOffset=0,this.yOffset=0,this.blur=5}};c([mi(wi),Pe({redraw:3})],Cu.prototype,"enabled",2),c([mi(Gi),Pe({redraw:3})],Cu.prototype,"color",2),c([mi(ki),Pe({redraw:3})],Cu.prototype,"xOffset",2),c([mi(ki),Pe({redraw:3})],Cu.prototype,"yOffset",2),c([mi(Ri),Pe({redraw:3})],Cu.prototype,"blur",2);var wu=la((e=>Cd(e)||"function"==typeof e&&Object.create(e.prototype)instanceof nd),"a marker shape keyword such as 'circle', 'diamond' or 'square' or an object extending the Marker class"),Su=class extends bu{constructor(){super(...arguments),this.enabled=!0,this.shape=rd,this.size=6,this.fillOpacity=1,this.strokeWidth=1,this.strokeOpacity=1}getStyle(){const{size:e,shape:t,fill:i,fillOpacity:a,stroke:n,strokeWidth:r,strokeOpacity:o}=this;return{size:e,shape:t,fill:i,fillOpacity:a,stroke:n,strokeWidth:r,strokeOpacity:o}}getDiameter(){return this.size+this.strokeWidth}};c([mi(wi),Pe({redraw:3})],Su.prototype,"enabled",2),c([mi(wu),Pe({redraw:3})],Su.prototype,"shape",2),c([mi(Ri),Pe({redraw:3})],Su.prototype,"size",2),c([mi(Gi,{optional:!0}),Pe({redraw:3})],Su.prototype,"fill",2),c([mi(Di),Pe({redraw:3})],Su.prototype,"fillOpacity",2),c([mi(Gi,{optional:!0}),Pe({redraw:3})],Su.prototype,"stroke",2),c([mi(Ri),Pe({redraw:3})],Su.prototype,"strokeWidth",2),c([mi(Di),Pe({redraw:3})],Su.prototype,"strokeOpacity",2),c([mi(Si,{optional:!0}),Pe({redraw:3})],Su.prototype,"itemStyler",2);var xu=class extends Mt{constructor(){super(...arguments),this.enabled=!1}};c([mi(wi)],xu.prototype,"enabled",2);var ku=class extends Mt{constructor(){super(...arguments),this.enabled=!0,this.interaction=new xu,this.position=new Kr,this.range=void 0}toTooltipHtml(e,t){return this.renderer?Ur(this.renderer(t),e):Ur(e)}};c([mi(wi)],ku.prototype,"enabled",2),c([mi(wi,{optional:!0})],ku.prototype,"showArrow",2),c([mi(Si,{optional:!0})],ku.prototype,"renderer",2),c([mi(bi)],ku.prototype,"interaction",2),c([mi(bi)],ku.prototype,"position",2),c([mi(aa,{optional:!0})],ku.prototype,"range",2);var Mu=ra(["linear","smooth","step"],"a line style"),Ru=ra(["start","middle","end"]),Du=class extends Mt{constructor(){super(...arguments),this.type="linear",this.tension=1,this.position="end"}};c([mi(Mu)],Du.prototype,"type",2),c([mi(Di)],Du.prototype,"tension",2),c([mi(Ru)],Du.prototype,"position",2);var Au=class extends Pd{constructor(){super(...arguments),this.xName=void 0,this.fill="#c16068",this.fillOpacity=1,this.stroke="#874349",this.strokeWidth=2,this.strokeOpacity=1,this.lineDash=[0],this.lineDashOffset=0,this.interpolation=new Du,this.shadow=new Cu,this.marker=new Su,this.label=new Fn,this.tooltip=new ku,this.connectMissingData=!1}};function Eu({id:e},t,i,...a){Jt(e,"markers",t,a,{opacity:0},{opacity:1},{phase:i?Xt[i]:"trailing"}),a.forEach((e=>e.cleanup()))}function Tu({id:e},t,...i){Jt(e,"markers",t,i,{scalingX:0,scalingY:0},{scalingX:1,scalingY:1},{phase:"initial"}),i.forEach((e=>e.cleanup()))}function Pu({id:e,nodeDataDependencies:t},i,...a){const n=t.seriesRectWidth;Qt(e,"markers",i,a,{fromFn:(e,t)=>{const i=t.midPoint?.x??n;let a=fe(0,qt(i/n),1);return isNaN(a)&&(a=0),{scalingX:0,scalingY:0,delay:a,duration:Ut,phase:"initial"}},toFn:()=>({scalingX:1,scalingY:1})})}function Fu(e){return{opacity:1,scalingX:1,scalingY:1}}function Iu(e,t){return{translationX:t.point?.x??NaN,translationY:t.point?.y??NaN}}function Lu(e,t){const i=(t,i)=>{const a=e[i][t];return Array.isArray(a)?a[0]:a},a=t=>{const{xValue:a}=t;return e.moved[a]?{point:i(a,"moved"),status:"updated"}:e.removed[a]?{point:i(a,"removed"),status:"removed"}:e.added[a]?{point:i(a,"added"),status:"added"}:{status:"unknown"}};return{fromFn:(e,i)=>{const{status:n,point:r}=a(i);if("unknown"===n)return{opacity:0};const o={translationX:r?.from?.x??e.translationX,translationY:r?.from?.y??e.translationY,opacity:e.opacity,phase:Xt[n]};return"added"===t?{...o,opacity:0,translationX:r?.to?.x,translationY:r?.to?.y,phase:Xt.added}:("added"===n&&(o.opacity=0),o)},toFn:(e,i)=>{const{status:n,point:r}=a(i);if("unknown"===n)return{opacity:0};const o={translationX:i.point.x,translationY:i.point.y,opacity:1,phase:Xt[n]};return"removed"===n||"removed"===t?{...o,translationX:r?.to?.x,translationY:r?.to?.y,opacity:0,phase:Xt.removed}:o}}}function Nu(e,{datumIndex:t}){const i=e.getNodeData();if(void 0===i)return;const a=i[t];if(void 0===a||void 0===a.point)return;const n=e.getFormattedMarkerStyle(a).size,r=n/2,{x:o,y:s}=e.contentGroup.inverseTransformPoint(a.point.x-r,a.point.y-r);return new Ee(o,s,n,n)}c([mi(xi)],Au.prototype,"xKey",2),c([mi(xi,{optional:!0})],Au.prototype,"xName",2),c([mi(xi)],Au.prototype,"yKey",2),c([mi(xi,{optional:!0})],Au.prototype,"yName",2),c([mi(Ri,{optional:!0})],Au.prototype,"normalizedTo",2),c([mi(Gi)],Au.prototype,"fill",2),c([mi(Di)],Au.prototype,"fillOpacity",2),c([mi(Gi)],Au.prototype,"stroke",2),c([mi(Ri)],Au.prototype,"strokeWidth",2),c([mi(Di)],Au.prototype,"strokeOpacity",2),c([mi(ji)],Au.prototype,"lineDash",2),c([mi(Ri)],Au.prototype,"lineDashOffset",2),c([mi(bi)],Au.prototype,"interpolation",2),c([mi(bi)],Au.prototype,"shadow",2),c([mi(bi)],Au.prototype,"marker",2),c([mi(bi)],Au.prototype,"label",2),c([mi(bi)],Au.prototype,"tooltip",2),c([mi(wi)],Au.prototype,"connectMissingData",2);var Ou=.05;function zu(e){return e.reduce((({min:e,max:t},i)=>((null==e||e.point.x>i.point.x)&&(e=i),(null==t||t.point.x<i.point.x)&&(t=i),{min:e,max:t})),{})}function Gu(e,t,i){const a=(t.y-e.y)/(t.x-e.x);return{x:i,y:(i-e.x)*a+e.y}}function Bu(e,t,i,a){let n=-1,r=0;const o=[];for(;r<e.length;)e[r].change!==t?e[r].change!==i?(o.length>0&&(a(o,n,r),o.length=0),n=r,r++):r++:(o.push(e[r]),r++);o.length>0&&a(o,n,r)}function Vu(e,t){Bu(e,"out","in",((i,a,n)=>{-1===a&&e[n]?i.forEach((t=>t.to=e[n].from)):n===e.length&&e[a]?i.forEach((t=>t.to=e[a].from)):"intersect"===t&&e[a]?.from&&e[n]?.from?i.forEach((t=>t.to=Gu(e[a].from,e[n].from,t.from.x))):i.forEach((e=>e.to=e.from))})),Bu(e,"in","out",((i,a,n)=>{-1===a&&e[n]?i.forEach((t=>t.from=e[n].to)):n===e.length&&e[a]?i.forEach((t=>t.from=e[a].to)):"intersect"===t&&e[a]?.to&&e[n]?.to?i.forEach((t=>t.from=Gu(e[a].to,e[n].to,t.to.x))):i.forEach((e=>e.from=e.to))}))}function Hu(e,t,i){const a=isNaN(e.x)?t.x:e.x,n=isNaN(e.y)?t.y:e.y,r=t.x-e.x,o=t.y-e.y;return{x:a+(isNaN(r)?0:r*i),y:n+(isNaN(o)?0:o*i)}}var Wu={start:0,middle:.5,end:1};function _u(e,t,i,a=!1){const{path:n}=t;"smooth"===i?.type?function(e,t,i,a){const n=Array.isArray(t)?t:Array.from(t);if(0===n.length)return;if(a?e.lineTo(n[0].x,n[0].y):e.moveTo(n[0].x,n[0].y),n.length<=1)return;const r=n.map(((e,t)=>{const i=0===t?e:n[t-1],a=t===n.length-1?e:n[t+1],r=0===t||t===n.length-1;if(Math.sign(i.y-e.y)===Math.sign(a.y-e.y))return 0;if(!r){const t=Math.abs(i.y-a.y),n=Math.abs(e.y-i.y)/t,r=Math.abs(e.y-a.y)/t;if(n<=Ou||1-n<=Ou||r<=Ou||1-r<=Ou)return 0}return(a.y-i.y)/(a.x-i.x)}));0===r[1]&&(r[0]*=2),0===r[r.length-2]&&(r[r.length-1]*=2);for(let t=1;t<n.length;t+=1){const a=n[t-1],o=r[t-1],s=n[t],l=r[t],c=s.x-a.x,d=s.y-a.y;let h=c*i/3,u=c*o*i/3,g=c*i/3,p=c*l*i/3;0===l&&Math.abs(u)>Math.abs(d)&&(h*=Math.abs(d/u),u=Math.sign(u)*Math.abs(d)),0===o&&Math.abs(p)>Math.abs(d)&&(g*=Math.abs(d/p),p=Math.sign(p)*Math.abs(d)),e.cubicCurveTo(a.x+h,a.y+u,s.x-g,s.y-p,s.x,s.y)}}(n,e,i.tension??1,a):"step"===i?.type?function(e,t,i,a){let n;for(const r of t){if(null!=n){const t=n.x<r.x?i:1-i,a=(r.x-n.x)*t+n.x;e.lineTo(a,n?.y??r.y),e.lineTo(a,r.y),e.lineTo(r.x,r.y)}else a?e.lineTo(r.x,r.y):e.moveTo(r.x,r.y);n=r}}(n,e,Wu[i.position??"end"],a):function(e,t,i){let a=i;for(const{x:i,y:n}of t)a?e.lineTo(i,n):(e.moveTo(i,n),a=!0)}(n,e,a)}function qu(e,t){let i,a;const n=[],r=()=>{null!=a&&(n.push(a),a=void 0)};for(const n of e){const{from:e,to:o}=n,s=t[n.change];if(null==s||null==e||null==o)continue;const l=Hu(e,o,s);if(!1===n.moveTo)a??(a=[]),a.push(l);else if(!0!==n.moveTo&&i){if(i){const e="in"===n.moveTo?s:1-s,{x:t,y:o}=Hu(i,l,e);a??(a=[]),a.push({x:t,y:o}),r(),a=[l]}}else r(),a=[l];i=l}return r(),n}function Uu(e,t,i,a){qu(e,t).forEach((e=>{_u(e,i,a)}))}function Ku({id:e,visible:t,nodeDataDependencies:i},a,...n){const{seriesRectWidth:r,seriesRectHeight:o}=i;Jt(e,"path_properties",a,n,{clipX:0},{clipX:r},{phase:"initial",start:{clipMode:"normal",clipY:o,visible:t},finish:{clipMode:void 0,visible:t}})}function ju({id:e},t,i,a="add",...n){Jt(e,t,i,n,{opacity:0},{opacity:1},{phase:a})}function Yu({id:e},t,i,...a){Jt(e,t,i,a,{opacity:1},{opacity:0},{phase:"remove"})}function $u(e){return t=>({opacity:e.getOpacity(),clipScalingX:1,clipMode:void 0})}function Zu({nodeDataDependencies:e},t){const i=e=>isFinite(e)?e:0;t.clipX=i(e.seriesRectWidth),t.clipY=i(e.seriesRectHeight)}function Xu(e){return"continuous"===e.type||"log"===e.type}function Qu(e){return"category"===e.type}function Ju(e,t){return e.domain.length===t.domain.length&&e.range.length===t.range.length&&e.domain.every(((e,i)=>e===t.domain[i]))&&e.range.every(((e,i)=>e===t.range[i]))}function eg(e,t){return void 0===e||void 0===t?void 0!==e||void 0!==t:Xu(e)&&Xu(t)?e.type===t.type&&Ju(e,t):!(!Qu(e)||!Qu(t))&&Ju(e,t)}function*tg(e){let t=-1,i=0;for(const{point:a}of e){if(a.moveTo){const e=t>=0?{start:t,end:i}:void 0;t=i,i=t,void 0!==e&&(yield e)}i+=1}-1!==t&&(yield{start:t,end:i})}function*ig(e,{start:t,end:i}){for(let a=t;a<i;a+=1)yield e[a].point}function*ag(e,{start:t,end:i}){for(let a=i-1;a>=t;a-=1)yield e[a].point}function ng(e,t){if(!t)return NaN;if(e instanceof Date&&(e=e.getTime()),"continuous"===t.type&&"number"==typeof e){return(e-t.domain[0])/(t.domain[1]-t.domain[0])*(t.range[1]-t.range[0])+t.range[0]}if("log"===t.type&&"number"==typeof e)return t.convert(e);const i=t.domain.findIndex((t=>t===e));return i>=0?t.range[i]:NaN}function rg(e,t){const i=Number(e),a=Number(t);return isNaN(i)||isNaN(a)?e===t:Math.abs(a-i)<.25}function og(e=!1,t=!1){return e===t?Boolean(e):e?"in":"out"}function sg(e,t,i={}){const{backfillSplitMode:a="intersect"}=i,n=[],r={added:{},moved:{},removed:{}},o=(e,t,i,a="move")=>{e&&(isNaN(e.point.x)||isNaN(e.point.y))&&(e=t);const o={from:e?.point,to:t?.point,moveTo:og(e?.point.moveTo,t?.point.moveTo),change:a};"move"===a?(r.moved[i]=o,h++,u++):"in"===a?(r.added[i]=o,u++):"out"===a&&(r.removed[i]=o,h++),n.push(o)},{min:s,max:l}=zu(t.nodeData),{min:c,max:d}=zu(e.nodeData);let h=0,u=0;for(;h<t.nodeData.length||u<e.nodeData.length;){const i=t.nodeData[h],a=e.nodeData[u],n=i?{x:ng((p=i).xValue??NaN,e.scales.x),y:ng(p.yValue??NaN,e.scales.y)}:void 0,r=a?{x:ng((g=a).xValue??NaN,t.scales.x),y:ng(g.yValue??NaN,t.scales.y)}:void 0,m=void 0;if(n&&rg(n.x,a?.point.x))o(i,a,a.xValue,"move");else if(n&&n.x<(c?.point.x??-1/0))o(i,m,i.xValue,"out");else if(n&&n.x>(d?.point.x??1/0))o(i,m,i.xValue,"out");else if(r&&r.x<(s?.point.x??-1/0))o(m,a,a.xValue,"in");else if(r&&r.x>(l?.point.x??1/0))o(m,a,a.xValue,"in");else if(n&&n.x<a?.point.x)o(i,m,i.xValue,"out");else if(r&&r.x<i?.point.x)o(m,a,a.xValue,"in");else if(i)o(i,m,i.xValue,"out");else{if(!a)throw new Error("Unable to process points");o(m,a,a.xValue,"in")}}var g,p;return Vu(n,a),{result:n,resultMap:r}}function lg(e,t,i,a={}){const{backfillSplitMode:n="intersect",multiDatum:r=!1}=a,o=[],s={added:{},moved:{},removed:{}},l={added:{},moved:{},removed:{}},c={in:"added",move:"moved",out:"removed"};let d,h;const u=(e,t)=>{var i;const a=c[t.change];r?((i=l[a])[e]??(i[e]=[]),l[a][e].push(t)):s[a][e]=t,d=t,h=Hn(e)};let g=0,p=0,m=!1;for(;g<t.nodeData.length||p<e.nodeData.length;){const a=t.nodeData[g],n=e.nodeData[p],s=Hn(a?.xValue),l=Hn(n?.xValue);let c;if(s===l)c={change:"move",moveTo:og(a.point.moveTo??!1,n.point.moveTo),from:a.point,to:n.point},u(a?.xValue,c),g++,p++;else if(i?.removed.has(String(s)))c={change:"out",moveTo:a.point.moveTo??!1,from:a.point},u(a?.xValue,c),g++;else if(i?.added.has(String(l)))c={change:"in",moveTo:n.point.moveTo??!1,to:n.point},u(n?.xValue,c),p++;else if(r&&d&&h===s)c={...d},u(a?.xValue,c),g++;else{if(!r||!d||h!==l){m=!0;break}c={...d},u(n?.xValue,c),p++}o.push(c)}let f=-1/0;return m||(m=o.some((e=>{const{change:t,to:{x:i=-1/0}={}}=e;if("out"===t)return;const a=i<f;return f=i,a}))),m?{result:void 0,resultMap:void 0}:(Vu(o,n),{result:o,resultMap:r?l:s})}function cg(e,t,i){let a="updated";const n=e=>e.visible;if(!n(t)&&n(e))a="added";else if(n(t)&&!n(e))a="removed";else for(let e=0;e<i.length&&"move"===i[e].change&&i[e].from?.x===i[e].to?.x&&i[e].from?.y===i[e].to?.y;e++)if(e===i.length-1)return"no-op";return a}function dg(e,t){const i="none"===t?"updated":e,a={fromFn:t=>{let a;return a="removed"===e?{finish:{visible:!1}}:"added"===e?{start:{visible:!0}}:{},{phase:Xt[i],...a}},toFn:e=>({phase:Xt[i]})};return"fade"===t?{fromFn:t=>({opacity:"added"===e?0:t.opacity,...a.fromFn(t)}),toFn:t=>({opacity:"removed"===e?0:1,...a.toFn(t)})}:a}function hg(e,t,i,a,n,r){const o=cg(e,t,i);return{status:o,path:{addPhaseFn:(e,t)=>{r(i,{move:1,in:e},t,n)},updatePhaseFn:(e,t)=>{r(i,{move:e},t,n)},removePhaseFn:(e,t)=>{r(i,{move:0,out:e},t,n)}},pathProperties:dg(o,a)}}function ug(e,t,i,a){const n="category"===e.scales.x?.type;if(n!==("category"===t.scales.x?.type))return;const{result:r,resultMap:o}=n?lg(e,t,i):sg(e,t);let s="updated";if(t.visible&&!e.visible?s="removed":!t.visible&&e.visible&&(s="added"),void 0===r||void 0===o)return;const l=(i?.changed??!0)||function(e,t){return!eg(e.scales.x,t.scales.x)||!eg(e.scales.y,t.scales.y)}(e,t)||"updated"!==s;return{...hg(e,t,r,"fade",a,Uu),marker:Lu(o,s),hasMotion:l}}var gg=(e=>(e[e.Fill=0]="Fill",e[e.Stroke=1]="Stroke",e[e.Marker=2]="Marker",e[e.Label=3]="Label",e))(gg||{});function pg(e){const{points:t,phantomPoints:i}=e.fillData;return{top:t,bottom:i}}function mg(e,t,i){return{scales:t.scales,nodeData:i[e],visible:t.visible}}function fg(e,t,i,a,n){const r=qu(e,i),o=qu(t,i);if(r.length===o.length)for(let e=0;e<r.length;e+=1){const t=r[e],i=o[e].reverse();_u(t,a,n,!1),_u(i,a,n,!0),a.path.closePath()}}function vg(e,t,i,a,n,r){const o=cg(e,t,i);return{status:o,path:{addPhaseFn:(e,t)=>{fg(i,a,{move:1,in:e},t,r)},updatePhaseFn:(e,t)=>{fg(i,a,{move:e},t,r)},removePhaseFn:(e,t)=>{fg(i,a,{move:0,out:e},t,r)}},pathProperties:dg(o,n)}}function yg(e,t,i,a){const n="category"===e.scales.x?.type,r="category"===t.scales.x?.type;if(n!==r)return;let o="updated";t.visible&&!e.visible?o="removed":!t.visible&&e.visible&&(o="added");const{resultMap:s}=n?lg(e,t,i,{backfillSplitMode:"static",multiDatum:!0}):sg(e,t,{backfillSplitMode:"static"}),{top:l,bottom:c}=n?function(e,t,i){const a=pg(t),n=pg(e),r={multiDatum:!0};return{top:lg(mg("top",e,n),mg("top",t,a),i,r),bottom:lg(mg("bottom",e,n),mg("bottom",t,a),i,r)}}(e,t,i):function(e,t){const i=pg(t),a=pg(e);return{top:sg(mg("top",e,a),mg("top",t,i)),bottom:sg(mg("bottom",e,a),mg("bottom",t,i))}}(e,t);if(void 0===s||void 0===l.result||void 0===c.result)return;const d=l.result,h=c.result,u=!!t.stackVisible&&e.stackVisible,g=vg(e,t,d,h,u?"none":"fade",a),p=Lu(s,o);return{status:g.status,fill:g,marker:p}}var bg=class extends Fd{constructor(e){super({moduleCtx:e,directionKeys:Ad,directionNames:Ed,pathsPerSeries:2,pathsZIndexSubOrderOffset:[0,1e3],hasMarkers:!0,markerSelectionGarbageCollection:!1,pickModes:[1,0],animationResetFns:{path:$u({getOpacity:()=>this.getOpacity()}),label:yu,marker:(e,t)=>({opacity:1,scalingX:1,scalingY:1,...Iu(0,t)})}}),this.properties=new Au}async processData(e){if(null==this.data||!this.properties.isValid())return;const{data:t,visible:i,seriesGrouping:{groupIndex:a=this.id,stackCount:n=1}={}}=this,{xKey:r,yKey:o,connectMissingData:s,normalizedTo:l}=this.properties,c=!this.ctx.animationManager.isSkipped(),d=this.axes.x?.scale,h=this.axes.y?.scale,{isContinuousX:u,xScaleType:g,yScaleType:p}=this.getScaleInformation({xScale:d,yScale:h}),m={value:`area-stack-${a}-yValue`,values:`area-stack-${a}-yValues`,valuesTrailing:`area-stack-${a}-yValues-trailing`,marker:`area-stack-${a}-yValues-marker`},f={values:`area-stack-${a}-yValues-prev`,valuesTrailing:`area-stack-${a}-yValues-trailing-prev`},v=[];Je(l)&&(v.push(Cc(Object.values(m),l,"range")),v.push(Cc(Object.values(f),l,"range"))),!u&&c&&this.processedData&&v.push(Ec(this.processedData)),c&&v.push(xc());const y={invalidValue:null};s&&n>1&&(y.invalidValue=0),i||(y.forceValue=0),await this.requestDataModel(e,t,{props:[Oc(r,g,{id:"xValue"}),zc(o,p,{id:"yValueRaw",...y}),...Wc(o,{id:"yValueContinuity",...y,groupId:`area-stack-${a}-yValues-continuity`}),zc(o,p,{id:"yValue",...y,groupId:m.value}),...Hc(o,"window-trailing","current",{id:"yValueStart",...y,groupId:m.valuesTrailing},p),...Hc(o,"window","current",{id:"yValueEnd",...y,groupId:m.values},p),...Hc(o,"normal","current",{id:"yValueCumulative",...y,groupId:m.marker},p),...Hc(o,"window","last",{id:"yValuePreviousEnd",...y,groupId:f.values},p),...Hc(o,"window-trailing","last",{id:"yValuePreviousStart",...y,groupId:f.valuesTrailing},p),...v],groupByKeys:!0,groupByData:!1}),this.animationState.transition("updateData")}getSeriesDomain(e){const{processedData:t,dataModel:i,axes:a}=this;if(!t||!i||0===t.data.length)return[];const n=a.x,r=a.y,o=i.resolveProcessedDataDefById(this,"xValue"),s=i.getDomain(this,"xValue","key",t),l=i.getDomain(this,"yValueEnd","value",t);if("x"===e)return"key"===o?.def.type&&"category"===o.def.valueType?s:Sl(ya(s),n);if(r instanceof Hd||r instanceof Wd)return Sl(l,r);return Sl([l[0]>0?0:l[0],l[1]<0?0:l[1]],r)}async createNodeData(){const{axes:e,data:t,processedData:{data:i}={},dataModel:a}=this,n=e.x,r=e.y;if(!(n&&r&&t&&a&&this.properties.isValid()))return;const{yKey:o,xKey:s,marker:l,label:c,fill:d,stroke:h,connectMissingData:u}=this.properties,{scale:g}=n,{scale:p}=r,{isContinuousY:m}=this.getScaleInformation({xScale:g,yScale:p}),f=(g.bandwidth??0)/2,v=a.resolveProcessedDataDefsByIds(this,["yValueStart","yValueEnd","yValueRaw","yValuePreviousStart","yValuePreviousEnd","yValueCumulative","yValueContinuity","yValue"]),y=(e,t,i)=>{let a;return(Je(this.properties.normalizedTo)?m&&Bn(i):!isNaN(i))&&(a=t),{x:g.convert(e)+f,y:p.convert(a),size:l.size}},b=o,C=[],w=[],{visibleSameStackCount:S}=this.ctx.seriesStateManager.getVisiblePeerGroupIndex(this),x={itemId:b,fillData:{itemId:b,points:[],phantomPoints:[]},strokeData:{itemId:b,points:[]},labelData:C,nodeData:w,scales:this.calculateScaling(),visible:this.visible,stackVisible:S>0},k=x.fillData.points,M=x.fillData.phantomPoints,R=x.strokeData.points;let D,A,E=-1,T=!0;return i?.forEach((e=>{const{keys:t,keys:[i],datum:n,values:r}=e;r.forEach(((e,r)=>{E++;const m=n[r],S=a.resolveProcessedDataDefsValues(v,{keys:t,values:e}),{yValueRaw:x,yValueCumulative:P,yValueContinuity:F}=S,{yValueStart:I,yValueEnd:L,yValuePreviousStart:N,yValuePreviousEnd:O,yValue:z}=S,G=null!=x,B=y(i,+P,x);if(G&&l&&w.push({index:E,series:this,itemId:b,datum:m,midPoint:{x:B.x,y:B.y},cumulativeValue:L,yValue:x,xValue:i,yKey:o,xKey:s,point:B,fill:l.fill??d,stroke:l.stroke??h,strokeWidth:l.strokeWidth??this.getStrokeWidth(this.properties.strokeWidth)}),G&&c){const e=this.getLabelText(c,{value:x,datum:m,xKey:s,yKey:o,xName:this.properties.xName,yName:this.properties.yName},(e=>ht(e)?e.toFixed(2):String(e)));C.push({index:E,series:this,itemId:o,datum:m,x:B.x,y:B.y,label:e?{text:e,fontStyle:c.fontStyle,fontWeight:c.fontWeight,fontSize:c.fontSize,fontFamily:c.fontFamily,textAlign:"center",textBaseline:"bottom",fill:c.color}:void 0})}if(G||!u){G||(T=!0);const e=!T&&!u;e&&!1===A&&!0===F?(k.push({point:{x:B.x,y:p.convert(L),moveTo:!1},yValue:x,xValue:i}),M.push({point:{x:B.x,y:p.convert(I),moveTo:!1},yValue:x,xValue:i}),R.push({point:{x:B.x,y:p.convert(L),moveTo:!1},yValue:x,xValue:i}),T=!0):e&&!0===A&&!1===F&&(k.push({point:{x:g.convert(D)+f,y:p.convert(O),moveTo:!0},yValue:x,xValue:i}),M.push({point:{x:g.convert(D)+f,y:p.convert(N),moveTo:!0},yValue:x,xValue:i}),R.push({point:{x:g.convert(D)+f,y:p.convert(O),moveTo:!0},yValue:x,xValue:i}),T=!1),k.push({point:{x:B.x,y:p.convert(P),moveTo:T},yValue:x,xValue:i}),M.push({point:{x:B.x,y:p.convert(P-z),moveTo:T},yValue:x,xValue:i}),R.push({point:{x:B.x,y:p.convert(P),moveTo:T},yValue:x,xValue:i}),T=!G}D=i,A=F}))})),x}isPathOrSelectionDirty(){return this.properties.marker.isDirty()}markerFactory(){const{shape:e}=this.properties.marker;return new(wd(e))}async updatePathNodes(e){const{opacity:t,visible:i,animationEnabled:a}=e,[n,r]=e.paths,o=this.getStrokeWidth(this.properties.strokeWidth);r.setProperties({tag:1,fill:void 0,lineJoin:r.lineCap="round",pointerEvents:1,stroke:this.properties.stroke,strokeWidth:o,strokeOpacity:this.properties.strokeOpacity,lineDash:this.properties.lineDash,lineDashOffset:this.properties.lineDashOffset,opacity:t,visible:i}),n.setProperties({tag:0,stroke:void 0,lineJoin:"round",pointerEvents:1,fill:this.properties.fill,fillOpacity:this.properties.fillOpacity,lineDash:this.properties.lineDash,lineDashOffset:this.properties.lineDashOffset,strokeOpacity:this.properties.strokeOpacity,fillShadow:this.properties.shadow,opacity:t,visible:i||a,strokeWidth:o}),Zu(this,r),Zu(this,n)}async updatePaths(e){this.updateAreaPaths(e.paths,e.contextData)}updateAreaPaths(e,t){this.updateFillPath(e,t),this.updateStrokePath(e,t)}updateFillPath(e,t){const{points:i,phantomPoints:a}=t.fillData,[n]=e,{interpolation:r}=this.properties;n.path.clear(!0);for(const e of tg(i))_u(ig(i,e),n,r,!1),_u(ag(a,e),n,r,!0),n.path.closePath();n.checkPathDirty()}updateStrokePath(e,t){const{points:i}=t.strokeData,[,a]=e,{path:n}=a,{interpolation:r}=this.properties;n.clear(!0);for(const e of tg(i))_u(ig(i,e),a,r);a.checkPathDirty()}async updateMarkerSelection(e){const{nodeData:t,markerSelection:i}=e;return this.properties.marker.isDirty()&&(i.clear(),i.cleanup()),i.update(this.properties.marker.enabled?t:[])}async updateMarkerNodes(e){const{markerSelection:t,isHighlight:i}=e,{xKey:a,yKey:n,marker:r,fill:o,stroke:s,strokeWidth:l,fillOpacity:c,strokeOpacity:d,highlightStyle:h}=this.properties,u=vt(i&&h.item,r.getStyle(),{fill:o,stroke:s,strokeWidth:l,fillOpacity:c,strokeOpacity:d});t.each(((e,t)=>{this.updateMarkerStyle(e,r,{datum:t,highlighted:i,xKey:a,yKey:n},u)})),i||this.properties.marker.markClean()}async updateLabelSelection(e){const{labelData:t,labelSelection:i}=e;return i.update(t,(e=>{e.tag=3}))}async updateLabelNodes(e){const{labelSelection:t}=e,{enabled:i,fontStyle:a,fontWeight:n,fontSize:r,fontFamily:o,color:s}=this.properties.label;t.each(((e,t)=>{const{x:l,y:c,label:d}=t;d&&i&&this.visible?(e.fontStyle=a,e.fontWeight=n,e.fontSize=r,e.fontFamily=o,e.textAlign=d.textAlign,e.textBaseline=d.textBaseline,e.text=d.text,e.x=l,e.y=c-10,e.fill=s,e.visible=!0):e.visible=!1}))}getTooltipHtml(e){const{id:t,axes:i,dataModel:a}=this,{xKey:n,xName:r,yName:o,tooltip:s,marker:l}=this.properties,{yKey:c,xValue:d,yValue:h,datum:u,itemId:g}=e,p=i.x,m=i.y;if(!this.properties.isValid()||!(p&&m&&ht(h))||!a)return _r;const f=p.formatDatum(d),v=m.formatDatum(h),y=mu(o),b=mu(f+": "+v),C=vt({fill:this.properties.fill},l.getStyle(),{stroke:this.properties.stroke,strokeWidth:this.properties.strokeWidth}),{fill:w}=this.getMarkerStyle(l,{datum:e,xKey:n,yKey:c,highlighted:!1},C);return s.toTooltipHtml({title:y,content:b,backgroundColor:w},{datum:u,itemId:g,xKey:n,xName:r,yKey:c,yName:o,color:w,title:y,seriesId:t})}getLegendData(e){if(!this.data?.length||!this.properties.isValid()||!this.properties.showInLegend||"category"!==e)return[];const{yKey:t,yName:i,fill:a,stroke:n,fillOpacity:r,strokeOpacity:o,strokeWidth:s,lineDash:l,marker:c,visible:d,legendItemName:h}=this.properties,u=!c.enabled||void 0===c.fill;return[{legendType:e,id:this.id,itemId:t,seriesId:this.id,enabled:d,label:{text:h??i??t},symbols:[{marker:{shape:c.shape,fill:u?a:c.fill,fillOpacity:u?r:c.fillOpacity,stroke:c.stroke??n,strokeOpacity:c.strokeOpacity??o,strokeWidth:c.strokeWidth??0,enabled:c.enabled||s<=0},line:{stroke:n,strokeOpacity:o,strokeWidth:s,lineDash:l}}],legendItemName:h}]}animateEmptyUpdateReady(e){const{markerSelection:t,labelSelection:i,contextData:a,paths:n}=e,{animationManager:r}=this.ctx;this.updateAreaPaths(n,a),Ku(this,r,...n),cr([t],Iu),Pu(this,r,t),fu(this,"labels",r,i)}animateReadyResize(e){const{contextData:t,paths:i}=e;this.updateAreaPaths(i,t),super.animateReadyResize(e)}animateWaitingUpdateReady(e){const{animationManager:t}=this.ctx,{markerSelection:i,labelSelection:a,contextData:n,paths:r,previousContextData:o}=e,[s,l]=r;if(null==s&&null==l)return;super.resetAllAnimation(e);const c=()=>{this.updateAreaPaths(r,n),this.updateStrokePath(r,n)};if(null==n||null==o)return c(),Eu(this,t,"added",i),ju(this,"fill_path_properties",t,"add",s),ju(this,"stroke",t,"trailing",l),void fu(this,"labels",t,a);const d=yg(n,o,this.processedData?.reduced?.diff,this.properties.interpolation);if(void 0===d)return t.skipCurrentBatch(),void c();"no-op"!==d.status&&(Eu(this,t,void 0,i),Qt(this.id,"fill_path_properties",t,[s],d.fill.pathProperties),gu(this.id,"fill_path_update",t,[s],d.fill.path),this.updateStrokePath(r,n),ju(this,"stroke",t,"trailing",l),fu(this,"labels",t,a))}isLabelEnabled(){return this.properties.label.enabled}nodeFactory(){return new on}getFormattedMarkerStyle(e){const{xKey:t,yKey:i}=e;return this.getMarkerStyle(this.properties.marker,{datum:e,xKey:t,yKey:i,highlighted:!0})}computeFocusBounds(e){return Nu(this,e)}};bg.className="AreaSeries",bg.type="area";var Cg={type:"series",optionsKey:"series[]",packageType:"community",chartTypes:["cartesian"],identifier:"area",instanceConstructor:bg,stackable:!0,tooltipDefaults:{range:"nearest"},defaultAxes:[{type:"number",position:"left"},{type:"category",position:"bottom"}],themeTemplate:{series:{nodeClickRange:"nearest",tooltip:{position:{type:"node"}},fillOpacity:.8,strokeOpacity:1,strokeWidth:0,lineDash:[0],lineDashOffset:0,shadow:{enabled:!1,color:jh,xOffset:3,yOffset:3,blur:5},interpolation:{type:"linear",tension:1,position:"end"},marker:{enabled:!1,shape:"circle",size:7,strokeWidth:0},label:{enabled:!1,fontSize:12,fontFamily:Gh,color:Bh}}},paletteFactory:e=>{const{marker:t}=Th(e);return{fill:t.fill,stroke:t.stroke,marker:t}}};function*wg(e){for(const t of e.children)yield t}function Sg(e,t){for(const i of t){const t=i.datum;void 0===t?C.error("undefined datum"):e.addValue(i,t)}}function xg(e,t){const{x:i,y:a}=e.contentGroup.transformPoint(t.x,t.y),{nearest:n,distanceSquared:r}=e.getQuadTree().find(i,a);if(void 0!==n)return{datum:n.value,distance:Math.sqrt(r)}}var kg=class extends Pd{constructor(){super(...arguments),this.direction="vertical"}};c([mi(ta)],kg.prototype,"direction",2);var Mg=class extends Fd{constructor(){super(...arguments),this.groupScale=new pi,this.smallestDataInterval=void 0,this.largestDataInterval=void 0}getBandScalePadding(){return{inner:.3,outer:.15}}shouldFlipXY(){return!this.isVertical()}isVertical(){return"vertical"===this.properties.direction}getBarDirection(){return this.shouldFlipXY()?"x":"y"}getCategoryDirection(){return this.shouldFlipXY()?"y":"x"}getValueAxis(){const e=this.getBarDirection();return this.axes[e]}getCategoryAxis(){const e=this.getCategoryDirection();return this.axes[e]}updateGroupScale(e){const{groupScale:t,smallestDataInterval:i,ctx:{seriesStateManager:a}}=this,n=e.scale,r=fa.is(n)?n.calcBandwidth(i):n.bandwidth,o=[],{index:s,visibleGroupCount:l}=a.getVisiblePeerGroupIndex(this);for(let e=0;e<l;e++)o.push(String(e));t.domain=o,t.range=[0,r??0],e instanceof Io?t.paddingInner=e.groupPaddingInner:t.padding=e instanceof Uo?.1:0,t.round=0!==t.padding;return{barWidth:t.bandwidth>=1?t.bandwidth:t.rawBandwidth,groupIndex:s}}resolveKeyDirection(e){return"x"===this.getBarDirection()?"x"===e?"y":"x":e}initQuadTree(e){Sg(e,this.datumNodesIter())}pickNodeClosestDatum(e){return xg(this,e)}},Rg=class extends Fn{constructor(){super(...arguments),this.placement="inside"}};c([mi(ia)],Rg.prototype,"placement",2);var Dg=class extends kg{constructor(){super(...arguments),this.fill="#c16068",this.fillOpacity=1,this.stroke="#874349",this.strokeWidth=1,this.strokeOpacity=1,this.lineDash=[0],this.lineDashOffset=0,this.cornerRadius=0,this.crisp=void 0,this.shadow=new Cu,this.label=new Rg,this.tooltip=new ku}};function Ag({rect:e,config:t}){const{crisp:i=!0,fill:a,stroke:n,strokeWidth:r,fillOpacity:o,strokeOpacity:s,lineDash:l,lineDashOffset:c,fillShadow:d,cornerRadius:h=0,topLeftCornerRadius:u=!0,topRightCornerRadius:g=!0,bottomRightCornerRadius:p=!0,bottomLeftCornerRadius:m=!0,visible:f=!0}=t;e.crisp=i,e.fill=a,e.stroke=n,e.strokeWidth=r,e.fillOpacity=o,e.strokeOpacity=s,e.lineDash=l,e.lineDashOffset=c,e.fillShadow=d,e.topLeftCornerRadius=u?h:0,e.topRightCornerRadius=g?h:0,e.bottomRightCornerRadius=p?h:0,e.bottomLeftCornerRadius=m?h:0,e.visible=f}function Eg({datum:e,isHighlighted:t,style:i,highlightStyle:a,itemStyler:n,seriesId:r,ctx:{callbackCache:o},...s}){const{fill:l,fillOpacity:c,stroke:d,strokeWidth:h,strokeOpacity:u,lineDash:g,lineDashOffset:p,cornerRadius:m=0}=vt(t&&a,i),{fillShadow:f,topLeftCornerRadius:v=!0,topRightCornerRadius:y=!0,bottomRightCornerRadius:b=!0,bottomLeftCornerRadius:C=!0}=i;let w;return n&&(w=o.call(n,{datum:e.datum,xKey:e.xKey,fill:l,fillOpacity:c,stroke:d,strokeWidth:h,strokeOpacity:u,lineDash:g,lineDashOffset:p,cornerRadius:m,highlighted:t,seriesId:r,...s})),{fill:w?.fill??l,fillOpacity:w?.fillOpacity??c,stroke:w?.stroke??d,strokeWidth:w?.strokeWidth??h,strokeOpacity:w?.strokeOpacity??u,lineDash:w?.lineDash??g,lineDashOffset:w?.lineDashOffset??p,cornerRadius:w?.cornerRadius??m,topLeftCornerRadius:v,topRightCornerRadius:y,bottomRightCornerRadius:b,bottomLeftCornerRadius:C,fillShadow:f}}function Tg(e,t,i,a){if(null!=t){const[e,i]=t;if(0!==e||1!==i)return!1}if(fa.is(e)){const t=e.calcBandwidth(a)-e.calcBandwidth(i);if(t>0&&t<1)return!1}return!0}c([mi(xi)],Dg.prototype,"xKey",2),c([mi(xi,{optional:!0})],Dg.prototype,"xName",2),c([mi(xi)],Dg.prototype,"yKey",2),c([mi(xi,{optional:!0})],Dg.prototype,"yName",2),c([mi(xi,{optional:!0})],Dg.prototype,"stackGroup",2),c([mi(ki,{optional:!0})],Dg.prototype,"normalizedTo",2),c([mi(Gi)],Dg.prototype,"fill",2),c([mi(Di)],Dg.prototype,"fillOpacity",2),c([mi(Gi)],Dg.prototype,"stroke",2),c([mi(Ri)],Dg.prototype,"strokeWidth",2),c([mi(Di)],Dg.prototype,"strokeOpacity",2),c([mi(ji)],Dg.prototype,"lineDash",2),c([mi(Ri)],Dg.prototype,"lineDashOffset",2),c([mi(Ri)],Dg.prototype,"cornerRadius",2),c([mi(wi,{optional:!0})],Dg.prototype,"crisp",2),c([mi(Si,{optional:!0})],Dg.prototype,"itemStyler",2),c([mi(bi,{optional:!0})],Dg.prototype,"shadow",2),c([mi(bi)],Dg.prototype,"label",2),c([mi(bi)],Dg.prototype,"tooltip",2);var Pg=e=>we(e.yValue??0);function Fg(e,t,i){const{startingX:a,startingY:n}=function(e,t){const i=t[e?"y":"x"];let a=1/0,n=0;if(!i)return{startingX:a,startingY:n};e?n=i.scale.convert(fa.is(i.scale)?0:Math.max(...i.range)):a=i.scale.convert(fa.is(i.scale)?0:Math.min(...i.range));return{startingX:a,startingY:n}}(e,t);return{isVertical:e,calculate:(t,i)=>{let r=e?t.x:a,o=e?n:t.y,s=e?t.width:0,l=e?0:t.height;const{opacity:c}=t;let d;return i&&(isNaN(r)||isNaN(o))&&(({x:r,y:o}=i),s=e?i.width:0,l=e?0:i.height,e&&!Pg(i)?o+=i.height:!e&&Pg(i)&&(r+=i.width)),d=null==t.clipBBox?void 0:Pg(t)?e?new Ee(r,o-l,s,l):new Ee(r-s,o,s,l):new Ee(r,o,s,l),{x:r,y:o,width:s,height:l,clipBBox:d,opacity:c}},mode:i}}function Ig(e,t){return{isVertical:e,calculate:t=>({x:e?t.x:t.x+t.width/2,y:e?t.y+t.height/2:t.y,width:e?t.width:0,height:e?0:t.height,clipBBox:t.clipBBox,opacity:t.opacity}),mode:t}}function Lg(e){const t=e=>null==e||isNaN(e.x)||isNaN(e.y);return{toFn:(i,a,n)=>{let r;return r="removed"===n&&null==i.datum&&"fade"===e.mode?{...Ng(i,a),opacity:0}:"removed"===n||t(a)?e.calculate(a,i.previousDatum):{x:a.x,y:a.y,width:a.width,height:a.height,clipBBox:a.clipBBox,opacity:a.opacity},r},fromFn:(i,a,n)=>{let r;"updated"===n&&t(a)?n="removed":"updated"===n&&t(i.previousDatum)&&(n="added"),r="added"===n&&null==i.previousDatum&&"fade"===e.mode?{...Ng(i,a),opacity:0}:"unknown"===n||"added"===n?e.calculate(a,i.previousDatum):{x:i.x,y:i.y,width:i.width,height:i.height,clipBBox:i.clipBBox,opacity:i.opacity};const o=Xt[n];return{...r,phase:o}}}}function Ng(e,{x:t,y:i,width:a,height:n,clipBBox:r,opacity:o}){return{x:t,y:i,width:a,height:n,clipBBox:r,opacity:o}}function Og(e,t,i){if(void 0===e)return;const{x:a,y:n,width:r,height:o}=e;return t.inverseTransformBBox(new Ee(a,n,r,o)).clip(i)}function zg(e,t,i){if(t.enabled&&i){const{x:a,y:n,text:r,textAlign:o,textBaseline:s}=i,{color:l,fontStyle:c,fontWeight:d,fontSize:h,fontFamily:u}=t;e.setProperties({visible:!0,x:a,y:n,text:r,fill:l,fontStyle:c,fontWeight:d,fontSize:h,fontFamily:u,textAlign:o,textBaseline:s})}else e.visible=!1}function Gg({isPositive:e,isVertical:t,placement:i,padding:a=0,rect:n}){let r=n.x+n.width/2,o=n.y+n.height/2,s="center",l="middle";switch(i){case"start":t?(o=e?n.y+n.height+a:n.y-a,l=e?"top":"bottom"):(r=e?n.x-a:n.x+n.width+a,s=e?"start":"end");break;case"outside":case"end":t?(o=e?n.y-a:n.y+n.height+a,l=e?"bottom":"top"):(r=e?n.x+n.width+a:n.x-a,s=e?"start":"end")}return{x:r,y:o,textAlign:s,textBaseline:l}}var Bg=class extends Mg{constructor(e){super({moduleCtx:e,directionKeys:Ad,directionNames:Ed,pickModes:[3,0],pathsPerSeries:0,hasHighlightedLabels:!0,datumSelectionGarbageCollection:!1,animationAlwaysUpdateSelections:!0,animationResetFns:{datum:Ng,label:yu}}),this.properties=new Dg}async processData(e){if(!this.properties.isValid()||!this.data)return;const{seriesGrouping:{groupIndex:t=this.id}={},data:i=[]}=this,{xKey:a,yKey:n,normalizedTo:r}=this.properties,o=!this.ctx.animationManager.isSkipped(),s=this.getCategoryAxis()?.scale,l=this.getValueAxis()?.scale,{isContinuousX:c,xScaleType:d,yScaleType:h}=this.getScaleInformation({xScale:s,yScale:l}),u=`bar-stack-${t}-yValues`,g=`${u}-trailing`,p=[];ht(r)&&p.push(Cc([u,g],Math.abs(r),"range")),o&&this.processedData&&p.push(Ec(this.processedData)),o&&p.push(xc());const m=this.visible?{}:{forceValue:0},{processedData:f}=await this.requestDataModel(e,i,{props:[Oc(a,d,{id:"xValue"}),zc(n,h,{id:"yValue-raw",invalidValue:null,...m}),...Hc(n,"normal","current",{id:"yValue-end",rangeId:"yValue-range",invalidValue:null,missingValue:0,groupId:u,separateNegative:!0,...m},h),...Hc(n,"trailing","current",{id:"yValue-start",invalidValue:null,missingValue:0,groupId:g,separateNegative:!0,...m},h),...c?[fc,vc]:[],...p],groupByKeys:!0,groupByData:!1});this.smallestDataInterval=f.reduced?.smallestKeyInterval,this.largestDataInterval=f.reduced?.largestKeyInterval,this.animationState.transition("updateData")}getSeriesDomain(e){const{processedData:t,dataModel:i,smallestDataInterval:a}=this;if(!t||!i||0===t.data.length)return[];const n=this.getCategoryAxis(),r=this.getValueAxis(),o=i.resolveProcessedDataDefById(this,"xValue"),s=i.getDomain(this,"xValue","key",t),l=i.getDomain(this,"yValue-end","value",t);if(e===this.getCategoryDirection()){if("key"===o?.def.type&&"category"===o.def.valueType)return s;const e=ht(a)?.5*a:0,t=ya(s)??[NaN,NaN];return Sl([t[0]+-e,t[1]+e],n)}if(this.getValueAxis()instanceof Hd)return Sl(l,r);return Sl([Math.min(0,l[0]),Math.max(0,l[1])],r)}async createNodeData(){const{dataModel:e}=this,t=this.getCategoryAxis(),i=this.getValueAxis();if(!(e&&t&&i&&this.properties.isValid()))return;const a=t.scale,n=i.scale,{xKey:r,yKey:o,xName:s,yName:l,fill:c,stroke:d,strokeWidth:h,cornerRadius:u,legendItemName:g,label:p}=this.properties,m=i.isReversed(),{barWidth:f,groupIndex:v}=this.updateGroupScale(t),y=fa.is(a)?-.5*f:0,b=e.resolveProcessedDataIndexById(this,"xValue"),C=e.resolveProcessedDataIndexById(this,"yValue-raw"),w=e.resolveProcessedDataIndexById(this,"yValue-start"),S=e.resolveProcessedDataIndexById(this,"yValue-end"),x=e.resolveProcessedDataIndexById(this,"yValue-range"),k=!this.ctx.animationManager.isSkipped(),M={itemId:o,nodeData:[],labelData:[],scales:this.calculateScaling(),visible:this.visible||k},{groupScale:R,processedData:D}=this;return D?.data.forEach((({keys:e,datum:t,values:i,aggValues:k})=>{i.forEach(((i,D)=>{const A=e[b],E=a.convert(A),T=+i[S],P=+i[w],F=i[C],I=F>=0&&!Object.is(F,-0),L=I!==m,N=k?.[x][I?1:0]??0,O=E+R.convert(String(v))+y;if(isNaN(T))return;const z=n.convert(T),G=n.convert(P),B="x"===this.getBarDirection(),V=n.convert(N),H=n.convert(0),W={x:B?Math.min(z,G):O,y:B?O:Math.min(z,G),width:B?Math.abs(G-z):f,height:B?f:Math.abs(G-z)},_=new Ee(W.x,W.y,W.width,W.height),q={x:B?Math.min(H,V):O,y:B?O:Math.min(H,V),width:B?Math.abs(H-V):f,height:B?f:Math.abs(H-V),clipBBox:_},{fontStyle:U,fontWeight:K,fontSize:j,fontFamily:Y,color:$,placement:Z}=p,X=this.getLabelText(this.properties.label,{datum:t[D],value:F,xKey:r,yKey:o,xName:s,yName:l,legendItemName:g},(e=>ht(e)?e.toFixed(2):String(e))),Q=X?{text:X,fill:$,fontStyle:U,fontWeight:K,fontSize:j,fontFamily:Y,...Gg({isPositive:I,isVertical:!B,placement:Z,rect:W})}:void 0,J=this.shouldFlipXY()?W.height:W.width,ee={series:this,itemId:o,datum:t[D],valueIndex:D,cumulativeValue:T,xValue:A,yValue:F,yKey:o,xKey:r,capDefaults:{lengthRatioMultiplier:J,lengthMax:J},x:q.x,y:q.y,width:q.width,height:q.height,midPoint:{x:W.x+W.width/2,y:W.y+W.height/2},fill:c,stroke:d,opacity:1,strokeWidth:h,cornerRadius:u,topLeftCornerRadius:B!==L,topRightCornerRadius:L,bottomRightCornerRadius:B===L,bottomLeftCornerRadius:!L,clipBBox:_,label:Q,missing:null==F};M.nodeData.push(ee),M.labelData.push(ee)}))})),M}nodeFactory(){return new jd}async updateDatumSelection(e){return e.datumSelection.update(e.nodeData,(e=>{e.tag=0}),(e=>Tc(e.xValue,e.valueIndex)))}async updateDatumNodes(e){if(!this.properties.isValid())return;const{yKey:t,stackGroup:i,fill:a,fillOpacity:n,stroke:r,strokeWidth:o,strokeOpacity:s,lineDash:l,lineDashOffset:c,itemStyler:d,shadow:h,highlightStyle:{item:u}}=this.properties,g=this.axes.x,p=this.properties.crisp??Tg(g?.scale,g?.visibleRange,this.smallestDataInterval,this.largestDataInterval),m="x"===this.getCategoryDirection();e.datumSelection.each(((g,f)=>{const v={fill:a,stroke:r,fillOpacity:n,strokeOpacity:s,lineDash:l,lineDashOffset:c,fillShadow:h,strokeWidth:this.getStrokeWidth(o),cornerRadius:f.cornerRadius,topLeftCornerRadius:f.topLeftCornerRadius,topRightCornerRadius:f.topRightCornerRadius,bottomRightCornerRadius:f.bottomRightCornerRadius,bottomLeftCornerRadius:f.bottomLeftCornerRadius},y=m?(f.clipBBox?.width??f.width)>0:(f.clipBBox?.height??f.height)>0,b=Eg({datum:f,ctx:this.ctx,seriesId:this.id,isHighlighted:e.isHighlight,highlightStyle:u,yKey:t,style:v,itemStyler:d,stackGroup:i});b.crisp=p,b.visible=y,Ag({rect:g,config:b})}))}async updateLabelSelection(e){const t=this.isLabelEnabled()?e.labelData:[];return e.labelSelection.update(t,(e=>{e.tag=1,e.pointerEvents=1}))}async updateLabelNodes(e){e.labelSelection.each(((e,t)=>{zg(e,this.properties.label,t.label)}))}getTooltipHtml(e){const{id:t,processedData:i,ctx:{callbackCache:a}}=this,n=this.getCategoryAxis(),r=this.getValueAxis();if(!(i&&this.properties.isValid()&&n&&r))return _r;const{xKey:o,yKey:s,xName:l,yName:c,fill:d,stroke:h,strokeWidth:u,tooltip:g,itemStyler:p,stackGroup:m,legendItemName:f}=this.properties,{xValue:v,yValue:y,datum:b,itemId:C}=e,w=n.formatDatum(v),S=r.formatDatum(y),x=mu(c),k=mu(w+": "+S);let M;p&&(M=a.call(p,{seriesId:t,datum:b,xKey:o,yKey:s,stackGroup:m,fill:d,stroke:h,strokeWidth:this.getStrokeWidth(u),highlighted:!1,cornerRadius:this.properties.cornerRadius,fillOpacity:this.properties.fillOpacity,strokeOpacity:this.properties.strokeOpacity,lineDash:this.properties.lineDash??[],lineDashOffset:this.properties.lineDashOffset}));const R=M?.fill??d;return g.toTooltipHtml({title:x,content:k,backgroundColor:R},{seriesId:t,itemId:C,datum:b,xKey:o,yKey:s,xName:l,yName:c,stackGroup:m,title:x,color:R,legendItemName:f,...this.getModuleTooltipParams()})}getLegendData(e){const{showInLegend:t}=this.properties;if("category"!==e||!this.data?.length||!this.properties.isValid()||!t)return[];const{yKey:i,yName:a,fill:n,stroke:r,strokeWidth:o,fillOpacity:s,strokeOpacity:l,legendItemName:c,visible:d}=this.properties;return[{legendType:"category",id:this.id,itemId:i,seriesId:this.id,enabled:d,label:{text:c??a??i},symbols:[{marker:{fill:n,fillOpacity:s,stroke:r,strokeWidth:o,strokeOpacity:l}}],legendItemName:c}]}animateEmptyUpdateReady({datumSelection:e,labelSelection:t,annotationSelections:i}){const a=Lg(Fg(this.isVertical(),this.axes,"normal"));Qt(this.id,"nodes",this.ctx.animationManager,[e],a),fu(this,"labels",this.ctx.animationManager,t),fu(this,"annotations",this.ctx.animationManager,...i)}animateWaitingUpdateReady(e){const{datumSelection:t,labelSelection:i,annotationSelections:a,previousContextData:n}=e;this.ctx.animationManager.stopByAnimationGroupId(this.id);const r=this.processedData?.reduced?.diff,o=null==n?"fade":"normal",s=Lg(Fg(this.isVertical(),this.axes,o));Qt(this.id,"nodes",this.ctx.animationManager,[t],s,((e,t)=>Tc(t.xValue,t.valueIndex)),r);(r?.changed??!0)&&(fu(this,"labels",this.ctx.animationManager,i),fu(this,"annotations",this.ctx.animationManager,...a))}isLabelEnabled(){return this.properties.label.enabled}computeFocusBounds({datumIndex:e,seriesRect:t}){const i=this.contextNodeData?.nodeData[e].clipBBox;return Og(i,this.contentGroup,t)}};Bg.className="BarSeries",Bg.type="bar";var Vg={type:"series",optionsKey:"series[]",packageType:"community",chartTypes:["cartesian"],identifier:"bar",instanceConstructor:Bg,stackable:!0,groupable:!0,tooltipDefaults:{range:"exact"},defaultAxes:[{type:"number",position:"left"},{type:"category",position:"bottom"}],swapDefaultAxesCondition:e=>"horizontal"===e?.direction,themeTemplate:{series:{direction:"vertical",fillOpacity:1,strokeWidth:0,lineDash:[0],lineDashOffset:0,label:{enabled:!1,fontWeight:"normal",fontSize:12,fontFamily:Gh,color:Hh,placement:"inside"},shadow:{enabled:!1,color:jh,xOffset:3,yOffset:3,blur:5}}},enterpriseThemeTemplate:{series:{errorBar:{cap:{lengthRatio:.3}}}},paletteFactory:Eh},Hg=e=>{const t=_e.fromString(e),[i,a,n]=_e.RGBtoOKLCH(t.r,t.g,t.b);return{l:i,c:a,h:n,a:t.a}},Wg=1e-6,_g=e=>e.c<Wg||e.l<Wg||e.l>1-Wg,qg=class{constructor(){this.type="color",this.invalid=!0,this.domain=[0,1],this.range=["red","blue"],this.parsedRange=this.range.map(Hg)}update(){const{domain:e,range:t}=this;e.length<2&&(C.warnOnce("`colorDomain` should have at least 2 values."),0===e.length?e.push(0,1):1===e.length&&e.push(e[0]+1));for(let t=1;t<e.length;t++){if(e[t-1]>=e[t]){C.warnOnce("`colorDomain` values should be supplied in ascending order."),e.sort(((e,t)=>e-t));break}}if(t.length<e.length)for(let i=t.length;i<e.length;i++)t.push(t.length>0?t[0]:"black");this.parsedRange=this.range.map(Hg)}convert(e){this.refresh();const{domain:t,range:i,parsedRange:a}=this,n=t[0],r=t.at(-1),o=i[0],s=i[i.length-1];if(e<=n)return o;if(e>=r)return s;let l,c;if(2===t.length){const t=(e-n)/(r-n),a=1/(i.length-1);l=i.length<=2?0:Math.min(Math.floor(t*(i.length-1)),i.length-2),c=(t-l*a)/a}else{for(l=0;l<t.length-2&&!(e<t[l+1]);l++);const i=t[l];c=(e-i)/(t[l+1]-i)}return((e,t,i)=>{let a;if(i=fe(0,i,1),_g(e))a=t.h;else if(_g(t))a=e.h;else{const n=e.h;let r=t.h;const o=t.h-e.h;o>180?r-=360:o<-180&&(r+=360),a=n*(1-i)+r*i}const n=e.c*(1-i)+t.c*i,r=e.l*(1-i)+t.l*i,o=e.a*(1-i)+t.a*i;return _e.fromOKLCH(r,n,a,o)})(a[l],a[l+1],c).toRgbaString()}refresh(){this.invalid&&(this.invalid=!1,this.update(),this.invalid&&C.warnOnce("Expected update to not invalidate scale"))}};c([ui],qg.prototype,"domain",2),c([ui],qg.prototype,"range",2);var Ug=class extends Su{constructor(){super(...arguments),this.maxSize=30}};c([mi(Ri),Pe({redraw:3})],Ug.prototype,"maxSize",2),c([mi(Hi,{optional:!0}),Pe({redraw:3})],Ug.prototype,"domain",2);var Kg=class extends Fn{constructor(){super(...arguments),this.placement="top"}};c([mi(na)],Kg.prototype,"placement",2);var jg=class extends Pd{constructor(){super(...arguments),this.colorRange=["#ffff00","#00ff00","#0000ff"],this.label=new Kg,this.tooltip=new ku,this.marker=new Ug}};c([mi(xi)],jg.prototype,"xKey",2),c([mi(xi)],jg.prototype,"yKey",2),c([mi(xi)],jg.prototype,"sizeKey",2),c([mi(xi,{optional:!0})],jg.prototype,"labelKey",2),c([mi(xi,{optional:!0})],jg.prototype,"colorKey",2),c([mi(xi,{optional:!0})],jg.prototype,"xName",2),c([mi(xi,{optional:!0})],jg.prototype,"yName",2),c([mi(xi,{optional:!0})],jg.prototype,"sizeName",2),c([mi(xi,{optional:!0})],jg.prototype,"labelName",2),c([mi(xi,{optional:!0})],jg.prototype,"colorName",2),c([mi(Hi,{optional:!0})],jg.prototype,"colorDomain",2),c([mi(Bi)],jg.prototype,"colorRange",2),c([mi(xi,{optional:!0})],jg.prototype,"title",2),c([Fr("marker.shape")],jg.prototype,"shape",2),c([Fr("marker.size")],jg.prototype,"size",2),c([Fr("marker.maxSize")],jg.prototype,"maxSize",2),c([Fr("marker.domain",{optional:!0})],jg.prototype,"domain",2),c([Fr("marker.fill",{optional:!0})],jg.prototype,"fill",2),c([Fr("marker.fillOpacity")],jg.prototype,"fillOpacity",2),c([Fr("marker.stroke",{optional:!0})],jg.prototype,"stroke",2),c([Fr("marker.strokeWidth")],jg.prototype,"strokeWidth",2),c([Fr("marker.strokeOpacity")],jg.prototype,"strokeOpacity",2),c([Fr("marker.itemStyler",{optional:!0})],jg.prototype,"itemStyler",2),c([mi(bi)],jg.prototype,"label",2),c([mi(bi)],jg.prototype,"tooltip",2);var Yg=class extends Td{constructor(e,t,i,a){super(e,t,i,a),this.sizeKey=a.properties.sizeKey}},$g=class extends Fd{constructor(e){super({moduleCtx:e,directionKeys:Ad,directionNames:Ed,pickModes:[2,3,0],pathsPerSeries:0,hasMarkers:!0,markerSelectionGarbageCollection:!1,animationResetFns:{label:yu,marker:Fu}}),this.NodeEvent=Yg,this.properties=new jg,this.sizeScale=new zd,this.colorScale=new qg}async processData(e){if(!this.properties.isValid()||null==this.data||!this.visible)return;const t=this.axes.x?.scale,i=this.axes.y?.scale,{xScaleType:a,yScaleType:n}=this.getScaleInformation({xScale:t,yScale:i}),r=this.colorScale.type,o=this.sizeScale.type,{xKey:s,yKey:l,sizeKey:c,labelKey:d,colorDomain:h,colorRange:u,colorKey:g,marker:p}=this.properties,{dataModel:m,processedData:f}=await this.requestDataModel(e,this.data,{props:[Oc(s,a,{id:"xKey-raw"}),Oc(l,n,{id:"yKey-raw"}),...d?[Oc(d,"band",{id:"labelKey-raw"})]:[],zc(s,a,{id:"xValue"}),zc(l,n,{id:"yValue"}),zc(c,o,{id:"sizeValue"}),...g?[zc(g,r,{id:"colorValue"})]:[],...d?[zc(d,"band",{id:"labelValue"})]:[]]}),v=m.resolveProcessedDataIndexById(this,"sizeValue"),y=f.domain.values[v]??[];if(this.sizeScale.domain=p.domain?p.domain:y,g){const e=m.resolveProcessedDataIndexById(this,"colorValue");this.colorScale.domain=h??f.domain.values[e]??[],this.colorScale.range=u,this.colorScale.update()}this.animationState.transition("updateData")}getSeriesDomain(e){const{dataModel:t,processedData:i}=this;if(!i||!t)return[];const a="x"===e?"xValue":"yValue",n=t.resolveProcessedDataDefById(this,a),r=t.getDomain(this,a,"value",i);if("value"===n?.def.type&&"category"===n?.def.valueType)return r;const o=this.axes[e];return Sl(ya(r),o)}async createNodeData(){const{axes:e,dataModel:t,processedData:i,colorScale:a,sizeScale:n}=this,{xKey:r,yKey:o,sizeKey:s,labelKey:l,xName:c,yName:d,sizeName:h,labelName:u,label:g,colorKey:p,marker:m,visible:f}=this.properties,v=wd(m.shape),{placement:y}=g,b=e.x,C=e.y;if(!(t&&i&&f&&b&&C))return;const w=t.resolveProcessedDataIndexById(this,"xValue"),S=t.resolveProcessedDataIndexById(this,"yValue"),x=s?t.resolveProcessedDataIndexById(this,"sizeValue"):-1,k=p?t.resolveProcessedDataIndexById(this,"colorValue"):-1,M=l?t.resolveProcessedDataIndexById(this,"labelValue"):-1,R=b.scale,D=C.scale,A=(R.bandwidth??0)/2,E=(D.bandwidth??0)/2,T=[];n.range=[m.size,m.maxSize];const P=g.getFont();for(const{values:e,datum:t}of i.data??[]){const i=e[w],f=e[S],b=R.convert(i)+A,C=D.convert(f)+E,F=this.getLabelText(g,{value:l?e[M]:f,datum:t,xKey:r,yKey:o,sizeKey:s,labelKey:l,xName:c,yName:d,sizeName:h,labelName:u}),I=Tn.getTextSize(String(F),P),L=s?n.convert(e[x]):m.size,N=p?a.convert(e[k]):void 0;T.push({series:this,itemId:o,yKey:o,xKey:r,datum:t,xValue:i,yValue:f,sizeValue:e[x],point:{x:b,y:C,size:L},midPoint:{x:b,y:C},fill:N,label:{text:F,...I},marker:v,placement:y})}return{itemId:o,nodeData:T,labelData:T,scales:this.calculateScaling(),visible:this.visible}}isPathOrSelectionDirty(){return this.properties.marker.isDirty()}getLabelData(){return this.contextNodeData?.labelData??[]}markerFactory(){const{shape:e}=this.properties.marker;return new(wd(e))}async updateMarkerSelection(e){const{nodeData:t,markerSelection:i}=e;this.properties.marker.isDirty()&&(i.clear(),i.cleanup());const a=this.properties.marker.enabled?t:[];return i.update(a,void 0,(e=>Tc([e.xValue,e.yValue,e.label.text])))}async updateMarkerNodes(e){const{markerSelection:t,isHighlight:i}=e,{xKey:a,yKey:n,sizeKey:r,labelKey:o,marker:s}=this.properties,{size:l,shape:c,fill:d,fillOpacity:h,stroke:u,strokeWidth:g,strokeOpacity:p}=vt(i&&this.properties.highlightStyle.item,s.getStyle()),m={size:l,shape:c,fill:d,fillOpacity:h,stroke:u,strokeWidth:g,strokeOpacity:p};this.sizeScale.range=[s.size,s.maxSize],t.each(((e,t)=>{this.updateMarkerStyle(e,s,{datum:t,highlighted:i,xKey:a,yKey:n,sizeKey:r,labelKey:o},m)})),i||this.properties.marker.markClean()}async updateLabelSelection(e){const t=this.properties.label.enabled?this.chart?.placeLabels().get(this)??[]:[];return e.labelSelection.update(t.map((e=>({...e.datum,point:{x:e.x,y:e.y,size:e.datum.point.size}}))))}async updateLabelNodes(e){const{label:t}=this.properties;e.labelSelection.each(((e,i)=>{e.text=i.label.text,e.fill=t.color,e.x=i.point?.x??0,e.y=i.point?.y??0,e.fontStyle=t.fontStyle,e.fontWeight=t.fontWeight,e.fontSize=t.fontSize,e.fontFamily=t.fontFamily,e.textAlign="left",e.textBaseline="top"}))}getTooltipHtml(e){const t=this.axes.x,i=this.axes.y;if(!this.properties.isValid()||!t||!i)return _r;const{xKey:a,yKey:n,sizeKey:r,labelKey:o,xName:s,yName:l,sizeName:c,labelName:d,marker:h,tooltip:u}=this.properties,g=this.properties.title??l,p=vt({fill:e.fill,strokeWidth:this.getStrokeWidth(h.strokeWidth)},h.getStyle()),{fill:m="gray"}=this.getMarkerStyle(h,{datum:e,highlighted:!1,xKey:a,yKey:n,sizeKey:r,labelKey:o},p),{datum:f,xValue:v,yValue:y,sizeValue:b,label:{text:C},itemId:w}=e,S=mu(t.formatDatum(v)),x=mu(i.formatDatum(y));let k=`<b>${mu(s??a)}</b>: ${S}<br><b>${mu(l??n)}</b>: ${x}`;return r&&(k+=`<br><b>${mu(c??r)}</b>: ${mu(String(b))}`),o&&(k=`<b>${mu(d??o)}</b>: ${mu(C)}<br>`+k),u.toTooltipHtml({title:g,content:k,backgroundColor:m},{datum:f,itemId:w,xKey:a,xName:s,yKey:n,yName:l,sizeKey:r,sizeName:c,labelKey:o,labelName:d,title:g,color:m,seriesId:this.id})}getLegendData(){if(!this.data?.length||!this.properties.isValid())return[];const{yKey:e,yName:t,title:i,marker:a,visible:n}=this.properties,{shape:r,fill:o,stroke:s,fillOpacity:l,strokeOpacity:c,strokeWidth:d}=a;return[{legendType:"category",id:this.id,itemId:e,seriesId:this.id,enabled:n,label:{text:i??t??e},symbols:[{marker:{shape:r,fill:o??"rgba(0, 0, 0, 0)",stroke:s??"rgba(0, 0, 0, 0)",fillOpacity:l??1,strokeOpacity:c??1,strokeWidth:d??0}}]}]}animateEmptyUpdateReady({markerSelection:e,labelSelection:t}){Tu(this,this.ctx.animationManager,e),fu(this,"labels",this.ctx.animationManager,t)}isLabelEnabled(){return this.properties.label.enabled}nodeFactory(){return new on}getFormattedMarkerStyle(e){const{xKey:t,yKey:i,sizeKey:a,labelKey:n}=this.properties;return this.getMarkerStyle(this.properties.marker,{datum:e,xKey:t,yKey:i,sizeKey:a,labelKey:n,highlighted:!1})}computeFocusBounds(e){return Nu(this,e)}};$g.className="BubbleSeries",$g.type="bubble";var Zg={type:"series",optionsKey:"series[]",packageType:"community",chartTypes:["cartesian"],identifier:"bubble",instanceConstructor:$g,tooltipDefaults:{range:"nearest"},defaultAxes:[{type:"number",position:"bottom"},{type:"number",position:"left"}],themeTemplate:{series:{shape:"circle",size:7,maxSize:30,fillOpacity:.8,tooltip:{position:{type:"node"}},label:{enabled:!1,fontSize:12,fontFamily:Gh,color:Bh}}},paletteFactory:Eh},Xg=class extends Pd{constructor(){super(...arguments),this.fillOpacity=1,this.strokeWidth=1,this.strokeOpacity=1,this.lineDash=[0],this.lineDashOffset=0,this.cornerRadius=0,this.areaPlot=!1,this.aggregation="sum",this.shadow=new Cu,this.label=new Fn,this.tooltip=new ku}};c([mi(xi)],Xg.prototype,"xKey",2),c([mi(xi,{optional:!0})],Xg.prototype,"yKey",2),c([mi(xi,{optional:!0})],Xg.prototype,"xName",2),c([mi(xi,{optional:!0})],Xg.prototype,"yName",2),c([mi(Gi,{optional:!0})],Xg.prototype,"fill",2),c([mi(Di)],Xg.prototype,"fillOpacity",2),c([mi(Gi,{optional:!0})],Xg.prototype,"stroke",2),c([mi(Ri)],Xg.prototype,"strokeWidth",2),c([mi(Di)],Xg.prototype,"strokeOpacity",2),c([mi(ji)],Xg.prototype,"lineDash",2),c([mi(Ri)],Xg.prototype,"lineDashOffset",2),c([mi(Ri)],Xg.prototype,"cornerRadius",2),c([mi(wi)],Xg.prototype,"areaPlot",2),c([mi(Ti,{optional:!0})],Xg.prototype,"bins",2),c([mi(ra(["count","sum","mean"],"a histogram aggregation"))],Xg.prototype,"aggregation",2),c([mi(Ri,{optional:!0})],Xg.prototype,"binCount",2),c([mi(bi)],Xg.prototype,"shadow",2),c([mi(bi)],Xg.prototype,"label",2),c([mi(bi)],Xg.prototype,"tooltip",2);var Qg=class extends Fd{constructor(e){super({moduleCtx:e,directionKeys:Ad,directionNames:Ed,pickModes:[3,0],datumSelectionGarbageCollection:!1,animationResetFns:{datum:Ng,label:yu}}),this.properties=new Xg,this.calculatedBins=[]}deriveBins(e){const t=qa(e[0],e[1],10),i=Ka(e[0],e[1],10),[a]=t;return[[a-i,a],...t.map((e=>[e,e+i]))]}calculateNiceBins(e,t){const i=Math.floor(e[0]),a=e[1],n=t||1,{start:r,binSize:o}=this.calculateNiceStart(i,a,n);return this.getBins(r,a,o,n)}getBins(e,t,i,a){const n=[],r=this.calculatePrecision(i);for(let o=0;o<a;o++){const s=Math.round((e+o*i)*r)/r;let l=Math.round((e+(o+1)*i)*r)/r;o===a-1&&(l=Math.max(l,t)),n[o]=[s,l]}return n}calculatePrecision(e){let t=10;if(isFinite(e)&&e>0)for(;e<1;)t*=10,e*=10;return t}calculateNiceStart(e,t,i){const a=Math.abs(t-e)/i,n=Math.floor(Math.log10(a)),r=Math.pow(10,n);return{start:Math.floor(e/r)*r,binSize:a}}async processData(e){this.visible||(this.processedData=void 0,this.animationState.transition("updateData"));const{xKey:t,yKey:i,areaPlot:a,aggregation:n}=this.properties,r=this.axes.x?.scale,o=this.axes.y?.scale,{xScaleType:s,yScaleType:l}=this.getScaleInformation({yScale:o,xScale:r}),c=[Oc(t,s),yc];if(i){let e=hc("groupAgg");"count"===n||("sum"===n?e=cc("groupAgg"):"mean"===n&&(e=uc("groupAgg"))),a&&(e=gc("groupAgg",e)),c.push(zc(i,l,{invalidValue:void 0}),e)}else{let e=hc("groupAgg");a&&(e=gc("groupAgg",e)),c.push(e)}!this.ctx.animationManager.isSkipped()&&this.processedData&&c.push(Ec(this.processedData,!1)),await this.requestDataModel(e,this.data,{props:c,groupByFn:e=>{const t=Sl(e.domain.keys[0]);if(0===t.length)return e.domain.groups=[],()=>[];const i=dt(this.properties.binCount)?this.calculateNiceBins(t,this.properties.binCount):this.properties.bins??this.deriveBins(t),a=i.length;return this.calculatedBins=[...i],e=>{const t=e.keys[0];for(let e=0;e<a;e++){const n=i[e];if(t>=n[0]&&t<n[1])return n;if(e===a-1&&t<=n[1])return n}return[]}}}),this.animationState.transition("updateData")}getSeriesDomain(e){const{processedData:t,dataModel:i}=this;if(!t||!i||!this.calculatedBins.length)return[];const a=i.getDomain(this,"groupAgg","aggregate",t),n=this.calculatedBins?.[0][0],r=this.calculatedBins?.[(this.calculatedBins?.length??0)-1][1];return Sl("x"===e?[n,r]:a)}async createNodeData(){const{id:e,axes:t,processedData:i,ctx:{callbackCache:a}}=this,n=t.x,r=t.y;if(!n||!r)return;const{scale:o}=n,{scale:s}=r,{xKey:l,yKey:c,xName:d,yName:h,fill:u,stroke:g,strokeWidth:p,cornerRadius:m}=this.properties,{formatter:f=(e=>String(e.value)),fontStyle:v,fontWeight:y,fontSize:b,fontFamily:C,color:w}=this.properties.label,S=[],x={itemId:this.properties.yKey??this.id,nodeData:S,labelData:S,scales:this.calculateScaling(),animationValid:!0,visible:this.visible};return this.visible&&i&&"grouped"===i.type?(i.data.forEach((t=>{const{aggValues:[[i,n]]=[[0,0]],datum:x,datum:{length:k},keys:M,keys:[R,D]}=t,A=o.convert(R),E=o.convert(D),T=i+n,P=s.convert(0),F=s.convert(T),I=Math.abs(E-A),L=Math.abs(F-P),N=Math.min(A,E),O=Math.min(P,F);let z;0!==T&&(z={text:a.call(f,{value:T,datum:x,seriesId:e,xKey:l,yKey:c,xName:d,yName:h})??String(T),fontStyle:v,fontWeight:y,fontSize:b,fontFamily:C,fill:w,x:N+I/2,y:O+L/2});const G={x:N+I/2,y:O+L/2},B=r.isReversed();S.push({series:this,datum:x,aggregatedValue:T,frequency:k,domain:M,yKey:c,xKey:l,x:N,y:O,xValue:A,yValue:F,width:I,height:L,midPoint:G,fill:u,stroke:g,cornerRadius:m,topLeftCornerRadius:!B,topRightCornerRadius:!B,bottomRightCornerRadius:B,bottomLeftCornerRadius:B,opacity:1,strokeWidth:p,label:z})})),S.sort(((e,t)=>e.x-t.x)),x):x}nodeFactory(){return new jd}async updateDatumSelection(e){const{nodeData:t,datumSelection:i}=e;return i.update(t,(e=>{e.tag=0,e.crisp=!0}),(e=>e.domain.join("_")))}async updateDatumNodes(e){const{isHighlight:t}=e,{fillOpacity:i,strokeOpacity:a,lineDash:n,lineDashOffset:r,shadow:o,highlightStyle:{item:{fill:s,fillOpacity:l=i,stroke:c,strokeWidth:d}}}=this.properties;e.datumSelection.each(((e,h,u)=>{const{cornerRadius:g,topLeftCornerRadius:p,topRightCornerRadius:m,bottomRightCornerRadius:f,bottomLeftCornerRadius:v}=h,y=t&&void 0!==d?d:h.strokeWidth,b=t?l:i;e.fill=(t?s:void 0)??h.fill,e.stroke=(t?c:void 0)??h.stroke,e.fillOpacity=b,e.strokeOpacity=a,e.strokeWidth=y,e.lineDash=n,e.lineDashOffset=r,e.topLeftCornerRadius=p?g:0,e.topRightCornerRadius=m?g:0,e.bottomRightCornerRadius=f?g:0,e.bottomLeftCornerRadius=v?g:0,e.fillShadow=o,e.zIndex=t?Uc.highlightedZIndex:u,e.visible=h.height>0}))}async updateLabelSelection(e){const{labelData:t,labelSelection:i}=e;return i.update(t,(e=>{e.tag=1,e.pointerEvents=1,e.textAlign="center",e.textBaseline="middle"}))}async updateLabelNodes(e){const t=this.isLabelEnabled();e.labelSelection.each(((e,i)=>{const a=i.label;a&&t?(e.text=a.text,e.x=a.x,e.y=a.y,e.fontStyle=a.fontStyle,e.fontWeight=a.fontWeight,e.fontSize=a.fontSize,e.fontFamily=a.fontFamily,e.fill=a.fill,e.visible=!0):e.visible=!1}))}initQuadTree(e){Sg(e,wg(this.contentGroup.children[0]))}pickNodeClosestDatum(e){return xg(this,e)}getTooltipHtml(e){const t=this.axes.x,i=this.axes.y;if(!this.properties.isValid()||!t||!i)return _r;const{xKey:a,yKey:n,xName:r,yName:o,fill:s,aggregation:l,tooltip:c}=this.properties,{aggregatedValue:d,frequency:h,domain:[u,g],itemId:p}=e,m=`${mu(r??a)}: ${t.formatDatum(u)} - ${t.formatDatum(g)}`;let f=n?`<b>${mu(o??n)} (${l})</b>: ${i.formatDatum(d)}<br>`:"";f+=`<b>Frequency</b>: ${h}`;const v={title:m,backgroundColor:s,content:f};return c.toTooltipHtml(v,{datum:{data:e.datum,aggregatedValue:e.aggregatedValue,domain:e.domain,frequency:e.frequency},itemId:p,xKey:a,xName:r,yKey:n,yName:o,color:s,title:m,seriesId:this.id})}getLegendData(e){if(!this.data?.length||"category"!==e)return[];const{xKey:t,yName:i,fill:a,fillOpacity:n,stroke:r,strokeWidth:o,strokeOpacity:s,visible:l}=this.properties;return[{legendType:"category",id:this.id,itemId:t,seriesId:this.id,enabled:l,label:{text:i??t??"Frequency"},symbols:[{marker:{fill:a??"rgba(0, 0, 0, 0)",stroke:r??"rgba(0, 0, 0, 0)",fillOpacity:n,strokeOpacity:s,strokeWidth:o}}]}]}animateEmptyUpdateReady({datumSelection:e,labelSelection:t}){const i=Lg(Fg(!0,this.axes,"normal"));Qt(this.id,"datums",this.ctx.animationManager,[e],i),fu(this,"labels",this.ctx.animationManager,t)}animateWaitingUpdateReady(e){const t=this.processedData?.reduced?.diff,i=Lg(Fg(!0,this.axes,"normal"));Qt(this.id,"datums",this.ctx.animationManager,[e.datumSelection],i,((e,t)=>Tc(t.domain)),t),fu(this,"labels",this.ctx.animationManager,e.labelSelection)}isLabelEnabled(){return this.properties.label.enabled}computeFocusBounds({datumIndex:e,seriesRect:t}){return Og(this.contextNodeData?.nodeData[e],this.contentGroup,t)}};Qg.className="HistogramSeries",Qg.type="histogram";var Jg={type:"series",optionsKey:"series[]",packageType:"community",chartTypes:["cartesian"],identifier:"histogram",instanceConstructor:Qg,tooltipDefaults:{range:"exact"},defaultAxes:[{type:"number",position:"bottom"},{type:"number",position:"left"}],themeTemplate:{series:{strokeWidth:1,fillOpacity:1,strokeOpacity:1,lineDash:[0],lineDashOffset:0,label:{enabled:!1,fontSize:12,fontFamily:Gh,color:Hh},shadow:{enabled:!1,color:jh,xOffset:3,yOffset:3,blur:5}}},paletteFactory:({takeColors:e})=>{const{fills:[t],strokes:[i]}=e(1);return{fill:t,stroke:i}}},ep=class extends Pd{constructor(){super(...arguments),this.stroke="#874349",this.strokeWidth=2,this.strokeOpacity=1,this.lineDash=[0],this.lineDashOffset=0,this.interpolation=new Du,this.marker=new Su,this.label=new Fn,this.tooltip=new ku,this.connectMissingData=!1}};c([mi(xi)],ep.prototype,"xKey",2),c([mi(xi)],ep.prototype,"yKey",2),c([mi(xi,{optional:!0})],ep.prototype,"xName",2),c([mi(xi,{optional:!0})],ep.prototype,"yName",2),c([mi(xi,{optional:!0})],ep.prototype,"stackGroup",2),c([mi(Ri,{optional:!0})],ep.prototype,"normalizedTo",2),c([mi(xi,{optional:!0})],ep.prototype,"title",2),c([mi(Gi)],ep.prototype,"stroke",2),c([mi(Ri)],ep.prototype,"strokeWidth",2),c([mi(Di)],ep.prototype,"strokeOpacity",2),c([mi(ji)],ep.prototype,"lineDash",2),c([mi(Ri)],ep.prototype,"lineDashOffset",2),c([mi(bi)],ep.prototype,"interpolation",2),c([mi(bi)],ep.prototype,"marker",2),c([mi(bi)],ep.prototype,"label",2),c([mi(bi)],ep.prototype,"tooltip",2),c([mi(wi)],ep.prototype,"connectMissingData",2);var tp=class extends Fd{constructor(e){super({moduleCtx:e,directionKeys:Ad,directionNames:Ed,hasMarkers:!0,pickModes:[2,3,0],markerSelectionGarbageCollection:!1,animationResetFns:{path:$u({getOpacity:()=>this.getOpacity()}),label:yu,marker:(e,t)=>({opacity:1,scalingX:1,scalingY:1,...Iu(0,t)})}}),this.properties=new ep}async processData(e){if(null==this.data||!this.properties.isValid())return;const{data:t,visible:i,seriesGrouping:{groupIndex:a=this.id,stackCount:n=1}={}}=this,{xKey:r,yKey:o,connectMissingData:s,normalizedTo:l}=this.properties,c=!this.ctx.animationManager.isSkipped(),d=this.axes.x?.scale,h=this.axes.y?.scale,{isContinuousX:u,xScaleType:g,yScaleType:p}=this.getScaleInformation({xScale:d,yScale:h}),m={invalidValue:null};s&&n>1&&(m.invalidValue=0),i||(m.forceValue=0);const f=[];if(u||f.push(Oc(r,g,{id:"xKey"})),f.push(zc(r,g,{id:"xValue"}),zc(o,p,{id:"yValueRaw",...m,invalidValue:void 0})),n>1){const e=[`line-stack-${a}-yValues`,`line-stack-${a}-yValues-trailing`,`line-stack-${a}-yValues-marker`];f.push(...Hc(o,"window","current",{id:"yValueEnd",...m,groupId:e[0]},p),...Hc(o,"window-trailing","current",{id:"yValueStart",...m,groupId:e[1]},p),...Hc(o,"normal","current",{id:"yValueCumulative",...m,groupId:e[2]},p)),Je(l)&&f.push(Cc([e[0],e[1],e[2]],l,"range"))}c&&(f.push(xc(u?["xValue"]:void 0)),this.processedData&&f.push(Ec(this.processedData))),await this.requestDataModel(e,t,{props:f}),this.animationState.transition("updateData")}getSeriesDomain(e){const{processedData:t,dataModel:i,axes:a}=this;if(!t||!i||0===t.data.length)return[];const n=a.x,r=a.y,o=i.resolveProcessedDataDefById(this,"xValue");if("x"===e){const e=i.getDomain(this,"xValue","value",t);return"value"===o?.def.type&&"category"===o.def.valueType?e:Sl(ya(e),n)}return Sl((this.seriesGrouping?.stackCount??1)>1?i.getDomain(this,"yValueEnd","value",t):i.getDomain(this,"yValueRaw","value",t),r)}async createNodeData(){const{processedData:e,dataModel:t,axes:i}=this,a=i.x,n=i.y;if(!(e&&t&&a&&n))return;const{xKey:r,yKey:o,xName:s,yName:l,marker:c,label:d,connectMissingData:h,legendItemName:u}=this.properties,g=(this.seriesGrouping?.stackCount??1)>1,p=a.scale,m=n.scale,f=(p.bandwidth??0)/2,v=(m.bandwidth??0)/2,y=[],b=c.enabled?c.size:0,C=t.resolveProcessedDataIndexById(this,"xValue"),w=t.resolveProcessedDataIndexById(this,"yValueRaw"),S=g?t.resolveProcessedDataIndexById(this,"yValueCumulative"):w,x=g?t.resolveProcessedDataIndexById(this,"yValueEnd"):void 0;let k=!0;return e.data?.forEach((({datum:e,values:t})=>{const i=t[C],a=t[w],n=t[S],c=null!=x?t[x]:void 0;if(null==a)return void(k||(k=!h));const g=p.convert(i)+f;if(isNaN(g))return void(k||(k=!h));const M=m.convert(n)+v,R=this.getLabelText(d,{value:a,datum:e,xKey:r,yKey:o,xName:s,yName:l,legendItemName:u},(e=>ht(e)?e.toFixed(2):String(e)));y.push({series:this,datum:e,yKey:o,xKey:r,point:{x:g,y:M,moveTo:k,size:b},midPoint:{x:g,y:M},cumulativeValue:c,yValue:a,xValue:i,capDefaults:{lengthRatioMultiplier:this.properties.marker.getDiameter(),lengthMax:1/0},label:R?{text:R,fontStyle:d.fontStyle,fontWeight:d.fontWeight,fontSize:d.fontSize,fontFamily:d.fontFamily,textAlign:"center",textBaseline:"bottom",fill:d.color}:void 0}),k=!1})),{itemId:o,nodeData:y,labelData:y,scales:this.calculateScaling(),visible:this.visible}}isPathOrSelectionDirty(){return this.properties.marker.isDirty()}markerFactory(){const{shape:e}=this.properties.marker;return new(wd(e))}async updatePathNodes(e){const{paths:[t],opacity:i,visible:a,animationEnabled:n}=e;t.setProperties({fill:void 0,lineJoin:"round",pointerEvents:1,opacity:i,stroke:this.properties.stroke,strokeWidth:this.getStrokeWidth(this.properties.strokeWidth),strokeOpacity:this.properties.strokeOpacity,lineDash:this.properties.lineDash,lineDashOffset:this.properties.lineDashOffset}),n||(t.visible=a),Zu(this,t)}async updateMarkerSelection(e){let{nodeData:t}=e;const{markerSelection:i}=e,{shape:a,enabled:n}=this.properties.marker;return t=a&&n?t:[],this.properties.marker.isDirty()&&(i.clear(),i.cleanup()),i.update(t,void 0,(e=>Tc(e.xValue)))}async updateMarkerNodes(e){const{markerSelection:t,isHighlight:i}=e,{xKey:a,yKey:n,stroke:r,strokeWidth:o,strokeOpacity:s,marker:l,highlightStyle:c}=this.properties,d=vt(i&&c.item,l.getStyle(),{stroke:r,strokeWidth:o,strokeOpacity:s}),h=this.ctx.animationManager.isSkipped();t.each(((e,t)=>{this.updateMarkerStyle(e,l,{datum:t,highlighted:i,xKey:a,yKey:n},d,{applyTranslation:h})})),i||l.markClean()}async updateLabelSelection(e){return e.labelSelection.update(this.isLabelEnabled()?e.labelData:[])}async updateLabelNodes(e){const{enabled:t,fontStyle:i,fontWeight:a,fontSize:n,fontFamily:r,color:o}=this.properties.label;e.labelSelection.each(((e,s)=>{const{point:l,label:c}=s;s&&c&&t?(e.fontStyle=i,e.fontWeight=a,e.fontSize=n,e.fontFamily=r,e.textAlign=c.textAlign,e.textBaseline=c.textBaseline,e.text=c.text,e.x=l.x,e.y=l.y-10,e.fill=o,e.visible=!0):e.visible=!1}))}getTooltipHtml(e){const t=this.axes.x,i=this.axes.y;if(!this.properties.isValid()||!t||!i)return _r;const{xKey:a,yKey:n,xName:r,yName:o,strokeWidth:s,marker:l,tooltip:c}=this.properties,{datum:d,xValue:h,yValue:u,itemId:g}=e,p=t.formatDatum(h),m=i.formatDatum(u),f=mu(this.properties.title??o),v=mu(p+": "+m),y=vt({fill:l.stroke},l.getStyle(),{strokeWidth:s}),{fill:b}=this.getMarkerStyle(l,{datum:e,xKey:a,yKey:n,highlighted:!1},y);return c.toTooltipHtml({title:f,content:v,backgroundColor:b},{datum:d,itemId:g,xKey:a,xName:r,yKey:n,yName:o,title:f,color:b,seriesId:this.id,...this.getModuleTooltipParams()})}getLegendData(e){if(!this.data?.length||!this.properties.isValid()||"category"!==e)return[];const{yKey:t,yName:i,stroke:a,strokeOpacity:n,strokeWidth:r,lineDash:o,title:s,marker:l,visible:c,legendItemName:d}=this.properties,h="rgba(0, 0, 0, 0)";return[{legendType:"category",id:this.id,itemId:t,legendItemName:d,seriesId:this.id,enabled:c,label:{text:d??s??i??t},symbols:[{marker:{shape:l.shape,fill:l.fill??h,stroke:l.stroke??a??h,fillOpacity:l.fillOpacity??1,strokeOpacity:l.strokeOpacity??n??1,strokeWidth:l.strokeWidth??0,enabled:l.enabled},line:{stroke:a??h,strokeOpacity:n,strokeWidth:r,lineDash:o}}]}]}async updatePaths(e){this.updateLinePaths(e.paths,e.contextData)}updateLinePaths(e,t){const{interpolation:i}=this.properties,{nodeData:a}=t,[n]=e;n.path.clear(!0);for(const e of tg(a))_u(ig(a,e),n,i);n.checkPathDirty()}animateEmptyUpdateReady(e){const{markerSelection:t,labelSelection:i,annotationSelections:a,contextData:n,paths:r}=e,{animationManager:o}=this.ctx;this.updateLinePaths(r,n),Ku(this,o,...r),cr([t],Iu),Pu(this,o,t),fu(this,"labels",o,i),fu(this,"annotations",o,...a)}animateReadyResize(e){const{contextData:t,paths:i}=e;this.updateLinePaths(i,t),super.animateReadyResize(e)}animateWaitingUpdateReady(e){const{animationManager:t}=this.ctx,{markerSelection:i,labelSelection:a,annotationSelections:n,contextData:r,paths:o,previousContextData:s}=e,[l]=o;super.resetAllAnimation(e);const c=()=>{this.updateLinePaths(o,r)};if(null==r||null==s)return c(),Eu(this,t,"added",i),ju(this,"path_properties",t,"add",l),fu(this,"labels",t,a),void fu(this,"annotations",t,...n);const d=ug(r,s,this.processedData?.reduced?.diff,this.properties.interpolation);if(void 0===d)return t.skipCurrentBatch(),void c();"no-op"!==d.status&&(Eu(this,t,void 0,i),Qt(this.id,"path_properties",t,[l],d.pathProperties),gu(this.id,"path_update",t,[l],d.path),d.hasMotion&&(fu(this,"labels",t,a),fu(this,"annotations",t,...n)))}isLabelEnabled(){return this.properties.label.enabled}getBandScalePadding(){return{inner:1,outer:.1}}nodeFactory(){return new on}getFormattedMarkerStyle(e){const{xKey:t,yKey:i}=this.properties;return this.getMarkerStyle(this.properties.marker,{datum:e,xKey:t,yKey:i,highlighted:!0})}computeFocusBounds(e){return Nu(this,e)}};tp.className="LineSeries",tp.type="line";var ip={type:"series",optionsKey:"series[]",packageType:"community",chartTypes:["cartesian"],identifier:"line",instanceConstructor:tp,stackable:!0,tooltipDefaults:{range:"nearest"},defaultAxes:[{type:"number",position:"left"},{type:"category",position:"bottom"}],themeTemplate:{series:{tooltip:{position:{type:"node"}},strokeWidth:2,strokeOpacity:1,lineDash:[0],lineDashOffset:0,interpolation:{type:"linear",tension:1,position:"end"},marker:{shape:"circle",size:7,strokeWidth:0},label:{enabled:!1,fontSize:12,fontFamily:Gh,color:Bh}}},enterpriseThemeTemplate:{series:{errorBar:{cap:{lengthRatio:1}}}},paletteFactory:e=>{const{marker:t}=Th(e);return{stroke:t.fill,marker:t}}},ap=class extends Fn{constructor(){super(...arguments),this.placement="top"}};c([mi(na)],ap.prototype,"placement",2);var np=class extends Pd{constructor(){super(...arguments),this.colorRange=["#ffff00","#00ff00","#0000ff"],this.label=new ap,this.tooltip=new ku,this.marker=new Su}};c([mi(xi)],np.prototype,"xKey",2),c([mi(xi)],np.prototype,"yKey",2),c([mi(xi,{optional:!0})],np.prototype,"labelKey",2),c([mi(xi,{optional:!0})],np.prototype,"colorKey",2),c([mi(xi,{optional:!0})],np.prototype,"xName",2),c([mi(xi,{optional:!0})],np.prototype,"yName",2),c([mi(xi,{optional:!0})],np.prototype,"labelName",2),c([mi(xi,{optional:!0})],np.prototype,"colorName",2),c([mi(Hi,{optional:!0})],np.prototype,"colorDomain",2),c([mi(Bi)],np.prototype,"colorRange",2),c([mi(xi,{optional:!0})],np.prototype,"title",2),c([Fr("marker.shape")],np.prototype,"shape",2),c([Fr("marker.size")],np.prototype,"size",2),c([Fr("marker.fill")],np.prototype,"fill",2),c([Fr("marker.fillOpacity")],np.prototype,"fillOpacity",2),c([Fr("marker.stroke")],np.prototype,"stroke",2),c([Fr("marker.strokeWidth")],np.prototype,"strokeWidth",2),c([Fr("marker.strokeOpacity")],np.prototype,"strokeOpacity",2),c([Fr("marker.itemStyler",{optional:!0})],np.prototype,"itemStyler",2),c([mi(bi)],np.prototype,"label",2),c([mi(bi)],np.prototype,"tooltip",2);var rp=class extends Fd{constructor(e){super({moduleCtx:e,directionKeys:Ad,directionNames:Ed,pickModes:[2,3,0],pathsPerSeries:0,hasMarkers:!0,markerSelectionGarbageCollection:!1,animationResetFns:{marker:Fu,label:yu}}),this.properties=new np,this.colorScale=new qg}async processData(e){if(!this.properties.isValid()||null==this.data||!this.visible)return;const t=this.axes.x?.scale,i=this.axes.y?.scale,{xScaleType:a,yScaleType:n}=this.getScaleInformation({xScale:t,yScale:i}),r=this.colorScale.type,{xKey:o,yKey:s,labelKey:l,colorKey:c,colorDomain:d,colorRange:h}=this.properties,{dataModel:u,processedData:g}=await this.requestDataModel(e,this.data,{props:[Oc(o,a,{id:"xKey-raw"}),Oc(s,n,{id:"yKey-raw"}),...l?[Oc(l,"band",{id:"labelKey-raw"})]:[],zc(o,a,{id:"xValue"}),zc(s,n,{id:"yValue"}),...c?[zc(c,r,{id:"colorValue"})]:[],...l?[zc(l,"band",{id:"labelValue"})]:[]]});if(c){const e=u.resolveProcessedDataIndexById(this,"colorValue");this.colorScale.domain=d??g.domain.values[e]??[],this.colorScale.range=h,this.colorScale.update()}this.animationState.transition("updateData")}getSeriesDomain(e){const{dataModel:t,processedData:i}=this;if(!i||!t)return[];const a="x"===e?"xValue":"yValue",n=t.resolveProcessedDataDefById(this,a),r=t.getDomain(this,a,"value",i);if("value"===n?.def.type&&"category"===n?.def.valueType)return r;const o=this.axes[e];return Sl(ya(r),o)}async createNodeData(){const{axes:e,dataModel:t,processedData:i,colorScale:a}=this,{xKey:n,yKey:r,labelKey:o,colorKey:s,xName:l,yName:c,labelName:d,marker:h,label:u,visible:g}=this.properties,{placement:p}=u,m=wd(h.shape),f=e.x,v=e.y;if(!(t&&i&&g&&f&&v))return;const y=t.resolveProcessedDataIndexById(this,"xValue"),b=t.resolveProcessedDataIndexById(this,"yValue"),C=s?t.resolveProcessedDataIndexById(this,"colorValue"):-1,w=o?t.resolveProcessedDataIndexById(this,"labelValue"):-1,S=f.scale,x=v.scale,k=(S.bandwidth??0)/2,M=(x.bandwidth??0)/2,R=[],D=u.getFont();for(const{values:e,datum:t}of i.data??[]){const i=e[y],g=e[b],f=S.convert(i)+k,v=x.convert(g)+M,A=this.getLabelText(u,{value:o?e[w]:g,datum:t,xKey:n,yKey:r,labelKey:o,xName:l,yName:c,labelName:d}),E=Tn.getTextSize(A,D),T=s?a.convert(e[C]):void 0;R.push({series:this,itemId:r,yKey:r,xKey:n,datum:t,xValue:i,yValue:g,capDefaults:{lengthRatioMultiplier:h.getDiameter(),lengthMax:1/0},point:{x:f,y:v,size:h.size},midPoint:{x:f,y:v},fill:T,label:{text:A,...E},marker:m,placement:p})}return{itemId:r,nodeData:R,labelData:R,scales:this.calculateScaling(),visible:this.visible}}isPathOrSelectionDirty(){return this.properties.marker.isDirty()}getLabelData(){return this.contextNodeData?.labelData??[]}markerFactory(){const{shape:e}=this.properties.marker;return new(wd(e))}async updateMarkerSelection(e){const{nodeData:t,markerSelection:i}=e;return this.properties.marker.isDirty()&&(i.clear(),i.cleanup()),i.update(this.properties.marker.enabled?t:[])}async updateMarkerNodes(e){const{markerSelection:t,isHighlight:i}=e,{xKey:a,yKey:n,labelKey:r,marker:o,highlightStyle:s}=this.properties,l=vt(i&&s.item,o.getStyle());t.each(((e,t)=>{this.updateMarkerStyle(e,o,{datum:t,highlighted:i,xKey:a,yKey:n,labelKey:r},l)})),i||o.markClean()}async updateLabelSelection(e){const t=this.isLabelEnabled()?this.chart?.placeLabels().get(this)??[]:[];return e.labelSelection.update(t.map((({datum:e,x:t,y:i})=>({...e,point:{x:t,y:i,size:e.point.size},placement:"top"}))),(e=>{e.pointerEvents=1}))}async updateLabelNodes(e){const{label:t}=this.properties;e.labelSelection.each(((e,i)=>{e.text=i.label.text,e.fill=t.color,e.x=i.point?.x??0,e.y=i.point?.y??0,e.fontStyle=t.fontStyle,e.fontWeight=t.fontWeight,e.fontSize=t.fontSize,e.fontFamily=t.fontFamily,e.textAlign="left",e.textBaseline="top"}))}getTooltipHtml(e){const t=this.axes.x,i=this.axes.y;if(!this.properties.isValid()||!t||!i)return _r;const{xKey:a,yKey:n,labelKey:r,xName:o,yName:s,labelName:l,title:c=s,marker:d,tooltip:h}=this.properties,{datum:u,xValue:g,yValue:p,label:m,itemId:f}=e,v=vt({fill:e.fill,strokeWidth:this.getStrokeWidth(d.strokeWidth)},d.getStyle()),{fill:y="gray"}=this.getMarkerStyle(d,{datum:e,highlighted:!1,xKey:a,yKey:n,labelKey:r},v),b=mu(t.formatDatum(g)),C=mu(i.formatDatum(p));let w=`<b>${mu(o??a)}</b>: ${b}<br><b>${mu(s??n)}</b>: ${C}`;return r&&(w=`<b>${mu(l??r)}</b>: ${mu(m.text)}<br>`+w),h.toTooltipHtml({title:c,content:w,backgroundColor:y},{datum:u,itemId:f,xKey:a,xName:o,yKey:n,yName:s,labelKey:r,labelName:l,title:c,color:y,seriesId:this.id,...this.getModuleTooltipParams()})}getLegendData(e){const{yKey:t,yName:i,title:a,marker:n,visible:r}=this.properties,{fill:o,stroke:s,fillOpacity:l,strokeOpacity:c,strokeWidth:d}=n;return this.data?.length&&this.properties.isValid()&&"category"===e?[{legendType:"category",id:this.id,itemId:t,seriesId:this.id,enabled:r,label:{text:a??i??t},symbols:[{marker:{shape:n.shape,fill:n.fill??o??"rgba(0, 0, 0, 0)",stroke:n.stroke??s??"rgba(0, 0, 0, 0)",fillOpacity:l??1,strokeOpacity:c??1,strokeWidth:d??0}}]}]:[]}animateEmptyUpdateReady(e){const{markerSelection:t,labelSelection:i,annotationSelections:a}=e;Tu(this,this.ctx.animationManager,t),fu(this,"labels",this.ctx.animationManager,i),fu(this,"annotations",this.ctx.animationManager,...a)}isLabelEnabled(){return this.properties.label.enabled}nodeFactory(){return new on}getFormattedMarkerStyle(e){const{xKey:t,yKey:i,labelKey:a}=this.properties;return this.getMarkerStyle(this.properties.marker,{datum:e,xKey:t,yKey:i,labelKey:a,highlighted:!0})}computeFocusBounds(e){return Nu(this,e)}};rp.className="ScatterSeries",rp.type="scatter";var op={type:"series",optionsKey:"series[]",packageType:"community",chartTypes:["cartesian"],identifier:"scatter",instanceConstructor:rp,tooltipDefaults:{range:"nearest"},defaultAxes:[{type:"number",position:"bottom"},{type:"number",position:"left"}],themeTemplate:{series:{shape:"circle",size:7,fillOpacity:.8,tooltip:{position:{type:"node"}},label:{enabled:!1,fontSize:12,fontFamily:Gh,color:Bh}}},enterpriseThemeTemplate:{series:{errorBar:{cap:{lengthRatio:1}}}},paletteFactory:Eh},sp=class e{constructor(e,t,i,a){this.startAngle=e,this.endAngle=t,this.innerRadius=i,this.outerRadius=a}clone(){const{startAngle:t,endAngle:i,innerRadius:a,outerRadius:n}=this;return new e(t,i,a,n)}[ue](t,i){return new e(this.startAngle*(1-i)+t.startAngle*i,this.endAngle*(1-i)+t.endAngle*i,this.innerRadius*(1-i)+t.innerRadius*i,this.outerRadius*(1-i)+t.outerRadius*i)}};function lp({startAngle:e,endAngle:t,innerRadius:i,outerRadius:a}){let n=1/0,r=1/0,o=-1/0,s=-1/0;const l=(e,t)=>{n=Math.min(e,n),r=Math.min(t,r),o=Math.max(e,o),s=Math.max(t,s)};return l(i*Math.cos(e),i*Math.sin(e)),l(i*Math.cos(t),i*Math.sin(t)),l(a*Math.cos(e),a*Math.sin(e)),l(a*Math.cos(t),a*Math.sin(t)),hn(0,e,t)&&l(a,0),hn(.5*Math.PI,e,t)&&l(0,a),hn(Math.PI,e,t)&&l(-a,0),hn(1.5*Math.PI,e,t)&&l(0,-a),new Ee(n,r,o-n,s-r)}function cp(e,t,i){const a=Math.sqrt(Math.pow(e,2)+Math.pow(t,2)),{innerRadius:n,outerRadius:r}=i;if(i.startAngle===i.endAngle||a<Math.min(n,r)||a>Math.max(n,r))return!1;const o=dn(i.startAngle),s=dn(i.endAngle),l=Math.atan2(t,e);return o<s?l<=s&&l>=o:l<=s&&l>=-Math.PI||l>=o&&l<=Math.PI}function dp(e,t){const{startAngle:i,endAngle:a,innerRadius:n,outerRadius:r}=t,o={x:r*Math.cos(i),y:r*Math.sin(i)},s={x:r*Math.cos(a),y:r*Math.sin(a)},l=0===n?{x:0,y:0}:{x:n*Math.cos(i),y:n*Math.sin(i)},c=0===n?{x:0,y:0}:{x:n*Math.cos(a),y:n*Math.sin(a)};return xs(e.start.x,e.start.y,e.end.x,e.end.y,o.x,o.y,l.x,l.y)||xs(e.start.x,e.start.y,e.end.x,e.end.y,s.x,s.y,c.x,c.y)||Rs(0,0,r,i,a,!0,e.start.x,e.start.y,e.end.x,e.end.y)}function hp(e,t){const i={x:e.x,y:e.y},a={x:e.x+e.width,y:e.y},n={x:e.x,y:e.y+e.height},r={x:e.x+e.width,y:e.y+e.height};return dp({start:i,end:a},t)||dp({start:n,end:r},t)}function up(e,t,i,a){if(0===i&&0===a)return 0;if(Math.asin(Math.abs(1*i)/(e+1*i))+Math.asin(Math.abs(1*a)/(e+1*a))-t<0)return 1;let n=0,r=1;for(let o=0;o<8;o+=1){const o=(n+r)/2;Math.asin(Math.abs(o*i)/(e+o*i))+Math.asin(Math.abs(o*a)/(e+o*a))-t<0?n=o:r=o}return n}var gp=1e-6;function pp(e,t){return mn(e,t)<gp?t:ln(e-t)+t}function mp(e,t,i=0){const a=Math.abs(t-e)>=2*Math.PI?2*Math.PI:ln(t-e);return{startAngle:e=pp(e,i),endAngle:t=e+a}}function fp(e,t,i,a,n,r){const o=Math.sin(r),s=Math.cos(r),l=e**2+t**2-i**2;let c=NaN,d=NaN,h=NaN,u=NaN;if(s>.5){const i=o/s,a=1+i**2,n=-2*(e+t*i),r=n**2-4*a*l;if(r<0)return;const g=(-n+Math.sqrt(r))/(2*a),p=(-n-Math.sqrt(r))/(2*a);c=g,d=g*i,h=p,u=p*i}else{const i=s/o,a=1+i**2,n=-2*(t+e*i),r=n**2-4*a*l;if(r<0)return;const g=(-n+Math.sqrt(r))/(2*a),p=(-n-Math.sqrt(r))/(2*a);c=g*i,d=g,h=p*i,u=p}const g=h*s+u*o,p=c*s+d*o>0?pp(Math.atan2(d-t,c-e),a):NaN,m=g>0?pp(Math.atan2(u-t,h-e),a):NaN;return p>=a&&p<=n?p:m>=a&&m<=n?m:void 0}function vp(e,t,i,a,n,r){const o=Math.hypot(e,t),s=o-(o**2-i**2+r**2)/(2*o),l=Math.atan2(t,e),c=Math.acos(-s/i),d=pp(l+c,a),h=pp(l-c,a);return d>=a&&d<=n?d:h>=a&&h<=n?h:void 0}var yp=class{constructor(e,t,i,a,n){this.cx=e,this.cy=t,this.r=i,this.a0=a,this.a1=n,this.a0>=this.a1&&(this.a0=NaN,this.a1=NaN)}isValid(){return Number.isFinite(this.a0)&&Number.isFinite(this.a1)}pointAt(e){return{x:this.cx+this.r*Math.cos(e),y:this.cy+this.r*Math.sin(e)}}clipStart(e){null==e||!this.isValid()||e<this.a0||(this.a0=e,(Number.isNaN(e)||this.a0>=this.a1)&&(this.a0=NaN,this.a1=NaN))}clipEnd(e){null==e||!this.isValid()||e>this.a1||(this.a1=e,(Number.isNaN(e)||this.a0>=this.a1)&&(this.a0=NaN,this.a1=NaN))}},bp=class extends Es{constructor(){super(...arguments),this.centerX=0,this.centerY=0,this.innerRadius=10,this.outerRadius=20,this.startAngle=0,this.endAngle=2*Math.PI,this.clipSector=void 0,this.concentricEdgeInset=0,this.radialEdgeInset=0,this.startOuterCornerRadius=0,this.endOuterCornerRadius=0,this.startInnerCornerRadius=0,this.endInnerCornerRadius=0}set inset(e){this.concentricEdgeInset=e,this.radialEdgeInset=e}set cornerRadius(e){this.startOuterCornerRadius=e,this.endOuterCornerRadius=e,this.startInnerCornerRadius=e,this.endInnerCornerRadius=e}computeBBox(){return lp(this).translate(this.centerX,this.centerY)}normalizedRadii(){const{concentricEdgeInset:e}=this;return{innerRadius:Math.max(Math.min(this.innerRadius,this.outerRadius)+e,0),outerRadius:Math.max(Math.max(this.innerRadius,this.outerRadius)-e,0)}}normalizedClipSector(){const{clipSector:e}=this;if(null==e)return;const{startAngle:t,endAngle:i}=mp(this.startAngle,this.endAngle),{innerRadius:a,outerRadius:n}=this.normalizedRadii(),r=mp(e.startAngle,e.endAngle,t);return new sp(Math.max(t,r.startAngle),Math.min(i,r.endAngle),Math.max(a,e.innerRadius),Math.min(n,e.outerRadius))}getAngleOffset(e){return e>0?this.radialEdgeInset/e:0}arc(e,t,i,a,n,r,o,s){if(e<=0)return;const{startAngle:l,endAngle:c}=mp(this.startAngle,this.endAngle),{innerRadius:d,outerRadius:h}=this.normalizedRadii(),u=this.normalizedClipSector();if(s&&d<=0)return;const g=this.getAngleOffset(d),p=this.getAngleOffset(h),m=s?this.getAngleOffset(d+e):this.getAngleOffset(h-e),f=o?l+m+t:c-m-t,v=s?d+e:h-e,y=v*Math.cos(f),b=v*Math.sin(f);if(null!=u){const e=1e-6;if(!(o||f>=l-e&&f<=u.endAngle-e))return;if(o&&!(f>=u.startAngle+e&&f<=c-e))return;if(s&&!(v>=u.innerRadius-e))return;if(!(s||v<=u.outerRadius+e))return}const C=new yp(y,b,e,i,a);if(null!=u){let t,c;if(s?(C.clipStart(fp(y,b,e,i,a,u.endAngle-g)),C.clipEnd(fp(y,b,e,i,a,u.startAngle+g))):(C.clipStart(fp(y,b,e,i,a,u.startAngle+p)),C.clipEnd(fp(y,b,e,i,a,u.endAngle-p))),o?(t=vp(y,b,e,i,a,u.innerRadius),c=vp(y,b,e,i,a,u.outerRadius)):(t=vp(y,b,e,i,a,u.outerRadius),c=vp(y,b,e,i,a,u.innerRadius)),C.clipStart(t),C.clipEnd(c),null!=t){const{x:e,y:i}=C.pointAt(t),a=pp(Math.atan2(i,e),l);o?r?.clipStart(a):n.clipEnd(a)}if(null!=c){const{x:e,y:t}=C.pointAt(c),i=pp(Math.atan2(t,e),l);o?n.clipStart(i):r?.clipEnd(i)}}if(null!=u){const{x:e,y:t}=C.pointAt((C.a0+C.a1)/2);if(!cp(e,t,u))return}const{x:w,y:S}=C.pointAt(o===s?C.a0:C.a1),x=pp(Math.atan2(S,w),l),k=s?r:n;return o?k?.clipStart(x):k?.clipEnd(x),C}updatePath(){const e=1e-6,{path:t,centerX:i,centerY:a,concentricEdgeInset:n,radialEdgeInset:r}=this;let{startOuterCornerRadius:o,endOuterCornerRadius:s,startInnerCornerRadius:l,endInnerCornerRadius:c}=this;const{startAngle:d,endAngle:h}=mp(this.startAngle,this.endAngle),{innerRadius:u,outerRadius:g}=this.normalizedRadii(),p=this.normalizedClipSector(),m=h-d,f=m>=2*Math.PI-e;if(t.clear(),0===this.innerRadius&&0===this.outerRadius)return;if((p?.startAngle??d)===(p?.endAngle??h))return;if(f&&null==this.clipSector&&0===o&&0===s&&0===l&&0===c)return t.moveTo(i+g*Math.cos(d),a+g*Math.sin(d)),t.arc(i,a,g,d,h),u>n&&(t.moveTo(i+u*Math.cos(h),a+u*Math.sin(h)),t.arc(i,a,u,h,d,!0)),void t.closePath();const v=this.getAngleOffset(u),y=this.getAngleOffset(g);if(m<2*y)return;const b=(p?.innerRadius??u)>n,C=u<n||m<2*v,w=g-u,S=Math.max(o,l,s,c),x=S>0?Math.min(w/S,1):1;o*=x,s*=x,l*=x,c*=x;const k=up(g,m-2*y,-o,-s);if(o*=k,s*=k,!C&&b){const e=up(u,m-2*v,l,c);l*=e,c*=e}else l=0,c=0;const M=Math.max(o+l,s+c),R=M>0?Math.min(w/M,1):1;o*=R,s*=R,l*=R,c*=R;let D=0,A=0;const E=o/(g-o),T=s/(g-s);if(E>=0&&E<.999999)D=Math.asin(E);else{D=m/2;const e=g/(1/Math.sin(D)+1);o=Math.min(e,o)}if(T>=0&&T<.999999)A=Math.asin(T);else{A=m/2;const e=g/(1/Math.sin(A)+1);s=Math.min(e,s)}const P=Math.asin(l/(u+l)),F=Math.asin(c/(u+c)),I=p?.outerRadius??g,L=this.getAngleOffset(I),N=new yp(0,0,I,d+L,h-L),O=p?.innerRadius??u,z=this.getAngleOffset(O),G=b?new yp(0,0,O,d+z,h-z):void 0;null!=p&&(N.clipStart(p.startAngle),N.clipEnd(p.endAngle),G?.clipStart(p.startAngle),G?.clipEnd(p.endAngle));const B=this.arc(o,D,d-.5*Math.PI,d+D,N,G,!0,!1),V=this.arc(s,A,h-A,h+.5*Math.PI,N,G,!1,!1),H=this.arc(c,F,h+.5*Math.PI,h+Math.PI-F,N,G,!1,!0),W=this.arc(l,P,d+Math.PI+P,d+1.5*Math.PI,N,G,!0,!0);if(C){const e=m<.5*Math.PI?r*(1+Math.cos(m))/Math.sin(m):NaN;let n;n=e>0&&e<g?Math.max(Math.hypot(r,e),u):u;const o=d+.5*m;t.moveTo(i+n*Math.cos(o),a+n*Math.sin(o))}else if(!0===W?.isValid()||!0===G?.isValid());else{const e=d+m/2,n=u*Math.cos(e),r=u*Math.sin(e);t.moveTo(i+n,a+r)}if(!0===B?.isValid()){const{cx:e,cy:n,r:r,a0:o,a1:s}=B;t.arc(i+e,a+n,r,o,s)}if(N.isValid()){const{r:e,a0:n,a1:r}=N;t.arc(i,a,e,n,r)}if(!0===V?.isValid()){const{cx:e,cy:n,r:r,a0:o,a1:s}=V;t.arc(i+e,a+n,r,o,s)}if(!C){if(!0===H?.isValid()){const{cx:e,cy:n,r:r,a0:o,a1:s}=H;t.arc(i+e,a+n,r,o,s)}if(!0===G?.isValid()){const{r:e,a0:n,a1:r}=G;t.arc(i,a,e,r,n,!0)}if(!0===W?.isValid()){const{cx:e,cy:n,r:r,a0:o,a1:s}=W;t.arc(i+e,a+n,r,o,s)}}t.closePath()}isPointInPath(e,t){const i=this.transformPoint(e,t),{startAngle:a,endAngle:n,innerRadius:r,outerRadius:o}=this.clipSector??this;return cp(i.x-this.centerX,i.y-this.centerY,{startAngle:a,endAngle:n,innerRadius:Math.min(r,o),outerRadius:Math.max(r,o)})}};bp.className="Sector",c([As()],bp.prototype,"centerX",2),c([As()],bp.prototype,"centerY",2),c([As()],bp.prototype,"innerRadius",2),c([As()],bp.prototype,"outerRadius",2),c([As()],bp.prototype,"startAngle",2),c([As()],bp.prototype,"endAngle",2),c([As()],bp.prototype,"clipSector",2),c([As()],bp.prototype,"concentricEdgeInset",2),c([As()],bp.prototype,"radialEdgeInset",2),c([As()],bp.prototype,"startOuterCornerRadius",2),c([As()],bp.prototype,"endOuterCornerRadius",2),c([As()],bp.prototype,"startInnerCornerRadius",2),c([As()],bp.prototype,"endInnerCornerRadius",2);var Cp={BLUE:"#5090dc",ORANGE:"#ffa03a",GREEN:"#459d55",CYAN:"#34bfe1",YELLOW:"#e1cc00",VIOLET:"#9669cb",GRAY:"#b5b5b5",MAGENTA:"#bd5aa7",BROWN:"#8a6224",RED:"#ef5452"},wp={BLUE:"#2b5c95",ORANGE:"#cc6f10",GREEN:"#1e652e",CYAN:"#18859e",YELLOW:"#a69400",VIOLET:"#603c88",GRAY:"#575757",MAGENTA:"#7d2f6d",BROWN:"#4f3508",RED:"#a82529"},Sp=class extends Yr{constructor(){super(...arguments),this.showInLegend=!1}};c([mi(wi)],Sp.prototype,"showInLegend",2);var xp=class extends Fn{constructor(){super(...arguments),this.spacing=2}set(e,t){return super.set(e)}};c([mi(xi)],xp.prototype,"text",2),c([mi(ki)],xp.prototype,"spacing",2);var kp=class extends Mt{constructor(){super(...arguments),this.fill="transparent",this.fillOpacity=1}};c([mi(Gi)],kp.prototype,"fill",2),c([mi(Di)],kp.prototype,"fillOpacity",2);var Mp=class extends Fn{constructor(){super(...arguments),this.offset=3,this.minAngle=0,this.minSpacing=4,this.maxCollisionOffset=50,this.avoidCollisions=!0}};c([mi(Ri)],Mp.prototype,"offset",2),c([mi(Ai)],Mp.prototype,"minAngle",2),c([mi(Ri)],Mp.prototype,"minSpacing",2),c([mi(Ri)],Mp.prototype,"maxCollisionOffset",2),c([mi(wi)],Mp.prototype,"avoidCollisions",2);var Rp=class extends Fn{constructor(){super(...arguments),this.positionOffset=0,this.positionRatio=.5}};c([mi(ki)],Rp.prototype,"positionOffset",2),c([mi(Di)],Rp.prototype,"positionRatio",2);var Dp=class extends Mt{constructor(){super(...arguments),this.length=10,this.strokeWidth=1}};c([mi(Bi,{optional:!0})],Dp.prototype,"colors",2),c([mi(Ri)],Dp.prototype,"length",2),c([mi(Ri)],Dp.prototype,"strokeWidth",2);var Ap=class extends Dd{constructor(){super(...arguments),this.fills=Object.values(Cp),this.strokes=Object.values(wp),this.fillOpacity=1,this.strokeOpacity=1,this.lineDash=[0],this.lineDashOffset=0,this.cornerRadius=0,this.rotation=0,this.outerRadiusOffset=0,this.outerRadiusRatio=1,this.strokeWidth=1,this.sectorSpacing=0,this.innerLabels=new Rt(xp),this.title=new Sp,this.innerCircle=new kp,this.shadow=new Cu,this.calloutLabel=new Mp,this.sectorLabel=new Rp,this.calloutLine=new Dp,this.tooltip=new ku}isValid(){const e=super.isValid();return null==this.innerRadiusRatio&&null==this.innerRadiusOffset?(C.warnOnce("Either an [innerRadiusRatio] or an [innerRadiusOffset] must be set to render a donut series."),!1):e}};function Ep(e,t,i,a){const n=[i.convert(0),i.convert(1)],r=[a.convert(0),a.convert(1)],o=Math.PI/-2+un(t),s=e?"initial":"update";return{nodes:{toFn:(e,t,i,{prevLive:a})=>{let{startAngle:r,endAngle:s,innerRadius:l,outerRadius:c}=t;const{stroke:d,fill:h}=t.sectorFormat;if("removed"===i&&a?(r=a.datum?.endAngle,s=a.datum?.endAngle):"removed"!==i||a||(r=o,s=o),"removed"===i){const e=(({radius:e})=>({innerRadius:n[0],outerRadius:n[0]+(n[1]-n[0])*e}))(t);l=e.innerRadius,c=e.outerRadius}return{startAngle:r,endAngle:s,outerRadius:c,innerRadius:l,stroke:d,fill:h}},fromFn:(t,i,a,{prevFromProps:n})=>{let{startAngle:l,endAngle:c,innerRadius:d,outerRadius:h}=t,{fill:u,stroke:g}=i.sectorFormat;if("unknown"===a||"added"===a&&!n?(l=o,c=o,d=i.innerRadius,h=i.outerRadius):"added"===a&&n&&(l=n.endAngle??o,c=n.endAngle??o,d=n.innerRadius??i.innerRadius,h=n.outerRadius??i.outerRadius),"added"===a&&!e){const e=(({radius:e})=>({innerRadius:r[0],outerRadius:r[0]+(r[1]-r[0])*e}))(i);d=e.innerRadius,h=e.outerRadius}return"updated"===a&&(u=t.fill??u,g=t.stroke??g),{startAngle:l,endAngle:c,innerRadius:d,outerRadius:h,fill:u,stroke:g,phase:s}}},innerCircle:{fromFn:(e,t)=>({size:e.previousDatum?.radius??e.size??0,phase:s}),toFn:(e,t)=>({size:t.radius??0})}}}function Tp(e,t){return{startAngle:t.startAngle,endAngle:t.endAngle,innerRadius:t.innerRadius,outerRadius:t.outerRadius,fill:t.sectorFormat.fill,stroke:t.sectorFormat.stroke}}function Pp(e,t){const i=t.y-e.centerY,a=t.x-e.centerX,n=Math.atan2(i,a),r=e.getItemNodes();for(const e of r)if(!0!==e.datum.missing&&hn(n,e.startAngle,e.endAngle)){const t=Math.sqrt(a*a+i*i);let n=0;return t<e.innerRadius?n=e.innerRadius-t:t>e.outerRadius&&(n=t-e.outerRadius),{datum:e.datum,distance:n}}}function Fp(e,t){const i=e.getNodeData();if(void 0!==i)return Ip(i[t.datumIndex],e.centerX,e.centerY)}function Ip(e,t,i){return lp(e).translate(t,i)}c([mi(xi)],Ap.prototype,"angleKey",2),c([mi(xi,{optional:!0})],Ap.prototype,"angleName",2),c([mi(xi,{optional:!0})],Ap.prototype,"radiusKey",2),c([mi(xi,{optional:!0})],Ap.prototype,"radiusName",2),c([mi(Ri,{optional:!0})],Ap.prototype,"radiusMin",2),c([mi(Ri,{optional:!0})],Ap.prototype,"radiusMax",2),c([mi(xi,{optional:!0})],Ap.prototype,"calloutLabelKey",2),c([mi(xi,{optional:!0})],Ap.prototype,"calloutLabelName",2),c([mi(xi,{optional:!0})],Ap.prototype,"sectorLabelKey",2),c([mi(xi,{optional:!0})],Ap.prototype,"sectorLabelName",2),c([mi(xi,{optional:!0})],Ap.prototype,"legendItemKey",2),c([mi(Bi)],Ap.prototype,"fills",2),c([mi(Bi)],Ap.prototype,"strokes",2),c([mi(Di)],Ap.prototype,"fillOpacity",2),c([mi(Di)],Ap.prototype,"strokeOpacity",2),c([mi(ji)],Ap.prototype,"lineDash",2),c([mi(Ri)],Ap.prototype,"lineDashOffset",2),c([mi(Ri)],Ap.prototype,"cornerRadius",2),c([mi(Si,{optional:!0})],Ap.prototype,"itemStyler",2),c([mi(Ai)],Ap.prototype,"rotation",2),c([mi(ki)],Ap.prototype,"outerRadiusOffset",2),c([mi(Di)],Ap.prototype,"outerRadiusRatio",2),c([mi(ki,{optional:!0})],Ap.prototype,"innerRadiusOffset",2),c([mi(Di,{optional:!0})],Ap.prototype,"innerRadiusRatio",2),c([mi(Ri)],Ap.prototype,"strokeWidth",2),c([mi(ki)],Ap.prototype,"sectorSpacing",2),c([mi(qi)],Ap.prototype,"innerLabels",2),c([mi(bi)],Ap.prototype,"title",2),c([mi(bi)],Ap.prototype,"innerCircle",2),c([mi(bi)],Ap.prototype,"shadow",2),c([mi(bi)],Ap.prototype,"calloutLabel",2),c([mi(bi)],Ap.prototype,"sectorLabel",2),c([mi(bi)],Ap.prototype,"calloutLine",2),c([mi(bi)],Ap.prototype,"tooltip",2);var Lp=class extends Sd{constructor({useLabelLayer:e=!1,pickModes:t=[3,0],canHaveAxes:i=!1,animationResetFns:a,...n}){super({...n,useLabelLayer:e,pickModes:t,contentGroupVirtual:!1,directionKeys:{x:["angleKey"],y:["radiusKey"]},directionNames:{x:["angleName"],y:["radiusName"]},canHaveAxes:i}),this.itemGroup=this.contentGroup.appendChild(new on),this.nodeData=[],this.itemSelection=Sr.select(this.itemGroup,(()=>this.nodeFactory()),!1),this.labelSelection=Sr.select(this.labelGroup,(()=>this.labelFactory()),!1),this.highlightSelection=Sr.select(this.highlightGroup,(()=>this.nodeFactory())),this.highlightLabelSelection=Sr.select(this.highlightLabel,(()=>this.labelFactory())),this.centerX=0,this.centerY=0,this.radius=0,this.itemGroup.zIndexSubOrder=[()=>this._declarationOrder,1],this.animationResetFns=a,this.animationState=new Gr("empty",{empty:{update:{target:"ready",action:e=>this.animateEmptyUpdateReady(e)},reset:"empty",skip:"ready"},ready:{updateData:"waiting",clear:"clearing",highlight:e=>this.animateReadyHighlight(e),highlightMarkers:e=>this.animateReadyHighlightMarkers(e),resize:e=>this.animateReadyResize(e),reset:"empty",skip:"ready"},waiting:{update:{target:"ready",action:e=>this.animateWaitingUpdateReady(e)},reset:"empty",skip:"ready"},clearing:{update:{target:"empty",action:e=>this.animateClearingUpdateEmpty(e)},reset:"empty",skip:"ready"}},(()=>this.checkProcessedDataAnimatable()))}getItemNodes(){return this.itemGroup.children}getNodeData(){return this.nodeData}resetAnimation(e){"initial"===e?this.animationState.transition("reset"):"ready"===e&&this.animationState.transition("skip")}labelFactory(){const e=new Tn;return e.pointerEvents=1,e}getInnerRadius(){return 0}getLabelData(){return[]}computeLabelsBBox(e,t){return null}resetAllAnimation(){const{item:e,label:t}=this.animationResetFns??{};this.ctx.animationManager.stopByAnimationGroupId(this.id),e&&cr([this.itemSelection,this.highlightSelection],e),t&&cr([this.labelSelection,this.highlightLabelSelection],t),this.itemSelection.cleanup(),this.labelSelection.cleanup(),this.highlightSelection.cleanup(),this.highlightLabelSelection.cleanup()}animateEmptyUpdateReady(e){this.ctx.animationManager.skipCurrentBatch(),this.resetAllAnimation()}animateWaitingUpdateReady(e){this.ctx.animationManager.skipCurrentBatch(),this.resetAllAnimation()}animateReadyHighlight(e){const{item:t,label:i}=this.animationResetFns??{};t&&cr([this.highlightSelection],t),i&&cr([this.highlightLabelSelection],i)}animateReadyHighlightMarkers(e){}animateReadyResize(e){this.resetAllAnimation()}animateClearingUpdateEmpty(e){this.ctx.animationManager.skipCurrentBatch(),this.resetAllAnimation()}animationTransitionClear(){this.animationState.transition("clear",this.getAnimationData())}getAnimationData(e){return{seriesRect:e}}computeFocusBounds(e){const t=this.getNodeData()?.[e.datumIndex];if(void 0!==t)return this.itemSelection.select((e=>e instanceof Es&&e.datum===t))[0]}},Np=class extends _c{constructor(e,t,i,a){super(e,t,i,a),this.angleKey=a.properties.angleKey,this.radiusKey=a.properties.radiusKey,this.calloutLabelKey=a.properties.calloutLabelKey,this.sectorLabelKey=a.properties.sectorLabelKey}},Op=class extends Lp{constructor(e){super({moduleCtx:e,pickModes:[3,0],useLabelLayer:!0,animationResetFns:{item:Tp,label:yu}}),this.properties=new Ap,this.previousRadiusScale=new zd,this.radiusScale=new zd,this.calloutLabelGroup=this.contentGroup.appendChild(new on({name:"pieCalloutLabels"})),this.calloutLabelSelection=new Sr(this.calloutLabelGroup,on),this.backgroundGroup=this.rootGroup.appendChild(new on({name:`${this.id}-background`,layer:!0,zIndex:0})),this.zerosumRingsGroup=this.backgroundGroup.appendChild(new on({name:`${this.id}-zerosumRings`})),this.zerosumOuterRing=this.zerosumRingsGroup.appendChild(new rd),this.zerosumInnerRing=this.zerosumRingsGroup.appendChild(new rd),this.innerLabelsGroup=this.contentGroup.appendChild(new on({name:"innerLabels"})),this.innerCircleGroup=this.backgroundGroup.appendChild(new on({name:`${this.id}-innerCircle`})),this.innerLabelsSelection=Sr.select(this.innerLabelsGroup,Tn),this.innerCircleSelection=Sr.select(this.innerCircleGroup,rd),this.seriesItemEnabled=[],this.surroundingRadius=void 0,this.NodeEvent=Np,this.angleScale=new zd,this.angleScale.domain=[0,1],this.angleScale.range=[-Math.PI,Math.PI].map((e=>e+Math.PI/2))}addChartEventListeners(){this.destroyFns.push(this.ctx.chartEventManager?.addListener("legend-item-click",(e=>this.onLegendItemClick(e))))}get visible(){return super.visible&&(0===this.seriesItemEnabled.length||this.seriesItemEnabled.some((e=>e)))}nodeFactory(){return new bp}getSeriesDomain(e){return"x"===e?this.angleScale.domain:this.radiusScale.domain}async processData(e){if(null==this.data||!this.properties.isValid())return;let{data:t}=this;const{visible:i,seriesItemEnabled:a}=this,{angleKey:n,radiusKey:r,calloutLabelKey:o,sectorLabelKey:s,legendItemKey:l}=this.properties,c=!this.ctx.animationManager.isSkipped(),d=[],h=[];l?d.push(Oc(l,"band",{id:"legendItemKey"})):o?d.push(Oc(o,"band",{id:"calloutLabelKey"})):s&&d.push(Oc(s,"band",{id:"sectorLabelKey"}));const u=this.radiusScale.type,g=this.radiusScale.type;r&&h.push(Gc(r,{id:"radiusValue",min:this.properties.radiusMin??0,max:this.properties.radiusMax}),zc(r,u,{id:"radiusRaw"}),Sc({id:"radiusValue"},[0,1],1,this.properties.radiusMin??0,this.properties.radiusMax)),o&&h.push(zc(o,"band",{id:"calloutLabelValue"})),s&&h.push(zc(s,"band",{id:"sectorLabelValue"})),l&&h.push(zc(l,"band",{id:"legendItemValue"})),c&&this.processedData&&d.length>0&&h.push(Ec(this.processedData)),h.push(xc()),t=t.map(((e,t)=>i&&a[t]?e:{...e,[n]:0})),await this.requestDataModel(e,t,{props:[...d,Bc(n,g,{id:"angleValue",onlyPositive:!0}),zc(n,g,{id:"angleRaw"}),Sc({id:"angleValue"},[0,1],0,0),...h]});for(const e of this.processedData?.defs?.values??[]){const{id:t,missing:i,property:a}=e,n=xl(this,i);"angleRaw"!==t&&n>0&&C.warnOnce(`no value was found for the key '${String(a)}' on ${n} data element${n>1?"s":""}`)}this.animationState.transition("updateData")}async maybeRefreshNodeData(){if(!this.nodeDataRefresh)return;const{nodeData:e=[]}=await this.createNodeData()??{};this.nodeData=e,this.nodeDataRefresh=!1}getProcessedDataIndexes(e){return{angleIdx:e.resolveProcessedDataIndexById(this,"angleValue"),radiusIdx:this.properties.radiusKey?e.resolveProcessedDataIndexById(this,"radiusValue"):-1,calloutLabelIdx:this.properties.calloutLabelKey?e.resolveProcessedDataIndexById(this,"calloutLabelValue"):-1,sectorLabelIdx:this.properties.sectorLabelKey?e.resolveProcessedDataIndexById(this,"sectorLabelValue"):-1,legendItemIdx:this.properties.legendItemKey?e.resolveProcessedDataIndexById(this,"legendItemValue"):-1}}async createNodeData(){const{id:e,processedData:t,dataModel:i,angleScale:a}=this,{rotation:n,innerRadiusRatio:r}=this.properties;if(!this.properties.isValid())return this.zerosumOuterRing.visible=!0,this.zerosumInnerRing.visible=!0,{itemId:e,nodeData:[],labelData:[]};if(!t||!i||"ungrouped"!==t.type)return;const{angleIdx:o,radiusIdx:s,calloutLabelIdx:l,sectorLabelIdx:c,legendItemIdx:d}=this.getProcessedDataIndexes(i);let h=0,u=0;const g=t.data.map(((e,t)=>{const{datum:i,values:r}=e,g=r[o],p=a.convert(h)+un(n);h=g,u+=g;const m=a.convert(h)+un(n),f=Math.abs(m-p),v=p+f/2,y=r[o+1],b=s>=0?r[s]??1:1,C=s>=0?r[s+1]:void 0,w=d>=0?r[d]:void 0,S=this.getLabels(i,v,f,!0,r[l],r[c],w),x=this.getSectorFormat(i,t,!1);return{itemId:t,series:this,datum:i,index:t,angleValue:y,midAngle:v,midCos:Math.cos(v),midSin:Math.sin(v),startAngle:p,endAngle:m,sectorFormat:x,radiusValue:C,radius:b,innerRadius:Math.max(this.radiusScale.convert(0),0),outerRadius:Math.max(this.radiusScale.convert(b),0),legendItemValue:w,enabled:this.seriesItemEnabled[t],...S}}));return this.zerosumOuterRing.visible=0===u,this.zerosumInnerRing.visible=0===u&&null!=r&&1!==r&&r>0,{itemId:e,nodeData:g,labelData:g}}getLabels(e,t,i,a,n,r,o){const{calloutLabel:s,sectorLabel:l,legendItemKey:c}=this.properties,d=!a||s.enabled?this.properties.calloutLabelKey:void 0,h=!a||l.enabled?this.properties.sectorLabelKey:void 0;if(!d&&!h&&!c)return{};const u={datum:e,angleKey:this.properties.angleKey,angleName:this.properties.angleName,radiusKey:this.properties.radiusKey,radiusName:this.properties.radiusName,calloutLabelKey:this.properties.calloutLabelKey,calloutLabelName:this.properties.calloutLabelName,sectorLabelKey:this.properties.sectorLabelKey,sectorLabelName:this.properties.sectorLabelName,legendItemKey:this.properties.legendItemKey},g={};return d&&i>un(s.minAngle)&&(g.calloutLabel={...this.getTextAlignment(t),text:this.getLabelText(s,{...u,value:n}),hidden:!1,collisionTextAlign:void 0,collisionOffsetY:0,box:void 0}),h&&(g.sectorLabel={text:this.getLabelText(l,{...u,value:r})}),null!=c&&null!=o&&(g.legendItem={key:c,text:o}),g}getTextAlignment(e){const t=[{textAlign:"center",textBaseline:"bottom"},{textAlign:"left",textBaseline:"middle"},{textAlign:"center",textBaseline:"hanging"},{textAlign:"right",textBaseline:"middle"}],i=dn(e)- -.75*Math.PI;return t[ke(Math.floor(i/(Math.PI/2)),t.length)]}getSectorFormat(e,t,i){const{callbackCache:a,highlightManager:n}=this.ctx,{angleKey:r,radiusKey:o,calloutLabelKey:s,sectorLabelKey:l,legendItemKey:c,fills:d,strokes:h,itemStyler:u}=this.properties,g=n.getActiveHighlight(),p=i&&g?.series===this&&t===g.itemId,m=h[t%h.length],{fill:f,fillOpacity:v,stroke:y,strokeWidth:b,strokeOpacity:C,lineDash:w,lineDashOffset:S,cornerRadius:x}=vt(p&&this.properties.highlightStyle.item,{fill:d.length>0?d[t%d.length]:void 0,stroke:m,strokeWidth:this.getStrokeWidth(this.properties.strokeWidth),strokeOpacity:this.getOpacity()},this.properties);let k;return u&&(k=a.call(u,{datum:e,angleKey:r,radiusKey:o,calloutLabelKey:s,sectorLabelKey:l,legendItemKey:c,fill:f,fillOpacity:v,stroke:y,strokeWidth:b,strokeOpacity:C,lineDash:w,lineDashOffset:S,cornerRadius:x,highlighted:p,seriesId:this.id})),{fill:k?.fill??f,fillOpacity:k?.fillOpacity??v,stroke:k?.stroke??y,strokeWidth:k?.strokeWidth??b,strokeOpacity:k?.strokeOpacity??C,lineDash:k?.lineDash??w,lineDashOffset:k?.lineDashOffset??S,cornerRadius:k?.cornerRadius??x}}getInnerRadius(){const{radius:e}=this,{innerRadiusRatio:t=1,innerRadiusOffset:i=0}=this.properties,a=e*t+i;return a===e||a<0?0:a}getOuterRadius(){const{outerRadiusRatio:e,outerRadiusOffset:t}=this.properties;return Math.max(this.radius*e+t,0)}updateRadiusScale(e){const t=[this.getInnerRadius(),this.getOuterRadius()];this.radiusScale.range=t,e&&(this.previousRadiusScale.range=t),this.nodeData=this.nodeData.map((({radius:e,...t})=>({...t,radius:e,innerRadius:Math.max(this.radiusScale.convert(0),0),outerRadius:Math.max(this.radiusScale.convert(e),0)})))}getTitleTranslationY(){const e=Math.max(0,this.radiusScale.range[1]);if(0===e)return NaN;return-e-(2+(this.properties.title?.spacing??0))-Math.max(0,-e)}async update({seriesRect:e}){const{title:t}=this.properties,i={seriesRectWidth:e?.width,seriesRectHeight:e?.height},a=null!=Et(this.nodeDataDependencies,i);if(a&&(this._nodeDataDependencies=i),await this.maybeRefreshNodeData(),this.updateTitleNodes(),this.updateRadiusScale(a),this.contentGroup.translationX=this.centerX,this.contentGroup.translationY=this.centerY,this.highlightGroup.translationX=this.centerX,this.highlightGroup.translationY=this.centerY,this.backgroundGroup.translationX=this.centerX,this.backgroundGroup.translationY=this.centerY,this.labelGroup&&(this.labelGroup.translationX=this.centerX,this.labelGroup.translationY=this.centerY),t){const e=this.getTitleTranslationY(),i=t.node.computeBBox();t.node.visible=t.enabled&&isFinite(e)&&!this.bboxIntersectsSurroundingSeries(i,0,e),t.node.translationY=isFinite(e)?e:0}for(const e of[this.zerosumInnerRing,this.zerosumOuterRing])e.fillOpacity=0,e.stroke=this.properties.calloutLabel.color,e.strokeWidth=1,e.strokeOpacity=1;this.updateNodeMidPoint(),await this.updateSelections(),await this.updateNodes(e)}updateTitleNodes(){const{oldTitle:e}=this,{title:t}=this.properties;e!==t&&(e&&this.labelGroup?.removeChild(e.node),t&&(t.node.textBaseline="bottom",this.labelGroup?.appendChild(t.node)),this.oldTitle=t)}updateNodeMidPoint(){this.nodeData.forEach((e=>{const t=e.innerRadius+(e.outerRadius-e.innerRadius)/2;e.midPoint={x:e.midCos*Math.max(0,t),y:e.midSin*Math.max(0,t)}}))}async updateSelections(){await this.updateGroupSelection(),this.updateInnerCircleSelection()}async updateGroupSelection(){const{itemSelection:e,highlightSelection:t,highlightLabelSelection:i,calloutLabelSelection:a,labelSelection:n,innerLabelsSelection:r}=this,o=this.ctx.highlightManager.getActiveHighlight(),s=o?.series===this?this.nodeData.filter((e=>e.itemId===o?.itemId)):[],l=(e,t)=>{let i=this.nodeData;t&&(i=i.map((e=>({...e,sectorFormat:{...e.sectorFormat}})))),e.update(i,void 0,(e=>this.getDatumId(e))),this.ctx.animationManager.isSkipped()&&e.cleanup()};l(e,!1),l(t,!0),a.update(this.nodeData,(e=>{const t=new Rr;t.tag=0,t.pointerEvents=1,e.appendChild(t);const i=new Tn;i.tag=1,i.pointerEvents=1,e.appendChild(i)})),n.update(this.nodeData),i.update(s),r.update(this.properties.innerLabels,(e=>{e.pointerEvents=1}))}updateInnerCircleSelection(){const{innerCircle:e}=this.properties;let t=0;const i=this.getInnerRadius();if(i>0){const e=Math.min(i,this.getOuterRadius()),a=1;t=Math.ceil(2*e+a)}const a=e?[{radius:t}]:[];this.innerCircleSelection.update(a)}async updateNodes(e){const t=this.ctx.highlightManager.getActiveHighlight(),i=this.visible&&this.seriesItemEnabled.indexOf(!0)>=0;this.rootGroup.visible=i,this.backgroundGroup.visible=i,this.contentGroup.visible=i,this.highlightGroup.visible=i&&t?.series===this,this.highlightLabel.visible=i&&t?.series===this,this.labelGroup&&(this.labelGroup.visible=i),this.contentGroup.opacity=this.getOpacity(),this.innerCircleSelection.each(((e,{radius:t})=>{e.setProperties({fill:this.properties.innerCircle?.fill,opacity:this.properties.innerCircle?.fillOpacity,size:t})}));const a=(e,t,i,a)=>{const n=this.getSectorFormat(t.datum,t.itemId,a);t.sectorFormat.fill=n.fill,t.sectorFormat.stroke=n.stroke;const r=this.ctx.animationManager.isSkipped();r&&(e.startAngle=t.startAngle,e.endAngle=t.endAngle,e.innerRadius=t.innerRadius,e.outerRadius=t.outerRadius),(a||r)&&(e.fill=n.fill,e.stroke=n.stroke),e.strokeWidth=n.strokeWidth,e.fillOpacity=n.fillOpacity,e.strokeOpacity=n.strokeOpacity,e.lineDash=n.lineDash,e.lineDashOffset=n.lineDashOffset,e.cornerRadius=n.cornerRadius,e.fillShadow=this.properties.shadow;const o=Math.max((this.properties.sectorSpacing+(null!=n.stroke?n.strokeWidth:0))/2,0);e.inset=o,e.lineJoin=this.properties.sectorSpacing>=0||o>0?"miter":"round"};this.itemSelection.each(((e,t,i)=>a(e,t,0,!1))),this.highlightSelection.each(((e,i,n)=>{const r=t?.series===this&&e.datum.itemId===t.itemId;a(e,i,0,!0),e.visible=r})),this.updateCalloutLineNodes(),this.updateCalloutLabelNodes(e),this.updateSectorLabelNodes(),this.updateInnerLabelNodes(),this.updateZerosumRings(),this.animationState.transition("update")}updateCalloutLineNodes(){const{calloutLine:e}=this.properties,t=e.length,i=e.strokeWidth,a=e.colors??this.properties.strokes,{offset:n}=this.properties.calloutLabel;this.calloutLabelSelection.selectByTag(0).forEach(((e,r)=>{const o=e.datum,{calloutLabel:s,outerRadius:l}=o;if(s?.text&&!s.hidden&&0!==l){e.visible=!0,e.strokeWidth=i,e.stroke=a[r%a.length],e.fill=void 0;const c=o.midCos*l,d=o.midSin*l;let h=o.midCos*(l+t),u=o.midSin*(l+t);if((s.collisionTextAlign??0!==s.collisionOffsetY)&&null!=s.box){const e=s.box;let t=h,i=u;h<e.x?t=e.x:h>e.x+e.width&&(t=e.x+e.width),u<e.y?i=e.y:u>e.y+e.height&&(i=e.y+e.height);const a=t-h,r=i-u,o=Math.sqrt(Math.pow(a,2)+Math.pow(r,2)),l=o-n;l>0&&(h+=a*l/o,u+=r*l/o)}e.x1=c,e.y1=d,e.x2=h,e.y2=u}else e.visible=!1}))}getLabelOverflow(e,t,i){const a=i.x-this.centerX,n=i.x+i.width-this.centerX,r=i.y-this.centerY,o=i.y+i.height-this.centerY;let s=1;t.x+1<a?s=(t.x+t.width-a)/t.width:t.x+t.width-1>n&&(s=(n-t.x)/t.width);const l=t.y+1<r||t.y+t.height-1>o;return{textLength:1===s?e.length:Math.floor(e.length*s)-1,hasVerticalOverflow:l,hasSurroundingSeriesOverflow:this.bboxIntersectsSurroundingSeries(t)}}bboxIntersectsSurroundingSeries(e,t=0,i=0){const{surroundingRadius:a}=this;if(null==a)return!1;const n=[{x:e.x+t,y:e.y+i},{x:e.x+e.width+t,y:e.y+i},{x:e.x+e.width+t,y:e.y+e.height+i},{x:e.x+t,y:e.y+e.height+i}],r=a**2;return n.some((e=>e.x**2+e.y**2>r))}computeCalloutLabelCollisionOffsets(){const{radiusScale:e}=this,{calloutLabel:t,calloutLine:i}=this.properties,{offset:a,minSpacing:n}=t,r=e.convert(0),o=this.nodeData,s=this.nodeData.filter((e=>{return!(!(t=e).calloutLabel||0===t.outerRadius);var t}));if(s.forEach((e=>{const t=e.calloutLabel;null!=t&&(t.hidden=!1,t.collisionTextAlign=void 0,t.collisionOffsetY=0)})),s.length<=1)return;const l=s.filter((e=>e.midCos<0)).sort(((e,t)=>e.midSin-t.midSin)),c=s.filter((e=>e.midCos>=0)).sort(((e,t)=>e.midSin-t.midSin)),d=s.filter((e=>e.midSin<0&&"center"===e.calloutLabel?.textAlign)).sort(((e,t)=>e.midCos-t.midCos)),h=s.filter((e=>e.midSin>=0&&"center"===e.calloutLabel?.textAlign)).sort(((e,t)=>e.midCos-t.midCos)),u=new Tn,g=e=>{const t=e.calloutLabel;if(null==t)return new Ee(0,0,0,0);const n=e.outerRadius+i.length+a,r=e.midCos*n,o=e.midSin*n+t.collisionOffsetY;return u.text=t.text,u.x=r,u.y=o,u.setFont(this.properties.calloutLabel),u.setAlign({textAlign:t.collisionTextAlign??t.textAlign,textBaseline:t.textBaseline}),u.computeBBox()},p=(e,t,i)=>{const a=g(e).grow(n/2),r=g(t).grow(n/2);if(a.x<r.x+r.width&&a.x+a.width>r.x&&("to-top"===i?a.y<r.y+r.height:a.y+a.height>r.y)){const e="to-top"===i?a.y-r.y-r.height:a.y+a.height-r.y;t.calloutLabel.collisionOffsetY=e}},m=e=>{const t=e.slice().sort(((e,t)=>Math.abs(e.midSin)-Math.abs(t.midSin)))[0],i=e.indexOf(t);for(let t=i-1;t>=0;t--){const i=e[t+1],a=e[t];p(i,a,"to-top")}for(let t=i+1;t<e.length;t++){const i=e[t-1],a=e[t];p(i,a,"to-bottom")}},f=e=>{const t=s.some((e=>0!==e.calloutLabel.collisionOffsetY)),i=e.map((e=>g(e))),a=i.map((e=>e.clone().grow(n/2)));let l=!1;for(let t=0;t<a.length&&!l;t++){const i=a[t];for(let n=t+1;n<e.length;n++){const e=a[n];if(i.collidesBBox(e)){l=!0;break}}}const c=o.map((e=>{const{startAngle:t,endAngle:i,outerRadius:a}=e;return{startAngle:t,endAngle:i,innerRadius:r,outerRadius:a}})),d=i.some((e=>c.some((t=>hp(e,t)))));(l||t||d)&&e.filter((e=>"center"===e.calloutLabel.textAlign)).forEach((e=>{const t=e.calloutLabel;e.midCos<0?t.collisionTextAlign="right":e.midCos>0?t.collisionTextAlign="left":t.collisionTextAlign="center"}))};m(l),m(c),f(d),f(h)}updateCalloutLabelNodes(e){const{radiusScale:t}=this,{calloutLabel:i,calloutLine:a}=this.properties,n=a.length,{offset:r,color:o}=i,s=new Tn;this.calloutLabelSelection.selectByTag(1).forEach((a=>{const{datum:l}=a,c=l.calloutLabel,d=t.convert(l.radius),h=Math.max(0,d);if(!c?.text||0===h||c.hidden)return void(a.visible=!1);const u=h+n+r,g=l.midCos*u,p=l.midSin*u+c.collisionOffsetY,m={textAlign:c.collisionTextAlign??c.textAlign,textBaseline:c.textBaseline};s.text=c.text,s.x=g,s.y=p,s.setFont(this.properties.calloutLabel),s.setAlign(m);const f=s.computeBBox();let v=c.text,y=!0;if(i.avoidCollisions){const{textLength:t,hasVerticalOverflow:i}=this.getLabelOverflow(c.text,f,e);v=c.text.length===t?c.text:`${c.text.substring(0,t)}…`,y=!i}a.text=v,a.x=g,a.y=p,a.setFont(this.properties.calloutLabel),a.setAlign(m),a.fill=o,a.visible=y}))}async computeLabelsBBox(e,t){const{calloutLabel:i,calloutLine:a}=this.properties,n=a.length,{offset:r,maxCollisionOffset:o,minSpacing:s}=i;if(!i.avoidCollisions)return null;await this.maybeRefreshNodeData(),this.updateRadiusScale(!1),this.computeCalloutLabelCollisionOffsets();const l=[],c=new Tn;let d;const{title:h}=this.properties;if(h?.text&&h.enabled){const e=this.getTitleTranslationY();isFinite(e)&&(c.text=h.text,c.x=0,c.y=e,c.setFont(h),c.setAlign({textBaseline:"bottom",textAlign:"center"}),d=c.computeBBox(),l.push(d))}return this.nodeData.forEach((i=>{const a=i.calloutLabel;if(!a||0===i.outerRadius)return null;const h=i.outerRadius+n+r,u=i.midCos*h,g=i.midSin*h+a.collisionOffsetY;c.text=a.text,c.x=u,c.y=g,c.setFont(this.properties.calloutLabel),c.setAlign({textAlign:a.collisionTextAlign??a.textAlign,textBaseline:a.textBaseline});const p=c.computeBBox();if(a.box=p,Math.abs(a.collisionOffsetY)>o)a.hidden=!0;else{if(d){const e=t.y-this.centerY,i=new Ee(d.x-s,e,d.width+2*s,d.y+d.height+s-e);if(p.collidesBBox(i))return void(a.hidden=!0)}if(e.hideWhenNecessary){const{textLength:e,hasVerticalOverflow:i,hasSurroundingSeriesOverflow:n}=this.getLabelOverflow(a.text,p,t),r=a.text.length>2&&e<2;if(i||r||n)return void(a.hidden=!0)}a.hidden=!1,l.push(p)}})),0===l.length?null:Ee.merge(l)}updateSectorLabelNodes(){const{radiusScale:e}=this,t=e.convert(0),{fontSize:i,fontStyle:a,fontWeight:n,fontFamily:r,positionOffset:o,positionRatio:s,color:l}=this.properties.sectorLabel,c=(e,c)=>{const{sectorLabel:d,outerRadius:h}=c;let u=!1;if(d&&0!==h){const g=t*(1-s)+h*s+o;e.fill=l,e.fontStyle=a,e.fontWeight=n,e.fontSize=i,e.fontFamily=r,e.text=d.text,e.x=c.midCos*g,e.y=c.midSin*g,e.textAlign="center",e.textBaseline="middle";const p=e.computeBBox(),m=[[p.x,p.y],[p.x+p.width,p.y],[p.x+p.width,p.y+p.height],[p.x,p.y+p.height]],{startAngle:f,endAngle:v}=c,y={startAngle:f,endAngle:v,innerRadius:t,outerRadius:h};m.every((([e,t])=>cp(e,t,y)))&&(u=!0)}e.visible=u};this.labelSelection.each(c),this.highlightLabelSelection.each(c)}updateInnerLabelNodes(){const e=[],t=[];this.innerLabelsSelection.each(((i,a)=>{const{fontStyle:n,fontWeight:r,fontSize:o,fontFamily:s,color:l}=a;i.fontStyle=n,i.fontWeight=r,i.fontSize=o,i.fontFamily=s,i.text=a.text,i.x=0,i.y=0,i.fill=l,i.textAlign="center",i.textBaseline="alphabetic",e.push(i.computeBBox()),t.push(a.spacing)}));const i=e=>0===e?0:t[e],a=e=>e===t.length-1?0:t[e],n=e.reduce(((e,t,n)=>e+t.height+i(n)+a(n)),0),r=Math.max(...e.map((e=>e.width))),o=this.getInnerRadius(),s=Math.sqrt(Math.pow(r/2,2)+Math.pow(n/2,2))<=(o>0?o:this.getOuterRadius()),l=[];for(let t=0,r=-n/2;t<e.length;t++){const n=e[t].height+r+i(t);l.push(n),r=n+a(t)}this.innerLabelsSelection.each(((e,t,i)=>{e.y=l[i],e.visible=s}))}updateZerosumRings(){this.zerosumOuterRing.size=2*this.getOuterRadius(),this.zerosumInnerRing.size=2*this.getInnerRadius()}getDatumLegendName(e){const{angleKey:t,calloutLabelKey:i,sectorLabelKey:a,legendItemKey:n}=this.properties,{sectorLabel:r,calloutLabel:o,legendItem:s}=e;return n&&void 0!==s?s.text:i&&i!==t&&void 0!==o?.text?o.text:a&&a!==t&&void 0!==r?.text?r.text:void 0}pickNodeClosestDatum(e){return Pp(this,e)}getTooltipHtml(e){if(!this.properties.isValid())return _r;const{datum:t,angleValue:i,sectorFormat:{fill:a},itemId:n}=e,r=mu(this.properties.title?.text),o=ht(i)?xe(i):String(i),s=this.getDatumLegendName(e);return this.properties.tooltip.toTooltipHtml({title:r??s,content:r&&s?`${s}: ${o}`:o,backgroundColor:a},{datum:t,itemId:n,title:r,color:a,seriesId:this.id,angleKey:this.properties.angleKey,angleName:this.properties.angleName,radiusKey:this.properties.radiusKey,radiusName:this.properties.radiusName,calloutLabelKey:this.properties.calloutLabelKey,calloutLabelName:this.properties.calloutLabelName,sectorLabelKey:this.properties.sectorLabelKey,sectorLabelName:this.properties.sectorLabelName,legendItemKey:this.properties.legendItemKey})}getLegendData(e){const{visible:t,processedData:i,dataModel:a}=this;if(!a||!i?.data.length||!this.properties.isValid()||"category"!==e)return[];const{angleKey:n,calloutLabelKey:r,sectorLabelKey:o,legendItemKey:s}=this.properties;if(!(s||r&&r!==n||o&&o!==n))return[];const{calloutLabelIdx:l,sectorLabelIdx:c,legendItemIdx:d}=this.getProcessedDataIndexes(a),h=this.properties.title?.showInLegend&&this.properties.title.text,u=[];for(let e=0;e<i.data.length;e++){const{datum:a,values:g}=i.data[e],p=[];h&&p.push(h);const m=this.getLabels(a,2*Math.PI,2*Math.PI,!1,g[l],g[c],g[d]);if(s&&void 0!==m.legendItem?p.push(m.legendItem.text):r&&r!==n&&void 0!==m.calloutLabel?.text?p.push(m.calloutLabel?.text):o&&o!==n&&void 0!==m.sectorLabel?.text&&p.push(m.sectorLabel?.text),0===p.length)continue;const f=this.getSectorFormat(a,e,!1);u.push({legendType:"category",id:this.id,itemId:e,seriesId:this.id,enabled:t&&this.seriesItemEnabled[e],label:{text:p.join(" - ")},symbols:[{marker:{fill:f.fill,stroke:f.stroke,fillOpacity:this.properties.fillOpacity,strokeOpacity:this.properties.strokeOpacity,strokeWidth:this.properties.strokeWidth}}],legendItemName:null!=s?a[s]:void 0})}return u}onLegendItemClick(e){const{enabled:t,itemId:i,series:a,legendItemName:n}=e;a.id===this.id?this.toggleSeriesItem(i,t):null!=n&&this.toggleOtherSeriesItems(n,t)}toggleSeriesItem(e,t){this.seriesItemEnabled[e]=t,this.nodeData[e]&&(this.nodeData[e].enabled=t),this.nodeDataRefresh=!0}toggleOtherSeriesItems(e,t){if(!this.properties.legendItemKey||!this.dataModel)return;const i=this.dataModel.resolveProcessedDataIndexById(this,"legendItemValue");this.processedData?.data.forEach((({values:a},n)=>{a[i]===e&&this.toggleSeriesItem(n,t)}))}animateEmptyUpdateReady(e){const{animationManager:t}=this.ctx,i=Ep(!0,this.properties.rotation,this.radiusScale,this.previousRadiusScale);Qt(this.id,"nodes",t,[this.itemSelection,this.highlightSelection],i.nodes),Qt(this.id,"innerCircle",t,[this.innerCircleSelection],i.innerCircle),fu(this,"callout",t,this.calloutLabelSelection),fu(this,"sector",t,this.labelSelection),fu(this,"highlight",t,this.highlightLabelSelection),fu(this,"inner",t,this.innerLabelsSelection),this.previousRadiusScale.range=this.radiusScale.range}animateWaitingUpdateReady(){const{itemSelection:e,highlightSelection:t,processedData:i,radiusScale:a,previousRadiusScale:n}=this,{animationManager:r}=this.ctx,o=i?.reduced?.diff;this.ctx.animationManager.stopByAnimationGroupId(this.id);const s=0===(o?.moved.size??0),l=(i?.defs.keys.length??0)>0;s&&l&&(i?.reduced?.animationValidation?.uniqueKeys??!0)||this.ctx.animationManager.skipCurrentBatch();const c=Ep(!1,this.properties.rotation,a,n);Qt(this.id,"nodes",r,[e,t],c.nodes,((e,t)=>this.getDatumId(t)),o),Qt(this.id,"innerCircle",r,[this.innerCircleSelection],c.innerCircle),fu(this,"callout",this.ctx.animationManager,this.calloutLabelSelection),fu(this,"sector",this.ctx.animationManager,this.labelSelection),fu(this,"highlight",this.ctx.animationManager,this.highlightLabelSelection),fu(this,"inner",this.ctx.animationManager,this.innerLabelsSelection),this.previousRadiusScale.range=this.radiusScale.range}animateClearingUpdateEmpty(){const{itemSelection:e,highlightSelection:t,radiusScale:i,previousRadiusScale:a}=this,{animationManager:n}=this.ctx,r=Ep(!1,this.properties.rotation,i,a);Qt(this.id,"nodes",n,[e,t],r.nodes),Qt(this.id,"innerCircle",n,[this.innerCircleSelection],r.innerCircle),vu(this,"callout",this.ctx.animationManager,this.calloutLabelSelection),vu(this,"sector",this.ctx.animationManager,this.labelSelection),vu(this,"highlight",this.ctx.animationManager,this.highlightLabelSelection),vu(this,"inner",this.ctx.animationManager,this.innerLabelsSelection),this.previousRadiusScale.range=this.radiusScale.range}getDatumIdFromData(e){const{calloutLabelKey:t,sectorLabelKey:i,legendItemKey:a}=this.properties;if(this.processedData?.reduced?.animationValidation?.uniqueKeys)return a?e[a]:t?e[t]:i?e[i]:void 0}getDatumId(e){const{index:t}=e,i=this.getDatumIdFromData(e.datum);return null!=i?String(i):`${t}`}onDataChange(){const{data:e,seriesItemEnabled:t}=this;this.seriesItemEnabled=e?.map(((e,i)=>t[i]??!0))??[]}};Op.className="DonutSeries",Op.type="donut";var zp={series:{title:{enabled:!0,fontWeight:"normal",fontSize:14,fontFamily:Gh,color:Wh,spacing:5},calloutLabel:{enabled:!0,fontSize:12,fontFamily:Gh,color:Bh,offset:3,minAngle:0},sectorLabel:{enabled:!0,fontWeight:"normal",fontSize:12,fontFamily:Gh,color:Hh,positionOffset:0,positionRatio:.5},calloutLine:{length:10,strokeWidth:2},fillOpacity:1,strokeOpacity:1,strokeWidth:0,lineDash:[0],lineDashOffset:0,rotation:0,sectorSpacing:1,shadow:{enabled:!1,color:jh,xOffset:3,yOffset:3,blur:5}}},Gp=({takeColors:e,colorsCount:t})=>{const{fills:i,strokes:a}=e(t);return{fills:i,strokes:a,calloutLine:{colors:a}}},Bp={type:"series",optionsKey:"series[]",packageType:"community",chartTypes:["polar"],identifier:"donut",instanceConstructor:Op,tooltipDefaults:{range:"exact"},themeTemplate:{series:{title:{enabled:!0,fontWeight:"normal",fontSize:14,fontFamily:Gh,color:Wh,spacing:5},calloutLabel:{enabled:!0,fontSize:12,fontFamily:Gh,color:Bh,offset:3,minAngle:0},sectorLabel:{enabled:!0,fontWeight:"normal",fontSize:12,fontFamily:Gh,color:Hh,positionOffset:0,positionRatio:.5},calloutLine:{length:10,strokeWidth:2},fillOpacity:1,strokeOpacity:1,strokeWidth:0,lineDash:[0],lineDashOffset:0,rotation:0,sectorSpacing:1,shadow:{enabled:!1,color:jh,xOffset:3,yOffset:3,blur:5},innerLabels:{fontSize:12,fontFamily:Gh,color:Bh,spacing:2}}},paletteFactory:Gp},Vp=class extends Yr{constructor(){super(...arguments),this.showInLegend=!1}};c([mi(wi)],Vp.prototype,"showInLegend",2);var Hp=class extends Fn{constructor(){super(...arguments),this.offset=3,this.minAngle=0,this.minSpacing=4,this.maxCollisionOffset=50,this.avoidCollisions=!0}};c([mi(Ri)],Hp.prototype,"offset",2),c([mi(Ai)],Hp.prototype,"minAngle",2),c([mi(Ri)],Hp.prototype,"minSpacing",2),c([mi(Ri)],Hp.prototype,"maxCollisionOffset",2),c([mi(wi)],Hp.prototype,"avoidCollisions",2);var Wp=class extends Fn{constructor(){super(...arguments),this.positionOffset=0,this.positionRatio=.5}};c([mi(ki)],Wp.prototype,"positionOffset",2),c([mi(Di)],Wp.prototype,"positionRatio",2);var _p=class extends Mt{constructor(){super(...arguments),this.length=10,this.strokeWidth=1}};c([mi(Bi,{optional:!0})],_p.prototype,"colors",2),c([mi(Ri)],_p.prototype,"length",2),c([mi(Ri)],_p.prototype,"strokeWidth",2);var qp=class extends Dd{constructor(){super(...arguments),this.fills=Object.values(Cp),this.strokes=Object.values(wp),this.fillOpacity=1,this.strokeOpacity=1,this.lineDash=[0],this.lineDashOffset=0,this.cornerRadius=0,this.rotation=0,this.outerRadiusOffset=0,this.outerRadiusRatio=1,this.strokeWidth=1,this.sectorSpacing=0,this.title=new Vp,this.shadow=new Cu,this.calloutLabel=new Hp,this.sectorLabel=new Wp,this.calloutLine=new _p,this.tooltip=new ku}};c([mi(xi)],qp.prototype,"angleKey",2),c([mi(xi,{optional:!0})],qp.prototype,"angleName",2),c([mi(xi,{optional:!0})],qp.prototype,"radiusKey",2),c([mi(xi,{optional:!0})],qp.prototype,"radiusName",2),c([mi(Ri,{optional:!0})],qp.prototype,"radiusMin",2),c([mi(Ri,{optional:!0})],qp.prototype,"radiusMax",2),c([mi(xi,{optional:!0})],qp.prototype,"calloutLabelKey",2),c([mi(xi,{optional:!0})],qp.prototype,"calloutLabelName",2),c([mi(xi,{optional:!0})],qp.prototype,"sectorLabelKey",2),c([mi(xi,{optional:!0})],qp.prototype,"sectorLabelName",2),c([mi(xi,{optional:!0})],qp.prototype,"legendItemKey",2),c([mi(Bi)],qp.prototype,"fills",2),c([mi(Bi)],qp.prototype,"strokes",2),c([mi(Di)],qp.prototype,"fillOpacity",2),c([mi(Di)],qp.prototype,"strokeOpacity",2),c([mi(ji)],qp.prototype,"lineDash",2),c([mi(Ri)],qp.prototype,"lineDashOffset",2),c([mi(Ri)],qp.prototype,"cornerRadius",2),c([mi(Si,{optional:!0})],qp.prototype,"itemStyler",2),c([mi(Ai)],qp.prototype,"rotation",2),c([mi(ki)],qp.prototype,"outerRadiusOffset",2),c([mi(Di)],qp.prototype,"outerRadiusRatio",2),c([mi(Ri)],qp.prototype,"strokeWidth",2),c([mi(ki)],qp.prototype,"sectorSpacing",2),c([mi(bi)],qp.prototype,"title",2),c([mi(bi)],qp.prototype,"shadow",2),c([mi(bi)],qp.prototype,"calloutLabel",2),c([mi(bi)],qp.prototype,"sectorLabel",2),c([mi(bi)],qp.prototype,"calloutLine",2),c([mi(bi)],qp.prototype,"tooltip",2);var Up=class extends _c{constructor(e,t,i,a){super(e,t,i,a),this.angleKey=a.properties.angleKey,this.radiusKey=a.properties.radiusKey,this.calloutLabelKey=a.properties.calloutLabelKey,this.sectorLabelKey=a.properties.sectorLabelKey}},Kp=class extends Lp{constructor(e){super({moduleCtx:e,pickModes:[3,0],useLabelLayer:!0,animationResetFns:{item:Tp,label:yu}}),this.properties=new qp,this.previousRadiusScale=new zd,this.radiusScale=new zd,this.calloutLabelGroup=this.contentGroup.appendChild(new on({name:"pieCalloutLabels"})),this.calloutLabelSelection=new Sr(this.calloutLabelGroup,on),this.backgroundGroup=this.rootGroup.appendChild(new on({name:`${this.id}-background`,layer:!0,zIndex:0})),this.zerosumRingsGroup=this.backgroundGroup.appendChild(new on({name:`${this.id}-zerosumRings`})),this.zerosumOuterRing=this.zerosumRingsGroup.appendChild(new rd),this.seriesItemEnabled=[],this.surroundingRadius=void 0,this.NodeEvent=Up,this.angleScale=new zd,this.angleScale.domain=[0,1],this.angleScale.range=[-Math.PI,Math.PI].map((e=>e+Math.PI/2))}addChartEventListeners(){this.destroyFns.push(this.ctx.chartEventManager?.addListener("legend-item-click",(e=>this.onLegendItemClick(e))))}get visible(){return super.visible&&(0===this.seriesItemEnabled.length||this.seriesItemEnabled.some((e=>e)))}nodeFactory(){const e=new bp;return e.miterLimit=1e9,e}getSeriesDomain(e){return"x"===e?this.angleScale.domain:this.radiusScale.domain}async processData(e){if(null==this.data||!this.properties.isValid())return;let{data:t}=this;const{visible:i,seriesItemEnabled:a}=this,{angleKey:n,radiusKey:r,calloutLabelKey:o,sectorLabelKey:s,legendItemKey:l}=this.properties,c=!this.ctx.animationManager.isSkipped(),d=[],h=[];l?d.push(Oc(l,"band",{id:"legendItemKey"})):o?d.push(Oc(o,"band",{id:"calloutLabelKey"})):s&&d.push(Oc(s,"band",{id:"sectorLabelKey"}));const u=this.radiusScale.type,g=this.radiusScale.type;r&&h.push(Gc(r,{id:"radiusValue",min:this.properties.radiusMin??0,max:this.properties.radiusMax}),zc(r,u,{id:"radiusRaw"}),Sc({id:"radiusValue"},[0,1],1,this.properties.radiusMin??0,this.properties.radiusMax)),o&&h.push(zc(o,"band",{id:"calloutLabelValue"})),s&&h.push(zc(s,"band",{id:"sectorLabelValue"})),l&&h.push(zc(l,"band",{id:"legendItemValue"})),c&&this.processedData&&d.length>0&&h.push(Ec(this.processedData)),h.push(xc()),t=t.map(((e,t)=>i&&a[t]?e:{...e,[n]:0})),await this.requestDataModel(e,t,{props:[...d,Bc(n,g,{id:"angleValue",onlyPositive:!0}),zc(n,g,{id:"angleRaw"}),Sc({id:"angleValue"},[0,1],0,0),...h]});for(const e of this.processedData?.defs?.values??[]){const{id:t,missing:i,property:a}=e,n=xl(this,i);"angleRaw"!==t&&n>0&&C.warnOnce(`no value was found for the key '${String(a)}' on ${n} data element${n>1?"s":""}`)}this.animationState.transition("updateData")}async maybeRefreshNodeData(){if(!this.nodeDataRefresh)return;const{nodeData:e=[]}=await this.createNodeData()??{};this.nodeData=e,this.nodeDataRefresh=!1}getProcessedDataIndexes(e){return{angleIdx:e.resolveProcessedDataIndexById(this,"angleValue"),radiusIdx:this.properties.radiusKey?e.resolveProcessedDataIndexById(this,"radiusValue"):-1,calloutLabelIdx:this.properties.calloutLabelKey?e.resolveProcessedDataIndexById(this,"calloutLabelValue"):-1,sectorLabelIdx:this.properties.sectorLabelKey?e.resolveProcessedDataIndexById(this,"sectorLabelValue"):-1,legendItemIdx:this.properties.legendItemKey?e.resolveProcessedDataIndexById(this,"legendItemValue"):-1}}async createNodeData(){const{id:e,processedData:t,dataModel:i,angleScale:a}=this,{rotation:n}=this.properties;if(!t||!i||"ungrouped"!==t.type)return;const{angleIdx:r,radiusIdx:o,calloutLabelIdx:s,sectorLabelIdx:l,legendItemIdx:c}=this.getProcessedDataIndexes(i);let d=0,h=0;const u=t.data.map(((e,t)=>{const{datum:i,values:u}=e,g=u[r],p=a.convert(d)+un(n);d=g,h+=g;const m=a.convert(d)+un(n),f=Math.abs(m-p),v=p+f/2,y=u[r+1],b=o>=0?u[o]??1:1,C=o>=0?u[o+1]:void 0,w=c>=0?u[c]:void 0,S=this.getLabels(i,v,f,!0,u[s],u[l],w),x=this.getSectorFormat(i,t,!1);return{itemId:t,series:this,datum:i,index:t,angleValue:y,midAngle:v,midCos:Math.cos(v),midSin:Math.sin(v),startAngle:p,endAngle:m,sectorFormat:x,radiusValue:C,radius:b,innerRadius:Math.max(this.radiusScale.convert(0),0),outerRadius:Math.max(this.radiusScale.convert(b),0),legendItemValue:w,enabled:this.seriesItemEnabled[t],...S}}));return this.zerosumOuterRing.visible=0===h,{itemId:e,nodeData:u,labelData:u}}getLabels(e,t,i,a,n,r,o){const{calloutLabel:s,sectorLabel:l,legendItemKey:c}=this.properties,d=!a||s.enabled?this.properties.calloutLabelKey:void 0,h=!a||l.enabled?this.properties.sectorLabelKey:void 0;if(!d&&!h&&!c)return{};const u={datum:e,angleKey:this.properties.angleKey,angleName:this.properties.angleName,radiusKey:this.properties.radiusKey,radiusName:this.properties.radiusName,calloutLabelKey:this.properties.calloutLabelKey,calloutLabelName:this.properties.calloutLabelName,sectorLabelKey:this.properties.sectorLabelKey,sectorLabelName:this.properties.sectorLabelName,legendItemKey:this.properties.legendItemKey},g={};return d&&i>un(s.minAngle)&&(g.calloutLabel={...this.getTextAlignment(t),text:this.getLabelText(s,{...u,value:n}),hidden:!1,collisionTextAlign:void 0,collisionOffsetY:0,box:void 0}),h&&(g.sectorLabel={text:this.getLabelText(l,{...u,value:r})}),null!=c&&null!=o&&(g.legendItem={key:c,text:o}),g}getTextAlignment(e){const t=[{textAlign:"center",textBaseline:"bottom"},{textAlign:"left",textBaseline:"middle"},{textAlign:"center",textBaseline:"hanging"},{textAlign:"right",textBaseline:"middle"}],i=dn(e)- -.75*Math.PI;return t[ke(Math.floor(i/(Math.PI/2)),t.length)]}getSectorFormat(e,t,i){const{callbackCache:a,highlightManager:n}=this.ctx,{angleKey:r,radiusKey:o,calloutLabelKey:s,sectorLabelKey:l,legendItemKey:c,fills:d,strokes:h,itemStyler:u}=this.properties,g=n.getActiveHighlight(),p=i&&g?.series===this&&t===g.itemId,m=h[t%h.length],{fill:f,fillOpacity:v,stroke:y,strokeWidth:b,strokeOpacity:C,lineDash:w,lineDashOffset:S,cornerRadius:x}=vt(p&&this.properties.highlightStyle.item,{fill:d.length>0?d[t%d.length]:void 0,stroke:m,strokeWidth:this.getStrokeWidth(this.properties.strokeWidth),strokeOpacity:this.getOpacity()},this.properties);let k;return u&&(k=a.call(u,{datum:e,angleKey:r,radiusKey:o,calloutLabelKey:s,sectorLabelKey:l,legendItemKey:c,fill:f,strokeOpacity:C,stroke:y,strokeWidth:b,fillOpacity:v,lineDash:w,lineDashOffset:S,cornerRadius:x,highlighted:p,seriesId:this.id})),{fill:k?.fill??f,fillOpacity:k?.fillOpacity??v,stroke:k?.stroke??y,strokeWidth:k?.strokeWidth??b,strokeOpacity:k?.strokeOpacity??C,lineDash:k?.lineDash??w,lineDashOffset:k?.lineDashOffset??S,cornerRadius:k?.cornerRadius??x}}getOuterRadius(){return Math.max(this.radius*this.properties.outerRadiusRatio+this.properties.outerRadiusOffset,0)}updateRadiusScale(e){const t=[0,this.getOuterRadius()];this.radiusScale.range=t,e&&(this.previousRadiusScale.range=t),this.nodeData=this.nodeData.map((({radius:e,...t})=>({...t,radius:e,innerRadius:Math.max(this.radiusScale.convert(0),0),outerRadius:Math.max(this.radiusScale.convert(e),0)})))}getTitleTranslationY(){const e=Math.max(0,this.radiusScale.range[1]);if(0===e)return NaN;return-e-(2+(this.properties.title?.spacing??0))-Math.max(0,-e)}async update({seriesRect:e}){const{title:t}=this.properties,i={seriesRectWidth:e?.width,seriesRectHeight:e?.height},a=null!=Et(this.nodeDataDependencies,i);if(a&&(this._nodeDataDependencies=i),await this.maybeRefreshNodeData(),this.updateTitleNodes(),this.updateRadiusScale(a),this.contentGroup.translationX=this.centerX,this.contentGroup.translationY=this.centerY,this.highlightGroup.translationX=this.centerX,this.highlightGroup.translationY=this.centerY,this.backgroundGroup.translationX=this.centerX,this.backgroundGroup.translationY=this.centerY,this.labelGroup&&(this.labelGroup.translationX=this.centerX,this.labelGroup.translationY=this.centerY),t){const e=this.getTitleTranslationY(),i=t.node.computeBBox();t.node.visible=t.enabled&&isFinite(e)&&!this.bboxIntersectsSurroundingSeries(i,0,e),t.node.translationY=isFinite(e)?e:0}this.zerosumOuterRing.fillOpacity=0,this.zerosumOuterRing.stroke=this.properties.calloutLabel.color,this.zerosumOuterRing.strokeWidth=1,this.zerosumOuterRing.strokeOpacity=1,this.updateNodeMidPoint(),await this.updateSelections(),await this.updateNodes(e)}updateTitleNodes(){const{oldTitle:e}=this,{title:t}=this.properties;e!==t&&(e&&this.labelGroup?.removeChild(e.node),t&&(t.node.textBaseline="bottom",this.labelGroup?.appendChild(t.node)),this.oldTitle=t)}updateNodeMidPoint(){this.nodeData.forEach((e=>{const t=e.innerRadius+(e.outerRadius-e.innerRadius)/2;e.midPoint={x:e.midCos*Math.max(0,t),y:e.midSin*Math.max(0,t)}}))}async updateSelections(){await this.updateGroupSelection()}async updateGroupSelection(){const{itemSelection:e,highlightSelection:t,highlightLabelSelection:i,calloutLabelSelection:a,labelSelection:n}=this,r=this.ctx.highlightManager.getActiveHighlight(),o=r?.series===this?this.nodeData.filter((e=>e.itemId===r?.itemId)):[],s=(e,t)=>{let i=this.nodeData;t&&(i=i.map((e=>({...e,sectorFormat:{...e.sectorFormat}})))),e.update(i,void 0,(e=>this.getDatumId(e))),this.ctx.animationManager.isSkipped()&&e.cleanup()};s(e,!1),s(t,!0),a.update(this.nodeData,(e=>{const t=new Rr;t.tag=0,t.pointerEvents=1,e.appendChild(t);const i=new Tn;i.tag=1,i.pointerEvents=1,e.appendChild(i)})),n.update(this.nodeData),i.update(o)}async updateNodes(e){const t=this.ctx.highlightManager.getActiveHighlight(),i=this.visible&&this.seriesItemEnabled.indexOf(!0)>=0;this.rootGroup.visible=i,this.backgroundGroup.visible=i,this.contentGroup.visible=i,this.highlightGroup.visible=i&&t?.series===this,this.highlightLabel.visible=i&&t?.series===this,this.labelGroup&&(this.labelGroup.visible=i),this.contentGroup.opacity=this.getOpacity();const a=(e,t,i,a)=>{const n=this.getSectorFormat(t.datum,t.itemId,a);t.sectorFormat.fill=n.fill,t.sectorFormat.stroke=n.stroke;const r=this.ctx.animationManager.isSkipped();r&&(e.startAngle=t.startAngle,e.endAngle=t.endAngle,e.innerRadius=t.innerRadius,e.outerRadius=t.outerRadius),(a||r)&&(e.fill=n.fill,e.stroke=n.stroke),e.strokeWidth=n.strokeWidth,e.fillOpacity=n.fillOpacity,e.strokeOpacity=n.strokeOpacity,e.lineDash=n.lineDash,e.lineDashOffset=n.lineDashOffset,e.cornerRadius=n.cornerRadius,e.fillShadow=this.properties.shadow;const o=Math.max((this.properties.sectorSpacing+(null!=n.stroke?n.strokeWidth:0))/2,0);e.inset=o,e.lineJoin=this.properties.sectorSpacing>=0||o>0?"miter":"round"};this.itemSelection.each(((e,t,i)=>a(e,t,0,!1))),this.highlightSelection.each(((e,t,i)=>a(e,t,0,!0))),this.updateCalloutLineNodes(),this.updateCalloutLabelNodes(e),this.updateSectorLabelNodes(),this.updateZerosumRings(),this.animationState.transition("update")}updateCalloutLineNodes(){const{calloutLine:e}=this.properties,t=e.length,i=e.strokeWidth,a=e.colors??this.properties.strokes,{offset:n}=this.properties.calloutLabel;this.calloutLabelSelection.selectByTag(0).forEach(((e,r)=>{const o=e.datum,{calloutLabel:s,outerRadius:l}=o;if(s?.text&&!s.hidden&&0!==l){e.visible=!0,e.strokeWidth=i,e.stroke=a[r%a.length],e.fill=void 0;const c=o.midCos*l,d=o.midSin*l;let h=o.midCos*(l+t),u=o.midSin*(l+t);if((s.collisionTextAlign??0!==s.collisionOffsetY)&&null!=s.box){const e=s.box;let t=h,i=u;h<e.x?t=e.x:h>e.x+e.width&&(t=e.x+e.width),u<e.y?i=e.y:u>e.y+e.height&&(i=e.y+e.height);const a=t-h,r=i-u,o=Math.sqrt(Math.pow(a,2)+Math.pow(r,2)),l=o-n;l>0&&(h+=a*l/o,u+=r*l/o)}e.x1=c,e.y1=d,e.x2=h,e.y2=u}else e.visible=!1}))}getLabelOverflow(e,t,i){const a=i.x-this.centerX,n=i.x+i.width-this.centerX,r=i.y-this.centerY,o=i.y+i.height-this.centerY;let s=1;t.x+1<a?s=(t.x+t.width-a)/t.width:t.x+t.width-1>n&&(s=(n-t.x)/t.width);const l=t.y+1<r||t.y+t.height-1>o;return{textLength:1===s?e.length:Math.floor(e.length*s)-1,hasVerticalOverflow:l,hasSurroundingSeriesOverflow:this.bboxIntersectsSurroundingSeries(t)}}bboxIntersectsSurroundingSeries(e,t=0,i=0){const{surroundingRadius:a}=this;if(null==a)return!1;const n=[{x:e.x+t,y:e.y+i},{x:e.x+e.width+t,y:e.y+i},{x:e.x+e.width+t,y:e.y+e.height+i},{x:e.x+t,y:e.y+e.height+i}],r=a**2;return n.some((e=>e.x**2+e.y**2>r))}computeCalloutLabelCollisionOffsets(){const{radiusScale:e}=this,{calloutLabel:t,calloutLine:i}=this.properties,{offset:a,minSpacing:n}=t,r=e.convert(0),o=this.nodeData,s=this.nodeData.filter((e=>{return!(!(t=e).calloutLabel||0===t.outerRadius);var t}));if(s.forEach((e=>{const t=e.calloutLabel;null!=t&&(t.hidden=!1,t.collisionTextAlign=void 0,t.collisionOffsetY=0)})),s.length<=1)return;const l=s.filter((e=>e.midCos<0)).sort(((e,t)=>e.midSin-t.midSin)),c=s.filter((e=>e.midCos>=0)).sort(((e,t)=>e.midSin-t.midSin)),d=s.filter((e=>e.midSin<0&&"center"===e.calloutLabel?.textAlign)).sort(((e,t)=>e.midCos-t.midCos)),h=s.filter((e=>e.midSin>=0&&"center"===e.calloutLabel?.textAlign)).sort(((e,t)=>e.midCos-t.midCos)),u=new Tn,g=e=>{const t=e.calloutLabel;if(null==t)return new Ee(0,0,0,0);const n=e.outerRadius+i.length+a,r=e.midCos*n,o=e.midSin*n+t.collisionOffsetY;return u.text=t.text,u.x=r,u.y=o,u.setFont(this.properties.calloutLabel),u.setAlign({textAlign:t.collisionTextAlign??t.textAlign,textBaseline:t.textBaseline}),u.computeBBox()},p=(e,t,i)=>{const a=g(e).grow(n/2),r=g(t).grow(n/2);if(a.x<r.x+r.width&&a.x+a.width>r.x&&("to-top"===i?a.y<r.y+r.height:a.y+a.height>r.y)){const e="to-top"===i?a.y-r.y-r.height:a.y+a.height-r.y;t.calloutLabel.collisionOffsetY=e}},m=e=>{const t=e.slice().sort(((e,t)=>Math.abs(e.midSin)-Math.abs(t.midSin)))[0],i=e.indexOf(t);for(let t=i-1;t>=0;t--){const i=e[t+1],a=e[t];p(i,a,"to-top")}for(let t=i+1;t<e.length;t++){const i=e[t-1],a=e[t];p(i,a,"to-bottom")}},f=e=>{const t=s.some((e=>0!==e.calloutLabel.collisionOffsetY)),i=e.map((e=>g(e))),a=i.map((e=>e.clone().grow(n/2)));let l=!1;for(let t=0;t<a.length&&!l;t++){const i=a[t];for(let n=t+1;n<e.length;n++){const e=a[n];if(i.collidesBBox(e)){l=!0;break}}}const c=o.map((e=>{const{startAngle:t,endAngle:i,outerRadius:a}=e;return{startAngle:t,endAngle:i,innerRadius:r,outerRadius:a}})),d=i.some((e=>c.some((t=>hp(e,t)))));(l||t||d)&&e.filter((e=>"center"===e.calloutLabel.textAlign)).forEach((e=>{const t=e.calloutLabel;e.midCos<0?t.collisionTextAlign="right":e.midCos>0?t.collisionTextAlign="left":t.collisionTextAlign="center"}))};m(l),m(c),f(d),f(h)}updateCalloutLabelNodes(e){const{radiusScale:t}=this,{calloutLabel:i,calloutLine:a}=this.properties,n=a.length,{offset:r,color:o}=i,s=new Tn;this.calloutLabelSelection.selectByTag(1).forEach((a=>{const{datum:l}=a,c=l.calloutLabel,d=t.convert(l.radius),h=Math.max(0,d);if(!c?.text||0===h||c.hidden)return void(a.visible=!1);const u=h+n+r,g=l.midCos*u,p=l.midSin*u+c.collisionOffsetY,m={textAlign:c.collisionTextAlign??c.textAlign,textBaseline:c.textBaseline};s.text=c.text,s.x=g,s.y=p,s.setFont(this.properties.calloutLabel),s.setAlign(m);const f=s.computeBBox();let v=c.text,y=!0;if(i.avoidCollisions){const{textLength:t,hasVerticalOverflow:i}=this.getLabelOverflow(c.text,f,e);v=c.text.length===t?c.text:`${c.text.substring(0,t)}…`,y=!i}a.text=v,a.x=g,a.y=p,a.setFont(this.properties.calloutLabel),a.setAlign(m),a.fill=o,a.visible=y}))}async computeLabelsBBox(e,t){const{calloutLabel:i,calloutLine:a}=this.properties,n=a.length,{offset:r,maxCollisionOffset:o,minSpacing:s}=i;if(!i.avoidCollisions)return null;await this.maybeRefreshNodeData(),this.updateRadiusScale(!1),this.computeCalloutLabelCollisionOffsets();const l=[],c=new Tn;let d;const{title:h}=this.properties;if(h?.text&&h.enabled){const e=this.getTitleTranslationY();isFinite(e)&&(c.text=h.text,c.x=0,c.y=e,c.setFont(h),c.setAlign({textBaseline:"bottom",textAlign:"center"}),d=c.computeBBox(),l.push(d))}return this.nodeData.forEach((i=>{const a=i.calloutLabel;if(!a||0===i.outerRadius)return null;const h=i.outerRadius+n+r,u=i.midCos*h,g=i.midSin*h+a.collisionOffsetY;c.text=a.text,c.x=u,c.y=g,c.setFont(this.properties.calloutLabel),c.setAlign({textAlign:a.collisionTextAlign??a.textAlign,textBaseline:a.textBaseline});const p=c.computeBBox();if(a.box=p,Math.abs(a.collisionOffsetY)>o)a.hidden=!0;else{if(d){const e=t.y-this.centerY,i=new Ee(d.x-s,e,d.width+2*s,d.y+d.height+s-e);if(p.collidesBBox(i))return void(a.hidden=!0)}if(e.hideWhenNecessary){const{textLength:e,hasVerticalOverflow:i,hasSurroundingSeriesOverflow:n}=this.getLabelOverflow(a.text,p,t),r=a.text.length>2&&e<2;if(i||r||n)return void(a.hidden=!0)}a.hidden=!1,l.push(p)}})),0===l.length?null:Ee.merge(l)}updateSectorLabelNodes(){const{radiusScale:e}=this,t=e.convert(0),{fontSize:i,fontStyle:a,fontWeight:n,fontFamily:r,positionOffset:o,positionRatio:s,color:l}=this.properties.sectorLabel,c=t>0,d=1===this.seriesItemEnabled.filter(Boolean).length,h=(e,h)=>{const{sectorLabel:u,outerRadius:g}=h;let p=!1;if(u&&0!==g){const m=t*(1-s)+g*s+o;e.fill=l,e.fontStyle=a,e.fontWeight=n,e.fontSize=i,e.fontFamily=r,e.text=u.text;!c&&d?(e.x=0,e.y=0):(e.x=h.midCos*m,e.y=h.midSin*m),e.textAlign="center",e.textBaseline="middle";const f=e.computeBBox(),v=[[f.x,f.y],[f.x+f.width,f.y],[f.x+f.width,f.y+f.height],[f.x,f.y+f.height]],{startAngle:y,endAngle:b}=h,C={startAngle:y,endAngle:b,innerRadius:t,outerRadius:g};v.every((([e,t])=>cp(e,t,C)))&&(p=!0)}e.visible=p};this.labelSelection.each(h),this.highlightLabelSelection.each(h)}updateZerosumRings(){this.zerosumOuterRing.size=2*this.getOuterRadius()}getDatumLegendName(e){const{angleKey:t,calloutLabelKey:i,sectorLabelKey:a,legendItemKey:n}=this.properties,{sectorLabel:r,calloutLabel:o,legendItem:s}=e;return n&&void 0!==s?s.text:i&&i!==t&&void 0!==o?.text?o.text:a&&a!==t&&void 0!==r?.text?r.text:void 0}pickNodeClosestDatum(e){return Pp(this,e)}getTooltipHtml(e){if(!this.properties.isValid())return _r;const{datum:t,angleValue:i,sectorFormat:{fill:a},itemId:n}=e,r=mu(this.properties.title?.text),o=ht(i)?xe(i):String(i),s=this.getDatumLegendName(e);return this.properties.tooltip.toTooltipHtml({title:r??s,content:r&&s?`${s}: ${o}`:o,backgroundColor:a},{datum:t,itemId:n,title:r,color:a,seriesId:this.id,angleKey:this.properties.angleKey,angleName:this.properties.angleName,radiusKey:this.properties.radiusKey,radiusName:this.properties.radiusName,calloutLabelKey:this.properties.calloutLabelKey,calloutLabelName:this.properties.calloutLabelName,sectorLabelKey:this.properties.sectorLabelKey,sectorLabelName:this.properties.sectorLabelName,legendItemKey:this.properties.legendItemKey})}getLegendData(e){const{visible:t,processedData:i,dataModel:a}=this;if(!a||!i?.data.length||"category"!==e)return[];const{angleKey:n,calloutLabelKey:r,sectorLabelKey:o,legendItemKey:s}=this.properties;if(!(s||r&&r!==n||o&&o!==n))return[];const{calloutLabelIdx:l,sectorLabelIdx:c,legendItemIdx:d}=this.getProcessedDataIndexes(a),h=this.properties.title?.showInLegend&&this.properties.title.text,u=[];for(let e=0;e<i.data.length;e++){const{datum:a,values:g}=i.data[e],p=[];h&&p.push(h);const m=this.getLabels(a,2*Math.PI,2*Math.PI,!1,g[l],g[c],g[d]);if(s&&void 0!==m.legendItem?p.push(m.legendItem.text):r&&r!==n&&void 0!==m.calloutLabel?.text?p.push(m.calloutLabel?.text):o&&o!==n&&void 0!==m.sectorLabel?.text&&p.push(m.sectorLabel?.text),0===p.length)continue;const f=this.getSectorFormat(a,e,!1);u.push({legendType:"category",id:this.id,itemId:e,seriesId:this.id,enabled:t&&this.seriesItemEnabled[e],label:{text:p.join(" - ")},symbols:[{marker:{fill:f.fill,stroke:f.stroke,fillOpacity:this.properties.fillOpacity,strokeOpacity:this.properties.strokeOpacity,strokeWidth:this.properties.strokeWidth}}],legendItemName:null!=s?a[s]:void 0})}return u}onLegendItemClick(e){const{enabled:t,itemId:i,series:a,legendItemName:n}=e;a.id===this.id?this.toggleSeriesItem(i,t):null!=n&&this.toggleOtherSeriesItems(n,t)}toggleSeriesItem(e,t){this.seriesItemEnabled[e]=t,this.nodeData[e]&&(this.nodeData[e].enabled=t),this.nodeDataRefresh=!0}toggleOtherSeriesItems(e,t){if(!this.properties.legendItemKey||!this.dataModel)return;const i=this.dataModel.resolveProcessedDataIndexById(this,"legendItemValue");this.processedData?.data.forEach((({values:a},n)=>{a[i]===e&&this.toggleSeriesItem(n,t)}))}animateEmptyUpdateReady(e){const{animationManager:t}=this.ctx,i=Ep(!0,this.properties.rotation,this.radiusScale,this.previousRadiusScale);Qt(this.id,"nodes",t,[this.itemSelection,this.highlightSelection],i.nodes),fu(this,"callout",t,this.calloutLabelSelection),fu(this,"sector",t,this.labelSelection),fu(this,"highlight",t,this.highlightLabelSelection),this.previousRadiusScale.range=this.radiusScale.range}animateWaitingUpdateReady(){const{itemSelection:e,highlightSelection:t,processedData:i,radiusScale:a,previousRadiusScale:n}=this,{animationManager:r}=this.ctx,o=i?.reduced?.diff;this.ctx.animationManager.stopByAnimationGroupId(this.id);const s=0===(o?.moved.size??0),l=(i?.defs.keys.length??0)>0;s&&l&&(i?.reduced?.animationValidation?.uniqueKeys??!0)||this.ctx.animationManager.skipCurrentBatch();const c=Ep(!1,this.properties.rotation,a,n);Qt(this.id,"nodes",r,[e,t],c.nodes,((e,t)=>this.getDatumId(t)),o),fu(this,"callout",this.ctx.animationManager,this.calloutLabelSelection),fu(this,"sector",this.ctx.animationManager,this.labelSelection),fu(this,"highlight",this.ctx.animationManager,this.highlightLabelSelection),this.previousRadiusScale.range=this.radiusScale.range}animateClearingUpdateEmpty(){const{itemSelection:e,highlightSelection:t,radiusScale:i,previousRadiusScale:a}=this,{animationManager:n}=this.ctx,r=Ep(!1,this.properties.rotation,i,a);Qt(this.id,"nodes",n,[e,t],r.nodes),vu(this,"callout",this.ctx.animationManager,this.calloutLabelSelection),vu(this,"sector",this.ctx.animationManager,this.labelSelection),vu(this,"highlight",this.ctx.animationManager,this.highlightLabelSelection),this.previousRadiusScale.range=this.radiusScale.range}getDatumIdFromData(e){const{calloutLabelKey:t,sectorLabelKey:i,legendItemKey:a}=this.properties;if(this.processedData?.reduced?.animationValidation?.uniqueKeys)return a?e[a]:t?e[t]:i?e[i]:void 0}getDatumId(e){const{index:t}=e,i=this.getDatumIdFromData(e.datum);return null!=i?String(i):`${t}`}onDataChange(){const{data:e,seriesItemEnabled:t}=this;this.seriesItemEnabled=e?.map(((e,i)=>t[i]??!0))??[]}};Kp.className="PieSeries",Kp.type="pie";var jp={type:"series",optionsKey:"series[]",packageType:"community",chartTypes:["polar"],identifier:"pie",instanceConstructor:Kp,tooltipDefaults:{range:"exact"},themeTemplate:zp,paletteFactory:Gp},Yp=class extends Mt{constructor(e,t){super(),this.onChange=e,this.onButtonsChange=t,this.align="start",this.position="top",this.size="normal"}};c([Or((e=>{e.onChange(e.enabled)})),mi(wi)],Yp.prototype,"enabled",2),c([Or((e=>{e.onChange(e.enabled)})),mi(ra([...il]),{optional:!0})],Yp.prototype,"align",2),c([Or((e=>{e.onChange(e.enabled)})),mi(ra(rl),{optional:!0})],Yp.prototype,"position",2),c([Or((e=>{e.onChange(e.enabled)})),mi(ra(["small","normal"]),{optional:!0})],Yp.prototype,"size",2),c([Or((e=>{e.onButtonsChange(e.buttons)})),mi(Ti,{optional:!0})],Yp.prototype,"buttons",2);var $p="ag-charts-toolbar",Zp="ag-charts-toolbar__align",Xp="ag-charts-toolbar__section",Qp="ag-charts-toolbar__button",Jp="ag-charts-toolbar__icon",em="ag-charts-toolbar__label",tm={top:"ag-charts-toolbar--top",right:"ag-charts-toolbar--right",bottom:"ag-charts-toolbar--bottom",left:"ag-charts-toolbar--left",floating:"ag-charts-toolbar--floating","floating-top":"ag-charts-toolbar--floating-top","floating-bottom":"ag-charts-toolbar--floating-bottom",small:"ag-charts-toolbar--small",normal:"ag-charts-toolbar--normal",hidden:"ag-charts-toolbar--hidden",preventFlash:"ag-charts-toolbar--prevent-flash",floatingHidden:"ag-charts-toolbar--floating-hidden",align:{start:"ag-charts-toolbar__align--start",center:"ag-charts-toolbar__align--center",end:"ag-charts-toolbar__align--end"},button:{active:"ag-charts-toolbar__button--active",hiddenValue:"ag-charts-toolbar__button--hidden-value",hiddenToggled:"ag-charts-toolbar__button--hidden-toggled"}},im=class extends Ko{constructor(e){super(),this.ctx=e,this.enabled=!0,this.annotations=new Yp(this.onGroupChanged.bind(this,"annotations"),this.onGroupButtonsChanged.bind(this,"annotations")),this.annotationOptions=new Yp(this.onGroupChanged.bind(this,"annotationOptions"),this.onGroupButtonsChanged.bind(this,"annotationOptions")),this.ranges=new Yp(this.onGroupChanged.bind(this,"ranges"),this.onGroupButtonsChanged.bind(this,"ranges")),this.zoom=new Yp(this.onGroupChanged.bind(this,"zoom"),this.onGroupButtonsChanged.bind(this,"zoom")),this.horizontalSpacing=10,this.verticalSpacing=10,this.floatingDetectionRange=38,this.positions={top:new Set,right:new Set,bottom:new Set,left:new Set,floating:new Set,"floating-top":new Set,"floating-bottom":new Set},this.positionAlignments={top:{},right:{},bottom:{},left:{},floating:{},"floating-top":{},"floating-bottom":{}},this.groupCallers={annotations:new Set,annotationOptions:new Set,ranges:new Set,zoom:new Set},this.groupButtons={annotations:[],annotationOptions:[],ranges:[],zoom:[]},this.groupDestroyFns={annotations:[],annotationOptions:[],ranges:[],zoom:[]},this.pendingButtonToggledEvents=[],this.groupProxied=new Map,this.hasNewLocale=!0,e.domManager.addStyles($p,".ag-charts-toolbar{align-items:center;background:none;border:none;display:flex;flex-wrap:nowrap;opacity:1;position:absolute;transform:translateY(0);transition:opacity 0.2s ease-in-out,transform 0.2s ease-in-out}.ag-charts-toolbar--hidden,\n.ag-charts-toolbar--prevent-flash{visibility:hidden}.ag-charts-toolbar--floating-hidden{opacity:0;transition:opacity 0.4s ease-in-out}.ag-charts-toolbar--small{--ag-charts-toolbar-size:var(--ag-charts-toolbar-size-small);--ag-charts-toolbar-font-size:var(--ag-charts-toolbar-font-size-small);--ag-charts-toolbar-button-padding:var(--ag-charts-toolbar-button-padding-small)}.ag-charts-toolbar--top,\n.ag-charts-toolbar--bottom{flex-direction:row;width:100%}.ag-charts-toolbar--left,\n.ag-charts-toolbar--right{flex-direction:column}.ag-charts-toolbar--floating,\n.ag-charts-toolbar--floating-top,\n.ag-charts-toolbar--floating-bottom{background:none;border:none;flex-direction:row;overflow:hidden;pointer-events:none;width:100%}.ag-charts-toolbar--floating{padding:0;width:auto;z-index:var(--ag-charts-layer-toolbar)}.ag-charts-toolbar--floating-top{height:calc(var(--ag-charts-toolbar-size) + 10px);padding-top:10px}.ag-charts-toolbar--floating-bottom{height:calc(var(--ag-charts-toolbar-size) + 10px);padding-bottom:10px}.ag-charts-toolbar__align{display:flex;flex-direction:inherit;flex-wrap:inherit;gap:var(--ag-charts-toolbar-gap);max-width:100%;width:100%}.ag-charts-toolbar__align--start{justify-content:start}.ag-charts-toolbar__align--center{justify-content:center}.ag-charts-toolbar__align--end{justify-content:end}.ag-charts-toolbar__align--center,\n.ag-charts-toolbar__align--end{margin-left:auto}.ag-charts-toolbar--left .ag-charts-toolbar__align--center,\n.ag-charts-toolbar--left .ag-charts-toolbar__align--end,\n.ag-charts-toolbar--right .ag-charts-toolbar__align--center,\n.ag-charts-toolbar--right .ag-charts-toolbar__align--end{margin-left:0;margin-top:auto}.ag-charts-toolbar--floating-top .ag-charts-toolbar__align,\n.ag-charts-toolbar--floating-bottom .ag-charts-toolbar__align{transition:transform 0.4s ease-in-out;width:auto}.ag-charts-toolbar__section{display:inherit;flex-direction:inherit;flex-wrap:inherit;justify-content:inherit;max-width:inherit;width:inherit}.ag-charts-toolbar__button{align-items:center;background:var(--ag-charts-toolbar-background-color);border:var(--ag-charts-toolbar-border);color:var(--ag-charts-toolbar-foreground-color);display:flex;font-size:var(--ag-charts-toolbar-font-size);font-weight:500;justify-content:center;margin:0 0 0 -1px;min-height:var(--ag-charts-toolbar-size);min-width:var(--ag-charts-toolbar-size);padding:var(--ag-charts-toolbar-button-padding);pointer-events:all;transition:background-color 0.25s ease-in-out,color 0.25s ease-in-out;white-space:nowrap}.ag-charts-toolbar__button:first-child{border-bottom-left-radius:var(--ag-charts-button-radius);border-top-left-radius:var(--ag-charts-button-radius);margin:0}.ag-charts-toolbar__button:last-child{border-bottom-right-radius:var(--ag-charts-button-radius);border-right:var(--ag-charts-toolbar-border);border-top-right-radius:var(--ag-charts-button-radius)}.ag-charts-toolbar--left .ag-charts-toolbar__button,\n.ag-charts-toolbar--right .ag-charts-toolbar__button{border-left:var(--ag-charts-toolbar-border);border-right:var(--ag-charts-toolbar-border);border-radius:0;margin:-1px 0 0 0;max-width:100%;overflow:hidden}.ag-charts-toolbar--left .ag-charts-toolbar__button:first-child,\n.ag-charts-toolbar--right .ag-charts-toolbar__button:first-child{border-top-left-radius:var(--ag-charts-button-radius);border-top-right-radius:var(--ag-charts-button-radius);margin:0}.ag-charts-toolbar--left .ag-charts-toolbar__button:last-child,\n.ag-charts-toolbar--right .ag-charts-toolbar__button:last-child{border-bottom:var(--ag-charts-toolbar-border);border-bottom-left-radius:var(--ag-charts-button-radius);border-bottom-right-radius:var(--ag-charts-button-radius)}.ag-charts-toolbar__button--hidden-value,\n.ag-charts-toolbar__button--hidden-toggled{display:none}.ag-charts-toolbar__button:hover{background:var(--ag-charts-toolbar-hover-color)}.ag-charts-toolbar .ag-charts-toolbar__button:focus-visible{border-left:var(--ag-charts-toolbar-border);border-color:var(--ag-charts-toolbar-focus-color);box-shadow:var(--ag-charts-focus-border-shadow);z-index:1}.ag-charts-toolbar__button.ag-charts-toolbar__button--active{background:var(--ag-charts-toolbar-active-background-color);color:var(--ag-charts-toolbar-active-color)}.ag-charts-toolbar__button[aria-disabled='true']{background:var(--ag-charts-toolbar-disabled-background-color);color:var(--ag-charts-toolbar-disabled-foreground-color)}.ag-charts-toolbar__button:not([aria-disabled='true']){cursor:pointer}.ag-charts-toolbar__icon{height:1.2em;width:1.2em}.ag-charts-toolbar__icon + .ag-charts-toolbar__label{margin-left:var(--ag-charts-toolbar-gap)}.ag-charts-toolbar__icon,\n.ag-charts-toolbar__label{pointer-events:none}"),this.elements={};for(const t of rl)this.elements[t]=e.domManager.addChild("canvas-overlay",`toolbar-${t}`),this.renderToolbar(t);this.toggleVisibilities(),this.destroyFns.push(e.interactionManager.addListener("hover",this.onHover.bind(this),31),e.interactionManager.addListener("leave",this.onLeave.bind(this),31),e.toolbarManager.addListener("button-toggled",this.onButtonToggled.bind(this)),e.toolbarManager.addListener("group-toggled",this.onGroupToggled.bind(this)),e.toolbarManager.addListener("floating-anchor-changed",this.onFloatingAnchorChanged.bind(this)),e.toolbarManager.addListener("proxy-group-options",this.onProxyGroupOptions.bind(this)),e.layoutService.addListener("layout-complete",this.onLayoutComplete.bind(this)),e.localeManager.addListener("locale-changed",(()=>{this.hasNewLocale=!0})),(()=>this.destroyElements()))}destroyElements(){this.ctx.domManager.removeStyles($p);for(const e of Object.keys(this.elements))this.ctx.domManager.removeChild("canvas-overlay",`toolbar-${e}`)}onHover(e){const{enabled:t,elements:i,floatingDetectionRange:a,ctx:{scene:n}}=this,{offsetY:r,sourceEvent:{target:o}}=e,{FloatingBottom:s,FloatingTop:l}=nl;if(!t)return;const c=i[s],d=i[l],h=r>c.offsetTop-a&&r<n.canvas.element.offsetHeight||o===c,u=d.offsetTop+d.offsetHeight+a,g=r>0&&r<u||o===d;this.translateFloatingElements(s,h),this.translateFloatingElements(l,g)}onLeave(e){const{enabled:t,ctx:{scene:i}}=this,{relatedElement:a,targetElement:n}=e,{FloatingBottom:r,FloatingTop:o}=nl;if(!t||n!==i.canvas.element)return;al.some((e=>this.groupButtons[e].some((e=>e===a))))||(this.translateFloatingElements(r,!1),this.translateFloatingElements(o,!1))}onGroupChanged(e){null==this[e]||this.groupProxied.has(e)||(this.createGroup(e),this.toggleVisibilities())}onGroupButtonsChanged(e,t){this.enabled&&!this.groupProxied.has(e)&&(this.createGroupButtons(e,t),this.toggleVisibilities())}onLayoutComplete(){for(const e of rl)this.elements[e].classList.remove(tm.preventFlash)}onButtonToggled(e){const{group:t,value:i,active:a,enabled:n,visible:r}=e;if(0!==this.groupButtons[t].length)for(const e of this.groupButtons[t])e.dataset.toolbarValue===`${i}`&&(e.ariaDisabled=`${!n}`,e.classList.toggle(tm.button.hiddenToggled,!r),e.classList.toggle(tm.button.active,a));else this.pendingButtonToggledEvents.push(e)}onGroupToggled(e){const{caller:t,group:i,visible:a}=e;this.toggleGroup(t,i,a),this.toggleVisibilities()}onFloatingAnchorChanged(e){const{elements:t,groupButtons:i,positions:a,horizontalSpacing:n,verticalSpacing:r,ctx:{domManager:o,toolbarManager:s}}=this,{group:l,anchor:c}=e;if(!a.floating.has(l))return;const d=t.floating;if(d.classList.contains(tm.hidden))return;let h=c.y-d.offsetHeight-r,u=c.x-d.offsetWidth/2;"above"===c.position&&(h=c.y-d.offsetHeight/2,u=c.x+n);const g=o.getBoundingClientRect();h=fe(0,h,g.height-d.offsetHeight),u=fe(0,u,g.width-d.offsetWidth),d.style.top=`${h}px`,d.style.left=`${u}px`;for(const e of i[l]){if(e.classList.contains(tm.button.hiddenToggled))return;const t=e.offsetParent;s.buttonMoved(l,e.dataset.toolbarValue,new Ee(e.offsetLeft-e.offsetWidth+(t?.offsetLeft??0),e.offsetTop+(t?.offsetTop??0),e.offsetWidth,e.offsetWidth))}}onProxyGroupOptions(e){if(!this.enabled)return;const{caller:t,group:i,options:a}=e;this.groupProxied.set(i,a),this[i].set(a),this.toggleGroup(t,i,a.enabled),this.createGroup(i,a.enabled,a.position),a.enabled&&this.createGroupButtons(i,a.buttons)}createGroup(e,t,i){t??(t=this[e].enabled),i??(i=this[e].position);for(const a of rl)t&&i===a?this.positions[a].add(e):this.positions[a].delete(e)}createGroupButtons(e,t=[]){for(const t of this.groupButtons[e])t.remove();if(this.groupButtons[e]=[],this.groupDestroyFns[e].forEach((e=>e())),this.groupDestroyFns[e]=[],0===t.length)return;const{align:i,position:a}=this[e],n=this.positionAlignments[a][i];if(!n)return;let r=0;const o=()=>{let t=n.children.item(r);return t||(t=mr("div"),n.appendChild(t),this.destroyFns.push((()=>t.remove()))),t.classList.add(Xp,tm[this[e].size]),r++,t};let s=o(),l=t.at(0)?.section;for(const i of t){l!==i.section&&(s=o()),l=i.section;const t=this.createButtonElement(e,i);s.appendChild(t),this.groupButtons[e].push(t)}let c,d;ol(a)&&(c=()=>this.translateFloatingElements(a,!0),d=()=>this.translateFloatingElements(a,!1));const h=this.computeAriaOrientation(this[e].position);this.groupDestroyFns[e]=ih({orientation:h,toolbar:n,buttons:this.groupButtons[e],onEscape:()=>{this.ctx.toolbarManager.cancel(e)},onFocus:c,onBlur:d}),this.updateToolbarAriaLabel(e,n)}computeAriaOrientation(e){return{top:"horizontal",right:"vertical",bottom:"horizontal",left:"vertical",floating:"horizontal","floating-top":"horizontal","floating-bottom":"horizontal"}[e]}toggleGroup(e,t,i){i?this.groupCallers[t].add(e):this.groupCallers[t].delete(e)}processPendingEvents(){const e=(this.pendingButtonToggledEvents??[]).slice();for(const t of e)this.onButtonToggled(t);this.pendingButtonToggledEvents=[]}async performLayout(e){return this.enabled?(this.refreshOuterLayout(e.shrinkRect),this.refreshLocale(),e):e}async performCartesianLayout(e){this.enabled&&this.refreshInnerLayout(e.seriesRect)}refreshOuterLayout(e){const{elements:t,horizontalSpacing:i,verticalSpacing:a}=this;t.top.classList.contains(tm.hidden)||e.shrink(t.top.offsetHeight+a,"top"),t.right.classList.contains(tm.hidden)||e.shrink(t.right.offsetWidth+i,"right"),t.bottom.classList.contains(tm.hidden)||(e.shrink(t.bottom.offsetHeight+a,"bottom"),t.bottom.style.top=`${e.y+e.height+a}px`),t.left.classList.contains(tm.hidden)||e.shrink(t.left.offsetWidth+i,"left")}refreshLocale(){const{groupButtons:e,groupProxied:t,hasNewLocale:i}=this;if(i){for(const i of al){const a=t.get(i);e[i].forEach((e=>this.refreshButtonLocale(e,this[i],a))),this.updateToolbarAriaLabel(i)}this.hasNewLocale=!1}}refreshInnerLayout(e){const{elements:t,verticalSpacing:i}=this,{FloatingBottom:a,FloatingTop:n}=nl;t.top.style.top=e.y-t.top.offsetHeight-i+"px",t.top.style.left=`${e.x}px`,t.top.style.width=`${e.width}px`,t.bottom.style.left=`${e.x}px`,t.bottom.style.width=`${e.width}px`,t.right.style.top=`${e.y}px`,t.right.style.right="0px",t.right.style.height=`${e.height}px`,t.left.style.top=`${e.y}px`,t.left.style.left="0px",t.left.style.height=`${e.height}px`,t[n].style.top=`${e.y}px`,t[a].style.top=e.y+e.height-t[a].offsetHeight+"px"}refreshButtonLocale(e,t,i){const{dataset:{toolbarValue:a}}=e,n=i?.buttons?.find((({value:e})=>e===a))??t.buttons?.find((({value:e})=>e===a));n&&this.updateButtonText(e,n)}toggleVisibilities(){if(null==this.elements)return;const e=e=>this[e].enabled&&this.groupCallers[e].size>0,t=e=>t=>"string"!=typeof t.value&&"number"!=typeof t.value||`${t.value}`===e.dataset.toolbarValue;for(const t of rl){const i=this.enabled&&Array.from(this.positions[t].values()).some(e);this.elements[t].classList.toggle(tm.hidden,!i)}for(const i of al){if(null==this[i])continue;const a=e(i);for(const e of this.groupButtons[i]){const n=a&&this[i].buttons?.some(t(e));e.classList.toggle(tm.button.hiddenValue,!n)}}}translateFloatingElements(e,t){const{elements:i,verticalSpacing:a,positionAlignments:n}=this,r=i[e],o=Object.values(n[e]);r.classList.toggle(tm.floatingHidden,!t);const s="floating-bottom"===e?1:-1;for(const e of o)e.style.transform=t&&""!==e.style.transform?"translateY(0)":`translateY(${(r.offsetHeight+a)*s}px)`}renderToolbar(e="top"){const t=this.elements[e];t.classList.add($p,tm[e],tm.preventFlash),ol(e)&&t.classList.add(tm.floatingHidden);for(const i of il){const a=mr("div");a.classList.add(Zp,tm.align[i]),t.appendChild(a),this.positionAlignments[e][i]=a}}createButtonElement(e,t){const i=mr("button");return i.classList.add(Qp),i.dataset.toolbarGroup=e,i.tabIndex=-1,"string"!=typeof t.value&&"number"!=typeof t.value||(i.dataset.toolbarValue=`${t.value}`),i.onclick=nh(i,this.onButtonPress.bind(this,e,t.value)),this.updateButtonText(i,t),this.destroyFns.push((()=>i.remove())),i}updateToolbarAriaLabel(e,t){if(!t){const{align:i,position:a}=this[e];if(!(t=this.positionAlignments[a][i]))return}t.ariaLabel=this.ctx.localeManager.t({annotations:"ariaLabelAnnotationsToolbar",annotationOptions:"ariaLabelAnnotationOptionsToolbar",ranges:"ariaLabelRangesToolbar",zoom:"ariaLabelZoomToolbar"}[e])}updateButtonText(e,t){if(t.tooltip){const i=this.ctx.localeManager.t(t.tooltip);e.title=i}let i="";if(null!=t.icon&&(i=`<span class="ag-charts-icon-${t.icon} ${Jp}"></span>`),null!=t.label){const e=this.ctx.localeManager.t(t.label);i=`${i}<span class="${em}">${e}</span>`}e.innerHTML=i;Br(e,"aria-label",t.ariaLabel?this.ctx.localeManager.t(t.ariaLabel):void 0)}onButtonPress(e,t){this.ctx.toolbarManager.pressButton(e,t)}};c([Or((e=>{e.processPendingEvents(),e.toggleVisibilities()})),mi(wi)],im.prototype,"enabled",2);var am=864e5,nm=30*am,rm={type:"root",optionsKey:"toolbar",packageType:"community",chartTypes:["cartesian"],instanceConstructor:im,themeTemplate:{toolbar:{enabled:!0,annotations:{enabled:!0,position:"left",align:"start",buttons:[{icon:"trend-line",tooltip:"toolbarAnnotationsTrendLine",value:"line",section:"create"},{icon:"parallel-channel",tooltip:"toolbarAnnotationsParallelChannel",value:"parallel-channel",section:"create"},{icon:"disjoint-channel",tooltip:"toolbarAnnotationsDisjointChannel",value:"disjoint-channel",section:"create"},{icon:"horizontal-line",tooltip:"toolbarAnnotationsHorizontalLine",value:"horizontal-line",section:"create"},{icon:"vertical-line",tooltip:"toolbarAnnotationsVerticalLine",value:"vertical-line",section:"create"},{icon:"delete",tooltip:"toolbarAnnotationsClearAll",value:"clear",section:"tools"}]},annotationOptions:{enabled:!0,position:"floating",align:"start",buttons:[{icon:"line-color",tooltip:"toolbarAnnotationsColor",value:"line-color"},{icon:"lock",tooltip:"toolbarAnnotationsLock",value:"lock"},{icon:"unlock",tooltip:"toolbarAnnotationsUnlock",value:"unlock"},{icon:"delete",tooltip:"toolbarAnnotationsDelete",value:"delete"}]},ranges:{enabled:!1,position:hu,align:"start",buttons:[{label:"toolbarRange1Month",ariaLabel:"toolbarRange1MonthAria",value:nm},{label:"toolbarRange3Months",ariaLabel:"toolbarRange3MonthsAria",value:3*nm},{label:"toolbarRange6Months",ariaLabel:"toolbarRange6MonthsAria",value:6*nm},{label:"toolbarRangeYearToDate",ariaLabel:"toolbarRangeYearToDateAria",value:(e,t)=>[new Date(`${new Date(t).getFullYear()}-01-01`).getTime(),t]},{label:"toolbarRange1Year",ariaLabel:"toolbarRange1YearAria",value:365*am},{label:"toolbarRangeAll",ariaLabel:"toolbarRangeAllAria",value:(e,t)=>[e,t]}]},zoom:{enabled:!0,position:"top",align:"end",buttons:[{icon:"zoom-out-alt",tooltip:"toolbarZoomZoomOut",value:"zoom-out"},{icon:"zoom-in-alt",tooltip:"toolbarZoomZoomIn",value:"zoom-in"},{icon:"pan-left",tooltip:"toolbarZoomPanLeft",value:"pan-left"},{icon:"pan-right",tooltip:"toolbarZoomPanRight",value:"pan-right"},{icon:"pan-start",tooltip:"toolbarZoomPanStart",value:"pan-start"},{icon:"pan-end",tooltip:"toolbarZoomPanEnd",value:"pan-end"},{icon:"reset",tooltip:"toolbarZoomReset",value:"reset"}]}}}};function om(){for(const e of Yo.modules){if("enterprise"!==e.packageType||Il(e)||C.errorOnce("Unexpected enterprise module registered: "+e.identifier),"root"===e.type&&e.themeTemplate)for(const t of e.chartTypes)Vl.set(t,e.themeTemplate);if("series"===e.type){if(e.chartTypes.length>1)throw new Error(`AG Charts - Module definition error: ${e.identifier}`);Hl.register(e.identifier,e)}if("series-option"===e.type&&e.themeTemplate)for(const t of e.seriesTypes)Hl.setThemeTemplate(t,e.themeTemplate);if("axis-option"===e.type&&e.themeTemplate)for(const t of e.axisTypes){const i=e.themeTemplate[t],a={...e.themeTemplate,...i};for(const t of e.axisTypes)delete a[t];Tl.setThemeTemplate(t,a)}"axis"===e.type&&Tl.register(e.identifier,e),"legend"===e.type&&Ll.register(e.identifier,e)}if(Yo.hasEnterpriseModules()){const e=Pl.filter((({useCount:e})=>null==e||0===e));e.length>0&&C.errorOnce("Enterprise modules expected but not registered: ",e)}}var sm=class extends Jc{async updateData(){await super.updateData();const{nodes:e}=this.getOptions();this.series.forEach((t=>{(function(e){return"sankey"===e.type||"chord"===e.type})(t)&&t.setChartNodes(e)}))}async performLayout(){const e=await super.performLayout(),{seriesArea:{padding:t},seriesRoot:i,annotationRoot:a,highlightRoot:n}=this,r=e.clone();e.shrink(t.left,"left"),e.shrink(t.top,"top"),e.shrink(t.right,"right"),e.shrink(t.bottom,"bottom"),this.seriesRect=e,this.animationRect=e,this.hoverRect=e;const o=this.series.some((e=>e.visible));i.visible=o;for(const t of[i,a,n])t.translationX=Math.floor(e.x),t.translationY=Math.floor(e.y),t.setClipRectInGroupCoordinateSpace(new Ee(r.x,r.y,r.width,r.height));return this.ctx.layoutService.dispatchLayoutComplete({type:"layout-complete",chart:{width:this.ctx.scene.width,height:this.ctx.scene.height},clipSeries:!1,series:{rect:r,paddedRect:e,visible:o},axes:[]}),e}};sm.className="FlowProportionChart",sm.type="flow-proportion";var lm=class extends Jc{constructor(e,t){super(e,t)}async performLayout(){const e=await super.performLayout(),{seriesArea:{padding:t},seriesRoot:i,annotationRoot:a,highlightRoot:n}=this,r=e.clone();e.shrink(t.left,"left"),e.shrink(t.top,"top"),e.shrink(t.right,"right"),e.shrink(t.bottom,"bottom"),this.seriesRect=e,this.animationRect=e,this.hoverRect=e;for(const t of[i,a,n])t.translationX=Math.floor(e.x),t.translationY=Math.floor(e.y);return await Promise.all(this.series.map((async t=>{await t.update({seriesRect:e})}))),i.visible=this.series[0].visible,i.setClipRectInGroupCoordinateSpace(new Ee(e.x,e.y,e.width,e.height)),this.ctx.layoutService.dispatchLayoutComplete({type:"layout-complete",chart:{width:this.ctx.scene.width,height:this.ctx.scene.height},clipSeries:!1,series:{rect:r,paddedRect:e,visible:!0},axes:[]}),e}getAriaLabel(){return`hierarchical chart, ${this.getCaptionText()}`}handleSeriesFocus(e,t){this.focus.series=this.series[0];const{focus:{series:i,seriesIndex:a,datumIndex:n},seriesRect:r}=this;if(void 0===i)return;const o=i.pickFocus({datumIndex:n,datumIndexDelta:t,otherIndex:a,otherIndexDelta:e,seriesRect:r});this.updatePickedFocus(o)}};lm.className="HierarchyChart",lm.type="hierarchy";var cm=class extends Eo{constructor(){super(...arguments),this.shape="polygon",this.innerRadiusRatio=0,this.defaultTickMinSpacing=20}computeLabelsBBox(e,t){return null}};c([mi(ra(["polygon","circle"],"a polar axis shape"))],cm.prototype,"shape",2),c([mi(Di)],cm.prototype,"innerRadiusRatio",2);var dm=class extends Jc{constructor(e,t){super(e,t),this.padding=new Qo(40),this.ctx.axisManager.axisGroup.zIndex=6}async performLayout(){const e=await super.performLayout(),t=e.clone();return this.computeSeriesRect(e),await this.computeCircle(e),this.axes.forEach((e=>e.update())),this.hoverRect=e,this.ctx.layoutService.dispatchLayoutComplete({type:"layout-complete",chart:{width:this.ctx.scene.width,height:this.ctx.scene.height},clipSeries:!1,series:{rect:t,paddedRect:e,visible:!0},axes:[]}),e}updateAxes(e,t,i){const a=this.axes.find((e=>"x"===e.direction)),n=this.axes.find((e=>"y"===e.direction));if(!(a instanceof cm&&n instanceof cm))return;const r=a.scale,o=r.ticks?.().map((e=>r.convert(e))),s=n.innerRadiusRatio;a.innerRadiusRatio=s,a.computeRange?.(),a.gridLength=i,n.gridAngles=o,n.gridRange=a.range,n.range=[i,i*s],[a,n].forEach((i=>{i.translation.x=e,i.translation.y=t,i.calculateLayout()}))}computeSeriesRect(e){const{seriesArea:{padding:t}}=this;e.shrink(t.left,"left"),e.shrink(t.top,"top"),e.shrink(t.right,"right"),e.shrink(t.bottom,"bottom"),this.seriesRect=e,this.animationRect=e}async computeCircle(e){const t=this.series.filter((e=>e instanceof Lp)),i=this.axes.filter((e=>e instanceof cm)),a=(e,i,a)=>{this.updateAxes(e,i,a),t.forEach((t=>{t.centerX=e,t.centerY=i,t.radius=a}));const n=t.filter((e=>"donut"===e.type||"pie"===e.type));if(n.length>1){const e=n.map((e=>{const t=e.getInnerRadius();return{series:e,innerRadius:t}})).sort(((e,t)=>e.innerRadius-t.innerRadius));e.at(-1).series.surroundingRadius=void 0;for(let t=0;t<e.length-1;t++)e[t].series.surroundingRadius=e[t+1].innerRadius}},n=e.x+e.width/2,r=e.y+e.height/2,o=Math.max(0,Math.min(e.width,e.height)/2);let s=o;a(n,r,s);const l=async({hideWhenNecessary:l=!1}={})=>{const c=[];for(const a of[...i,...t]){const t=await a.computeLabelsBBox({hideWhenNecessary:l},e);t&&c.push(t)}if(0===c.length)return void a(n,r,o);const d=Ee.merge(c),h=this.refineCircle(d,s,e);a(h.centerX,h.centerY,h.radius),h.radius!==s&&(s=h.radius)};return await l(),await l(),await l(),await l({hideWhenNecessary:!0}),await l({hideWhenNecessary:!0}),{radius:s,centerX:n,centerY:r}}refineCircle(e,t,i){const a=-t,n=-t,r=t,o=t;let s=Math.max(0,a-e.x),l=Math.max(0,n-e.y),c=Math.max(0,e.x+e.width-r),d=Math.max(0,e.y+e.height-o);s=c=Math.max(s,c),l=d=Math.max(l,d);const h=i.width-s-c,u=i.height-l-d;let g=Math.min(h,u)/2;const p=.5*i.width/2,m=.5*i.height/2,f=Math.min(p,m);if(g<f){g=f;const e=s+c;if(2*g+(l+d)>i.height){const e=i.height-2*g;2*Math.min(l,d)>e?(l=e/2,d=e/2):l>d?l=e-d:d=e-l}if(2*g+e>i.width){const e=i.width-2*g;2*Math.min(s,c)>e?(s=e/2,c=e/2):s>c?s=e-c:c=e-s}}const v=s+2*g+c,y=l+2*g+d;return{centerX:i.x+(i.width-v)/2+s+g,centerY:i.y+(i.height-y)/2+l+g,radius:g}}};dm.className="PolarChart",dm.type="polar";var hm=Math.PI/180,um=e=>e*hm,gm=e=>-Math.log(Math.tan(.25*Math.PI+e*hm*.5)),pm=e=>e/hm,mm=e=>(Math.atan(Math.exp(-e))-.25*Math.PI)/(.5*hm),fm=class e{constructor(t,i){this.domain=t,this.range=i,this.type="mercator",this.bounds=e.bounds(t)}static bounds(e){const[[t,i],[a,n]]=e,r=um(t),o=gm(i),s=um(a),l=gm(n);return new Ee(Math.min(r,s),Math.min(o,l),Math.abs(s-r),Math.abs(l-o))}static fixedScale(){return new e([[pm(0),mm(0)],[pm(1),mm(1)]],[[0,0],[1,1]])}convert([e,t]){const[[i,a],[n,r]]=this.range,o=(n-i)/this.bounds.width,s=(r-a)/this.bounds.height;return[(um(e)-this.bounds.x)*o+i,(gm(t)-this.bounds.y)*s+a]}invert([e,t]){const[[i,a],[n,r]]=this.range,o=(n-i)/this.bounds.width,s=(r-a)/this.bounds.height;return[pm((e-i)/o+this.bounds.x),mm((t-a)/s+this.bounds.y)]}};function vm(e){return"map-shape"===e.type||"map-line"===e.type||"map-marker"===e.type||"map-shape-background"===e.type||"map-line-background"===e.type}var ym=class extends Jc{constructor(e,t){super(e,t),this.xAxis=new Bd(this.getModuleContext()),this.xAxis.position="bottom",this.yAxis=new Bd(this.getModuleContext()),this.yAxis.position="left",this.ctx.zoomManager.updateAxes([this.xAxis,this.yAxis])}async updateData(){await super.updateData();const{topology:e}=this.getOptions();this.series.forEach((t=>{vm(t)&&t.setChartTopology(e)}))}async performLayout(){const e=await super.performLayout(),{seriesArea:{padding:t},seriesRoot:i,annotationRoot:a,highlightRoot:n}=this,r=e.clone();e.shrink(t.left,"left"),e.shrink(t.top,"top"),e.shrink(t.right,"right"),e.shrink(t.bottom,"bottom"),this.seriesRect=e,this.animationRect=e,this.hoverRect=e;const o=this.series.filter(vm),s=o.reduce(((e,t)=>{if(!t.visible)return e;const i=t.topologyBounds;return null==i?e:null==e?i:(e.merge(i),e)}),void 0);let l;if(null!=s){const{lon0:t,lat0:i,lon1:a,lat1:n}=s,r=[[t,i],[a,n]],o=fm.bounds(r),{width:c,height:d}=e,h=Math.min(c/o.width,d/o.height),u=o.width*h,g=o.height*h,p=(c-u)/2,m=(d-g)/2,f=p,v=m,y=p+u,b=m+g,C=this.ctx.zoomManager.getAxisZoom(this.xAxis.id),w=this.ctx.zoomManager.getAxisZoom(this.yAxis.id),S=(y-f)/(C.max-C.min),x=f-S*C.min,k=(b-v)/(1-w.min-(1-w.max)),M=v-k*(1-w.max);l=new fm(r,[[x,M],[x+S,M+k]])}o.forEach((e=>{e.scale=l}));const c=this.series.some((e=>e.visible));i.visible=c;for(const t of[i,a,n])t.translationX=Math.floor(e.x),t.translationY=Math.floor(e.y),t.setClipRectInGroupCoordinateSpace(new Ee(e.x,e.y,e.width,e.height));return this.ctx.layoutService.dispatchLayoutComplete({type:"layout-complete",chart:{width:this.ctx.scene.width,height:this.ctx.scene.height},clipSeries:!1,series:{rect:r,paddedRect:e,visible:c},axes:[]}),e}};function bm(e,t){if(ot(e))return t(e)}ym.className="TopologyChart",ym.type="topology";var Cm="range-area";var wm={"price-volume":function(e,t){const{xKey:i="date",highKey:a="high",openKey:n="open",lowKey:r="low",closeKey:o="close",volumeKey:s="volume",chartType:l="candlestick",navigator:c=!1,volume:d=!0,rangeToolbar:h=!0,statusBar:u=!0,annotations:g=!0,zoom:p=!0,theme:m,data:f,...v}=e,y=function(e,t,i,a,n,r,o){const s={xKey:i,openKey:r,closeKey:o,highKey:a,lowKey:n},l={xKey:i,yKey:o};switch(t){case"ohlc":return[{type:"ohlc",...s}];case"line":return[{type:"line",...l,stroke:bm(e,(e=>e.overrides?.line?.series?.stroke))??iu,marker:bm(e,(e=>e.overrides?.line?.series?.marker))??{enabled:!1}}];case"step-line":return[{type:"line",...l,stroke:bm(e,(e=>e.overrides?.line?.series?.stroke))??iu,interpolation:bm(e,(e=>e.overrides?.line?.series?.interpolation))??{type:"step"},marker:bm(e,(e=>e.overrides?.line?.series?.marker))??{enabled:!1}}];case Cm:const t=bm(e,(e=>e.overrides?.["range-area"]?.series?.fill)),r=bm(e,(e=>e.overrides?.["range-area"]?.series?.stroke));return[{type:Cm,xKey:i,yHighKey:a,yLowKey:o,fill:t??Qh,stroke:r??Qh},{type:Cm,xKey:i,yHighKey:o,yLowKey:n,fill:t??Jh,stroke:r??Jh}];default:case"candlestick":return[{type:"candlestick",...s}];case"hollow-candlestick":const c=bm(e,(e=>e.overrides?.candlestick?.series?.item));return[{type:"candlestick",...s,item:{up:{fill:c?.up?.fill??"transparent"}}}]}}(m,l,i,a,r,n,o),b=function(e,t,i,a,n,r){if(!n)return[];const o=bm(e,(e=>e.overrides?.bar?.series?.fill)),s=o?{fill:o}:{itemStyler({datum:e}){const{up:n,down:r}=t().palette;return{fill:e[i]<e[a]?n?.fill:r?.fill}}};return[{type:"bar",xKey:"date",yKey:r,tooltip:{enabled:!1},fillOpacity:bm(e,(e=>e.overrides?.bar?.series?.fillOpacity))??.5,...s}]}(m,t,n,o,d,s),C={navigator:{enabled:c,...d?{miniChart:{enabled:c,series:[{type:"line",xKey:"date",yKey:s,marker:{enabled:!1}}]}}:null}},w=u?{statusBar:{enabled:!0,data:f,highKey:a,openKey:n,lowKey:r,closeKey:o,volumeKey:d?s:void 0}}:null,S={zoom:{enabled:p,enableIndependentAxes:!0}},x=g||h?{toolbar:{annotationOptions:{enabled:g},annotations:{enabled:g},ranges:{enabled:h}}}:null,k=d?[{type:"number",position:"left",keys:[s],label:{enabled:!1},crosshair:{enabled:!1},gridLine:{enabled:!1},nice:!1,layoutConstraints:{stacked:!1,width:20,unit:"percentage",align:"end"},disableZoom:!0}]:[];return{theme:"string"==typeof m?m:{baseTheme:"ag-financial",...m??{}},animation:{enabled:!1},legend:{enabled:!1},series:[...b,...y],padding:{top:6,right:8},axes:[{type:"number",position:"right",keys:[n,o,a,r],interval:{maxSpacing:bm(m,(e=>e.overrides?.common?.axes?.number?.interval?.maxSpacing))??45},label:{format:bm(m,(e=>e.overrides?.common?.axes?.number?.label?.format))??".2f"},crosshair:{enabled:!0,snap:!1},layoutConstraints:{stacked:!1,width:100,unit:"percentage",align:"start"}},...k,{type:"ordinal-time",position:"bottom",line:{enabled:!1},label:{enabled:!0},crosshair:{enabled:!0}}],annotations:{enabled:g},tooltip:{enabled:!1},data:f,titlePadding:4,...C,...w,...S,...x,...v}}};function Sm(e){return e?.up||e?.down||e?.neutral?"user-full":e?.fills||e?.strokes?"user-indexed":"inbuilt"}var xm="white",km={fills:Object.values(Cp),strokes:Object.values(wp)},Mm={get cartesian(){return{seriesTypes:Gl.cartesianTypes,commonOptions:["zoom","navigator"]}},get polar(){return{seriesTypes:Gl.polarTypes,commonOptions:[]}},get hierarchy(){return{seriesTypes:Gl.hierarchyTypes,commonOptions:[]}},get topology(){return{seriesTypes:Gl.topologyTypes,commonOptions:[]}},get"flow-proportion"(){return{seriesTypes:Gl.flowProportionTypes,commonOptions:[]}}},Rm=Object.values(Mm).reduce(((e,{commonOptions:t})=>e.concat(t)),[]),Dm=class e{getPalette(){return km}static getAxisDefaults(e){return vt(e,{title:{enabled:!1,text:"Axis Title",spacing:25,fontWeight:"normal",fontSize:13,fontFamily:Gh,color:Bh},label:{fontSize:12,fontFamily:Gh,padding:5,color:Bh,avoidCollisions:!0},line:{enabled:!0,width:1,stroke:qh},tick:{enabled:!1,width:1,stroke:qh},gridLine:{enabled:!0,style:[{stroke:_h,lineDash:[]}]},crossLines:{enabled:!1,fill:Uh,stroke:Uh,fillOpacity:.1,strokeWidth:1,label:{enabled:!1,fontSize:12,fontFamily:Gh,padding:5,color:Bh}}})}getChartDefaults(){return{minHeight:300,minWidth:300,background:{visible:!0,fill:Kh},padding:{top:$h,right:$h,bottom:$h,left:$h},keyboard:{enabled:!0},title:{enabled:!1,text:"Title",fontWeight:"normal",fontSize:17,fontFamily:Gh,color:Bh,wrapping:"hyphenate",layoutStyle:Zh,textAlign:Xh},subtitle:{enabled:!1,text:"Subtitle",spacing:20,fontSize:13,fontFamily:Gh,color:Wh,wrapping:"hyphenate",layoutStyle:Zh,textAlign:Xh},footnote:{enabled:!1,text:"Footnote",spacing:20,fontSize:13,fontFamily:Gh,color:"rgb(140, 140, 140)",wrapping:"hyphenate",layoutStyle:Zh,textAlign:Xh},legend:{position:"bottom",spacing:30,listeners:{},toggleSeries:!0,item:{paddingX:16,paddingY:8,marker:{size:15,padding:8},showSeriesStroke:!0,label:{color:Bh,fontSize:12,fontFamily:Gh}},reverseOrder:!1,pagination:{marker:{size:12},activeStyle:{fill:Bh},inactiveStyle:{fill:Wh},highlightStyle:{fill:Bh},label:{color:Bh}}},tooltip:{enabled:!0,darkTheme:zh,range:void 0,delay:0},overlays:{darkTheme:zh},listeners:{}}}constructor(e={}){const{overrides:t,palette:i}=Tt(e),a=this.createChartConfigPerChartType(this.getDefaults());t&&this.mergeOverrides(a,t);const{fills:n,strokes:r,...o}=this.getDefaultColors();this.palette=vt(i,this.getPalette(),{...o}),this.paletteType=Sm(i),this.config=Object.freeze(this.templateTheme(a))}mergeOverrides(e,t){for(const{seriesTypes:i,commonOptions:a}of Object.values(Mm)){const n={...t.common};for(const e of Rm)a.includes(e)||delete n[e];if(n)for(const t of i){const i=t;e[i]=vt(n,e[i])}}Gl.seriesTypes.forEach((i=>{const a=i;t[a]&&(e[a]=vt(t[a],e[a]))}))}createChartConfigPerChartType(e){for(const[t,{seriesTypes:i}]of Object.entries(Mm)){const a=Vl.get(t);for(const t of i)e[t]||(e[t]=Tt(a))}return e}getDefaults(){const t=(t,i)=>{const a={},n={axes:{},...Ll.getThemeTemplates(),...this.getChartDefaults(),...Vl.get(t)};for(const t of i){a[t]=vt(Hl.getThemeTemplate(t),a[t]??Tt(n));const{axes:i}=a[t];for(const t of Tl.keys())i[t]=vt(i[t],Tl.getThemeTemplate(t),e.cartesianAxisDefault[t])}return a};return vt(t("cartesian",Gl.cartesianTypes),t("polar",Gl.polarTypes),t("hierarchy",Gl.hierarchyTypes),t("topology",Gl.topologyTypes),t("flow-proportion",Gl.flowProportionTypes))}templateTheme(e){const t=Tt(e),i=this.getTemplateParameters();return Ft(t,(e=>{if(et(e))for(let t=0;t<e.length;t++){const a=e[t];i.has(a)&&(e[t]=i.get(a))}else for(const[t,a]of Object.entries(e))i.has(a)&&(e[t]=i.get(a))})),Tt(t)}getDefaultColors(){return{fills:Cp,strokes:wp,up:{fill:Cp.BLUE,stroke:wp.BLUE},down:{fill:Cp.ORANGE,stroke:wp.ORANGE},neutral:{fill:Cp.GRAY,stroke:wp.GRAY}}}getTemplateParameters(){const e=new Map;e.set(zh,!1),e.set(Gh,"Verdana, sans-serif"),e.set(Bh,"rgb(70, 70, 70)"),e.set(Vh,"white"),e.set(Wh,"rgb(140, 140, 140)"),e.set(_h,"rgb(224,234,241)"),e.set(qh,"rgb(195, 195, 195)"),e.set(Uh,"rgb(70, 70, 70)"),e.set(Hh,xm),e.set(Kh,xm),e.set(jh,"rgba(0, 0, 0, 0.5)"),e.set(ru,[Cp.ORANGE,Cp.YELLOW,Cp.GREEN]),e.set($h,20),e.set(Zh,"block"),e.set(Xh,"center"),e.set(ou,["#ffffff","#e0e5ea","#c1ccd5","#a3b4c1","#859cad"]),e.set(su,["#ffffff","#c5cbd1","#a4b1bd","#8498a9","#648096"]),e.set(nu,xm),e.set(lu,Cp.BLUE),e.set(cu,Cp.BLUE),e.set(du,xm),e.set(hu,"top"),e.set(uu,!1);const t=this.getDefaultColors();return e.set(Qh,this.palette.up?.stroke??t.up.stroke),e.set(eu,this.palette.up?.fill??t.up.fill),e.set(Jh,this.palette.down?.stroke??t.down.stroke),e.set(tu,this.palette.down?.fill??t.down.fill),e.set(iu,this.palette.neutral?.stroke??t.neutral.stroke),e.set(au,this.palette.neutral?.fill??t.neutral.fill),e}};Dm.cartesianAxisDefault={number:Dm.getAxisDefaults({line:{enabled:!1}}),log:Dm.getAxisDefaults({base:10,line:{enabled:!1}}),category:Dm.getAxisDefaults({groupPaddingInner:.1,label:{autoRotate:!0},gridLine:{enabled:uu}}),time:Dm.getAxisDefaults({gridLine:{enabled:uu}}),"ordinal-time":Dm.getAxisDefaults({groupPaddingInner:0,label:{autoRotate:!1},gridLine:{enabled:uu},crosshair:{enabled:!0,snap:!0,stroke:Wh,strokeWidth:1,strokeOpacity:1,lineDash:[5,6],lineDashOffset:0,label:{enabled:!0}}}),"angle-category":Dm.getAxisDefaults({gridLine:{enabled:uu}}),"angle-number":Dm.getAxisDefaults({gridLine:{enabled:uu}}),"radius-category":Dm.getAxisDefaults({line:{enabled:!1},tick:{enabled:!1}}),"radius-number":Dm.getAxisDefaults({line:{enabled:!1},tick:{enabled:!1}}),"grouped-category":Dm.getAxisDefaults()};var Am=Dm,Em="#192232",Tm={BLUE:"#5090dc",ORANGE:"#ffa03a",GREEN:"#459d55",CYAN:"#34bfe1",YELLOW:"#e1cc00",VIOLET:"#9669cb",GRAY:"#b5b5b5",MAGENTA:"#bd5aa7",BROWN:"#8a6224",RED:"#ef5452"},Pm={BLUE:"#74a8e6",ORANGE:"#ffbe70",GREEN:"#6cb176",CYAN:"#75d4ef",YELLOW:"#f6e559",VIOLET:"#aa86d8",GRAY:"#a1a1a1",MAGENTA:"#ce7ab9",BROWN:"#997b52",RED:"#ff7872"},Fm={fills:Object.values(Tm),strokes:Object.values(Pm)},Im=class extends Am{getDefaultColors(){return{fills:Tm,strokes:Pm,up:{fill:Tm.BLUE,stroke:Pm.BLUE},down:{fill:Tm.ORANGE,stroke:Pm.ORANGE},neutral:{fill:Tm.GRAY,stroke:Pm.GRAY}}}getTemplateParameters(){const e=super.getTemplateParameters();return e.set(zh,!0),e.set(nu,Em),e.set(Bh,"white"),e.set(Wh,"#7D91A0"),e.set(_h,"#545A6E"),e.set(Uh,"white"),e.set(ru,[Tm.ORANGE,Tm.YELLOW,Tm.GREEN]),e.set(ou,["#192834","#253746","#324859","#3f596c","#4d6a80"]),e.set(su,["#192834","#3b5164","#496275","#577287","#668399"]),e.set(Kh,Em),e.set(Hh,Em),e.set(lu,Tm.BLUE),e.set(cu,Tm.BLUE),e.set(du,Em),e}getPalette(){return Fm}constructor(e){super(e)}},Lm={GREEN:"#089981",RED:"#F23645",BLUE:"#5090dc"},Nm={GREEN:"#089981",RED:"#F23645",BLUE:"#5090dc"},Om={fills:Object.values(Lm),strokes:Object.values(Nm)},zm=class extends Im{getDefaultColors(){return{fills:{...Lm},strokes:{...Nm},up:{fill:Lm.GREEN,stroke:Nm.GREEN},down:{fill:Lm.RED,stroke:Nm.RED},neutral:{fill:Lm.BLUE,stroke:Nm.BLUE}}}getTemplateParameters(){const e=super.getTemplateParameters();return e.set(ru,[Lm.GREEN,Lm.BLUE,Lm.RED]),e.set(lu,Lm.BLUE),e.set(cu,Lm.BLUE),e.set(_h,"#343A4E"),e.set($h,0),e.set(Zh,"overlay"),e.set(Xh,"left"),e.set(hu,"bottom"),e.set(uu,!0),e}getPalette(){return Om}},Gm={GREEN:"#089981",RED:"#F23645",BLUE:"#5090dc"},Bm={GREEN:"#089981",RED:"#F23645",BLUE:"#5090dc"},Vm={fills:Object.values(Gm),strokes:Object.values(Bm)},Hm=class extends Am{getDefaultColors(){return{fills:{...Gm},strokes:{...Bm},up:{fill:Gm.GREEN,stroke:Bm.GREEN},down:{fill:Gm.RED,stroke:Bm.RED},neutral:{fill:Gm.BLUE,stroke:Bm.BLUE}}}getTemplateParameters(){const e=super.getTemplateParameters();return e.set(ru,[Gm.GREEN,Gm.BLUE,Gm.RED]),e.set(lu,Gm.BLUE),e.set(cu,Gm.BLUE),e.set(_h,"#F2F3F3"),e.set($h,0),e.set(Zh,"overlay"),e.set(Xh,"left"),e.set(hu,"bottom"),e.set(uu,!0),e}getPalette(){return Vm}},Wm={BLUE:"#2196F3",ORANGE:"#FF9800",GREEN:"#4CAF50",CYAN:"#00BCD4",YELLOW:"#FFEB3B",VIOLET:"#7E57C2",GRAY:"#9E9E9E",MAGENTA:"#F06292",BROWN:"#795548",RED:"#F44336"},_m={BLUE:"#90CAF9",ORANGE:"#FFCC80",GREEN:"#A5D6A7",CYAN:"#80DEEA",YELLOW:"#FFF9C4",VIOLET:"#B39DDB",GRAY:"#E0E0E0",MAGENTA:"#F48FB1",BROWN:"#A1887F",RED:"#EF9A9A"},qm={fills:Object.values(Wm),strokes:Object.values(_m)},Um=class extends Im{getDefaultColors(){return{fills:Wm,strokes:_m,up:{fill:Wm.BLUE,stroke:_m.BLUE},down:{fill:Wm.RED,stroke:_m.RED},neutral:{fill:Wm.GRAY,stroke:_m.GRAY}}}getTemplateParameters(){const e=super.getTemplateParameters();return e.set(ru,[Wm.ORANGE,Wm.YELLOW,Wm.GREEN]),e.set(lu,Wm.BLUE),e.set(cu,Wm.BLUE),e}getPalette(){return qm}},Km={BLUE:"#2196F3",ORANGE:"#FF9800",GREEN:"#4CAF50",CYAN:"#00BCD4",YELLOW:"#FFEB3B",VIOLET:"#7E57C2",GRAY:"#9E9E9E",MAGENTA:"#F06292",BROWN:"#795548",RED:"#F44336"},jm={BLUE:"#1565C0",ORANGE:"#E65100",GREEN:"#2E7D32",CYAN:"#00838F",YELLOW:"#F9A825",VIOLET:"#4527A0",GRAY:"#616161",MAGENTA:"#C2185B",BROWN:"#4E342E",RED:"#B71C1C"},Ym={fills:Object.values(Km),strokes:Object.values(jm)},$m=class extends Am{getDefaultColors(){return{fills:Km,strokes:jm,up:{fill:Km.BLUE,stroke:jm.BLUE},down:{fill:Km.RED,stroke:jm.RED},neutral:{fill:Km.GRAY,stroke:jm.GRAY}}}getTemplateParameters(){const e=super.getTemplateParameters();return e.set(ru,[Km.ORANGE,Km.YELLOW,Km.GREEN]),e.set(lu,Km.BLUE),e.set(cu,Km.BLUE),e}getPalette(){return Ym}},Zm={BLUE:"#436ff4",PURPLE:"#9a7bff",MAGENTA:"#d165d2",PINK:"#f0598b",RED:"#f47348",ORANGE:"#f2a602",YELLOW:"#e9e201",GREEN:"#21b448",CYAN:"#00b9a2",MODERATE_BLUE:"#00aee4"},Xm={BLUE:"#6698ff",PURPLE:"#c0a3ff",MAGENTA:"#fc8dfc",PINK:"#ff82b1",RED:"#ff9b70",ORANGE:"#ffcf4e",YELLOW:"#ffff58",GREEN:"#58dd70",CYAN:"#51e2c9",MODERATE_BLUE:"#4fd7ff"},Qm={fills:Object.values(Zm),strokes:Object.values(Xm)},Jm=class extends Im{getDefaultColors(){return{fills:Zm,strokes:Xm,up:{fill:Zm.BLUE,stroke:Xm.BLUE},down:{fill:Zm.RED,stroke:Xm.RED},neutral:{fill:"#bbbbbb",stroke:"#eeeeee"}}}getTemplateParameters(){const e=super.getTemplateParameters();return e.set(ru,[Zm.BLUE,Zm.RED]),e.set(lu,Zm.BLUE),e.set(cu,Zm.BLUE),e}getPalette(){return Qm}},ef={BLUE:"#436ff4",PURPLE:"#9a7bff",MAGENTA:"#d165d2",PINK:"#f0598b",RED:"#f47348",ORANGE:"#f2a602",YELLOW:"#e9e201",GREEN:"#21b448",CYAN:"#00b9a2",MODERATE_BLUE:"#00aee4"},tf={BLUE:"#2346c9",PURPLE:"#7653d4",MAGENTA:"#a73da9",PINK:"#c32d66",RED:"#c84b1c",ORANGE:"#c87f00",YELLOW:"#c1b900",GREEN:"#008c1c",CYAN:"#00927c",MODERATE_BLUE:"#0087bb"},af={fills:Object.values(ef),strokes:Object.values(tf)},nf=class extends Am{getDefaultColors(){return{fills:ef,strokes:tf,up:{fill:ef.BLUE,stroke:tf.BLUE},down:{fill:ef.RED,stroke:tf.RED},neutral:{fill:"#bbbbbb",stroke:"#888888"}}}getTemplateParameters(){const e=super.getTemplateParameters();return e.set(ru,[ef.BLUE,ef.RED]),e.set(lu,ef.BLUE),e.set(cu,ef.BLUE),e}getPalette(){return af}},rf={BLUE:"#4472C4",ORANGE:"#ED7D31",GRAY:"#A5A5A5",YELLOW:"#FFC000",MODERATE_BLUE:"#5B9BD5",GREEN:"#70AD47",DARK_GRAY:"#7B7B7B",DARK_BLUE:"#264478",VERY_DARK_GRAY:"#636363",DARK_YELLOW:"#997300"},of={BLUE:"#6899ee",ORANGE:"#ffa55d",GRAY:"#cdcdcd",YELLOW:"#ffea53",MODERATE_BLUE:"#82c3ff",GREEN:"#96d56f",DARK_GRAY:"#a1a1a1",DARK_BLUE:"#47689f",VERY_DARK_GRAY:"#878787",DARK_YELLOW:"#c0993d"},sf={fills:Object.values(rf),strokes:Object.values(of)},lf=class extends Im{getDefaultColors(){return{fills:{...rf,RED:rf.ORANGE},strokes:{...of,RED:of.ORANGE},up:{fill:rf.BLUE,stroke:of.BLUE},down:{fill:rf.ORANGE,stroke:of.ORANGE},neutral:{fill:rf.GRAY,stroke:of.GRAY}}}getTemplateParameters(){const e=super.getTemplateParameters();return e.set(ru,[rf.ORANGE,rf.YELLOW,rf.GREEN]),e.set(lu,rf.BLUE),e.set(cu,rf.BLUE),e}getPalette(){return sf}},cf={BLUE:"#5281d5",ORANGE:"#ff8d44",GRAY:"#b5b5b5",YELLOW:"#ffd02f",MODERATE_BLUE:"#6aabe6",GREEN:"#7fbd57",DARK_GRAY:"#8a8a8a",DARK_BLUE:"#335287",VERY_DARK_GRAY:"#717171",DARK_YELLOW:"#a98220"},df={BLUE:"#214d9b",ORANGE:"#c25600",GRAY:"#7f7f7f",YELLOW:"#d59800",MODERATE_BLUE:"#3575ac",GREEN:"#4b861a",DARK_GRAY:"#575757",DARK_BLUE:"#062253",VERY_DARK_GRAY:"#414141",DARK_YELLOW:"#734f00"},hf={fills:Object.values(cf),strokes:Object.values(df)},uf=class extends Am{getDefaultColors(){return{fills:{...cf,RED:cf.ORANGE},strokes:{...df,RED:df.ORANGE},up:{fill:df.BLUE,stroke:cf.BLUE},down:{fill:df.ORANGE,stroke:cf.ORANGE},neutral:{fill:df.GRAY,stroke:cf.GRAY}}}getTemplateParameters(){const e=super.getTemplateParameters();return e.set(ru,[cf.ORANGE,cf.YELLOW,cf.GREEN]),e.set(lu,cf.BLUE),e.set(cu,cf.BLUE),e}getPalette(){return hf}},gf={BLUE:"#0083ff",ORANGE:"#ff6600",GREEN:"#00af00",CYAN:"#00ccff",YELLOW:"#f7c700",VIOLET:"#ac26ff",GRAY:"#a7a7b7",MAGENTA:"#e800c5",BROWN:"#b54300",RED:"#ff0000"},pf={BLUE:"#67b7ff",ORANGE:"#ffc24d",GREEN:"#5cc86f",CYAN:"#54ebff",VIOLET:"#fff653",YELLOW:"#c18aff",GRAY:"#aeaeae",MAGENTA:"#f078d4",BROWN:"#ba8438",RED:"#ff726e"},mf={fills:Object.values(gf),strokes:Object.values(pf)},ff=class extends Im{getDefaultColors(){return{fills:gf,strokes:pf,up:{fill:gf.BLUE,stroke:pf.BLUE},down:{fill:gf.ORANGE,stroke:pf.ORANGE},neutral:{fill:gf.GRAY,stroke:pf.GRAY}}}getTemplateParameters(){const e=super.getTemplateParameters();return e.set(ru,[gf.ORANGE,gf.YELLOW,gf.GREEN]),e.set(lu,gf.BLUE),e.set(cu,gf.BLUE),e}getPalette(){return mf}},vf={BLUE:"#0083ff",ORANGE:"#ff6600",GREEN:"#00af00",CYAN:"#00ccff",YELLOW:"#f7c700",VIOLET:"#ac26ff",GRAY:"#a7a7b7",MAGENTA:"#e800c5",BROWN:"#b54300",RED:"#ff0000"},yf={BLUE:"#0f68c0",ORANGE:"#d47100",GREEN:"#007922",CYAN:"#009ac2",VIOLET:"#bca400",YELLOW:"#753cac",GRAY:"#646464",MAGENTA:"#9b2685",BROWN:"#6c3b00",RED:"#cb0021"},bf={fills:Object.values(vf),strokes:Object.values(yf)},Cf=class extends Am{getDefaultColors(){return{fills:vf,strokes:yf,up:{fill:vf.BLUE,stroke:yf.BLUE},down:{fill:vf.ORANGE,stroke:yf.ORANGE},neutral:{fill:vf.GRAY,stroke:yf.GRAY}}}getTemplateParameters(){const e=super.getTemplateParameters();return e.set(ru,[vf.ORANGE,vf.YELLOW,vf.GREEN]),e.set(lu,vf.BLUE),e.set(cu,vf.BLUE),e}getPalette(){return bf}},wf=()=>new Am,Sf=()=>new Im,xf={...{undefined:Sf,null:Sf,"ag-default-dark":Sf,"ag-sheets-dark":()=>new lf,"ag-polychroma-dark":()=>new Jm,"ag-vivid-dark":()=>new ff,"ag-material-dark":()=>new Um,"ag-financial-dark":()=>new zm},...{undefined:wf,null:wf,"ag-default":wf,"ag-sheets":()=>new uf,"ag-polychroma":()=>new nf,"ag-vivid":()=>new Cf,"ag-material":()=>new $m,"ag-financial":()=>new Hm}};function kf(e){return void 0===e||"string"==typeof e||e instanceof Am?e:"object"==typeof e?function(e){if(null===e)return;let t=!0;const{baseTheme:i,palette:a,overrides:n}=e;if(void 0!==i&&"string"!=typeof i&&"object"!=typeof i&&(C.warn(`invalid theme.baseTheme type ${typeof i}, expected (string | object).`),t=!1),void 0!==n&&"object"!=typeof n&&(C.warn(`invalid theme.overrides type ${typeof n}, expected object.`),t=!1),"object"==typeof a){if(null!==a){const{fills:e,strokes:i}=a;void 0===e||Array.isArray(e)||(C.warn("theme.overrides.fills must be undefined or an array"),t=!1),void 0===i||Array.isArray(i)||(C.warn("theme.overrides.strokes must be undefined or an array"),t=!1)}}else void 0!==a&&(C.warn(`invalid theme.palette type ${typeof a}, expected object.`),t=!1);return t?e:void 0}(e):void C.warn(`invalid theme value type ${typeof e}, expected object or string.`)}function Mf(e){let t=kf(e);if(t instanceof Am)return t;if(null==t||"string"==typeof t){const e=xf[t];return e?e():(C.warnOnce(`the theme [${t}] is invalid, using [ag-default] instead.`),wf())}const i=[];let a;for(;"object"==typeof t;)i.push(t.overrides),a??(a=t.palette),t=t.baseTheme;const n={baseTheme:t,overrides:vt(...i),palette:a};return new((n.baseTheme?Mf(n.baseTheme):wf()).constructor)(n)}var Rf=new Set(["map-shape-background","map-line-background"]),Df=class{constructor(e,t){var i;this.debug=wr.create(!0,"opts");const a={shallow:["data"]};this.userOptions=Tt(e,a);const n=this.optionsType(this.userOptions);let r=Tt(e,a);if(this.type=t?.type,null!=this.type){const e=wm[this.type]?.(r,(()=>this.activeTheme))??r;this.debug(">>> AgCharts.createOrUpdate() - applying preset",r,e),r=e}this.activeTheme=Mf(r.theme),this.type&&(r=this.activeTheme.templateTheme(r)),this.sanityCheckAndCleanup(r),this.defaultAxes=this.getDefaultAxes(r),this.specialOverrides=this.specialOverridesDefaults({...t});const{axes:o={},annotations:{axesButtons:s,...l}={},series:c,...d}=this.getSeriesThemeConfig(n);this.processedOptions=Tt(vt(r,null!=s?{annotations:{axesButtons:s}}:{},d,this.defaultAxes),a),this.processAxesOptions(this.processedOptions,o),this.processSeriesOptions(this.processedOptions),this.processMiniChartSeriesOptions(this.processedOptions),this.annotationThemes=l,(Xl(this.processedOptions)||function(e){const t=Zl(e);return Ql(e)&&"pie"!==t&&"donut"!==t}(this.processedOptions))&&null==this.processedOptions.legend?.enabled&&((i=this.processedOptions).legend??(i.legend={}),this.processedOptions.legend.enabled=this.processedOptions.series.length>1),this.enableConfiguredOptions(this.processedOptions),Nl.isEnterprise||function(e){const t=[],i=Gl.get(Zl(e));for(const{type:a,chartTypes:n,optionsKey:r,optionsInnerKey:o,identifier:s}of Pl)if("unknown"===i||n.includes(i))if("root"===a||"legend"===a){const i=e[r];if(null==i)continue;o?i[o]&&(t.push(`${r}.${o}`),delete i[o]):(t.push(r),delete e[r])}else if("axis"===a){if(!("axes"in e)||!e.axes?.some((e=>e.type===s)))continue;t.push(`axis[type=${s}]`),e.axes=e.axes.filter((e=>e.type!==s))}else if("axis-option"===a){if(!("axes"in e)||!e.axes?.some((e=>e[r])))continue;t.push(`axis.${r}`),e.axes.forEach((e=>{e[r]&&delete e[r]}))}else if("series"===a){if(!e.series?.some((e=>e.type===s)))continue;t.push(`series[type=${s}]`),e.series=e.series.filter((e=>e.type!==s))}else if("series-option"===a){if(!e.series?.some((e=>e[r])))continue;t.push(`series.${r}`),e.series.forEach((e=>{e[r]&&delete e[r]}))}if(t.length){let i="ag-charts-enterprise",a="https://charts.ag-grid.com/javascript/installation/";"integrated"===e.mode&&(i="ag-grid-charts-enterprise' or 'ag-grid-enterprise/charts-enterprise",a="https://www.ag-grid.com/javascript-data-grid/integrated-charts-installation/"),C.warnOnce([`unable to use these enterprise features as '${i}' has not been loaded:`,"",...t,"",`See: ${a}`].join("\n"))}}(this.processedOptions)}getOptions(){return this.processedOptions??{}}diffOptions(e){return Et(e,this.processedOptions)}getSeriesThemeConfig(e){return Tt(this.activeTheme?.config[e]??{})}getDefaultAxes(e){const t=this.optionsType(e),i=Hl.cloneDefaultAxes(t);return Hl.isDefaultAxisSwapNeeded(e)&&this.swapAxesPosition(i),i}optionsType(e){return e.series?.[0]?.type??"line"}sanityCheckAndCleanup(e){this.deprecationWarnings(e),this.axesTypeIntegrity(e),this.seriesTypeIntegrity(e),this.soloSeriesIntegrity(e),this.removeDisabledOptions(e),this.removeLeftoverSymbols(e),e.series?.some((e=>"bullet"===e.type))&&null!=e.sync&&!1!==e.sync.enabled&&(C.warnOnce("bullet series cannot be synced, disabling synchronization."),delete e.sync)}swapAxesPosition(e){if(Xl(e)){const[t,i]=e.axes??[];e.axes=[{...t,position:i.position},{...i,position:t.position}]}}processAxesOptions(e,t){"axes"in e&&(e.axes=e.axes.map((e=>{const{crossLines:i,...a}=vt(t[e.type]?.[e.position],t[e.type]);e.crossLines&&(e.crossLines=yt(e.crossLines,i));const n=a.gridLine?.style;e.gridLine?.style&&n?.length&&(e.gridLine.style=e.gridLine.style.map(((e,t)=>null!=e.stroke||null!=e.lineDash?vt(e,n.at(t%n.length)):e)));const{top:r,right:o,bottom:s,left:l,...c}=vt(e,a);return c})))}processSeriesOptions(e){const t=this.getDefaultSeriesType(e),i=this.getTooltipPositionDefaults(e),a=ot(e.theme)?Sm(e.theme?.palette):"inbuilt",n={colourIndex:0,userPalette:a},r=e.series?.map((r=>{r.type??(r.type=t);const{innerLabels:o,...s}=this.getSeriesThemeConfig(r.type).series??{},l=Rf.has(r.type)?{colourIndex:0,userPalette:a}:n,c=this.getSeriesPalette(r.type,l),d=this.getTooltipRangeDefaults(e,r.type),h=vt(this.getSeriesGroupingOptions(r),r,i,d,s,c,{visible:!0});return h.innerLabels&&(h.innerLabels=yt(h.innerLabels,o)),this.activeTheme.templateTheme(h)}));e.series=this.setSeriesGroupingOptions(r??[])}processMiniChartSeriesOptions(e){let t=e.navigator?.miniChart?.series;if(null==t)return;const i={colourIndex:0,userPalette:ot(e.theme)?Sm(e.theme.palette):"inbuilt"};t=t.map((e=>{e.type??(e.type="line");const{innerLabels:t,...a}=this.getSeriesThemeConfig(e.type).series??{},n=vt(this.getSeriesGroupingOptions(e),e,a,this.getSeriesPalette(e.type,i));return this.activeTheme.templateTheme(n)})),e.navigator.miniChart.series=this.setSeriesGroupingOptions(t)}getSeriesPalette(e,t){const i=Hl.getPaletteFactory(e),{colourIndex:a,userPalette:n}=t,{fills:r=[],strokes:o=[]}=this.activeTheme.palette;return i?.({userPalette:n,colorsCount:Math.max(r.length,o.length),themeTemplateParameters:this.activeTheme.getTemplateParameters(),palette:this.activeTheme.palette,takeColors(e){return t.colourIndex+=e,{fills:Ma(r,e,a),strokes:Ma(o,e,a)}}})}getSeriesGroupingOptions(e){const t=Hl.isGroupable(e.type),i=Hl.isStackable(e.type),a=Hl.isStackedByDefault(e.type);e.grouped&&!t&&C.warnOnce(`unsupported grouping of series type "${e.type}".`),!e.stacked&&!e.stackGroup||i||C.warnOnce(`unsupported stacking of series type "${e.type}".`);let{grouped:n,stacked:r}=e;return r??(r=(a||null!=e.stackGroup)&&!(t&&n)),n??(n=!0),{stacked:i&&r,grouped:t&&n&&!(i&&r)}}setSeriesGroupingOptions(e){const t=this.getSeriesGrouping(e);this.debug("setSeriesGroupingOptions() - series grouping: ",t);const i={},a=t.reduce(((e,t)=>{var i;return"default"===t.groupType||(e[i=t.seriesType]??(e[i]=0),e[t.seriesType]+="stack"===t.groupType?1:t.series.length),e}),{});return t.flatMap((e=>{var t;switch(i[t=e.seriesType]??(i[t]=0),e.groupType){case"stack":const t=i[e.seriesType]++;return e.series.map(((i,n)=>Object.assign(i,{seriesGrouping:{groupIndex:t,groupCount:a[e.seriesType],stackIndex:n,stackCount:e.series.length}})));case"group":return e.series.map((t=>Object.assign(t,{seriesGrouping:{groupIndex:i[e.seriesType]++,groupCount:a[e.seriesType],stackIndex:0,stackCount:0}})))}return e.series})).map((({stacked:e,grouped:t,...i})=>i))}getSeriesGroupId(e){return[e.type,e.xKey,e.stacked?e.stackGroup??"stacked":"grouped"].filter(Boolean).join("-")}getSeriesGrouping(e){const t=new Map;return e.reduce(((e,i)=>{const a=i.type;if(i.stacked||i.grouped){const n=this.getSeriesGroupId(i);if(!t.has(n)){const r={groupType:i.stacked?"stack":"group",seriesType:a,series:[]};t.set(n,r),e.push(r)}t.get(n).series.push(i)}else e.push({groupType:"default",seriesType:a,series:[i]});return e}),[])}getDefaultSeriesType(e){if(Xl(e))return"line";if(Ql(e))return"pie";if(Jl(e))return"treemap";if(ec(e))return"map-shape";if(tc(e))return"sankey";throw new Error("Invalid chart options type detected.")}getTooltipPositionDefaults(e){const t=e.tooltip?.position;if(!lt(t))return;const{type:i,xOffset:a,yOffset:n}=t,r={};return ct(i)&&pt(g,i)&&(r.type=i),ht(a)&&(r.xOffset=a),ht(n)&&(r.yOffset=n),{tooltip:{position:r}}}getTooltipRangeDefaults(e,t){return{tooltip:{range:e.tooltip?.range??Hl.getTooltipDefauls(t)?.range}}}deprecationWarnings(e){Object.entries({yKeys:"yKey",yNames:"yName"}).forEach((([t,i])=>{e.series?.some((e=>null!=e[t]))&&C.warnOnce(`Property [series.${t}] is deprecated, please use [series.${i}] and multiple series instead.`)}))}axesTypeIntegrity(e){if("axes"in e){const i=e.axes??[];for(const{type:a}of i)if(null==(t=a)||!Tl.has(t)){delete e.axes;const t=Array.from(Tl.publicKeys()).join(", ");C.warnOnce(`unknown axis type: ${a}; expected one of: ${t}`)}}var t}seriesTypeIntegrity(e){e.series=e.series?.filter((({type:e})=>{if(null==e||null!=(t=e)&&Gl.has(t)||function(e){return Pl.some((t=>"series"===t.type&&t.identifier===e))}(e))return!0;var t;C.warnOnce(`unknown series type: ${e}; expected one of: ${Bl.seriesTypes.join(", ")}`)}))}soloSeriesIntegrity(e){const t=e.series;if(t&&t.length>1&&t.some((e=>Hl.isSolo(e.type)))){const i=this.optionsType(e);if(Hl.isSolo(i))C.warn(`series[0] of type '${i}' is incompatible with other series types. Only processing series[0]`),e.series=t.slice(0,1);else{const{solo:i,nonSolo:a}=ka(t,(e=>Hl.isSolo(e.type)?"solo":"nonSolo")),n=xa(i.map((e=>e.type))).join(", ");C.warn(`Unable to mix these series types with the lead series type: ${n}`),e.series=a}}}enableConfiguredOptions(e){Ft(this.userOptions,((e,t)=>{t&&"enabled"in t&&!t._enabledFromTheme&&null==e.enabled&&(t.enabled=!0)}),{skip:["data","theme"]},e),Ft(e,(e=>{null!=e._enabledFromTheme&&delete e._enabledFromTheme}),{skip:["data","theme"]})}removeDisabledOptions(e){Ft(e,(e=>{"enabled"in e&&!1===e.enabled&&Object.keys(e).forEach((t=>{"enabled"!==t&&delete e[t]}))}),{skip:["data","theme"]})}removeLeftoverSymbols(e){Ft(e,(e=>{if(e&&ot(e))for(const[t,i]of Object.entries(e))mt(i)&&delete e[t]}),{skip:["data"]})}specialOverridesDefaults(e){if(null!=e.window?yr(e.window):"undefined"!=typeof window?e.window=window:void 0!==i.g&&(e.window=i.g.window),null!=e.document?vr(e.document):"undefined"!=typeof document?e.document=document:void 0!==i.g&&(e.document=i.g.document),null==e.window)throw new Error("AG Charts - unable to resolve global window");if(null==e.document)throw new Error("AG Charts - unable to resolve global document");return e}},Af=wr.create(!0,"opts");function Ef(e){if(Xl(e))return"cartesian";if(Ql(e))return"polar";if(Jl(e))return"hierarchy";if(ec(e))return"topology";if(tc(e))return"flow-proportion";throw new Error(`AG Chart - unknown type of chart for options with type: ${e.type}`)}var Tf=class{static licenseCheck(e){this.licenseChecked||(this.licenseManager=Nl.licenseManager?.(e),this.licenseManager?.setLicenseKey(this.licenseKey,this.gridContext),this.licenseManager?.validateLicense(),this.licenseChecked=!0)}static setLicenseKey(e){this.licenseKey=e}static setGridContext(e){this.gridContext=e}static getLicenseDetails(e){return Nl.licenseManager?.({}).getLicenseDetails(e)}static getInstance(e){return Ff.getInstance(e)}static create(e){this.licenseCheck(e);const t=Ff.createOrUpdate(e);return this.licenseManager?.isDisplayWatermark()&&Nl.injectWatermark?.(t.chart.ctx.domManager,this.licenseManager.getWatermarkMessage()),t}static createFinancialChart(e){return this.create({_type:"price-volume",...e})}};Tf.licenseChecked=!1,Tf.gridContext=!1;var Pf=class e{static getInstance(e){const t=Jc.getInstance(e);return t?Od.chartInstances.get(t):void 0}static initialiseModules(){e.initialised||(!function(){Yo.register($d,wh,xh,Ah,rm,Cg,Vg,Zg,ip,op,Bp,jp,Jg);for(const e of[Bd,Io,Wd,Uo,Hd])Tl.register(e.type,{instanceConstructor:e,hidden:e===Uo})}(),om(),e.initialised=!0)}static createOrUpdate(t,i){e.initialiseModules(),Af(">>> AgCharts.createOrUpdate() user options",t);const a=i?.chart.chartOptions.type,{_type:n=a,...r}=t;let o=r;Tf.optionsMutationFn&&(o=Tf.optionsMutationFn(o,n),Af(">>> AgCharts.createOrUpdate() MUTATED user options",t));const{overrideDevicePixelRatio:s,document:l,window:c,...d}=o,h=new Df(d,{overrideDevicePixelRatio:s,document:l,window:c,type:n});let u=i?.chart;return null!=u&&Ef(d)===Ef(u?.chartOptions.processedOptions)||(u=e.createChartInstance(h,u)),null==i?i=new Od(u,e.callbackApi):i.chart=u,Af.check()&&"undefined"!=typeof window&&(window.agChartInstances??(window.agChartInstances={}),window.agChartInstances[u.id]=u),u.queuedUserOptions.push(d),u.requestFactoryUpdate((e=>{e.applyOptions(h);const t=e.queuedUserOptions.indexOf(d)+1;e.queuedUserOptions.splice(0,t),e.applyInitialState()})),i}static updateUserDelta(t,i){Ft(i=Tt(i,{shallow:["data"]}),(e=>{if("object"==typeof e)for(const[t,i]of Object.entries(e))void 0===i&&Object.assign(e,{[t]:Symbol("UNSET")})}),{skip:["data"]});const{chart:a}=t,n=a.getOptions(),r=vt(i,n);Af(">>> AgCharts.updateUserDelta() user delta",i),Af("AgCharts.updateUserDelta() - base options",n),e.createOrUpdate(r,t)}static createChartInstance(t,i){const a=i?.destroy({keepTransferableResources:!0});return new(e.getChartByOptions(t.processedOptions))(t,a)}static getChartByOptions(e){if(Xl(e))return Ld;if(Jl(e))return lm;if(Ql(e))return dm;if(ec(e))return ym;if(tc(e))return sm;throw new Error("AG Charts - couldn't apply configuration, check options are correctly structured and series types are specified")}};Pf.caretaker=new ts(es),Pf.initialised=!1,Pf.callbackApi={caretaker:Pf.caretaker,createOrUpdate(e,t){return Pf.createOrUpdate(e,t)},updateUserDelta(e,t){return Pf.updateUserDelta(e,t)}};var Ff=Pf,If={};l(If,{Arc:()=>Lf,BBox:()=>Ee,BandScale:()=>pi,Caption:()=>Yr,ChangeDetectableProperties:()=>bu,Circle:()=>rd,ContinuousScale:()=>fa,Diamond:()=>cd,DropShadow:()=>Cu,ExtendedPath2D:()=>Ds,Group:()=>on,HdpiCanvas:()=>ns,Image:()=>Bf,Label:()=>Fn,Line:()=>Rr,LinearGradientFill:()=>Nf,LinearScale:()=>zd,Marker:()=>nd,Node:()=>Ge,OrdinalTimeScale:()=>en,Path:()=>Es,PointerEvents:()=>Oe,RadialColumnShape:()=>zf,Rect:()=>jd,RedrawType:()=>Te,Scene:()=>hs,SceneChangeDetection:()=>Pe,ScenePathChangeDetection:()=>As,Sector:()=>bp,SectorBox:()=>sp,Selection:()=>Sr,Shape:()=>wn,Square:()=>pd,Text:()=>Tn,Tooltip:()=>jr,Triangle:()=>vd,easing:()=>Ot,getFont:()=>Pn,getMarker:()=>wd,getRadialColumnWidth:()=>Gf,motion:()=>Vf,sectorBox:()=>lp,toRadians:()=>un,toTooltipHtml:()=>Ur});var Lf=class extends Es{constructor(){super(),this.centerX=0,this.centerY=0,this.radius=10,this.startAngle=0,this.endAngle=2*Math.PI,this.counterClockwise=!1,this.type=0,this.restoreOwnStyles()}get fullPie(){return Ce(ln(this.startAngle),ln(this.endAngle))}updatePath(){const e=this.path;e.clear(),e.arc(this.centerX,this.centerY,this.radius,this.startAngle,this.endAngle,this.counterClockwise),1===this.type?e.closePath():2!==this.type||this.fullPie||(e.lineTo(this.centerX,this.centerY),e.closePath())}computeBBox(){return new Ee(this.centerX-this.radius,this.centerY-this.radius,2*this.radius,2*this.radius)}isPointInPath(e,t){const i=this.transformPoint(e,t),a=this.computeBBox();return 0!==this.type&&a.containsPoint(i.x,i.y)&&this.path.isPointInPath(i.x,i.y)}};Lf.className="Arc",Lf.defaultStyles=Object.assign({},wn.defaultStyles,{lineWidth:1,fillStyle:null}),c([As()],Lf.prototype,"centerX",2),c([As()],Lf.prototype,"centerY",2),c([As()],Lf.prototype,"radius",2),c([As()],Lf.prototype,"startAngle",2),c([As()],Lf.prototype,"endAngle",2),c([As()],Lf.prototype,"counterClockwise",2),c([As()],Lf.prototype,"type",2);var Nf=class extends wn{constructor(){super(...arguments),this.direction="to-right",this.stops=void 0,this._mask=void 0}get mask(){return this._mask}set mask(e){null!=this._mask&&this.removeChild(this._mask),null!=e&&this.appendChild(e),this._mask=e}isPointInPath(e,t){return this.mask?.isPointInPath(e,t)??!1}computeBBox(){return this.mask?.computeBBox()}render(e){const{mask:t,stops:i}=this,{ctx:a,devicePixelRatio:n}=e,r=1/n,o=t?.computeTransformedBBox();if(null==t||null==i||null==o)return;t.dirtyPath&&(t.updatePath(),t.dirtyPath=!1),a.save(),a.clip(t.path.getPath2D()),a.setTransform(n,0,0,n,0,0);const s=Math.floor(o.x),l=Math.ceil(o.x+o.width),c=Math.floor(o.y),d=Math.ceil(o.y+o.height),h="to-right"===this.direction||"to-left"===this.direction,u="to-top"===this.direction||"to-left"===this.direction,g=new qg,[p,m]=h?[s,l]:[c,d];g.domain=i.map(((e,t)=>p+(m-p)*t/(i.length-1))),g.range=u?i.slice().reverse():i,g.update();const f=d-c,v=l-s;switch(this.direction){case"to-right":case"to-left":for(let e=s;e<=l;e+=r)a.fillStyle=g.convert(e),a.fillRect(e,c,r,f);break;case"to-bottom":case"to-top":for(let e=c;e<=d;e+=r)a.fillStyle=g.convert(e),a.fillRect(s,e,v,r)}a.restore()}};function Of(e,t,i){const a=Math.sqrt(e**2+t**2),n=Math.atan2(t,e)+i;return{x:Math.cos(n)*a,y:Math.sin(n)*a}}c([Pe({redraw:3})],Nf.prototype,"direction",2),c([Pe({redraw:3})],Nf.prototype,"stops",2),c([Pe({redraw:3})],Nf.prototype,"_mask",2);var zf=class extends Es{constructor(){super(...arguments),this.isBeveled=!0,this.columnWidth=0,this.startAngle=0,this.endAngle=0,this.outerRadius=0,this.innerRadius=0,this.axisInnerRadius=0,this.axisOuterRadius=0,this.isRadiusAxisReversed=!1}set cornerRadius(e){}computeBBox(){const{innerRadius:e,outerRadius:t,columnWidth:i}=this,a=this.getRotation(),n=-i/2,r=i/2,o=-t,s=-e;let l=1/0,c=1/0,d=-1/0,h=-1/0;for(let e=0;e<4;e+=1){const{x:t,y:i}=Of(e%2==0?n:r,e<2?o:s,a);l=Math.min(t,l),c=Math.min(i,c),d=Math.max(t,d),h=Math.max(i,h)}return new Ee(l,c,d-l,h-c)}getRotation(){const{startAngle:e,endAngle:t}=this;return ln(e+mn(e,t)/2+Math.PI/2)}updatePath(){const{isBeveled:e}=this;e?this.updateBeveledPath():this.updateRectangularPath(),this.checkPathDirty()}updateRectangularPath(){const{columnWidth:e,innerRadius:t,outerRadius:i,path:a}=this,n=-e/2,r=e/2,o=-i,s=-t,l=this.getRotation(),c=[[n,s],[n,o],[r,o],[r,s]].map((([e,t])=>Of(e,t,l)));a.clear(!0),a.moveTo(c[0].x,c[0].y),a.lineTo(c[1].x,c[1].y),a.lineTo(c[2].x,c[2].y),a.lineTo(c[3].x,c[3].y),a.closePath()}updateBeveledPath(){const{columnWidth:e,path:t,outerRadius:i,innerRadius:a,axisInnerRadius:n,axisOuterRadius:r,isRadiusAxisReversed:o}=this,s=Ce(a,n),l=Math.asin(e/2/a),c=this.getRotation(),d=(e,t)=>Of(e,t,c),h=(e,t)=>Math.sqrt(e**2+t**2),u=(e,t)=>t>e?0:Math.sqrt(e**2-t**2),g=(e,t,i)=>i?e<t:e>t,p=s&&!isNaN(l)&&l<Math.PI/6;let m=-e/2,f=e/2;const v=-i,y=-a*(p?Math.cos(l):1),b=g(r,h(a,e/2),!o);if(b){const e=u(r,a);m=-e,f=e}t.clear(!0);const C=d(m,y);t.moveTo(C.x,C.y);const w=Ce(a,i),S=g(r,h(i,e/2),!o);if(w&&p)t.arc(0,0,a,ln(-l-Math.PI/2)+c,ln(l-Math.PI/2)+c,!1);else if(S){const a=-u(r,e/2),n=u(r,i);if(!b){const e=d(m,a);t.lineTo(e.x,e.y)}if(t.arc(0,0,r,Math.atan2(a,m)+c,Math.atan2(v,-n)+c,!1),!Ce(n,0)){const e=d(n,v);t.lineTo(e.x,e.y)}t.arc(0,0,r,Math.atan2(v,n)+c,Math.atan2(a,f)+c,!1)}else{const e=d(m,v),i=d(f,v);t.lineTo(e.x,e.y),t.lineTo(i.x,i.y)}const x=d(f,y);if(t.lineTo(x.x,x.y),p)t.arc(0,0,a,ln(l-Math.PI/2)+c,ln(-l-Math.PI/2)+c,!0);else{const e=d(m,y);t.lineTo(e.x,e.y)}t.closePath()}};function Gf(e,t,i,a,n){const r=mn(e,t),o=r*(1-a)/2;if(e+=o,t-=o,r<.001)return 2*i*n;if(r>=2*Math.PI){const i=e+r/2;e=i-Math.PI,t=i+Math.PI}const s=i*Math.cos(e),l=i*Math.sin(e),c=i*Math.cos(t),d=i*Math.sin(t),h=Math.floor(Math.sqrt((s-c)**2+(l-d)**2)),u=2*i*n;return Math.max(1,Math.min(u,h))}zf.className="RadialColumnShape",c([As()],zf.prototype,"isBeveled",2),c([As()],zf.prototype,"columnWidth",2),c([As()],zf.prototype,"startAngle",2),c([As()],zf.prototype,"endAngle",2),c([As()],zf.prototype,"outerRadius",2),c([As()],zf.prototype,"innerRadius",2),c([As()],zf.prototype,"axisInnerRadius",2),c([As()],zf.prototype,"axisOuterRadius",2),c([As()],zf.prototype,"isRadiusAxisReversed",2);var Bf=class extends Ge{constructor(e){super(),this.x=0,this.y=0,this.width=0,this.height=0,this.opacity=1,this.sourceImage=e}render(e){const{ctx:t,forceRender:i,stats:a}=e;if(0===this.dirty&&!i)return void(a&&a.nodesSkipped++);this.computeTransformMatrix(),this.matrix.toContext(t);const n=this.sourceImage;t.globalAlpha=this.opacity,t.drawImage(n,0,0,n.width,n.height,this.x,this.y,this.width,this.height),super.render(e)}};c([Pe({redraw:3})],Bf.prototype,"x",2),c([Pe({redraw:3})],Bf.prototype,"y",2),c([Pe({redraw:3})],Bf.prototype,"width",2),c([Pe({redraw:3})],Bf.prototype,"height",2),c([Pe({redraw:3})],Bf.prototype,"opacity",2);var Vf={...se,...lr},Hf={};l(Hf,{CARTESIAN_AXIS_TYPE:()=>Lh,ChartTheme:()=>Am,DEFAULT_ANNOTATION_BACKGROUND_FILL:()=>cu,DEFAULT_ANNOTATION_HANDLE_FILL:()=>du,DEFAULT_ANNOTATION_STROKE:()=>lu,DEFAULT_AXIS_GRID_COLOUR:()=>_h,DEFAULT_AXIS_LINE_COLOUR:()=>qh,DEFAULT_BACKGROUND_COLOUR:()=>Kh,DEFAULT_CAPTION_ALIGNMENT:()=>Xh,DEFAULT_CAPTION_LAYOUT_STYLE:()=>Zh,DEFAULT_COLOURS:()=>Yh,DEFAULT_CROSS_LINES_COLOUR:()=>Uh,DEFAULT_DIVERGING_SERIES_COLOUR_RANGE:()=>ru,DEFAULT_FONT_FAMILY:()=>Gh,DEFAULT_GRIDLINE_ENABLED:()=>uu,DEFAULT_HIERARCHY_FILLS:()=>ou,DEFAULT_HIERARCHY_STROKES:()=>su,DEFAULT_INSIDE_SERIES_LABEL_COLOUR:()=>Hh,DEFAULT_INVERTED_LABEL_COLOUR:()=>Vh,DEFAULT_LABEL_COLOUR:()=>Bh,DEFAULT_MUTED_LABEL_COLOUR:()=>Wh,DEFAULT_PADDING:()=>$h,DEFAULT_POLAR_SERIES_STROKE:()=>nu,DEFAULT_SHADOW_COLOUR:()=>jh,DEFAULT_TOOLBAR_POSITION:()=>hu,FONT_SIZE:()=>Ph,FONT_WEIGHT:()=>Fh,IS_DARK_THEME:()=>zh,PALETTE_DOWN_FILL:()=>tu,PALETTE_DOWN_STROKE:()=>Jh,PALETTE_NEUTRAL_FILL:()=>au,PALETTE_NEUTRAL_STROKE:()=>iu,PALETTE_UP_FILL:()=>eu,PALETTE_UP_STROKE:()=>Qh,POLAR_AXIS_SHAPE:()=>Oh,POLAR_AXIS_TYPE:()=>Nh,POSITION:()=>Ih,getChartTheme:()=>Mf,markerPaletteFactory:()=>Th,singleSeriesPaletteFactory:()=>Eh,themes:()=>Wf});var Wf=bt(xf,(e=>e?.())),_f={};l(_f,{BandScale:()=>pi,ColorScale:()=>qg,ContinuousScale:()=>fa,Invalidating:()=>ui,LinearScale:()=>zd,OrdinalTimeScale:()=>en,TimeScale:()=>Xa});var qf={};l(qf,{Color:()=>_e,Debug:()=>wr,Logger:()=>C,Padding:()=>Qo,TimeInterval:()=>w,Vec2:()=>Uf,angleBetween:()=>mn,angleDiff:()=>pn,areArrayItemsStrictlyEqual:()=>Tr,areArrayNumbersEqual:()=>Pr,bifurcate:()=>Ra,checkDatum:()=>Vn,clamp:()=>fe,clampArray:()=>ve,countFractionDigits:()=>Me,createId:()=>de,day:()=>H,deepClone:()=>Tt,displacePointFromVector:()=>fn,extent:()=>ya,findMinMax:()=>ye,findRangeExtent:()=>be,formatNormalizedPercentage:()=>Re,formatPercentage:()=>De,friday:()=>$,hour:()=>B,interpolateColor:()=>Ue,interpolateNumber:()=>qe,isBetweenAngles:()=>hn,isContinuous:()=>Bn,isDate:()=>at,isDenseInterval:()=>Za,isEqual:()=>Ce,isNegative:()=>we,isNumber:()=>ht,isNumberEqual:()=>Ce,isNumberObject:()=>Gn,isString:()=>ct,isStringObject:()=>zn,jsonApply:()=>It,jsonDiff:()=>Et,jsonWalk:()=>Ft,millisecond:()=>x,minute:()=>O,mod:()=>ke,monday:()=>U,month:()=>Q,normalisedExtent:()=>ba,normalisedExtentWithMetadata:()=>Ca,normalizeAngle180:()=>dn,normalizeAngle360:()=>ln,normalizeAngle360Inclusive:()=>cn,range:()=>$a,resetIds:()=>ce,round:()=>Se,sanitizeHtml:()=>mu,saturday:()=>Z,second:()=>I,setAttribute:()=>Br,shallowClone:()=>Pt,sunday:()=>q,thursday:()=>Y,tickFormat:()=>Ya,tickStep:()=>Ka,ticks:()=>qa,toDegrees:()=>gn,toFixed:()=>xe,toRadians:()=>un,transformIntegratedCategoryValue:()=>Hn,tuesday:()=>K,utcDay:()=>ne,utcHour:()=>ae,utcMinute:()=>ie,utcMonth:()=>re,utcYear:()=>oe,uuid:()=>he,wednesday:()=>j,year:()=>ee,zipObject:()=>Yf});var Uf={add:function(e,t){return{x:e.x+t.x,y:e.y+t.y}},angle:function(e,t){return Math.atan2(e.y,e.x)-Math.atan2(t.y,t.x)},apply:function(e,t){return e.x=t.x,e.y=t.y,e},equal:function(e,t){return e.x===t.x&&e.y===t.y},distance:function(e,t){const i=Kf(e,t);return Math.sqrt(i.x*i.x+i.y*i.y)},distanceSquared:function(e,t){const i=Kf(e,t);return i.x*i.x+i.y*i.y},from:function(e,t){return{x:e,y:t}},fromOffset:function(e){return{x:e.offsetX,y:e.offsetY}},length:function(e){return Math.sqrt(e.x*e.x+e.y*e.y)},lengthSquared:function(e){return e.x*e.x+e.y*e.y},required:jf,rotate:function(e,t,i=jf()){const a=Uf.length(e);return{x:i.x+a*Math.cos(t),y:i.y+a*Math.sin(t)}},sub:Kf};function Kf(e,t){return{x:e.x-t.x,y:e.y-t.y}}function jf(e){return{x:e?.x??0,y:e?.y??0}}function Yf(e,t){const i={};if(Array.isArray(t))for(let a=0;a<e.length;a++)i[`${e[a]}`]=t[a];else for(let a=0;a<e.length;a++)i[`${e[a]}`]=t;return i}var $f={};function Zf(){return(e,t)=>{const i=[`Property [${e}] is deprecated.`,t].filter(Boolean).join(" ");C.warnOnce(i)}}function Xf(e,t){const i=Zf(),a=t?.default;return $e(((t,n,r)=>(r!==a&&i(n.toString(),e),r)))}function Qf(e,t){const i=Zf();return $e(((a,n,r)=>(r!==a[e]&&(i(n.toString(),`Use [${e}] instead.`),xt(a,e,t?t(r):r)),Ke)),((t,a)=>(i(a.toString(),`Use [${e}] instead.`),wt(t,e))))}function Jf({defs:e,values:t,xAxis:i,yAxis:a}){if(!i||!a)throw new Error("Axes must be defined");const n={};for(const[r,{def:o}]of e)if(Object.hasOwn(t,r)){const{scale:e}="key"===o.type?i:a;n[r]=Math.round(e.convert(t[r]))}return n}l($f,{AND:()=>vi,ARRAY:()=>Ti,ARRAY_OF:()=>Pi,AbstractBarSeries:()=>Mg,AbstractBarSeriesProperties:()=>kg,ActionOnSet:()=>Nr,Animation:()=>Zt,AnimationManager:()=>Hs,AreaSeriesTag:()=>gg,Axis:()=>Eo,AxisInterval:()=>mo,AxisLabel:()=>fo,AxisTick:()=>yo,BOOLEAN:()=>wi,BOOLEAN_ARRAY:()=>Vi,Background:()=>Yd,BackgroundModule:()=>$d,BaseModuleInstance:()=>Ko,BaseProperties:()=>Mt,COLOR_STRING:()=>Gi,COLOR_STRING_ARRAY:()=>Bi,CartesianAxis:()=>Fo,CartesianSeries:()=>Fd,CartesianSeriesNodeEvent:()=>Td,CartesianSeriesProperties:()=>Pd,CategoryAxis:()=>Io,ChartAxisDirection:()=>ua,ChartEventManager:()=>_s,ChartOptions:()=>Df,ChartUpdateType:()=>pl,ContextMenuRegistry:()=>qs,Cursor:()=>Ks,CursorManager:()=>js,DATE:()=>Ni,DATE_ARRAY:()=>_i,DATE_OR_DATETIME_MS:()=>Oi,DEFAULT_CARTESIAN_DIRECTION_KEYS:()=>Ad,DEFAULT_CARTESIAN_DIRECTION_NAMES:()=>Ed,DEFAULT_TOOLTIP_CLASS:()=>Hr,DEFAULT_TOOLTIP_DARK_CLASS:()=>Wr,DEGREE:()=>Ai,DIRECTION:()=>ta,DOMManager:()=>ws,DataController:()=>El,DataModel:()=>Dl,DataModelSeries:()=>Sd,DataService:()=>ms,Default:()=>go,Deprecated:()=>Xf,DeprecatedAndRenamedTo:()=>Qf,EMPTY_TOOLTIP_CONTENT:()=>_r,FONT_STYLE:()=>$i,FONT_WEIGHT:()=>Zi,FUNCTION:()=>Si,GREATER_THAN:()=>Li,GestureDetector:()=>$s,GroupedCategoryAxis:()=>Uo,HierarchyNode:()=>tv,HierarchySeries:()=>iv,HierarchySeriesProperties:()=>av,HighlightManager:()=>Zs,HighlightStyle:()=>Rd,INTERACTION_RANGE:()=>aa,INTERPOLATION_STEP_POSITION:()=>Ru,INTERPOLATION_TYPE:()=>Mu,InteractionManager:()=>so,InteractionState:()=>ro,InterpolationProperties:()=>Du,KeyNavManager:()=>Xs,LABEL_PLACEMENT:()=>na,LARGEST_KEY_INTERVAL:()=>vc,LESS_THAN:()=>Ii,LINE_CAP:()=>Ui,LINE_DASH:()=>ji,LINE_JOIN:()=>Ki,Layers:()=>On,LayoutService:()=>cl,LonLatBBox:()=>nv,MARKER_SHAPE:()=>wu,MATCHING_CROSSLINE_TYPE:()=>Wn,MAX_SPACING:()=>sa,MIN_SPACING:()=>oa,MercatorScale:()=>fm,ModuleRegistry:()=>jo,Motion:()=>Ot,NAN:()=>Mi,NODE_UPDATE_STATE_TO_PHASE_MAPPING:()=>Xt,NUMBER:()=>ki,NUMBER_ARRAY:()=>Hi,NUMBER_OR_NAN:()=>Ei,Navigator:()=>Dh,NavigatorModule:()=>Ah,OBJECT:()=>bi,OBJECT_ARRAY:()=>qi,OR:()=>yi,OVERFLOW_STRATEGY:()=>ea,ObserveChanges:()=>Or,PHASE_METADATA:()=>jt,PHASE_ORDER:()=>Kt,PLACEMENT:()=>ia,PLAIN_OBJECT:()=>Ci,POINTER_INTERACTION_TYPES:()=>Jr,POSITION:()=>Yi,POSITION_TOP_COORDINATES:()=>Yn,POSITIVE_NUMBER:()=>Ri,PolarAxis:()=>cm,PolarSeries:()=>Lp,PropertiesArray:()=>Rt,ProxyOnWrite:()=>Ir,ProxyProperty:()=>Fr,ProxyPropertyOnWrite:()=>Lr,QUICK_TRANSITION:()=>Ut,RATIO:()=>Di,REGIONS:()=>lo,RepeatType:()=>Yt,SKIP_JS_BUILTINS:()=>St,SMALLEST_KEY_INTERVAL:()=>fc,SORT_DOMAIN_GROUPS:()=>yc,STRING:()=>xi,STRING_ARRAY:()=>Wi,Series:()=>Uc,SeriesGroupingChangedEvent:()=>qc,SeriesItemHighlightStyle:()=>xd,SeriesMarker:()=>Su,SeriesNodeEvent:()=>_c,SeriesNodePickMode:()=>Pc,SeriesProperties:()=>Dd,SeriesTooltip:()=>ku,StateMachine:()=>Gr,TEXT_ALIGN:()=>Qi,TEXT_WRAP:()=>Xi,TICK_INTERVAL:()=>po,ToolbarManager:()=>sl,Tooltip:()=>jr,TooltipManager:()=>ll,TooltipPosition:()=>Kr,UNION:()=>ra,UpdateService:()=>ml,VERTICAL_ALIGN:()=>Ji,Validate:()=>mi,ZoomManager:()=>ql,__FORCE_MODULE_DETECTION:()=>rv,accumulateContinuity:()=>Ac,accumulateGroup:()=>Rc,accumulatedValue:()=>pc,accumulativeValueProperty:()=>Bc,addHitTestersToQuadtree:()=>Sg,adjustLabelPlacement:()=>Gg,allInStringUnion:()=>Aa,animationValidation:()=>xc,area:()=>gc,arraysEqual:()=>wa,assignJsonApplyConstructedArray:()=>pa,backfillPathPointData:()=>Vu,basicContinuousCheckDatumValidation:()=>Fc,bifurcate:()=>Ra,buildFormatter:()=>li,buildResetPathFn:()=>$u,calculateDefaultTimeTickFormat:()=>hi,calculateLabelChartPadding:()=>jn,calculateLabelTranslation:()=>Kn,calculatePlacement:()=>Vr,checkCrisp:()=>Tg,childrenIter:()=>wg,circularSliceArray:()=>Ma,clamp:()=>fe,clampArray:()=>ve,collapsedStartingBarPosition:()=>Fg,computeBarFocusBounds:()=>Og,computeMarkerFocusBounds:()=>Nu,computeSectorFocusBounds:()=>Ip,computeSectorSeriesFocusBounds:()=>Fp,convertValuesToScaleByDefs:()=>Jf,countFractionDigits:()=>Me,createDatumId:()=>Tc,createDeprecationWarning:()=>Zf,createElement:()=>mr,dateToNumber:()=>ci,deconstructSelectionsOrNodes:()=>$t,deepClone:()=>Tt,deepMerge:()=>ft,defaultTimeTickFormat:()=>di,determinePathStatus:()=>cg,diff:()=>Ec,downloadUrl:()=>fr,enterpriseModule:()=>Nl,extent:()=>ya,extractDecoratedProperties:()=>Qe,findMinMax:()=>ye,findQuadtreeMatch:()=>xg,findRangeExtent:()=>be,fixNumericExtent:()=>Sl,formatNormalizedPercentage:()=>Re,formatPercentage:()=>De,fromToMotion:()=>Qt,getDocument:()=>gr,getMissCount:()=>xl,getPath:()=>wt,getPathComponents:()=>Ml,getRectConfig:()=>Eg,getWindow:()=>pr,groupAccumulativeContinuityProperty:()=>Wc,groupAccumulativeValueProperty:()=>Hc,groupAverage:()=>uc,groupBy:()=>ka,groupCount:()=>hc,groupSum:()=>cc,initMenuKeyNav:()=>ah,initToolbarKeyNav:()=>ih,isArray:()=>et,isBoolean:()=>tt,isDate:()=>it,isDecoratedObject:()=>Ze,isDefined:()=>Je,isEnumKey:()=>gt,isEnumValue:()=>pt,isEqual:()=>Ce,isFiniteNumber:()=>ht,isFunction:()=>rt,isHtmlElement:()=>ut,isNegative:()=>we,isNumber:()=>dt,isObject:()=>ot,isObjectLike:()=>st,isPlainObject:()=>lt,isProperties:()=>Dt,isRegExp:()=>nt,isString:()=>ct,isSymbol:()=>mt,isValidDate:()=>at,jsonApply:()=>It,jsonDiff:()=>Et,jsonWalk:()=>Ft,keyProperty:()=>Oc,labelDirectionHandling:()=>ir,listDecoratedProperties:()=>Xe,makeAccessibleClickListener:()=>nh,mapIterable:()=>Da,mapValues:()=>bt,markerFadeInAnimation:()=>Eu,markerPaletteFactory:()=>Th,markerScaleInAnimation:()=>Tu,markerSwipeScaleInAnimation:()=>Pu,mergeArrayDefaults:()=>yt,mergeDefaults:()=>vt,midpointStartingBarPosition:()=>Ig,minMax:()=>zu,mod:()=>ke,moduleRegistry:()=>Yo,nearestSquared:()=>pe,nearestSquaredInContainer:()=>me,normaliseGroupTo:()=>Cc,normalisePropertyTo:()=>Sc,normalisedExtent:()=>ba,normalisedExtentWithMetadata:()=>Ca,pairCategoryData:()=>lg,pairContinuousData:()=>sg,partialAssign:()=>kt,pathFadeInAnimation:()=>ju,pathFadeOutAnimation:()=>Yu,pathRangePoints:()=>ig,pathRangePointsReverse:()=>ag,pathRanges:()=>tg,pathSwipeInAnimation:()=>Ku,pickByMatchingAngle:()=>Pp,plotPath:()=>_u,predicateWithMessage:()=>la,prepareAreaPathAnimation:()=>yg,prepareAreaPathAnimationFns:()=>vg,prepareAxisAnimationContext:()=>Co,prepareAxisAnimationFunctions:()=>xo,prepareBarAnimationFunctions:()=>Lg,prepareLinePathAnimation:()=>ug,prepareLinePathAnimationFns:()=>hg,prepareLinePathPropertyAnimation:()=>dg,prepareMarkerAnimation:()=>Lu,preparePieSeriesAnimationFunctions:()=>Ep,range:()=>dc,rangedValueProperty:()=>Gc,renderPartialPath:()=>Uu,resetAxisGroupFn:()=>ko,resetAxisLabelSelectionFn:()=>Ro,resetAxisLineSelectionFn:()=>Do,resetAxisSelectionFn:()=>Mo,resetBarSelectionsFn:()=>Ng,resetIds:()=>ce,resetLabelFn:()=>yu,resetMarkerFn:()=>Fu,resetMarkerPositionFn:()=>Iu,resetMotion:()=>cr,resetPieSelectionsFn:()=>Tp,round:()=>Se,seriesLabelFadeInAnimation:()=>fu,seriesLabelFadeOutAnimation:()=>vu,setDocument:()=>vr,setElementBBox:()=>br,setPath:()=>xt,setWindow:()=>yr,shallowClone:()=>Pt,singleSeriesPaletteFactory:()=>Eh,splitPairData:()=>qu,staticFromToMotion:()=>Jt,stringify:()=>ha,sum:()=>lc,sumValues:()=>sc,times:()=>va,toArray:()=>Sa,toFixed:()=>xe,toTooltipHtml:()=>Ur,trailingAccumulatedValue:()=>mc,trailingAccumulatedValueProperty:()=>Vc,unique:()=>xa,updateClipPath:()=>Zu,updateLabelNode:()=>zg,updateRect:()=>Ag,validateCrossLineValues:()=>_n,valueProperty:()=>zc,without:()=>Ct});var ev=class e{constructor(e,t,i,a,n,r,o,s,l,c,d){this.series=e,this.index=t,this.datum=i,this.size=a,this.colorValue=n,this.fill=r,this.stroke=o,this.sumSize=s,this.depth=l,this.parent=c,this.children=d,this.midPoint={x:0,y:0}}contains(e){let t=e;for(;null!=t&&t.index>=this.index;){if(t===this)return!0;t=t.parent}return!1}walk(t,i=e.Walk.PreOrder){i===e.Walk.PreOrder&&t(this),this.children.forEach((e=>{e.walk(t,i)})),i===e.Walk.PostOrder&&t(this)}*[Symbol.iterator](){yield this;for(const e of this.children)yield*e}};ev.Walk={PreOrder:0,PostOrder:1};var tv=ev,iv=class extends Uc{constructor(e){super({moduleCtx:e,pickModes:[3,0],contentGroupVirtual:!1}),this.rootNode=new tv(this,0,void 0,0,void 0,void 0,void 0,0,void 0,void 0,[]),this.colorDomain=[0,0],this.maxDepth=0,this.focusPath=[],this.animationState=new Gr("empty",{empty:{update:{target:"ready",action:e=>this.animateEmptyUpdateReady(e)},reset:"empty",skip:"ready"},ready:{updateData:"waiting",clear:"clearing",highlight:e=>this.animateReadyHighlight(e),resize:e=>this.animateReadyResize(e),reset:"empty",skip:"ready"},waiting:{update:{target:"ready",action:e=>this.animateWaitingUpdateReady(e)},reset:"empty",skip:"ready"},clearing:{update:{target:"empty",action:e=>this.animateClearingUpdateEmpty(e)},reset:"empty",skip:"ready"}},(()=>this.checkProcessedDataAnimatable()))}resetAnimation(e){"initial"===e?this.animationState.transition("reset"):"ready"===e&&this.animationState.transition("skip")}async processData(){const{childrenKey:e,sizeKey:t,colorKey:i,fills:a,strokes:n,colorRange:r}=this.properties;let o=0;let s=0,l=1/0,c=-1/0;const d=new Array((this.data?.length??0)+1).fill(void 0),h=(a,n)=>{const r=(o+=1,o),h=null!=n.depth?n.depth+1:0,g=null!=e?a[e]:void 0,p=null==g||0===g.length;let m=null!=t?a[t]:void 0;m=Number.isFinite(m)?Math.max(m,0):p?1:0;const f=m;s=Math.max(s,h);const v=null!=i?a[i]:void 0;return"number"==typeof v&&(d[r]=v,l=Math.min(l,v),c=Math.max(c,v)),u(new tv(this,r,a,m,v,void 0,void 0,f,h,n,[]),g)},u=(e,t)=>(t?.forEach((t=>{const i=h(t,e);e.children.push(i),e.sumSize+=i.sumSize})),e),g=u(new tv(this,0,void 0,0,void 0,void 0,void 0,0,void 0,void 0,[]),this.data),p=[l,c];let m;null!=r&&Number.isFinite(l)&&Number.isFinite(c)&&(m=new qg,m.domain=p,m.range=r,m.update()),g.children.forEach(((e,t)=>{e.walk((e=>{let i;const r=d[e.index];null!=r&&(i=m?.convert(r)),i??(i=a?.[t%a.length]),e.fill=i,e.stroke=null==m?n?.[t%n.length]:"rgba(0, 0, 0, 0.2)"}))})),this.rootNode=g,this.maxDepth=s,this.colorDomain=p,this.focusPath=[{nodeDatum:this.rootNode,childIndex:0}]}async update({seriesRect:e}){await this.updateSelections(),await this.updateNodes();const t=this.getAnimationData();this.checkResize(e)&&this.animationState.transition("resize",t),this.animationState.transition("update",t)}resetAllAnimation(e){const t=this.animationResetFns?.datum;this.ctx.animationManager.stopByAnimationGroupId(this.id),null!=t&&cr(e.datumSelections,t)}animateEmptyUpdateReady(e){this.ctx.animationManager.skipCurrentBatch(),this.resetAllAnimation(e)}animateWaitingUpdateReady(e){this.ctx.animationManager.skipCurrentBatch(),this.resetAllAnimation(e)}animateReadyHighlight(e){const t=this.animationResetFns?.datum;null!=t&&cr([e],t)}animateReadyResize(e){this.resetAllAnimation(e)}animateClearingUpdateEmpty(e){this.ctx.animationManager.skipCurrentBatch(),this.resetAllAnimation(e)}animationTransitionClear(){this.animationState.transition("clear",this.getAnimationData())}getAnimationData(){return{datumSelections:[this.groupSelection]}}isProcessedDataAnimatable(){return!0}checkProcessedDataAnimatable(){this.isProcessedDataAnimatable()||this.ctx.animationManager.skipCurrentBatch()}getLabelData(){return[]}getSeriesDomain(){return[NaN,NaN]}getLegendData(e){const{colorKey:t,colorName:i,colorRange:a,visible:n}=this.properties;return"gradient"===e&&null!=t&&null!=a?[{legendType:"gradient",enabled:n,seriesId:this.id,colorName:i,colorRange:a,colorDomain:this.colorDomain}]:[]}getDatumIdFromData(e){return`${e.index}`}getDatumId(e){return this.getDatumIdFromData(e)}pickFocus(e){if(0===this.rootNode.children.length)return;0===this.focusPath.length&&C.error("this.focusPath should not be empty");const{datumIndexDelta:t,otherIndexDelta:i}=e,{focusPath:a}=this,n=a.length-2;if(0!==i||1===a.length){const e=Math.max(0,n+i);if(void 0!==a[e+1])return a.length=e+2,this.computeFocusOutputs(a[e+1]);{let t=a[a.length-1];for(;t.nodeDatum.children.length>0&&(t.nodeDatum.depth??-1)<e;){const e={nodeDatum:t.nodeDatum.children[0],childIndex:0};a.push(e),t=e}return this.computeFocusOutputs(t)}}if(0===t)return this.computeFocusOutputs(a[a.length-1]);{const e=a[n+1].childIndex+t,i=a[n].nodeDatum,r=i?.children?.length;if(void 0!==r){const t=fe(0,e,r-1),o={nodeDatum:i.children[t],childIndex:t};return a[n+1]=o,a.length=n+2,this.computeFocusOutputs(o)}}}getDatumAriaText(e,t){if(e instanceof tv)return this.ctx.localeManager.t("ariaAnnounceHierarchyDatum",{level:(e.depth??-1)+1,count:e.children.length,description:t});C.error(`datum is not HierarchyNode: ${e}`)}computeFocusOutputs({nodeDatum:e,childIndex:t}){const i=this.computeFocusBounds(e);if(i)return{datum:e,datumIndex:t,otherIndex:e.depth,bounds:i,showFocusBox:!0}}},av=class extends Dd{constructor(){super(...arguments),this.childrenKey="children",this.fills=Object.values(Cp),this.strokes=Object.values(wp)}};c([mi(xi)],av.prototype,"childrenKey",2),c([mi(xi,{optional:!0})],av.prototype,"sizeKey",2),c([mi(xi,{optional:!0})],av.prototype,"colorKey",2),c([mi(xi,{optional:!0})],av.prototype,"colorName",2),c([mi(Bi)],av.prototype,"fills",2),c([mi(Bi)],av.prototype,"strokes",2),c([mi(Bi,{optional:!0})],av.prototype,"colorRange",2);var nv=class{constructor(e,t,i,a){this.lon0=e,this.lat0=t,this.lon1=i,this.lat1=a}merge(e){this.lon0=Math.min(this.lon0,e.lon0),this.lat0=Math.min(this.lat0,e.lat0),this.lon1=Math.max(this.lon1,e.lon1),this.lat1=Math.max(this.lat1,e.lat1)}},rv=0},8956:function(e,t,i){"use strict";var a=i(6758),n=i.n(a),r=i(935),o=i.n(r),s=i(62),l=i.n(s),c=new URL(i(2487),i.b),d=new URL(i(6080),i.b),h=o()(n()),u=l()(c),g=l()(d);h.push([e.id,'.ag-icon {\n font-family: var(--ag-icon-font-family);\n font-weight: var(--ag-icon-font-weight);\n color: var(--ag-icon-font-color);\n font-size: var(--ag-icon-size);\n line-height: var(--ag-icon-size);\n font-style: normal;\n font-feature-settings: normal;\n font-variant: normal;\n text-transform: none;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n width: var(--ag-icon-size);\n height: var(--ag-icon-size);\n position: relative;\n}\n.ag-icon::before {\n content: "";\n font-family: inherit;\n}\n.ag-icon::after {\n background: transparent none center/contain no-repeat;\n background: transparent var(--ag-icon-image, none) center/contain no-repeat;\n display: var(--ag-icon-image-display);\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity, 0.9);\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n content: "";\n}\n\n.ag-icon-aggregation {\n font-family: var(--ag-icon-font-family-aggregation, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-aggregation, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-aggregation, var(--ag-icon-font-color));\n}\n\n.ag-icon-aggregation::before {\n content: "\\f101";\n content: var(--ag-icon-font-code-aggregation, "\\f101");\n display: var(--ag-icon-font-display-aggregation, var(--ag-icon-font-display));\n}\n\n.ag-icon-aggregation::after {\n background-image: var(--ag-icon-image-aggregation, var(--ag-icon-image));\n display: var(--ag-icon-image-display-aggregation, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-aggregation, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-arrows {\n font-family: var(--ag-icon-font-family-arrows, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-arrows, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-arrows, var(--ag-icon-font-color));\n}\n\n.ag-icon-arrows::before {\n content: "\\f102";\n content: var(--ag-icon-font-code-arrows, "\\f102");\n display: var(--ag-icon-font-display-arrows, var(--ag-icon-font-display));\n}\n\n.ag-icon-arrows::after {\n background-image: var(--ag-icon-image-arrows, var(--ag-icon-image));\n display: var(--ag-icon-image-display-arrows, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-arrows, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-asc {\n font-family: var(--ag-icon-font-family-asc, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-asc, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-asc, var(--ag-icon-font-color));\n}\n\n.ag-icon-asc::before {\n content: "\\f103";\n content: var(--ag-icon-font-code-asc, "\\f103");\n display: var(--ag-icon-font-display-asc, var(--ag-icon-font-display));\n}\n\n.ag-icon-asc::after {\n background-image: var(--ag-icon-image-asc, var(--ag-icon-image));\n display: var(--ag-icon-image-display-asc, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-asc, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-cancel {\n font-family: var(--ag-icon-font-family-cancel, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-cancel, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-cancel, var(--ag-icon-font-color));\n}\n\n.ag-icon-cancel::before {\n content: "\\f104";\n content: var(--ag-icon-font-code-cancel, "\\f104");\n display: var(--ag-icon-font-display-cancel, var(--ag-icon-font-display));\n}\n\n.ag-icon-cancel::after {\n background-image: var(--ag-icon-image-cancel, var(--ag-icon-image));\n display: var(--ag-icon-image-display-cancel, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-cancel, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-chart {\n font-family: var(--ag-icon-font-family-chart, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-chart, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-chart, var(--ag-icon-font-color));\n}\n\n.ag-icon-chart::before {\n content: "\\f105";\n content: var(--ag-icon-font-code-chart, "\\f105");\n display: var(--ag-icon-font-display-chart, var(--ag-icon-font-display));\n}\n\n.ag-icon-chart::after {\n background-image: var(--ag-icon-image-chart, var(--ag-icon-image));\n display: var(--ag-icon-image-display-chart, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-chart, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-checkbox-checked {\n font-family: var(--ag-icon-font-family-checkbox-checked, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-checkbox-checked, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-checkbox-checked, var(--ag-icon-font-color));\n}\n\n.ag-icon-checkbox-checked::before {\n content: "\\f106";\n content: var(--ag-icon-font-code-checkbox-checked, "\\f106");\n display: var(--ag-icon-font-display-checkbox-checked, var(--ag-icon-font-display));\n}\n\n.ag-icon-checkbox-checked::after {\n background-image: var(--ag-icon-image-checkbox-checked, var(--ag-icon-image));\n display: var(--ag-icon-image-display-checkbox-checked, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-checkbox-checked, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-checkbox-indeterminate {\n font-family: var(--ag-icon-font-family-checkbox-indeterminate, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-checkbox-indeterminate, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-checkbox-indeterminate, var(--ag-icon-font-color));\n}\n\n.ag-icon-checkbox-indeterminate::before {\n content: "\\f107";\n content: var(--ag-icon-font-code-checkbox-indeterminate, "\\f107");\n display: var(--ag-icon-font-display-checkbox-indeterminate, var(--ag-icon-font-display));\n}\n\n.ag-icon-checkbox-indeterminate::after {\n background-image: var(--ag-icon-image-checkbox-indeterminate, var(--ag-icon-image));\n display: var(--ag-icon-image-display-checkbox-indeterminate, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-checkbox-indeterminate, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-checkbox-unchecked {\n font-family: var(--ag-icon-font-family-checkbox-unchecked, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-checkbox-unchecked, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-checkbox-unchecked, var(--ag-icon-font-color));\n}\n\n.ag-icon-checkbox-unchecked::before {\n content: "\\f108";\n content: var(--ag-icon-font-code-checkbox-unchecked, "\\f108");\n display: var(--ag-icon-font-display-checkbox-unchecked, var(--ag-icon-font-display));\n}\n\n.ag-icon-checkbox-unchecked::after {\n background-image: var(--ag-icon-image-checkbox-unchecked, var(--ag-icon-image));\n display: var(--ag-icon-image-display-checkbox-unchecked, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-checkbox-unchecked, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-color-picker {\n font-family: var(--ag-icon-font-family-color-picker, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-color-picker, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-color-picker, var(--ag-icon-font-color));\n}\n\n.ag-icon-color-picker::before {\n content: "\\f109";\n content: var(--ag-icon-font-code-color-picker, "\\f109");\n display: var(--ag-icon-font-display-color-picker, var(--ag-icon-font-display));\n}\n\n.ag-icon-color-picker::after {\n background-image: var(--ag-icon-image-color-picker, var(--ag-icon-image));\n display: var(--ag-icon-image-display-color-picker, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-color-picker, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-columns {\n font-family: var(--ag-icon-font-family-columns, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-columns, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-columns, var(--ag-icon-font-color));\n}\n\n.ag-icon-columns::before {\n content: "\\f10a";\n content: var(--ag-icon-font-code-columns, "\\f10a");\n display: var(--ag-icon-font-display-columns, var(--ag-icon-font-display));\n}\n\n.ag-icon-columns::after {\n background-image: var(--ag-icon-image-columns, var(--ag-icon-image));\n display: var(--ag-icon-image-display-columns, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-columns, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-contracted {\n font-family: var(--ag-icon-font-family-contracted, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-contracted, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-contracted, var(--ag-icon-font-color));\n}\n\n.ag-icon-contracted::before {\n content: "\\f10b";\n content: var(--ag-icon-font-code-contracted, "\\f10b");\n display: var(--ag-icon-font-display-contracted, var(--ag-icon-font-display));\n}\n\n.ag-icon-contracted::after {\n background-image: var(--ag-icon-image-contracted, var(--ag-icon-image));\n display: var(--ag-icon-image-display-contracted, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-contracted, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-copy {\n font-family: var(--ag-icon-font-family-copy, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-copy, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-copy, var(--ag-icon-font-color));\n}\n\n.ag-icon-copy::before {\n content: "\\f10c";\n content: var(--ag-icon-font-code-copy, "\\f10c");\n display: var(--ag-icon-font-display-copy, var(--ag-icon-font-display));\n}\n\n.ag-icon-copy::after {\n background-image: var(--ag-icon-image-copy, var(--ag-icon-image));\n display: var(--ag-icon-image-display-copy, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-copy, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-cross {\n font-family: var(--ag-icon-font-family-cross, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-cross, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-cross, var(--ag-icon-font-color));\n}\n\n.ag-icon-cross::before {\n content: "\\f10d";\n content: var(--ag-icon-font-code-cross, "\\f10d");\n display: var(--ag-icon-font-display-cross, var(--ag-icon-font-display));\n}\n\n.ag-icon-cross::after {\n background-image: var(--ag-icon-image-cross, var(--ag-icon-image));\n display: var(--ag-icon-image-display-cross, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-cross, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-csv {\n font-family: var(--ag-icon-font-family-csv, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-csv, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-csv, var(--ag-icon-font-color));\n}\n\n.ag-icon-csv::before {\n content: "\\f10e";\n content: var(--ag-icon-font-code-csv, "\\f10e");\n display: var(--ag-icon-font-display-csv, var(--ag-icon-font-display));\n}\n\n.ag-icon-csv::after {\n background-image: var(--ag-icon-image-csv, var(--ag-icon-image));\n display: var(--ag-icon-image-display-csv, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-csv, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-cut {\n font-family: var(--ag-icon-font-family-cut, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-cut, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-cut, var(--ag-icon-font-color));\n}\n\n.ag-icon-cut::before {\n content: "\\f10f";\n content: var(--ag-icon-font-code-cut, "\\f10f");\n display: var(--ag-icon-font-display-cut, var(--ag-icon-font-display));\n}\n\n.ag-icon-cut::after {\n background-image: var(--ag-icon-image-cut, var(--ag-icon-image));\n display: var(--ag-icon-image-display-cut, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-cut, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-desc {\n font-family: var(--ag-icon-font-family-desc, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-desc, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-desc, var(--ag-icon-font-color));\n}\n\n.ag-icon-desc::before {\n content: "\\f110";\n content: var(--ag-icon-font-code-desc, "\\f110");\n display: var(--ag-icon-font-display-desc, var(--ag-icon-font-display));\n}\n\n.ag-icon-desc::after {\n background-image: var(--ag-icon-image-desc, var(--ag-icon-image));\n display: var(--ag-icon-image-display-desc, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-desc, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-excel {\n font-family: var(--ag-icon-font-family-excel, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-excel, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-excel, var(--ag-icon-font-color));\n}\n\n.ag-icon-excel::before {\n content: "\\f111";\n content: var(--ag-icon-font-code-excel, "\\f111");\n display: var(--ag-icon-font-display-excel, var(--ag-icon-font-display));\n}\n\n.ag-icon-excel::after {\n background-image: var(--ag-icon-image-excel, var(--ag-icon-image));\n display: var(--ag-icon-image-display-excel, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-excel, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-expanded {\n font-family: var(--ag-icon-font-family-expanded, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-expanded, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-expanded, var(--ag-icon-font-color));\n}\n\n.ag-icon-expanded::before {\n content: "\\f112";\n content: var(--ag-icon-font-code-expanded, "\\f112");\n display: var(--ag-icon-font-display-expanded, var(--ag-icon-font-display));\n}\n\n.ag-icon-expanded::after {\n background-image: var(--ag-icon-image-expanded, var(--ag-icon-image));\n display: var(--ag-icon-image-display-expanded, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-expanded, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-eye-slash {\n font-family: var(--ag-icon-font-family-eye-slash, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-eye-slash, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-eye-slash, var(--ag-icon-font-color));\n}\n\n.ag-icon-eye-slash::before {\n content: "\\f113";\n content: var(--ag-icon-font-code-eye-slash, "\\f113");\n display: var(--ag-icon-font-display-eye-slash, var(--ag-icon-font-display));\n}\n\n.ag-icon-eye-slash::after {\n background-image: var(--ag-icon-image-eye-slash, var(--ag-icon-image));\n display: var(--ag-icon-image-display-eye-slash, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-eye-slash, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-eye {\n font-family: var(--ag-icon-font-family-eye, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-eye, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-eye, var(--ag-icon-font-color));\n}\n\n.ag-icon-eye::before {\n content: "\\f114";\n content: var(--ag-icon-font-code-eye, "\\f114");\n display: var(--ag-icon-font-display-eye, var(--ag-icon-font-display));\n}\n\n.ag-icon-eye::after {\n background-image: var(--ag-icon-image-eye, var(--ag-icon-image));\n display: var(--ag-icon-image-display-eye, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-eye, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-filter {\n font-family: var(--ag-icon-font-family-filter, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-filter, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-filter, var(--ag-icon-font-color));\n}\n\n.ag-icon-filter::before {\n content: "\\f115";\n content: var(--ag-icon-font-code-filter, "\\f115");\n display: var(--ag-icon-font-display-filter, var(--ag-icon-font-display));\n}\n\n.ag-icon-filter::after {\n background-image: var(--ag-icon-image-filter, var(--ag-icon-image));\n display: var(--ag-icon-image-display-filter, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-filter, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-first {\n font-family: var(--ag-icon-font-family-first, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-first, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-first, var(--ag-icon-font-color));\n}\n\n.ag-icon-first::before {\n content: "\\f116";\n content: var(--ag-icon-font-code-first, "\\f116");\n display: var(--ag-icon-font-display-first, var(--ag-icon-font-display));\n}\n\n.ag-icon-first::after {\n background-image: var(--ag-icon-image-first, var(--ag-icon-image));\n display: var(--ag-icon-image-display-first, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-first, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-grip {\n font-family: var(--ag-icon-font-family-grip, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-grip, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-grip, var(--ag-icon-font-color));\n}\n\n.ag-icon-grip::before {\n content: "\\f117";\n content: var(--ag-icon-font-code-grip, "\\f117");\n display: var(--ag-icon-font-display-grip, var(--ag-icon-font-display));\n}\n\n.ag-icon-grip::after {\n background-image: var(--ag-icon-image-grip, var(--ag-icon-image));\n display: var(--ag-icon-image-display-grip, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-grip, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-group {\n font-family: var(--ag-icon-font-family-group, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-group, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-group, var(--ag-icon-font-color));\n}\n\n.ag-icon-group::before {\n content: "\\f118";\n content: var(--ag-icon-font-code-group, "\\f118");\n display: var(--ag-icon-font-display-group, var(--ag-icon-font-display));\n}\n\n.ag-icon-group::after {\n background-image: var(--ag-icon-image-group, var(--ag-icon-image));\n display: var(--ag-icon-image-display-group, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-group, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-last {\n font-family: var(--ag-icon-font-family-last, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-last, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-last, var(--ag-icon-font-color));\n}\n\n.ag-icon-last::before {\n content: "\\f119";\n content: var(--ag-icon-font-code-last, "\\f119");\n display: var(--ag-icon-font-display-last, var(--ag-icon-font-display));\n}\n\n.ag-icon-last::after {\n background-image: var(--ag-icon-image-last, var(--ag-icon-image));\n display: var(--ag-icon-image-display-last, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-last, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-left {\n font-family: var(--ag-icon-font-family-left, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-left, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-left, var(--ag-icon-font-color));\n}\n\n.ag-icon-left::before {\n content: "\\f11a";\n content: var(--ag-icon-font-code-left, "\\f11a");\n display: var(--ag-icon-font-display-left, var(--ag-icon-font-display));\n}\n\n.ag-icon-left::after {\n background-image: var(--ag-icon-image-left, var(--ag-icon-image));\n display: var(--ag-icon-image-display-left, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-left, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-linked {\n font-family: var(--ag-icon-font-family-linked, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-linked, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-linked, var(--ag-icon-font-color));\n}\n\n.ag-icon-linked::before {\n content: "\\f11b";\n content: var(--ag-icon-font-code-linked, "\\f11b");\n display: var(--ag-icon-font-display-linked, var(--ag-icon-font-display));\n}\n\n.ag-icon-linked::after {\n background-image: var(--ag-icon-image-linked, var(--ag-icon-image));\n display: var(--ag-icon-image-display-linked, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-linked, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-loading {\n font-family: var(--ag-icon-font-family-loading, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-loading, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-loading, var(--ag-icon-font-color));\n}\n\n.ag-icon-loading::before {\n content: "\\f11c";\n content: var(--ag-icon-font-code-loading, "\\f11c");\n display: var(--ag-icon-font-display-loading, var(--ag-icon-font-display));\n}\n\n.ag-icon-loading::after {\n background-image: var(--ag-icon-image-loading, var(--ag-icon-image));\n display: var(--ag-icon-image-display-loading, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-loading, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-maximize {\n font-family: var(--ag-icon-font-family-maximize, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-maximize, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-maximize, var(--ag-icon-font-color));\n}\n\n.ag-icon-maximize::before {\n content: "\\f11d";\n content: var(--ag-icon-font-code-maximize, "\\f11d");\n display: var(--ag-icon-font-display-maximize, var(--ag-icon-font-display));\n}\n\n.ag-icon-maximize::after {\n background-image: var(--ag-icon-image-maximize, var(--ag-icon-image));\n display: var(--ag-icon-image-display-maximize, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-maximize, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-menu {\n font-family: var(--ag-icon-font-family-menu, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-menu, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-menu, var(--ag-icon-font-color));\n}\n\n.ag-icon-menu::before {\n content: "\\f11e";\n content: var(--ag-icon-font-code-menu, "\\f11e");\n display: var(--ag-icon-font-display-menu, var(--ag-icon-font-display));\n}\n\n.ag-icon-menu::after {\n background-image: var(--ag-icon-image-menu, var(--ag-icon-image));\n display: var(--ag-icon-image-display-menu, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-menu, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-minimize {\n font-family: var(--ag-icon-font-family-minimize, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-minimize, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-minimize, var(--ag-icon-font-color));\n}\n\n.ag-icon-minimize::before {\n content: "\\f11f";\n content: var(--ag-icon-font-code-minimize, "\\f11f");\n display: var(--ag-icon-font-display-minimize, var(--ag-icon-font-display));\n}\n\n.ag-icon-minimize::after {\n background-image: var(--ag-icon-image-minimize, var(--ag-icon-image));\n display: var(--ag-icon-image-display-minimize, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-minimize, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-next {\n font-family: var(--ag-icon-font-family-next, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-next, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-next, var(--ag-icon-font-color));\n}\n\n.ag-icon-next::before {\n content: "\\f120";\n content: var(--ag-icon-font-code-next, "\\f120");\n display: var(--ag-icon-font-display-next, var(--ag-icon-font-display));\n}\n\n.ag-icon-next::after {\n background-image: var(--ag-icon-image-next, var(--ag-icon-image));\n display: var(--ag-icon-image-display-next, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-next, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-none {\n font-family: var(--ag-icon-font-family-none, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-none, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-none, var(--ag-icon-font-color));\n}\n\n.ag-icon-none::before {\n content: "\\f121";\n content: var(--ag-icon-font-code-none, "\\f121");\n display: var(--ag-icon-font-display-none, var(--ag-icon-font-display));\n}\n\n.ag-icon-none::after {\n background-image: var(--ag-icon-image-none, var(--ag-icon-image));\n display: var(--ag-icon-image-display-none, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-none, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-not-allowed {\n font-family: var(--ag-icon-font-family-not-allowed, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-not-allowed, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-not-allowed, var(--ag-icon-font-color));\n}\n\n.ag-icon-not-allowed::before {\n content: "\\f122";\n content: var(--ag-icon-font-code-not-allowed, "\\f122");\n display: var(--ag-icon-font-display-not-allowed, var(--ag-icon-font-display));\n}\n\n.ag-icon-not-allowed::after {\n background-image: var(--ag-icon-image-not-allowed, var(--ag-icon-image));\n display: var(--ag-icon-image-display-not-allowed, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-not-allowed, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-paste {\n font-family: var(--ag-icon-font-family-paste, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-paste, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-paste, var(--ag-icon-font-color));\n}\n\n.ag-icon-paste::before {\n content: "\\f123";\n content: var(--ag-icon-font-code-paste, "\\f123");\n display: var(--ag-icon-font-display-paste, var(--ag-icon-font-display));\n}\n\n.ag-icon-paste::after {\n background-image: var(--ag-icon-image-paste, var(--ag-icon-image));\n display: var(--ag-icon-image-display-paste, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-paste, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-pin {\n font-family: var(--ag-icon-font-family-pin, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-pin, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-pin, var(--ag-icon-font-color));\n}\n\n.ag-icon-pin::before {\n content: "\\f124";\n content: var(--ag-icon-font-code-pin, "\\f124");\n display: var(--ag-icon-font-display-pin, var(--ag-icon-font-display));\n}\n\n.ag-icon-pin::after {\n background-image: var(--ag-icon-image-pin, var(--ag-icon-image));\n display: var(--ag-icon-image-display-pin, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-pin, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-pivot {\n font-family: var(--ag-icon-font-family-pivot, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-pivot, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-pivot, var(--ag-icon-font-color));\n}\n\n.ag-icon-pivot::before {\n content: "\\f125";\n content: var(--ag-icon-font-code-pivot, "\\f125");\n display: var(--ag-icon-font-display-pivot, var(--ag-icon-font-display));\n}\n\n.ag-icon-pivot::after {\n background-image: var(--ag-icon-image-pivot, var(--ag-icon-image));\n display: var(--ag-icon-image-display-pivot, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-pivot, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-previous {\n font-family: var(--ag-icon-font-family-previous, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-previous, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-previous, var(--ag-icon-font-color));\n}\n\n.ag-icon-previous::before {\n content: "\\f126";\n content: var(--ag-icon-font-code-previous, "\\f126");\n display: var(--ag-icon-font-display-previous, var(--ag-icon-font-display));\n}\n\n.ag-icon-previous::after {\n background-image: var(--ag-icon-image-previous, var(--ag-icon-image));\n display: var(--ag-icon-image-display-previous, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-previous, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-radio-button-off {\n font-family: var(--ag-icon-font-family-radio-button-off, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-radio-button-off, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-radio-button-off, var(--ag-icon-font-color));\n}\n\n.ag-icon-radio-button-off::before {\n content: "\\f127";\n content: var(--ag-icon-font-code-radio-button-off, "\\f127");\n display: var(--ag-icon-font-display-radio-button-off, var(--ag-icon-font-display));\n}\n\n.ag-icon-radio-button-off::after {\n background-image: var(--ag-icon-image-radio-button-off, var(--ag-icon-image));\n display: var(--ag-icon-image-display-radio-button-off, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-radio-button-off, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-radio-button-on {\n font-family: var(--ag-icon-font-family-radio-button-on, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-radio-button-on, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-radio-button-on, var(--ag-icon-font-color));\n}\n\n.ag-icon-radio-button-on::before {\n content: "\\f128";\n content: var(--ag-icon-font-code-radio-button-on, "\\f128");\n display: var(--ag-icon-font-display-radio-button-on, var(--ag-icon-font-display));\n}\n\n.ag-icon-radio-button-on::after {\n background-image: var(--ag-icon-image-radio-button-on, var(--ag-icon-image));\n display: var(--ag-icon-image-display-radio-button-on, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-radio-button-on, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-right {\n font-family: var(--ag-icon-font-family-right, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-right, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-right, var(--ag-icon-font-color));\n}\n\n.ag-icon-right::before {\n content: "\\f129";\n content: var(--ag-icon-font-code-right, "\\f129");\n display: var(--ag-icon-font-display-right, var(--ag-icon-font-display));\n}\n\n.ag-icon-right::after {\n background-image: var(--ag-icon-image-right, var(--ag-icon-image));\n display: var(--ag-icon-image-display-right, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-right, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-save {\n font-family: var(--ag-icon-font-family-save, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-save, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-save, var(--ag-icon-font-color));\n}\n\n.ag-icon-save::before {\n content: "\\f12a";\n content: var(--ag-icon-font-code-save, "\\f12a");\n display: var(--ag-icon-font-display-save, var(--ag-icon-font-display));\n}\n\n.ag-icon-save::after {\n background-image: var(--ag-icon-image-save, var(--ag-icon-image));\n display: var(--ag-icon-image-display-save, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-save, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-small-down {\n font-family: var(--ag-icon-font-family-small-down, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-small-down, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-small-down, var(--ag-icon-font-color));\n}\n\n.ag-icon-small-down::before {\n content: "\\f12b";\n content: var(--ag-icon-font-code-small-down, "\\f12b");\n display: var(--ag-icon-font-display-small-down, var(--ag-icon-font-display));\n}\n\n.ag-icon-small-down::after {\n background-image: var(--ag-icon-image-small-down, var(--ag-icon-image));\n display: var(--ag-icon-image-display-small-down, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-small-down, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-small-left {\n font-family: var(--ag-icon-font-family-small-left, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-small-left, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-small-left, var(--ag-icon-font-color));\n}\n\n.ag-icon-small-left::before {\n content: "\\f12c";\n content: var(--ag-icon-font-code-small-left, "\\f12c");\n display: var(--ag-icon-font-display-small-left, var(--ag-icon-font-display));\n}\n\n.ag-icon-small-left::after {\n background-image: var(--ag-icon-image-small-left, var(--ag-icon-image));\n display: var(--ag-icon-image-display-small-left, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-small-left, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-small-right {\n font-family: var(--ag-icon-font-family-small-right, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-small-right, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-small-right, var(--ag-icon-font-color));\n}\n\n.ag-icon-small-right::before {\n content: "\\f12d";\n content: var(--ag-icon-font-code-small-right, "\\f12d");\n display: var(--ag-icon-font-display-small-right, var(--ag-icon-font-display));\n}\n\n.ag-icon-small-right::after {\n background-image: var(--ag-icon-image-small-right, var(--ag-icon-image));\n display: var(--ag-icon-image-display-small-right, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-small-right, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-small-up {\n font-family: var(--ag-icon-font-family-small-up, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-small-up, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-small-up, var(--ag-icon-font-color));\n}\n\n.ag-icon-small-up::before {\n content: "\\f12e";\n content: var(--ag-icon-font-code-small-up, "\\f12e");\n display: var(--ag-icon-font-display-small-up, var(--ag-icon-font-display));\n}\n\n.ag-icon-small-up::after {\n background-image: var(--ag-icon-image-small-up, var(--ag-icon-image));\n display: var(--ag-icon-image-display-small-up, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-small-up, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-tick {\n font-family: var(--ag-icon-font-family-tick, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-tick, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-tick, var(--ag-icon-font-color));\n}\n\n.ag-icon-tick::before {\n content: "\\f12f";\n content: var(--ag-icon-font-code-tick, "\\f12f");\n display: var(--ag-icon-font-display-tick, var(--ag-icon-font-display));\n}\n\n.ag-icon-tick::after {\n background-image: var(--ag-icon-image-tick, var(--ag-icon-image));\n display: var(--ag-icon-image-display-tick, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-tick, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-tree-closed {\n font-family: var(--ag-icon-font-family-tree-closed, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-tree-closed, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-tree-closed, var(--ag-icon-font-color));\n}\n\n.ag-icon-tree-closed::before {\n content: "\\f130";\n content: var(--ag-icon-font-code-tree-closed, "\\f130");\n display: var(--ag-icon-font-display-tree-closed, var(--ag-icon-font-display));\n}\n\n.ag-icon-tree-closed::after {\n background-image: var(--ag-icon-image-tree-closed, var(--ag-icon-image));\n display: var(--ag-icon-image-display-tree-closed, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-tree-closed, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-tree-indeterminate {\n font-family: var(--ag-icon-font-family-tree-indeterminate, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-tree-indeterminate, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-tree-indeterminate, var(--ag-icon-font-color));\n}\n\n.ag-icon-tree-indeterminate::before {\n content: "\\f131";\n content: var(--ag-icon-font-code-tree-indeterminate, "\\f131");\n display: var(--ag-icon-font-display-tree-indeterminate, var(--ag-icon-font-display));\n}\n\n.ag-icon-tree-indeterminate::after {\n background-image: var(--ag-icon-image-tree-indeterminate, var(--ag-icon-image));\n display: var(--ag-icon-image-display-tree-indeterminate, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-tree-indeterminate, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-tree-open {\n font-family: var(--ag-icon-font-family-tree-open, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-tree-open, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-tree-open, var(--ag-icon-font-color));\n}\n\n.ag-icon-tree-open::before {\n content: "\\f132";\n content: var(--ag-icon-font-code-tree-open, "\\f132");\n display: var(--ag-icon-font-display-tree-open, var(--ag-icon-font-display));\n}\n\n.ag-icon-tree-open::after {\n background-image: var(--ag-icon-image-tree-open, var(--ag-icon-image));\n display: var(--ag-icon-image-display-tree-open, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-tree-open, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-unlinked {\n font-family: var(--ag-icon-font-family-unlinked, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-unlinked, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-unlinked, var(--ag-icon-font-color));\n}\n\n.ag-icon-unlinked::before {\n content: "\\f133";\n content: var(--ag-icon-font-code-unlinked, "\\f133");\n display: var(--ag-icon-font-display-unlinked, var(--ag-icon-font-display));\n}\n\n.ag-icon-unlinked::after {\n background-image: var(--ag-icon-image-unlinked, var(--ag-icon-image));\n display: var(--ag-icon-image-display-unlinked, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-unlinked, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-up {\n font-family: var(--ag-icon-font-family-up, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-up, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-up, var(--ag-icon-font-color));\n}\n\n.ag-icon-up::before {\n content: "\\f134";\n content: var(--ag-icon-font-code-up, "\\f134");\n display: var(--ag-icon-font-display-up, var(--ag-icon-font-display));\n}\n\n.ag-icon-up::after {\n background-image: var(--ag-icon-image-up, var(--ag-icon-image));\n display: var(--ag-icon-image-display-up, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-up, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-down {\n font-family: var(--ag-icon-font-family-down, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-down, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-down, var(--ag-icon-font-color));\n}\n\n.ag-icon-down::before {\n content: "\\f135";\n content: var(--ag-icon-font-code-down, "\\f135");\n display: var(--ag-icon-font-display-down, var(--ag-icon-font-display));\n}\n\n.ag-icon-down::after {\n background-image: var(--ag-icon-image-down, var(--ag-icon-image));\n display: var(--ag-icon-image-display-down, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-down, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-plus {\n font-family: var(--ag-icon-font-family-plus, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-plus, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-plus, var(--ag-icon-font-color));\n}\n\n.ag-icon-plus::before {\n content: "\\f136";\n content: var(--ag-icon-font-code-plus, "\\f136");\n display: var(--ag-icon-font-display-plus, var(--ag-icon-font-display));\n}\n\n.ag-icon-plus::after {\n background-image: var(--ag-icon-image-plus, var(--ag-icon-image));\n display: var(--ag-icon-image-display-plus, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-plus, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-minus {\n font-family: var(--ag-icon-font-family-minus, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-minus, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-minus, var(--ag-icon-font-color));\n}\n\n.ag-icon-minus::before {\n content: "\\f137";\n content: var(--ag-icon-font-code-minus, "\\f137");\n display: var(--ag-icon-font-display-minus, var(--ag-icon-font-display));\n}\n\n.ag-icon-minus::after {\n background-image: var(--ag-icon-image-minus, var(--ag-icon-image));\n display: var(--ag-icon-image-display-minus, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-minus, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-menu-alt {\n font-family: var(--ag-icon-font-family-menu-alt, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-menu-alt, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-menu-alt, var(--ag-icon-font-color));\n}\n\n.ag-icon-menu-alt::before {\n content: "\\f138";\n content: var(--ag-icon-font-code-menu-alt, "\\f138");\n display: var(--ag-icon-font-display-menu-alt, var(--ag-icon-font-display));\n}\n\n.ag-icon-menu-alt::after {\n background-image: var(--ag-icon-image-menu-alt, var(--ag-icon-image));\n display: var(--ag-icon-image-display-menu-alt, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-menu-alt, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-settings {\n font-family: var(--ag-icon-font-family-settings, var(--ag-icon-font-family));\n font-weight: var(--ag-icon-font-weight-settings, var(--ag-icon-font-weight));\n color: var(--ag-icon-font-color-settings, var(--ag-icon-font-color));\n}\n\n.ag-icon-settings::before {\n content: "\\f139";\n content: var(--ag-icon-font-code-settings, "\\f139");\n display: var(--ag-icon-font-display-settings, var(--ag-icon-font-display));\n}\n\n.ag-icon-settings::after {\n background-image: var(--ag-icon-image-settings, var(--ag-icon-image));\n display: var(--ag-icon-image-display-settings, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-settings, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-row-drag::before {\n content: var(--ag-icon-font-code-grip);\n}\n\n.ag-left-arrow::before {\n content: var(--ag-icon-font-code-left);\n}\n\n.ag-right-arrow::before {\n content: var(--ag-icon-font-code-right);\n}\n\n[class*=ag-theme-] {\n --ag-foreground-color: #000;\n --ag-data-color: var(--ag-foreground-color);\n --ag-secondary-foreground-color: var(--ag-foreground-color);\n --ag-header-foreground-color: var(--ag-secondary-foreground-color);\n --ag-disabled-foreground-color: rgba(0, 0, 0, 0.5);\n --ag-background-color: #fff;\n --ag-header-background-color: transparent;\n --ag-tooltip-background-color: transparent;\n --ag-subheader-background-color: transparent;\n --ag-subheader-toolbar-background-color: transparent;\n --ag-control-panel-background-color: transparent;\n --ag-side-button-selected-background-color: var(--ag-control-panel-background-color);\n --ag-selected-row-background-color: #bbb;\n --ag-odd-row-background-color: var(--ag-background-color);\n --ag-modal-overlay-background-color: rgba(255, 255, 255, 0.66);\n --ag-menu-background-color: var(--ag-background-color);\n --ag-menu-border-color: var(--ag-border-color);\n --ag-panel-background-color: var(--ag-background-color);\n --ag-panel-border-color: var(--ag-border-color);\n --ag-row-hover-color: transparent;\n --ag-column-hover-color: transparent;\n --ag-range-selection-border-color: var(--ag-foreground-color);\n --ag-range-selection-border-style: solid;\n --ag-range-selection-background-color: rgba(0, 0, 0, 0.2);\n --ag-range-selection-background-color-2: var(--ag-range-selection-background-color);\n --ag-range-selection-background-color-3: var(--ag-range-selection-background-color);\n --ag-range-selection-background-color-4: var(--ag-range-selection-background-color);\n --ag-range-selection-highlight-color: var(--ag-range-selection-border-color);\n --ag-selected-tab-underline-color: var(--ag-range-selection-border-color);\n --ag-selected-tab-underline-width: 0;\n --ag-selected-tab-underline-transition-speed: 0s;\n --ag-range-selection-chart-category-background-color: rgba(0, 255, 132, 0.1);\n --ag-range-selection-chart-background-color: rgba(0, 88, 255, 0.1);\n --ag-header-cell-hover-background-color: transparent;\n --ag-header-cell-moving-background-color: var(--ag-background-color);\n --ag-value-change-value-highlight-background-color: rgba(22, 160, 133, 0.5);\n --ag-value-change-delta-up-color: #43a047;\n --ag-value-change-delta-down-color: #e53935;\n --ag-row-loading-skeleton-effect-color: rgba(66, 66, 66, 0.2);\n --ag-chip-background-color: transparent;\n --ag-chip-border-color: var(--ag-chip-background-color);\n --ag-borders: solid 1px;\n --ag-border-color: rgba(0, 0, 0, 0.25);\n --ag-borders-critical: var(--ag-borders);\n --ag-borders-secondary: var(--ag-borders);\n --ag-secondary-border-color: var(--ag-border-color);\n --ag-row-border-style: solid;\n --ag-row-border-color: var(--ag-secondary-border-color);\n --ag-row-border-width: 1px;\n --ag-cell-horizontal-border: solid transparent;\n --ag-borders-input: var(--ag-borders-secondary);\n --ag-input-border-color: var(--ag-secondary-border-color);\n --ag-borders-input-invalid: solid 2px;\n --ag-input-border-color-invalid: var(--ag-invalid-color);\n --ag-borders-side-button: var(--ag-borders);\n --ag-border-radius: 0px;\n --ag-wrapper-border-radius: var(--ag-border-radius);\n --ag-row-border-color: var(--ag-secondary-border-color);\n --ag-header-column-separator-display: none;\n --ag-header-column-separator-height: 100%;\n --ag-header-column-separator-width: 1px;\n --ag-header-column-separator-color: var(--ag-secondary-border-color);\n --ag-header-column-resize-handle-display: none;\n --ag-header-column-resize-handle-height: 50%;\n --ag-header-column-resize-handle-width: 1px;\n --ag-header-column-resize-handle-color: var(--ag-secondary-border-color);\n --ag-invalid-color: red;\n --ag-input-disabled-border-color: var(--ag-input-border-color);\n --ag-input-disabled-background-color: transparent;\n --ag-checkbox-background-color: transparent;\n --ag-checkbox-border-radius: var(--ag-border-radius);\n --ag-checkbox-checked-color: var(--ag-foreground-color);\n --ag-checkbox-unchecked-color: var(--ag-foreground-color);\n --ag-checkbox-indeterminate-color: var(--ag-checkbox-unchecked-color);\n --ag-toggle-button-off-border-color: var(--ag-checkbox-unchecked-color);\n --ag-toggle-button-off-background-color: var(--ag-checkbox-unchecked-color);\n --ag-toggle-button-on-border-color: var(--ag-checkbox-checked-color);\n --ag-toggle-button-on-background-color: var(--ag-checkbox-checked-color);\n --ag-toggle-button-switch-background-color: var(--ag-background-color);\n --ag-toggle-button-switch-border-color: var(--ag-toggle-button-off-border-color);\n --ag-toggle-button-border-width: 1px;\n --ag-toggle-button-height: var(--ag-icon-size);\n --ag-toggle-button-width: calc(var(--ag-toggle-button-height) * 2);\n --ag-input-focus-box-shadow: none;\n --ag-input-focus-border-color: none;\n --ag-minichart-selected-chart-color: var(--ag-checkbox-checked-color);\n --ag-minichart-selected-page-color: var(--ag-checkbox-checked-color);\n --ag-grid-size: 4px;\n --ag-icon-size: 12px;\n --ag-icon-font-weight: normal;\n --ag-icon-font-color: var(--ag-foreground-color);\n --ag-icon-image-display: block;\n --ag-widget-container-horizontal-padding: calc(var(--ag-grid-size) * 1.5);\n --ag-widget-container-vertical-padding: calc(var(--ag-grid-size) * 1.5);\n --ag-widget-horizontal-spacing: calc(var(--ag-grid-size) * 2);\n --ag-widget-vertical-spacing: var(--ag-grid-size);\n --ag-cell-horizontal-padding: calc(var(--ag-grid-size) * 3);\n --ag-cell-widget-spacing: var(--ag-cell-horizontal-padding);\n --ag-row-height: calc(var(--ag-grid-size) * 6 + 1px);\n --ag-header-height: var(--ag-row-height);\n --ag-list-item-height: calc(var(--ag-grid-size) * 5);\n --ag-column-select-indent-size: calc(var(--ag-grid-size) + var(--ag-icon-size));\n --ag-set-filter-indent-size: calc(var(--ag-grid-size) + var(--ag-icon-size));\n --ag-advanced-filter-builder-indent-size: calc(var(--ag-grid-size) * 2 + var(--ag-icon-size));\n --ag-row-group-indent-size: calc(var(--ag-cell-widget-spacing) + var(--ag-icon-size));\n --ag-filter-tool-panel-group-indent: 16px;\n --ag-tab-min-width: 220px;\n --ag-chart-menu-panel-width: var(--ag-tab-min-width);\n --ag-menu-min-width: 181px;\n --ag-side-bar-panel-width: 200px;\n --ag-font-family: "Helvetica Neue", sans-serif;\n --ag-font-size: 14px;\n --ag-card-radius: var(--ag-border-radius);\n --ag-card-shadow: none;\n --ag-popup-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);\n --ag-advanced-filter-join-pill-color: #f08e8d;\n --ag-advanced-filter-column-pill-color: #a6e194;\n --ag-advanced-filter-option-pill-color: #f3c08b;\n --ag-advanced-filter-value-pill-color: #85c0e4;\n}\n\n.ag-root-wrapper,\n.ag-sticky-top,\n.ag-sticky-bottom,\n.ag-dnd-ghost {\n background-color: var(--ag-background-color);\n}\n\n.ag-root-wrapper,\n.ag-popup {\n --ag-indentation-level: 0;\n}\n\n[class*=ag-theme-] {\n -webkit-font-smoothing: antialiased;\n font-family: var(--ag-font-family);\n font-size: var(--ag-font-size);\n line-height: normal;\n color: var(--ag-foreground-color);\n}\n\nag-grid,\nag-grid-angular,\nag-grid-ng2,\nag-grid-polymer,\nag-grid-aurelia {\n display: block;\n}\n\n.ag-aria-description-container {\n z-index: 9999;\n border: 0px;\n clip: rect(1px, 1px, 1px, 1px);\n height: 1px;\n width: 1px;\n position: absolute;\n overflow: hidden;\n padding: 0px;\n white-space: nowrap;\n}\n\n.ag-hidden {\n display: none !important;\n}\n\n.ag-invisible {\n visibility: hidden !important;\n}\n\n.ag-drag-handle {\n cursor: grab;\n}\n\n.ag-column-drop-wrapper {\n display: flex;\n}\n\n.ag-column-drop-horizontal-half-width {\n display: inline-block;\n width: 50% !important;\n}\n\n.ag-unselectable {\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n}\n\n.ag-selectable {\n -moz-user-select: text;\n -webkit-user-select: text;\n user-select: text;\n}\n\n.ag-tab {\n position: relative;\n}\n\n.ag-tab-guard {\n position: absolute;\n width: 0;\n height: 0;\n display: block;\n}\n\n.ag-virtual-list-viewport .ag-tab-guard {\n position: sticky;\n}\n\n.ag-tab-guard-top {\n top: 1px;\n}\n\n.ag-tab-guard-bottom {\n bottom: 1px;\n}\n\n.ag-select-agg-func-popup {\n position: absolute;\n}\n\n.ag-input-wrapper,\n.ag-picker-field-wrapper {\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n line-height: normal;\n position: relative;\n}\n\n.ag-shake-left-to-right {\n animation-direction: alternate;\n animation-duration: 0.2s;\n animation-iteration-count: infinite;\n animation-name: ag-shake-left-to-right;\n}\n\n@keyframes ag-shake-left-to-right {\n from {\n padding-left: 6px;\n padding-right: 2px;\n }\n to {\n padding-left: 2px;\n padding-right: 6px;\n }\n}\n.ag-root-wrapper {\n cursor: default;\n position: relative;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n white-space: normal;\n}\n.ag-root-wrapper.ag-layout-normal {\n height: 100%;\n}\n\n.ag-watermark {\n position: absolute;\n bottom: 20px;\n right: 25px;\n opacity: 0.7;\n transition: opacity 1s ease-out 3s;\n color: #9b9b9b;\n}\n.ag-watermark::before {\n content: "";\n background-image: url('+u+");\n background-repeat: no-repeat;\n background-size: 170px 40px;\n display: block;\n height: 40px;\n width: 170px;\n}\n\n.ag-watermark-text {\n opacity: 0.5;\n font-weight: bold;\n font-family: Impact, sans-serif;\n font-size: 19px;\n padding-left: 0.7rem;\n}\n\n.ag-root-wrapper-body {\n display: flex;\n flex-direction: row;\n}\n.ag-root-wrapper-body.ag-layout-normal {\n flex: 1 1 auto;\n height: 0;\n min-height: 0;\n}\n\n.ag-root {\n position: relative;\n display: flex;\n flex-direction: column;\n}\n.ag-root.ag-layout-normal, .ag-root.ag-layout-auto-height {\n overflow: hidden;\n flex: 1 1 auto;\n width: 0;\n}\n.ag-root.ag-layout-normal {\n height: 100%;\n}\n\n.ag-header-viewport,\n.ag-floating-top-viewport,\n.ag-body-viewport,\n.ag-center-cols-viewport,\n.ag-floating-bottom-viewport,\n.ag-body-horizontal-scroll-viewport,\n.ag-body-vertical-scroll-viewport,\n.ag-virtual-list-viewport,\n.ag-sticky-top-viewport,\n.ag-sticky-bottom-viewport {\n position: relative;\n height: 100%;\n min-width: 0px;\n overflow: hidden;\n flex: 1 1 auto;\n}\n\n.ag-body-viewport,\n.ag-center-cols-viewport {\n -ms-overflow-style: none !important;\n scrollbar-width: none !important;\n}\n.ag-body-viewport::-webkit-scrollbar,\n.ag-center-cols-viewport::-webkit-scrollbar {\n display: none !important;\n}\n\n.ag-body-viewport {\n display: flex;\n}\n.ag-body-viewport.ag-layout-normal {\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.ag-center-cols-viewport {\n min-height: 100%;\n width: 100%;\n overflow-x: auto;\n}\n\n.ag-body-horizontal-scroll-viewport {\n overflow-x: scroll;\n}\n\n.ag-body-vertical-scroll-viewport {\n overflow-y: scroll;\n}\n\n.ag-virtual-list-viewport {\n overflow: auto;\n width: 100%;\n}\n\n.ag-header-container,\n.ag-floating-top-container,\n.ag-body-container,\n.ag-pinned-right-cols-container,\n.ag-center-cols-container,\n.ag-pinned-left-cols-container,\n.ag-floating-bottom-container,\n.ag-body-horizontal-scroll-container,\n.ag-body-vertical-scroll-container,\n.ag-full-width-container,\n.ag-floating-bottom-full-width-container,\n.ag-virtual-list-container,\n.ag-sticky-top-container,\n.ag-sticky-bottom-container {\n position: relative;\n}\n\n.ag-header-container,\n.ag-floating-top-container,\n.ag-floating-bottom-container,\n.ag-sticky-top-container,\n.ag-sticky-bottom-container {\n height: 100%;\n white-space: nowrap;\n}\n\n.ag-center-cols-container {\n display: block;\n}\n\n.ag-pinned-right-cols-container {\n display: block;\n}\n\n.ag-body-horizontal-scroll-container {\n height: 100%;\n}\n\n.ag-body-vertical-scroll-container {\n width: 100%;\n}\n\n.ag-full-width-container,\n.ag-floating-top-full-width-container,\n.ag-floating-bottom-full-width-container,\n.ag-sticky-top-full-width-container,\n.ag-sticky-bottom-full-width-container {\n position: absolute;\n top: 0px;\n pointer-events: none;\n}\n.ag-ltr .ag-full-width-container,\n.ag-ltr .ag-floating-top-full-width-container,\n.ag-ltr .ag-floating-bottom-full-width-container,\n.ag-ltr .ag-sticky-top-full-width-container,\n.ag-ltr .ag-sticky-bottom-full-width-container {\n left: 0;\n}\n.ag-rtl .ag-full-width-container,\n.ag-rtl .ag-floating-top-full-width-container,\n.ag-rtl .ag-floating-bottom-full-width-container,\n.ag-rtl .ag-sticky-top-full-width-container,\n.ag-rtl .ag-sticky-bottom-full-width-container {\n right: 0;\n}\n\n.ag-full-width-container {\n width: 100%;\n}\n\n.ag-floating-bottom-full-width-container,\n.ag-floating-top-full-width-container {\n display: inline-block;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n\n.ag-virtual-list-container {\n overflow: hidden;\n}\n\n.ag-body {\n position: relative;\n display: flex;\n flex: 1 1 auto;\n flex-direction: row !important;\n min-height: 0;\n}\n\n.ag-body-horizontal-scroll,\n.ag-body-vertical-scroll {\n min-height: 0;\n min-width: 0;\n display: flex;\n position: relative;\n}\n.ag-body-horizontal-scroll.ag-scrollbar-invisible,\n.ag-body-vertical-scroll.ag-scrollbar-invisible {\n position: absolute;\n bottom: 0;\n}\n.ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-apple-scrollbar,\n.ag-body-vertical-scroll.ag-scrollbar-invisible.ag-apple-scrollbar {\n opacity: 0;\n transition: opacity 400ms;\n visibility: hidden;\n}\n.ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-scrolling, .ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-active,\n.ag-body-vertical-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-scrolling,\n.ag-body-vertical-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-active {\n visibility: visible;\n opacity: 1;\n}\n\n.ag-body-horizontal-scroll {\n width: 100%;\n}\n.ag-body-horizontal-scroll.ag-scrollbar-invisible {\n left: 0;\n right: 0;\n}\n\n.ag-body-vertical-scroll {\n height: 100%;\n}\n.ag-body-vertical-scroll.ag-scrollbar-invisible {\n top: 0;\n z-index: 10;\n}\n.ag-ltr .ag-body-vertical-scroll.ag-scrollbar-invisible {\n right: 0;\n}\n.ag-rtl .ag-body-vertical-scroll.ag-scrollbar-invisible {\n left: 0;\n}\n\n.ag-force-vertical-scroll {\n overflow-y: scroll !important;\n}\n\n.ag-horizontal-left-spacer,\n.ag-horizontal-right-spacer {\n height: 100%;\n min-width: 0;\n overflow-x: scroll;\n}\n.ag-horizontal-left-spacer.ag-scroller-corner,\n.ag-horizontal-right-spacer.ag-scroller-corner {\n overflow-x: hidden;\n}\n\n.ag-header,\n.ag-pinned-left-header,\n.ag-pinned-right-header {\n display: inline-block;\n overflow: hidden;\n position: relative;\n}\n\n.ag-header-cell-sortable .ag-header-cell-label {\n cursor: pointer;\n}\n\n.ag-header {\n display: flex;\n width: 100%;\n white-space: nowrap;\n}\n\n.ag-pinned-left-header {\n height: 100%;\n}\n\n.ag-pinned-right-header {\n height: 100%;\n}\n\n.ag-header-row {\n position: absolute;\n}\n\n.ag-header-row:not(.ag-header-row-column-group) {\n overflow: hidden;\n}\n\n.ag-header.ag-header-allow-overflow .ag-header-row {\n overflow: visible;\n}\n\n.ag-header-cell {\n display: inline-flex;\n align-items: center;\n position: absolute;\n height: 100%;\n}\n\n.ag-header-cell.ag-header-active .ag-header-cell-menu-button,\n.ag-header-cell-filter-button {\n opacity: 1;\n}\n\n.ag-header-cell-menu-button:not(.ag-header-menu-always-show) {\n transition: opacity 0.2s;\n opacity: 0;\n}\n\n.ag-header-group-cell-label,\n.ag-header-cell-label {\n display: flex;\n flex: 1 1 auto;\n align-self: stretch;\n align-items: center;\n}\n\n.ag-header-cell-label {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ag-header-group-cell-label.ag-sticky-label {\n position: sticky;\n flex: none;\n max-width: 100%;\n}\n\n.ag-header-group-text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.ag-header-cell-text {\n overflow: hidden;\n text-overflow: ellipsis;\n word-break: break-word;\n}\n\n.ag-header-cell:not(.ag-header-cell-auto-height) .ag-header-cell-comp-wrapper {\n height: 100%;\n display: flex;\n align-items: center;\n}\n\n.ag-header-cell-comp-wrapper {\n width: 100%;\n}\n\n.ag-header-cell-wrap-text .ag-header-cell-comp-wrapper {\n white-space: normal;\n}\n\n.ag-right-aligned-header .ag-header-cell-label {\n flex-direction: row-reverse;\n}\n\n.ag-header-cell-resize {\n position: absolute;\n z-index: 2;\n height: 100%;\n width: 8px;\n top: 0;\n cursor: ew-resize;\n}\n.ag-ltr .ag-header-cell-resize {\n right: -4px;\n}\n.ag-rtl .ag-header-cell-resize {\n left: -4px;\n}\n\n.ag-pinned-left-header .ag-header-cell-resize {\n right: -4px;\n}\n\n.ag-pinned-right-header .ag-header-cell-resize {\n left: -4px;\n}\n\n.ag-header-select-all {\n display: flex;\n}\n\n.ag-header-cell-menu-button,\n.ag-header-cell-filter-button,\n.ag-side-button-button,\n.ag-panel-title-bar-button,\n.ag-floating-filter-button-button {\n cursor: pointer;\n}\n\n.ag-column-moving .ag-cell {\n transition: left 0.2s;\n}\n.ag-column-moving .ag-header-cell {\n transition: left 0.2s;\n}\n.ag-column-moving .ag-header-group-cell {\n transition: left 0.2s, width 0.2s;\n}\n\n.ag-column-panel {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n flex: 1 1 auto;\n}\n\n.ag-column-select {\n position: relative;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n flex: 3 1 0px;\n}\n\n.ag-column-select-header {\n position: relative;\n display: flex;\n flex: none;\n}\n\n.ag-column-select-header-icon {\n position: relative;\n}\n\n.ag-column-select-header-filter-wrapper {\n flex: 1 1 auto;\n}\n\n.ag-column-select-header-filter {\n width: 100%;\n}\n\n.ag-column-select-list {\n flex: 1 1 0px;\n overflow: hidden;\n}\n\n.ag-column-drop {\n position: relative;\n display: inline-flex;\n align-items: center;\n overflow: auto;\n width: 100%;\n}\n\n.ag-column-drop-list {\n display: flex;\n align-items: center;\n}\n\n.ag-column-drop-cell {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.ag-column-drop-cell-text {\n overflow: hidden;\n flex: 1 1 auto;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.ag-column-drop-vertical {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n align-items: stretch;\n flex: 1 1 0px;\n}\n\n.ag-column-drop-vertical-title-bar {\n display: flex;\n align-items: center;\n flex: none;\n}\n\n.ag-column-drop-vertical-list {\n position: relative;\n align-items: stretch;\n flex-grow: 1;\n flex-direction: column;\n overflow-x: auto;\n}\n.ag-column-drop-vertical-list > * {\n flex: none;\n}\n\n.ag-column-drop-empty .ag-column-drop-vertical-list {\n overflow: hidden;\n}\n\n.ag-column-drop-vertical-empty-message {\n display: block;\n}\n\n.ag-column-drop.ag-column-drop-horizontal {\n white-space: nowrap;\n overflow: hidden;\n}\n\n.ag-column-drop-cell-button {\n cursor: pointer;\n}\n\n.ag-filter-toolpanel {\n flex: 1 1 0px;\n min-width: 0;\n}\n\n.ag-filter-toolpanel-header {\n position: relative;\n}\n\n.ag-filter-toolpanel-header,\n.ag-filter-toolpanel-search {\n display: flex;\n align-items: center;\n}\n.ag-filter-toolpanel-header > *,\n.ag-filter-toolpanel-search > * {\n display: flex;\n align-items: center;\n}\n\n.ag-filter-apply-panel {\n display: flex;\n justify-content: flex-end;\n overflow: hidden;\n}\n\n.ag-row-animation .ag-row {\n transition: transform 0.4s, top 0.4s, opacity 0.2s;\n}\n\n.ag-row-animation .ag-row.ag-after-created {\n transition: transform 0.4s, top 0.4s, height 0.4s, opacity 0.2s;\n}\n\n.ag-row-no-animation .ag-row {\n transition: none;\n}\n\n.ag-row {\n white-space: nowrap;\n width: 100%;\n}\n\n.ag-row-loading {\n display: flex;\n align-items: center;\n}\n\n.ag-row-position-absolute {\n position: absolute;\n}\n\n.ag-row-position-relative {\n position: relative;\n}\n\n.ag-full-width-row {\n overflow: hidden;\n pointer-events: all;\n}\n\n.ag-row-inline-editing {\n z-index: 1;\n}\n\n.ag-row-dragging {\n z-index: 2;\n}\n\n.ag-stub-cell {\n display: flex;\n align-items: center;\n}\n\n.ag-cell {\n display: inline-block;\n position: absolute;\n white-space: nowrap;\n height: 100%;\n}\n\n.ag-cell-value {\n flex: 1 1 auto;\n}\n\n.ag-cell-value,\n.ag-group-value {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ag-cell-wrap-text {\n white-space: normal;\n word-break: break-word;\n}\n\n.ag-cell-wrapper {\n display: flex;\n align-items: center;\n}\n.ag-cell-wrapper.ag-row-group {\n align-items: flex-start;\n}\n\n.ag-sparkline-wrapper {\n position: absolute;\n height: 100%;\n width: 100%;\n left: 0;\n top: 0;\n}\n\n.ag-full-width-row .ag-cell-wrapper.ag-row-group {\n height: 100%;\n align-items: center;\n}\n\n.ag-cell-inline-editing {\n z-index: 1;\n}\n.ag-cell-inline-editing .ag-cell-wrapper,\n.ag-cell-inline-editing .ag-cell-edit-wrapper,\n.ag-cell-inline-editing .ag-cell-editor,\n.ag-cell-inline-editing .ag-cell-editor .ag-wrapper,\n.ag-cell-inline-editing .ag-cell-editor input {\n height: 100%;\n width: 100%;\n line-height: normal;\n}\n\n.ag-cell .ag-icon {\n display: inline-block;\n vertical-align: middle;\n}\n\n.ag-set-filter-item {\n display: flex;\n align-items: center;\n height: 100%;\n}\n\n.ag-set-filter-item-checkbox {\n display: flex;\n width: 100%;\n height: 100%;\n}\n\n.ag-set-filter-group-icons {\n display: block;\n}\n.ag-set-filter-group-icons > * {\n cursor: pointer;\n}\n\n.ag-filter-body-wrapper {\n display: flex;\n flex-direction: column;\n}\n\n.ag-filter-filter {\n flex: 1 1 0px;\n}\n\n.ag-filter-condition {\n display: flex;\n justify-content: center;\n}\n\n.ag-floating-filter-body {\n position: relative;\n display: flex;\n flex: 1 1 auto;\n height: 100%;\n}\n\n.ag-floating-filter-full-body {\n display: flex;\n flex: 1 1 auto;\n height: 100%;\n width: 100%;\n align-items: center;\n overflow: hidden;\n}\n\n.ag-floating-filter-full-body > div {\n flex: 1 1 auto;\n}\n\n.ag-floating-filter-input {\n align-items: center;\n display: flex;\n width: 100%;\n}\n.ag-floating-filter-input > * {\n flex: 1 1 auto;\n}\n\n.ag-floating-filter-button {\n display: flex;\n flex: none;\n}\n\n.ag-set-floating-filter-input input[disabled] {\n pointer-events: none;\n}\n\n.ag-dnd-ghost {\n position: absolute;\n display: inline-flex;\n align-items: center;\n cursor: move;\n white-space: nowrap;\n z-index: 9999;\n}\n\n.ag-overlay {\n height: 100%;\n left: 0;\n pointer-events: none;\n position: absolute;\n top: 0;\n width: 100%;\n z-index: 2;\n}\n\n.ag-overlay-panel {\n display: flex;\n height: 100%;\n width: 100%;\n}\n\n.ag-overlay-wrapper {\n display: flex;\n flex: none;\n width: 100%;\n height: 100%;\n align-items: center;\n justify-content: center;\n text-align: center;\n}\n\n.ag-overlay-loading-wrapper {\n pointer-events: all;\n}\n\n.ag-popup-child {\n z-index: 5;\n top: 0;\n}\n\n.ag-popup-editor {\n position: absolute;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n}\n\n.ag-large-text-input {\n display: block;\n}\n\n.ag-virtual-list-item {\n position: absolute;\n width: 100%;\n}\n\n.ag-floating-top {\n overflow: hidden;\n white-space: nowrap;\n width: 100%;\n position: relative;\n display: flex;\n}\n\n.ag-pinned-left-floating-top {\n display: inline-block;\n overflow: hidden;\n position: relative;\n min-width: 0px;\n}\n\n.ag-pinned-right-floating-top {\n display: inline-block;\n overflow: hidden;\n position: relative;\n min-width: 0px;\n}\n\n.ag-floating-bottom {\n overflow: hidden;\n white-space: nowrap;\n width: 100%;\n position: relative;\n display: flex;\n}\n\n.ag-pinned-left-floating-bottom {\n display: inline-block;\n overflow: hidden;\n position: relative;\n min-width: 0px;\n}\n\n.ag-pinned-right-floating-bottom {\n display: inline-block;\n overflow: hidden;\n position: relative;\n min-width: 0px;\n}\n\n.ag-sticky-top,\n.ag-sticky-bottom {\n position: absolute;\n display: flex;\n width: 100%;\n}\n\n.ag-pinned-left-sticky-top,\n.ag-pinned-right-sticky-top {\n position: relative;\n height: 100%;\n overflow: hidden;\n}\n\n.ag-sticky-top-full-width-container,\n.ag-sticky-bottom-full-width-container {\n overflow: hidden;\n width: 100%;\n height: 100%;\n}\n\n.ag-dialog,\n.ag-panel {\n display: flex;\n flex-direction: column;\n position: relative;\n overflow: hidden;\n}\n\n.ag-panel-title-bar {\n display: flex;\n flex: none;\n align-items: center;\n cursor: default;\n}\n\n.ag-panel-title-bar-title {\n flex: 1 1 auto;\n}\n\n.ag-panel-title-bar-buttons {\n display: flex;\n}\n\n.ag-panel-title-bar-button {\n cursor: pointer;\n}\n\n.ag-panel-content-wrapper {\n display: flex;\n flex: 1 1 auto;\n position: relative;\n overflow: hidden;\n}\n\n.ag-dialog {\n position: absolute;\n}\n\n.ag-resizer {\n position: absolute;\n pointer-events: none;\n z-index: 1;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n}\n.ag-resizer.ag-resizer-topLeft {\n top: 0;\n left: 0;\n height: 5px;\n width: 5px;\n cursor: nwse-resize;\n}\n.ag-resizer.ag-resizer-top {\n top: 0;\n left: 5px;\n right: 5px;\n height: 5px;\n cursor: ns-resize;\n}\n.ag-resizer.ag-resizer-topRight {\n top: 0;\n right: 0;\n height: 5px;\n width: 5px;\n cursor: nesw-resize;\n}\n.ag-resizer.ag-resizer-right {\n top: 5px;\n right: 0;\n bottom: 5px;\n width: 5px;\n cursor: ew-resize;\n}\n.ag-resizer.ag-resizer-bottomRight {\n bottom: 0;\n right: 0;\n height: 5px;\n width: 5px;\n cursor: nwse-resize;\n}\n.ag-resizer.ag-resizer-bottom {\n bottom: 0;\n left: 5px;\n right: 5px;\n height: 5px;\n cursor: ns-resize;\n}\n.ag-resizer.ag-resizer-bottomLeft {\n bottom: 0;\n left: 0;\n height: 5px;\n width: 5px;\n cursor: nesw-resize;\n}\n.ag-resizer.ag-resizer-left {\n left: 0;\n top: 5px;\n bottom: 5px;\n width: 5px;\n cursor: ew-resize;\n}\n\n.ag-tooltip {\n position: absolute;\n z-index: 99999;\n}\n\n.ag-tooltip-custom {\n position: absolute;\n z-index: 99999;\n}\n\n.ag-tooltip:not(.ag-tooltip-interactive),\n.ag-tooltip-custom:not(.ag-tooltip-interactive) {\n pointer-events: none;\n}\n\n.ag-value-slide-out {\n margin-right: 5px;\n opacity: 1;\n transition: opacity 3s, margin-right 3s;\n transition-timing-function: linear;\n}\n\n.ag-value-slide-out-end {\n margin-right: 10px;\n opacity: 0;\n}\n\n.ag-opacity-zero {\n opacity: 0 !important;\n}\n\n.ag-menu {\n max-height: 100%;\n overflow-y: auto;\n position: absolute;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n}\n\n.ag-menu-column-select-wrapper {\n height: 265px;\n overflow: auto;\n}\n.ag-menu-column-select-wrapper .ag-column-select {\n height: 100%;\n}\n\n.ag-dialog .ag-panel-content-wrapper .ag-column-select {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n\n.ag-menu-list {\n display: table;\n width: 100%;\n}\n\n.ag-menu-option,\n.ag-menu-separator {\n display: table-row;\n}\n\n.ag-menu-option-part,\n.ag-menu-separator-part {\n display: table-cell;\n vertical-align: middle;\n}\n\n.ag-menu-option-text {\n white-space: nowrap;\n}\n\n.ag-menu-option-custom {\n display: contents;\n}\n\n.ag-compact-menu-option {\n width: 100%;\n display: flex;\n flex-wrap: nowrap;\n}\n\n.ag-compact-menu-option-text {\n white-space: nowrap;\n flex: 1 1 auto;\n}\n\n.ag-pill-container {\n display: flex;\n gap: 0.25rem;\n flex-wrap: nowrap;\n}\n\n.ag-pill {\n display: flex;\n white-space: nowrap;\n padding: 0 0.25rem;\n align-items: center;\n}\n\n.ag-pill .ag-pill-button {\n border: none;\n padding: 0;\n}\n\n.ag-rich-select {\n cursor: default;\n outline: none;\n height: 100%;\n}\n\n.ag-rich-select-value {\n display: flex;\n align-items: center;\n height: 100%;\n}\n.ag-rich-select-value .ag-picker-field-display {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.ag-rich-select-value .ag-picker-field-display.ag-display-as-placeholder {\n opacity: 0.5;\n}\n\n.ag-rich-select-list {\n position: relative;\n}\n.ag-rich-select-list .ag-loading-text {\n min-height: 2rem;\n}\n\n.ag-rich-select-row {\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n white-space: nowrap;\n overflow: hidden;\n height: 100%;\n}\n\n.ag-rich-select-field-input {\n flex: 1 1 auto;\n}\n.ag-rich-select-field-input .ag-input-field-input {\n padding: 0 !important;\n border: none !important;\n box-shadow: none !important;\n text-overflow: ellipsis;\n}\n.ag-rich-select-field-input .ag-input-field-input::-moz-placeholder {\n opacity: 0.8;\n}\n.ag-rich-select-field-input .ag-input-field-input::placeholder {\n opacity: 0.8;\n}\n\n.ag-autocomplete {\n align-items: center;\n display: flex;\n}\n.ag-autocomplete > * {\n flex: 1 1 auto;\n}\n\n.ag-autocomplete-list-popup {\n position: absolute;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n}\n\n.ag-autocomplete-list {\n position: relative;\n}\n\n.ag-autocomplete-virtual-list-item {\n display: flex;\n}\n\n.ag-autocomplete-row {\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n overflow: hidden;\n}\n\n.ag-autocomplete-row-label {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ag-paging-panel {\n align-items: center;\n display: flex;\n justify-content: flex-end;\n}\n\n.ag-paging-page-summary-panel {\n display: flex;\n align-items: center;\n}\n\n.ag-paging-button {\n position: relative;\n}\n\n.ag-disabled .ag-paging-page-summary-panel {\n pointer-events: none;\n}\n\n.ag-tool-panel-wrapper {\n display: flex;\n overflow-y: auto;\n overflow-x: hidden;\n cursor: default;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n}\n\n.ag-column-select-column,\n.ag-column-select-column-group,\n.ag-select-agg-func-item {\n position: relative;\n align-items: center;\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n height: 100%;\n}\n.ag-column-select-column > *,\n.ag-column-select-column-group > *,\n.ag-select-agg-func-item > * {\n flex: none;\n}\n\n.ag-select-agg-func-item,\n.ag-column-select-column-label {\n flex: 1 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.ag-column-select-checkbox {\n display: flex;\n}\n\n.ag-tool-panel-horizontal-resize {\n cursor: ew-resize;\n height: 100%;\n position: absolute;\n top: 0;\n width: 5px;\n z-index: 1;\n}\n\n.ag-ltr .ag-side-bar-left .ag-tool-panel-horizontal-resize {\n right: -3px;\n}\n.ag-rtl .ag-side-bar-left .ag-tool-panel-horizontal-resize {\n left: -3px;\n}\n\n.ag-ltr .ag-side-bar-right .ag-tool-panel-horizontal-resize {\n left: -3px;\n}\n.ag-rtl .ag-side-bar-right .ag-tool-panel-horizontal-resize {\n right: -3px;\n}\n\n.ag-details-row {\n width: 100%;\n}\n\n.ag-details-row-fixed-height {\n height: 100%;\n}\n\n.ag-details-grid {\n width: 100%;\n}\n\n.ag-details-grid-fixed-height {\n height: 100%;\n}\n\n.ag-header-group-cell {\n display: flex;\n align-items: center;\n height: 100%;\n position: absolute;\n}\n\n.ag-header-group-cell-no-group.ag-header-span-height .ag-header-cell-resize {\n display: none;\n}\n\n.ag-cell-label-container {\n display: flex;\n justify-content: space-between;\n flex-direction: row-reverse;\n align-items: center;\n height: 100%;\n width: 100%;\n padding: 5px 0px;\n}\n\n.ag-right-aligned-header .ag-cell-label-container {\n flex-direction: row;\n}\n.ag-right-aligned-header .ag-header-cell-text {\n text-align: right;\n}\n\n.ag-side-bar {\n display: flex;\n flex-direction: row-reverse;\n}\n\n.ag-side-bar-left {\n order: -1;\n flex-direction: row;\n}\n\n.ag-side-button-button {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex-wrap: nowrap;\n white-space: nowrap;\n outline: none;\n cursor: pointer;\n}\n\n.ag-side-button-label {\n writing-mode: vertical-lr;\n}\n\n.ag-status-bar {\n display: flex;\n justify-content: space-between;\n overflow: hidden;\n}\n\n.ag-status-panel {\n display: inline-flex;\n}\n\n.ag-status-name-value {\n white-space: nowrap;\n}\n\n.ag-status-bar-left {\n display: inline-flex;\n}\n\n.ag-status-bar-center {\n display: inline-flex;\n}\n\n.ag-status-bar-right {\n display: inline-flex;\n}\n\n.ag-icon {\n display: block;\n speak: none;\n}\n\n.ag-group {\n position: relative;\n width: 100%;\n}\n\n.ag-group-title-bar {\n display: flex;\n align-items: center;\n}\n\n.ag-group-title {\n display: inline;\n min-width: 0;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.ag-group-title-bar .ag-group-title {\n cursor: default;\n}\n\n.ag-group-toolbar {\n display: flex;\n align-items: center;\n}\n\n.ag-group-container {\n display: flex;\n}\n\n.ag-disabled .ag-group-container {\n pointer-events: none;\n}\n\n.ag-group-container-horizontal {\n flex-direction: row;\n flex-wrap: wrap;\n}\n\n.ag-group-container-vertical {\n flex-direction: column;\n}\n\n.ag-column-group-icons {\n display: block;\n}\n.ag-column-group-icons > * {\n cursor: pointer;\n}\n\n.ag-group-item-alignment-stretch .ag-group-item {\n align-items: stretch;\n}\n\n.ag-group-item-alignment-start .ag-group-item {\n align-items: flex-start;\n}\n\n.ag-group-item-alignment-end .ag-group-item {\n align-items: flex-end;\n}\n\n.ag-toggle-button-icon {\n transition: right 0.3s;\n position: absolute;\n top: -1px;\n}\n\n.ag-input-field,\n.ag-select {\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n\n.ag-input-field-input {\n flex: 1 1 auto;\n}\n\n.ag-floating-filter-input .ag-input-field-input[type=date] {\n width: 1px;\n}\n\n.ag-range-field {\n display: flex;\n align-items: center;\n}\n\n.ag-angle-select {\n display: flex;\n align-items: center;\n}\n\n.ag-angle-select-wrapper {\n display: flex;\n}\n\n.ag-angle-select-parent-circle {\n display: block;\n position: relative;\n}\n\n.ag-angle-select-child-circle {\n position: absolute;\n}\n\n.ag-slider-wrapper {\n display: flex;\n}\n.ag-slider-wrapper .ag-input-field {\n flex: 1 1 auto;\n}\n\n.ag-picker-field-display {\n flex: 1 1 auto;\n}\n\n.ag-picker-field {\n display: flex;\n align-items: center;\n}\n\n.ag-picker-field-icon {\n display: flex;\n border: 0;\n padding: 0;\n margin: 0;\n cursor: pointer;\n}\n\n.ag-picker-field-wrapper {\n overflow: hidden;\n}\n\n.ag-label-align-right .ag-label {\n order: 1;\n}\n.ag-label-align-right > * {\n flex: none;\n}\n\n.ag-label-align-top {\n flex-direction: column;\n align-items: flex-start;\n}\n.ag-label-align-top > * {\n align-self: stretch;\n}\n\n.ag-label-ellipsis {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n flex: 1;\n}\n\n.ag-color-panel {\n width: 100%;\n display: flex;\n flex-direction: column;\n text-align: center;\n}\n\n.ag-spectrum-color {\n flex: 1 1 auto;\n position: relative;\n overflow: visible;\n cursor: default;\n}\n\n.ag-spectrum-fill {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n}\n\n.ag-spectrum-val {\n cursor: pointer;\n}\n\n.ag-spectrum-dragger {\n position: absolute;\n pointer-events: none;\n cursor: pointer;\n}\n\n.ag-spectrum-hue,\n.ag-spectrum-alpha {\n cursor: default;\n}\n\n.ag-spectrum-hue-background {\n background: linear-gradient(to left, #ff0000 3%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);\n width: 100%;\n height: 100%;\n}\n\n.ag-spectrum-alpha {\n --ag-spectrum-alpha-background-checked: url("+g+');\n}\n\n.ag-spectrum-alpha-background {\n background: linear-gradient(to right, var(--ag-internal-spectrum-alpha-color-from), var(--ag-internal-spectrum-alpha-color-to)), var(--ag-spectrum-alpha-background-checked) top left/4px 4px;\n width: 100%;\n height: 100%;\n}\n\n.ag-spectrum-tool {\n cursor: pointer;\n position: relative;\n}\n\n.ag-spectrum-slider {\n position: absolute;\n pointer-events: none;\n}\n\n.ag-spectrum-alpha .ag-spectrum-slider {\n background: linear-gradient(to bottom, var(--ag-internal-spectrum-alpha-color), var(--ag-internal-spectrum-alpha-color)) white;\n}\n\n.ag-recent-colors {\n display: flex;\n}\n\n.ag-recent-color {\n cursor: pointer;\n}\n\n.ag-pill-select {\n display: flex;\n flex-direction: column;\n}\n.ag-pill-select .ag-column-drop {\n flex: initial;\n}\n\n.ag-ltr {\n direction: ltr;\n}\n.ag-ltr .ag-body,\n.ag-ltr .ag-floating-top,\n.ag-ltr .ag-floating-bottom,\n.ag-ltr .ag-header,\n.ag-ltr .ag-sticky-top,\n.ag-ltr .ag-sticky-bottom,\n.ag-ltr .ag-body-viewport,\n.ag-ltr .ag-body-horizontal-scroll {\n flex-direction: row;\n}\n\n.ag-rtl {\n direction: rtl;\n}\n.ag-rtl .ag-body,\n.ag-rtl .ag-floating-top,\n.ag-rtl .ag-floating-bottom,\n.ag-rtl .ag-header,\n.ag-rtl .ag-sticky-top,\n.ag-rtl .ag-sticky-bottom,\n.ag-rtl .ag-body-viewport,\n.ag-rtl .ag-body-horizontal-scroll {\n flex-direction: row-reverse;\n}\n.ag-rtl .ag-icon-contracted,\n.ag-rtl .ag-icon-expanded,\n.ag-rtl .ag-icon-tree-closed {\n display: block;\n transform: rotate(180deg);\n}\n\n.ag-body .ag-body-viewport {\n -webkit-overflow-scrolling: touch;\n}\n\n.ag-measurement-container {\n width: 0;\n overflow: hidden;\n visibility: hidden;\n}\n.ag-measurement-container div {\n position: absolute;\n}\n\n.ag-layout-print.ag-body {\n display: block;\n height: auto;\n height: initial;\n}\n.ag-layout-print.ag-root-wrapper {\n display: inline-block;\n}\n.ag-layout-print .ag-body-vertical-scroll {\n display: none;\n}\n.ag-layout-print .ag-body-horizontal-scroll {\n display: none;\n}\n.ag-layout-print.ag-force-vertical-scroll {\n overflow-y: visible !important;\n}\n\n@media print {\n .ag-root-wrapper.ag-layout-print {\n display: table;\n }\n .ag-root-wrapper.ag-layout-print .ag-root-wrapper-body,\n .ag-root-wrapper.ag-layout-print .ag-root,\n .ag-root-wrapper.ag-layout-print .ag-body-viewport,\n .ag-root-wrapper.ag-layout-print .ag-center-cols-container,\n .ag-root-wrapper.ag-layout-print .ag-center-cols-viewport,\n .ag-root-wrapper.ag-layout-print .ag-body-horizontal-scroll-viewport,\n .ag-root-wrapper.ag-layout-print .ag-virtual-list-viewport {\n height: auto !important;\n overflow: hidden !important;\n display: block !important;\n }\n .ag-root-wrapper.ag-layout-print .ag-row,\n .ag-root-wrapper.ag-layout-print .ag-cell {\n page-break-inside: avoid;\n -moz-column-break-inside: avoid;\n break-inside: avoid;\n }\n}\n[class^=ag-],\n[class^=ag-]:focus,\n[class^=ag-]:after,\n[class^=ag-]:before {\n box-sizing: border-box;\n outline: none;\n}\n\n[class^=ag-]::-ms-clear {\n display: none;\n}\n\n.ag-checkbox .ag-input-wrapper,\n.ag-radio-button .ag-input-wrapper {\n overflow: visible;\n}\n\n.ag-range-field .ag-input-wrapper {\n height: 100%;\n}\n\n.ag-toggle-button {\n flex: none;\n width: auto;\n width: initial;\n min-width: 0;\n min-width: initial;\n}\n\n.ag-button {\n border-radius: 0px;\n color: var(--ag-foreground-color);\n}\n\n.ag-button:hover {\n background-color: transparent;\n}\n\n.ag-ltr .ag-label-align-right .ag-label {\n margin-left: var(--ag-grid-size);\n}\n.ag-rtl .ag-label-align-right .ag-label {\n margin-right: var(--ag-grid-size);\n}\n\ninput[class^=ag-] {\n margin: 0;\n background-color: var(--ag-background-color);\n}\n\ntextarea[class^=ag-],\nselect[class^=ag-] {\n background-color: var(--ag-background-color);\n}\n\ninput[class^=ag-]:not([type]),\ninput[class^=ag-][type=text],\ninput[class^=ag-][type=number],\ninput[class^=ag-][type=tel],\ninput[class^=ag-][type=date],\ninput[class^=ag-][type=datetime-local],\ntextarea[class^=ag-] {\n font-size: inherit;\n line-height: inherit;\n color: inherit;\n font-family: inherit;\n border: var(--ag-borders-input) var(--ag-input-border-color);\n}\ninput[class^=ag-]:not([type]):disabled,\ninput[class^=ag-][type=text]:disabled,\ninput[class^=ag-][type=number]:disabled,\ninput[class^=ag-][type=tel]:disabled,\ninput[class^=ag-][type=date]:disabled,\ninput[class^=ag-][type=datetime-local]:disabled,\ntextarea[class^=ag-]:disabled {\n color: var(--ag-disabled-foreground-color);\n background-color: var(--ag-input-disabled-background-color);\n border-color: var(--ag-input-disabled-border-color);\n}\ninput[class^=ag-]:not([type]):focus,\ninput[class^=ag-][type=text]:focus,\ninput[class^=ag-][type=number]:focus,\ninput[class^=ag-][type=tel]:focus,\ninput[class^=ag-][type=date]:focus,\ninput[class^=ag-][type=datetime-local]:focus,\ntextarea[class^=ag-]:focus {\n outline: none;\n box-shadow: var(--ag-input-focus-box-shadow);\n border-color: var(--ag-input-focus-border-color);\n}\ninput[class^=ag-]:not([type]):invalid,\ninput[class^=ag-][type=text]:invalid,\ninput[class^=ag-][type=number]:invalid,\ninput[class^=ag-][type=tel]:invalid,\ninput[class^=ag-][type=date]:invalid,\ninput[class^=ag-][type=datetime-local]:invalid,\ntextarea[class^=ag-]:invalid {\n border: var(--ag-borders-input-invalid) var(--ag-input-border-color-invalid);\n}\n\ninput[class^=ag-][type=number]:not(.ag-number-field-input-stepper) {\n -moz-appearance: textfield;\n}\ninput[class^=ag-][type=number]:not(.ag-number-field-input-stepper)::-webkit-outer-spin-button, input[class^=ag-][type=number]:not(.ag-number-field-input-stepper)::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\ninput[class^=ag-][type=range] {\n padding: 0;\n}\n\ninput[class^=ag-][type=button]:focus,\nbutton[class^=ag-]:focus {\n box-shadow: var(--ag-input-focus-box-shadow);\n}\n\n.ag-drag-handle {\n color: var(--ag-secondary-foreground-color);\n}\n\n.ag-list-item,\n.ag-virtual-list-item {\n height: var(--ag-list-item-height);\n}\n\n.ag-virtual-list-item:focus-visible {\n outline: none;\n}\n.ag-virtual-list-item:focus-visible::after {\n content: "";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 4px;\n left: 4px;\n display: block;\n width: calc(100% - 8px);\n height: calc(100% - 8px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-select-list {\n background-color: var(--ag-background-color);\n overflow-y: auto;\n overflow-x: hidden;\n border-radius: var(--ag-border-radius);\n border: var(--ag-borders) var(--ag-border-color);\n}\n\n.ag-list-item {\n display: flex;\n align-items: center;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.ag-list-item.ag-active-item {\n background-color: var(--ag-row-hover-color);\n}\n\n.ag-select-list-item {\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n cursor: default;\n}\n.ag-ltr .ag-select-list-item {\n padding-left: calc(var(--ag-cell-horizontal-padding) / 2);\n}\n.ag-rtl .ag-select-list-item {\n padding-right: calc(var(--ag-cell-horizontal-padding) / 2);\n}\n.ag-select-list-item span {\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.ag-row-drag,\n.ag-selection-checkbox,\n.ag-group-expanded,\n.ag-group-contracted {\n color: var(--ag-secondary-foreground-color);\n}\n.ag-ltr .ag-row-drag,\n.ag-ltr .ag-selection-checkbox,\n.ag-ltr .ag-group-expanded,\n.ag-ltr .ag-group-contracted {\n margin-right: var(--ag-cell-widget-spacing);\n}\n.ag-rtl .ag-row-drag,\n.ag-rtl .ag-selection-checkbox,\n.ag-rtl .ag-group-expanded,\n.ag-rtl .ag-group-contracted {\n margin-left: var(--ag-cell-widget-spacing);\n}\n\n.ag-cell-wrapper > *:not(.ag-cell-value):not(.ag-group-value) {\n --ag-internal-calculated-line-height: var(\n --ag-line-height,\n calc(var(--ag-row-height) - var(--ag-row-border-width))\n );\n --ag-internal-padded-row-height: calc(var(--ag-row-height) - var(--ag-row-border-width));\n height: min(var(--ag-internal-calculated-line-height), var(--ag-internal-padded-row-height));\n display: flex;\n align-items: center;\n flex: none;\n}\n\n.ag-group-expanded,\n.ag-group-contracted {\n cursor: pointer;\n}\n\n.ag-group-title-bar-icon {\n cursor: pointer;\n flex: none;\n color: var(--ag-secondary-foreground-color);\n}\n\n.ag-ltr .ag-group-child-count {\n margin-left: 2px;\n}\n.ag-rtl .ag-group-child-count {\n margin-right: 2px;\n}\n\n.ag-group-title-bar {\n background-color: var(--ag-subheader-background-color);\n padding: var(--ag-grid-size);\n}\n\n.ag-group-toolbar {\n padding: var(--ag-grid-size);\n background-color: var(--ag-subheader-toolbar-background-color);\n}\n\n.ag-disabled-group-title-bar,\n.ag-disabled-group-container {\n opacity: 0.5;\n}\n\n.group-item {\n margin: calc(var(--ag-grid-size) * 0.5) 0;\n}\n\n.ag-label {\n white-space: nowrap;\n}\n.ag-ltr .ag-label {\n margin-right: var(--ag-grid-size);\n}\n.ag-rtl .ag-label {\n margin-left: var(--ag-grid-size);\n}\n\n.ag-label-align-top .ag-label {\n margin-bottom: calc(var(--ag-grid-size) * 0.5);\n}\n\n.ag-angle-select[disabled] {\n color: var(--ag-disabled-foreground-color);\n pointer-events: none;\n}\n.ag-angle-select[disabled] .ag-angle-select-field {\n opacity: 0.4;\n}\n\n.ag-ltr .ag-slider-field,\n.ag-ltr .ag-angle-select-field {\n margin-right: calc(var(--ag-grid-size) * 2);\n}\n.ag-rtl .ag-slider-field,\n.ag-rtl .ag-angle-select-field {\n margin-left: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-angle-select-parent-circle {\n width: 24px;\n height: 24px;\n border-radius: 12px;\n border: solid 1px;\n border-color: var(--ag-border-color);\n background-color: var(--ag-background-color);\n}\n\n.ag-angle-select-child-circle {\n top: 4px;\n left: 12px;\n width: 6px;\n height: 6px;\n margin-left: -3px;\n margin-top: -4px;\n border-radius: 3px;\n background-color: var(--ag-secondary-foreground-color);\n}\n\n.ag-picker-field-wrapper {\n border: var(--ag-borders);\n border-color: var(--ag-border-color);\n border-radius: 5px;\n background-color: var(--ag-background-color);\n}\n.ag-picker-field-wrapper:disabled {\n color: var(--ag-disabled-foreground-color);\n background-color: var(--ag-input-disabled-background-color);\n border-color: var(--ag-input-disabled-border-color);\n}\n.ag-picker-field-wrapper.ag-picker-has-focus, .ag-picker-field-wrapper:focus-within {\n outline: none;\n box-shadow: var(--ag-input-focus-box-shadow);\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-picker-field-button {\n background-color: var(--ag-background-color);\n color: var(--ag-secondary-foreground-color);\n}\n\n.ag-dialog.ag-color-dialog {\n border-radius: 5px;\n}\n\n.ag-color-picker .ag-picker-field-wrapper {\n padding-left: var(--ag-grid-size);\n padding-right: var(--ag-grid-size);\n}\n.ag-color-picker .ag-picker-field-display {\n display: flex;\n flex-direction: row;\n align-items: center;\n min-height: var(--ag-list-item-height);\n}\n\n.ag-ltr .ag-color-picker-color,\n.ag-ltr .ag-color-picker-value {\n margin-right: var(--ag-grid-size);\n}\n.ag-rtl .ag-color-picker-color,\n.ag-rtl .ag-color-picker-value {\n margin-left: var(--ag-grid-size);\n}\n\n.ag-color-panel {\n padding: var(--ag-grid-size);\n}\n\n.ag-spectrum-color {\n background-color: rgb(255, 0, 0);\n border-radius: 2px;\n}\n\n.ag-spectrum-tools {\n padding: 10px;\n}\n\n.ag-spectrum-sat {\n background-image: linear-gradient(to right, white, rgba(204, 154, 129, 0));\n}\n\n.ag-spectrum-val {\n background-image: linear-gradient(to top, black, rgba(204, 154, 129, 0));\n}\n\n.ag-spectrum-dragger {\n border-radius: 12px;\n height: 12px;\n width: 12px;\n border: 2px solid white;\n background: black;\n box-shadow: 0 0 2px 0px rgba(0, 0, 0, 0.24);\n}\n\n.ag-spectrum-hue-background {\n border-radius: 2px;\n}\n\n.ag-spectrum-alpha-background {\n border-radius: 2px;\n}\n\n.ag-spectrum-tool {\n margin-bottom: 10px;\n height: 11px;\n border-radius: 2px;\n}\n\n.ag-spectrum-slider {\n margin-top: -12px;\n width: 13px;\n height: 13px;\n border-radius: 13px;\n border: 2px solid white;\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37);\n}\n\n.ag-recent-colors {\n margin-top: 10px;\n}\n\n.ag-recent-color {\n margin: 0 3px;\n}\n.ag-recent-color:first-child {\n margin-left: 0;\n}\n.ag-recent-color:last-child {\n margin-right: 0;\n}\n\n.ag-spectrum-color:focus-visible:not(:disabled):not([readonly]),\n.ag-spectrum-slider:focus-visible:not(:disabled):not([readonly]),\n.ag-recent-color:focus-visible:not(:disabled):not([readonly]) {\n box-shadow: var(--ag-input-focus-box-shadow);\n}\n\n.ag-ltr .ag-color-input input[class^=ag-][type=text].ag-input-field-input {\n padding-left: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);\n}\n.ag-rtl .ag-color-input input[class^=ag-][type=text].ag-input-field-input {\n padding-right: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);\n}\n.ag-color-input .ag-color-input-color {\n position: absolute;\n}\n.ag-ltr .ag-color-input .ag-color-input-color {\n margin-left: var(--ag-grid-size);\n}\n.ag-rtl .ag-color-input .ag-color-input-color {\n margin-right: var(--ag-grid-size);\n}\n\n.ag-color-picker-color,\n.ag-color-input-color {\n width: var(--ag-icon-size);\n height: var(--ag-icon-size);\n border: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n border-radius: 2px;\n}\n\n.ag-dnd-ghost {\n border: var(--ag-borders) var(--ag-border-color);\n background: var(--ag-background-color);\n border-radius: var(--ag-card-radius);\n box-shadow: var(--ag-card-shadow);\n padding: var(--ag-grid-size);\n overflow: hidden;\n text-overflow: ellipsis;\n border: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n color: var(--ag-secondary-foreground-color);\n height: var(--ag-header-height) !important;\n line-height: var(--ag-header-height);\n margin: 0;\n padding: 0 calc(var(--ag-grid-size) * 2);\n transform: translateY(calc(var(--ag-grid-size) * 2));\n}\n\n.ag-dnd-ghost-icon {\n margin-right: var(--ag-grid-size);\n color: var(--ag-foreground-color);\n}\n\n.ag-popup-child:not(.ag-tooltip-custom) {\n box-shadow: var(--ag-popup-shadow);\n}\n\n.ag-select .ag-picker-field-wrapper {\n min-height: var(--ag-list-item-height);\n cursor: default;\n}\n.ag-ltr .ag-select .ag-picker-field-wrapper {\n padding-left: calc(var(--ag-cell-horizontal-padding) / 2);\n}\n.ag-rtl .ag-select .ag-picker-field-wrapper {\n padding-right: calc(var(--ag-cell-horizontal-padding) / 2);\n}\n.ag-ltr .ag-select .ag-picker-field-wrapper {\n padding-right: var(--ag-grid-size);\n}\n.ag-rtl .ag-select .ag-picker-field-wrapper {\n padding-left: var(--ag-grid-size);\n}\n.ag-select.ag-disabled .ag-picker-field-wrapper:focus {\n box-shadow: none;\n}\n.ag-select:not(.ag-cell-editor):not(.ag-label-align-top) {\n min-height: var(--ag-list-item-height);\n}\n.ag-select .ag-picker-field-display {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.ag-select .ag-picker-field-icon {\n display: flex;\n align-items: center;\n}\n.ag-select.ag-disabled {\n opacity: 0.5;\n}\n\n.ag-rich-select-value,\n.ag-rich-select-list {\n background-color: var(--ag-background-color);\n}\n\n.ag-rich-select-list {\n width: 100%;\n height: auto;\n border-radius: var(--ag-border-radius);\n border: var(--ag-borders) var(--ag-border-color);\n}\n.ag-rich-select-list .ag-loading-text {\n padding: var(--ag-widget-vertical-spacing) var(--ag-widget-horizontal-spacing);\n}\n\n.ag-rich-select-value {\n border-bottom: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n padding-top: 0;\n padding-bottom: 0;\n}\n.ag-ltr .ag-rich-select-value {\n padding-left: calc(var(--ag-cell-horizontal-padding) / 2);\n}\n.ag-rtl .ag-rich-select-value {\n padding-right: calc(var(--ag-cell-horizontal-padding) / 2);\n}\n.ag-ltr .ag-rich-select-value {\n padding-right: var(--ag-grid-size);\n}\n.ag-rtl .ag-rich-select-value {\n padding-left: var(--ag-grid-size);\n}\n\n.ag-ltr .ag-rich-select-field-input {\n left: calc(var(--ag-cell-horizontal-padding));\n}\n.ag-rtl .ag-rich-select-field-input {\n right: calc(var(--ag-cell-horizontal-padding));\n}\n\n.ag-popup-editor .ag-rich-select-value {\n height: var(--ag-row-height);\n min-width: 200px;\n}\n\n.ag-rich-select-virtual-list-item {\n cursor: default;\n height: var(--ag-list-item-height);\n}\n.ag-rich-select-virtual-list-item:focus-visible::after {\n content: none;\n}\n\n.ag-ltr .ag-rich-select-row {\n padding-left: calc(var(--ag-cell-horizontal-padding) / 2);\n}\n.ag-rtl .ag-rich-select-row {\n padding-right: calc(var(--ag-cell-horizontal-padding) / 2);\n}\n\n.ag-rich-select-row-selected {\n background-color: var(--ag-selected-row-background-color);\n}\n\n.ag-rich-select-row:hover,\n.ag-rich-select-row-highlighted {\n background-image: linear-gradient(var(--ag-row-hover-color), var(--ag-row-hover-color));\n}\n\n.ag-rich-select-row-text-highlight {\n font-weight: bold;\n}\n\n.ag-autocomplete {\n width: 100%;\n}\n\n.ag-autocomplete-list {\n width: 100%;\n min-width: 200px;\n height: calc(var(--ag-row-height) * 6.5);\n}\n\n.ag-autocomplete-virtual-list-item {\n cursor: default;\n height: var(--ag-list-item-height);\n}\n.ag-autocomplete-virtual-list-item:focus-visible::after {\n content: none;\n}\n.ag-autocomplete-virtual-list-item:hover {\n background-color: var(--ag-row-hover-color);\n}\n\n.ag-autocomplete-row-label {\n margin: 0px var(--ag-widget-container-horizontal-padding);\n}\n\n.ag-autocomplete-row-selected {\n background-color: var(--ag-selected-row-background-color);\n}\n\n.ag-pill {\n border: 1px solid var(--ag-chip-border-color);\n border-radius: var(--ag-border-radius);\n background-color: var(--ag-chip-background-color);\n}\n\n.ag-ltr .ag-pill .ag-pill-button {\n margin-left: var(--ag-grid-size);\n}\n.ag-rtl .ag-pill .ag-pill-button {\n margin-right: var(--ag-grid-size);\n}\n\n.ag-pill:focus-visible {\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-pill .ag-pill-button:hover {\n color: var(--ag-active-color);\n cursor: pointer;\n}\n\n.ag-dragging-range-handle .ag-dialog,\n.ag-dragging-fill-handle .ag-dialog {\n opacity: 0.7;\n pointer-events: none;\n}\n\n.ag-dialog {\n border-radius: var(--ag-border-radius);\n border: var(--ag-borders) var(--ag-border-color);\n box-shadow: var(--ag-popup-shadow);\n}\n\n.ag-panel {\n background-color: var(--ag-panel-background-color);\n border-color: var(--ag-panel-border-color);\n}\n\n.ag-panel-title-bar {\n color: var(--ag-header-foreground-color);\n height: var(--ag-header-height);\n padding: var(--ag-grid-size) var(--ag-cell-horizontal-padding);\n border-bottom: var(--ag-borders) var(--ag-border-color);\n}\n\n.ag-ltr .ag-panel-title-bar-button {\n margin-left: var(--ag-grid-size);\n}\n.ag-rtl .ag-panel-title-bar-button {\n margin-right: var(--ag-grid-size);\n}\n\n.ag-tooltip {\n background-color: var(--ag-tooltip-background-color);\n color: var(--ag-foreground-color);\n padding: var(--ag-grid-size);\n border: var(--ag-borders) var(--ag-border-color);\n border-radius: var(--ag-card-radius);\n white-space: normal;\n}\n\n.ag-tooltip.ag-tooltip-animate,\n.ag-tooltip-custom.ag-tooltip-animate {\n transition: opacity 1s;\n}\n.ag-tooltip.ag-tooltip-animate.ag-tooltip-hiding,\n.ag-tooltip-custom.ag-tooltip-animate.ag-tooltip-hiding {\n opacity: 0;\n}\n\n.ag-ltr .ag-column-select-column,\n.ag-ltr .ag-column-select-column-group {\n padding-left: calc(var(--ag-indentation-level) * var(--ag-column-select-indent-size));\n}\n.ag-rtl .ag-column-select-column,\n.ag-rtl .ag-column-select-column-group {\n padding-right: calc(var(--ag-indentation-level) * var(--ag-column-select-indent-size));\n}\n\n.ag-column-select-header-icon {\n cursor: pointer;\n}\n\n.ag-column-select-header-icon:focus-visible {\n outline: none;\n}\n.ag-column-select-header-icon:focus-visible::after {\n content: "";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 0px;\n left: 0px;\n display: block;\n width: calc(100% - 0px);\n height: calc(100% - 0px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-ltr .ag-column-group-icons:not(:last-child),\n.ag-ltr .ag-column-select-header-icon:not(:last-child),\n.ag-ltr .ag-column-select-header-checkbox:not(:last-child),\n.ag-ltr .ag-column-select-header-filter-wrapper:not(:last-child),\n.ag-ltr .ag-column-select-checkbox:not(:last-child),\n.ag-ltr .ag-column-select-column-drag-handle:not(:last-child),\n.ag-ltr .ag-column-select-column-group-drag-handle:not(:last-child),\n.ag-ltr .ag-column-select-column-label:not(:last-child) {\n margin-right: var(--ag-widget-horizontal-spacing);\n}\n.ag-rtl .ag-column-group-icons:not(:last-child),\n.ag-rtl .ag-column-select-header-icon:not(:last-child),\n.ag-rtl .ag-column-select-header-checkbox:not(:last-child),\n.ag-rtl .ag-column-select-header-filter-wrapper:not(:last-child),\n.ag-rtl .ag-column-select-checkbox:not(:last-child),\n.ag-rtl .ag-column-select-column-drag-handle:not(:last-child),\n.ag-rtl .ag-column-select-column-group-drag-handle:not(:last-child),\n.ag-rtl .ag-column-select-column-label:not(:last-child) {\n margin-left: var(--ag-widget-horizontal-spacing);\n}\n\n.ag-column-select-virtual-list-item:focus-visible {\n outline: none;\n}\n.ag-column-select-virtual-list-item:focus-visible::after {\n content: "";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 1px;\n left: 1px;\n display: block;\n width: calc(100% - 2px);\n height: calc(100% - 2px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-column-select-column-group:not(:last-child),\n.ag-column-select-column:not(:last-child) {\n margin-bottom: var(--ag-widget-vertical-spacing);\n}\n\n.ag-column-select-column-readonly,\n.ag-column-select-column-group-readonly {\n color: var(--ag-disabled-foreground-color);\n pointer-events: none;\n}\n\n.ag-ltr .ag-column-select-add-group-indent {\n margin-left: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);\n}\n.ag-rtl .ag-column-select-add-group-indent {\n margin-right: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);\n}\n\n.ag-column-select-virtual-list-viewport {\n padding: calc(var(--ag-widget-container-vertical-padding) * 0.5) 0px;\n}\n\n.ag-column-select-virtual-list-item {\n padding: 0 var(--ag-widget-container-horizontal-padding);\n}\n\n.ag-checkbox-edit {\n padding-left: var(--ag-cell-horizontal-padding);\n padding-right: var(--ag-cell-horizontal-padding);\n}\n\n.ag-pill-select .ag-column-drop {\n border-bottom: 0;\n min-height: 0;\n min-height: initial;\n}\n.ag-pill-select .ag-column-drop-list {\n padding: 0;\n}\n.ag-pill-select .ag-select {\n padding-top: var(--ag-grid-size);\n}\n.ag-pill-select .ag-picker-field-wrapper {\n background-color: transparent;\n border: 0;\n}\n.ag-pill-select .ag-picker-field-display {\n cursor: pointer;\n}\n\n.ag-rtl {\n text-align: right;\n}\n\n.ag-root-wrapper {\n border-radius: var(--ag-wrapper-border-radius);\n border: var(--ag-borders) var(--ag-border-color);\n}\n\n.ag-row > .ag-cell-wrapper.ag-row-group {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * var(--ag-indentation-level));\n}\n\n.ag-cell-wrapper.ag-row-group,\n.ag-cell-wrapper.ag-row-group-leaf-indent,\n.ag-cell-wrapper.ag-pivot-leaf-group {\n padding-left: calc(var(--ag-indentation-level) * var(--ag-row-group-indent-size));\n}\n\n.ag-pivot-leaf-group {\n margin-left: min(var(--ag-row-group-indent-size), var(--ag-row-group-indent-size) * var(--ag-indentation-level));\n}\n\n.ag-ltr .ag-row-group-leaf-indent {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-group-leaf-indent {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-value-change-delta {\n padding-right: 2px;\n}\n\n.ag-value-change-delta-up {\n color: var(--ag-value-change-delta-up-color);\n}\n\n.ag-value-change-delta-down {\n color: var(--ag-value-change-delta-down-color);\n}\n\n.ag-value-change-value {\n background-color: transparent;\n border-radius: 1px;\n padding-left: 1px;\n padding-right: 1px;\n transition: background-color 1s;\n}\n\n.ag-value-change-value-highlight {\n background-color: var(--ag-value-change-value-highlight-background-color);\n transition: background-color 0.1s;\n}\n\n.ag-cell-data-changed {\n background-color: var(--ag-value-change-value-highlight-background-color) !important;\n}\n\n.ag-cell-data-changed-animation {\n background-color: transparent;\n}\n\n.ag-cell-highlight {\n background-color: var(--ag-range-selection-highlight-color) !important;\n}\n\n.ag-row {\n height: var(--ag-row-height);\n background-color: var(--ag-background-color);\n color: var(--ag-data-color);\n border-bottom: var(--ag-row-border-style) var(--ag-row-border-color) var(--ag-row-border-width);\n}\n\n.ag-sticky-bottom::after {\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 1px;\n border-top: var(--ag-row-border-style) var(--ag-row-border-color) var(--ag-row-border-width);\n}\n\n.ag-row-highlight-above::after,\n.ag-row-highlight-below::after {\n content: "";\n position: absolute;\n width: calc(100% - 1px);\n height: 1px;\n background-color: var(--ag-range-selection-border-color);\n left: 1px;\n}\n\n.ag-row-highlight-above::after {\n top: -1px;\n}\n\n.ag-row-highlight-above.ag-row-first::after {\n top: 0;\n}\n\n.ag-row-highlight-below::after {\n bottom: 0px;\n}\n\n.ag-row-odd {\n background-color: var(--ag-odd-row-background-color);\n}\n\n.ag-body-horizontal-scroll:not(.ag-scrollbar-invisible) .ag-horizontal-left-spacer:not(.ag-scroller-corner) {\n border-right: var(--ag-borders-critical) var(--ag-border-color);\n}\n.ag-body-horizontal-scroll:not(.ag-scrollbar-invisible) .ag-horizontal-right-spacer:not(.ag-scroller-corner) {\n border-left: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-row-selected::before {\n content: "";\n background-color: var(--ag-selected-row-background-color);\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n}\n\n.ag-row-hover:not(.ag-full-width-row)::before,\n.ag-row-hover.ag-full-width-row.ag-row-group::before {\n content: "";\n background-color: var(--ag-row-hover-color);\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n pointer-events: none;\n}\n\n.ag-row-hover.ag-full-width-row.ag-row-group > * {\n position: relative;\n}\n\n.ag-row-hover.ag-row-selected::before {\n background-color: var(--ag-row-hover-color);\n background-image: linear-gradient(var(--ag-selected-row-background-color), var(--ag-selected-row-background-color));\n}\n\n.ag-column-hover {\n background-color: var(--ag-column-hover-color);\n}\n\n.ag-ltr .ag-right-aligned-cell {\n text-align: right;\n}\n.ag-rtl .ag-right-aligned-cell {\n text-align: left;\n}\n\n.ag-ltr .ag-right-aligned-cell .ag-cell-value,\n.ag-ltr .ag-right-aligned-cell .ag-group-value {\n margin-left: auto;\n}\n.ag-rtl .ag-right-aligned-cell .ag-cell-value,\n.ag-rtl .ag-right-aligned-cell .ag-group-value {\n margin-right: auto;\n}\n\n.ag-ltr .ag-right-aligned-cell .ag-skeleton-effect {\n margin-left: auto;\n}\n.ag-rtl .ag-right-aligned-cell .ag-skeleton-effect {\n margin-right: auto;\n}\n\n.ag-cell,\n.ag-full-width-row .ag-cell-wrapper.ag-row-group {\n --ag-internal-calculated-line-height: var(\n --ag-line-height,\n calc(var(--ag-row-height) - var(--ag-row-border-width))\n );\n --ag-internal-padded-row-height: calc(var(--ag-row-height) - var(--ag-row-border-width));\n border: 1px solid transparent;\n line-height: min(var(--ag-internal-calculated-line-height), var(--ag-internal-padded-row-height));\n padding-left: calc(var(--ag-cell-horizontal-padding) - 1px + var(--ag-row-group-indent-size) * var(--ag-indentation-level));\n padding-right: calc(var(--ag-cell-horizontal-padding) - 1px);\n -webkit-font-smoothing: subpixel-antialiased;\n}\n\n.ag-row > .ag-cell-wrapper {\n padding-left: calc(var(--ag-cell-horizontal-padding) - 1px);\n padding-right: calc(var(--ag-cell-horizontal-padding) - 1px);\n}\n\n.ag-row-dragging {\n cursor: move;\n opacity: 0.5;\n}\n\n.ag-cell-inline-editing {\n border: 1px solid var(--ag-border-color);\n border-radius: var(--ag-card-radius);\n box-shadow: var(--ag-card-shadow);\n padding: 0;\n background-color: var(--ag-control-panel-background-color);\n}\n\n.ag-popup-editor .ag-large-text,\n.ag-autocomplete-list-popup {\n border: var(--ag-borders) var(--ag-border-color);\n background: var(--ag-background-color);\n border-radius: var(--ag-card-radius);\n box-shadow: var(--ag-card-shadow);\n padding: var(--ag-grid-size);\n background-color: var(--ag-control-panel-background-color);\n padding: 0;\n}\n\n.ag-large-text-input {\n height: auto;\n padding: var(--ag-cell-horizontal-padding);\n}\n\n.ag-rtl .ag-large-text-input textarea {\n resize: none;\n}\n\n.ag-details-row {\n padding: calc(var(--ag-grid-size) * 5);\n background-color: var(--ag-background-color);\n}\n\n.ag-layout-auto-height .ag-center-cols-viewport,\n.ag-layout-auto-height .ag-center-cols-container,\n.ag-layout-print .ag-center-cols-viewport,\n.ag-layout-print .ag-center-cols-container {\n min-height: 50px;\n}\n\n.ag-overlay-loading-wrapper {\n background-color: var(--ag-modal-overlay-background-color);\n}\n\n.ag-overlay-loading-center {\n border: var(--ag-borders) var(--ag-border-color);\n background: var(--ag-background-color);\n border-radius: var(--ag-card-radius);\n box-shadow: var(--ag-card-shadow);\n padding: var(--ag-grid-size);\n}\n\n.ag-overlay-no-rows-wrapper.ag-layout-auto-height {\n padding-top: 30px;\n}\n\n.ag-skeleton-container {\n width: 100%;\n height: 100%;\n align-content: center;\n}\n\n.ag-skeleton-effect {\n background-color: var(--ag-row-loading-skeleton-effect-color);\n width: 100%;\n height: 1em;\n border-radius: 0.25rem;\n animation: ag-skeleton-loading 1.5s ease-in-out 0.5s infinite;\n}\n\n@keyframes ag-skeleton-loading {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.4;\n }\n 100% {\n opacity: 1;\n }\n}\n.ag-loading {\n display: flex;\n height: 100%;\n align-items: center;\n}\n.ag-ltr .ag-loading {\n padding-left: var(--ag-cell-horizontal-padding);\n}\n.ag-rtl .ag-loading {\n padding-right: var(--ag-cell-horizontal-padding);\n}\n\n.ag-ltr .ag-loading-icon {\n padding-right: var(--ag-cell-widget-spacing);\n}\n.ag-rtl .ag-loading-icon {\n padding-left: var(--ag-cell-widget-spacing);\n}\n\n.ag-icon-loading {\n animation-name: spin;\n animation-duration: 1000ms;\n animation-iteration-count: infinite;\n animation-timing-function: linear;\n}\n\n@keyframes spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n.ag-floating-top {\n border-bottom: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-floating-bottom {\n border-top: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-ltr .ag-cell {\n border-right: var(--ag-cell-horizontal-border);\n}\n.ag-rtl .ag-cell {\n border-left: var(--ag-cell-horizontal-border);\n}\n.ag-ltr .ag-cell {\n border-right-width: 1px;\n}\n.ag-rtl .ag-cell {\n border-left-width: 1px;\n}\n\n.ag-cell.ag-cell-first-right-pinned:not(.ag-cell-range-left):not(.ag-cell-range-single-cell) {\n border-left: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-cell.ag-cell-last-left-pinned:not(.ag-cell-range-right):not(.ag-cell-range-single-cell) {\n border-right: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-cell-range-selected:not(.ag-cell-focus),\n.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing) {\n background-color: var(--ag-range-selection-background-color);\n}\n.ag-cell-range-selected:not(.ag-cell-focus).ag-cell-range-chart,\n.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing).ag-cell-range-chart {\n background-color: var(--ag-range-selection-chart-background-color) !important;\n}\n.ag-cell-range-selected:not(.ag-cell-focus).ag-cell-range-chart.ag-cell-range-chart-category,\n.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing).ag-cell-range-chart.ag-cell-range-chart-category {\n background-color: var(--ag-range-selection-chart-category-background-color) !important;\n}\n\n.ag-cell-range-selected-1:not(.ag-cell-focus),\n.ag-root:not(.ag-context-menu-open) .ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-1:not(.ag-cell-inline-editing) {\n background-color: var(--ag-range-selection-background-color);\n}\n\n.ag-cell-range-selected-2:not(.ag-cell-focus),\n.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-2 {\n background-color: var(--ag-range-selection-background-color-2);\n}\n\n.ag-cell-range-selected-3:not(.ag-cell-focus),\n.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-3 {\n background-color: var(--ag-range-selection-background-color-3);\n}\n\n.ag-cell-range-selected-4:not(.ag-cell-focus),\n.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-4 {\n background-color: var(--ag-range-selection-background-color-4);\n}\n\n.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-top {\n border-top-color: var(--ag-range-selection-border-color);\n border-top-style: var(--ag-range-selection-border-style);\n}\n.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-right {\n border-right-color: var(--ag-range-selection-border-color);\n border-right-style: var(--ag-range-selection-border-style);\n}\n.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-bottom {\n border-bottom-color: var(--ag-range-selection-border-color);\n border-bottom-style: var(--ag-range-selection-border-style);\n}\n.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-left {\n border-left-color: var(--ag-range-selection-border-color);\n border-left-style: var(--ag-range-selection-border-style);\n}\n\n.ag-ltr .ag-cell-focus:not(.ag-cell-range-selected):focus-within,\n.ag-ltr .ag-context-menu-open .ag-cell-focus:not(.ag-cell-range-selected),\n.ag-ltr .ag-full-width-row.ag-row-focus:focus .ag-cell-wrapper.ag-row-group,\n.ag-ltr .ag-cell-range-single-cell,\n.ag-ltr .ag-cell-range-single-cell.ag-cell-range-handle,\n.ag-rtl .ag-cell-focus:not(.ag-cell-range-selected):focus-within,\n.ag-rtl .ag-context-menu-open .ag-cell-focus:not(.ag-cell-range-selected),\n.ag-rtl .ag-full-width-row.ag-row-focus:focus .ag-cell-wrapper.ag-row-group,\n.ag-rtl .ag-cell-range-single-cell,\n.ag-rtl .ag-cell-range-single-cell.ag-cell-range-handle {\n border: 1px solid;\n border-color: var(--ag-range-selection-border-color);\n border-style: var(--ag-range-selection-border-style);\n outline: medium none currentcolor;\n outline: initial;\n}\n\n.ag-cell.ag-selection-fill-top,\n.ag-cell.ag-selection-fill-top.ag-cell-range-selected {\n border-top: 1px dashed;\n border-top-color: var(--ag-range-selection-border-color);\n}\n\n.ag-ltr .ag-cell.ag-selection-fill-right,\n.ag-ltr .ag-cell.ag-selection-fill-right.ag-cell-range-selected {\n border-right: 1px dashed var(--ag-range-selection-border-color) !important;\n}\n.ag-rtl .ag-cell.ag-selection-fill-right,\n.ag-rtl .ag-cell.ag-selection-fill-right.ag-cell-range-selected {\n border-left: 1px dashed var(--ag-range-selection-border-color) !important;\n}\n\n.ag-cell.ag-selection-fill-bottom,\n.ag-cell.ag-selection-fill-bottom.ag-cell-range-selected {\n border-bottom: 1px dashed;\n border-bottom-color: var(--ag-range-selection-border-color);\n}\n\n.ag-ltr .ag-cell.ag-selection-fill-left,\n.ag-ltr .ag-cell.ag-selection-fill-left.ag-cell-range-selected {\n border-left: 1px dashed var(--ag-range-selection-border-color) !important;\n}\n.ag-rtl .ag-cell.ag-selection-fill-left,\n.ag-rtl .ag-cell.ag-selection-fill-left.ag-cell-range-selected {\n border-right: 1px dashed var(--ag-range-selection-border-color) !important;\n}\n\n.ag-fill-handle,\n.ag-range-handle {\n position: absolute;\n width: 6px;\n height: 6px;\n bottom: -1px;\n background-color: var(--ag-range-selection-border-color);\n}\n.ag-ltr .ag-fill-handle,\n.ag-ltr .ag-range-handle {\n right: -1px;\n}\n.ag-rtl .ag-fill-handle,\n.ag-rtl .ag-range-handle {\n left: -1px;\n}\n\n.ag-fill-handle {\n cursor: cell;\n}\n\n.ag-range-handle {\n cursor: nwse-resize;\n}\n\n.ag-cell-inline-editing {\n border-color: var(--ag-input-focus-border-color) !important;\n}\n\n.ag-menu {\n border: var(--ag-borders) var(--ag-border-color);\n background: var(--ag-background-color);\n border-radius: var(--ag-card-radius);\n box-shadow: var(--ag-card-shadow);\n padding: var(--ag-grid-size);\n background-color: var(--ag-menu-background-color);\n border-color: var(--ag-menu-border-color);\n padding: 0;\n}\n\n.ag-menu.ag-tabs {\n min-width: var(--ag-tab-min-width);\n}\n\n.ag-menu-list {\n cursor: default;\n padding: var(--ag-grid-size) 0;\n}\n\n.ag-menu-separator {\n height: calc(var(--ag-grid-size) * 2 + 1px);\n}\n\n.ag-menu-separator-part::after {\n content: "";\n display: block;\n border-top: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-menu-option-active,\n.ag-compact-menu-option-active {\n background-color: var(--ag-row-hover-color);\n}\n\n.ag-menu-option-part,\n.ag-compact-menu-option-part {\n line-height: var(--ag-icon-size);\n padding: calc(var(--ag-grid-size) + 2px) 0;\n}\n\n.ag-menu-option-disabled,\n.ag-compact-menu-option-disabled {\n opacity: 0.5;\n}\n\n.ag-menu-option-icon,\n.ag-compact-menu-option-icon {\n width: var(--ag-icon-size);\n}\n.ag-ltr .ag-menu-option-icon,\n.ag-ltr .ag-compact-menu-option-icon {\n padding-left: calc(var(--ag-grid-size) * 2);\n}\n.ag-rtl .ag-menu-option-icon,\n.ag-rtl .ag-compact-menu-option-icon {\n padding-right: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-menu-option-text,\n.ag-compact-menu-option-text {\n padding-left: calc(var(--ag-grid-size) * 2);\n padding-right: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-ltr .ag-menu-option-shortcut,\n.ag-ltr .ag-compact-menu-option-shortcut {\n padding-right: var(--ag-grid-size);\n}\n.ag-rtl .ag-menu-option-shortcut,\n.ag-rtl .ag-compact-menu-option-shortcut {\n padding-left: var(--ag-grid-size);\n}\n\n.ag-ltr .ag-menu-option-popup-pointer,\n.ag-ltr .ag-compact-menu-option-popup-pointer {\n padding-right: var(--ag-grid-size);\n}\n.ag-rtl .ag-menu-option-popup-pointer,\n.ag-rtl .ag-compact-menu-option-popup-pointer {\n padding-left: var(--ag-grid-size);\n}\n\n.ag-tabs-header {\n display: flex;\n}\n\n.ag-tabs-header-wrapper {\n display: flex;\n}\n.ag-tabs-header-wrapper .ag-tabs-header {\n flex: 1;\n}\n\n.ag-tabs-close-button-wrapper {\n border: 0;\n border-right: var(--ag-borders) var(--ag-border-color);\n padding: var(--ag-grid-size);\n}\n\n.ag-tabs-close-button {\n border: 0;\n background-color: transparent;\n background-color: initial;\n cursor: pointer;\n padding: 0;\n}\n\n.ag-tab {\n border-bottom: var(--ag-selected-tab-underline-width) solid transparent;\n transition: border-bottom var(--ag-selected-tab-underline-transition-speed);\n display: flex;\n flex: none;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n}\n\n.ag-tab:focus-visible {\n outline: none;\n}\n.ag-tab:focus-visible::after {\n content: "";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 4px;\n left: 4px;\n display: block;\n width: calc(100% - 8px);\n height: calc(100% - 8px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-tab-selected {\n border-bottom-color: var(--ag-selected-tab-underline-color);\n}\n\n.ag-menu-header {\n color: var(--ag-secondary-foreground-color);\n}\n\n.ag-filter-separator {\n border-top: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-filter-select .ag-picker-field-wrapper {\n width: 0;\n}\n\n.ag-filter-condition-operator {\n height: 17px;\n}\n\n.ag-ltr .ag-filter-condition-operator-or {\n margin-left: calc(var(--ag-grid-size) * 2);\n}\n.ag-rtl .ag-filter-condition-operator-or {\n margin-right: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-set-filter-select-all {\n padding-top: var(--ag-widget-container-vertical-padding);\n}\n\n.ag-set-filter-list,\n.ag-filter-no-matches {\n height: calc(var(--ag-list-item-height) * 6);\n}\n\n.ag-set-filter-tree-list {\n height: calc(var(--ag-list-item-height) * 10);\n}\n\n.ag-set-filter-filter {\n margin-top: var(--ag-widget-container-vertical-padding);\n margin-left: var(--ag-widget-container-horizontal-padding);\n margin-right: var(--ag-widget-container-horizontal-padding);\n}\n\n.ag-filter-to {\n margin-top: var(--ag-widget-vertical-spacing);\n}\n\n.ag-mini-filter {\n margin: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);\n}\n\n.ag-set-filter {\n --ag-indentation-level: 0;\n}\n\n.ag-ltr .ag-set-filter-item {\n padding-left: calc(var(--ag-widget-container-horizontal-padding) + var(--ag-indentation-level) * var(--ag-set-filter-indent-size));\n}\n.ag-rtl .ag-set-filter-item {\n padding-right: calc(var(--ag-widget-container-horizontal-padding) + var(--ag-indentation-level) * var(--ag-set-filter-indent-size));\n}\n\n.ag-ltr .ag-set-filter-add-group-indent {\n margin-left: calc(var(--ag-icon-size) + var(--ag-widget-container-horizontal-padding));\n}\n.ag-rtl .ag-set-filter-add-group-indent {\n margin-right: calc(var(--ag-icon-size) + var(--ag-widget-container-horizontal-padding));\n}\n\n.ag-ltr .ag-set-filter-group-icons {\n margin-right: var(--ag-widget-container-horizontal-padding);\n}\n.ag-rtl .ag-set-filter-group-icons {\n margin-left: var(--ag-widget-container-horizontal-padding);\n}\n\n.ag-filter-menu .ag-set-filter-list {\n min-width: 200px;\n}\n\n.ag-filter-virtual-list-item:focus-visible {\n outline: none;\n}\n.ag-filter-virtual-list-item:focus-visible::after {\n content: "";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 1px;\n left: 1px;\n display: block;\n width: calc(100% - 2px);\n height: calc(100% - 2px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-filter-apply-panel {\n padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);\n border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n}\n\n.ag-filter-apply-panel-button {\n line-height: 1.5;\n}\n.ag-ltr .ag-filter-apply-panel-button {\n margin-left: calc(var(--ag-grid-size) * 2);\n}\n.ag-rtl .ag-filter-apply-panel-button {\n margin-right: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-simple-filter-body-wrapper {\n padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);\n padding-bottom: calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing));\n overflow-y: auto;\n min-height: calc(var(--ag-list-item-height) + var(--ag-widget-container-vertical-padding) + var(--ag-widget-vertical-spacing));\n}\n.ag-simple-filter-body-wrapper > * {\n margin-bottom: var(--ag-widget-vertical-spacing);\n}\n.ag-simple-filter-body-wrapper .ag-resizer-wrapper {\n margin: 0;\n}\n\n.ag-menu:not(.ag-tabs) .ag-filter .ag-filter-body-wrapper,\n.ag-menu:not(.ag-tabs) .ag-filter > *:not(.ag-filter-wrapper) {\n min-width: calc(var(--ag-menu-min-width) - 2px);\n}\n\n.ag-filter-no-matches {\n padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);\n}\n\n.ag-multi-filter-menu-item {\n margin: var(--ag-grid-size) 0;\n}\n\n.ag-multi-filter-group-title-bar {\n padding: calc(var(--ag-grid-size) * 2) var(--ag-grid-size);\n background-color: transparent;\n}\n\n.ag-group-filter-field-select-wrapper {\n padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);\n padding-bottom: calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing));\n}\n.ag-group-filter-field-select-wrapper > * {\n margin-bottom: var(--ag-widget-vertical-spacing);\n}\n\n.ag-multi-filter-group-title-bar:focus-visible {\n outline: none;\n}\n.ag-multi-filter-group-title-bar:focus-visible::after {\n content: "";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 4px;\n left: 4px;\n display: block;\n width: calc(100% - 8px);\n height: calc(100% - 8px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-side-bar {\n position: relative;\n}\n\n.ag-tool-panel-wrapper {\n width: var(--ag-side-bar-panel-width);\n background-color: var(--ag-control-panel-background-color);\n}\n\n.ag-side-buttons {\n padding-top: calc(var(--ag-grid-size) * 4);\n width: calc(var(--ag-icon-size) + 4px);\n position: relative;\n overflow: hidden;\n}\n\nbutton.ag-side-button-button {\n color: inherit;\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n background: transparent;\n padding: calc(var(--ag-grid-size) * 2) 0 calc(var(--ag-grid-size) * 2) 0;\n width: 100%;\n margin: 0;\n min-height: calc(var(--ag-grid-size) * 18);\n background-position-y: center;\n background-position-x: center;\n background-repeat: no-repeat;\n border: none;\n border-top: var(--ag-borders-side-button) var(--ag-border-color);\n border-bottom: var(--ag-borders-side-button) var(--ag-border-color);\n}\nbutton.ag-side-button-button:focus {\n box-shadow: none;\n}\n\n.ag-side-button-button:focus-visible {\n outline: none;\n}\n.ag-side-button-button:focus-visible::after {\n content: "";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 4px;\n left: 4px;\n display: block;\n width: calc(100% - 8px);\n height: calc(100% - 8px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-selected button.ag-side-button-button {\n background-color: var(--ag-side-button-selected-background-color);\n}\n\n.ag-side-button-icon-wrapper {\n margin-bottom: 3px;\n}\n\n.ag-ltr .ag-side-bar-left,\n.ag-rtl .ag-side-bar-right {\n border-right: var(--ag-borders) var(--ag-border-color);\n}\n.ag-ltr .ag-side-bar-left .ag-tool-panel-wrapper,\n.ag-rtl .ag-side-bar-right .ag-tool-panel-wrapper {\n border-left: var(--ag-borders) var(--ag-border-color);\n}\n.ag-ltr .ag-side-bar-left .ag-side-button-button,\n.ag-rtl .ag-side-bar-right .ag-side-button-button {\n border-right: var(--ag-selected-tab-underline-width) solid transparent;\n transition: border-right var(--ag-selected-tab-underline-transition-speed);\n}\n.ag-ltr .ag-side-bar-left .ag-selected .ag-side-button-button,\n.ag-rtl .ag-side-bar-right .ag-selected .ag-side-button-button {\n border-right-color: var(--ag-selected-tab-underline-color);\n}\n\n.ag-rtl .ag-side-bar-left,\n.ag-ltr .ag-side-bar-right {\n border-left: var(--ag-borders) var(--ag-border-color);\n}\n.ag-rtl .ag-side-bar-left .ag-tool-panel-wrapper,\n.ag-ltr .ag-side-bar-right .ag-tool-panel-wrapper {\n border-right: var(--ag-borders) var(--ag-border-color);\n}\n.ag-rtl .ag-side-bar-left .ag-side-button-button,\n.ag-ltr .ag-side-bar-right .ag-side-button-button {\n border-left: var(--ag-selected-tab-underline-width) solid transparent;\n transition: border-left var(--ag-selected-tab-underline-transition-speed);\n}\n.ag-rtl .ag-side-bar-left .ag-selected .ag-side-button-button,\n.ag-ltr .ag-side-bar-right .ag-selected .ag-side-button-button {\n border-left-color: var(--ag-selected-tab-underline-color);\n}\n\n.ag-filter-toolpanel-header {\n height: calc(var(--ag-grid-size) * 6);\n}\n\n.ag-filter-toolpanel-header,\n.ag-filter-toolpanel-search {\n padding: 0 var(--ag-grid-size);\n}\n\n.ag-filter-toolpanel-header:focus-visible {\n outline: none;\n}\n.ag-filter-toolpanel-header:focus-visible::after {\n content: "";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 4px;\n left: 4px;\n display: block;\n width: calc(100% - 8px);\n height: calc(100% - 8px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-filter-toolpanel-group:not(.ag-has-filter) > .ag-group-title-bar .ag-filter-toolpanel-group-instance-header-icon {\n display: none;\n}\n\n.ag-filter-toolpanel-group-level-0-header {\n height: calc(var(--ag-grid-size) * 8);\n}\n\n.ag-filter-toolpanel-group-item {\n margin-top: calc(var(--ag-grid-size) * 0.5);\n margin-bottom: calc(var(--ag-grid-size) * 0.5);\n}\n\n.ag-filter-toolpanel-search {\n height: var(--ag-header-height);\n}\n\n.ag-filter-toolpanel-search-input {\n flex-grow: 1;\n height: calc(var(--ag-grid-size) * 4);\n}\n.ag-ltr .ag-filter-toolpanel-search-input {\n margin-right: var(--ag-grid-size);\n}\n.ag-rtl .ag-filter-toolpanel-search-input {\n margin-left: var(--ag-grid-size);\n}\n\n.ag-filter-toolpanel-group-level-0 {\n border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n}\n\n.ag-ltr .ag-filter-toolpanel-expand,\n.ag-ltr .ag-filter-toolpanel-group-title-bar-icon {\n margin-right: var(--ag-grid-size);\n}\n.ag-rtl .ag-filter-toolpanel-expand,\n.ag-rtl .ag-filter-toolpanel-group-title-bar-icon {\n margin-left: var(--ag-grid-size);\n}\n\n.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n\n.ag-ltr .ag-filter-toolpanel-header {\n padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 0 + var(--ag-grid-size));\n padding-left: calc(var(--ag-filter-tool-panel-group-indent) * var(--ag-indentation-level, 0) + var(--ag-grid-size));\n}\n.ag-rtl .ag-filter-toolpanel-header {\n padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 0 + var(--ag-grid-size));\n padding-right: calc(var(--ag-filter-tool-panel-group-indent) * var(--ag-indentation-level, 0) + var(--ag-grid-size));\n}\n\n.ag-filter-toolpanel-instance-filter {\n border-bottom: var(--ag-borders) var(--ag-border-color);\n border-top: var(--ag-borders) var(--ag-border-color);\n margin-top: var(--ag-grid-size);\n}\n\n.ag-ltr .ag-filter-toolpanel-group-instance-header-icon,\n.ag-ltr .ag-filter-toolpanel-instance-header-icon {\n margin-left: var(--ag-grid-size);\n}\n.ag-rtl .ag-filter-toolpanel-group-instance-header-icon,\n.ag-rtl .ag-filter-toolpanel-instance-header-icon {\n margin-right: var(--ag-grid-size);\n}\n\n.ag-set-filter-group-icons {\n color: var(--ag-secondary-foreground-color);\n}\n\n.ag-pivot-mode-panel {\n min-height: var(--ag-header-height);\n height: var(--ag-header-height);\n display: flex;\n}\n\n.ag-pivot-mode-select {\n display: flex;\n align-items: center;\n}\n.ag-ltr .ag-pivot-mode-select {\n margin-left: var(--ag-widget-container-horizontal-padding);\n}\n.ag-rtl .ag-pivot-mode-select {\n margin-right: var(--ag-widget-container-horizontal-padding);\n}\n\n.ag-column-select-header:focus-visible {\n outline: none;\n}\n.ag-column-select-header:focus-visible::after {\n content: "";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 4px;\n left: 4px;\n display: block;\n width: calc(100% - 8px);\n height: calc(100% - 8px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-column-select-header {\n height: var(--ag-header-height);\n align-items: center;\n padding: 0 var(--ag-widget-container-horizontal-padding);\n border-bottom: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n}\n\n.ag-column-panel-column-select {\n border-bottom: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n}\n\n.ag-column-group-icons,\n.ag-column-select-header-icon {\n color: var(--ag-secondary-foreground-color);\n}\n\n.ag-column-select-list .ag-list-item-hovered::after {\n content: "";\n position: absolute;\n left: 0;\n right: 0;\n height: 1px;\n background-color: var(--ag-range-selection-border-color);\n}\n.ag-column-select-list .ag-item-highlight-top::after {\n top: 0;\n}\n.ag-column-select-list .ag-item-highlight-bottom::after {\n bottom: 0;\n}\n\n.ag-header,\n.ag-advanced-filter-header {\n background-color: var(--ag-header-background-color);\n border-bottom: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-header-row {\n color: var(--ag-header-foreground-color);\n height: var(--ag-header-height);\n}\n\n.ag-pinned-right-header {\n border-left: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-pinned-left-header {\n border-right: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-ltr .ag-header-cell:not(.ag-right-aligned-header) .ag-header-label-icon,\n.ag-ltr .ag-header-cell:not(.ag-right-aligned-header) .ag-header-menu-icon {\n margin-left: var(--ag-grid-size);\n}\n.ag-rtl .ag-header-cell:not(.ag-right-aligned-header) .ag-header-label-icon,\n.ag-rtl .ag-header-cell:not(.ag-right-aligned-header) .ag-header-menu-icon {\n margin-right: var(--ag-grid-size);\n}\n\n.ag-ltr .ag-header-cell.ag-right-aligned-header .ag-header-label-icon,\n.ag-ltr .ag-header-cell.ag-right-aligned-header .ag-header-menu-icon {\n margin-right: var(--ag-grid-size);\n}\n.ag-rtl .ag-header-cell.ag-right-aligned-header .ag-header-label-icon,\n.ag-rtl .ag-header-cell.ag-right-aligned-header .ag-header-menu-icon {\n margin-left: var(--ag-grid-size);\n}\n\n.ag-header-cell,\n.ag-header-group-cell {\n padding-left: var(--ag-cell-horizontal-padding);\n padding-right: var(--ag-cell-horizontal-padding);\n}\n.ag-header-cell.ag-header-cell-moving,\n.ag-header-group-cell.ag-header-cell-moving {\n background-color: var(--ag-header-cell-moving-background-color);\n}\n\n.ag-ltr .ag-header-group-cell-label.ag-sticky-label {\n left: var(--ag-cell-horizontal-padding);\n}\n.ag-rtl .ag-header-group-cell-label.ag-sticky-label {\n right: var(--ag-cell-horizontal-padding);\n}\n\n.ag-header-cell:focus-visible {\n outline: none;\n}\n.ag-header-cell:focus-visible::after {\n content: "";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 4px;\n left: 4px;\n display: block;\n width: calc(100% - 8px);\n height: calc(100% - 8px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-header-group-cell:focus-visible {\n outline: none;\n}\n.ag-header-group-cell:focus-visible::after {\n content: "";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 4px;\n left: 4px;\n display: block;\n width: calc(100% - 8px);\n height: calc(100% - 8px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-advanced-filter-header-cell:focus-visible {\n outline: none;\n}\n.ag-advanced-filter-header-cell:focus-visible::after {\n content: "";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 4px;\n left: 4px;\n display: block;\n width: calc(100% - 8px);\n height: calc(100% - 8px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-header-icon {\n color: var(--ag-secondary-foreground-color);\n}\n\n.ag-header-expand-icon {\n cursor: pointer;\n}\n.ag-ltr .ag-header-expand-icon {\n margin-left: 4px;\n}\n.ag-rtl .ag-header-expand-icon {\n margin-right: 4px;\n}\n\n.ag-header-row:not(:first-child) .ag-header-cell:not(.ag-header-span-height.ag-header-span-total),\n.ag-header-row:not(:first-child) .ag-header-group-cell.ag-header-group-cell-with-group {\n border-top: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-header-group-cell:not(.ag-column-resizing) + .ag-header-group-cell:not(.ag-column-hover):not(.ag-header-cell-moving):hover, .ag-header-group-cell:not(.ag-column-resizing) + .ag-header-group-cell:not(.ag-column-hover).ag-column-resizing,\n.ag-header-cell:not(.ag-column-resizing) + .ag-header-cell:not(.ag-column-hover):not(.ag-header-cell-moving):hover,\n.ag-header-cell:not(.ag-column-resizing) + .ag-header-cell:not(.ag-column-hover).ag-column-resizing,\n.ag-header-group-cell:first-of-type:not(.ag-header-cell-moving):hover,\n.ag-header-group-cell:first-of-type.ag-column-resizing,\n.ag-header-cell:not(.ag-column-hover):first-of-type:not(.ag-header-cell-moving):hover,\n.ag-header-cell:not(.ag-column-hover):first-of-type.ag-column-resizing {\n background-color: var(--ag-header-cell-hover-background-color);\n}\n\n.ag-header-cell::before,\n.ag-header-group-cell:not(.ag-header-span-height.ag-header-group-cell-no-group)::before {\n content: "";\n position: absolute;\n z-index: 1;\n display: var(--ag-header-column-separator-display);\n width: var(--ag-header-column-separator-width);\n height: var(--ag-header-column-separator-height);\n top: calc(50% - var(--ag-header-column-separator-height) * 0.5);\n background-color: var(--ag-header-column-separator-color);\n}\n.ag-ltr .ag-header-cell::before,\n.ag-ltr .ag-header-group-cell:not(.ag-header-span-height.ag-header-group-cell-no-group)::before {\n right: 0;\n}\n.ag-rtl .ag-header-cell::before,\n.ag-rtl .ag-header-group-cell:not(.ag-header-span-height.ag-header-group-cell-no-group)::before {\n left: 0;\n}\n\n.ag-header-cell-resize {\n display: flex;\n align-items: center;\n}\n\n.ag-header-cell-resize::after {\n content: "";\n position: absolute;\n z-index: 1;\n display: var(--ag-header-column-resize-handle-display);\n width: var(--ag-header-column-resize-handle-width);\n height: var(--ag-header-column-resize-handle-height);\n top: calc(50% - var(--ag-header-column-resize-handle-height) * 0.5);\n background-color: var(--ag-header-column-resize-handle-color);\n}\n.ag-header-cell.ag-header-span-height .ag-header-cell-resize::after {\n height: calc(100% - var(--ag-grid-size) * 4);\n top: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-ltr .ag-header-viewport .ag-header-cell-resize::after {\n left: calc(50% - var(--ag-header-column-resize-handle-width));\n}\n.ag-rtl .ag-header-viewport .ag-header-cell-resize::after {\n right: calc(50% - var(--ag-header-column-resize-handle-width));\n}\n\n.ag-pinned-left-header .ag-header-cell-resize::after {\n left: calc(50% - var(--ag-header-column-resize-handle-width));\n}\n\n.ag-pinned-right-header .ag-header-cell-resize::after {\n left: 50%;\n}\n\n.ag-ltr .ag-header-select-all {\n margin-right: var(--ag-cell-horizontal-padding);\n}\n.ag-rtl .ag-header-select-all {\n margin-left: var(--ag-cell-horizontal-padding);\n}\n\n.ag-ltr .ag-floating-filter-button {\n margin-left: var(--ag-cell-widget-spacing);\n}\n.ag-rtl .ag-floating-filter-button {\n margin-right: var(--ag-cell-widget-spacing);\n}\n\n.ag-floating-filter-button-button {\n color: inherit;\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background: transparent;\n border: none;\n height: var(--ag-icon-size);\n padding: 0;\n width: var(--ag-icon-size);\n}\n\n.ag-filter-loading {\n background-color: var(--ag-control-panel-background-color);\n height: 100%;\n padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);\n position: absolute;\n width: 100%;\n z-index: 1;\n}\n\n.ag-paging-panel {\n border-top: 1px solid;\n border-top-color: var(--ag-border-color);\n color: var(--ag-secondary-foreground-color);\n height: var(--ag-header-height);\n}\n.ag-paging-panel > * {\n margin: 0 var(--ag-cell-horizontal-padding);\n}\n.ag-paging-panel > .ag-paging-page-size .ag-wrapper {\n min-width: calc(var(--ag-grid-size) * 10);\n}\n\n.ag-paging-button {\n cursor: pointer;\n}\n\n.ag-paging-button.ag-disabled {\n cursor: default;\n color: var(--ag-disabled-foreground-color);\n}\n\n.ag-paging-button:focus-visible {\n outline: none;\n}\n.ag-paging-button:focus-visible::after {\n content: "";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 0px;\n left: 0px;\n display: block;\n width: calc(100% - 0px);\n height: calc(100% - 0px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-paging-button,\n.ag-paging-description {\n margin: 0 var(--ag-grid-size);\n}\n\n.ag-status-bar {\n border-top: var(--ag-borders) var(--ag-border-color);\n color: var(--ag-disabled-foreground-color);\n padding-right: calc(var(--ag-grid-size) * 4);\n padding-left: calc(var(--ag-grid-size) * 4);\n line-height: 1.5;\n}\n\n.ag-status-name-value-value {\n color: var(--ag-foreground-color);\n}\n\n.ag-status-bar-center {\n text-align: center;\n}\n\n.ag-status-name-value {\n margin-left: var(--ag-grid-size);\n margin-right: var(--ag-grid-size);\n padding-top: calc(var(--ag-grid-size) * 2);\n padding-bottom: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-column-drop-cell {\n background: var(--ag-chip-background-color);\n border-radius: calc(var(--ag-grid-size) * 4);\n height: calc(var(--ag-grid-size) * 4);\n padding: 0 calc(var(--ag-grid-size) * 0.5);\n border: 1px solid var(--ag-chip-border-color);\n}\n\n.ag-column-drop-cell:focus-visible {\n outline: none;\n}\n.ag-column-drop-cell:focus-visible::after {\n content: "";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 2px;\n left: 2px;\n display: block;\n width: calc(100% - 4px);\n height: calc(100% - 4px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-column-drop-cell-text {\n margin: 0 var(--ag-grid-size);\n}\n\n.ag-column-drop-cell-button {\n min-width: calc(var(--ag-grid-size) * 4);\n margin: 0 calc(var(--ag-grid-size) * 0.5);\n color: var(--ag-secondary-foreground-color);\n}\n\n.ag-column-drop-cell-drag-handle {\n margin-left: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-column-drop-cell-ghost {\n opacity: 0.5;\n}\n\n.ag-column-drop-horizontal {\n background-color: var(--ag-header-background-color);\n color: var(--ag-secondary-foreground-color);\n height: var(--ag-header-height);\n border-bottom: var(--ag-borders) var(--ag-border-color);\n}\n.ag-ltr .ag-column-drop-horizontal {\n padding-left: var(--ag-cell-horizontal-padding);\n}\n.ag-rtl .ag-column-drop-horizontal {\n padding-right: var(--ag-cell-horizontal-padding);\n}\n\n.ag-ltr .ag-column-drop-horizontal-half-width:not(:last-child) {\n border-right: var(--ag-borders) var(--ag-border-color);\n}\n.ag-rtl .ag-column-drop-horizontal-half-width:not(:last-child) {\n border-left: var(--ag-borders) var(--ag-border-color);\n}\n\n.ag-column-drop-horizontal-cell-separator {\n margin: 0 var(--ag-grid-size);\n color: var(--ag-secondary-foreground-color);\n}\n\n.ag-column-drop-horizontal-empty-message {\n color: var(--ag-disabled-foreground-color);\n}\n\n.ag-ltr .ag-column-drop-horizontal-icon {\n margin-right: var(--ag-cell-horizontal-padding);\n}\n.ag-rtl .ag-column-drop-horizontal-icon {\n margin-left: var(--ag-cell-horizontal-padding);\n}\n\n.ag-column-drop-vertical-list {\n padding-bottom: var(--ag-grid-size);\n padding-right: var(--ag-grid-size);\n padding-left: var(--ag-grid-size);\n}\n\n.ag-column-drop-vertical-cell {\n margin-top: var(--ag-grid-size);\n}\n\n.ag-column-drop-vertical {\n min-height: 50px;\n border-bottom: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n}\n.ag-column-drop-vertical.ag-last-column-drop {\n border-bottom: none;\n}\n\n.ag-column-drop-vertical-icon {\n margin-left: var(--ag-grid-size);\n margin-right: var(--ag-grid-size);\n}\n\n.ag-column-drop-vertical-empty-message {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n overflow: hidden;\n color: var(--ag-disabled-foreground-color);\n margin-top: var(--ag-grid-size);\n}\n\n.ag-select-agg-func-popup {\n border: var(--ag-borders) var(--ag-border-color);\n background: var(--ag-background-color);\n border-radius: var(--ag-card-radius);\n box-shadow: var(--ag-card-shadow);\n padding: var(--ag-grid-size);\n background: var(--ag-background-color);\n height: calc(var(--ag-grid-size) * 5 * 3.5);\n padding: 0;\n}\n\n.ag-select-agg-func-virtual-list-item {\n cursor: default;\n}\n.ag-ltr .ag-select-agg-func-virtual-list-item {\n padding-left: calc(var(--ag-grid-size) * 2);\n}\n.ag-rtl .ag-select-agg-func-virtual-list-item {\n padding-right: calc(var(--ag-grid-size) * 2);\n}\n.ag-select-agg-func-virtual-list-item:hover {\n background-color: var(--ag-selected-row-background-color);\n}\n\n.ag-select-agg-func-virtual-list-item:focus-visible {\n outline: none;\n}\n.ag-select-agg-func-virtual-list-item:focus-visible::after {\n content: "";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 1px;\n left: 1px;\n display: block;\n width: calc(100% - 2px);\n height: calc(100% - 2px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-sort-indicator-container {\n display: flex;\n}\n\n.ag-ltr .ag-sort-indicator-icon {\n padding-left: var(--ag-grid-size);\n}\n.ag-rtl .ag-sort-indicator-icon {\n padding-right: var(--ag-grid-size);\n}\n\n.ag-chart {\n position: relative;\n display: flex;\n overflow: hidden;\n width: 100%;\n height: 100%;\n}\n\n.ag-chart-components-wrapper {\n position: relative;\n display: flex;\n flex: 1 1 auto;\n overflow: hidden;\n}\n\n.ag-chart-canvas-wrapper {\n position: relative;\n flex: 1 1 auto;\n overflow: hidden;\n}\n\n.ag-chart-menu {\n position: absolute;\n top: 16px;\n display: flex;\n flex-direction: column;\n}\n.ag-ltr .ag-chart-menu {\n right: 20px;\n}\n.ag-rtl .ag-chart-menu {\n left: 20px;\n}\n\n.ag-chart-docked-container {\n position: relative;\n min-width: var(--ag-chart-menu-panel-width);\n}\n\n.ag-chart-menu-hidden ~ .ag-chart-docked-container {\n display: none;\n}\n\n.ag-chart-tabbed-menu {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.ag-chart-tabbed-menu-header {\n flex: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n cursor: default;\n}\n\n.ag-chart-tabbed-menu-body {\n display: flex;\n flex: 1 1 auto;\n align-items: stretch;\n overflow: hidden;\n}\n\n.ag-chart-tab {\n width: 100%;\n overflow: hidden;\n overflow-y: auto;\n}\n\n.ag-chart-settings {\n overflow-x: hidden;\n}\n\n.ag-chart-settings-wrapper {\n position: relative;\n flex-direction: column;\n width: 100%;\n height: 100%;\n display: flex;\n overflow: hidden;\n}\n\n.ag-chart-settings-nav-bar {\n display: flex;\n align-items: center;\n width: 100%;\n height: 30px;\n padding: 0 10px;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n}\n\n.ag-chart-settings-card-selector {\n display: flex;\n align-items: center;\n justify-content: space-around;\n flex: 1 1 auto;\n height: 100%;\n padding: 0 10px;\n}\n\n.ag-chart-settings-card-item {\n cursor: pointer;\n width: 10px;\n height: 10px;\n background-color: #000;\n position: relative;\n}\n.ag-chart-settings-card-item.ag-not-selected {\n opacity: 0.2;\n}\n.ag-chart-settings-card-item::before {\n content: " ";\n display: block;\n position: absolute;\n background-color: transparent;\n left: 50%;\n top: 50%;\n margin-left: -10px;\n margin-top: -10px;\n width: 20px;\n height: 20px;\n}\n\n.ag-chart-settings-prev,\n.ag-chart-settings-next {\n position: relative;\n flex: none;\n}\n.ag-chart-settings-prev:focus-within,\n.ag-chart-settings-next:focus-within {\n box-shadow: var(--ag-input-focus-box-shadow);\n border-radius: 1px;\n}\n\n.ag-chart-settings-prev-button,\n.ag-chart-settings-next-button {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n cursor: pointer;\n opacity: 0;\n}\n\n.ag-chart-settings-mini-charts-container {\n position: relative;\n flex: 1 1 auto;\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.ag-chart-settings-mini-wrapper {\n position: absolute;\n top: 0;\n left: 0;\n display: flex;\n flex-direction: column;\n width: 100%;\n min-height: 100%;\n overflow: hidden;\n}\n.ag-chart-settings-mini-wrapper.ag-animating {\n transition: left 0.3s;\n transition-timing-function: ease-in-out;\n}\n\n.ag-chart-mini-thumbnail {\n cursor: pointer;\n}\n\n.ag-chart-mini-thumbnail-canvas {\n display: block;\n}\n\n.ag-chart-data-wrapper,\n.ag-chart-format-wrapper,\n.ag-chart-advanced-settings-wrapper {\n display: flex;\n flex-direction: column;\n position: relative;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n padding-bottom: 16px;\n}\n\n.ag-chart-data-wrapper,\n.ag-chart-advanced-settings-wrapper {\n height: 100%;\n overflow-y: auto;\n}\n\n.ag-chart-advanced-settings {\n background-color: var(--ag-control-panel-background-color);\n}\n\n.ag-chart-advanced-settings-wrapper,\n.ag-chart-advanced-settings {\n width: 100%;\n}\n\n.ag-chart-advanced-settings-wrapper {\n padding-bottom: 0;\n}\n\n.ag-chart-data-section,\n.ag-chart-format-section,\n.ag-chart-advanced-settings-section {\n display: flex;\n margin: 0;\n}\n\n.ag-chart-advanced-settings-section {\n padding-top: var(--ag-grid-size);\n padding-bottom: var(--ag-grid-size);\n}\n.ag-chart-advanced-settings-section:not(:last-child) {\n border-bottom: 1px solid var(--ag-secondary-border-color);\n}\n\n.ag-chart-empty-text {\n display: flex;\n top: 0;\n width: 100%;\n height: 100%;\n align-items: center;\n justify-content: center;\n background-color: var(--ag-background-color);\n}\n\n.ag-chart .ag-chart-menu {\n display: none;\n}\n\n.ag-chart-menu-hidden:hover .ag-chart-menu {\n display: block;\n}\n\n.ag-chart .ag-chart-menu-wrapper .ag-chart-menu {\n display: flex;\n flex-direction: row;\n top: 8px;\n gap: 20px;\n width: auto;\n}\n.ag-ltr .ag-chart .ag-chart-menu-wrapper .ag-chart-menu {\n right: calc(var(--ag-cell-horizontal-padding) + var(--ag-grid-size) - 4px);\n justify-content: right;\n}\n.ag-rtl .ag-chart .ag-chart-menu-wrapper .ag-chart-menu {\n left: calc(var(--ag-cell-horizontal-padding) + var(--ag-grid-size) - 4px);\n justify-content: left;\n}\n\n.ag-charts-font-size-color {\n display: flex;\n align-self: stretch;\n justify-content: space-between;\n}\n\n.ag-charts-data-group-item {\n position: relative;\n}\n\n.ag-charts-data-group-item:not(:last-child) {\n margin-bottom: var(--ag-grid-size);\n}\n\n.ag-chart-menu {\n border-radius: var(--ag-card-radius);\n background: var(--ag-background-color);\n}\n\n.ag-chart-menu-icon {\n opacity: 0.5;\n margin: 2px 0;\n cursor: pointer;\n border-radius: var(--ag-card-radius);\n color: var(--ag-secondary-foreground-color);\n}\n.ag-chart-menu-icon:hover {\n opacity: 1;\n}\n\n.ag-chart-menu-toolbar-button {\n border: 0;\n background-color: transparent;\n background-color: initial;\n padding: 0 2px;\n border-radius: 1px;\n}\n\n.ag-chart-mini-thumbnail {\n border: 1px solid var(--ag-secondary-border-color);\n border-radius: 5px;\n}\n.ag-chart-mini-thumbnail.ag-selected {\n border-color: var(--ag-minichart-selected-chart-color);\n border-width: 2px;\n}\n.ag-chart-mini-thumbnail:focus-visible {\n outline: none;\n border-color: var(--ag-minichart-selected-chart-color);\n box-shadow: var(--ag-input-focus-box-shadow);\n}\n\n.ag-chart-settings-card-item {\n background: var(--ag-foreground-color);\n width: 8px;\n height: 8px;\n border-radius: 4px;\n}\n.ag-chart-settings-card-item.ag-selected {\n background-color: var(--ag-minichart-selected-page-color);\n}\n\n.ag-chart-data-column-drag-handle {\n margin-left: var(--ag-grid-size);\n}\n\n.ag-charts-settings-group-title-bar,\n.ag-charts-data-group-title-bar,\n.ag-charts-format-top-level-group-title-bar {\n border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n position: relative;\n}\n\n.ag-charts-advanced-settings-top-level-group-title-bar {\n position: relative;\n background-color: transparent;\n background-color: initial;\n}\n\n.ag-charts-data-group-title-bar:focus-visible {\n outline: none;\n}\n.ag-charts-data-group-title-bar:focus-visible::after {\n content: "";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 4px;\n left: 4px;\n display: block;\n width: calc(100% - 8px);\n height: calc(100% - 8px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-charts-format-top-level-group-title-bar:focus-visible {\n outline: none;\n}\n.ag-charts-format-top-level-group-title-bar:focus-visible::after {\n content: "";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 4px;\n left: 4px;\n display: block;\n width: calc(100% - 8px);\n height: calc(100% - 8px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-charts-data-group-title-bar .ag-charts-data-group-title,\n.ag-charts-format-top-level-group-title-bar .ag-charts-format-top-level-group-title {\n cursor: pointer;\n}\n\n.ag-charts-data-group-container {\n padding: calc(var(--ag-widget-container-vertical-padding) * 0.5) var(--ag-widget-container-horizontal-padding);\n}\n.ag-charts-data-group-container .ag-charts-data-group-item:not(.ag-charts-format-sub-level-group):not(.ag-pill-select):not(.ag-select) {\n height: var(--ag-list-item-height);\n}\n.ag-charts-data-group-container .ag-charts-data-group-item.ag-picker-field {\n margin-top: var(--ag-grid-size);\n}\n.ag-charts-data-group-container .ag-list-item-hovered::after {\n content: "";\n position: absolute;\n left: 0;\n right: 0;\n height: 1px;\n background-color: var(--ag-range-selection-border-color);\n}\n.ag-charts-data-group-container .ag-item-highlight-top::after {\n top: 0;\n}\n.ag-charts-data-group-container .ag-item-highlight-bottom::after {\n bottom: 0;\n}\n\n.ag-charts-format-top-level-group-container,\n.ag-charts-advanced-settings-top-level-group-container {\n padding: var(--ag-grid-size);\n}\n.ag-ltr .ag-charts-format-top-level-group-container,\n.ag-ltr .ag-charts-advanced-settings-top-level-group-container {\n margin-left: calc(var(--ag-grid-size) * 2);\n}\n.ag-rtl .ag-charts-format-top-level-group-container,\n.ag-rtl .ag-charts-advanced-settings-top-level-group-container {\n margin-right: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-charts-format-top-level-group-item,\n.ag-charts-advanced-settings-top-level-group-item {\n margin: var(--ag-grid-size) 0;\n}\n\n.ag-charts-format-sub-level-group-container {\n padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);\n padding-bottom: calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing));\n}\n.ag-charts-format-sub-level-group-container > * {\n margin-bottom: var(--ag-widget-vertical-spacing);\n}\n\n.ag-charts-format-sub-level-no-header-group-container > * {\n margin-bottom: var(--ag-widget-vertical-spacing);\n}\n\n.ag-charts-format-sub-level-group-container .ag-charts-format-sub-level-group-item.ag-font-panel-no-header {\n margin: 0;\n}\n\n.ag-charts-settings-group-container {\n padding: var(--ag-grid-size);\n grid-row-gap: 8px;\n row-gap: 8px;\n display: grid;\n grid-template-columns: 60px 1fr 60px 1fr 60px;\n}\n.ag-charts-settings-group-container .ag-chart-mini-thumbnail:nth-child(3n+1) {\n grid-column: 1;\n}\n.ag-charts-settings-group-container .ag-chart-mini-thumbnail:nth-child(3n+2) {\n grid-column: 3;\n}\n.ag-charts-settings-group-container .ag-chart-mini-thumbnail:nth-child(3n+3) {\n grid-column: 5;\n}\n\n.ag-chart-menu-panel {\n background-color: var(--ag-control-panel-background-color);\n}\n.ag-ltr .ag-chart-menu-panel {\n border-left: solid 1px var(--ag-border-color);\n}\n.ag-rtl .ag-chart-menu-panel {\n border-right: solid 1px var(--ag-border-color);\n}\n\n.ag-charts-theme-default {\n --ag-charts-align: none !important;\n --ag-charts-justify: none !important;\n}\n\n.ag-date-time-list-page-title-bar {\n display: flex;\n}\n\n.ag-date-time-list-page-title {\n flex-grow: 1;\n text-align: center;\n}\n\n.ag-date-time-list-page-column-labels-row,\n.ag-date-time-list-page-entries-row {\n display: flex;\n}\n\n.ag-date-time-list-page-column-label,\n.ag-date-time-list-page-entry {\n flex-basis: 0;\n flex-grow: 1;\n}\n\n.ag-date-time-list-page-entry {\n cursor: pointer;\n text-align: center;\n}\n\n.ag-date-time-list-page-column-label {\n text-align: center;\n}\n\n.ag-advanced-filter-header {\n position: relative;\n display: flex;\n align-items: center;\n padding-left: var(--ag-cell-horizontal-padding);\n padding-right: var(--ag-cell-horizontal-padding);\n}\n\n.ag-advanced-filter {\n display: flex;\n align-items: center;\n width: 100%;\n}\n\n.ag-advanced-filter-apply-button,\n.ag-advanced-filter-builder-button {\n line-height: normal;\n white-space: nowrap;\n}\n.ag-ltr .ag-advanced-filter-apply-button,\n.ag-ltr .ag-advanced-filter-builder-button {\n margin-left: calc(var(--ag-grid-size) * 2);\n}\n.ag-rtl .ag-advanced-filter-apply-button,\n.ag-rtl .ag-advanced-filter-builder-button {\n margin-right: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-advanced-filter-builder-button {\n display: flex;\n align-items: center;\n border: 0;\n background-color: transparent;\n background-color: initial;\n color: var(--ag-foreground-color);\n font-size: var(--ag-font-size);\n font-weight: 600;\n}\n.ag-advanced-filter-builder-button:hover:not(:disabled) {\n background-color: var(--ag-row-hover-color);\n}\n.ag-advanced-filter-builder-button:not(:disabled) {\n cursor: pointer;\n}\n\n.ag-advanced-filter-builder-button-label {\n margin-left: var(--ag-grid-size);\n}\n\n.ag-advanced-filter-builder {\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n width: 100%;\n background-color: var(--ag-control-panel-background-color);\n display: flex;\n flex-direction: column;\n}\n\n.ag-advanced-filter-builder-list {\n flex: 1;\n overflow: auto;\n}\n.ag-advanced-filter-builder-list .ag-list-item-hovered::after {\n content: "";\n position: absolute;\n left: 0;\n right: 0;\n height: 1px;\n background-color: var(--ag-range-selection-border-color);\n}\n.ag-advanced-filter-builder-list .ag-item-highlight-top::after {\n top: 0;\n}\n.ag-advanced-filter-builder-list .ag-item-highlight-bottom::after {\n bottom: 0;\n}\n\n.ag-advanced-filter-builder-button-panel {\n display: flex;\n justify-content: flex-end;\n padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);\n border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n}\n\n.ag-advanced-filter-builder .ag-advanced-filter-builder-button-panel .ag-advanced-filter-builder-apply-button,\n.ag-advanced-filter-builder .ag-advanced-filter-builder-button-panel .ag-advanced-filter-builder-cancel-button {\n margin-left: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-advanced-filter-builder-item-wrapper {\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n justify-content: space-between;\n overflow: hidden;\n padding-left: calc(var(--ag-icon-size) / 2);\n padding-right: var(--ag-icon-size);\n}\n\n.ag-virtual-list-viewport .ag-advanced-filter-builder-item-wrapper .ag-tab-guard {\n position: absolute;\n}\n\n.ag-advanced-filter-builder-item-tree-lines > * {\n width: var(--ag-advanced-filter-builder-indent-size);\n}\n\n.ag-advanced-filter-builder-item-tree-lines .ag-advanced-filter-builder-item-tree-line-root {\n width: var(--ag-icon-size);\n}\n.ag-advanced-filter-builder-item-tree-lines .ag-advanced-filter-builder-item-tree-line-root::before {\n top: 50%;\n height: 50%;\n}\n\n.ag-advanced-filter-builder-item-tree-line-horizontal,\n.ag-advanced-filter-builder-item-tree-line-vertical,\n.ag-advanced-filter-builder-item-tree-line-vertical-top,\n.ag-advanced-filter-builder-item-tree-line-vertical-bottom {\n position: relative;\n height: 100%;\n display: flex;\n align-items: center;\n}\n.ag-advanced-filter-builder-item-tree-line-horizontal::before, .ag-advanced-filter-builder-item-tree-line-horizontal::after,\n.ag-advanced-filter-builder-item-tree-line-vertical::before,\n.ag-advanced-filter-builder-item-tree-line-vertical::after,\n.ag-advanced-filter-builder-item-tree-line-vertical-top::before,\n.ag-advanced-filter-builder-item-tree-line-vertical-top::after,\n.ag-advanced-filter-builder-item-tree-line-vertical-bottom::before,\n.ag-advanced-filter-builder-item-tree-line-vertical-bottom::after {\n content: "";\n position: absolute;\n height: 100%;\n}\n\n.ag-advanced-filter-builder-item-tree-line-horizontal::after {\n height: 50%;\n width: calc(var(--ag-advanced-filter-builder-indent-size) - var(--ag-icon-size));\n top: 0;\n left: calc(var(--ag-icon-size) / 2);\n border-bottom: 1px solid;\n border-color: var(--ag-border-color);\n}\n\n.ag-advanced-filter-builder-item-tree-line-vertical::before {\n width: calc(var(--ag-advanced-filter-builder-indent-size) - var(--ag-icon-size) / 2);\n top: 0;\n left: calc(var(--ag-icon-size) / 2);\n border-left: 1px solid;\n border-color: var(--ag-border-color);\n}\n\n.ag-advanced-filter-builder-item-tree-line-vertical-top::before {\n height: 50%;\n width: calc(var(--ag-advanced-filter-builder-indent-size) - var(--ag-icon-size) / 2);\n top: 0;\n left: calc(var(--ag-icon-size) / 2);\n border-left: 1px solid;\n border-color: var(--ag-border-color);\n}\n\n.ag-advanced-filter-builder-item-tree-line-vertical-bottom::before {\n height: calc((100% - 1.5 * var(--ag-icon-size)) / 2);\n width: calc(var(--ag-icon-size) / 2);\n top: calc((100% + 1.5 * var(--ag-icon-size)) / 2);\n left: calc(var(--ag-icon-size) / 2);\n border-left: 1px solid;\n border-color: var(--ag-border-color);\n}\n\n.ag-advanced-filter-builder-item-condition {\n padding-top: var(--ag-grid-size);\n padding-bottom: var(--ag-grid-size);\n}\n\n.ag-advanced-filter-builder-item,\n.ag-advanced-filter-builder-item-condition,\n.ag-advanced-filter-builder-pill-wrapper,\n.ag-advanced-filter-builder-pill,\n.ag-advanced-filter-builder-item-buttons,\n.ag-advanced-filter-builder-item-tree-lines {\n display: flex;\n align-items: center;\n height: 100%;\n}\n\n.ag-advanced-filter-builder-pill-wrapper {\n margin: 0px var(--ag-grid-size);\n}\n\n.ag-advanced-filter-builder-pill {\n position: relative;\n border-radius: var(--ag-border-radius);\n padding: var(--ag-grid-size) calc(var(--ag-grid-size) * 2);\n min-height: calc(100% - var(--ag-grid-size) * 3);\n min-width: calc(var(--ag-grid-size) * 2);\n}\n.ag-advanced-filter-builder-pill .ag-picker-field-display {\n margin-right: var(--ag-grid-size);\n}\n.ag-advanced-filter-builder-pill .ag-advanced-filter-builder-value-number {\n font-family: monospace;\n font-weight: 700;\n}\n.ag-advanced-filter-builder-pill .ag-advanced-filter-builder-value-empty {\n color: var(--ag-disabled-foreground-color);\n}\n\n.ag-advanced-filter-builder-pill:focus-visible {\n outline: none;\n}\n.ag-advanced-filter-builder-pill:focus-visible::after {\n content: "";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: -4px;\n left: -4px;\n display: block;\n width: calc(100% - -8px);\n height: calc(100% - -8px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-advanced-filter-builder-item-button:focus-visible {\n outline: none;\n}\n.ag-advanced-filter-builder-item-button:focus-visible::after {\n content: "";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: -4px;\n left: -4px;\n display: block;\n width: calc(100% - -8px);\n height: calc(100% - -8px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-advanced-filter-builder-pill-display {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-weight: 500;\n}\n\n.ag-advanced-filter-builder-join-pill {\n color: var(--ag-foreground-color);\n background-color: var(--ag-advanced-filter-join-pill-color);\n cursor: pointer;\n}\n\n.ag-advanced-filter-builder-column-pill {\n color: var(--ag-foreground-color);\n background-color: var(--ag-advanced-filter-column-pill-color);\n cursor: pointer;\n}\n\n.ag-advanced-filter-builder-option-pill {\n color: var(--ag-foreground-color);\n background-color: var(--ag-advanced-filter-option-pill-color);\n cursor: pointer;\n}\n\n.ag-advanced-filter-builder-value-pill {\n color: var(--ag-foreground-color);\n background-color: var(--ag-advanced-filter-value-pill-color);\n cursor: text;\n max-width: 140px;\n}\n.ag-advanced-filter-builder-value-pill .ag-advanced-filter-builder-pill-display {\n display: block;\n}\n\n.ag-advanced-filter-builder-item-buttons > * {\n margin: 0 calc(var(--ag-grid-size) * 0.5);\n}\n\n.ag-advanced-filter-builder-item-button {\n position: relative;\n cursor: pointer;\n color: var(--ag-secondary-foreground-color);\n opacity: 0.5;\n}\n\n.ag-advanced-filter-builder-item-button-disabled {\n color: var(--ag-disabled-foreground-color);\n cursor: default;\n}\n\n.ag-advanced-filter-builder-virtual-list-container {\n top: var(--ag-grid-size);\n}\n\n.ag-advanced-filter-builder-virtual-list-item {\n display: flex;\n cursor: default;\n height: var(--ag-list-item-height);\n}\n.ag-advanced-filter-builder-virtual-list-item:hover {\n background-color: var(--ag-row-hover-color);\n}\n.ag-advanced-filter-builder-virtual-list-item:hover .ag-advanced-filter-builder-item-button {\n opacity: 1;\n}\n\n.ag-advanced-filter-builder-virtual-list-item-highlight .ag-advanced-filter-builder-item-button:focus-visible,\n.ag-advanced-filter-builder-validation .ag-advanced-filter-builder-invalid {\n opacity: 1;\n}\n\n.ag-advanced-filter-builder-invalid {\n margin: 0 var(--ag-grid-size);\n color: var(--ag-invalid-color);\n cursor: default;\n}\n\n.ag-input-field-input {\n width: 100%;\n min-width: 0;\n}\n\n.ag-checkbox-input-wrapper {\n font-family: var(--ag-icon-font-family);\n font-weight: var(--ag-icon-font-weight);\n color: var(--ag-icon-font-color);\n font-size: var(--ag-icon-size);\n line-height: var(--ag-icon-size);\n font-style: normal;\n font-feature-settings: normal;\n font-variant: normal;\n text-transform: none;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n width: var(--ag-icon-size);\n height: var(--ag-icon-size);\n background-color: var(--ag-checkbox-background-color);\n border-radius: var(--ag-checkbox-border-radius);\n display: inline-block;\n vertical-align: middle;\n flex: none;\n}\n.ag-checkbox-input-wrapper input,\n.ag-checkbox-input-wrapper input {\n -webkit-appearance: none;\n opacity: 0;\n width: 100%;\n height: 100%;\n}\n.ag-checkbox-input-wrapper:focus-within, .ag-checkbox-input-wrapper:active {\n outline: none;\n box-shadow: var(--ag-input-focus-box-shadow);\n}\n.ag-checkbox-input-wrapper.ag-disabled {\n opacity: 0.5;\n}\n.ag-checkbox-input-wrapper::after {\n content: "\\f108";\n content: var(--ag-icon-font-code-checkbox-unchecked, "\\f108");\n font-family: inherit;\n color: var(--ag-checkbox-unchecked-color);\n display: var(--ag-icon-font-display-checkbox-unchecked, var(--ag-icon-font-display));\n position: absolute;\n top: 0;\n left: 0;\n pointer-events: none;\n}\n.ag-checkbox-input-wrapper.ag-checked::after {\n content: "\\f106";\n content: var(--ag-icon-font-code-checkbox-checked, "\\f106");\n color: var(--ag-checkbox-checked-color);\n display: var(--ag-icon-font-display-checkbox-checked, var(--ag-icon-font-display));\n position: absolute;\n top: 0;\n left: 0;\n pointer-events: none;\n}\n.ag-checkbox-input-wrapper.ag-indeterminate::after {\n content: "\\f107";\n content: var(--ag-icon-font-code-checkbox-indeterminate, "\\f107");\n color: var(--ag-checkbox-indeterminate-color);\n display: var(--ag-icon-font-display-checkbox-indeterminate, var(--ag-icon-font-display));\n position: absolute;\n top: 0;\n left: 0;\n pointer-events: none;\n}\n.ag-checkbox-input-wrapper::before {\n content: "";\n background: transparent center/contain no-repeat;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-image: var(--ag-icon-image-checkbox-unchecked, var(--ag-icon-image));\n display: var(--ag-icon-image-display-checkbox-unchecked, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-checkbox-unchecked, var(--ag-icon-image-opacity, 0.9));\n}\n.ag-checkbox-input-wrapper.ag-checked::before {\n background-image: var(--ag-icon-image-checkbox-checked, var(--ag-icon-image));\n display: var(--ag-icon-image-display-checkbox-checked, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-checkbox-checked, var(--ag-icon-image-opacity, 0.9));\n}\n.ag-checkbox-input-wrapper.ag-indeterminate::before {\n background-image: var(--ag-icon-image-checkbox-indeterminate, var(--ag-icon-image));\n display: var(--ag-icon-image-display-checkbox-indeterminate, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-checkbox-indeterminate, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-toggle-button-input-wrapper {\n box-sizing: border-box;\n width: var(--ag-toggle-button-width);\n min-width: var(--ag-toggle-button-width);\n max-width: var(--ag-toggle-button-width);\n height: var(--ag-toggle-button-height);\n background-color: var(--ag-toggle-button-off-background-color);\n border-radius: calc(var(--ag-toggle-button-height) * 0.5);\n position: relative;\n flex: none;\n border: var(--ag-toggle-button-border-width) solid;\n border-color: var(--ag-toggle-button-off-border-color);\n}\n.ag-toggle-button-input-wrapper input {\n opacity: 0;\n height: 100%;\n width: 100%;\n}\n.ag-toggle-button-input-wrapper:focus-within {\n outline: none;\n box-shadow: var(--ag-input-focus-box-shadow);\n}\n.ag-toggle-button-input-wrapper.ag-disabled {\n opacity: 0.5;\n}\n.ag-toggle-button-input-wrapper.ag-checked {\n background-color: var(--ag-toggle-button-on-background-color);\n border-color: var(--ag-toggle-button-on-border-color);\n}\n.ag-toggle-button-input-wrapper::before {\n content: " ";\n position: absolute;\n top: calc(0px - var(--ag-toggle-button-border-width));\n left: calc(0px - var(--ag-toggle-button-border-width));\n display: block;\n box-sizing: border-box;\n height: var(--ag-toggle-button-height);\n width: var(--ag-toggle-button-height);\n background-color: var(--ag-toggle-button-switch-background-color);\n border-radius: 100%;\n transition: left 100ms;\n border: var(--ag-toggle-button-border-width) solid;\n border-color: var(--ag-toggle-button-switch-border-color);\n}\n.ag-toggle-button-input-wrapper.ag-checked::before {\n left: calc(100% - var(--ag-toggle-button-height) + var(--ag-toggle-button-border-width));\n border-color: var(--ag-toggle-button-on-border-color);\n}\n\n.ag-radio-button-input-wrapper {\n font-family: var(--ag-icon-font-family);\n font-weight: var(--ag-icon-font-weight);\n color: var(--ag-icon-font-color);\n font-size: var(--ag-icon-size);\n line-height: var(--ag-icon-size);\n font-style: normal;\n font-feature-settings: normal;\n font-variant: normal;\n text-transform: none;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n width: var(--ag-icon-size);\n height: var(--ag-icon-size);\n background-color: var(--ag-checkbox-background-color);\n border-radius: var(--ag-checkbox-border-radius);\n display: inline-block;\n vertical-align: middle;\n flex: none;\n border-radius: var(--ag-icon-size);\n}\n.ag-radio-button-input-wrapper input,\n.ag-radio-button-input-wrapper input {\n -webkit-appearance: none;\n opacity: 0;\n width: 100%;\n height: 100%;\n}\n.ag-radio-button-input-wrapper:focus-within, .ag-radio-button-input-wrapper:active {\n outline: none;\n box-shadow: var(--ag-input-focus-box-shadow);\n}\n.ag-radio-button-input-wrapper.ag-disabled {\n opacity: 0.5;\n}\n.ag-radio-button-input-wrapper::after {\n content: "\\f127";\n content: var(--ag-icon-font-code-radio-button-off, "\\f127");\n color: var(--ag-checkbox-unchecked-color);\n display: var(--ag-icon-font-display-radio-button-off, var(--ag-icon-font-display));\n position: absolute;\n top: 0;\n left: 0;\n pointer-events: none;\n}\n.ag-radio-button-input-wrapper.ag-checked::after {\n content: "\\f128";\n content: var(--ag-icon-font-code-radio-button-on, "\\f128");\n color: var(--ag-checkbox-checked-color);\n display: var(--ag-icon-font-display-radio-button-on, var(--ag-icon-font-display));\n position: absolute;\n top: 0;\n left: 0;\n pointer-events: none;\n}\n.ag-radio-button-input-wrapper::before {\n content: "";\n background: transparent center/contain no-repeat;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-image: var(--ag-icon-image-radio-button-off, var(--ag-icon-image));\n display: var(--ag-icon-image-display-radio-button-off, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-radio-button-off, var(--ag-icon-image-opacity, 0.9));\n}\n.ag-radio-button-input-wrapper.ag-checked::before {\n background-image: var(--ag-icon-image-radio-button-on, var(--ag-icon-image));\n display: var(--ag-icon-image-display-radio-button-on, var(--ag-icon-image-display));\n opacity: 0.9;\n opacity: var(--ag-icon-image-opacity-radio-button-on, var(--ag-icon-image-opacity, 0.9));\n}\n\ninput[class^=ag-][type=range] {\n -webkit-appearance: none;\n width: 100%;\n height: 100%;\n background: none;\n overflow: visible;\n}\ninput[class^=ag-][type=range]::-webkit-slider-runnable-track {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 3px;\n background-color: var(--ag-border-color);\n border-radius: var(--ag-border-radius);\n border-radius: var(--ag-checkbox-border-radius);\n}\ninput[class^=ag-][type=range]::-moz-range-track {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 3px;\n background-color: var(--ag-border-color);\n border-radius: var(--ag-border-radius);\n border-radius: var(--ag-checkbox-border-radius);\n}\ninput[class^=ag-][type=range]::-ms-track {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 3px;\n background-color: var(--ag-border-color);\n border-radius: var(--ag-border-radius);\n border-radius: var(--ag-checkbox-border-radius);\n color: transparent;\n width: calc(100% - 2px);\n}\ninput[class^=ag-][type=range]::-webkit-slider-thumb {\n margin: 0;\n padding: 0;\n -webkit-appearance: none;\n width: var(--ag-icon-size);\n height: var(--ag-icon-size);\n background-color: var(--ag-background-color);\n border: 1px solid;\n border-color: var(--ag-checkbox-unchecked-color);\n border-radius: var(--ag-icon-size);\n transform: translateY(calc(var(--ag-icon-size) * -0.5 + 1.5px));\n}\ninput[class^=ag-][type=range]::-ms-thumb {\n margin: 0;\n padding: 0;\n -webkit-appearance: none;\n width: var(--ag-icon-size);\n height: var(--ag-icon-size);\n background-color: var(--ag-background-color);\n border: 1px solid;\n border-color: var(--ag-checkbox-unchecked-color);\n border-radius: var(--ag-icon-size);\n}\ninput[class^=ag-][type=range]::-moz-ag-range-thumb {\n margin: 0;\n padding: 0;\n -webkit-appearance: none;\n width: var(--ag-icon-size);\n height: var(--ag-icon-size);\n background-color: var(--ag-background-color);\n border: 1px solid;\n border-color: var(--ag-checkbox-unchecked-color);\n border-radius: var(--ag-icon-size);\n}\ninput[class^=ag-][type=range]:focus {\n outline: none;\n}\ninput[class^=ag-][type=range]:focus::-webkit-slider-thumb {\n box-shadow: var(--ag-input-focus-box-shadow);\n border-color: var(--ag-checkbox-checked-color);\n}\ninput[class^=ag-][type=range]:focus::-ms-thumb {\n box-shadow: var(--ag-input-focus-box-shadow);\n border-color: var(--ag-checkbox-checked-color);\n}\ninput[class^=ag-][type=range]:focus::-moz-ag-range-thumb {\n box-shadow: var(--ag-input-focus-box-shadow);\n border-color: var(--ag-checkbox-checked-color);\n}\ninput[class^=ag-][type=range]:active::-webkit-slider-runnable-track {\n background-color: var(--ag-input-focus-border-color);\n}\ninput[class^=ag-][type=range]:active::-moz-ag-range-track {\n background-color: var(--ag-input-focus-border-color);\n}\ninput[class^=ag-][type=range]:active::-ms-track {\n background-color: var(--ag-input-focus-border-color);\n}\ninput[class^=ag-][type=range]:disabled {\n opacity: 0.5;\n}\n',""]),t.A=h},8483:function(e,t,i){"use strict";var a=i(6758),n=i.n(a),r=i(935),o=i.n(r)()(n());o.push([e.id,'.ag-theme-alpine,\n.ag-theme-alpine-dark,\n.ag-theme-alpine-auto-dark {\n --ag-alpine-active-color: #2196f3;\n --ag-selected-row-background-color: rgba(33, 150, 243, 0.3);\n --ag-row-hover-color: rgba(33, 150, 243, 0.1);\n --ag-column-hover-color: rgba(33, 150, 243, 0.1);\n --ag-input-focus-border-color: rgba(33, 150, 243, 0.4);\n --ag-range-selection-background-color: rgba(33, 150, 243, 0.2);\n --ag-range-selection-background-color-2: rgba(33, 150, 243, 0.36);\n --ag-range-selection-background-color-3: rgba(33, 150, 243, 0.49);\n --ag-range-selection-background-color-4: rgba(33, 150, 243, 0.59);\n --ag-background-color: #fff;\n --ag-foreground-color: #181d1f;\n --ag-border-color: #babfc7;\n --ag-secondary-border-color: #dde2eb;\n --ag-header-background-color: #f8f8f8;\n --ag-tooltip-background-color: #f8f8f8;\n --ag-odd-row-background-color: #fcfcfc;\n --ag-control-panel-background-color: #f8f8f8;\n --ag-subheader-background-color: #fff;\n --ag-invalid-color: #e02525;\n --ag-checkbox-unchecked-color: #999;\n --ag-advanced-filter-join-pill-color: #f08e8d;\n --ag-advanced-filter-column-pill-color: #a6e194;\n --ag-advanced-filter-option-pill-color: #f3c08b;\n --ag-advanced-filter-value-pill-color: #85c0e4;\n --ag-checkbox-background-color: var(--ag-background-color);\n --ag-checkbox-checked-color: var(--ag-alpine-active-color);\n --ag-range-selection-border-color: var(--ag-alpine-active-color);\n --ag-secondary-foreground-color: var(--ag-foreground-color);\n --ag-input-border-color: var(--ag-border-color);\n --ag-input-border-color-invalid: var(--ag-invalid-color);\n --ag-input-focus-box-shadow: 0 0 2px 0.1rem var(--ag-input-focus-border-color);\n --ag-panel-background-color: var(--ag-header-background-color);\n --ag-menu-background-color: var(--ag-header-background-color);\n --ag-disabled-foreground-color: rgba(24, 29, 31, 0.5);\n --ag-chip-background-color: rgba(24, 29, 31, 0.07);\n --ag-input-disabled-border-color: rgba(186, 191, 199, 0.3);\n --ag-input-disabled-background-color: rgba(186, 191, 199, 0.15);\n --ag-borders: solid 1px;\n --ag-border-radius: 3px;\n --ag-borders-side-button: none;\n --ag-side-button-selected-background-color: transparent;\n --ag-header-column-resize-handle-display: block;\n --ag-header-column-resize-handle-width: 2px;\n --ag-header-column-resize-handle-height: 30%;\n --ag-grid-size: 6px;\n --ag-icon-size: 16px;\n --ag-row-height: calc(var(--ag-grid-size) * 7);\n --ag-header-height: calc(var(--ag-grid-size) * 8);\n --ag-list-item-height: calc(var(--ag-grid-size) * 4);\n --ag-column-select-indent-size: var(--ag-icon-size);\n --ag-set-filter-indent-size: var(--ag-icon-size);\n --ag-advanced-filter-builder-indent-size: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);\n --ag-cell-horizontal-padding: calc(var(--ag-grid-size) * 3);\n --ag-cell-widget-spacing: calc(var(--ag-grid-size) * 2);\n --ag-widget-container-vertical-padding: calc(var(--ag-grid-size) * 2);\n --ag-widget-container-horizontal-padding: calc(var(--ag-grid-size) * 2);\n --ag-widget-vertical-spacing: calc(var(--ag-grid-size) * 1.5);\n --ag-toggle-button-height: 18px;\n --ag-toggle-button-width: 28px;\n --ag-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell,\n "Helvetica Neue", sans-serif;\n --ag-font-size: 13px;\n --ag-icon-font-family: agGridAlpine;\n --ag-selected-tab-underline-color: var(--ag-alpine-active-color);\n --ag-selected-tab-underline-width: 2px;\n --ag-selected-tab-underline-transition-speed: 0.3s;\n --ag-tab-min-width: 240px;\n --ag-card-shadow: 0 1px 4px 1px rgba(186, 191, 199, 0.4);\n --ag-popup-shadow: var(--ag-card-shadow);\n --ag-side-bar-panel-width: 250px;\n}\n\n.ag-theme-alpine-dark {\n --ag-background-color: #181d1f;\n --ag-foreground-color: #fff;\n --ag-border-color: #68686e;\n --ag-secondary-border-color: rgba(88, 86, 82, 0.5);\n --ag-modal-overlay-background-color: rgba(24, 29, 31, 0.66);\n --ag-header-background-color: #222628;\n --ag-tooltip-background-color: #222628;\n --ag-odd-row-background-color: #222628;\n --ag-control-panel-background-color: #222628;\n --ag-subheader-background-color: #000;\n --ag-input-disabled-background-color: #282c2f;\n --ag-input-focus-box-shadow: 0 0 2px 0.5px rgba(255, 255, 255, 0.5), 0 0 4px 3px var(--ag-input-focus-border-color);\n --ag-card-shadow: 0 1px 20px 1px black;\n --ag-disabled-foreground-color: rgba(255, 255, 255, 0.5);\n --ag-chip-background-color: rgba(255, 255, 255, 0.07);\n --ag-input-disabled-border-color: rgba(104, 104, 110, 0.3);\n --ag-input-disabled-background-color: rgba(104, 104, 110, 0.07);\n --ag-advanced-filter-join-pill-color: #7a3a37;\n --ag-advanced-filter-column-pill-color: #355f2d;\n --ag-advanced-filter-option-pill-color: #5a3168;\n --ag-advanced-filter-value-pill-color: #374c86;\n --ag-row-loading-skeleton-effect-color: rgba(202, 203, 204, 0.4);\n --csstools-color-scheme--dark: initial;\n color-scheme: dark;\n}\n\n@media (prefers-color-scheme: dark) {\n .ag-theme-alpine-auto-dark {\n --ag-background-color: #181d1f;\n --ag-foreground-color: #fff;\n --ag-border-color: #68686e;\n --ag-secondary-border-color: rgba(88, 86, 82, 0.5);\n --ag-modal-overlay-background-color: rgba(24, 29, 31, 0.66);\n --ag-header-background-color: #222628;\n --ag-tooltip-background-color: #222628;\n --ag-odd-row-background-color: #222628;\n --ag-control-panel-background-color: #222628;\n --ag-subheader-background-color: #000;\n --ag-input-disabled-background-color: #282c2f;\n --ag-input-focus-box-shadow: 0 0 2px 0.5px rgba(255, 255, 255, 0.5), 0 0 4px 3px var(--ag-input-focus-border-color);\n --ag-card-shadow: 0 1px 20px 1px black;\n --ag-disabled-foreground-color: rgba(255, 255, 255, 0.5);\n --ag-chip-background-color: rgba(255, 255, 255, 0.07);\n --ag-input-disabled-border-color: rgba(104, 104, 110, 0.3);\n --ag-input-disabled-background-color: rgba(104, 104, 110, 0.07);\n --ag-advanced-filter-join-pill-color: #7a3a37;\n --ag-advanced-filter-column-pill-color: #355f2d;\n --ag-advanced-filter-option-pill-color: #5a3168;\n --ag-advanced-filter-value-pill-color: #374c86;\n --ag-row-loading-skeleton-effect-color: rgba(202, 203, 204, 0.4);\n --csstools-color-scheme--dark: initial;\n color-scheme: dark;\n }\n}\n.ag-theme-alpine .ag-filter-toolpanel-header,\n.ag-theme-alpine .ag-filter-toolpanel-search,\n.ag-theme-alpine .ag-status-bar,\n.ag-theme-alpine .ag-header-row,\n.ag-theme-alpine .ag-panel-title-bar-title,\n.ag-theme-alpine .ag-multi-filter-group-title-bar,\n.ag-theme-alpine-dark .ag-filter-toolpanel-header,\n.ag-theme-alpine-dark .ag-filter-toolpanel-search,\n.ag-theme-alpine-dark .ag-status-bar,\n.ag-theme-alpine-dark .ag-header-row,\n.ag-theme-alpine-dark .ag-panel-title-bar-title,\n.ag-theme-alpine-dark .ag-multi-filter-group-title-bar,\n.ag-theme-alpine-auto-dark .ag-filter-toolpanel-header,\n.ag-theme-alpine-auto-dark .ag-filter-toolpanel-search,\n.ag-theme-alpine-auto-dark .ag-status-bar,\n.ag-theme-alpine-auto-dark .ag-header-row,\n.ag-theme-alpine-auto-dark .ag-panel-title-bar-title,\n.ag-theme-alpine-auto-dark .ag-multi-filter-group-title-bar {\n font-weight: 700;\n color: var(--ag-header-foreground-color);\n}\n.ag-theme-alpine .ag-row,\n.ag-theme-alpine-dark .ag-row,\n.ag-theme-alpine-auto-dark .ag-row {\n font-size: calc(var(--ag-font-size) + 1px);\n}\n.ag-theme-alpine input[class^=ag-]:not([type]),\n.ag-theme-alpine input[class^=ag-][type=text],\n.ag-theme-alpine input[class^=ag-][type=number],\n.ag-theme-alpine input[class^=ag-][type=tel],\n.ag-theme-alpine input[class^=ag-][type=date],\n.ag-theme-alpine input[class^=ag-][type=datetime-local],\n.ag-theme-alpine textarea[class^=ag-],\n.ag-theme-alpine-dark input[class^=ag-]:not([type]),\n.ag-theme-alpine-dark input[class^=ag-][type=text],\n.ag-theme-alpine-dark input[class^=ag-][type=number],\n.ag-theme-alpine-dark input[class^=ag-][type=tel],\n.ag-theme-alpine-dark input[class^=ag-][type=date],\n.ag-theme-alpine-dark input[class^=ag-][type=datetime-local],\n.ag-theme-alpine-dark textarea[class^=ag-],\n.ag-theme-alpine-auto-dark input[class^=ag-]:not([type]),\n.ag-theme-alpine-auto-dark input[class^=ag-][type=text],\n.ag-theme-alpine-auto-dark input[class^=ag-][type=number],\n.ag-theme-alpine-auto-dark input[class^=ag-][type=tel],\n.ag-theme-alpine-auto-dark input[class^=ag-][type=date],\n.ag-theme-alpine-auto-dark input[class^=ag-][type=datetime-local],\n.ag-theme-alpine-auto-dark textarea[class^=ag-] {\n min-height: calc(var(--ag-grid-size) * 4);\n border-radius: var(--ag-border-radius);\n}\n.ag-theme-alpine .ag-ltr input[class^=ag-]:not([type]), .ag-theme-alpine .ag-ltr input[class^=ag-][type=text], .ag-theme-alpine .ag-ltr input[class^=ag-][type=number], .ag-theme-alpine .ag-ltr input[class^=ag-][type=tel], .ag-theme-alpine .ag-ltr input[class^=ag-][type=date], .ag-theme-alpine .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-alpine .ag-ltr textarea[class^=ag-], .ag-theme-alpine-dark .ag-ltr input[class^=ag-]:not([type]), .ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=text], .ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=number], .ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=tel], .ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=date], .ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-alpine-dark .ag-ltr textarea[class^=ag-], .ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-]:not([type]), .ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-][type=text], .ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-][type=number], .ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-][type=tel], .ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-][type=date], .ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-alpine-auto-dark .ag-ltr textarea[class^=ag-] {\n padding-left: var(--ag-grid-size);\n}\n\n.ag-theme-alpine .ag-rtl input[class^=ag-]:not([type]), .ag-theme-alpine .ag-rtl input[class^=ag-][type=text], .ag-theme-alpine .ag-rtl input[class^=ag-][type=number], .ag-theme-alpine .ag-rtl input[class^=ag-][type=tel], .ag-theme-alpine .ag-rtl input[class^=ag-][type=date], .ag-theme-alpine .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-alpine .ag-rtl textarea[class^=ag-], .ag-theme-alpine-dark .ag-rtl input[class^=ag-]:not([type]), .ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=text], .ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=number], .ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=tel], .ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=date], .ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-alpine-dark .ag-rtl textarea[class^=ag-], .ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-]:not([type]), .ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-][type=text], .ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-][type=number], .ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-][type=tel], .ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-][type=date], .ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-alpine-auto-dark .ag-rtl textarea[class^=ag-] {\n padding-right: var(--ag-grid-size);\n}\n\n.ag-theme-alpine .ag-tab,\n.ag-theme-alpine-dark .ag-tab,\n.ag-theme-alpine-auto-dark .ag-tab {\n padding: calc(var(--ag-grid-size) * 1.5);\n transition: color 0.4s;\n flex: 1 1 auto;\n}\n.ag-theme-alpine .ag-tab-selected,\n.ag-theme-alpine-dark .ag-tab-selected,\n.ag-theme-alpine-auto-dark .ag-tab-selected {\n color: var(--ag-alpine-active-color);\n}\n.ag-theme-alpine .ag-menu,\n.ag-theme-alpine-dark .ag-menu,\n.ag-theme-alpine-auto-dark .ag-menu {\n background-color: var(--ag-control-panel-background-color);\n}\n.ag-theme-alpine .ag-panel-content-wrapper .ag-column-select,\n.ag-theme-alpine-dark .ag-panel-content-wrapper .ag-column-select,\n.ag-theme-alpine-auto-dark .ag-panel-content-wrapper .ag-column-select {\n background-color: var(--ag-control-panel-background-color);\n}\n.ag-theme-alpine .ag-menu-header,\n.ag-theme-alpine-dark .ag-menu-header,\n.ag-theme-alpine-auto-dark .ag-menu-header {\n background-color: var(--ag-control-panel-background-color);\n padding-top: 1px;\n}\n.ag-theme-alpine .ag-tabs-header,\n.ag-theme-alpine-dark .ag-tabs-header,\n.ag-theme-alpine-auto-dark .ag-tabs-header {\n border-bottom: var(--ag-borders) var(--ag-border-color);\n}\n.ag-theme-alpine .ag-charts-settings-group-title-bar,\n.ag-theme-alpine .ag-charts-data-group-title-bar,\n.ag-theme-alpine .ag-charts-format-top-level-group-title-bar,\n.ag-theme-alpine .ag-charts-advanced-settings-top-level-group-title-bar,\n.ag-theme-alpine-dark .ag-charts-settings-group-title-bar,\n.ag-theme-alpine-dark .ag-charts-data-group-title-bar,\n.ag-theme-alpine-dark .ag-charts-format-top-level-group-title-bar,\n.ag-theme-alpine-dark .ag-charts-advanced-settings-top-level-group-title-bar,\n.ag-theme-alpine-auto-dark .ag-charts-settings-group-title-bar,\n.ag-theme-alpine-auto-dark .ag-charts-data-group-title-bar,\n.ag-theme-alpine-auto-dark .ag-charts-format-top-level-group-title-bar,\n.ag-theme-alpine-auto-dark .ag-charts-advanced-settings-top-level-group-title-bar {\n padding: var(--ag-grid-size) calc(var(--ag-grid-size) * 2);\n line-height: calc(var(--ag-icon-size) + var(--ag-grid-size) - 2px);\n}\n.ag-theme-alpine .ag-chart-mini-thumbnail,\n.ag-theme-alpine-dark .ag-chart-mini-thumbnail,\n.ag-theme-alpine-auto-dark .ag-chart-mini-thumbnail {\n background-color: var(--ag-background-color);\n}\n.ag-theme-alpine .ag-chart-settings-nav-bar,\n.ag-theme-alpine-dark .ag-chart-settings-nav-bar,\n.ag-theme-alpine-auto-dark .ag-chart-settings-nav-bar {\n border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n}\n.ag-theme-alpine .ag-ltr .ag-group-title-bar-icon, .ag-theme-alpine-dark .ag-ltr .ag-group-title-bar-icon, .ag-theme-alpine-auto-dark .ag-ltr .ag-group-title-bar-icon {\n margin-right: var(--ag-grid-size);\n}\n\n.ag-theme-alpine .ag-rtl .ag-group-title-bar-icon, .ag-theme-alpine-dark .ag-rtl .ag-group-title-bar-icon, .ag-theme-alpine-auto-dark .ag-rtl .ag-group-title-bar-icon {\n margin-left: var(--ag-grid-size);\n}\n\n.ag-theme-alpine .ag-charts-format-top-level-group-toolbar,\n.ag-theme-alpine .ag-charts-advanced-settings-top-level-group-toolbar,\n.ag-theme-alpine-dark .ag-charts-format-top-level-group-toolbar,\n.ag-theme-alpine-dark .ag-charts-advanced-settings-top-level-group-toolbar,\n.ag-theme-alpine-auto-dark .ag-charts-format-top-level-group-toolbar,\n.ag-theme-alpine-auto-dark .ag-charts-advanced-settings-top-level-group-toolbar {\n margin-top: var(--ag-grid-size);\n}\n.ag-theme-alpine .ag-ltr .ag-charts-format-top-level-group-toolbar, .ag-theme-alpine .ag-ltr .ag-charts-advanced-settings-top-level-group-toolbar, .ag-theme-alpine-dark .ag-ltr .ag-charts-format-top-level-group-toolbar, .ag-theme-alpine-dark .ag-ltr .ag-charts-advanced-settings-top-level-group-toolbar, .ag-theme-alpine-auto-dark .ag-ltr .ag-charts-format-top-level-group-toolbar, .ag-theme-alpine-auto-dark .ag-ltr .ag-charts-advanced-settings-top-level-group-toolbar {\n padding-left: calc(var(--ag-icon-size) * 0.5 + var(--ag-grid-size) * 2);\n}\n\n.ag-theme-alpine .ag-rtl .ag-charts-format-top-level-group-toolbar, .ag-theme-alpine .ag-rtl .ag-charts-advanced-settings-top-level-group-toolbar, .ag-theme-alpine-dark .ag-rtl .ag-charts-format-top-level-group-toolbar, .ag-theme-alpine-dark .ag-rtl .ag-charts-advanced-settings-top-level-group-toolbar, .ag-theme-alpine-auto-dark .ag-rtl .ag-charts-format-top-level-group-toolbar, .ag-theme-alpine-auto-dark .ag-rtl .ag-charts-advanced-settings-top-level-group-toolbar {\n padding-right: calc(var(--ag-icon-size) * 0.5 + var(--ag-grid-size) * 2);\n}\n\n.ag-theme-alpine .ag-charts-format-sub-level-group,\n.ag-theme-alpine-dark .ag-charts-format-sub-level-group,\n.ag-theme-alpine-auto-dark .ag-charts-format-sub-level-group {\n border-left: dashed 1px;\n border-left-color: var(--ag-border-color);\n padding-left: var(--ag-grid-size);\n margin-bottom: calc(var(--ag-grid-size) * 2);\n}\n.ag-theme-alpine .ag-charts-format-sub-level-group-title-bar,\n.ag-theme-alpine-dark .ag-charts-format-sub-level-group-title-bar,\n.ag-theme-alpine-auto-dark .ag-charts-format-sub-level-group-title-bar {\n padding-top: 0;\n padding-bottom: 0;\n background: none;\n font-weight: 700;\n}\n.ag-theme-alpine .ag-charts-format-sub-level-group-container,\n.ag-theme-alpine-dark .ag-charts-format-sub-level-group-container,\n.ag-theme-alpine-auto-dark .ag-charts-format-sub-level-group-container {\n padding-bottom: 0;\n}\n.ag-theme-alpine .ag-charts-format-sub-level-group-item:last-child,\n.ag-theme-alpine-dark .ag-charts-format-sub-level-group-item:last-child,\n.ag-theme-alpine-auto-dark .ag-charts-format-sub-level-group-item:last-child {\n margin-bottom: 0;\n}\n.ag-theme-alpine.ag-dnd-ghost,\n.ag-theme-alpine-dark.ag-dnd-ghost,\n.ag-theme-alpine-auto-dark.ag-dnd-ghost {\n font-size: calc(var(--ag-font-size) - 1px);\n font-weight: 700;\n}\n.ag-theme-alpine .ag-side-buttons,\n.ag-theme-alpine-dark .ag-side-buttons,\n.ag-theme-alpine-auto-dark .ag-side-buttons {\n width: calc(var(--ag-grid-size) * 5);\n}\n.ag-theme-alpine .ag-standard-button,\n.ag-theme-alpine-dark .ag-standard-button,\n.ag-theme-alpine-auto-dark .ag-standard-button {\n font-family: inherit;\n -moz-appearance: none;\n appearance: none;\n -webkit-appearance: none;\n border-radius: var(--ag-border-radius);\n border: 1px solid;\n border-color: var(--ag-alpine-active-color);\n color: var(--ag-alpine-active-color);\n background-color: var(--ag-background-color);\n font-weight: 600;\n padding: var(--ag-grid-size) calc(var(--ag-grid-size) * 2);\n}\n.ag-theme-alpine .ag-standard-button:hover,\n.ag-theme-alpine-dark .ag-standard-button:hover,\n.ag-theme-alpine-auto-dark .ag-standard-button:hover {\n border-color: var(--ag-alpine-active-color);\n background-color: var(--ag-row-hover-color);\n}\n.ag-theme-alpine .ag-standard-button:active,\n.ag-theme-alpine-dark .ag-standard-button:active,\n.ag-theme-alpine-auto-dark .ag-standard-button:active {\n border-color: var(--ag-alpine-active-color);\n background-color: var(--ag-alpine-active-color);\n color: var(--ag-background-color);\n}\n.ag-theme-alpine .ag-standard-button:disabled,\n.ag-theme-alpine-dark .ag-standard-button:disabled,\n.ag-theme-alpine-auto-dark .ag-standard-button:disabled {\n color: var(--ag-disabled-foreground-color);\n background-color: var(--ag-input-disabled-background-color);\n border-color: var(--ag-input-disabled-border-color);\n}\n.ag-theme-alpine .ag-column-drop-vertical,\n.ag-theme-alpine-dark .ag-column-drop-vertical,\n.ag-theme-alpine-auto-dark .ag-column-drop-vertical {\n min-height: 75px;\n}\n.ag-theme-alpine .ag-column-drop-vertical-title-bar,\n.ag-theme-alpine-dark .ag-column-drop-vertical-title-bar,\n.ag-theme-alpine-auto-dark .ag-column-drop-vertical-title-bar {\n padding: calc(var(--ag-grid-size) * 2);\n padding-bottom: 0px;\n}\n.ag-theme-alpine .ag-column-drop-vertical-empty-message,\n.ag-theme-alpine-dark .ag-column-drop-vertical-empty-message,\n.ag-theme-alpine-auto-dark .ag-column-drop-vertical-empty-message {\n display: flex;\n align-items: center;\n border: dashed 1px;\n border-color: var(--ag-border-color);\n margin: calc(var(--ag-grid-size) * 2);\n padding: calc(var(--ag-grid-size) * 2);\n}\n.ag-theme-alpine .ag-column-drop-empty-message,\n.ag-theme-alpine-dark .ag-column-drop-empty-message,\n.ag-theme-alpine-auto-dark .ag-column-drop-empty-message {\n color: var(--ag-foreground-color);\n opacity: 0.75;\n}\n.ag-theme-alpine .ag-pill-select .ag-column-drop,\n.ag-theme-alpine-dark .ag-pill-select .ag-column-drop,\n.ag-theme-alpine-auto-dark .ag-pill-select .ag-column-drop {\n min-height: 0;\n min-height: initial;\n}\n.ag-theme-alpine .ag-status-bar,\n.ag-theme-alpine-dark .ag-status-bar,\n.ag-theme-alpine-auto-dark .ag-status-bar {\n font-weight: normal;\n}\n.ag-theme-alpine .ag-status-name-value-value,\n.ag-theme-alpine-dark .ag-status-name-value-value,\n.ag-theme-alpine-auto-dark .ag-status-name-value-value {\n font-weight: 700;\n}\n.ag-theme-alpine .ag-paging-number,\n.ag-theme-alpine .ag-paging-row-summary-panel-number,\n.ag-theme-alpine-dark .ag-paging-number,\n.ag-theme-alpine-dark .ag-paging-row-summary-panel-number,\n.ag-theme-alpine-auto-dark .ag-paging-number,\n.ag-theme-alpine-auto-dark .ag-paging-row-summary-panel-number {\n font-weight: 700;\n}\n.ag-theme-alpine .ag-column-drop-cell-button,\n.ag-theme-alpine-dark .ag-column-drop-cell-button,\n.ag-theme-alpine-auto-dark .ag-column-drop-cell-button {\n opacity: 0.5;\n}\n.ag-theme-alpine .ag-column-drop-cell-button:hover,\n.ag-theme-alpine-dark .ag-column-drop-cell-button:hover,\n.ag-theme-alpine-auto-dark .ag-column-drop-cell-button:hover {\n opacity: 0.75;\n}\n.ag-theme-alpine .ag-column-select-column-readonly.ag-icon-grip,\n.ag-theme-alpine .ag-column-select-column-readonly .ag-icon-grip,\n.ag-theme-alpine-dark .ag-column-select-column-readonly.ag-icon-grip,\n.ag-theme-alpine-dark .ag-column-select-column-readonly .ag-icon-grip,\n.ag-theme-alpine-auto-dark .ag-column-select-column-readonly.ag-icon-grip,\n.ag-theme-alpine-auto-dark .ag-column-select-column-readonly .ag-icon-grip {\n opacity: 0.35;\n}\n.ag-theme-alpine .ag-header-cell-menu-button:hover,\n.ag-theme-alpine .ag-header-cell-filter-button:hover,\n.ag-theme-alpine .ag-side-button-button:hover,\n.ag-theme-alpine .ag-tab:hover,\n.ag-theme-alpine .ag-panel-title-bar-button:hover,\n.ag-theme-alpine .ag-header-expand-icon:hover,\n.ag-theme-alpine .ag-column-group-icons:hover,\n.ag-theme-alpine .ag-set-filter-group-icons:hover,\n.ag-theme-alpine .ag-group-expanded .ag-icon:hover,\n.ag-theme-alpine .ag-group-contracted .ag-icon:hover,\n.ag-theme-alpine .ag-chart-settings-prev:hover,\n.ag-theme-alpine .ag-chart-settings-next:hover,\n.ag-theme-alpine .ag-group-title-bar-icon:hover,\n.ag-theme-alpine .ag-column-select-header-icon:hover,\n.ag-theme-alpine .ag-floating-filter-button-button:hover,\n.ag-theme-alpine .ag-filter-toolpanel-expand:hover,\n.ag-theme-alpine .ag-chart-menu-icon:hover,\n.ag-theme-alpine-dark .ag-header-cell-menu-button:hover,\n.ag-theme-alpine-dark .ag-header-cell-filter-button:hover,\n.ag-theme-alpine-dark .ag-side-button-button:hover,\n.ag-theme-alpine-dark .ag-tab:hover,\n.ag-theme-alpine-dark .ag-panel-title-bar-button:hover,\n.ag-theme-alpine-dark .ag-header-expand-icon:hover,\n.ag-theme-alpine-dark .ag-column-group-icons:hover,\n.ag-theme-alpine-dark .ag-set-filter-group-icons:hover,\n.ag-theme-alpine-dark .ag-group-expanded .ag-icon:hover,\n.ag-theme-alpine-dark .ag-group-contracted .ag-icon:hover,\n.ag-theme-alpine-dark .ag-chart-settings-prev:hover,\n.ag-theme-alpine-dark .ag-chart-settings-next:hover,\n.ag-theme-alpine-dark .ag-group-title-bar-icon:hover,\n.ag-theme-alpine-dark .ag-column-select-header-icon:hover,\n.ag-theme-alpine-dark .ag-floating-filter-button-button:hover,\n.ag-theme-alpine-dark .ag-filter-toolpanel-expand:hover,\n.ag-theme-alpine-dark .ag-chart-menu-icon:hover,\n.ag-theme-alpine-auto-dark .ag-header-cell-menu-button:hover,\n.ag-theme-alpine-auto-dark .ag-header-cell-filter-button:hover,\n.ag-theme-alpine-auto-dark .ag-side-button-button:hover,\n.ag-theme-alpine-auto-dark .ag-tab:hover,\n.ag-theme-alpine-auto-dark .ag-panel-title-bar-button:hover,\n.ag-theme-alpine-auto-dark .ag-header-expand-icon:hover,\n.ag-theme-alpine-auto-dark .ag-column-group-icons:hover,\n.ag-theme-alpine-auto-dark .ag-set-filter-group-icons:hover,\n.ag-theme-alpine-auto-dark .ag-group-expanded .ag-icon:hover,\n.ag-theme-alpine-auto-dark .ag-group-contracted .ag-icon:hover,\n.ag-theme-alpine-auto-dark .ag-chart-settings-prev:hover,\n.ag-theme-alpine-auto-dark .ag-chart-settings-next:hover,\n.ag-theme-alpine-auto-dark .ag-group-title-bar-icon:hover,\n.ag-theme-alpine-auto-dark .ag-column-select-header-icon:hover,\n.ag-theme-alpine-auto-dark .ag-floating-filter-button-button:hover,\n.ag-theme-alpine-auto-dark .ag-filter-toolpanel-expand:hover,\n.ag-theme-alpine-auto-dark .ag-chart-menu-icon:hover {\n color: var(--ag-alpine-active-color);\n}\n.ag-theme-alpine .ag-header-cell-menu-button:hover .ag-icon,\n.ag-theme-alpine .ag-header-cell-filter-button:hover .ag-icon,\n.ag-theme-alpine .ag-side-button-button:hover .ag-icon,\n.ag-theme-alpine .ag-panel-title-bar-button:hover .ag-icon,\n.ag-theme-alpine .ag-floating-filter-button-button:hover .ag-icon,\n.ag-theme-alpine-dark .ag-header-cell-menu-button:hover .ag-icon,\n.ag-theme-alpine-dark .ag-header-cell-filter-button:hover .ag-icon,\n.ag-theme-alpine-dark .ag-side-button-button:hover .ag-icon,\n.ag-theme-alpine-dark .ag-panel-title-bar-button:hover .ag-icon,\n.ag-theme-alpine-dark .ag-floating-filter-button-button:hover .ag-icon,\n.ag-theme-alpine-auto-dark .ag-header-cell-menu-button:hover .ag-icon,\n.ag-theme-alpine-auto-dark .ag-header-cell-filter-button:hover .ag-icon,\n.ag-theme-alpine-auto-dark .ag-side-button-button:hover .ag-icon,\n.ag-theme-alpine-auto-dark .ag-panel-title-bar-button:hover .ag-icon,\n.ag-theme-alpine-auto-dark .ag-floating-filter-button-button:hover .ag-icon {\n color: inherit;\n}\n.ag-theme-alpine .ag-filter-active .ag-icon-filter,\n.ag-theme-alpine-dark .ag-filter-active .ag-icon-filter,\n.ag-theme-alpine-auto-dark .ag-filter-active .ag-icon-filter {\n color: var(--ag-alpine-active-color);\n}\n.ag-theme-alpine .ag-chart-settings-card-item.ag-not-selected:hover,\n.ag-theme-alpine-dark .ag-chart-settings-card-item.ag-not-selected:hover,\n.ag-theme-alpine-auto-dark .ag-chart-settings-card-item.ag-not-selected:hover {\n opacity: 0.35;\n}\n.ag-theme-alpine .ag-ltr .ag-panel-title-bar-button, .ag-theme-alpine-dark .ag-ltr .ag-panel-title-bar-button, .ag-theme-alpine-auto-dark .ag-ltr .ag-panel-title-bar-button {\n margin-left: calc(var(--ag-grid-size) * 2);\n margin-right: var(--ag-grid-size);\n}\n\n.ag-theme-alpine .ag-rtl .ag-panel-title-bar-button, .ag-theme-alpine-dark .ag-rtl .ag-panel-title-bar-button, .ag-theme-alpine-auto-dark .ag-rtl .ag-panel-title-bar-button {\n margin-right: calc(var(--ag-grid-size) * 2);\n margin-left: var(--ag-grid-size);\n}\n\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group-container, .ag-theme-alpine-dark .ag-ltr .ag-filter-toolpanel-group-container, .ag-theme-alpine-auto-dark .ag-ltr .ag-filter-toolpanel-group-container {\n padding-left: var(--ag-grid-size);\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group-container, .ag-theme-alpine-dark .ag-rtl .ag-filter-toolpanel-group-container, .ag-theme-alpine-auto-dark .ag-rtl .ag-filter-toolpanel-group-container {\n padding-right: var(--ag-grid-size);\n}\n\n.ag-theme-alpine .ag-filter-toolpanel-instance-filter,\n.ag-theme-alpine-dark .ag-filter-toolpanel-instance-filter,\n.ag-theme-alpine-auto-dark .ag-filter-toolpanel-instance-filter {\n border: none;\n background-color: var(--ag-control-panel-background-color);\n}\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-instance-filter, .ag-theme-alpine-dark .ag-ltr .ag-filter-toolpanel-instance-filter, .ag-theme-alpine-auto-dark .ag-ltr .ag-filter-toolpanel-instance-filter {\n border-left: dashed 1px;\n border-left-color: var(--ag-border-color);\n margin-left: calc(var(--ag-icon-size) * 0.5);\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-instance-filter, .ag-theme-alpine-dark .ag-rtl .ag-filter-toolpanel-instance-filter, .ag-theme-alpine-auto-dark .ag-rtl .ag-filter-toolpanel-instance-filter {\n border-right: dashed 1px;\n border-right-color: var(--ag-border-color);\n margin-right: calc(var(--ag-icon-size) * 0.5);\n}\n\n.ag-theme-alpine .ag-set-filter-list,\n.ag-theme-alpine-dark .ag-set-filter-list,\n.ag-theme-alpine-auto-dark .ag-set-filter-list {\n padding-top: calc(var(--ag-grid-size) * 0.5);\n padding-bottom: calc(var(--ag-grid-size) * 0.5);\n}\n.ag-theme-alpine .ag-layout-auto-height .ag-center-cols-viewport,\n.ag-theme-alpine .ag-layout-auto-height .ag-center-cols-container,\n.ag-theme-alpine .ag-layout-print .ag-center-cols-viewport,\n.ag-theme-alpine .ag-layout-print .ag-center-cols-container,\n.ag-theme-alpine-dark .ag-layout-auto-height .ag-center-cols-viewport,\n.ag-theme-alpine-dark .ag-layout-auto-height .ag-center-cols-container,\n.ag-theme-alpine-dark .ag-layout-print .ag-center-cols-viewport,\n.ag-theme-alpine-dark .ag-layout-print .ag-center-cols-container,\n.ag-theme-alpine-auto-dark .ag-layout-auto-height .ag-center-cols-viewport,\n.ag-theme-alpine-auto-dark .ag-layout-auto-height .ag-center-cols-container,\n.ag-theme-alpine-auto-dark .ag-layout-print .ag-center-cols-viewport,\n.ag-theme-alpine-auto-dark .ag-layout-print .ag-center-cols-container {\n min-height: 150px;\n}\n.ag-theme-alpine .ag-overlay-no-rows-wrapper.ag-layout-auto-height,\n.ag-theme-alpine-dark .ag-overlay-no-rows-wrapper.ag-layout-auto-height,\n.ag-theme-alpine-auto-dark .ag-overlay-no-rows-wrapper.ag-layout-auto-height {\n padding-top: 60px;\n}\n.ag-theme-alpine .ag-date-time-list-page-entry-is-current,\n.ag-theme-alpine-dark .ag-date-time-list-page-entry-is-current,\n.ag-theme-alpine-auto-dark .ag-date-time-list-page-entry-is-current {\n background-color: var(--ag-alpine-active-color);\n}\n.ag-theme-alpine .ag-advanced-filter-builder-button,\n.ag-theme-alpine-dark .ag-advanced-filter-builder-button,\n.ag-theme-alpine-auto-dark .ag-advanced-filter-builder-button {\n padding: var(--ag-grid-size);\n font-weight: 600;\n}\n',""]),t.A=o},7521:function(e,t,i){"use strict";var a=i(6758),n=i.n(a),r=i(935),o=i.n(r),s=i(62),l=i.n(s),c=new URL(i(8430),i.b),d=o()(n()),h=l()(c);d.push([e.id,'@font-face {\n font-family: "agGridAlpine";\n src: url('+h+');\n font-weight: normal;\n font-style: normal;\n}\n.ag-theme-alpine,\n.ag-theme-alpine-dark,\n.ag-theme-alpine-auto-dark {\n --ag-alpine-active-color: #2196f3;\n --ag-selected-row-background-color: rgba(33, 150, 243, 0.3);\n --ag-row-hover-color: rgba(33, 150, 243, 0.1);\n --ag-column-hover-color: rgba(33, 150, 243, 0.1);\n --ag-input-focus-border-color: rgba(33, 150, 243, 0.4);\n --ag-range-selection-background-color: rgba(33, 150, 243, 0.2);\n --ag-range-selection-background-color-2: rgba(33, 150, 243, 0.36);\n --ag-range-selection-background-color-3: rgba(33, 150, 243, 0.49);\n --ag-range-selection-background-color-4: rgba(33, 150, 243, 0.59);\n --ag-background-color: #fff;\n --ag-foreground-color: #181d1f;\n --ag-border-color: #babfc7;\n --ag-secondary-border-color: #dde2eb;\n --ag-header-background-color: #f8f8f8;\n --ag-tooltip-background-color: #f8f8f8;\n --ag-odd-row-background-color: #fcfcfc;\n --ag-control-panel-background-color: #f8f8f8;\n --ag-subheader-background-color: #fff;\n --ag-invalid-color: #e02525;\n --ag-checkbox-unchecked-color: #999;\n --ag-advanced-filter-join-pill-color: #f08e8d;\n --ag-advanced-filter-column-pill-color: #a6e194;\n --ag-advanced-filter-option-pill-color: #f3c08b;\n --ag-advanced-filter-value-pill-color: #85c0e4;\n --ag-checkbox-background-color: var(--ag-background-color);\n --ag-checkbox-checked-color: var(--ag-alpine-active-color);\n --ag-range-selection-border-color: var(--ag-alpine-active-color);\n --ag-secondary-foreground-color: var(--ag-foreground-color);\n --ag-input-border-color: var(--ag-border-color);\n --ag-input-border-color-invalid: var(--ag-invalid-color);\n --ag-input-focus-box-shadow: 0 0 2px 0.1rem var(--ag-input-focus-border-color);\n --ag-panel-background-color: var(--ag-header-background-color);\n --ag-menu-background-color: var(--ag-header-background-color);\n --ag-disabled-foreground-color: rgba(24, 29, 31, 0.5);\n --ag-chip-background-color: rgba(24, 29, 31, 0.07);\n --ag-input-disabled-border-color: rgba(186, 191, 199, 0.3);\n --ag-input-disabled-background-color: rgba(186, 191, 199, 0.15);\n --ag-borders: solid 1px;\n --ag-border-radius: 3px;\n --ag-borders-side-button: none;\n --ag-side-button-selected-background-color: transparent;\n --ag-header-column-resize-handle-display: block;\n --ag-header-column-resize-handle-width: 2px;\n --ag-header-column-resize-handle-height: 30%;\n --ag-grid-size: 6px;\n --ag-icon-size: 16px;\n --ag-row-height: calc(var(--ag-grid-size) * 7);\n --ag-header-height: calc(var(--ag-grid-size) * 8);\n --ag-list-item-height: calc(var(--ag-grid-size) * 4);\n --ag-column-select-indent-size: var(--ag-icon-size);\n --ag-set-filter-indent-size: var(--ag-icon-size);\n --ag-advanced-filter-builder-indent-size: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);\n --ag-cell-horizontal-padding: calc(var(--ag-grid-size) * 3);\n --ag-cell-widget-spacing: calc(var(--ag-grid-size) * 2);\n --ag-widget-container-vertical-padding: calc(var(--ag-grid-size) * 2);\n --ag-widget-container-horizontal-padding: calc(var(--ag-grid-size) * 2);\n --ag-widget-vertical-spacing: calc(var(--ag-grid-size) * 1.5);\n --ag-toggle-button-height: 18px;\n --ag-toggle-button-width: 28px;\n --ag-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell,\n "Helvetica Neue", sans-serif;\n --ag-font-size: 13px;\n --ag-icon-font-family: agGridAlpine;\n --ag-selected-tab-underline-color: var(--ag-alpine-active-color);\n --ag-selected-tab-underline-width: 2px;\n --ag-selected-tab-underline-transition-speed: 0.3s;\n --ag-tab-min-width: 240px;\n --ag-card-shadow: 0 1px 4px 1px rgba(186, 191, 199, 0.4);\n --ag-popup-shadow: var(--ag-card-shadow);\n --ag-side-bar-panel-width: 250px;\n}\n\n.ag-theme-alpine-dark {\n --ag-background-color: #181d1f;\n --ag-foreground-color: #fff;\n --ag-border-color: #68686e;\n --ag-secondary-border-color: rgba(88, 86, 82, 0.5);\n --ag-modal-overlay-background-color: rgba(24, 29, 31, 0.66);\n --ag-header-background-color: #222628;\n --ag-tooltip-background-color: #222628;\n --ag-odd-row-background-color: #222628;\n --ag-control-panel-background-color: #222628;\n --ag-subheader-background-color: #000;\n --ag-input-disabled-background-color: #282c2f;\n --ag-input-focus-box-shadow: 0 0 2px 0.5px rgba(255, 255, 255, 0.5), 0 0 4px 3px var(--ag-input-focus-border-color);\n --ag-card-shadow: 0 1px 20px 1px black;\n --ag-disabled-foreground-color: rgba(255, 255, 255, 0.5);\n --ag-chip-background-color: rgba(255, 255, 255, 0.07);\n --ag-input-disabled-border-color: rgba(104, 104, 110, 0.3);\n --ag-input-disabled-background-color: rgba(104, 104, 110, 0.07);\n --ag-advanced-filter-join-pill-color: #7a3a37;\n --ag-advanced-filter-column-pill-color: #355f2d;\n --ag-advanced-filter-option-pill-color: #5a3168;\n --ag-advanced-filter-value-pill-color: #374c86;\n --ag-row-loading-skeleton-effect-color: rgba(202, 203, 204, 0.4);\n --csstools-color-scheme--dark: initial;\n color-scheme: dark;\n}\n\n@media (prefers-color-scheme: dark) {\n .ag-theme-alpine-auto-dark {\n --ag-background-color: #181d1f;\n --ag-foreground-color: #fff;\n --ag-border-color: #68686e;\n --ag-secondary-border-color: rgba(88, 86, 82, 0.5);\n --ag-modal-overlay-background-color: rgba(24, 29, 31, 0.66);\n --ag-header-background-color: #222628;\n --ag-tooltip-background-color: #222628;\n --ag-odd-row-background-color: #222628;\n --ag-control-panel-background-color: #222628;\n --ag-subheader-background-color: #000;\n --ag-input-disabled-background-color: #282c2f;\n --ag-input-focus-box-shadow: 0 0 2px 0.5px rgba(255, 255, 255, 0.5), 0 0 4px 3px var(--ag-input-focus-border-color);\n --ag-card-shadow: 0 1px 20px 1px black;\n --ag-disabled-foreground-color: rgba(255, 255, 255, 0.5);\n --ag-chip-background-color: rgba(255, 255, 255, 0.07);\n --ag-input-disabled-border-color: rgba(104, 104, 110, 0.3);\n --ag-input-disabled-background-color: rgba(104, 104, 110, 0.07);\n --ag-advanced-filter-join-pill-color: #7a3a37;\n --ag-advanced-filter-column-pill-color: #355f2d;\n --ag-advanced-filter-option-pill-color: #5a3168;\n --ag-advanced-filter-value-pill-color: #374c86;\n --ag-row-loading-skeleton-effect-color: rgba(202, 203, 204, 0.4);\n --csstools-color-scheme--dark: initial;\n color-scheme: dark;\n }\n}\n.ag-theme-alpine .ag-filter-toolpanel-header,\n.ag-theme-alpine .ag-filter-toolpanel-search,\n.ag-theme-alpine .ag-status-bar,\n.ag-theme-alpine .ag-header-row,\n.ag-theme-alpine .ag-panel-title-bar-title,\n.ag-theme-alpine .ag-multi-filter-group-title-bar,\n.ag-theme-alpine-dark .ag-filter-toolpanel-header,\n.ag-theme-alpine-dark .ag-filter-toolpanel-search,\n.ag-theme-alpine-dark .ag-status-bar,\n.ag-theme-alpine-dark .ag-header-row,\n.ag-theme-alpine-dark .ag-panel-title-bar-title,\n.ag-theme-alpine-dark .ag-multi-filter-group-title-bar,\n.ag-theme-alpine-auto-dark .ag-filter-toolpanel-header,\n.ag-theme-alpine-auto-dark .ag-filter-toolpanel-search,\n.ag-theme-alpine-auto-dark .ag-status-bar,\n.ag-theme-alpine-auto-dark .ag-header-row,\n.ag-theme-alpine-auto-dark .ag-panel-title-bar-title,\n.ag-theme-alpine-auto-dark .ag-multi-filter-group-title-bar {\n font-weight: 700;\n color: var(--ag-header-foreground-color);\n}\n.ag-theme-alpine .ag-row,\n.ag-theme-alpine-dark .ag-row,\n.ag-theme-alpine-auto-dark .ag-row {\n font-size: calc(var(--ag-font-size) + 1px);\n}\n.ag-theme-alpine input[class^=ag-]:not([type]),\n.ag-theme-alpine input[class^=ag-][type=text],\n.ag-theme-alpine input[class^=ag-][type=number],\n.ag-theme-alpine input[class^=ag-][type=tel],\n.ag-theme-alpine input[class^=ag-][type=date],\n.ag-theme-alpine input[class^=ag-][type=datetime-local],\n.ag-theme-alpine textarea[class^=ag-],\n.ag-theme-alpine-dark input[class^=ag-]:not([type]),\n.ag-theme-alpine-dark input[class^=ag-][type=text],\n.ag-theme-alpine-dark input[class^=ag-][type=number],\n.ag-theme-alpine-dark input[class^=ag-][type=tel],\n.ag-theme-alpine-dark input[class^=ag-][type=date],\n.ag-theme-alpine-dark input[class^=ag-][type=datetime-local],\n.ag-theme-alpine-dark textarea[class^=ag-],\n.ag-theme-alpine-auto-dark input[class^=ag-]:not([type]),\n.ag-theme-alpine-auto-dark input[class^=ag-][type=text],\n.ag-theme-alpine-auto-dark input[class^=ag-][type=number],\n.ag-theme-alpine-auto-dark input[class^=ag-][type=tel],\n.ag-theme-alpine-auto-dark input[class^=ag-][type=date],\n.ag-theme-alpine-auto-dark input[class^=ag-][type=datetime-local],\n.ag-theme-alpine-auto-dark textarea[class^=ag-] {\n min-height: calc(var(--ag-grid-size) * 4);\n border-radius: var(--ag-border-radius);\n}\n.ag-theme-alpine .ag-ltr input[class^=ag-]:not([type]), .ag-theme-alpine .ag-ltr input[class^=ag-][type=text], .ag-theme-alpine .ag-ltr input[class^=ag-][type=number], .ag-theme-alpine .ag-ltr input[class^=ag-][type=tel], .ag-theme-alpine .ag-ltr input[class^=ag-][type=date], .ag-theme-alpine .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-alpine .ag-ltr textarea[class^=ag-], .ag-theme-alpine-dark .ag-ltr input[class^=ag-]:not([type]), .ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=text], .ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=number], .ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=tel], .ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=date], .ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-alpine-dark .ag-ltr textarea[class^=ag-], .ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-]:not([type]), .ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-][type=text], .ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-][type=number], .ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-][type=tel], .ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-][type=date], .ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-alpine-auto-dark .ag-ltr textarea[class^=ag-] {\n padding-left: var(--ag-grid-size);\n}\n\n.ag-theme-alpine .ag-rtl input[class^=ag-]:not([type]), .ag-theme-alpine .ag-rtl input[class^=ag-][type=text], .ag-theme-alpine .ag-rtl input[class^=ag-][type=number], .ag-theme-alpine .ag-rtl input[class^=ag-][type=tel], .ag-theme-alpine .ag-rtl input[class^=ag-][type=date], .ag-theme-alpine .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-alpine .ag-rtl textarea[class^=ag-], .ag-theme-alpine-dark .ag-rtl input[class^=ag-]:not([type]), .ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=text], .ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=number], .ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=tel], .ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=date], .ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-alpine-dark .ag-rtl textarea[class^=ag-], .ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-]:not([type]), .ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-][type=text], .ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-][type=number], .ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-][type=tel], .ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-][type=date], .ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-alpine-auto-dark .ag-rtl textarea[class^=ag-] {\n padding-right: var(--ag-grid-size);\n}\n\n.ag-theme-alpine .ag-tab,\n.ag-theme-alpine-dark .ag-tab,\n.ag-theme-alpine-auto-dark .ag-tab {\n padding: calc(var(--ag-grid-size) * 1.5);\n transition: color 0.4s;\n flex: 1 1 auto;\n}\n.ag-theme-alpine .ag-tab-selected,\n.ag-theme-alpine-dark .ag-tab-selected,\n.ag-theme-alpine-auto-dark .ag-tab-selected {\n color: var(--ag-alpine-active-color);\n}\n.ag-theme-alpine .ag-menu,\n.ag-theme-alpine-dark .ag-menu,\n.ag-theme-alpine-auto-dark .ag-menu {\n background-color: var(--ag-control-panel-background-color);\n}\n.ag-theme-alpine .ag-panel-content-wrapper .ag-column-select,\n.ag-theme-alpine-dark .ag-panel-content-wrapper .ag-column-select,\n.ag-theme-alpine-auto-dark .ag-panel-content-wrapper .ag-column-select {\n background-color: var(--ag-control-panel-background-color);\n}\n.ag-theme-alpine .ag-menu-header,\n.ag-theme-alpine-dark .ag-menu-header,\n.ag-theme-alpine-auto-dark .ag-menu-header {\n background-color: var(--ag-control-panel-background-color);\n padding-top: 1px;\n}\n.ag-theme-alpine .ag-tabs-header,\n.ag-theme-alpine-dark .ag-tabs-header,\n.ag-theme-alpine-auto-dark .ag-tabs-header {\n border-bottom: var(--ag-borders) var(--ag-border-color);\n}\n.ag-theme-alpine .ag-charts-settings-group-title-bar,\n.ag-theme-alpine .ag-charts-data-group-title-bar,\n.ag-theme-alpine .ag-charts-format-top-level-group-title-bar,\n.ag-theme-alpine .ag-charts-advanced-settings-top-level-group-title-bar,\n.ag-theme-alpine-dark .ag-charts-settings-group-title-bar,\n.ag-theme-alpine-dark .ag-charts-data-group-title-bar,\n.ag-theme-alpine-dark .ag-charts-format-top-level-group-title-bar,\n.ag-theme-alpine-dark .ag-charts-advanced-settings-top-level-group-title-bar,\n.ag-theme-alpine-auto-dark .ag-charts-settings-group-title-bar,\n.ag-theme-alpine-auto-dark .ag-charts-data-group-title-bar,\n.ag-theme-alpine-auto-dark .ag-charts-format-top-level-group-title-bar,\n.ag-theme-alpine-auto-dark .ag-charts-advanced-settings-top-level-group-title-bar {\n padding: var(--ag-grid-size) calc(var(--ag-grid-size) * 2);\n line-height: calc(var(--ag-icon-size) + var(--ag-grid-size) - 2px);\n}\n.ag-theme-alpine .ag-chart-mini-thumbnail,\n.ag-theme-alpine-dark .ag-chart-mini-thumbnail,\n.ag-theme-alpine-auto-dark .ag-chart-mini-thumbnail {\n background-color: var(--ag-background-color);\n}\n.ag-theme-alpine .ag-chart-settings-nav-bar,\n.ag-theme-alpine-dark .ag-chart-settings-nav-bar,\n.ag-theme-alpine-auto-dark .ag-chart-settings-nav-bar {\n border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n}\n.ag-theme-alpine .ag-ltr .ag-group-title-bar-icon, .ag-theme-alpine-dark .ag-ltr .ag-group-title-bar-icon, .ag-theme-alpine-auto-dark .ag-ltr .ag-group-title-bar-icon {\n margin-right: var(--ag-grid-size);\n}\n\n.ag-theme-alpine .ag-rtl .ag-group-title-bar-icon, .ag-theme-alpine-dark .ag-rtl .ag-group-title-bar-icon, .ag-theme-alpine-auto-dark .ag-rtl .ag-group-title-bar-icon {\n margin-left: var(--ag-grid-size);\n}\n\n.ag-theme-alpine .ag-charts-format-top-level-group-toolbar,\n.ag-theme-alpine .ag-charts-advanced-settings-top-level-group-toolbar,\n.ag-theme-alpine-dark .ag-charts-format-top-level-group-toolbar,\n.ag-theme-alpine-dark .ag-charts-advanced-settings-top-level-group-toolbar,\n.ag-theme-alpine-auto-dark .ag-charts-format-top-level-group-toolbar,\n.ag-theme-alpine-auto-dark .ag-charts-advanced-settings-top-level-group-toolbar {\n margin-top: var(--ag-grid-size);\n}\n.ag-theme-alpine .ag-ltr .ag-charts-format-top-level-group-toolbar, .ag-theme-alpine .ag-ltr .ag-charts-advanced-settings-top-level-group-toolbar, .ag-theme-alpine-dark .ag-ltr .ag-charts-format-top-level-group-toolbar, .ag-theme-alpine-dark .ag-ltr .ag-charts-advanced-settings-top-level-group-toolbar, .ag-theme-alpine-auto-dark .ag-ltr .ag-charts-format-top-level-group-toolbar, .ag-theme-alpine-auto-dark .ag-ltr .ag-charts-advanced-settings-top-level-group-toolbar {\n padding-left: calc(var(--ag-icon-size) * 0.5 + var(--ag-grid-size) * 2);\n}\n\n.ag-theme-alpine .ag-rtl .ag-charts-format-top-level-group-toolbar, .ag-theme-alpine .ag-rtl .ag-charts-advanced-settings-top-level-group-toolbar, .ag-theme-alpine-dark .ag-rtl .ag-charts-format-top-level-group-toolbar, .ag-theme-alpine-dark .ag-rtl .ag-charts-advanced-settings-top-level-group-toolbar, .ag-theme-alpine-auto-dark .ag-rtl .ag-charts-format-top-level-group-toolbar, .ag-theme-alpine-auto-dark .ag-rtl .ag-charts-advanced-settings-top-level-group-toolbar {\n padding-right: calc(var(--ag-icon-size) * 0.5 + var(--ag-grid-size) * 2);\n}\n\n.ag-theme-alpine .ag-charts-format-sub-level-group,\n.ag-theme-alpine-dark .ag-charts-format-sub-level-group,\n.ag-theme-alpine-auto-dark .ag-charts-format-sub-level-group {\n border-left: dashed 1px;\n border-left-color: var(--ag-border-color);\n padding-left: var(--ag-grid-size);\n margin-bottom: calc(var(--ag-grid-size) * 2);\n}\n.ag-theme-alpine .ag-charts-format-sub-level-group-title-bar,\n.ag-theme-alpine-dark .ag-charts-format-sub-level-group-title-bar,\n.ag-theme-alpine-auto-dark .ag-charts-format-sub-level-group-title-bar {\n padding-top: 0;\n padding-bottom: 0;\n background: none;\n font-weight: 700;\n}\n.ag-theme-alpine .ag-charts-format-sub-level-group-container,\n.ag-theme-alpine-dark .ag-charts-format-sub-level-group-container,\n.ag-theme-alpine-auto-dark .ag-charts-format-sub-level-group-container {\n padding-bottom: 0;\n}\n.ag-theme-alpine .ag-charts-format-sub-level-group-item:last-child,\n.ag-theme-alpine-dark .ag-charts-format-sub-level-group-item:last-child,\n.ag-theme-alpine-auto-dark .ag-charts-format-sub-level-group-item:last-child {\n margin-bottom: 0;\n}\n.ag-theme-alpine.ag-dnd-ghost,\n.ag-theme-alpine-dark.ag-dnd-ghost,\n.ag-theme-alpine-auto-dark.ag-dnd-ghost {\n font-size: calc(var(--ag-font-size) - 1px);\n font-weight: 700;\n}\n.ag-theme-alpine .ag-side-buttons,\n.ag-theme-alpine-dark .ag-side-buttons,\n.ag-theme-alpine-auto-dark .ag-side-buttons {\n width: calc(var(--ag-grid-size) * 5);\n}\n.ag-theme-alpine .ag-standard-button,\n.ag-theme-alpine-dark .ag-standard-button,\n.ag-theme-alpine-auto-dark .ag-standard-button {\n font-family: inherit;\n -moz-appearance: none;\n appearance: none;\n -webkit-appearance: none;\n border-radius: var(--ag-border-radius);\n border: 1px solid;\n border-color: var(--ag-alpine-active-color);\n color: var(--ag-alpine-active-color);\n background-color: var(--ag-background-color);\n font-weight: 600;\n padding: var(--ag-grid-size) calc(var(--ag-grid-size) * 2);\n}\n.ag-theme-alpine .ag-standard-button:hover,\n.ag-theme-alpine-dark .ag-standard-button:hover,\n.ag-theme-alpine-auto-dark .ag-standard-button:hover {\n border-color: var(--ag-alpine-active-color);\n background-color: var(--ag-row-hover-color);\n}\n.ag-theme-alpine .ag-standard-button:active,\n.ag-theme-alpine-dark .ag-standard-button:active,\n.ag-theme-alpine-auto-dark .ag-standard-button:active {\n border-color: var(--ag-alpine-active-color);\n background-color: var(--ag-alpine-active-color);\n color: var(--ag-background-color);\n}\n.ag-theme-alpine .ag-standard-button:disabled,\n.ag-theme-alpine-dark .ag-standard-button:disabled,\n.ag-theme-alpine-auto-dark .ag-standard-button:disabled {\n color: var(--ag-disabled-foreground-color);\n background-color: var(--ag-input-disabled-background-color);\n border-color: var(--ag-input-disabled-border-color);\n}\n.ag-theme-alpine .ag-column-drop-vertical,\n.ag-theme-alpine-dark .ag-column-drop-vertical,\n.ag-theme-alpine-auto-dark .ag-column-drop-vertical {\n min-height: 75px;\n}\n.ag-theme-alpine .ag-column-drop-vertical-title-bar,\n.ag-theme-alpine-dark .ag-column-drop-vertical-title-bar,\n.ag-theme-alpine-auto-dark .ag-column-drop-vertical-title-bar {\n padding: calc(var(--ag-grid-size) * 2);\n padding-bottom: 0px;\n}\n.ag-theme-alpine .ag-column-drop-vertical-empty-message,\n.ag-theme-alpine-dark .ag-column-drop-vertical-empty-message,\n.ag-theme-alpine-auto-dark .ag-column-drop-vertical-empty-message {\n display: flex;\n align-items: center;\n border: dashed 1px;\n border-color: var(--ag-border-color);\n margin: calc(var(--ag-grid-size) * 2);\n padding: calc(var(--ag-grid-size) * 2);\n}\n.ag-theme-alpine .ag-column-drop-empty-message,\n.ag-theme-alpine-dark .ag-column-drop-empty-message,\n.ag-theme-alpine-auto-dark .ag-column-drop-empty-message {\n color: var(--ag-foreground-color);\n opacity: 0.75;\n}\n.ag-theme-alpine .ag-pill-select .ag-column-drop,\n.ag-theme-alpine-dark .ag-pill-select .ag-column-drop,\n.ag-theme-alpine-auto-dark .ag-pill-select .ag-column-drop {\n min-height: 0;\n min-height: initial;\n}\n.ag-theme-alpine .ag-status-bar,\n.ag-theme-alpine-dark .ag-status-bar,\n.ag-theme-alpine-auto-dark .ag-status-bar {\n font-weight: normal;\n}\n.ag-theme-alpine .ag-status-name-value-value,\n.ag-theme-alpine-dark .ag-status-name-value-value,\n.ag-theme-alpine-auto-dark .ag-status-name-value-value {\n font-weight: 700;\n}\n.ag-theme-alpine .ag-paging-number,\n.ag-theme-alpine .ag-paging-row-summary-panel-number,\n.ag-theme-alpine-dark .ag-paging-number,\n.ag-theme-alpine-dark .ag-paging-row-summary-panel-number,\n.ag-theme-alpine-auto-dark .ag-paging-number,\n.ag-theme-alpine-auto-dark .ag-paging-row-summary-panel-number {\n font-weight: 700;\n}\n.ag-theme-alpine .ag-column-drop-cell-button,\n.ag-theme-alpine-dark .ag-column-drop-cell-button,\n.ag-theme-alpine-auto-dark .ag-column-drop-cell-button {\n opacity: 0.5;\n}\n.ag-theme-alpine .ag-column-drop-cell-button:hover,\n.ag-theme-alpine-dark .ag-column-drop-cell-button:hover,\n.ag-theme-alpine-auto-dark .ag-column-drop-cell-button:hover {\n opacity: 0.75;\n}\n.ag-theme-alpine .ag-column-select-column-readonly.ag-icon-grip,\n.ag-theme-alpine .ag-column-select-column-readonly .ag-icon-grip,\n.ag-theme-alpine-dark .ag-column-select-column-readonly.ag-icon-grip,\n.ag-theme-alpine-dark .ag-column-select-column-readonly .ag-icon-grip,\n.ag-theme-alpine-auto-dark .ag-column-select-column-readonly.ag-icon-grip,\n.ag-theme-alpine-auto-dark .ag-column-select-column-readonly .ag-icon-grip {\n opacity: 0.35;\n}\n.ag-theme-alpine .ag-header-cell-menu-button:hover,\n.ag-theme-alpine .ag-header-cell-filter-button:hover,\n.ag-theme-alpine .ag-side-button-button:hover,\n.ag-theme-alpine .ag-tab:hover,\n.ag-theme-alpine .ag-panel-title-bar-button:hover,\n.ag-theme-alpine .ag-header-expand-icon:hover,\n.ag-theme-alpine .ag-column-group-icons:hover,\n.ag-theme-alpine .ag-set-filter-group-icons:hover,\n.ag-theme-alpine .ag-group-expanded .ag-icon:hover,\n.ag-theme-alpine .ag-group-contracted .ag-icon:hover,\n.ag-theme-alpine .ag-chart-settings-prev:hover,\n.ag-theme-alpine .ag-chart-settings-next:hover,\n.ag-theme-alpine .ag-group-title-bar-icon:hover,\n.ag-theme-alpine .ag-column-select-header-icon:hover,\n.ag-theme-alpine .ag-floating-filter-button-button:hover,\n.ag-theme-alpine .ag-filter-toolpanel-expand:hover,\n.ag-theme-alpine .ag-chart-menu-icon:hover,\n.ag-theme-alpine-dark .ag-header-cell-menu-button:hover,\n.ag-theme-alpine-dark .ag-header-cell-filter-button:hover,\n.ag-theme-alpine-dark .ag-side-button-button:hover,\n.ag-theme-alpine-dark .ag-tab:hover,\n.ag-theme-alpine-dark .ag-panel-title-bar-button:hover,\n.ag-theme-alpine-dark .ag-header-expand-icon:hover,\n.ag-theme-alpine-dark .ag-column-group-icons:hover,\n.ag-theme-alpine-dark .ag-set-filter-group-icons:hover,\n.ag-theme-alpine-dark .ag-group-expanded .ag-icon:hover,\n.ag-theme-alpine-dark .ag-group-contracted .ag-icon:hover,\n.ag-theme-alpine-dark .ag-chart-settings-prev:hover,\n.ag-theme-alpine-dark .ag-chart-settings-next:hover,\n.ag-theme-alpine-dark .ag-group-title-bar-icon:hover,\n.ag-theme-alpine-dark .ag-column-select-header-icon:hover,\n.ag-theme-alpine-dark .ag-floating-filter-button-button:hover,\n.ag-theme-alpine-dark .ag-filter-toolpanel-expand:hover,\n.ag-theme-alpine-dark .ag-chart-menu-icon:hover,\n.ag-theme-alpine-auto-dark .ag-header-cell-menu-button:hover,\n.ag-theme-alpine-auto-dark .ag-header-cell-filter-button:hover,\n.ag-theme-alpine-auto-dark .ag-side-button-button:hover,\n.ag-theme-alpine-auto-dark .ag-tab:hover,\n.ag-theme-alpine-auto-dark .ag-panel-title-bar-button:hover,\n.ag-theme-alpine-auto-dark .ag-header-expand-icon:hover,\n.ag-theme-alpine-auto-dark .ag-column-group-icons:hover,\n.ag-theme-alpine-auto-dark .ag-set-filter-group-icons:hover,\n.ag-theme-alpine-auto-dark .ag-group-expanded .ag-icon:hover,\n.ag-theme-alpine-auto-dark .ag-group-contracted .ag-icon:hover,\n.ag-theme-alpine-auto-dark .ag-chart-settings-prev:hover,\n.ag-theme-alpine-auto-dark .ag-chart-settings-next:hover,\n.ag-theme-alpine-auto-dark .ag-group-title-bar-icon:hover,\n.ag-theme-alpine-auto-dark .ag-column-select-header-icon:hover,\n.ag-theme-alpine-auto-dark .ag-floating-filter-button-button:hover,\n.ag-theme-alpine-auto-dark .ag-filter-toolpanel-expand:hover,\n.ag-theme-alpine-auto-dark .ag-chart-menu-icon:hover {\n color: var(--ag-alpine-active-color);\n}\n.ag-theme-alpine .ag-header-cell-menu-button:hover .ag-icon,\n.ag-theme-alpine .ag-header-cell-filter-button:hover .ag-icon,\n.ag-theme-alpine .ag-side-button-button:hover .ag-icon,\n.ag-theme-alpine .ag-panel-title-bar-button:hover .ag-icon,\n.ag-theme-alpine .ag-floating-filter-button-button:hover .ag-icon,\n.ag-theme-alpine-dark .ag-header-cell-menu-button:hover .ag-icon,\n.ag-theme-alpine-dark .ag-header-cell-filter-button:hover .ag-icon,\n.ag-theme-alpine-dark .ag-side-button-button:hover .ag-icon,\n.ag-theme-alpine-dark .ag-panel-title-bar-button:hover .ag-icon,\n.ag-theme-alpine-dark .ag-floating-filter-button-button:hover .ag-icon,\n.ag-theme-alpine-auto-dark .ag-header-cell-menu-button:hover .ag-icon,\n.ag-theme-alpine-auto-dark .ag-header-cell-filter-button:hover .ag-icon,\n.ag-theme-alpine-auto-dark .ag-side-button-button:hover .ag-icon,\n.ag-theme-alpine-auto-dark .ag-panel-title-bar-button:hover .ag-icon,\n.ag-theme-alpine-auto-dark .ag-floating-filter-button-button:hover .ag-icon {\n color: inherit;\n}\n.ag-theme-alpine .ag-filter-active .ag-icon-filter,\n.ag-theme-alpine-dark .ag-filter-active .ag-icon-filter,\n.ag-theme-alpine-auto-dark .ag-filter-active .ag-icon-filter {\n color: var(--ag-alpine-active-color);\n}\n.ag-theme-alpine .ag-chart-settings-card-item.ag-not-selected:hover,\n.ag-theme-alpine-dark .ag-chart-settings-card-item.ag-not-selected:hover,\n.ag-theme-alpine-auto-dark .ag-chart-settings-card-item.ag-not-selected:hover {\n opacity: 0.35;\n}\n.ag-theme-alpine .ag-ltr .ag-panel-title-bar-button, .ag-theme-alpine-dark .ag-ltr .ag-panel-title-bar-button, .ag-theme-alpine-auto-dark .ag-ltr .ag-panel-title-bar-button {\n margin-left: calc(var(--ag-grid-size) * 2);\n margin-right: var(--ag-grid-size);\n}\n\n.ag-theme-alpine .ag-rtl .ag-panel-title-bar-button, .ag-theme-alpine-dark .ag-rtl .ag-panel-title-bar-button, .ag-theme-alpine-auto-dark .ag-rtl .ag-panel-title-bar-button {\n margin-right: calc(var(--ag-grid-size) * 2);\n margin-left: var(--ag-grid-size);\n}\n\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group-container, .ag-theme-alpine-dark .ag-ltr .ag-filter-toolpanel-group-container, .ag-theme-alpine-auto-dark .ag-ltr .ag-filter-toolpanel-group-container {\n padding-left: var(--ag-grid-size);\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group-container, .ag-theme-alpine-dark .ag-rtl .ag-filter-toolpanel-group-container, .ag-theme-alpine-auto-dark .ag-rtl .ag-filter-toolpanel-group-container {\n padding-right: var(--ag-grid-size);\n}\n\n.ag-theme-alpine .ag-filter-toolpanel-instance-filter,\n.ag-theme-alpine-dark .ag-filter-toolpanel-instance-filter,\n.ag-theme-alpine-auto-dark .ag-filter-toolpanel-instance-filter {\n border: none;\n background-color: var(--ag-control-panel-background-color);\n}\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-instance-filter, .ag-theme-alpine-dark .ag-ltr .ag-filter-toolpanel-instance-filter, .ag-theme-alpine-auto-dark .ag-ltr .ag-filter-toolpanel-instance-filter {\n border-left: dashed 1px;\n border-left-color: var(--ag-border-color);\n margin-left: calc(var(--ag-icon-size) * 0.5);\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-instance-filter, .ag-theme-alpine-dark .ag-rtl .ag-filter-toolpanel-instance-filter, .ag-theme-alpine-auto-dark .ag-rtl .ag-filter-toolpanel-instance-filter {\n border-right: dashed 1px;\n border-right-color: var(--ag-border-color);\n margin-right: calc(var(--ag-icon-size) * 0.5);\n}\n\n.ag-theme-alpine .ag-set-filter-list,\n.ag-theme-alpine-dark .ag-set-filter-list,\n.ag-theme-alpine-auto-dark .ag-set-filter-list {\n padding-top: calc(var(--ag-grid-size) * 0.5);\n padding-bottom: calc(var(--ag-grid-size) * 0.5);\n}\n.ag-theme-alpine .ag-layout-auto-height .ag-center-cols-viewport,\n.ag-theme-alpine .ag-layout-auto-height .ag-center-cols-container,\n.ag-theme-alpine .ag-layout-print .ag-center-cols-viewport,\n.ag-theme-alpine .ag-layout-print .ag-center-cols-container,\n.ag-theme-alpine-dark .ag-layout-auto-height .ag-center-cols-viewport,\n.ag-theme-alpine-dark .ag-layout-auto-height .ag-center-cols-container,\n.ag-theme-alpine-dark .ag-layout-print .ag-center-cols-viewport,\n.ag-theme-alpine-dark .ag-layout-print .ag-center-cols-container,\n.ag-theme-alpine-auto-dark .ag-layout-auto-height .ag-center-cols-viewport,\n.ag-theme-alpine-auto-dark .ag-layout-auto-height .ag-center-cols-container,\n.ag-theme-alpine-auto-dark .ag-layout-print .ag-center-cols-viewport,\n.ag-theme-alpine-auto-dark .ag-layout-print .ag-center-cols-container {\n min-height: 150px;\n}\n.ag-theme-alpine .ag-overlay-no-rows-wrapper.ag-layout-auto-height,\n.ag-theme-alpine-dark .ag-overlay-no-rows-wrapper.ag-layout-auto-height,\n.ag-theme-alpine-auto-dark .ag-overlay-no-rows-wrapper.ag-layout-auto-height {\n padding-top: 60px;\n}\n.ag-theme-alpine .ag-date-time-list-page-entry-is-current,\n.ag-theme-alpine-dark .ag-date-time-list-page-entry-is-current,\n.ag-theme-alpine-auto-dark .ag-date-time-list-page-entry-is-current {\n background-color: var(--ag-alpine-active-color);\n}\n.ag-theme-alpine .ag-advanced-filter-builder-button,\n.ag-theme-alpine-dark .ag-advanced-filter-builder-button,\n.ag-theme-alpine-auto-dark .ag-advanced-filter-builder-button {\n padding: var(--ag-grid-size);\n font-weight: 600;\n}\n',""]),t.A=d},4991:function(e,t,i){"use strict";var a=i(6758),n=i.n(a),r=i(935),o=i.n(r)()(n());o.push([e.id,'.ag-theme-balham,\n.ag-theme-balham-dark,\n.ag-theme-balham-auto-dark {\n --ag-balham-active-color: #0091ea;\n --ag-foreground-color: #000;\n --ag-background-color: #fff;\n --ag-header-background-color: #f5f7f7;\n --ag-tooltip-background-color: #cbd0d3;\n --ag-subheader-background-color: #e2e9eb;\n --ag-control-panel-background-color: #f5f7f7;\n --ag-border-color: #bdc3c7;\n --ag-odd-row-background-color: #fcfdfe;\n --ag-row-hover-color: #ecf0f1;\n --ag-column-hover-color: #ecf0f1;\n --ag-input-border-color: #95a5a6;\n --ag-invalid-color: #e02525;\n --ag-input-disabled-background-color: #ebebeb;\n --ag-checkbox-unchecked-color: #7f8c8d;\n --ag-input-focus-border-color: #719ece;\n --ag-advanced-filter-join-pill-color: #f08e8d;\n --ag-advanced-filter-column-pill-color: #a6e194;\n --ag-advanced-filter-option-pill-color: #f3c08b;\n --ag-advanced-filter-value-pill-color: #85c0e4;\n --ag-input-focus-box-shadow: 0 0 2px 1px var(--ag-input-focus-border-color);\n --ag-range-selection-border-color: var(--ag-balham-active-color);\n --ag-checkbox-checked-color: var(--ag-balham-active-color);\n --ag-checkbox-background-color: var(--ag-background-color);\n --ag-panel-background-color: var(--ag-header-background-color);\n --ag-secondary-foreground-color: rgba(0, 0, 0, 0.54);\n --ag-disabled-foreground-color: rgba(0, 0, 0, 0.38);\n --ag-subheader-toolbar-background-color: rgba(226, 233, 235, 0.5);\n --ag-row-border-color: rgba(189, 195, 199, 0.58);\n --ag-chip-background-color: rgba(0, 0, 0, 0.1);\n --ag-range-selection-background-color: rgba(0, 145, 234, 0.2);\n --ag-range-selection-background-color-2: rgba(0, 145, 234, 0.36);\n --ag-range-selection-background-color-3: rgba(0, 145, 234, 0.49);\n --ag-range-selection-background-color-4: rgba(0, 145, 234, 0.59);\n --ag-selected-row-background-color: rgba(0, 145, 234, 0.28);\n --ag-header-column-separator-color: rgba(189, 195, 199, 0.5);\n --ag-input-disabled-border-color: rgba(149, 165, 166, 0.3);\n --ag-header-column-separator-display: block;\n --ag-header-column-separator-height: 50%;\n --ag-grid-size: 4px;\n --ag-icon-size: 16px;\n --ag-row-height: calc(var(--ag-grid-size) * 7);\n --ag-header-height: calc(var(--ag-grid-size) * 8);\n --ag-list-item-height: calc(var(--ag-grid-size) * 6);\n --ag-row-group-indent-size: calc(var(--ag-grid-size) * 3 + var(--ag-icon-size));\n --ag-cell-horizontal-padding: calc(var(--ag-grid-size) * 3);\n --ag-input-height: calc(var(--ag-grid-size) * 4);\n --ag-chart-menu-panel-width: 240px;\n --ag-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell,\n "Helvetica Neue", sans-serif;\n --ag-font-size: 12px;\n --ag-icon-font-family: agGridBalham;\n --ag-border-radius: 2px;\n --ag-checkbox-border-radius: 3px;\n --ag-card-shadow: none;\n}\n\n.ag-theme-balham-dark {\n --ag-balham-active-color: #00b0ff;\n --ag-foreground-color: #f5f5f5;\n --ag-background-color: #2d3436;\n --ag-header-background-color: #1c1c1c;\n --ag-tooltip-background-color: #1c1f20;\n --ag-subheader-background-color: #111;\n --ag-control-panel-background-color: #202020;\n --ag-border-color: #424242;\n --ag-odd-row-background-color: #262c2e;\n --ag-row-hover-color: #3d4749;\n --ag-column-hover-color: #3d4749;\n --ag-input-border-color: #f0f0f0;\n --ag-input-disabled-background-color: rgba(48, 46, 46, 0.3);\n --ag-modal-overlay-background-color: rgba(45, 52, 54, 0.66);\n --ag-checkbox-unchecked-color: #ecf0f1;\n --ag-advanced-filter-join-pill-color: #7a3a37;\n --ag-advanced-filter-column-pill-color: #355f2d;\n --ag-advanced-filter-option-pill-color: #5a3168;\n --ag-advanced-filter-value-pill-color: #374c86;\n --ag-secondary-foreground-color: var(--ag-foreground-color);\n --ag-disabled-foreground-color: rgba(245, 245, 245, 0.38);\n --ag-subheader-toolbar-background-color: rgba(17, 17, 17, 0.5);\n --ag-row-border-color: #5c5c5c;\n --ag-chip-background-color: rgba(245, 245, 245, 0.08);\n --ag-range-selection-background-color: rgba(0, 176, 255, 0.2);\n --ag-range-selection-background-color-2: rgba(0, 176, 255, 0.36);\n --ag-range-selection-background-color-3: rgba(0, 176, 255, 0.49);\n --ag-range-selection-background-color-4: rgba(0, 176, 255, 0.59);\n --ag-selected-row-background-color: rgba(0, 176, 255, 0.28);\n --ag-header-column-separator-color: rgba(66, 66, 66, 0.5);\n --ag-input-disabled-border-color: rgba(240, 240, 240, 0.3);\n --ag-header-foreground-color: rgba(245, 245, 245, 0.64);\n --ag-toggle-button-off-background-color: transparent;\n --ag-toggle-button-off-border-color: var(--ag-foreground-color);\n --ag-range-selection-chart-category-background-color: rgba(26, 177, 74, 0.5);\n --ag-range-selection-chart-background-color: rgba(45, 166, 255, 0.5);\n --ag-input-focus-box-shadow: 0 0 4px 1.5px var(--ag-input-focus-border-color);\n --ag-row-loading-skeleton-effect-color: rgba(202, 203, 204, 0.4);\n --csstools-color-scheme--dark: initial;\n color-scheme: dark;\n}\n\n@media (prefers-color-scheme: dark) {\n .ag-theme-balham-auto-dark {\n --ag-balham-active-color: #00b0ff;\n --ag-foreground-color: #f5f5f5;\n --ag-background-color: #2d3436;\n --ag-header-background-color: #1c1c1c;\n --ag-tooltip-background-color: #1c1f20;\n --ag-subheader-background-color: #111;\n --ag-control-panel-background-color: #202020;\n --ag-border-color: #424242;\n --ag-odd-row-background-color: #262c2e;\n --ag-row-hover-color: #3d4749;\n --ag-column-hover-color: #3d4749;\n --ag-input-border-color: #f0f0f0;\n --ag-input-disabled-background-color: rgba(48, 46, 46, 0.3);\n --ag-modal-overlay-background-color: rgba(45, 52, 54, 0.66);\n --ag-checkbox-unchecked-color: #ecf0f1;\n --ag-advanced-filter-join-pill-color: #7a3a37;\n --ag-advanced-filter-column-pill-color: #355f2d;\n --ag-advanced-filter-option-pill-color: #5a3168;\n --ag-advanced-filter-value-pill-color: #374c86;\n --ag-secondary-foreground-color: var(--ag-foreground-color);\n --ag-disabled-foreground-color: rgba(245, 245, 245, 0.38);\n --ag-subheader-toolbar-background-color: rgba(17, 17, 17, 0.5);\n --ag-row-border-color: #5c5c5c;\n --ag-chip-background-color: rgba(245, 245, 245, 0.08);\n --ag-range-selection-background-color: rgba(0, 176, 255, 0.2);\n --ag-range-selection-background-color-2: rgba(0, 176, 255, 0.36);\n --ag-range-selection-background-color-3: rgba(0, 176, 255, 0.49);\n --ag-range-selection-background-color-4: rgba(0, 176, 255, 0.59);\n --ag-selected-row-background-color: rgba(0, 176, 255, 0.28);\n --ag-header-column-separator-color: rgba(66, 66, 66, 0.5);\n --ag-input-disabled-border-color: rgba(240, 240, 240, 0.3);\n --ag-header-foreground-color: rgba(245, 245, 245, 0.64);\n --ag-toggle-button-off-background-color: transparent;\n --ag-toggle-button-off-border-color: var(--ag-foreground-color);\n --ag-range-selection-chart-category-background-color: rgba(26, 177, 74, 0.5);\n --ag-range-selection-chart-background-color: rgba(45, 166, 255, 0.5);\n --ag-input-focus-box-shadow: 0 0 4px 1.5px var(--ag-input-focus-border-color);\n --ag-row-loading-skeleton-effect-color: rgba(202, 203, 204, 0.4);\n --csstools-color-scheme--dark: initial;\n color-scheme: dark;\n }\n}\n.ag-theme-balham .ag-filter-toolpanel-header,\n.ag-theme-balham .ag-filter-toolpanel-search,\n.ag-theme-balham .ag-status-bar,\n.ag-theme-balham .ag-header-row,\n.ag-theme-balham .ag-multi-filter-group-title-bar,\n.ag-theme-balham-dark .ag-filter-toolpanel-header,\n.ag-theme-balham-dark .ag-filter-toolpanel-search,\n.ag-theme-balham-dark .ag-status-bar,\n.ag-theme-balham-dark .ag-header-row,\n.ag-theme-balham-dark .ag-multi-filter-group-title-bar,\n.ag-theme-balham-auto-dark .ag-filter-toolpanel-header,\n.ag-theme-balham-auto-dark .ag-filter-toolpanel-search,\n.ag-theme-balham-auto-dark .ag-status-bar,\n.ag-theme-balham-auto-dark .ag-header-row,\n.ag-theme-balham-auto-dark .ag-multi-filter-group-title-bar {\n font-weight: 600;\n color: var(--ag-header-foreground-color);\n}\n.ag-theme-balham .ag-ltr input[class^=ag-]:not([type]), .ag-theme-balham .ag-ltr input[class^=ag-][type=text], .ag-theme-balham .ag-ltr input[class^=ag-][type=number], .ag-theme-balham .ag-ltr input[class^=ag-][type=tel], .ag-theme-balham .ag-ltr input[class^=ag-][type=date], .ag-theme-balham .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-balham .ag-ltr textarea[class^=ag-], .ag-theme-balham-dark .ag-ltr input[class^=ag-]:not([type]), .ag-theme-balham-dark .ag-ltr input[class^=ag-][type=text], .ag-theme-balham-dark .ag-ltr input[class^=ag-][type=number], .ag-theme-balham-dark .ag-ltr input[class^=ag-][type=tel], .ag-theme-balham-dark .ag-ltr input[class^=ag-][type=date], .ag-theme-balham-dark .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-balham-dark .ag-ltr textarea[class^=ag-], .ag-theme-balham-auto-dark .ag-ltr input[class^=ag-]:not([type]), .ag-theme-balham-auto-dark .ag-ltr input[class^=ag-][type=text], .ag-theme-balham-auto-dark .ag-ltr input[class^=ag-][type=number], .ag-theme-balham-auto-dark .ag-ltr input[class^=ag-][type=tel], .ag-theme-balham-auto-dark .ag-ltr input[class^=ag-][type=date], .ag-theme-balham-auto-dark .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-balham-auto-dark .ag-ltr textarea[class^=ag-] {\n padding-left: var(--ag-grid-size);\n}\n\n.ag-theme-balham .ag-rtl input[class^=ag-]:not([type]), .ag-theme-balham .ag-rtl input[class^=ag-][type=text], .ag-theme-balham .ag-rtl input[class^=ag-][type=number], .ag-theme-balham .ag-rtl input[class^=ag-][type=tel], .ag-theme-balham .ag-rtl input[class^=ag-][type=date], .ag-theme-balham .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-balham .ag-rtl textarea[class^=ag-], .ag-theme-balham-dark .ag-rtl input[class^=ag-]:not([type]), .ag-theme-balham-dark .ag-rtl input[class^=ag-][type=text], .ag-theme-balham-dark .ag-rtl input[class^=ag-][type=number], .ag-theme-balham-dark .ag-rtl input[class^=ag-][type=tel], .ag-theme-balham-dark .ag-rtl input[class^=ag-][type=date], .ag-theme-balham-dark .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-balham-dark .ag-rtl textarea[class^=ag-], .ag-theme-balham-auto-dark .ag-rtl input[class^=ag-]:not([type]), .ag-theme-balham-auto-dark .ag-rtl input[class^=ag-][type=text], .ag-theme-balham-auto-dark .ag-rtl input[class^=ag-][type=number], .ag-theme-balham-auto-dark .ag-rtl input[class^=ag-][type=tel], .ag-theme-balham-auto-dark .ag-rtl input[class^=ag-][type=date], .ag-theme-balham-auto-dark .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-balham-auto-dark .ag-rtl textarea[class^=ag-] {\n padding-right: var(--ag-grid-size);\n}\n\n.ag-theme-balham .ag-column-drop-vertical-empty-message,\n.ag-theme-balham .ag-status-bar,\n.ag-theme-balham-dark .ag-column-drop-vertical-empty-message,\n.ag-theme-balham-dark .ag-status-bar,\n.ag-theme-balham-auto-dark .ag-column-drop-vertical-empty-message,\n.ag-theme-balham-auto-dark .ag-status-bar {\n font-weight: 600;\n color: var(--ag-disabled-foreground-color);\n}\n.ag-theme-balham.ag-dnd-ghost,\n.ag-theme-balham-dark.ag-dnd-ghost,\n.ag-theme-balham-auto-dark.ag-dnd-ghost {\n font-size: var(--ag-font-size);\n font-weight: 600;\n}\n.ag-theme-balham .ag-tab,\n.ag-theme-balham-dark .ag-tab,\n.ag-theme-balham-auto-dark .ag-tab {\n border: 1px solid transparent;\n padding: var(--ag-grid-size) calc(var(--ag-grid-size) * 2);\n margin: var(--ag-grid-size);\n margin-bottom: -1px;\n}\n.ag-theme-balham .ag-tab-selected,\n.ag-theme-balham-dark .ag-tab-selected,\n.ag-theme-balham-auto-dark .ag-tab-selected {\n background-color: var(--ag-background-color);\n border-color: var(--ag-border-color);\n border-bottom-color: transparent;\n}\n.ag-theme-balham .ag-tabs-header,\n.ag-theme-balham-dark .ag-tabs-header,\n.ag-theme-balham-auto-dark .ag-tabs-header {\n border-bottom: 1px solid var(--ag-border-color);\n}\n.ag-theme-balham .ag-column-drop-cell,\n.ag-theme-balham-dark .ag-column-drop-cell,\n.ag-theme-balham-auto-dark .ag-column-drop-cell {\n height: calc(var(--ag-grid-size) * 6);\n}\n.ag-theme-balham .ag-column-drop-vertical-title,\n.ag-theme-balham-dark .ag-column-drop-vertical-title,\n.ag-theme-balham-auto-dark .ag-column-drop-vertical-title {\n color: var(--ag-foreground-color);\n}\n.ag-theme-balham .ag-column-drop-vertical-cell,\n.ag-theme-balham-dark .ag-column-drop-vertical-cell,\n.ag-theme-balham-auto-dark .ag-column-drop-vertical-cell {\n margin-left: calc(var(--ag-grid-size) * 2);\n margin-right: calc(var(--ag-grid-size) * 2);\n}\n.ag-theme-balham .ag-column-drop-vertical-cell-text,\n.ag-theme-balham-dark .ag-column-drop-vertical-cell-text,\n.ag-theme-balham-auto-dark .ag-column-drop-vertical-cell-text {\n margin-left: calc(var(--ag-grid-size) * 2);\n}\n.ag-theme-balham .ag-column-drop-vertical-icon,\n.ag-theme-balham-dark .ag-column-drop-vertical-icon,\n.ag-theme-balham-auto-dark .ag-column-drop-vertical-icon {\n color: var(--ag-secondary-foreground-color);\n}\n.ag-theme-balham .ag-ltr .ag-column-drop-vertical-empty-message, .ag-theme-balham-dark .ag-ltr .ag-column-drop-vertical-empty-message, .ag-theme-balham-auto-dark .ag-ltr .ag-column-drop-vertical-empty-message {\n padding-left: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);\n padding-right: var(--ag-grid-size);\n}\n\n.ag-theme-balham .ag-rtl .ag-column-drop-vertical-empty-message, .ag-theme-balham-dark .ag-rtl .ag-column-drop-vertical-empty-message, .ag-theme-balham-auto-dark .ag-rtl .ag-column-drop-vertical-empty-message {\n padding-right: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);\n padding-left: var(--ag-grid-size);\n}\n\n.ag-theme-balham .ag-column-drop-horizontal,\n.ag-theme-balham-dark .ag-column-drop-horizontal,\n.ag-theme-balham-auto-dark .ag-column-drop-horizontal {\n height: var(--ag-header-height);\n}\n.ag-theme-balham .ag-column-drop-empty,\n.ag-theme-balham-dark .ag-column-drop-empty,\n.ag-theme-balham-auto-dark .ag-column-drop-empty {\n color: var(--ag-disabled-foreground-color);\n}\n.ag-theme-balham .ag-column-drop-horizontal-cell-text,\n.ag-theme-balham-dark .ag-column-drop-horizontal-cell-text,\n.ag-theme-balham-auto-dark .ag-column-drop-horizontal-cell-text {\n margin-left: calc(var(--ag-grid-size) * 2);\n}\n.ag-theme-balham .ag-column-drop-vertical,\n.ag-theme-balham-dark .ag-column-drop-vertical,\n.ag-theme-balham-auto-dark .ag-column-drop-vertical {\n padding-top: calc(var(--ag-grid-size) * 2);\n}\n.ag-theme-balham .ag-column-select-column-readonly.ag-icon-grip,\n.ag-theme-balham .ag-column-select-column-readonly .ag-icon-grip,\n.ag-theme-balham-dark .ag-column-select-column-readonly.ag-icon-grip,\n.ag-theme-balham-dark .ag-column-select-column-readonly .ag-icon-grip,\n.ag-theme-balham-auto-dark .ag-column-select-column-readonly.ag-icon-grip,\n.ag-theme-balham-auto-dark .ag-column-select-column-readonly .ag-icon-grip {\n opacity: 0.35;\n}\n.ag-theme-balham .ag-menu-header,\n.ag-theme-balham-dark .ag-menu-header,\n.ag-theme-balham-auto-dark .ag-menu-header {\n background-color: var(--ag-header-background-color);\n}\n.ag-theme-balham .ag-overlay-loading-center,\n.ag-theme-balham-dark .ag-overlay-loading-center,\n.ag-theme-balham-auto-dark .ag-overlay-loading-center {\n background-color: var(--ag-background-color);\n border: 1px solid var(--ag-border-color);\n color: var(--ag-foreground-color);\n padding: calc(var(--ag-grid-size) * 4);\n}\n.ag-theme-balham .ag-tooltip,\n.ag-theme-balham-dark .ag-tooltip,\n.ag-theme-balham-auto-dark .ag-tooltip {\n border: none;\n}\n.ag-theme-balham .ag-panel-title-bar-button-icon,\n.ag-theme-balham-dark .ag-panel-title-bar-button-icon,\n.ag-theme-balham-auto-dark .ag-panel-title-bar-button-icon {\n font-size: calc(var(--ag-icon-size) + var(--ag-grid-size));\n}\n.ag-theme-balham .ag-panel,\n.ag-theme-balham-dark .ag-panel,\n.ag-theme-balham-auto-dark .ag-panel {\n background-color: var(--ag-header-background-color);\n}\n.ag-theme-balham .ag-chart-data-section,\n.ag-theme-balham .ag-chart-format-section,\n.ag-theme-balham .ag-chart-advanced-settings-section,\n.ag-theme-balham-dark .ag-chart-data-section,\n.ag-theme-balham-dark .ag-chart-format-section,\n.ag-theme-balham-dark .ag-chart-advanced-settings-section,\n.ag-theme-balham-auto-dark .ag-chart-data-section,\n.ag-theme-balham-auto-dark .ag-chart-format-section,\n.ag-theme-balham-auto-dark .ag-chart-advanced-settings-section {\n padding-bottom: calc(var(--ag-grid-size) * 0.5);\n}\n.ag-theme-balham .ag-group-toolbar,\n.ag-theme-balham-dark .ag-group-toolbar,\n.ag-theme-balham-auto-dark .ag-group-toolbar {\n background-color: var(--ag-subheader-toolbar-background-color);\n}\n.ag-theme-balham .ag-chart-tab,\n.ag-theme-balham-dark .ag-chart-tab,\n.ag-theme-balham-auto-dark .ag-chart-tab {\n padding-top: calc(var(--ag-grid-size) * 0.5);\n}\n.ag-theme-balham .ag-charts-format-sub-level-group-item,\n.ag-theme-balham-dark .ag-charts-format-sub-level-group-item,\n.ag-theme-balham-auto-dark .ag-charts-format-sub-level-group-item {\n margin-bottom: calc(var(--ag-grid-size) * 1.5);\n}\n.ag-theme-balham .ag-filter-active .ag-icon-filter,\n.ag-theme-balham-dark .ag-filter-active .ag-icon-filter,\n.ag-theme-balham-auto-dark .ag-filter-active .ag-icon-filter {\n color: var(--ag-balham-active-color);\n}\n.ag-theme-balham .ag-color-input input[class^=ag-][type=text].ag-input-field-input,\n.ag-theme-balham-dark .ag-color-input input[class^=ag-][type=text].ag-input-field-input,\n.ag-theme-balham-auto-dark .ag-color-input input[class^=ag-][type=text].ag-input-field-input {\n min-height: calc(var(--ag-icon-size) + 4px);\n}\n',""]),t.A=o},2621:function(e,t,i){"use strict";var a=i(6758),n=i.n(a),r=i(935),o=i.n(r),s=i(62),l=i.n(s),c=new URL(i(9377),i.b),d=o()(n()),h=l()(c);d.push([e.id,'@font-face {\n font-family: "agGridBalham";\n src: url('+h+');\n font-weight: normal;\n font-style: normal;\n}\n.ag-theme-balham,\n.ag-theme-balham-dark,\n.ag-theme-balham-auto-dark {\n --ag-balham-active-color: #0091ea;\n --ag-foreground-color: #000;\n --ag-background-color: #fff;\n --ag-header-background-color: #f5f7f7;\n --ag-tooltip-background-color: #cbd0d3;\n --ag-subheader-background-color: #e2e9eb;\n --ag-control-panel-background-color: #f5f7f7;\n --ag-border-color: #bdc3c7;\n --ag-odd-row-background-color: #fcfdfe;\n --ag-row-hover-color: #ecf0f1;\n --ag-column-hover-color: #ecf0f1;\n --ag-input-border-color: #95a5a6;\n --ag-invalid-color: #e02525;\n --ag-input-disabled-background-color: #ebebeb;\n --ag-checkbox-unchecked-color: #7f8c8d;\n --ag-input-focus-border-color: #719ece;\n --ag-advanced-filter-join-pill-color: #f08e8d;\n --ag-advanced-filter-column-pill-color: #a6e194;\n --ag-advanced-filter-option-pill-color: #f3c08b;\n --ag-advanced-filter-value-pill-color: #85c0e4;\n --ag-input-focus-box-shadow: 0 0 2px 1px var(--ag-input-focus-border-color);\n --ag-range-selection-border-color: var(--ag-balham-active-color);\n --ag-checkbox-checked-color: var(--ag-balham-active-color);\n --ag-checkbox-background-color: var(--ag-background-color);\n --ag-panel-background-color: var(--ag-header-background-color);\n --ag-secondary-foreground-color: rgba(0, 0, 0, 0.54);\n --ag-disabled-foreground-color: rgba(0, 0, 0, 0.38);\n --ag-subheader-toolbar-background-color: rgba(226, 233, 235, 0.5);\n --ag-row-border-color: rgba(189, 195, 199, 0.58);\n --ag-chip-background-color: rgba(0, 0, 0, 0.1);\n --ag-range-selection-background-color: rgba(0, 145, 234, 0.2);\n --ag-range-selection-background-color-2: rgba(0, 145, 234, 0.36);\n --ag-range-selection-background-color-3: rgba(0, 145, 234, 0.49);\n --ag-range-selection-background-color-4: rgba(0, 145, 234, 0.59);\n --ag-selected-row-background-color: rgba(0, 145, 234, 0.28);\n --ag-header-column-separator-color: rgba(189, 195, 199, 0.5);\n --ag-input-disabled-border-color: rgba(149, 165, 166, 0.3);\n --ag-header-column-separator-display: block;\n --ag-header-column-separator-height: 50%;\n --ag-grid-size: 4px;\n --ag-icon-size: 16px;\n --ag-row-height: calc(var(--ag-grid-size) * 7);\n --ag-header-height: calc(var(--ag-grid-size) * 8);\n --ag-list-item-height: calc(var(--ag-grid-size) * 6);\n --ag-row-group-indent-size: calc(var(--ag-grid-size) * 3 + var(--ag-icon-size));\n --ag-cell-horizontal-padding: calc(var(--ag-grid-size) * 3);\n --ag-input-height: calc(var(--ag-grid-size) * 4);\n --ag-chart-menu-panel-width: 240px;\n --ag-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell,\n "Helvetica Neue", sans-serif;\n --ag-font-size: 12px;\n --ag-icon-font-family: agGridBalham;\n --ag-border-radius: 2px;\n --ag-checkbox-border-radius: 3px;\n --ag-card-shadow: none;\n}\n\n.ag-theme-balham-dark {\n --ag-balham-active-color: #00b0ff;\n --ag-foreground-color: #f5f5f5;\n --ag-background-color: #2d3436;\n --ag-header-background-color: #1c1c1c;\n --ag-tooltip-background-color: #1c1f20;\n --ag-subheader-background-color: #111;\n --ag-control-panel-background-color: #202020;\n --ag-border-color: #424242;\n --ag-odd-row-background-color: #262c2e;\n --ag-row-hover-color: #3d4749;\n --ag-column-hover-color: #3d4749;\n --ag-input-border-color: #f0f0f0;\n --ag-input-disabled-background-color: rgba(48, 46, 46, 0.3);\n --ag-modal-overlay-background-color: rgba(45, 52, 54, 0.66);\n --ag-checkbox-unchecked-color: #ecf0f1;\n --ag-advanced-filter-join-pill-color: #7a3a37;\n --ag-advanced-filter-column-pill-color: #355f2d;\n --ag-advanced-filter-option-pill-color: #5a3168;\n --ag-advanced-filter-value-pill-color: #374c86;\n --ag-secondary-foreground-color: var(--ag-foreground-color);\n --ag-disabled-foreground-color: rgba(245, 245, 245, 0.38);\n --ag-subheader-toolbar-background-color: rgba(17, 17, 17, 0.5);\n --ag-row-border-color: #5c5c5c;\n --ag-chip-background-color: rgba(245, 245, 245, 0.08);\n --ag-range-selection-background-color: rgba(0, 176, 255, 0.2);\n --ag-range-selection-background-color-2: rgba(0, 176, 255, 0.36);\n --ag-range-selection-background-color-3: rgba(0, 176, 255, 0.49);\n --ag-range-selection-background-color-4: rgba(0, 176, 255, 0.59);\n --ag-selected-row-background-color: rgba(0, 176, 255, 0.28);\n --ag-header-column-separator-color: rgba(66, 66, 66, 0.5);\n --ag-input-disabled-border-color: rgba(240, 240, 240, 0.3);\n --ag-header-foreground-color: rgba(245, 245, 245, 0.64);\n --ag-toggle-button-off-background-color: transparent;\n --ag-toggle-button-off-border-color: var(--ag-foreground-color);\n --ag-range-selection-chart-category-background-color: rgba(26, 177, 74, 0.5);\n --ag-range-selection-chart-background-color: rgba(45, 166, 255, 0.5);\n --ag-input-focus-box-shadow: 0 0 4px 1.5px var(--ag-input-focus-border-color);\n --ag-row-loading-skeleton-effect-color: rgba(202, 203, 204, 0.4);\n --csstools-color-scheme--dark: initial;\n color-scheme: dark;\n}\n\n@media (prefers-color-scheme: dark) {\n .ag-theme-balham-auto-dark {\n --ag-balham-active-color: #00b0ff;\n --ag-foreground-color: #f5f5f5;\n --ag-background-color: #2d3436;\n --ag-header-background-color: #1c1c1c;\n --ag-tooltip-background-color: #1c1f20;\n --ag-subheader-background-color: #111;\n --ag-control-panel-background-color: #202020;\n --ag-border-color: #424242;\n --ag-odd-row-background-color: #262c2e;\n --ag-row-hover-color: #3d4749;\n --ag-column-hover-color: #3d4749;\n --ag-input-border-color: #f0f0f0;\n --ag-input-disabled-background-color: rgba(48, 46, 46, 0.3);\n --ag-modal-overlay-background-color: rgba(45, 52, 54, 0.66);\n --ag-checkbox-unchecked-color: #ecf0f1;\n --ag-advanced-filter-join-pill-color: #7a3a37;\n --ag-advanced-filter-column-pill-color: #355f2d;\n --ag-advanced-filter-option-pill-color: #5a3168;\n --ag-advanced-filter-value-pill-color: #374c86;\n --ag-secondary-foreground-color: var(--ag-foreground-color);\n --ag-disabled-foreground-color: rgba(245, 245, 245, 0.38);\n --ag-subheader-toolbar-background-color: rgba(17, 17, 17, 0.5);\n --ag-row-border-color: #5c5c5c;\n --ag-chip-background-color: rgba(245, 245, 245, 0.08);\n --ag-range-selection-background-color: rgba(0, 176, 255, 0.2);\n --ag-range-selection-background-color-2: rgba(0, 176, 255, 0.36);\n --ag-range-selection-background-color-3: rgba(0, 176, 255, 0.49);\n --ag-range-selection-background-color-4: rgba(0, 176, 255, 0.59);\n --ag-selected-row-background-color: rgba(0, 176, 255, 0.28);\n --ag-header-column-separator-color: rgba(66, 66, 66, 0.5);\n --ag-input-disabled-border-color: rgba(240, 240, 240, 0.3);\n --ag-header-foreground-color: rgba(245, 245, 245, 0.64);\n --ag-toggle-button-off-background-color: transparent;\n --ag-toggle-button-off-border-color: var(--ag-foreground-color);\n --ag-range-selection-chart-category-background-color: rgba(26, 177, 74, 0.5);\n --ag-range-selection-chart-background-color: rgba(45, 166, 255, 0.5);\n --ag-input-focus-box-shadow: 0 0 4px 1.5px var(--ag-input-focus-border-color);\n --ag-row-loading-skeleton-effect-color: rgba(202, 203, 204, 0.4);\n --csstools-color-scheme--dark: initial;\n color-scheme: dark;\n }\n}\n.ag-theme-balham .ag-filter-toolpanel-header,\n.ag-theme-balham .ag-filter-toolpanel-search,\n.ag-theme-balham .ag-status-bar,\n.ag-theme-balham .ag-header-row,\n.ag-theme-balham .ag-multi-filter-group-title-bar,\n.ag-theme-balham-dark .ag-filter-toolpanel-header,\n.ag-theme-balham-dark .ag-filter-toolpanel-search,\n.ag-theme-balham-dark .ag-status-bar,\n.ag-theme-balham-dark .ag-header-row,\n.ag-theme-balham-dark .ag-multi-filter-group-title-bar,\n.ag-theme-balham-auto-dark .ag-filter-toolpanel-header,\n.ag-theme-balham-auto-dark .ag-filter-toolpanel-search,\n.ag-theme-balham-auto-dark .ag-status-bar,\n.ag-theme-balham-auto-dark .ag-header-row,\n.ag-theme-balham-auto-dark .ag-multi-filter-group-title-bar {\n font-weight: 600;\n color: var(--ag-header-foreground-color);\n}\n.ag-theme-balham .ag-ltr input[class^=ag-]:not([type]), .ag-theme-balham .ag-ltr input[class^=ag-][type=text], .ag-theme-balham .ag-ltr input[class^=ag-][type=number], .ag-theme-balham .ag-ltr input[class^=ag-][type=tel], .ag-theme-balham .ag-ltr input[class^=ag-][type=date], .ag-theme-balham .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-balham .ag-ltr textarea[class^=ag-], .ag-theme-balham-dark .ag-ltr input[class^=ag-]:not([type]), .ag-theme-balham-dark .ag-ltr input[class^=ag-][type=text], .ag-theme-balham-dark .ag-ltr input[class^=ag-][type=number], .ag-theme-balham-dark .ag-ltr input[class^=ag-][type=tel], .ag-theme-balham-dark .ag-ltr input[class^=ag-][type=date], .ag-theme-balham-dark .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-balham-dark .ag-ltr textarea[class^=ag-], .ag-theme-balham-auto-dark .ag-ltr input[class^=ag-]:not([type]), .ag-theme-balham-auto-dark .ag-ltr input[class^=ag-][type=text], .ag-theme-balham-auto-dark .ag-ltr input[class^=ag-][type=number], .ag-theme-balham-auto-dark .ag-ltr input[class^=ag-][type=tel], .ag-theme-balham-auto-dark .ag-ltr input[class^=ag-][type=date], .ag-theme-balham-auto-dark .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-balham-auto-dark .ag-ltr textarea[class^=ag-] {\n padding-left: var(--ag-grid-size);\n}\n\n.ag-theme-balham .ag-rtl input[class^=ag-]:not([type]), .ag-theme-balham .ag-rtl input[class^=ag-][type=text], .ag-theme-balham .ag-rtl input[class^=ag-][type=number], .ag-theme-balham .ag-rtl input[class^=ag-][type=tel], .ag-theme-balham .ag-rtl input[class^=ag-][type=date], .ag-theme-balham .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-balham .ag-rtl textarea[class^=ag-], .ag-theme-balham-dark .ag-rtl input[class^=ag-]:not([type]), .ag-theme-balham-dark .ag-rtl input[class^=ag-][type=text], .ag-theme-balham-dark .ag-rtl input[class^=ag-][type=number], .ag-theme-balham-dark .ag-rtl input[class^=ag-][type=tel], .ag-theme-balham-dark .ag-rtl input[class^=ag-][type=date], .ag-theme-balham-dark .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-balham-dark .ag-rtl textarea[class^=ag-], .ag-theme-balham-auto-dark .ag-rtl input[class^=ag-]:not([type]), .ag-theme-balham-auto-dark .ag-rtl input[class^=ag-][type=text], .ag-theme-balham-auto-dark .ag-rtl input[class^=ag-][type=number], .ag-theme-balham-auto-dark .ag-rtl input[class^=ag-][type=tel], .ag-theme-balham-auto-dark .ag-rtl input[class^=ag-][type=date], .ag-theme-balham-auto-dark .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-balham-auto-dark .ag-rtl textarea[class^=ag-] {\n padding-right: var(--ag-grid-size);\n}\n\n.ag-theme-balham .ag-column-drop-vertical-empty-message,\n.ag-theme-balham .ag-status-bar,\n.ag-theme-balham-dark .ag-column-drop-vertical-empty-message,\n.ag-theme-balham-dark .ag-status-bar,\n.ag-theme-balham-auto-dark .ag-column-drop-vertical-empty-message,\n.ag-theme-balham-auto-dark .ag-status-bar {\n font-weight: 600;\n color: var(--ag-disabled-foreground-color);\n}\n.ag-theme-balham.ag-dnd-ghost,\n.ag-theme-balham-dark.ag-dnd-ghost,\n.ag-theme-balham-auto-dark.ag-dnd-ghost {\n font-size: var(--ag-font-size);\n font-weight: 600;\n}\n.ag-theme-balham .ag-tab,\n.ag-theme-balham-dark .ag-tab,\n.ag-theme-balham-auto-dark .ag-tab {\n border: 1px solid transparent;\n padding: var(--ag-grid-size) calc(var(--ag-grid-size) * 2);\n margin: var(--ag-grid-size);\n margin-bottom: -1px;\n}\n.ag-theme-balham .ag-tab-selected,\n.ag-theme-balham-dark .ag-tab-selected,\n.ag-theme-balham-auto-dark .ag-tab-selected {\n background-color: var(--ag-background-color);\n border-color: var(--ag-border-color);\n border-bottom-color: transparent;\n}\n.ag-theme-balham .ag-tabs-header,\n.ag-theme-balham-dark .ag-tabs-header,\n.ag-theme-balham-auto-dark .ag-tabs-header {\n border-bottom: 1px solid var(--ag-border-color);\n}\n.ag-theme-balham .ag-column-drop-cell,\n.ag-theme-balham-dark .ag-column-drop-cell,\n.ag-theme-balham-auto-dark .ag-column-drop-cell {\n height: calc(var(--ag-grid-size) * 6);\n}\n.ag-theme-balham .ag-column-drop-vertical-title,\n.ag-theme-balham-dark .ag-column-drop-vertical-title,\n.ag-theme-balham-auto-dark .ag-column-drop-vertical-title {\n color: var(--ag-foreground-color);\n}\n.ag-theme-balham .ag-column-drop-vertical-cell,\n.ag-theme-balham-dark .ag-column-drop-vertical-cell,\n.ag-theme-balham-auto-dark .ag-column-drop-vertical-cell {\n margin-left: calc(var(--ag-grid-size) * 2);\n margin-right: calc(var(--ag-grid-size) * 2);\n}\n.ag-theme-balham .ag-column-drop-vertical-cell-text,\n.ag-theme-balham-dark .ag-column-drop-vertical-cell-text,\n.ag-theme-balham-auto-dark .ag-column-drop-vertical-cell-text {\n margin-left: calc(var(--ag-grid-size) * 2);\n}\n.ag-theme-balham .ag-column-drop-vertical-icon,\n.ag-theme-balham-dark .ag-column-drop-vertical-icon,\n.ag-theme-balham-auto-dark .ag-column-drop-vertical-icon {\n color: var(--ag-secondary-foreground-color);\n}\n.ag-theme-balham .ag-ltr .ag-column-drop-vertical-empty-message, .ag-theme-balham-dark .ag-ltr .ag-column-drop-vertical-empty-message, .ag-theme-balham-auto-dark .ag-ltr .ag-column-drop-vertical-empty-message {\n padding-left: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);\n padding-right: var(--ag-grid-size);\n}\n\n.ag-theme-balham .ag-rtl .ag-column-drop-vertical-empty-message, .ag-theme-balham-dark .ag-rtl .ag-column-drop-vertical-empty-message, .ag-theme-balham-auto-dark .ag-rtl .ag-column-drop-vertical-empty-message {\n padding-right: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);\n padding-left: var(--ag-grid-size);\n}\n\n.ag-theme-balham .ag-column-drop-horizontal,\n.ag-theme-balham-dark .ag-column-drop-horizontal,\n.ag-theme-balham-auto-dark .ag-column-drop-horizontal {\n height: var(--ag-header-height);\n}\n.ag-theme-balham .ag-column-drop-empty,\n.ag-theme-balham-dark .ag-column-drop-empty,\n.ag-theme-balham-auto-dark .ag-column-drop-empty {\n color: var(--ag-disabled-foreground-color);\n}\n.ag-theme-balham .ag-column-drop-horizontal-cell-text,\n.ag-theme-balham-dark .ag-column-drop-horizontal-cell-text,\n.ag-theme-balham-auto-dark .ag-column-drop-horizontal-cell-text {\n margin-left: calc(var(--ag-grid-size) * 2);\n}\n.ag-theme-balham .ag-column-drop-vertical,\n.ag-theme-balham-dark .ag-column-drop-vertical,\n.ag-theme-balham-auto-dark .ag-column-drop-vertical {\n padding-top: calc(var(--ag-grid-size) * 2);\n}\n.ag-theme-balham .ag-column-select-column-readonly.ag-icon-grip,\n.ag-theme-balham .ag-column-select-column-readonly .ag-icon-grip,\n.ag-theme-balham-dark .ag-column-select-column-readonly.ag-icon-grip,\n.ag-theme-balham-dark .ag-column-select-column-readonly .ag-icon-grip,\n.ag-theme-balham-auto-dark .ag-column-select-column-readonly.ag-icon-grip,\n.ag-theme-balham-auto-dark .ag-column-select-column-readonly .ag-icon-grip {\n opacity: 0.35;\n}\n.ag-theme-balham .ag-menu-header,\n.ag-theme-balham-dark .ag-menu-header,\n.ag-theme-balham-auto-dark .ag-menu-header {\n background-color: var(--ag-header-background-color);\n}\n.ag-theme-balham .ag-overlay-loading-center,\n.ag-theme-balham-dark .ag-overlay-loading-center,\n.ag-theme-balham-auto-dark .ag-overlay-loading-center {\n background-color: var(--ag-background-color);\n border: 1px solid var(--ag-border-color);\n color: var(--ag-foreground-color);\n padding: calc(var(--ag-grid-size) * 4);\n}\n.ag-theme-balham .ag-tooltip,\n.ag-theme-balham-dark .ag-tooltip,\n.ag-theme-balham-auto-dark .ag-tooltip {\n border: none;\n}\n.ag-theme-balham .ag-panel-title-bar-button-icon,\n.ag-theme-balham-dark .ag-panel-title-bar-button-icon,\n.ag-theme-balham-auto-dark .ag-panel-title-bar-button-icon {\n font-size: calc(var(--ag-icon-size) + var(--ag-grid-size));\n}\n.ag-theme-balham .ag-panel,\n.ag-theme-balham-dark .ag-panel,\n.ag-theme-balham-auto-dark .ag-panel {\n background-color: var(--ag-header-background-color);\n}\n.ag-theme-balham .ag-chart-data-section,\n.ag-theme-balham .ag-chart-format-section,\n.ag-theme-balham .ag-chart-advanced-settings-section,\n.ag-theme-balham-dark .ag-chart-data-section,\n.ag-theme-balham-dark .ag-chart-format-section,\n.ag-theme-balham-dark .ag-chart-advanced-settings-section,\n.ag-theme-balham-auto-dark .ag-chart-data-section,\n.ag-theme-balham-auto-dark .ag-chart-format-section,\n.ag-theme-balham-auto-dark .ag-chart-advanced-settings-section {\n padding-bottom: calc(var(--ag-grid-size) * 0.5);\n}\n.ag-theme-balham .ag-group-toolbar,\n.ag-theme-balham-dark .ag-group-toolbar,\n.ag-theme-balham-auto-dark .ag-group-toolbar {\n background-color: var(--ag-subheader-toolbar-background-color);\n}\n.ag-theme-balham .ag-chart-tab,\n.ag-theme-balham-dark .ag-chart-tab,\n.ag-theme-balham-auto-dark .ag-chart-tab {\n padding-top: calc(var(--ag-grid-size) * 0.5);\n}\n.ag-theme-balham .ag-charts-format-sub-level-group-item,\n.ag-theme-balham-dark .ag-charts-format-sub-level-group-item,\n.ag-theme-balham-auto-dark .ag-charts-format-sub-level-group-item {\n margin-bottom: calc(var(--ag-grid-size) * 1.5);\n}\n.ag-theme-balham .ag-filter-active .ag-icon-filter,\n.ag-theme-balham-dark .ag-filter-active .ag-icon-filter,\n.ag-theme-balham-auto-dark .ag-filter-active .ag-icon-filter {\n color: var(--ag-balham-active-color);\n}\n.ag-theme-balham .ag-color-input input[class^=ag-][type=text].ag-input-field-input,\n.ag-theme-balham-dark .ag-color-input input[class^=ag-][type=text].ag-input-field-input,\n.ag-theme-balham-auto-dark .ag-color-input input[class^=ag-][type=text].ag-input-field-input {\n min-height: calc(var(--ag-icon-size) + 4px);\n}\n',""]),t.A=d},8981:function(e,t,i){"use strict";var a=i(6758),n=i.n(a),r=i(935),o=i.n(r)()(n());o.push([e.id,'.ag-theme-material,\n.ag-theme-material-dark,\n.ag-theme-material-auto-dark {\n --ag-material-primary-color: #3f51b5;\n --ag-material-accent-color: #ff4081;\n --ag-foreground-color: rgba(0, 0, 0, 0.87);\n --ag-secondary-foreground-color: rgba(0, 0, 0, 0.54);\n --ag-disabled-foreground-color: rgba(0, 0, 0, 0.38);\n --ag-background-color: #fff;\n --ag-header-background-color: #fff;\n --ag-tooltip-background-color: #fff;\n --ag-subheader-background-color: #eee;\n --ag-subheader-toolbar-background-color: rgba(238, 238, 238, 0.5);\n --ag-header-cell-hover-background-color: #f2f2f2;\n --ag-chip-background-color: #e2e2e2;\n --ag-range-selection-background-color: rgba(122, 134, 203, 0.1);\n --ag-range-selection-background-color-2: rgba(122, 134, 203, 0.19);\n --ag-range-selection-background-color-3: rgba(122, 134, 203, 0.27);\n --ag-range-selection-background-color-4: rgba(122, 134, 203, 0.34);\n --ag-range-selection-highlight-color: #fce4ec;\n --ag-row-hover-color: #fafafa;\n --ag-column-hover-color: #fafafa;\n --ag-control-panel-background-color: #fafafa;\n --ag-selected-row-background-color: rgba(33, 150, 243, 0.3);\n --ag-checkbox-unchecked-color: #333;\n --ag-value-change-value-highlight-background-color: #00acc1;\n --ag-side-button-selected-background-color: transparent;\n --ag-advanced-filter-join-pill-color: #f08e8d;\n --ag-advanced-filter-column-pill-color: #a6e194;\n --ag-advanced-filter-option-pill-color: #f3c08b;\n --ag-advanced-filter-value-pill-color: #85c0e4;\n --ag-range-selection-border-color: var(--ag-material-primary-color);\n --ag-checkbox-checked-color: var(--ag-material-accent-color);\n --ag-borders: none;\n --ag-borders-critical: solid 1px;\n --ag-border-color: #e2e2e2;\n --ag-grid-size: 8px;\n --ag-icon-size: 18px;\n --ag-header-height: calc(var(--ag-grid-size) * 7);\n --ag-row-height: calc(var(--ag-grid-size) * 6);\n --ag-cell-horizontal-padding: calc(var(--ag-grid-size) * 3);\n --ag-list-item-height: calc(var(--ag-grid-size) * 4);\n --ag-row-group-indent-size: calc(var(--ag-grid-size) * 3 + var(--ag-icon-size));\n --ag-filter-tool-panel-sub-level-row-height: calc(var(--ag-grid-size) * 4);\n --ag-checkbox-border-radius: 2px;\n --ag-toggle-button-switch-border-width: 2px;\n --ag-toggle-button-height: var(--ag-icon-size);\n --ag-widget-container-horizontal-padding: calc(var(--ag-grid-size) * 1.5);\n --ag-widget-container-vertical-padding: calc(var(--ag-grid-size) * 2);\n --ag-widget-vertical-spacing: calc(var(--ag-grid-size) * 1.75);\n --ag-font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", Oxygen-Sans, Ubuntu, Cantarell,\n "Helvetica Neue", sans-serif;\n --ag-font-size: 13px;\n --ag-icon-font-family: agGridMaterial;\n --ag-selected-tab-underline-color: var(--ag-material-primary-color);\n --ag-selected-tab-underline-width: 2px;\n --ag-input-focus-border-color: var(--ag-material-primary-color);\n --ag-input-focus-box-shadow: 0 0 0 5px rgba(32, 33, 36, 0.122);\n --ag-card-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14),\n 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n --ag-card-radius: 2px;\n --ag-invalid-color: #e02525;\n}\n\n.ag-theme-material-dark {\n --ag-material-primary-color: #3f51b5;\n --ag-material-accent-color: rgba(187,134,252,1);\n --ag-range-selection-border-color: var(--ag-material-accent-color);\n --ag-background-color: rgba(18,18,18,1);\n --ag-foreground-color: rgba(255,255,255,1);\n --ag-data-color: rgba(245,245,245,1);\n --ag-header-cell-hover-background-color: rgba(0,0,0,1);\n --ag-advanced-filter-join-pill-color: rgba(122,58,55,1);\n --ag-advanced-filter-column-pill-color: rgba(53,95,45,1);\n --ag-advanced-filter-option-pill-color: rgba(90,49,104,1);\n --ag-advanced-filter-value-pill-color: rgba(55,76,134,1);\n --ag-input-disabled-border-color: rgba(58,67,78,1);\n --ag-input-disabled-background-color: rgba(104,104,110,0.07059);\n --ag-selected-row-background-color: rgba(187,134,252,0.2);\n --ag-row-hover-color: rgba(187,134,252,0.2);\n --ag-column-hover-color: rgba(245,245,245,0.05098);\n --ag-range-selection-background-color: rgba(187,134,252,0.10196);\n --ag-range-selection-background-color-2: rgba(187,134,252,0.18824);\n --ag-range-selection-background-color-3: rgba(187,134,252,0.27059);\n --ag-range-selection-background-color-4: rgba(187,134,252,0.34118);\n --ag-border-color: rgba(56,56,56,1);\n --ag-secondary-border-color: rgba(56,56,56,1);\n --ag-header-background-color: rgba(18,18,18,1);\n --ag-tooltip-background-color: rgba(33,43,56,1);\n --ag-odd-row-background-color: rgba(18,18,18,1);\n --ag-control-panel-background-color: rgba(44,44,44,1);\n --ag-subheader-background-color: rgba(255,255,255,0.05098);\n --ag-subheader-toolbar-background-color: rgba(44,44,44,1);\n --ag-invalid-color: rgba(224,37,37,1);\n --ag-checkbox-unchecked-color: rgba(121,126,135,1);\n --ag-checkbox-background-color: rgba(18,18,18,1);\n --ag-secondary-foreground-color: rgba(245,245,245,1);\n --ag-input-border-color: rgba(56,56,56,1);\n --ag-input-border-color-invalid: rgba(224,37,37,1);\n --ag-disabled-foreground-color: rgba(245,245,245,0.50196);\n --ag-chip-background-color: rgba(34,38,40,0.07059);\n --ag-side-button-selected-background-color: rgba(44,44,44,1);\n --ag-selected-tab-underline-color: rgba(63,81,181,1);\n --ag-modal-overlay-background-color: rgba(18,18,18,0.65882);\n --ag-value-change-delta-up-color: rgba(67,160,71,0.65882);\n --ag-value-change-delta-down-color: rgba(229,57,53,1);\n --ag-menu-background-color: rgba(44,44,44,1);\n --ag-row-loading-skeleton-effect-color: rgba(202, 203, 204, 0.4);\n --csstools-color-scheme--dark: initial;\n color-scheme: dark;\n}\n\n@media (prefers-color-scheme: dark) {\n .ag-theme-material-auto-dark {\n --ag-material-primary-color: #3f51b5;\n --ag-material-accent-color: rgba(187,134,252,1);\n --ag-range-selection-border-color: var(--ag-material-accent-color);\n --ag-background-color: rgba(18,18,18,1);\n --ag-foreground-color: rgba(255,255,255,1);\n --ag-data-color: rgba(245,245,245,1);\n --ag-header-cell-hover-background-color: rgba(0,0,0,1);\n --ag-advanced-filter-join-pill-color: rgba(122,58,55,1);\n --ag-advanced-filter-column-pill-color: rgba(53,95,45,1);\n --ag-advanced-filter-option-pill-color: rgba(90,49,104,1);\n --ag-advanced-filter-value-pill-color: rgba(55,76,134,1);\n --ag-input-disabled-border-color: rgba(58,67,78,1);\n --ag-input-disabled-background-color: rgba(104,104,110,0.07059);\n --ag-selected-row-background-color: rgba(187,134,252,0.2);\n --ag-row-hover-color: rgba(187,134,252,0.2);\n --ag-column-hover-color: rgba(245,245,245,0.05098);\n --ag-range-selection-background-color: rgba(187,134,252,0.10196);\n --ag-range-selection-background-color-2: rgba(187,134,252,0.18824);\n --ag-range-selection-background-color-3: rgba(187,134,252,0.27059);\n --ag-range-selection-background-color-4: rgba(187,134,252,0.34118);\n --ag-border-color: rgba(56,56,56,1);\n --ag-secondary-border-color: rgba(56,56,56,1);\n --ag-header-background-color: rgba(18,18,18,1);\n --ag-tooltip-background-color: rgba(33,43,56,1);\n --ag-odd-row-background-color: rgba(18,18,18,1);\n --ag-control-panel-background-color: rgba(44,44,44,1);\n --ag-subheader-background-color: rgba(255,255,255,0.05098);\n --ag-subheader-toolbar-background-color: rgba(44,44,44,1);\n --ag-invalid-color: rgba(224,37,37,1);\n --ag-checkbox-unchecked-color: rgba(121,126,135,1);\n --ag-checkbox-background-color: rgba(18,18,18,1);\n --ag-secondary-foreground-color: rgba(245,245,245,1);\n --ag-input-border-color: rgba(56,56,56,1);\n --ag-input-border-color-invalid: rgba(224,37,37,1);\n --ag-disabled-foreground-color: rgba(245,245,245,0.50196);\n --ag-chip-background-color: rgba(34,38,40,0.07059);\n --ag-side-button-selected-background-color: rgba(44,44,44,1);\n --ag-selected-tab-underline-color: rgba(63,81,181,1);\n --ag-modal-overlay-background-color: rgba(18,18,18,0.65882);\n --ag-value-change-delta-up-color: rgba(67,160,71,0.65882);\n --ag-value-change-delta-down-color: rgba(229,57,53,1);\n --ag-menu-background-color: rgba(44,44,44,1);\n --ag-row-loading-skeleton-effect-color: rgba(202, 203, 204, 0.4);\n --csstools-color-scheme--dark: initial;\n color-scheme: dark;\n }\n}\n.ag-theme-material .ag-filter-toolpanel-header,\n.ag-theme-material .ag-filter-toolpanel-search,\n.ag-theme-material .ag-status-bar,\n.ag-theme-material .ag-header-row,\n.ag-theme-material .ag-panel-title-bar-title,\n.ag-theme-material .ag-multi-filter-group-title-bar,\n.ag-theme-material-dark .ag-filter-toolpanel-header,\n.ag-theme-material-dark .ag-filter-toolpanel-search,\n.ag-theme-material-dark .ag-status-bar,\n.ag-theme-material-dark .ag-header-row,\n.ag-theme-material-dark .ag-panel-title-bar-title,\n.ag-theme-material-dark .ag-multi-filter-group-title-bar,\n.ag-theme-material-auto-dark .ag-filter-toolpanel-header,\n.ag-theme-material-auto-dark .ag-filter-toolpanel-search,\n.ag-theme-material-auto-dark .ag-status-bar,\n.ag-theme-material-auto-dark .ag-header-row,\n.ag-theme-material-auto-dark .ag-panel-title-bar-title,\n.ag-theme-material-auto-dark .ag-multi-filter-group-title-bar {\n font-size: calc(var(--ag-font-size) - 1px);\n font-weight: 600;\n color: var(--ag-header-foreground-color);\n}\n.ag-theme-material .ag-tab,\n.ag-theme-material-dark .ag-tab,\n.ag-theme-material-auto-dark .ag-tab {\n height: calc(var(--ag-grid-size) * 4.5);\n flex: 1 1 auto;\n}\n.ag-theme-material .ag-tabs-header,\n.ag-theme-material .ag-column-drop-horizontal,\n.ag-theme-material-dark .ag-tabs-header,\n.ag-theme-material-dark .ag-column-drop-horizontal,\n.ag-theme-material-auto-dark .ag-tabs-header,\n.ag-theme-material-auto-dark .ag-column-drop-horizontal {\n background-color: var(--ag-subheader-background-color);\n}\n.ag-theme-material .ag-tabs-body,\n.ag-theme-material-dark .ag-tabs-body,\n.ag-theme-material-auto-dark .ag-tabs-body {\n padding: calc(var(--ag-grid-size) * 0.5) 0;\n}\n.ag-theme-material .ag-tabs-body .ag-menu-list,\n.ag-theme-material-dark .ag-tabs-body .ag-menu-list,\n.ag-theme-material-auto-dark .ag-tabs-body .ag-menu-list {\n padding-top: 0;\n padding-bottom: 0;\n}\n.ag-theme-material .ag-header-cell,\n.ag-theme-material .ag-header-group-cell,\n.ag-theme-material-dark .ag-header-cell,\n.ag-theme-material-dark .ag-header-group-cell,\n.ag-theme-material-auto-dark .ag-header-cell,\n.ag-theme-material-auto-dark .ag-header-group-cell {\n transition: background-color 0.5s;\n}\n.ag-theme-material .ag-row-last:not(.ag-row-first) .ag-cell-inline-editing,\n.ag-theme-material-dark .ag-row-last:not(.ag-row-first) .ag-cell-inline-editing,\n.ag-theme-material-auto-dark .ag-row-last:not(.ag-row-first) .ag-cell-inline-editing {\n bottom: 0;\n}\n.ag-theme-material .ag-cell-inline-editing,\n.ag-theme-material-dark .ag-cell-inline-editing,\n.ag-theme-material-auto-dark .ag-cell-inline-editing {\n padding: var(--ag-grid-size);\n height: calc(var(--ag-row-height) + var(--ag-grid-size) * 3);\n border-color: var(--ag-border-color) !important;\n}\n.ag-theme-material .ag-has-focus .ag-cell-inline-editing,\n.ag-theme-material-dark .ag-has-focus .ag-cell-inline-editing,\n.ag-theme-material-auto-dark .ag-has-focus .ag-cell-inline-editing {\n border-color: var(--ag-input-focus-border-color) !important;\n}\n.ag-theme-material .ag-column-drop-vertical,\n.ag-theme-material-dark .ag-column-drop-vertical,\n.ag-theme-material-auto-dark .ag-column-drop-vertical {\n border-bottom: solid 1px;\n border-bottom-color: var(--ag-border-color);\n padding-top: var(--ag-grid-size);\n}\n.ag-theme-material .ag-column-drop-vertical.ag-last-column-drop,\n.ag-theme-material-dark .ag-column-drop-vertical.ag-last-column-drop,\n.ag-theme-material-auto-dark .ag-column-drop-vertical.ag-last-column-drop {\n border-bottom: none;\n}\n.ag-theme-material .ag-column-drop-vertical-cell,\n.ag-theme-material-dark .ag-column-drop-vertical-cell,\n.ag-theme-material-auto-dark .ag-column-drop-vertical-cell {\n margin-left: 0;\n}\n.ag-theme-material .ag-column-drop-vertical-empty-message,\n.ag-theme-material-dark .ag-column-drop-vertical-empty-message,\n.ag-theme-material-auto-dark .ag-column-drop-vertical-empty-message {\n font-size: calc(var(--ag-font-size) - 1px);\n font-weight: 600;\n color: var(--ag-disabled-foreground-color);\n}\n.ag-theme-material .ag-ltr .ag-column-drop-vertical-empty-message, .ag-theme-material-dark .ag-ltr .ag-column-drop-vertical-empty-message, .ag-theme-material-auto-dark .ag-ltr .ag-column-drop-vertical-empty-message {\n padding-left: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);\n padding-right: var(--ag-grid-size);\n}\n\n.ag-theme-material .ag-rtl .ag-column-drop-vertical-empty-message, .ag-theme-material-dark .ag-rtl .ag-column-drop-vertical-empty-message, .ag-theme-material-auto-dark .ag-rtl .ag-column-drop-vertical-empty-message {\n padding-right: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);\n padding-left: var(--ag-grid-size);\n}\n\n.ag-theme-material .ag-status-bar,\n.ag-theme-material-dark .ag-status-bar,\n.ag-theme-material-auto-dark .ag-status-bar {\n border: solid 1px;\n border-color: var(--ag-border-color);\n}\n.ag-theme-material .ag-column-panel-column-select,\n.ag-theme-material-dark .ag-column-panel-column-select,\n.ag-theme-material-auto-dark .ag-column-panel-column-select {\n border-top: solid 1px;\n border-top-color: var(--ag-border-color);\n}\n.ag-theme-material .ag-column-select,\n.ag-theme-material .ag-column-select-header,\n.ag-theme-material-dark .ag-column-select,\n.ag-theme-material-dark .ag-column-select-header,\n.ag-theme-material-auto-dark .ag-column-select,\n.ag-theme-material-auto-dark .ag-column-select-header {\n border-bottom: solid 1px;\n border-bottom-color: var(--ag-border-color);\n}\n.ag-theme-material .ag-column-select-header,\n.ag-theme-material-dark .ag-column-select-header,\n.ag-theme-material-auto-dark .ag-column-select-header {\n height: var(--ag-header-height);\n}\n.ag-theme-material .ag-group-title-bar,\n.ag-theme-material-dark .ag-group-title-bar,\n.ag-theme-material-auto-dark .ag-group-title-bar {\n padding: calc(var(--ag-grid-size) * 0.75) var(--ag-grid-size);\n}\n.ag-theme-material .ag-charts-format-sub-level-group-title-bar,\n.ag-theme-material-dark .ag-charts-format-sub-level-group-title-bar,\n.ag-theme-material-auto-dark .ag-charts-format-sub-level-group-title-bar {\n padding: calc(var(--ag-grid-size) * 0.5) var(--ag-grid-size);\n}\n.ag-theme-material .ag-chart-data-section,\n.ag-theme-material .ag-chart-format-section,\n.ag-theme-material .ag-chart-advanced-settings-section,\n.ag-theme-material-dark .ag-chart-data-section,\n.ag-theme-material-dark .ag-chart-format-section,\n.ag-theme-material-dark .ag-chart-advanced-settings-section,\n.ag-theme-material-auto-dark .ag-chart-data-section,\n.ag-theme-material-auto-dark .ag-chart-format-section,\n.ag-theme-material-auto-dark .ag-chart-advanced-settings-section {\n padding-bottom: calc(var(--ag-grid-size) * 0.5);\n}\n.ag-theme-material input[class^=ag-]:not([type]),\n.ag-theme-material input[class^=ag-][type=text],\n.ag-theme-material input[class^=ag-][type=number],\n.ag-theme-material input[class^=ag-][type=tel],\n.ag-theme-material input[class^=ag-][type=date],\n.ag-theme-material input[class^=ag-][type=datetime-local],\n.ag-theme-material textarea[class^=ag-],\n.ag-theme-material-dark input[class^=ag-]:not([type]),\n.ag-theme-material-dark input[class^=ag-][type=text],\n.ag-theme-material-dark input[class^=ag-][type=number],\n.ag-theme-material-dark input[class^=ag-][type=tel],\n.ag-theme-material-dark input[class^=ag-][type=date],\n.ag-theme-material-dark input[class^=ag-][type=datetime-local],\n.ag-theme-material-dark textarea[class^=ag-],\n.ag-theme-material-auto-dark input[class^=ag-]:not([type]),\n.ag-theme-material-auto-dark input[class^=ag-][type=text],\n.ag-theme-material-auto-dark input[class^=ag-][type=number],\n.ag-theme-material-auto-dark input[class^=ag-][type=tel],\n.ag-theme-material-auto-dark input[class^=ag-][type=date],\n.ag-theme-material-auto-dark input[class^=ag-][type=datetime-local],\n.ag-theme-material-auto-dark textarea[class^=ag-] {\n background: transparent;\n color: var(--ag-foreground-color);\n font-family: inherit;\n font-size: inherit;\n height: calc(var(--ag-grid-size) * 5);\n padding-bottom: var(--ag-grid-size);\n border-width: 0;\n border-radius: 0;\n border-bottom: 2px solid;\n border-bottom-color: var(--ag-border-color);\n}\n.ag-theme-material input[class^=ag-]:not([type]):focus,\n.ag-theme-material input[class^=ag-][type=text]:focus,\n.ag-theme-material input[class^=ag-][type=number]:focus,\n.ag-theme-material input[class^=ag-][type=tel]:focus,\n.ag-theme-material input[class^=ag-][type=date]:focus,\n.ag-theme-material input[class^=ag-][type=datetime-local]:focus,\n.ag-theme-material textarea[class^=ag-]:focus,\n.ag-theme-material-dark input[class^=ag-]:not([type]):focus,\n.ag-theme-material-dark input[class^=ag-][type=text]:focus,\n.ag-theme-material-dark input[class^=ag-][type=number]:focus,\n.ag-theme-material-dark input[class^=ag-][type=tel]:focus,\n.ag-theme-material-dark input[class^=ag-][type=date]:focus,\n.ag-theme-material-dark input[class^=ag-][type=datetime-local]:focus,\n.ag-theme-material-dark textarea[class^=ag-]:focus,\n.ag-theme-material-auto-dark input[class^=ag-]:not([type]):focus,\n.ag-theme-material-auto-dark input[class^=ag-][type=text]:focus,\n.ag-theme-material-auto-dark input[class^=ag-][type=number]:focus,\n.ag-theme-material-auto-dark input[class^=ag-][type=tel]:focus,\n.ag-theme-material-auto-dark input[class^=ag-][type=date]:focus,\n.ag-theme-material-auto-dark input[class^=ag-][type=datetime-local]:focus,\n.ag-theme-material-auto-dark textarea[class^=ag-]:focus {\n border-bottom: 2px solid;\n border-bottom-color: var(--ag-material-primary-color);\n outline: none;\n box-shadow: none;\n}\n.ag-theme-material input[class^=ag-]:not([type])::-moz-placeholder, .ag-theme-material input[class^=ag-][type=text]::-moz-placeholder, .ag-theme-material input[class^=ag-][type=number]::-moz-placeholder, .ag-theme-material input[class^=ag-][type=tel]::-moz-placeholder, .ag-theme-material input[class^=ag-][type=date]::-moz-placeholder, .ag-theme-material input[class^=ag-][type=datetime-local]::-moz-placeholder, .ag-theme-material textarea[class^=ag-]::-moz-placeholder, .ag-theme-material-dark input[class^=ag-]:not([type])::-moz-placeholder, .ag-theme-material-dark input[class^=ag-][type=text]::-moz-placeholder, .ag-theme-material-dark input[class^=ag-][type=number]::-moz-placeholder, .ag-theme-material-dark input[class^=ag-][type=tel]::-moz-placeholder, .ag-theme-material-dark input[class^=ag-][type=date]::-moz-placeholder, .ag-theme-material-dark input[class^=ag-][type=datetime-local]::-moz-placeholder, .ag-theme-material-dark textarea[class^=ag-]::-moz-placeholder, .ag-theme-material-auto-dark input[class^=ag-]:not([type])::-moz-placeholder, .ag-theme-material-auto-dark input[class^=ag-][type=text]::-moz-placeholder, .ag-theme-material-auto-dark input[class^=ag-][type=number]::-moz-placeholder, .ag-theme-material-auto-dark input[class^=ag-][type=tel]::-moz-placeholder, .ag-theme-material-auto-dark input[class^=ag-][type=date]::-moz-placeholder, .ag-theme-material-auto-dark input[class^=ag-][type=datetime-local]::-moz-placeholder, .ag-theme-material-auto-dark textarea[class^=ag-]::-moz-placeholder {\n color: var(--ag-disabled-foreground-color);\n}\n.ag-theme-material input[class^=ag-]:not([type])::placeholder,\n.ag-theme-material input[class^=ag-][type=text]::placeholder,\n.ag-theme-material input[class^=ag-][type=number]::placeholder,\n.ag-theme-material input[class^=ag-][type=tel]::placeholder,\n.ag-theme-material input[class^=ag-][type=date]::placeholder,\n.ag-theme-material input[class^=ag-][type=datetime-local]::placeholder,\n.ag-theme-material textarea[class^=ag-]::placeholder,\n.ag-theme-material-dark input[class^=ag-]:not([type])::placeholder,\n.ag-theme-material-dark input[class^=ag-][type=text]::placeholder,\n.ag-theme-material-dark input[class^=ag-][type=number]::placeholder,\n.ag-theme-material-dark input[class^=ag-][type=tel]::placeholder,\n.ag-theme-material-dark input[class^=ag-][type=date]::placeholder,\n.ag-theme-material-dark input[class^=ag-][type=datetime-local]::placeholder,\n.ag-theme-material-dark textarea[class^=ag-]::placeholder,\n.ag-theme-material-auto-dark input[class^=ag-]:not([type])::placeholder,\n.ag-theme-material-auto-dark input[class^=ag-][type=text]::placeholder,\n.ag-theme-material-auto-dark input[class^=ag-][type=number]::placeholder,\n.ag-theme-material-auto-dark input[class^=ag-][type=tel]::placeholder,\n.ag-theme-material-auto-dark input[class^=ag-][type=date]::placeholder,\n.ag-theme-material-auto-dark input[class^=ag-][type=datetime-local]::placeholder,\n.ag-theme-material-auto-dark textarea[class^=ag-]::placeholder {\n color: var(--ag-disabled-foreground-color);\n}\n.ag-theme-material input[class^=ag-]:not([type]):disabled,\n.ag-theme-material input[class^=ag-][type=text]:disabled,\n.ag-theme-material input[class^=ag-][type=number]:disabled,\n.ag-theme-material input[class^=ag-][type=tel]:disabled,\n.ag-theme-material input[class^=ag-][type=date]:disabled,\n.ag-theme-material input[class^=ag-][type=datetime-local]:disabled,\n.ag-theme-material textarea[class^=ag-]:disabled,\n.ag-theme-material-dark input[class^=ag-]:not([type]):disabled,\n.ag-theme-material-dark input[class^=ag-][type=text]:disabled,\n.ag-theme-material-dark input[class^=ag-][type=number]:disabled,\n.ag-theme-material-dark input[class^=ag-][type=tel]:disabled,\n.ag-theme-material-dark input[class^=ag-][type=date]:disabled,\n.ag-theme-material-dark input[class^=ag-][type=datetime-local]:disabled,\n.ag-theme-material-dark textarea[class^=ag-]:disabled,\n.ag-theme-material-auto-dark input[class^=ag-]:not([type]):disabled,\n.ag-theme-material-auto-dark input[class^=ag-][type=text]:disabled,\n.ag-theme-material-auto-dark input[class^=ag-][type=number]:disabled,\n.ag-theme-material-auto-dark input[class^=ag-][type=tel]:disabled,\n.ag-theme-material-auto-dark input[class^=ag-][type=date]:disabled,\n.ag-theme-material-auto-dark input[class^=ag-][type=datetime-local]:disabled,\n.ag-theme-material-auto-dark textarea[class^=ag-]:disabled {\n border-bottom: 1px solid;\n border-bottom-color: var(--ag-border-color);\n}\n.ag-theme-material input[class^=ag-]:not([type]):invalid,\n.ag-theme-material input[class^=ag-][type=text]:invalid,\n.ag-theme-material input[class^=ag-][type=number]:invalid,\n.ag-theme-material input[class^=ag-][type=tel]:invalid,\n.ag-theme-material input[class^=ag-][type=date]:invalid,\n.ag-theme-material input[class^=ag-][type=datetime-local]:invalid,\n.ag-theme-material textarea[class^=ag-]:invalid,\n.ag-theme-material-dark input[class^=ag-]:not([type]):invalid,\n.ag-theme-material-dark input[class^=ag-][type=text]:invalid,\n.ag-theme-material-dark input[class^=ag-][type=number]:invalid,\n.ag-theme-material-dark input[class^=ag-][type=tel]:invalid,\n.ag-theme-material-dark input[class^=ag-][type=date]:invalid,\n.ag-theme-material-dark input[class^=ag-][type=datetime-local]:invalid,\n.ag-theme-material-dark textarea[class^=ag-]:invalid,\n.ag-theme-material-auto-dark input[class^=ag-]:not([type]):invalid,\n.ag-theme-material-auto-dark input[class^=ag-][type=text]:invalid,\n.ag-theme-material-auto-dark input[class^=ag-][type=number]:invalid,\n.ag-theme-material-auto-dark input[class^=ag-][type=tel]:invalid,\n.ag-theme-material-auto-dark input[class^=ag-][type=date]:invalid,\n.ag-theme-material-auto-dark input[class^=ag-][type=datetime-local]:invalid,\n.ag-theme-material-auto-dark textarea[class^=ag-]:invalid {\n border-width: 0;\n border-bottom: 1px solid;\n border-bottom-color: var(--ag-invalid-color);\n color: var(--ag-invalid-color);\n}\n.ag-theme-material .ag-standard-button,\n.ag-theme-material-dark .ag-standard-button,\n.ag-theme-material-auto-dark .ag-standard-button {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background-color: transparent;\n border: 0;\n color: var(--ag-material-primary-color);\n font-family: inherit;\n font-size: inherit;\n margin: 0;\n padding: 0;\n text-transform: uppercase;\n}\n.ag-theme-material .ag-standard-button:disabled,\n.ag-theme-material-dark .ag-standard-button:disabled,\n.ag-theme-material-auto-dark .ag-standard-button:disabled {\n color: var(--ag-disabled-foreground-color);\n background-color: var(--ag-input-disabled-background-color);\n border-color: var(--ag-input-disabled-border-color);\n}\n.ag-theme-material.ag-dnd-ghost,\n.ag-theme-material-dark.ag-dnd-ghost,\n.ag-theme-material-auto-dark.ag-dnd-ghost {\n font-size: calc(var(--ag-font-size) - 1px);\n font-weight: 600;\n}\n.ag-theme-material .ag-filter-toolpanel-header,\n.ag-theme-material-dark .ag-filter-toolpanel-header,\n.ag-theme-material-auto-dark .ag-filter-toolpanel-header {\n height: calc(var(--ag-grid-size) * 4);\n}\n.ag-theme-material .ag-filter-toolpanel-group-level-0-header,\n.ag-theme-material-dark .ag-filter-toolpanel-group-level-0-header,\n.ag-theme-material-auto-dark .ag-filter-toolpanel-group-level-0-header {\n height: calc(var(--ag-grid-size) * 7);\n}\n.ag-theme-material .ag-ltr .ag-filter-apply-panel-button, .ag-theme-material .ag-ltr .ag-advanced-filter-apply-button, .ag-theme-material .ag-ltr .ag-advanced-filter-builder-button, .ag-theme-material-dark .ag-ltr .ag-filter-apply-panel-button, .ag-theme-material-dark .ag-ltr .ag-advanced-filter-apply-button, .ag-theme-material-dark .ag-ltr .ag-advanced-filter-builder-button, .ag-theme-material-auto-dark .ag-ltr .ag-filter-apply-panel-button, .ag-theme-material-auto-dark .ag-ltr .ag-advanced-filter-apply-button, .ag-theme-material-auto-dark .ag-ltr .ag-advanced-filter-builder-button {\n margin-left: var(--ag-grid-size);\n}\n\n.ag-theme-material .ag-rtl .ag-filter-apply-panel-button, .ag-theme-material .ag-rtl .ag-advanced-filter-apply-button, .ag-theme-material .ag-rtl .ag-advanced-filter-builder-button, .ag-theme-material-dark .ag-rtl .ag-filter-apply-panel-button, .ag-theme-material-dark .ag-rtl .ag-advanced-filter-apply-button, .ag-theme-material-dark .ag-rtl .ag-advanced-filter-builder-button, .ag-theme-material-auto-dark .ag-rtl .ag-filter-apply-panel-button, .ag-theme-material-auto-dark .ag-rtl .ag-advanced-filter-apply-button, .ag-theme-material-auto-dark .ag-rtl .ag-advanced-filter-builder-button {\n margin-right: var(--ag-grid-size);\n}\n\n.ag-theme-material .ag-layout-auto-height .ag-center-cols-viewport,\n.ag-theme-material .ag-layout-auto-height .ag-center-cols-container,\n.ag-theme-material .ag-layout-print .ag-center-cols-viewport,\n.ag-theme-material .ag-layout-print .ag-center-cols-container,\n.ag-theme-material-dark .ag-layout-auto-height .ag-center-cols-viewport,\n.ag-theme-material-dark .ag-layout-auto-height .ag-center-cols-container,\n.ag-theme-material-dark .ag-layout-print .ag-center-cols-viewport,\n.ag-theme-material-dark .ag-layout-print .ag-center-cols-container,\n.ag-theme-material-auto-dark .ag-layout-auto-height .ag-center-cols-viewport,\n.ag-theme-material-auto-dark .ag-layout-auto-height .ag-center-cols-container,\n.ag-theme-material-auto-dark .ag-layout-print .ag-center-cols-viewport,\n.ag-theme-material-auto-dark .ag-layout-print .ag-center-cols-container {\n min-height: 150px;\n}\n.ag-theme-material .ag-overlay-no-rows-wrapper.ag-layout-auto-height,\n.ag-theme-material-dark .ag-overlay-no-rows-wrapper.ag-layout-auto-height,\n.ag-theme-material-auto-dark .ag-overlay-no-rows-wrapper.ag-layout-auto-height {\n padding-top: 60px;\n}\n.ag-theme-material .ag-picker-field-wrapper:focus-within,\n.ag-theme-material-dark .ag-picker-field-wrapper:focus-within,\n.ag-theme-material-auto-dark .ag-picker-field-wrapper:focus-within {\n box-shadow: 0 0 0 1px var(--ag-material-primary-color);\n}\n.ag-theme-material .ag-rich-select-list,\n.ag-theme-material-dark .ag-rich-select-list,\n.ag-theme-material-auto-dark .ag-rich-select-list {\n box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 5px -3px, rgba(0, 0, 0, 0.14) 0px 8px 10px 1px, rgba(0, 0, 0, 0.12) 0px 3px 14px 2px;\n}\n.ag-theme-material .ag-advanced-filter-builder-button-label,\n.ag-theme-material-dark .ag-advanced-filter-builder-button-label,\n.ag-theme-material-auto-dark .ag-advanced-filter-builder-button-label {\n text-transform: uppercase;\n}\n.ag-theme-material .ag-filter-active .ag-icon-filter,\n.ag-theme-material-dark .ag-filter-active .ag-icon-filter,\n.ag-theme-material-auto-dark .ag-filter-active .ag-icon-filter {\n color: var(--ag-material-accent-color);\n}\n',""]),t.A=o},2935:function(e,t,i){"use strict";var a=i(6758),n=i.n(a),r=i(935),o=i.n(r),s=i(62),l=i.n(s),c=new URL(i(6055),i.b),d=o()(n()),h=l()(c);d.push([e.id,'@font-face {\n font-family: "agGridMaterial";\n src: url('+h+');\n font-weight: normal;\n font-style: normal;\n}\n.ag-theme-material,\n.ag-theme-material-dark,\n.ag-theme-material-auto-dark {\n --ag-material-primary-color: #3f51b5;\n --ag-material-accent-color: #ff4081;\n --ag-foreground-color: rgba(0, 0, 0, 0.87);\n --ag-secondary-foreground-color: rgba(0, 0, 0, 0.54);\n --ag-disabled-foreground-color: rgba(0, 0, 0, 0.38);\n --ag-background-color: #fff;\n --ag-header-background-color: #fff;\n --ag-tooltip-background-color: #fff;\n --ag-subheader-background-color: #eee;\n --ag-subheader-toolbar-background-color: rgba(238, 238, 238, 0.5);\n --ag-header-cell-hover-background-color: #f2f2f2;\n --ag-chip-background-color: #e2e2e2;\n --ag-range-selection-background-color: rgba(122, 134, 203, 0.1);\n --ag-range-selection-background-color-2: rgba(122, 134, 203, 0.19);\n --ag-range-selection-background-color-3: rgba(122, 134, 203, 0.27);\n --ag-range-selection-background-color-4: rgba(122, 134, 203, 0.34);\n --ag-range-selection-highlight-color: #fce4ec;\n --ag-row-hover-color: #fafafa;\n --ag-column-hover-color: #fafafa;\n --ag-control-panel-background-color: #fafafa;\n --ag-selected-row-background-color: rgba(33, 150, 243, 0.3);\n --ag-checkbox-unchecked-color: #333;\n --ag-value-change-value-highlight-background-color: #00acc1;\n --ag-side-button-selected-background-color: transparent;\n --ag-advanced-filter-join-pill-color: #f08e8d;\n --ag-advanced-filter-column-pill-color: #a6e194;\n --ag-advanced-filter-option-pill-color: #f3c08b;\n --ag-advanced-filter-value-pill-color: #85c0e4;\n --ag-range-selection-border-color: var(--ag-material-primary-color);\n --ag-checkbox-checked-color: var(--ag-material-accent-color);\n --ag-borders: none;\n --ag-borders-critical: solid 1px;\n --ag-border-color: #e2e2e2;\n --ag-grid-size: 8px;\n --ag-icon-size: 18px;\n --ag-header-height: calc(var(--ag-grid-size) * 7);\n --ag-row-height: calc(var(--ag-grid-size) * 6);\n --ag-cell-horizontal-padding: calc(var(--ag-grid-size) * 3);\n --ag-list-item-height: calc(var(--ag-grid-size) * 4);\n --ag-row-group-indent-size: calc(var(--ag-grid-size) * 3 + var(--ag-icon-size));\n --ag-filter-tool-panel-sub-level-row-height: calc(var(--ag-grid-size) * 4);\n --ag-checkbox-border-radius: 2px;\n --ag-toggle-button-switch-border-width: 2px;\n --ag-toggle-button-height: var(--ag-icon-size);\n --ag-widget-container-horizontal-padding: calc(var(--ag-grid-size) * 1.5);\n --ag-widget-container-vertical-padding: calc(var(--ag-grid-size) * 2);\n --ag-widget-vertical-spacing: calc(var(--ag-grid-size) * 1.75);\n --ag-font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", Oxygen-Sans, Ubuntu, Cantarell,\n "Helvetica Neue", sans-serif;\n --ag-font-size: 13px;\n --ag-icon-font-family: agGridMaterial;\n --ag-selected-tab-underline-color: var(--ag-material-primary-color);\n --ag-selected-tab-underline-width: 2px;\n --ag-input-focus-border-color: var(--ag-material-primary-color);\n --ag-input-focus-box-shadow: 0 0 0 5px rgba(32, 33, 36, 0.122);\n --ag-card-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14),\n 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n --ag-card-radius: 2px;\n --ag-invalid-color: #e02525;\n}\n\n.ag-theme-material-dark {\n --ag-material-primary-color: #3f51b5;\n --ag-material-accent-color: rgba(187,134,252,1);\n --ag-range-selection-border-color: var(--ag-material-accent-color);\n --ag-background-color: rgba(18,18,18,1);\n --ag-foreground-color: rgba(255,255,255,1);\n --ag-data-color: rgba(245,245,245,1);\n --ag-header-cell-hover-background-color: rgba(0,0,0,1);\n --ag-advanced-filter-join-pill-color: rgba(122,58,55,1);\n --ag-advanced-filter-column-pill-color: rgba(53,95,45,1);\n --ag-advanced-filter-option-pill-color: rgba(90,49,104,1);\n --ag-advanced-filter-value-pill-color: rgba(55,76,134,1);\n --ag-input-disabled-border-color: rgba(58,67,78,1);\n --ag-input-disabled-background-color: rgba(104,104,110,0.07059);\n --ag-selected-row-background-color: rgba(187,134,252,0.2);\n --ag-row-hover-color: rgba(187,134,252,0.2);\n --ag-column-hover-color: rgba(245,245,245,0.05098);\n --ag-range-selection-background-color: rgba(187,134,252,0.10196);\n --ag-range-selection-background-color-2: rgba(187,134,252,0.18824);\n --ag-range-selection-background-color-3: rgba(187,134,252,0.27059);\n --ag-range-selection-background-color-4: rgba(187,134,252,0.34118);\n --ag-border-color: rgba(56,56,56,1);\n --ag-secondary-border-color: rgba(56,56,56,1);\n --ag-header-background-color: rgba(18,18,18,1);\n --ag-tooltip-background-color: rgba(33,43,56,1);\n --ag-odd-row-background-color: rgba(18,18,18,1);\n --ag-control-panel-background-color: rgba(44,44,44,1);\n --ag-subheader-background-color: rgba(255,255,255,0.05098);\n --ag-subheader-toolbar-background-color: rgba(44,44,44,1);\n --ag-invalid-color: rgba(224,37,37,1);\n --ag-checkbox-unchecked-color: rgba(121,126,135,1);\n --ag-checkbox-background-color: rgba(18,18,18,1);\n --ag-secondary-foreground-color: rgba(245,245,245,1);\n --ag-input-border-color: rgba(56,56,56,1);\n --ag-input-border-color-invalid: rgba(224,37,37,1);\n --ag-disabled-foreground-color: rgba(245,245,245,0.50196);\n --ag-chip-background-color: rgba(34,38,40,0.07059);\n --ag-side-button-selected-background-color: rgba(44,44,44,1);\n --ag-selected-tab-underline-color: rgba(63,81,181,1);\n --ag-modal-overlay-background-color: rgba(18,18,18,0.65882);\n --ag-value-change-delta-up-color: rgba(67,160,71,0.65882);\n --ag-value-change-delta-down-color: rgba(229,57,53,1);\n --ag-menu-background-color: rgba(44,44,44,1);\n --ag-row-loading-skeleton-effect-color: rgba(202, 203, 204, 0.4);\n --csstools-color-scheme--dark: initial;\n color-scheme: dark;\n}\n\n@media (prefers-color-scheme: dark) {\n .ag-theme-material-auto-dark {\n --ag-material-primary-color: #3f51b5;\n --ag-material-accent-color: rgba(187,134,252,1);\n --ag-range-selection-border-color: var(--ag-material-accent-color);\n --ag-background-color: rgba(18,18,18,1);\n --ag-foreground-color: rgba(255,255,255,1);\n --ag-data-color: rgba(245,245,245,1);\n --ag-header-cell-hover-background-color: rgba(0,0,0,1);\n --ag-advanced-filter-join-pill-color: rgba(122,58,55,1);\n --ag-advanced-filter-column-pill-color: rgba(53,95,45,1);\n --ag-advanced-filter-option-pill-color: rgba(90,49,104,1);\n --ag-advanced-filter-value-pill-color: rgba(55,76,134,1);\n --ag-input-disabled-border-color: rgba(58,67,78,1);\n --ag-input-disabled-background-color: rgba(104,104,110,0.07059);\n --ag-selected-row-background-color: rgba(187,134,252,0.2);\n --ag-row-hover-color: rgba(187,134,252,0.2);\n --ag-column-hover-color: rgba(245,245,245,0.05098);\n --ag-range-selection-background-color: rgba(187,134,252,0.10196);\n --ag-range-selection-background-color-2: rgba(187,134,252,0.18824);\n --ag-range-selection-background-color-3: rgba(187,134,252,0.27059);\n --ag-range-selection-background-color-4: rgba(187,134,252,0.34118);\n --ag-border-color: rgba(56,56,56,1);\n --ag-secondary-border-color: rgba(56,56,56,1);\n --ag-header-background-color: rgba(18,18,18,1);\n --ag-tooltip-background-color: rgba(33,43,56,1);\n --ag-odd-row-background-color: rgba(18,18,18,1);\n --ag-control-panel-background-color: rgba(44,44,44,1);\n --ag-subheader-background-color: rgba(255,255,255,0.05098);\n --ag-subheader-toolbar-background-color: rgba(44,44,44,1);\n --ag-invalid-color: rgba(224,37,37,1);\n --ag-checkbox-unchecked-color: rgba(121,126,135,1);\n --ag-checkbox-background-color: rgba(18,18,18,1);\n --ag-secondary-foreground-color: rgba(245,245,245,1);\n --ag-input-border-color: rgba(56,56,56,1);\n --ag-input-border-color-invalid: rgba(224,37,37,1);\n --ag-disabled-foreground-color: rgba(245,245,245,0.50196);\n --ag-chip-background-color: rgba(34,38,40,0.07059);\n --ag-side-button-selected-background-color: rgba(44,44,44,1);\n --ag-selected-tab-underline-color: rgba(63,81,181,1);\n --ag-modal-overlay-background-color: rgba(18,18,18,0.65882);\n --ag-value-change-delta-up-color: rgba(67,160,71,0.65882);\n --ag-value-change-delta-down-color: rgba(229,57,53,1);\n --ag-menu-background-color: rgba(44,44,44,1);\n --ag-row-loading-skeleton-effect-color: rgba(202, 203, 204, 0.4);\n --csstools-color-scheme--dark: initial;\n color-scheme: dark;\n }\n}\n.ag-theme-material .ag-filter-toolpanel-header,\n.ag-theme-material .ag-filter-toolpanel-search,\n.ag-theme-material .ag-status-bar,\n.ag-theme-material .ag-header-row,\n.ag-theme-material .ag-panel-title-bar-title,\n.ag-theme-material .ag-multi-filter-group-title-bar,\n.ag-theme-material-dark .ag-filter-toolpanel-header,\n.ag-theme-material-dark .ag-filter-toolpanel-search,\n.ag-theme-material-dark .ag-status-bar,\n.ag-theme-material-dark .ag-header-row,\n.ag-theme-material-dark .ag-panel-title-bar-title,\n.ag-theme-material-dark .ag-multi-filter-group-title-bar,\n.ag-theme-material-auto-dark .ag-filter-toolpanel-header,\n.ag-theme-material-auto-dark .ag-filter-toolpanel-search,\n.ag-theme-material-auto-dark .ag-status-bar,\n.ag-theme-material-auto-dark .ag-header-row,\n.ag-theme-material-auto-dark .ag-panel-title-bar-title,\n.ag-theme-material-auto-dark .ag-multi-filter-group-title-bar {\n font-size: calc(var(--ag-font-size) - 1px);\n font-weight: 600;\n color: var(--ag-header-foreground-color);\n}\n.ag-theme-material .ag-tab,\n.ag-theme-material-dark .ag-tab,\n.ag-theme-material-auto-dark .ag-tab {\n height: calc(var(--ag-grid-size) * 4.5);\n flex: 1 1 auto;\n}\n.ag-theme-material .ag-tabs-header,\n.ag-theme-material .ag-column-drop-horizontal,\n.ag-theme-material-dark .ag-tabs-header,\n.ag-theme-material-dark .ag-column-drop-horizontal,\n.ag-theme-material-auto-dark .ag-tabs-header,\n.ag-theme-material-auto-dark .ag-column-drop-horizontal {\n background-color: var(--ag-subheader-background-color);\n}\n.ag-theme-material .ag-tabs-body,\n.ag-theme-material-dark .ag-tabs-body,\n.ag-theme-material-auto-dark .ag-tabs-body {\n padding: calc(var(--ag-grid-size) * 0.5) 0;\n}\n.ag-theme-material .ag-tabs-body .ag-menu-list,\n.ag-theme-material-dark .ag-tabs-body .ag-menu-list,\n.ag-theme-material-auto-dark .ag-tabs-body .ag-menu-list {\n padding-top: 0;\n padding-bottom: 0;\n}\n.ag-theme-material .ag-header-cell,\n.ag-theme-material .ag-header-group-cell,\n.ag-theme-material-dark .ag-header-cell,\n.ag-theme-material-dark .ag-header-group-cell,\n.ag-theme-material-auto-dark .ag-header-cell,\n.ag-theme-material-auto-dark .ag-header-group-cell {\n transition: background-color 0.5s;\n}\n.ag-theme-material .ag-row-last:not(.ag-row-first) .ag-cell-inline-editing,\n.ag-theme-material-dark .ag-row-last:not(.ag-row-first) .ag-cell-inline-editing,\n.ag-theme-material-auto-dark .ag-row-last:not(.ag-row-first) .ag-cell-inline-editing {\n bottom: 0;\n}\n.ag-theme-material .ag-cell-inline-editing,\n.ag-theme-material-dark .ag-cell-inline-editing,\n.ag-theme-material-auto-dark .ag-cell-inline-editing {\n padding: var(--ag-grid-size);\n height: calc(var(--ag-row-height) + var(--ag-grid-size) * 3);\n border-color: var(--ag-border-color) !important;\n}\n.ag-theme-material .ag-has-focus .ag-cell-inline-editing,\n.ag-theme-material-dark .ag-has-focus .ag-cell-inline-editing,\n.ag-theme-material-auto-dark .ag-has-focus .ag-cell-inline-editing {\n border-color: var(--ag-input-focus-border-color) !important;\n}\n.ag-theme-material .ag-column-drop-vertical,\n.ag-theme-material-dark .ag-column-drop-vertical,\n.ag-theme-material-auto-dark .ag-column-drop-vertical {\n border-bottom: solid 1px;\n border-bottom-color: var(--ag-border-color);\n padding-top: var(--ag-grid-size);\n}\n.ag-theme-material .ag-column-drop-vertical.ag-last-column-drop,\n.ag-theme-material-dark .ag-column-drop-vertical.ag-last-column-drop,\n.ag-theme-material-auto-dark .ag-column-drop-vertical.ag-last-column-drop {\n border-bottom: none;\n}\n.ag-theme-material .ag-column-drop-vertical-cell,\n.ag-theme-material-dark .ag-column-drop-vertical-cell,\n.ag-theme-material-auto-dark .ag-column-drop-vertical-cell {\n margin-left: 0;\n}\n.ag-theme-material .ag-column-drop-vertical-empty-message,\n.ag-theme-material-dark .ag-column-drop-vertical-empty-message,\n.ag-theme-material-auto-dark .ag-column-drop-vertical-empty-message {\n font-size: calc(var(--ag-font-size) - 1px);\n font-weight: 600;\n color: var(--ag-disabled-foreground-color);\n}\n.ag-theme-material .ag-ltr .ag-column-drop-vertical-empty-message, .ag-theme-material-dark .ag-ltr .ag-column-drop-vertical-empty-message, .ag-theme-material-auto-dark .ag-ltr .ag-column-drop-vertical-empty-message {\n padding-left: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);\n padding-right: var(--ag-grid-size);\n}\n\n.ag-theme-material .ag-rtl .ag-column-drop-vertical-empty-message, .ag-theme-material-dark .ag-rtl .ag-column-drop-vertical-empty-message, .ag-theme-material-auto-dark .ag-rtl .ag-column-drop-vertical-empty-message {\n padding-right: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);\n padding-left: var(--ag-grid-size);\n}\n\n.ag-theme-material .ag-status-bar,\n.ag-theme-material-dark .ag-status-bar,\n.ag-theme-material-auto-dark .ag-status-bar {\n border: solid 1px;\n border-color: var(--ag-border-color);\n}\n.ag-theme-material .ag-column-panel-column-select,\n.ag-theme-material-dark .ag-column-panel-column-select,\n.ag-theme-material-auto-dark .ag-column-panel-column-select {\n border-top: solid 1px;\n border-top-color: var(--ag-border-color);\n}\n.ag-theme-material .ag-column-select,\n.ag-theme-material .ag-column-select-header,\n.ag-theme-material-dark .ag-column-select,\n.ag-theme-material-dark .ag-column-select-header,\n.ag-theme-material-auto-dark .ag-column-select,\n.ag-theme-material-auto-dark .ag-column-select-header {\n border-bottom: solid 1px;\n border-bottom-color: var(--ag-border-color);\n}\n.ag-theme-material .ag-column-select-header,\n.ag-theme-material-dark .ag-column-select-header,\n.ag-theme-material-auto-dark .ag-column-select-header {\n height: var(--ag-header-height);\n}\n.ag-theme-material .ag-group-title-bar,\n.ag-theme-material-dark .ag-group-title-bar,\n.ag-theme-material-auto-dark .ag-group-title-bar {\n padding: calc(var(--ag-grid-size) * 0.75) var(--ag-grid-size);\n}\n.ag-theme-material .ag-charts-format-sub-level-group-title-bar,\n.ag-theme-material-dark .ag-charts-format-sub-level-group-title-bar,\n.ag-theme-material-auto-dark .ag-charts-format-sub-level-group-title-bar {\n padding: calc(var(--ag-grid-size) * 0.5) var(--ag-grid-size);\n}\n.ag-theme-material .ag-chart-data-section,\n.ag-theme-material .ag-chart-format-section,\n.ag-theme-material .ag-chart-advanced-settings-section,\n.ag-theme-material-dark .ag-chart-data-section,\n.ag-theme-material-dark .ag-chart-format-section,\n.ag-theme-material-dark .ag-chart-advanced-settings-section,\n.ag-theme-material-auto-dark .ag-chart-data-section,\n.ag-theme-material-auto-dark .ag-chart-format-section,\n.ag-theme-material-auto-dark .ag-chart-advanced-settings-section {\n padding-bottom: calc(var(--ag-grid-size) * 0.5);\n}\n.ag-theme-material input[class^=ag-]:not([type]),\n.ag-theme-material input[class^=ag-][type=text],\n.ag-theme-material input[class^=ag-][type=number],\n.ag-theme-material input[class^=ag-][type=tel],\n.ag-theme-material input[class^=ag-][type=date],\n.ag-theme-material input[class^=ag-][type=datetime-local],\n.ag-theme-material textarea[class^=ag-],\n.ag-theme-material-dark input[class^=ag-]:not([type]),\n.ag-theme-material-dark input[class^=ag-][type=text],\n.ag-theme-material-dark input[class^=ag-][type=number],\n.ag-theme-material-dark input[class^=ag-][type=tel],\n.ag-theme-material-dark input[class^=ag-][type=date],\n.ag-theme-material-dark input[class^=ag-][type=datetime-local],\n.ag-theme-material-dark textarea[class^=ag-],\n.ag-theme-material-auto-dark input[class^=ag-]:not([type]),\n.ag-theme-material-auto-dark input[class^=ag-][type=text],\n.ag-theme-material-auto-dark input[class^=ag-][type=number],\n.ag-theme-material-auto-dark input[class^=ag-][type=tel],\n.ag-theme-material-auto-dark input[class^=ag-][type=date],\n.ag-theme-material-auto-dark input[class^=ag-][type=datetime-local],\n.ag-theme-material-auto-dark textarea[class^=ag-] {\n background: transparent;\n color: var(--ag-foreground-color);\n font-family: inherit;\n font-size: inherit;\n height: calc(var(--ag-grid-size) * 5);\n padding-bottom: var(--ag-grid-size);\n border-width: 0;\n border-radius: 0;\n border-bottom: 2px solid;\n border-bottom-color: var(--ag-border-color);\n}\n.ag-theme-material input[class^=ag-]:not([type]):focus,\n.ag-theme-material input[class^=ag-][type=text]:focus,\n.ag-theme-material input[class^=ag-][type=number]:focus,\n.ag-theme-material input[class^=ag-][type=tel]:focus,\n.ag-theme-material input[class^=ag-][type=date]:focus,\n.ag-theme-material input[class^=ag-][type=datetime-local]:focus,\n.ag-theme-material textarea[class^=ag-]:focus,\n.ag-theme-material-dark input[class^=ag-]:not([type]):focus,\n.ag-theme-material-dark input[class^=ag-][type=text]:focus,\n.ag-theme-material-dark input[class^=ag-][type=number]:focus,\n.ag-theme-material-dark input[class^=ag-][type=tel]:focus,\n.ag-theme-material-dark input[class^=ag-][type=date]:focus,\n.ag-theme-material-dark input[class^=ag-][type=datetime-local]:focus,\n.ag-theme-material-dark textarea[class^=ag-]:focus,\n.ag-theme-material-auto-dark input[class^=ag-]:not([type]):focus,\n.ag-theme-material-auto-dark input[class^=ag-][type=text]:focus,\n.ag-theme-material-auto-dark input[class^=ag-][type=number]:focus,\n.ag-theme-material-auto-dark input[class^=ag-][type=tel]:focus,\n.ag-theme-material-auto-dark input[class^=ag-][type=date]:focus,\n.ag-theme-material-auto-dark input[class^=ag-][type=datetime-local]:focus,\n.ag-theme-material-auto-dark textarea[class^=ag-]:focus {\n border-bottom: 2px solid;\n border-bottom-color: var(--ag-material-primary-color);\n outline: none;\n box-shadow: none;\n}\n.ag-theme-material input[class^=ag-]:not([type])::-moz-placeholder, .ag-theme-material input[class^=ag-][type=text]::-moz-placeholder, .ag-theme-material input[class^=ag-][type=number]::-moz-placeholder, .ag-theme-material input[class^=ag-][type=tel]::-moz-placeholder, .ag-theme-material input[class^=ag-][type=date]::-moz-placeholder, .ag-theme-material input[class^=ag-][type=datetime-local]::-moz-placeholder, .ag-theme-material textarea[class^=ag-]::-moz-placeholder, .ag-theme-material-dark input[class^=ag-]:not([type])::-moz-placeholder, .ag-theme-material-dark input[class^=ag-][type=text]::-moz-placeholder, .ag-theme-material-dark input[class^=ag-][type=number]::-moz-placeholder, .ag-theme-material-dark input[class^=ag-][type=tel]::-moz-placeholder, .ag-theme-material-dark input[class^=ag-][type=date]::-moz-placeholder, .ag-theme-material-dark input[class^=ag-][type=datetime-local]::-moz-placeholder, .ag-theme-material-dark textarea[class^=ag-]::-moz-placeholder, .ag-theme-material-auto-dark input[class^=ag-]:not([type])::-moz-placeholder, .ag-theme-material-auto-dark input[class^=ag-][type=text]::-moz-placeholder, .ag-theme-material-auto-dark input[class^=ag-][type=number]::-moz-placeholder, .ag-theme-material-auto-dark input[class^=ag-][type=tel]::-moz-placeholder, .ag-theme-material-auto-dark input[class^=ag-][type=date]::-moz-placeholder, .ag-theme-material-auto-dark input[class^=ag-][type=datetime-local]::-moz-placeholder, .ag-theme-material-auto-dark textarea[class^=ag-]::-moz-placeholder {\n color: var(--ag-disabled-foreground-color);\n}\n.ag-theme-material input[class^=ag-]:not([type])::placeholder,\n.ag-theme-material input[class^=ag-][type=text]::placeholder,\n.ag-theme-material input[class^=ag-][type=number]::placeholder,\n.ag-theme-material input[class^=ag-][type=tel]::placeholder,\n.ag-theme-material input[class^=ag-][type=date]::placeholder,\n.ag-theme-material input[class^=ag-][type=datetime-local]::placeholder,\n.ag-theme-material textarea[class^=ag-]::placeholder,\n.ag-theme-material-dark input[class^=ag-]:not([type])::placeholder,\n.ag-theme-material-dark input[class^=ag-][type=text]::placeholder,\n.ag-theme-material-dark input[class^=ag-][type=number]::placeholder,\n.ag-theme-material-dark input[class^=ag-][type=tel]::placeholder,\n.ag-theme-material-dark input[class^=ag-][type=date]::placeholder,\n.ag-theme-material-dark input[class^=ag-][type=datetime-local]::placeholder,\n.ag-theme-material-dark textarea[class^=ag-]::placeholder,\n.ag-theme-material-auto-dark input[class^=ag-]:not([type])::placeholder,\n.ag-theme-material-auto-dark input[class^=ag-][type=text]::placeholder,\n.ag-theme-material-auto-dark input[class^=ag-][type=number]::placeholder,\n.ag-theme-material-auto-dark input[class^=ag-][type=tel]::placeholder,\n.ag-theme-material-auto-dark input[class^=ag-][type=date]::placeholder,\n.ag-theme-material-auto-dark input[class^=ag-][type=datetime-local]::placeholder,\n.ag-theme-material-auto-dark textarea[class^=ag-]::placeholder {\n color: var(--ag-disabled-foreground-color);\n}\n.ag-theme-material input[class^=ag-]:not([type]):disabled,\n.ag-theme-material input[class^=ag-][type=text]:disabled,\n.ag-theme-material input[class^=ag-][type=number]:disabled,\n.ag-theme-material input[class^=ag-][type=tel]:disabled,\n.ag-theme-material input[class^=ag-][type=date]:disabled,\n.ag-theme-material input[class^=ag-][type=datetime-local]:disabled,\n.ag-theme-material textarea[class^=ag-]:disabled,\n.ag-theme-material-dark input[class^=ag-]:not([type]):disabled,\n.ag-theme-material-dark input[class^=ag-][type=text]:disabled,\n.ag-theme-material-dark input[class^=ag-][type=number]:disabled,\n.ag-theme-material-dark input[class^=ag-][type=tel]:disabled,\n.ag-theme-material-dark input[class^=ag-][type=date]:disabled,\n.ag-theme-material-dark input[class^=ag-][type=datetime-local]:disabled,\n.ag-theme-material-dark textarea[class^=ag-]:disabled,\n.ag-theme-material-auto-dark input[class^=ag-]:not([type]):disabled,\n.ag-theme-material-auto-dark input[class^=ag-][type=text]:disabled,\n.ag-theme-material-auto-dark input[class^=ag-][type=number]:disabled,\n.ag-theme-material-auto-dark input[class^=ag-][type=tel]:disabled,\n.ag-theme-material-auto-dark input[class^=ag-][type=date]:disabled,\n.ag-theme-material-auto-dark input[class^=ag-][type=datetime-local]:disabled,\n.ag-theme-material-auto-dark textarea[class^=ag-]:disabled {\n border-bottom: 1px solid;\n border-bottom-color: var(--ag-border-color);\n}\n.ag-theme-material input[class^=ag-]:not([type]):invalid,\n.ag-theme-material input[class^=ag-][type=text]:invalid,\n.ag-theme-material input[class^=ag-][type=number]:invalid,\n.ag-theme-material input[class^=ag-][type=tel]:invalid,\n.ag-theme-material input[class^=ag-][type=date]:invalid,\n.ag-theme-material input[class^=ag-][type=datetime-local]:invalid,\n.ag-theme-material textarea[class^=ag-]:invalid,\n.ag-theme-material-dark input[class^=ag-]:not([type]):invalid,\n.ag-theme-material-dark input[class^=ag-][type=text]:invalid,\n.ag-theme-material-dark input[class^=ag-][type=number]:invalid,\n.ag-theme-material-dark input[class^=ag-][type=tel]:invalid,\n.ag-theme-material-dark input[class^=ag-][type=date]:invalid,\n.ag-theme-material-dark input[class^=ag-][type=datetime-local]:invalid,\n.ag-theme-material-dark textarea[class^=ag-]:invalid,\n.ag-theme-material-auto-dark input[class^=ag-]:not([type]):invalid,\n.ag-theme-material-auto-dark input[class^=ag-][type=text]:invalid,\n.ag-theme-material-auto-dark input[class^=ag-][type=number]:invalid,\n.ag-theme-material-auto-dark input[class^=ag-][type=tel]:invalid,\n.ag-theme-material-auto-dark input[class^=ag-][type=date]:invalid,\n.ag-theme-material-auto-dark input[class^=ag-][type=datetime-local]:invalid,\n.ag-theme-material-auto-dark textarea[class^=ag-]:invalid {\n border-width: 0;\n border-bottom: 1px solid;\n border-bottom-color: var(--ag-invalid-color);\n color: var(--ag-invalid-color);\n}\n.ag-theme-material .ag-standard-button,\n.ag-theme-material-dark .ag-standard-button,\n.ag-theme-material-auto-dark .ag-standard-button {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background-color: transparent;\n border: 0;\n color: var(--ag-material-primary-color);\n font-family: inherit;\n font-size: inherit;\n margin: 0;\n padding: 0;\n text-transform: uppercase;\n}\n.ag-theme-material .ag-standard-button:disabled,\n.ag-theme-material-dark .ag-standard-button:disabled,\n.ag-theme-material-auto-dark .ag-standard-button:disabled {\n color: var(--ag-disabled-foreground-color);\n background-color: var(--ag-input-disabled-background-color);\n border-color: var(--ag-input-disabled-border-color);\n}\n.ag-theme-material.ag-dnd-ghost,\n.ag-theme-material-dark.ag-dnd-ghost,\n.ag-theme-material-auto-dark.ag-dnd-ghost {\n font-size: calc(var(--ag-font-size) - 1px);\n font-weight: 600;\n}\n.ag-theme-material .ag-filter-toolpanel-header,\n.ag-theme-material-dark .ag-filter-toolpanel-header,\n.ag-theme-material-auto-dark .ag-filter-toolpanel-header {\n height: calc(var(--ag-grid-size) * 4);\n}\n.ag-theme-material .ag-filter-toolpanel-group-level-0-header,\n.ag-theme-material-dark .ag-filter-toolpanel-group-level-0-header,\n.ag-theme-material-auto-dark .ag-filter-toolpanel-group-level-0-header {\n height: calc(var(--ag-grid-size) * 7);\n}\n.ag-theme-material .ag-ltr .ag-filter-apply-panel-button, .ag-theme-material .ag-ltr .ag-advanced-filter-apply-button, .ag-theme-material .ag-ltr .ag-advanced-filter-builder-button, .ag-theme-material-dark .ag-ltr .ag-filter-apply-panel-button, .ag-theme-material-dark .ag-ltr .ag-advanced-filter-apply-button, .ag-theme-material-dark .ag-ltr .ag-advanced-filter-builder-button, .ag-theme-material-auto-dark .ag-ltr .ag-filter-apply-panel-button, .ag-theme-material-auto-dark .ag-ltr .ag-advanced-filter-apply-button, .ag-theme-material-auto-dark .ag-ltr .ag-advanced-filter-builder-button {\n margin-left: var(--ag-grid-size);\n}\n\n.ag-theme-material .ag-rtl .ag-filter-apply-panel-button, .ag-theme-material .ag-rtl .ag-advanced-filter-apply-button, .ag-theme-material .ag-rtl .ag-advanced-filter-builder-button, .ag-theme-material-dark .ag-rtl .ag-filter-apply-panel-button, .ag-theme-material-dark .ag-rtl .ag-advanced-filter-apply-button, .ag-theme-material-dark .ag-rtl .ag-advanced-filter-builder-button, .ag-theme-material-auto-dark .ag-rtl .ag-filter-apply-panel-button, .ag-theme-material-auto-dark .ag-rtl .ag-advanced-filter-apply-button, .ag-theme-material-auto-dark .ag-rtl .ag-advanced-filter-builder-button {\n margin-right: var(--ag-grid-size);\n}\n\n.ag-theme-material .ag-layout-auto-height .ag-center-cols-viewport,\n.ag-theme-material .ag-layout-auto-height .ag-center-cols-container,\n.ag-theme-material .ag-layout-print .ag-center-cols-viewport,\n.ag-theme-material .ag-layout-print .ag-center-cols-container,\n.ag-theme-material-dark .ag-layout-auto-height .ag-center-cols-viewport,\n.ag-theme-material-dark .ag-layout-auto-height .ag-center-cols-container,\n.ag-theme-material-dark .ag-layout-print .ag-center-cols-viewport,\n.ag-theme-material-dark .ag-layout-print .ag-center-cols-container,\n.ag-theme-material-auto-dark .ag-layout-auto-height .ag-center-cols-viewport,\n.ag-theme-material-auto-dark .ag-layout-auto-height .ag-center-cols-container,\n.ag-theme-material-auto-dark .ag-layout-print .ag-center-cols-viewport,\n.ag-theme-material-auto-dark .ag-layout-print .ag-center-cols-container {\n min-height: 150px;\n}\n.ag-theme-material .ag-overlay-no-rows-wrapper.ag-layout-auto-height,\n.ag-theme-material-dark .ag-overlay-no-rows-wrapper.ag-layout-auto-height,\n.ag-theme-material-auto-dark .ag-overlay-no-rows-wrapper.ag-layout-auto-height {\n padding-top: 60px;\n}\n.ag-theme-material .ag-picker-field-wrapper:focus-within,\n.ag-theme-material-dark .ag-picker-field-wrapper:focus-within,\n.ag-theme-material-auto-dark .ag-picker-field-wrapper:focus-within {\n box-shadow: 0 0 0 1px var(--ag-material-primary-color);\n}\n.ag-theme-material .ag-rich-select-list,\n.ag-theme-material-dark .ag-rich-select-list,\n.ag-theme-material-auto-dark .ag-rich-select-list {\n box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 5px -3px, rgba(0, 0, 0, 0.14) 0px 8px 10px 1px, rgba(0, 0, 0, 0.12) 0px 3px 14px 2px;\n}\n.ag-theme-material .ag-advanced-filter-builder-button-label,\n.ag-theme-material-dark .ag-advanced-filter-builder-button-label,\n.ag-theme-material-auto-dark .ag-advanced-filter-builder-button-label {\n text-transform: uppercase;\n}\n.ag-theme-material .ag-filter-active .ag-icon-filter,\n.ag-theme-material-dark .ag-filter-active .ag-icon-filter,\n.ag-theme-material-auto-dark .ag-filter-active .ag-icon-filter {\n color: var(--ag-material-accent-color);\n}\n',""]),t.A=d},7899:function(e,t,i){"use strict";var a=i(6758),n=i.n(a),r=i(935),o=i.n(r),s=i(62),l=i.n(s),c=new URL(i(7249),i.b),d=o()(n()),h=l()(c);d.push([e.id,'.ag-theme-quartz,\n.ag-theme-quartz-dark,\n.ag-theme-quartz-auto-dark {\n --ag-active-color: #2196f3;\n --ag-background-color: #fff;\n --ag-foreground-color: #181d1f;\n --ag-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 15%);\n --ag-secondary-border-color: var(--ag-border-color);\n --ag-header-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 2%);\n --ag-tooltip-background-color: var(--ag-header-background-color);\n --ag-control-panel-background-color: var(--ag-header-background-color);\n --ag-subheader-background-color: transparent;\n --ag-invalid-color: #e02525;\n --ag-checkbox-unchecked-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 30%);\n --ag-advanced-filter-join-pill-color: #f08e8d;\n --ag-advanced-filter-column-pill-color: #a6e194;\n --ag-advanced-filter-option-pill-color: #f3c08b;\n --ag-advanced-filter-value-pill-color: #85c0e4;\n --ag-header-column-resize-handle-color: var(--ag-secondary-border-color);\n --ag-icon-font-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 90%);\n --ag-panel-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 3%);\n --ag-panel-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 20%);\n --ag-menu-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 3%);\n --ag-menu-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 20%);\n --ag-selected-row-background-color: color-mix(in srgb, transparent, var(--ag-active-color) 8%);\n --ag-row-hover-color: color-mix(in srgb, transparent, var(--ag-active-color) 12%);\n --ag-column-hover-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 5%);\n --ag-input-focus-border-color: var(--ag-active-color);\n --ag-input-focus-box-shadow: 0 0 0 3px color-mix(in srgb, transparent, var(--ag-input-focus-border-color) 47%);\n --ag-range-selection-background-color: color-mix(in srgb, transparent, var(--ag-active-color) 20%);\n --ag-range-selection-background-color-2: color-mix(in srgb, transparent, var(--ag-active-color) 36%);\n --ag-range-selection-background-color-3: color-mix(in srgb, transparent, var(--ag-active-color) 49%);\n --ag-range-selection-background-color-4: color-mix(in srgb, transparent, var(--ag-active-color) 59%);\n --ag-checkbox-background-color: var(--ag-background-color);\n --ag-checkbox-checked-color: var(--ag-active-color);\n --ag-range-selection-border-color: var(--ag-active-color);\n --ag-secondary-foreground-color: var(--ag-foreground-color);\n --ag-input-border-color: var(--ag-border-color);\n --ag-input-border-color-invalid: var(--ag-invalid-color);\n --ag-disabled-foreground-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 50%);\n --ag-chip-background-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 7%);\n --ag-chip-border-color: color-mix(in srgb, var(--ag-header-background-color), var(--ag-foreground-color) 13%);\n --ag-input-disabled-border-color: var(--ag-border-color);\n --ag-input-disabled-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 6%);\n --ag-modal-overlay-background-color: color-mix(in srgb, transparent, var(--ag-background-color) 66%);\n --ag-chart-menu-label-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 80%);\n --ag-chart-menu-pill-select-button-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 70%);\n --ag-borders: solid 1px;\n --ag-border-radius: 4px;\n --ag-wrapper-border-radius: 8px;\n --ag-borders-side-button: none;\n --ag-side-button-selected-background-color: transparent;\n --ag-header-column-resize-handle-display: block;\n --ag-header-column-resize-handle-width: 2px;\n --ag-header-column-resize-handle-height: 30%;\n --ag-grid-size: 8px;\n --ag-icon-size: 16px;\n --ag-header-height: calc(var(--ag-font-size) + var(--ag-grid-size) * 4.25);\n --ag-row-height: calc(var(--ag-font-size) + var(--ag-grid-size) * 3.5);\n --ag-list-item-height: calc(\n var(--ag-icon-size) + var(--ag-widget-vertical-spacing)\n );\n --ag-column-select-indent-size: var(--ag-icon-size);\n --ag-set-filter-indent-size: var(--ag-icon-size);\n --ag-filter-tool-panel-group-indent: var(--ag-grid-size);\n --ag-advanced-filter-builder-indent-size: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);\n --ag-cell-horizontal-padding: calc(var(--ag-grid-size) * 2);\n --ag-cell-widget-spacing: calc(var(--ag-grid-size) * 1.5);\n --ag-widget-container-vertical-padding: calc(var(--ag-grid-size) * 1.5);\n --ag-widget-container-horizontal-padding: calc(var(--ag-grid-size) * 1.5);\n --ag-widget-horizontal-spacing: calc(var(--ag-grid-size) * 1.5);\n --ag-widget-vertical-spacing: calc(var(--ag-grid-size) * 1);\n --ag-toggle-button-height: 18px;\n --ag-toggle-button-width: 28px;\n --ag-toggle-button-border-width: 2px;\n --ag-font-family: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu,\n Cantarell, "Helvetica Neue", sans-serif;\n --ag-font-size: 14px;\n --ag-icon-font-family: agGridQuartz;\n --ag-tab-min-width: 290px;\n --ag-chart-menu-panel-width: 260px;\n --ag-card-shadow: 0 1px 4px 1px rgba(186, 191, 199, 0.4);\n --ag-popup-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.15);\n --ag-side-bar-panel-width: 250px;\n}\n\n.ag-theme-quartz-dark {\n --ag-background-color: rgb(31, 41, 54);\n --ag-foreground-color: #fff;\n --ag-border-color: rgba(255, 255, 255, 0.16);\n --ag-secondary-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);\n --ag-header-background-color: rgb(40, 49, 62);\n --ag-tooltip-background-color: rgb(33, 43, 56);\n --ag-control-panel-background-color: rgb(40, 49, 62);\n --ag-input-disabled-background-color: rgba(104,104,110,0.07059);\n --ag-card-shadow: 0 1px 20px 1px black;\n --ag-input-border-color: var(--ag-border-color);\n --ag-input-disabled-border-color: rgba(255, 255, 255, 0.07);\n --ag-checkbox-unchecked-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 40%);\n --ag-row-hover-color: color-mix(in srgb, transparent, var(--ag-active-color) 20%);\n --ag-selected-row-background-color: var(--ag-row-hover-color);\n --ag-panel-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 10%);\n --ag-panel-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);\n --ag-menu-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 10%);\n --ag-menu-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);\n --ag-advanced-filter-join-pill-color: #7a3a37;\n --ag-advanced-filter-column-pill-color: #355f2d;\n --ag-advanced-filter-option-pill-color: #5a3168;\n --ag-advanced-filter-value-pill-color: #374c86;\n --ag-popup-shadow: 0 0px 20px rgba(0, 0, 0, 0.3);\n --ag-row-loading-skeleton-effect-color: rgba(202, 203, 204, 0.4);\n --csstools-color-scheme--dark: initial;\n color-scheme: dark;\n}\n\n@media (prefers-color-scheme: dark) {\n .ag-theme-quartz-auto-dark {\n --ag-background-color: rgb(31, 41, 54);\n --ag-foreground-color: #fff;\n --ag-border-color: rgba(255, 255, 255, 0.16);\n --ag-secondary-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);\n --ag-header-background-color: rgb(40, 49, 62);\n --ag-tooltip-background-color: rgb(33, 43, 56);\n --ag-control-panel-background-color: rgb(40, 49, 62);\n --ag-input-disabled-background-color: rgba(104,104,110,0.07059);\n --ag-card-shadow: 0 1px 20px 1px black;\n --ag-input-border-color: var(--ag-border-color);\n --ag-input-disabled-border-color: rgba(255, 255, 255, 0.07);\n --ag-checkbox-unchecked-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 40%);\n --ag-row-hover-color: color-mix(in srgb, transparent, var(--ag-active-color) 20%);\n --ag-selected-row-background-color: var(--ag-row-hover-color);\n --ag-panel-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 10%);\n --ag-panel-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);\n --ag-menu-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 10%);\n --ag-menu-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);\n --ag-advanced-filter-join-pill-color: #7a3a37;\n --ag-advanced-filter-column-pill-color: #355f2d;\n --ag-advanced-filter-option-pill-color: #5a3168;\n --ag-advanced-filter-value-pill-color: #374c86;\n --ag-popup-shadow: 0 0px 20px rgba(0, 0, 0, 0.3);\n --ag-row-loading-skeleton-effect-color: rgba(202, 203, 204, 0.4);\n --csstools-color-scheme--dark: initial;\n color-scheme: dark;\n }\n}\n.ag-theme-quartz .ag-filter-toolpanel-header,\n.ag-theme-quartz .ag-filter-toolpanel-search,\n.ag-theme-quartz .ag-status-bar,\n.ag-theme-quartz .ag-header-row,\n.ag-theme-quartz .ag-panel-title-bar-title,\n.ag-theme-quartz .ag-multi-filter-group-title-bar,\n.ag-theme-quartz-dark .ag-filter-toolpanel-header,\n.ag-theme-quartz-dark .ag-filter-toolpanel-search,\n.ag-theme-quartz-dark .ag-status-bar,\n.ag-theme-quartz-dark .ag-header-row,\n.ag-theme-quartz-dark .ag-panel-title-bar-title,\n.ag-theme-quartz-dark .ag-multi-filter-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-filter-toolpanel-header,\n.ag-theme-quartz-auto-dark .ag-filter-toolpanel-search,\n.ag-theme-quartz-auto-dark .ag-status-bar,\n.ag-theme-quartz-auto-dark .ag-header-row,\n.ag-theme-quartz-auto-dark .ag-panel-title-bar-title,\n.ag-theme-quartz-auto-dark .ag-multi-filter-group-title-bar {\n font-weight: 500;\n color: var(--ag-header-foreground-color);\n}\n.ag-theme-quartz input[class^=ag-]:not([type]),\n.ag-theme-quartz input[class^=ag-][type=text],\n.ag-theme-quartz input[class^=ag-][type=number],\n.ag-theme-quartz input[class^=ag-][type=tel],\n.ag-theme-quartz input[class^=ag-][type=date],\n.ag-theme-quartz input[class^=ag-][type=datetime-local],\n.ag-theme-quartz textarea[class^=ag-],\n.ag-theme-quartz-dark input[class^=ag-]:not([type]),\n.ag-theme-quartz-dark input[class^=ag-][type=text],\n.ag-theme-quartz-dark input[class^=ag-][type=number],\n.ag-theme-quartz-dark input[class^=ag-][type=tel],\n.ag-theme-quartz-dark input[class^=ag-][type=date],\n.ag-theme-quartz-dark input[class^=ag-][type=datetime-local],\n.ag-theme-quartz-dark textarea[class^=ag-],\n.ag-theme-quartz-auto-dark input[class^=ag-]:not([type]),\n.ag-theme-quartz-auto-dark input[class^=ag-][type=text],\n.ag-theme-quartz-auto-dark input[class^=ag-][type=number],\n.ag-theme-quartz-auto-dark input[class^=ag-][type=tel],\n.ag-theme-quartz-auto-dark input[class^=ag-][type=date],\n.ag-theme-quartz-auto-dark input[class^=ag-][type=datetime-local],\n.ag-theme-quartz-auto-dark textarea[class^=ag-] {\n min-height: calc(var(--ag-grid-size) * 4);\n border-radius: var(--ag-border-radius);\n}\n.ag-theme-quartz .ag-ltr input[class^=ag-]:not([type]), .ag-theme-quartz .ag-ltr input[class^=ag-][type=text], .ag-theme-quartz .ag-ltr input[class^=ag-][type=number], .ag-theme-quartz .ag-ltr input[class^=ag-][type=tel], .ag-theme-quartz .ag-ltr input[class^=ag-][type=date], .ag-theme-quartz .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-quartz .ag-ltr textarea[class^=ag-], .ag-theme-quartz-dark .ag-ltr input[class^=ag-]:not([type]), .ag-theme-quartz-dark .ag-ltr input[class^=ag-][type=text], .ag-theme-quartz-dark .ag-ltr input[class^=ag-][type=number], .ag-theme-quartz-dark .ag-ltr input[class^=ag-][type=tel], .ag-theme-quartz-dark .ag-ltr input[class^=ag-][type=date], .ag-theme-quartz-dark .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-quartz-dark .ag-ltr textarea[class^=ag-], .ag-theme-quartz-auto-dark .ag-ltr input[class^=ag-]:not([type]), .ag-theme-quartz-auto-dark .ag-ltr input[class^=ag-][type=text], .ag-theme-quartz-auto-dark .ag-ltr input[class^=ag-][type=number], .ag-theme-quartz-auto-dark .ag-ltr input[class^=ag-][type=tel], .ag-theme-quartz-auto-dark .ag-ltr input[class^=ag-][type=date], .ag-theme-quartz-auto-dark .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-quartz-auto-dark .ag-ltr textarea[class^=ag-] {\n padding-left: var(--ag-grid-size);\n}\n\n.ag-theme-quartz .ag-rtl input[class^=ag-]:not([type]), .ag-theme-quartz .ag-rtl input[class^=ag-][type=text], .ag-theme-quartz .ag-rtl input[class^=ag-][type=number], .ag-theme-quartz .ag-rtl input[class^=ag-][type=tel], .ag-theme-quartz .ag-rtl input[class^=ag-][type=date], .ag-theme-quartz .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-quartz .ag-rtl textarea[class^=ag-], .ag-theme-quartz-dark .ag-rtl input[class^=ag-]:not([type]), .ag-theme-quartz-dark .ag-rtl input[class^=ag-][type=text], .ag-theme-quartz-dark .ag-rtl input[class^=ag-][type=number], .ag-theme-quartz-dark .ag-rtl input[class^=ag-][type=tel], .ag-theme-quartz-dark .ag-rtl input[class^=ag-][type=date], .ag-theme-quartz-dark .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-quartz-dark .ag-rtl textarea[class^=ag-], .ag-theme-quartz-auto-dark .ag-rtl input[class^=ag-]:not([type]), .ag-theme-quartz-auto-dark .ag-rtl input[class^=ag-][type=text], .ag-theme-quartz-auto-dark .ag-rtl input[class^=ag-][type=number], .ag-theme-quartz-auto-dark .ag-rtl input[class^=ag-][type=tel], .ag-theme-quartz-auto-dark .ag-rtl input[class^=ag-][type=date], .ag-theme-quartz-auto-dark .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-quartz-auto-dark .ag-rtl textarea[class^=ag-] {\n padding-right: var(--ag-grid-size);\n}\n\n.ag-theme-quartz .ag-picker-field-wrapper,\n.ag-theme-quartz-dark .ag-picker-field-wrapper,\n.ag-theme-quartz-auto-dark .ag-picker-field-wrapper {\n min-height: calc(var(--ag-grid-size) * 4);\n}\n.ag-theme-quartz .ag-tab,\n.ag-theme-quartz-dark .ag-tab,\n.ag-theme-quartz-auto-dark .ag-tab {\n padding: var(--ag-grid-size);\n border-left: var(--ag-borders) transparent;\n border-right: var(--ag-borders) transparent;\n flex: 1 1 auto;\n}\n.ag-theme-quartz .ag-tab-selected,\n.ag-theme-quartz-dark .ag-tab-selected,\n.ag-theme-quartz-auto-dark .ag-tab-selected {\n background-color: var(--ag-background-color);\n}\n.ag-theme-quartz .ag-ltr .ag-tab-selected:not(:first-of-type), .ag-theme-quartz-dark .ag-ltr .ag-tab-selected:not(:first-of-type), .ag-theme-quartz-auto-dark .ag-ltr .ag-tab-selected:not(:first-of-type) {\n border-left-color: var(--ag-border-color);\n}\n\n.ag-theme-quartz .ag-rtl .ag-tab-selected:not(:first-of-type), .ag-theme-quartz-dark .ag-rtl .ag-tab-selected:not(:first-of-type), .ag-theme-quartz-auto-dark .ag-rtl .ag-tab-selected:not(:first-of-type) {\n border-right-color: var(--ag-border-color);\n}\n\n.ag-theme-quartz .ag-ltr .ag-tab-selected:not(:last-of-type), .ag-theme-quartz-dark .ag-ltr .ag-tab-selected:not(:last-of-type), .ag-theme-quartz-auto-dark .ag-ltr .ag-tab-selected:not(:last-of-type) {\n border-right-color: var(--ag-border-color);\n}\n\n.ag-theme-quartz .ag-rtl .ag-tab-selected:not(:last-of-type), .ag-theme-quartz-dark .ag-rtl .ag-tab-selected:not(:last-of-type), .ag-theme-quartz-auto-dark .ag-rtl .ag-tab-selected:not(:last-of-type) {\n border-left-color: var(--ag-border-color);\n}\n\n.ag-theme-quartz .ag-tab:not(.ag-tab-selected),\n.ag-theme-quartz-dark .ag-tab:not(.ag-tab-selected),\n.ag-theme-quartz-auto-dark .ag-tab:not(.ag-tab-selected) {\n opacity: 0.7;\n}\n.ag-theme-quartz .ag-tab:not(.ag-tab-selected):hover,\n.ag-theme-quartz-dark .ag-tab:not(.ag-tab-selected):hover,\n.ag-theme-quartz-auto-dark .ag-tab:not(.ag-tab-selected):hover {\n opacity: 1;\n}\n.ag-theme-quartz .ag-menu,\n.ag-theme-quartz-dark .ag-menu,\n.ag-theme-quartz-auto-dark .ag-menu {\n color: color-mix(in srgb, transparent, var(--ag-foreground-color) 95%);\n}\n.ag-theme-quartz .ag-panel-content-wrapper .ag-column-select,\n.ag-theme-quartz-dark .ag-panel-content-wrapper .ag-column-select,\n.ag-theme-quartz-auto-dark .ag-panel-content-wrapper .ag-column-select {\n background-color: var(--ag-control-panel-background-color);\n color: color-mix(in srgb, transparent, var(--ag-foreground-color) 95%);\n}\n.ag-theme-quartz .ag-menu-option .ag-icon,\n.ag-theme-quartz-dark .ag-menu-option .ag-icon,\n.ag-theme-quartz-auto-dark .ag-menu-option .ag-icon {\n opacity: 0.65;\n}\n.ag-theme-quartz .ag-menu-header,\n.ag-theme-quartz-dark .ag-menu-header,\n.ag-theme-quartz-auto-dark .ag-menu-header {\n background-color: var(--ag-control-panel-background-color);\n}\n.ag-theme-quartz .ag-menu-option,\n.ag-theme-quartz-dark .ag-menu-option,\n.ag-theme-quartz-auto-dark .ag-menu-option {\n font-weight: 500;\n cursor: pointer;\n}\n.ag-theme-quartz .ag-ltr .ag-menu-option-popup-pointer .ag-icon, .ag-theme-quartz-dark .ag-ltr .ag-menu-option-popup-pointer .ag-icon, .ag-theme-quartz-auto-dark .ag-ltr .ag-menu-option-popup-pointer .ag-icon {\n text-align: right;\n}\n\n.ag-theme-quartz .ag-rtl .ag-menu-option-popup-pointer .ag-icon, .ag-theme-quartz-dark .ag-rtl .ag-menu-option-popup-pointer .ag-icon, .ag-theme-quartz-auto-dark .ag-rtl .ag-menu-option-popup-pointer .ag-icon {\n text-align: left;\n}\n\n.ag-theme-quartz .ag-tabs-header,\n.ag-theme-quartz-dark .ag-tabs-header,\n.ag-theme-quartz-auto-dark .ag-tabs-header {\n border-bottom: var(--ag-borders) var(--ag-border-color);\n display: flex;\n background-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 5%);\n}\n.ag-theme-quartz .ag-side-bar,\n.ag-theme-quartz-dark .ag-side-bar,\n.ag-theme-quartz-auto-dark .ag-side-bar {\n background-color: var(--ag-control-panel-background-color);\n min-width: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);\n}\n.ag-theme-quartz .ag-side-buttons,\n.ag-theme-quartz-dark .ag-side-buttons,\n.ag-theme-quartz-auto-dark .ag-side-buttons {\n padding: 0;\n align-self: stretch;\n width: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);\n background: var(--ag-control-panel-background-color);\n}\n.ag-theme-quartz .ag-side-button,\n.ag-theme-quartz-dark .ag-side-button,\n.ag-theme-quartz-auto-dark .ag-side-button {\n border-top: var(--ag-borders) transparent;\n border-bottom: var(--ag-borders) transparent;\n}\n@media (-webkit-max-device-pixel-ratio: 1.5), (max-resolution: 1.5x) {\n .ag-theme-quartz .ag-side-button-label,\n .ag-theme-quartz-dark .ag-side-button-label,\n .ag-theme-quartz-auto-dark .ag-side-button-label {\n font-family: "Segoe UI", var(--ag-font-family);\n transform: rotate(0.05deg);\n }\n}\n.ag-theme-quartz .ag-side-button.ag-selected,\n.ag-theme-quartz-dark .ag-side-button.ag-selected,\n.ag-theme-quartz-auto-dark .ag-side-button.ag-selected {\n border-bottom-color: var(--ag-border-color);\n background-color: var(--ag-background-color);\n}\n.ag-theme-quartz .ag-side-button.ag-selected:not(:first-of-type),\n.ag-theme-quartz-dark .ag-side-button.ag-selected:not(:first-of-type),\n.ag-theme-quartz-auto-dark .ag-side-button.ag-selected:not(:first-of-type) {\n border-top-color: var(--ag-border-color);\n}\n.ag-theme-quartz .ag-column-panel-column-select,\n.ag-theme-quartz-dark .ag-column-panel-column-select,\n.ag-theme-quartz-auto-dark .ag-column-panel-column-select {\n border-top: none;\n border-bottom: 1px solid var(--ag-secondary-border-color);\n}\n.ag-theme-quartz .ag-filter-toolpanel-search,\n.ag-theme-quartz-dark .ag-filter-toolpanel-search,\n.ag-theme-quartz-auto-dark .ag-filter-toolpanel-search {\n height: auto;\n height: initial;\n margin-top: var(--ag-widget-container-vertical-padding);\n}\n.ag-theme-quartz .ag-filter-toolpanel-search-input,\n.ag-theme-quartz-dark .ag-filter-toolpanel-search-input,\n.ag-theme-quartz-auto-dark .ag-filter-toolpanel-search-input {\n margin: 0;\n}\n.ag-theme-quartz .ag-filter-apply-panel,\n.ag-theme-quartz-dark .ag-filter-apply-panel,\n.ag-theme-quartz-auto-dark .ag-filter-apply-panel {\n border: none;\n padding-top: var(--ag-widget-vertical-spacing);\n}\n.ag-theme-quartz .ag-chart-tabbed-menu-body,\n.ag-theme-quartz-dark .ag-chart-tabbed-menu-body,\n.ag-theme-quartz-auto-dark .ag-chart-tabbed-menu-body {\n position: relative;\n}\n.ag-theme-quartz .ag-chart-tabbed-menu-body::after,\n.ag-theme-quartz-dark .ag-chart-tabbed-menu-body::after,\n.ag-theme-quartz-auto-dark .ag-chart-tabbed-menu-body::after {\n content: "";\n position: absolute;\n display: block;\n top: 0;\n left: 0;\n right: 0;\n height: 16px;\n background: linear-gradient(var(--ag-control-panel-background-color), transparent);\n}\n.ag-theme-quartz .ag-charts-settings-group-title-bar,\n.ag-theme-quartz .ag-charts-data-group-title-bar,\n.ag-theme-quartz .ag-charts-format-top-level-group-title-bar,\n.ag-theme-quartz .ag-charts-advanced-settings-top-level-group-title-bar,\n.ag-theme-quartz .ag-charts-settings-group-container,\n.ag-theme-quartz-dark .ag-charts-settings-group-title-bar,\n.ag-theme-quartz-dark .ag-charts-data-group-title-bar,\n.ag-theme-quartz-dark .ag-charts-format-top-level-group-title-bar,\n.ag-theme-quartz-dark .ag-charts-advanced-settings-top-level-group-title-bar,\n.ag-theme-quartz-dark .ag-charts-settings-group-container,\n.ag-theme-quartz-auto-dark .ag-charts-settings-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-charts-data-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-charts-advanced-settings-top-level-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-charts-settings-group-container {\n border-top: none;\n font-weight: 500;\n}\n.ag-theme-quartz .ag-chart-mini-thumbnail,\n.ag-theme-quartz-dark .ag-chart-mini-thumbnail,\n.ag-theme-quartz-auto-dark .ag-chart-mini-thumbnail {\n background-color: var(--ag-background-color);\n margin-top: 0;\n margin-bottom: 0;\n}\n.ag-theme-quartz .ag-chart-settings-nav-bar,\n.ag-theme-quartz-dark .ag-chart-settings-nav-bar,\n.ag-theme-quartz-auto-dark .ag-chart-settings-nav-bar {\n border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n}\n.ag-theme-quartz .ag-charts-format-sub-level-group-title-bar,\n.ag-theme-quartz-dark .ag-charts-format-sub-level-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-title-bar {\n background: none;\n font-weight: 500;\n}\n.ag-theme-quartz .ag-chart-data-section .ag-label:not(.ag-group-title-bar),\n.ag-theme-quartz .ag-chart-format-section .ag-label:not(.ag-group-title-bar),\n.ag-theme-quartz-dark .ag-chart-data-section .ag-label:not(.ag-group-title-bar),\n.ag-theme-quartz-dark .ag-chart-format-section .ag-label:not(.ag-group-title-bar),\n.ag-theme-quartz-auto-dark .ag-chart-data-section .ag-label:not(.ag-group-title-bar),\n.ag-theme-quartz-auto-dark .ag-chart-format-section .ag-label:not(.ag-group-title-bar) {\n color: var(--ag-chart-menu-label-color);\n}\n.ag-theme-quartz .ag-chart-data-section .ag-label-align-top .ag-label,\n.ag-theme-quartz .ag-chart-format-section .ag-label-align-top .ag-label,\n.ag-theme-quartz-dark .ag-chart-data-section .ag-label-align-top .ag-label,\n.ag-theme-quartz-dark .ag-chart-format-section .ag-label-align-top .ag-label,\n.ag-theme-quartz-auto-dark .ag-chart-data-section .ag-label-align-top .ag-label,\n.ag-theme-quartz-auto-dark .ag-chart-format-section .ag-label-align-top .ag-label {\n margin-top: calc(var(--ag-widget-vertical-spacing) * 0.5);\n margin-bottom: var(--ag-widget-vertical-spacing);\n}\n.ag-theme-quartz .ag-chart-data-section .ag-slider.ag-label-align-top .ag-label,\n.ag-theme-quartz .ag-chart-format-section .ag-slider.ag-label-align-top .ag-label,\n.ag-theme-quartz-dark .ag-chart-data-section .ag-slider.ag-label-align-top .ag-label,\n.ag-theme-quartz-dark .ag-chart-format-section .ag-slider.ag-label-align-top .ag-label,\n.ag-theme-quartz-auto-dark .ag-chart-data-section .ag-slider.ag-label-align-top .ag-label,\n.ag-theme-quartz-auto-dark .ag-chart-format-section .ag-slider.ag-label-align-top .ag-label {\n margin-bottom: 0;\n}\n.ag-theme-quartz .ag-chart-data-section label,\n.ag-theme-quartz .ag-chart-format-section label,\n.ag-theme-quartz-dark .ag-chart-data-section label,\n.ag-theme-quartz-dark .ag-chart-format-section label,\n.ag-theme-quartz-auto-dark .ag-chart-data-section label,\n.ag-theme-quartz-auto-dark .ag-chart-format-section label {\n display: inline-block;\n}\n.ag-theme-quartz .ag-chart-format-wrapper,\n.ag-theme-quartz .ag-chart-data-wrapper,\n.ag-theme-quartz .ag-charts-format-top-level-group,\n.ag-theme-quartz .ag-charts-format-top-level-group-title-bar,\n.ag-theme-quartz .ag-charts-format-top-level-group .ag-charts-format-top-level-group-container,\n.ag-theme-quartz .ag-charts-format-top-level-group-item,\n.ag-theme-quartz .ag-charts-format-sub-level-group,\n.ag-theme-quartz .ag-charts-format-sub-level-group-title-bar,\n.ag-theme-quartz .ag-charts-format-sub-level-group-container,\n.ag-theme-quartz .ag-charts-format-sub-level-group-item:last-child,\n.ag-theme-quartz .ag-charts-format-sub-level-group-container > *,\n.ag-theme-quartz .ag-charts-data-group-title-bar,\n.ag-theme-quartz .ag-charts-data-group-container,\n.ag-theme-quartz .ag-charts-settings-group-title-bar,\n.ag-theme-quartz .ag-charts-settings-group-container,\n.ag-theme-quartz-dark .ag-chart-format-wrapper,\n.ag-theme-quartz-dark .ag-chart-data-wrapper,\n.ag-theme-quartz-dark .ag-charts-format-top-level-group,\n.ag-theme-quartz-dark .ag-charts-format-top-level-group-title-bar,\n.ag-theme-quartz-dark .ag-charts-format-top-level-group .ag-charts-format-top-level-group-container,\n.ag-theme-quartz-dark .ag-charts-format-top-level-group-item,\n.ag-theme-quartz-dark .ag-charts-format-sub-level-group,\n.ag-theme-quartz-dark .ag-charts-format-sub-level-group-title-bar,\n.ag-theme-quartz-dark .ag-charts-format-sub-level-group-container,\n.ag-theme-quartz-dark .ag-charts-format-sub-level-group-item:last-child,\n.ag-theme-quartz-dark .ag-charts-format-sub-level-group-container > *,\n.ag-theme-quartz-dark .ag-charts-data-group-title-bar,\n.ag-theme-quartz-dark .ag-charts-data-group-container,\n.ag-theme-quartz-dark .ag-charts-settings-group-title-bar,\n.ag-theme-quartz-dark .ag-charts-settings-group-container,\n.ag-theme-quartz-auto-dark .ag-chart-format-wrapper,\n.ag-theme-quartz-auto-dark .ag-chart-data-wrapper,\n.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group,\n.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group .ag-charts-format-top-level-group-container,\n.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group-item,\n.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group,\n.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-container,\n.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-item:last-child,\n.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-container > *,\n.ag-theme-quartz-auto-dark .ag-charts-data-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-charts-data-group-container,\n.ag-theme-quartz-auto-dark .ag-charts-settings-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-charts-settings-group-container {\n padding: 0;\n margin: 0;\n}\n.ag-theme-quartz .ag-charts-format-top-level-group,\n.ag-theme-quartz .ag-charts-data-group,\n.ag-theme-quartz-dark .ag-charts-format-top-level-group,\n.ag-theme-quartz-dark .ag-charts-data-group,\n.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group,\n.ag-theme-quartz-auto-dark .ag-charts-data-group {\n border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n}\n.ag-theme-quartz .ag-charts-format-top-level-group-title-bar,\n.ag-theme-quartz .ag-charts-data-group-title-bar,\n.ag-theme-quartz .ag-charts-settings-group-title-bar,\n.ag-theme-quartz-dark .ag-charts-format-top-level-group-title-bar,\n.ag-theme-quartz-dark .ag-charts-data-group-title-bar,\n.ag-theme-quartz-dark .ag-charts-settings-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-charts-data-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-charts-settings-group-title-bar {\n padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);\n}\n.ag-theme-quartz .ag-charts-format-top-level-group .ag-charts-format-top-level-group-container,\n.ag-theme-quartz .ag-charts-data-group .ag-charts-data-group-container,\n.ag-theme-quartz .ag-charts-settings-group .ag-charts-settings-group-container,\n.ag-theme-quartz-dark .ag-charts-format-top-level-group .ag-charts-format-top-level-group-container,\n.ag-theme-quartz-dark .ag-charts-data-group .ag-charts-data-group-container,\n.ag-theme-quartz-dark .ag-charts-settings-group .ag-charts-settings-group-container,\n.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group .ag-charts-format-top-level-group-container,\n.ag-theme-quartz-auto-dark .ag-charts-data-group .ag-charts-data-group-container,\n.ag-theme-quartz-auto-dark .ag-charts-settings-group .ag-charts-settings-group-container {\n padding: 0 var(--ag-widget-container-horizontal-padding);\n}\n.ag-theme-quartz .ag-charts-format-sub-level-group-title-bar,\n.ag-theme-quartz-dark .ag-charts-format-sub-level-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-title-bar {\n padding: var(--ag-widget-vertical-spacing) 0;\n}\n.ag-theme-quartz .ag-charts-format-sub-level-group-container,\n.ag-theme-quartz-dark .ag-charts-format-sub-level-group-container,\n.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-container {\n padding-top: var(--ag-widget-vertical-spacing);\n padding-bottom: var(--ag-widget-container-vertical-padding);\n}\n.ag-theme-quartz .ag-charts-format-top-level-group-container > *,\n.ag-theme-quartz .ag-charts-format-sub-level-group-container > *,\n.ag-theme-quartz-dark .ag-charts-format-top-level-group-container > *,\n.ag-theme-quartz-dark .ag-charts-format-sub-level-group-container > *,\n.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group-container > *,\n.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-container > * {\n margin-bottom: var(--ag-widget-vertical-spacing);\n}\n.ag-theme-quartz .ag-charts-data-group-item,\n.ag-theme-quartz-dark .ag-charts-data-group-item,\n.ag-theme-quartz-auto-dark .ag-charts-data-group-item {\n padding-bottom: var(--ag-widget-container-vertical-padding);\n}\n.ag-theme-quartz .ag-chart-settings-mini-wrapper,\n.ag-theme-quartz-dark .ag-chart-settings-mini-wrapper,\n.ag-theme-quartz-auto-dark .ag-chart-settings-mini-wrapper {\n padding-bottom: var(--ag-widget-container-vertical-padding);\n}\n.ag-theme-quartz .ag-chart-advanced-settings-section,\n.ag-theme-quartz-dark .ag-chart-advanced-settings-section,\n.ag-theme-quartz-auto-dark .ag-chart-advanced-settings-section {\n padding-top: var(--ag-widget-container-vertical-padding);\n padding-bottom: var(--ag-widget-container-vertical-padding);\n}\n.ag-theme-quartz .ag-charts-advanced-settings-top-level-group .ag-charts-advanced-settings-top-level-group-title-bar,\n.ag-theme-quartz .ag-charts-advanced-settings-top-level-group .ag-charts-advanced-settings-top-level-group-container,\n.ag-theme-quartz-dark .ag-charts-advanced-settings-top-level-group .ag-charts-advanced-settings-top-level-group-title-bar,\n.ag-theme-quartz-dark .ag-charts-advanced-settings-top-level-group .ag-charts-advanced-settings-top-level-group-container,\n.ag-theme-quartz-auto-dark .ag-charts-advanced-settings-top-level-group .ag-charts-advanced-settings-top-level-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-charts-advanced-settings-top-level-group .ag-charts-advanced-settings-top-level-group-container {\n padding: 0 var(--ag-widget-container-horizontal-padding);\n}\n.ag-theme-quartz .ag-charts-advanced-settings-top-level-group-container,\n.ag-theme-quartz-dark .ag-charts-advanced-settings-top-level-group-container,\n.ag-theme-quartz-auto-dark .ag-charts-advanced-settings-top-level-group-container {\n margin: 0;\n}\n.ag-theme-quartz .ag-charts-advanced-settings-top-level-group-item,\n.ag-theme-quartz-dark .ag-charts-advanced-settings-top-level-group-item,\n.ag-theme-quartz-auto-dark .ag-charts-advanced-settings-top-level-group-item {\n margin-top: calc(var(--ag-widget-vertical-spacing) * 2);\n margin-bottom: 0;\n}\n.ag-theme-quartz .ag-ltr .ag-group-title-bar-icon, .ag-theme-quartz-dark .ag-ltr .ag-group-title-bar-icon, .ag-theme-quartz-auto-dark .ag-ltr .ag-group-title-bar-icon {\n margin-right: var(--ag-grid-size);\n}\n\n.ag-theme-quartz .ag-rtl .ag-group-title-bar-icon, .ag-theme-quartz-dark .ag-rtl .ag-group-title-bar-icon, .ag-theme-quartz-auto-dark .ag-rtl .ag-group-title-bar-icon {\n margin-left: var(--ag-grid-size);\n}\n\n.ag-theme-quartz .ag-spectrum-color,\n.ag-theme-quartz .ag-spectrum-fill,\n.ag-theme-quartz-dark .ag-spectrum-color,\n.ag-theme-quartz-dark .ag-spectrum-fill,\n.ag-theme-quartz-auto-dark .ag-spectrum-color,\n.ag-theme-quartz-auto-dark .ag-spectrum-fill {\n border-radius: var(--ag-border-radius);\n}\n.ag-theme-quartz .ag-spectrum-dragger,\n.ag-theme-quartz-dark .ag-spectrum-dragger,\n.ag-theme-quartz-auto-dark .ag-spectrum-dragger {\n border-radius: 18px;\n height: 18px;\n width: 18px;\n border: 3px solid white;\n}\n.ag-theme-quartz .ag-spectrum-tools,\n.ag-theme-quartz-dark .ag-spectrum-tools,\n.ag-theme-quartz-auto-dark .ag-spectrum-tools {\n padding-left: 0;\n padding-right: 0;\n padding-bottom: 0;\n}\n.ag-theme-quartz .ag-spectrum-tool,\n.ag-theme-quartz-dark .ag-spectrum-tool,\n.ag-theme-quartz-auto-dark .ag-spectrum-tool {\n height: 12px;\n}\n.ag-theme-quartz .ag-spectrum-hue-background,\n.ag-theme-quartz .ag-spectrum-alpha-background,\n.ag-theme-quartz-dark .ag-spectrum-hue-background,\n.ag-theme-quartz-dark .ag-spectrum-alpha-background,\n.ag-theme-quartz-auto-dark .ag-spectrum-hue-background,\n.ag-theme-quartz-auto-dark .ag-spectrum-alpha-background {\n border-radius: 12px;\n}\n.ag-theme-quartz .ag-spectrum-slider,\n.ag-theme-quartz-dark .ag-spectrum-slider,\n.ag-theme-quartz-auto-dark .ag-spectrum-slider {\n margin-top: -15px;\n width: 18px;\n height: 18px;\n border-radius: 18px;\n border: 3px solid rgb(248, 248, 248);\n}\n.ag-theme-quartz .ag-recent-colors,\n.ag-theme-quartz-dark .ag-recent-colors,\n.ag-theme-quartz-auto-dark .ag-recent-colors {\n margin-left: var(--ag-grid-size);\n margin-right: var(--ag-grid-size);\n margin-bottom: 2px;\n}\n.ag-theme-quartz .ag-color-input-color,\n.ag-theme-quartz .ag-color-picker-color,\n.ag-theme-quartz .ag-recent-color,\n.ag-theme-quartz-dark .ag-color-input-color,\n.ag-theme-quartz-dark .ag-color-picker-color,\n.ag-theme-quartz-dark .ag-recent-color,\n.ag-theme-quartz-auto-dark .ag-color-input-color,\n.ag-theme-quartz-auto-dark .ag-color-picker-color,\n.ag-theme-quartz-auto-dark .ag-recent-color {\n border-radius: 4px;\n}\n.ag-theme-quartz .ag-recent-color,\n.ag-theme-quartz-dark .ag-recent-color,\n.ag-theme-quartz-auto-dark .ag-recent-color {\n border: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n}\n.ag-theme-quartz.ag-dnd-ghost,\n.ag-theme-quartz-dark.ag-dnd-ghost,\n.ag-theme-quartz-auto-dark.ag-dnd-ghost {\n font-weight: 500;\n}\n.ag-theme-quartz .ag-standard-button,\n.ag-theme-quartz-dark .ag-standard-button,\n.ag-theme-quartz-auto-dark .ag-standard-button {\n font-family: inherit;\n -moz-appearance: none;\n appearance: none;\n -webkit-appearance: none;\n border-radius: var(--ag-border-radius);\n border: solid 1px var(--ag-input-border-color);\n background-color: var(--ag-background-color);\n padding: var(--ag-grid-size) calc(var(--ag-grid-size) * 2);\n cursor: pointer;\n}\n.ag-theme-quartz .ag-standard-button:hover,\n.ag-theme-quartz-dark .ag-standard-button:hover,\n.ag-theme-quartz-auto-dark .ag-standard-button:hover {\n background-color: var(--ag-row-hover-color);\n}\n.ag-theme-quartz .ag-standard-button:active,\n.ag-theme-quartz-dark .ag-standard-button:active,\n.ag-theme-quartz-auto-dark .ag-standard-button:active {\n border-color: var(--ag-active-color);\n}\n.ag-theme-quartz .ag-standard-button:disabled,\n.ag-theme-quartz-dark .ag-standard-button:disabled,\n.ag-theme-quartz-auto-dark .ag-standard-button:disabled {\n color: var(--ag-disabled-foreground-color);\n background-color: var(--ag-input-disabled-background-color);\n border-color: var(--ag-input-disabled-border-color);\n}\n.ag-theme-quartz .ag-column-drop-cell,\n.ag-theme-quartz-dark .ag-column-drop-cell,\n.ag-theme-quartz-auto-dark .ag-column-drop-cell {\n border-radius: calc(var(--ag-grid-size) * 3);\n height: calc(var(--ag-grid-size) * 3);\n padding: 0 var(--ag-grid-size);\n}\n.ag-theme-quartz .ag-column-drop-cell-button,\n.ag-theme-quartz-dark .ag-column-drop-cell-button,\n.ag-theme-quartz-auto-dark .ag-column-drop-cell-button {\n min-width: 0;\n margin: 0;\n}\n.ag-theme-quartz .ag-column-drop-cell-drag-handle,\n.ag-theme-quartz-dark .ag-column-drop-cell-drag-handle,\n.ag-theme-quartz-auto-dark .ag-column-drop-cell-drag-handle {\n margin-left: 0;\n}\n.ag-theme-quartz .ag-column-drop-vertical,\n.ag-theme-quartz-dark .ag-column-drop-vertical,\n.ag-theme-quartz-auto-dark .ag-column-drop-vertical {\n min-height: 75px;\n}\n.ag-theme-quartz .ag-column-drop-vertical-title-bar,\n.ag-theme-quartz-dark .ag-column-drop-vertical-title-bar,\n.ag-theme-quartz-auto-dark .ag-column-drop-vertical-title-bar {\n padding: var(--ag-widget-container-vertical-padding) calc(var(--ag-grid-size) * 2) 0;\n}\n.ag-theme-quartz .ag-ltr .ag-column-drop-vertical-icon, .ag-theme-quartz-dark .ag-ltr .ag-column-drop-vertical-icon, .ag-theme-quartz-auto-dark .ag-ltr .ag-column-drop-vertical-icon {\n margin-left: 0;\n margin-right: var(--ag-widget-horizontal-spacing);\n}\n\n.ag-theme-quartz .ag-rtl .ag-column-drop-vertical-icon, .ag-theme-quartz-dark .ag-rtl .ag-column-drop-vertical-icon, .ag-theme-quartz-auto-dark .ag-rtl .ag-column-drop-vertical-icon {\n margin-right: 0;\n margin-left: var(--ag-widget-horizontal-spacing);\n}\n\n.ag-theme-quartz .ag-column-drop-vertical-empty-message,\n.ag-theme-quartz-dark .ag-column-drop-vertical-empty-message,\n.ag-theme-quartz-auto-dark .ag-column-drop-vertical-empty-message {\n display: flex;\n align-items: center;\n justify-content: center;\n border: dashed 1px;\n border-color: var(--ag-border-color);\n margin: calc(var(--ag-grid-size) * 1.5) calc(var(--ag-grid-size) * 2);\n padding: calc(var(--ag-grid-size) * 2);\n}\n.ag-theme-quartz .ag-column-drop-empty-message,\n.ag-theme-quartz-dark .ag-column-drop-empty-message,\n.ag-theme-quartz-auto-dark .ag-column-drop-empty-message {\n color: var(--ag-foreground-color);\n}\n.ag-theme-quartz .ag-pill-select .ag-column-drop,\n.ag-theme-quartz-dark .ag-pill-select .ag-column-drop,\n.ag-theme-quartz-auto-dark .ag-pill-select .ag-column-drop {\n min-height: 0;\n min-height: initial;\n}\n.ag-theme-quartz .ag-pill-select .ag-picker-field-display,\n.ag-theme-quartz-dark .ag-pill-select .ag-picker-field-display,\n.ag-theme-quartz-auto-dark .ag-pill-select .ag-picker-field-display {\n font-weight: 500;\n color: var(--ag-chart-menu-pill-select-button-color);\n}\n.ag-theme-quartz .ag-pill-select .ag-picker-field-icon .ag-icon,\n.ag-theme-quartz-dark .ag-pill-select .ag-picker-field-icon .ag-icon,\n.ag-theme-quartz-auto-dark .ag-pill-select .ag-picker-field-icon .ag-icon {\n color: var(--ag-chart-menu-pill-select-button-color);\n}\n.ag-theme-quartz .ag-status-bar,\n.ag-theme-quartz-dark .ag-status-bar,\n.ag-theme-quartz-auto-dark .ag-status-bar {\n font-weight: normal;\n}\n.ag-theme-quartz .ag-status-name-value,\n.ag-theme-quartz-dark .ag-status-name-value,\n.ag-theme-quartz-auto-dark .ag-status-name-value {\n padding: var(--ag-widget-container-vertical-padding) 0;\n}\n.ag-theme-quartz .ag-status-name-value-value,\n.ag-theme-quartz .ag-paging-number,\n.ag-theme-quartz .ag-paging-row-summary-panel-number,\n.ag-theme-quartz-dark .ag-status-name-value-value,\n.ag-theme-quartz-dark .ag-paging-number,\n.ag-theme-quartz-dark .ag-paging-row-summary-panel-number,\n.ag-theme-quartz-auto-dark .ag-status-name-value-value,\n.ag-theme-quartz-auto-dark .ag-paging-number,\n.ag-theme-quartz-auto-dark .ag-paging-row-summary-panel-number {\n font-weight: 500;\n}\n.ag-theme-quartz .ag-column-drop-cell-button,\n.ag-theme-quartz-dark .ag-column-drop-cell-button,\n.ag-theme-quartz-auto-dark .ag-column-drop-cell-button {\n opacity: 0.75;\n}\n.ag-theme-quartz .ag-column-drop-cell-button:hover,\n.ag-theme-quartz-dark .ag-column-drop-cell-button:hover,\n.ag-theme-quartz-auto-dark .ag-column-drop-cell-button:hover {\n opacity: 1;\n}\n.ag-theme-quartz .ag-header-cell-menu-button,\n.ag-theme-quartz .ag-header-cell-filter-button,\n.ag-theme-quartz .ag-panel-title-bar-button,\n.ag-theme-quartz .ag-header-expand-icon,\n.ag-theme-quartz .ag-column-group-icons,\n.ag-theme-quartz .ag-set-filter-group-icons,\n.ag-theme-quartz .ag-group-expanded .ag-icon,\n.ag-theme-quartz .ag-group-contracted .ag-icon,\n.ag-theme-quartz .ag-chart-settings-prev,\n.ag-theme-quartz .ag-chart-settings-next,\n.ag-theme-quartz .ag-group-title-bar-icon,\n.ag-theme-quartz .ag-column-select-header-icon,\n.ag-theme-quartz .ag-floating-filter-button-button,\n.ag-theme-quartz .ag-filter-toolpanel-expand,\n.ag-theme-quartz .ag-panel-title-bar-button-icon,\n.ag-theme-quartz .ag-chart-menu-icon,\n.ag-theme-quartz-dark .ag-header-cell-menu-button,\n.ag-theme-quartz-dark .ag-header-cell-filter-button,\n.ag-theme-quartz-dark .ag-panel-title-bar-button,\n.ag-theme-quartz-dark .ag-header-expand-icon,\n.ag-theme-quartz-dark .ag-column-group-icons,\n.ag-theme-quartz-dark .ag-set-filter-group-icons,\n.ag-theme-quartz-dark .ag-group-expanded .ag-icon,\n.ag-theme-quartz-dark .ag-group-contracted .ag-icon,\n.ag-theme-quartz-dark .ag-chart-settings-prev,\n.ag-theme-quartz-dark .ag-chart-settings-next,\n.ag-theme-quartz-dark .ag-group-title-bar-icon,\n.ag-theme-quartz-dark .ag-column-select-header-icon,\n.ag-theme-quartz-dark .ag-floating-filter-button-button,\n.ag-theme-quartz-dark .ag-filter-toolpanel-expand,\n.ag-theme-quartz-dark .ag-panel-title-bar-button-icon,\n.ag-theme-quartz-dark .ag-chart-menu-icon,\n.ag-theme-quartz-auto-dark .ag-header-cell-menu-button,\n.ag-theme-quartz-auto-dark .ag-header-cell-filter-button,\n.ag-theme-quartz-auto-dark .ag-panel-title-bar-button,\n.ag-theme-quartz-auto-dark .ag-header-expand-icon,\n.ag-theme-quartz-auto-dark .ag-column-group-icons,\n.ag-theme-quartz-auto-dark .ag-set-filter-group-icons,\n.ag-theme-quartz-auto-dark .ag-group-expanded .ag-icon,\n.ag-theme-quartz-auto-dark .ag-group-contracted .ag-icon,\n.ag-theme-quartz-auto-dark .ag-chart-settings-prev,\n.ag-theme-quartz-auto-dark .ag-chart-settings-next,\n.ag-theme-quartz-auto-dark .ag-group-title-bar-icon,\n.ag-theme-quartz-auto-dark .ag-column-select-header-icon,\n.ag-theme-quartz-auto-dark .ag-floating-filter-button-button,\n.ag-theme-quartz-auto-dark .ag-filter-toolpanel-expand,\n.ag-theme-quartz-auto-dark .ag-panel-title-bar-button-icon,\n.ag-theme-quartz-auto-dark .ag-chart-menu-icon {\n --ag-quartz-icon-hover-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);\n}\n.ag-theme-quartz .ag-header-cell-menu-button:hover,\n.ag-theme-quartz .ag-header-cell-filter-button:hover,\n.ag-theme-quartz .ag-panel-title-bar-button:hover,\n.ag-theme-quartz .ag-header-expand-icon:hover,\n.ag-theme-quartz .ag-column-group-icons:hover,\n.ag-theme-quartz .ag-set-filter-group-icons:hover,\n.ag-theme-quartz .ag-group-expanded .ag-icon:hover,\n.ag-theme-quartz .ag-group-contracted .ag-icon:hover,\n.ag-theme-quartz .ag-chart-settings-prev:hover,\n.ag-theme-quartz .ag-chart-settings-next:hover,\n.ag-theme-quartz .ag-group-title-bar-icon:hover,\n.ag-theme-quartz .ag-column-select-header-icon:hover,\n.ag-theme-quartz .ag-floating-filter-button-button:hover,\n.ag-theme-quartz .ag-filter-toolpanel-expand:hover,\n.ag-theme-quartz .ag-panel-title-bar-button-icon:hover,\n.ag-theme-quartz .ag-chart-menu-icon:hover,\n.ag-theme-quartz-dark .ag-header-cell-menu-button:hover,\n.ag-theme-quartz-dark .ag-header-cell-filter-button:hover,\n.ag-theme-quartz-dark .ag-panel-title-bar-button:hover,\n.ag-theme-quartz-dark .ag-header-expand-icon:hover,\n.ag-theme-quartz-dark .ag-column-group-icons:hover,\n.ag-theme-quartz-dark .ag-set-filter-group-icons:hover,\n.ag-theme-quartz-dark .ag-group-expanded .ag-icon:hover,\n.ag-theme-quartz-dark .ag-group-contracted .ag-icon:hover,\n.ag-theme-quartz-dark .ag-chart-settings-prev:hover,\n.ag-theme-quartz-dark .ag-chart-settings-next:hover,\n.ag-theme-quartz-dark .ag-group-title-bar-icon:hover,\n.ag-theme-quartz-dark .ag-column-select-header-icon:hover,\n.ag-theme-quartz-dark .ag-floating-filter-button-button:hover,\n.ag-theme-quartz-dark .ag-filter-toolpanel-expand:hover,\n.ag-theme-quartz-dark .ag-panel-title-bar-button-icon:hover,\n.ag-theme-quartz-dark .ag-chart-menu-icon:hover,\n.ag-theme-quartz-auto-dark .ag-header-cell-menu-button:hover,\n.ag-theme-quartz-auto-dark .ag-header-cell-filter-button:hover,\n.ag-theme-quartz-auto-dark .ag-panel-title-bar-button:hover,\n.ag-theme-quartz-auto-dark .ag-header-expand-icon:hover,\n.ag-theme-quartz-auto-dark .ag-column-group-icons:hover,\n.ag-theme-quartz-auto-dark .ag-set-filter-group-icons:hover,\n.ag-theme-quartz-auto-dark .ag-group-expanded .ag-icon:hover,\n.ag-theme-quartz-auto-dark .ag-group-contracted .ag-icon:hover,\n.ag-theme-quartz-auto-dark .ag-chart-settings-prev:hover,\n.ag-theme-quartz-auto-dark .ag-chart-settings-next:hover,\n.ag-theme-quartz-auto-dark .ag-group-title-bar-icon:hover,\n.ag-theme-quartz-auto-dark .ag-column-select-header-icon:hover,\n.ag-theme-quartz-auto-dark .ag-floating-filter-button-button:hover,\n.ag-theme-quartz-auto-dark .ag-filter-toolpanel-expand:hover,\n.ag-theme-quartz-auto-dark .ag-panel-title-bar-button-icon:hover,\n.ag-theme-quartz-auto-dark .ag-chart-menu-icon:hover {\n border-radius: 1px;\n background-color: var(--ag-quartz-icon-hover-color);\n box-shadow: 0 0 0 4px var(--ag-quartz-icon-hover-color);\n}\n.ag-theme-quartz .ag-filter-active,\n.ag-theme-quartz-dark .ag-filter-active,\n.ag-theme-quartz-auto-dark .ag-filter-active {\n --ag-quartz-icon-active-color: color-mix(in srgb, transparent, var(--ag-active-color) 14%);\n --ag-quartz-icon-hover-color: color-mix(in srgb, transparent, var(--ag-active-color) 28%);\n position: relative;\n border-radius: 1px;\n background-color: var(--ag-quartz-icon-active-color);\n box-shadow: 0 0 0 4px var(--ag-quartz-icon-active-color);\n}\n.ag-theme-quartz .ag-filter-active::after,\n.ag-theme-quartz-dark .ag-filter-active::after,\n.ag-theme-quartz-auto-dark .ag-filter-active::after {\n content: "";\n position: absolute;\n width: 6px;\n height: 6px;\n top: -1px;\n right: -1px;\n border-radius: 50%;\n background-color: var(--ag-active-color);\n}\n.ag-theme-quartz .ag-filter-active .ag-icon-filter,\n.ag-theme-quartz-dark .ag-filter-active .ag-icon-filter,\n.ag-theme-quartz-auto-dark .ag-filter-active .ag-icon-filter {\n clip-path: path("M8,0C8,4.415 11.585,8 16,8L16,16L0,16L0,0L8,0Z");\n}\n.ag-theme-quartz .ag-chart-menu,\n.ag-theme-quartz-dark .ag-chart-menu,\n.ag-theme-quartz-auto-dark .ag-chart-menu {\n --ag-icon-size: 20px;\n background-color: color-mix(in srgb, transparent, var(--ag-background-color) 30%);\n padding: 4px 2px;\n}\n.ag-theme-quartz .ag-chart-menu-icon,\n.ag-theme-quartz-dark .ag-chart-menu-icon,\n.ag-theme-quartz-auto-dark .ag-chart-menu-icon {\n opacity: 0.8;\n}\n.ag-theme-quartz .ag-drag-handle,\n.ag-theme-quartz-dark .ag-drag-handle,\n.ag-theme-quartz-auto-dark .ag-drag-handle {\n color: var(--ag-icon-font-color);\n}\n.ag-theme-quartz .ag-menu-option-icon,\n.ag-theme-quartz .ag-compact-menu-option-icon,\n.ag-theme-quartz-dark .ag-menu-option-icon,\n.ag-theme-quartz-dark .ag-compact-menu-option-icon,\n.ag-theme-quartz-auto-dark .ag-menu-option-icon,\n.ag-theme-quartz-auto-dark .ag-compact-menu-option-icon {\n width: var(--ag-icon-size);\n cursor: pointer;\n}\n.ag-theme-quartz .ag-ltr .ag-menu-option-icon, .ag-theme-quartz .ag-ltr .ag-compact-menu-option-icon, .ag-theme-quartz-dark .ag-ltr .ag-menu-option-icon, .ag-theme-quartz-dark .ag-ltr .ag-compact-menu-option-icon, .ag-theme-quartz-auto-dark .ag-ltr .ag-menu-option-icon, .ag-theme-quartz-auto-dark .ag-ltr .ag-compact-menu-option-icon {\n padding-left: calc(var(--ag-grid-size) * 1.5);\n}\n\n.ag-theme-quartz .ag-rtl .ag-menu-option-icon, .ag-theme-quartz .ag-rtl .ag-compact-menu-option-icon, .ag-theme-quartz-dark .ag-rtl .ag-menu-option-icon, .ag-theme-quartz-dark .ag-rtl .ag-compact-menu-option-icon, .ag-theme-quartz-auto-dark .ag-rtl .ag-menu-option-icon, .ag-theme-quartz-auto-dark .ag-rtl .ag-compact-menu-option-icon {\n padding-right: calc(var(--ag-grid-size) * 1.5);\n}\n\n.ag-theme-quartz .ag-chart-settings-card-item.ag-not-selected:hover,\n.ag-theme-quartz-dark .ag-chart-settings-card-item.ag-not-selected:hover,\n.ag-theme-quartz-auto-dark .ag-chart-settings-card-item.ag-not-selected:hover {\n opacity: 0.35;\n}\n.ag-theme-quartz .ag-ltr .ag-panel-title-bar-button, .ag-theme-quartz-dark .ag-ltr .ag-panel-title-bar-button, .ag-theme-quartz-auto-dark .ag-ltr .ag-panel-title-bar-button {\n margin-left: calc(var(--ag-grid-size) * 2);\n margin-right: var(--ag-grid-size);\n}\n\n.ag-theme-quartz .ag-rtl .ag-panel-title-bar-button, .ag-theme-quartz-dark .ag-rtl .ag-panel-title-bar-button, .ag-theme-quartz-auto-dark .ag-rtl .ag-panel-title-bar-button {\n margin-right: calc(var(--ag-grid-size) * 2);\n margin-left: var(--ag-grid-size);\n}\n\n.ag-theme-quartz .ag-multi-filter-group-title-bar,\n.ag-theme-quartz-dark .ag-multi-filter-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-multi-filter-group-title-bar {\n padding: calc(var(--ag-grid-size) * 1.5) var(--ag-grid-size);\n}\n.ag-theme-quartz .ag-ltr .ag-filter-toolpanel-instance-body, .ag-theme-quartz-dark .ag-ltr .ag-filter-toolpanel-instance-body, .ag-theme-quartz-auto-dark .ag-ltr .ag-filter-toolpanel-instance-body {\n padding-left: var(--ag-grid-size);\n}\n\n.ag-theme-quartz .ag-rtl .ag-filter-toolpanel-instance-body, .ag-theme-quartz-dark .ag-rtl .ag-filter-toolpanel-instance-body, .ag-theme-quartz-auto-dark .ag-rtl .ag-filter-toolpanel-instance-body {\n padding-right: var(--ag-grid-size);\n}\n\n.ag-theme-quartz .ag-filter-toolpanel-instance-filter,\n.ag-theme-quartz-dark .ag-filter-toolpanel-instance-filter,\n.ag-theme-quartz-auto-dark .ag-filter-toolpanel-instance-filter {\n border: none;\n background-color: var(--ag-control-panel-background-color);\n}\n.ag-theme-quartz .ag-ltr .ag-filter-toolpanel-instance-filter, .ag-theme-quartz-dark .ag-ltr .ag-filter-toolpanel-instance-filter, .ag-theme-quartz-auto-dark .ag-ltr .ag-filter-toolpanel-instance-filter {\n margin-left: calc(var(--ag-icon-size) * 0.5);\n}\n\n.ag-theme-quartz .ag-rtl .ag-filter-toolpanel-instance-filter, .ag-theme-quartz-dark .ag-rtl .ag-filter-toolpanel-instance-filter, .ag-theme-quartz-auto-dark .ag-rtl .ag-filter-toolpanel-instance-filter {\n margin-right: calc(var(--ag-icon-size) * 0.5);\n}\n\n.ag-theme-quartz .ag-filter-toolpanel-group-level-0,\n.ag-theme-quartz-dark .ag-filter-toolpanel-group-level-0,\n.ag-theme-quartz-auto-dark .ag-filter-toolpanel-group-level-0 {\n border-top: none;\n}\n.ag-theme-quartz .ag-filter-toolpanel-header,\n.ag-theme-quartz-dark .ag-filter-toolpanel-header,\n.ag-theme-quartz-auto-dark .ag-filter-toolpanel-header {\n height: auto;\n height: initial;\n padding-top: var(--ag-grid-size);\n padding-bottom: var(--ag-grid-size);\n}\n.ag-theme-quartz .ag-filter-toolpanel-group-item,\n.ag-theme-quartz-dark .ag-filter-toolpanel-group-item,\n.ag-theme-quartz-auto-dark .ag-filter-toolpanel-group-item {\n margin: 0;\n}\n.ag-theme-quartz .ag-layout-auto-height .ag-center-cols-viewport,\n.ag-theme-quartz .ag-layout-auto-height .ag-center-cols-container,\n.ag-theme-quartz .ag-layout-print .ag-center-cols-viewport,\n.ag-theme-quartz .ag-layout-print .ag-center-cols-container,\n.ag-theme-quartz-dark .ag-layout-auto-height .ag-center-cols-viewport,\n.ag-theme-quartz-dark .ag-layout-auto-height .ag-center-cols-container,\n.ag-theme-quartz-dark .ag-layout-print .ag-center-cols-viewport,\n.ag-theme-quartz-dark .ag-layout-print .ag-center-cols-container,\n.ag-theme-quartz-auto-dark .ag-layout-auto-height .ag-center-cols-viewport,\n.ag-theme-quartz-auto-dark .ag-layout-auto-height .ag-center-cols-container,\n.ag-theme-quartz-auto-dark .ag-layout-print .ag-center-cols-viewport,\n.ag-theme-quartz-auto-dark .ag-layout-print .ag-center-cols-container {\n min-height: 150px;\n}\n.ag-theme-quartz .ag-overlay-no-rows-wrapper.ag-layout-auto-height,\n.ag-theme-quartz-dark .ag-overlay-no-rows-wrapper.ag-layout-auto-height,\n.ag-theme-quartz-auto-dark .ag-overlay-no-rows-wrapper.ag-layout-auto-height {\n padding-top: 60px;\n}\n.ag-theme-quartz .ag-date-time-list-page-entry-is-current,\n.ag-theme-quartz-dark .ag-date-time-list-page-entry-is-current,\n.ag-theme-quartz-auto-dark .ag-date-time-list-page-entry-is-current {\n background-color: var(--ag-active-color);\n}\n.ag-theme-quartz .ag-advanced-filter-builder-button,\n.ag-theme-quartz-dark .ag-advanced-filter-builder-button,\n.ag-theme-quartz-auto-dark .ag-advanced-filter-builder-button {\n padding: var(--ag-grid-size);\n font-weight: 600;\n}\n.ag-theme-quartz .ag-advanced-filter-builder-item-button-disabled .ag-icon,\n.ag-theme-quartz .ag-disabled .ag-icon,\n.ag-theme-quartz .ag-column-select-column-group-readonly .ag-icon,\n.ag-theme-quartz [disabled] .ag-icon,\n.ag-theme-quartz-dark .ag-advanced-filter-builder-item-button-disabled .ag-icon,\n.ag-theme-quartz-dark .ag-disabled .ag-icon,\n.ag-theme-quartz-dark .ag-column-select-column-group-readonly .ag-icon,\n.ag-theme-quartz-dark [disabled] .ag-icon,\n.ag-theme-quartz-auto-dark .ag-advanced-filter-builder-item-button-disabled .ag-icon,\n.ag-theme-quartz-auto-dark .ag-disabled .ag-icon,\n.ag-theme-quartz-auto-dark .ag-column-select-column-group-readonly .ag-icon,\n.ag-theme-quartz-auto-dark [disabled] .ag-icon {\n opacity: 0.6;\n}\n.ag-theme-quartz .ag-icon-grip,\n.ag-theme-quartz-dark .ag-icon-grip,\n.ag-theme-quartz-auto-dark .ag-icon-grip {\n opacity: 0.7;\n}\n.ag-theme-quartz .ag-column-select-column-readonly.ag-icon-grip,\n.ag-theme-quartz .ag-column-select-column-readonly .ag-icon-grip,\n.ag-theme-quartz-dark .ag-column-select-column-readonly.ag-icon-grip,\n.ag-theme-quartz-dark .ag-column-select-column-readonly .ag-icon-grip,\n.ag-theme-quartz-auto-dark .ag-column-select-column-readonly.ag-icon-grip,\n.ag-theme-quartz-auto-dark .ag-column-select-column-readonly .ag-icon-grip {\n opacity: 0.35;\n}\n.ag-theme-quartz .ag-column-select-header-filter-wrapper .ag-input-wrapper::before,\n.ag-theme-quartz .ag-filter-toolpanel-search .ag-input-wrapper::before,\n.ag-theme-quartz .ag-mini-filter .ag-input-wrapper::before,\n.ag-theme-quartz .ag-filter-filter .ag-input-wrapper::before,\n.ag-theme-quartz-dark .ag-column-select-header-filter-wrapper .ag-input-wrapper::before,\n.ag-theme-quartz-dark .ag-filter-toolpanel-search .ag-input-wrapper::before,\n.ag-theme-quartz-dark .ag-mini-filter .ag-input-wrapper::before,\n.ag-theme-quartz-dark .ag-filter-filter .ag-input-wrapper::before,\n.ag-theme-quartz-auto-dark .ag-column-select-header-filter-wrapper .ag-input-wrapper::before,\n.ag-theme-quartz-auto-dark .ag-filter-toolpanel-search .ag-input-wrapper::before,\n.ag-theme-quartz-auto-dark .ag-mini-filter .ag-input-wrapper::before,\n.ag-theme-quartz-auto-dark .ag-filter-filter .ag-input-wrapper::before {\n position: absolute;\n display: block;\n width: 12px;\n height: 12px;\n background-image: url('+h+');\n background-position: 50% 50%;\n background-size: contain;\n opacity: 0.4;\n content: "";\n filter: var(--ag-icon-filter);\n}\n.ag-theme-quartz .ag-ltr .ag-column-select-header-filter-wrapper .ag-input-wrapper::before, .ag-theme-quartz .ag-ltr .ag-filter-toolpanel-search .ag-input-wrapper::before, .ag-theme-quartz .ag-ltr .ag-mini-filter .ag-input-wrapper::before, .ag-theme-quartz .ag-ltr .ag-filter-filter .ag-input-wrapper::before, .ag-theme-quartz-dark .ag-ltr .ag-column-select-header-filter-wrapper .ag-input-wrapper::before, .ag-theme-quartz-dark .ag-ltr .ag-filter-toolpanel-search .ag-input-wrapper::before, .ag-theme-quartz-dark .ag-ltr .ag-mini-filter .ag-input-wrapper::before, .ag-theme-quartz-dark .ag-ltr .ag-filter-filter .ag-input-wrapper::before, .ag-theme-quartz-auto-dark .ag-ltr .ag-column-select-header-filter-wrapper .ag-input-wrapper::before, .ag-theme-quartz-auto-dark .ag-ltr .ag-filter-toolpanel-search .ag-input-wrapper::before, .ag-theme-quartz-auto-dark .ag-ltr .ag-mini-filter .ag-input-wrapper::before, .ag-theme-quartz-auto-dark .ag-ltr .ag-filter-filter .ag-input-wrapper::before {\n margin-left: var(--ag-grid-size);\n}\n\n.ag-theme-quartz .ag-rtl .ag-column-select-header-filter-wrapper .ag-input-wrapper::before, .ag-theme-quartz .ag-rtl .ag-filter-toolpanel-search .ag-input-wrapper::before, .ag-theme-quartz .ag-rtl .ag-mini-filter .ag-input-wrapper::before, .ag-theme-quartz .ag-rtl .ag-filter-filter .ag-input-wrapper::before, .ag-theme-quartz-dark .ag-rtl .ag-column-select-header-filter-wrapper .ag-input-wrapper::before, .ag-theme-quartz-dark .ag-rtl .ag-filter-toolpanel-search .ag-input-wrapper::before, .ag-theme-quartz-dark .ag-rtl .ag-mini-filter .ag-input-wrapper::before, .ag-theme-quartz-dark .ag-rtl .ag-filter-filter .ag-input-wrapper::before, .ag-theme-quartz-auto-dark .ag-rtl .ag-column-select-header-filter-wrapper .ag-input-wrapper::before, .ag-theme-quartz-auto-dark .ag-rtl .ag-filter-toolpanel-search .ag-input-wrapper::before, .ag-theme-quartz-auto-dark .ag-rtl .ag-mini-filter .ag-input-wrapper::before, .ag-theme-quartz-auto-dark .ag-rtl .ag-filter-filter .ag-input-wrapper::before {\n margin-right: var(--ag-grid-size);\n}\n\n.ag-theme-quartz .ag-ltr .ag-column-select-header-filter-wrapper input.ag-text-field-input, .ag-theme-quartz .ag-ltr .ag-column-select-header-filter-wrapper input.ag-number-field-input, .ag-theme-quartz .ag-ltr .ag-filter-toolpanel-search input.ag-text-field-input, .ag-theme-quartz .ag-ltr .ag-filter-toolpanel-search input.ag-number-field-input, .ag-theme-quartz .ag-ltr .ag-mini-filter input.ag-text-field-input, .ag-theme-quartz .ag-ltr .ag-mini-filter input.ag-number-field-input, .ag-theme-quartz .ag-ltr .ag-filter-filter input.ag-text-field-input, .ag-theme-quartz .ag-ltr .ag-filter-filter input.ag-number-field-input, .ag-theme-quartz-dark .ag-ltr .ag-column-select-header-filter-wrapper input.ag-text-field-input, .ag-theme-quartz-dark .ag-ltr .ag-column-select-header-filter-wrapper input.ag-number-field-input, .ag-theme-quartz-dark .ag-ltr .ag-filter-toolpanel-search input.ag-text-field-input, .ag-theme-quartz-dark .ag-ltr .ag-filter-toolpanel-search input.ag-number-field-input, .ag-theme-quartz-dark .ag-ltr .ag-mini-filter input.ag-text-field-input, .ag-theme-quartz-dark .ag-ltr .ag-mini-filter input.ag-number-field-input, .ag-theme-quartz-dark .ag-ltr .ag-filter-filter input.ag-text-field-input, .ag-theme-quartz-dark .ag-ltr .ag-filter-filter input.ag-number-field-input, .ag-theme-quartz-auto-dark .ag-ltr .ag-column-select-header-filter-wrapper input.ag-text-field-input, .ag-theme-quartz-auto-dark .ag-ltr .ag-column-select-header-filter-wrapper input.ag-number-field-input, .ag-theme-quartz-auto-dark .ag-ltr .ag-filter-toolpanel-search input.ag-text-field-input, .ag-theme-quartz-auto-dark .ag-ltr .ag-filter-toolpanel-search input.ag-number-field-input, .ag-theme-quartz-auto-dark .ag-ltr .ag-mini-filter input.ag-text-field-input, .ag-theme-quartz-auto-dark .ag-ltr .ag-mini-filter input.ag-number-field-input, .ag-theme-quartz-auto-dark .ag-ltr .ag-filter-filter input.ag-text-field-input, .ag-theme-quartz-auto-dark .ag-ltr .ag-filter-filter input.ag-number-field-input {\n padding-left: 26px;\n}\n\n.ag-theme-quartz .ag-rtl .ag-column-select-header-filter-wrapper input.ag-text-field-input, .ag-theme-quartz .ag-rtl .ag-column-select-header-filter-wrapper input.ag-number-field-input, .ag-theme-quartz .ag-rtl .ag-filter-toolpanel-search input.ag-text-field-input, .ag-theme-quartz .ag-rtl .ag-filter-toolpanel-search input.ag-number-field-input, .ag-theme-quartz .ag-rtl .ag-mini-filter input.ag-text-field-input, .ag-theme-quartz .ag-rtl .ag-mini-filter input.ag-number-field-input, .ag-theme-quartz .ag-rtl .ag-filter-filter input.ag-text-field-input, .ag-theme-quartz .ag-rtl .ag-filter-filter input.ag-number-field-input, .ag-theme-quartz-dark .ag-rtl .ag-column-select-header-filter-wrapper input.ag-text-field-input, .ag-theme-quartz-dark .ag-rtl .ag-column-select-header-filter-wrapper input.ag-number-field-input, .ag-theme-quartz-dark .ag-rtl .ag-filter-toolpanel-search input.ag-text-field-input, .ag-theme-quartz-dark .ag-rtl .ag-filter-toolpanel-search input.ag-number-field-input, .ag-theme-quartz-dark .ag-rtl .ag-mini-filter input.ag-text-field-input, .ag-theme-quartz-dark .ag-rtl .ag-mini-filter input.ag-number-field-input, .ag-theme-quartz-dark .ag-rtl .ag-filter-filter input.ag-text-field-input, .ag-theme-quartz-dark .ag-rtl .ag-filter-filter input.ag-number-field-input, .ag-theme-quartz-auto-dark .ag-rtl .ag-column-select-header-filter-wrapper input.ag-text-field-input, .ag-theme-quartz-auto-dark .ag-rtl .ag-column-select-header-filter-wrapper input.ag-number-field-input, .ag-theme-quartz-auto-dark .ag-rtl .ag-filter-toolpanel-search input.ag-text-field-input, .ag-theme-quartz-auto-dark .ag-rtl .ag-filter-toolpanel-search input.ag-number-field-input, .ag-theme-quartz-auto-dark .ag-rtl .ag-mini-filter input.ag-text-field-input, .ag-theme-quartz-auto-dark .ag-rtl .ag-mini-filter input.ag-number-field-input, .ag-theme-quartz-auto-dark .ag-rtl .ag-filter-filter input.ag-text-field-input, .ag-theme-quartz-auto-dark .ag-rtl .ag-filter-filter input.ag-number-field-input {\n padding-right: 26px;\n}\n\n.ag-theme-quartz .ag-ltr .ag-column-select-add-group-indent, .ag-theme-quartz-dark .ag-ltr .ag-column-select-add-group-indent, .ag-theme-quartz-auto-dark .ag-ltr .ag-column-select-add-group-indent {\n margin-left: calc(var(--ag-icon-size) + var(--ag-grid-size) * 1.5);\n}\n\n.ag-theme-quartz .ag-rtl .ag-column-select-add-group-indent, .ag-theme-quartz-dark .ag-rtl .ag-column-select-add-group-indent, .ag-theme-quartz-auto-dark .ag-rtl .ag-column-select-add-group-indent {\n margin-right: calc(var(--ag-icon-size) + var(--ag-grid-size) * 1.5);\n}\n\n.ag-theme-quartz .ag-text-field-input[disabled],\n.ag-theme-quartz .ag-menu-option-disabled,\n.ag-theme-quartz-dark .ag-text-field-input[disabled],\n.ag-theme-quartz-dark .ag-menu-option-disabled,\n.ag-theme-quartz-auto-dark .ag-text-field-input[disabled],\n.ag-theme-quartz-auto-dark .ag-menu-option-disabled {\n cursor: not-allowed;\n}\n.ag-theme-quartz .ag-checkbox-input-wrapper.ag-checked.ag-disabled,\n.ag-theme-quartz-dark .ag-checkbox-input-wrapper.ag-checked.ag-disabled,\n.ag-theme-quartz-auto-dark .ag-checkbox-input-wrapper.ag-checked.ag-disabled {\n --ag-checkbox-checked-color: var(--ag-checkbox-unchecked-color);\n}\n.ag-theme-quartz .ag-checkbox-input,\n.ag-theme-quartz .ag-toggle-button-input,\n.ag-theme-quartz .ag-radio-button-input,\n.ag-theme-quartz input[class^=ag-][type=range],\n.ag-theme-quartz-dark .ag-checkbox-input,\n.ag-theme-quartz-dark .ag-toggle-button-input,\n.ag-theme-quartz-dark .ag-radio-button-input,\n.ag-theme-quartz-dark input[class^=ag-][type=range],\n.ag-theme-quartz-auto-dark .ag-checkbox-input,\n.ag-theme-quartz-auto-dark .ag-toggle-button-input,\n.ag-theme-quartz-auto-dark .ag-radio-button-input,\n.ag-theme-quartz-auto-dark input[class^=ag-][type=range] {\n cursor: pointer;\n}\n.ag-theme-quartz .ag-details-row,\n.ag-theme-quartz-dark .ag-details-row,\n.ag-theme-quartz-auto-dark .ag-details-row {\n padding: calc(var(--ag-grid-size) * 3.75);\n}\n\n.ag-theme-quartz-dark .ag-column-select-header-filter-wrapper .ag-input-wrapper::before,\n.ag-theme-quartz-dark .ag-filter-toolpanel-search .ag-input-wrapper::before,\n.ag-theme-quartz-dark .ag-mini-filter .ag-input-wrapper::before,\n.ag-theme-quartz-dark .ag-filter-filter .ag-input-wrapper::before {\n opacity: 0.66;\n filter: invert(100%);\n}\n.ag-theme-quartz-dark .ag-chart-menu {\n background-color: color-mix(in srgb, rgba(24, 39, 50, 0.3), var(--ag-background-color) 30%);\n}\n.ag-theme-quartz-dark .ag-text-field-input::-moz-placeholder {\n color: var(--ag-data-color);\n opacity: 0.8;\n}\n.ag-theme-quartz-dark .ag-text-field-input::placeholder {\n color: var(--ag-data-color);\n opacity: 0.8;\n}\n',""]),t.A=d},9561:function(e,t,i){"use strict";var a=i(6758),n=i.n(a),r=i(935),o=i.n(r),s=i(62),l=i.n(s),c=new URL(i(2006),i.b),d=new URL(i(7249),i.b),h=o()(n()),u=l()(c),g=l()(d);h.push([e.id,'@font-face {\n font-family: "agGridQuartz";\n src: url('+u+');\n font-weight: normal;\n font-style: normal;\n}\n.ag-theme-quartz,\n.ag-theme-quartz-dark,\n.ag-theme-quartz-auto-dark {\n --ag-active-color: #2196f3;\n --ag-background-color: #fff;\n --ag-foreground-color: #181d1f;\n --ag-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 15%);\n --ag-secondary-border-color: var(--ag-border-color);\n --ag-header-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 2%);\n --ag-tooltip-background-color: var(--ag-header-background-color);\n --ag-control-panel-background-color: var(--ag-header-background-color);\n --ag-subheader-background-color: transparent;\n --ag-invalid-color: #e02525;\n --ag-checkbox-unchecked-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 30%);\n --ag-advanced-filter-join-pill-color: #f08e8d;\n --ag-advanced-filter-column-pill-color: #a6e194;\n --ag-advanced-filter-option-pill-color: #f3c08b;\n --ag-advanced-filter-value-pill-color: #85c0e4;\n --ag-header-column-resize-handle-color: var(--ag-secondary-border-color);\n --ag-icon-font-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 90%);\n --ag-panel-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 3%);\n --ag-panel-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 20%);\n --ag-menu-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 3%);\n --ag-menu-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 20%);\n --ag-selected-row-background-color: color-mix(in srgb, transparent, var(--ag-active-color) 8%);\n --ag-row-hover-color: color-mix(in srgb, transparent, var(--ag-active-color) 12%);\n --ag-column-hover-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 5%);\n --ag-input-focus-border-color: var(--ag-active-color);\n --ag-input-focus-box-shadow: 0 0 0 3px color-mix(in srgb, transparent, var(--ag-input-focus-border-color) 47%);\n --ag-range-selection-background-color: color-mix(in srgb, transparent, var(--ag-active-color) 20%);\n --ag-range-selection-background-color-2: color-mix(in srgb, transparent, var(--ag-active-color) 36%);\n --ag-range-selection-background-color-3: color-mix(in srgb, transparent, var(--ag-active-color) 49%);\n --ag-range-selection-background-color-4: color-mix(in srgb, transparent, var(--ag-active-color) 59%);\n --ag-checkbox-background-color: var(--ag-background-color);\n --ag-checkbox-checked-color: var(--ag-active-color);\n --ag-range-selection-border-color: var(--ag-active-color);\n --ag-secondary-foreground-color: var(--ag-foreground-color);\n --ag-input-border-color: var(--ag-border-color);\n --ag-input-border-color-invalid: var(--ag-invalid-color);\n --ag-disabled-foreground-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 50%);\n --ag-chip-background-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 7%);\n --ag-chip-border-color: color-mix(in srgb, var(--ag-header-background-color), var(--ag-foreground-color) 13%);\n --ag-input-disabled-border-color: var(--ag-border-color);\n --ag-input-disabled-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 6%);\n --ag-modal-overlay-background-color: color-mix(in srgb, transparent, var(--ag-background-color) 66%);\n --ag-chart-menu-label-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 80%);\n --ag-chart-menu-pill-select-button-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 70%);\n --ag-borders: solid 1px;\n --ag-border-radius: 4px;\n --ag-wrapper-border-radius: 8px;\n --ag-borders-side-button: none;\n --ag-side-button-selected-background-color: transparent;\n --ag-header-column-resize-handle-display: block;\n --ag-header-column-resize-handle-width: 2px;\n --ag-header-column-resize-handle-height: 30%;\n --ag-grid-size: 8px;\n --ag-icon-size: 16px;\n --ag-header-height: calc(var(--ag-font-size) + var(--ag-grid-size) * 4.25);\n --ag-row-height: calc(var(--ag-font-size) + var(--ag-grid-size) * 3.5);\n --ag-list-item-height: calc(\n var(--ag-icon-size) + var(--ag-widget-vertical-spacing)\n );\n --ag-column-select-indent-size: var(--ag-icon-size);\n --ag-set-filter-indent-size: var(--ag-icon-size);\n --ag-filter-tool-panel-group-indent: var(--ag-grid-size);\n --ag-advanced-filter-builder-indent-size: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);\n --ag-cell-horizontal-padding: calc(var(--ag-grid-size) * 2);\n --ag-cell-widget-spacing: calc(var(--ag-grid-size) * 1.5);\n --ag-widget-container-vertical-padding: calc(var(--ag-grid-size) * 1.5);\n --ag-widget-container-horizontal-padding: calc(var(--ag-grid-size) * 1.5);\n --ag-widget-horizontal-spacing: calc(var(--ag-grid-size) * 1.5);\n --ag-widget-vertical-spacing: calc(var(--ag-grid-size) * 1);\n --ag-toggle-button-height: 18px;\n --ag-toggle-button-width: 28px;\n --ag-toggle-button-border-width: 2px;\n --ag-font-family: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu,\n Cantarell, "Helvetica Neue", sans-serif;\n --ag-font-size: 14px;\n --ag-icon-font-family: agGridQuartz;\n --ag-tab-min-width: 290px;\n --ag-chart-menu-panel-width: 260px;\n --ag-card-shadow: 0 1px 4px 1px rgba(186, 191, 199, 0.4);\n --ag-popup-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.15);\n --ag-side-bar-panel-width: 250px;\n}\n\n.ag-theme-quartz-dark {\n --ag-background-color: rgb(31, 41, 54);\n --ag-foreground-color: #fff;\n --ag-border-color: rgba(255, 255, 255, 0.16);\n --ag-secondary-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);\n --ag-header-background-color: rgb(40, 49, 62);\n --ag-tooltip-background-color: rgb(33, 43, 56);\n --ag-control-panel-background-color: rgb(40, 49, 62);\n --ag-input-disabled-background-color: rgba(104,104,110,0.07059);\n --ag-card-shadow: 0 1px 20px 1px black;\n --ag-input-border-color: var(--ag-border-color);\n --ag-input-disabled-border-color: rgba(255, 255, 255, 0.07);\n --ag-checkbox-unchecked-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 40%);\n --ag-row-hover-color: color-mix(in srgb, transparent, var(--ag-active-color) 20%);\n --ag-selected-row-background-color: var(--ag-row-hover-color);\n --ag-panel-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 10%);\n --ag-panel-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);\n --ag-menu-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 10%);\n --ag-menu-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);\n --ag-advanced-filter-join-pill-color: #7a3a37;\n --ag-advanced-filter-column-pill-color: #355f2d;\n --ag-advanced-filter-option-pill-color: #5a3168;\n --ag-advanced-filter-value-pill-color: #374c86;\n --ag-popup-shadow: 0 0px 20px rgba(0, 0, 0, 0.3);\n --ag-row-loading-skeleton-effect-color: rgba(202, 203, 204, 0.4);\n --csstools-color-scheme--dark: initial;\n color-scheme: dark;\n}\n\n@media (prefers-color-scheme: dark) {\n .ag-theme-quartz-auto-dark {\n --ag-background-color: rgb(31, 41, 54);\n --ag-foreground-color: #fff;\n --ag-border-color: rgba(255, 255, 255, 0.16);\n --ag-secondary-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);\n --ag-header-background-color: rgb(40, 49, 62);\n --ag-tooltip-background-color: rgb(33, 43, 56);\n --ag-control-panel-background-color: rgb(40, 49, 62);\n --ag-input-disabled-background-color: rgba(104,104,110,0.07059);\n --ag-card-shadow: 0 1px 20px 1px black;\n --ag-input-border-color: var(--ag-border-color);\n --ag-input-disabled-border-color: rgba(255, 255, 255, 0.07);\n --ag-checkbox-unchecked-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 40%);\n --ag-row-hover-color: color-mix(in srgb, transparent, var(--ag-active-color) 20%);\n --ag-selected-row-background-color: var(--ag-row-hover-color);\n --ag-panel-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 10%);\n --ag-panel-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);\n --ag-menu-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 10%);\n --ag-menu-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);\n --ag-advanced-filter-join-pill-color: #7a3a37;\n --ag-advanced-filter-column-pill-color: #355f2d;\n --ag-advanced-filter-option-pill-color: #5a3168;\n --ag-advanced-filter-value-pill-color: #374c86;\n --ag-popup-shadow: 0 0px 20px rgba(0, 0, 0, 0.3);\n --ag-row-loading-skeleton-effect-color: rgba(202, 203, 204, 0.4);\n --csstools-color-scheme--dark: initial;\n color-scheme: dark;\n }\n}\n.ag-theme-quartz .ag-filter-toolpanel-header,\n.ag-theme-quartz .ag-filter-toolpanel-search,\n.ag-theme-quartz .ag-status-bar,\n.ag-theme-quartz .ag-header-row,\n.ag-theme-quartz .ag-panel-title-bar-title,\n.ag-theme-quartz .ag-multi-filter-group-title-bar,\n.ag-theme-quartz-dark .ag-filter-toolpanel-header,\n.ag-theme-quartz-dark .ag-filter-toolpanel-search,\n.ag-theme-quartz-dark .ag-status-bar,\n.ag-theme-quartz-dark .ag-header-row,\n.ag-theme-quartz-dark .ag-panel-title-bar-title,\n.ag-theme-quartz-dark .ag-multi-filter-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-filter-toolpanel-header,\n.ag-theme-quartz-auto-dark .ag-filter-toolpanel-search,\n.ag-theme-quartz-auto-dark .ag-status-bar,\n.ag-theme-quartz-auto-dark .ag-header-row,\n.ag-theme-quartz-auto-dark .ag-panel-title-bar-title,\n.ag-theme-quartz-auto-dark .ag-multi-filter-group-title-bar {\n font-weight: 500;\n color: var(--ag-header-foreground-color);\n}\n.ag-theme-quartz input[class^=ag-]:not([type]),\n.ag-theme-quartz input[class^=ag-][type=text],\n.ag-theme-quartz input[class^=ag-][type=number],\n.ag-theme-quartz input[class^=ag-][type=tel],\n.ag-theme-quartz input[class^=ag-][type=date],\n.ag-theme-quartz input[class^=ag-][type=datetime-local],\n.ag-theme-quartz textarea[class^=ag-],\n.ag-theme-quartz-dark input[class^=ag-]:not([type]),\n.ag-theme-quartz-dark input[class^=ag-][type=text],\n.ag-theme-quartz-dark input[class^=ag-][type=number],\n.ag-theme-quartz-dark input[class^=ag-][type=tel],\n.ag-theme-quartz-dark input[class^=ag-][type=date],\n.ag-theme-quartz-dark input[class^=ag-][type=datetime-local],\n.ag-theme-quartz-dark textarea[class^=ag-],\n.ag-theme-quartz-auto-dark input[class^=ag-]:not([type]),\n.ag-theme-quartz-auto-dark input[class^=ag-][type=text],\n.ag-theme-quartz-auto-dark input[class^=ag-][type=number],\n.ag-theme-quartz-auto-dark input[class^=ag-][type=tel],\n.ag-theme-quartz-auto-dark input[class^=ag-][type=date],\n.ag-theme-quartz-auto-dark input[class^=ag-][type=datetime-local],\n.ag-theme-quartz-auto-dark textarea[class^=ag-] {\n min-height: calc(var(--ag-grid-size) * 4);\n border-radius: var(--ag-border-radius);\n}\n.ag-theme-quartz .ag-ltr input[class^=ag-]:not([type]), .ag-theme-quartz .ag-ltr input[class^=ag-][type=text], .ag-theme-quartz .ag-ltr input[class^=ag-][type=number], .ag-theme-quartz .ag-ltr input[class^=ag-][type=tel], .ag-theme-quartz .ag-ltr input[class^=ag-][type=date], .ag-theme-quartz .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-quartz .ag-ltr textarea[class^=ag-], .ag-theme-quartz-dark .ag-ltr input[class^=ag-]:not([type]), .ag-theme-quartz-dark .ag-ltr input[class^=ag-][type=text], .ag-theme-quartz-dark .ag-ltr input[class^=ag-][type=number], .ag-theme-quartz-dark .ag-ltr input[class^=ag-][type=tel], .ag-theme-quartz-dark .ag-ltr input[class^=ag-][type=date], .ag-theme-quartz-dark .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-quartz-dark .ag-ltr textarea[class^=ag-], .ag-theme-quartz-auto-dark .ag-ltr input[class^=ag-]:not([type]), .ag-theme-quartz-auto-dark .ag-ltr input[class^=ag-][type=text], .ag-theme-quartz-auto-dark .ag-ltr input[class^=ag-][type=number], .ag-theme-quartz-auto-dark .ag-ltr input[class^=ag-][type=tel], .ag-theme-quartz-auto-dark .ag-ltr input[class^=ag-][type=date], .ag-theme-quartz-auto-dark .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-quartz-auto-dark .ag-ltr textarea[class^=ag-] {\n padding-left: var(--ag-grid-size);\n}\n\n.ag-theme-quartz .ag-rtl input[class^=ag-]:not([type]), .ag-theme-quartz .ag-rtl input[class^=ag-][type=text], .ag-theme-quartz .ag-rtl input[class^=ag-][type=number], .ag-theme-quartz .ag-rtl input[class^=ag-][type=tel], .ag-theme-quartz .ag-rtl input[class^=ag-][type=date], .ag-theme-quartz .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-quartz .ag-rtl textarea[class^=ag-], .ag-theme-quartz-dark .ag-rtl input[class^=ag-]:not([type]), .ag-theme-quartz-dark .ag-rtl input[class^=ag-][type=text], .ag-theme-quartz-dark .ag-rtl input[class^=ag-][type=number], .ag-theme-quartz-dark .ag-rtl input[class^=ag-][type=tel], .ag-theme-quartz-dark .ag-rtl input[class^=ag-][type=date], .ag-theme-quartz-dark .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-quartz-dark .ag-rtl textarea[class^=ag-], .ag-theme-quartz-auto-dark .ag-rtl input[class^=ag-]:not([type]), .ag-theme-quartz-auto-dark .ag-rtl input[class^=ag-][type=text], .ag-theme-quartz-auto-dark .ag-rtl input[class^=ag-][type=number], .ag-theme-quartz-auto-dark .ag-rtl input[class^=ag-][type=tel], .ag-theme-quartz-auto-dark .ag-rtl input[class^=ag-][type=date], .ag-theme-quartz-auto-dark .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-quartz-auto-dark .ag-rtl textarea[class^=ag-] {\n padding-right: var(--ag-grid-size);\n}\n\n.ag-theme-quartz .ag-picker-field-wrapper,\n.ag-theme-quartz-dark .ag-picker-field-wrapper,\n.ag-theme-quartz-auto-dark .ag-picker-field-wrapper {\n min-height: calc(var(--ag-grid-size) * 4);\n}\n.ag-theme-quartz .ag-tab,\n.ag-theme-quartz-dark .ag-tab,\n.ag-theme-quartz-auto-dark .ag-tab {\n padding: var(--ag-grid-size);\n border-left: var(--ag-borders) transparent;\n border-right: var(--ag-borders) transparent;\n flex: 1 1 auto;\n}\n.ag-theme-quartz .ag-tab-selected,\n.ag-theme-quartz-dark .ag-tab-selected,\n.ag-theme-quartz-auto-dark .ag-tab-selected {\n background-color: var(--ag-background-color);\n}\n.ag-theme-quartz .ag-ltr .ag-tab-selected:not(:first-of-type), .ag-theme-quartz-dark .ag-ltr .ag-tab-selected:not(:first-of-type), .ag-theme-quartz-auto-dark .ag-ltr .ag-tab-selected:not(:first-of-type) {\n border-left-color: var(--ag-border-color);\n}\n\n.ag-theme-quartz .ag-rtl .ag-tab-selected:not(:first-of-type), .ag-theme-quartz-dark .ag-rtl .ag-tab-selected:not(:first-of-type), .ag-theme-quartz-auto-dark .ag-rtl .ag-tab-selected:not(:first-of-type) {\n border-right-color: var(--ag-border-color);\n}\n\n.ag-theme-quartz .ag-ltr .ag-tab-selected:not(:last-of-type), .ag-theme-quartz-dark .ag-ltr .ag-tab-selected:not(:last-of-type), .ag-theme-quartz-auto-dark .ag-ltr .ag-tab-selected:not(:last-of-type) {\n border-right-color: var(--ag-border-color);\n}\n\n.ag-theme-quartz .ag-rtl .ag-tab-selected:not(:last-of-type), .ag-theme-quartz-dark .ag-rtl .ag-tab-selected:not(:last-of-type), .ag-theme-quartz-auto-dark .ag-rtl .ag-tab-selected:not(:last-of-type) {\n border-left-color: var(--ag-border-color);\n}\n\n.ag-theme-quartz .ag-tab:not(.ag-tab-selected),\n.ag-theme-quartz-dark .ag-tab:not(.ag-tab-selected),\n.ag-theme-quartz-auto-dark .ag-tab:not(.ag-tab-selected) {\n opacity: 0.7;\n}\n.ag-theme-quartz .ag-tab:not(.ag-tab-selected):hover,\n.ag-theme-quartz-dark .ag-tab:not(.ag-tab-selected):hover,\n.ag-theme-quartz-auto-dark .ag-tab:not(.ag-tab-selected):hover {\n opacity: 1;\n}\n.ag-theme-quartz .ag-menu,\n.ag-theme-quartz-dark .ag-menu,\n.ag-theme-quartz-auto-dark .ag-menu {\n color: color-mix(in srgb, transparent, var(--ag-foreground-color) 95%);\n}\n.ag-theme-quartz .ag-panel-content-wrapper .ag-column-select,\n.ag-theme-quartz-dark .ag-panel-content-wrapper .ag-column-select,\n.ag-theme-quartz-auto-dark .ag-panel-content-wrapper .ag-column-select {\n background-color: var(--ag-control-panel-background-color);\n color: color-mix(in srgb, transparent, var(--ag-foreground-color) 95%);\n}\n.ag-theme-quartz .ag-menu-option .ag-icon,\n.ag-theme-quartz-dark .ag-menu-option .ag-icon,\n.ag-theme-quartz-auto-dark .ag-menu-option .ag-icon {\n opacity: 0.65;\n}\n.ag-theme-quartz .ag-menu-header,\n.ag-theme-quartz-dark .ag-menu-header,\n.ag-theme-quartz-auto-dark .ag-menu-header {\n background-color: var(--ag-control-panel-background-color);\n}\n.ag-theme-quartz .ag-menu-option,\n.ag-theme-quartz-dark .ag-menu-option,\n.ag-theme-quartz-auto-dark .ag-menu-option {\n font-weight: 500;\n cursor: pointer;\n}\n.ag-theme-quartz .ag-ltr .ag-menu-option-popup-pointer .ag-icon, .ag-theme-quartz-dark .ag-ltr .ag-menu-option-popup-pointer .ag-icon, .ag-theme-quartz-auto-dark .ag-ltr .ag-menu-option-popup-pointer .ag-icon {\n text-align: right;\n}\n\n.ag-theme-quartz .ag-rtl .ag-menu-option-popup-pointer .ag-icon, .ag-theme-quartz-dark .ag-rtl .ag-menu-option-popup-pointer .ag-icon, .ag-theme-quartz-auto-dark .ag-rtl .ag-menu-option-popup-pointer .ag-icon {\n text-align: left;\n}\n\n.ag-theme-quartz .ag-tabs-header,\n.ag-theme-quartz-dark .ag-tabs-header,\n.ag-theme-quartz-auto-dark .ag-tabs-header {\n border-bottom: var(--ag-borders) var(--ag-border-color);\n display: flex;\n background-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 5%);\n}\n.ag-theme-quartz .ag-side-bar,\n.ag-theme-quartz-dark .ag-side-bar,\n.ag-theme-quartz-auto-dark .ag-side-bar {\n background-color: var(--ag-control-panel-background-color);\n min-width: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);\n}\n.ag-theme-quartz .ag-side-buttons,\n.ag-theme-quartz-dark .ag-side-buttons,\n.ag-theme-quartz-auto-dark .ag-side-buttons {\n padding: 0;\n align-self: stretch;\n width: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);\n background: var(--ag-control-panel-background-color);\n}\n.ag-theme-quartz .ag-side-button,\n.ag-theme-quartz-dark .ag-side-button,\n.ag-theme-quartz-auto-dark .ag-side-button {\n border-top: var(--ag-borders) transparent;\n border-bottom: var(--ag-borders) transparent;\n}\n@media (-webkit-max-device-pixel-ratio: 1.5), (max-resolution: 1.5x) {\n .ag-theme-quartz .ag-side-button-label,\n .ag-theme-quartz-dark .ag-side-button-label,\n .ag-theme-quartz-auto-dark .ag-side-button-label {\n font-family: "Segoe UI", var(--ag-font-family);\n transform: rotate(0.05deg);\n }\n}\n.ag-theme-quartz .ag-side-button.ag-selected,\n.ag-theme-quartz-dark .ag-side-button.ag-selected,\n.ag-theme-quartz-auto-dark .ag-side-button.ag-selected {\n border-bottom-color: var(--ag-border-color);\n background-color: var(--ag-background-color);\n}\n.ag-theme-quartz .ag-side-button.ag-selected:not(:first-of-type),\n.ag-theme-quartz-dark .ag-side-button.ag-selected:not(:first-of-type),\n.ag-theme-quartz-auto-dark .ag-side-button.ag-selected:not(:first-of-type) {\n border-top-color: var(--ag-border-color);\n}\n.ag-theme-quartz .ag-column-panel-column-select,\n.ag-theme-quartz-dark .ag-column-panel-column-select,\n.ag-theme-quartz-auto-dark .ag-column-panel-column-select {\n border-top: none;\n border-bottom: 1px solid var(--ag-secondary-border-color);\n}\n.ag-theme-quartz .ag-filter-toolpanel-search,\n.ag-theme-quartz-dark .ag-filter-toolpanel-search,\n.ag-theme-quartz-auto-dark .ag-filter-toolpanel-search {\n height: auto;\n height: initial;\n margin-top: var(--ag-widget-container-vertical-padding);\n}\n.ag-theme-quartz .ag-filter-toolpanel-search-input,\n.ag-theme-quartz-dark .ag-filter-toolpanel-search-input,\n.ag-theme-quartz-auto-dark .ag-filter-toolpanel-search-input {\n margin: 0;\n}\n.ag-theme-quartz .ag-filter-apply-panel,\n.ag-theme-quartz-dark .ag-filter-apply-panel,\n.ag-theme-quartz-auto-dark .ag-filter-apply-panel {\n border: none;\n padding-top: var(--ag-widget-vertical-spacing);\n}\n.ag-theme-quartz .ag-chart-tabbed-menu-body,\n.ag-theme-quartz-dark .ag-chart-tabbed-menu-body,\n.ag-theme-quartz-auto-dark .ag-chart-tabbed-menu-body {\n position: relative;\n}\n.ag-theme-quartz .ag-chart-tabbed-menu-body::after,\n.ag-theme-quartz-dark .ag-chart-tabbed-menu-body::after,\n.ag-theme-quartz-auto-dark .ag-chart-tabbed-menu-body::after {\n content: "";\n position: absolute;\n display: block;\n top: 0;\n left: 0;\n right: 0;\n height: 16px;\n background: linear-gradient(var(--ag-control-panel-background-color), transparent);\n}\n.ag-theme-quartz .ag-charts-settings-group-title-bar,\n.ag-theme-quartz .ag-charts-data-group-title-bar,\n.ag-theme-quartz .ag-charts-format-top-level-group-title-bar,\n.ag-theme-quartz .ag-charts-advanced-settings-top-level-group-title-bar,\n.ag-theme-quartz .ag-charts-settings-group-container,\n.ag-theme-quartz-dark .ag-charts-settings-group-title-bar,\n.ag-theme-quartz-dark .ag-charts-data-group-title-bar,\n.ag-theme-quartz-dark .ag-charts-format-top-level-group-title-bar,\n.ag-theme-quartz-dark .ag-charts-advanced-settings-top-level-group-title-bar,\n.ag-theme-quartz-dark .ag-charts-settings-group-container,\n.ag-theme-quartz-auto-dark .ag-charts-settings-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-charts-data-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-charts-advanced-settings-top-level-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-charts-settings-group-container {\n border-top: none;\n font-weight: 500;\n}\n.ag-theme-quartz .ag-chart-mini-thumbnail,\n.ag-theme-quartz-dark .ag-chart-mini-thumbnail,\n.ag-theme-quartz-auto-dark .ag-chart-mini-thumbnail {\n background-color: var(--ag-background-color);\n margin-top: 0;\n margin-bottom: 0;\n}\n.ag-theme-quartz .ag-chart-settings-nav-bar,\n.ag-theme-quartz-dark .ag-chart-settings-nav-bar,\n.ag-theme-quartz-auto-dark .ag-chart-settings-nav-bar {\n border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n}\n.ag-theme-quartz .ag-charts-format-sub-level-group-title-bar,\n.ag-theme-quartz-dark .ag-charts-format-sub-level-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-title-bar {\n background: none;\n font-weight: 500;\n}\n.ag-theme-quartz .ag-chart-data-section .ag-label:not(.ag-group-title-bar),\n.ag-theme-quartz .ag-chart-format-section .ag-label:not(.ag-group-title-bar),\n.ag-theme-quartz-dark .ag-chart-data-section .ag-label:not(.ag-group-title-bar),\n.ag-theme-quartz-dark .ag-chart-format-section .ag-label:not(.ag-group-title-bar),\n.ag-theme-quartz-auto-dark .ag-chart-data-section .ag-label:not(.ag-group-title-bar),\n.ag-theme-quartz-auto-dark .ag-chart-format-section .ag-label:not(.ag-group-title-bar) {\n color: var(--ag-chart-menu-label-color);\n}\n.ag-theme-quartz .ag-chart-data-section .ag-label-align-top .ag-label,\n.ag-theme-quartz .ag-chart-format-section .ag-label-align-top .ag-label,\n.ag-theme-quartz-dark .ag-chart-data-section .ag-label-align-top .ag-label,\n.ag-theme-quartz-dark .ag-chart-format-section .ag-label-align-top .ag-label,\n.ag-theme-quartz-auto-dark .ag-chart-data-section .ag-label-align-top .ag-label,\n.ag-theme-quartz-auto-dark .ag-chart-format-section .ag-label-align-top .ag-label {\n margin-top: calc(var(--ag-widget-vertical-spacing) * 0.5);\n margin-bottom: var(--ag-widget-vertical-spacing);\n}\n.ag-theme-quartz .ag-chart-data-section .ag-slider.ag-label-align-top .ag-label,\n.ag-theme-quartz .ag-chart-format-section .ag-slider.ag-label-align-top .ag-label,\n.ag-theme-quartz-dark .ag-chart-data-section .ag-slider.ag-label-align-top .ag-label,\n.ag-theme-quartz-dark .ag-chart-format-section .ag-slider.ag-label-align-top .ag-label,\n.ag-theme-quartz-auto-dark .ag-chart-data-section .ag-slider.ag-label-align-top .ag-label,\n.ag-theme-quartz-auto-dark .ag-chart-format-section .ag-slider.ag-label-align-top .ag-label {\n margin-bottom: 0;\n}\n.ag-theme-quartz .ag-chart-data-section label,\n.ag-theme-quartz .ag-chart-format-section label,\n.ag-theme-quartz-dark .ag-chart-data-section label,\n.ag-theme-quartz-dark .ag-chart-format-section label,\n.ag-theme-quartz-auto-dark .ag-chart-data-section label,\n.ag-theme-quartz-auto-dark .ag-chart-format-section label {\n display: inline-block;\n}\n.ag-theme-quartz .ag-chart-format-wrapper,\n.ag-theme-quartz .ag-chart-data-wrapper,\n.ag-theme-quartz .ag-charts-format-top-level-group,\n.ag-theme-quartz .ag-charts-format-top-level-group-title-bar,\n.ag-theme-quartz .ag-charts-format-top-level-group .ag-charts-format-top-level-group-container,\n.ag-theme-quartz .ag-charts-format-top-level-group-item,\n.ag-theme-quartz .ag-charts-format-sub-level-group,\n.ag-theme-quartz .ag-charts-format-sub-level-group-title-bar,\n.ag-theme-quartz .ag-charts-format-sub-level-group-container,\n.ag-theme-quartz .ag-charts-format-sub-level-group-item:last-child,\n.ag-theme-quartz .ag-charts-format-sub-level-group-container > *,\n.ag-theme-quartz .ag-charts-data-group-title-bar,\n.ag-theme-quartz .ag-charts-data-group-container,\n.ag-theme-quartz .ag-charts-settings-group-title-bar,\n.ag-theme-quartz .ag-charts-settings-group-container,\n.ag-theme-quartz-dark .ag-chart-format-wrapper,\n.ag-theme-quartz-dark .ag-chart-data-wrapper,\n.ag-theme-quartz-dark .ag-charts-format-top-level-group,\n.ag-theme-quartz-dark .ag-charts-format-top-level-group-title-bar,\n.ag-theme-quartz-dark .ag-charts-format-top-level-group .ag-charts-format-top-level-group-container,\n.ag-theme-quartz-dark .ag-charts-format-top-level-group-item,\n.ag-theme-quartz-dark .ag-charts-format-sub-level-group,\n.ag-theme-quartz-dark .ag-charts-format-sub-level-group-title-bar,\n.ag-theme-quartz-dark .ag-charts-format-sub-level-group-container,\n.ag-theme-quartz-dark .ag-charts-format-sub-level-group-item:last-child,\n.ag-theme-quartz-dark .ag-charts-format-sub-level-group-container > *,\n.ag-theme-quartz-dark .ag-charts-data-group-title-bar,\n.ag-theme-quartz-dark .ag-charts-data-group-container,\n.ag-theme-quartz-dark .ag-charts-settings-group-title-bar,\n.ag-theme-quartz-dark .ag-charts-settings-group-container,\n.ag-theme-quartz-auto-dark .ag-chart-format-wrapper,\n.ag-theme-quartz-auto-dark .ag-chart-data-wrapper,\n.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group,\n.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group .ag-charts-format-top-level-group-container,\n.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group-item,\n.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group,\n.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-container,\n.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-item:last-child,\n.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-container > *,\n.ag-theme-quartz-auto-dark .ag-charts-data-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-charts-data-group-container,\n.ag-theme-quartz-auto-dark .ag-charts-settings-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-charts-settings-group-container {\n padding: 0;\n margin: 0;\n}\n.ag-theme-quartz .ag-charts-format-top-level-group,\n.ag-theme-quartz .ag-charts-data-group,\n.ag-theme-quartz-dark .ag-charts-format-top-level-group,\n.ag-theme-quartz-dark .ag-charts-data-group,\n.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group,\n.ag-theme-quartz-auto-dark .ag-charts-data-group {\n border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n}\n.ag-theme-quartz .ag-charts-format-top-level-group-title-bar,\n.ag-theme-quartz .ag-charts-data-group-title-bar,\n.ag-theme-quartz .ag-charts-settings-group-title-bar,\n.ag-theme-quartz-dark .ag-charts-format-top-level-group-title-bar,\n.ag-theme-quartz-dark .ag-charts-data-group-title-bar,\n.ag-theme-quartz-dark .ag-charts-settings-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-charts-data-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-charts-settings-group-title-bar {\n padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);\n}\n.ag-theme-quartz .ag-charts-format-top-level-group .ag-charts-format-top-level-group-container,\n.ag-theme-quartz .ag-charts-data-group .ag-charts-data-group-container,\n.ag-theme-quartz .ag-charts-settings-group .ag-charts-settings-group-container,\n.ag-theme-quartz-dark .ag-charts-format-top-level-group .ag-charts-format-top-level-group-container,\n.ag-theme-quartz-dark .ag-charts-data-group .ag-charts-data-group-container,\n.ag-theme-quartz-dark .ag-charts-settings-group .ag-charts-settings-group-container,\n.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group .ag-charts-format-top-level-group-container,\n.ag-theme-quartz-auto-dark .ag-charts-data-group .ag-charts-data-group-container,\n.ag-theme-quartz-auto-dark .ag-charts-settings-group .ag-charts-settings-group-container {\n padding: 0 var(--ag-widget-container-horizontal-padding);\n}\n.ag-theme-quartz .ag-charts-format-sub-level-group-title-bar,\n.ag-theme-quartz-dark .ag-charts-format-sub-level-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-title-bar {\n padding: var(--ag-widget-vertical-spacing) 0;\n}\n.ag-theme-quartz .ag-charts-format-sub-level-group-container,\n.ag-theme-quartz-dark .ag-charts-format-sub-level-group-container,\n.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-container {\n padding-top: var(--ag-widget-vertical-spacing);\n padding-bottom: var(--ag-widget-container-vertical-padding);\n}\n.ag-theme-quartz .ag-charts-format-top-level-group-container > *,\n.ag-theme-quartz .ag-charts-format-sub-level-group-container > *,\n.ag-theme-quartz-dark .ag-charts-format-top-level-group-container > *,\n.ag-theme-quartz-dark .ag-charts-format-sub-level-group-container > *,\n.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group-container > *,\n.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-container > * {\n margin-bottom: var(--ag-widget-vertical-spacing);\n}\n.ag-theme-quartz .ag-charts-data-group-item,\n.ag-theme-quartz-dark .ag-charts-data-group-item,\n.ag-theme-quartz-auto-dark .ag-charts-data-group-item {\n padding-bottom: var(--ag-widget-container-vertical-padding);\n}\n.ag-theme-quartz .ag-chart-settings-mini-wrapper,\n.ag-theme-quartz-dark .ag-chart-settings-mini-wrapper,\n.ag-theme-quartz-auto-dark .ag-chart-settings-mini-wrapper {\n padding-bottom: var(--ag-widget-container-vertical-padding);\n}\n.ag-theme-quartz .ag-chart-advanced-settings-section,\n.ag-theme-quartz-dark .ag-chart-advanced-settings-section,\n.ag-theme-quartz-auto-dark .ag-chart-advanced-settings-section {\n padding-top: var(--ag-widget-container-vertical-padding);\n padding-bottom: var(--ag-widget-container-vertical-padding);\n}\n.ag-theme-quartz .ag-charts-advanced-settings-top-level-group .ag-charts-advanced-settings-top-level-group-title-bar,\n.ag-theme-quartz .ag-charts-advanced-settings-top-level-group .ag-charts-advanced-settings-top-level-group-container,\n.ag-theme-quartz-dark .ag-charts-advanced-settings-top-level-group .ag-charts-advanced-settings-top-level-group-title-bar,\n.ag-theme-quartz-dark .ag-charts-advanced-settings-top-level-group .ag-charts-advanced-settings-top-level-group-container,\n.ag-theme-quartz-auto-dark .ag-charts-advanced-settings-top-level-group .ag-charts-advanced-settings-top-level-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-charts-advanced-settings-top-level-group .ag-charts-advanced-settings-top-level-group-container {\n padding: 0 var(--ag-widget-container-horizontal-padding);\n}\n.ag-theme-quartz .ag-charts-advanced-settings-top-level-group-container,\n.ag-theme-quartz-dark .ag-charts-advanced-settings-top-level-group-container,\n.ag-theme-quartz-auto-dark .ag-charts-advanced-settings-top-level-group-container {\n margin: 0;\n}\n.ag-theme-quartz .ag-charts-advanced-settings-top-level-group-item,\n.ag-theme-quartz-dark .ag-charts-advanced-settings-top-level-group-item,\n.ag-theme-quartz-auto-dark .ag-charts-advanced-settings-top-level-group-item {\n margin-top: calc(var(--ag-widget-vertical-spacing) * 2);\n margin-bottom: 0;\n}\n.ag-theme-quartz .ag-ltr .ag-group-title-bar-icon, .ag-theme-quartz-dark .ag-ltr .ag-group-title-bar-icon, .ag-theme-quartz-auto-dark .ag-ltr .ag-group-title-bar-icon {\n margin-right: var(--ag-grid-size);\n}\n\n.ag-theme-quartz .ag-rtl .ag-group-title-bar-icon, .ag-theme-quartz-dark .ag-rtl .ag-group-title-bar-icon, .ag-theme-quartz-auto-dark .ag-rtl .ag-group-title-bar-icon {\n margin-left: var(--ag-grid-size);\n}\n\n.ag-theme-quartz .ag-spectrum-color,\n.ag-theme-quartz .ag-spectrum-fill,\n.ag-theme-quartz-dark .ag-spectrum-color,\n.ag-theme-quartz-dark .ag-spectrum-fill,\n.ag-theme-quartz-auto-dark .ag-spectrum-color,\n.ag-theme-quartz-auto-dark .ag-spectrum-fill {\n border-radius: var(--ag-border-radius);\n}\n.ag-theme-quartz .ag-spectrum-dragger,\n.ag-theme-quartz-dark .ag-spectrum-dragger,\n.ag-theme-quartz-auto-dark .ag-spectrum-dragger {\n border-radius: 18px;\n height: 18px;\n width: 18px;\n border: 3px solid white;\n}\n.ag-theme-quartz .ag-spectrum-tools,\n.ag-theme-quartz-dark .ag-spectrum-tools,\n.ag-theme-quartz-auto-dark .ag-spectrum-tools {\n padding-left: 0;\n padding-right: 0;\n padding-bottom: 0;\n}\n.ag-theme-quartz .ag-spectrum-tool,\n.ag-theme-quartz-dark .ag-spectrum-tool,\n.ag-theme-quartz-auto-dark .ag-spectrum-tool {\n height: 12px;\n}\n.ag-theme-quartz .ag-spectrum-hue-background,\n.ag-theme-quartz .ag-spectrum-alpha-background,\n.ag-theme-quartz-dark .ag-spectrum-hue-background,\n.ag-theme-quartz-dark .ag-spectrum-alpha-background,\n.ag-theme-quartz-auto-dark .ag-spectrum-hue-background,\n.ag-theme-quartz-auto-dark .ag-spectrum-alpha-background {\n border-radius: 12px;\n}\n.ag-theme-quartz .ag-spectrum-slider,\n.ag-theme-quartz-dark .ag-spectrum-slider,\n.ag-theme-quartz-auto-dark .ag-spectrum-slider {\n margin-top: -15px;\n width: 18px;\n height: 18px;\n border-radius: 18px;\n border: 3px solid rgb(248, 248, 248);\n}\n.ag-theme-quartz .ag-recent-colors,\n.ag-theme-quartz-dark .ag-recent-colors,\n.ag-theme-quartz-auto-dark .ag-recent-colors {\n margin-left: var(--ag-grid-size);\n margin-right: var(--ag-grid-size);\n margin-bottom: 2px;\n}\n.ag-theme-quartz .ag-color-input-color,\n.ag-theme-quartz .ag-color-picker-color,\n.ag-theme-quartz .ag-recent-color,\n.ag-theme-quartz-dark .ag-color-input-color,\n.ag-theme-quartz-dark .ag-color-picker-color,\n.ag-theme-quartz-dark .ag-recent-color,\n.ag-theme-quartz-auto-dark .ag-color-input-color,\n.ag-theme-quartz-auto-dark .ag-color-picker-color,\n.ag-theme-quartz-auto-dark .ag-recent-color {\n border-radius: 4px;\n}\n.ag-theme-quartz .ag-recent-color,\n.ag-theme-quartz-dark .ag-recent-color,\n.ag-theme-quartz-auto-dark .ag-recent-color {\n border: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n}\n.ag-theme-quartz.ag-dnd-ghost,\n.ag-theme-quartz-dark.ag-dnd-ghost,\n.ag-theme-quartz-auto-dark.ag-dnd-ghost {\n font-weight: 500;\n}\n.ag-theme-quartz .ag-standard-button,\n.ag-theme-quartz-dark .ag-standard-button,\n.ag-theme-quartz-auto-dark .ag-standard-button {\n font-family: inherit;\n -moz-appearance: none;\n appearance: none;\n -webkit-appearance: none;\n border-radius: var(--ag-border-radius);\n border: solid 1px var(--ag-input-border-color);\n background-color: var(--ag-background-color);\n padding: var(--ag-grid-size) calc(var(--ag-grid-size) * 2);\n cursor: pointer;\n}\n.ag-theme-quartz .ag-standard-button:hover,\n.ag-theme-quartz-dark .ag-standard-button:hover,\n.ag-theme-quartz-auto-dark .ag-standard-button:hover {\n background-color: var(--ag-row-hover-color);\n}\n.ag-theme-quartz .ag-standard-button:active,\n.ag-theme-quartz-dark .ag-standard-button:active,\n.ag-theme-quartz-auto-dark .ag-standard-button:active {\n border-color: var(--ag-active-color);\n}\n.ag-theme-quartz .ag-standard-button:disabled,\n.ag-theme-quartz-dark .ag-standard-button:disabled,\n.ag-theme-quartz-auto-dark .ag-standard-button:disabled {\n color: var(--ag-disabled-foreground-color);\n background-color: var(--ag-input-disabled-background-color);\n border-color: var(--ag-input-disabled-border-color);\n}\n.ag-theme-quartz .ag-column-drop-cell,\n.ag-theme-quartz-dark .ag-column-drop-cell,\n.ag-theme-quartz-auto-dark .ag-column-drop-cell {\n border-radius: calc(var(--ag-grid-size) * 3);\n height: calc(var(--ag-grid-size) * 3);\n padding: 0 var(--ag-grid-size);\n}\n.ag-theme-quartz .ag-column-drop-cell-button,\n.ag-theme-quartz-dark .ag-column-drop-cell-button,\n.ag-theme-quartz-auto-dark .ag-column-drop-cell-button {\n min-width: 0;\n margin: 0;\n}\n.ag-theme-quartz .ag-column-drop-cell-drag-handle,\n.ag-theme-quartz-dark .ag-column-drop-cell-drag-handle,\n.ag-theme-quartz-auto-dark .ag-column-drop-cell-drag-handle {\n margin-left: 0;\n}\n.ag-theme-quartz .ag-column-drop-vertical,\n.ag-theme-quartz-dark .ag-column-drop-vertical,\n.ag-theme-quartz-auto-dark .ag-column-drop-vertical {\n min-height: 75px;\n}\n.ag-theme-quartz .ag-column-drop-vertical-title-bar,\n.ag-theme-quartz-dark .ag-column-drop-vertical-title-bar,\n.ag-theme-quartz-auto-dark .ag-column-drop-vertical-title-bar {\n padding: var(--ag-widget-container-vertical-padding) calc(var(--ag-grid-size) * 2) 0;\n}\n.ag-theme-quartz .ag-ltr .ag-column-drop-vertical-icon, .ag-theme-quartz-dark .ag-ltr .ag-column-drop-vertical-icon, .ag-theme-quartz-auto-dark .ag-ltr .ag-column-drop-vertical-icon {\n margin-left: 0;\n margin-right: var(--ag-widget-horizontal-spacing);\n}\n\n.ag-theme-quartz .ag-rtl .ag-column-drop-vertical-icon, .ag-theme-quartz-dark .ag-rtl .ag-column-drop-vertical-icon, .ag-theme-quartz-auto-dark .ag-rtl .ag-column-drop-vertical-icon {\n margin-right: 0;\n margin-left: var(--ag-widget-horizontal-spacing);\n}\n\n.ag-theme-quartz .ag-column-drop-vertical-empty-message,\n.ag-theme-quartz-dark .ag-column-drop-vertical-empty-message,\n.ag-theme-quartz-auto-dark .ag-column-drop-vertical-empty-message {\n display: flex;\n align-items: center;\n justify-content: center;\n border: dashed 1px;\n border-color: var(--ag-border-color);\n margin: calc(var(--ag-grid-size) * 1.5) calc(var(--ag-grid-size) * 2);\n padding: calc(var(--ag-grid-size) * 2);\n}\n.ag-theme-quartz .ag-column-drop-empty-message,\n.ag-theme-quartz-dark .ag-column-drop-empty-message,\n.ag-theme-quartz-auto-dark .ag-column-drop-empty-message {\n color: var(--ag-foreground-color);\n}\n.ag-theme-quartz .ag-pill-select .ag-column-drop,\n.ag-theme-quartz-dark .ag-pill-select .ag-column-drop,\n.ag-theme-quartz-auto-dark .ag-pill-select .ag-column-drop {\n min-height: 0;\n min-height: initial;\n}\n.ag-theme-quartz .ag-pill-select .ag-picker-field-display,\n.ag-theme-quartz-dark .ag-pill-select .ag-picker-field-display,\n.ag-theme-quartz-auto-dark .ag-pill-select .ag-picker-field-display {\n font-weight: 500;\n color: var(--ag-chart-menu-pill-select-button-color);\n}\n.ag-theme-quartz .ag-pill-select .ag-picker-field-icon .ag-icon,\n.ag-theme-quartz-dark .ag-pill-select .ag-picker-field-icon .ag-icon,\n.ag-theme-quartz-auto-dark .ag-pill-select .ag-picker-field-icon .ag-icon {\n color: var(--ag-chart-menu-pill-select-button-color);\n}\n.ag-theme-quartz .ag-status-bar,\n.ag-theme-quartz-dark .ag-status-bar,\n.ag-theme-quartz-auto-dark .ag-status-bar {\n font-weight: normal;\n}\n.ag-theme-quartz .ag-status-name-value,\n.ag-theme-quartz-dark .ag-status-name-value,\n.ag-theme-quartz-auto-dark .ag-status-name-value {\n padding: var(--ag-widget-container-vertical-padding) 0;\n}\n.ag-theme-quartz .ag-status-name-value-value,\n.ag-theme-quartz .ag-paging-number,\n.ag-theme-quartz .ag-paging-row-summary-panel-number,\n.ag-theme-quartz-dark .ag-status-name-value-value,\n.ag-theme-quartz-dark .ag-paging-number,\n.ag-theme-quartz-dark .ag-paging-row-summary-panel-number,\n.ag-theme-quartz-auto-dark .ag-status-name-value-value,\n.ag-theme-quartz-auto-dark .ag-paging-number,\n.ag-theme-quartz-auto-dark .ag-paging-row-summary-panel-number {\n font-weight: 500;\n}\n.ag-theme-quartz .ag-column-drop-cell-button,\n.ag-theme-quartz-dark .ag-column-drop-cell-button,\n.ag-theme-quartz-auto-dark .ag-column-drop-cell-button {\n opacity: 0.75;\n}\n.ag-theme-quartz .ag-column-drop-cell-button:hover,\n.ag-theme-quartz-dark .ag-column-drop-cell-button:hover,\n.ag-theme-quartz-auto-dark .ag-column-drop-cell-button:hover {\n opacity: 1;\n}\n.ag-theme-quartz .ag-header-cell-menu-button,\n.ag-theme-quartz .ag-header-cell-filter-button,\n.ag-theme-quartz .ag-panel-title-bar-button,\n.ag-theme-quartz .ag-header-expand-icon,\n.ag-theme-quartz .ag-column-group-icons,\n.ag-theme-quartz .ag-set-filter-group-icons,\n.ag-theme-quartz .ag-group-expanded .ag-icon,\n.ag-theme-quartz .ag-group-contracted .ag-icon,\n.ag-theme-quartz .ag-chart-settings-prev,\n.ag-theme-quartz .ag-chart-settings-next,\n.ag-theme-quartz .ag-group-title-bar-icon,\n.ag-theme-quartz .ag-column-select-header-icon,\n.ag-theme-quartz .ag-floating-filter-button-button,\n.ag-theme-quartz .ag-filter-toolpanel-expand,\n.ag-theme-quartz .ag-panel-title-bar-button-icon,\n.ag-theme-quartz .ag-chart-menu-icon,\n.ag-theme-quartz-dark .ag-header-cell-menu-button,\n.ag-theme-quartz-dark .ag-header-cell-filter-button,\n.ag-theme-quartz-dark .ag-panel-title-bar-button,\n.ag-theme-quartz-dark .ag-header-expand-icon,\n.ag-theme-quartz-dark .ag-column-group-icons,\n.ag-theme-quartz-dark .ag-set-filter-group-icons,\n.ag-theme-quartz-dark .ag-group-expanded .ag-icon,\n.ag-theme-quartz-dark .ag-group-contracted .ag-icon,\n.ag-theme-quartz-dark .ag-chart-settings-prev,\n.ag-theme-quartz-dark .ag-chart-settings-next,\n.ag-theme-quartz-dark .ag-group-title-bar-icon,\n.ag-theme-quartz-dark .ag-column-select-header-icon,\n.ag-theme-quartz-dark .ag-floating-filter-button-button,\n.ag-theme-quartz-dark .ag-filter-toolpanel-expand,\n.ag-theme-quartz-dark .ag-panel-title-bar-button-icon,\n.ag-theme-quartz-dark .ag-chart-menu-icon,\n.ag-theme-quartz-auto-dark .ag-header-cell-menu-button,\n.ag-theme-quartz-auto-dark .ag-header-cell-filter-button,\n.ag-theme-quartz-auto-dark .ag-panel-title-bar-button,\n.ag-theme-quartz-auto-dark .ag-header-expand-icon,\n.ag-theme-quartz-auto-dark .ag-column-group-icons,\n.ag-theme-quartz-auto-dark .ag-set-filter-group-icons,\n.ag-theme-quartz-auto-dark .ag-group-expanded .ag-icon,\n.ag-theme-quartz-auto-dark .ag-group-contracted .ag-icon,\n.ag-theme-quartz-auto-dark .ag-chart-settings-prev,\n.ag-theme-quartz-auto-dark .ag-chart-settings-next,\n.ag-theme-quartz-auto-dark .ag-group-title-bar-icon,\n.ag-theme-quartz-auto-dark .ag-column-select-header-icon,\n.ag-theme-quartz-auto-dark .ag-floating-filter-button-button,\n.ag-theme-quartz-auto-dark .ag-filter-toolpanel-expand,\n.ag-theme-quartz-auto-dark .ag-panel-title-bar-button-icon,\n.ag-theme-quartz-auto-dark .ag-chart-menu-icon {\n --ag-quartz-icon-hover-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);\n}\n.ag-theme-quartz .ag-header-cell-menu-button:hover,\n.ag-theme-quartz .ag-header-cell-filter-button:hover,\n.ag-theme-quartz .ag-panel-title-bar-button:hover,\n.ag-theme-quartz .ag-header-expand-icon:hover,\n.ag-theme-quartz .ag-column-group-icons:hover,\n.ag-theme-quartz .ag-set-filter-group-icons:hover,\n.ag-theme-quartz .ag-group-expanded .ag-icon:hover,\n.ag-theme-quartz .ag-group-contracted .ag-icon:hover,\n.ag-theme-quartz .ag-chart-settings-prev:hover,\n.ag-theme-quartz .ag-chart-settings-next:hover,\n.ag-theme-quartz .ag-group-title-bar-icon:hover,\n.ag-theme-quartz .ag-column-select-header-icon:hover,\n.ag-theme-quartz .ag-floating-filter-button-button:hover,\n.ag-theme-quartz .ag-filter-toolpanel-expand:hover,\n.ag-theme-quartz .ag-panel-title-bar-button-icon:hover,\n.ag-theme-quartz .ag-chart-menu-icon:hover,\n.ag-theme-quartz-dark .ag-header-cell-menu-button:hover,\n.ag-theme-quartz-dark .ag-header-cell-filter-button:hover,\n.ag-theme-quartz-dark .ag-panel-title-bar-button:hover,\n.ag-theme-quartz-dark .ag-header-expand-icon:hover,\n.ag-theme-quartz-dark .ag-column-group-icons:hover,\n.ag-theme-quartz-dark .ag-set-filter-group-icons:hover,\n.ag-theme-quartz-dark .ag-group-expanded .ag-icon:hover,\n.ag-theme-quartz-dark .ag-group-contracted .ag-icon:hover,\n.ag-theme-quartz-dark .ag-chart-settings-prev:hover,\n.ag-theme-quartz-dark .ag-chart-settings-next:hover,\n.ag-theme-quartz-dark .ag-group-title-bar-icon:hover,\n.ag-theme-quartz-dark .ag-column-select-header-icon:hover,\n.ag-theme-quartz-dark .ag-floating-filter-button-button:hover,\n.ag-theme-quartz-dark .ag-filter-toolpanel-expand:hover,\n.ag-theme-quartz-dark .ag-panel-title-bar-button-icon:hover,\n.ag-theme-quartz-dark .ag-chart-menu-icon:hover,\n.ag-theme-quartz-auto-dark .ag-header-cell-menu-button:hover,\n.ag-theme-quartz-auto-dark .ag-header-cell-filter-button:hover,\n.ag-theme-quartz-auto-dark .ag-panel-title-bar-button:hover,\n.ag-theme-quartz-auto-dark .ag-header-expand-icon:hover,\n.ag-theme-quartz-auto-dark .ag-column-group-icons:hover,\n.ag-theme-quartz-auto-dark .ag-set-filter-group-icons:hover,\n.ag-theme-quartz-auto-dark .ag-group-expanded .ag-icon:hover,\n.ag-theme-quartz-auto-dark .ag-group-contracted .ag-icon:hover,\n.ag-theme-quartz-auto-dark .ag-chart-settings-prev:hover,\n.ag-theme-quartz-auto-dark .ag-chart-settings-next:hover,\n.ag-theme-quartz-auto-dark .ag-group-title-bar-icon:hover,\n.ag-theme-quartz-auto-dark .ag-column-select-header-icon:hover,\n.ag-theme-quartz-auto-dark .ag-floating-filter-button-button:hover,\n.ag-theme-quartz-auto-dark .ag-filter-toolpanel-expand:hover,\n.ag-theme-quartz-auto-dark .ag-panel-title-bar-button-icon:hover,\n.ag-theme-quartz-auto-dark .ag-chart-menu-icon:hover {\n border-radius: 1px;\n background-color: var(--ag-quartz-icon-hover-color);\n box-shadow: 0 0 0 4px var(--ag-quartz-icon-hover-color);\n}\n.ag-theme-quartz .ag-filter-active,\n.ag-theme-quartz-dark .ag-filter-active,\n.ag-theme-quartz-auto-dark .ag-filter-active {\n --ag-quartz-icon-active-color: color-mix(in srgb, transparent, var(--ag-active-color) 14%);\n --ag-quartz-icon-hover-color: color-mix(in srgb, transparent, var(--ag-active-color) 28%);\n position: relative;\n border-radius: 1px;\n background-color: var(--ag-quartz-icon-active-color);\n box-shadow: 0 0 0 4px var(--ag-quartz-icon-active-color);\n}\n.ag-theme-quartz .ag-filter-active::after,\n.ag-theme-quartz-dark .ag-filter-active::after,\n.ag-theme-quartz-auto-dark .ag-filter-active::after {\n content: "";\n position: absolute;\n width: 6px;\n height: 6px;\n top: -1px;\n right: -1px;\n border-radius: 50%;\n background-color: var(--ag-active-color);\n}\n.ag-theme-quartz .ag-filter-active .ag-icon-filter,\n.ag-theme-quartz-dark .ag-filter-active .ag-icon-filter,\n.ag-theme-quartz-auto-dark .ag-filter-active .ag-icon-filter {\n clip-path: path("M8,0C8,4.415 11.585,8 16,8L16,16L0,16L0,0L8,0Z");\n}\n.ag-theme-quartz .ag-chart-menu,\n.ag-theme-quartz-dark .ag-chart-menu,\n.ag-theme-quartz-auto-dark .ag-chart-menu {\n --ag-icon-size: 20px;\n background-color: color-mix(in srgb, transparent, var(--ag-background-color) 30%);\n padding: 4px 2px;\n}\n.ag-theme-quartz .ag-chart-menu-icon,\n.ag-theme-quartz-dark .ag-chart-menu-icon,\n.ag-theme-quartz-auto-dark .ag-chart-menu-icon {\n opacity: 0.8;\n}\n.ag-theme-quartz .ag-drag-handle,\n.ag-theme-quartz-dark .ag-drag-handle,\n.ag-theme-quartz-auto-dark .ag-drag-handle {\n color: var(--ag-icon-font-color);\n}\n.ag-theme-quartz .ag-menu-option-icon,\n.ag-theme-quartz .ag-compact-menu-option-icon,\n.ag-theme-quartz-dark .ag-menu-option-icon,\n.ag-theme-quartz-dark .ag-compact-menu-option-icon,\n.ag-theme-quartz-auto-dark .ag-menu-option-icon,\n.ag-theme-quartz-auto-dark .ag-compact-menu-option-icon {\n width: var(--ag-icon-size);\n cursor: pointer;\n}\n.ag-theme-quartz .ag-ltr .ag-menu-option-icon, .ag-theme-quartz .ag-ltr .ag-compact-menu-option-icon, .ag-theme-quartz-dark .ag-ltr .ag-menu-option-icon, .ag-theme-quartz-dark .ag-ltr .ag-compact-menu-option-icon, .ag-theme-quartz-auto-dark .ag-ltr .ag-menu-option-icon, .ag-theme-quartz-auto-dark .ag-ltr .ag-compact-menu-option-icon {\n padding-left: calc(var(--ag-grid-size) * 1.5);\n}\n\n.ag-theme-quartz .ag-rtl .ag-menu-option-icon, .ag-theme-quartz .ag-rtl .ag-compact-menu-option-icon, .ag-theme-quartz-dark .ag-rtl .ag-menu-option-icon, .ag-theme-quartz-dark .ag-rtl .ag-compact-menu-option-icon, .ag-theme-quartz-auto-dark .ag-rtl .ag-menu-option-icon, .ag-theme-quartz-auto-dark .ag-rtl .ag-compact-menu-option-icon {\n padding-right: calc(var(--ag-grid-size) * 1.5);\n}\n\n.ag-theme-quartz .ag-chart-settings-card-item.ag-not-selected:hover,\n.ag-theme-quartz-dark .ag-chart-settings-card-item.ag-not-selected:hover,\n.ag-theme-quartz-auto-dark .ag-chart-settings-card-item.ag-not-selected:hover {\n opacity: 0.35;\n}\n.ag-theme-quartz .ag-ltr .ag-panel-title-bar-button, .ag-theme-quartz-dark .ag-ltr .ag-panel-title-bar-button, .ag-theme-quartz-auto-dark .ag-ltr .ag-panel-title-bar-button {\n margin-left: calc(var(--ag-grid-size) * 2);\n margin-right: var(--ag-grid-size);\n}\n\n.ag-theme-quartz .ag-rtl .ag-panel-title-bar-button, .ag-theme-quartz-dark .ag-rtl .ag-panel-title-bar-button, .ag-theme-quartz-auto-dark .ag-rtl .ag-panel-title-bar-button {\n margin-right: calc(var(--ag-grid-size) * 2);\n margin-left: var(--ag-grid-size);\n}\n\n.ag-theme-quartz .ag-multi-filter-group-title-bar,\n.ag-theme-quartz-dark .ag-multi-filter-group-title-bar,\n.ag-theme-quartz-auto-dark .ag-multi-filter-group-title-bar {\n padding: calc(var(--ag-grid-size) * 1.5) var(--ag-grid-size);\n}\n.ag-theme-quartz .ag-ltr .ag-filter-toolpanel-instance-body, .ag-theme-quartz-dark .ag-ltr .ag-filter-toolpanel-instance-body, .ag-theme-quartz-auto-dark .ag-ltr .ag-filter-toolpanel-instance-body {\n padding-left: var(--ag-grid-size);\n}\n\n.ag-theme-quartz .ag-rtl .ag-filter-toolpanel-instance-body, .ag-theme-quartz-dark .ag-rtl .ag-filter-toolpanel-instance-body, .ag-theme-quartz-auto-dark .ag-rtl .ag-filter-toolpanel-instance-body {\n padding-right: var(--ag-grid-size);\n}\n\n.ag-theme-quartz .ag-filter-toolpanel-instance-filter,\n.ag-theme-quartz-dark .ag-filter-toolpanel-instance-filter,\n.ag-theme-quartz-auto-dark .ag-filter-toolpanel-instance-filter {\n border: none;\n background-color: var(--ag-control-panel-background-color);\n}\n.ag-theme-quartz .ag-ltr .ag-filter-toolpanel-instance-filter, .ag-theme-quartz-dark .ag-ltr .ag-filter-toolpanel-instance-filter, .ag-theme-quartz-auto-dark .ag-ltr .ag-filter-toolpanel-instance-filter {\n margin-left: calc(var(--ag-icon-size) * 0.5);\n}\n\n.ag-theme-quartz .ag-rtl .ag-filter-toolpanel-instance-filter, .ag-theme-quartz-dark .ag-rtl .ag-filter-toolpanel-instance-filter, .ag-theme-quartz-auto-dark .ag-rtl .ag-filter-toolpanel-instance-filter {\n margin-right: calc(var(--ag-icon-size) * 0.5);\n}\n\n.ag-theme-quartz .ag-filter-toolpanel-group-level-0,\n.ag-theme-quartz-dark .ag-filter-toolpanel-group-level-0,\n.ag-theme-quartz-auto-dark .ag-filter-toolpanel-group-level-0 {\n border-top: none;\n}\n.ag-theme-quartz .ag-filter-toolpanel-header,\n.ag-theme-quartz-dark .ag-filter-toolpanel-header,\n.ag-theme-quartz-auto-dark .ag-filter-toolpanel-header {\n height: auto;\n height: initial;\n padding-top: var(--ag-grid-size);\n padding-bottom: var(--ag-grid-size);\n}\n.ag-theme-quartz .ag-filter-toolpanel-group-item,\n.ag-theme-quartz-dark .ag-filter-toolpanel-group-item,\n.ag-theme-quartz-auto-dark .ag-filter-toolpanel-group-item {\n margin: 0;\n}\n.ag-theme-quartz .ag-layout-auto-height .ag-center-cols-viewport,\n.ag-theme-quartz .ag-layout-auto-height .ag-center-cols-container,\n.ag-theme-quartz .ag-layout-print .ag-center-cols-viewport,\n.ag-theme-quartz .ag-layout-print .ag-center-cols-container,\n.ag-theme-quartz-dark .ag-layout-auto-height .ag-center-cols-viewport,\n.ag-theme-quartz-dark .ag-layout-auto-height .ag-center-cols-container,\n.ag-theme-quartz-dark .ag-layout-print .ag-center-cols-viewport,\n.ag-theme-quartz-dark .ag-layout-print .ag-center-cols-container,\n.ag-theme-quartz-auto-dark .ag-layout-auto-height .ag-center-cols-viewport,\n.ag-theme-quartz-auto-dark .ag-layout-auto-height .ag-center-cols-container,\n.ag-theme-quartz-auto-dark .ag-layout-print .ag-center-cols-viewport,\n.ag-theme-quartz-auto-dark .ag-layout-print .ag-center-cols-container {\n min-height: 150px;\n}\n.ag-theme-quartz .ag-overlay-no-rows-wrapper.ag-layout-auto-height,\n.ag-theme-quartz-dark .ag-overlay-no-rows-wrapper.ag-layout-auto-height,\n.ag-theme-quartz-auto-dark .ag-overlay-no-rows-wrapper.ag-layout-auto-height {\n padding-top: 60px;\n}\n.ag-theme-quartz .ag-date-time-list-page-entry-is-current,\n.ag-theme-quartz-dark .ag-date-time-list-page-entry-is-current,\n.ag-theme-quartz-auto-dark .ag-date-time-list-page-entry-is-current {\n background-color: var(--ag-active-color);\n}\n.ag-theme-quartz .ag-advanced-filter-builder-button,\n.ag-theme-quartz-dark .ag-advanced-filter-builder-button,\n.ag-theme-quartz-auto-dark .ag-advanced-filter-builder-button {\n padding: var(--ag-grid-size);\n font-weight: 600;\n}\n.ag-theme-quartz .ag-advanced-filter-builder-item-button-disabled .ag-icon,\n.ag-theme-quartz .ag-disabled .ag-icon,\n.ag-theme-quartz .ag-column-select-column-group-readonly .ag-icon,\n.ag-theme-quartz [disabled] .ag-icon,\n.ag-theme-quartz-dark .ag-advanced-filter-builder-item-button-disabled .ag-icon,\n.ag-theme-quartz-dark .ag-disabled .ag-icon,\n.ag-theme-quartz-dark .ag-column-select-column-group-readonly .ag-icon,\n.ag-theme-quartz-dark [disabled] .ag-icon,\n.ag-theme-quartz-auto-dark .ag-advanced-filter-builder-item-button-disabled .ag-icon,\n.ag-theme-quartz-auto-dark .ag-disabled .ag-icon,\n.ag-theme-quartz-auto-dark .ag-column-select-column-group-readonly .ag-icon,\n.ag-theme-quartz-auto-dark [disabled] .ag-icon {\n opacity: 0.6;\n}\n.ag-theme-quartz .ag-icon-grip,\n.ag-theme-quartz-dark .ag-icon-grip,\n.ag-theme-quartz-auto-dark .ag-icon-grip {\n opacity: 0.7;\n}\n.ag-theme-quartz .ag-column-select-column-readonly.ag-icon-grip,\n.ag-theme-quartz .ag-column-select-column-readonly .ag-icon-grip,\n.ag-theme-quartz-dark .ag-column-select-column-readonly.ag-icon-grip,\n.ag-theme-quartz-dark .ag-column-select-column-readonly .ag-icon-grip,\n.ag-theme-quartz-auto-dark .ag-column-select-column-readonly.ag-icon-grip,\n.ag-theme-quartz-auto-dark .ag-column-select-column-readonly .ag-icon-grip {\n opacity: 0.35;\n}\n.ag-theme-quartz .ag-column-select-header-filter-wrapper .ag-input-wrapper::before,\n.ag-theme-quartz .ag-filter-toolpanel-search .ag-input-wrapper::before,\n.ag-theme-quartz .ag-mini-filter .ag-input-wrapper::before,\n.ag-theme-quartz .ag-filter-filter .ag-input-wrapper::before,\n.ag-theme-quartz-dark .ag-column-select-header-filter-wrapper .ag-input-wrapper::before,\n.ag-theme-quartz-dark .ag-filter-toolpanel-search .ag-input-wrapper::before,\n.ag-theme-quartz-dark .ag-mini-filter .ag-input-wrapper::before,\n.ag-theme-quartz-dark .ag-filter-filter .ag-input-wrapper::before,\n.ag-theme-quartz-auto-dark .ag-column-select-header-filter-wrapper .ag-input-wrapper::before,\n.ag-theme-quartz-auto-dark .ag-filter-toolpanel-search .ag-input-wrapper::before,\n.ag-theme-quartz-auto-dark .ag-mini-filter .ag-input-wrapper::before,\n.ag-theme-quartz-auto-dark .ag-filter-filter .ag-input-wrapper::before {\n position: absolute;\n display: block;\n width: 12px;\n height: 12px;\n background-image: url('+g+');\n background-position: 50% 50%;\n background-size: contain;\n opacity: 0.4;\n content: "";\n filter: var(--ag-icon-filter);\n}\n.ag-theme-quartz .ag-ltr .ag-column-select-header-filter-wrapper .ag-input-wrapper::before, .ag-theme-quartz .ag-ltr .ag-filter-toolpanel-search .ag-input-wrapper::before, .ag-theme-quartz .ag-ltr .ag-mini-filter .ag-input-wrapper::before, .ag-theme-quartz .ag-ltr .ag-filter-filter .ag-input-wrapper::before, .ag-theme-quartz-dark .ag-ltr .ag-column-select-header-filter-wrapper .ag-input-wrapper::before, .ag-theme-quartz-dark .ag-ltr .ag-filter-toolpanel-search .ag-input-wrapper::before, .ag-theme-quartz-dark .ag-ltr .ag-mini-filter .ag-input-wrapper::before, .ag-theme-quartz-dark .ag-ltr .ag-filter-filter .ag-input-wrapper::before, .ag-theme-quartz-auto-dark .ag-ltr .ag-column-select-header-filter-wrapper .ag-input-wrapper::before, .ag-theme-quartz-auto-dark .ag-ltr .ag-filter-toolpanel-search .ag-input-wrapper::before, .ag-theme-quartz-auto-dark .ag-ltr .ag-mini-filter .ag-input-wrapper::before, .ag-theme-quartz-auto-dark .ag-ltr .ag-filter-filter .ag-input-wrapper::before {\n margin-left: var(--ag-grid-size);\n}\n\n.ag-theme-quartz .ag-rtl .ag-column-select-header-filter-wrapper .ag-input-wrapper::before, .ag-theme-quartz .ag-rtl .ag-filter-toolpanel-search .ag-input-wrapper::before, .ag-theme-quartz .ag-rtl .ag-mini-filter .ag-input-wrapper::before, .ag-theme-quartz .ag-rtl .ag-filter-filter .ag-input-wrapper::before, .ag-theme-quartz-dark .ag-rtl .ag-column-select-header-filter-wrapper .ag-input-wrapper::before, .ag-theme-quartz-dark .ag-rtl .ag-filter-toolpanel-search .ag-input-wrapper::before, .ag-theme-quartz-dark .ag-rtl .ag-mini-filter .ag-input-wrapper::before, .ag-theme-quartz-dark .ag-rtl .ag-filter-filter .ag-input-wrapper::before, .ag-theme-quartz-auto-dark .ag-rtl .ag-column-select-header-filter-wrapper .ag-input-wrapper::before, .ag-theme-quartz-auto-dark .ag-rtl .ag-filter-toolpanel-search .ag-input-wrapper::before, .ag-theme-quartz-auto-dark .ag-rtl .ag-mini-filter .ag-input-wrapper::before, .ag-theme-quartz-auto-dark .ag-rtl .ag-filter-filter .ag-input-wrapper::before {\n margin-right: var(--ag-grid-size);\n}\n\n.ag-theme-quartz .ag-ltr .ag-column-select-header-filter-wrapper input.ag-text-field-input, .ag-theme-quartz .ag-ltr .ag-column-select-header-filter-wrapper input.ag-number-field-input, .ag-theme-quartz .ag-ltr .ag-filter-toolpanel-search input.ag-text-field-input, .ag-theme-quartz .ag-ltr .ag-filter-toolpanel-search input.ag-number-field-input, .ag-theme-quartz .ag-ltr .ag-mini-filter input.ag-text-field-input, .ag-theme-quartz .ag-ltr .ag-mini-filter input.ag-number-field-input, .ag-theme-quartz .ag-ltr .ag-filter-filter input.ag-text-field-input, .ag-theme-quartz .ag-ltr .ag-filter-filter input.ag-number-field-input, .ag-theme-quartz-dark .ag-ltr .ag-column-select-header-filter-wrapper input.ag-text-field-input, .ag-theme-quartz-dark .ag-ltr .ag-column-select-header-filter-wrapper input.ag-number-field-input, .ag-theme-quartz-dark .ag-ltr .ag-filter-toolpanel-search input.ag-text-field-input, .ag-theme-quartz-dark .ag-ltr .ag-filter-toolpanel-search input.ag-number-field-input, .ag-theme-quartz-dark .ag-ltr .ag-mini-filter input.ag-text-field-input, .ag-theme-quartz-dark .ag-ltr .ag-mini-filter input.ag-number-field-input, .ag-theme-quartz-dark .ag-ltr .ag-filter-filter input.ag-text-field-input, .ag-theme-quartz-dark .ag-ltr .ag-filter-filter input.ag-number-field-input, .ag-theme-quartz-auto-dark .ag-ltr .ag-column-select-header-filter-wrapper input.ag-text-field-input, .ag-theme-quartz-auto-dark .ag-ltr .ag-column-select-header-filter-wrapper input.ag-number-field-input, .ag-theme-quartz-auto-dark .ag-ltr .ag-filter-toolpanel-search input.ag-text-field-input, .ag-theme-quartz-auto-dark .ag-ltr .ag-filter-toolpanel-search input.ag-number-field-input, .ag-theme-quartz-auto-dark .ag-ltr .ag-mini-filter input.ag-text-field-input, .ag-theme-quartz-auto-dark .ag-ltr .ag-mini-filter input.ag-number-field-input, .ag-theme-quartz-auto-dark .ag-ltr .ag-filter-filter input.ag-text-field-input, .ag-theme-quartz-auto-dark .ag-ltr .ag-filter-filter input.ag-number-field-input {\n padding-left: 26px;\n}\n\n.ag-theme-quartz .ag-rtl .ag-column-select-header-filter-wrapper input.ag-text-field-input, .ag-theme-quartz .ag-rtl .ag-column-select-header-filter-wrapper input.ag-number-field-input, .ag-theme-quartz .ag-rtl .ag-filter-toolpanel-search input.ag-text-field-input, .ag-theme-quartz .ag-rtl .ag-filter-toolpanel-search input.ag-number-field-input, .ag-theme-quartz .ag-rtl .ag-mini-filter input.ag-text-field-input, .ag-theme-quartz .ag-rtl .ag-mini-filter input.ag-number-field-input, .ag-theme-quartz .ag-rtl .ag-filter-filter input.ag-text-field-input, .ag-theme-quartz .ag-rtl .ag-filter-filter input.ag-number-field-input, .ag-theme-quartz-dark .ag-rtl .ag-column-select-header-filter-wrapper input.ag-text-field-input, .ag-theme-quartz-dark .ag-rtl .ag-column-select-header-filter-wrapper input.ag-number-field-input, .ag-theme-quartz-dark .ag-rtl .ag-filter-toolpanel-search input.ag-text-field-input, .ag-theme-quartz-dark .ag-rtl .ag-filter-toolpanel-search input.ag-number-field-input, .ag-theme-quartz-dark .ag-rtl .ag-mini-filter input.ag-text-field-input, .ag-theme-quartz-dark .ag-rtl .ag-mini-filter input.ag-number-field-input, .ag-theme-quartz-dark .ag-rtl .ag-filter-filter input.ag-text-field-input, .ag-theme-quartz-dark .ag-rtl .ag-filter-filter input.ag-number-field-input, .ag-theme-quartz-auto-dark .ag-rtl .ag-column-select-header-filter-wrapper input.ag-text-field-input, .ag-theme-quartz-auto-dark .ag-rtl .ag-column-select-header-filter-wrapper input.ag-number-field-input, .ag-theme-quartz-auto-dark .ag-rtl .ag-filter-toolpanel-search input.ag-text-field-input, .ag-theme-quartz-auto-dark .ag-rtl .ag-filter-toolpanel-search input.ag-number-field-input, .ag-theme-quartz-auto-dark .ag-rtl .ag-mini-filter input.ag-text-field-input, .ag-theme-quartz-auto-dark .ag-rtl .ag-mini-filter input.ag-number-field-input, .ag-theme-quartz-auto-dark .ag-rtl .ag-filter-filter input.ag-text-field-input, .ag-theme-quartz-auto-dark .ag-rtl .ag-filter-filter input.ag-number-field-input {\n padding-right: 26px;\n}\n\n.ag-theme-quartz .ag-ltr .ag-column-select-add-group-indent, .ag-theme-quartz-dark .ag-ltr .ag-column-select-add-group-indent, .ag-theme-quartz-auto-dark .ag-ltr .ag-column-select-add-group-indent {\n margin-left: calc(var(--ag-icon-size) + var(--ag-grid-size) * 1.5);\n}\n\n.ag-theme-quartz .ag-rtl .ag-column-select-add-group-indent, .ag-theme-quartz-dark .ag-rtl .ag-column-select-add-group-indent, .ag-theme-quartz-auto-dark .ag-rtl .ag-column-select-add-group-indent {\n margin-right: calc(var(--ag-icon-size) + var(--ag-grid-size) * 1.5);\n}\n\n.ag-theme-quartz .ag-text-field-input[disabled],\n.ag-theme-quartz .ag-menu-option-disabled,\n.ag-theme-quartz-dark .ag-text-field-input[disabled],\n.ag-theme-quartz-dark .ag-menu-option-disabled,\n.ag-theme-quartz-auto-dark .ag-text-field-input[disabled],\n.ag-theme-quartz-auto-dark .ag-menu-option-disabled {\n cursor: not-allowed;\n}\n.ag-theme-quartz .ag-checkbox-input-wrapper.ag-checked.ag-disabled,\n.ag-theme-quartz-dark .ag-checkbox-input-wrapper.ag-checked.ag-disabled,\n.ag-theme-quartz-auto-dark .ag-checkbox-input-wrapper.ag-checked.ag-disabled {\n --ag-checkbox-checked-color: var(--ag-checkbox-unchecked-color);\n}\n.ag-theme-quartz .ag-checkbox-input,\n.ag-theme-quartz .ag-toggle-button-input,\n.ag-theme-quartz .ag-radio-button-input,\n.ag-theme-quartz input[class^=ag-][type=range],\n.ag-theme-quartz-dark .ag-checkbox-input,\n.ag-theme-quartz-dark .ag-toggle-button-input,\n.ag-theme-quartz-dark .ag-radio-button-input,\n.ag-theme-quartz-dark input[class^=ag-][type=range],\n.ag-theme-quartz-auto-dark .ag-checkbox-input,\n.ag-theme-quartz-auto-dark .ag-toggle-button-input,\n.ag-theme-quartz-auto-dark .ag-radio-button-input,\n.ag-theme-quartz-auto-dark input[class^=ag-][type=range] {\n cursor: pointer;\n}\n.ag-theme-quartz .ag-details-row,\n.ag-theme-quartz-dark .ag-details-row,\n.ag-theme-quartz-auto-dark .ag-details-row {\n padding: calc(var(--ag-grid-size) * 3.75);\n}\n\n.ag-theme-quartz-dark .ag-column-select-header-filter-wrapper .ag-input-wrapper::before,\n.ag-theme-quartz-dark .ag-filter-toolpanel-search .ag-input-wrapper::before,\n.ag-theme-quartz-dark .ag-mini-filter .ag-input-wrapper::before,\n.ag-theme-quartz-dark .ag-filter-filter .ag-input-wrapper::before {\n opacity: 0.66;\n filter: invert(100%);\n}\n.ag-theme-quartz-dark .ag-chart-menu {\n background-color: color-mix(in srgb, rgba(24, 39, 50, 0.3), var(--ag-background-color) 30%);\n}\n.ag-theme-quartz-dark .ag-text-field-input::-moz-placeholder {\n color: var(--ag-data-color);\n opacity: 0.8;\n}\n.ag-theme-quartz-dark .ag-text-field-input::placeholder {\n color: var(--ag-data-color);\n opacity: 0.8;\n}\n',""]),t.A=h},4131:function(e,t,i){"use strict";var a=i(6758),n=i.n(a),r=i(935),o=i.n(r),s=i(62),l=i.n(s),c=new URL(i(8430),i.b),d=o()(n()),h=l()(c);d.push([e.id,'@font-face {\n font-family: "agGridAlpine";\n src: url('+h+");\n font-weight: normal;\n font-style: normal;\n}\n",""]),t.A=d},679:function(e,t,i){"use strict";var a=i(6758),n=i.n(a),r=i(935),o=i.n(r),s=i(62),l=i.n(s),c=new URL(i(9377),i.b),d=o()(n()),h=l()(c);d.push([e.id,'@font-face {\n font-family: "agGridBalham";\n src: url('+h+");\n font-weight: normal;\n font-style: normal;\n}\n",""]),t.A=d},4086:function(e,t,i){"use strict";var a=i(6758),n=i.n(a),r=i(935),o=i.n(r),s=i(62),l=i.n(s),c=new URL(i(7738),i.b),d=o()(n()),h=l()(c);d.push([e.id,'@font-face {\n font-family: "agGridClassic";\n src: url('+h+");\n font-weight: normal;\n font-style: normal;\n}\n",""]),t.A=d},2249:function(e,t,i){"use strict";var a=i(6758),n=i.n(a),r=i(935),o=i.n(r),s=i(62),l=i.n(s),c=new URL(i(6055),i.b),d=o()(n()),h=l()(c);d.push([e.id,'@font-face {\n font-family: "agGridMaterial";\n src: url('+h+");\n font-weight: normal;\n font-style: normal;\n}\n",""]),t.A=d},4011:function(e,t,i){"use strict";var a=i(6758),n=i.n(a),r=i(935),o=i.n(r),s=i(62),l=i.n(s),c=new URL(i(2006),i.b),d=o()(n()),h=l()(c);d.push([e.id,'@font-face {\n font-family: "agGridQuartz";\n src: url('+h+");\n font-weight: normal;\n font-style: normal;\n}\n",""]),t.A=d},935:function(e){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var i="",a=void 0!==t[5];return t[4]&&(i+="@supports (".concat(t[4],") {")),t[2]&&(i+="@media ".concat(t[2]," {")),a&&(i+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),i+=e(t),a&&(i+="}"),t[2]&&(i+="}"),t[4]&&(i+="}"),i})).join("")},t.i=function(e,i,a,n,r){"string"==typeof e&&(e=[[null,e,void 0]]);var o={};if(a)for(var s=0;s<this.length;s++){var l=this[s][0];null!=l&&(o[l]=!0)}for(var c=0;c<e.length;c++){var d=[].concat(e[c]);a&&o[d[0]]||(void 0!==r&&(void 0===d[5]||(d[1]="@layer".concat(d[5].length>0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=r),i&&(d[2]?(d[1]="@media ".concat(d[2]," {").concat(d[1],"}"),d[2]=i):d[2]=i),n&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=n):d[4]="".concat(n)),t.push(d))}},t}},62:function(e){"use strict";e.exports=function(e,t){return t||(t={}),e?(e=String(e.__esModule?e.default:e),/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),t.hash&&(e+=t.hash),/["'() \t\n]|(%20)/.test(e)||t.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e):e}},6758:function(e){"use strict";e.exports=function(e){return e[1]}},1906:function(e,t,i){"use strict";i.r(t);var a=i(2591),n=i.n(a),r=i(1740),o=i.n(r),s=i(8128),l=i.n(s),c=i(855),d=i.n(c),h=i(3051),u=i.n(h),g=i(3656),p=i.n(g),m=i(8956),f={};f.styleTagTransform=p(),f.setAttributes=d(),f.insert=l().bind(null,"head"),f.domAPI=o(),f.insertStyleElement=u();n()(m.A,f);t.default=m.A&&m.A.locals?m.A.locals:void 0},9601:function(e,t,i){"use strict";i.r(t);var a=i(2591),n=i.n(a),r=i(1740),o=i.n(r),s=i(8128),l=i.n(s),c=i(855),d=i.n(c),h=i(3051),u=i.n(h),g=i(3656),p=i.n(g),m=i(8483),f={};f.styleTagTransform=p(),f.setAttributes=d(),f.insert=l().bind(null,"head"),f.domAPI=o(),f.insertStyleElement=u();n()(m.A,f);t.default=m.A&&m.A.locals?m.A.locals:void 0},7075:function(e,t,i){"use strict";i.r(t);var a=i(2591),n=i.n(a),r=i(1740),o=i.n(r),s=i(8128),l=i.n(s),c=i(855),d=i.n(c),h=i(3051),u=i.n(h),g=i(3656),p=i.n(g),m=i(7521),f={};f.styleTagTransform=p(),f.setAttributes=d(),f.insert=l().bind(null,"head"),f.domAPI=o(),f.insertStyleElement=u();n()(m.A,f);t.default=m.A&&m.A.locals?m.A.locals:void 0},8477:function(e,t,i){"use strict";i.r(t);var a=i(2591),n=i.n(a),r=i(1740),o=i.n(r),s=i(8128),l=i.n(s),c=i(855),d=i.n(c),h=i(3051),u=i.n(h),g=i(3656),p=i.n(g),m=i(4991),f={};f.styleTagTransform=p(),f.setAttributes=d(),f.insert=l().bind(null,"head"),f.domAPI=o(),f.insertStyleElement=u();n()(m.A,f);t.default=m.A&&m.A.locals?m.A.locals:void 0},815:function(e,t,i){"use strict";i.r(t);var a=i(2591),n=i.n(a),r=i(1740),o=i.n(r),s=i(8128),l=i.n(s),c=i(855),d=i.n(c),h=i(3051),u=i.n(h),g=i(3656),p=i.n(g),m=i(2621),f={};f.styleTagTransform=p(),f.setAttributes=d(),f.insert=l().bind(null,"head"),f.domAPI=o(),f.insertStyleElement=u();n()(m.A,f);t.default=m.A&&m.A.locals?m.A.locals:void 0},6915:function(e,t,i){"use strict";i.r(t);var a=i(2591),n=i.n(a),r=i(1740),o=i.n(r),s=i(8128),l=i.n(s),c=i(855),d=i.n(c),h=i(3051),u=i.n(h),g=i(3656),p=i.n(g),m=i(8981),f={};f.styleTagTransform=p(),f.setAttributes=d(),f.insert=l().bind(null,"head"),f.domAPI=o(),f.insertStyleElement=u();n()(m.A,f);t.default=m.A&&m.A.locals?m.A.locals:void 0},897:function(e,t,i){"use strict";i.r(t);var a=i(2591),n=i.n(a),r=i(1740),o=i.n(r),s=i(8128),l=i.n(s),c=i(855),d=i.n(c),h=i(3051),u=i.n(h),g=i(3656),p=i.n(g),m=i(2935),f={};f.styleTagTransform=p(),f.setAttributes=d(),f.insert=l().bind(null,"head"),f.domAPI=o(),f.insertStyleElement=u();n()(m.A,f);t.default=m.A&&m.A.locals?m.A.locals:void 0},8525:function(e,t,i){"use strict";i.r(t);var a=i(2591),n=i.n(a),r=i(1740),o=i.n(r),s=i(8128),l=i.n(s),c=i(855),d=i.n(c),h=i(3051),u=i.n(h),g=i(3656),p=i.n(g),m=i(7899),f={};f.styleTagTransform=p(),f.setAttributes=d(),f.insert=l().bind(null,"head"),f.domAPI=o(),f.insertStyleElement=u();n()(m.A,f);t.default=m.A&&m.A.locals?m.A.locals:void 0},4255:function(e,t,i){"use strict";i.r(t);var a=i(2591),n=i.n(a),r=i(1740),o=i.n(r),s=i(8128),l=i.n(s),c=i(855),d=i.n(c),h=i(3051),u=i.n(h),g=i(3656),p=i.n(g),m=i(9561),f={};f.styleTagTransform=p(),f.setAttributes=d(),f.insert=l().bind(null,"head"),f.domAPI=o(),f.insertStyleElement=u();n()(m.A,f);t.default=m.A&&m.A.locals?m.A.locals:void 0},8349:function(e,t,i){"use strict";i.r(t);var a=i(2591),n=i.n(a),r=i(1740),o=i.n(r),s=i(8128),l=i.n(s),c=i(855),d=i.n(c),h=i(3051),u=i.n(h),g=i(3656),p=i.n(g),m=i(4131),f={};f.styleTagTransform=p(),f.setAttributes=d(),f.insert=l().bind(null,"head"),f.domAPI=o(),f.insertStyleElement=u();n()(m.A,f);t.default=m.A&&m.A.locals?m.A.locals:void 0},2553:function(e,t,i){"use strict";i.r(t);var a=i(2591),n=i.n(a),r=i(1740),o=i.n(r),s=i(8128),l=i.n(s),c=i(855),d=i.n(c),h=i(3051),u=i.n(h),g=i(3656),p=i.n(g),m=i(679),f={};f.styleTagTransform=p(),f.setAttributes=d(),f.insert=l().bind(null,"head"),f.domAPI=o(),f.insertStyleElement=u();n()(m.A,f);t.default=m.A&&m.A.locals?m.A.locals:void 0},1184:function(e,t,i){"use strict";i.r(t);var a=i(2591),n=i.n(a),r=i(1740),o=i.n(r),s=i(8128),l=i.n(s),c=i(855),d=i.n(c),h=i(3051),u=i.n(h),g=i(3656),p=i.n(g),m=i(4086),f={};f.styleTagTransform=p(),f.setAttributes=d(),f.insert=l().bind(null,"head"),f.domAPI=o(),f.insertStyleElement=u();n()(m.A,f);t.default=m.A&&m.A.locals?m.A.locals:void 0},1683:function(e,t,i){"use strict";i.r(t);var a=i(2591),n=i.n(a),r=i(1740),o=i.n(r),s=i(8128),l=i.n(s),c=i(855),d=i.n(c),h=i(3051),u=i.n(h),g=i(3656),p=i.n(g),m=i(2249),f={};f.styleTagTransform=p(),f.setAttributes=d(),f.insert=l().bind(null,"head"),f.domAPI=o(),f.insertStyleElement=u();n()(m.A,f);t.default=m.A&&m.A.locals?m.A.locals:void 0},1145:function(e,t,i){"use strict";i.r(t);var a=i(2591),n=i.n(a),r=i(1740),o=i.n(r),s=i(8128),l=i.n(s),c=i(855),d=i.n(c),h=i(3051),u=i.n(h),g=i(3656),p=i.n(g),m=i(4011),f={};f.styleTagTransform=p(),f.setAttributes=d(),f.insert=l().bind(null,"head"),f.domAPI=o(),f.insertStyleElement=u();n()(m.A,f);t.default=m.A&&m.A.locals?m.A.locals:void 0},2591:function(e){"use strict";var t=[];function i(e){for(var i=-1,a=0;a<t.length;a++)if(t[a].identifier===e){i=a;break}return i}function a(e,a){for(var r={},o=[],s=0;s<e.length;s++){var l=e[s],c=a.base?l[0]+a.base:l[0],d=r[c]||0,h="".concat(c," ").concat(d);r[c]=d+1;var u=i(h),g={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==u)t[u].references++,t[u].updater(g);else{var p=n(g,a);a.byIndex=s,t.splice(s,0,{identifier:h,updater:p,references:1})}o.push(h)}return o}function n(e,t){var i=t.domAPI(t);i.update(e);return function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;i.update(e=t)}else i.remove()}}e.exports=function(e,n){var r=a(e=e||[],n=n||{});return function(e){e=e||[];for(var o=0;o<r.length;o++){var s=i(r[o]);t[s].references--}for(var l=a(e,n),c=0;c<r.length;c++){var d=i(r[c]);0===t[d].references&&(t[d].updater(),t.splice(d,1))}r=l}}},8128:function(e){"use strict";var t={};e.exports=function(e,i){var a=function(e){if(void 0===t[e]){var i=document.querySelector(e);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(e){i=null}t[e]=i}return t[e]}(e);if(!a)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");a.appendChild(i)}},3051:function(e){"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},855:function(e,t,i){"use strict";e.exports=function(e){var t=i.nc;t&&e.setAttribute("nonce",t)}},1740:function(e){"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(i){!function(e,t,i){var a="";i.supports&&(a+="@supports (".concat(i.supports,") {")),i.media&&(a+="@media ".concat(i.media," {"));var n=void 0!==i.layer;n&&(a+="@layer".concat(i.layer.length>0?" ".concat(i.layer):""," {")),a+=i.css,n&&(a+="}"),i.media&&(a+="}"),i.supports&&(a+="}");var r=i.sourceMap;r&&"undefined"!=typeof btoa&&(a+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r))))," */")),t.styleTagTransform(a,e,t.options)}(t,e,i)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},3656:function(e){"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},6387:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=i(5608),n=i(7886),r=i(3423),o=i(9209),s=i(9773);i(1906),i(9601),i(7075),i(8477),i(815),i(6915),i(897),i(8525),i(4255),i(8349),i(2553),i(1184),i(1683),i(1145);const l=i(5149),c=i(2449),d=i(2424),h=i(7202),u=i(4588),g=i(746),p=i(382),m=i(3279),f=i(2954),v=i(1060),y=i(3715),b=i(9942),C=i(5070),w=i(1413),S=i(3691),x=i(5120),k=i(7874),M=i(1555);r.ModuleRegistry.__registerModules([r.CommunityFeaturesModule,n.ClientSideRowModelModule,s.InfiniteRowModelModule,o.CsvExportModule,l.AdvancedFilterModule,c.GridChartsModule,d.ClipboardModule,h.ColumnsToolPanelModule,u.ExcelExportModule,g.FiltersToolPanelModule,p.MasterDetailModule,m.MenuModule,f.MultiFilterModule,v.RangeSelectionModule,y.RichSelectModule,b.RowGroupingModule,C.ServerSideRowModelModule,w.SetFilterModule,S.SideBarModule,x.SparklinesModule,k.StatusBarModule,M.ViewportRowModelModule],!1,void 0),a.__exportStar(i(3423),t),a.__exportStar(i(8299),t),a.__exportStar(i(5149),t),a.__exportStar(i(2449),t),a.__exportStar(i(2424),t),a.__exportStar(i(7202),t),a.__exportStar(i(4588),t),a.__exportStar(i(746),t),a.__exportStar(i(382),t),a.__exportStar(i(3279),t),a.__exportStar(i(2954),t),a.__exportStar(i(1060),t),a.__exportStar(i(3715),t),a.__exportStar(i(9942),t),a.__exportStar(i(5070),t),a.__exportStar(i(1413),t),a.__exportStar(i(3691),t),a.__exportStar(i(5120),t),a.__exportStar(i(7874),t),a.__exportStar(i(1555),t)},6055:function(e){"use strict";e.exports="data:font/woff2;charset=utf-8;base64,d09GMgABAAAAABFoAAsAAAAAJkgAABEYAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHIlWBmAAi34KpXCfVQE2AiQDgjgLgR4ABCAFhF4HhS8bxyFFJCOtoY6iYlKLqKCkZP8fEsghg77xKkhaKGEaKwO6lrY1b6YxxKUASMSl4yPDHPYi3fdu5d7Kbyt/D7IwsJrgsEOSoklQjLW9F0MTJZloool4ZIiE5jESEkOm+Y9zva9J2iPCtkn5CP82BQzCslEzenpGo3H/f2ibX7ASC3CC3NngEivpEQsOIwpWEdyKBWcsq26Fe49b3PJQZ96ZEt9JdgpIe5phJkHoAcugxVrltchzh61rR6AGJKAwOOmWsCZ3P9Vt6tS1P0wVC9REYIX14V1qYpH9qflReps9LPYlGfP23PRL3XUgMAmWeEL4SgRkAEDYvHO9dhkBqnmXpDlI0x5wf+5Y9XN/Rx0gy6kvR9j2PqwDRGOA3d7snCFhJiXx//QXQ9lnn3hR1u4csqjxACBAiT03VdHjEVrYjiUjwOGyN1M6c6rPjJCGzZexSaiPAhujUVH27FsRQEGfAQ0OTy7y7i2fHUgiwpYBbieNve3NZfbtMNLTOdivLbXHq+i8136FN86iPVGPafw6OT/5NxmnSZhdXhfHRWrPT0ZJRIxCpUEEcjOmSmfA3GBGyoLi+GjxtY0YQqbYJCvWtFXhJ1qmmHZhZo1hh+qCat9ub5Wv9/5pangKyQRDOGX1aUIctqgFg0VkbI0fZDe3IV7cErUUwJszUZYwPBrP1/atXdbFZfRQVg71DCVb3WfiFnW17hF6k0VlpM30OGKnV21Qmg5CYZoWs0tTYVoVsyCyZjbTi7sQ1ByTR3K8PErgVaU557a3WlxWM9iioCR/0JgtxpbJttQ0D17VQu0xbfZGv7YxZs+QseysJIY6QrRrrtctae2p7zqd8Obdp38Ol2MTNWkOv2lqRjUv1tbtgiPB2m9Gdp5aEvhHzKW3zMFNLVeFbGFTVD0lc3HSMzKR+YJlS062scXWVjQGQqgDsvSUN+OESMZ46nU0g8GNqlt8y1vTZTs+uAKLEU5JdUPppKRCVY0kBV+Tt8gSxeMG9skkRWcoN+a/zw3mNVkkznPXb/Gpoww70ZxSOvWAytlcoT1qPQKovK4fzgw/DXiNG7LJ8S1+sf3H9dlprDdWgSGbFyxrklifkTIZtfu84QSpIv7Nc6qcmO0qtvcAgXt5CU6nRwRhkdxla9lZdDST51ZwvMRvD8YWQG+yLK0q71L2SOIhvnMCiZvEEeD+8u3HB9QFAgl8UriM2Y2hNT9VfTH8H1hK5Xy3zeHSKoA0kAQqgRRIVPQXohzwdVklzBl7OMRvFLNDiI4Hnvv4xU5PUeWGR15+cffcQQnuVp9WJYGl4DPmJ4DtP5mjKaYsTKsmUgy6dj66ua0DDoIRPKG5WDsHJxc3Dy8fv4CgUGnb71ExcQk/gClpGVk5LnkFRSVlQRVVNXUNTS1tHS5dPX2Y38DQyBhERrh5yLemAXNJ99JEgWnvSKf6vv9/N1vvuubbKV7FgJr5hHmg6nRDwPKagJUNAKvrAdY2DKyvFdjYJLC5ZmBrfcD22oHd9QN76wX2NwIcrBM4XAdwtDHgZC3A6bqBs7UB5xsFLjYBXK4LuNogcL1x4OaaAl9cLiEBC0TgBUGwCXbBITgFl+AWPIJX8Al+ISAEhZAQFiJCVIgJcSEhJIWUkBYyQlbICXmHIvBVyGNFoSSUhYpQ9eSqJn3qQkNoCi2hLXSErtAT+g5F4GuQcYbCSBg7JMGXeCgHX1LmkwUqMEYpBUyfn+QRuAXpQ5B9FVJx5yqKfAsz1FJ8wLhfhpSA78H3ySFNT7aO18k5ieFtls9iuDZHS2b44//lC2stKBqhd77BnZSsF9afpeMWYZ7lLSLWYDpGd6R5Bfc5bmscF9ohKR8qkEMbvIEky5J8A1kfb7YxbPDITY5mIvoSm5XZZEtEKpcXecwssiRbS3YGxBqijLb4s3ECFuZBorBGXmJko1gRKo18zQABgyEgbWnSsxHHerDqQh2uzhIinVWRdZYFetyWrlF9awba9tQcR3S+2YQsA7lWuLDDrdp9hWs+Xd7nG37vbX7V6nO69BCbCyxd1rJNrnNqtauXV8ZW60dxEfYG+FX/eV9si22DSDMEKIBAqxYY5wM6wiA66aWuVj3rRPjh4lTqMFf9Qtm9WOr/mkUqXV8ZCaMeGPdEoAnzFhgon/ss4f2G1M/irR48s1hZIhEQQjGbzcV7//Y5rE83OSZFT7B1grDDcUbV9VTzClVD0sYJCAX6CqWOb7VqsF7nvS2UEOrckrfXiwej1lbmOq5EOJoWn/85UPvXEJF9msh31moSd2Uy1at6gpCwsY+gdUnDPC4Hvb8GJVOdciVfq5fSRWN4KaKd93df4eOmuv3kuhDVfQEJi/r7Hn2KiBi3dI/EFJnuyjRojV7GSWFYR5ORuGl7EFgNp6gOPdZZDSihBAGWMQBCjPdzNeqgPZh7b+4ohZciw2CNCNFfcZn5lgueFRlJPwLhK4Ve3xKNHDAIAqXmv6ifJcHOQVA+ky+dVUms/hoQ9J8VqA++Xs9YTUiF8TicbEibp+r5trx11gWRVqHE6xetcsvYga9nlSNyBZSXSyxuyWrnBdA5EGjr112fzVwWUyMb8vvvcO4oh4yUtha2v7wyMHLi77+5WhcwrggRytedVqwsEQArva1uPohcGGOe0ntWKwbSygChMrZXZ6uRh2zRkAJXQmEhiOh44WatBIESFDFYlJ/37RPq9tEJYU1Kl69oT6DGc5eE00hZojenMppGF2zz8rqAqKNSRInJ6wOGlEEin1Md27Ry+KiqhmPo2aPOEN72mqGdFct9QDsgTpMEfE5EcrHbaxvxrK42wEvtflXHotUIOcAydySwfu4NXiEzNB9gCoaoQhe0k4YOGNkzK8+0s1zqagFS9c65qLgcXdumxPMWvvlAx3xJ23tKn7NG0OjmVM715/aseO9Kjdh7x8UAcEnvnaG1P0Wab+rvGE6fBv3+d6E2qbbzg7vuB0hsYnOafwH3AAHdN9bFUPHGBS6FP/lf/ZV+hFBZog8NaJb29H2LdC7PF4bHOYOOt1AZoqUCXFF9Bbq/zqb03jRHG1Djwm9cN4SDZTxhNJ5kMWNiWGKUD/RQMkYk5K8JCDtOkr+x3+/JTo0G+JJlg8qTShMSSpPKXwkmUJowS381g0iYly0lNTu+ZeIu4Xr9OPO4D4qhyqEkPezXMEhcQrrz4m7x3Hm34njo3RGg7oGBWu35c1arVlevzhWKTKLywCj33VZPi7HWHD6etFjwykoGIz3tPM/5/Lnz29O3bJn30cBBQAYIB/s0Dwic6BBtdoHVh4VBmsZsnQDrqIVUgyVf8KPHeP44TYOQeYxCAVFgCmrswMsIoAoEkMAJUaAgwC8rLkOvyU87STane16QcOt9Xc0w4yTpToeouqheUbVRCc5/UzZz942Q18NHznK44xqd5fvIwWi55zk/9FaAb12vX+ukgciZYUz/4NRIlttar1FpQ/v4BO/uHXaoJiwvjzPee80Obw47MCjU+xLF8pjnPbre9MnTL5flbQn+lrABuge8CmKNdRwRuM6rIUX3ksfycitszwkK2nSOtTp1XuyhmMPsWAgc5TFc4+7EFt9mt67wOVDC7n21u6v7OtYgENm9Dh+yPXrET4p2NnvyYSc+cKV9YuzhwjnP/UCIgLNIsshN4rYQ4c5WMT6HiyQ/S7KQg3APqFSPHpXyQexHXUQLZV88t1vn80f2bZzX3Dco08cP+ZFakFmw9iZ2xtWnh6efRtusH3lsKWseO4Adnzc+d1T8DCdXnzAfFszbdZzgoiP2EmGJb/UTCRIlaK/RaPJ71/VX8GS8hpYQeTNWYdJqpJMldQ5mnURqchMkjJfUXJUiUeH/5LIcjlIKNF5FRFn/zMKiyX2mzrgcHRY/D+zveoCELpfxFDxLpkc3ebcp+i0VqYRCVb5g/PliWiGDe3G1ePVFsXduYKEJPYFa9Da9CaUwCr6Ljx+j2Ana4ZIdozAQswbhetxMuHmQa4LO76naArWmIBPx9CIvpYytQiMrNRmfthprMvB1V3tphKHh/SbJDg2lHQf+uLDBjnJ3oUQ/IrksMbF0sGBocqoIuovb4azDdMOtRiZWHtugbdkgUxCOqq7R6WqqF5oWXvi2qa6Ze66iZmpxVpZtAS63m2x6G4ylPXWcDbPd2EUN0NcpPZVHhK5PB7+ghQvlgXK1Ry1FIo1QrRZqREXJdej6W7e4aJ3GP/InVzlBrylN28/87f/3zjYEkFWOrAw04X4z0BkIPp74i3IVNs4yDoPC+Nmza3VNz54LhU+fdo08bMC6ujDD4ZFdT0Hsm4TzRaf4N3NKxBcJVgCxNvapR6YdCd1q66pF9nUOd+8SbcSn7rX/u+ZM8NPcem2g9Rnx7KmVou0zJ2uLI/MjZs+OyI8sviKYwOzZ320XR14pMXeumtpSnFAgFhckFD8aOLUXiIsTHuWmBPsX6eCcnMEzG7Z/pvjtJPQ4Bb4ku+PqFS6lGaHXJCpcGa4P37PacE1IUxN+nXnxp3QJBmhRzKHotN9uDtoOnXNeLQO3bOl4T9rtZrgeqsSUsGvesXtrsINmSTh9+vyzQ0UJUvxKSkZFWrL1qRXWYr3eVdE0aeIKRX1W8ll7Lajgfo7dYOBjg0tLlEqC6HPgIHjeDsEzVxIaPHToykwCZo5UJZmA3b5NFlBuml8Y2AkEpHwdAlpcEygbbJOsBrkJk+89kHFgHyYzGWTEJE5GtKw/mhhSI4dPrMoezDy4NxBGuXUiOz3a0B+jDRhg7IT//+n/P4GZIBszBwAA74QQyDlp77IWsJcNAW8xklld1w8tYNg2m8g8LjPO6R9mK/OzN25mk52tzNNlywIGGUhNJIp+1HXLYQzaSinTHbuhtWOcldxJADdxThVb2OBm2rMrcjPUbWcxM3bZpaIfOssokUrG8ASusgKuYnpizmbwcMrGWDDGkk1juWgUKVWDTtd/py/y401kaZlP2jdXDyYJwBW6vT42kaDD1YxM2SH6wnf97fN4c/lP7PpLgGt+GZzvnzPuwPG14EZVBABOshrAf/KUH84d6hQHhbQKgKCRIhbFQt6AAWmxbwQPDGeoUNaiPcIJx6Dv6V2wDoYBE9DRDRC2w0w8IoICPtEYt9hFE9zi2ogUNsJHb4YODjCCwCZE+uuDCuLlcanJf0MjTZh/U2wZp3NJvYn/pDUJd6/DS6G6JCZdPk7frbZdneObWeiCytR9CBvlLF1R+SRnw2hW3heLMD+Pwcm0h6IllXjfaDdDKsp+EyVqYvuRSs13OftPacXvumCdV4MXabBknCZlWq+zsvW01Sx6W3YxQRsoMQn2oRhL0sypLFkpVz8RR/lg7KAW7xZ8aUGWD5wScmvvAAXs5NOBMMYEU8ywgU3Mv+W4QPnz/WdsBYKhcCQaiyeSqXQmm8sXiqVypVqrN5qtdqfb6w+Go7EoyZQpqqYbpmViamZuYWllbWNrZ+/g6KQL0TEqRbQkfIyqsq4HWN2xQ3aUj9yIarfWk/tayaYPM+SfM2dJ7MlIp8RodF8UbSxlvHSSRfuSEm305D62ieu5EzZFZ+QPnZTtkVOp9cDV+cA1O/RU3RFthvaeOlhQuaU/oy31NWMdD0TuOKQ8oPcoTlrtMGoqR1GllcNKCzvMFOw4Jx75fE+yoE8cTyfcpCnt6HAibqdASeo4LEwXLNZjzrJG8Ki0DtABjHxU0ix2q8s3I/2qmQn3EsJNxomPNMXRDivOdF4nBRW9lzVHWAvpAgtNpNMFgkhtX9Ryb0p06NhZdkIpxKeNwWsOS271qApaPIWNQCIVCpnt0IupgBBBgcAggQDDGio4yDDCF6xgA/0aTNCgwBZmCLDbAw=="},8430:function(e){"use strict";e.exports="data:font/woff2;charset=utf-8;base64,d09GMgABAAAAABMUAAsAAAAAKMwAABLCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHIlWBmAAi34KqmyjKwE2AiQDgkALgSIABCAFhEYHhUEbnyMzg/aatGqziOpJNvu/JGhLhnjjdVVKiQVRRpQIMYb+arBrcnXzpDWxiZ/03+6d7uYA0kgNGvfxjeHHsZxySFI0efhYa+/v7iGeriQ0iXmiiXjIROjWyEwnREJiiNL8r7ned9lNjoj/UviIZqqAwagvZXWN7vQH2uY/PCuxGixE3Zco9c7GTcI4jGiM5Ixl6zZYJOu4deqq/4JF6qJ74B9A4MjcdjWnBf6vzeoX1p0qiEwH0j3ielqTJCVtAmTUucAVrqMqJHm7J9HDZROQwmB/an6zL7XMHhb7kozZWv+/7xgEJkGCJ4SvEGy5v2EaHaSESvAJKgL+b+1f7X9BlMATAqHj4/Ts7Pz/9965+zA0mU+02dBmQ5sfphJYIEX8Xjanfa8cAFStrQKWdRW+vpqEqbN1cToVOJ6CtsfmMoLfUD/X9o81JEiwSx5ix9/Y/D1YFRZgNHb89HY+AigxopP6BiQ4BLYXmusgA7t/bICvlWN7o7wQXGc5eKRfcJ1eti2g4qav/kYgjmNd0tLkOJ2Z/s9UagziUjLg4EUfjozhKEJQaXQSBRvG1xhMyJishB+RIifj9w6SMEZ1KBbXsdcUQmxLtN9Y2RPEjbehOT882Zbg6JXTtclU1IKAeRSMqKLcjrgNk40wT889wmXtgNBtcVthsjULZ4tB2WK6N7J190VFqlzEbaj5YYFjdj8VOa0t8WaELTaNWbZ2zJ36dM0BpxvCVJZlmP07Ku01wgZhT+xoxJdg3JpQhms8MU4R0KC64anv+rx2E9QmUFl/ortRSm2LPVbXu/6mNu5MGHAN4b2DK64KlaiuEGXqwIjTcKY+GVvvXXv07MWrT/8ARxGnhMUgqnrxK5p1WI/vEslM7FNW4qVzW4pQxmZGfTcfLa5FzMYh1DDHeHmEBYawVuhveThz4/Z2dCZM6QPZepCtu0Awgr9fxzGZfEA7NUeBnvZPglAHxmEeGS0TuaKyQz0dlSU+5CaqdHjGJPZMGbqSalOhn8ZkfcgmGZmvf+NtZ3kuxJoanXfBFT1apf/pNpfg7r5/jDDbG8TMmArFxZdY2RunTLjo7A1bhEgOKxy/44qp4TPcaX8TBaqr5I03XL2wOnWsmcJR+qYaVC4sUcTEa3fttqtEtmJTFzkEkKOHEg0IW2xbu847njOcPMS1HEguk4O4evv+401DJCAhp+5PaGo1rgT+qPli3jGfRZOPcxsxeZA4fApUAxlI8uONUTX04VdDPKlrg/1DGRcJ1vfKR7+/mgs1Hnnj81f8qLjXwfcQzmm4Aq0wK9YeoM575jiqJZvSu0mGAXtHYlg7unCQIJhMGY7Vxc3Dy8cvICgkLCIabTAhKSXtT4BZOXkFRSVlFVU1dQ1NLW0dXT19A0MlI2MTSMjUzNwViAL3M3lQqcZ+K0F0pgsVlj2jUW27//+7xP6ErY9y4JcBemZdmAFqntggsMAagUXWDyyxbmCZDQErrAVYZRPAGmsC1lkvsMHagC3WB2yzHmCHDQO7rAPYY+3APhsFDlkzcMS6gGPWCpywEeCUjQNnrBM4ZwPABRsDLkdPgi8AvREIIQhCMIQQCKEQwiCEQ4iAEAkhCkI0hBgIsRDiIMRDSICQCCEJQjKEFAipENIgpEPIgJAJIQtCNoQcCLkQ8iDkQyiAUAihCEIxhBIIpRDKIJRDqIBQCaEKQjWEGgi1EOog1LM3nQboL40QmiA0m0QKvha7bbRCebRBaIfQAWjE1KT6Mbe4oaAEFD15V8c1Npu8CiuJ+AgmZ+ibQWlcWmSAxALcWmEZSyAXGzLeJkSCSHP7vut0TVNSh01dwfysllW0nFagpJbIKHpGxmNm9hthJGqxHh2r9a1LpXoZteJbRCtpSsJSTEsukVAcjaubhmElaof2qUe+BlVN1Giq1mAaAZwEyNjKPVCn9M/ombCZRJqctqcDmwMD6YIbHZTN5WLZAkbni25GeSMT81p3zBduRVryQiIyK7q2F9KY/XxW7heJar+AV/4A237mtCB4kYk89YiCOQFcIhL20uGLC5C//SXJRK8vo5pgx6uNrmAl9nqbrUmU8rR0zekKrHF/ZrbTLBjbkj1RfwZ8jD6jIGTXaC+ppjqxRFrkNJGP9hy7FDGeHl4FhagGY/X+NWKIFlCDQdymq8aSUjqFqWvzkiu8bbxidd5BC5FI3fF2jDbWGGyHuZOQtm5/x4kTONSe2rVrHwpWnb9Nov1nwZZwm7XrFA63gb0no9N9tm+PtjL/zA0c+m27WJbiO3duJdFGFKiPWcdOnQvOn15mzcmdkfJv2xWeAFu3msOOmlv/ywgmtudQ7OBWH57bsiXY22Zxy0oiunOJu23/6avmojw/8UbZj+OwUkFBDKcnL4LlKINqlUTcrvDGGf/szej2+eDcraXhh5YpEnwqsZbt+05dyXoFKq+nwn92ShXNCF6yaHCcROsbmMjVyCpwAIykbGupvSPhMYsX7aOP4HADCurdUp6yJYUFrFqsL8zM7IV47ry5hRjHlQq3cper7EY8sVz1JEovtIkocwPG87er0DaWVUVFTeGaqMp0HFOhdHeVMhkVV0tzq8tXBfsy//f1KNCUo9RSBsUQa7goUOYSCQuMCJP3Zbl1eg901ANJ1JRAwAFWOYEiMGh9B6P5mSBGbmFdFGynyI2W4PF7ElIWwub1lx8hNmUO1YOBRJcelh+8wWAXdQFOYZnMheiyn3mxR0fGUhmEAcuc0OnNoWUCwy9APEPC6JLB3qh3kZxqcakMAz8X5/svbeB0nmCM8gVMTMCsHehWTxx6nn2v4oSV+aW7ZfBDrePhfZfDN33xNOiUOjI9Wu+fCE8FpxclVQIGIiWe206+Due/uv6F2Dfh9JzjOWfkmZE3plNza8PBsWdmDuV0/pIj2R1mA3029clIJ3d6wO7BvYW5lWx1PN6He1fL5X6/NO6J46m/dV+rVPr/2rK/Wp3xZ1dSKYvrnwdUl/rm3o/ThqFSdj1Ba/Tqqdhcb67xvOzTGc/HnB6w3B9EEI8HEiTC8ENfShDpAdJ/36fp3UfwVDATzzCQDf0hai8P8iAP1iG7MWwHe49R29iVpyW9Jvtm//FoVsNrHYxLzl1zj65MQXIJUXDHTCplOz0lt6XklEpsrSs6PLMb6BSjDSNiDdgbT82/rqLjG1PMyGr2IobBMyLY+X4EAyY1FNd7H4onDuKwRiWMHcCARyf3nsBnvo5KE1xM9KRgXZq0hw+FgIGlhoMR4oeQzvBT8Dn66H9YSWzWsLV9s7jHRfgE/EbI/8Ej2I93AzqCDlA9AK8XIc7u5PFcBFOLkAMDS9PTM9JhLmbk04cZURi0w2qd7hf+66VugwSKgGdMv7JAkMfj5QkKnobP8+fxCgRPHXzPW9Q/37AIkv38NMC12IJgEeQP4ifR2kq0EcCfpzP1CB70OLWDwR7ww/Gmm9rbS6VnTq9ZI5UFe9OZQQ1B3ukO03qi/5bXB+aH18eWL1cXFenpRYSf8ZmdOX1ma8SmTTNeK5xpEAc0Z/zNDGBd/alkK3erypElW5WytjZwbAoWVH/+gx9HCEzk8AgdaGJcPKJKuUADupgGNFpHE9PBedUXxBdgmJuRGR2dKetggTA4nAwcEfAGX5aXttT3xW6n+Jf7h/qX+fPke2vc5J1XXf9vbZ9CuW4cEGl9l1K//Kb5TPdBO+vy0J/LYu1pJ1sQW8cwP6rJUouO8Ga2leNOlteBUq/0dOduyyXbLJ2d7B3cLc+PUM1mWHZWNLwxt0mjWi53/MJbCSF2Tx2oKv02+2UWlSLZEw+qhUnWumgHh9WnqYvDZgQeYJBOgWDfYdYqMTVw4gw51S2w2pfrxLoUYmy6jKqEzebc7sO8W6mXh6IiGWxFKEtRln4KVtmHhyrYaGRhe26Tf7YX2+mU4QwUoWw/9+WJLucWczXnuPs13MX7EYp/m7xNhgMG5WFjfnJSewnFh4FjMzKGtkvD3L7BMxntY6pm1IxxwKxsaN/CMrHMpdfwk8ZWo8xtJNKa1PbD86kznOycuOndaR3cSQbGVl5WVGgg+ZUTvO++r47jqoukWKwIyE/TxDR1uskZgbyYnOOXyNIcVnUaaGKbOlzlImGitKTA+GJMSqhzZEFRLy8hOYG+fimXmcBgxDO5pkb5bexUo6AYZ4vFUhE9yymyUKBtBiBO4uEPv+XJmZWmgiLnyPjrip65yps6NTGb8zyI4WYOucqFEzWBqfHwSSm4Bt6OItctPkBmdBu2NRm9W6u/W3znLnzlHDls3FCbwPlhfASHOb0+gZIqjMAOqPgDsVDnDCKsDIooUQHKJzEWptpNYETVo8QPFQtuacUEmOqHGXb71sLHHTli235ZDtXjl063vvdgfVcWhZXDdJcddK1cK8zn8/MawweElsPRd7jQ1zNkuKx1za4W4gLD9MxX5gEXCUcy2ffr1zJhoDJdWWY4R8LZmZjNabLmXvN8MuyroYrDbrStLeMBhRIVRaE8MBqy/fTKvF/oPrCuCZWoklBi8rNRJaC78aN5225GCoBjavCGP+/x1wv48Mz9Y3fy5FzmBH27rG6nemh5dpCEmZjIlARlC8vpKwYHXejlEltICf1KQei46i3X/yT9ObmVBjSNTAk0EG8ziT6JBl9+zrsEDU4sJ3BIIubMMXYRyaadUeuqigpmrwtHPW67uyfufhofX15ioO/kI5Kfrurv//9/8tnMUbN2EF80mtxGqqmzc0uxg1GTzfz+pnlmj286fhoaglDb9Q2xDEasEeJmx4j8hQa2B8R5BTt+CfnvDd4Ze7Opxu++XbSxorK9P3btt1xI4ngqTk5uCGDExwUqmyeT5iuEk4s+chzm3jDhuccbqbo7D8FofaIH/c5JbNGHvE4MO9il6qTE/mh3vW3C2aqew6oGcXcPbP60YUXV6//8adz8urIcvwzfqVN9M/xyLoZPeurU+4lz/C565DcsHl+bw8vkcDJ5OXfF9fyZnBzeXcfqMPwutjE6unEyOVOT+X8u5kc+jZ4xUeuXsvKJUAvPdIOnmFvGNmyb4B3KQuGZ2lLqemDsRLRBliB5lnsm8Ti6Spdv36KjRUIPj6goIKOUeUr4tHlcZtT8VqqGEycmUYwZL1Z9UYQWhgvnzK8JWJOTmmosru7rXSCuiBROt9PwvhU9rFB44o15uQkJWi17334wH3JVYwu1Gd7cvBDT8tnEsljHw4eG0DaKtfuJw3C/f5mMzPX7wbsMnxaIVr7vW6OIb8Djd+9D9+3B4xoUcdo+ZzQgLglliur21l6/uv3Y/t3DEY1f0+sUEaBIwvEHKEDV86+/PX/hvdTfI8H/fqEb8m4cgE20TZ1+lAcpS6tpR0rACZbtRdvoIL3IEWc22wH0G6lD3qJHLUPupbURVMZxp6VZQd1qGPjt791g2KxXZdkyeqdw1T/kYxszbYM3jeNchQ3ulriPeY5Y12m2mjIbFdIFzhZvIlqZh5Eg1TAA0dPwvg+C0AqvZmsQ27zdGORuyWvX6jzLUXOUVJC/L7O75APlycErPsjuSM39f5PI/wGg5sSf93y0cf9U14K0beNCvem/gM1t/pdv/YhgcZT0X4L81ycKtSDt2zC32xwwPgjgI0h12mmkkIA0tAQ1Jwkgc7cOEkrnAUwFAmOYBjpMB+zhRsOnE6hTSwakJABBvd4dkyAJO0B+dNaCAp0PMxUsN0GDzm8ZBh7Kb0ZgeDQva7gn9uYmJE/wG1wJiu2boG/zHzj7SM1ld+F2ek9AwErANP2iyaO7ErGN5YjNY6R1QiHEJnH8Ai3dIJKup1OLz7jTEVcU5wnzjBtB4hHwG5xeuSJQWGCrkP4PjpDhhxaRxqXOhWDiSVCRBwgEjUZvoUazkXNFiLYa2WMRcvWYqhCEQCDeVfL2vgCNTWeI4SXXpmR3VtR0dCpyLiujaovvj5+KtUgji1wURGEURfHfW2t7xN78uHdWCaIkK6qmG6ZlO67nB2EUJ2mWF2VVN23XD+M0L+u2H+d1P+/3c+PWnXsPHj159uLVm3cfPv3w06+1E4djcEp8pIkajrO8rrae6CANodanYjnsMOjvPs5bVgvm3PY5ngwIMHpSAsduswsJRXd1h8ht8qbuvHEFC1Le1k3CSguYSnda1Hpizut6j+v6lcpk1jV8WTubnUkq9YJmC35oc1B5WOf1E1shw7y1Lc5SufGpPvWxpMrXEQTTyiQU5XykG6GV8eQ2MeYe/RIqTCqbJZWWI6WcS0VNsEMtrQohzsDUKYUjhPVUVKcao2ymgdHHkg85oe8mtn0RidRGaw9spajmcoNUOUbYzvdjUWvijHRRJNoBOwxt3qwSgzTM8xwLA7Sk2rIvHxPQZnnqEqjSVXLtxxs3a2EV10pDp0j97k5eVRwGhBeRmUwLBt96c+0fKpKFkbVcKwAA"},7738:function(e){"use strict";e.exports="data:font/woff2;charset=utf-8;base64,d09GMgABAAAAABNoAAsAAAAAKoQAABMVAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHIlWBmAAi34KriymRAE2AiQDgjwLgSAABCAFhFIHhTUbNCUzknRW7aMozZsi+78ccEMm/EOtKgRDQSEYBAs2sTnBtoyyhWXQ7ZzDpZ2n2EhQikvgUQwtXY2+7tuK6T8uk/t2KCUBtd/r3t37P4AqPh4YJzKOuW10gYWsRiFRV1WoTnUdq8D/zgX+NGn5CKjXlI9whCjkHLGasKw3YWYZ1N4QB7cDUCCWeQZFWbhmOy3PFlCp1ngMFPlJAsfm9IM234AEFAb/V2dKgUUKFGIXiST9IwgU2Yv9Xid7jR044DZQAJ7u2HBEmzbhmkb07tDWacq9GHidkHJQwl0EiwmBmpOaQ1UgQm2TklRF/r1Ojbf9qfnXXPJbmz0s9iUZs6X/1ndOCI4ESzwhfIVgy/0N0+ggJVSCT1ARcKRTVzsl4mHsuv1LtvPXtxwDvVllhVVk2EgKK6ykQLR246k8LR3mZt4Kz/f3Jn8LQW46cRDe9vPOTjjzJhTa0jlVqACHQtHMUrBUDklDD3sgdc3bzJ9uFIMiBMiceULHDuuBKsU8xhCGMSKoHfNWBKBYn40ZWR8vBe/eTY/eD0mE2DiAxbhh7647bgLhyoVU1A+Ea8vuBa+iKz3qi3jRo+g1U8cafhS/xD9kqXUETJDXhcimgT4NNaXSGUwWBkeb9WiyOXDQ4UqSguJYaeY7ezGExrA3llnTXo2famNi8rWlHZ3+IK2ZTsGW1vkq75+lgWWYmtMRkqw+U4jogFpzzKicy5sPEqzsqSwb1EYAa8VFzYRhZUocyrauTWjQyhRqzVAfXUdptkWqXkY7ZIXRXTMmx2y0RZQVbdqjLD2EwbVwZoOm4uQm3ZpqplnJzjyPoFZ0BcTGgiiOV5XpYrd6vE1hqzGd1w6t21+1TsnyxthlS/v+qzPUia5LmC3u7E0IFmbdurumHE2E6jj7qCJp634veeuLb7776T+CCoEXNZ8lq66/ZFo562pBULHa7bmSm1MbHL/COZUDkcJ010iztnfqIqWRSSzqNCq3xcGGhFddtrNlcRDcOKgPfYfl6JxKo/OM1w0Oh6JjXpYD75geHPngEbiMkCTVDaWN1kdozzKVIuX1PuaE84pDPzLrTs+MbdlfLA43rw9SYSnjd/ncWYZAtWK4rndG5bhosEorYxXt7sZP0Y2OhjQvjqzxtEit3R43ILDMejbCGPsWc9NRnSoDDXU83pKBgxK294WqGM7HEVuGiCsHjjJsLrVQwiK2d2fDnqPKWdMdIV7q2SPrA7DomtnYjrznnJD4NnoJciBeMh+A5+nvhx8aAwMQsQnEixY2VrfC52p/0fQTlrIhkM5zp3heFZADElADZCBWVR+GSsD5oAYmyT6H+A6lBAyi4y4PevoXvb1FrZvc4+FfqNAU+4ESLKZVqWAoypJ7BOTTkbnBsDCTrdFUd0Znx0NsKwdnCAMjWNzsqQKRRKbw8PLxCwgKuXY2KiYuwR/AlLSMrJy8gqKSsoqqmrqGppa2jq6ejr6WAcxvaGRsAkIexC6Pua9txN3Q03RuwGJwa5nb/f/367ujvTqcgUEpYMwchUWgNooxYDnagJUYAVZjAFiLcWA9OoGNmAU2ox3YiiFgO7qB3RgG9mIQ2I8J4CB6gcPoAY5iCjiJDuA0+oGz6ALOYxK4iBngTvQBd2MUuBfTwOXqHPiFkMoAxAAJQBYgB5AHKAAUAUoAZYAKQA9AL0AfQD/AAMAgwBDAMMAIwCjAGMA4wATAJMAUwDTADMAswBzAPMACwCLAEsAywArAKsAawDrABsAmwBbANsAOwC7AHsA+tWoHoOyQmjlHoMoxOyTwa7JDJfilQscpQA0gxR2AIZhPCniFx+S/UnQfRDi8h8wcUPZDLDAR5XJAaRKBkAInlRgKdk7RgpNRosXJAV2azuVcsiAKBMy6JUT3xdWiEvYTNIFPUTk5XOBvNBWBcEoASy0tU/OIgvgM7eruk3E5HPNyK3JE0OxcxomTaVwwY+XrU+Q5b8LvEwRP2Mv//FwiIskjekUsBuBJuexXiFjemIhL7DVkTVgqs2n0FcYBZ8JX/tcIQqlG3F+qz8I3/acSTAR4ywiAMr4q3YNIHPyNs9qfIVo1Bn6hvn72PwQKGRTvobxapXSdpkizCqepTVljAbLRou5UHSxudq2r+Xp7XRFC+Po6byVP83iiCjhPxwqTnyIjxhgOK/NLm1EJ46NFVaVzXWP6OBUKIQPN456mQpj4w7yUCldhihRfOrWmhyXjIpUExRKu3KAPo32NaD6LMbwk7ufL/E/KUa3dqtlCgcTHpXy+HYeeF19o8ukZktYtOV8i8SXSVkR9WiZjmFx9+pHEhZYKLoi5nEm7oRDyj+XHpefaizLBvmJuo7JZeb2AmKa0oE8yizngkJmEteWmim7S6WrJkoUcrWPi3KWk1VF+J11os1DHUW1bd10c9glWfIUKZdQ8jyYbGvWPT9Vnn4wvL7Tnny/rw+778bTRFK/OtJfexlJBDYCN2+kA0bGJtSc0KU7hMGmLcH9lyGLGzU5LvfpjWfTsrPeSWMJh73PDlK6340v957qOn/ZxzlbGkh9gEyL6+r9dUfnfdefaxqlQhjO2cMXg2d/Cg0RNOvXDpaWtnfZmZSOHzbx4D7wCJ/E5sA7nAL1zmy0MYu+3D/Mvhz4cUsbf6nMAGuScU/TfcHCWcaDCaGmOiwLLBFNFEUYlEEQp57ZQWj1IUi5QNO0Zt0oPTNPrXpzjLFWQJIOoPA537NNsuOfEjQcJ3jnIGH1S1xozG1tcsJ0Rx1sGZc9dapUw2pftyjyR+pakRoXLNMplc+dMcQE1n0zaVZ6pydiSS64qfrhBe/HidFZ6NcfsMybBGHjCvQecUaE1AvE8gfuO779irDXq4WjkNKB0m8EJOMNSwM4oFRRUQzT3mirAdl56FlIM9jqapnaD+YxEfeNuMFcMPsxMZfbepLo7mAbeg7zx9gB3aOJn6OEgXu8Vg8IlcZ/nh3Bnj0IzkSDFlHNf+H3hey3nNI749BDMtlvhu5gXoPsp8KCS6Z6+aeti4KdlYLsv4ExMrq9IFScefly4FL1DVO0cNaAaIWbw7vI+7yPN2VZQ3mHs8zXwPlJC5TGKj96i7glIxAVEoKQqfuI7Ah3pBpfjnaXp1/rq/pQKvB7i1amEcnuHfaIUr49K5eFbjR1ETomXLfe46KgyDwTzocFYWq2y3FvdwwmXM3iw62VNfmjpse1LG5iGcoIcA72qIHXOiOjD/qxqwKacUCg722g4c2jYKKoFUiKdNrEt4UaVp8c7T+FVynNDekkr0872b+LukNonnjxydmi02nRId+oQx7K0/rSYQq/PYjHsgqxCDZomnHbraUSW5XCUTKjq2SwOvD+8udlZWS6QtZqa+Kvhd62e3r5923aajhHV9duqb9Pr2Q5qkPOy4yKh+K1YuKjjS/Gi2FwzdhGHXP4mdTT+GvekvsHdqYLLYbZ0spjXW5CmqbcGraBa+/uaC4o3XpR1k59I3734h48nR9rGWU/rdpR/TJ68YxHrKcMfR4Pv+CsqOByr+2ldz+lTpzdbzc3z/rCJxKAHscj65zx450sD26CLelhvRizSedYzJQbq9iaYUPyqZireevqqMb/1DQ68jBDgSlNciswGFKAhh9f8KBxGkT/3C4MfBS3zU1oi8P4uHB81CscvdIHq2q/uqlFDpvTeGkW5KSnlolTe/1Xv3X6l9fPR1b6oG7FfaVPvRQ0J3kqc3/YaN9UtjdT35olPjMJIQTcJEVeXNKb7SHmKYLusw76qDg6HaGJy7ZZkkZDHb5t8LkwkzEse23fon4m4nUgOCj6o1kCX+4xPjG/h4dUn9evKPm1HJMVd3ajj89edImq6zftm39f7hd8Ab0zCaHN8dFxxXTh4RcqeYqHs4g+x8W8Tw2BjonLiIdVty6Xr6dqv5TapzOaq+jaZK3epTd5TW15dPIIq7CAvExfXYZPKJW2Dma3O1kwCZ5V7A8qavVhUzZPlYT1ZtLubKaIwlkflIfigOjmY2NTkdJaXCXneuOXvyLXTedWm/vMGmvi9UnDxp275vfLrrlpPxKb0EnEzM9BSfWgpMU/IFSodE+1jlLOiY335FOIAeq/mmVEYQZBMVpc+1c3ExuYMNTmmzh3ovqnI0Mo+3etMvGuKKrPE91w36uLEVj+LbYXqbo6lGVK54aeMORUML1eQHd++qHV+XFmsTX5j3tfSPvkzRmbedmX9pC++xrc/ilvT1bIPcsd5Mzljc+u9wSld7Tk6S0ZJx8pO5dH9oovVN+d+LTXlTRtummwdsuH6XerlKFaVq93RQ6JLVTZpn8prfNvj2N36Arfc01dJF6/qw0lMfxPPgoOOz08zjXDYtwIrH6BjzKvXowhYkRV6vgxbwikfHTsqh+eLaA7oMvJ+WR+vg/f1yxD0J4YkOQBZ2Ahba6ABMXmihYkw1tQfNFg9Uf1LdAlajayRaEHvc+OTwP//WcKWtmVV9Y2NTuceJ+XWsWFD1wZ4boKXZEgTtdIzbZo3k5OZpJkcNiyGzKXHzngNhpWi9kncKIHU5guRBtyoN5JGIjR12j7cQBhC3qGpgM/yenKWleIE4dUYlfROm+ahVj7n78XZqOU5npUePPUMtC9EMOHUaSEjYST1eKMjU59NKojiJrUXrTQY+sE1nx7oAytXjhqVW3gHfZWlvGyYXV4ezpszaKmIo49o+mGKP+AJBB6Mpx8/pqHmQyECzY6cidIpOjJIhwysN2/MNZge/VD5/0DA7Q/IF9OPHtFvIKNrA7ha6vbm/i19+4FEINBeaOxNntA+4w9XIZXf2efrnE8VXSi0JvbNzu9cKDlfJJEYZhskcRKDr7RF1Maw0Ziv5afzDcPKNCUqVbGmfJjhnGzIMqOxj5avu6tfrFKXpmyYUZDO1y6D8ghhJOAPRCxooDawiuEwvHxZotnSN5L7RSTy7ImmxBLe2jaLXqMXVCYZGiwKsNCGdlZLn7qdDz0okkP7Dx/en3/wgYGX6XaInoi7YK7d2LY6VUUWK4yzEVUKLRYbfRGqympTrOyZpnyhF53WZ9szUl3+TF2WUFyapw7zOK27JFld9kxdrm975rrQM01ZGxN463vrhg/XeQutBG+eClPp0Iajpn5jo1p1MCWcZkyzpIlBbIzkaebWAwb4Lwvif0qxxArI7zczYH7PmP0Qvp5+IzFA5iQvBrpWXP3hB4Vi1MhDh/bsub4hINqP/HDRJRfpstsnoMNuXy0yZjv38zJ39DCjzZhA6B2ayK3quDFGG0ISRtiIKxZy2NdyM2ZDAnmBiD8ueVQ6TkvY/1DyUPm8JEG7FvVgXJDpJM7//gv55cnKnLDsPeViA5s0q3p7dEhd251yMbieFr8WlUOe7sz6qyUi91H7SNTypZNNf+0KL8iQqJzg/vf/OFnt21k+cq2T/XcCN0Q1caH0f1H3YUhSYQPShnZsrj2+0jkEtzf4J+x3eiFVY06yDB7hdxnRBQ+ZwGQAt1f4fuwvwvXY/TYW8DKjqfBpTJ0KApNxA53xn77wCIdlAx8eGcTs/592wP/if7wZvVkVPXGejrw1dh3c3sqEP0wvMKDvs1S1qMxIo3rMbhug4+IEsAZst6QW2bCEMENxYWNfSZpMaU2OZEjMxUIe8Yf5j+Mrg9/Oi19KU7p/iJXxTyAUxD0/9KI3o5lwITA/p5l/Wnek3yoMO6s/Zcw/yXHVFSDCvasIJv99QYPzrHV/YvDuhuJgBfDHVLgSTs3DATzKEhH4gukSUi6EMWZVCsEcyH/7cwLysiq0SzG0gC66BEIwDDBALURAkITpXhcGvPAWYKo0A6HKqS4sROEJcFT5GJLg8j/kMH9ehmqduT38vQR7HU3OAX6jL9FIeealj/2PkgNTdzaczl/HPRKKUbTd5tDlyZ+rus4Jj90dk2KM3CXhBwQdtqrpYr12M10D8DgzvHsisK7FJ8hBZgH4DXmlvKSiModS9h9ecosvlZHOmcGpqvGekjozdA4WtnFIWDY9sHMaMKeLJMHGnN6Z5RQhBsD3NMmlBwi84GCrISUX1sGinGpwAEZMxzQ1wmYrCq4sEEYEsYhDPBKQ+Ekef+tKEP9PH/IHgqFwJBqLJ5KpdCabyxeKpXKlWqs3mq12p9vrD4aj8USdalQ3TMt2XJeuXLtx6869jz757Iuvvvnuh5/raRxe0BsNTLUZ4V1emg01BAHGCk4j+sqjIzxueN9nUbQfXpQQyKKijIGM4ptVnkJKEz+Djix9Cks1pLmPZaT8BJpUDCjaFXQ6VDCc8xL2tIRXVzYzVPg1TVo7kjGuak/wxz5Hk7fLXKxdxQYVK1eSdeUnpGqKXNLqv0SRp9M6FrWst4ltbCDfjrEPYzjiakwqbU9NhRjlXrN5Ez5V097EyDu0VTKQDpepqGqNibVNg1Pgkl9JTZ+G+01RZerZuZcvtKiS8ltd5ZjwSb4fUnrLO3rmumR9Cr+Otb3DPQbdMYd4o4LoyFBbHgtkq3SVXK1AHtT2HXcSa7JUterF5LnhCaQCRnYyEG092tjrbzUqkoOJc1wzAAAA"},9377:function(e){"use strict";e.exports="data:font/woff2;charset=utf-8;base64,d09GMgABAAAAABYUAAsAAAAALgQAABXCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHIlWBmAAi34KtgCsbgE2AiQDgiwLgRgABCAFhEYHhQgbFShVBoWNAwDFdIdHRcnM5KKoz4JRSvb/dQI3RERcg94LUYNDlJRRFMzQjtavWYLQT3ERFiy0h+AmMcl3xzOrdBEOnrkyLmf//l46s40Rjx2SFE0Caj9+e+++iEZTS4aYhazJQmMIWTOJkBiSNv9p6u81uXStcTtz9aNQWCTCegJgeNrmv7sD5QiVg1YMBCdgEQYIh4Vg9KEuylihU6xYtNtcVeF+1IqVkb9CXZQrtz8H3y0/gdMEmCGnwuiZzJlL5Mx56v1pf9Nf8JlgE/fK64B8AP77qu3R9TZnWJIDRkb4Ze+zzlYKOJKfrKsR8H9rqT0suIAssWuFrjDkzMzs3GX/TjbAmwldUtrw3AYIimgBFdBurgSgKlsF7Mj2Vem+qlpZV4LlofSmgUjUeQAQ7gbkYx89r5NZUyFU/7Kkb0cwOCTCSaCmjituLjwUGo2RIMVpbsTFjAopWV+KrMgbH6NzVxPqwfUQBt6IAGR5cyiz86u78i4dv3VFFeRp2QDeSoZL588el3EZCy0JCspXlnJJnq0/bvkY8sKt8CppjIPxVnwcv6b40VZFZWtPBTWkd3YUQ2CcIOkURbSaUDKYVG6yGnK6xrTGwLF55RBKSMICXX3VacPCiMqBSXP68Xs9MCjvrWy91tK7pzvRCISDQ6qW3iw9Fak+gRE2zLy4/q4y37xuulCfUCGNbxRj61PXJuniW+ZAK06xe3Xg3sgxVDTJ8AXUet41jKNskhmb3qTSdPJBiT66G0SwuNkMvtpUlrhANzvRaQTOhjC+fmuojcdjipqOLL+dcmeXapTAgozS9tsvdZrYTNiyuu7d645hcv2uypVxzrwu5RYy3jorwnSGYFl1tXVTmSuevv7gk89++l8oZCgZcirSqo33DPKztfyy7pr2uUirYfuZUJr2Gg0szclUJ/OVRwXms2pkqJoqnaPwBePrhmYpBYrNGmJCimVAux401R0YxTXKdTyTqQ7kBV+QV9I5mXxqAQZCqqbOsHkoLVBdR8yQF3qIrDJ73MQ/mTTrTGkba09yk/VCO4lr6uUbOLCuVhnmG8id/tVnZWlBnxnwZmdqXD6ce30ayAkfsQwnb2RnOx57KNPZB5YXKZId5lxx3mckh2KyzxsJgO0JPXjO7INZVrD8CeUyZ8SOGkd2wPsGbVftbmfDtRlNzStowt8ejHeA0WILzRbehSxJSR6Fp1JB8iB5g4f1uw9fdIUEJLTo6SI2z8yd8kHbr5XId+ylTH+31XNhZUAqEIFWIAUkZcuzQgH1JaeVqtp0f5D/yFGmQB7+uebBr5VjY9r8ddGNX3DC+6QF9Z5x7oiDruCe0U8Ayz+Z4wkuGxsqJpoNiCknw3wLlgUKFaIpVrdlFVU1dQ1NLW0dXb3c9qGRsYkHcGZuYWmlZm1ja2ev6+Do5Oyiq+bqpubu4kHV9vTy9gEhzVPytK170gpZTpwB7tisLo/7/yP9c9mwny5TOYCSmbCNtoFpHNcNnDCJk0aBU2ZwWh9wxhLO6gHOGQfOGwAumgAuGQMum8UVQ8BVg8A187ihF7hpBLilH7htDncs4q5h4J4p3LeAB7HMrwIxNUVQBSRoQlEoCWWhIlSFmlAXGkJTaAltoSN0hZ7QFwbCUBgJY2EiTIWZMBcWwlJYCWuLbPBrk1lbYSfshYNwNG11kmXOwkW4CjfhbiI8LLLBr2dSvIS3We4j6bCJQyQKtYjgF5tuw2UXhCAF3eGHldGfZ7yUkQ2yH3r6EEBL6vkNeOA/2N27vo335BeCopd9dwodW+/6Zdh2/dhfniJvNPmCvTvsF4u3ABwiE/OFIb4oh0MnJbHZLklEDfEgIfQ5igeDzkSoiihRIINBQddfEuQi4XFQ1IvFYAq5LiQUxxdCCRcSiiqCbWJdXYUzR1Eeh06ho74oW+LJRykCMhl1dSELOMJRJbmhLuEjcfjCLKDEYaNRD/rkGi93dYn68nd1dmp+L7jS3e3dP3FvT0/kX9NWPvIiOoFi3f04/I/Cqx0+AxP2tEd0U1d2TqdCVBCR2d0/zjku2N4ZuCnwGvsYwBANOHTPq1Yek2KWL+dLZQMPAtka6BylaxhfS5x2so5rI2xOFqTRDpsFhnj795c5SBZEV5BCjSCNW0EqM2OIxiqKrWKCYgEMB8Pe8bEQC05iG6qrLUAcA7TEJUwTFqqWhRdphgEKFF3/zyVeXVKjL782R7+96rKPXHlD5tghGvKZP+SCi+RLGxSgsx/93eTvC/vp3PwIpzTsTpflgfJZ+wrVjmRgFhXicd7+R8zvcxmP+RnF5LArOHa7zTeBxCcFPpvgqzX/ModS0pzAcW77fal1OcpMbwtFgyKP9kVPfQLBf4qdNO5JYDw+o8TTaSTOZpPJo1A9dfEu1m6fB0pYRL3JLBKXgHIko+UqYzEtQpX8LSRaon4wc+REIoK1HFSTZ71nsxfUiznjZzKJQOcWTYo0UCIRT/MZTyST4JTHfDC0GFGAm4TD7nrUy7zeKPpIfL8QTeXOeObPFQqvSSGrqFclRjKXwTUp0RdpzUTcyivnb2t3L6oX7jiP1Uc2jMaS2dPu3ztJd3BhoznLHahp6Zlyyn2lwpkWgOInNJJz/bQ462XZE08jkYXq3xVYeCH0vcWxET5alvdTvxUH1jBd7186S3ZUpsDq6b6DQXpL73IbdOHHz7UG3qFzWdWS5u9avT4zcnSyNmc122Uqun8mDxTDwNrq4EWomiYSK+So59VJtHMsi9frrhLA1ySmSFJNuF4UGj5T6DqIsIxmWVCO+9O6A2ve+cMAkP9WQ9SbPWgGHkC46AfFkzlgLL9fDfZBSrIiueBXKQYLuOMpG7JzBDHlu/MT28LTgW18u/C0AzpnZNrFX7ZvkR3/vd8JHAfIQmiIHmJO6OAH/w67PbeNqsN+ktYHbnypOWpJEjxaA/33yvJ69Ym1941dNyX+0Oq5sGpU6H5yT+8+v1KK+bx3zM6UxHNW/3WjSrnk93uOVEPpYeVFq+akueoG+jldMjr06TUsOKvDDzxwgB/NQOBoo5QyzsgsY5RQLo9sFfIeo8cxItTncNbp/OSTDWpw5EJaMuaLCSgUyqJUqAsxJTHTJJpevpzdbp292LkqNPfcCj5svNrDjB0r556EeHr7PvL6Z7vfdV3q5mdltSLZkhX+02VxgMS7R8CmPH6PndrHp9CuPvmAiJZR0iKr5r51iAfH8g8xBk6Itfue9Hsh5otRy4vbbm7hRztzq8/55jua1a0B4omUn2jLr2iqhJ/R96fdcU85edH3zD/vy9WmGiq4J4IjvnOVrJH1aVeBwdsWrF6F2zmzGYbchVe8oza5D3km83NxPx98KeVqf1LqMWR6HYZc9AwRQzwLcE2X6GvmNOoDmL9AAM/qdEVXdNXAyiEcagv67Gj+viC5gzy545538oOcUAdwkgOcyTaXHdnmDH/7FD9A2KHpxG9uIUi5PJtCKMDdDtLQ5CLgkoV7TVjxGPM0ovmCMdVrLrDocFo32s8bhhU8tG7/PX3V2QcVvVU7tC7UL8X9aw/l7rbedKO60TI7rphoskN4xjY94HymfuVWD8IryQIbYiH+2hGFoFoqBM5mHyHt4ckHz+6duM8Vu3ANlz9+X0YnTaHXFf74JwzNasRT4ov6Vfus9FEfldMMeABKjjHUQgviYKZkHS9PkMkSXBEvCa6yhARZudIJYj4Dfqy0mgRG4b0ZS5HZmNpPRF2anxoTQcQ85Rx4dswoHPloNI4iLr+Tb7sGsvd/QjdUP30/6ZcZHqNGY3MtNVRTGD8QEzoQNyVz4L83rIdwfC241Wk2OzaQTXWYzQzGUQT6zqVL7z0G+d454m0c+MTbZuSqCKWSUOU6c/uVBKHMVTlNpsUGq0VukslMcssJ0AgmmUV+HCiSMRUcl60KEfRDh52Ha+Ahp0c9c/BxVvP25iFzlaVq8GP1aDXQLFBmh4ZmKwftZbNDlczh4TcnF4u8vhEtEX3jJcIf63Ev9++/d89v27a5ZSH3ZMxjvUUP1PGDgaanXGgyB8Pf7tu3o6AAhg36W7r6Wz/dOms4dap12CoQAxMQC4gnreB6v1FlvKHEVbhDiR0qEax/477I8Re5DAfIN40oLHK5RaFWyCwWeRBjl4tS5ecAa4Ce98g/0qc3MZhCZrbIFZuN26UJUvDGpzLPZqD9v5nF1WULE85D42aOU46bMS4C/VtNKy4+8vyrpq4F6qQExnj0Q2X7uulrRO1sj5nK0b0JHPEP1QiLFx2AoXsY9foqtTvvosr3RrFvXp5gntvuc24CPocrcrs7gtFa3RpmlT+hM3Mxt328txEHQAf7Ty7WRKrl7GXM1qX/4Y0x0AnH4rjcQz9hu6Jb5TdkDr4ccOppNalUMl/TwZ+71f3aZL7qfgiFuhezg7vulIT6wLBFLVtfj0kCZpnMbE2fWWZNVA+rEKnZRY3FTWyTSG4hE6AJqPB/HhsovLNLs+uOZqnt8rwOsdfDr97cybb/zmoJDNtQD7CU7twiNfPc2m/l1yXPaS1J5hrdmeL30eON4/c8Jn6guIfSmalpJTl1X23CWvlsfnjevNz68OVkiruvOwbW97QpuJNXGjS8nBI2C8YmwsfSFiz3z7sHiY7vfJnvdFgsyZLjzExWDjs+LFMbZh0NXnz00P8jbcNtDsOWLyl5RZA0P9OQrp/GKmJPFFm1jh1J+kKdrjBayo1NWRYyljxUBInMlaWb9HvgZD+/i7FcaXSRTluol3DiUpR9W0Pl8rrxC53t2BKqqDBZ/q4LfDr8M3HS5LQS/9niuQy7W74xQ6vMzcCX4MTXhTbELQVarS+1eSccintlChZUidOTLWP21k2L0k6ryqBp2io56kGgH+9qh5poIGGeWw7rdwmo2gepIehYw82y+jp6pWMVIMAuoM6sy4zVt66VmOwqnFlXv/oKq9eSFv1KUEM+jqluTKuvY4IP1XkJezkj+AjoI96MO5qMzcYbTeqCVLh5Moa/B8zGh0xhzXhzjUGLa2tw5HhT+o3hCn4FBMa46S8oPoKDgLXPWtpaKrpFSuT7Knwfamr6E/9zv3AQ8CWsoBVRhVnbNrfZ5jizsSa9vjibY2phIhckgBk/csWt4LeX/icahcv2vLDNuc9bdrd0TyFFnurjnDPnOXfxjbKzv9RRi9L5halHmDZbYKvmMxHpDFGRmgkfWJypb/tF1qRd++LS26fKATYZH8XLvG/dcqTyLZrEwVeO4qNKQ0zyZDZ2ssIh+uMxT+bgyS24rxc2mez2zMya5+5uxgKoHgvsRnuzHYfqRjt48Ar5vxdxySlf9xXc6y+4PDPLRJuxalF/v7PP2X8MN2MvKWNvskjyMP9XUHuwZhJkVWeGlRxBJ9OKZBOkGamRFs1VSR57EicOv2XcDeVAuZIkn5jSgpXhMXgGZFbEyyaspmRQCEmqND0rOE3eRkqTEUEyq9jiSrhm5q81yZOCttz+TN5ONqU3fRvrn+SiQYvrGzxmhdqESzb/hcrb7sVCrdX19Th1PS9GEJe/K4vU2h7FS5ks/PJlCLSyRNjFntY/cv9o7bmINYsX8sVXxPyF4hFV/OjBXO67XMxbUKeOCDWCK0K18D5895txYbzwiiABZDavX08R6tJX3doxOKdg2rpjety7VyRKufxnYuLMIjKJL9Fl/DRn8+be8cv095rQtRea3+7cObkCowoE1YVc10rmps2VG2m/d/NedXR02nL1n7SRz8nPKB1VoDx772S6b87yZeN1t20OgsghHCvKA2WJJrm9aoXj+ioIx/aXGu6GLjRClOjaNK/hJthBap6Pf9CkdPyKEw1GY1tjUwO0uSL4nHZd0/yvmsrN8+YDn/jBGZMC8qUrV0rzAyY5Ew16N5wvnRTgtDEtNtQWRxdotQXRxc8d+ZwCbbHuOcRk07l0f2F0jCt99rL1cSTixENLNRDJHJFKW1qGZ0JYy7iE+8QadC8ckVgkORIxEFt4UZLqabPteAjyjlNtIwHC4ma4uw/0PNAVu8gxXWFL682lpefPty1dFhsLHNgYOSqgVtpgpppJZu7YGRk5NKgkqz1criwihoaY7st/8c6CynhmWYbpHgXe6l+cv4hn0XbMZ9gq2Uk7bmFfkizNx2ljBp4v+tuq9HT1yH9uZ/Trcx8reWLevgJdFBj+bDYLpvOnCLVv7drpAkXmg55GzIJnpSOLnU6Rp9bWsjV0NWLO/7hwGB/mfrvIzd0XYjgG3lwWxiOasJqjFvQJExo0TIzgkhnFFSLxQHfg+cLD1sRyIvHyNfzaFcJUbjUdWSjAA02ZsllT62oWOGVcN16/PIjyiYcX8A2B1kwCZ1jB/LEY2tg3UcgZAKmWt0FkwT8h7EnZtqQTmU/02JgpBpEhBMYGl/E6pEhIMOKWBW9EyJPhaalR8E+qBsDYkZ+Qp5FtWnZRpyksJfUooqtV/0hnsHt0mWD4+SGHNYVWIJ6qnbxK0jL5fzwpzoeqODL8xKEOQhYhtbwEaaQ21d6ceE+8uVgeGd54qn4X7WSnliIlOWlXdxIPq3cFJ7rI8z/kkh72pfOmuuvfUjAyCAA0Af3rqwUYVy98xZ8C8O2YkAjoL1QcMtgKDf2/9Hy9Ju6N8KS1vNAk/IeA358yqLbC9/zfk+oXqHguAP7ZpnqAnxCDfFBdg0HxhgIgqroM7CR37RgywEACFzv3AFDXahycnAaWgVKAAEhCAQRlYAEeYwMuEAc7uI9AAbi/GlMIvKAbisD9dAwCDCJ9MwxaoAnDsfqpjX/HUGP7i6pzQDXWQ2/yjzQ1wtlL8Wx1ZT+JSdHIZ6d7li7Vq1mZlSpt9kPYLioEyaLKJzkrarP4djyW+KwLJ+0TVj+18e8Y6jNC+0Ub7RxQ19RHk7D2j9aQ4H0Tzl6KZ5/2n4x9T4hGXjvdRS1dTtqrUa3MeF2lVdmPWIlPCBTkyKK9/kkO86IOoce3I+2o9MsLFwsdt6xXNUrOEmBFgS70oA8DGMIIxjCBKXxhkr4c/utWnW6vPxiOxpPpbL5Yrtab7W5/OJ7Ol+vt/ni+3h9MKONC6oZp2Y7r8QVCkVgilcl9/fg1bAVWlVKF1ggPUFWuqYvJDRyyo9B3Naqt2kju6yS3XEknfzCcpmFPRto2jEYbq/gz+yo/cxJE89hcDdThXTy3nCZO2BSdke85ife+U0mp69Kl687W85Rcn25Jy6OOjhg7+KfYcpSngKnuqr5B2YQE5f6U1WS9SpvY3z45x56jbIhU2iA0nPLZDoOgb7gatXhr2uZBvZb4PMopZY7AwjRlsRxDkCvR/Rg4irpEcb/0i9hKg74dyU9nM+FcynJpOBr3talq6yW80CS1MRTJvVx5pOHMgJV5PRtTokpKGZ05c0IvhnPqW6BWRtnCmRBslMgsw88mAUIFCgQGDQgwXCGBgwA1fMEJbpB7aOEMEe5wgRIeTwAA"},2006:function(e){"use strict";e.exports="data:font/woff2;charset=utf-8;base64,d09GMgABAAAAABmsAAsAAAAANbQAABlcAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHIlWBmAAi34KxFS3OAE2AiQDgkALgSIABCAFhEYHhUIbrS1lhhRsHMDmjYY+2f9fJnBjSJQDf3Gmak2UmCoRplwn+JpsYTlytdwFD68gMxAuB6741XeLNiaMyYN/Iiaja7H1EUOGUhLUj/323jcjUYJlMU80EU94ogRKZmiBUH/jr7U+X0/3AC4BDOAS/7sQgIpQqZPxwEKiCutUygMLnSGasyZsKRo2YYIFiy8EPEDFongwrRhWQbxiSLopNaEOFUqTmm5qTrZHFe66WzFSMeAFzgogYN7fKmG3GmaqyKkJcuZTdX6S1pPWgQysvt4IsiLS+voh/7c/Nf9aap09LHbKmLfn5uSXXQaBSUDiCeFyEfB/OrPWEGLnEOaAq4q6TjMaaT1/vryWIS+yorfn9ZGikFbLXqKkOkCurrTXB3ZYQawu1RUll1g0V7TXpT5oqytTnm411z0+bukoMcg+f00X2lun4IUXCmKEACE+kpAE6lenRyKAsj4HNb6eX6ecPHBzJomInhng2DlOntjfxL1nkYIlgTuw7NOgKLrdy34IBb2MPkp1rOGX8duZ37On0REwTl4XItLicDqDRmWy2BwUhj67sc3lwbZnluMFxdG5tfcOYgid5cCtVtNehZ9qy6N8Y2XPZC7cDds5fr5VvsKT56ihWTQLJkKQ1WcJ4R0ZNjxzKu/t8IM4awcqx5ZhK4C2NmOYC8PMrLy/b+tuPdg6Y2FYi6DJoNulpfrW0iUyBGfmbB7flj4+b9u2A4Ojg7DMLMlc2lQot5k2VPOScbe2iDCsmfKIjHtnYCiqLNc97FUtol0JuSGUyx9tDMmTW27PdDTn33bOcGZq42bBvYMpTkJpSldN46kjVKfZwUqStp51wye+1u2lz/6LoCKwohYzJtX7X7GtyXp2TpAxum+e5Xx6wxbDzzBCoceT2HSt1W0cSA0adCIBQZNONWvQ2xKwrLX2dhwegjEDrnpBo/+CSmeSzfUGHo9E2G/2kWLS3okPNsBahCCpbijNlRuo69CkwPZcRJkgz/aYlslJl5Rs0p+2PbM9V5JNk8y39txZBke1ZlHnXhhyeLrFuZgzETWMvfnYprE1sMD2ZLmzI2vss+MGOI65YGuHKIcGvaYpz0Y8neFkb4yDKAZceNtQ5ixPBmuPECo9TwnmxxqwwyKyG3O1yyiz1MuuRRSq95CmAoIzc1s7w9uTM5LejRtokJ6oz4Gv5IePP2FBASR0BqK9WN6b2PG1oKaO/AnYyM592zB8fiuQAzJAh2/MpdbiUrQA3nsdMCHv9BC/Aqo4FKLjCc97s6n/+y86PeApLzZRSo+sIMXBtKopUIW9MrMAebbMG1iW5qRjTJwMsUcY19rRBULBCBoz210OTyCSyBQ+fgFBIWr9UTFxCZwFmJKWkZUjyisoKikLqqiqqWtoamnr6OrpGxjyGxmbmILIQ3QnT2nUNTGb7j1rCwuWozODdrf/+4fN/WlofVwCrwowGQ9WVctXZArYJF3AFpkAtskIsEOmgV3SC+yRRWCfdAMHZAw4JP3AMRkHTsgocEpmgDMyCJyTAeCCzAFXpAe4JsPADekDbskscEcWgHsyBDyQSeCRzANP1y6BJgIJUgBADAAkAEAaAMgAAFkAIAcA5AGAAgBQBABKAEAZAKgAAH0AQD8AMAAADAIAQwDAMAAwAgCMAgBjAMA4ADABAEwCAFMAwDQAMAMAzAIAcwDAPFS5sQBwiUUAYAkAWAYAVgCAVaiyYg2gCOsAwAYAsAkAbAEA2wDADgCwCwDsAQD7AMABAHAIABwBAMcAwAlUteEUgA1VAKAGANQhoITlzRa+gU9Q/qf2I3Li106LExgVpVnKQxjkqZk/ObMidiGpueT8tqQ2PGZHiVYjBBKD4ckloivb1pN5uXp2kE1l4ymJSctRdtYwWPKH0wEsDNwsX+Kl5KFbL1yOteU6L8pqSyE+NCvSSZVQMl+QJUlW5JWZil+coEQqEKEj0QVJNaqyP9zNF/ORTFrCwSAOBeVwPJlMRxIZgVz+iGI8gvM6LXJp4jHgR9hn2dRlE/KX0iwKLg8JpHDBKZOuXrEc3cK8bFR4RNpbktpLK/3TUFBQzHwxKHPEPemSPVYh52btL5tI2tUqu0rTu4ys7eWL8y9Eomq1uFDYnSrdfQfjF733Za2SVpL1SMCWKrm88qJqYfczJVegXwuoOvGYrLjFJ1Fw+2ResiOlvW4hH7sMWNWJZPWWbf+E84zw80iIImUxujRJtJnWM+JYtWLw+IU8A4YNd5ccTnjnCqK1wtoj9om+aLEsCpZyVDD5k9kt9HqSllAqEDPwm55gmtD4VPQz+F60fNGZSQOJEi59194/82c03/ySrw4PGT+Kf8ULrK+kh8lR+pMueTU3jJYrXifpXpkhEB70Qh2mYbYHVeKKvfd3OTFyFLH4tiOzmFZzehnv6crh4CgZH0ZrnBVdKZNR2UxJsG0Fh9CDbu55MjrIEDgwAp7DY0P0HXS9YrgMjuUYmUU+UFIlaRKwt0pBieFxOiULAVVdq82vlDTVQjoKdEYluGHl0NiWVMvIwKySisFRjgRl78c+q12XyYB8PnsTjwyc0EKRFooqyR0aAzr9tPl7D2S07t8zqipKmfvm/Q3EB7qlxuItPMEwcFLUA3jE3gDsJ0+nlaxgc9z1O5AvX5RbUqibURkH9bC+myOLzen2dGgYoiU6Po9zfPlsON32RAk9k1JiKrCGzy3JrbBmWCyipmnbZrbFIoeVKr1aHaqXiiQvmDakMWnR5wDLZZ5VL4SMhp6tKRqVWEo5IpiQIUHJnceWJaozXBElto57YC/pR30ySpIoKq5SMrTVq+Dv1UZhXBhPxckNou2a2hGnLrOJu5YgyillKpS6xmIaHLTzPxEpQ8scv5Dj5UdAe8IVLVQU2uROV7SZbsL5qcc812Wl3b2gkcMFcYUqaBtg+BLSe7CHYtpZN1cQ36lF+ojOEiWKewqjd9rTwn1GS/+Gq187dGDqRAzwopxfGSwtyma5Wz5ErfagXSKzJ+xC42QvbVVpld/Gh6Gcnb5zW+3m4P5KghzLIJKczT7ojhCwWB27MHQguUKJ8KkJXSx+ZqGrVXv7z45rSaP1To/u7p1td7bXz/j9wpAacwmWw4PZNzEvW9vafRf1k17Yg/s0HIYwikiSIPKmHd/bP7esu7V2WvW5AUbAZQ7mwNQCp769c3rF7t7To0pEtOQmCrjnix50Ndz0lZN4OprysAs9Tk9XLQKv067qMWg+a+M2pwavN81EaFZ2THFMgZu+dTHrLiO5Dc+Rzt5a7Ve90qv4AAiPXb7RhljaAvecls4kD2deTuBtn6iLh69pzFTZo7IBFGkTBh+qN2vaAySq1TVIvU/+729GTX1dAGB/tpIjUc6BoZbu+QB39DTAxt7OXFaTCXCvplGSenqq0rqHp3SnOrXkKF/zDIVyt6VLxrsazWmTn9XIq32Y//YDz4I3PEkMO5RkRhLeHdRvaZJO8+Ls0aU+aFDjYABF0V6evXhjRuEqYs9nwXOG39QWgx3haO2P55NcfSsWgQmPTk6WYhIr3fjeCKcPUG93jfzRXaMFOJBWEi0hIIPMvIMOqnVBdA3ijDasjkdmAV84g5S6++tZuTQ/CU9SlrGXy1haGczkpmHeHqjryd7OCh/IgOUumfNa1aoK2l2zlSv4E3VOSzn4aNoXDYxsYmBbs62DU7l8rtPm8NZ2d2LZtrE4GQasevPrbd0Hxvu7jqh2DX0ZAclTrv0+MFGgHNpq9ZFSIWlPPisaHp9M4OObNZqbEn63TJkdpoPIYnpi6uFjWS1n4fTIC2XyZGxMPpJVhmYQpUC0PbgekWJXMM/xkKnYgrfEOa5Tiapmfn2g4tKlNCotLo+ve2FXT2sIcbzBQTPL6qX+o+13e9vMUPnolMocb1ZJaUIhLevTVkmjxDNSatY9nLKgmBeUUlGnvqJTzs37GZfKHJs+b5osE9hHhauZ+7fIe9WYVcE1kSnO3rW+hihvY+yw4GYVHTVazHt2VoAc0tsYBw9wRLr/e4gaaKFdqneOTgyAQgP/9jbChrdsC2qcZyqymh8T7uprQs265WP36WtMusxf6esqKIeOl75ulFE1V7Hmb17GouDmAGiGvjr7Or5XwmokqVIiTLnkcL50USoDJ8kjNIUnSneznkjq4gc24hY5Es1nV317AVSHXqz53SJ4+MKcHs0y/HiB7u0kkpo/nzkICc4KaJKYYFrJTccW35Y67SVpkJAQnOUcAg4y55/zWPhh3IfxC7iAn36OltCLF5PWOySUmQFGSGuDhFq8OKOBXqdj5xS1XgLgJ7ym+WDgmSrjl3QBhrk1O4fdXDu/EZVyWEJeQj12FvBmBdMY7e5OWh+WU/fvXUcIzMC5/sgFlXo4COu/3FT3np7e3hcSg+Syiz09rcX8LB3eG5n1Oh5bKsZ7ewBPVQ4NnB0cA7YxmUMp2VZVsg1lJ55CE2aEwwX1hgFz08ctyjGafIILMtarAhdNLC5JRJFwpM6eLCpCE0PDQ1FtSVESumIyuMgG7nbHeIgtZ9Qeq4q66oWaqi3LZzbxqe8ys5ExWuzIcD2SwrimqOzaBoSqcPamHetb+za02VbU8IfS11TFHg093NzF81e8Xd+//vGK+c3ZgZm3UpMv21VTX6JYlZraGeIe0pqeRjzmPCYsWlOhO1NTVz32BKjwHIUZMHN5OUXhLCVLQWFVxmDEIKOwgMboxMT1Nys6uok2pxiszXSmvX2E69QLN24YvAysJbzNgs08r7UlbiBhw0+N9HTMaakGNMSz3XLWZrQ7nH/bsvPteQc000cDbFWz2QPcGNG+AGHcULpPFCM8JQ3JnTRf9FqN1u/aPXX31no0ExUNbaUVyQ0GRNt2VTqVA2EWSkvooSH4qKvt1mRv5KMlwO4mxiLaVvWgETNBRLovtC10nxRpe839IrWaBMz+2KHO52ROG8IqfJZwo4dwg5C7YT23nRvOY58ARD7+i6oZMdrV1c2VxEwYldzIlcYIjKSvYMgOBaIe9xUV1JStUJ9kYEVYGFaIRa3OkRr8dLfnu9p6PeOprZ+c9QejrO05OuHs3h+fXU4Wb5IITuugs5v3nwfgCPs11zQx/qlF3fYT5v1y98pNr3Vil2g8ljrtPuHk4TE0LnSF/EHlMo7Dnmur1Q1fHNmZkHmq4expl+G7OJBj8ZAsainGXfYyI6L8tG9Z14RMu3zV7+9cD9xxPjZ2nZTwN7lLgdtKaweti721e8QTt7JOp84yt7B7Mlv7vc6ad3Cn8/lmBamgFVSXNmpCzmxREVeTaj9nT0NjQCCl1oOhf/5UM9KF8crwVGayu8kt2TE1XBkvTLdSNUS7U5MPkoICk43n+KTCrKAU9Nq6Owo9PfQ2HODLgqABIzhvHz+hphskpFBAY2sTLxqUb06N/slj4s7k47s59fFzVs+Pd0vuZuM/2sflTsq9eUT1zLY71JGdmDQvo37n/Fi4x5ZjG+2uKchaENn51K5byXQG/kIjYYbRsbWomK2r1WvMOYKuAl9VDCifEZ7oJ1ePk/slle5rr2zwlt99mN4T/fBDPnMg7ofWL9etUtAXvUTw2P13cuSLC530qpbL0y+6kla5HnmuSqVrnkcuj5reED5cMC1rWBlUslAQ11DZ3l667Iy0W65O9JsRXh4SAlTLxLOHa5Kzhy7f944EuVrsddwAc1z5hhQiWiOESrON0aQehYG5lkb/hIKtcle163Ip3smtBQn+jUokJ0zRa39bGagKTvBI92qDAmWUXfO2fa8iLAeZ6M2j5XE3bVdIUlBQ0lQpbp66f8Ldcg6bUDbaC2j/hgT8zrOX1d8h0fHBRy4INRaM5zh70YGAMbQDZH9zmXLQ3vofG+r9hbTenkKRXNR/pOP7/QDwW8ejFTqyYoi3n2ssjVLPQTYZLxcVaxsB6U0ZhdGCadyBiEke7U1UM8J2NAOdJsCLsxV6BzwtncLI9LSy0DRolBihaMQKpPpZmaDPQem0sU9DTu4D9AOOsGq4ZoaKkh/2IA/D60ykLhCqPEnJ4RQqIKA/jh/Xb6rbuy0m+yxmSGAENIOeWu6IaNUYVfSgZ6xr6R4bnCacpORnTNGaiYp0UXDOtEvduYNZsjGyrEFuLF0VOLFB6aKJCn7m5IvekhMGhXbM2Mm3yiTOXhIQCpsnIdmxmTsIs/BQeyvW9JEYXVNjtjakmF2iMcl9D6gMJXoOu/iBsIqRsAzd5O8pyjGeZshlqXw1NZTEYL0tkdh73QSsjLmyXupAHQ6kiKFvHX1/v5W29v/CeRtuPwwJOIxMHxsBjpKMpYj/6qdbUYPu7wfz/4Ym3jGNiRwzP8KtfuIEn4N79lMDjDu9i8bovj5cal4Rq7K/3mIxY6HsgdAT1vitdCvrLRa938QbBvz01eJnf/utzuSxrHqckhit6b1ava7Z2cxoJivQnid2/tgxgM6KBG7uCsWY0fLcKcnB2qAgbXAyIcVpbdDeNPFZkZ1dN7ZgzMyZYwrGfT/KUUbZDvg27rz1GygY+9pgXEEdcEXuCxx5XNGpgJGrPOCUaNBjQDWJa2APoWp0kHVHYiqzuCGaOslncV1miBr9yPRrJyCdO0k94KEOzsRFNjtfTHxx4imHgOKsLHKEIYU62EFhdJ1YXFfLLirGszLF0AScbjY6D3C1opNShsZzM2+bQ1tTnBgtFcdxDJwYSHDW11eKxoub2hy2zfjqGYMm1HqiGh81KoUmeEdcCuJFTe323M9c+/bNcSJQKr4DjRx/ltpHw2pDSsruFvm7OQRwhIkjpIgZWnzlZqL3RKKxsxQjPC3toBSO1kH+fY4RdnUpP9+1K5Fd6st23dG1zJ3dwUk38u6YoQECb1nfPJurhfLshJmwaVTOKLRwRkfKhJnxTbAqpyqf2ZoyRu43vsEhKftPDtgUP3N8yvGCWY4DYcpM5ubcQj0nfX6MOFDIzJ2ybWNhtnPr9NYUFp47tREmL41JjFnqXXXoUJW3LqxxeRqjkYzzuN9CG0bK0vxnaur1m/rrlfpZtd/wVRxw+ktrUQ6/diXuAeizaamvz8yDz2IBPioDEVbP4cMWda+EHBp2BfPwMK7lsGpr8Z82PZCAgq/kVISxkMBMELzf4aRlD+BXNQLn4u8ixe3YXHxoCF+/HbjCEXg6xb7BBu8T7xoQJUNJCfngvgXMkVD9OjtpjASZvVPdMP9L56yHszB2INLmHdC74RbNWQxZOOjNKV2Tm+xvv7qdOsrL9LXN/Jzi1ppfD2liOvnTaWGwLBjrAQdtOkOPvIjRb1wf9WlMJ/YiljuYLRstA3yhIGQzf3OIo+MzfMZsNWUkzbDqdTUCCJzCyqvm5EVky2TZEXlPI/Kdzpbt3NP8z0h+LE9BHW3zTHGuKKu5OUuUK74txcq8tyhLnHs7x3wXpJbs/FLXky0t1Uu6RSK1xgimIHN4DmlEbzaSPzPvBTVrZ86HLrL/nGkIxhBTxhsDtgxghUlxKmw3qycIWPvHY4VabOHNFFl4Zma4TDE7+evIjvZto2Pkt9lJCllmWHjmOpWEJfAi6K/ZSfIMWXhzUr6zfy/xogWw7N9o0T9K2BuZlyRvUcV5ociEODMRhFSg5S/hkaGXWWZAWi6h2hDvxH3EUGsukgjA/39lSpGvs0Q5cuMZY5DJeXlqP4x7vAxKhGU7kKA89aso4W31KtGCKA2nMBGDzE2YrH488wlyNsCFPPT0/dR/kR0i86KEDnlgKGG0JPe0IJ/0JoxR4TLEaucrqA2IU6Dn5XCFaE2UJGKsZDbPaj+MS7ycECQGG1mSPJWG5A5q/1abjvlv19sf09Dx/7F1KP4YlGf37sryhNIZtzj5iqi/8FKgLm0zwj9BtL8BWcG/jtVfP5ZBoP0ZLnQTUA4eBv4R47T4hnInSMwuCZvibyKzN0KIZmfmSI6oRfIkU1LWMt92RcgzMJTlAYl7a0YoincEzpv5gSCY+SWhRf0sGMz8lwhuDfK7iapx5wXg9xLsVwXRwzf6GkHOhwXf5T9KCUzNW7efdWB7JBRQtE2/NGX076quccKp+WSKvYqRmyz8g0a7QTV/vPQeDUN2htMKeHsisL5UEPjVwTdc2FW8GBPDmPKs//BNFPzYGGm86bwyRveSmG8MFLJWb9lYxbiw3mlsOc2qXLCk8cmVMYoYCp7LnO/+QCa0O0MJN/vwEm/Ksdodw4XbsmRUo0b/B+RdUQgjgmjEIBZxiEcCEpGEZKQgH/IHgqFwJBqLJ5KpdCabyxeKpXKlWqs3mq12p9vrD4aj8WSqarphWrbjerP5Yrlab7a7/eF4Ol+uLPxaieC9oAcNTMcgwlPZQjHHBshgPDLDInnbQTS/Pc/trgXt89kOAllUlBQIFO+z8pWYel4ajixtDidz5eQk1kTl3DCpgFG0O8N5OTLCpWxNGbem6s5iMUc41508bTMD96r2DBdsS4QybPfFYxdijSGOXJCiOy8hH3nhmndXk1p+dHocAzUc9iQy2ED+NMEcUjjgLiHVU0F5qg4x4QWxthAjTzCP8t1p3CJNR7c7st7Kvd8Pt31VZWrZuZuzRnQkwQ+6KzDieUkc1raWJzqwVuAF1Fvw9JuKKPRRVLhQQWxN5AJ5Hw6nUZ6dt+eMdFpJErEp5eZYy1Gh0nDaDdpqWqWFqh08M4UG+hLrkNNpacbD3/15a6d1vhy7BwA="},2487:function(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjA5IiBoZWlnaHQ9IjM2IiB2aWV3Qm94PSIwIDAgMjA5IDM2IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNMTkyLjk5MyAyMy42NTgyVjE1LjcxMTdIMTc5LjQ1MkwxNzEuNTA1IDIzLjY1ODJIMTkyLjk5M1oiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTIwOC4yNSAzLjk1MDgxSDE5MS4yNzZMMTgzLjI2NiAxMS44OTczSDIwOC4yNVYzLjk1MDgxWiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTYzLjYyMiAzMS42MDQ4TDE2Ny42OTEgMjcuNTM2MUgxODEuNDIzVjM1LjQ4MjdIMTYzLjYyMlYzMS42MDQ4WiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTY2LjYxIDE5Ljc4MDNIMTc1LjM4M0wxODMuMzkzIDExLjgzMzdIMTY2LjYxVjE5Ljc4MDNaIiBmaWxsPSIjOUI5QjlCIi8+CjxwYXRoIGQ9Ik0xNTcuMDExIDMxLjYwNDdIMTYzLjYyMkwxNzEuNTA1IDIzLjY1ODJIMTU3LjAxMVYzMS42MDQ3WiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTkxLjI3NiAzLjk1MDgxTDE4Ny4yMDggOC4wMTk0MUgxNjEuMjdWMC4wNzI4NzZIMTkxLjI3NlYzLjk1MDgxWiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMjAuODM5MSAzMC4yMDYxSDguMzc4OTJMNi4yMTc0NSAzNS41NDYySDAuNzUwMjQ0TDEyLjI1NjggOC41OTE1NUgxNy4wMjQ3TDI4LjUzMTMgMzUuNTQ2MkgyMy4wMDA1TDIwLjgzOTEgMzAuMjA2MVpNMTkuMTIyNyAyNS45NDY4TDE0LjYwOSAxNC45NDg4TDEwLjA5NTQgMjUuOTQ2OEgxOS4xMjI3WiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTA0LjQzNyAxOC41MDg5QzEwNi4wMjYgMTYuMTU2NyAxMTAuMDMxIDE1LjkwMjQgMTExLjY4NCAxNS45MDI0VjIwLjQ3OTZDMTA5LjY1IDIwLjQ3OTYgMTA3LjYxNSAyMC41NDMyIDEwNi40MDcgMjEuNDMzMkMxMDUuMiAyMi4zMjMyIDEwNC41NjQgMjMuNTMxMSAxMDQuNTY0IDI0Ljk5MzJWMzUuNTQ2Mkg5OS42MDUxVjE1LjkwMjRIMTA0LjM3M0wxMDQuNDM3IDE4LjUwODlaIiBmaWxsPSIjOUI5QjlCIi8+CjxwYXRoIGQ9Ik0xMTkuMzc2IDE1LjkwMjRIMTE0LjQxOFYzNS41NDYySDExOS4zNzZWMTUuOTAyNFoiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTExOS4zNzYgNy4xMjkzOUgxMTQuNDE4VjEyLjk3OEgxMTkuMzc2VjcuMTI5MzlaIiBmaWxsPSIjOUI5QjlCIi8+CjxwYXRoIGQ9Ik0xNDMuOTc5IDcuMTI5MzlWMzUuNTQ2MkgxMzkuMjExTDEzOS4wODQgMzIuNTU4M0MxMzguMzg0IDMzLjU3NTUgMTM3LjQ5NCAzNC40MDE5IDEzNi40MTQgMzUuMDM3NkMxMzUuMzMzIDM1LjYwOTggMTMzLjk5OCAzNS45Mjc2IDEzMi40NzIgMzUuOTI3NkMxMzEuMTM3IDM1LjkyNzYgMTI5Ljg2NiAzNS42NzMzIDEyOC43ODUgMzUuMjI4M0MxMjcuNjQxIDM0LjcxOTcgMTI2LjYyMyAzNC4wODQgMTI1Ljc5NyAzMy4xOTRDMTI0Ljk3MSAzMi4zMDQgMTI0LjI3MSAzMS4yMjMzIDEyMy44MjYgMzAuMDE1NEMxMjMuMzE4IDI4LjgwNzUgMTIzLjEyNyAyNy40MDkgMTIzLjEyNyAyNS44ODMyQzEyMy4xMjcgMjQuMzU3NSAxMjMuMzgxIDIyLjk1ODkgMTIzLjgyNiAyMS42ODc0QzEyNC4zMzUgMjAuNDE2IDEyNC45NzEgMTkuMzM1MyAxMjUuNzk3IDE4LjQ0NTNDMTI2LjYyMyAxNy41NTUyIDEyNy42NDEgMTYuODU2IDEyOC43ODUgMTYuMzQ3NEMxMjkuOTI5IDE1LjgzODggMTMxLjEzNyAxNS41ODQ1IDEzMi40NzIgMTUuNTg0NUMxMzMuOTk4IDE1LjU4NDUgMTM1LjI2OSAxNS44Mzg4IDEzNi4zNSAxNi40MTA5QzEzNy40MzEgMTYuOTgzMSAxMzguMzIxIDE3Ljc0NTkgMTM5LjAyIDE4LjgyNjdWNy4xOTI5NUgxNDMuOTc5VjcuMTI5MzlaTTEzMy41NTMgMzEuNjY4M0MxMzUuMjA2IDMxLjY2ODMgMTM2LjQ3NyAzMS4wOTYyIDEzNy40OTQgMzAuMDE1NEMxMzguNTExIDI4LjkzNDcgMTM5LjAyIDI3LjQ3MjUgMTM5LjAyIDI1LjY5MjVDMTM5LjAyIDIzLjkxMjUgMTM4LjUxMSAyMi41MTM5IDEzNy40OTQgMjEuMzY5NkMxMzYuNDc3IDIwLjI4ODggMTM1LjIwNiAxOS43MTY3IDEzMy41NTMgMTkuNzE2N0MxMzEuOTYzIDE5LjcxNjcgMTMwLjYyOCAyMC4yODg4IDEyOS42NzUgMjEuMzY5NkMxMjguNjU4IDIyLjQ1MDMgMTI4LjE0OSAyMy45MTI1IDEyOC4xNDkgMjUuNjkyNUMxMjguMTQ5IDI3LjQ3MjUgMTI4LjY1OCAyOC44NzExIDEyOS42NzUgMjkuOTUxOEMxMzAuNjkyIDMxLjA5NjEgMTMxLjk2MyAzMS42NjgzIDEzMy41NTMgMzEuNjY4M1oiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTU3LjIwMjQgMjAuMzUyNUg0NC45MzNWMjQuNjExOEg1MS45MjU5QzUxLjczNTIgMjYuNzczMyA1MC45MDg4IDI4LjQyNjEgNDkuNTEwMiAyOS43NjExQzQ4LjExMTYgMzEuMDMyNiA0Ni4zMzE1IDMxLjY2ODMgNDQuMDQyOSAzMS42NjgzQzQyLjc3MTUgMzEuNjY4MyA0MS41NjM2IDMxLjQxNCA0MC41NDY1IDMwLjk2OUMzOS40NjU3IDMwLjUyNCAzOC41NzU3IDI5Ljg4ODMgMzcuODEyOSAyOC45OTgzQzM3LjA1IDI4LjE3MTggMzYuNDc3OCAyNy4xNTQ3IDM2LjAzMjggMjUuOTQ2OEMzNS41ODc4IDI0LjczODkgMzUuMzk3MSAyMy40Njc1IDM1LjM5NzEgMjIuMDA1M0MzNS4zOTcxIDIwLjU0MzIgMzUuNTg3OCAxOS4yNzE3IDM2LjAzMjggMTguMDYzOEMzNi40MTQzIDE2Ljg1NiAzNy4wNSAxNS45MDI0IDM3LjgxMjkgMTUuMDEyNEMzOC41NzU3IDE0LjE4NTkgMzkuNDY1NyAxMy41NTAyIDQwLjU0NjUgMTMuMDQxNkM0MS42MjcyIDEyLjU5NjYgNDIuNzcxNSAxMi4zNDIzIDQ0LjEwNjUgMTIuMzQyM0M0Ni43NzY2IDEyLjM0MjMgNDguODEwOSAxMi45NzggNTAuMjA5NSAxNC4yNDk1TDUzLjUxNTIgMTAuOTQzOEM1MS4wMzU5IDkuMDM2NTkgNDcuODU3MyA4LjAxOTQxIDQ0LjEwNjUgOC4wMTk0MUM0Mi4wMDg2IDguMDE5NDEgNDAuMTAxNSA4LjMzNzI5IDM4LjM4NSA5LjAzNjU5QzM2LjY2ODYgOS43MzU4OCAzNS4yMDY0IDEwLjYyNTkgMzMuOTk4NSAxMS44MzM3QzMyLjc5MDYgMTMuMDQxNiAzMS44MzcxIDE0LjUwMzggMzEuMjAxNCAxNi4yMjAzQzMwLjU2NTYgMTcuOTM2NyAzMC4yNDc4IDE5Ljg0MzggMzAuMjQ3OCAyMS44NzgyQzMwLjI0NzggMjMuOTEyNSAzMC41NjU2IDI1LjgxOTcgMzEuMjY0OSAyNy41MzYxQzMxLjk2NDIgMjkuMjUyNiAzMi44NTQyIDMwLjcxNDcgMzQuMDYyMSAzMS45MjI2QzM1LjI3IDMzLjEzMDUgMzYuNzMyMSAzNC4wODQxIDM4LjQ0ODYgMzQuNzE5OEM0MC4xNjUgMzUuNDE5MSA0Mi4wNzIyIDM1LjczNyA0NC4xMDY1IDM1LjczN0M0Ni4xNDA4IDM1LjczNyA0Ny45ODQ0IDM1LjQxOTEgNDkuNjM3MyAzNC43MTk4QzUxLjI5MDIgMzQuMDIwNSA1Mi42ODg4IDMzLjEzMDUgNTMuODMzMSAzMS45MjI2QzU0Ljk3NzQgMzAuNzE0NyA1NS44Njc0IDI5LjI1MjYgNTYuNTAzMSAyNy41MzYxQzU3LjEzODggMjUuODE5NyA1Ny40NTY3IDIzLjkxMjUgNTcuNDU2NyAyMS44NzgyVjIxLjA1MTdDNTcuMjY2IDIwLjkyNDYgNTcuMjAyNCAyMC42MDY3IDU3LjIwMjQgMjAuMzUyNVoiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTk1Ljk4MTUgMjAuMzUyNUg4My43MTIxVjI0LjYxMThIOTAuNzA1QzkwLjUxNDMgMjYuNzczMyA4OS42ODc5IDI4LjQyNjEgODguMjg5MyAyOS43NjExQzg2Ljg5MDcgMzEuMDMyNiA4NS4xMTA2IDMxLjY2ODMgODIuODIyIDMxLjY2ODNDODEuNTUwNiAzMS42NjgzIDgwLjM0MjcgMzEuNDE0IDc5LjMyNTYgMzAuOTY5Qzc4LjI0NDggMzAuNTI0IDc3LjM1NDggMjkuODg4MyA3Ni41OTIgMjguOTk4M0M3NS44MjkxIDI4LjE3MTggNzUuMjU3IDI3LjE1NDcgNzQuODExOSAyNS45NDY4Qzc0LjM2NjkgMjQuNzM4OSA3NC4xNzYyIDIzLjQ2NzUgNzQuMTc2MiAyMi4wMDUzQzc0LjE3NjIgMjAuNTQzMiA3NC4zNjY5IDE5LjI3MTcgNzQuODExOSAxOC4wNjM4Qzc1LjE5MzQgMTYuODU2IDc1LjgyOTEgMTUuOTAyNCA3Ni41OTIgMTUuMDEyNEM3Ny4zNTQ4IDE0LjE4NTkgNzguMjQ0OCAxMy41NTAyIDc5LjMyNTYgMTMuMDQxNkM4MC40MDYzIDEyLjU5NjYgODEuNTUwNiAxMi4zNDIzIDgyLjg4NTYgMTIuMzQyM0M4NS41NTU3IDEyLjM0MjMgODcuNTkgMTIuOTc4IDg4Ljk4ODYgMTQuMjQ5NUw5Mi4yOTQzIDEwLjk0MzhDODkuODE1IDkuMDM2NTkgODYuNjM2NCA4LjAxOTQxIDgyLjg4NTYgOC4wMTk0MUM4MC43ODc4IDguMDE5NDEgNzguODgwNiA4LjMzNzI5IDc3LjE2NDEgOS4wMzY1OUM3NS40NDc3IDkuNzM1ODggNzMuOTg1NSAxMC42MjU5IDcyLjc3NzYgMTEuODMzN0M3MS41Njk4IDEzLjA0MTYgNzAuNjE2MiAxNC41MDM4IDY5Ljk4MDUgMTYuMjIwM0M2OS4zNDQ3IDE3LjkzNjcgNjkuMDI2OSAxOS44NDM4IDY5LjAyNjkgMjEuODc4MkM2OS4wMjY5IDIzLjkxMjUgNjkuMzQ0NyAyNS44MTk3IDcwLjA0NCAyNy41MzYxQzcwLjc0MzMgMjkuMjUyNiA3MS42MzM0IDMwLjcxNDcgNzIuODQxMiAzMS45MjI2Qzc0LjA0OTEgMzMuMTMwNSA3NS41MTEyIDM0LjA4NDEgNzcuMjI3NyAzNC43MTk4Qzc4Ljk0NDEgMzUuNDE5MSA4MC44NTEzIDM1LjczNyA4Mi44ODU2IDM1LjczN0M4NC45MiAzNS43MzcgODYuNzYzNiAzNS40MTkxIDg4LjQxNjQgMzQuNzE5OEM5MC4wNjkzIDM0LjAyMDUgOTEuNDY3OSAzMy4xMzA1IDkyLjYxMjIgMzEuOTIyNkM5My43NTY1IDMwLjcxNDcgOTQuNjQ2NSAyOS4yNTI2IDk1LjI4MjIgMjcuNTM2MUM5NS45MTggMjUuODE5NyA5Ni4yMzU4IDIzLjkxMjUgOTYuMjM1OCAyMS44NzgyVjIxLjA1MTdDOTYuMDQ1MSAyMC45MjQ2IDk1Ljk4MTUgMjAuNjA2NyA5NS45ODE1IDIwLjM1MjVaIiBmaWxsPSIjOUI5QjlCIi8+Cjwvc3ZnPgo="},7249:function(e){"use strict";e.exports="data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMS41Ij48cGF0aCBkPSJNNS4zIDlhMy43IDMuNyAwIDEgMCAwLTcuNSAzLjcgMy43IDAgMCAwIDAgNy41Wk0xMC41IDEwLjUgOC4zIDguMiIvPjwvc3ZnPg=="},6080:function(e){"use strict";e.exports='data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="4" height="4"><rect x="0" y="0" width="4" height="4" fill="%23fff"/><path d="M0 0H2V4H4V2H0Z" fill="%23b2b2b2"/></svg>'},5608:function(e,t,i){"use strict";i.r(t),i.d(t,{__addDisposableResource:function(){return L},__assign:function(){return r},__asyncDelegator:function(){return M},__asyncGenerator:function(){return k},__asyncValues:function(){return R},__await:function(){return x},__awaiter:function(){return p},__classPrivateFieldGet:function(){return P},__classPrivateFieldIn:function(){return I},__classPrivateFieldSet:function(){return F},__createBinding:function(){return f},__decorate:function(){return s},__disposeResources:function(){return O},__esDecorate:function(){return c},__exportStar:function(){return v},__extends:function(){return n},__generator:function(){return m},__importDefault:function(){return T},__importStar:function(){return E},__makeTemplateObject:function(){return D},__metadata:function(){return g},__param:function(){return l},__propKey:function(){return h},__read:function(){return b},__rest:function(){return o},__runInitializers:function(){return d},__setFunctionName:function(){return u},__spread:function(){return C},__spreadArray:function(){return S},__spreadArrays:function(){return w},__values:function(){return y}});var a=function(e,t){return a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])},a(e,t)};function n(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}a(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}var r=function(){return r=Object.assign||function(e){for(var t,i=1,a=arguments.length;i<a;i++)for(var n in t=arguments[i])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},r.apply(this,arguments)};function o(e,t){var i={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(i[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(a=Object.getOwnPropertySymbols(e);n<a.length;n++)t.indexOf(a[n])<0&&Object.prototype.propertyIsEnumerable.call(e,a[n])&&(i[a[n]]=e[a[n]])}return i}function s(e,t,i,a){var n,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,i):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,a);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(o=(r<3?n(o):r>3?n(t,i,o):n(t,i))||o);return r>3&&o&&Object.defineProperty(t,i,o),o}function l(e,t){return function(i,a){t(i,a,e)}}function c(e,t,i,a,n,r){function o(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var s,l=a.kind,c="getter"===l?"get":"setter"===l?"set":"value",d=!t&&e?a.static?e:e.prototype:null,h=t||(d?Object.getOwnPropertyDescriptor(d,a.name):{}),u=!1,g=i.length-1;g>=0;g--){var p={};for(var m in a)p[m]="access"===m?{}:a[m];for(var m in a.access)p.access[m]=a.access[m];p.addInitializer=function(e){if(u)throw new TypeError("Cannot add initializers after decoration has completed");r.push(o(e||null))};var f=(0,i[g])("accessor"===l?{get:h.get,set:h.set}:h[c],p);if("accessor"===l){if(void 0===f)continue;if(null===f||"object"!=typeof f)throw new TypeError("Object expected");(s=o(f.get))&&(h.get=s),(s=o(f.set))&&(h.set=s),(s=o(f.init))&&n.unshift(s)}else(s=o(f))&&("field"===l?n.unshift(s):h[c]=s)}d&&Object.defineProperty(d,a.name,h),u=!0}function d(e,t,i){for(var a=arguments.length>2,n=0;n<t.length;n++)i=a?t[n].call(e,i):t[n].call(e);return a?i:void 0}function h(e){return"symbol"==typeof e?e:"".concat(e)}function u(e,t,i){return"symbol"==typeof t&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:i?"".concat(i," ",t):t})}function g(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function p(e,t,i,a){return new(i||(i=Promise))((function(n,r){function o(e){try{l(a.next(e))}catch(e){r(e)}}function s(e){try{l(a.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,s)}l((a=a.apply(e,t||[])).next())}))}function m(e,t){var i,a,n,r,o={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(l){return function(s){if(i)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(o=0)),o;)try{if(i=1,a&&(n=2&s[0]?a.return:s[0]?a.throw||((n=a.return)&&n.call(a),0):a.next)&&!(n=n.call(a,s[1])).done)return n;switch(a=0,n&&(s=[2&s[0],n.value]),s[0]){case 0:case 1:n=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,a=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(n=o.trys,(n=n.length>0&&n[n.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!n||s[1]>n[0]&&s[1]<n[3])){o.label=s[1];break}if(6===s[0]&&o.label<n[1]){o.label=n[1],n=s;break}if(n&&o.label<n[2]){o.label=n[2],o.ops.push(s);break}n[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],a=0}finally{i=n=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}var f=Object.create?function(e,t,i,a){void 0===a&&(a=i);var n=Object.getOwnPropertyDescriptor(t,i);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,a,n)}:function(e,t,i,a){void 0===a&&(a=i),e[a]=t[i]};function v(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||f(t,e,i)}function y(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],a=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&a>=e.length&&(e=void 0),{value:e&&e[a++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function b(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var a,n,r=i.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(a=r.next()).done;)o.push(a.value)}catch(e){n={error:e}}finally{try{a&&!a.done&&(i=r.return)&&i.call(r)}finally{if(n)throw n.error}}return o}function C(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(b(arguments[t]));return e}function w(){for(var e=0,t=0,i=arguments.length;t<i;t++)e+=arguments[t].length;var a=Array(e),n=0;for(t=0;t<i;t++)for(var r=arguments[t],o=0,s=r.length;o<s;o++,n++)a[n]=r[o];return a}function S(e,t,i){if(i||2===arguments.length)for(var a,n=0,r=t.length;n<r;n++)!a&&n in t||(a||(a=Array.prototype.slice.call(t,0,n)),a[n]=t[n]);return e.concat(a||Array.prototype.slice.call(t))}function x(e){return this instanceof x?(this.v=e,this):new x(e)}function k(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var a,n=i.apply(e,t||[]),r=[];return a={},o("next"),o("throw"),o("return"),a[Symbol.asyncIterator]=function(){return this},a;function o(e){n[e]&&(a[e]=function(t){return new Promise((function(i,a){r.push([e,t,i,a])>1||s(e,t)}))})}function s(e,t){try{(i=n[e](t)).value instanceof x?Promise.resolve(i.value.v).then(l,c):d(r[0][2],i)}catch(e){d(r[0][3],e)}var i}function l(e){s("next",e)}function c(e){s("throw",e)}function d(e,t){e(t),r.shift(),r.length&&s(r[0][0],r[0][1])}}function M(e){var t,i;return t={},a("next"),a("throw",(function(e){throw e})),a("return"),t[Symbol.iterator]=function(){return this},t;function a(a,n){t[a]=e[a]?function(t){return(i=!i)?{value:x(e[a](t)),done:!1}:n?n(t):t}:n}}function R(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,i=e[Symbol.asyncIterator];return i?i.call(e):(e=y(e),t={},a("next"),a("throw"),a("return"),t[Symbol.asyncIterator]=function(){return this},t);function a(i){t[i]=e[i]&&function(t){return new Promise((function(a,n){(function(e,t,i,a){Promise.resolve(a).then((function(t){e({value:t,done:i})}),t)})(a,n,(t=e[i](t)).done,t.value)}))}}}function D(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var A=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function E(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&f(t,e,i);return A(t,e),t}function T(e){return e&&e.__esModule?e:{default:e}}function P(e,t,i,a){if("a"===i&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?a:"a"===i?a.call(e):a?a.value:t.get(e)}function F(e,t,i,a,n){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(e,i):n?n.value=i:t.set(e,i),i}function I(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function L(e,t,i){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var a;if(i){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");a=t[Symbol.asyncDispose]}if(void 0===a){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");a=t[Symbol.dispose]}if("function"!=typeof a)throw new TypeError("Object not disposable.");e.stack.push({value:t,dispose:a,async:i})}else i&&e.stack.push({async:!0});return t}var N="function"==typeof SuppressedError?SuppressedError:function(e,t,i){var a=new Error(i);return a.name="SuppressedError",a.error=e,a.suppressed=t,a};function O(e){function t(t){e.error=e.hasError?new N(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}return function i(){for(;e.stack.length;){var a=e.stack.pop();try{var n=a.dispose&&a.dispose.call(a.value);if(a.async)return Promise.resolve(n).then(i,(function(e){return t(e),i()}))}catch(e){t(e)}}if(e.hasError)throw e.error}()}t.default={__extends:n,__assign:r,__rest:o,__decorate:s,__param:l,__metadata:g,__awaiter:p,__generator:m,__createBinding:f,__exportStar:v,__values:y,__read:b,__spread:C,__spreadArrays:w,__spreadArray:S,__await:x,__asyncGenerator:k,__asyncDelegator:M,__asyncValues:R,__makeTemplateObject:D,__importStar:E,__importDefault:T,__classPrivateFieldGet:P,__classPrivateFieldSet:F,__classPrivateFieldIn:I,__addDisposableResource:L,__disposeResources:O}}},t={};function i(a){var n=t[a];if(void 0!==n)return n.exports;var r=t[a]={id:a,exports:{}};return e[a](r,r.exports,i),r.exports}return i.m=e,i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,{a:t}),t},i.d=function(e,t){for(var a in t)i.o(t,a)&&!i.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.b=document.baseURI||self.location.href,i.nc=void 0,i(6387)}()}));
\No newline at end of file