@linzjs/step-ag-grid 1.5.4 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/README.md +117 -2
  2. package/{src/components → dist}/GridTheme.scss +37 -23
  3. package/dist/index.css +351 -0
  4. package/dist/index.js +625 -332
  5. package/dist/index.js.map +1 -1
  6. package/dist/src/components/ComponentLoadingWrapper.d.ts +1 -0
  7. package/dist/src/components/Grid.d.ts +0 -2
  8. package/dist/src/components/GridCell.d.ts +21 -27
  9. package/dist/src/components/GridPopoverHook.d.ts +5 -2
  10. package/dist/src/components/gridForm/GridFormDropDown.d.ts +10 -4
  11. package/dist/src/components/gridForm/GridFormEditBearing.d.ts +5 -5
  12. package/dist/src/components/gridForm/GridFormMessage.d.ts +4 -5
  13. package/dist/src/components/gridForm/GridFormMultiSelect.d.ts +5 -4
  14. package/dist/src/components/gridForm/GridFormPopoutMenu.d.ts +3 -3
  15. package/dist/src/components/gridForm/GridFormTextArea.d.ts +3 -3
  16. package/dist/src/components/gridForm/GridFormTextInput.d.ts +3 -3
  17. package/dist/src/components/gridPopoverEdit/GridPopoutEditMultiSelect.d.ts +3 -2
  18. package/dist/src/components/gridPopoverEdit/GridPopoverEditBearing.d.ts +5 -270
  19. package/dist/src/components/gridPopoverEdit/GridPopoverEditDropDown.d.ts +3 -2
  20. package/dist/src/components/gridPopoverEdit/GridPopoverMenu.d.ts +3 -4
  21. package/dist/src/components/gridPopoverEdit/GridPopoverMessage.d.ts +3 -2
  22. package/dist/src/components/gridPopoverEdit/GridPopoverTextArea.d.ts +3 -2
  23. package/dist/src/components/gridPopoverEdit/GridPopoverTextInput.d.ts +3 -2
  24. package/dist/src/components/gridRender/GridRenderGenericCell.d.ts +4 -5
  25. package/dist/src/contexts/GridContext.d.ts +1 -1
  26. package/dist/src/contexts/GridPopoverContext.d.ts +17 -0
  27. package/dist/src/contexts/GridPopoverContextProvider.d.ts +6 -0
  28. package/dist/src/contexts/{UpdatingContext.d.ts → GridUpdatingContext.d.ts} +2 -2
  29. package/dist/src/contexts/GridUpdatingContextProvider.d.ts +7 -0
  30. package/dist/src/index.d.ts +31 -0
  31. package/dist/src/react-menu3/components/MenuRadioGroup.d.ts +2 -21
  32. package/dist/src/react-menu3/contexts/EventHandlersContext.d.ts +7 -0
  33. package/dist/src/react-menu3/contexts/HoverItemContext.d.ts +2 -0
  34. package/dist/src/react-menu3/contexts/ItemSettingsContext.d.ts +5 -0
  35. package/dist/src/react-menu3/contexts/MenuListContext.d.ts +9 -0
  36. package/dist/src/react-menu3/contexts/MenuListItemContext.d.ts +11 -0
  37. package/dist/src/react-menu3/contexts/RadioGroupContext.d.ts +7 -0
  38. package/dist/src/react-menu3/contexts/SettingsContext.d.ts +20 -0
  39. package/dist/src/react-menu3/index.d.ts +0 -1
  40. package/dist/src/react-menu3/utils/constants.d.ts +1 -50
  41. package/dist/step-ag-grid.esm.js +622 -312
  42. package/dist/step-ag-grid.esm.js.map +1 -1
  43. package/package.json +39 -26
  44. package/src/components/ComponentLoadingWrapper.tsx +2 -1
  45. package/src/components/Grid.tsx +3 -8
  46. package/src/components/GridCell.tsx +62 -79
  47. package/src/components/GridLoadableCell.tsx +0 -1
  48. package/src/components/GridPopoverHook.tsx +18 -16
  49. package/src/components/gridForm/GridFormDropDown.tsx +47 -32
  50. package/src/components/gridForm/GridFormEditBearing.tsx +14 -14
  51. package/src/components/gridForm/GridFormMessage.tsx +11 -17
  52. package/src/components/gridForm/GridFormMultiSelect.tsx +89 -79
  53. package/src/components/gridForm/GridFormPopoutMenu.tsx +10 -11
  54. package/src/components/gridForm/GridFormTextArea.tsx +16 -17
  55. package/src/components/gridForm/GridFormTextInput.tsx +17 -17
  56. package/src/components/gridPopoverEdit/GridPopoutEditMultiSelect.ts +20 -15
  57. package/src/components/gridPopoverEdit/GridPopoverEditBearing.ts +53 -45
  58. package/src/components/gridPopoverEdit/GridPopoverEditDropDown.ts +21 -15
  59. package/src/components/gridPopoverEdit/GridPopoverMenu.scss +4 -4
  60. package/src/components/gridPopoverEdit/GridPopoverMenu.tsx +21 -23
  61. package/src/components/gridPopoverEdit/GridPopoverMessage.ts +18 -16
  62. package/src/components/gridPopoverEdit/GridPopoverTextArea.ts +12 -16
  63. package/src/components/gridPopoverEdit/GridPopoverTextInput.ts +15 -15
  64. package/src/components/gridRender/GridRenderGenericCell.tsx +5 -6
  65. package/src/components/gridRender/GridRenderPopoutMenuCell.tsx +2 -2
  66. package/src/contexts/GridContext.tsx +1 -1
  67. package/src/contexts/GridContextProvider.tsx +3 -5
  68. package/src/contexts/GridPopoverContext.tsx +26 -0
  69. package/src/contexts/GridPopoverContextProvider.tsx +54 -0
  70. package/src/contexts/{UpdatingContext.tsx → GridUpdatingContext.tsx} +2 -2
  71. package/src/contexts/{UpdatingContextProvider.tsx → GridUpdatingContextProvider.tsx} +8 -6
  72. package/src/index.ts +38 -0
  73. package/src/lui/TextInputFormatted.scss +1 -1
  74. package/src/react-menu3/README.md +66 -0
  75. package/src/react-menu3/components/ControlledMenu.tsx +9 -17
  76. package/src/react-menu3/components/FocusableItem.tsx +2 -9
  77. package/src/react-menu3/components/MenuGroup.tsx +2 -1
  78. package/src/react-menu3/components/MenuItem.tsx +3 -12
  79. package/src/react-menu3/components/MenuList.tsx +4 -4
  80. package/src/react-menu3/components/MenuRadioGroup.tsx +3 -22
  81. package/src/react-menu3/components/SubMenu.tsx +4 -4
  82. package/src/react-menu3/contexts/EventHandlersContext.ts +11 -0
  83. package/src/react-menu3/contexts/HoverItemContext.ts +3 -0
  84. package/src/react-menu3/contexts/ItemSettingsContext.ts +6 -0
  85. package/src/react-menu3/contexts/MenuListContext.ts +10 -0
  86. package/src/react-menu3/contexts/MenuListItemContext.ts +16 -0
  87. package/src/react-menu3/contexts/RadioGroupContext.ts +8 -0
  88. package/src/react-menu3/contexts/SettingsContext.ts +20 -0
  89. package/src/react-menu3/hooks/useItemState.ts +3 -1
  90. package/src/react-menu3/index.ts +0 -1
  91. package/src/react-menu3/styles/_var.scss +4 -4
  92. package/src/react-menu3/styles/core.scss +6 -6
  93. package/src/react-menu3/styles/index.scss +10 -7
  94. package/src/react-menu3/styles/theme-dark.scss +4 -2
  95. package/src/react-menu3/styles/transitions/slide.scss +8 -8
  96. package/src/react-menu3/utils/constants.ts +1 -74
  97. package/src/react-menu3/utils/withHovering.tsx +1 -1
  98. package/src/stories/components/FormTest.scss +1 -2
  99. package/src/stories/components/FormTest.tsx +4 -3
  100. package/src/stories/components/GridPopoutBearing.stories.tsx +30 -26
  101. package/src/stories/components/GridPopoutEditDropDown.stories.tsx +94 -51
  102. package/src/stories/components/GridPopoutEditGeneric.stories.tsx +18 -14
  103. package/src/stories/components/GridPopoutEditGenericTextArea.stories.tsx +78 -62
  104. package/src/stories/components/GridPopoutEditMultiSelect.stories.tsx +60 -52
  105. package/src/stories/components/GridReadOnly.stories.tsx +77 -64
  106. package/src/stories/components/ReactMenu.stories.tsx +0 -4
  107. package/src/{components → styles}/Grid.scss +9 -6
  108. package/src/styles/GridFormDropDown.scss +18 -0
  109. package/src/{components/gridForm → styles}/GridFormEditBearing.scss +0 -0
  110. package/src/styles/GridFormMultiSelect.scss +18 -0
  111. package/src/styles/GridRenderGenericCell.scss +15 -0
  112. package/src/styles/GridTheme.scss +108 -0
  113. package/src/styles/index.scss +2 -0
  114. package/src/styles/lui-overrides.scss +49 -0
  115. package/src/styles/react-menu-customisations.scss +135 -0
  116. package/dist/index.d.ts +0 -38
  117. package/dist/src/contexts/UpdatingContextProvider.d.ts +0 -7
  118. package/dist/src/stories/components/FormTest.d.ts +0 -13
  119. package/dist/src/stories/components/GridPopoutBearing.stories.d.ts +0 -9
  120. package/dist/src/stories/components/GridPopoutEditDropDown.stories.d.ts +0 -9
  121. package/dist/src/stories/components/GridPopoutEditGeneric.stories.d.ts +0 -9
  122. package/dist/src/stories/components/GridPopoutEditGenericTextArea.stories.d.ts +0 -9
  123. package/dist/src/stories/components/GridPopoutEditMultiSelect.stories.d.ts +0 -9
  124. package/dist/src/stories/components/GridReadOnly.stories.d.ts +0 -9
  125. package/dist/src/stories/components/ReactMenu.stories.d.ts +0 -8
  126. package/src/components/gridRender/GridRenderGenericCell.scss +0 -15
  127. package/src/lui-overrides.scss +0 -163
  128. package/src/react-menu3/style-utils.d.ts +0 -110
@@ -2,11 +2,8 @@ import { useMemo, useLayoutEffect, useEffect, createContext, memo, forwardRef, u
2
2
  import { unstable_batchedUpdates, flushSync, createPortal } from 'react-dom';
3
3
  import { findIndex, isEmpty, castArray, remove, flatten, delay, sortBy, last, difference, xorBy, fromPairs } from 'lodash-es';
4
4
  import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
5
- import { useTransition } from 'react-transition-state';
6
5
  import { AgGridReact } from 'ag-grid-react';
7
6
  import { LuiMiniSpinner, LuiIcon, LuiCheckboxInput } from '@linzjs/lui';
8
- import debounce from 'debounce-promise';
9
- import { v4 } from 'uuid';
10
7
 
11
8
  // Generate className following BEM methodology: http://getbem.com/naming/
12
9
  // Modifier value can be one of the following types: boolean, string, undefined
@@ -70,23 +67,6 @@ var menuHeaderClass = "header";
70
67
  var menuGroupClass = "group";
71
68
  var subMenuClass = "submenu";
72
69
  var radioGroupClass = "radio-group";
73
- var HoverItemContext = createContext(undefined);
74
- var MenuListItemContext = createContext({
75
- dispatch: function () { },
76
- updateItems: function () { },
77
- setOpenSubmenuCount: function () { return 0; }
78
- });
79
- var MenuListContext = createContext({});
80
- var EventHandlersContext = createContext({
81
- handleClick: function () { }
82
- });
83
- var RadioGroupContext = createContext({});
84
- // FIXME hacking a default context in here is probably bad
85
- var SettingsContext = createContext({});
86
- var ItemSettingsContext = createContext({
87
- submenuOpenDelay: 0,
88
- submenuCloseDelay: 0
89
- });
90
70
  var Keys = Object.freeze({
91
71
  ENTER: "Enter",
92
72
  ESC: "Escape",
@@ -251,7 +231,7 @@ function __generator(thisArg, body) {
251
231
  function verb(n) { return function (v) { return step([n, v]); }; }
252
232
  function step(op) {
253
233
  if (f) throw new TypeError("Generator is already executing.");
254
- while (_) try {
234
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
255
235
  if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
256
236
  if (y = 0, t) op = [op[0] & 2, t.value];
257
237
  switch (op[0]) {
@@ -283,6 +263,8 @@ function __spreadArray(to, from, pack) {
283
263
  return to.concat(ar || Array.prototype.slice.call(from));
284
264
  }
285
265
 
266
+ var HoverItemContext = createContext(undefined);
267
+
286
268
  var withHovering = function (name, WrappedComponent) {
287
269
  var Component = memo(WrappedComponent);
288
270
  var WithHovering = forwardRef(function (props, ref) {
@@ -408,6 +390,17 @@ var useItemEffect = function (isDisabled, menuItemRef, updateItems) {
408
390
  }, [isDisabled, menuItemRef, updateItems]);
409
391
  };
410
392
 
393
+ var MenuListItemContext = createContext({
394
+ dispatch: function () { },
395
+ updateItems: function () { },
396
+ setOpenSubmenuCount: function () { return 0; }
397
+ });
398
+
399
+ var ItemSettingsContext = createContext({
400
+ submenuOpenDelay: 0,
401
+ submenuCloseDelay: 0
402
+ });
403
+
411
404
  // This hook includes some common stateful logic in MenuItem and FocusableItem
412
405
  var useItemState = function (menuItemRef, focusRef, isHovering, isDisabled) {
413
406
  var submenuCloseDelay = useContext(ItemSettingsContext).submenuCloseDelay;
@@ -470,6 +463,119 @@ var useMenuChange = function (onMenuChange, isOpen) {
470
463
  }, [onMenuChange, isOpen]);
471
464
  };
472
465
 
466
+ var PRE_ENTER = 0;
467
+ var ENTERING = 1;
468
+ var ENTERED = 2;
469
+ var PRE_EXIT = 3;
470
+ var EXITING = 4;
471
+ var EXITED = 5;
472
+ var UNMOUNTED = 6;
473
+ var STATES = ['preEnter', 'entering', 'entered', 'preExit', 'exiting', 'exited', 'unmounted'];
474
+
475
+ var startOrEnd = function startOrEnd(unmounted) {
476
+ return unmounted ? UNMOUNTED : EXITED;
477
+ };
478
+
479
+ var updateState = function updateState(state, setState, latestState, timeoutId, onChange) {
480
+ clearTimeout(timeoutId.current);
481
+ setState(state);
482
+ latestState.current = state;
483
+ onChange && onChange({
484
+ state: STATES[state]
485
+ });
486
+ };
487
+
488
+ var useTransition = function useTransition(_temp) {
489
+ var _ref = _temp === void 0 ? {} : _temp,
490
+ _ref$enter = _ref.enter,
491
+ enter = _ref$enter === void 0 ? true : _ref$enter,
492
+ _ref$exit = _ref.exit,
493
+ exit = _ref$exit === void 0 ? true : _ref$exit,
494
+ preEnter = _ref.preEnter,
495
+ preExit = _ref.preExit,
496
+ timeout = _ref.timeout,
497
+ initialEntered = _ref.initialEntered,
498
+ mountOnEnter = _ref.mountOnEnter,
499
+ unmountOnExit = _ref.unmountOnExit,
500
+ onChange = _ref.onChange;
501
+
502
+ var _useState = useState(initialEntered ? ENTERED : startOrEnd(mountOnEnter)),
503
+ state = _useState[0],
504
+ setState = _useState[1];
505
+
506
+ var latestState = useRef(state);
507
+ var timeoutId = useRef();
508
+ var enterTimeout, exitTimeout;
509
+
510
+ if (typeof timeout === 'object') {
511
+ enterTimeout = timeout.enter;
512
+ exitTimeout = timeout.exit;
513
+ } else {
514
+ enterTimeout = exitTimeout = timeout;
515
+ }
516
+
517
+ var endTransition = useCallback(function () {
518
+ var newState;
519
+
520
+ switch (latestState.current) {
521
+ case ENTERING:
522
+ case PRE_ENTER:
523
+ newState = ENTERED;
524
+ break;
525
+
526
+ case EXITING:
527
+ case PRE_EXIT:
528
+ newState = startOrEnd(unmountOnExit);
529
+ break;
530
+ }
531
+
532
+ if (newState !== undefined) {
533
+ updateState(newState, setState, latestState, timeoutId, onChange);
534
+ }
535
+ }, [onChange, unmountOnExit]);
536
+ var toggle = useCallback(function (toEnter) {
537
+ var transitState = function transitState(newState) {
538
+ updateState(newState, setState, latestState, timeoutId, onChange);
539
+
540
+ switch (newState) {
541
+ case ENTERING:
542
+ if (enterTimeout >= 0) timeoutId.current = setTimeout(endTransition, enterTimeout);
543
+ break;
544
+
545
+ case EXITING:
546
+ if (exitTimeout >= 0) timeoutId.current = setTimeout(endTransition, exitTimeout);
547
+ break;
548
+
549
+ case PRE_ENTER:
550
+ case PRE_EXIT:
551
+ timeoutId.current = setTimeout(function () {
552
+ return transitState(newState + 1);
553
+ }, 0);
554
+ break;
555
+ }
556
+ };
557
+
558
+ var enterStage = latestState.current <= ENTERED;
559
+ if (typeof toEnter !== 'boolean') toEnter = !enterStage;
560
+
561
+ if (toEnter) {
562
+ if (!enterStage) {
563
+ transitState(enter ? preEnter ? PRE_ENTER : ENTERING : ENTERED);
564
+ }
565
+ } else {
566
+ if (enterStage) {
567
+ transitState(exit ? preExit ? PRE_EXIT : EXITING : startOrEnd(unmountOnExit));
568
+ }
569
+ }
570
+ }, [endTransition, onChange, enter, exit, preEnter, preExit, enterTimeout, exitTimeout, unmountOnExit]);
571
+ useEffect(function () {
572
+ return function () {
573
+ return clearTimeout(timeoutId.current);
574
+ };
575
+ }, []);
576
+ return [STATES[state], toggle, endTransition];
577
+ };
578
+
473
579
  /**
474
580
  * A custom Hook which helps manage the states of `ControlledMenu`.
475
581
  */
@@ -793,6 +899,11 @@ var positionMenu = function (props) {
793
899
  }
794
900
  };
795
901
 
902
+ var MenuListContext = createContext({});
903
+
904
+ // FIXME hacking a default context in here is probably bad
905
+ var SettingsContext = createContext({});
906
+
796
907
  var MenuList = function (_a) {
797
908
  var _b, _c;
798
909
  var ariaLabel = _a.ariaLabel, menuClassName = _a.menuClassName, menuStyle = _a.menuStyle, arrowClassName = _a.arrowClassName, arrowStyle = _a.arrowStyle, anchorPoint = _a.anchorPoint, anchorRef = _a.anchorRef, containerRef = _a.containerRef, externalRef = _a.externalRef, parentScrollingRef = _a.parentScrollingRef, arrow = _a.arrow, _d = _a.align, align = _d === void 0 ? "start" : _d, _e = _a.direction, direction = _e === void 0 ? "bottom" : _e, _f = _a.position, position = _f === void 0 ? "auto" : _f, _g = _a.overflow, overflow = _g === void 0 ? "visible" : _g, setDownOverflow = _a.setDownOverflow, repositionFlag = _a.repositionFlag, _h = _a.captureFocus, captureFocus = _h === void 0 ? true : _h, state = _a.state, endTransition = _a.endTransition, isDisabled = _a.isDisabled, menuItemFocus = _a.menuItemFocus, dontShrinkIfDirectionIsTop = _a.dontShrinkIfDirectionIsTop, _j = _a.offsetX, offsetX = _j === void 0 ? 0 : _j, _k = _a.offsetY, offsetY = _k === void 0 ? 0 : _k, children = _a.children, onClose = _a.onClose, restProps = __rest(_a, ["ariaLabel", "menuClassName", "menuStyle", "arrowClassName", "arrowStyle", "anchorPoint", "anchorRef", "containerRef", "externalRef", "parentScrollingRef", "arrow", "align", "direction", "position", "overflow", "setDownOverflow", "repositionFlag", "captureFocus", "state", "endTransition", "isDisabled", "menuItemFocus", "dontShrinkIfDirectionIsTop", "offsetX", "offsetY", "children", "onClose"]);
@@ -1160,6 +1271,10 @@ var hasParentClass = function (className, child) {
1160
1271
  return false;
1161
1272
  };
1162
1273
 
1274
+ var EventHandlersContext = createContext({
1275
+ handleClick: function () { }
1276
+ });
1277
+
1163
1278
  var ControlledMenuFr = function (_a, externalRef) {
1164
1279
  var ariaLabel = _a["aria-label"], className = _a.className, containerProps = _a.containerProps, initialMounted = _a.initialMounted, unmountOnClose = _a.unmountOnClose, transition = _a.transition, transitionTimeout = _a.transitionTimeout, boundingBoxRef = _a.boundingBoxRef, boundingBoxPadding = _a.boundingBoxPadding, _b = _a.reposition, reposition = _b === void 0 ? "auto" : _b, _c = _a.submenuOpenDelay, submenuOpenDelay = _c === void 0 ? 300 : _c, _d = _a.submenuCloseDelay, submenuCloseDelay = _d === void 0 ? 150 : _d, skipOpen = _a.skipOpen, _e = _a.viewScroll, viewScroll = _e === void 0 ? "initial" : _e, portal = _a.portal, theming = _a.theming, onItemClick = _a.onItemClick, onClose = _a.onClose, saveButtonRef = _a.saveButtonRef, restProps = __rest(_a, ["aria-label", "className", "containerProps", "initialMounted", "unmountOnClose", "transition", "transitionTimeout", "boundingBoxRef", "boundingBoxPadding", "reposition", "submenuOpenDelay", "submenuCloseDelay", "skipOpen", "viewScroll", "portal", "theming", "onItemClick", "onClose", "saveButtonRef"]);
1165
1280
  var containerRef = useRef();
@@ -1225,13 +1340,13 @@ var ControlledMenuFr = function (_a, externalRef) {
1225
1340
  useEffect(function () {
1226
1341
  if (isMenuOpen(state)) {
1227
1342
  var thisDocument_1 = (anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.current) ? anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.current.ownerDocument : document;
1228
- thisDocument_1.addEventListener("mousedown", handleScreenEventForCancel, true);
1229
- thisDocument_1.addEventListener("mouseup", handleScreenEventForSave, true);
1343
+ thisDocument_1.addEventListener("mousedown", handleScreenEventForSave, true);
1344
+ thisDocument_1.addEventListener("mouseup", handleScreenEventForCancel, true);
1230
1345
  thisDocument_1.addEventListener("click", handleScreenEventForCancel, true);
1231
1346
  thisDocument_1.addEventListener("dblclick", handleScreenEventForCancel, true);
1232
1347
  return function () {
1233
- thisDocument_1.removeEventListener("mousedown", handleScreenEventForCancel, true);
1234
- thisDocument_1.removeEventListener("mouseup", handleScreenEventForSave, true);
1348
+ thisDocument_1.removeEventListener("mousedown", handleScreenEventForSave, true);
1349
+ thisDocument_1.removeEventListener("mouseup", handleScreenEventForCancel, true);
1235
1350
  thisDocument_1.removeEventListener("click", handleScreenEventForCancel, true);
1236
1351
  thisDocument_1.removeEventListener("dblclick", handleScreenEventForCancel, true);
1237
1352
  };
@@ -1502,6 +1617,8 @@ var SubMenuFr = function (_a) {
1502
1617
  };
1503
1618
  var SubMenu = withHovering("SubMenu", SubMenuFr);
1504
1619
 
1620
+ var RadioGroupContext = createContext({});
1621
+
1505
1622
  var MenuItemFr = function (_a) {
1506
1623
  var className = _a.className, value = _a.value, href = _a.href, type = _a.type, checked = _a.checked, disabled = _a.disabled, children = _a.children, onClick = _a.onClick, isHovering = _a.isHovering, menuItemRef = _a.menuItemRef, externalRef = _a.externalRef, restProps = __rest(_a, ["className", "value", "href", "type", "checked", "disabled", "children", "onClick", "isHovering", "menuItemRef", "externalRef"]);
1507
1624
  var isDisabled = !!disabled;
@@ -1632,7 +1749,7 @@ var MenuRadioGroupFr = function (_a, externalRef) {
1632
1749
  };
1633
1750
  var MenuRadioGroup = forwardRef(MenuRadioGroupFr);
1634
1751
 
1635
- var UpdatingContext = createContext({
1752
+ var GridUpdatingContext = createContext({
1636
1753
  checkUpdating: function () {
1637
1754
  console.error("Missing UpdatingContext");
1638
1755
  return false;
@@ -1645,7 +1762,7 @@ var UpdatingContext = createContext({
1645
1762
  }); }
1646
1763
  });
1647
1764
 
1648
- var UpdatingContextProvider = function (props) {
1765
+ var GridUpdatingContextProvider = function (props) {
1649
1766
  var updatingBlocks = useRef({});
1650
1767
  var updating = useRef({});
1651
1768
  var resetUpdating = function () {
@@ -1677,7 +1794,7 @@ var UpdatingContextProvider = function (props) {
1677
1794
  var checkUpdating = function (fields, id) {
1678
1795
  return castArray(fields).some(function (f) { var _a; return (_a = updating.current[f]) === null || _a === void 0 ? void 0 : _a.includes(id); });
1679
1796
  };
1680
- return (jsx(UpdatingContext.Provider, __assign({ value: { modifyUpdating: modifyUpdating, checkUpdating: checkUpdating } }, { children: props.children })));
1797
+ return (jsx(GridUpdatingContext.Provider, __assign({ value: { modifyUpdating: modifyUpdating, checkUpdating: checkUpdating } }, { children: props.children })));
1681
1798
  };
1682
1799
 
1683
1800
  var GridContext = createContext({
@@ -1756,7 +1873,7 @@ var GridContext = createContext({
1756
1873
  * Also, make sure the provider is created in a separate component, otherwise it won't be found.
1757
1874
  */
1758
1875
  var GridContextProvider = function (props) {
1759
- var modifyUpdating = useContext(UpdatingContext).modifyUpdating;
1876
+ var modifyUpdating = useContext(GridUpdatingContext).modifyUpdating;
1760
1877
  var gridApiRef = useRef();
1761
1878
  var idsBeforeUpdate = useRef([]);
1762
1879
  /**
@@ -1782,10 +1899,7 @@ var GridContextProvider = function (props) {
1782
1899
  noApiFn = (function () { });
1783
1900
  }
1784
1901
  var gridApi = gridApiRef.current;
1785
- if (gridApi)
1786
- return hasApiFn(gridApi);
1787
- console.error("GridApi not ready");
1788
- return noApiFn();
1902
+ return gridApi ? hasApiFn(gridApi) : noApiFn();
1789
1903
  };
1790
1904
  /**
1791
1905
  * Set the quick filter value to grid.
@@ -2025,40 +2139,43 @@ var GridContextProvider = function (props) {
2025
2139
  } }, { children: props.children })));
2026
2140
  };
2027
2141
 
2028
- function styleInject(css, ref) {
2029
- if ( ref === void 0 ) ref = {};
2030
- var insertAt = ref.insertAt;
2031
-
2032
- if (!css || typeof document === 'undefined') { return; }
2033
-
2034
- var head = document.head || document.getElementsByTagName('head')[0];
2035
- var style = document.createElement('style');
2036
- style.type = 'text/css';
2037
-
2038
- if (insertAt === 'top') {
2039
- if (head.firstChild) {
2040
- head.insertBefore(style, head.firstChild);
2041
- } else {
2042
- head.appendChild(style);
2043
- }
2044
- } else {
2045
- head.appendChild(style);
2046
- }
2047
-
2048
- if (style.styleSheet) {
2049
- style.styleSheet.cssText = css;
2050
- } else {
2051
- style.appendChild(document.createTextNode(css));
2052
- }
2142
+ function toVal(mix) {
2143
+ var k, y, str='';
2144
+ if (mix) {
2145
+ if (typeof mix === 'object') {
2146
+ if (Array.isArray(mix)) {
2147
+ for (k=0; k < mix.length; k++) {
2148
+ if (mix[k] && (y = toVal(mix[k]))) {
2149
+ str && (str += ' ');
2150
+ str += y;
2151
+ }
2152
+ }
2153
+ } else {
2154
+ for (k in mix) {
2155
+ if (mix[k] && (y = toVal(k))) {
2156
+ str && (str += ' ');
2157
+ str += y;
2158
+ }
2159
+ }
2160
+ }
2161
+ } else if (typeof mix !== 'boolean' && !mix.call) {
2162
+ str && (str += ' ');
2163
+ str += mix;
2164
+ }
2165
+ }
2166
+ return str;
2053
2167
  }
2054
2168
 
2055
- var css_248z$7 = "/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.Grid-container {\n flex: 1;\n width: 100%;\n}\n\n.Grid-sortIsStale span.ag-icon.ag-icon-desc:after {\n content: \"*\";\n}\n.Grid-sortIsStale span.ag-icon.ag-icon-asc:after {\n content: \"*\";\n}\n\n.Grid-quickFilter {\n width: 100%;\n margin-bottom: 16px;\n}\n\n.Grid-quickFilterBox {\n width: 100%;\n height: 48px;\n border: 0.06rem solid #beb9b4;\n border-radius: 3px;\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n\n.Grid-popoverContainer {\n padding: 4px 8px;\n}\n\n.Grid-popoverContainerList {\n padding: 4px 4px;\n}";
2056
- styleInject(css_248z$7);
2057
-
2058
- var css_248z$6 = "/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n ****************************\n * Generic Styles\n ****************************\n*/\nag-grid, ag-grid-angular, ag-grid-ng2, ag-grid-polymer, ag-grid-aurelia {\n display: block;\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 -ms-user-select: none;\n user-select: none;\n}\n\n.ag-selectable {\n -moz-user-select: text;\n -webkit-user-select: text;\n -ms-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-select-agg-func-popup {\n position: absolute;\n}\n\n.ag-input-wrapper, .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}\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.5;\n transition: opacity 1s ease-out 3s;\n}\n.ag-watermark::before {\n content: \"\";\n background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+Cjxzdmcgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDIzNSA0MCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxuczpzZXJpZj0iaHR0cDovL3d3dy5zZXJpZi5jb20vIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjI7Ij4KICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDAuNjM1NzIzLDAsMCwwLjYzNTcyMywtNDkyLjkyMSwtMzIzLjYwOCkiPgogICAgICAgIDxwYXRoIGQ9Ik0xMDk5LjQsNTQ5LjRMMTA5OS40LDUzNi45TDEwNzguMSw1MzYuOUwxMDY1LjYsNTQ5LjRMMTA5OS40LDU0OS40WiIgc3R5bGU9ImZpbGw6cmdiKDI0LDI5LDMxKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICA8cGF0aCBkPSJNMTEyMy40LDUxOC40TDEwOTYuNyw1MTguNEwxMDg0LjEsNTMwLjlMMTEyMy40LDUzMC45TDExMjMuNCw1MTguNFoiIHN0eWxlPSJmaWxsOnJnYigyNCwyOSwzMSk7ZmlsbC1ydWxlOm5vbnplcm87Ii8+CiAgICAgICAgPHBhdGggZD0iTTEwNTMuMiw1NjEuOUwxMDU5LjYsNTU1LjVMMTA4MS4yLDU1NS41TDEwODEuMiw1NjhMMTA1My4yLDU2OEwxMDUzLjIsNTYxLjlaIiBzdHlsZT0iZmlsbDpyZ2IoMjQsMjksMzEpO2ZpbGwtcnVsZTpub256ZXJvOyIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMDU3LjksNTQzLjNMMTA3MS43LDU0My4zTDEwODQuMyw1MzAuOEwxMDU3LjksNTMwLjhMMTA1Ny45LDU0My4zWiIgc3R5bGU9ImZpbGw6cmdiKDI0LDI5LDMxKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICA8cGF0aCBkPSJNMTA0Mi44LDU2MS45TDEwNTMuMiw1NjEuOUwxMDY1LjYsNTQ5LjRMMTA0Mi44LDU0OS40TDEwNDIuOCw1NjEuOVoiIHN0eWxlPSJmaWxsOnJnYigyNCwyOSwzMSk7ZmlsbC1ydWxlOm5vbnplcm87Ii8+CiAgICAgICAgPHBhdGggZD0iTTEwOTYuNyw1MTguNEwxMDkwLjMsNTI0LjhMMTA0OS41LDUyNC44TDEwNDkuNSw1MTIuM0wxMDk2LjcsNTEyLjNMMTA5Ni43LDUxOC40WiIgc3R5bGU9ImZpbGw6cmdiKDI0LDI5LDMxKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICA8cGF0aCBkPSJNODI4LjYsNTU5LjdMODA5LDU1OS43TDgwNS42LDU2OC4xTDc5Nyw1NjguMUw4MTUuMSw1MjUuN0w4MjIuNiw1MjUuN0w4NDAuNyw1NjguMUw4MzIsNTY4LjFMODI4LjYsNTU5LjdaTTgyNS45LDU1M0w4MTguOCw1MzUuN0w4MTEuNyw1NTNMODI1LjksNTUzWiIgc3R5bGU9ImZpbGw6cmdiKDI0LDI5LDMxKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICA8cGF0aCBkPSJNOTYwLjEsNTQxLjNDOTYyLjYsNTM3LjYgOTY4LjksNTM3LjIgOTcxLjUsNTM3LjJMOTcxLjUsNTQ0LjRDOTY4LjMsNTQ0LjQgOTY1LjEsNTQ0LjUgOTYzLjIsNTQ1LjlDOTYxLjMsNTQ3LjMgOTYwLjMsNTQ5LjIgOTYwLjMsNTUxLjVMOTYwLjMsNTY4LjFMOTUyLjUsNTY4LjFMOTUyLjUsNTM3LjJMOTYwLDUzNy4yTDk2MC4xLDU0MS4zWiIgc3R5bGU9ImZpbGw6cmdiKDI0LDI5LDMxKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICA8cmVjdCB4PSI5NzUuOCIgeT0iNTM3LjIiIHdpZHRoPSI3LjgiIGhlaWdodD0iMzAuOSIgc3R5bGU9ImZpbGw6cmdiKDI0LDI5LDMxKTsiLz4KICAgICAgICA8cmVjdCB4PSI5NzUuOCIgeT0iNTIzLjQiIHdpZHRoPSI3LjgiIGhlaWdodD0iOS4yIiBzdHlsZT0iZmlsbDpyZ2IoMjQsMjksMzEpOyIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMDIyLjMsNTIzLjRMMTAyMi4zLDU2OC4xTDEwMTQuOCw1NjguMUwxMDE0LjYsNTYzLjRDMTAxMy41LDU2NSAxMDEyLjEsNTY2LjMgMTAxMC40LDU2Ny4zQzEwMDguNyw1NjguMiAxMDA2LjYsNTY4LjcgMTAwNC4yLDU2OC43QzEwMDIuMSw1NjguNyAxMDAwLjEsNTY4LjMgOTk4LjQsNTY3LjZDOTk2LjYsNTY2LjggOTk1LDU2NS44IDk5My43LDU2NC40Qzk5Mi40LDU2MyA5OTEuMyw1NjEuMyA5OTAuNiw1NTkuNEM5ODkuOCw1NTcuNSA5ODkuNSw1NTUuMyA5ODkuNSw1NTIuOUM5ODkuNSw1NTAuNSA5ODkuOSw1NDguMyA5OTAuNiw1NDYuM0M5OTEuNCw1NDQuMyA5OTIuNCw1NDIuNiA5OTMuNyw1NDEuMkM5OTUsNTM5LjggOTk2LjYsNTM4LjcgOTk4LjQsNTM3LjlDMTAwMC4yLDUzNy4xIDEwMDIuMSw1MzYuNyAxMDA0LjIsNTM2LjdDMTAwNi42LDUzNi43IDEwMDguNiw1MzcuMSAxMDEwLjMsNTM4QzEwMTIsNTM4LjkgMTAxMy40LDU0MC4xIDEwMTQuNSw1NDEuOEwxMDE0LjUsNTIzLjVMMTAyMi4zLDUyMy41TDEwMjIuMyw1MjMuNFpNMTAwNS45LDU2MkMxMDA4LjUsNTYyIDEwMTAuNSw1NjEuMSAxMDEyLjEsNTU5LjRDMTAxMy43LDU1Ny43IDEwMTQuNSw1NTUuNCAxMDE0LjUsNTUyLjZDMTAxNC41LDU0OS44IDEwMTMuNyw1NDcuNiAxMDEyLjEsNTQ1LjhDMTAxMC41LDU0NC4xIDEwMDguNSw1NDMuMiAxMDA1LjksNTQzLjJDMTAwMy40LDU0My4yIDEwMDEuMyw1NDQuMSA5OTkuOCw1NDUuOEM5OTguMiw1NDcuNSA5OTcuNCw1NDkuOCA5OTcuNCw1NTIuNkM5OTcuNCw1NTUuNCA5OTguMiw1NTcuNiA5OTkuOCw1NTkuM0MxMDAxLjQsNTYxLjEgMTAwMy40LDU2MiAxMDA1LjksNTYyIiBzdHlsZT0iZmlsbDpyZ2IoMjQsMjksMzEpO2ZpbGwtcnVsZTpub256ZXJvOyIvPgogICAgICAgIDxwYXRoIGQ9Ik04ODUuOCw1NDQuMkw4NjYuNSw1NDQuMkw4NjYuNSw1NTAuOUw4NzcuNSw1NTAuOUM4NzcuMiw1NTQuMyA4NzUuOSw1NTYuOSA4NzMuNyw1NTlDODcxLjUsNTYxIDg2OC43LDU2MiA4NjUuMSw1NjJDODYzLjEsNTYyIDg2MS4yLDU2MS42IDg1OS42LDU2MC45Qzg1Ny45LDU2MC4yIDg1Ni41LDU1OS4yIDg1NS4zLDU1Ny44Qzg1NC4xLDU1Ni41IDg1My4yLDU1NC45IDg1Mi41LDU1M0M4NTEuOCw1NTEuMSA4NTEuNSw1NDkuMSA4NTEuNSw1NDYuOEM4NTEuNSw1NDQuNSA4NTEuOCw1NDIuNSA4NTIuNSw1NDAuNkM4NTMuMSw1MzguNyA4NTQuMSw1MzcuMiA4NTUuMyw1MzUuOEM4NTYuNSw1MzQuNSA4NTcuOSw1MzMuNSA4NTkuNiw1MzIuN0M4NjEuMyw1MzIgODYzLjEsNTMxLjYgODY1LjIsNTMxLjZDODY5LjQsNTMxLjYgODcyLjYsNTMyLjYgODc0LjgsNTM0LjZMODgwLDUyOS40Qzg3Ni4xLDUyNi40IDg3MS4xLDUyNC44IDg2NS4yLDUyNC44Qzg2MS45LDUyNC44IDg1OC45LDUyNS4zIDg1Ni4yLDUyNi40Qzg1My41LDUyNy41IDg1MS4yLDUyOC45IDg0OS4zLDUzMC44Qzg0Ny40LDUzMi43IDg0NS45LDUzNSA4NDQuOSw1MzcuN0M4NDMuOSw1NDAuNCA4NDMuNCw1NDMuNCA4NDMuNCw1NDYuNkM4NDMuNCw1NDkuOCA4NDMuOSw1NTIuOCA4NDUsNTU1LjVDODQ2LjEsNTU4LjIgODQ3LjUsNTYwLjUgODQ5LjQsNTYyLjRDODUxLjMsNTY0LjMgODUzLjYsNTY1LjggODU2LjMsNTY2LjhDODU5LDU2Ny45IDg2Miw1NjguNCA4NjUuMiw1NjguNEM4NjguNCw1NjguNCA4NzEuMyw1NjcuOSA4NzMuOSw1NjYuOEM4NzYuNSw1NjUuNyA4NzguNyw1NjQuMyA4ODAuNSw1NjIuNEM4ODIuMyw1NjAuNSA4ODMuNyw1NTguMiA4ODQuNyw1NTUuNUM4ODUuNyw1NTIuOCA4ODYuMiw1NDkuOCA4ODYuMiw1NDYuNkw4ODYuMiw1NDUuM0M4ODUuOSw1NDUuMSA4ODUuOCw1NDQuNiA4ODUuOCw1NDQuMiIgc3R5bGU9ImZpbGw6cmdiKDI0LDI5LDMxKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICA8cGF0aCBkPSJNOTQ2LjgsNTQ0LjJMOTI3LjUsNTQ0LjJMOTI3LjUsNTUwLjlMOTM4LjUsNTUwLjlDOTM4LjIsNTU0LjMgOTM2LjksNTU2LjkgOTM0LjcsNTU5QzkzMi41LDU2MSA5MjkuNyw1NjIgOTI2LjEsNTYyQzkyNC4xLDU2MiA5MjIuMiw1NjEuNiA5MjAuNiw1NjAuOUM5MTguOSw1NjAuMiA5MTcuNSw1NTkuMiA5MTYuMyw1NTcuOEM5MTUuMSw1NTYuNSA5MTQuMiw1NTQuOSA5MTMuNSw1NTNDOTEyLjgsNTUxLjEgOTEyLjUsNTQ5LjEgOTEyLjUsNTQ2LjhDOTEyLjUsNTQ0LjUgOTEyLjgsNTQyLjUgOTEzLjUsNTQwLjZDOTE0LjEsNTM4LjcgOTE1LjEsNTM3LjIgOTE2LjMsNTM1LjhDOTE3LjUsNTM0LjUgOTE4LjksNTMzLjUgOTIwLjYsNTMyLjdDOTIyLjMsNTMyIDkyNC4xLDUzMS42IDkyNi4yLDUzMS42QzkzMC40LDUzMS42IDkzMy42LDUzMi42IDkzNS44LDUzNC42TDk0MSw1MjkuNEM5MzcuMSw1MjYuNCA5MzIuMSw1MjQuOCA5MjYuMiw1MjQuOEM5MjIuOSw1MjQuOCA5MTkuOSw1MjUuMyA5MTcuMiw1MjYuNEM5MTQuNSw1MjcuNSA5MTIuMiw1MjguOSA5MTAuMyw1MzAuOEM5MDguNCw1MzIuNyA5MDYuOSw1MzUgOTA1LjksNTM3LjdDOTA0LjksNTQwLjQgOTA0LjQsNTQzLjQgOTA0LjQsNTQ2LjZDOTA0LjQsNTQ5LjggOTA0LjksNTUyLjggOTA2LDU1NS41QzkwNy4xLDU1OC4yIDkwOC41LDU2MC41IDkxMC40LDU2Mi40QzkxMi4zLDU2NC4zIDkxNC42LDU2NS44IDkxNy4zLDU2Ni44QzkyMCw1NjcuOSA5MjMsNTY4LjQgOTI2LjIsNTY4LjRDOTI5LjQsNTY4LjQgOTMyLjMsNTY3LjkgOTM0LjksNTY2LjhDOTM3LjUsNTY1LjcgOTM5LjcsNTY0LjMgOTQxLjUsNTYyLjRDOTQzLjMsNTYwLjUgOTQ0LjcsNTU4LjIgOTQ1LjcsNTU1LjVDOTQ2LjcsNTUyLjggOTQ3LjIsNTQ5LjggOTQ3LjIsNTQ2LjZMOTQ3LjIsNTQ1LjNDOTQ2LjksNTQ1LjEgOTQ2LjgsNTQ0LjYgOTQ2LjgsNTQ0LjIiIHN0eWxlPSJmaWxsOnJnYigyNCwyOSwzMSk7ZmlsbC1ydWxlOm5vbnplcm87Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=);\n background-repeat: no-repeat;\n background-size: 170px 40px;\n display: block;\n height: 40px;\n width: 170px;\n opacity: 0.5;\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/**\n ****************************\n * Viewports\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-virtual-list-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 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 width: 100%;\n overflow-x: auto;\n}\n\n.ag-body-horizontal-scroll-viewport {\n overflow-x: scroll;\n}\n\n.ag-virtual-list-viewport {\n overflow: auto;\n width: 100%;\n}\n\n/**\n ****************************\n * Containers\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-full-width-container,\n.ag-floating-bottom-full-width-container,\n.ag-virtual-list-container {\n position: relative;\n}\n\n.ag-header-container, .ag-floating-top-container, .ag-floating-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-full-width-container,\n.ag-floating-top-full-width-container,\n.ag-floating-bottom-full-width-container {\n position: absolute;\n top: 0px;\n left: 0px;\n pointer-events: none;\n}\n\n.ag-full-width-container {\n width: 100%;\n}\n\n.ag-floating-bottom-full-width-container, .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/**\n ****************************\n * Scrollers\n ****************************\n*/\n.ag-center-cols-clipper {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n min-height: 100%;\n transform: translate3d(0, 0, 0);\n}\n\n.ag-body-horizontal-scroll {\n min-height: 0;\n min-width: 0;\n width: 100%;\n display: flex;\n position: relative;\n}\n.ag-body-horizontal-scroll.ag-scrollbar-invisible {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n pointer-events: none;\n}\n.ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-scrollbar-scrolling, .ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-scrollbar-active {\n pointer-events: all;\n}\n\n.ag-force-vertical-scroll {\n overflow-y: scroll !important;\n}\n\n.ag-horizontal-left-spacer, .ag-horizontal-right-spacer {\n height: 100%;\n min-width: 0;\n overflow-x: scroll;\n}\n.ag-horizontal-left-spacer.ag-scroller-corner, .ag-horizontal-right-spacer.ag-scroller-corner {\n overflow-x: hidden;\n}\n\n/**\n ****************************\n * Headers\n ****************************\n*/\n.ag-header, .ag-pinned-left-header, .ag-pinned-right-header {\n display: inline-block;\n overflow: hidden;\n position: relative;\n}\n\n.ag-header-cell-sortable {\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 overflow: hidden;\n}\n\n.ag-header-cell {\n display: inline-flex;\n align-items: center;\n position: absolute;\n height: 100%;\n overflow: hidden;\n}\n\n.ag-header-cell.ag-header-active .ag-header-cell-menu-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, .ag-header-cell-label {\n display: flex;\n flex: 1 1 auto;\n overflow: hidden;\n align-items: center;\n text-overflow: ellipsis;\n align-self: stretch;\n}\n\n.ag-header-cell-text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.ag-right-aligned-header .ag-header-cell-label {\n flex-direction: row-reverse;\n}\n\n.ag-header-group-text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\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/**\n ****************************\n * Columns\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/**\n ****************************\n * Column Panel\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, .ag-filter-toolpanel-search {\n display: flex;\n align-items: center;\n}\n.ag-filter-toolpanel-header > *, .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/**\n ****************************\n * Rows\n ****************************\n*/\n.ag-row-animation .ag-row {\n transition: transform 0.4s, top 0.4s, background-color 0.1s, 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, background-color 0.1s, opacity 0.2s;\n}\n\n.ag-row-no-animation .ag-row {\n transition: background-color 0.1s;\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/**\n ****************************\n * Cells\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, .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-all;\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/**\n ****************************\n * Filters\n ****************************\n*/\n.ag-set-filter-item {\n display: flex;\n align-items: center;\n height: 100%;\n}\n\n.ag-set-filter-item-value {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.ag-set-filter-item-checkbox {\n display: flex;\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/**\n ****************************\n * Floating Filter\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/**\n ****************************\n * Drag & Drop\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/**\n ****************************\n * Overlay\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}\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/**\n ****************************\n * Popup\n ****************************\n*/\n.ag-popup-child {\n z-index: 5;\n top: 0;\n}\n\n.ag-popup-editor {\n position: absolute;\n user-select: none;\n z-index: 1;\n}\n\n.ag-large-text-input {\n display: block;\n}\n\n/**\n ****************************\n * Virtual Lists\n ****************************\n*/\n.ag-virtual-list-item {\n position: absolute;\n width: 100%;\n}\n\n/**\n ****************************\n * Floating Top and Bottom\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/**\n ****************************\n * Dialog\n ****************************\n*/\n.ag-dialog, .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 user-select: none;\n z-index: 1;\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/**\n ****************************\n * Tooltip\n ****************************\n*/\n.ag-tooltip {\n position: absolute;\n pointer-events: none;\n z-index: 99999;\n}\n\n.ag-tooltip-custom {\n position: absolute;\n pointer-events: none;\n z-index: 99999;\n}\n\n/**\n ****************************\n * Animations\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/**\n ****************************\n * Menu\n ****************************\n*/\n.ag-menu {\n max-height: 100%;\n overflow-y: auto;\n position: absolute;\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-menu-list {\n display: table;\n width: 100%;\n}\n\n.ag-menu-option, .ag-menu-separator {\n display: table-row;\n}\n\n.ag-menu-option-part, .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-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/**\n ****************************\n * Rich Select\n ****************************\n*/\n.ag-rich-select {\n cursor: default;\n outline: none;\n}\n\n.ag-rich-select-value {\n display: flex;\n align-items: center;\n}\n\n.ag-rich-select-value-icon {\n flex: 1 1 auto;\n order: 1;\n}\n.ag-ltr .ag-rich-select-value-icon {\n text-align: right;\n}\n.ag-rtl .ag-rich-select-value-icon {\n text-align: left;\n}\n\n.ag-rich-select-list {\n position: relative;\n}\n\n.ag-rich-select-virtual-list-item {\n display: flex;\n}\n\n.ag-rich-select-row {\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n white-space: nowrap;\n}\n\n/**\n ****************************\n * Pagination\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/**\n ****************************\n * Tool Panel\n ****************************\n*/\n.ag-tool-panel-wrapper {\n display: flex;\n overflow-y: auto;\n overflow-x: hidden;\n cursor: default;\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 text-overflow: ellipsis;\n white-space: 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-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-cell-label-container {\n display: flex;\n justify-content: space-between;\n flex-direction: row-reverse;\n align-items: center;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n\n.ag-right-aligned-header .ag-cell-label-container {\n flex-direction: row;\n}\n\n/**\n ****************************\n * Side Bar\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/**\n ****************************\n * Status Bar\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/**\n ****************************\n * Widgets\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: block;\n flex: 1 1 auto;\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, .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 width: 100%;\n min-width: 0;\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-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: hidden;\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 cursor: default;\n background: linear-gradient(to left, #ff0000 3%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);\n}\n\n.ag-spectrum-alpha {\n cursor: default;\n}\n\n.ag-spectrum-hue-background {\n width: 100%;\n height: 100%;\n}\n\n.ag-spectrum-alpha-background {\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgb(0, 0, 0));\n width: 100%;\n height: 100%;\n}\n\n.ag-spectrum-tool {\n cursor: pointer;\n}\n\n.ag-spectrum-slider {\n position: absolute;\n pointer-events: none;\n}\n\n.ag-recent-colors {\n display: flex;\n}\n\n.ag-recent-color {\n cursor: pointer;\n}\n\n.ag-ltr .ag-column-select-indent-1 {\n padding-left: 20px;\n}\n.ag-rtl .ag-column-select-indent-1 {\n padding-right: 20px;\n}\n\n.ag-ltr .ag-row-group-indent-1 {\n padding-left: 20px;\n}\n.ag-rtl .ag-row-group-indent-1 {\n padding-right: 20px;\n}\n\n.ag-ltr .ag-column-select-indent-2 {\n padding-left: 40px;\n}\n.ag-rtl .ag-column-select-indent-2 {\n padding-right: 40px;\n}\n\n.ag-ltr .ag-row-group-indent-2 {\n padding-left: 40px;\n}\n.ag-rtl .ag-row-group-indent-2 {\n padding-right: 40px;\n}\n\n.ag-ltr .ag-column-select-indent-3 {\n padding-left: 60px;\n}\n.ag-rtl .ag-column-select-indent-3 {\n padding-right: 60px;\n}\n\n.ag-ltr .ag-row-group-indent-3 {\n padding-left: 60px;\n}\n.ag-rtl .ag-row-group-indent-3 {\n padding-right: 60px;\n}\n\n.ag-ltr .ag-column-select-indent-4 {\n padding-left: 80px;\n}\n.ag-rtl .ag-column-select-indent-4 {\n padding-right: 80px;\n}\n\n.ag-ltr .ag-row-group-indent-4 {\n padding-left: 80px;\n}\n.ag-rtl .ag-row-group-indent-4 {\n padding-right: 80px;\n}\n\n.ag-ltr .ag-column-select-indent-5 {\n padding-left: 100px;\n}\n.ag-rtl .ag-column-select-indent-5 {\n padding-right: 100px;\n}\n\n.ag-ltr .ag-row-group-indent-5 {\n padding-left: 100px;\n}\n.ag-rtl .ag-row-group-indent-5 {\n padding-right: 100px;\n}\n\n.ag-ltr .ag-column-select-indent-6 {\n padding-left: 120px;\n}\n.ag-rtl .ag-column-select-indent-6 {\n padding-right: 120px;\n}\n\n.ag-ltr .ag-row-group-indent-6 {\n padding-left: 120px;\n}\n.ag-rtl .ag-row-group-indent-6 {\n padding-right: 120px;\n}\n\n.ag-ltr .ag-column-select-indent-7 {\n padding-left: 140px;\n}\n.ag-rtl .ag-column-select-indent-7 {\n padding-right: 140px;\n}\n\n.ag-ltr .ag-row-group-indent-7 {\n padding-left: 140px;\n}\n.ag-rtl .ag-row-group-indent-7 {\n padding-right: 140px;\n}\n\n.ag-ltr .ag-column-select-indent-8 {\n padding-left: 160px;\n}\n.ag-rtl .ag-column-select-indent-8 {\n padding-right: 160px;\n}\n\n.ag-ltr .ag-row-group-indent-8 {\n padding-left: 160px;\n}\n.ag-rtl .ag-row-group-indent-8 {\n padding-right: 160px;\n}\n\n.ag-ltr .ag-column-select-indent-9 {\n padding-left: 180px;\n}\n.ag-rtl .ag-column-select-indent-9 {\n padding-right: 180px;\n}\n\n.ag-ltr .ag-row-group-indent-9 {\n padding-left: 180px;\n}\n.ag-rtl .ag-row-group-indent-9 {\n padding-right: 180px;\n}\n\n.ag-ltr .ag-column-select-indent-10 {\n padding-left: 200px;\n}\n.ag-rtl .ag-column-select-indent-10 {\n padding-right: 200px;\n}\n\n.ag-ltr .ag-row-group-indent-10 {\n padding-left: 200px;\n}\n.ag-rtl .ag-row-group-indent-10 {\n padding-right: 200px;\n}\n\n.ag-ltr .ag-column-select-indent-11 {\n padding-left: 220px;\n}\n.ag-rtl .ag-column-select-indent-11 {\n padding-right: 220px;\n}\n\n.ag-ltr .ag-row-group-indent-11 {\n padding-left: 220px;\n}\n.ag-rtl .ag-row-group-indent-11 {\n padding-right: 220px;\n}\n\n.ag-ltr .ag-column-select-indent-12 {\n padding-left: 240px;\n}\n.ag-rtl .ag-column-select-indent-12 {\n padding-right: 240px;\n}\n\n.ag-ltr .ag-row-group-indent-12 {\n padding-left: 240px;\n}\n.ag-rtl .ag-row-group-indent-12 {\n padding-right: 240px;\n}\n\n.ag-ltr .ag-column-select-indent-13 {\n padding-left: 260px;\n}\n.ag-rtl .ag-column-select-indent-13 {\n padding-right: 260px;\n}\n\n.ag-ltr .ag-row-group-indent-13 {\n padding-left: 260px;\n}\n.ag-rtl .ag-row-group-indent-13 {\n padding-right: 260px;\n}\n\n.ag-ltr .ag-column-select-indent-14 {\n padding-left: 280px;\n}\n.ag-rtl .ag-column-select-indent-14 {\n padding-right: 280px;\n}\n\n.ag-ltr .ag-row-group-indent-14 {\n padding-left: 280px;\n}\n.ag-rtl .ag-row-group-indent-14 {\n padding-right: 280px;\n}\n\n.ag-ltr .ag-column-select-indent-15 {\n padding-left: 300px;\n}\n.ag-rtl .ag-column-select-indent-15 {\n padding-right: 300px;\n}\n\n.ag-ltr .ag-row-group-indent-15 {\n padding-left: 300px;\n}\n.ag-rtl .ag-row-group-indent-15 {\n padding-right: 300px;\n}\n\n.ag-ltr .ag-column-select-indent-16 {\n padding-left: 320px;\n}\n.ag-rtl .ag-column-select-indent-16 {\n padding-right: 320px;\n}\n\n.ag-ltr .ag-row-group-indent-16 {\n padding-left: 320px;\n}\n.ag-rtl .ag-row-group-indent-16 {\n padding-right: 320px;\n}\n\n.ag-ltr .ag-column-select-indent-17 {\n padding-left: 340px;\n}\n.ag-rtl .ag-column-select-indent-17 {\n padding-right: 340px;\n}\n\n.ag-ltr .ag-row-group-indent-17 {\n padding-left: 340px;\n}\n.ag-rtl .ag-row-group-indent-17 {\n padding-right: 340px;\n}\n\n.ag-ltr .ag-column-select-indent-18 {\n padding-left: 360px;\n}\n.ag-rtl .ag-column-select-indent-18 {\n padding-right: 360px;\n}\n\n.ag-ltr .ag-row-group-indent-18 {\n padding-left: 360px;\n}\n.ag-rtl .ag-row-group-indent-18 {\n padding-right: 360px;\n}\n\n.ag-ltr .ag-column-select-indent-19 {\n padding-left: 380px;\n}\n.ag-rtl .ag-column-select-indent-19 {\n padding-right: 380px;\n}\n\n.ag-ltr .ag-row-group-indent-19 {\n padding-left: 380px;\n}\n.ag-rtl .ag-row-group-indent-19 {\n padding-right: 380px;\n}\n\n.ag-ltr .ag-column-select-indent-20 {\n padding-left: 400px;\n}\n.ag-rtl .ag-column-select-indent-20 {\n padding-right: 400px;\n}\n\n.ag-ltr .ag-row-group-indent-20 {\n padding-left: 400px;\n}\n.ag-rtl .ag-row-group-indent-20 {\n padding-right: 400px;\n}\n\n.ag-ltr .ag-column-select-indent-21 {\n padding-left: 420px;\n}\n.ag-rtl .ag-column-select-indent-21 {\n padding-right: 420px;\n}\n\n.ag-ltr .ag-row-group-indent-21 {\n padding-left: 420px;\n}\n.ag-rtl .ag-row-group-indent-21 {\n padding-right: 420px;\n}\n\n.ag-ltr .ag-column-select-indent-22 {\n padding-left: 440px;\n}\n.ag-rtl .ag-column-select-indent-22 {\n padding-right: 440px;\n}\n\n.ag-ltr .ag-row-group-indent-22 {\n padding-left: 440px;\n}\n.ag-rtl .ag-row-group-indent-22 {\n padding-right: 440px;\n}\n\n.ag-ltr .ag-column-select-indent-23 {\n padding-left: 460px;\n}\n.ag-rtl .ag-column-select-indent-23 {\n padding-right: 460px;\n}\n\n.ag-ltr .ag-row-group-indent-23 {\n padding-left: 460px;\n}\n.ag-rtl .ag-row-group-indent-23 {\n padding-right: 460px;\n}\n\n.ag-ltr .ag-column-select-indent-24 {\n padding-left: 480px;\n}\n.ag-rtl .ag-column-select-indent-24 {\n padding-right: 480px;\n}\n\n.ag-ltr .ag-row-group-indent-24 {\n padding-left: 480px;\n}\n.ag-rtl .ag-row-group-indent-24 {\n padding-right: 480px;\n}\n\n.ag-ltr .ag-column-select-indent-25 {\n padding-left: 500px;\n}\n.ag-rtl .ag-column-select-indent-25 {\n padding-right: 500px;\n}\n\n.ag-ltr .ag-row-group-indent-25 {\n padding-left: 500px;\n}\n.ag-rtl .ag-row-group-indent-25 {\n padding-right: 500px;\n}\n\n.ag-ltr .ag-column-select-indent-26 {\n padding-left: 520px;\n}\n.ag-rtl .ag-column-select-indent-26 {\n padding-right: 520px;\n}\n\n.ag-ltr .ag-row-group-indent-26 {\n padding-left: 520px;\n}\n.ag-rtl .ag-row-group-indent-26 {\n padding-right: 520px;\n}\n\n.ag-ltr .ag-column-select-indent-27 {\n padding-left: 540px;\n}\n.ag-rtl .ag-column-select-indent-27 {\n padding-right: 540px;\n}\n\n.ag-ltr .ag-row-group-indent-27 {\n padding-left: 540px;\n}\n.ag-rtl .ag-row-group-indent-27 {\n padding-right: 540px;\n}\n\n.ag-ltr .ag-column-select-indent-28 {\n padding-left: 560px;\n}\n.ag-rtl .ag-column-select-indent-28 {\n padding-right: 560px;\n}\n\n.ag-ltr .ag-row-group-indent-28 {\n padding-left: 560px;\n}\n.ag-rtl .ag-row-group-indent-28 {\n padding-right: 560px;\n}\n\n.ag-ltr .ag-column-select-indent-29 {\n padding-left: 580px;\n}\n.ag-rtl .ag-column-select-indent-29 {\n padding-right: 580px;\n}\n\n.ag-ltr .ag-row-group-indent-29 {\n padding-left: 580px;\n}\n.ag-rtl .ag-row-group-indent-29 {\n padding-right: 580px;\n}\n\n.ag-ltr .ag-column-select-indent-30 {\n padding-left: 600px;\n}\n.ag-rtl .ag-column-select-indent-30 {\n padding-right: 600px;\n}\n\n.ag-ltr .ag-row-group-indent-30 {\n padding-left: 600px;\n}\n.ag-rtl .ag-row-group-indent-30 {\n padding-right: 600px;\n}\n\n.ag-ltr .ag-column-select-indent-31 {\n padding-left: 620px;\n}\n.ag-rtl .ag-column-select-indent-31 {\n padding-right: 620px;\n}\n\n.ag-ltr .ag-row-group-indent-31 {\n padding-left: 620px;\n}\n.ag-rtl .ag-row-group-indent-31 {\n padding-right: 620px;\n}\n\n.ag-ltr .ag-column-select-indent-32 {\n padding-left: 640px;\n}\n.ag-rtl .ag-column-select-indent-32 {\n padding-right: 640px;\n}\n\n.ag-ltr .ag-row-group-indent-32 {\n padding-left: 640px;\n}\n.ag-rtl .ag-row-group-indent-32 {\n padding-right: 640px;\n}\n\n.ag-ltr .ag-column-select-indent-33 {\n padding-left: 660px;\n}\n.ag-rtl .ag-column-select-indent-33 {\n padding-right: 660px;\n}\n\n.ag-ltr .ag-row-group-indent-33 {\n padding-left: 660px;\n}\n.ag-rtl .ag-row-group-indent-33 {\n padding-right: 660px;\n}\n\n.ag-ltr .ag-column-select-indent-34 {\n padding-left: 680px;\n}\n.ag-rtl .ag-column-select-indent-34 {\n padding-right: 680px;\n}\n\n.ag-ltr .ag-row-group-indent-34 {\n padding-left: 680px;\n}\n.ag-rtl .ag-row-group-indent-34 {\n padding-right: 680px;\n}\n\n.ag-ltr .ag-column-select-indent-35 {\n padding-left: 700px;\n}\n.ag-rtl .ag-column-select-indent-35 {\n padding-right: 700px;\n}\n\n.ag-ltr .ag-row-group-indent-35 {\n padding-left: 700px;\n}\n.ag-rtl .ag-row-group-indent-35 {\n padding-right: 700px;\n}\n\n.ag-ltr .ag-column-select-indent-36 {\n padding-left: 720px;\n}\n.ag-rtl .ag-column-select-indent-36 {\n padding-right: 720px;\n}\n\n.ag-ltr .ag-row-group-indent-36 {\n padding-left: 720px;\n}\n.ag-rtl .ag-row-group-indent-36 {\n padding-right: 720px;\n}\n\n.ag-ltr .ag-column-select-indent-37 {\n padding-left: 740px;\n}\n.ag-rtl .ag-column-select-indent-37 {\n padding-right: 740px;\n}\n\n.ag-ltr .ag-row-group-indent-37 {\n padding-left: 740px;\n}\n.ag-rtl .ag-row-group-indent-37 {\n padding-right: 740px;\n}\n\n.ag-ltr .ag-column-select-indent-38 {\n padding-left: 760px;\n}\n.ag-rtl .ag-column-select-indent-38 {\n padding-right: 760px;\n}\n\n.ag-ltr .ag-row-group-indent-38 {\n padding-left: 760px;\n}\n.ag-rtl .ag-row-group-indent-38 {\n padding-right: 760px;\n}\n\n.ag-ltr .ag-column-select-indent-39 {\n padding-left: 780px;\n}\n.ag-rtl .ag-column-select-indent-39 {\n padding-right: 780px;\n}\n\n.ag-ltr .ag-row-group-indent-39 {\n padding-left: 780px;\n}\n.ag-rtl .ag-row-group-indent-39 {\n padding-right: 780px;\n}\n\n.ag-ltr .ag-column-select-indent-40 {\n padding-left: 800px;\n}\n.ag-rtl .ag-column-select-indent-40 {\n padding-right: 800px;\n}\n\n.ag-ltr .ag-row-group-indent-40 {\n padding-left: 800px;\n}\n.ag-rtl .ag-row-group-indent-40 {\n padding-right: 800px;\n}\n\n.ag-ltr .ag-column-select-indent-41 {\n padding-left: 820px;\n}\n.ag-rtl .ag-column-select-indent-41 {\n padding-right: 820px;\n}\n\n.ag-ltr .ag-row-group-indent-41 {\n padding-left: 820px;\n}\n.ag-rtl .ag-row-group-indent-41 {\n padding-right: 820px;\n}\n\n.ag-ltr .ag-column-select-indent-42 {\n padding-left: 840px;\n}\n.ag-rtl .ag-column-select-indent-42 {\n padding-right: 840px;\n}\n\n.ag-ltr .ag-row-group-indent-42 {\n padding-left: 840px;\n}\n.ag-rtl .ag-row-group-indent-42 {\n padding-right: 840px;\n}\n\n.ag-ltr .ag-column-select-indent-43 {\n padding-left: 860px;\n}\n.ag-rtl .ag-column-select-indent-43 {\n padding-right: 860px;\n}\n\n.ag-ltr .ag-row-group-indent-43 {\n padding-left: 860px;\n}\n.ag-rtl .ag-row-group-indent-43 {\n padding-right: 860px;\n}\n\n.ag-ltr .ag-column-select-indent-44 {\n padding-left: 880px;\n}\n.ag-rtl .ag-column-select-indent-44 {\n padding-right: 880px;\n}\n\n.ag-ltr .ag-row-group-indent-44 {\n padding-left: 880px;\n}\n.ag-rtl .ag-row-group-indent-44 {\n padding-right: 880px;\n}\n\n.ag-ltr .ag-column-select-indent-45 {\n padding-left: 900px;\n}\n.ag-rtl .ag-column-select-indent-45 {\n padding-right: 900px;\n}\n\n.ag-ltr .ag-row-group-indent-45 {\n padding-left: 900px;\n}\n.ag-rtl .ag-row-group-indent-45 {\n padding-right: 900px;\n}\n\n.ag-ltr .ag-column-select-indent-46 {\n padding-left: 920px;\n}\n.ag-rtl .ag-column-select-indent-46 {\n padding-right: 920px;\n}\n\n.ag-ltr .ag-row-group-indent-46 {\n padding-left: 920px;\n}\n.ag-rtl .ag-row-group-indent-46 {\n padding-right: 920px;\n}\n\n.ag-ltr .ag-column-select-indent-47 {\n padding-left: 940px;\n}\n.ag-rtl .ag-column-select-indent-47 {\n padding-right: 940px;\n}\n\n.ag-ltr .ag-row-group-indent-47 {\n padding-left: 940px;\n}\n.ag-rtl .ag-row-group-indent-47 {\n padding-right: 940px;\n}\n\n.ag-ltr .ag-column-select-indent-48 {\n padding-left: 960px;\n}\n.ag-rtl .ag-column-select-indent-48 {\n padding-right: 960px;\n}\n\n.ag-ltr .ag-row-group-indent-48 {\n padding-left: 960px;\n}\n.ag-rtl .ag-row-group-indent-48 {\n padding-right: 960px;\n}\n\n.ag-ltr .ag-column-select-indent-49 {\n padding-left: 980px;\n}\n.ag-rtl .ag-column-select-indent-49 {\n padding-right: 980px;\n}\n\n.ag-ltr .ag-row-group-indent-49 {\n padding-left: 980px;\n}\n.ag-rtl .ag-row-group-indent-49 {\n padding-right: 980px;\n}\n\n.ag-ltr .ag-column-select-indent-50 {\n padding-left: 1000px;\n}\n.ag-rtl .ag-column-select-indent-50 {\n padding-right: 1000px;\n}\n\n.ag-ltr .ag-row-group-indent-50 {\n padding-left: 1000px;\n}\n.ag-rtl .ag-row-group-indent-50 {\n padding-right: 1000px;\n}\n\n.ag-ltr .ag-column-select-indent-51 {\n padding-left: 1020px;\n}\n.ag-rtl .ag-column-select-indent-51 {\n padding-right: 1020px;\n}\n\n.ag-ltr .ag-row-group-indent-51 {\n padding-left: 1020px;\n}\n.ag-rtl .ag-row-group-indent-51 {\n padding-right: 1020px;\n}\n\n.ag-ltr .ag-column-select-indent-52 {\n padding-left: 1040px;\n}\n.ag-rtl .ag-column-select-indent-52 {\n padding-right: 1040px;\n}\n\n.ag-ltr .ag-row-group-indent-52 {\n padding-left: 1040px;\n}\n.ag-rtl .ag-row-group-indent-52 {\n padding-right: 1040px;\n}\n\n.ag-ltr .ag-column-select-indent-53 {\n padding-left: 1060px;\n}\n.ag-rtl .ag-column-select-indent-53 {\n padding-right: 1060px;\n}\n\n.ag-ltr .ag-row-group-indent-53 {\n padding-left: 1060px;\n}\n.ag-rtl .ag-row-group-indent-53 {\n padding-right: 1060px;\n}\n\n.ag-ltr .ag-column-select-indent-54 {\n padding-left: 1080px;\n}\n.ag-rtl .ag-column-select-indent-54 {\n padding-right: 1080px;\n}\n\n.ag-ltr .ag-row-group-indent-54 {\n padding-left: 1080px;\n}\n.ag-rtl .ag-row-group-indent-54 {\n padding-right: 1080px;\n}\n\n.ag-ltr .ag-column-select-indent-55 {\n padding-left: 1100px;\n}\n.ag-rtl .ag-column-select-indent-55 {\n padding-right: 1100px;\n}\n\n.ag-ltr .ag-row-group-indent-55 {\n padding-left: 1100px;\n}\n.ag-rtl .ag-row-group-indent-55 {\n padding-right: 1100px;\n}\n\n.ag-ltr .ag-column-select-indent-56 {\n padding-left: 1120px;\n}\n.ag-rtl .ag-column-select-indent-56 {\n padding-right: 1120px;\n}\n\n.ag-ltr .ag-row-group-indent-56 {\n padding-left: 1120px;\n}\n.ag-rtl .ag-row-group-indent-56 {\n padding-right: 1120px;\n}\n\n.ag-ltr .ag-column-select-indent-57 {\n padding-left: 1140px;\n}\n.ag-rtl .ag-column-select-indent-57 {\n padding-right: 1140px;\n}\n\n.ag-ltr .ag-row-group-indent-57 {\n padding-left: 1140px;\n}\n.ag-rtl .ag-row-group-indent-57 {\n padding-right: 1140px;\n}\n\n.ag-ltr .ag-column-select-indent-58 {\n padding-left: 1160px;\n}\n.ag-rtl .ag-column-select-indent-58 {\n padding-right: 1160px;\n}\n\n.ag-ltr .ag-row-group-indent-58 {\n padding-left: 1160px;\n}\n.ag-rtl .ag-row-group-indent-58 {\n padding-right: 1160px;\n}\n\n.ag-ltr .ag-column-select-indent-59 {\n padding-left: 1180px;\n}\n.ag-rtl .ag-column-select-indent-59 {\n padding-right: 1180px;\n}\n\n.ag-ltr .ag-row-group-indent-59 {\n padding-left: 1180px;\n}\n.ag-rtl .ag-row-group-indent-59 {\n padding-right: 1180px;\n}\n\n.ag-ltr .ag-column-select-indent-60 {\n padding-left: 1200px;\n}\n.ag-rtl .ag-column-select-indent-60 {\n padding-right: 1200px;\n}\n\n.ag-ltr .ag-row-group-indent-60 {\n padding-left: 1200px;\n}\n.ag-rtl .ag-row-group-indent-60 {\n padding-right: 1200px;\n}\n\n.ag-ltr .ag-column-select-indent-61 {\n padding-left: 1220px;\n}\n.ag-rtl .ag-column-select-indent-61 {\n padding-right: 1220px;\n}\n\n.ag-ltr .ag-row-group-indent-61 {\n padding-left: 1220px;\n}\n.ag-rtl .ag-row-group-indent-61 {\n padding-right: 1220px;\n}\n\n.ag-ltr .ag-column-select-indent-62 {\n padding-left: 1240px;\n}\n.ag-rtl .ag-column-select-indent-62 {\n padding-right: 1240px;\n}\n\n.ag-ltr .ag-row-group-indent-62 {\n padding-left: 1240px;\n}\n.ag-rtl .ag-row-group-indent-62 {\n padding-right: 1240px;\n}\n\n.ag-ltr .ag-column-select-indent-63 {\n padding-left: 1260px;\n}\n.ag-rtl .ag-column-select-indent-63 {\n padding-right: 1260px;\n}\n\n.ag-ltr .ag-row-group-indent-63 {\n padding-left: 1260px;\n}\n.ag-rtl .ag-row-group-indent-63 {\n padding-right: 1260px;\n}\n\n.ag-ltr .ag-column-select-indent-64 {\n padding-left: 1280px;\n}\n.ag-rtl .ag-column-select-indent-64 {\n padding-right: 1280px;\n}\n\n.ag-ltr .ag-row-group-indent-64 {\n padding-left: 1280px;\n}\n.ag-rtl .ag-row-group-indent-64 {\n padding-right: 1280px;\n}\n\n.ag-ltr .ag-column-select-indent-65 {\n padding-left: 1300px;\n}\n.ag-rtl .ag-column-select-indent-65 {\n padding-right: 1300px;\n}\n\n.ag-ltr .ag-row-group-indent-65 {\n padding-left: 1300px;\n}\n.ag-rtl .ag-row-group-indent-65 {\n padding-right: 1300px;\n}\n\n.ag-ltr .ag-column-select-indent-66 {\n padding-left: 1320px;\n}\n.ag-rtl .ag-column-select-indent-66 {\n padding-right: 1320px;\n}\n\n.ag-ltr .ag-row-group-indent-66 {\n padding-left: 1320px;\n}\n.ag-rtl .ag-row-group-indent-66 {\n padding-right: 1320px;\n}\n\n.ag-ltr .ag-column-select-indent-67 {\n padding-left: 1340px;\n}\n.ag-rtl .ag-column-select-indent-67 {\n padding-right: 1340px;\n}\n\n.ag-ltr .ag-row-group-indent-67 {\n padding-left: 1340px;\n}\n.ag-rtl .ag-row-group-indent-67 {\n padding-right: 1340px;\n}\n\n.ag-ltr .ag-column-select-indent-68 {\n padding-left: 1360px;\n}\n.ag-rtl .ag-column-select-indent-68 {\n padding-right: 1360px;\n}\n\n.ag-ltr .ag-row-group-indent-68 {\n padding-left: 1360px;\n}\n.ag-rtl .ag-row-group-indent-68 {\n padding-right: 1360px;\n}\n\n.ag-ltr .ag-column-select-indent-69 {\n padding-left: 1380px;\n}\n.ag-rtl .ag-column-select-indent-69 {\n padding-right: 1380px;\n}\n\n.ag-ltr .ag-row-group-indent-69 {\n padding-left: 1380px;\n}\n.ag-rtl .ag-row-group-indent-69 {\n padding-right: 1380px;\n}\n\n.ag-ltr .ag-column-select-indent-70 {\n padding-left: 1400px;\n}\n.ag-rtl .ag-column-select-indent-70 {\n padding-right: 1400px;\n}\n\n.ag-ltr .ag-row-group-indent-70 {\n padding-left: 1400px;\n}\n.ag-rtl .ag-row-group-indent-70 {\n padding-right: 1400px;\n}\n\n.ag-ltr .ag-column-select-indent-71 {\n padding-left: 1420px;\n}\n.ag-rtl .ag-column-select-indent-71 {\n padding-right: 1420px;\n}\n\n.ag-ltr .ag-row-group-indent-71 {\n padding-left: 1420px;\n}\n.ag-rtl .ag-row-group-indent-71 {\n padding-right: 1420px;\n}\n\n.ag-ltr .ag-column-select-indent-72 {\n padding-left: 1440px;\n}\n.ag-rtl .ag-column-select-indent-72 {\n padding-right: 1440px;\n}\n\n.ag-ltr .ag-row-group-indent-72 {\n padding-left: 1440px;\n}\n.ag-rtl .ag-row-group-indent-72 {\n padding-right: 1440px;\n}\n\n.ag-ltr .ag-column-select-indent-73 {\n padding-left: 1460px;\n}\n.ag-rtl .ag-column-select-indent-73 {\n padding-right: 1460px;\n}\n\n.ag-ltr .ag-row-group-indent-73 {\n padding-left: 1460px;\n}\n.ag-rtl .ag-row-group-indent-73 {\n padding-right: 1460px;\n}\n\n.ag-ltr .ag-column-select-indent-74 {\n padding-left: 1480px;\n}\n.ag-rtl .ag-column-select-indent-74 {\n padding-right: 1480px;\n}\n\n.ag-ltr .ag-row-group-indent-74 {\n padding-left: 1480px;\n}\n.ag-rtl .ag-row-group-indent-74 {\n padding-right: 1480px;\n}\n\n.ag-ltr .ag-column-select-indent-75 {\n padding-left: 1500px;\n}\n.ag-rtl .ag-column-select-indent-75 {\n padding-right: 1500px;\n}\n\n.ag-ltr .ag-row-group-indent-75 {\n padding-left: 1500px;\n}\n.ag-rtl .ag-row-group-indent-75 {\n padding-right: 1500px;\n}\n\n.ag-ltr .ag-column-select-indent-76 {\n padding-left: 1520px;\n}\n.ag-rtl .ag-column-select-indent-76 {\n padding-right: 1520px;\n}\n\n.ag-ltr .ag-row-group-indent-76 {\n padding-left: 1520px;\n}\n.ag-rtl .ag-row-group-indent-76 {\n padding-right: 1520px;\n}\n\n.ag-ltr .ag-column-select-indent-77 {\n padding-left: 1540px;\n}\n.ag-rtl .ag-column-select-indent-77 {\n padding-right: 1540px;\n}\n\n.ag-ltr .ag-row-group-indent-77 {\n padding-left: 1540px;\n}\n.ag-rtl .ag-row-group-indent-77 {\n padding-right: 1540px;\n}\n\n.ag-ltr .ag-column-select-indent-78 {\n padding-left: 1560px;\n}\n.ag-rtl .ag-column-select-indent-78 {\n padding-right: 1560px;\n}\n\n.ag-ltr .ag-row-group-indent-78 {\n padding-left: 1560px;\n}\n.ag-rtl .ag-row-group-indent-78 {\n padding-right: 1560px;\n}\n\n.ag-ltr .ag-column-select-indent-79 {\n padding-left: 1580px;\n}\n.ag-rtl .ag-column-select-indent-79 {\n padding-right: 1580px;\n}\n\n.ag-ltr .ag-row-group-indent-79 {\n padding-left: 1580px;\n}\n.ag-rtl .ag-row-group-indent-79 {\n padding-right: 1580px;\n}\n\n.ag-ltr .ag-column-select-indent-80 {\n padding-left: 1600px;\n}\n.ag-rtl .ag-column-select-indent-80 {\n padding-right: 1600px;\n}\n\n.ag-ltr .ag-row-group-indent-80 {\n padding-left: 1600px;\n}\n.ag-rtl .ag-row-group-indent-80 {\n padding-right: 1600px;\n}\n\n.ag-ltr .ag-column-select-indent-81 {\n padding-left: 1620px;\n}\n.ag-rtl .ag-column-select-indent-81 {\n padding-right: 1620px;\n}\n\n.ag-ltr .ag-row-group-indent-81 {\n padding-left: 1620px;\n}\n.ag-rtl .ag-row-group-indent-81 {\n padding-right: 1620px;\n}\n\n.ag-ltr .ag-column-select-indent-82 {\n padding-left: 1640px;\n}\n.ag-rtl .ag-column-select-indent-82 {\n padding-right: 1640px;\n}\n\n.ag-ltr .ag-row-group-indent-82 {\n padding-left: 1640px;\n}\n.ag-rtl .ag-row-group-indent-82 {\n padding-right: 1640px;\n}\n\n.ag-ltr .ag-column-select-indent-83 {\n padding-left: 1660px;\n}\n.ag-rtl .ag-column-select-indent-83 {\n padding-right: 1660px;\n}\n\n.ag-ltr .ag-row-group-indent-83 {\n padding-left: 1660px;\n}\n.ag-rtl .ag-row-group-indent-83 {\n padding-right: 1660px;\n}\n\n.ag-ltr .ag-column-select-indent-84 {\n padding-left: 1680px;\n}\n.ag-rtl .ag-column-select-indent-84 {\n padding-right: 1680px;\n}\n\n.ag-ltr .ag-row-group-indent-84 {\n padding-left: 1680px;\n}\n.ag-rtl .ag-row-group-indent-84 {\n padding-right: 1680px;\n}\n\n.ag-ltr .ag-column-select-indent-85 {\n padding-left: 1700px;\n}\n.ag-rtl .ag-column-select-indent-85 {\n padding-right: 1700px;\n}\n\n.ag-ltr .ag-row-group-indent-85 {\n padding-left: 1700px;\n}\n.ag-rtl .ag-row-group-indent-85 {\n padding-right: 1700px;\n}\n\n.ag-ltr .ag-column-select-indent-86 {\n padding-left: 1720px;\n}\n.ag-rtl .ag-column-select-indent-86 {\n padding-right: 1720px;\n}\n\n.ag-ltr .ag-row-group-indent-86 {\n padding-left: 1720px;\n}\n.ag-rtl .ag-row-group-indent-86 {\n padding-right: 1720px;\n}\n\n.ag-ltr .ag-column-select-indent-87 {\n padding-left: 1740px;\n}\n.ag-rtl .ag-column-select-indent-87 {\n padding-right: 1740px;\n}\n\n.ag-ltr .ag-row-group-indent-87 {\n padding-left: 1740px;\n}\n.ag-rtl .ag-row-group-indent-87 {\n padding-right: 1740px;\n}\n\n.ag-ltr .ag-column-select-indent-88 {\n padding-left: 1760px;\n}\n.ag-rtl .ag-column-select-indent-88 {\n padding-right: 1760px;\n}\n\n.ag-ltr .ag-row-group-indent-88 {\n padding-left: 1760px;\n}\n.ag-rtl .ag-row-group-indent-88 {\n padding-right: 1760px;\n}\n\n.ag-ltr .ag-column-select-indent-89 {\n padding-left: 1780px;\n}\n.ag-rtl .ag-column-select-indent-89 {\n padding-right: 1780px;\n}\n\n.ag-ltr .ag-row-group-indent-89 {\n padding-left: 1780px;\n}\n.ag-rtl .ag-row-group-indent-89 {\n padding-right: 1780px;\n}\n\n.ag-ltr .ag-column-select-indent-90 {\n padding-left: 1800px;\n}\n.ag-rtl .ag-column-select-indent-90 {\n padding-right: 1800px;\n}\n\n.ag-ltr .ag-row-group-indent-90 {\n padding-left: 1800px;\n}\n.ag-rtl .ag-row-group-indent-90 {\n padding-right: 1800px;\n}\n\n.ag-ltr .ag-column-select-indent-91 {\n padding-left: 1820px;\n}\n.ag-rtl .ag-column-select-indent-91 {\n padding-right: 1820px;\n}\n\n.ag-ltr .ag-row-group-indent-91 {\n padding-left: 1820px;\n}\n.ag-rtl .ag-row-group-indent-91 {\n padding-right: 1820px;\n}\n\n.ag-ltr .ag-column-select-indent-92 {\n padding-left: 1840px;\n}\n.ag-rtl .ag-column-select-indent-92 {\n padding-right: 1840px;\n}\n\n.ag-ltr .ag-row-group-indent-92 {\n padding-left: 1840px;\n}\n.ag-rtl .ag-row-group-indent-92 {\n padding-right: 1840px;\n}\n\n.ag-ltr .ag-column-select-indent-93 {\n padding-left: 1860px;\n}\n.ag-rtl .ag-column-select-indent-93 {\n padding-right: 1860px;\n}\n\n.ag-ltr .ag-row-group-indent-93 {\n padding-left: 1860px;\n}\n.ag-rtl .ag-row-group-indent-93 {\n padding-right: 1860px;\n}\n\n.ag-ltr .ag-column-select-indent-94 {\n padding-left: 1880px;\n}\n.ag-rtl .ag-column-select-indent-94 {\n padding-right: 1880px;\n}\n\n.ag-ltr .ag-row-group-indent-94 {\n padding-left: 1880px;\n}\n.ag-rtl .ag-row-group-indent-94 {\n padding-right: 1880px;\n}\n\n.ag-ltr .ag-column-select-indent-95 {\n padding-left: 1900px;\n}\n.ag-rtl .ag-column-select-indent-95 {\n padding-right: 1900px;\n}\n\n.ag-ltr .ag-row-group-indent-95 {\n padding-left: 1900px;\n}\n.ag-rtl .ag-row-group-indent-95 {\n padding-right: 1900px;\n}\n\n.ag-ltr .ag-column-select-indent-96 {\n padding-left: 1920px;\n}\n.ag-rtl .ag-column-select-indent-96 {\n padding-right: 1920px;\n}\n\n.ag-ltr .ag-row-group-indent-96 {\n padding-left: 1920px;\n}\n.ag-rtl .ag-row-group-indent-96 {\n padding-right: 1920px;\n}\n\n.ag-ltr .ag-column-select-indent-97 {\n padding-left: 1940px;\n}\n.ag-rtl .ag-column-select-indent-97 {\n padding-right: 1940px;\n}\n\n.ag-ltr .ag-row-group-indent-97 {\n padding-left: 1940px;\n}\n.ag-rtl .ag-row-group-indent-97 {\n padding-right: 1940px;\n}\n\n.ag-ltr .ag-column-select-indent-98 {\n padding-left: 1960px;\n}\n.ag-rtl .ag-column-select-indent-98 {\n padding-right: 1960px;\n}\n\n.ag-ltr .ag-row-group-indent-98 {\n padding-left: 1960px;\n}\n.ag-rtl .ag-row-group-indent-98 {\n padding-right: 1960px;\n}\n\n.ag-ltr .ag-column-select-indent-99 {\n padding-left: 1980px;\n}\n.ag-rtl .ag-column-select-indent-99 {\n padding-right: 1980px;\n}\n\n.ag-ltr .ag-row-group-indent-99 {\n padding-left: 1980px;\n}\n.ag-rtl .ag-row-group-indent-99 {\n padding-right: 1980px;\n}\n\n.ag-ltr {\n direction: ltr;\n}\n.ag-ltr .ag-body, .ag-ltr .ag-floating-top, .ag-ltr .ag-floating-bottom, .ag-ltr .ag-header, .ag-ltr .ag-body-viewport, .ag-ltr .ag-body-horizontal-scroll {\n flex-direction: row;\n}\n\n.ag-rtl {\n direction: rtl;\n}\n.ag-rtl .ag-body, .ag-rtl .ag-floating-top, .ag-rtl .ag-floating-bottom, .ag-rtl .ag-header, .ag-rtl .ag-body-viewport, .ag-rtl .ag-body-horizontal-scroll {\n flex-direction: row-reverse;\n}\n.ag-rtl .ag-icon-contracted,\n.ag-rtl .ag-icon-tree-closed {\n display: block;\n transform: rotate(180deg);\n}\n\n.ag-layout-print.ag-body-viewport {\n flex: none;\n}\n.ag-layout-print.ag-root-wrapper {\n display: inline-flex;\n}\n.ag-layout-print .ag-center-cols-clipper {\n min-width: 100%;\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.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-center-cols-clipper,\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 page-break-inside: avoid;\n }\n}\n.ag-body .ag-body-viewport {\n -webkit-overflow-scrolling: touch;\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-title-edit {\n position: absolute;\n display: none;\n top: 0;\n left: 0;\n text-align: center;\n}\n\n.ag-chart-title-edit.currently-editing {\n display: inline-block;\n}\n\n.ag-chart-canvas-wrapper {\n position: relative;\n flex: 1 1 auto;\n overflow: hidden;\n}\n\n.ag-charts-canvas {\n display: block;\n}\n\n.ag-chart-menu {\n position: absolute;\n top: 10px;\n width: 24px;\n overflow: hidden;\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 width: 0;\n min-width: 0;\n transition: min-width 0.4s;\n}\n\n.ag-chart-menu-hidden ~ .ag-chart-docked-container {\n max-width: 0;\n overflow: hidden;\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 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 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\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 display: flex;\n flex-direction: column;\n position: relative;\n user-select: none;\n}\n\n.ag-chart-data-wrapper {\n height: 100%;\n overflow-y: auto;\n}\n\n.ag-chart-data-section,\n.ag-chart-format-section {\n display: flex;\n margin: 0;\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}\n\n.ag-chart .ag-chart-menu {\n opacity: 0;\n pointer-events: none;\n}\n\n.ag-chart-menu-hidden:hover .ag-chart-menu {\n opacity: 1;\n pointer-events: all;\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-date-time-list-page-title-bar {\n display: flex;\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}\n\n.ag-theme-alpine {\n -webkit-font-smoothing: antialiased;\n color: #2a292c;\n color: var(--ag-foreground-color, #2a292c);\n font-family: \"Open Sans\", system-ui, sans-serif;\n font-size: 0.875rem !important;\n line-height: normal;\n}\n@font-face {\n font-family: \"agGridAlpine\";\n src: url(\"data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAABWoAAsAAAAAJ9AAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAAmYAAAR2ZcBn9U9TLzIAAANwAAAAQQAAAFZWUVMIY21hcAAAA7QAAAIcAAAFnIMq5ipnbHlmAAAF0AAAC80AABVszjC1ZWhlYWQAABGgAAAANAAAADZ2zsSBaGhlYQAAEdQAAAAeAAAAJAfSBDFobXR4AAAR9AAAABcAAAE0xzj/+2xvY2EAABIMAAAAdQAAAJwYJx3EbWF4cAAAEoQAAAAfAAAAIAFjAKpuYW1lAAASpAAAATUAAAJG5xgJvXBvc3QAABPcAAAByQAAAqgIzxhUeJx9lEtyElEUhv+mm0gCJilFjRhjovEVXzF2uhuaRx4QEDJwYFkOnMSyyrKKcsQ6XIAryNAVuAAHrsAFOHDo2PK7h0ZMBuEWze3z+M9//3Mu8iTNaVNN5doHhy81PzwafVRFgcYf5/9/7w0/vD9SYfKGL7DfgrygpHnd1GuN9M2b90beca7sV/xX/jv/s//F/yWfqFU9JrqobVakmGeoRFXVlCqnGWwR+7oaRPs8m2a9oKvKm6ernpaoGZHTM8QN9XVPi+B0DKetPaISlsNs8xyw7mvhjIgUlDy+be1gDVBkBU3qKmtWz2HZhkmL/Ab+i9Tcp3ZIVgdfB3Z5LE32LV2Ck8sITNWe3ugpfndSh1LNchK+kQ7sPbS3NTSZRDXBqVHLYW/BYGKvgReTsQl6lajdTNEN3SK7Bk4btJZl1y17jcgYbgl9CeycMVxLWmf/Qm/pRREW45y2aTpW4CHsp/aO4aV6dMLaAmtA7BM4TK2uPw+oFdKVGPQlfEN90rG+6rt+6Kd+64/O6TJ1YjvDHuj7Z2pTQMHT0V28zX9Wd9YZZuB01MmIWU5eM3UifL1MQ1etyMmcOgn7EGti8XPwdPFd2KT0I6BGaHVdp/OsHd4jos9n09lglUzpHlOwYBPct1moMKNbum6I4zlM0XoZRLcb86uYbg3wrlnfnLruhi3am7sLrt8VurPCb8gJq6bTId5VLA5parlhWSnsHcYz/Cmsp9Ucq2VYhbqLz81Y325Hl0rrnGfMJNYduxl9m6/bMKhmN7VMDx37VtaxKxYXWZbHP0GY3fDEtHMz3YGbm4/BX0ArchMAAHicY2BkmsY4gYGVgYGpimkPAwNDD4RmfMBgyMgEFGVgZWbACgLSXFMYDjDofjRifgHkRjG/BZnCwAiSAwDkfwr5AAAAeJy11AdSG0EQheFfgSxwIOecEWCCySCiEHAJnCkcKJw5h8/me/QJ8Bt1+wC4ylv1qXdGq92ZWr0GaoCczEkesvVkdEYmq9lMdT5HY3U+z2+NC9ST1XmRK264s6X7e80WueSaW8tUR3+PjK4u0McEzzU6YoUDdjlmjXNWKbHBPnucsMUmp7pmh3XKnLHNIRUu9Pu0irzWWEudntuglTTpjs208JgntNJGOx100kU3PfTqWf0MMMgQw4wwyhjjevokU0wzw6x2U2SeBRb1/TOWWNYia3nYcfTA69OxcrB7vHa+WtKO9062NrXZnfXy2fZh5eIfbvYfjkL6yP2K0Tnpjbq028uwIi/CgbwMu/IqHMvrsCZvQrrn27Aq70JJrsKGXId9eR/25EM4kY9hSz6FTbkJp3Ib0j/vc9iRL2FdvoayfAtn8j1sy49wKD9DRe6CXqBlXMqLZR2p5lzKl+VdypjVuJQ9q3WkWudItd6RaoMj1UaXMmlNjlQLLr1Ja3ak2uJI9ZFTdrCgFGFBecKeOiULa3XKGNbmlDas3Sl3WIdTArFOpyxiXU6pxLqd8on1OCUV63XKLNbnlF6s3ynH2IBTorFBp+xiQ04px4ad8o6NOCUfG3XqAdiYUzfAxp36Ajbh1CGwSadegU05dQ1s2ql/YDMu9UubdSknNufUXbCiU5/B5p06DrbgqutfdOpCWFA/wgLLfwB3H6YceJztWHtwVNUZv9852b179/2+WUI22b3ZXNjshib7uEkWdkMSSMAQcVwwQDFEikONtqK0KBAR/2hNHavjDPgH6Uw7bcPUmUZaph0VKk6VEkeldqTtDOof1dKSqmlxGLGBvfQ7Z3dDAqnaPzttsnvej+98z9+3Agj4R6ZoXLAIAoR8sugLpUKaGiJTunV6Gi7qd2F5kMZz09PZ7PQ0W264evnqZfoR/Ugw4C6H4BOqBMEjyqKqGTRWRrCgMmt6VFZ+8PTTsZdfJlksYk/rg/39/e18JMYHyGOzOv0b+vv1T2evR7LYpbSDdggS3iNrroRL1iQ43DaZP5/Rj+pH4WJmUjfA5ckMrNGPCoSvP0APCF6hFreHRaNo9Mp+2d+spbV0Uq1X6z2iioQidUgfXNwxOKC1tmoDg++VGwNtBw+2HTjAS3pgzhRvFF4tz2LJrivx0Y4tkfMy4VLUhE9hNfxyePj48DDsGh6mtsJpZOgufUQo0Xmenhc8QoBxP2wHn8sbhESoOQspV7IRJNBkkOmDVz4JJoL4oWZeF6b0v/VNwFgfPY/9OZNXPgF/3ykYu3nu+fL851MU9g2nP144Q2I3nlw4c+/sMyk/0xVyReY7F8+k5uvOLQ5+/fpzi7yjD9CvoD6ZhEpBkECUJaBaDRiZ6Hxef3M6xcRGPtAH2rbqBchOTJw6YrEEHP6mFU1+RwB+DT/I4IT+MiybmMjabMGq+kC4qSkciCwMsuMr+B1x1POifByCEAm5QgbFlfAorgy4FBeNF54gO/TVXFbHhqdJYlgfYZIqSqukh+QInmFAGgmqD+yCVv0UmgWN66f0iZJ9FN/zMD2BrwkI1ZzzRh9qbUjmDa8fGZVGPtUrHqSBHNGtSlMeLg7rKUYyvIalAnoKXqMvNoULz5PuW5uUwvNsjnQrTYVtpLtkE0/SJ5muSYDsEiVQUV3gImzo1MdgY6d+WB/rhI1YkPScLmzEJbjdKAhXr9Cv0Q8FJ2pItdAjPCx8D6lF81ANswilSgrlLBtlfwY8Ea+dKOHGilQySxLNQfB5jeF6tREU3IAq0JzWstDsl712HMHhVDLdHKQJJr9GUBtJMgu4i5Q2FffUgF8OEjTFtNaEm4Pg9TnATsKNsITidj+9R7zzXoPep2qaStKqtvKo3gEjBKjBeZboA5I76HXKXqfZYKsMeeQ6j9lmqjB5HfJCq1zrNxKT3fwzd9hf7bI5JbtJNDmsLr/F7fRWudw1fnely2S2iRUGR9BttBjcbovNbV7aECWUmCwmA0kR0eywGkmCgtltIn81ffMRA2lRr/yWEzPy5pXv0Ad+H5BchSf/aK0JekzuqtqIL5yq9y5U3ZLDbPN5k821Df7KSrPD7ggs9jssEbfFbgm4rLLb7jIZRU+oMeKx+Sp9TrPF4fbYJItERdEgeqq/e+y4ZDGaRZvZIJ2RHCbJLp12SGanW/i/7P6rZTcnnoEqou9R0Xrpch7QYA3+Y0CDy7phEsMbrCn5rznyXvW5stZYmEumE83+GsgRJjq/z+sAGUVkh3D9EhCZMtSnkp8toviGmyTR4HW4PM6l7Wa70WZyeHx9eatZcnvdFf23VUguHPks5k48OGS3WfxOT+XGjQ63weC0uqrvedDhc9slybhvt9FkdDnc/ytvnBNDIui4RRljzgS0IL46Di3QmpsdQx5DPFElNArLmJ5ocpoZbQ0+ChjYMipGtDJAm5VxIIgWreFYmNmtpsppZouinNYaSRgql8V61g+sH91ZTam3Kx6PaZuHbhvdubCiwtc3GO/yLhjc33PLqkw01bAqGjK11N26Kurt6asL3LH/cfIj3Lu4a89as0XbrDTG0glYsXutxbx0m1R9a/PyrVpdW020uyHVsKXFG+3J1/VkNuHgLPrtiMHiSD9CA0YLJzWSJaWXcE8BBpxEH4OT6FJIRff+OwJ49xP7BxcgZfrJhTtHf8ppr+aNhRXw7eiqaHTVOlZAQNu6HK8slufW7ulixJpL9SjS1BPlRQm7DCHvRcGGFIk+0aWmQgbZp6U0OjR9bJo8Wxh/O3eWTE2PHof+6Vzu7bPZ0be5yHhxiUyh3LjVaqooM2xHLr30UmZ6Wk/l85A6cSLDMbNVsBbxBq4v4w2GwaqEGkERVKFBWCIImpJKyLO+kc/pI/4+nssd42XhjX/XmR4u/uVKdbZUIzmmmfdfT5MAiPoj+PXgPSn8qvhlYyLWIazpENPRwml+FF5BntUnsAW/0CfIDn6vvjqHd+X0ESQhm83OwzMP6jomFsizC5xlsCufJ0c5y3TrXL9oYphJY3BGDdHlZT/IfCIJTrYxyN82WbaRA+QkZiABtBLBgxEqAymlqEe8hdYgI8aNKD4WuuzQANjgyqb8MLxUGRtr3dLSsqV1bExZGn4G+vSfwy7eBuXaJFxUMsrNLQP3DbTcjK1ofgyrlWxoy46BFs7Xq1fpJMfE1/E1hPiSJRoGlhUhHQaWXJX6DHuSBb29I5e0S6RBu6QhOHsdkoVeVm7GPvkAZ/TXe3shWY8t/GjLent7d2KNn0u/g2QZjz9Dn0EqXBzTJnyAionAEj2lCph76CP9QDp0/V1MQDbo6PfIOznY9S4fox595B0+NuNzruksyiA1819Ex+UvtKKsh7Pl+9+kbxbvn7l2hpDczKWoQ2VKGFHFa/9QpmTGN44XfSNzcTLANzK6noFWGse6DVpKOnWOOnnuyaKnjGmCyBI5cu7ChdjJkzFekiCvvsXLmbcVc8IQ05V5s0JIsiZGERkaAQOICgwksYXz5Yh6RzzWu2ZT6/YGPR6ugzXYgLfCdWxwvpRRH9i0pjcWrwvr8Ybt+od1YXirYXsrHyvTdzfmDD4hKNQjfQqDWKIyN2EINfsZ/EqmgfE3lErQynF7+9p227M8O+jBUn/BFQiEAwFIFZ7Lw/fzdCjS2BjBPGIbX3Io3FSpVOKn4CaHuFsoyXAv3YMa28Z9W7r4L2v1WIFoRC4jn0SjA/mtsqQMWV6PbAG2CkOQ7E/4sanCLU+h+zZI1W1LtK32tupaCPraV2wHINTri8sH/xyDcx7JanKOphc1u2CBSSZgIgdMCJ/sbucZeOgpyWJxWBdZJMtg47KgT39v4TrrNqMhkGr4kmzB7eQJp9Nj94/aKa3S/2L0qpVJ98GKChBN7jOCmb9jnI6j9dUKi4TlwkrhJiEvbBIGhTvxXUEiu6mdiBWRRqIST5ZodYaQy48BVEsbvDILSCmuSqLqQ/wgKjLv+DkzIl45kVKNYiKlRQEZkUAH7UsgDlYjRkX0JbR6dDHUtWhFFJCe6IpF+vv6+9d6UA27C6f+PqUkiVQwAUkqtfCCObYuH5OiKxftlGLr1sXM7XXNC4JQeBX27gEYziVvagHYnYNf7WbrkRet0X0nWrr30Z/Me341710pvGqUcPnUGy4nXgZ7wMEPl+5d1N1ApFge7wGEqP5ocGXLQy+uTu37ZzoykNu7N4yrKcDeYXjoBlvknpiMZ/RT0JrRyccZlu226cLs3wO8wuKyVTmZttQytjmZVdEwh2ms38xmSgb16M4dnV1dnTt2grPcevSezRtTmpbauPlsuUHPswn9H3MXX9k7ZxFvlGyI0WJFG08zanggKPp79T8grev+zs77H2VF1xejkkyV1mMx/YUJviEXEGUMtuy3j7m/aPHMYLKNZQbXsGEvHeJxlSMZ5v8A93JEUvSDhffJkcJadNRZmOQD+uEcmSqcLt9JySEmPY8E58ABDnIIY19fSe6HKGVzEimOUqpf0C/MnUPsivRgwOS75z+zuKA092Pq4b+bsN8qNLgLPu0snNT/1AFVrPUbqOkorYuTTvZCD77mOA82HbfP8ClOxouxgeVL5GMeEqCVjGOMYKo5y88PCW7BLySYH/XxVNdvFOUssExWQcNOMMzsmwUSkmlNxpUyfjQgrxQxgBZdlswhAFj85byp8NwjbT1lpNDRtL7mvoGew8lCN3mFYYLYCsuyqjuWtg60jOXh7v2VX21vLYKFptWG9fnbcSV54V8PFbSvAAAAeJxjYGRgYADiJZeya+P5bb4ycDO/AApEcT7e1wCj///+/5v5LfNboEoOBiYgyQAAoN8P3nicY2BkYGB+wcAAIv///v+b+S0DIwMq8AUAntwHCgAAeJxjYGBgYH4Bwv9/Q+ihjekBAG/aMMwAeJxjYAACKYYghiyGJQz7GN4xSjA6MZYwTmNcxXiH8R/THeZdzFdY3Fh2sJxh1WEtY53Cuob1G5semxtbHNsitgfsbOwK7G7sEewl7Ec4mDjSOHk4FTjTOA9w3uL8xcXBJcalwmXE5cYVwpXBtY10CAAggCv3AAAAeJxjYGRgYPBlmMfAwwACTEDMBYQMDP/BfAYAIOsCDgB4nHWRPU7DQBCFnxMniBghJCREx1Y0SM5PQZEuFHGfIgWdE68dR7bXWm8ipeMYnIBjUHIETsEheDFTREjZ1a6/+fbNNAZwgy94OC4PV+19XB1csPrjLulW2Cc/CPcQ4Em4T/8sPKB9EQ7YWXKC51/S3ONNuINrvAt36T+EffKncA93+Bbu0/8ID7D0fOEAj95rnEU2T2ZFnVd6obNdEdtTdcpLbZvcVGocjk51pCttY6cTtTqoZp9NnEtVak2p5qZyuiiMqq3Z6rULN87V0+EwFR+uTYkYGSJY5EgwQ4GaVEFjwZNhRxPz9VzqnF/yWDSsDGuFMUKMzqYjnqrtiOH4TdixwoF3gz17JrQOKeuUGcO/ojBvJx/TBbehqdu3Lc2aPsSm7aoxxZA7/ZcPmeKkXwK+aWkAAAB4nG2SB2/bMBSE/cWS7dhp46ZtuvceapvuvXeb/geGomUiEimQlO3k15e1gwAB+gASd4eHe8cHtpZai+q3/l+bLNEmIaVDlx7L9BmwwiEOs8qQI6xxlGMcZ50TnOQUpznDWc5xngtc5BKXucJVrnGdG9zkFre5w10y7nGfB2zwkEc85glPecZzXvCSV7zmDW95x3s+8JFPfOYLX/nGd37wk1/8ZpM/rYEoCqcKEbQ1HeGcnfq28LIjhZGqTOVYuDCUYyW3t+wsmwOVr+8L2uQqKFdpI4Ja25cbs9e5Im1pXVbrSFw3kqYyvi+tCU7IoPJE2nonlc5635Z+ksaTbSS58jJVsxigO7+zjZ6a1SLOypfVjsp8Kfy4HVFnpMs4Ph1p50NSOF2nhbNNncSGkJRqFDqlNjFHt7Qi16boVWKmK72rkkqZphdzL5hRs5AYa9TA2JCJsrRTlad1dFHtWpu01hMberVTE20bP3TRzGZbTQjWZHY0Wj0omNTpYhwSLyaq76tol+V2avbgv1iDBZy39RY4pg5xTWvBKXVwr8tzydbK9BqzeA+CAocioLEYpngkJWO22WIW/0ZORUPNDhNG7LZafwFegLa2AAAA\") format(\"woff\");\n font-weight: normal;\n font-style: normal;\n}\n.ag-theme-alpine .ag-icon {\n font-family: \"agGridAlpine\";\n font-size: 16px;\n line-height: 16px;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n /* Better Font Rendering =========== */\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.ag-theme-alpine .ag-icon-aggregation::before {\n content: \"\\f101\";\n}\n.ag-theme-alpine .ag-icon-arrows::before {\n content: \"\\f102\";\n}\n.ag-theme-alpine .ag-icon-asc::before {\n content: \"\\f103\";\n}\n.ag-theme-alpine .ag-icon-cancel::before {\n content: \"\\f104\";\n}\n.ag-theme-alpine .ag-icon-chart::before {\n content: \"\\f105\";\n}\n.ag-theme-alpine .ag-icon-color-picker::before {\n content: \"\\f109\";\n}\n.ag-theme-alpine .ag-icon-columns::before {\n content: \"\\f10a\";\n}\n.ag-theme-alpine .ag-icon-contracted::before {\n content: \"\\f10b\";\n}\n.ag-theme-alpine .ag-icon-copy::before {\n content: \"\\f10c\";\n}\n.ag-theme-alpine .ag-icon-cross::before {\n content: \"\\f10d\";\n}\n.ag-theme-alpine .ag-icon-csv::before {\n content: \"\\f10e\";\n}\n.ag-theme-alpine .ag-icon-desc::before {\n content: \"\\f10f\";\n}\n.ag-theme-alpine .ag-icon-excel::before {\n content: \"\\f110\";\n}\n.ag-theme-alpine .ag-icon-expanded::before {\n content: \"\\f111\";\n}\n.ag-theme-alpine .ag-icon-eye-slash::before {\n content: \"\\f112\";\n}\n.ag-theme-alpine .ag-icon-eye::before {\n content: \"\\f113\";\n}\n.ag-theme-alpine .ag-icon-filter::before {\n content: \"\\f114\";\n}\n.ag-theme-alpine .ag-icon-first::before {\n content: \"\\f115\";\n}\n.ag-theme-alpine .ag-icon-grip::before {\n content: \"\\f116\";\n}\n.ag-theme-alpine .ag-icon-group::before {\n content: \"\\f117\";\n}\n.ag-theme-alpine .ag-icon-last::before {\n content: \"\\f118\";\n}\n.ag-theme-alpine .ag-icon-left::before {\n content: \"\\f119\";\n}\n.ag-theme-alpine .ag-icon-linked::before {\n content: \"\\f11a\";\n}\n.ag-theme-alpine .ag-icon-loading::before {\n content: \"\\f11b\";\n}\n.ag-theme-alpine .ag-icon-maximize::before {\n content: \"\\f11c\";\n}\n.ag-theme-alpine .ag-icon-menu::before {\n content: \"\\f11d\";\n}\n.ag-theme-alpine .ag-icon-minimize::before {\n content: \"\\f11e\";\n}\n.ag-theme-alpine .ag-icon-next::before {\n content: \"\\f11f\";\n}\n.ag-theme-alpine .ag-icon-none::before {\n content: \"\\f120\";\n}\n.ag-theme-alpine .ag-icon-not-allowed::before {\n content: \"\\f121\";\n}\n.ag-theme-alpine .ag-icon-paste::before {\n content: \"\\f122\";\n}\n.ag-theme-alpine .ag-icon-pin::before {\n content: \"\\f123\";\n}\n.ag-theme-alpine .ag-icon-pivot::before {\n content: \"\\f124\";\n}\n.ag-theme-alpine .ag-icon-previous::before {\n content: \"\\f125\";\n}\n.ag-theme-alpine .ag-icon-right::before {\n content: \"\\f128\";\n}\n.ag-theme-alpine .ag-icon-save::before {\n content: \"\\f129\";\n}\n.ag-theme-alpine .ag-icon-small-down::before {\n content: \"\\f12a\";\n}\n.ag-theme-alpine .ag-icon-small-left::before {\n content: \"\\f12b\";\n}\n.ag-theme-alpine .ag-icon-small-right::before {\n content: \"\\f12c\";\n}\n.ag-theme-alpine .ag-icon-small-up::before {\n content: \"\\f12d\";\n}\n.ag-theme-alpine .ag-icon-tick::before {\n content: \"\\f12e\";\n}\n.ag-theme-alpine .ag-icon-tree-closed::before {\n content: \"\\f12f\";\n}\n.ag-theme-alpine .ag-icon-tree-indeterminate::before {\n content: \"\\f130\";\n}\n.ag-theme-alpine .ag-icon-tree-open::before {\n content: \"\\f131\";\n}\n.ag-theme-alpine .ag-icon-unlinked::before {\n content: \"\\f132\";\n}\n.ag-theme-alpine .ag-icon-row-drag::before {\n content: \"\\f116\";\n}\n.ag-theme-alpine .ag-left-arrow::before {\n content: \"\\f119\";\n}\n.ag-theme-alpine .ag-right-arrow::before {\n content: \"\\f128\";\n}\n.ag-theme-alpine .ag-root-wrapper {\n background-color: #ffffff;\n background-color: var(--ag-background-color, #ffffff);\n}\n.ag-theme-alpine [class^=ag-], .ag-theme-alpine [class^=ag-]:focus, .ag-theme-alpine [class^=ag-]:after, .ag-theme-alpine [class^=ag-]:before {\n box-sizing: border-box;\n outline: none;\n}\n.ag-theme-alpine [class^=ag-]::-ms-clear {\n display: none;\n}\n.ag-theme-alpine .ag-checkbox .ag-input-wrapper,\n.ag-theme-alpine .ag-radio-button .ag-input-wrapper {\n overflow: visible;\n}\n.ag-theme-alpine .ag-range-field .ag-input-wrapper {\n height: 100%;\n}\n.ag-theme-alpine .ag-toggle-button {\n flex: none;\n width: unset;\n min-width: unset;\n}\n.ag-theme-alpine .ag-ltr .ag-label-align-right .ag-label {\n margin-left: 6px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-label-align-right .ag-label {\n margin-right: 6px;\n}\n\n.ag-theme-alpine input[class^=ag-] {\n margin: 0;\n background-color: #ffffff;\n background-color: var(--ag-background-color, #ffffff);\n}\n.ag-theme-alpine textarea[class^=ag-],\n.ag-theme-alpine select[class^=ag-] {\n background-color: #ffffff;\n background-color: var(--ag-background-color, #ffffff);\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 font-size: inherit;\n line-height: inherit;\n color: inherit;\n border-width: 1px;\n border-style: solid;\n border-color: #eaeaea;\n border-color: var(--ag-input-border-color, var(--ag-border-color, #eaeaea));\n}\n.ag-theme-alpine input[class^=ag-]:not([type]):disabled,\n.ag-theme-alpine input[class^=ag-][type=text]:disabled,\n.ag-theme-alpine input[class^=ag-][type=number]:disabled,\n.ag-theme-alpine input[class^=ag-][type=tel]:disabled,\n.ag-theme-alpine input[class^=ag-][type=date]:disabled,\n.ag-theme-alpine input[class^=ag-][type=datetime-local]:disabled,\n.ag-theme-alpine textarea[class^=ag-]:disabled {\n color: rgba(42, 41, 44, 0.5);\n color: var(--ag-disabled-foreground-color, rgba(42, 41, 44, 0.5));\n background-color: #fbfbfb;\n background-color: var(--ag-input-disabled-background-color, #fbfbfb);\n border-color: rgba(234, 234, 234, 0.3);\n border-color: var(--ag-input-disabled-border-color, rgba(234, 234, 234, 0.3));\n}\n.ag-theme-alpine input[class^=ag-]:not([type]):focus,\n.ag-theme-alpine input[class^=ag-][type=text]:focus,\n.ag-theme-alpine input[class^=ag-][type=number]:focus,\n.ag-theme-alpine input[class^=ag-][type=tel]:focus,\n.ag-theme-alpine input[class^=ag-][type=date]:focus,\n.ag-theme-alpine input[class^=ag-][type=datetime-local]:focus,\n.ag-theme-alpine textarea[class^=ag-]:focus {\n outline: none;\n box-shadow: 0 0 2px 0.1rem rgba(0, 113, 152, 0.4);\n border-color: rgba(0, 113, 152, 0.4);\n border-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine input[class^=ag-]:not([type]):invalid,\n.ag-theme-alpine input[class^=ag-][type=text]:invalid,\n.ag-theme-alpine input[class^=ag-][type=number]:invalid,\n.ag-theme-alpine input[class^=ag-][type=tel]:invalid,\n.ag-theme-alpine input[class^=ag-][type=date]:invalid,\n.ag-theme-alpine input[class^=ag-][type=datetime-local]:invalid,\n.ag-theme-alpine textarea[class^=ag-]:invalid {\n border-width: 2px;\n border-style: solid;\n border-color: #e02525;\n border-color: var(--ag-input-border-color-invalid, var(--ag-invalid-color, #e02525));\n}\n.ag-theme-alpine input[class^=ag-][type=number] {\n -moz-appearance: textfield;\n}\n.ag-theme-alpine input[class^=ag-][type=number]::-webkit-outer-spin-button, .ag-theme-alpine input[class^=ag-][type=number]::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n.ag-theme-alpine input[class^=ag-][type=range] {\n padding: 0;\n}\n.ag-theme-alpine input[class^=ag-][type=button]:focus, .ag-theme-alpine button[class^=ag-]:focus {\n box-shadow: 0 0 2px 0.1rem rgba(0, 113, 152, 0.4);\n}\n.ag-theme-alpine .ag-drag-handle {\n color: #2a292c;\n color: var(--ag-secondary-foreground-color, var(--ag-foreground-color, #2a292c));\n}\n.ag-theme-alpine .ag-list-item, .ag-theme-alpine .ag-virtual-list-item {\n height: 24px;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-virtual-list-item:focus {\n outline: none;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-virtual-list-item:focus::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: rgba(0, 113, 152, 0.4);\n border-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine .ag-select-list {\n background-color: #ffffff;\n background-color: var(--ag-background-color, #ffffff);\n overflow-y: auto;\n overflow-x: hidden;\n}\n.ag-theme-alpine .ag-list-item {\n display: flex;\n align-items: center;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.ag-theme-alpine .ag-list-item.ag-active-item {\n background-color: #eaeaea;\n background-color: var(--ag-row-hover-color, #eaeaea);\n}\n.ag-theme-alpine .ag-select-list-item {\n padding-left: 4px;\n padding-right: 4px;\n cursor: default;\n -moz-user-select: none;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.ag-theme-alpine .ag-select-list-item span {\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n.ag-theme-alpine .ag-select .ag-picker-field-wrapper {\n background-color: #ffffff;\n background-color: var(--ag-background-color, #ffffff);\n min-height: 24px;\n cursor: default;\n}\n.ag-theme-alpine .ag-select.ag-disabled .ag-picker-field-wrapper:focus {\n box-shadow: none;\n}\n.ag-theme-alpine .ag-select:not(.ag-cell-editor) {\n height: 24px;\n}\n.ag-theme-alpine .ag-select .ag-picker-field-display {\n margin: 4px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.ag-theme-alpine .ag-select .ag-picker-field-icon {\n display: flex;\n align-items: center;\n}\n.ag-theme-alpine .ag-select.ag-disabled {\n opacity: 0.5;\n}\n.ag-theme-alpine .ag-rich-select {\n background-color: #f8f8f8;\n background-color: var(--ag-control-panel-background-color, #f8f8f8);\n}\n.ag-theme-alpine .ag-rich-select-list {\n width: 100%;\n min-width: 200px;\n height: 273px;\n}\n.ag-theme-alpine .ag-rich-select-value {\n padding: 0 6px 0 18px;\n height: 42px;\n}\n.ag-theme-alpine .ag-rich-select-virtual-list-item {\n cursor: default;\n height: 24px;\n}\n.ag-theme-alpine .ag-rich-select-virtual-list-item:hover {\n background-color: #eaeaea;\n background-color: var(--ag-row-hover-color, #eaeaea);\n}\n.ag-theme-alpine .ag-rich-select-row {\n padding-left: 18px;\n}\n.ag-theme-alpine .ag-rich-select-row-selected {\n background-color: rgba(0, 113, 152, 0.3);\n background-color: var(--ag-selected-row-background-color, rgba(0, 113, 152, 0.3));\n}\n.ag-theme-alpine .ag-row-drag,\n.ag-theme-alpine .ag-selection-checkbox,\n.ag-theme-alpine .ag-group-expanded,\n.ag-theme-alpine .ag-group-contracted {\n color: #2a292c;\n color: var(--ag-secondary-foreground-color, var(--ag-foreground-color, #2a292c));\n}\n.ag-theme-alpine .ag-ltr .ag-row-drag, .ag-theme-alpine .ag-ltr .ag-selection-checkbox, .ag-theme-alpine .ag-ltr .ag-group-expanded, .ag-theme-alpine .ag-ltr .ag-group-contracted {\n margin-right: 12px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-drag, .ag-theme-alpine .ag-rtl .ag-selection-checkbox, .ag-theme-alpine .ag-rtl .ag-group-expanded, .ag-theme-alpine .ag-rtl .ag-group-contracted {\n margin-left: 12px;\n}\n\n.ag-theme-alpine .ag-cell-wrapper > *:not(.ag-cell-value):not(.ag-group-value) {\n height: min(var(--ag-line-height, 40px), 40px);\n display: flex;\n align-items: center;\n flex: none;\n}\n.ag-theme-alpine .ag-group-expanded,\n.ag-theme-alpine .ag-group-contracted {\n cursor: pointer;\n}\n.ag-theme-alpine .ag-group-title-bar-icon {\n cursor: pointer;\n flex: none;\n color: #2a292c;\n color: var(--ag-secondary-foreground-color, var(--ag-foreground-color, #2a292c));\n}\n.ag-theme-alpine .ag-ltr .ag-group-child-count {\n margin-left: 2px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-group-child-count {\n margin-right: 2px;\n}\n\n.ag-theme-alpine .ag-group-title-bar {\n background-color: #fff;\n background-color: var(--ag-subheader-background-color, #fff);\n padding: 6px;\n}\n.ag-theme-alpine .ag-group-toolbar {\n padding: 6px;\n}\n.ag-theme-alpine .ag-disabled-group-title-bar, .ag-theme-alpine .ag-disabled-group-container {\n opacity: 0.5;\n}\n.ag-theme-alpine .group-item {\n margin: 3px 0;\n}\n.ag-theme-alpine .ag-label {\n white-space: nowrap;\n}\n.ag-theme-alpine .ag-ltr .ag-label {\n margin-right: 6px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-label {\n margin-left: 6px;\n}\n\n.ag-theme-alpine .ag-label-align-top .ag-label {\n margin-bottom: 3px;\n}\n.ag-theme-alpine .ag-ltr .ag-slider-field, .ag-theme-alpine .ag-ltr .ag-angle-select-field {\n margin-right: 12px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-slider-field, .ag-theme-alpine .ag-rtl .ag-angle-select-field {\n margin-left: 12px;\n}\n\n.ag-theme-alpine .ag-angle-select-parent-circle {\n width: 24px;\n height: 24px;\n border-radius: 12px;\n border: solid 1px;\n border-color: #eaeaea;\n border-color: var(--ag-border-color, #eaeaea);\n background-color: #ffffff;\n background-color: var(--ag-background-color, #ffffff);\n}\n.ag-theme-alpine .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: #2a292c;\n background-color: var(--ag-secondary-foreground-color, var(--ag-foreground-color, #2a292c));\n}\n.ag-theme-alpine .ag-picker-field-wrapper {\n border: 1px solid;\n border-color: #eaeaea;\n border-color: var(--ag-border-color, #eaeaea);\n border-radius: 5px;\n}\n.ag-theme-alpine .ag-picker-field-wrapper:focus {\n box-shadow: 0 0 2px 0.1rem rgba(0, 113, 152, 0.4);\n}\n.ag-theme-alpine .ag-picker-field-button {\n background-color: #ffffff;\n background-color: var(--ag-background-color, #ffffff);\n color: #2a292c;\n color: var(--ag-secondary-foreground-color, var(--ag-foreground-color, #2a292c));\n}\n.ag-theme-alpine .ag-dialog.ag-color-dialog {\n border-radius: 5px;\n}\n.ag-theme-alpine .ag-color-picker .ag-picker-field-display {\n height: 16px;\n}\n.ag-theme-alpine .ag-color-panel {\n padding: 6px;\n}\n.ag-theme-alpine .ag-spectrum-color {\n background-color: rgb(255, 0, 0);\n border-radius: 2px;\n}\n.ag-theme-alpine .ag-spectrum-tools {\n padding: 10px;\n}\n.ag-theme-alpine .ag-spectrum-sat {\n background-image: linear-gradient(to right, white, rgba(204, 154, 129, 0));\n}\n.ag-theme-alpine .ag-spectrum-val {\n background-image: linear-gradient(to top, black, rgba(204, 154, 129, 0));\n}\n.ag-theme-alpine .ag-spectrum-dragger {\n border-radius: 12px;\n height: 12px;\n width: 12px;\n border: 1px solid white;\n background: black;\n box-shadow: 0 0 2px 0px rgba(0, 0, 0, 0.24);\n}\n.ag-theme-alpine .ag-spectrum-hue-background {\n border-radius: 2px;\n}\n.ag-theme-alpine .ag-spectrum-alpha-background {\n border-radius: 2px;\n}\n.ag-theme-alpine .ag-spectrum-tool {\n margin-bottom: 10px;\n height: 11px;\n border-radius: 2px;\n}\n.ag-theme-alpine .ag-spectrum-slider {\n margin-top: -12px;\n width: 13px;\n height: 13px;\n border-radius: 13px;\n background-color: rgb(248, 248, 248);\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37);\n}\n.ag-theme-alpine .ag-recent-color {\n margin: 0 3px;\n}\n.ag-theme-alpine .ag-recent-color:first-child {\n margin-left: 0;\n}\n.ag-theme-alpine .ag-recent-color:last-child {\n margin-right: 0;\n}\n.ag-theme-alpine.ag-dnd-ghost {\n background: #ffffff;\n background: var(--ag-background-color, #ffffff);\n border-radius: 3px;\n box-shadow: 0 1px 4px 1px rgba(186, 191, 199, 0.4);\n padding: 6px;\n overflow: hidden;\n text-overflow: ellipsis;\n color: #2a292c;\n color: var(--ag-secondary-foreground-color, var(--ag-foreground-color, #2a292c));\n height: 48px !important;\n line-height: 48px;\n margin: 0;\n padding: 0 12px;\n transform: translateY(12px);\n}\n.ag-theme-alpine .ag-dnd-ghost-icon {\n margin-right: 6px;\n color: #2a292c;\n color: var(--ag-foreground-color, #2a292c);\n}\n.ag-theme-alpine .ag-popup-child:not(.ag-tooltip-custom) {\n box-shadow: 0 1px 4px 1px rgba(186, 191, 199, 0.4);\n}\n.ag-dragging-range-handle .ag-theme-alpine .ag-dialog, .ag-dragging-fill-handle .ag-theme-alpine .ag-dialog {\n opacity: 0.7;\n pointer-events: none;\n}\n.ag-theme-alpine .ag-dialog {\n border-radius: 3px;\n}\n.ag-theme-alpine .ag-panel {\n background-color: #ffffff;\n background-color: var(--ag-background-color, #ffffff);\n}\n.ag-theme-alpine .ag-panel-title-bar {\n background-color: #ffffff;\n background-color: var(--ag-header-background-color, #ffffff);\n color: #017a76;\n color: var(--ag-header-foreground-color, #017a76);\n height: 48px;\n padding: 6px 18px;\n}\n.ag-theme-alpine .ag-ltr .ag-panel-title-bar-button {\n margin-left: 6px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-panel-title-bar-button {\n margin-right: 6px;\n}\n\n.ag-theme-alpine .ag-tooltip {\n background-color: #ffffff;\n background-color: var(--ag-header-background-color, #ffffff);\n color: #2a292c;\n color: var(--ag-foreground-color, #2a292c);\n padding: 6px;\n border-radius: 3px;\n transition: opacity 1s;\n white-space: normal;\n}\n.ag-theme-alpine .ag-tooltip.ag-tooltip-hiding {\n opacity: 0;\n}\n.ag-theme-alpine .ag-tooltip-custom {\n transition: opacity 1s;\n}\n.ag-theme-alpine .ag-tooltip-custom.ag-tooltip-hiding {\n opacity: 0;\n}\n.ag-theme-alpine .ag-ltr .ag-column-select-indent-1 {\n padding-left: 16px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-column-select-indent-1 {\n padding-right: 16px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-column-select-indent-2 {\n padding-left: 32px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-column-select-indent-2 {\n padding-right: 32px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-column-select-indent-3 {\n padding-left: 48px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-column-select-indent-3 {\n padding-right: 48px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-column-select-indent-4 {\n padding-left: 64px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-column-select-indent-4 {\n padding-right: 64px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-column-select-indent-5 {\n padding-left: 80px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-column-select-indent-5 {\n padding-right: 80px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-column-select-indent-6 {\n padding-left: 96px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-column-select-indent-6 {\n padding-right: 96px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-column-select-indent-7 {\n padding-left: 112px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-column-select-indent-7 {\n padding-right: 112px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-column-select-indent-8 {\n padding-left: 128px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-column-select-indent-8 {\n padding-right: 128px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-column-select-indent-9 {\n padding-left: 144px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-column-select-indent-9 {\n padding-right: 144px;\n}\n\n.ag-theme-alpine .ag-column-select-header-icon {\n cursor: pointer;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-column-select-header-icon:focus {\n outline: none;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-column-select-header-icon:focus::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: rgba(0, 113, 152, 0.4);\n border-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine .ag-ltr .ag-column-group-icons:not(:last-child), .ag-theme-alpine .ag-ltr .ag-column-select-header-icon:not(:last-child), .ag-theme-alpine .ag-ltr .ag-column-select-header-checkbox:not(:last-child), .ag-theme-alpine .ag-ltr .ag-column-select-header-filter-wrapper:not(:last-child), .ag-theme-alpine .ag-ltr .ag-column-select-checkbox:not(:last-child), .ag-theme-alpine .ag-ltr .ag-column-select-column-drag-handle:not(:last-child), .ag-theme-alpine .ag-ltr .ag-column-select-column-group-drag-handle:not(:last-child), .ag-theme-alpine .ag-ltr .ag-column-select-column-label:not(:last-child) {\n margin-right: 12px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-column-group-icons:not(:last-child), .ag-theme-alpine .ag-rtl .ag-column-select-header-icon:not(:last-child), .ag-theme-alpine .ag-rtl .ag-column-select-header-checkbox:not(:last-child), .ag-theme-alpine .ag-rtl .ag-column-select-header-filter-wrapper:not(:last-child), .ag-theme-alpine .ag-rtl .ag-column-select-checkbox:not(:last-child), .ag-theme-alpine .ag-rtl .ag-column-select-column-drag-handle:not(:last-child), .ag-theme-alpine .ag-rtl .ag-column-select-column-group-drag-handle:not(:last-child), .ag-theme-alpine .ag-rtl .ag-column-select-column-label:not(:last-child) {\n margin-left: 12px;\n}\n\n.ag-theme-alpine .ag-keyboard-focus .ag-column-select-virtual-list-item:focus {\n outline: none;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-column-select-virtual-list-item:focus::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: rgba(0, 113, 152, 0.4);\n border-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine .ag-column-select-column-group:not(:last-child),\n.ag-theme-alpine .ag-column-select-column:not(:last-child) {\n margin-bottom: 9px;\n}\n.ag-theme-alpine .ag-column-select-column-readonly,\n.ag-theme-alpine .ag-column-select-column-group-readonly {\n color: rgba(42, 41, 44, 0.5);\n color: var(--ag-disabled-foreground-color, rgba(42, 41, 44, 0.5));\n pointer-events: none;\n}\n.ag-theme-alpine .ag-ltr .ag-column-select-add-group-indent {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-column-select-add-group-indent {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-column-select-virtual-list-viewport {\n padding: 6px 0px;\n}\n.ag-theme-alpine .ag-column-select-virtual-list-item {\n padding: 0 12px;\n}\n.ag-theme-alpine .ag-rtl {\n text-align: right;\n}\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-1 {\n padding-left: 46px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-1 {\n padding-right: 46px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-1 {\n padding-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-1 {\n padding-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-1 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-1 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-2 {\n padding-left: 74px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-2 {\n padding-right: 74px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-2 {\n padding-left: 56px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-2 {\n padding-right: 56px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-2 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-2 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-3 {\n padding-left: 102px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-3 {\n padding-right: 102px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-3 {\n padding-left: 84px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-3 {\n padding-right: 84px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-3 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-3 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-4 {\n padding-left: 130px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-4 {\n padding-right: 130px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-4 {\n padding-left: 112px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-4 {\n padding-right: 112px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-4 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-4 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-5 {\n padding-left: 158px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-5 {\n padding-right: 158px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-5 {\n padding-left: 140px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-5 {\n padding-right: 140px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-5 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-5 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-6 {\n padding-left: 186px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-6 {\n padding-right: 186px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-6 {\n padding-left: 168px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-6 {\n padding-right: 168px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-6 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-6 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-7 {\n padding-left: 214px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-7 {\n padding-right: 214px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-7 {\n padding-left: 196px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-7 {\n padding-right: 196px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-7 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-7 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-8 {\n padding-left: 242px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-8 {\n padding-right: 242px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-8 {\n padding-left: 224px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-8 {\n padding-right: 224px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-8 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-8 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-9 {\n padding-left: 270px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-9 {\n padding-right: 270px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-9 {\n padding-left: 252px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-9 {\n padding-right: 252px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-9 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-9 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-10 {\n padding-left: 298px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-10 {\n padding-right: 298px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-10 {\n padding-left: 280px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-10 {\n padding-right: 280px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-10 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-10 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-11 {\n padding-left: 326px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-11 {\n padding-right: 326px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-11 {\n padding-left: 308px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-11 {\n padding-right: 308px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-11 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-11 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-12 {\n padding-left: 354px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-12 {\n padding-right: 354px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-12 {\n padding-left: 336px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-12 {\n padding-right: 336px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-12 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-12 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-13 {\n padding-left: 382px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-13 {\n padding-right: 382px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-13 {\n padding-left: 364px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-13 {\n padding-right: 364px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-13 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-13 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-14 {\n padding-left: 410px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-14 {\n padding-right: 410px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-14 {\n padding-left: 392px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-14 {\n padding-right: 392px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-14 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-14 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-15 {\n padding-left: 438px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-15 {\n padding-right: 438px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-15 {\n padding-left: 420px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-15 {\n padding-right: 420px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-15 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-15 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-16 {\n padding-left: 466px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-16 {\n padding-right: 466px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-16 {\n padding-left: 448px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-16 {\n padding-right: 448px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-16 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-16 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-17 {\n padding-left: 494px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-17 {\n padding-right: 494px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-17 {\n padding-left: 476px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-17 {\n padding-right: 476px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-17 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-17 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-18 {\n padding-left: 522px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-18 {\n padding-right: 522px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-18 {\n padding-left: 504px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-18 {\n padding-right: 504px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-18 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-18 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-19 {\n padding-left: 550px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-19 {\n padding-right: 550px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-19 {\n padding-left: 532px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-19 {\n padding-right: 532px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-19 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-19 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-20 {\n padding-left: 578px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-20 {\n padding-right: 578px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-20 {\n padding-left: 560px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-20 {\n padding-right: 560px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-20 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-20 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-21 {\n padding-left: 606px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-21 {\n padding-right: 606px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-21 {\n padding-left: 588px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-21 {\n padding-right: 588px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-21 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-21 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-22 {\n padding-left: 634px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-22 {\n padding-right: 634px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-22 {\n padding-left: 616px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-22 {\n padding-right: 616px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-22 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-22 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-23 {\n padding-left: 662px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-23 {\n padding-right: 662px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-23 {\n padding-left: 644px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-23 {\n padding-right: 644px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-23 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-23 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-24 {\n padding-left: 690px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-24 {\n padding-right: 690px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-24 {\n padding-left: 672px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-24 {\n padding-right: 672px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-24 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-24 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-25 {\n padding-left: 718px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-25 {\n padding-right: 718px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-25 {\n padding-left: 700px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-25 {\n padding-right: 700px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-25 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-25 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-26 {\n padding-left: 746px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-26 {\n padding-right: 746px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-26 {\n padding-left: 728px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-26 {\n padding-right: 728px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-26 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-26 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-27 {\n padding-left: 774px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-27 {\n padding-right: 774px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-27 {\n padding-left: 756px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-27 {\n padding-right: 756px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-27 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-27 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-28 {\n padding-left: 802px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-28 {\n padding-right: 802px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-28 {\n padding-left: 784px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-28 {\n padding-right: 784px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-28 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-28 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-29 {\n padding-left: 830px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-29 {\n padding-right: 830px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-29 {\n padding-left: 812px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-29 {\n padding-right: 812px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-29 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-29 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-30 {\n padding-left: 858px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-30 {\n padding-right: 858px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-30 {\n padding-left: 840px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-30 {\n padding-right: 840px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-30 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-30 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-31 {\n padding-left: 886px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-31 {\n padding-right: 886px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-31 {\n padding-left: 868px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-31 {\n padding-right: 868px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-31 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-31 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-32 {\n padding-left: 914px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-32 {\n padding-right: 914px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-32 {\n padding-left: 896px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-32 {\n padding-right: 896px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-32 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-32 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-33 {\n padding-left: 942px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-33 {\n padding-right: 942px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-33 {\n padding-left: 924px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-33 {\n padding-right: 924px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-33 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-33 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-34 {\n padding-left: 970px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-34 {\n padding-right: 970px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-34 {\n padding-left: 952px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-34 {\n padding-right: 952px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-34 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-34 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-35 {\n padding-left: 998px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-35 {\n padding-right: 998px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-35 {\n padding-left: 980px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-35 {\n padding-right: 980px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-35 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-35 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-36 {\n padding-left: 1026px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-36 {\n padding-right: 1026px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-36 {\n padding-left: 1008px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-36 {\n padding-right: 1008px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-36 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-36 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-37 {\n padding-left: 1054px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-37 {\n padding-right: 1054px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-37 {\n padding-left: 1036px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-37 {\n padding-right: 1036px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-37 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-37 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-38 {\n padding-left: 1082px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-38 {\n padding-right: 1082px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-38 {\n padding-left: 1064px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-38 {\n padding-right: 1064px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-38 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-38 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-39 {\n padding-left: 1110px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-39 {\n padding-right: 1110px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-39 {\n padding-left: 1092px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-39 {\n padding-right: 1092px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-39 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-39 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-40 {\n padding-left: 1138px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-40 {\n padding-right: 1138px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-40 {\n padding-left: 1120px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-40 {\n padding-right: 1120px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-40 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-40 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-41 {\n padding-left: 1166px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-41 {\n padding-right: 1166px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-41 {\n padding-left: 1148px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-41 {\n padding-right: 1148px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-41 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-41 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-42 {\n padding-left: 1194px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-42 {\n padding-right: 1194px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-42 {\n padding-left: 1176px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-42 {\n padding-right: 1176px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-42 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-42 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-43 {\n padding-left: 1222px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-43 {\n padding-right: 1222px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-43 {\n padding-left: 1204px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-43 {\n padding-right: 1204px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-43 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-43 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-44 {\n padding-left: 1250px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-44 {\n padding-right: 1250px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-44 {\n padding-left: 1232px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-44 {\n padding-right: 1232px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-44 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-44 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-45 {\n padding-left: 1278px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-45 {\n padding-right: 1278px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-45 {\n padding-left: 1260px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-45 {\n padding-right: 1260px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-45 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-45 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-46 {\n padding-left: 1306px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-46 {\n padding-right: 1306px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-46 {\n padding-left: 1288px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-46 {\n padding-right: 1288px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-46 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-46 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-47 {\n padding-left: 1334px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-47 {\n padding-right: 1334px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-47 {\n padding-left: 1316px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-47 {\n padding-right: 1316px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-47 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-47 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-48 {\n padding-left: 1362px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-48 {\n padding-right: 1362px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-48 {\n padding-left: 1344px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-48 {\n padding-right: 1344px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-48 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-48 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-49 {\n padding-left: 1390px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-49 {\n padding-right: 1390px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-49 {\n padding-left: 1372px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-49 {\n padding-right: 1372px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-49 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-49 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-50 {\n padding-left: 1418px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-50 {\n padding-right: 1418px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-50 {\n padding-left: 1400px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-50 {\n padding-right: 1400px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-50 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-50 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-51 {\n padding-left: 1446px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-51 {\n padding-right: 1446px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-51 {\n padding-left: 1428px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-51 {\n padding-right: 1428px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-51 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-51 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-52 {\n padding-left: 1474px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-52 {\n padding-right: 1474px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-52 {\n padding-left: 1456px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-52 {\n padding-right: 1456px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-52 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-52 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-53 {\n padding-left: 1502px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-53 {\n padding-right: 1502px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-53 {\n padding-left: 1484px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-53 {\n padding-right: 1484px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-53 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-53 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-54 {\n padding-left: 1530px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-54 {\n padding-right: 1530px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-54 {\n padding-left: 1512px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-54 {\n padding-right: 1512px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-54 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-54 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-55 {\n padding-left: 1558px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-55 {\n padding-right: 1558px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-55 {\n padding-left: 1540px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-55 {\n padding-right: 1540px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-55 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-55 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-56 {\n padding-left: 1586px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-56 {\n padding-right: 1586px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-56 {\n padding-left: 1568px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-56 {\n padding-right: 1568px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-56 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-56 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-57 {\n padding-left: 1614px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-57 {\n padding-right: 1614px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-57 {\n padding-left: 1596px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-57 {\n padding-right: 1596px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-57 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-57 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-58 {\n padding-left: 1642px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-58 {\n padding-right: 1642px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-58 {\n padding-left: 1624px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-58 {\n padding-right: 1624px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-58 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-58 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-59 {\n padding-left: 1670px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-59 {\n padding-right: 1670px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-59 {\n padding-left: 1652px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-59 {\n padding-right: 1652px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-59 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-59 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-60 {\n padding-left: 1698px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-60 {\n padding-right: 1698px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-60 {\n padding-left: 1680px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-60 {\n padding-right: 1680px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-60 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-60 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-61 {\n padding-left: 1726px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-61 {\n padding-right: 1726px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-61 {\n padding-left: 1708px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-61 {\n padding-right: 1708px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-61 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-61 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-62 {\n padding-left: 1754px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-62 {\n padding-right: 1754px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-62 {\n padding-left: 1736px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-62 {\n padding-right: 1736px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-62 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-62 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-63 {\n padding-left: 1782px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-63 {\n padding-right: 1782px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-63 {\n padding-left: 1764px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-63 {\n padding-right: 1764px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-63 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-63 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-64 {\n padding-left: 1810px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-64 {\n padding-right: 1810px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-64 {\n padding-left: 1792px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-64 {\n padding-right: 1792px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-64 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-64 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-65 {\n padding-left: 1838px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-65 {\n padding-right: 1838px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-65 {\n padding-left: 1820px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-65 {\n padding-right: 1820px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-65 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-65 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-66 {\n padding-left: 1866px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-66 {\n padding-right: 1866px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-66 {\n padding-left: 1848px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-66 {\n padding-right: 1848px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-66 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-66 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-67 {\n padding-left: 1894px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-67 {\n padding-right: 1894px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-67 {\n padding-left: 1876px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-67 {\n padding-right: 1876px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-67 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-67 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-68 {\n padding-left: 1922px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-68 {\n padding-right: 1922px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-68 {\n padding-left: 1904px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-68 {\n padding-right: 1904px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-68 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-68 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-69 {\n padding-left: 1950px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-69 {\n padding-right: 1950px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-69 {\n padding-left: 1932px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-69 {\n padding-right: 1932px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-69 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-69 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-70 {\n padding-left: 1978px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-70 {\n padding-right: 1978px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-70 {\n padding-left: 1960px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-70 {\n padding-right: 1960px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-70 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-70 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-71 {\n padding-left: 2006px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-71 {\n padding-right: 2006px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-71 {\n padding-left: 1988px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-71 {\n padding-right: 1988px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-71 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-71 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-72 {\n padding-left: 2034px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-72 {\n padding-right: 2034px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-72 {\n padding-left: 2016px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-72 {\n padding-right: 2016px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-72 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-72 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-73 {\n padding-left: 2062px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-73 {\n padding-right: 2062px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-73 {\n padding-left: 2044px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-73 {\n padding-right: 2044px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-73 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-73 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-74 {\n padding-left: 2090px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-74 {\n padding-right: 2090px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-74 {\n padding-left: 2072px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-74 {\n padding-right: 2072px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-74 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-74 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-75 {\n padding-left: 2118px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-75 {\n padding-right: 2118px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-75 {\n padding-left: 2100px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-75 {\n padding-right: 2100px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-75 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-75 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-76 {\n padding-left: 2146px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-76 {\n padding-right: 2146px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-76 {\n padding-left: 2128px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-76 {\n padding-right: 2128px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-76 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-76 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-77 {\n padding-left: 2174px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-77 {\n padding-right: 2174px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-77 {\n padding-left: 2156px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-77 {\n padding-right: 2156px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-77 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-77 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-78 {\n padding-left: 2202px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-78 {\n padding-right: 2202px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-78 {\n padding-left: 2184px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-78 {\n padding-right: 2184px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-78 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-78 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-79 {\n padding-left: 2230px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-79 {\n padding-right: 2230px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-79 {\n padding-left: 2212px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-79 {\n padding-right: 2212px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-79 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-79 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-80 {\n padding-left: 2258px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-80 {\n padding-right: 2258px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-80 {\n padding-left: 2240px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-80 {\n padding-right: 2240px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-80 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-80 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-81 {\n padding-left: 2286px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-81 {\n padding-right: 2286px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-81 {\n padding-left: 2268px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-81 {\n padding-right: 2268px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-81 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-81 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-82 {\n padding-left: 2314px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-82 {\n padding-right: 2314px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-82 {\n padding-left: 2296px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-82 {\n padding-right: 2296px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-82 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-82 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-83 {\n padding-left: 2342px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-83 {\n padding-right: 2342px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-83 {\n padding-left: 2324px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-83 {\n padding-right: 2324px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-83 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-83 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-84 {\n padding-left: 2370px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-84 {\n padding-right: 2370px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-84 {\n padding-left: 2352px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-84 {\n padding-right: 2352px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-84 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-84 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-85 {\n padding-left: 2398px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-85 {\n padding-right: 2398px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-85 {\n padding-left: 2380px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-85 {\n padding-right: 2380px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-85 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-85 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-86 {\n padding-left: 2426px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-86 {\n padding-right: 2426px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-86 {\n padding-left: 2408px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-86 {\n padding-right: 2408px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-86 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-86 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-87 {\n padding-left: 2454px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-87 {\n padding-right: 2454px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-87 {\n padding-left: 2436px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-87 {\n padding-right: 2436px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-87 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-87 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-88 {\n padding-left: 2482px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-88 {\n padding-right: 2482px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-88 {\n padding-left: 2464px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-88 {\n padding-right: 2464px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-88 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-88 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-89 {\n padding-left: 2510px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-89 {\n padding-right: 2510px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-89 {\n padding-left: 2492px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-89 {\n padding-right: 2492px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-89 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-89 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-90 {\n padding-left: 2538px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-90 {\n padding-right: 2538px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-90 {\n padding-left: 2520px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-90 {\n padding-right: 2520px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-90 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-90 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-91 {\n padding-left: 2566px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-91 {\n padding-right: 2566px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-91 {\n padding-left: 2548px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-91 {\n padding-right: 2548px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-91 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-91 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-92 {\n padding-left: 2594px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-92 {\n padding-right: 2594px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-92 {\n padding-left: 2576px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-92 {\n padding-right: 2576px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-92 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-92 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-93 {\n padding-left: 2622px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-93 {\n padding-right: 2622px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-93 {\n padding-left: 2604px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-93 {\n padding-right: 2604px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-93 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-93 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-94 {\n padding-left: 2650px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-94 {\n padding-right: 2650px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-94 {\n padding-left: 2632px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-94 {\n padding-right: 2632px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-94 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-94 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-95 {\n padding-left: 2678px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-95 {\n padding-right: 2678px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-95 {\n padding-left: 2660px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-95 {\n padding-right: 2660px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-95 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-95 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-96 {\n padding-left: 2706px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-96 {\n padding-right: 2706px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-96 {\n padding-left: 2688px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-96 {\n padding-right: 2688px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-96 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-96 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-97 {\n padding-left: 2734px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-97 {\n padding-right: 2734px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-97 {\n padding-left: 2716px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-97 {\n padding-right: 2716px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-97 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-97 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-98 {\n padding-left: 2762px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-98 {\n padding-right: 2762px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-98 {\n padding-left: 2744px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-98 {\n padding-right: 2744px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-98 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-98 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-99 {\n padding-left: 2790px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-99 {\n padding-right: 2790px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-99 {\n padding-left: 2772px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-99 {\n padding-right: 2772px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-99 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-99 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-leaf-indent {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-leaf-indent {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-value-change-delta {\n padding-right: 2px;\n}\n.ag-theme-alpine .ag-value-change-delta-up {\n color: #43a047;\n color: var(--ag-value-change-delta-up-color, #43a047);\n}\n.ag-theme-alpine .ag-value-change-delta-down {\n color: #e53935;\n color: var(--ag-value-change-delta-down-color, #e53935);\n}\n.ag-theme-alpine .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.ag-theme-alpine .ag-value-change-value-highlight {\n background-color: rgba(22, 160, 133, 0.5);\n background-color: var(--ag-value-change-value-highlight-background-color, rgba(22, 160, 133, 0.5));\n transition: background-color 0.1s;\n}\n.ag-theme-alpine .ag-cell-data-changed {\n background-color: rgba(22, 160, 133, 0.5) !important;\n background-color: var(--ag-value-change-value-highlight-background-color, rgba(22, 160, 133, 0.5)) !important;\n}\n.ag-theme-alpine .ag-cell-data-changed-animation {\n background-color: transparent;\n}\n.ag-theme-alpine .ag-cell-highlight {\n background-color: #2196f3 !important;\n background-color: var(--ag-range-selection-highlight-color, var(--ag-range-selection-border-color, #2196f3)) !important;\n}\n.ag-theme-alpine .ag-row {\n height: 42px;\n background-color: #ffffff;\n background-color: var(--ag-background-color, #ffffff);\n color: #2a292c;\n color: var(--ag-data-color, #2a292c);\n border-width: 1px;\n border-color: #eaeaea;\n border-color: var(--ag-row-border-color, var(--ag-secondary-border-color, #eaeaea));\n border-bottom-style: solid;\n}\n.ag-theme-alpine .ag-row-highlight-above::after, .ag-theme-alpine .ag-row-highlight-below::after {\n content: \"\";\n position: absolute;\n width: calc(100% - 1px);\n height: 1px;\n background-color: #2196f3;\n background-color: var(--ag-range-selection-border-color, #2196f3);\n left: 1px;\n}\n.ag-theme-alpine .ag-row-highlight-above::after {\n top: -1px;\n}\n.ag-theme-alpine .ag-row-highlight-above.ag-row-first::after {\n top: 0;\n}\n.ag-theme-alpine .ag-row-highlight-below::after {\n bottom: 0px;\n}\n.ag-theme-alpine .ag-row-odd {\n background-color: #ffffff;\n background-color: var(--ag-odd-row-background-color, #ffffff);\n}\n.ag-theme-alpine .ag-body-horizontal-scroll:not(.ag-scrollbar-invisible) .ag-horizontal-left-spacer:not(.ag-scroller-corner) {\n border-right: solid 1px;\n border-right-color: #eaeaea;\n border-right-color: var(--ag-border-color, #eaeaea);\n}\n.ag-theme-alpine .ag-body-horizontal-scroll:not(.ag-scrollbar-invisible) .ag-horizontal-right-spacer:not(.ag-scroller-corner) {\n border-left: solid 1px;\n border-left-color: #eaeaea;\n border-left-color: var(--ag-border-color, #eaeaea);\n}\n.ag-theme-alpine .ag-row-hover {\n background-color: #eaeaea;\n background-color: var(--ag-row-hover-color, #eaeaea);\n}\n.ag-theme-alpine .ag-column-hover {\n background-color: rgba(0, 113, 152, 0.1);\n background-color: var(--ag-column-hover-color, rgba(0, 113, 152, 0.1));\n}\n.ag-theme-alpine .ag-ltr .ag-right-aligned-cell {\n text-align: right;\n}\n\n.ag-theme-alpine .ag-rtl .ag-right-aligned-cell {\n text-align: left;\n}\n\n.ag-theme-alpine .ag-ltr .ag-right-aligned-cell .ag-cell-value, .ag-theme-alpine .ag-ltr .ag-right-aligned-cell .ag-group-value {\n margin-left: auto;\n}\n\n.ag-theme-alpine .ag-rtl .ag-right-aligned-cell .ag-cell-value, .ag-theme-alpine .ag-rtl .ag-right-aligned-cell .ag-group-value {\n margin-right: auto;\n}\n\n.ag-theme-alpine .ag-cell, .ag-theme-alpine .ag-full-width-row .ag-cell-wrapper.ag-row-group {\n border: 1px solid transparent;\n line-height: min(var(--ag-line-height, 40px), 40px);\n padding-left: 17px;\n padding-right: 17px;\n -webkit-font-smoothing: subpixel-antialiased;\n}\n.ag-theme-alpine .ag-row > .ag-cell-wrapper {\n padding-left: 17px;\n padding-right: 17px;\n}\n.ag-theme-alpine .ag-row-dragging {\n cursor: move;\n opacity: 0.5;\n}\n.ag-theme-alpine .ag-cell-inline-editing {\n background: #ffffff;\n background: var(--ag-background-color, #ffffff);\n border-radius: 3px;\n box-shadow: 0 1px 4px 1px rgba(186, 191, 199, 0.4);\n padding: 6px;\n padding: 0;\n height: 42px;\n background-color: #f8f8f8;\n background-color: var(--ag-control-panel-background-color, #f8f8f8);\n}\n.ag-theme-alpine .ag-popup-editor {\n background: #ffffff;\n background: var(--ag-background-color, #ffffff);\n border-radius: 3px;\n box-shadow: 0 1px 4px 1px rgba(186, 191, 199, 0.4);\n padding: 6px;\n background-color: #f8f8f8;\n background-color: var(--ag-control-panel-background-color, #f8f8f8);\n padding: 0;\n}\n.ag-theme-alpine .ag-large-text-input {\n height: auto;\n padding: 18px;\n}\n.ag-theme-alpine .ag-details-row {\n padding: 30px;\n background-color: #ffffff;\n background-color: var(--ag-background-color, #ffffff);\n}\n.ag-theme-alpine .ag-layout-auto-height .ag-center-cols-clipper, .ag-theme-alpine .ag-layout-auto-height .ag-center-cols-container, .ag-theme-alpine .ag-layout-print .ag-center-cols-clipper, .ag-theme-alpine .ag-layout-print .ag-center-cols-container {\n min-height: 50px;\n}\n.ag-theme-alpine .ag-overlay-loading-wrapper {\n background-color: rgba(255, 255, 255, 0.66);\n background-color: var(--ag-modal-overlay-background-color, rgba(255, 255, 255, 0.66));\n}\n.ag-theme-alpine .ag-overlay-loading-center {\n background: #ffffff;\n background: var(--ag-background-color, #ffffff);\n border-radius: 3px;\n box-shadow: 0 1px 4px 1px rgba(186, 191, 199, 0.4);\n padding: 6px;\n}\n.ag-theme-alpine .ag-overlay-no-rows-wrapper.ag-layout-auto-height {\n padding-top: 30px;\n}\n.ag-theme-alpine .ag-loading {\n padding-left: 18px;\n display: flex;\n height: 100%;\n align-items: center;\n}\n.ag-theme-alpine .ag-loading-icon {\n padding-right: 12px;\n}\n.ag-theme-alpine .ag-icon-loading {\n animation-name: spin;\n animation-duration: 1000ms;\n animation-iteration-count: infinite;\n animation-timing-function: linear;\n}\n@keyframes spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n.ag-theme-alpine .ag-floating-top {\n border-bottom: solid 1px;\n border-bottom-color: #eaeaea;\n border-bottom-color: var(--ag-border-color, #eaeaea);\n}\n.ag-theme-alpine .ag-floating-bottom {\n border-top: solid 1px;\n border-top-color: #eaeaea;\n border-top-color: var(--ag-border-color, #eaeaea);\n}\n.ag-theme-alpine .ag-ltr .ag-cell {\n border-right: solid transparent;\n}\n\n.ag-theme-alpine .ag-rtl .ag-cell {\n border-left: solid transparent;\n}\n\n.ag-theme-alpine .ag-ltr .ag-cell {\n border-right-width: 1px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-cell {\n border-left-width: 1px;\n}\n\n.ag-theme-alpine .ag-cell.ag-cell-first-right-pinned:not(.ag-cell-range-left):not(.ag-cell-range-single-cell) {\n border-left: solid 1px;\n border-left-color: #eaeaea;\n border-left-color: var(--ag-border-color, #eaeaea);\n}\n.ag-theme-alpine .ag-cell.ag-cell-last-left-pinned:not(.ag-cell-range-right):not(.ag-cell-range-single-cell) {\n border-right: solid 1px;\n border-right-color: #eaeaea;\n border-right-color: var(--ag-border-color, #eaeaea);\n}\n.ag-theme-alpine .ag-row-selected {\n background-color: rgba(0, 113, 152, 0.3);\n background-color: var(--ag-selected-row-background-color, rgba(0, 113, 152, 0.3));\n}\n.ag-theme-alpine .ag-cell-range-selected:not(.ag-cell-focus),\n.ag-theme-alpine .ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing) {\n background-color: rgba(33, 150, 243, 0.2);\n background-color: var(--ag-range-selection-background-color, rgba(33, 150, 243, 0.2));\n}\n.ag-theme-alpine .ag-cell-range-selected:not(.ag-cell-focus).ag-cell-range-chart,\n.ag-theme-alpine .ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing).ag-cell-range-chart {\n background-color: rgba(0, 88, 255, 0.1) !important;\n background-color: var(--ag-range-selection-chart-background-color, rgba(0, 88, 255, 0.1)) !important;\n}\n.ag-theme-alpine .ag-cell-range-selected:not(.ag-cell-focus).ag-cell-range-chart.ag-cell-range-chart-category,\n.ag-theme-alpine .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: rgba(0, 255, 132, 0.1) !important;\n background-color: var(--ag-range-selection-chart-category-background-color, rgba(0, 255, 132, 0.1)) !important;\n}\n.ag-theme-alpine .ag-cell-range-selected-1:not(.ag-cell-focus),\n.ag-theme-alpine .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: rgba(33, 150, 243, 0.2);\n background-color: var(--ag-range-selection-background-color-1, var(--ag-range-selection-background-color, rgba(33, 150, 243, 0.2)));\n}\n.ag-theme-alpine .ag-cell-range-selected-2:not(.ag-cell-focus),\n.ag-theme-alpine .ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-2 {\n background-color: rgba(33, 150, 243, 0.36);\n background-color: var(--ag-range-selection-background-color-2, rgba(33, 150, 243, 0.36));\n}\n.ag-theme-alpine .ag-cell-range-selected-3:not(.ag-cell-focus),\n.ag-theme-alpine .ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-3 {\n background-color: rgba(33, 150, 243, 0.488);\n background-color: var(--ag-range-selection-background-color-3, rgba(33, 150, 243, 0.488));\n}\n.ag-theme-alpine .ag-cell-range-selected-4:not(.ag-cell-focus),\n.ag-theme-alpine .ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-4 {\n background-color: rgba(33, 150, 243, 0.5904);\n background-color: var(--ag-range-selection-background-color-4, rgba(33, 150, 243, 0.5904));\n}\n.ag-theme-alpine .ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-top {\n border-top-color: #2196f3;\n border-top-color: var(--ag-range-selection-border-color, #2196f3);\n}\n.ag-theme-alpine .ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-right {\n border-right-color: #2196f3;\n border-right-color: var(--ag-range-selection-border-color, #2196f3);\n}\n.ag-theme-alpine .ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-bottom {\n border-bottom-color: #2196f3;\n border-bottom-color: var(--ag-range-selection-border-color, #2196f3);\n}\n.ag-theme-alpine .ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-left {\n border-left-color: #2196f3;\n border-left-color: var(--ag-range-selection-border-color, #2196f3);\n}\n.ag-theme-alpine .ag-ltr .ag-has-focus .ag-cell-focus:not(.ag-cell-range-selected),\n.ag-theme-alpine .ag-ltr .ag-context-menu-open .ag-cell-focus:not(.ag-cell-range-selected),\n.ag-theme-alpine .ag-ltr .ag-has-focus .ag-full-width-row.ag-row-focus .ag-cell-wrapper.ag-row-group,\n.ag-theme-alpine .ag-ltr .ag-cell-range-single-cell,\n.ag-theme-alpine .ag-ltr .ag-cell-range-single-cell.ag-cell-range-handle, .ag-theme-alpine .ag-rtl .ag-has-focus .ag-cell-focus:not(.ag-cell-range-selected),\n.ag-theme-alpine .ag-rtl .ag-context-menu-open .ag-cell-focus:not(.ag-cell-range-selected),\n.ag-theme-alpine .ag-rtl .ag-has-focus .ag-full-width-row.ag-row-focus .ag-cell-wrapper.ag-row-group,\n.ag-theme-alpine .ag-rtl .ag-cell-range-single-cell,\n.ag-theme-alpine .ag-rtl .ag-cell-range-single-cell.ag-cell-range-handle {\n border: 1px solid;\n border-color: #2196f3;\n border-color: var(--ag-range-selection-border-color, #2196f3);\n outline: initial;\n}\n.ag-theme-alpine .ag-cell.ag-selection-fill-top,\n.ag-theme-alpine .ag-cell.ag-selection-fill-top.ag-cell-range-selected {\n border-top: 1px dashed;\n border-top-color: #2196f3;\n border-top-color: var(--ag-range-selection-border-color, #2196f3);\n}\n.ag-theme-alpine .ag-ltr .ag-cell.ag-selection-fill-right, .ag-theme-alpine .ag-ltr .ag-cell.ag-selection-fill-right.ag-cell-range-selected {\n border-right: 1px dashed;\n border-right-color: #2196f3;\n border-right-color: var(--ag-range-selection-border-color, #2196f3);\n}\n\n.ag-theme-alpine .ag-rtl .ag-cell.ag-selection-fill-right, .ag-theme-alpine .ag-rtl .ag-cell.ag-selection-fill-right.ag-cell-range-selected {\n border-left: 1px dashed;\n border-left-color: #2196f3;\n border-left-color: var(--ag-range-selection-border-color, #2196f3);\n}\n\n.ag-theme-alpine .ag-cell.ag-selection-fill-bottom,\n.ag-theme-alpine .ag-cell.ag-selection-fill-bottom.ag-cell-range-selected {\n border-bottom: 1px dashed;\n border-bottom-color: #2196f3;\n border-bottom-color: var(--ag-range-selection-border-color, #2196f3);\n}\n.ag-theme-alpine .ag-ltr .ag-cell.ag-selection-fill-left, .ag-theme-alpine .ag-ltr .ag-cell.ag-selection-fill-left.ag-cell-range-selected {\n border-left: 1px dashed;\n border-left-color: #2196f3;\n border-left-color: var(--ag-range-selection-border-color, #2196f3);\n}\n\n.ag-theme-alpine .ag-rtl .ag-cell.ag-selection-fill-left, .ag-theme-alpine .ag-rtl .ag-cell.ag-selection-fill-left.ag-cell-range-selected {\n border-right: 1px dashed;\n border-right-color: #2196f3;\n border-right-color: var(--ag-range-selection-border-color, #2196f3);\n}\n\n.ag-theme-alpine .ag-range-handle, .ag-theme-alpine .ag-fill-handle {\n position: absolute;\n width: 6px;\n height: 6px;\n bottom: -1px;\n background-color: #2196f3;\n background-color: var(--ag-range-selection-border-color, #2196f3);\n}\n.ag-theme-alpine .ag-ltr .ag-range-handle, .ag-theme-alpine .ag-ltr .ag-fill-handle {\n right: -1px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-range-handle, .ag-theme-alpine .ag-rtl .ag-fill-handle {\n left: -1px;\n}\n\n.ag-theme-alpine .ag-fill-handle {\n cursor: cell;\n}\n.ag-theme-alpine .ag-range-handle {\n cursor: nwse-resize;\n}\n.ag-theme-alpine .ag-cell-inline-editing {\n border-color: rgba(0, 113, 152, 0.4) !important;\n border-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4)) !important;\n}\n.ag-theme-alpine .ag-menu {\n background: #ffffff;\n background: var(--ag-background-color, #ffffff);\n border-radius: 3px;\n box-shadow: 0 1px 4px 1px rgba(186, 191, 199, 0.4);\n padding: 6px;\n padding: 0;\n}\n.ag-theme-alpine .ag-menu-list {\n cursor: default;\n padding: 6px 0;\n}\n.ag-theme-alpine .ag-menu-separator {\n height: 13px;\n}\n.ag-theme-alpine .ag-menu-separator-part::after {\n content: \"\";\n display: block;\n border-top: solid 1px;\n border-top-color: #eaeaea;\n border-top-color: var(--ag-border-color, #eaeaea);\n}\n.ag-theme-alpine .ag-menu-option-active, .ag-theme-alpine .ag-compact-menu-option-active {\n background-color: #eaeaea;\n background-color: var(--ag-row-hover-color, #eaeaea);\n}\n.ag-theme-alpine .ag-menu-option-part, .ag-theme-alpine .ag-compact-menu-option-part {\n line-height: 16px;\n padding: 8px 0;\n}\n.ag-theme-alpine .ag-menu-option-disabled, .ag-theme-alpine .ag-compact-menu-option-disabled {\n opacity: 0.5;\n}\n.ag-theme-alpine .ag-menu-option-icon, .ag-theme-alpine .ag-compact-menu-option-icon {\n width: 16px;\n}\n.ag-theme-alpine .ag-ltr .ag-menu-option-icon, .ag-theme-alpine .ag-ltr .ag-compact-menu-option-icon {\n padding-left: 12px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-menu-option-icon, .ag-theme-alpine .ag-rtl .ag-compact-menu-option-icon {\n padding-right: 12px;\n}\n\n.ag-theme-alpine .ag-menu-option-text, .ag-theme-alpine .ag-compact-menu-option-text {\n padding-left: 12px;\n padding-right: 12px;\n}\n.ag-theme-alpine .ag-ltr .ag-menu-option-shortcut, .ag-theme-alpine .ag-ltr .ag-compact-menu-option-shortcut {\n padding-right: 6px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-menu-option-shortcut, .ag-theme-alpine .ag-rtl .ag-compact-menu-option-shortcut {\n padding-left: 6px;\n}\n\n.ag-theme-alpine .ag-menu-option-popup-pointer, .ag-theme-alpine .ag-compact-menu-option-popup-pointer {\n padding-right: 6px;\n}\n.ag-theme-alpine .ag-tabs {\n min-width: 240px;\n}\n.ag-theme-alpine .ag-tabs-header {\n width: 100%;\n display: flex;\n}\n.ag-theme-alpine .ag-tab {\n border-bottom: 2px solid transparent;\n display: flex;\n flex: none;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n flex: 1 1 auto;\n transition: border-bottom 0.3s;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-tab:focus {\n outline: none;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-tab:focus::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: rgba(0, 113, 152, 0.4);\n border-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine .ag-tab-selected {\n border-bottom-color: #007198;\n border-bottom-color: var(--ag-selected-tab-underline-color, var(--ag-alpine-active-color, #007198));\n}\n.ag-theme-alpine .ag-menu-header {\n color: #2a292c;\n color: var(--ag-secondary-foreground-color, var(--ag-foreground-color, #2a292c));\n}\n.ag-theme-alpine .ag-filter-separator {\n border-top: solid 1px;\n border-top-color: #eaeaea;\n border-top-color: var(--ag-border-color, #eaeaea);\n}\n.ag-theme-alpine .ag-menu:not(.ag-tabs) .ag-filter-select {\n min-width: 155px;\n}\n.ag-theme-alpine .ag-tabs .ag-filter-select {\n min-width: 214px;\n}\n.ag-theme-alpine .ag-filter-select .ag-picker-field-wrapper {\n width: 0;\n}\n.ag-theme-alpine .ag-filter-condition-operator {\n height: 17px;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-condition-operator-or {\n margin-left: 12px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-condition-operator-or {\n margin-right: 12px;\n}\n\n.ag-theme-alpine .ag-set-filter-select-all {\n padding-top: 12px;\n}\n.ag-theme-alpine .ag-set-filter-list, .ag-theme-alpine .ag-filter-no-matches {\n height: 144px;\n}\n.ag-theme-alpine .ag-set-filter-filter {\n margin-top: 12px;\n margin-left: 12px;\n margin-right: 12px;\n}\n.ag-theme-alpine .ag-filter-to {\n margin-top: 9px;\n}\n.ag-theme-alpine .ag-mini-filter {\n margin: 12px 12px;\n}\n.ag-theme-alpine .ag-set-filter-item {\n margin: 0px 12px;\n}\n.ag-theme-alpine .ag-ltr .ag-set-filter-item-value {\n margin-left: 12px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-set-filter-item-value {\n margin-right: 12px;\n}\n\n.ag-theme-alpine .ag-filter-apply-panel {\n padding: 12px 12px;\n}\n.ag-theme-alpine .ag-filter-apply-panel-button {\n line-height: 1.5;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-apply-panel-button {\n margin-left: 12px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-apply-panel-button {\n margin-right: 12px;\n}\n\n.ag-theme-alpine .ag-simple-filter-body-wrapper {\n padding: 12px 12px;\n padding-bottom: 3px;\n}\n.ag-theme-alpine .ag-simple-filter-body-wrapper > * {\n margin-bottom: 9px;\n}\n.ag-theme-alpine .ag-filter-no-matches {\n padding: 12px 12px;\n}\n.ag-theme-alpine .ag-multi-filter-menu-item {\n margin: 6px 0;\n}\n.ag-theme-alpine .ag-multi-filter-group-title-bar {\n padding: 12px 6px;\n background-color: transparent;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-multi-filter-group-title-bar:focus {\n outline: none;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-multi-filter-group-title-bar:focus::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: rgba(0, 113, 152, 0.4);\n border-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine .ag-side-bar {\n position: relative;\n}\n.ag-theme-alpine .ag-tool-panel-wrapper {\n width: 250px;\n background-color: #f8f8f8;\n background-color: var(--ag-control-panel-background-color, #f8f8f8);\n}\n.ag-theme-alpine .ag-side-buttons {\n padding-top: 24px;\n width: 20px;\n position: relative;\n color: #2a292c;\n color: var(--ag-foreground-color, #2a292c);\n overflow: hidden;\n}\n.ag-theme-alpine button.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: 12px 0 12px 0;\n width: 100%;\n margin: 0;\n min-height: 108px;\n background-position-y: center;\n background-position-x: center;\n background-repeat: no-repeat;\n border: none;\n}\n.ag-theme-alpine button.ag-side-button-button:focus {\n box-shadow: none;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-side-button-button:focus {\n outline: none;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-side-button-button:focus::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: rgba(0, 113, 152, 0.4);\n border-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine .ag-side-button-icon-wrapper {\n margin-bottom: 3px;\n}\n.ag-theme-alpine .ag-ltr .ag-side-bar-left .ag-side-button-button,\n.ag-theme-alpine .ag-rtl .ag-side-bar-right .ag-side-button-button {\n border-right: 2px solid transparent;\n transition: border-right 0.3s;\n}\n.ag-theme-alpine .ag-ltr .ag-side-bar-left .ag-selected .ag-side-button-button,\n.ag-theme-alpine .ag-rtl .ag-side-bar-right .ag-selected .ag-side-button-button {\n border-right-color: #007198;\n border-right-color: var(--ag-selected-tab-underline-color, var(--ag-alpine-active-color, #007198));\n}\n.ag-theme-alpine .ag-rtl .ag-side-bar-left .ag-side-button-button,\n.ag-theme-alpine .ag-ltr .ag-side-bar-right .ag-side-button-button {\n border-left: 2px solid transparent;\n transition: border-left 0.3s;\n}\n.ag-theme-alpine .ag-rtl .ag-side-bar-left .ag-selected .ag-side-button-button,\n.ag-theme-alpine .ag-ltr .ag-side-bar-right .ag-selected .ag-side-button-button {\n border-left-color: #007198;\n border-left-color: var(--ag-selected-tab-underline-color, var(--ag-alpine-active-color, #007198));\n}\n.ag-theme-alpine .ag-filter-toolpanel-header {\n height: 36px;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-header, .ag-theme-alpine .ag-ltr .ag-filter-toolpanel-search {\n padding-left: 6px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-header, .ag-theme-alpine .ag-rtl .ag-filter-toolpanel-search {\n padding-right: 6px;\n}\n\n.ag-theme-alpine .ag-keyboard-focus .ag-filter-toolpanel-header:focus {\n outline: none;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-filter-toolpanel-header:focus::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: rgba(0, 113, 152, 0.4);\n border-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine .ag-filter-toolpanel-group.ag-has-filter > .ag-group-title-bar .ag-group-title::after {\n font-family: \"agGridAlpine\";\n font-size: 16px;\n line-height: 16px;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n /* Better Font Rendering =========== */\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n content: \"\\f114\";\n position: absolute;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group.ag-has-filter > .ag-group-title-bar .ag-group-title::after {\n padding-left: 6px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group.ag-has-filter > .ag-group-title-bar .ag-group-title::after {\n padding-right: 6px;\n}\n\n.ag-theme-alpine .ag-filter-toolpanel-group-level-0-header {\n height: 48px;\n}\n.ag-theme-alpine .ag-filter-toolpanel-group-item {\n margin-top: 3px;\n margin-bottom: 3px;\n}\n.ag-theme-alpine .ag-filter-toolpanel-search {\n height: 48px;\n}\n.ag-theme-alpine .ag-filter-toolpanel-search-input {\n flex-grow: 1;\n height: 24px;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-search-input {\n margin-right: 6px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-search-input {\n margin-left: 6px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-expand, .ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group-title-bar-icon {\n margin-right: 6px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-expand, .ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group-title-bar-icon {\n margin-left: 6px;\n}\n\n.ag-theme-alpine .ag-filter-toolpanel-group-level-1 .ag-filter-toolpanel-group-level-1-header.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group-level-1 .ag-filter-toolpanel-group-level-2-header {\n padding-left: 22px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group-level-1 .ag-filter-toolpanel-group-level-2-header {\n padding-right: 22px;\n}\n\n.ag-theme-alpine .ag-filter-toolpanel-group-level-2 .ag-filter-toolpanel-group-level-2-header.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group-level-2 .ag-filter-toolpanel-group-level-3-header {\n padding-left: 38px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group-level-2 .ag-filter-toolpanel-group-level-3-header {\n padding-right: 38px;\n}\n\n.ag-theme-alpine .ag-filter-toolpanel-group-level-3 .ag-filter-toolpanel-group-level-3-header.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group-level-3 .ag-filter-toolpanel-group-level-4-header {\n padding-left: 54px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group-level-3 .ag-filter-toolpanel-group-level-4-header {\n padding-right: 54px;\n}\n\n.ag-theme-alpine .ag-filter-toolpanel-group-level-4 .ag-filter-toolpanel-group-level-4-header.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group-level-4 .ag-filter-toolpanel-group-level-5-header {\n padding-left: 70px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group-level-4 .ag-filter-toolpanel-group-level-5-header {\n padding-right: 70px;\n}\n\n.ag-theme-alpine .ag-filter-toolpanel-group-level-5 .ag-filter-toolpanel-group-level-5-header.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group-level-5 .ag-filter-toolpanel-group-level-6-header {\n padding-left: 86px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group-level-5 .ag-filter-toolpanel-group-level-6-header {\n padding-right: 86px;\n}\n\n.ag-theme-alpine .ag-filter-toolpanel-group-level-6 .ag-filter-toolpanel-group-level-6-header.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group-level-6 .ag-filter-toolpanel-group-level-7-header {\n padding-left: 102px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group-level-6 .ag-filter-toolpanel-group-level-7-header {\n padding-right: 102px;\n}\n\n.ag-theme-alpine .ag-filter-toolpanel-group-level-7 .ag-filter-toolpanel-group-level-7-header.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group-level-7 .ag-filter-toolpanel-group-level-8-header {\n padding-left: 118px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group-level-7 .ag-filter-toolpanel-group-level-8-header {\n padding-right: 118px;\n}\n\n.ag-theme-alpine .ag-filter-toolpanel-group-level-8 .ag-filter-toolpanel-group-level-8-header.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group-level-8 .ag-filter-toolpanel-group-level-9-header {\n padding-left: 134px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group-level-8 .ag-filter-toolpanel-group-level-9-header {\n padding-right: 134px;\n}\n\n.ag-theme-alpine .ag-filter-toolpanel-group-level-9 .ag-filter-toolpanel-group-level-9-header.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group-level-9 .ag-filter-toolpanel-group-level-10-header {\n padding-left: 150px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group-level-9 .ag-filter-toolpanel-group-level-10-header {\n padding-right: 150px;\n}\n\n.ag-theme-alpine .ag-filter-toolpanel-group-level-10 .ag-filter-toolpanel-group-level-10-header.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group-level-10 .ag-filter-toolpanel-group-level-11-header {\n padding-left: 166px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group-level-10 .ag-filter-toolpanel-group-level-11-header {\n padding-right: 166px;\n}\n\n.ag-theme-alpine .ag-filter-toolpanel-instance-header.ag-filter-toolpanel-group-level-1-header {\n padding-left: 6px;\n}\n.ag-theme-alpine .ag-filter-toolpanel-instance-filter {\n margin-top: 6px;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-instance-header-icon {\n margin-left: 6px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-instance-header-icon {\n margin-right: 6px;\n}\n\n.ag-theme-alpine .ag-pivot-mode-panel {\n min-height: 48px;\n height: 48px;\n display: flex;\n}\n.ag-theme-alpine .ag-pivot-mode-select {\n display: flex;\n align-items: center;\n}\n.ag-theme-alpine .ag-ltr .ag-pivot-mode-select {\n margin-left: 12px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-pivot-mode-select {\n margin-right: 12px;\n}\n\n.ag-theme-alpine .ag-keyboard-focus .ag-column-select-header:focus {\n outline: none;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-column-select-header:focus::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: rgba(0, 113, 152, 0.4);\n border-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine .ag-column-select-header {\n height: 48px;\n align-items: center;\n padding: 0 12px;\n}\n.ag-theme-alpine .ag-column-group-icons,\n.ag-theme-alpine .ag-column-select-header-icon {\n color: #2a292c;\n color: var(--ag-secondary-foreground-color, var(--ag-foreground-color, #2a292c));\n}\n.ag-theme-alpine .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: #2196f3;\n background-color: var(--ag-range-selection-border-color, #2196f3);\n}\n.ag-theme-alpine .ag-column-select-list .ag-item-highlight-top::after {\n top: 0;\n}\n.ag-theme-alpine .ag-column-select-list .ag-item-highlight-bottom::after {\n bottom: 0;\n}\n.ag-theme-alpine .ag-header {\n background-color: #ffffff;\n background-color: var(--ag-header-background-color, #ffffff);\n border-bottom: solid 1px;\n border-bottom-color: #eaeaea;\n border-bottom-color: var(--ag-border-color, #eaeaea);\n}\n.ag-theme-alpine .ag-header-row {\n color: #017a76;\n color: var(--ag-header-foreground-color, #017a76);\n height: 48px;\n}\n.ag-theme-alpine .ag-pinned-right-header {\n border-left: solid 1px;\n border-left-color: #eaeaea;\n border-left-color: var(--ag-border-color, #eaeaea);\n}\n.ag-theme-alpine .ag-pinned-left-header {\n border-right: solid 1px;\n border-right-color: #eaeaea;\n border-right-color: var(--ag-border-color, #eaeaea);\n}\n.ag-theme-alpine .ag-ltr .ag-header-cell:not(.ag-right-aligned-header) .ag-header-label-icon {\n margin-left: 6px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-header-cell:not(.ag-right-aligned-header) .ag-header-label-icon {\n margin-right: 6px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-header-cell.ag-right-aligned-header .ag-header-label-icon {\n margin-right: 6px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-header-cell.ag-right-aligned-header .ag-header-label-icon {\n margin-left: 6px;\n}\n\n.ag-theme-alpine .ag-header-cell,\n.ag-theme-alpine .ag-header-group-cell {\n padding-left: 18px;\n padding-right: 18px;\n}\n.ag-theme-alpine .ag-header-cell.ag-header-cell-moving,\n.ag-theme-alpine .ag-header-group-cell.ag-header-cell-moving {\n background-color: #ffffff;\n background-color: var(--ag-header-cell-moving-background-color, var(--ag-background-color, #ffffff));\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-header-cell:focus {\n outline: none;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-header-cell:focus::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: rgba(0, 113, 152, 0.4);\n border-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-header-group-cell:focus {\n outline: none;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-header-group-cell:focus::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: rgba(0, 113, 152, 0.4);\n border-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine .ag-header-icon {\n color: #2a292c;\n color: var(--ag-secondary-foreground-color, var(--ag-foreground-color, #2a292c));\n}\n.ag-theme-alpine .ag-header-expand-icon {\n cursor: pointer;\n}\n.ag-theme-alpine .ag-ltr .ag-header-expand-icon {\n padding-left: 4px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-header-expand-icon {\n padding-right: 4px;\n}\n\n.ag-theme-alpine .ag-header-row:not(:first-child) .ag-header-cell,\n.ag-theme-alpine .ag-header-row:not(:first-child) .ag-header-group-cell.ag-header-group-cell-with-group {\n border-top: solid 1px;\n border-top-color: #eaeaea;\n border-top-color: var(--ag-border-color, #eaeaea);\n}\n.ag-theme-alpine .ag-header-cell-resize {\n display: flex;\n align-items: center;\n}\n.ag-theme-alpine .ag-header-cell-resize::after {\n content: \"\";\n position: absolute;\n z-index: 1;\n display: block;\n left: calc(50% - 1px);\n width: 2px;\n height: 30%;\n top: calc(50% - 15%);\n background-color: rgba(234, 234, 234, 0.5);\n background-color: var(--ag-header-column-resize-handle-color, rgba(234, 234, 234, 0.5));\n}\n.ag-theme-alpine .ag-pinned-right-header .ag-header-cell-resize::after {\n left: calc(50% - 2px);\n}\n.ag-theme-alpine .ag-ltr .ag-header-select-all {\n margin-right: 18px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-header-select-all {\n margin-left: 18px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-floating-filter-button {\n margin-left: 18px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-floating-filter-button {\n margin-right: 18px;\n}\n\n.ag-theme-alpine .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 appearance: none;\n background: transparent;\n border: none;\n height: 16px;\n padding: 0;\n width: 16px;\n}\n.ag-theme-alpine .ag-filter-loading {\n background-color: #f8f8f8;\n background-color: var(--ag-control-panel-background-color, #f8f8f8);\n height: 100%;\n padding: 12px 12px;\n position: absolute;\n width: 100%;\n z-index: 1;\n}\n.ag-theme-alpine .ag-paging-panel {\n border-top: 1px solid;\n border-top-color: #eaeaea;\n border-top-color: var(--ag-border-color, #eaeaea);\n color: #2a292c;\n color: var(--ag-secondary-foreground-color, var(--ag-foreground-color, #2a292c));\n height: 48px;\n}\n.ag-theme-alpine .ag-paging-panel > * {\n margin: 0 18px;\n}\n.ag-theme-alpine .ag-paging-button {\n cursor: pointer;\n}\n.ag-theme-alpine .ag-paging-button.ag-disabled {\n cursor: default;\n color: rgba(42, 41, 44, 0.5);\n color: var(--ag-disabled-foreground-color, rgba(42, 41, 44, 0.5));\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-paging-button:focus {\n outline: none;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-paging-button:focus::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: rgba(0, 113, 152, 0.4);\n border-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine .ag-paging-button, .ag-theme-alpine .ag-paging-description {\n margin: 0 6px;\n}\n.ag-theme-alpine .ag-status-bar {\n color: rgba(42, 41, 44, 0.5);\n color: var(--ag-disabled-foreground-color, rgba(42, 41, 44, 0.5));\n padding-right: 24px;\n padding-left: 24px;\n line-height: 1.5;\n}\n.ag-theme-alpine .ag-status-name-value-value {\n color: #2a292c;\n color: var(--ag-foreground-color, #2a292c);\n}\n.ag-theme-alpine .ag-status-bar-center {\n text-align: center;\n}\n.ag-theme-alpine .ag-status-name-value {\n margin-left: 6px;\n margin-right: 6px;\n padding-top: 12px;\n padding-bottom: 12px;\n}\n.ag-theme-alpine .ag-column-drop-cell {\n background: rgba(42, 41, 44, 0.07);\n background: var(--ag-chip-background-color, rgba(42, 41, 44, 0.07));\n border-radius: 24px;\n height: 24px;\n padding: 0 3px;\n border: 1px solid transparent;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-column-drop-cell:focus {\n outline: none;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-column-drop-cell:focus::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: rgba(0, 113, 152, 0.4);\n border-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine .ag-column-drop-cell-text {\n margin: 0 6px;\n}\n.ag-theme-alpine .ag-column-drop-cell-button {\n min-width: 24px;\n margin: 0 3px;\n color: #2a292c;\n color: var(--ag-secondary-foreground-color, var(--ag-foreground-color, #2a292c));\n}\n.ag-theme-alpine .ag-column-drop-cell-drag-handle {\n margin-left: 12px;\n}\n.ag-theme-alpine .ag-column-drop-cell-ghost {\n opacity: 0.5;\n}\n.ag-theme-alpine .ag-column-drop-horizontal {\n background-color: #f8f8f8;\n background-color: var(--ag-control-panel-background-color, #f8f8f8);\n color: #2a292c;\n color: var(--ag-secondary-foreground-color, var(--ag-foreground-color, #2a292c));\n height: 42px;\n}\n.ag-theme-alpine .ag-ltr .ag-column-drop-horizontal {\n padding-left: 18px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-column-drop-horizontal {\n padding-right: 18px;\n}\n\n.ag-theme-alpine .ag-column-drop-horizontal-cell-separator {\n margin: 0 6px;\n color: #2a292c;\n color: var(--ag-secondary-foreground-color, var(--ag-foreground-color, #2a292c));\n}\n.ag-theme-alpine .ag-column-drop-horizontal-empty-message {\n color: rgba(42, 41, 44, 0.5);\n color: var(--ag-disabled-foreground-color, rgba(42, 41, 44, 0.5));\n}\n.ag-theme-alpine .ag-ltr .ag-column-drop-horizontal-icon {\n margin-right: 18px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-column-drop-horizontal-icon {\n margin-left: 18px;\n}\n\n.ag-theme-alpine .ag-column-drop-vertical-list {\n padding-bottom: 6px;\n padding-right: 6px;\n padding-left: 6px;\n}\n.ag-theme-alpine .ag-column-drop-vertical-cell {\n margin-top: 6px;\n}\n.ag-theme-alpine .ag-column-drop-vertical {\n min-height: 50px;\n}\n.ag-theme-alpine .ag-column-drop-vertical-icon {\n margin-left: 6px;\n margin-right: 6px;\n}\n.ag-theme-alpine .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: rgba(42, 41, 44, 0.5);\n color: var(--ag-disabled-foreground-color, rgba(42, 41, 44, 0.5));\n margin-top: 6px;\n}\n.ag-theme-alpine .ag-select-agg-func-popup {\n background: #ffffff;\n background: var(--ag-background-color, #ffffff);\n border-radius: 3px;\n box-shadow: 0 1px 4px 1px rgba(186, 191, 199, 0.4);\n padding: 6px;\n background: #ffffff;\n background: var(--ag-background-color, #ffffff);\n height: 105px;\n padding: 0;\n}\n.ag-theme-alpine .ag-select-agg-func-virtual-list-item {\n cursor: default;\n padding-left: 12px;\n}\n.ag-theme-alpine .ag-select-agg-func-virtual-list-item:hover {\n background-color: rgba(0, 113, 152, 0.3);\n background-color: var(--ag-selected-row-background-color, rgba(0, 113, 152, 0.3));\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-select-agg-func-virtual-list-item:focus {\n outline: none;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-select-agg-func-virtual-list-item:focus::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: rgba(0, 113, 152, 0.4);\n border-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine .ag-chart-menu {\n border-radius: 3px;\n background: #ffffff;\n background: var(--ag-background-color, #ffffff);\n}\n.ag-theme-alpine .ag-chart-menu-icon {\n opacity: 0.5;\n line-height: 24px;\n font-size: 24px;\n width: 24px;\n height: 24px;\n margin: 2px 0;\n cursor: pointer;\n border-radius: 3px;\n color: #2a292c;\n color: var(--ag-secondary-foreground-color, var(--ag-foreground-color, #2a292c));\n}\n.ag-theme-alpine .ag-chart-menu-icon:hover {\n opacity: 1;\n}\n.ag-theme-alpine .ag-chart-mini-thumbnail {\n border: 1px solid;\n border-color: #eaeaea;\n border-color: var(--ag-secondary-border-color, #eaeaea);\n border-radius: 5px;\n margin: 5px;\n}\n.ag-theme-alpine .ag-chart-mini-thumbnail:nth-last-child(3), .ag-theme-alpine .ag-chart-mini-thumbnail:nth-last-child(3) ~ .ag-chart-mini-thumbnail {\n margin-left: auto;\n margin-right: auto;\n}\n.ag-theme-alpine .ag-ltr .ag-chart-mini-thumbnail:first-child {\n margin-left: 0;\n}\n\n.ag-theme-alpine .ag-rtl .ag-chart-mini-thumbnail:first-child {\n margin-right: 0;\n}\n\n.ag-theme-alpine .ag-ltr .ag-chart-mini-thumbnail:last-child {\n margin-right: 0;\n}\n\n.ag-theme-alpine .ag-rtl .ag-chart-mini-thumbnail:last-child {\n margin-left: 0;\n}\n\n.ag-theme-alpine .ag-chart-mini-thumbnail.ag-selected {\n border-color: #007198;\n border-color: var(--ag-minichart-selected-chart-color, var(--ag-checkbox-checked-color, var(--ag-alpine-active-color, #007198)));\n}\n.ag-theme-alpine .ag-chart-settings-card-item {\n background: #2a292c;\n background: var(--ag-foreground-color, #2a292c);\n width: 8px;\n height: 8px;\n border-radius: 4px;\n}\n.ag-theme-alpine .ag-chart-settings-card-item.ag-selected {\n background-color: #007198;\n background-color: var(--ag-minichart-selected-page-color, var(--ag-checkbox-checked-color, var(--ag-alpine-active-color, #007198)));\n}\n.ag-theme-alpine .ag-chart-data-column-drag-handle {\n margin-left: 6px;\n}\n.ag-theme-alpine .ag-charts-settings-group-container {\n padding: 6px;\n}\n.ag-theme-alpine .ag-charts-data-group-container {\n padding: 6px 12px;\n}\n.ag-theme-alpine .ag-charts-data-group-container .ag-charts-data-group-item:not(.ag-charts-format-sub-level-group) {\n height: 24px;\n}\n.ag-theme-alpine .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: #2196f3;\n background-color: var(--ag-range-selection-border-color, #2196f3);\n}\n.ag-theme-alpine .ag-charts-data-group-container .ag-item-highlight-top::after {\n top: 0;\n}\n.ag-theme-alpine .ag-charts-data-group-container .ag-item-highlight-bottom::after {\n bottom: 0;\n}\n.ag-theme-alpine .ag-charts-format-top-level-group-container {\n margin-left: 12px;\n padding: 6px;\n}\n.ag-theme-alpine .ag-charts-format-top-level-group-item {\n margin: 6px 0;\n}\n.ag-theme-alpine .ag-charts-format-sub-level-group-container {\n padding: 12px 12px;\n padding-bottom: 3px;\n}\n.ag-theme-alpine .ag-charts-format-sub-level-group-container > * {\n margin-bottom: 9px;\n}\n.ag-theme-alpine .ag-charts-group-container.ag-group-container-horizontal {\n padding: 6px;\n}\n.ag-theme-alpine .ag-chart-data-section,\n.ag-theme-alpine .ag-chart-format-section {\n display: flex;\n margin: 0;\n}\n.ag-theme-alpine .ag-chart-menu-panel {\n background-color: #f8f8f8;\n background-color: var(--ag-control-panel-background-color, #f8f8f8);\n}\n.ag-theme-alpine .ag-ltr .ag-chart-menu-panel {\n border-left: solid 1px;\n border-left-color: #eaeaea;\n border-left-color: var(--ag-border-color, #eaeaea);\n}\n\n.ag-theme-alpine .ag-rtl .ag-chart-menu-panel {\n border-right: solid 1px;\n border-right-color: #eaeaea;\n border-right-color: var(--ag-border-color, #eaeaea);\n}\n\n.ag-theme-alpine .ag-date-time-list-page-title {\n flex-grow: 1;\n text-align: center;\n}\n.ag-theme-alpine .ag-date-time-list-page-column-label {\n text-align: center;\n}\n.ag-theme-alpine .ag-date-time-list-page-entry {\n text-align: center;\n}\n.ag-theme-alpine .ag-checkbox-input-wrapper {\n font-family: \"agGridAlpine\";\n font-size: 16px;\n line-height: 16px;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n /* Better Font Rendering =========== */\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n width: 16px;\n height: 16px;\n background-color: #ffffff;\n background-color: var(--ag-checkbox-background-color, var(--ag-background-color, #ffffff));\n border-radius: 3px;\n display: inline-block;\n vertical-align: middle;\n flex: none;\n}\n.ag-theme-alpine .ag-checkbox-input-wrapper input, .ag-theme-alpine .ag-checkbox-input-wrapper input {\n -webkit-appearance: none;\n opacity: 0;\n width: 100%;\n height: 100%;\n}\n.ag-theme-alpine .ag-checkbox-input-wrapper:focus-within, .ag-theme-alpine .ag-checkbox-input-wrapper:active {\n outline: none;\n box-shadow: 0 0 2px 0.1rem rgba(0, 113, 152, 0.4);\n}\n.ag-theme-alpine .ag-checkbox-input-wrapper.ag-disabled {\n opacity: 0.5;\n}\n.ag-theme-alpine .ag-checkbox-input-wrapper::after {\n content: \"\\f108\";\n color: #999;\n color: var(--ag-checkbox-unchecked-color, #999);\n position: absolute;\n top: 0;\n left: 0;\n pointer-events: none;\n}\n.ag-theme-alpine .ag-checkbox-input-wrapper.ag-checked::after {\n content: \"\\f106\";\n color: #007198;\n color: var(--ag-checkbox-checked-color, var(--ag-alpine-active-color, #007198));\n position: absolute;\n top: 0;\n left: 0;\n pointer-events: none;\n}\n.ag-theme-alpine .ag-checkbox-input-wrapper.ag-indeterminate::after {\n content: \"\\f107\";\n color: #999;\n color: var(--ag-checkbox-indeterminate-color, var(--ag-checkbox-unchecked-color, #999));\n position: absolute;\n top: 0;\n left: 0;\n pointer-events: none;\n}\n.ag-theme-alpine .ag-toggle-button-input-wrapper {\n box-sizing: border-box;\n width: 28px;\n height: 18px;\n background-color: #999;\n background-color: var(--ag-toggle-button-off-background-color, var(--ag-checkbox-unchecked-color, #999));\n border-radius: 9px;\n position: relative;\n flex: none;\n border: 1px solid;\n border-color: #999;\n border-color: var(--ag-toggle-button-off-border-color, var(--ag-checkbox-unchecked-color, #999));\n}\n.ag-theme-alpine .ag-toggle-button-input-wrapper input {\n opacity: 0;\n height: 100%;\n width: 100%;\n}\n.ag-theme-alpine .ag-toggle-button-input-wrapper:focus-within {\n outline: none;\n box-shadow: 0 0 2px 0.1rem rgba(0, 113, 152, 0.4);\n}\n.ag-theme-alpine .ag-toggle-button-input-wrapper.ag-disabled {\n opacity: 0.5;\n}\n.ag-theme-alpine .ag-toggle-button-input-wrapper.ag-checked {\n background-color: #007198;\n background-color: var(--ag-toggle-button-on-background-color, var(--ag-checkbox-checked-color, var(--ag-alpine-active-color, #007198)));\n border-color: #007198;\n border-color: var(--ag-toggle-button-on-border-color, var(--ag-checkbox-checked-color, var(--ag-alpine-active-color, #007198)));\n}\n.ag-theme-alpine .ag-toggle-button-input-wrapper::before {\n content: \" \";\n position: absolute;\n top: -1px;\n left: -1px;\n display: block;\n box-sizing: border-box;\n height: 18px;\n width: 18px;\n background-color: #ffffff;\n background-color: var(--ag-toggle-button-switch-background-color, var(--ag-background-color, #ffffff));\n border-radius: 9px;\n transition: left 100ms;\n border: 1px solid;\n border-color: #999;\n border-color: var(--ag-toggle-button-switch-border-color, var(--ag-toggle-button-off-border-color, var(--ag-checkbox-unchecked-color, #999)));\n}\n.ag-theme-alpine .ag-toggle-button-input-wrapper.ag-checked::before {\n left: calc(100% - 18px );\n border-color: #007198;\n border-color: var(--ag-toggle-button-on-border-color, var(--ag-checkbox-checked-color, var(--ag-alpine-active-color, #007198)));\n}\n.ag-theme-alpine .ag-radio-button-input-wrapper {\n font-family: \"agGridAlpine\";\n font-size: 16px;\n line-height: 16px;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n /* Better Font Rendering =========== */\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n width: 16px;\n height: 16px;\n background-color: #ffffff;\n background-color: var(--ag-checkbox-background-color, var(--ag-background-color, #ffffff));\n border-radius: 3px;\n display: inline-block;\n vertical-align: middle;\n flex: none;\n border-radius: 16px;\n}\n.ag-theme-alpine .ag-radio-button-input-wrapper input, .ag-theme-alpine .ag-radio-button-input-wrapper input {\n -webkit-appearance: none;\n opacity: 0;\n width: 100%;\n height: 100%;\n}\n.ag-theme-alpine .ag-radio-button-input-wrapper:focus-within, .ag-theme-alpine .ag-radio-button-input-wrapper:active {\n outline: none;\n box-shadow: 0 0 2px 0.1rem rgba(0, 113, 152, 0.4);\n}\n.ag-theme-alpine .ag-radio-button-input-wrapper.ag-disabled {\n opacity: 0.5;\n}\n.ag-theme-alpine .ag-radio-button-input-wrapper::after {\n content: \"\\f126\";\n color: #999;\n color: var(--ag-checkbox-unchecked-color, #999);\n position: absolute;\n top: 0;\n left: 0;\n pointer-events: none;\n}\n.ag-theme-alpine .ag-radio-button-input-wrapper.ag-checked::after {\n content: \"\\f127\";\n color: #007198;\n color: var(--ag-checkbox-checked-color, var(--ag-alpine-active-color, #007198));\n position: absolute;\n top: 0;\n left: 0;\n pointer-events: none;\n}\n.ag-theme-alpine input[class^=ag-][type=range] {\n -webkit-appearance: none;\n width: 100%;\n height: 100%;\n background: none;\n overflow: visible;\n}\n.ag-theme-alpine input[class^=ag-][type=range]::-webkit-slider-runnable-track {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 3px;\n background-color: #eaeaea;\n background-color: var(--ag-border-color, #eaeaea);\n border-radius: 3px;\n border-radius: 3px;\n}\n.ag-theme-alpine input[class^=ag-][type=range]::-moz-range-track {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 3px;\n background-color: #eaeaea;\n background-color: var(--ag-border-color, #eaeaea);\n border-radius: 3px;\n border-radius: 3px;\n}\n.ag-theme-alpine input[class^=ag-][type=range]::-ms-track {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 3px;\n background-color: #eaeaea;\n background-color: var(--ag-border-color, #eaeaea);\n border-radius: 3px;\n border-radius: 3px;\n color: transparent;\n width: calc(100% - 2px);\n}\n.ag-theme-alpine input[class^=ag-][type=range]::-webkit-slider-thumb {\n margin: 0;\n padding: 0;\n -webkit-appearance: none;\n width: 16px;\n height: 16px;\n background-color: #ffffff;\n background-color: var(--ag-background-color, #ffffff);\n border: 1px solid;\n border-color: #999;\n border-color: var(--ag-checkbox-unchecked-color, #999);\n border-radius: 16px;\n transform: translateY(-6.5px);\n}\n.ag-theme-alpine input[class^=ag-][type=range]::-ms-thumb {\n margin: 0;\n padding: 0;\n -webkit-appearance: none;\n width: 16px;\n height: 16px;\n background-color: #ffffff;\n background-color: var(--ag-background-color, #ffffff);\n border: 1px solid;\n border-color: #999;\n border-color: var(--ag-checkbox-unchecked-color, #999);\n border-radius: 16px;\n}\n.ag-theme-alpine input[class^=ag-][type=range]::-moz-ag-range-thumb {\n margin: 0;\n padding: 0;\n -webkit-appearance: none;\n width: 16px;\n height: 16px;\n background-color: #ffffff;\n background-color: var(--ag-background-color, #ffffff);\n border: 1px solid;\n border-color: #999;\n border-color: var(--ag-checkbox-unchecked-color, #999);\n border-radius: 16px;\n}\n.ag-theme-alpine input[class^=ag-][type=range]:focus {\n outline: none;\n}\n.ag-theme-alpine input[class^=ag-][type=range]:focus::-webkit-slider-thumb {\n box-shadow: 0 0 2px 0.1rem rgba(0, 113, 152, 0.4);\n border-color: #007198;\n border-color: var(--ag-checkbox-checked-color, var(--ag-alpine-active-color, #007198));\n}\n.ag-theme-alpine input[class^=ag-][type=range]:focus::-ms-thumb {\n box-shadow: 0 0 2px 0.1rem rgba(0, 113, 152, 0.4);\n border-color: #007198;\n border-color: var(--ag-checkbox-checked-color, var(--ag-alpine-active-color, #007198));\n}\n.ag-theme-alpine input[class^=ag-][type=range]:focus::-moz-ag-range-thumb {\n box-shadow: 0 0 2px 0.1rem rgba(0, 113, 152, 0.4);\n border-color: #007198;\n border-color: var(--ag-checkbox-checked-color, var(--ag-alpine-active-color, #007198));\n}\n.ag-theme-alpine input[class^=ag-][type=range]:active::-webkit-slider-runnable-track {\n background-color: rgba(0, 113, 152, 0.4);\n background-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine input[class^=ag-][type=range]:active::-moz-ag-range-track {\n background-color: rgba(0, 113, 152, 0.4);\n background-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine input[class^=ag-][type=range]:active::-ms-track {\n background-color: rgba(0, 113, 152, 0.4);\n background-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine input[class^=ag-][type=range]:disabled {\n opacity: 0.5;\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 font-weight: 700;\n color: #017a76;\n color: var(--ag-header-foreground-color, #017a76);\n}\n.ag-theme-alpine .ag-rtl .ag-pinned-left-header .ag-header-row::before, .ag-theme-alpine .ag-ltr .ag-pinned-right-header .ag-header-row::after {\n content: \"\";\n position: absolute;\n height: calc(100% - 20px);\n top: 10px;\n width: 1px;\n background-color: #eaeaea;\n background-color: var(--ag-border-color, #eaeaea);\n}\n.ag-theme-alpine .ag-ltr .ag-pinned-right-header .ag-header-row::after {\n right: 0;\n}\n.ag-theme-alpine .ag-rtl .ag-pinned-left-header .ag-header-row::before {\n left: 0;\n}\n.ag-theme-alpine .ag-row {\n font-size: 0.875rem !important1;\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 min-height: 24px;\n border-radius: 3px;\n}\n.ag-theme-alpine .ag-ltr input[class^=ag-]:not([type]),\n.ag-theme-alpine .ag-ltr input[class^=ag-][type=text],\n.ag-theme-alpine .ag-ltr input[class^=ag-][type=number],\n.ag-theme-alpine .ag-ltr input[class^=ag-][type=tel],\n.ag-theme-alpine .ag-ltr input[class^=ag-][type=date],\n.ag-theme-alpine .ag-ltr input[class^=ag-][type=datetime-local],\n.ag-theme-alpine .ag-ltr textarea[class^=ag-] {\n padding-left: 6px;\n}\n\n.ag-theme-alpine .ag-rtl input[class^=ag-]:not([type]),\n.ag-theme-alpine .ag-rtl input[class^=ag-][type=text],\n.ag-theme-alpine .ag-rtl input[class^=ag-][type=number],\n.ag-theme-alpine .ag-rtl input[class^=ag-][type=tel],\n.ag-theme-alpine .ag-rtl input[class^=ag-][type=date],\n.ag-theme-alpine .ag-rtl input[class^=ag-][type=datetime-local],\n.ag-theme-alpine .ag-rtl textarea[class^=ag-] {\n padding-right: 6px;\n}\n\n.ag-theme-alpine .ag-tab {\n padding: 9px;\n transition: color 0.4s;\n}\n.ag-theme-alpine .ag-tab-selected {\n color: #007198;\n color: var(--ag-alpine-active-color, #007198);\n}\n.ag-theme-alpine .ag-menu {\n background-color: #f8f8f8;\n background-color: var(--ag-control-panel-background-color, #f8f8f8);\n}\n.ag-theme-alpine .ag-menu-header {\n background-color: #f8f8f8;\n background-color: var(--ag-control-panel-background-color, #f8f8f8);\n padding-top: 1px;\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 padding: 6px 12px;\n line-height: 20px;\n}\n.ag-theme-alpine .ag-chart-mini-thumbnail {\n background-color: #ffffff;\n background-color: var(--ag-background-color, #ffffff);\n}\n.ag-theme-alpine .ag-ltr .ag-group-title-bar-icon {\n margin-right: 6px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-group-title-bar-icon {\n margin-left: 6px;\n}\n\n.ag-theme-alpine .ag-charts-format-top-level-group-toolbar {\n margin-top: 6px;\n}\n.ag-theme-alpine .ag-ltr .ag-charts-format-top-level-group-toolbar {\n padding-left: 20px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-charts-format-top-level-group-toolbar {\n padding-right: 20px;\n}\n\n.ag-theme-alpine .ag-charts-format-sub-level-group {\n border-left: dashed 1px;\n border-left-color: #eaeaea;\n border-left-color: var(--ag-border-color, #eaeaea);\n padding-left: 6px;\n margin-bottom: 12px;\n}\n.ag-theme-alpine .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 padding-bottom: 0;\n}\n.ag-theme-alpine .ag-charts-format-sub-level-group-item:last-child {\n margin-bottom: 0;\n}\n.ag-theme-alpine .ag-dnd-ghost {\n font-size: 0.875rem !important-1;\n font-weight: 700;\n}\n.ag-theme-alpine .ag-side-buttons {\n width: 30px;\n}\n.ag-theme-alpine .ag-standard-button {\n appearance: none;\n -webkit-appearance: none;\n border-radius: 3px;\n border: 1px solid;\n border-color: #007198;\n border-color: var(--ag-alpine-active-color, #007198);\n color: #007198;\n color: var(--ag-alpine-active-color, #007198);\n background-color: #ffffff;\n background-color: var(--ag-background-color, #ffffff);\n font-weight: 600;\n padding: 6px 12px;\n}\n.ag-theme-alpine .ag-standard-button:hover {\n border-color: #007198;\n border-color: var(--ag-alpine-active-color, #007198);\n background-color: #eaeaea;\n background-color: var(--ag-row-hover-color, #eaeaea);\n}\n.ag-theme-alpine .ag-standard-button:active {\n border-color: #007198;\n border-color: var(--ag-alpine-active-color, #007198);\n background-color: #007198;\n background-color: var(--ag-alpine-active-color, #007198);\n color: #ffffff;\n color: var(--ag-background-color, #ffffff);\n}\n.ag-theme-alpine .ag-standard-button:disabled {\n color: rgba(42, 41, 44, 0.5);\n color: var(--ag-disabled-foreground-color, rgba(42, 41, 44, 0.5));\n background-color: #fbfbfb;\n background-color: var(--ag-input-disabled-background-color, #fbfbfb);\n border-color: rgba(234, 234, 234, 0.3);\n border-color: var(--ag-input-disabled-border-color, rgba(234, 234, 234, 0.3));\n}\n.ag-theme-alpine .ag-column-drop-vertical {\n min-height: 75px;\n}\n.ag-theme-alpine .ag-column-drop-vertical-title-bar {\n padding: 12px;\n padding-bottom: 0px;\n}\n.ag-theme-alpine .ag-column-drop-vertical-empty-message {\n display: flex;\n align-items: center;\n border: dashed 1px;\n border-color: #eaeaea;\n border-color: var(--ag-border-color, #eaeaea);\n margin: 12px;\n padding: 12px;\n}\n.ag-theme-alpine .ag-column-drop-empty-message {\n color: #2a292c;\n color: var(--ag-foreground-color, #2a292c);\n opacity: 0.75;\n}\n.ag-theme-alpine .ag-status-bar {\n font-weight: normal;\n}\n.ag-theme-alpine .ag-status-name-value-value {\n font-weight: 700;\n}\n.ag-theme-alpine .ag-paging-number, .ag-theme-alpine .ag-paging-row-summary-panel-number {\n font-weight: 700;\n}\n.ag-theme-alpine .ag-column-drop-cell-button {\n opacity: 0.5;\n}\n.ag-theme-alpine .ag-column-drop-cell-button:hover {\n opacity: 0.75;\n}\n.ag-theme-alpine .ag-header-cell-menu-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-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 color: #007198;\n color: var(--ag-alpine-active-color, #007198);\n}\n.ag-theme-alpine .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 {\n margin-left: 12px;\n margin-right: 6px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-panel-title-bar-button {\n margin-right: 12px;\n margin-left: 6px;\n}\n\n.ag-theme-alpine .ag-filter-toolpanel-group-container {\n padding-left: 6px;\n}\n.ag-theme-alpine .ag-filter-toolpanel-instance-filter {\n border: none;\n background-color: #f8f8f8;\n background-color: var(--ag-control-panel-background-color, #f8f8f8);\n border-left: dashed 1px;\n border-left-color: #eaeaea;\n border-left-color: var(--ag-border-color, #eaeaea);\n margin-left: 8px;\n padding-left: 8px;\n margin-right: 12px;\n}\n.ag-theme-alpine .ag-set-filter-list {\n padding-top: 3px;\n padding-bottom: 3px;\n}\n.ag-theme-alpine .ag-layout-auto-height .ag-center-cols-clipper, .ag-theme-alpine .ag-layout-auto-height .ag-center-cols-container, .ag-theme-alpine .ag-layout-print .ag-center-cols-clipper, .ag-theme-alpine .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 padding-top: 60px;\n}\n.ag-theme-alpine .ag-date-time-list-page-entry-is-current {\n background-color: #007198;\n background-color: var(--ag-alpine-active-color, #007198);\n}\n.ag-theme-alpine .ag-cell[col-id=selection] {\n display: flex;\n}\n.ag-theme-alpine .ag-cell-wrapper > *:not(.ag-cell-value):not(.ag-group-value) {\n height: auto;\n}\n.ag-theme-alpine .ag-row:last-of-type {\n border-bottom: none;\n}\n.ag-theme-alpine .ag-row-selected {\n background-color: #e2f3f7;\n}\n.ag-theme-alpine .ag-header-cell {\n font-weight: 600;\n padding: 7px 0 7px 8px;\n}\n.ag-theme-alpine .ag-header-cell .LuiIcon {\n fill: #017a76;\n}\n.ag-theme-alpine .ag-cell {\n padding-left: 7px;\n padding-right: 4px;\n display: flex;\n align-items: center;\n}\n.ag-theme-alpine .ag-cell-more {\n padding: 0;\n display: flex;\n justify-content: center;\n}\n.ag-theme-alpine .ag-cell-wrap-text {\n word-break: break-word;\n}\n.ag-theme-alpine .ag-cell-popup-editing, .ag-theme-alpine .ag-selected-for-edit, .ag-theme-alpine .ag-cell-inline-editing {\n background: rgba(72, 160, 244, 0.2);\n border: 3px solid #48a0f4 !important;\n border-right: 3px solid #48a0f4 !important;\n}\n.ag-theme-alpine .ag-row .ag-cell-data-changed {\n background-color: lightgoldenrodyellow !important;\n}\n.ag-theme-alpine .ag-center-cols-clipper {\n min-height: 40px !important;\n}\n.ag-theme-alpine .ag-body-horizontal-scroll-viewport {\n overflow-x: auto;\n}";
2059
- styleInject(css_248z$6);
2060
-
2061
- function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f);else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}function clsx(){for(var e,t,f=0,n="";f<arguments.length;)(e=arguments[f++])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}
2169
+ function clsx () {
2170
+ var i=0, x, str='';
2171
+ while (i < arguments.length) {
2172
+ if (x = toVal(arguments[i++])) {
2173
+ str && (str += ' ');
2174
+ str += x;
2175
+ }
2176
+ }
2177
+ return str;
2178
+ }
2062
2179
 
2063
2180
  /**
2064
2181
  * Retains last sort order from via <AgGrid postRowSort>.
@@ -2206,7 +2323,7 @@ var GridHeaderSelect = function (_a) {
2206
2323
  var Grid = function (params) {
2207
2324
  var _a;
2208
2325
  var _b = useContext(GridContext), gridReady = _b.gridReady, setGridApi = _b.setGridApi, setQuickFilter = _b.setQuickFilter, ensureRowVisible = _b.ensureRowVisible, selectRowsById = _b.selectRowsById, ensureSelectedRowIsVisible = _b.ensureSelectedRowIsVisible, sizeColumnsToFit = _b.sizeColumnsToFit;
2209
- var checkUpdating = useContext(UpdatingContext).checkUpdating;
2326
+ var checkUpdating = useContext(GridUpdatingContext).checkUpdating;
2210
2327
  var _c = useState(""), internalQuickFilter = _c[0], setInternalQuickFilter = _c[1];
2211
2328
  var lastSelectedIds = useRef([]);
2212
2329
  var _d = useState(false), staleGrid = _d[0], setStaleGrid = _d[1];
@@ -2300,10 +2417,7 @@ var Grid = function (params) {
2300
2417
  synchroniseExternallySelectedItemsToGrid();
2301
2418
  updateQuickFilter();
2302
2419
  }, [params, setGridApi, synchroniseExternallySelectedItemsToGrid, updateQuickFilter]);
2303
- var noRowsOverlayComponent = useCallback(function () {
2304
- var _a;
2305
- return (jsx("span", __assign({ className: "ag-overlay-no-rows-center" }, { children: (_a = params.noRowsOverlayText) !== null && _a !== void 0 ? _a : "There are currently no rows" })));
2306
- }, [params.noRowsOverlayText]);
2420
+ var noRowsOverlayComponent = useCallback(function () { var _a; return jsx("span", { children: (_a = params.noRowsOverlayText) !== null && _a !== void 0 ? _a : "There are currently no rows" }); }, [params.noRowsOverlayText]);
2307
2421
  var refreshSelectedRows = useCallback(function (event) {
2308
2422
  // Force-refresh all selected rows to re-run class function, to update selection highlighting
2309
2423
  event.api.refreshCells({
@@ -2373,14 +2487,40 @@ var GenericMultiEditCellClass = function (props) {
2373
2487
  : "";
2374
2488
  };
2375
2489
 
2376
- var css_248z$5 = "/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.AgGridGenericCellRenderer-icon, .AgGridGenericCellRenderer-ic_warningIcon, .AgGridGenericCellRenderer-ic_infoIcon {\n margin-right: 4px;\n}\n\n.AgGridGenericCellRenderer-ic_infoIcon {\n fill: #3a7cdf;\n}\n\n.AgGridGenericCellRenderer-ic_warningIcon {\n fill: #ea6a2e;\n}";
2377
- styleInject(css_248z$5);
2490
+ function styleInject(css, ref) {
2491
+ if ( ref === void 0 ) ref = {};
2492
+ var insertAt = ref.insertAt;
2378
2493
 
2379
- var css_248z$4 = ".GridLoadableCell-container {\n display: flex;\n align-items: center;\n}";
2380
- styleInject(css_248z$4);
2494
+ if (!css || typeof document === 'undefined') { return; }
2495
+
2496
+ var head = document.head || document.getElementsByTagName('head')[0];
2497
+ var style = document.createElement('style');
2498
+ style.type = 'text/css';
2499
+
2500
+ if (insertAt === 'top') {
2501
+ if (head.firstChild) {
2502
+ head.insertBefore(style, head.firstChild);
2503
+ } else {
2504
+ head.appendChild(style);
2505
+ }
2506
+ } else {
2507
+ head.appendChild(style);
2508
+ }
2509
+
2510
+ if (style.styleSheet) {
2511
+ style.styleSheet.cssText = css;
2512
+ } else {
2513
+ style.appendChild(document.createTextNode(css));
2514
+ }
2515
+ }
2516
+
2517
+ var css_248z$6 = ".AgGridGenericCellRenderer-icon{margin-right:4px}.AgGridGenericCellRenderer-ic_infoIcon{fill:#3a7cdf;margin-right:4px}.AgGridGenericCellRenderer-ic_warningIcon{fill:#ea6a2e;margin-right:4px}";
2518
+ styleInject(css_248z$6);
2519
+
2520
+ var css_248z$5 = ".GridLoadableCell-container{align-items:center;display:flex}";
2521
+ styleInject(css_248z$5);
2381
2522
 
2382
2523
  var GridLoadableCell = function (props) {
2383
- // console.log(`Rendering LoadableCell - loading: ${props.isLoading}`);
2384
2524
  if (props.isLoading) {
2385
2525
  return (jsx("div", __assign({ style: { display: "flex", alignItems: "center" } }, { children: jsx(LuiMiniSpinner, { size: 22, divProps: { role: "status", "aria-label": "Loading", style: { marginBottom: 4 } } }) })));
2386
2526
  }
@@ -2392,7 +2532,7 @@ var GridIcon = function (props) { return (jsx(LuiIcon, { name: props.icon, title
2392
2532
 
2393
2533
  var GridRendererGenericCell = function (props) {
2394
2534
  var _a, _b, _c;
2395
- var checkUpdating = useContext(UpdatingContext).checkUpdating;
2535
+ var checkUpdating = useContext(GridUpdatingContext).checkUpdating;
2396
2536
  var colDef = props.colDef;
2397
2537
  var cellRendererParams = colDef.cellRendererParams;
2398
2538
  var warningFn = cellRendererParams === null || cellRendererParams === void 0 ? void 0 : cellRendererParams.warning;
@@ -2409,9 +2549,61 @@ var GridRendererGenericCell = function (props) {
2409
2549
  return (jsx(GridLoadableCell, __assign({ isLoading: checkUpdating((_c = (_b = colDef.field) !== null && _b !== void 0 ? _b : colDef.colId) !== null && _c !== void 0 ? _c : "", props.data.id) }, { children: jsxs(Fragment$1, { children: [typeof warningText === "string" && jsx(GridIcon, { icon: "ic_warning", title: warningText }), typeof infoText === "string" && jsx(GridIcon, { icon: "ic_info", title: infoText }), jsx("span", __assign({ title: formatted }, { children: formatted }))] }) })));
2410
2550
  };
2411
2551
 
2552
+ var GridPopoverContext = createContext({
2553
+ anchorRef: { current: null },
2554
+ saving: false,
2555
+ setSaving: function () { },
2556
+ setProps: function () { },
2557
+ propsRef: { current: null }
2558
+ });
2559
+
2560
+ var GridPopoverContextProvider = function (props) {
2561
+ var _a = useContext(GridContext), getSelectedRows = _a.getSelectedRows, updatingCells = _a.updatingCells;
2562
+ var anchorRef = useRef();
2563
+ var propsRef = useRef({});
2564
+ var _b = useState(false), saving = _b[0], setSaving = _b[1];
2565
+ var setProps = useCallback(function (props, multiEdit) {
2566
+ var _a, _b;
2567
+ // Then item that is clicked on will always be first in the list
2568
+ var selectedRows = multiEdit
2569
+ ? sortBy(getSelectedRows(), function (row) { return row.id !== props.data.id; })
2570
+ : [props.data];
2571
+ var field = (_b = (_a = props.colDef) === null || _a === void 0 ? void 0 : _a.field) !== null && _b !== void 0 ? _b : "";
2572
+ anchorRef.current = props.eGridCell;
2573
+ propsRef.current = {
2574
+ value: props.value,
2575
+ data: props.data,
2576
+ field: field,
2577
+ selectedRows: selectedRows,
2578
+ updateValue: function (saveFn) { return __awaiter(void 0, void 0, void 0, function () {
2579
+ var _a;
2580
+ return __generator(this, function (_b) {
2581
+ switch (_b.label) {
2582
+ case 0:
2583
+ _a = !saving;
2584
+ if (!_a) return [3 /*break*/, 2];
2585
+ return [4 /*yield*/, updatingCells({ selectedRows: selectedRows, field: field }, saveFn, setSaving)];
2586
+ case 1:
2587
+ _a = (_b.sent());
2588
+ _b.label = 2;
2589
+ case 2: return [2 /*return*/, _a];
2590
+ }
2591
+ });
2592
+ }); }
2593
+ };
2594
+ }, [getSelectedRows, saving, updatingCells]);
2595
+ return (jsx(GridPopoverContext.Provider, __assign({ value: {
2596
+ anchorRef: anchorRef,
2597
+ saving: saving,
2598
+ setSaving: setSaving,
2599
+ propsRef: propsRef,
2600
+ setProps: setProps
2601
+ } }, { children: props.children })));
2602
+ };
2603
+
2412
2604
  var GridCellRenderer = function (props) {
2413
2605
  var _a, _b, _c;
2414
- var checkUpdating = useContext(UpdatingContext).checkUpdating;
2606
+ var checkUpdating = useContext(GridUpdatingContext).checkUpdating;
2415
2607
  var colDef = props.colDef;
2416
2608
  var rendererParams = colDef.cellRendererParams;
2417
2609
  var warningFn = rendererParams === null || rendererParams === void 0 ? void 0 : rendererParams.warning;
@@ -2420,15 +2612,17 @@ var GridCellRenderer = function (props) {
2420
2612
  var infoText = infoFn ? infoFn(props) : undefined;
2421
2613
  return ((_a = colDef === null || colDef === void 0 ? void 0 : colDef.cellRendererParams) === null || _a === void 0 ? void 0 : _a.originalCellRenderer) ? (jsx(GridLoadableCell, __assign({ isLoading: checkUpdating((_c = (_b = colDef.field) !== null && _b !== void 0 ? _b : colDef.colId) !== null && _c !== void 0 ? _c : "", props.data.id) }, { children: jsxs(Fragment$1, { children: [typeof warningText === "string" && jsx(GridIcon, { icon: "ic_warning", title: warningText }), typeof infoText === "string" && jsx(GridIcon, { icon: "ic_info", title: infoText }), jsx(colDef.cellRendererParams.originalCellRenderer, __assign({}, props))] }) }))) : (jsx(GridRendererGenericCell, __assign({}, props)));
2422
2614
  };
2423
- /**
2615
+ /*
2424
2616
  * For editing a text area.
2425
2617
  */
2426
- var GridCell = function (props) {
2618
+ var GridCell = function (props, custom) {
2427
2619
  var _a;
2428
- return __assign(__assign(__assign(__assign({ sortable: !!((props === null || props === void 0 ? void 0 : props.field) || (props === null || props === void 0 ? void 0 : props.valueGetter)), resizable: true }, (props.cellEditorParams && {
2429
- cellClass: ((_a = props === null || props === void 0 ? void 0 : props.cellEditorParams) === null || _a === void 0 ? void 0 : _a.multiEdit) ? GenericMultiEditCellClass : undefined,
2430
- editable: true,
2431
- cellEditor: GenericCellEditorComponent
2620
+ return __assign(__assign(__assign(__assign(__assign({ colId: props.field, sortable: !!((props === null || props === void 0 ? void 0 : props.field) || (props === null || props === void 0 ? void 0 : props.valueGetter)), resizable: true }, ((custom === null || custom === void 0 ? void 0 : custom.editor) && {
2621
+ cellClass: (custom === null || custom === void 0 ? void 0 : custom.multiEdit) ? GenericMultiEditCellClass : undefined,
2622
+ editable: (_a = props.editable) !== null && _a !== void 0 ? _a : true,
2623
+ cellEditor: GenericCellEditorComponent(custom.editor)
2624
+ })), ((custom === null || custom === void 0 ? void 0 : custom.editorParams) && {
2625
+ cellEditorParams: __assign(__assign({}, custom.editorParams), { multiEdit: custom.multiEdit })
2432
2626
  })), {
2433
2627
  // Default value formatter, otherwise react freaks out on objects
2434
2628
  valueFormatter: function (params) {
@@ -2441,44 +2635,29 @@ var GridCell = function (props) {
2441
2635
  return JSON.stringify(params.value);
2442
2636
  } }), props), { cellRenderer: GridCellRenderer, cellRendererParams: __assign({ originalCellRenderer: props.cellRenderer }, props.cellRendererParams) });
2443
2637
  };
2444
- var GenericCellEditorComponentFr = function (props, _) {
2445
- var _a, _b, _c;
2446
- var _d = useContext(GridContext), updatingCells = _d.updatingCells, getSelectedRows = _d.getSelectedRows;
2447
- var colDef = props.colDef, data = props.data;
2448
- var cellEditorParams = props.colDef.cellEditorParams;
2449
- var multiEdit = (_a = cellEditorParams === null || cellEditorParams === void 0 ? void 0 : cellEditorParams.multiEdit) !== null && _a !== void 0 ? _a : false;
2450
- var field = (_b = props.colDef.field) !== null && _b !== void 0 ? _b : "";
2451
- var formProps = (_c = colDef.cellEditorParams) !== null && _c !== void 0 ? _c : {};
2452
- var value = props.value;
2453
- var selectedRows = useMemo(function () { return (multiEdit ? getSelectedRows() : [data]); }, [data, getSelectedRows, multiEdit]);
2454
- var _e = useState(false), saving = _e[0], setSaving = _e[1];
2455
- var updateValue = useCallback(function (saveFn) { return __awaiter(void 0, void 0, void 0, function () {
2456
- var _a;
2457
- return __generator(this, function (_b) {
2458
- switch (_b.label) {
2459
- case 0:
2460
- _a = !saving;
2461
- if (!_a) return [3 /*break*/, 2];
2462
- return [4 /*yield*/, updatingCells({ selectedRows: selectedRows, field: field }, saveFn, setSaving)];
2463
- case 1:
2464
- _a = (_b.sent());
2465
- _b.label = 2;
2466
- case 2: return [2 /*return*/, _a];
2467
- }
2468
- });
2469
- }); }, [field, saving, selectedRows, updatingCells]);
2470
- if (cellEditorParams == null)
2471
- return jsx(Fragment$1, {});
2472
- return (jsxs(Fragment$1, { children: [jsx("div", { children: colDef.cellRenderer ? jsx(colDef.cellRenderer, __assign({}, props, { saving: saving })) : props.value }), (cellEditorParams === null || cellEditorParams === void 0 ? void 0 : cellEditorParams.form) && (jsx(cellEditorParams.form, { cellEditorParams: props, updateValue: updateValue, saving: saving, formProps: formProps, data: data, value: value, field: field, selectedRows: selectedRows }))] }));
2638
+ // TODO memo?
2639
+ var GenericCellEditorComponent = function (editor) {
2640
+ return forwardRef(function GenericCellEditorComponent2(props, _) {
2641
+ return (jsx(GridPopoverContextProvider, { children: jsx(GenericCellEditorComponent3, __assign({}, __assign(__assign({}, props), { editor: editor }))) }));
2642
+ });
2473
2643
  };
2474
- var GenericCellEditorComponent = forwardRef(GenericCellEditorComponentFr);
2644
+ var GenericCellEditorComponent3 = function (props) {
2645
+ var _a;
2646
+ var _b = useContext(GridPopoverContext), setProps = _b.setProps, propsRef = _b.propsRef;
2647
+ var colDef = props.colDef;
2648
+ var cellEditorParams = colDef.cellEditorParams;
2649
+ var multiEdit = (_a = cellEditorParams === null || cellEditorParams === void 0 ? void 0 : cellEditorParams.multiEdit) !== null && _a !== void 0 ? _a : false;
2650
+ // TODO don't need all these props in context
2651
+ setProps(props, multiEdit);
2652
+ return (jsxs(Fragment$1, { children: [jsx("div", { children: colDef.cellRenderer ? jsx(colDef.cellRenderer, __assign({}, props)) : props.value }), (props === null || props === void 0 ? void 0 : props.editor) && jsx(props.editor, __assign({}, cellEditorParams, propsRef.current))] }));
2653
+ };
2475
2654
 
2476
2655
  /**
2477
2656
  * If loading is true this returns a loading spinner, otherwise it returns its children.
2478
2657
  */
2479
2658
  var ComponentLoadingWrapper = function (props) {
2480
2659
  var _a;
2481
- return props.loading ? (jsx(LuiMiniSpinner, { size: 22, divProps: (_a = { role: "status" }, _a["aria-label"] = "Loading", _a.style = { padding: 16 }, _a) })) : (jsxs("div", __assign({ style: { maxHeight: 400, overflowY: "auto", pointerEvents: props.saving ? "none" : "inherit" } }, { children: [props.saving && (jsx("div", { style: {
2660
+ return props.loading ? (jsx(LuiMiniSpinner, { size: 22, divProps: (_a = { role: "status" }, _a["aria-label"] = "Loading", _a.style = { padding: 16 }, _a) })) : (jsxs("div", __assign({ style: { pointerEvents: props.saving ? "none" : "inherit" }, className: props.className }, { children: [props.saving && (jsx("div", { style: {
2482
2661
  position: "absolute",
2483
2662
  left: 0,
2484
2663
  top: 0,
@@ -2489,29 +2668,33 @@ var ComponentLoadingWrapper = function (props) {
2489
2668
  } })), props.children] })));
2490
2669
  };
2491
2670
 
2492
- var useGridPopoverHook = function (props, save) {
2493
- var cellEditorParams = props.cellEditorParams, saving = props.saving, updateValue = props.updateValue;
2494
- var eGridCell = cellEditorParams.eGridCell;
2671
+ var useGridPopoverHook = function (props) {
2495
2672
  var stopEditing = useContext(GridContext).stopEditing;
2673
+ var _a = useContext(GridPopoverContext), anchorRef = _a.anchorRef, saving = _a.saving, propsRef = _a.propsRef;
2496
2674
  var saveButtonRef = useRef(null);
2497
- var anchorRef = useRef(eGridCell);
2498
- anchorRef.current = eGridCell;
2499
- var _a = useState(false), isOpen = _a[0], setOpen = _a[1];
2675
+ var _b = useState(false), isOpen = _b[0], setOpen = _b[1];
2500
2676
  useEffect(function () {
2501
2677
  setOpen(true);
2502
2678
  }, []);
2503
2679
  var triggerSave = useCallback(function (reason) { return __awaiter(void 0, void 0, void 0, function () {
2504
- var _a;
2505
- return __generator(this, function (_b) {
2506
- switch (_b.label) {
2680
+ var _a, _b;
2681
+ var _c, _d;
2682
+ return __generator(this, function (_e) {
2683
+ switch (_e.label) {
2507
2684
  case 0:
2508
- _a = reason == "cancel" || !save;
2509
- if (_a) return [3 /*break*/, 2];
2510
- return [4 /*yield*/, updateValue(save)];
2685
+ _a = reason == "cancel" ||
2686
+ !props.save;
2687
+ if (_a) return [3 /*break*/, 3];
2688
+ _b = ((_c = propsRef.current) === null || _c === void 0 ? void 0 : _c.updateValue);
2689
+ if (!_b) return [3 /*break*/, 2];
2690
+ return [4 /*yield*/, ((_d = propsRef.current) === null || _d === void 0 ? void 0 : _d.updateValue(props.save))];
2511
2691
  case 1:
2512
- _a = (_b.sent());
2513
- _b.label = 2;
2692
+ _b = (_e.sent());
2693
+ _e.label = 2;
2514
2694
  case 2:
2695
+ _a = (_b);
2696
+ _e.label = 3;
2697
+ case 3:
2515
2698
  if (_a) {
2516
2699
  setOpen(false);
2517
2700
  stopEditing();
@@ -2519,9 +2702,10 @@ var useGridPopoverHook = function (props, save) {
2519
2702
  return [2 /*return*/];
2520
2703
  }
2521
2704
  });
2522
- }); }, [save, stopEditing, updateValue]);
2705
+ }); }, [props, stopEditing, propsRef]);
2523
2706
  var popoverWrapper = useCallback(function (children) {
2524
- return (jsx(Fragment$1, { children: anchorRef.current && (jsxs(ControlledMenu, __assign({ state: isOpen ? "open" : "closed", portal: true, unmountOnClose: true, anchorRef: anchorRef, saveButtonRef: saveButtonRef, menuClassName: "lui-menu", onClose: function (event) { return triggerSave(event.reason).then(); }, reposition: "initial", viewScroll: "auto", dontShrinkIfDirectionIsTop: true }, { children: [saving && (jsx("div", { style: {
2707
+ return (jsx(Fragment$1, { children: anchorRef.current && (jsxs(ControlledMenu, __assign({ state: isOpen ? "open" : "closed", portal: true, unmountOnClose: true, anchorRef: anchorRef, saveButtonRef: saveButtonRef, menuClassName: "step-ag-grid-react-menu", onClose: function (event) { return triggerSave(event.reason).then(); }, viewScroll: "auto", dontShrinkIfDirectionIsTop: true, className: props.className }, { children: [saving && ( // This is the overlay that prevents editing when the editor is saving
2708
+ jsx("div", { style: {
2525
2709
  position: "absolute",
2526
2710
  left: 0,
2527
2711
  top: 0,
@@ -2530,7 +2714,7 @@ var useGridPopoverHook = function (props, save) {
2530
2714
  backgroundColor: "rgba(64,64,64,0.1)",
2531
2715
  zIndex: 1000
2532
2716
  } })), children, jsx("button", { ref: saveButtonRef, onClick: function () { return triggerSave().then(); }, style: { display: "none" } })] }))) }));
2533
- }, [isOpen, saving, triggerSave]);
2717
+ }, [anchorRef, isOpen, props.className, saving, triggerSave]);
2534
2718
  return {
2535
2719
  popoverWrapper: popoverWrapper,
2536
2720
  triggerSave: triggerSave
@@ -2539,7 +2723,7 @@ var useGridPopoverHook = function (props, save) {
2539
2723
 
2540
2724
  var GridRenderPopoutMenuCell = function (props) {
2541
2725
  var _a, _b, _c;
2542
- var checkUpdating = useContext(UpdatingContext).checkUpdating;
2726
+ var checkUpdating = useContext(GridUpdatingContext).checkUpdating;
2543
2727
  var isLoading = checkUpdating((_b = (_a = props.colDef) === null || _a === void 0 ? void 0 : _a.field) !== null && _b !== void 0 ? _b : "", props.data.id);
2544
2728
  var editable = (_c = props.colDef) === null || _c === void 0 ? void 0 : _c.editable;
2545
2729
  var disabled = !(typeof editable === "function"
@@ -2556,14 +2740,88 @@ var GridRenderPopoutMenuCell = function (props) {
2556
2740
  return (jsx(GridLoadableCell, __assign({ isLoading: isLoading, className: disabled ? "GridPopoutMenu-burgerDisabled" : "GridPopoutMenu-burger" }, { children: jsx(LuiIcon, { name: "ic_more_vert", alt: "More actions", size: "md" }) })));
2557
2741
  };
2558
2742
 
2559
- var css_248z$3 = "@charset \"UTF-8\";\n.szh-menu {\n margin: 0;\n padding: 0;\n list-style: none;\n box-sizing: border-box;\n width: max-content;\n z-index: 100;\n border: 1px solid rgba(0, 0, 0, 0.1);\n background-color: #fff;\n}\n.szh-menu:focus {\n outline: none;\n}\n.szh-menu__arrow {\n box-sizing: border-box;\n width: 0.75rem;\n height: 0.75rem;\n background-color: #fff;\n border: 1px solid transparent;\n border-left-color: rgba(0, 0, 0, 0.1);\n border-top-color: rgba(0, 0, 0, 0.1);\n z-index: -1;\n}\n.szh-menu__arrow--dir-left {\n right: -0.375rem;\n transform: translateY(-50%) rotate(135deg);\n}\n.szh-menu__arrow--dir-right {\n left: -0.375rem;\n transform: translateY(-50%) rotate(-45deg);\n}\n.szh-menu__arrow--dir-top {\n bottom: -0.375rem;\n transform: translateX(-50%) rotate(-135deg);\n}\n.szh-menu__arrow--dir-bottom {\n top: -0.375rem;\n transform: translateX(-50%) rotate(45deg);\n}\n.szh-menu__item {\n cursor: pointer;\n}\n.szh-menu__item:focus {\n outline: none;\n}\n.szh-menu__item--hover {\n background-color: #ebebeb;\n}\n.szh-menu__item--focusable {\n cursor: default;\n background-color: inherit;\n}\n.szh-menu__item--disabled {\n cursor: default;\n color: #aaa;\n}\n.szh-menu__group {\n box-sizing: border-box;\n}\n.szh-menu__radio-group {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.szh-menu__divider {\n height: 1px;\n margin: 0.5rem 0;\n background-color: rgba(0, 0, 0, 0.12);\n}\n\n.szh-menu-button {\n box-sizing: border-box;\n}\n\n.szh-menu {\n user-select: none;\n color: #212529;\n border: none;\n border-radius: 0.25rem;\n box-shadow: 0 3px 7px rgba(0, 0, 0, 0.133), 0 0.6px 2px rgba(0, 0, 0, 0.1);\n min-width: 10rem;\n padding: 0.5rem 0;\n}\n.szh-menu__item {\n display: flex;\n align-items: center;\n position: relative;\n padding: 0.375rem 1.5rem;\n}\n.szh-menu-container--itemTransition .szh-menu__item {\n transition-property: background-color, color;\n transition-duration: 0.15s;\n transition-timing-function: ease-in-out;\n}\n.szh-menu__item--type-radio {\n padding-left: 2.2rem;\n}\n.szh-menu__item--type-radio::before {\n content: \"○\";\n position: absolute;\n left: 0.8rem;\n top: 0.55rem;\n font-size: 0.8rem;\n}\n.szh-menu__item--type-radio.szh-menu__item--checked::before {\n content: \"●\";\n}\n.szh-menu__item--type-checkbox {\n padding-left: 2.2rem;\n}\n.szh-menu__item--type-checkbox::before {\n position: absolute;\n left: 0.8rem;\n}\n.szh-menu__item--type-checkbox.szh-menu__item--checked::before {\n content: \"✔\";\n}\n.szh-menu__submenu > .szh-menu__item {\n padding-right: 2.5rem;\n}\n.szh-menu__submenu > .szh-menu__item::after {\n content: \"❯\";\n position: absolute;\n right: 1rem;\n}\n.szh-menu__header {\n color: #888;\n font-size: 0.8rem;\n padding: 0.2rem 1.5rem;\n text-transform: uppercase;\n}";
2743
+ var css_248z$4 = ".GridMultiSelect-containerSmall .GridFormMultiSelect-options{max-height:130px;overflow-y:auto}.GridMultiSelect-containerMedium .GridFormMultiSelect-options{max-height:190px;overflow-y:auto}.GridMultiSelect-containerLarge .GridFormMultiSelect-options{max-height:320px;overflow-y:auto}.GridMultiSelect-containerUnlimited .GridFormMultiSelect-options{overflow-y:auto}";
2744
+ styleInject(css_248z$4);
2745
+
2746
+ var css_248z$3 = ".GridPopoverEditDropDown-containerSmall .GridFormDropDown-options{max-height:120px;overflow-y:auto}.GridPopoverEditDropDown-containerMedium .GridFormDropDown-options{max-height:200px;overflow-y:auto}.GridPopoverEditDropDown-containerLarge .GridFormDropDown-options{max-height:400px;overflow-y:auto}.GridPopoverEditDropDown-containerUnlimited .GridFormDropDown-options{overflow-y:auto}";
2560
2747
  styleInject(css_248z$3);
2561
2748
 
2749
+ /* global setTimeout, clearTimeout */
2750
+
2751
+ var dist = function debounce(fn) {
2752
+ var wait = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
2753
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
2754
+
2755
+ var lastCallAt = void 0;
2756
+ var deferred = void 0;
2757
+ var timer = void 0;
2758
+ var pendingArgs = [];
2759
+ return function debounced() {
2760
+ var currentWait = getWait(wait);
2761
+ var currentTime = new Date().getTime();
2762
+
2763
+ var isCold = !lastCallAt || currentTime - lastCallAt > currentWait;
2764
+
2765
+ lastCallAt = currentTime;
2766
+
2767
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
2768
+ args[_key] = arguments[_key];
2769
+ }
2770
+
2771
+ if (isCold && options.leading) {
2772
+ return options.accumulate ? Promise.resolve(fn.call(this, [args])).then(function (result) {
2773
+ return result[0];
2774
+ }) : Promise.resolve(fn.call.apply(fn, [this].concat(args)));
2775
+ }
2776
+
2777
+ if (deferred) {
2778
+ clearTimeout(timer);
2779
+ } else {
2780
+ deferred = defer();
2781
+ }
2782
+
2783
+ pendingArgs.push(args);
2784
+ timer = setTimeout(flush.bind(this), currentWait);
2785
+
2786
+ if (options.accumulate) {
2787
+ var argsIndex = pendingArgs.length - 1;
2788
+ return deferred.promise.then(function (results) {
2789
+ return results[argsIndex];
2790
+ });
2791
+ }
2792
+
2793
+ return deferred.promise;
2794
+ };
2795
+
2796
+ function flush() {
2797
+ var thisDeferred = deferred;
2798
+ clearTimeout(timer);
2799
+
2800
+ Promise.resolve(options.accumulate ? fn.call(this, pendingArgs) : fn.apply(this, pendingArgs[pendingArgs.length - 1])).then(thisDeferred.resolve, thisDeferred.reject);
2801
+
2802
+ pendingArgs = [];
2803
+ deferred = null;
2804
+ }
2805
+ };
2806
+
2807
+ function getWait(wait) {
2808
+ return typeof wait === 'function' ? wait() : wait;
2809
+ }
2810
+
2811
+ function defer() {
2812
+ var deferred = {};
2813
+ deferred.promise = new Promise(function (resolve, reject) {
2814
+ deferred.resolve = resolve;
2815
+ deferred.reject = reject;
2816
+ });
2817
+ return deferred;
2818
+ }
2819
+
2562
2820
  var MenuSeparatorString = "_____MENU_SEPARATOR_____";
2563
- var MenuSeparator = Object.freeze({ value: MenuSeparatorString });
2564
- var GridFormDropDown = function (props) {
2565
- var popoverWrapper = useGridPopoverHook(props).popoverWrapper;
2566
- var formProps = props.formProps;
2821
+ Object.freeze({ value: MenuSeparatorString });
2822
+ var MenuHeaderString = "_____MENU_HEADER_____";
2823
+ var GridFormDropDown = function (_props) {
2824
+ var props = _props;
2567
2825
  var _a = useContext(GridContext), updatingCells = _a.updatingCells, stopEditing = _a.stopEditing;
2568
2826
  var _b = useState(""), filter = _b[0], setFilter = _b[1];
2569
2827
  var _c = useState([]), filteredValues = _c[0], setFilteredValues = _c[1];
@@ -2582,8 +2840,8 @@ var GridFormDropDown = function (props) {
2582
2840
  case 0:
2583
2841
  hasChanged = selectedRows.some(function (row) { return row[field] !== value; });
2584
2842
  if (!hasChanged) return [3 /*break*/, 3];
2585
- if (!formProps.onSelectedItem) return [3 /*break*/, 2];
2586
- return [4 /*yield*/, formProps.onSelectedItem({ selectedRows: selectedRows, value: value })];
2843
+ if (!props.onSelectedItem) return [3 /*break*/, 2];
2844
+ return [4 /*yield*/, props.onSelectedItem({ selectedRows: selectedRows, value: value })];
2587
2845
  case 1:
2588
2846
  _a.sent();
2589
2847
  return [3 /*break*/, 3];
@@ -2597,7 +2855,7 @@ var GridFormDropDown = function (props) {
2597
2855
  case 1: return [2 /*return*/, _a.sent()];
2598
2856
  }
2599
2857
  });
2600
- }); }, [formProps, props.field, props.selectedRows, updatingCells]);
2858
+ }); }, [props, updatingCells]);
2601
2859
  var selectFilterHandler = useCallback(function (value) { return __awaiter(void 0, void 0, void 0, function () {
2602
2860
  var field;
2603
2861
  return __generator(this, function (_a) {
@@ -2608,8 +2866,8 @@ var GridFormDropDown = function (props) {
2608
2866
  return __generator(this, function (_a) {
2609
2867
  switch (_a.label) {
2610
2868
  case 0:
2611
- if (!formProps.onSelectFilter) return [3 /*break*/, 2];
2612
- return [4 /*yield*/, formProps.onSelectFilter({ selectedRows: selectedRows, value: value })];
2869
+ if (!props.onSelectFilter) return [3 /*break*/, 2];
2870
+ return [4 /*yield*/, props.onSelectFilter({ selectedRows: selectedRows, value: value })];
2613
2871
  case 1:
2614
2872
  _a.sent();
2615
2873
  _a.label = 2;
@@ -2620,14 +2878,14 @@ var GridFormDropDown = function (props) {
2620
2878
  case 1: return [2 /*return*/, _a.sent()];
2621
2879
  }
2622
2880
  });
2623
- }); }, [formProps, props.field, props.selectedRows, updatingCells]);
2881
+ }); }, [props, updatingCells]);
2624
2882
  // Load up options list if it's async function
2625
2883
  useEffect(function () {
2626
2884
  var _a;
2627
2885
  if (options || optionsInitialising.current)
2628
2886
  return;
2629
2887
  optionsInitialising.current = true;
2630
- var optionsConf = (_a = formProps.options) !== null && _a !== void 0 ? _a : [];
2888
+ var optionsConf = (_a = props.options) !== null && _a !== void 0 ? _a : [];
2631
2889
  (function () { return __awaiter(void 0, void 0, void 0, function () {
2632
2890
  var optionsList;
2633
2891
  return __generator(this, function (_a) {
@@ -2645,7 +2903,7 @@ var GridFormDropDown = function (props) {
2645
2903
  }
2646
2904
  return item;
2647
2905
  });
2648
- if (formProps.filtered) {
2906
+ if (props.filtered) {
2649
2907
  // This is needed otherwise when filter input is rendered and sets autofocus
2650
2908
  // the mouse up of the double click edit triggers the cell to cancel editing
2651
2909
  delay(function () { return setOptions(optionsList); }, 100);
@@ -2658,10 +2916,10 @@ var GridFormDropDown = function (props) {
2658
2916
  }
2659
2917
  });
2660
2918
  }); })();
2661
- }, [filter, options, formProps.filtered, formProps.options, props.selectedRows]);
2662
- // Local filtering
2919
+ }, [filter, options, props]);
2920
+ // Local filtering.
2663
2921
  useEffect(function () {
2664
- if (formProps.filtered == "local") {
2922
+ if (props.filtered == "local") {
2665
2923
  if (options == null)
2666
2924
  return;
2667
2925
  setFilteredValues(options
@@ -2675,19 +2933,19 @@ var GridFormDropDown = function (props) {
2675
2933
  })
2676
2934
  .filter(function (r) { return r !== undefined; }));
2677
2935
  }
2678
- }, [formProps.filtered, filter, options]);
2679
- var researchOnFilterChange = debounce(useCallback(function () {
2936
+ }, [props.filtered, filter, options]);
2937
+ var researchOnFilterChange = dist(useCallback(function () {
2680
2938
  setOptions(null);
2681
2939
  }, []), 500);
2682
2940
  var previousFilter = useRef(filter);
2683
- // Reload filtering
2941
+ // Reload filtering.
2684
2942
  useEffect(function () {
2685
- if (previousFilter.current != filter && formProps.filtered == "reload") {
2943
+ if (previousFilter.current != filter && props.filtered == "reload") {
2686
2944
  previousFilter.current = filter;
2687
- formProps.optionsRequestCancel && formProps.optionsRequestCancel();
2945
+ props.optionsRequestCancel && props.optionsRequestCancel();
2688
2946
  researchOnFilterChange().then();
2689
2947
  }
2690
- }, [filter, formProps, props, researchOnFilterChange]);
2948
+ }, [filter, props, researchOnFilterChange]);
2691
2949
  var onFilterKeyDown = useCallback(function (e) { return __awaiter(void 0, void 0, void 0, function () {
2692
2950
  var activeOptions;
2693
2951
  return __generator(this, function (_a) {
@@ -2704,7 +2962,7 @@ var GridFormDropDown = function (props) {
2704
2962
  stopEditing();
2705
2963
  return [3 /*break*/, 5];
2706
2964
  case 2:
2707
- if (!formProps.onSelectFilter) return [3 /*break*/, 4];
2965
+ if (!props.onSelectFilter) return [3 /*break*/, 4];
2708
2966
  return [4 /*yield*/, selectFilterHandler(filter)];
2709
2967
  case 3:
2710
2968
  _a.sent();
@@ -2717,26 +2975,27 @@ var GridFormDropDown = function (props) {
2717
2975
  case 5: return [2 /*return*/];
2718
2976
  }
2719
2977
  });
2720
- }); }, [filteredValues, options, selectItemHandler, selectFilterHandler, stopEditing, filter, formProps]);
2721
- return popoverWrapper(jsxs(Fragment$1, { children: [formProps.filtered && (jsxs(Fragment$1, { children: [jsx(FocusableItem, __assign({ className: "filter-item" }, { children: function (_a) {
2978
+ }); }, [filteredValues, options, selectItemHandler, selectFilterHandler, stopEditing, filter, props]);
2979
+ var popoverWrapper = useGridPopoverHook({ className: props.className }).popoverWrapper;
2980
+ return popoverWrapper(jsxs(Fragment$1, { children: [props.filtered && (jsxs("div", __assign({ className: "GridFormDropDown-filter" }, { children: [jsx(FocusableItem, __assign({ className: "filter-item" }, { children: function (_a) {
2722
2981
  var _b;
2723
2982
  var ref = _a.ref;
2724
- return (jsx("div", __assign({ style: { display: "flex", width: "100%" } }, { children: jsx("input", { autoFocus: true, className: "free-text-input", style: { border: "0px" }, ref: ref, type: "text", placeholder: (_b = formProps.filterPlaceholder) !== null && _b !== void 0 ? _b : "Placeholder", "data-testid": "filteredMenu-free-text-input", defaultValue: filter, onChange: function (e) { return setFilter(e.target.value.toLowerCase()); }, onKeyDown: function (e) { return onFilterKeyDown(e); } }) })));
2725
- } })), jsx(MenuDivider, {}, "$$divider_filter")] })), jsx(ComponentLoadingWrapper, __assign({ loading: !options }, { children: jsxs(Fragment$1, { children: [options && options.length == (filteredValues === null || filteredValues === void 0 ? void 0 : filteredValues.length) && jsx(MenuItem, { children: "[Empty]" }), options === null || options === void 0 ? void 0 : options.map(function (item, index) {
2983
+ return (jsx("div", __assign({ style: { display: "flex", width: "100%" } }, { children: jsx("input", { autoFocus: true, className: "free-text-input", style: { border: "0px" }, ref: ref, type: "text", placeholder: (_b = props.filterPlaceholder) !== null && _b !== void 0 ? _b : "Placeholder", "data-testid": "filteredMenu-free-text-input", defaultValue: filter, onChange: function (e) { return setFilter(e.target.value.toLowerCase()); }, onKeyDown: function (e) { return onFilterKeyDown(e); } }) })));
2984
+ } })), jsx(MenuDivider, {}, "$$divider_filter")] }))), jsx(ComponentLoadingWrapper, __assign({ loading: !options, className: "GridFormDropDown-options" }, { children: jsxs(Fragment$1, { children: [options && options.length == (filteredValues === null || filteredValues === void 0 ? void 0 : filteredValues.length) && jsx(MenuItem, { children: "[Empty]" }), options === null || options === void 0 ? void 0 : options.map(function (item, index) {
2726
2985
  var _a;
2727
- return item.value === MenuSeparatorString ? (jsx(MenuDivider, {}, "$$divider_".concat(index))) : filteredValues.includes(item.value) ? null : (jsx(MenuItem, __assign({ disabled: !!item.disabled, title: item.disabled && typeof item.disabled !== "boolean" ? item.disabled : "", value: item.value, onClick: function () { return selectItemHandler(item.value); } }, { children: (_a = item.label) !== null && _a !== void 0 ? _a : (item.value == null ? "<".concat(item.value, ">") : "".concat(item.value)) }), "".concat(props.field, "-").concat(index)));
2986
+ return item.value === MenuSeparatorString ? (jsx(MenuDivider, {}, "$$divider_".concat(index))) : item.value === MenuHeaderString ? (jsx(MenuHeader, { children: item.label })) : filteredValues.includes(item.value) ? null : (jsx(MenuItem, __assign({ disabled: !!item.disabled, title: item.disabled && typeof item.disabled !== "boolean" ? item.disabled : "", value: item.value, onClick: function () { return selectItemHandler(item.value); } }, { children: (_a = item.label) !== null && _a !== void 0 ? _a : (item.value == null ? "<".concat(item.value, ">") : "".concat(item.value)) }), "".concat(props.field, "-").concat(index)));
2728
2987
  })] }) }))] }));
2729
2988
  };
2730
2989
 
2731
2990
  var GridFormMultiSelect = function (props) {
2732
- var formProps = props.formProps;
2991
+ var selectedRows = props.selectedRows;
2733
2992
  var _a = useState(""), filter = _a[0], setFilter = _a[1];
2734
2993
  var _b = useState([]), filteredValues = _b[0], setFilteredValues = _b[1];
2735
2994
  var optionsInitialising = useRef(false);
2736
2995
  var _c = useState(), options = _c[0], setOptions = _c[1];
2737
2996
  var subSelectedValues = useRef({});
2738
2997
  var _d = useState(function () {
2739
- return formProps.initialSelectedValues ? formProps.initialSelectedValues(props.selectedRows) : [];
2998
+ return props.initialSelectedValues ? props.initialSelectedValues(selectedRows) : [];
2740
2999
  }), selectedValues = _d[0], setSelectedValues = _d[1];
2741
3000
  var save = useCallback(function (selectedRows) { return __awaiter(void 0, void 0, void 0, function () {
2742
3001
  var values;
@@ -2744,28 +3003,27 @@ var GridFormMultiSelect = function (props) {
2744
3003
  switch (_a.label) {
2745
3004
  case 0:
2746
3005
  values = fromPairs(selectedValues.map(function (value) { var _a; return [value, (_a = subSelectedValues.current[value]) !== null && _a !== void 0 ? _a : true]; }));
2747
- if (!formProps.onSave) return [3 /*break*/, 2];
2748
- return [4 /*yield*/, formProps.onSave({ selectedRows: selectedRows, values: values })];
3006
+ if (!props.onSave) return [3 /*break*/, 2];
3007
+ return [4 /*yield*/, props.onSave({ selectedRows: selectedRows, values: values })];
2749
3008
  case 1: return [2 /*return*/, _a.sent()];
2750
3009
  case 2: return [2 /*return*/, true];
2751
3010
  }
2752
3011
  });
2753
- }); }, [formProps, selectedValues]);
2754
- var _e = useGridPopoverHook(props, save), popoverWrapper = _e.popoverWrapper, triggerSave = _e.triggerSave;
3012
+ }); }, [props, selectedValues]);
2755
3013
  // Load up options list if it's async function
2756
3014
  useEffect(function () {
2757
3015
  var _a;
2758
3016
  if (options || optionsInitialising.current)
2759
3017
  return;
2760
3018
  optionsInitialising.current = true;
2761
- var optionsConf = (_a = formProps.options) !== null && _a !== void 0 ? _a : [];
3019
+ var optionsConf = (_a = props.options) !== null && _a !== void 0 ? _a : [];
2762
3020
  (function () { return __awaiter(void 0, void 0, void 0, function () {
2763
3021
  var optionsList;
2764
3022
  return __generator(this, function (_a) {
2765
3023
  switch (_a.label) {
2766
3024
  case 0:
2767
3025
  if (!(typeof optionsConf == "function")) return [3 /*break*/, 2];
2768
- return [4 /*yield*/, optionsConf(props.selectedRows)];
3026
+ return [4 /*yield*/, optionsConf(selectedRows)];
2769
3027
  case 1:
2770
3028
  optionsConf = _a.sent();
2771
3029
  _a.label = 2;
@@ -2776,7 +3034,7 @@ var GridFormMultiSelect = function (props) {
2776
3034
  }
2777
3035
  return item;
2778
3036
  });
2779
- if (formProps.filtered) {
3037
+ if (props.filtered) {
2780
3038
  // This is needed otherwise when filter input is rendered and sets autofocus
2781
3039
  // the mouse up of the double click edit triggers the cell to cancel editing
2782
3040
  delay(function () { return setOptions(optionsList); }, 100);
@@ -2789,9 +3047,9 @@ var GridFormMultiSelect = function (props) {
2789
3047
  }
2790
3048
  });
2791
3049
  }); })();
2792
- }, [formProps.filtered, formProps.options, options, props.selectedRows]);
3050
+ }, [props.filtered, props.options, options, selectedRows]);
2793
3051
  useEffect(function () {
2794
- if (!formProps.filtered || options == null)
3052
+ if (!props.filtered || options == null)
2795
3053
  return;
2796
3054
  setFilteredValues(options
2797
3055
  .map(function (option) {
@@ -2803,64 +3061,62 @@ var GridFormMultiSelect = function (props) {
2803
3061
  return str.toLowerCase().indexOf(filter.trim()) === -1 ? option.value : undefined;
2804
3062
  })
2805
3063
  .filter(function (r) { return r !== undefined; }));
2806
- }, [formProps.filtered, filter, options]);
2807
- return popoverWrapper(jsx(ComponentLoadingWrapper, __assign({ loading: !options }, { children: jsxs("div", __assign({ className: "Grid-popoverContainerList" }, { children: [options && formProps.filtered && (jsxs(Fragment$1, { children: [jsx(FocusableItem, __assign({ className: "filter-item" }, { children: function (_a) {
3064
+ }, [props.filtered, filter, options]);
3065
+ var _e = useGridPopoverHook({ className: props.className, save: save }), popoverWrapper = _e.popoverWrapper, triggerSave = _e.triggerSave;
3066
+ return popoverWrapper(jsx(ComponentLoadingWrapper, __assign({ loading: !options, className: "GridFormMultiSelect-container" }, { children: jsxs(Fragment$1, { children: [options && props.filtered && (jsxs(Fragment$1, { children: [jsx(FocusableItem, __assign({ className: "filter-item" }, { children: function (_a) {
2808
3067
  var _b;
2809
3068
  var ref = _a.ref;
2810
- return (jsx("div", __assign({ style: { display: "flex", width: "100%" } }, { children: jsx("input", { autoFocus: true, className: "free-text-input", style: { border: "0px" }, ref: ref, type: "text", placeholder: (_b = formProps.filterPlaceholder) !== null && _b !== void 0 ? _b : "Placeholder", "data-testid": "filteredMenu-free-text-input", defaultValue: "", onChange: function (e) { return setFilter(e.target.value.toLowerCase()); } }) })));
2811
- } }), "filter"), jsx(MenuDivider, {}, "$$divider_filter")] })), options === null || options === void 0 ? void 0 : options.map(function (item, index) {
2812
- var _a;
2813
- return item.value === MenuSeparatorString ? (jsx(MenuDivider, {}, "$$divider_".concat(index))) : filteredValues.includes(item.value) ? null : (jsxs(Fragment, { children: [jsx(MenuItem, __assign({ onClick: function (e) {
2814
- e.keepOpen = true;
2815
- if (selectedValues.includes(item.value)) {
2816
- setSelectedValues(selectedValues.filter(function (value) { return value != item.value; }));
2817
- }
2818
- else {
2819
- setSelectedValues(__spreadArray(__spreadArray([], selectedValues, true), [item.value], false));
2820
- }
2821
- }, onKeyDown: function (e) { return __awaiter(void 0, void 0, void 0, function () {
2822
- return __generator(this, function (_a) {
2823
- if (e.key === "Enter")
2824
- triggerSave().then();
2825
- else if (e.key === " ") {
2826
- if (selectedValues.includes(item.value)) {
2827
- setSelectedValues(selectedValues.filter(function (value) { return value != item.value; }));
2828
- }
2829
- else {
2830
- setSelectedValues(__spreadArray(__spreadArray([], selectedValues, true), [item.value], false));
2831
- }
2832
- e.preventDefault();
2833
- e.stopPropagation();
3069
+ return (jsx("div", __assign({ style: { display: "flex", width: "100%" }, className: "GridFormMultiSelect-filter" }, { children: jsx("input", { autoFocus: true, className: "free-text-input", style: { border: "0px" }, ref: ref, type: "text", placeholder: (_b = props.filterPlaceholder) !== null && _b !== void 0 ? _b : "Placeholder", "data-testid": "filteredMenu-free-text-input", defaultValue: "", onChange: function (e) { return setFilter(e.target.value.toLowerCase()); } }) })));
3070
+ } }), "filter"), jsx(MenuDivider, {}, "$$divider_filter")] })), jsx("div", __assign({ className: "GridFormMultiSelect-options" }, { children: options === null || options === void 0 ? void 0 : options.map(function (item, index) {
3071
+ var _a;
3072
+ return item.value === MenuSeparatorString ? (jsx(MenuDivider, {}, "$$divider_".concat(index))) : filteredValues.includes(item.value) ? null : (jsxs("div", { children: [jsx(MenuItem, __assign({ onClick: function (e) {
3073
+ e.keepOpen = true;
3074
+ if (selectedValues.includes(item.value)) {
3075
+ setSelectedValues(selectedValues.filter(function (value) { return value != item.value; }));
2834
3076
  }
2835
- return [2 /*return*/];
2836
- });
2837
- }); } }, { children: jsx(LuiCheckboxInput, { isChecked: selectedValues.includes(item.value), value: "".concat(item.value), label: (_a = item.label) !== null && _a !== void 0 ? _a : (item.value == null ? "<".concat(item.value, ">") : "".concat(item.value)), inputProps: {
2838
- onClick: function (e) {
2839
- e.preventDefault();
2840
- e.stopPropagation();
2841
- return false;
3077
+ else {
3078
+ setSelectedValues(__spreadArray(__spreadArray([], selectedValues, true), [item.value], false));
2842
3079
  }
2843
- }, onChange: function () {
2844
- /*Do nothing, change handled by menuItem*/
2845
- } }) }), "".concat(index)), selectedValues.includes(item.value) && item.subComponent && (jsx(FocusableItem, __assign({ className: "LuiDeprecatedForms" }, { children: function (ref) {
2846
- return item.subComponent &&
2847
- item.subComponent({
2848
- setValue: function (value) {
2849
- subSelectedValues.current[item.value] = value;
3080
+ }, onKeyDown: function (e) { return __awaiter(void 0, void 0, void 0, function () {
3081
+ return __generator(this, function (_a) {
3082
+ if (e.key === "Enter")
3083
+ triggerSave().then();
3084
+ else if (e.key === " ") {
3085
+ if (selectedValues.includes(item.value)) {
3086
+ setSelectedValues(selectedValues.filter(function (value) { return value != item.value; }));
3087
+ }
3088
+ else {
3089
+ setSelectedValues(__spreadArray(__spreadArray([], selectedValues, true), [item.value], false));
3090
+ }
3091
+ e.preventDefault();
3092
+ e.stopPropagation();
3093
+ }
3094
+ return [2 /*return*/];
3095
+ });
3096
+ }); } }, { children: jsx(LuiCheckboxInput, { isChecked: selectedValues.includes(item.value), value: "".concat(item.value), label: (_a = item.label) !== null && _a !== void 0 ? _a : (item.value == null ? "<".concat(item.value, ">") : "".concat(item.value)), inputProps: {
3097
+ onClick: function (e) {
3098
+ e.preventDefault();
3099
+ e.stopPropagation();
3100
+ return false;
2850
3101
  }
2851
- }, ref);
2852
- } }), "".concat(item.value, "_subcomponent")))] }, "".concat(index)));
2853
- })] })) })));
3102
+ }, onChange: function () {
3103
+ /*Do nothing, change handled by menuItem*/
3104
+ } }) }), "".concat(index)), selectedValues.includes(item.value) && item.subComponent && (jsx(FocusableItem, __assign({ className: "LuiDeprecatedForms" }, { children: function (ref) {
3105
+ return item.subComponent &&
3106
+ item.subComponent({
3107
+ setValue: function (value) {
3108
+ subSelectedValues.current[item.value] = value;
3109
+ }
3110
+ }, ref);
3111
+ } }), "".concat(item.value, "_subcomponent")))] }, "".concat(index)));
3112
+ }) }))] }) })));
2854
3113
  };
2855
3114
 
2856
- var GridPopoutEditMultiSelect = function (colDef) {
2857
- var _a;
2858
- return GridCell(__assign(__assign({ initialWidth: 65, maxWidth: 150, cellClass: ((_a = colDef.cellEditor) === null || _a === void 0 ? void 0 : _a.multiEdit) ? GenericMultiEditCellClass : undefined }, colDef), ((colDef === null || colDef === void 0 ? void 0 : colDef.cellEditorParams) && {
2859
- cellEditorParams: __assign(__assign({}, colDef.cellEditorParams), { form: GridFormMultiSelect })
2860
- })));
3115
+ var GridPopoutEditMultiSelect = function (colDef, props) {
3116
+ return GridCell(__assign({ initialWidth: 65, maxWidth: 150, cellClass: props.multiEdit ? GenericMultiEditCellClass : undefined }, colDef), __assign(__assign({ editor: GridFormMultiSelect }, props), { editorParams: __assign({ className: "GridMultiSelect-containerMedium" }, props.editorParams) }));
2861
3117
  };
2862
3118
 
2863
- var css_248z$2 = "/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.GridPopoutMenu-burger {\n cursor: pointer;\n}\n.GridPopoutMenu-burger svg {\n fill: #007198;\n}\n\n.GridPopoutMenu-burgerDisabled svg {\n fill: #989189;\n}";
3119
+ var css_248z$2 = ".GridPopoutMenu-burger{cursor:pointer}.GridPopoutMenu-burger svg{fill:#007198}.GridPopoutMenu-burgerDisabled svg{fill:#989189}";
2864
3120
  styleInject(css_248z$2);
2865
3121
 
2866
3122
  /** Menu configuration types **/
@@ -2869,8 +3125,8 @@ var PopoutMenuSeparator = Object.freeze({ __isMenuSeparator__: true });
2869
3125
  * NOTE: If the popout menu doesn't appear on single click when also selecting row it's because
2870
3126
  * you need a useMemo around your columnDefs
2871
3127
  */
2872
- var GridFormPopoutMenu = function (props) {
2873
- var formProps = props.formProps;
3128
+ var GridFormPopoutMenu = function (_props) {
3129
+ var props = _props;
2874
3130
  var updatingCells = useContext(GridContext).updatingCells;
2875
3131
  var optionsInitialising = useRef(false);
2876
3132
  var _a = useState(), options = _a[0], setOptions = _a[1];
@@ -2880,7 +3136,7 @@ var GridFormPopoutMenu = function (props) {
2880
3136
  if (options || optionsInitialising.current)
2881
3137
  return;
2882
3138
  optionsInitialising.current = true;
2883
- var optionsConf = (_a = formProps.options) !== null && _a !== void 0 ? _a : [];
3139
+ var optionsConf = (_a = props.options) !== null && _a !== void 0 ? _a : [];
2884
3140
  (function () { return __awaiter(void 0, void 0, void 0, function () {
2885
3141
  var _a;
2886
3142
  return __generator(this, function (_b) {
@@ -2901,7 +3157,7 @@ var GridFormPopoutMenu = function (props) {
2901
3157
  }
2902
3158
  });
2903
3159
  }); })();
2904
- }, [options, formProps.options, props.selectedRows]);
3160
+ }, [options, props.options, props.selectedRows]);
2905
3161
  var actionClick = useCallback(function (menuOption) { return __awaiter(void 0, void 0, void 0, function () {
2906
3162
  return __generator(this, function (_a) {
2907
3163
  switch (_a.label) {
@@ -2929,23 +3185,21 @@ var GridFormPopoutMenu = function (props) {
2929
3185
  var filteredOptions = options === null || options === void 0 ? void 0 : options.filter(function (menuOption) {
2930
3186
  return menuOption.label === PopoutMenuSeparator || selectedRowCount === 1 || menuOption.supportsMultiEdit;
2931
3187
  });
2932
- var popoverWrapper = useGridPopoverHook(props).popoverWrapper;
2933
- return popoverWrapper(jsx(ComponentLoadingWrapper, __assign({ loading: !filteredOptions }, { children: jsx("div", __assign({ className: "Grid-popoverContainerList" }, { children: options === null || options === void 0 ? void 0 : options.map(function (item, index) {
3188
+ var popoverWrapper = useGridPopoverHook({ className: props.className }).popoverWrapper;
3189
+ return popoverWrapper(jsx(ComponentLoadingWrapper, __assign({ loading: !filteredOptions, className: "GridFormPopupMenu" }, { children: jsx(Fragment$1, { children: options === null || options === void 0 ? void 0 : options.map(function (item, index) {
2934
3190
  return item.label === PopoutMenuSeparator ? (jsx(MenuDivider, {}, "$$divider_".concat(index))) : (!item.hidden && (jsx(MenuItem, __assign({ onClick: function () { return actionClick(item); }, disabled: !!item.disabled || !(filteredOptions === null || filteredOptions === void 0 ? void 0 : filteredOptions.includes(item)), title: item.disabled && typeof item.disabled !== "boolean" ? item.disabled : "" }, { children: item.label }), "".concat(item.label))));
2935
- }) })) })));
3191
+ }) }) })));
2936
3192
  };
2937
3193
 
2938
3194
  /**
2939
3195
  * Popout burger menu
2940
3196
  */
2941
- var GridPopoverMenu = function (colDef) {
3197
+ var GridPopoverMenu = function (colDef, props) {
2942
3198
  var _a;
2943
- return GridCell(__assign(__assign(__assign({ maxWidth: 64, editable: colDef.editable != null ? colDef.editable : true, cellRenderer: GridRenderPopoutMenuCell, cellClass: ((_a = colDef === null || colDef === void 0 ? void 0 : colDef.cellEditorParams) === null || _a === void 0 ? void 0 : _a.multiEdit) !== false ? GenericMultiEditCellClass : undefined }, colDef), { cellRendererParams: {
3199
+ return GridCell(__assign(__assign({ maxWidth: 64, editable: colDef.editable != null ? colDef.editable : true, cellRenderer: GridRenderPopoutMenuCell, cellClass: ((_a = colDef === null || colDef === void 0 ? void 0 : colDef.cellEditorParams) === null || _a === void 0 ? void 0 : _a.multiEdit) !== false ? GenericMultiEditCellClass : undefined }, colDef), { cellRendererParams: {
2944
3200
  // Menus open on single click, this parameter is picked up in Grid.tsx
2945
3201
  singleClickEdit: true
2946
- } }), ((colDef === null || colDef === void 0 ? void 0 : colDef.cellEditorParams) && {
2947
- cellEditorParams: __assign(__assign({ multiEdit: true }, colDef.cellEditorParams), { form: GridFormPopoutMenu })
2948
- })));
3202
+ } }), __assign({ editor: GridFormPopoutMenu }, props));
2949
3203
  };
2950
3204
 
2951
3205
  var bearingValueFormatter = function (params) {
@@ -3026,19 +3280,19 @@ var convertDDToDMS = function (dd, showPositiveSymbol, addTrailingZeros) {
3026
3280
  return dmsString;
3027
3281
  };
3028
3282
 
3029
- var css_248z$1 = ".GridFormEditBearing-input {\n width: 320px;\n}";
3283
+ var css_248z$1 = ".GridFormEditBearing-input{width:320px}";
3030
3284
  styleInject(css_248z$1);
3031
3285
 
3032
- var css_248z = ".LuiTextInput {\n margin-bottom: 0;\n}\n\n.LuiTextInput-formatted {\n position: absolute;\n right: 14px;\n top: 0;\n line-height: 48px;\n color: #beb9b4;\n}";
3286
+ var css_248z = ".LuiTextInput{margin-bottom:0}.LuiTextInput-formatted{color:#beb9b4;line-height:48px;position:absolute;right:14px;top:0}";
3033
3287
  styleInject(css_248z);
3034
3288
 
3035
3289
  var TextInputFormatted = function (props) {
3036
3290
  return (jsxs("div", __assign({ className: clsx("LuiTextInput Grid-popoverContainer", props.error && "hasError", props.warning && "hasWarning", props.className) }, { children: [jsxs("span", __assign({ className: "LuiTextInput-inputWrapper" }, { children: [jsx("input", __assign({ type: "text", className: "LuiTextInput-input", min: "0", value: props.value, onChange: props.onChange }, props.inputProps)), jsx("span", __assign({ className: "LuiTextInput-formatted" }, { children: props.formatted }))] })), props.error && (jsxs("span", __assign({ className: "LuiTextInput-error" }, { children: [jsx(LuiIcon, { alt: "error", name: "ic_error", className: "LuiTextInput-error-icon", size: "sm", status: "error" }), props.error] }))), props.warning && (jsxs("span", __assign({ className: "LuiTextInput-warning" }, { children: [jsx(LuiIcon, { alt: "warning", name: "ic_warning", className: "LuiTextInput-warning-icon", size: "sm", status: "warning" }), props.warning] })))] })));
3037
3291
  };
3038
3292
 
3039
- var GridFormEditBearing = function (props) {
3293
+ var GridFormEditBearing = function (_props) {
3040
3294
  var _a;
3041
- var formProps = props.formProps;
3295
+ var props = _props;
3042
3296
  var _b = useState("".concat((_a = props.value) !== null && _a !== void 0 ? _a : "")), value = _b[0], setValue = _b[1];
3043
3297
  var save = useCallback(function (selectedRows) { return __awaiter(void 0, void 0, void 0, function () {
3044
3298
  var parsedValue, field_1;
@@ -3052,8 +3306,8 @@ var GridFormEditBearing = function (props) {
3052
3306
  if (parsedValue === props.value) {
3053
3307
  return [2 /*return*/, true];
3054
3308
  }
3055
- if (!formProps.onSave) return [3 /*break*/, 2];
3056
- return [4 /*yield*/, formProps.onSave(selectedRows, parsedValue)];
3309
+ if (!props.onSave) return [3 /*break*/, 2];
3310
+ return [4 /*yield*/, props.onSave(selectedRows, parsedValue)];
3057
3311
  case 1: return [2 /*return*/, _a.sent()];
3058
3312
  case 2:
3059
3313
  field_1 = props.field;
@@ -3067,42 +3321,42 @@ var GridFormEditBearing = function (props) {
3067
3321
  case 3: return [2 /*return*/, true];
3068
3322
  }
3069
3323
  });
3070
- }); }, [formProps, props.field, props.value, value]);
3071
- var _c = useGridPopoverHook(props, save), popoverWrapper = _c.popoverWrapper, triggerSave = _c.triggerSave;
3324
+ }); }, [props, value]);
3325
+ var _c = useGridPopoverHook({ className: props.className, save: save }), triggerSave = _c.triggerSave, popoverWrapper = _c.popoverWrapper;
3072
3326
  return popoverWrapper(jsx("div", __assign({ className: "GridFormEditBearing-input Grid-popoverContainer" }, { children: jsx(TextInputFormatted, { value: value !== null && value !== void 0 ? value : "", onChange: function (e) {
3073
3327
  setValue(e.target.value.trim());
3074
3328
  }, inputProps: {
3075
3329
  autoFocus: true,
3076
- placeholder: formProps.placeHolder,
3330
+ placeholder: props.placeHolder,
3077
3331
  disabled: false,
3078
3332
  maxLength: 16,
3079
3333
  onKeyDown: function (e) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
3080
3334
  return [2 /*return*/, e.key === "Enter" && triggerSave().then()];
3081
3335
  }); }); }
3082
- }, formatted: bearingStringValidator(value, formProps.range) ? "?" : convertDDToDMS(bearingNumberParser(value)), error: bearingStringValidator(value, formProps.range) }) })));
3336
+ }, formatted: bearingStringValidator(value, props.range) ? "?" : convertDDToDMS(bearingNumberParser(value)), error: bearingStringValidator(value, props.range) }) })));
3083
3337
  };
3084
3338
 
3085
- var GridPopoverEditBearingLike = function (colDef) {
3086
- var _a;
3087
- return GridCell(__assign(__assign({ initialWidth: 65, maxWidth: 150, valueFormatter: bearingValueFormatter, cellClass: ((_a = colDef.cellEditorParams) === null || _a === void 0 ? void 0 : _a.multiEdit) ? GenericMultiEditCellClass : undefined }, colDef), ((colDef === null || colDef === void 0 ? void 0 : colDef.cellEditorParams) && {
3088
- cellEditorParams: __assign(__assign({}, colDef.cellEditorParams), { form: GridFormEditBearing })
3089
- })));
3339
+ var GridPopoverEditBearingLike = function (colDef, props) {
3340
+ return GridCell(__assign({ initialWidth: 65, maxWidth: 150, valueFormatter: bearingValueFormatter, cellClass: props.multiEdit ? GenericMultiEditCellClass : undefined }, colDef), __assign({ editor: GridFormEditBearing }, props));
3090
3341
  };
3091
- var GridPopoverEditBearing = function (colDef) {
3092
- var init = GridPopoverEditBearingLike(colDef);
3093
- return __assign(__assign({}, init), { valueFormatter: bearingValueFormatter, cellEditorParams: __assign({ range: function (value) {
3342
+ var GridPopoverEditBearing = function (colDef, props) {
3343
+ return GridPopoverEditBearingLike(__assign({ valueFormatter: bearingValueFormatter }, colDef), {
3344
+ multiEdit: !!props.multiEdit,
3345
+ editorParams: __assign({ placeHolder: "Enter bearing correction", range: function (value) {
3094
3346
  if (value === null)
3095
- return "Bearing is required";
3347
+ return "Bearing correction is required";
3096
3348
  if (value >= 360)
3097
- return "Bearing must be less than 360 degrees";
3349
+ return "Bearing correction must be less than 360 degrees";
3098
3350
  if (value < 0)
3099
- return "Bearing must not be negative";
3351
+ return "Bearing correction must not be negative";
3100
3352
  return null;
3101
- } }, init.cellEditorParams) });
3353
+ } }, props.editorParams)
3354
+ });
3102
3355
  };
3103
- var GridPopoverEditBearingCorrection = function (colDef) {
3104
- var init = GridPopoverEditBearingLike(colDef);
3105
- return __assign(__assign({}, init), { valueFormatter: bearingCorrectionValueFormatter, cellEditorParams: __assign({ range: function (value) {
3356
+ var GridPopoverEditBearingCorrection = function (colDef, props) {
3357
+ return GridPopoverEditBearingLike(__assign({ valueFormatter: bearingCorrectionValueFormatter }, colDef), {
3358
+ multiEdit: !!props.multiEdit,
3359
+ editorParams: __assign({ placeHolder: "Enter bearing correction", range: function (value) {
3106
3360
  if (value === null)
3107
3361
  return "Bearing is required";
3108
3362
  if (value >= 360)
@@ -3110,20 +3364,20 @@ var GridPopoverEditBearingCorrection = function (colDef) {
3110
3364
  if (value <= -180)
3111
3365
  return "Bearing must be greater then -180 degrees";
3112
3366
  return null;
3113
- } }, init.cellEditorParams) });
3367
+ } }, props.editorParams)
3368
+ });
3114
3369
  };
3115
3370
 
3116
- var GridPopoverEditDropDown = function (colDef) {
3117
- var _a;
3118
- return GridCell(__assign(__assign({ initialWidth: 65, maxWidth: 150, cellClass: ((_a = colDef.cellEditor) === null || _a === void 0 ? void 0 : _a.multiEdit) ? GenericMultiEditCellClass : undefined }, colDef), ((colDef === null || colDef === void 0 ? void 0 : colDef.cellEditorParams) && {
3119
- cellEditorParams: __assign(__assign({}, colDef.cellEditorParams), { form: GridFormDropDown })
3120
- })));
3371
+ var GridPopoverEditDropDown = function (colDef, props) {
3372
+ return GridCell(__assign({ initialWidth: 65, maxWidth: 150, cellClass: props.multiEdit ? GenericMultiEditCellClass : undefined }, colDef), __assign(__assign({ editor: GridFormDropDown }, props), { editorParams: __assign({
3373
+ // Defaults to medium size container
3374
+ className: "GridPopoverEditDropDown-containerMedium" }, props.editorParams) }));
3121
3375
  };
3122
3376
 
3123
- var GridFormMessage = function (props) {
3124
- var formProps = props.formProps;
3377
+ var GridFormMessage = function (_props) {
3378
+ var props = _props;
3125
3379
  var _a = useState(null), message = _a[0], setMessage = _a[1];
3126
- var popoverWrapper = useGridPopoverHook(props).popoverWrapper;
3380
+ var popoverWrapper = useGridPopoverHook({ className: props.className }).popoverWrapper;
3127
3381
  useEffect(function () {
3128
3382
  (function () { return __awaiter(void 0, void 0, void 0, function () {
3129
3383
  var _a;
@@ -3131,26 +3385,86 @@ var GridFormMessage = function (props) {
3131
3385
  switch (_b.label) {
3132
3386
  case 0:
3133
3387
  _a = setMessage;
3134
- return [4 /*yield*/, formProps.message(props.selectedRows, props.cellEditorParams)];
3388
+ return [4 /*yield*/, props.message(props)];
3135
3389
  case 1:
3136
3390
  _a.apply(void 0, [_b.sent()]);
3137
3391
  return [2 /*return*/];
3138
3392
  }
3139
3393
  });
3140
3394
  }); })().then();
3141
- }, [formProps, props.selectedRows, props]);
3142
- return popoverWrapper(jsx(ComponentLoadingWrapper, __assign({ loading: message === null }, { children: jsx("div", __assign({ style: { maxWidth: 400 }, className: "Grid-popoverContainer" }, { children: message })) })));
3395
+ }, [props]);
3396
+ return popoverWrapper(jsx(ComponentLoadingWrapper, __assign({ loading: message === null, className: clsx("GridFormMessage-container", props.className) }, { children: jsx(Fragment$1, { children: message }) })));
3143
3397
  };
3144
3398
 
3145
- var GridPopoverMessage = function (colDef) {
3146
- var _a;
3147
- return GridCell(__assign(__assign(__assign({ maxWidth: 140 }, colDef), { cellRendererParams: (_a = colDef.cellRendererParams) !== null && _a !== void 0 ? _a : {
3148
- singleClickEdit: true
3149
- } }), ((colDef === null || colDef === void 0 ? void 0 : colDef.cellEditorParams) && {
3150
- cellEditorParams: __assign(__assign({}, colDef.cellEditorParams), { form: GridFormMessage })
3151
- })));
3399
+ var GridPopoverMessage = function (colDef, props) {
3400
+ return GridCell(__assign(__assign({ maxWidth: 140 }, colDef), { cellRendererParams: __assign({ singleClickEdit: true }, colDef.cellRendererParams) }), __assign({ editor: GridFormMessage }, props));
3152
3401
  };
3153
3402
 
3403
+ // Unique ID creation requires a high quality random # generator. In the browser we therefore
3404
+ // require the crypto API and do not support built-in fallback to lower quality random number
3405
+ // generators (like Math.random()).
3406
+ let getRandomValues;
3407
+ const rnds8 = new Uint8Array(16);
3408
+ function rng() {
3409
+ // lazy load so that environments that need to polyfill have a chance to do so
3410
+ if (!getRandomValues) {
3411
+ // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation.
3412
+ getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);
3413
+
3414
+ if (!getRandomValues) {
3415
+ throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
3416
+ }
3417
+ }
3418
+
3419
+ return getRandomValues(rnds8);
3420
+ }
3421
+
3422
+ /**
3423
+ * Convert array of 16 byte values to UUID string format of the form:
3424
+ * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
3425
+ */
3426
+
3427
+ const byteToHex = [];
3428
+
3429
+ for (let i = 0; i < 256; ++i) {
3430
+ byteToHex.push((i + 0x100).toString(16).slice(1));
3431
+ }
3432
+
3433
+ function unsafeStringify(arr, offset = 0) {
3434
+ // Note: Be careful editing this code! It's been tuned for performance
3435
+ // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
3436
+ return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();
3437
+ }
3438
+
3439
+ const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
3440
+ var native = {
3441
+ randomUUID
3442
+ };
3443
+
3444
+ function v4(options, buf, offset) {
3445
+ if (native.randomUUID && !buf && !options) {
3446
+ return native.randomUUID();
3447
+ }
3448
+
3449
+ options = options || {};
3450
+ const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
3451
+
3452
+ rnds[6] = rnds[6] & 0x0f | 0x40;
3453
+ rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
3454
+
3455
+ if (buf) {
3456
+ offset = offset || 0;
3457
+
3458
+ for (let i = 0; i < 16; ++i) {
3459
+ buf[offset + i] = rnds[i];
3460
+ }
3461
+
3462
+ return buf;
3463
+ }
3464
+
3465
+ return unsafeStringify(rnds);
3466
+ }
3467
+
3154
3468
  var useGenerateOrDefaultId = function (idFromProps) {
3155
3469
  var id = useState(idFromProps ? idFromProps : v4())[0];
3156
3470
  return id;
@@ -3161,22 +3475,22 @@ var TextAreaInput = function (props) {
3161
3475
  return (jsxs("div", __assign({ className: clsx("LuiTextAreaInput Grid-popoverContainer", ((_b = props.inputProps) === null || _b === void 0 ? void 0 : _b.disabled) ? "isDisabled" : "", (props === null || props === void 0 ? void 0 : props.error) ? "hasError" : "") }, { children: [jsxs("label", __assign({ htmlFor: id }, { children: [props.mandatory && jsx("span", __assign({ className: "LuiTextAreaInput-mandatory" }, { children: "*" })), props.label && jsx("span", __assign({ className: "LuiTextAreaInput-label" }, { children: props.label })), jsxs("div", __assign({ className: "LuiTextAreaInput-wrapper" }, { children: [" ", jsx("textarea", __assign({ id: id, value: props.value, onChange: props.onChange, rows: 5 }, props.inputProps))] }))] })), props.error && (jsxs("span", __assign({ className: "LuiTextAreaInput-error" }, { children: [jsx(LuiIcon, { alt: "error", name: "ic_error", className: "LuiTextAreaInput-error-icon", size: "sm", status: "error" }), props.error] })))] })));
3162
3476
  };
3163
3477
 
3164
- var GridFormTextArea = function (props) {
3478
+ var GridFormTextArea = function (_props) {
3165
3479
  var _a, _b;
3166
- var formProps = props.formProps;
3480
+ var props = _props;
3167
3481
  var _c = useState((_a = props.value) !== null && _a !== void 0 ? _a : ""), value = _c[0], setValue = _c[1];
3168
3482
  var invalid = useCallback(function () {
3169
- if (formProps.required && value.length == 0) {
3483
+ if (props.required && value.length == 0) {
3170
3484
  return "Some text is required";
3171
3485
  }
3172
- if (formProps.maxlength && value.length > formProps.maxlength) {
3173
- return "Text must be no longer than ".concat(formProps.maxlength, " characters");
3486
+ if (props.maxlength && value.length > props.maxlength) {
3487
+ return "Text must be no longer than ".concat(props.maxlength, " characters");
3174
3488
  }
3175
- if (formProps.validate) {
3176
- return formProps.validate(value);
3489
+ if (props.validate) {
3490
+ return props.validate(value);
3177
3491
  }
3178
3492
  return null;
3179
- }, [formProps, value]);
3493
+ }, [props, value]);
3180
3494
  var save = useCallback(function (selectedRows) { return __awaiter(void 0, void 0, void 0, function () {
3181
3495
  var field;
3182
3496
  return __generator(this, function (_a) {
@@ -3186,8 +3500,8 @@ var GridFormTextArea = function (props) {
3186
3500
  return [2 /*return*/, false];
3187
3501
  if (props.value === (value !== null && value !== void 0 ? value : ""))
3188
3502
  return [2 /*return*/, true];
3189
- if (!formProps.onSave) return [3 /*break*/, 2];
3190
- return [4 /*yield*/, formProps.onSave(selectedRows, value)];
3503
+ if (!props.onSave) return [3 /*break*/, 2];
3504
+ return [4 /*yield*/, props.onSave(selectedRows, value)];
3191
3505
  case 1: return [2 /*return*/, _a.sent()];
3192
3506
  case 2:
3193
3507
  field = props.field;
@@ -3199,35 +3513,33 @@ var GridFormTextArea = function (props) {
3199
3513
  return [2 /*return*/, true];
3200
3514
  }
3201
3515
  });
3202
- }); }, [formProps, invalid, props.field, props.value, value]);
3203
- var popoverWrapper = useGridPopoverHook(props, save).popoverWrapper;
3204
- return popoverWrapper(jsx("div", __assign({ style: { display: "flex", flexDirection: "row", width: (_b = formProps.width) !== null && _b !== void 0 ? _b : 240 }, className: "FormTest" }, { children: jsx(TextAreaInput, { value: value, onChange: function (e) { return setValue(e.target.value); }, error: invalid(), inputProps: { placeholder: formProps.placeholder } }) })));
3516
+ }); }, [props, invalid, value]);
3517
+ var popoverWrapper = useGridPopoverHook({ className: props.className, save: save }).popoverWrapper;
3518
+ return popoverWrapper(jsx("div", __assign({ style: { display: "flex", flexDirection: "row", width: (_b = props.width) !== null && _b !== void 0 ? _b : 240 } }, { children: jsx(TextAreaInput, { value: value, onChange: function (e) { return setValue(e.target.value); }, error: invalid(), inputProps: { placeholder: props.placeholder } }) })));
3205
3519
  };
3206
3520
 
3207
- var GridPopoverTextArea = function (colDef) {
3208
- return GridCell(__assign(__assign({ maxWidth: 260 }, colDef), ((colDef === null || colDef === void 0 ? void 0 : colDef.cellEditorParams) && {
3209
- cellEditorParams: __assign(__assign({ width: 260 }, colDef.cellEditorParams), { form: GridFormTextArea })
3210
- })));
3521
+ var GridPopoverTextArea = function (colDef, params) {
3522
+ return GridCell(__assign({ maxWidth: 260 }, colDef), __assign({ editor: GridFormTextArea }, params));
3211
3523
  };
3212
3524
 
3213
- var GridFormTextInput = function (props) {
3525
+ var GridFormTextInput = function (_props) {
3214
3526
  var _a;
3215
- var formProps = props.formProps;
3527
+ var props = _props;
3216
3528
  var initValue = props.value == null ? "" : "".concat(props.value);
3217
3529
  var _b = useState(initValue), value = _b[0], setValue = _b[1];
3218
3530
  var invalid = useCallback(function () {
3219
3531
  var trimmedValue = value.trim();
3220
- if (formProps.required && trimmedValue.length == 0) {
3532
+ if (props.required && trimmedValue.length == 0) {
3221
3533
  return "Some text is required";
3222
3534
  }
3223
- if (formProps.maxlength && trimmedValue.length > formProps.maxlength) {
3224
- return "Text must be no longer than ".concat(formProps.maxlength, " characters");
3535
+ if (props.maxlength && trimmedValue.length > props.maxlength) {
3536
+ return "Text must be no longer than ".concat(props.maxlength, " characters");
3225
3537
  }
3226
- if (formProps.validate) {
3227
- return formProps.validate(trimmedValue, props.data);
3538
+ if (props.validate) {
3539
+ return props.validate(trimmedValue, props.data);
3228
3540
  }
3229
3541
  return null;
3230
- }, [formProps, value]);
3542
+ }, [props, value]);
3231
3543
  var save = useCallback(function (selectedRows) { return __awaiter(void 0, void 0, void 0, function () {
3232
3544
  var trimmedValue, field;
3233
3545
  return __generator(this, function (_a) {
@@ -3238,8 +3550,8 @@ var GridFormTextInput = function (props) {
3238
3550
  trimmedValue = value.trim();
3239
3551
  if (initValue === trimmedValue)
3240
3552
  return [2 /*return*/, true];
3241
- if (!formProps.onSave) return [3 /*break*/, 2];
3242
- return [4 /*yield*/, formProps.onSave(selectedRows, trimmedValue)];
3553
+ if (!props.onSave) return [3 /*break*/, 2];
3554
+ return [4 /*yield*/, props.onSave(selectedRows, trimmedValue)];
3243
3555
  case 1: return [2 /*return*/, _a.sent()];
3244
3556
  case 2:
3245
3557
  field = props.field;
@@ -3251,21 +3563,19 @@ var GridFormTextInput = function (props) {
3251
3563
  return [2 /*return*/, true];
3252
3564
  }
3253
3565
  });
3254
- }); }, [invalid, value, initValue, formProps, props.field]);
3255
- var _c = useGridPopoverHook(props, save), popoverWrapper = _c.popoverWrapper, triggerSave = _c.triggerSave;
3256
- return popoverWrapper(jsx("div", __assign({ style: { display: "flex", flexDirection: "row", width: (_a = formProps.width) !== null && _a !== void 0 ? _a : 240 }, className: "FormTest" }, { children: jsx(TextInputFormatted, { value: value, onChange: function (e) { return setValue(e.target.value); }, error: invalid(), formatted: formProps.units, inputProps: {
3566
+ }); }, [invalid, value, initValue, props]);
3567
+ var _c = useGridPopoverHook({ className: props.className, save: save }), popoverWrapper = _c.popoverWrapper, triggerSave = _c.triggerSave;
3568
+ return popoverWrapper(jsx("div", __assign({ style: { display: "flex", flexDirection: "row", width: (_a = props.width) !== null && _a !== void 0 ? _a : 240 }, className: "FormTest" }, { children: jsx(TextInputFormatted, { value: value, onChange: function (e) { return setValue(e.target.value); }, error: invalid(), formatted: props.units, inputProps: {
3257
3569
  style: { width: "100%" },
3258
- placeholder: formProps.placeholder,
3570
+ placeholder: props.placeholder,
3259
3571
  onKeyDown: function (e) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
3260
3572
  return [2 /*return*/, e.key === "Enter" && triggerSave().then()];
3261
3573
  }); }); }
3262
3574
  } }) })));
3263
3575
  };
3264
3576
 
3265
- var GridPopoverTextInput = function (colDef) {
3266
- return GridCell(__assign(__assign({ maxWidth: 140 }, colDef), ((colDef === null || colDef === void 0 ? void 0 : colDef.cellEditorParams) && {
3267
- cellEditorParams: __assign(__assign({ width: 240 }, colDef.cellEditorParams), { form: GridFormTextInput })
3268
- })));
3577
+ var GridPopoverTextInput = function (colDef, params) {
3578
+ return GridCell(__assign({ maxWidth: 140 }, colDef), __assign({ editor: GridFormTextInput }, params));
3269
3579
  };
3270
3580
 
3271
3581
  var GridSubComponentTextArea = function (props) {
@@ -3276,5 +3586,5 @@ var GridSubComponentTextArea = function (props) {
3276
3586
  return (jsx("div", __assign({ className: "FreeTextInput LuiDeprecatedForms" }, { children: jsx("textarea", { autoFocus: true, maxLength: 10000, spellCheck: true, className: "free-text-input", onChange: function (e) { return setValue(e.target.value); }, defaultValue: value }) })));
3277
3587
  };
3278
3588
 
3279
- export { ComponentLoadingWrapper, ControlledMenu, FocusableItem, GenericCellEditorComponent, GenericCellEditorComponentFr, GenericMultiEditCellClass, Grid, GridCell, GridCellRenderer, GridContext, GridContextProvider, GridFormDropDown, GridFormEditBearing, GridFormMessage, GridFormMultiSelect, GridFormPopoutMenu, GridFormTextArea, GridFormTextInput, GridHeaderSelect, GridIcon, GridLoadableCell, GridPopoutEditMultiSelect, GridPopoverEditBearing, GridPopoverEditBearingCorrection, GridPopoverEditDropDown, GridPopoverMenu, GridPopoverMessage, GridPopoverTextArea, GridPopoverTextInput, GridRenderPopoutMenuCell, GridRendererGenericCell, GridSubComponentTextArea, Menu, MenuButton, MenuDivider, MenuGroup, MenuHeader, MenuItem, MenuRadioGroup, MenuSeparator, MenuSeparatorString, PopoutMenuSeparator, SubMenu, TextAreaInput, TextInputFormatted, UpdatingContext, UpdatingContextProvider, bearingCorrectionValueFormatter, bearingNumberParser, bearingStringValidator, bearingValueFormatter, convertDDToDMS, hasParentClass, isFloat, isNotEmpty, useGridPopoverHook, useMenuState, usePostSortRowsHook, wait };
3589
+ export { ComponentLoadingWrapper, ControlledMenu, FocusableItem, GenericCellEditorComponent, GenericMultiEditCellClass, Grid, GridCell, GridCellRenderer, GridContext, GridContextProvider, GridHeaderSelect, GridIcon, GridLoadableCell, GridPopoutEditMultiSelect, GridPopoverEditBearing, GridPopoverEditBearingCorrection, GridPopoverEditDropDown, GridPopoverMenu, GridPopoverMessage, GridPopoverTextArea, GridPopoverTextInput, GridRenderPopoutMenuCell, GridRendererGenericCell, GridSubComponentTextArea, GridUpdatingContext, GridUpdatingContextProvider, Menu, MenuButton, MenuDivider, MenuGroup, MenuHeader, MenuItem, MenuRadioGroup, SubMenu, TextAreaInput, TextInputFormatted, bearingCorrectionValueFormatter, bearingNumberParser, bearingStringValidator, bearingValueFormatter, convertDDToDMS, hasParentClass, isFloat, isNotEmpty, useGridPopoverHook, useMenuState, usePostSortRowsHook, wait };
3280
3590
  //# sourceMappingURL=step-ag-grid.esm.js.map