@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
package/dist/index.js CHANGED
@@ -1,20 +1,11 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var react = require('react');
6
4
  var reactDom = require('react-dom');
7
5
  var lodashEs = require('lodash-es');
8
6
  var jsxRuntime = require('react/jsx-runtime');
9
- var reactTransitionState = require('react-transition-state');
10
7
  var agGridReact = require('ag-grid-react');
11
8
  var lui = require('@linzjs/lui');
12
- var debounce = require('debounce-promise');
13
- var uuid = require('uuid');
14
-
15
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
-
17
- var debounce__default = /*#__PURE__*/_interopDefaultLegacy(debounce);
18
9
 
19
10
  // Generate className following BEM methodology: http://getbem.com/naming/
20
11
  // Modifier value can be one of the following types: boolean, string, undefined
@@ -78,23 +69,6 @@ var menuHeaderClass = "header";
78
69
  var menuGroupClass = "group";
79
70
  var subMenuClass = "submenu";
80
71
  var radioGroupClass = "radio-group";
81
- var HoverItemContext = react.createContext(undefined);
82
- var MenuListItemContext = react.createContext({
83
- dispatch: function () { },
84
- updateItems: function () { },
85
- setOpenSubmenuCount: function () { return 0; }
86
- });
87
- var MenuListContext = react.createContext({});
88
- var EventHandlersContext = react.createContext({
89
- handleClick: function () { }
90
- });
91
- var RadioGroupContext = react.createContext({});
92
- // FIXME hacking a default context in here is probably bad
93
- var SettingsContext = react.createContext({});
94
- var ItemSettingsContext = react.createContext({
95
- submenuOpenDelay: 0,
96
- submenuCloseDelay: 0
97
- });
98
72
  var Keys = Object.freeze({
99
73
  ENTER: "Enter",
100
74
  ESC: "Escape",
@@ -259,7 +233,7 @@ function __generator(thisArg, body) {
259
233
  function verb(n) { return function (v) { return step([n, v]); }; }
260
234
  function step(op) {
261
235
  if (f) throw new TypeError("Generator is already executing.");
262
- while (_) try {
236
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
263
237
  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;
264
238
  if (y = 0, t) op = [op[0] & 2, t.value];
265
239
  switch (op[0]) {
@@ -291,6 +265,8 @@ function __spreadArray(to, from, pack) {
291
265
  return to.concat(ar || Array.prototype.slice.call(from));
292
266
  }
293
267
 
268
+ var HoverItemContext = react.createContext(undefined);
269
+
294
270
  var withHovering = function (name, WrappedComponent) {
295
271
  var Component = react.memo(WrappedComponent);
296
272
  var WithHovering = react.forwardRef(function (props, ref) {
@@ -416,6 +392,17 @@ var useItemEffect = function (isDisabled, menuItemRef, updateItems) {
416
392
  }, [isDisabled, menuItemRef, updateItems]);
417
393
  };
418
394
 
395
+ var MenuListItemContext = react.createContext({
396
+ dispatch: function () { },
397
+ updateItems: function () { },
398
+ setOpenSubmenuCount: function () { return 0; }
399
+ });
400
+
401
+ var ItemSettingsContext = react.createContext({
402
+ submenuOpenDelay: 0,
403
+ submenuCloseDelay: 0
404
+ });
405
+
419
406
  // This hook includes some common stateful logic in MenuItem and FocusableItem
420
407
  var useItemState = function (menuItemRef, focusRef, isHovering, isDisabled) {
421
408
  var submenuCloseDelay = react.useContext(ItemSettingsContext).submenuCloseDelay;
@@ -478,6 +465,119 @@ var useMenuChange = function (onMenuChange, isOpen) {
478
465
  }, [onMenuChange, isOpen]);
479
466
  };
480
467
 
468
+ var PRE_ENTER = 0;
469
+ var ENTERING = 1;
470
+ var ENTERED = 2;
471
+ var PRE_EXIT = 3;
472
+ var EXITING = 4;
473
+ var EXITED = 5;
474
+ var UNMOUNTED = 6;
475
+ var STATES = ['preEnter', 'entering', 'entered', 'preExit', 'exiting', 'exited', 'unmounted'];
476
+
477
+ var startOrEnd = function startOrEnd(unmounted) {
478
+ return unmounted ? UNMOUNTED : EXITED;
479
+ };
480
+
481
+ var updateState = function updateState(state, setState, latestState, timeoutId, onChange) {
482
+ clearTimeout(timeoutId.current);
483
+ setState(state);
484
+ latestState.current = state;
485
+ onChange && onChange({
486
+ state: STATES[state]
487
+ });
488
+ };
489
+
490
+ var useTransition = function useTransition(_temp) {
491
+ var _ref = _temp === void 0 ? {} : _temp,
492
+ _ref$enter = _ref.enter,
493
+ enter = _ref$enter === void 0 ? true : _ref$enter,
494
+ _ref$exit = _ref.exit,
495
+ exit = _ref$exit === void 0 ? true : _ref$exit,
496
+ preEnter = _ref.preEnter,
497
+ preExit = _ref.preExit,
498
+ timeout = _ref.timeout,
499
+ initialEntered = _ref.initialEntered,
500
+ mountOnEnter = _ref.mountOnEnter,
501
+ unmountOnExit = _ref.unmountOnExit,
502
+ onChange = _ref.onChange;
503
+
504
+ var _useState = react.useState(initialEntered ? ENTERED : startOrEnd(mountOnEnter)),
505
+ state = _useState[0],
506
+ setState = _useState[1];
507
+
508
+ var latestState = react.useRef(state);
509
+ var timeoutId = react.useRef();
510
+ var enterTimeout, exitTimeout;
511
+
512
+ if (typeof timeout === 'object') {
513
+ enterTimeout = timeout.enter;
514
+ exitTimeout = timeout.exit;
515
+ } else {
516
+ enterTimeout = exitTimeout = timeout;
517
+ }
518
+
519
+ var endTransition = react.useCallback(function () {
520
+ var newState;
521
+
522
+ switch (latestState.current) {
523
+ case ENTERING:
524
+ case PRE_ENTER:
525
+ newState = ENTERED;
526
+ break;
527
+
528
+ case EXITING:
529
+ case PRE_EXIT:
530
+ newState = startOrEnd(unmountOnExit);
531
+ break;
532
+ }
533
+
534
+ if (newState !== undefined) {
535
+ updateState(newState, setState, latestState, timeoutId, onChange);
536
+ }
537
+ }, [onChange, unmountOnExit]);
538
+ var toggle = react.useCallback(function (toEnter) {
539
+ var transitState = function transitState(newState) {
540
+ updateState(newState, setState, latestState, timeoutId, onChange);
541
+
542
+ switch (newState) {
543
+ case ENTERING:
544
+ if (enterTimeout >= 0) timeoutId.current = setTimeout(endTransition, enterTimeout);
545
+ break;
546
+
547
+ case EXITING:
548
+ if (exitTimeout >= 0) timeoutId.current = setTimeout(endTransition, exitTimeout);
549
+ break;
550
+
551
+ case PRE_ENTER:
552
+ case PRE_EXIT:
553
+ timeoutId.current = setTimeout(function () {
554
+ return transitState(newState + 1);
555
+ }, 0);
556
+ break;
557
+ }
558
+ };
559
+
560
+ var enterStage = latestState.current <= ENTERED;
561
+ if (typeof toEnter !== 'boolean') toEnter = !enterStage;
562
+
563
+ if (toEnter) {
564
+ if (!enterStage) {
565
+ transitState(enter ? preEnter ? PRE_ENTER : ENTERING : ENTERED);
566
+ }
567
+ } else {
568
+ if (enterStage) {
569
+ transitState(exit ? preExit ? PRE_EXIT : EXITING : startOrEnd(unmountOnExit));
570
+ }
571
+ }
572
+ }, [endTransition, onChange, enter, exit, preEnter, preExit, enterTimeout, exitTimeout, unmountOnExit]);
573
+ react.useEffect(function () {
574
+ return function () {
575
+ return clearTimeout(timeoutId.current);
576
+ };
577
+ }, []);
578
+ return [STATES[state], toggle, endTransition];
579
+ };
580
+
481
581
  /**
482
582
  * A custom Hook which helps manage the states of `ControlledMenu`.
483
583
  */
@@ -485,7 +585,7 @@ var useMenuState = function (props) {
485
585
  var _a = props !== null && props !== void 0 ? props : {
486
586
  transition: false
487
587
  }, initialMounted = _a.initialMounted, unmountOnClose = _a.unmountOnClose, transition = _a.transition, transitionTimeout = _a.transitionTimeout;
488
- var _b = reactTransitionState.useTransition({
588
+ var _b = useTransition({
489
589
  mountOnEnter: !initialMounted,
490
590
  unmountOnExit: unmountOnClose,
491
591
  timeout: transitionTimeout !== null && transitionTimeout !== void 0 ? transitionTimeout : 500,
@@ -801,6 +901,11 @@ var positionMenu = function (props) {
801
901
  }
802
902
  };
803
903
 
904
+ var MenuListContext = react.createContext({});
905
+
906
+ // FIXME hacking a default context in here is probably bad
907
+ var SettingsContext = react.createContext({});
908
+
804
909
  var MenuList = function (_a) {
805
910
  var _b, _c;
806
911
  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"]);
@@ -1168,6 +1273,10 @@ var hasParentClass = function (className, child) {
1168
1273
  return false;
1169
1274
  };
1170
1275
 
1276
+ var EventHandlersContext = react.createContext({
1277
+ handleClick: function () { }
1278
+ });
1279
+
1171
1280
  var ControlledMenuFr = function (_a, externalRef) {
1172
1281
  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"]);
1173
1282
  var containerRef = react.useRef();
@@ -1233,13 +1342,13 @@ var ControlledMenuFr = function (_a, externalRef) {
1233
1342
  react.useEffect(function () {
1234
1343
  if (isMenuOpen(state)) {
1235
1344
  var thisDocument_1 = (anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.current) ? anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.current.ownerDocument : document;
1236
- thisDocument_1.addEventListener("mousedown", handleScreenEventForCancel, true);
1237
- thisDocument_1.addEventListener("mouseup", handleScreenEventForSave, true);
1345
+ thisDocument_1.addEventListener("mousedown", handleScreenEventForSave, true);
1346
+ thisDocument_1.addEventListener("mouseup", handleScreenEventForCancel, true);
1238
1347
  thisDocument_1.addEventListener("click", handleScreenEventForCancel, true);
1239
1348
  thisDocument_1.addEventListener("dblclick", handleScreenEventForCancel, true);
1240
1349
  return function () {
1241
- thisDocument_1.removeEventListener("mousedown", handleScreenEventForCancel, true);
1242
- thisDocument_1.removeEventListener("mouseup", handleScreenEventForSave, true);
1350
+ thisDocument_1.removeEventListener("mousedown", handleScreenEventForSave, true);
1351
+ thisDocument_1.removeEventListener("mouseup", handleScreenEventForCancel, true);
1243
1352
  thisDocument_1.removeEventListener("click", handleScreenEventForCancel, true);
1244
1353
  thisDocument_1.removeEventListener("dblclick", handleScreenEventForCancel, true);
1245
1354
  };
@@ -1510,6 +1619,8 @@ var SubMenuFr = function (_a) {
1510
1619
  };
1511
1620
  var SubMenu = withHovering("SubMenu", SubMenuFr);
1512
1621
 
1622
+ var RadioGroupContext = react.createContext({});
1623
+
1513
1624
  var MenuItemFr = function (_a) {
1514
1625
  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"]);
1515
1626
  var isDisabled = !!disabled;
@@ -1640,7 +1751,7 @@ var MenuRadioGroupFr = function (_a, externalRef) {
1640
1751
  };
1641
1752
  var MenuRadioGroup = react.forwardRef(MenuRadioGroupFr);
1642
1753
 
1643
- var UpdatingContext = react.createContext({
1754
+ var GridUpdatingContext = react.createContext({
1644
1755
  checkUpdating: function () {
1645
1756
  console.error("Missing UpdatingContext");
1646
1757
  return false;
@@ -1653,7 +1764,7 @@ var UpdatingContext = react.createContext({
1653
1764
  }); }
1654
1765
  });
1655
1766
 
1656
- var UpdatingContextProvider = function (props) {
1767
+ var GridUpdatingContextProvider = function (props) {
1657
1768
  var updatingBlocks = react.useRef({});
1658
1769
  var updating = react.useRef({});
1659
1770
  var resetUpdating = function () {
@@ -1685,7 +1796,7 @@ var UpdatingContextProvider = function (props) {
1685
1796
  var checkUpdating = function (fields, id) {
1686
1797
  return lodashEs.castArray(fields).some(function (f) { var _a; return (_a = updating.current[f]) === null || _a === void 0 ? void 0 : _a.includes(id); });
1687
1798
  };
1688
- return (jsxRuntime.jsx(UpdatingContext.Provider, __assign({ value: { modifyUpdating: modifyUpdating, checkUpdating: checkUpdating } }, { children: props.children })));
1799
+ return (jsxRuntime.jsx(GridUpdatingContext.Provider, __assign({ value: { modifyUpdating: modifyUpdating, checkUpdating: checkUpdating } }, { children: props.children })));
1689
1800
  };
1690
1801
 
1691
1802
  var GridContext = react.createContext({
@@ -1764,7 +1875,7 @@ var GridContext = react.createContext({
1764
1875
  * Also, make sure the provider is created in a separate component, otherwise it won't be found.
1765
1876
  */
1766
1877
  var GridContextProvider = function (props) {
1767
- var modifyUpdating = react.useContext(UpdatingContext).modifyUpdating;
1878
+ var modifyUpdating = react.useContext(GridUpdatingContext).modifyUpdating;
1768
1879
  var gridApiRef = react.useRef();
1769
1880
  var idsBeforeUpdate = react.useRef([]);
1770
1881
  /**
@@ -1790,10 +1901,7 @@ var GridContextProvider = function (props) {
1790
1901
  noApiFn = (function () { });
1791
1902
  }
1792
1903
  var gridApi = gridApiRef.current;
1793
- if (gridApi)
1794
- return hasApiFn(gridApi);
1795
- console.error("GridApi not ready");
1796
- return noApiFn();
1904
+ return gridApi ? hasApiFn(gridApi) : noApiFn();
1797
1905
  };
1798
1906
  /**
1799
1907
  * Set the quick filter value to grid.
@@ -2033,40 +2141,43 @@ var GridContextProvider = function (props) {
2033
2141
  } }, { children: props.children })));
2034
2142
  };
2035
2143
 
2036
- function styleInject(css, ref) {
2037
- if ( ref === void 0 ) ref = {};
2038
- var insertAt = ref.insertAt;
2039
-
2040
- if (!css || typeof document === 'undefined') { return; }
2041
-
2042
- var head = document.head || document.getElementsByTagName('head')[0];
2043
- var style = document.createElement('style');
2044
- style.type = 'text/css';
2045
-
2046
- if (insertAt === 'top') {
2047
- if (head.firstChild) {
2048
- head.insertBefore(style, head.firstChild);
2049
- } else {
2050
- head.appendChild(style);
2051
- }
2052
- } else {
2053
- head.appendChild(style);
2054
- }
2055
-
2056
- if (style.styleSheet) {
2057
- style.styleSheet.cssText = css;
2058
- } else {
2059
- style.appendChild(document.createTextNode(css));
2060
- }
2144
+ function toVal(mix) {
2145
+ var k, y, str='';
2146
+ if (mix) {
2147
+ if (typeof mix === 'object') {
2148
+ if (Array.isArray(mix)) {
2149
+ for (k=0; k < mix.length; k++) {
2150
+ if (mix[k] && (y = toVal(mix[k]))) {
2151
+ str && (str += ' ');
2152
+ str += y;
2153
+ }
2154
+ }
2155
+ } else {
2156
+ for (k in mix) {
2157
+ if (mix[k] && (y = toVal(k))) {
2158
+ str && (str += ' ');
2159
+ str += y;
2160
+ }
2161
+ }
2162
+ }
2163
+ } else if (typeof mix !== 'boolean' && !mix.call) {
2164
+ str && (str += ' ');
2165
+ str += mix;
2166
+ }
2167
+ }
2168
+ return str;
2061
2169
  }
2062
2170
 
2063
- 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}";
2064
- styleInject(css_248z$7);
2065
-
2066
- 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}";
2067
- styleInject(css_248z$6);
2068
-
2069
- 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}
2171
+ function clsx () {
2172
+ var i=0, x, str='';
2173
+ while (i < arguments.length) {
2174
+ if (x = toVal(arguments[i++])) {
2175
+ str && (str += ' ');
2176
+ str += x;
2177
+ }
2178
+ }
2179
+ return str;
2180
+ }
2070
2181
 
2071
2182
  /**
2072
2183
  * Retains last sort order from via <AgGrid postRowSort>.
@@ -2214,7 +2325,7 @@ var GridHeaderSelect = function (_a) {
2214
2325
  var Grid = function (params) {
2215
2326
  var _a;
2216
2327
  var _b = react.useContext(GridContext), gridReady = _b.gridReady, setGridApi = _b.setGridApi, setQuickFilter = _b.setQuickFilter, ensureRowVisible = _b.ensureRowVisible, selectRowsById = _b.selectRowsById, ensureSelectedRowIsVisible = _b.ensureSelectedRowIsVisible, sizeColumnsToFit = _b.sizeColumnsToFit;
2217
- var checkUpdating = react.useContext(UpdatingContext).checkUpdating;
2328
+ var checkUpdating = react.useContext(GridUpdatingContext).checkUpdating;
2218
2329
  var _c = react.useState(""), internalQuickFilter = _c[0], setInternalQuickFilter = _c[1];
2219
2330
  var lastSelectedIds = react.useRef([]);
2220
2331
  var _d = react.useState(false), staleGrid = _d[0], setStaleGrid = _d[1];
@@ -2308,10 +2419,7 @@ var Grid = function (params) {
2308
2419
  synchroniseExternallySelectedItemsToGrid();
2309
2420
  updateQuickFilter();
2310
2421
  }, [params, setGridApi, synchroniseExternallySelectedItemsToGrid, updateQuickFilter]);
2311
- var noRowsOverlayComponent = react.useCallback(function () {
2312
- var _a;
2313
- return (jsxRuntime.jsx("span", __assign({ className: "ag-overlay-no-rows-center" }, { children: (_a = params.noRowsOverlayText) !== null && _a !== void 0 ? _a : "There are currently no rows" })));
2314
- }, [params.noRowsOverlayText]);
2422
+ var noRowsOverlayComponent = react.useCallback(function () { var _a; return jsxRuntime.jsx("span", { children: (_a = params.noRowsOverlayText) !== null && _a !== void 0 ? _a : "There are currently no rows" }); }, [params.noRowsOverlayText]);
2315
2423
  var refreshSelectedRows = react.useCallback(function (event) {
2316
2424
  // Force-refresh all selected rows to re-run class function, to update selection highlighting
2317
2425
  event.api.refreshCells({
@@ -2381,14 +2489,40 @@ var GenericMultiEditCellClass = function (props) {
2381
2489
  : "";
2382
2490
  };
2383
2491
 
2384
- 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}";
2385
- styleInject(css_248z$5);
2492
+ function styleInject(css, ref) {
2493
+ if ( ref === void 0 ) ref = {};
2494
+ var insertAt = ref.insertAt;
2386
2495
 
2387
- var css_248z$4 = ".GridLoadableCell-container {\n display: flex;\n align-items: center;\n}";
2388
- styleInject(css_248z$4);
2496
+ if (!css || typeof document === 'undefined') { return; }
2497
+
2498
+ var head = document.head || document.getElementsByTagName('head')[0];
2499
+ var style = document.createElement('style');
2500
+ style.type = 'text/css';
2501
+
2502
+ if (insertAt === 'top') {
2503
+ if (head.firstChild) {
2504
+ head.insertBefore(style, head.firstChild);
2505
+ } else {
2506
+ head.appendChild(style);
2507
+ }
2508
+ } else {
2509
+ head.appendChild(style);
2510
+ }
2511
+
2512
+ if (style.styleSheet) {
2513
+ style.styleSheet.cssText = css;
2514
+ } else {
2515
+ style.appendChild(document.createTextNode(css));
2516
+ }
2517
+ }
2518
+
2519
+ 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}";
2520
+ styleInject(css_248z$6);
2521
+
2522
+ var css_248z$5 = ".GridLoadableCell-container{align-items:center;display:flex}";
2523
+ styleInject(css_248z$5);
2389
2524
 
2390
2525
  var GridLoadableCell = function (props) {
2391
- // console.log(`Rendering LoadableCell - loading: ${props.isLoading}`);
2392
2526
  if (props.isLoading) {
2393
2527
  return (jsxRuntime.jsx("div", __assign({ style: { display: "flex", alignItems: "center" } }, { children: jsxRuntime.jsx(lui.LuiMiniSpinner, { size: 22, divProps: { role: "status", "aria-label": "Loading", style: { marginBottom: 4 } } }) })));
2394
2528
  }
@@ -2400,7 +2534,7 @@ var GridIcon = function (props) { return (jsxRuntime.jsx(lui.LuiIcon, { name: pr
2400
2534
 
2401
2535
  var GridRendererGenericCell = function (props) {
2402
2536
  var _a, _b, _c;
2403
- var checkUpdating = react.useContext(UpdatingContext).checkUpdating;
2537
+ var checkUpdating = react.useContext(GridUpdatingContext).checkUpdating;
2404
2538
  var colDef = props.colDef;
2405
2539
  var cellRendererParams = colDef.cellRendererParams;
2406
2540
  var warningFn = cellRendererParams === null || cellRendererParams === void 0 ? void 0 : cellRendererParams.warning;
@@ -2417,9 +2551,61 @@ var GridRendererGenericCell = function (props) {
2417
2551
  return (jsxRuntime.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: jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [typeof warningText === "string" && jsxRuntime.jsx(GridIcon, { icon: "ic_warning", title: warningText }), typeof infoText === "string" && jsxRuntime.jsx(GridIcon, { icon: "ic_info", title: infoText }), jsxRuntime.jsx("span", __assign({ title: formatted }, { children: formatted }))] }) })));
2418
2552
  };
2419
2553
 
2554
+ var GridPopoverContext = react.createContext({
2555
+ anchorRef: { current: null },
2556
+ saving: false,
2557
+ setSaving: function () { },
2558
+ setProps: function () { },
2559
+ propsRef: { current: null }
2560
+ });
2561
+
2562
+ var GridPopoverContextProvider = function (props) {
2563
+ var _a = react.useContext(GridContext), getSelectedRows = _a.getSelectedRows, updatingCells = _a.updatingCells;
2564
+ var anchorRef = react.useRef();
2565
+ var propsRef = react.useRef({});
2566
+ var _b = react.useState(false), saving = _b[0], setSaving = _b[1];
2567
+ var setProps = react.useCallback(function (props, multiEdit) {
2568
+ var _a, _b;
2569
+ // Then item that is clicked on will always be first in the list
2570
+ var selectedRows = multiEdit
2571
+ ? lodashEs.sortBy(getSelectedRows(), function (row) { return row.id !== props.data.id; })
2572
+ : [props.data];
2573
+ var field = (_b = (_a = props.colDef) === null || _a === void 0 ? void 0 : _a.field) !== null && _b !== void 0 ? _b : "";
2574
+ anchorRef.current = props.eGridCell;
2575
+ propsRef.current = {
2576
+ value: props.value,
2577
+ data: props.data,
2578
+ field: field,
2579
+ selectedRows: selectedRows,
2580
+ updateValue: function (saveFn) { return __awaiter(void 0, void 0, void 0, function () {
2581
+ var _a;
2582
+ return __generator(this, function (_b) {
2583
+ switch (_b.label) {
2584
+ case 0:
2585
+ _a = !saving;
2586
+ if (!_a) return [3 /*break*/, 2];
2587
+ return [4 /*yield*/, updatingCells({ selectedRows: selectedRows, field: field }, saveFn, setSaving)];
2588
+ case 1:
2589
+ _a = (_b.sent());
2590
+ _b.label = 2;
2591
+ case 2: return [2 /*return*/, _a];
2592
+ }
2593
+ });
2594
+ }); }
2595
+ };
2596
+ }, [getSelectedRows, saving, updatingCells]);
2597
+ return (jsxRuntime.jsx(GridPopoverContext.Provider, __assign({ value: {
2598
+ anchorRef: anchorRef,
2599
+ saving: saving,
2600
+ setSaving: setSaving,
2601
+ propsRef: propsRef,
2602
+ setProps: setProps
2603
+ } }, { children: props.children })));
2604
+ };
2605
+
2420
2606
  var GridCellRenderer = function (props) {
2421
2607
  var _a, _b, _c;
2422
- var checkUpdating = react.useContext(UpdatingContext).checkUpdating;
2608
+ var checkUpdating = react.useContext(GridUpdatingContext).checkUpdating;
2423
2609
  var colDef = props.colDef;
2424
2610
  var rendererParams = colDef.cellRendererParams;
2425
2611
  var warningFn = rendererParams === null || rendererParams === void 0 ? void 0 : rendererParams.warning;
@@ -2428,15 +2614,17 @@ var GridCellRenderer = function (props) {
2428
2614
  var infoText = infoFn ? infoFn(props) : undefined;
2429
2615
  return ((_a = colDef === null || colDef === void 0 ? void 0 : colDef.cellRendererParams) === null || _a === void 0 ? void 0 : _a.originalCellRenderer) ? (jsxRuntime.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: jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [typeof warningText === "string" && jsxRuntime.jsx(GridIcon, { icon: "ic_warning", title: warningText }), typeof infoText === "string" && jsxRuntime.jsx(GridIcon, { icon: "ic_info", title: infoText }), jsxRuntime.jsx(colDef.cellRendererParams.originalCellRenderer, __assign({}, props))] }) }))) : (jsxRuntime.jsx(GridRendererGenericCell, __assign({}, props)));
2430
2616
  };
2431
- /**
2617
+ /*
2432
2618
  * For editing a text area.
2433
2619
  */
2434
- var GridCell = function (props) {
2620
+ var GridCell = function (props, custom) {
2435
2621
  var _a;
2436
- 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 && {
2437
- cellClass: ((_a = props === null || props === void 0 ? void 0 : props.cellEditorParams) === null || _a === void 0 ? void 0 : _a.multiEdit) ? GenericMultiEditCellClass : undefined,
2438
- editable: true,
2439
- cellEditor: GenericCellEditorComponent
2622
+ 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) && {
2623
+ cellClass: (custom === null || custom === void 0 ? void 0 : custom.multiEdit) ? GenericMultiEditCellClass : undefined,
2624
+ editable: (_a = props.editable) !== null && _a !== void 0 ? _a : true,
2625
+ cellEditor: GenericCellEditorComponent(custom.editor)
2626
+ })), ((custom === null || custom === void 0 ? void 0 : custom.editorParams) && {
2627
+ cellEditorParams: __assign(__assign({}, custom.editorParams), { multiEdit: custom.multiEdit })
2440
2628
  })), {
2441
2629
  // Default value formatter, otherwise react freaks out on objects
2442
2630
  valueFormatter: function (params) {
@@ -2449,44 +2637,29 @@ var GridCell = function (props) {
2449
2637
  return JSON.stringify(params.value);
2450
2638
  } }), props), { cellRenderer: GridCellRenderer, cellRendererParams: __assign({ originalCellRenderer: props.cellRenderer }, props.cellRendererParams) });
2451
2639
  };
2452
- var GenericCellEditorComponentFr = function (props, _) {
2453
- var _a, _b, _c;
2454
- var _d = react.useContext(GridContext), updatingCells = _d.updatingCells, getSelectedRows = _d.getSelectedRows;
2455
- var colDef = props.colDef, data = props.data;
2456
- var cellEditorParams = props.colDef.cellEditorParams;
2457
- var multiEdit = (_a = cellEditorParams === null || cellEditorParams === void 0 ? void 0 : cellEditorParams.multiEdit) !== null && _a !== void 0 ? _a : false;
2458
- var field = (_b = props.colDef.field) !== null && _b !== void 0 ? _b : "";
2459
- var formProps = (_c = colDef.cellEditorParams) !== null && _c !== void 0 ? _c : {};
2460
- var value = props.value;
2461
- var selectedRows = react.useMemo(function () { return (multiEdit ? getSelectedRows() : [data]); }, [data, getSelectedRows, multiEdit]);
2462
- var _e = react.useState(false), saving = _e[0], setSaving = _e[1];
2463
- var updateValue = react.useCallback(function (saveFn) { return __awaiter(void 0, void 0, void 0, function () {
2464
- var _a;
2465
- return __generator(this, function (_b) {
2466
- switch (_b.label) {
2467
- case 0:
2468
- _a = !saving;
2469
- if (!_a) return [3 /*break*/, 2];
2470
- return [4 /*yield*/, updatingCells({ selectedRows: selectedRows, field: field }, saveFn, setSaving)];
2471
- case 1:
2472
- _a = (_b.sent());
2473
- _b.label = 2;
2474
- case 2: return [2 /*return*/, _a];
2475
- }
2476
- });
2477
- }); }, [field, saving, selectedRows, updatingCells]);
2478
- if (cellEditorParams == null)
2479
- return jsxRuntime.jsx(jsxRuntime.Fragment, {});
2480
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { children: colDef.cellRenderer ? jsxRuntime.jsx(colDef.cellRenderer, __assign({}, props, { saving: saving })) : props.value }), (cellEditorParams === null || cellEditorParams === void 0 ? void 0 : cellEditorParams.form) && (jsxRuntime.jsx(cellEditorParams.form, { cellEditorParams: props, updateValue: updateValue, saving: saving, formProps: formProps, data: data, value: value, field: field, selectedRows: selectedRows }))] }));
2640
+ // TODO memo?
2641
+ var GenericCellEditorComponent = function (editor) {
2642
+ return react.forwardRef(function GenericCellEditorComponent2(props, _) {
2643
+ return (jsxRuntime.jsx(GridPopoverContextProvider, { children: jsxRuntime.jsx(GenericCellEditorComponent3, __assign({}, __assign(__assign({}, props), { editor: editor }))) }));
2644
+ });
2481
2645
  };
2482
- var GenericCellEditorComponent = react.forwardRef(GenericCellEditorComponentFr);
2646
+ var GenericCellEditorComponent3 = function (props) {
2647
+ var _a;
2648
+ var _b = react.useContext(GridPopoverContext), setProps = _b.setProps, propsRef = _b.propsRef;
2649
+ var colDef = props.colDef;
2650
+ var cellEditorParams = colDef.cellEditorParams;
2651
+ var multiEdit = (_a = cellEditorParams === null || cellEditorParams === void 0 ? void 0 : cellEditorParams.multiEdit) !== null && _a !== void 0 ? _a : false;
2652
+ // TODO don't need all these props in context
2653
+ setProps(props, multiEdit);
2654
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { children: colDef.cellRenderer ? jsxRuntime.jsx(colDef.cellRenderer, __assign({}, props)) : props.value }), (props === null || props === void 0 ? void 0 : props.editor) && jsxRuntime.jsx(props.editor, __assign({}, cellEditorParams, propsRef.current))] }));
2655
+ };
2483
2656
 
2484
2657
  /**
2485
2658
  * If loading is true this returns a loading spinner, otherwise it returns its children.
2486
2659
  */
2487
2660
  var ComponentLoadingWrapper = function (props) {
2488
2661
  var _a;
2489
- return props.loading ? (jsxRuntime.jsx(lui.LuiMiniSpinner, { size: 22, divProps: (_a = { role: "status" }, _a["aria-label"] = "Loading", _a.style = { padding: 16 }, _a) })) : (jsxRuntime.jsxs("div", __assign({ style: { maxHeight: 400, overflowY: "auto", pointerEvents: props.saving ? "none" : "inherit" } }, { children: [props.saving && (jsxRuntime.jsx("div", { style: {
2662
+ return props.loading ? (jsxRuntime.jsx(lui.LuiMiniSpinner, { size: 22, divProps: (_a = { role: "status" }, _a["aria-label"] = "Loading", _a.style = { padding: 16 }, _a) })) : (jsxRuntime.jsxs("div", __assign({ style: { pointerEvents: props.saving ? "none" : "inherit" }, className: props.className }, { children: [props.saving && (jsxRuntime.jsx("div", { style: {
2490
2663
  position: "absolute",
2491
2664
  left: 0,
2492
2665
  top: 0,
@@ -2497,29 +2670,33 @@ var ComponentLoadingWrapper = function (props) {
2497
2670
  } })), props.children] })));
2498
2671
  };
2499
2672
 
2500
- var useGridPopoverHook = function (props, save) {
2501
- var cellEditorParams = props.cellEditorParams, saving = props.saving, updateValue = props.updateValue;
2502
- var eGridCell = cellEditorParams.eGridCell;
2673
+ var useGridPopoverHook = function (props) {
2503
2674
  var stopEditing = react.useContext(GridContext).stopEditing;
2675
+ var _a = react.useContext(GridPopoverContext), anchorRef = _a.anchorRef, saving = _a.saving, propsRef = _a.propsRef;
2504
2676
  var saveButtonRef = react.useRef(null);
2505
- var anchorRef = react.useRef(eGridCell);
2506
- anchorRef.current = eGridCell;
2507
- var _a = react.useState(false), isOpen = _a[0], setOpen = _a[1];
2677
+ var _b = react.useState(false), isOpen = _b[0], setOpen = _b[1];
2508
2678
  react.useEffect(function () {
2509
2679
  setOpen(true);
2510
2680
  }, []);
2511
2681
  var triggerSave = react.useCallback(function (reason) { return __awaiter(void 0, void 0, void 0, function () {
2512
- var _a;
2513
- return __generator(this, function (_b) {
2514
- switch (_b.label) {
2682
+ var _a, _b;
2683
+ var _c, _d;
2684
+ return __generator(this, function (_e) {
2685
+ switch (_e.label) {
2515
2686
  case 0:
2516
- _a = reason == "cancel" || !save;
2517
- if (_a) return [3 /*break*/, 2];
2518
- return [4 /*yield*/, updateValue(save)];
2687
+ _a = reason == "cancel" ||
2688
+ !props.save;
2689
+ if (_a) return [3 /*break*/, 3];
2690
+ _b = ((_c = propsRef.current) === null || _c === void 0 ? void 0 : _c.updateValue);
2691
+ if (!_b) return [3 /*break*/, 2];
2692
+ return [4 /*yield*/, ((_d = propsRef.current) === null || _d === void 0 ? void 0 : _d.updateValue(props.save))];
2519
2693
  case 1:
2520
- _a = (_b.sent());
2521
- _b.label = 2;
2694
+ _b = (_e.sent());
2695
+ _e.label = 2;
2522
2696
  case 2:
2697
+ _a = (_b);
2698
+ _e.label = 3;
2699
+ case 3:
2523
2700
  if (_a) {
2524
2701
  setOpen(false);
2525
2702
  stopEditing();
@@ -2527,9 +2704,10 @@ var useGridPopoverHook = function (props, save) {
2527
2704
  return [2 /*return*/];
2528
2705
  }
2529
2706
  });
2530
- }); }, [save, stopEditing, updateValue]);
2707
+ }); }, [props, stopEditing, propsRef]);
2531
2708
  var popoverWrapper = react.useCallback(function (children) {
2532
- return (jsxRuntime.jsx(jsxRuntime.Fragment, { children: anchorRef.current && (jsxRuntime.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 && (jsxRuntime.jsx("div", { style: {
2709
+ return (jsxRuntime.jsx(jsxRuntime.Fragment, { children: anchorRef.current && (jsxRuntime.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
2710
+ jsxRuntime.jsx("div", { style: {
2533
2711
  position: "absolute",
2534
2712
  left: 0,
2535
2713
  top: 0,
@@ -2538,7 +2716,7 @@ var useGridPopoverHook = function (props, save) {
2538
2716
  backgroundColor: "rgba(64,64,64,0.1)",
2539
2717
  zIndex: 1000
2540
2718
  } })), children, jsxRuntime.jsx("button", { ref: saveButtonRef, onClick: function () { return triggerSave().then(); }, style: { display: "none" } })] }))) }));
2541
- }, [isOpen, saving, triggerSave]);
2719
+ }, [anchorRef, isOpen, props.className, saving, triggerSave]);
2542
2720
  return {
2543
2721
  popoverWrapper: popoverWrapper,
2544
2722
  triggerSave: triggerSave
@@ -2547,7 +2725,7 @@ var useGridPopoverHook = function (props, save) {
2547
2725
 
2548
2726
  var GridRenderPopoutMenuCell = function (props) {
2549
2727
  var _a, _b, _c;
2550
- var checkUpdating = react.useContext(UpdatingContext).checkUpdating;
2728
+ var checkUpdating = react.useContext(GridUpdatingContext).checkUpdating;
2551
2729
  var isLoading = checkUpdating((_b = (_a = props.colDef) === null || _a === void 0 ? void 0 : _a.field) !== null && _b !== void 0 ? _b : "", props.data.id);
2552
2730
  var editable = (_c = props.colDef) === null || _c === void 0 ? void 0 : _c.editable;
2553
2731
  var disabled = !(typeof editable === "function"
@@ -2564,14 +2742,88 @@ var GridRenderPopoutMenuCell = function (props) {
2564
2742
  return (jsxRuntime.jsx(GridLoadableCell, __assign({ isLoading: isLoading, className: disabled ? "GridPopoutMenu-burgerDisabled" : "GridPopoutMenu-burger" }, { children: jsxRuntime.jsx(lui.LuiIcon, { name: "ic_more_vert", alt: "More actions", size: "md" }) })));
2565
2743
  };
2566
2744
 
2567
- 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}";
2745
+ 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}";
2746
+ styleInject(css_248z$4);
2747
+
2748
+ 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}";
2568
2749
  styleInject(css_248z$3);
2569
2750
 
2751
+ /* global setTimeout, clearTimeout */
2752
+
2753
+ var dist = function debounce(fn) {
2754
+ var wait = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
2755
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
2756
+
2757
+ var lastCallAt = void 0;
2758
+ var deferred = void 0;
2759
+ var timer = void 0;
2760
+ var pendingArgs = [];
2761
+ return function debounced() {
2762
+ var currentWait = getWait(wait);
2763
+ var currentTime = new Date().getTime();
2764
+
2765
+ var isCold = !lastCallAt || currentTime - lastCallAt > currentWait;
2766
+
2767
+ lastCallAt = currentTime;
2768
+
2769
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
2770
+ args[_key] = arguments[_key];
2771
+ }
2772
+
2773
+ if (isCold && options.leading) {
2774
+ return options.accumulate ? Promise.resolve(fn.call(this, [args])).then(function (result) {
2775
+ return result[0];
2776
+ }) : Promise.resolve(fn.call.apply(fn, [this].concat(args)));
2777
+ }
2778
+
2779
+ if (deferred) {
2780
+ clearTimeout(timer);
2781
+ } else {
2782
+ deferred = defer();
2783
+ }
2784
+
2785
+ pendingArgs.push(args);
2786
+ timer = setTimeout(flush.bind(this), currentWait);
2787
+
2788
+ if (options.accumulate) {
2789
+ var argsIndex = pendingArgs.length - 1;
2790
+ return deferred.promise.then(function (results) {
2791
+ return results[argsIndex];
2792
+ });
2793
+ }
2794
+
2795
+ return deferred.promise;
2796
+ };
2797
+
2798
+ function flush() {
2799
+ var thisDeferred = deferred;
2800
+ clearTimeout(timer);
2801
+
2802
+ Promise.resolve(options.accumulate ? fn.call(this, pendingArgs) : fn.apply(this, pendingArgs[pendingArgs.length - 1])).then(thisDeferred.resolve, thisDeferred.reject);
2803
+
2804
+ pendingArgs = [];
2805
+ deferred = null;
2806
+ }
2807
+ };
2808
+
2809
+ function getWait(wait) {
2810
+ return typeof wait === 'function' ? wait() : wait;
2811
+ }
2812
+
2813
+ function defer() {
2814
+ var deferred = {};
2815
+ deferred.promise = new Promise(function (resolve, reject) {
2816
+ deferred.resolve = resolve;
2817
+ deferred.reject = reject;
2818
+ });
2819
+ return deferred;
2820
+ }
2821
+
2570
2822
  var MenuSeparatorString = "_____MENU_SEPARATOR_____";
2571
- var MenuSeparator = Object.freeze({ value: MenuSeparatorString });
2572
- var GridFormDropDown = function (props) {
2573
- var popoverWrapper = useGridPopoverHook(props).popoverWrapper;
2574
- var formProps = props.formProps;
2823
+ Object.freeze({ value: MenuSeparatorString });
2824
+ var MenuHeaderString = "_____MENU_HEADER_____";
2825
+ var GridFormDropDown = function (_props) {
2826
+ var props = _props;
2575
2827
  var _a = react.useContext(GridContext), updatingCells = _a.updatingCells, stopEditing = _a.stopEditing;
2576
2828
  var _b = react.useState(""), filter = _b[0], setFilter = _b[1];
2577
2829
  var _c = react.useState([]), filteredValues = _c[0], setFilteredValues = _c[1];
@@ -2590,8 +2842,8 @@ var GridFormDropDown = function (props) {
2590
2842
  case 0:
2591
2843
  hasChanged = selectedRows.some(function (row) { return row[field] !== value; });
2592
2844
  if (!hasChanged) return [3 /*break*/, 3];
2593
- if (!formProps.onSelectedItem) return [3 /*break*/, 2];
2594
- return [4 /*yield*/, formProps.onSelectedItem({ selectedRows: selectedRows, value: value })];
2845
+ if (!props.onSelectedItem) return [3 /*break*/, 2];
2846
+ return [4 /*yield*/, props.onSelectedItem({ selectedRows: selectedRows, value: value })];
2595
2847
  case 1:
2596
2848
  _a.sent();
2597
2849
  return [3 /*break*/, 3];
@@ -2605,7 +2857,7 @@ var GridFormDropDown = function (props) {
2605
2857
  case 1: return [2 /*return*/, _a.sent()];
2606
2858
  }
2607
2859
  });
2608
- }); }, [formProps, props.field, props.selectedRows, updatingCells]);
2860
+ }); }, [props, updatingCells]);
2609
2861
  var selectFilterHandler = react.useCallback(function (value) { return __awaiter(void 0, void 0, void 0, function () {
2610
2862
  var field;
2611
2863
  return __generator(this, function (_a) {
@@ -2616,8 +2868,8 @@ var GridFormDropDown = function (props) {
2616
2868
  return __generator(this, function (_a) {
2617
2869
  switch (_a.label) {
2618
2870
  case 0:
2619
- if (!formProps.onSelectFilter) return [3 /*break*/, 2];
2620
- return [4 /*yield*/, formProps.onSelectFilter({ selectedRows: selectedRows, value: value })];
2871
+ if (!props.onSelectFilter) return [3 /*break*/, 2];
2872
+ return [4 /*yield*/, props.onSelectFilter({ selectedRows: selectedRows, value: value })];
2621
2873
  case 1:
2622
2874
  _a.sent();
2623
2875
  _a.label = 2;
@@ -2628,14 +2880,14 @@ var GridFormDropDown = function (props) {
2628
2880
  case 1: return [2 /*return*/, _a.sent()];
2629
2881
  }
2630
2882
  });
2631
- }); }, [formProps, props.field, props.selectedRows, updatingCells]);
2883
+ }); }, [props, updatingCells]);
2632
2884
  // Load up options list if it's async function
2633
2885
  react.useEffect(function () {
2634
2886
  var _a;
2635
2887
  if (options || optionsInitialising.current)
2636
2888
  return;
2637
2889
  optionsInitialising.current = true;
2638
- var optionsConf = (_a = formProps.options) !== null && _a !== void 0 ? _a : [];
2890
+ var optionsConf = (_a = props.options) !== null && _a !== void 0 ? _a : [];
2639
2891
  (function () { return __awaiter(void 0, void 0, void 0, function () {
2640
2892
  var optionsList;
2641
2893
  return __generator(this, function (_a) {
@@ -2653,7 +2905,7 @@ var GridFormDropDown = function (props) {
2653
2905
  }
2654
2906
  return item;
2655
2907
  });
2656
- if (formProps.filtered) {
2908
+ if (props.filtered) {
2657
2909
  // This is needed otherwise when filter input is rendered and sets autofocus
2658
2910
  // the mouse up of the double click edit triggers the cell to cancel editing
2659
2911
  lodashEs.delay(function () { return setOptions(optionsList); }, 100);
@@ -2666,10 +2918,10 @@ var GridFormDropDown = function (props) {
2666
2918
  }
2667
2919
  });
2668
2920
  }); })();
2669
- }, [filter, options, formProps.filtered, formProps.options, props.selectedRows]);
2670
- // Local filtering
2921
+ }, [filter, options, props]);
2922
+ // Local filtering.
2671
2923
  react.useEffect(function () {
2672
- if (formProps.filtered == "local") {
2924
+ if (props.filtered == "local") {
2673
2925
  if (options == null)
2674
2926
  return;
2675
2927
  setFilteredValues(options
@@ -2683,19 +2935,19 @@ var GridFormDropDown = function (props) {
2683
2935
  })
2684
2936
  .filter(function (r) { return r !== undefined; }));
2685
2937
  }
2686
- }, [formProps.filtered, filter, options]);
2687
- var researchOnFilterChange = debounce__default["default"](react.useCallback(function () {
2938
+ }, [props.filtered, filter, options]);
2939
+ var researchOnFilterChange = dist(react.useCallback(function () {
2688
2940
  setOptions(null);
2689
2941
  }, []), 500);
2690
2942
  var previousFilter = react.useRef(filter);
2691
- // Reload filtering
2943
+ // Reload filtering.
2692
2944
  react.useEffect(function () {
2693
- if (previousFilter.current != filter && formProps.filtered == "reload") {
2945
+ if (previousFilter.current != filter && props.filtered == "reload") {
2694
2946
  previousFilter.current = filter;
2695
- formProps.optionsRequestCancel && formProps.optionsRequestCancel();
2947
+ props.optionsRequestCancel && props.optionsRequestCancel();
2696
2948
  researchOnFilterChange().then();
2697
2949
  }
2698
- }, [filter, formProps, props, researchOnFilterChange]);
2950
+ }, [filter, props, researchOnFilterChange]);
2699
2951
  var onFilterKeyDown = react.useCallback(function (e) { return __awaiter(void 0, void 0, void 0, function () {
2700
2952
  var activeOptions;
2701
2953
  return __generator(this, function (_a) {
@@ -2712,7 +2964,7 @@ var GridFormDropDown = function (props) {
2712
2964
  stopEditing();
2713
2965
  return [3 /*break*/, 5];
2714
2966
  case 2:
2715
- if (!formProps.onSelectFilter) return [3 /*break*/, 4];
2967
+ if (!props.onSelectFilter) return [3 /*break*/, 4];
2716
2968
  return [4 /*yield*/, selectFilterHandler(filter)];
2717
2969
  case 3:
2718
2970
  _a.sent();
@@ -2725,26 +2977,27 @@ var GridFormDropDown = function (props) {
2725
2977
  case 5: return [2 /*return*/];
2726
2978
  }
2727
2979
  });
2728
- }); }, [filteredValues, options, selectItemHandler, selectFilterHandler, stopEditing, filter, formProps]);
2729
- return popoverWrapper(jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [formProps.filtered && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(FocusableItem, __assign({ className: "filter-item" }, { children: function (_a) {
2980
+ }); }, [filteredValues, options, selectItemHandler, selectFilterHandler, stopEditing, filter, props]);
2981
+ var popoverWrapper = useGridPopoverHook({ className: props.className }).popoverWrapper;
2982
+ return popoverWrapper(jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [props.filtered && (jsxRuntime.jsxs("div", __assign({ className: "GridFormDropDown-filter" }, { children: [jsxRuntime.jsx(FocusableItem, __assign({ className: "filter-item" }, { children: function (_a) {
2730
2983
  var _b;
2731
2984
  var ref = _a.ref;
2732
- return (jsxRuntime.jsx("div", __assign({ style: { display: "flex", width: "100%" } }, { children: jsxRuntime.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); } }) })));
2733
- } })), jsxRuntime.jsx(MenuDivider, {}, "$$divider_filter")] })), jsxRuntime.jsx(ComponentLoadingWrapper, __assign({ loading: !options }, { children: jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [options && options.length == (filteredValues === null || filteredValues === void 0 ? void 0 : filteredValues.length) && jsxRuntime.jsx(MenuItem, { children: "[Empty]" }), options === null || options === void 0 ? void 0 : options.map(function (item, index) {
2985
+ return (jsxRuntime.jsx("div", __assign({ style: { display: "flex", width: "100%" } }, { children: jsxRuntime.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); } }) })));
2986
+ } })), jsxRuntime.jsx(MenuDivider, {}, "$$divider_filter")] }))), jsxRuntime.jsx(ComponentLoadingWrapper, __assign({ loading: !options, className: "GridFormDropDown-options" }, { children: jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [options && options.length == (filteredValues === null || filteredValues === void 0 ? void 0 : filteredValues.length) && jsxRuntime.jsx(MenuItem, { children: "[Empty]" }), options === null || options === void 0 ? void 0 : options.map(function (item, index) {
2734
2987
  var _a;
2735
- return item.value === MenuSeparatorString ? (jsxRuntime.jsx(MenuDivider, {}, "$$divider_".concat(index))) : filteredValues.includes(item.value) ? null : (jsxRuntime.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)));
2988
+ return item.value === MenuSeparatorString ? (jsxRuntime.jsx(MenuDivider, {}, "$$divider_".concat(index))) : item.value === MenuHeaderString ? (jsxRuntime.jsx(MenuHeader, { children: item.label })) : filteredValues.includes(item.value) ? null : (jsxRuntime.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)));
2736
2989
  })] }) }))] }));
2737
2990
  };
2738
2991
 
2739
2992
  var GridFormMultiSelect = function (props) {
2740
- var formProps = props.formProps;
2993
+ var selectedRows = props.selectedRows;
2741
2994
  var _a = react.useState(""), filter = _a[0], setFilter = _a[1];
2742
2995
  var _b = react.useState([]), filteredValues = _b[0], setFilteredValues = _b[1];
2743
2996
  var optionsInitialising = react.useRef(false);
2744
2997
  var _c = react.useState(), options = _c[0], setOptions = _c[1];
2745
2998
  var subSelectedValues = react.useRef({});
2746
2999
  var _d = react.useState(function () {
2747
- return formProps.initialSelectedValues ? formProps.initialSelectedValues(props.selectedRows) : [];
3000
+ return props.initialSelectedValues ? props.initialSelectedValues(selectedRows) : [];
2748
3001
  }), selectedValues = _d[0], setSelectedValues = _d[1];
2749
3002
  var save = react.useCallback(function (selectedRows) { return __awaiter(void 0, void 0, void 0, function () {
2750
3003
  var values;
@@ -2752,28 +3005,27 @@ var GridFormMultiSelect = function (props) {
2752
3005
  switch (_a.label) {
2753
3006
  case 0:
2754
3007
  values = lodashEs.fromPairs(selectedValues.map(function (value) { var _a; return [value, (_a = subSelectedValues.current[value]) !== null && _a !== void 0 ? _a : true]; }));
2755
- if (!formProps.onSave) return [3 /*break*/, 2];
2756
- return [4 /*yield*/, formProps.onSave({ selectedRows: selectedRows, values: values })];
3008
+ if (!props.onSave) return [3 /*break*/, 2];
3009
+ return [4 /*yield*/, props.onSave({ selectedRows: selectedRows, values: values })];
2757
3010
  case 1: return [2 /*return*/, _a.sent()];
2758
3011
  case 2: return [2 /*return*/, true];
2759
3012
  }
2760
3013
  });
2761
- }); }, [formProps, selectedValues]);
2762
- var _e = useGridPopoverHook(props, save), popoverWrapper = _e.popoverWrapper, triggerSave = _e.triggerSave;
3014
+ }); }, [props, selectedValues]);
2763
3015
  // Load up options list if it's async function
2764
3016
  react.useEffect(function () {
2765
3017
  var _a;
2766
3018
  if (options || optionsInitialising.current)
2767
3019
  return;
2768
3020
  optionsInitialising.current = true;
2769
- var optionsConf = (_a = formProps.options) !== null && _a !== void 0 ? _a : [];
3021
+ var optionsConf = (_a = props.options) !== null && _a !== void 0 ? _a : [];
2770
3022
  (function () { return __awaiter(void 0, void 0, void 0, function () {
2771
3023
  var optionsList;
2772
3024
  return __generator(this, function (_a) {
2773
3025
  switch (_a.label) {
2774
3026
  case 0:
2775
3027
  if (!(typeof optionsConf == "function")) return [3 /*break*/, 2];
2776
- return [4 /*yield*/, optionsConf(props.selectedRows)];
3028
+ return [4 /*yield*/, optionsConf(selectedRows)];
2777
3029
  case 1:
2778
3030
  optionsConf = _a.sent();
2779
3031
  _a.label = 2;
@@ -2784,7 +3036,7 @@ var GridFormMultiSelect = function (props) {
2784
3036
  }
2785
3037
  return item;
2786
3038
  });
2787
- if (formProps.filtered) {
3039
+ if (props.filtered) {
2788
3040
  // This is needed otherwise when filter input is rendered and sets autofocus
2789
3041
  // the mouse up of the double click edit triggers the cell to cancel editing
2790
3042
  lodashEs.delay(function () { return setOptions(optionsList); }, 100);
@@ -2797,9 +3049,9 @@ var GridFormMultiSelect = function (props) {
2797
3049
  }
2798
3050
  });
2799
3051
  }); })();
2800
- }, [formProps.filtered, formProps.options, options, props.selectedRows]);
3052
+ }, [props.filtered, props.options, options, selectedRows]);
2801
3053
  react.useEffect(function () {
2802
- if (!formProps.filtered || options == null)
3054
+ if (!props.filtered || options == null)
2803
3055
  return;
2804
3056
  setFilteredValues(options
2805
3057
  .map(function (option) {
@@ -2811,64 +3063,62 @@ var GridFormMultiSelect = function (props) {
2811
3063
  return str.toLowerCase().indexOf(filter.trim()) === -1 ? option.value : undefined;
2812
3064
  })
2813
3065
  .filter(function (r) { return r !== undefined; }));
2814
- }, [formProps.filtered, filter, options]);
2815
- return popoverWrapper(jsxRuntime.jsx(ComponentLoadingWrapper, __assign({ loading: !options }, { children: jsxRuntime.jsxs("div", __assign({ className: "Grid-popoverContainerList" }, { children: [options && formProps.filtered && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(FocusableItem, __assign({ className: "filter-item" }, { children: function (_a) {
3066
+ }, [props.filtered, filter, options]);
3067
+ var _e = useGridPopoverHook({ className: props.className, save: save }), popoverWrapper = _e.popoverWrapper, triggerSave = _e.triggerSave;
3068
+ return popoverWrapper(jsxRuntime.jsx(ComponentLoadingWrapper, __assign({ loading: !options, className: "GridFormMultiSelect-container" }, { children: jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [options && props.filtered && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(FocusableItem, __assign({ className: "filter-item" }, { children: function (_a) {
2816
3069
  var _b;
2817
3070
  var ref = _a.ref;
2818
- return (jsxRuntime.jsx("div", __assign({ style: { display: "flex", width: "100%" } }, { children: jsxRuntime.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()); } }) })));
2819
- } }), "filter"), jsxRuntime.jsx(MenuDivider, {}, "$$divider_filter")] })), options === null || options === void 0 ? void 0 : options.map(function (item, index) {
2820
- var _a;
2821
- return item.value === MenuSeparatorString ? (jsxRuntime.jsx(MenuDivider, {}, "$$divider_".concat(index))) : filteredValues.includes(item.value) ? null : (jsxRuntime.jsxs(react.Fragment, { children: [jsxRuntime.jsx(MenuItem, __assign({ onClick: function (e) {
2822
- e.keepOpen = true;
2823
- if (selectedValues.includes(item.value)) {
2824
- setSelectedValues(selectedValues.filter(function (value) { return value != item.value; }));
2825
- }
2826
- else {
2827
- setSelectedValues(__spreadArray(__spreadArray([], selectedValues, true), [item.value], false));
2828
- }
2829
- }, onKeyDown: function (e) { return __awaiter(void 0, void 0, void 0, function () {
2830
- return __generator(this, function (_a) {
2831
- if (e.key === "Enter")
2832
- triggerSave().then();
2833
- else if (e.key === " ") {
2834
- if (selectedValues.includes(item.value)) {
2835
- setSelectedValues(selectedValues.filter(function (value) { return value != item.value; }));
2836
- }
2837
- else {
2838
- setSelectedValues(__spreadArray(__spreadArray([], selectedValues, true), [item.value], false));
2839
- }
2840
- e.preventDefault();
2841
- e.stopPropagation();
3071
+ return (jsxRuntime.jsx("div", __assign({ style: { display: "flex", width: "100%" }, className: "GridFormMultiSelect-filter" }, { children: jsxRuntime.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()); } }) })));
3072
+ } }), "filter"), jsxRuntime.jsx(MenuDivider, {}, "$$divider_filter")] })), jsxRuntime.jsx("div", __assign({ className: "GridFormMultiSelect-options" }, { children: options === null || options === void 0 ? void 0 : options.map(function (item, index) {
3073
+ var _a;
3074
+ return item.value === MenuSeparatorString ? (jsxRuntime.jsx(MenuDivider, {}, "$$divider_".concat(index))) : filteredValues.includes(item.value) ? null : (jsxRuntime.jsxs("div", { children: [jsxRuntime.jsx(MenuItem, __assign({ onClick: function (e) {
3075
+ e.keepOpen = true;
3076
+ if (selectedValues.includes(item.value)) {
3077
+ setSelectedValues(selectedValues.filter(function (value) { return value != item.value; }));
2842
3078
  }
2843
- return [2 /*return*/];
2844
- });
2845
- }); } }, { children: jsxRuntime.jsx(lui.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: {
2846
- onClick: function (e) {
2847
- e.preventDefault();
2848
- e.stopPropagation();
2849
- return false;
3079
+ else {
3080
+ setSelectedValues(__spreadArray(__spreadArray([], selectedValues, true), [item.value], false));
2850
3081
  }
2851
- }, onChange: function () {
2852
- /*Do nothing, change handled by menuItem*/
2853
- } }) }), "".concat(index)), selectedValues.includes(item.value) && item.subComponent && (jsxRuntime.jsx(FocusableItem, __assign({ className: "LuiDeprecatedForms" }, { children: function (ref) {
2854
- return item.subComponent &&
2855
- item.subComponent({
2856
- setValue: function (value) {
2857
- subSelectedValues.current[item.value] = value;
3082
+ }, onKeyDown: function (e) { return __awaiter(void 0, void 0, void 0, function () {
3083
+ return __generator(this, function (_a) {
3084
+ if (e.key === "Enter")
3085
+ triggerSave().then();
3086
+ else if (e.key === " ") {
3087
+ if (selectedValues.includes(item.value)) {
3088
+ setSelectedValues(selectedValues.filter(function (value) { return value != item.value; }));
3089
+ }
3090
+ else {
3091
+ setSelectedValues(__spreadArray(__spreadArray([], selectedValues, true), [item.value], false));
3092
+ }
3093
+ e.preventDefault();
3094
+ e.stopPropagation();
3095
+ }
3096
+ return [2 /*return*/];
3097
+ });
3098
+ }); } }, { children: jsxRuntime.jsx(lui.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: {
3099
+ onClick: function (e) {
3100
+ e.preventDefault();
3101
+ e.stopPropagation();
3102
+ return false;
2858
3103
  }
2859
- }, ref);
2860
- } }), "".concat(item.value, "_subcomponent")))] }, "".concat(index)));
2861
- })] })) })));
3104
+ }, onChange: function () {
3105
+ /*Do nothing, change handled by menuItem*/
3106
+ } }) }), "".concat(index)), selectedValues.includes(item.value) && item.subComponent && (jsxRuntime.jsx(FocusableItem, __assign({ className: "LuiDeprecatedForms" }, { children: function (ref) {
3107
+ return item.subComponent &&
3108
+ item.subComponent({
3109
+ setValue: function (value) {
3110
+ subSelectedValues.current[item.value] = value;
3111
+ }
3112
+ }, ref);
3113
+ } }), "".concat(item.value, "_subcomponent")))] }, "".concat(index)));
3114
+ }) }))] }) })));
2862
3115
  };
2863
3116
 
2864
- var GridPopoutEditMultiSelect = function (colDef) {
2865
- var _a;
2866
- 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) && {
2867
- cellEditorParams: __assign(__assign({}, colDef.cellEditorParams), { form: GridFormMultiSelect })
2868
- })));
3117
+ var GridPopoutEditMultiSelect = function (colDef, props) {
3118
+ 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) }));
2869
3119
  };
2870
3120
 
2871
- 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}";
3121
+ var css_248z$2 = ".GridPopoutMenu-burger{cursor:pointer}.GridPopoutMenu-burger svg{fill:#007198}.GridPopoutMenu-burgerDisabled svg{fill:#989189}";
2872
3122
  styleInject(css_248z$2);
2873
3123
 
2874
3124
  /** Menu configuration types **/
@@ -2877,8 +3127,8 @@ var PopoutMenuSeparator = Object.freeze({ __isMenuSeparator__: true });
2877
3127
  * NOTE: If the popout menu doesn't appear on single click when also selecting row it's because
2878
3128
  * you need a useMemo around your columnDefs
2879
3129
  */
2880
- var GridFormPopoutMenu = function (props) {
2881
- var formProps = props.formProps;
3130
+ var GridFormPopoutMenu = function (_props) {
3131
+ var props = _props;
2882
3132
  var updatingCells = react.useContext(GridContext).updatingCells;
2883
3133
  var optionsInitialising = react.useRef(false);
2884
3134
  var _a = react.useState(), options = _a[0], setOptions = _a[1];
@@ -2888,7 +3138,7 @@ var GridFormPopoutMenu = function (props) {
2888
3138
  if (options || optionsInitialising.current)
2889
3139
  return;
2890
3140
  optionsInitialising.current = true;
2891
- var optionsConf = (_a = formProps.options) !== null && _a !== void 0 ? _a : [];
3141
+ var optionsConf = (_a = props.options) !== null && _a !== void 0 ? _a : [];
2892
3142
  (function () { return __awaiter(void 0, void 0, void 0, function () {
2893
3143
  var _a;
2894
3144
  return __generator(this, function (_b) {
@@ -2909,7 +3159,7 @@ var GridFormPopoutMenu = function (props) {
2909
3159
  }
2910
3160
  });
2911
3161
  }); })();
2912
- }, [options, formProps.options, props.selectedRows]);
3162
+ }, [options, props.options, props.selectedRows]);
2913
3163
  var actionClick = react.useCallback(function (menuOption) { return __awaiter(void 0, void 0, void 0, function () {
2914
3164
  return __generator(this, function (_a) {
2915
3165
  switch (_a.label) {
@@ -2937,23 +3187,21 @@ var GridFormPopoutMenu = function (props) {
2937
3187
  var filteredOptions = options === null || options === void 0 ? void 0 : options.filter(function (menuOption) {
2938
3188
  return menuOption.label === PopoutMenuSeparator || selectedRowCount === 1 || menuOption.supportsMultiEdit;
2939
3189
  });
2940
- var popoverWrapper = useGridPopoverHook(props).popoverWrapper;
2941
- return popoverWrapper(jsxRuntime.jsx(ComponentLoadingWrapper, __assign({ loading: !filteredOptions }, { children: jsxRuntime.jsx("div", __assign({ className: "Grid-popoverContainerList" }, { children: options === null || options === void 0 ? void 0 : options.map(function (item, index) {
3190
+ var popoverWrapper = useGridPopoverHook({ className: props.className }).popoverWrapper;
3191
+ return popoverWrapper(jsxRuntime.jsx(ComponentLoadingWrapper, __assign({ loading: !filteredOptions, className: "GridFormPopupMenu" }, { children: jsxRuntime.jsx(jsxRuntime.Fragment, { children: options === null || options === void 0 ? void 0 : options.map(function (item, index) {
2942
3192
  return item.label === PopoutMenuSeparator ? (jsxRuntime.jsx(MenuDivider, {}, "$$divider_".concat(index))) : (!item.hidden && (jsxRuntime.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))));
2943
- }) })) })));
3193
+ }) }) })));
2944
3194
  };
2945
3195
 
2946
3196
  /**
2947
3197
  * Popout burger menu
2948
3198
  */
2949
- var GridPopoverMenu = function (colDef) {
3199
+ var GridPopoverMenu = function (colDef, props) {
2950
3200
  var _a;
2951
- 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: {
3201
+ 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: {
2952
3202
  // Menus open on single click, this parameter is picked up in Grid.tsx
2953
3203
  singleClickEdit: true
2954
- } }), ((colDef === null || colDef === void 0 ? void 0 : colDef.cellEditorParams) && {
2955
- cellEditorParams: __assign(__assign({ multiEdit: true }, colDef.cellEditorParams), { form: GridFormPopoutMenu })
2956
- })));
3204
+ } }), __assign({ editor: GridFormPopoutMenu }, props));
2957
3205
  };
2958
3206
 
2959
3207
  var bearingValueFormatter = function (params) {
@@ -3034,19 +3282,19 @@ var convertDDToDMS = function (dd, showPositiveSymbol, addTrailingZeros) {
3034
3282
  return dmsString;
3035
3283
  };
3036
3284
 
3037
- var css_248z$1 = ".GridFormEditBearing-input {\n width: 320px;\n}";
3285
+ var css_248z$1 = ".GridFormEditBearing-input{width:320px}";
3038
3286
  styleInject(css_248z$1);
3039
3287
 
3040
- 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}";
3288
+ var css_248z = ".LuiTextInput{margin-bottom:0}.LuiTextInput-formatted{color:#beb9b4;line-height:48px;position:absolute;right:14px;top:0}";
3041
3289
  styleInject(css_248z);
3042
3290
 
3043
3291
  var TextInputFormatted = function (props) {
3044
3292
  return (jsxRuntime.jsxs("div", __assign({ className: clsx("LuiTextInput Grid-popoverContainer", props.error && "hasError", props.warning && "hasWarning", props.className) }, { children: [jsxRuntime.jsxs("span", __assign({ className: "LuiTextInput-inputWrapper" }, { children: [jsxRuntime.jsx("input", __assign({ type: "text", className: "LuiTextInput-input", min: "0", value: props.value, onChange: props.onChange }, props.inputProps)), jsxRuntime.jsx("span", __assign({ className: "LuiTextInput-formatted" }, { children: props.formatted }))] })), props.error && (jsxRuntime.jsxs("span", __assign({ className: "LuiTextInput-error" }, { children: [jsxRuntime.jsx(lui.LuiIcon, { alt: "error", name: "ic_error", className: "LuiTextInput-error-icon", size: "sm", status: "error" }), props.error] }))), props.warning && (jsxRuntime.jsxs("span", __assign({ className: "LuiTextInput-warning" }, { children: [jsxRuntime.jsx(lui.LuiIcon, { alt: "warning", name: "ic_warning", className: "LuiTextInput-warning-icon", size: "sm", status: "warning" }), props.warning] })))] })));
3045
3293
  };
3046
3294
 
3047
- var GridFormEditBearing = function (props) {
3295
+ var GridFormEditBearing = function (_props) {
3048
3296
  var _a;
3049
- var formProps = props.formProps;
3297
+ var props = _props;
3050
3298
  var _b = react.useState("".concat((_a = props.value) !== null && _a !== void 0 ? _a : "")), value = _b[0], setValue = _b[1];
3051
3299
  var save = react.useCallback(function (selectedRows) { return __awaiter(void 0, void 0, void 0, function () {
3052
3300
  var parsedValue, field_1;
@@ -3060,8 +3308,8 @@ var GridFormEditBearing = function (props) {
3060
3308
  if (parsedValue === props.value) {
3061
3309
  return [2 /*return*/, true];
3062
3310
  }
3063
- if (!formProps.onSave) return [3 /*break*/, 2];
3064
- return [4 /*yield*/, formProps.onSave(selectedRows, parsedValue)];
3311
+ if (!props.onSave) return [3 /*break*/, 2];
3312
+ return [4 /*yield*/, props.onSave(selectedRows, parsedValue)];
3065
3313
  case 1: return [2 /*return*/, _a.sent()];
3066
3314
  case 2:
3067
3315
  field_1 = props.field;
@@ -3075,42 +3323,42 @@ var GridFormEditBearing = function (props) {
3075
3323
  case 3: return [2 /*return*/, true];
3076
3324
  }
3077
3325
  });
3078
- }); }, [formProps, props.field, props.value, value]);
3079
- var _c = useGridPopoverHook(props, save), popoverWrapper = _c.popoverWrapper, triggerSave = _c.triggerSave;
3326
+ }); }, [props, value]);
3327
+ var _c = useGridPopoverHook({ className: props.className, save: save }), triggerSave = _c.triggerSave, popoverWrapper = _c.popoverWrapper;
3080
3328
  return popoverWrapper(jsxRuntime.jsx("div", __assign({ className: "GridFormEditBearing-input Grid-popoverContainer" }, { children: jsxRuntime.jsx(TextInputFormatted, { value: value !== null && value !== void 0 ? value : "", onChange: function (e) {
3081
3329
  setValue(e.target.value.trim());
3082
3330
  }, inputProps: {
3083
3331
  autoFocus: true,
3084
- placeholder: formProps.placeHolder,
3332
+ placeholder: props.placeHolder,
3085
3333
  disabled: false,
3086
3334
  maxLength: 16,
3087
3335
  onKeyDown: function (e) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
3088
3336
  return [2 /*return*/, e.key === "Enter" && triggerSave().then()];
3089
3337
  }); }); }
3090
- }, formatted: bearingStringValidator(value, formProps.range) ? "?" : convertDDToDMS(bearingNumberParser(value)), error: bearingStringValidator(value, formProps.range) }) })));
3338
+ }, formatted: bearingStringValidator(value, props.range) ? "?" : convertDDToDMS(bearingNumberParser(value)), error: bearingStringValidator(value, props.range) }) })));
3091
3339
  };
3092
3340
 
3093
- var GridPopoverEditBearingLike = function (colDef) {
3094
- var _a;
3095
- 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) && {
3096
- cellEditorParams: __assign(__assign({}, colDef.cellEditorParams), { form: GridFormEditBearing })
3097
- })));
3341
+ var GridPopoverEditBearingLike = function (colDef, props) {
3342
+ return GridCell(__assign({ initialWidth: 65, maxWidth: 150, valueFormatter: bearingValueFormatter, cellClass: props.multiEdit ? GenericMultiEditCellClass : undefined }, colDef), __assign({ editor: GridFormEditBearing }, props));
3098
3343
  };
3099
- var GridPopoverEditBearing = function (colDef) {
3100
- var init = GridPopoverEditBearingLike(colDef);
3101
- return __assign(__assign({}, init), { valueFormatter: bearingValueFormatter, cellEditorParams: __assign({ range: function (value) {
3344
+ var GridPopoverEditBearing = function (colDef, props) {
3345
+ return GridPopoverEditBearingLike(__assign({ valueFormatter: bearingValueFormatter }, colDef), {
3346
+ multiEdit: !!props.multiEdit,
3347
+ editorParams: __assign({ placeHolder: "Enter bearing correction", range: function (value) {
3102
3348
  if (value === null)
3103
- return "Bearing is required";
3349
+ return "Bearing correction is required";
3104
3350
  if (value >= 360)
3105
- return "Bearing must be less than 360 degrees";
3351
+ return "Bearing correction must be less than 360 degrees";
3106
3352
  if (value < 0)
3107
- return "Bearing must not be negative";
3353
+ return "Bearing correction must not be negative";
3108
3354
  return null;
3109
- } }, init.cellEditorParams) });
3355
+ } }, props.editorParams)
3356
+ });
3110
3357
  };
3111
- var GridPopoverEditBearingCorrection = function (colDef) {
3112
- var init = GridPopoverEditBearingLike(colDef);
3113
- return __assign(__assign({}, init), { valueFormatter: bearingCorrectionValueFormatter, cellEditorParams: __assign({ range: function (value) {
3358
+ var GridPopoverEditBearingCorrection = function (colDef, props) {
3359
+ return GridPopoverEditBearingLike(__assign({ valueFormatter: bearingCorrectionValueFormatter }, colDef), {
3360
+ multiEdit: !!props.multiEdit,
3361
+ editorParams: __assign({ placeHolder: "Enter bearing correction", range: function (value) {
3114
3362
  if (value === null)
3115
3363
  return "Bearing is required";
3116
3364
  if (value >= 360)
@@ -3118,20 +3366,20 @@ var GridPopoverEditBearingCorrection = function (colDef) {
3118
3366
  if (value <= -180)
3119
3367
  return "Bearing must be greater then -180 degrees";
3120
3368
  return null;
3121
- } }, init.cellEditorParams) });
3369
+ } }, props.editorParams)
3370
+ });
3122
3371
  };
3123
3372
 
3124
- var GridPopoverEditDropDown = function (colDef) {
3125
- var _a;
3126
- 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) && {
3127
- cellEditorParams: __assign(__assign({}, colDef.cellEditorParams), { form: GridFormDropDown })
3128
- })));
3373
+ var GridPopoverEditDropDown = function (colDef, props) {
3374
+ return GridCell(__assign({ initialWidth: 65, maxWidth: 150, cellClass: props.multiEdit ? GenericMultiEditCellClass : undefined }, colDef), __assign(__assign({ editor: GridFormDropDown }, props), { editorParams: __assign({
3375
+ // Defaults to medium size container
3376
+ className: "GridPopoverEditDropDown-containerMedium" }, props.editorParams) }));
3129
3377
  };
3130
3378
 
3131
- var GridFormMessage = function (props) {
3132
- var formProps = props.formProps;
3379
+ var GridFormMessage = function (_props) {
3380
+ var props = _props;
3133
3381
  var _a = react.useState(null), message = _a[0], setMessage = _a[1];
3134
- var popoverWrapper = useGridPopoverHook(props).popoverWrapper;
3382
+ var popoverWrapper = useGridPopoverHook({ className: props.className }).popoverWrapper;
3135
3383
  react.useEffect(function () {
3136
3384
  (function () { return __awaiter(void 0, void 0, void 0, function () {
3137
3385
  var _a;
@@ -3139,28 +3387,88 @@ var GridFormMessage = function (props) {
3139
3387
  switch (_b.label) {
3140
3388
  case 0:
3141
3389
  _a = setMessage;
3142
- return [4 /*yield*/, formProps.message(props.selectedRows, props.cellEditorParams)];
3390
+ return [4 /*yield*/, props.message(props)];
3143
3391
  case 1:
3144
3392
  _a.apply(void 0, [_b.sent()]);
3145
3393
  return [2 /*return*/];
3146
3394
  }
3147
3395
  });
3148
3396
  }); })().then();
3149
- }, [formProps, props.selectedRows, props]);
3150
- return popoverWrapper(jsxRuntime.jsx(ComponentLoadingWrapper, __assign({ loading: message === null }, { children: jsxRuntime.jsx("div", __assign({ style: { maxWidth: 400 }, className: "Grid-popoverContainer" }, { children: message })) })));
3397
+ }, [props]);
3398
+ return popoverWrapper(jsxRuntime.jsx(ComponentLoadingWrapper, __assign({ loading: message === null, className: clsx("GridFormMessage-container", props.className) }, { children: jsxRuntime.jsx(jsxRuntime.Fragment, { children: message }) })));
3151
3399
  };
3152
3400
 
3153
- var GridPopoverMessage = function (colDef) {
3154
- var _a;
3155
- return GridCell(__assign(__assign(__assign({ maxWidth: 140 }, colDef), { cellRendererParams: (_a = colDef.cellRendererParams) !== null && _a !== void 0 ? _a : {
3156
- singleClickEdit: true
3157
- } }), ((colDef === null || colDef === void 0 ? void 0 : colDef.cellEditorParams) && {
3158
- cellEditorParams: __assign(__assign({}, colDef.cellEditorParams), { form: GridFormMessage })
3159
- })));
3401
+ var GridPopoverMessage = function (colDef, props) {
3402
+ return GridCell(__assign(__assign({ maxWidth: 140 }, colDef), { cellRendererParams: __assign({ singleClickEdit: true }, colDef.cellRendererParams) }), __assign({ editor: GridFormMessage }, props));
3160
3403
  };
3161
3404
 
3405
+ // Unique ID creation requires a high quality random # generator. In the browser we therefore
3406
+ // require the crypto API and do not support built-in fallback to lower quality random number
3407
+ // generators (like Math.random()).
3408
+ let getRandomValues;
3409
+ const rnds8 = new Uint8Array(16);
3410
+ function rng() {
3411
+ // lazy load so that environments that need to polyfill have a chance to do so
3412
+ if (!getRandomValues) {
3413
+ // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation.
3414
+ getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);
3415
+
3416
+ if (!getRandomValues) {
3417
+ throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
3418
+ }
3419
+ }
3420
+
3421
+ return getRandomValues(rnds8);
3422
+ }
3423
+
3424
+ /**
3425
+ * Convert array of 16 byte values to UUID string format of the form:
3426
+ * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
3427
+ */
3428
+
3429
+ const byteToHex = [];
3430
+
3431
+ for (let i = 0; i < 256; ++i) {
3432
+ byteToHex.push((i + 0x100).toString(16).slice(1));
3433
+ }
3434
+
3435
+ function unsafeStringify(arr, offset = 0) {
3436
+ // Note: Be careful editing this code! It's been tuned for performance
3437
+ // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
3438
+ 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();
3439
+ }
3440
+
3441
+ const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
3442
+ var native = {
3443
+ randomUUID
3444
+ };
3445
+
3446
+ function v4(options, buf, offset) {
3447
+ if (native.randomUUID && !buf && !options) {
3448
+ return native.randomUUID();
3449
+ }
3450
+
3451
+ options = options || {};
3452
+ const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
3453
+
3454
+ rnds[6] = rnds[6] & 0x0f | 0x40;
3455
+ rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
3456
+
3457
+ if (buf) {
3458
+ offset = offset || 0;
3459
+
3460
+ for (let i = 0; i < 16; ++i) {
3461
+ buf[offset + i] = rnds[i];
3462
+ }
3463
+
3464
+ return buf;
3465
+ }
3466
+
3467
+ return unsafeStringify(rnds);
3468
+ }
3469
+
3162
3470
  var useGenerateOrDefaultId = function (idFromProps) {
3163
- var id = react.useState(idFromProps ? idFromProps : uuid.v4())[0];
3471
+ var id = react.useState(idFromProps ? idFromProps : v4())[0];
3164
3472
  return id;
3165
3473
  };
3166
3474
  var TextAreaInput = function (props) {
@@ -3169,22 +3477,22 @@ var TextAreaInput = function (props) {
3169
3477
  return (jsxRuntime.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: [jsxRuntime.jsxs("label", __assign({ htmlFor: id }, { children: [props.mandatory && jsxRuntime.jsx("span", __assign({ className: "LuiTextAreaInput-mandatory" }, { children: "*" })), props.label && jsxRuntime.jsx("span", __assign({ className: "LuiTextAreaInput-label" }, { children: props.label })), jsxRuntime.jsxs("div", __assign({ className: "LuiTextAreaInput-wrapper" }, { children: [" ", jsxRuntime.jsx("textarea", __assign({ id: id, value: props.value, onChange: props.onChange, rows: 5 }, props.inputProps))] }))] })), props.error && (jsxRuntime.jsxs("span", __assign({ className: "LuiTextAreaInput-error" }, { children: [jsxRuntime.jsx(lui.LuiIcon, { alt: "error", name: "ic_error", className: "LuiTextAreaInput-error-icon", size: "sm", status: "error" }), props.error] })))] })));
3170
3478
  };
3171
3479
 
3172
- var GridFormTextArea = function (props) {
3480
+ var GridFormTextArea = function (_props) {
3173
3481
  var _a, _b;
3174
- var formProps = props.formProps;
3482
+ var props = _props;
3175
3483
  var _c = react.useState((_a = props.value) !== null && _a !== void 0 ? _a : ""), value = _c[0], setValue = _c[1];
3176
3484
  var invalid = react.useCallback(function () {
3177
- if (formProps.required && value.length == 0) {
3485
+ if (props.required && value.length == 0) {
3178
3486
  return "Some text is required";
3179
3487
  }
3180
- if (formProps.maxlength && value.length > formProps.maxlength) {
3181
- return "Text must be no longer than ".concat(formProps.maxlength, " characters");
3488
+ if (props.maxlength && value.length > props.maxlength) {
3489
+ return "Text must be no longer than ".concat(props.maxlength, " characters");
3182
3490
  }
3183
- if (formProps.validate) {
3184
- return formProps.validate(value);
3491
+ if (props.validate) {
3492
+ return props.validate(value);
3185
3493
  }
3186
3494
  return null;
3187
- }, [formProps, value]);
3495
+ }, [props, value]);
3188
3496
  var save = react.useCallback(function (selectedRows) { return __awaiter(void 0, void 0, void 0, function () {
3189
3497
  var field;
3190
3498
  return __generator(this, function (_a) {
@@ -3194,8 +3502,8 @@ var GridFormTextArea = function (props) {
3194
3502
  return [2 /*return*/, false];
3195
3503
  if (props.value === (value !== null && value !== void 0 ? value : ""))
3196
3504
  return [2 /*return*/, true];
3197
- if (!formProps.onSave) return [3 /*break*/, 2];
3198
- return [4 /*yield*/, formProps.onSave(selectedRows, value)];
3505
+ if (!props.onSave) return [3 /*break*/, 2];
3506
+ return [4 /*yield*/, props.onSave(selectedRows, value)];
3199
3507
  case 1: return [2 /*return*/, _a.sent()];
3200
3508
  case 2:
3201
3509
  field = props.field;
@@ -3207,35 +3515,33 @@ var GridFormTextArea = function (props) {
3207
3515
  return [2 /*return*/, true];
3208
3516
  }
3209
3517
  });
3210
- }); }, [formProps, invalid, props.field, props.value, value]);
3211
- var popoverWrapper = useGridPopoverHook(props, save).popoverWrapper;
3212
- return popoverWrapper(jsxRuntime.jsx("div", __assign({ style: { display: "flex", flexDirection: "row", width: (_b = formProps.width) !== null && _b !== void 0 ? _b : 240 }, className: "FormTest" }, { children: jsxRuntime.jsx(TextAreaInput, { value: value, onChange: function (e) { return setValue(e.target.value); }, error: invalid(), inputProps: { placeholder: formProps.placeholder } }) })));
3518
+ }); }, [props, invalid, value]);
3519
+ var popoverWrapper = useGridPopoverHook({ className: props.className, save: save }).popoverWrapper;
3520
+ return popoverWrapper(jsxRuntime.jsx("div", __assign({ style: { display: "flex", flexDirection: "row", width: (_b = props.width) !== null && _b !== void 0 ? _b : 240 } }, { children: jsxRuntime.jsx(TextAreaInput, { value: value, onChange: function (e) { return setValue(e.target.value); }, error: invalid(), inputProps: { placeholder: props.placeholder } }) })));
3213
3521
  };
3214
3522
 
3215
- var GridPopoverTextArea = function (colDef) {
3216
- return GridCell(__assign(__assign({ maxWidth: 260 }, colDef), ((colDef === null || colDef === void 0 ? void 0 : colDef.cellEditorParams) && {
3217
- cellEditorParams: __assign(__assign({ width: 260 }, colDef.cellEditorParams), { form: GridFormTextArea })
3218
- })));
3523
+ var GridPopoverTextArea = function (colDef, params) {
3524
+ return GridCell(__assign({ maxWidth: 260 }, colDef), __assign({ editor: GridFormTextArea }, params));
3219
3525
  };
3220
3526
 
3221
- var GridFormTextInput = function (props) {
3527
+ var GridFormTextInput = function (_props) {
3222
3528
  var _a;
3223
- var formProps = props.formProps;
3529
+ var props = _props;
3224
3530
  var initValue = props.value == null ? "" : "".concat(props.value);
3225
3531
  var _b = react.useState(initValue), value = _b[0], setValue = _b[1];
3226
3532
  var invalid = react.useCallback(function () {
3227
3533
  var trimmedValue = value.trim();
3228
- if (formProps.required && trimmedValue.length == 0) {
3534
+ if (props.required && trimmedValue.length == 0) {
3229
3535
  return "Some text is required";
3230
3536
  }
3231
- if (formProps.maxlength && trimmedValue.length > formProps.maxlength) {
3232
- return "Text must be no longer than ".concat(formProps.maxlength, " characters");
3537
+ if (props.maxlength && trimmedValue.length > props.maxlength) {
3538
+ return "Text must be no longer than ".concat(props.maxlength, " characters");
3233
3539
  }
3234
- if (formProps.validate) {
3235
- return formProps.validate(trimmedValue, props.data);
3540
+ if (props.validate) {
3541
+ return props.validate(trimmedValue, props.data);
3236
3542
  }
3237
3543
  return null;
3238
- }, [formProps, value]);
3544
+ }, [props, value]);
3239
3545
  var save = react.useCallback(function (selectedRows) { return __awaiter(void 0, void 0, void 0, function () {
3240
3546
  var trimmedValue, field;
3241
3547
  return __generator(this, function (_a) {
@@ -3246,8 +3552,8 @@ var GridFormTextInput = function (props) {
3246
3552
  trimmedValue = value.trim();
3247
3553
  if (initValue === trimmedValue)
3248
3554
  return [2 /*return*/, true];
3249
- if (!formProps.onSave) return [3 /*break*/, 2];
3250
- return [4 /*yield*/, formProps.onSave(selectedRows, trimmedValue)];
3555
+ if (!props.onSave) return [3 /*break*/, 2];
3556
+ return [4 /*yield*/, props.onSave(selectedRows, trimmedValue)];
3251
3557
  case 1: return [2 /*return*/, _a.sent()];
3252
3558
  case 2:
3253
3559
  field = props.field;
@@ -3259,21 +3565,19 @@ var GridFormTextInput = function (props) {
3259
3565
  return [2 /*return*/, true];
3260
3566
  }
3261
3567
  });
3262
- }); }, [invalid, value, initValue, formProps, props.field]);
3263
- var _c = useGridPopoverHook(props, save), popoverWrapper = _c.popoverWrapper, triggerSave = _c.triggerSave;
3264
- return popoverWrapper(jsxRuntime.jsx("div", __assign({ style: { display: "flex", flexDirection: "row", width: (_a = formProps.width) !== null && _a !== void 0 ? _a : 240 }, className: "FormTest" }, { children: jsxRuntime.jsx(TextInputFormatted, { value: value, onChange: function (e) { return setValue(e.target.value); }, error: invalid(), formatted: formProps.units, inputProps: {
3568
+ }); }, [invalid, value, initValue, props]);
3569
+ var _c = useGridPopoverHook({ className: props.className, save: save }), popoverWrapper = _c.popoverWrapper, triggerSave = _c.triggerSave;
3570
+ return popoverWrapper(jsxRuntime.jsx("div", __assign({ style: { display: "flex", flexDirection: "row", width: (_a = props.width) !== null && _a !== void 0 ? _a : 240 }, className: "FormTest" }, { children: jsxRuntime.jsx(TextInputFormatted, { value: value, onChange: function (e) { return setValue(e.target.value); }, error: invalid(), formatted: props.units, inputProps: {
3265
3571
  style: { width: "100%" },
3266
- placeholder: formProps.placeholder,
3572
+ placeholder: props.placeholder,
3267
3573
  onKeyDown: function (e) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
3268
3574
  return [2 /*return*/, e.key === "Enter" && triggerSave().then()];
3269
3575
  }); }); }
3270
3576
  } }) })));
3271
3577
  };
3272
3578
 
3273
- var GridPopoverTextInput = function (colDef) {
3274
- return GridCell(__assign(__assign({ maxWidth: 140 }, colDef), ((colDef === null || colDef === void 0 ? void 0 : colDef.cellEditorParams) && {
3275
- cellEditorParams: __assign(__assign({ width: 240 }, colDef.cellEditorParams), { form: GridFormTextInput })
3276
- })));
3579
+ var GridPopoverTextInput = function (colDef, params) {
3580
+ return GridCell(__assign({ maxWidth: 140 }, colDef), __assign({ editor: GridFormTextInput }, params));
3277
3581
  };
3278
3582
 
3279
3583
  var GridSubComponentTextArea = function (props) {
@@ -3288,20 +3592,12 @@ exports.ComponentLoadingWrapper = ComponentLoadingWrapper;
3288
3592
  exports.ControlledMenu = ControlledMenu;
3289
3593
  exports.FocusableItem = FocusableItem;
3290
3594
  exports.GenericCellEditorComponent = GenericCellEditorComponent;
3291
- exports.GenericCellEditorComponentFr = GenericCellEditorComponentFr;
3292
3595
  exports.GenericMultiEditCellClass = GenericMultiEditCellClass;
3293
3596
  exports.Grid = Grid;
3294
3597
  exports.GridCell = GridCell;
3295
3598
  exports.GridCellRenderer = GridCellRenderer;
3296
3599
  exports.GridContext = GridContext;
3297
3600
  exports.GridContextProvider = GridContextProvider;
3298
- exports.GridFormDropDown = GridFormDropDown;
3299
- exports.GridFormEditBearing = GridFormEditBearing;
3300
- exports.GridFormMessage = GridFormMessage;
3301
- exports.GridFormMultiSelect = GridFormMultiSelect;
3302
- exports.GridFormPopoutMenu = GridFormPopoutMenu;
3303
- exports.GridFormTextArea = GridFormTextArea;
3304
- exports.GridFormTextInput = GridFormTextInput;
3305
3601
  exports.GridHeaderSelect = GridHeaderSelect;
3306
3602
  exports.GridIcon = GridIcon;
3307
3603
  exports.GridLoadableCell = GridLoadableCell;
@@ -3316,6 +3612,8 @@ exports.GridPopoverTextInput = GridPopoverTextInput;
3316
3612
  exports.GridRenderPopoutMenuCell = GridRenderPopoutMenuCell;
3317
3613
  exports.GridRendererGenericCell = GridRendererGenericCell;
3318
3614
  exports.GridSubComponentTextArea = GridSubComponentTextArea;
3615
+ exports.GridUpdatingContext = GridUpdatingContext;
3616
+ exports.GridUpdatingContextProvider = GridUpdatingContextProvider;
3319
3617
  exports.Menu = Menu;
3320
3618
  exports.MenuButton = MenuButton;
3321
3619
  exports.MenuDivider = MenuDivider;
@@ -3323,14 +3621,9 @@ exports.MenuGroup = MenuGroup;
3323
3621
  exports.MenuHeader = MenuHeader;
3324
3622
  exports.MenuItem = MenuItem;
3325
3623
  exports.MenuRadioGroup = MenuRadioGroup;
3326
- exports.MenuSeparator = MenuSeparator;
3327
- exports.MenuSeparatorString = MenuSeparatorString;
3328
- exports.PopoutMenuSeparator = PopoutMenuSeparator;
3329
3624
  exports.SubMenu = SubMenu;
3330
3625
  exports.TextAreaInput = TextAreaInput;
3331
3626
  exports.TextInputFormatted = TextInputFormatted;
3332
- exports.UpdatingContext = UpdatingContext;
3333
- exports.UpdatingContextProvider = UpdatingContextProvider;
3334
3627
  exports.bearingCorrectionValueFormatter = bearingCorrectionValueFormatter;
3335
3628
  exports.bearingNumberParser = bearingNumberParser;
3336
3629
  exports.bearingStringValidator = bearingStringValidator;