1 line
82 KiB
JSON
1 line
82 KiB
JSON
{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n/**\n * Feature:\n * - fixed not need to set width\n * - support `rowExpandable` to config row expand logic\n * - add `summary` to support `() => ReactNode`\n *\n * Update:\n * - `dataIndex` is `array[]` now\n * - `expandable` wrap all the expand related props\n *\n * Removed:\n * - expandIconAsCell\n * - useFixedHeader\n * - rowRef\n * - columns[number].onCellClick\n * - onRowClick\n * - onRowDoubleClick\n * - onRowMouseEnter\n * - onRowMouseLeave\n * - getBodyWrapper\n * - bodyStyle\n *\n * Deprecated:\n * - All expanded props, move into expandable\n */\n\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nimport { isStyleSupport } from \"rc-util/es/Dom/styleChecker\";\nimport { getTargetScrollBarSize } from \"rc-util/es/getScrollBarSize\";\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport getValue from \"rc-util/es/utils/get\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport Body from \"./Body\";\nimport ColGroup from \"./ColGroup\";\nimport { EXPAND_COLUMN, INTERNAL_HOOKS } from \"./constant\";\nimport TableContext, { makeImmutable } from \"./context/TableContext\";\nimport FixedHolder from \"./FixedHolder\";\nimport Footer, { FooterComponents } from \"./Footer\";\nimport Summary from \"./Footer/Summary\";\nimport Header from \"./Header/Header\";\nimport useColumns from \"./hooks/useColumns\";\nimport useExpand from \"./hooks/useExpand\";\nimport useFixedInfo from \"./hooks/useFixedInfo\";\nimport { useLayoutState, useTimeoutLock } from \"./hooks/useFrame\";\nimport useHover from \"./hooks/useHover\";\nimport useSticky from \"./hooks/useSticky\";\nimport useStickyOffsets from \"./hooks/useStickyOffsets\";\nimport Panel from \"./Panel\";\nimport StickyScrollBar from \"./stickyScrollBar\";\nimport Column from \"./sugar/Column\";\nimport ColumnGroup from \"./sugar/ColumnGroup\";\nimport { getColumnsKey, validateValue } from \"./utils/valueUtil\";\nexport var DEFAULT_PREFIX = 'rc-table';\n\n// Used for conditions cache\nvar EMPTY_DATA = [];\n\n// Used for customize scroll\nvar EMPTY_SCROLL_TARGET = {};\nfunction defaultEmpty() {\n return 'No Data';\n}\nfunction Table(tableProps, ref) {\n var _classNames;\n var props = _objectSpread({\n rowKey: 'key',\n prefixCls: DEFAULT_PREFIX,\n emptyText: defaultEmpty\n }, tableProps);\n var prefixCls = props.prefixCls,\n className = props.className,\n rowClassName = props.rowClassName,\n style = props.style,\n data = props.data,\n rowKey = props.rowKey,\n scroll = props.scroll,\n tableLayout = props.tableLayout,\n direction = props.direction,\n title = props.title,\n footer = props.footer,\n summary = props.summary,\n caption = props.caption,\n id = props.id,\n showHeader = props.showHeader,\n components = props.components,\n emptyText = props.emptyText,\n onRow = props.onRow,\n onHeaderRow = props.onHeaderRow,\n onScroll = props.onScroll,\n internalHooks = props.internalHooks,\n transformColumns = props.transformColumns,\n internalRefs = props.internalRefs,\n tailor = props.tailor,\n getContainerWidth = props.getContainerWidth,\n sticky = props.sticky,\n _props$rowHoverable = props.rowHoverable,\n rowHoverable = _props$rowHoverable === void 0 ? true : _props$rowHoverable;\n var mergedData = data || EMPTY_DATA;\n var hasData = !!mergedData.length;\n var useInternalHooks = internalHooks === INTERNAL_HOOKS;\n\n // ===================== Warning ======================\n if (process.env.NODE_ENV !== 'production') {\n ['onRowClick', 'onRowDoubleClick', 'onRowContextMenu', 'onRowMouseEnter', 'onRowMouseLeave'].forEach(function (name) {\n warning(props[name] === undefined, \"`\".concat(name, \"` is removed, please use `onRow` instead.\"));\n });\n warning(!('getBodyWrapper' in props), '`getBodyWrapper` is deprecated, please use custom `components` instead.');\n }\n\n // ==================== Customize =====================\n var getComponent = React.useCallback(function (path, defaultComponent) {\n return getValue(components, path) || defaultComponent;\n }, [components]);\n var getRowKey = React.useMemo(function () {\n if (typeof rowKey === 'function') {\n return rowKey;\n }\n return function (record) {\n var key = record && record[rowKey];\n if (process.env.NODE_ENV !== 'production') {\n warning(key !== undefined, 'Each record in table should have a unique `key` prop, or set `rowKey` to an unique primary key.');\n }\n return key;\n };\n }, [rowKey]);\n var customizeScrollBody = getComponent(['body']);\n\n // ====================== Hover =======================\n var _useHover = useHover(),\n _useHover2 = _slicedToArray(_useHover, 3),\n startRow = _useHover2[0],\n endRow = _useHover2[1],\n onHover = _useHover2[2];\n\n // ====================== Expand ======================\n var _useExpand = useExpand(props, mergedData, getRowKey),\n _useExpand2 = _slicedToArray(_useExpand, 6),\n expandableConfig = _useExpand2[0],\n expandableType = _useExpand2[1],\n mergedExpandedKeys = _useExpand2[2],\n mergedExpandIcon = _useExpand2[3],\n mergedChildrenColumnName = _useExpand2[4],\n onTriggerExpand = _useExpand2[5];\n\n // ====================== Column ======================\n var scrollX = scroll === null || scroll === void 0 ? void 0 : scroll.x;\n var _React$useState = React.useState(0),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n componentWidth = _React$useState2[0],\n setComponentWidth = _React$useState2[1];\n var _useColumns = useColumns(_objectSpread(_objectSpread(_objectSpread({}, props), expandableConfig), {}, {\n expandable: !!expandableConfig.expandedRowRender,\n columnTitle: expandableConfig.columnTitle,\n expandedKeys: mergedExpandedKeys,\n getRowKey: getRowKey,\n // https://github.com/ant-design/ant-design/issues/23894\n onTriggerExpand: onTriggerExpand,\n expandIcon: mergedExpandIcon,\n expandIconColumnIndex: expandableConfig.expandIconColumnIndex,\n direction: direction,\n scrollWidth: useInternalHooks && tailor && typeof scrollX === 'number' ? scrollX : null,\n clientWidth: componentWidth\n }), useInternalHooks ? transformColumns : null),\n _useColumns2 = _slicedToArray(_useColumns, 4),\n columns = _useColumns2[0],\n flattenColumns = _useColumns2[1],\n flattenScrollX = _useColumns2[2],\n hasGapFixed = _useColumns2[3];\n var mergedScrollX = flattenScrollX !== null && flattenScrollX !== void 0 ? flattenScrollX : scrollX;\n var columnContext = React.useMemo(function () {\n return {\n columns: columns,\n flattenColumns: flattenColumns\n };\n }, [columns, flattenColumns]);\n\n // ======================= Refs =======================\n var fullTableRef = React.useRef();\n var scrollHeaderRef = React.useRef();\n var scrollBodyRef = React.useRef();\n var scrollBodyContainerRef = React.useRef();\n React.useImperativeHandle(ref, function () {\n return {\n nativeElement: fullTableRef.current,\n scrollTo: function scrollTo(config) {\n var _scrollBodyRef$curren3;\n if (scrollBodyRef.current instanceof HTMLElement) {\n // Native scroll\n var index = config.index,\n top = config.top,\n key = config.key;\n if (top) {\n var _scrollBodyRef$curren;\n (_scrollBodyRef$curren = scrollBodyRef.current) === null || _scrollBodyRef$curren === void 0 || _scrollBodyRef$curren.scrollTo({\n top: top\n });\n } else {\n var _scrollBodyRef$curren2;\n var mergedKey = key !== null && key !== void 0 ? key : getRowKey(mergedData[index]);\n (_scrollBodyRef$curren2 = scrollBodyRef.current.querySelector(\"[data-row-key=\\\"\".concat(mergedKey, \"\\\"]\"))) === null || _scrollBodyRef$curren2 === void 0 || _scrollBodyRef$curren2.scrollIntoView();\n }\n } else if ((_scrollBodyRef$curren3 = scrollBodyRef.current) !== null && _scrollBodyRef$curren3 !== void 0 && _scrollBodyRef$curren3.scrollTo) {\n // Pass to proxy\n scrollBodyRef.current.scrollTo(config);\n }\n }\n };\n });\n\n // ====================== Scroll ======================\n var scrollSummaryRef = React.useRef();\n var _React$useState3 = React.useState(false),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n pingedLeft = _React$useState4[0],\n setPingedLeft = _React$useState4[1];\n var _React$useState5 = React.useState(false),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n pingedRight = _React$useState6[0],\n setPingedRight = _React$useState6[1];\n var _useLayoutState = useLayoutState(new Map()),\n _useLayoutState2 = _slicedToArray(_useLayoutState, 2),\n colsWidths = _useLayoutState2[0],\n updateColsWidths = _useLayoutState2[1];\n\n // Convert map to number width\n var colsKeys = getColumnsKey(flattenColumns);\n var pureColWidths = colsKeys.map(function (columnKey) {\n return colsWidths.get(columnKey);\n });\n var colWidths = React.useMemo(function () {\n return pureColWidths;\n }, [pureColWidths.join('_')]);\n var stickyOffsets = useStickyOffsets(colWidths, flattenColumns, direction);\n var fixHeader = scroll && validateValue(scroll.y);\n var horizonScroll = scroll && validateValue(mergedScrollX) || Boolean(expandableConfig.fixed);\n var fixColumn = horizonScroll && flattenColumns.some(function (_ref) {\n var fixed = _ref.fixed;\n return fixed;\n });\n\n // Sticky\n var stickyRef = React.useRef();\n var _useSticky = useSticky(sticky, prefixCls),\n isSticky = _useSticky.isSticky,\n offsetHeader = _useSticky.offsetHeader,\n offsetSummary = _useSticky.offsetSummary,\n offsetScroll = _useSticky.offsetScroll,\n stickyClassName = _useSticky.stickyClassName,\n container = _useSticky.container;\n\n // Footer (Fix footer must fixed header)\n var summaryNode = React.useMemo(function () {\n return summary === null || summary === void 0 ? void 0 : summary(mergedData);\n }, [summary, mergedData]);\n var fixFooter = (fixHeader || isSticky) && /*#__PURE__*/React.isValidElement(summaryNode) && summaryNode.type === Summary && summaryNode.props.fixed;\n\n // Scroll\n var scrollXStyle;\n var scrollYStyle;\n var scrollTableStyle;\n if (fixHeader) {\n scrollYStyle = {\n overflowY: 'scroll',\n maxHeight: scroll.y\n };\n }\n if (horizonScroll) {\n scrollXStyle = {\n overflowX: 'auto'\n };\n // When no vertical scrollbar, should hide it\n // https://github.com/ant-design/ant-design/pull/20705\n // https://github.com/ant-design/ant-design/issues/21879\n if (!fixHeader) {\n scrollYStyle = {\n overflowY: 'hidden'\n };\n }\n scrollTableStyle = {\n width: mergedScrollX === true ? 'auto' : mergedScrollX,\n minWidth: '100%'\n };\n }\n var onColumnResize = React.useCallback(function (columnKey, width) {\n if (isVisible(fullTableRef.current)) {\n updateColsWidths(function (widths) {\n if (widths.get(columnKey) !== width) {\n var newWidths = new Map(widths);\n newWidths.set(columnKey, width);\n return newWidths;\n }\n return widths;\n });\n }\n }, []);\n var _useTimeoutLock = useTimeoutLock(null),\n _useTimeoutLock2 = _slicedToArray(_useTimeoutLock, 2),\n setScrollTarget = _useTimeoutLock2[0],\n getScrollTarget = _useTimeoutLock2[1];\n function forceScroll(scrollLeft, target) {\n if (!target) {\n return;\n }\n if (typeof target === 'function') {\n target(scrollLeft);\n } else if (target.scrollLeft !== scrollLeft) {\n target.scrollLeft = scrollLeft;\n\n // Delay to force scroll position if not sync\n // ref: https://github.com/ant-design/ant-design/issues/37179\n if (target.scrollLeft !== scrollLeft) {\n setTimeout(function () {\n target.scrollLeft = scrollLeft;\n }, 0);\n }\n }\n }\n var onInternalScroll = useEvent(function (_ref2) {\n var currentTarget = _ref2.currentTarget,\n scrollLeft = _ref2.scrollLeft;\n var isRTL = direction === 'rtl';\n var mergedScrollLeft = typeof scrollLeft === 'number' ? scrollLeft : currentTarget.scrollLeft;\n var compareTarget = currentTarget || EMPTY_SCROLL_TARGET;\n if (!getScrollTarget() || getScrollTarget() === compareTarget) {\n var _stickyRef$current;\n setScrollTarget(compareTarget);\n forceScroll(mergedScrollLeft, scrollHeaderRef.current);\n forceScroll(mergedScrollLeft, scrollBodyRef.current);\n forceScroll(mergedScrollLeft, scrollSummaryRef.current);\n forceScroll(mergedScrollLeft, (_stickyRef$current = stickyRef.current) === null || _stickyRef$current === void 0 ? void 0 : _stickyRef$current.setScrollLeft);\n }\n var measureTarget = currentTarget || scrollHeaderRef.current;\n if (measureTarget) {\n var scrollWidth = measureTarget.scrollWidth,\n clientWidth = measureTarget.clientWidth;\n // There is no space to scroll\n if (scrollWidth === clientWidth) {\n setPingedLeft(false);\n setPingedRight(false);\n return;\n }\n if (isRTL) {\n setPingedLeft(-mergedScrollLeft < scrollWidth - clientWidth);\n setPingedRight(-mergedScrollLeft > 0);\n } else {\n setPingedLeft(mergedScrollLeft > 0);\n setPingedRight(mergedScrollLeft < scrollWidth - clientWidth);\n }\n }\n });\n var onBodyScroll = useEvent(function (e) {\n onInternalScroll(e);\n onScroll === null || onScroll === void 0 || onScroll(e);\n });\n var triggerOnScroll = function triggerOnScroll() {\n if (horizonScroll && scrollBodyRef.current) {\n onInternalScroll({\n currentTarget: scrollBodyRef.current\n });\n } else {\n setPingedLeft(false);\n setPingedRight(false);\n }\n };\n var onFullTableResize = function onFullTableResize(_ref3) {\n var _stickyRef$current2;\n var width = _ref3.width;\n (_stickyRef$current2 = stickyRef.current) === null || _stickyRef$current2 === void 0 || _stickyRef$current2.checkScrollBarVisible();\n var mergedWidth = fullTableRef.current ? fullTableRef.current.offsetWidth : width;\n if (useInternalHooks && getContainerWidth && fullTableRef.current) {\n mergedWidth = getContainerWidth(fullTableRef.current, mergedWidth) || mergedWidth;\n }\n if (mergedWidth !== componentWidth) {\n triggerOnScroll();\n setComponentWidth(mergedWidth);\n }\n };\n\n // Sync scroll bar when init or `horizonScroll`, `data` and `columns.length` changed\n var mounted = React.useRef(false);\n React.useEffect(function () {\n // onFullTableResize will be trigger once when ResizeObserver is mounted\n // This will reduce one duplicated triggerOnScroll time\n if (mounted.current) {\n triggerOnScroll();\n }\n }, [horizonScroll, data, columns.length]);\n React.useEffect(function () {\n mounted.current = true;\n }, []);\n\n // ===================== Effects ======================\n var _React$useState7 = React.useState(0),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n scrollbarSize = _React$useState8[0],\n setScrollbarSize = _React$useState8[1];\n var _React$useState9 = React.useState(true),\n _React$useState10 = _slicedToArray(_React$useState9, 2),\n supportSticky = _React$useState10[0],\n setSupportSticky = _React$useState10[1]; // Only IE not support, we mark as support first\n\n React.useEffect(function () {\n if (!tailor || !useInternalHooks) {\n if (scrollBodyRef.current instanceof Element) {\n setScrollbarSize(getTargetScrollBarSize(scrollBodyRef.current).width);\n } else {\n setScrollbarSize(getTargetScrollBarSize(scrollBodyContainerRef.current).width);\n }\n }\n setSupportSticky(isStyleSupport('position', 'sticky'));\n }, []);\n\n // ================== INTERNAL HOOKS ==================\n React.useEffect(function () {\n if (useInternalHooks && internalRefs) {\n internalRefs.body.current = scrollBodyRef.current;\n }\n });\n\n // ========================================================================\n // == Render ==\n // ========================================================================\n // =================== Render: Func ===================\n var renderFixedHeaderTable = React.useCallback(function (fixedHolderPassProps) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Header, fixedHolderPassProps), fixFooter === 'top' && /*#__PURE__*/React.createElement(Footer, fixedHolderPassProps, summaryNode));\n }, [fixFooter, summaryNode]);\n var renderFixedFooterTable = React.useCallback(function (fixedHolderPassProps) {\n return /*#__PURE__*/React.createElement(Footer, fixedHolderPassProps, summaryNode);\n }, [summaryNode]);\n\n // =================== Render: Node ===================\n var TableComponent = getComponent(['table'], 'table');\n\n // Table layout\n var mergedTableLayout = React.useMemo(function () {\n if (tableLayout) {\n return tableLayout;\n }\n // https://github.com/ant-design/ant-design/issues/25227\n // When scroll.x is max-content, no need to fix table layout\n // it's width should stretch out to fit content\n if (fixColumn) {\n return mergedScrollX === 'max-content' ? 'auto' : 'fixed';\n }\n if (fixHeader || isSticky || flattenColumns.some(function (_ref4) {\n var ellipsis = _ref4.ellipsis;\n return ellipsis;\n })) {\n return 'fixed';\n }\n return 'auto';\n }, [fixHeader, fixColumn, flattenColumns, tableLayout, isSticky]);\n var groupTableNode;\n\n // Header props\n var headerProps = {\n colWidths: colWidths,\n columCount: flattenColumns.length,\n stickyOffsets: stickyOffsets,\n onHeaderRow: onHeaderRow,\n fixHeader: fixHeader,\n scroll: scroll\n };\n\n // Empty\n var emptyNode = React.useMemo(function () {\n if (hasData) {\n return null;\n }\n if (typeof emptyText === 'function') {\n return emptyText();\n }\n return emptyText;\n }, [hasData, emptyText]);\n\n // Body\n var bodyTable = /*#__PURE__*/React.createElement(Body, {\n data: mergedData,\n measureColumnWidth: fixHeader || horizonScroll || isSticky\n });\n var bodyColGroup = /*#__PURE__*/React.createElement(ColGroup, {\n colWidths: flattenColumns.map(function (_ref5) {\n var width = _ref5.width;\n return width;\n }),\n columns: flattenColumns\n });\n var captionElement = caption !== null && caption !== undefined ? /*#__PURE__*/React.createElement(\"caption\", {\n className: \"\".concat(prefixCls, \"-caption\")\n }, caption) : undefined;\n var dataProps = pickAttrs(props, {\n data: true\n });\n var ariaProps = pickAttrs(props, {\n aria: true\n });\n if (fixHeader || isSticky) {\n // >>>>>> Fixed Header\n var bodyContent;\n if (typeof customizeScrollBody === 'function') {\n bodyContent = customizeScrollBody(mergedData, {\n scrollbarSize: scrollbarSize,\n ref: scrollBodyRef,\n onScroll: onInternalScroll\n });\n headerProps.colWidths = flattenColumns.map(function (_ref6, index) {\n var width = _ref6.width;\n var colWidth = index === flattenColumns.length - 1 ? width - scrollbarSize : width;\n if (typeof colWidth === 'number' && !Number.isNaN(colWidth)) {\n return colWidth;\n }\n if (process.env.NODE_ENV !== 'production') {\n warning(props.columns.length === 0, 'When use `components.body` with render props. Each column should have a fixed `width` value.');\n }\n return 0;\n });\n } else {\n bodyContent = /*#__PURE__*/React.createElement(\"div\", {\n style: _objectSpread(_objectSpread({}, scrollXStyle), scrollYStyle),\n onScroll: onBodyScroll,\n ref: scrollBodyRef,\n className: classNames(\"\".concat(prefixCls, \"-body\"))\n }, /*#__PURE__*/React.createElement(TableComponent, _extends({\n style: _objectSpread(_objectSpread({}, scrollTableStyle), {}, {\n tableLayout: mergedTableLayout\n })\n }, ariaProps), captionElement, bodyColGroup, bodyTable, !fixFooter && summaryNode && /*#__PURE__*/React.createElement(Footer, {\n stickyOffsets: stickyOffsets,\n flattenColumns: flattenColumns\n }, summaryNode)));\n }\n\n // Fixed holder share the props\n var fixedHolderProps = _objectSpread(_objectSpread(_objectSpread({\n noData: !mergedData.length,\n maxContentScroll: horizonScroll && mergedScrollX === 'max-content'\n }, headerProps), columnContext), {}, {\n direction: direction,\n stickyClassName: stickyClassName,\n onScroll: onInternalScroll\n });\n groupTableNode = /*#__PURE__*/React.createElement(React.Fragment, null, showHeader !== false && /*#__PURE__*/React.createElement(FixedHolder, _extends({}, fixedHolderProps, {\n stickyTopOffset: offsetHeader,\n className: \"\".concat(prefixCls, \"-header\"),\n ref: scrollHeaderRef\n }), renderFixedHeaderTable), bodyContent, fixFooter && fixFooter !== 'top' && /*#__PURE__*/React.createElement(FixedHolder, _extends({}, fixedHolderProps, {\n stickyBottomOffset: offsetSummary,\n className: \"\".concat(prefixCls, \"-summary\"),\n ref: scrollSummaryRef\n }), renderFixedFooterTable), isSticky && scrollBodyRef.current && scrollBodyRef.current instanceof Element && /*#__PURE__*/React.createElement(StickyScrollBar, {\n ref: stickyRef,\n offsetScroll: offsetScroll,\n scrollBodyRef: scrollBodyRef,\n onScroll: onInternalScroll,\n container: container\n }));\n } else {\n // >>>>>> Unique table\n groupTableNode = /*#__PURE__*/React.createElement(\"div\", {\n style: _objectSpread(_objectSpread({}, scrollXStyle), scrollYStyle),\n className: classNames(\"\".concat(prefixCls, \"-content\")),\n onScroll: onInternalScroll,\n ref: scrollBodyRef\n }, /*#__PURE__*/React.createElement(TableComponent, _extends({\n style: _objectSpread(_objectSpread({}, scrollTableStyle), {}, {\n tableLayout: mergedTableLayout\n })\n }, ariaProps), captionElement, bodyColGroup, showHeader !== false && /*#__PURE__*/React.createElement(Header, _extends({}, headerProps, columnContext)), bodyTable, summaryNode && /*#__PURE__*/React.createElement(Footer, {\n stickyOffsets: stickyOffsets,\n flattenColumns: flattenColumns\n }, summaryNode)));\n }\n var fullTable = /*#__PURE__*/React.createElement(\"div\", _extends({\n className: classNames(prefixCls, className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-ping-left\"), pingedLeft), _defineProperty(_classNames, \"\".concat(prefixCls, \"-ping-right\"), pingedRight), _defineProperty(_classNames, \"\".concat(prefixCls, \"-layout-fixed\"), tableLayout === 'fixed'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-fixed-header\"), fixHeader), _defineProperty(_classNames, \"\".concat(prefixCls, \"-fixed-column\"), fixColumn), _defineProperty(_classNames, \"\".concat(prefixCls, \"-fixed-column-gapped\"), fixColumn && hasGapFixed), _defineProperty(_classNames, \"\".concat(prefixCls, \"-scroll-horizontal\"), horizonScroll), _defineProperty(_classNames, \"\".concat(prefixCls, \"-has-fix-left\"), flattenColumns[0] && flattenColumns[0].fixed), _defineProperty(_classNames, \"\".concat(prefixCls, \"-has-fix-right\"), flattenColumns[flattenColumns.length - 1] && flattenColumns[flattenColumns.length - 1].fixed === 'right'), _classNames)),\n style: style,\n id: id,\n ref: fullTableRef\n }, dataProps), title && /*#__PURE__*/React.createElement(Panel, {\n className: \"\".concat(prefixCls, \"-title\")\n }, title(mergedData)), /*#__PURE__*/React.createElement(\"div\", {\n ref: scrollBodyContainerRef,\n className: \"\".concat(prefixCls, \"-container\")\n }, groupTableNode), footer && /*#__PURE__*/React.createElement(Panel, {\n className: \"\".concat(prefixCls, \"-footer\")\n }, footer(mergedData)));\n if (horizonScroll) {\n fullTable = /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onFullTableResize\n }, fullTable);\n }\n var fixedInfoList = useFixedInfo(flattenColumns, stickyOffsets, direction);\n var TableContextValue = React.useMemo(function () {\n return {\n // Scroll\n scrollX: mergedScrollX,\n // Table\n prefixCls: prefixCls,\n getComponent: getComponent,\n scrollbarSize: scrollbarSize,\n direction: direction,\n fixedInfoList: fixedInfoList,\n isSticky: isSticky,\n supportSticky: supportSticky,\n componentWidth: componentWidth,\n fixHeader: fixHeader,\n fixColumn: fixColumn,\n horizonScroll: horizonScroll,\n // Body\n tableLayout: mergedTableLayout,\n rowClassName: rowClassName,\n expandedRowClassName: expandableConfig.expandedRowClassName,\n expandIcon: mergedExpandIcon,\n expandableType: expandableType,\n expandRowByClick: expandableConfig.expandRowByClick,\n expandedRowRender: expandableConfig.expandedRowRender,\n onTriggerExpand: onTriggerExpand,\n expandIconColumnIndex: expandableConfig.expandIconColumnIndex,\n indentSize: expandableConfig.indentSize,\n allColumnsFixedLeft: flattenColumns.every(function (col) {\n return col.fixed === 'left';\n }),\n emptyNode: emptyNode,\n // Column\n columns: columns,\n flattenColumns: flattenColumns,\n onColumnResize: onColumnResize,\n // Row\n hoverStartRow: startRow,\n hoverEndRow: endRow,\n onHover: onHover,\n rowExpandable: expandableConfig.rowExpandable,\n onRow: onRow,\n getRowKey: getRowKey,\n expandedKeys: mergedExpandedKeys,\n childrenColumnName: mergedChildrenColumnName,\n rowHoverable: rowHoverable\n };\n }, [\n // Scroll\n mergedScrollX,\n // Table\n prefixCls, getComponent, scrollbarSize, direction, fixedInfoList, isSticky, supportSticky, componentWidth, fixHeader, fixColumn, horizonScroll,\n // Body\n mergedTableLayout, rowClassName, expandableConfig.expandedRowClassName, mergedExpandIcon, expandableType, expandableConfig.expandRowByClick, expandableConfig.expandedRowRender, onTriggerExpand, expandableConfig.expandIconColumnIndex, expandableConfig.indentSize, emptyNode,\n // Column\n columns, flattenColumns, onColumnResize,\n // Row\n startRow, endRow, onHover, expandableConfig.rowExpandable, onRow, getRowKey, mergedExpandedKeys, mergedChildrenColumnName, rowHoverable]);\n return /*#__PURE__*/React.createElement(TableContext.Provider, {\n value: TableContextValue\n }, fullTable);\n}\nvar RefTable = /*#__PURE__*/React.forwardRef(Table);\nif (process.env.NODE_ENV !== 'production') {\n RefTable.displayName = 'Table';\n}\nexport function genTable(shouldTriggerRender) {\n return makeImmutable(RefTable, shouldTriggerRender);\n}\nvar ImmutableTable = genTable();\nImmutableTable.EXPAND_COLUMN = EXPAND_COLUMN;\nImmutableTable.INTERNAL_HOOKS = INTERNAL_HOOKS;\nImmutableTable.Column = Column;\nImmutableTable.ColumnGroup = ColumnGroup;\nImmutableTable.Summary = FooterComponents;\nexport default ImmutableTable;","map":{"version":3,"names":["_defineProperty","_extends","_slicedToArray","_objectSpread","classNames","ResizeObserver","isVisible","isStyleSupport","getTargetScrollBarSize","useEvent","pickAttrs","getValue","warning","React","Body","ColGroup","EXPAND_COLUMN","INTERNAL_HOOKS","TableContext","makeImmutable","FixedHolder","Footer","FooterComponents","Summary","Header","useColumns","useExpand","useFixedInfo","useLayoutState","useTimeoutLock","useHover","useSticky","useStickyOffsets","Panel","StickyScrollBar","Column","ColumnGroup","getColumnsKey","validateValue","DEFAULT_PREFIX","EMPTY_DATA","EMPTY_SCROLL_TARGET","defaultEmpty","Table","tableProps","ref","_classNames","props","rowKey","prefixCls","emptyText","className","rowClassName","style","data","scroll","tableLayout","direction","title","footer","summary","caption","id","showHeader","components","onRow","onHeaderRow","onScroll","internalHooks","transformColumns","internalRefs","tailor","getContainerWidth","sticky","_props$rowHoverable","rowHoverable","mergedData","hasData","length","useInternalHooks","process","env","NODE_ENV","forEach","name","undefined","concat","getComponent","useCallback","path","defaultComponent","getRowKey","useMemo","record","key","customizeScrollBody","_useHover","_useHover2","startRow","endRow","onHover","_useExpand","_useExpand2","expandableConfig","expandableType","mergedExpandedKeys","mergedExpandIcon","mergedChildrenColumnName","onTriggerExpand","scrollX","x","_React$useState","useState","_React$useState2","componentWidth","setComponentWidth","_useColumns","expandable","expandedRowRender","columnTitle","expandedKeys","expandIcon","expandIconColumnIndex","scrollWidth","clientWidth","_useColumns2","columns","flattenColumns","flattenScrollX","hasGapFixed","mergedScrollX","columnContext","fullTableRef","useRef","scrollHeaderRef","scrollBodyRef","scrollBodyContainerRef","useImperativeHandle","nativeElement","current","scrollTo","config","_scrollBodyRef$curren3","HTMLElement","index","top","_scrollBodyRef$curren","_scrollBodyRef$curren2","mergedKey","querySelector","scrollIntoView","scrollSummaryRef","_React$useState3","_React$useState4","pingedLeft","setPingedLeft","_React$useState5","_React$useState6","pingedRight","setPingedRight","_useLayoutState","Map","_useLayoutState2","colsWidths","updateColsWidths","colsKeys","pureColWidths","map","columnKey","get","colWidths","join","stickyOffsets","fixHeader","y","horizonScroll","Boolean","fixed","fixColumn","some","_ref","stickyRef","_useSticky","isSticky","offsetHeader","offsetSummary","offsetScroll","stickyClassName","container","summaryNode","fixFooter","isValidElement","type","scrollXStyle","scrollYStyle","scrollTableStyle","overflowY","maxHeight","overflowX","width","minWidth","onColumnResize","widths","newWidths","set","_useTimeoutLock","_useTimeoutLock2","setScrollTarget","getScrollTarget","forceScroll","scrollLeft","target","setTimeout","onInternalScroll","_ref2","currentTarget","isRTL","mergedScrollLeft","compareTarget","_stickyRef$current","setScrollLeft","measureTarget","onBodyScroll","e","triggerOnScroll","onFullTableResize","_ref3","_stickyRef$current2","checkScrollBarVisible","mergedWidth","offsetWidth","mounted","useEffect","_React$useState7","_React$useState8","scrollbarSize","setScrollbarSize","_React$useState9","_React$useState10","supportSticky","setSupportSticky","Element","body","renderFixedHeaderTable","fixedHolderPassProps","createElement","Fragment","renderFixedFooterTable","TableComponent","mergedTableLayout","_ref4","ellipsis","groupTableNode","headerProps","columCount","emptyNode","bodyTable","measureColumnWidth","bodyColGroup","_ref5","captionElement","dataProps","ariaProps","aria","bodyContent","_ref6","colWidth","Number","isNaN","fixedHolderProps","noData","maxContentScroll","stickyTopOffset","stickyBottomOffset","fullTable","onResize","fixedInfoList","TableContextValue","expandedRowClassName","expandRowByClick","indentSize","allColumnsFixedLeft","every","col","hoverStartRow","hoverEndRow","rowExpandable","childrenColumnName","Provider","value","RefTable","forwardRef","displayName","genTable","shouldTriggerRender","ImmutableTable"],"sources":["C:/Users/Аришина)/source/repos/PromoCursed/node_modules/rc-table/es/Table.js"],"sourcesContent":["import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n/**\n * Feature:\n * - fixed not need to set width\n * - support `rowExpandable` to config row expand logic\n * - add `summary` to support `() => ReactNode`\n *\n * Update:\n * - `dataIndex` is `array[]` now\n * - `expandable` wrap all the expand related props\n *\n * Removed:\n * - expandIconAsCell\n * - useFixedHeader\n * - rowRef\n * - columns[number].onCellClick\n * - onRowClick\n * - onRowDoubleClick\n * - onRowMouseEnter\n * - onRowMouseLeave\n * - getBodyWrapper\n * - bodyStyle\n *\n * Deprecated:\n * - All expanded props, move into expandable\n */\n\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nimport { isStyleSupport } from \"rc-util/es/Dom/styleChecker\";\nimport { getTargetScrollBarSize } from \"rc-util/es/getScrollBarSize\";\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport getValue from \"rc-util/es/utils/get\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport Body from \"./Body\";\nimport ColGroup from \"./ColGroup\";\nimport { EXPAND_COLUMN, INTERNAL_HOOKS } from \"./constant\";\nimport TableContext, { makeImmutable } from \"./context/TableContext\";\nimport FixedHolder from \"./FixedHolder\";\nimport Footer, { FooterComponents } from \"./Footer\";\nimport Summary from \"./Footer/Summary\";\nimport Header from \"./Header/Header\";\nimport useColumns from \"./hooks/useColumns\";\nimport useExpand from \"./hooks/useExpand\";\nimport useFixedInfo from \"./hooks/useFixedInfo\";\nimport { useLayoutState, useTimeoutLock } from \"./hooks/useFrame\";\nimport useHover from \"./hooks/useHover\";\nimport useSticky from \"./hooks/useSticky\";\nimport useStickyOffsets from \"./hooks/useStickyOffsets\";\nimport Panel from \"./Panel\";\nimport StickyScrollBar from \"./stickyScrollBar\";\nimport Column from \"./sugar/Column\";\nimport ColumnGroup from \"./sugar/ColumnGroup\";\nimport { getColumnsKey, validateValue } from \"./utils/valueUtil\";\nexport var DEFAULT_PREFIX = 'rc-table';\n\n// Used for conditions cache\nvar EMPTY_DATA = [];\n\n// Used for customize scroll\nvar EMPTY_SCROLL_TARGET = {};\nfunction defaultEmpty() {\n return 'No Data';\n}\nfunction Table(tableProps, ref) {\n var _classNames;\n var props = _objectSpread({\n rowKey: 'key',\n prefixCls: DEFAULT_PREFIX,\n emptyText: defaultEmpty\n }, tableProps);\n var prefixCls = props.prefixCls,\n className = props.className,\n rowClassName = props.rowClassName,\n style = props.style,\n data = props.data,\n rowKey = props.rowKey,\n scroll = props.scroll,\n tableLayout = props.tableLayout,\n direction = props.direction,\n title = props.title,\n footer = props.footer,\n summary = props.summary,\n caption = props.caption,\n id = props.id,\n showHeader = props.showHeader,\n components = props.components,\n emptyText = props.emptyText,\n onRow = props.onRow,\n onHeaderRow = props.onHeaderRow,\n onScroll = props.onScroll,\n internalHooks = props.internalHooks,\n transformColumns = props.transformColumns,\n internalRefs = props.internalRefs,\n tailor = props.tailor,\n getContainerWidth = props.getContainerWidth,\n sticky = props.sticky,\n _props$rowHoverable = props.rowHoverable,\n rowHoverable = _props$rowHoverable === void 0 ? true : _props$rowHoverable;\n var mergedData = data || EMPTY_DATA;\n var hasData = !!mergedData.length;\n var useInternalHooks = internalHooks === INTERNAL_HOOKS;\n\n // ===================== Warning ======================\n if (process.env.NODE_ENV !== 'production') {\n ['onRowClick', 'onRowDoubleClick', 'onRowContextMenu', 'onRowMouseEnter', 'onRowMouseLeave'].forEach(function (name) {\n warning(props[name] === undefined, \"`\".concat(name, \"` is removed, please use `onRow` instead.\"));\n });\n warning(!('getBodyWrapper' in props), '`getBodyWrapper` is deprecated, please use custom `components` instead.');\n }\n\n // ==================== Customize =====================\n var getComponent = React.useCallback(function (path, defaultComponent) {\n return getValue(components, path) || defaultComponent;\n }, [components]);\n var getRowKey = React.useMemo(function () {\n if (typeof rowKey === 'function') {\n return rowKey;\n }\n return function (record) {\n var key = record && record[rowKey];\n if (process.env.NODE_ENV !== 'production') {\n warning(key !== undefined, 'Each record in table should have a unique `key` prop, or set `rowKey` to an unique primary key.');\n }\n return key;\n };\n }, [rowKey]);\n var customizeScrollBody = getComponent(['body']);\n\n // ====================== Hover =======================\n var _useHover = useHover(),\n _useHover2 = _slicedToArray(_useHover, 3),\n startRow = _useHover2[0],\n endRow = _useHover2[1],\n onHover = _useHover2[2];\n\n // ====================== Expand ======================\n var _useExpand = useExpand(props, mergedData, getRowKey),\n _useExpand2 = _slicedToArray(_useExpand, 6),\n expandableConfig = _useExpand2[0],\n expandableType = _useExpand2[1],\n mergedExpandedKeys = _useExpand2[2],\n mergedExpandIcon = _useExpand2[3],\n mergedChildrenColumnName = _useExpand2[4],\n onTriggerExpand = _useExpand2[5];\n\n // ====================== Column ======================\n var scrollX = scroll === null || scroll === void 0 ? void 0 : scroll.x;\n var _React$useState = React.useState(0),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n componentWidth = _React$useState2[0],\n setComponentWidth = _React$useState2[1];\n var _useColumns = useColumns(_objectSpread(_objectSpread(_objectSpread({}, props), expandableConfig), {}, {\n expandable: !!expandableConfig.expandedRowRender,\n columnTitle: expandableConfig.columnTitle,\n expandedKeys: mergedExpandedKeys,\n getRowKey: getRowKey,\n // https://github.com/ant-design/ant-design/issues/23894\n onTriggerExpand: onTriggerExpand,\n expandIcon: mergedExpandIcon,\n expandIconColumnIndex: expandableConfig.expandIconColumnIndex,\n direction: direction,\n scrollWidth: useInternalHooks && tailor && typeof scrollX === 'number' ? scrollX : null,\n clientWidth: componentWidth\n }), useInternalHooks ? transformColumns : null),\n _useColumns2 = _slicedToArray(_useColumns, 4),\n columns = _useColumns2[0],\n flattenColumns = _useColumns2[1],\n flattenScrollX = _useColumns2[2],\n hasGapFixed = _useColumns2[3];\n var mergedScrollX = flattenScrollX !== null && flattenScrollX !== void 0 ? flattenScrollX : scrollX;\n var columnContext = React.useMemo(function () {\n return {\n columns: columns,\n flattenColumns: flattenColumns\n };\n }, [columns, flattenColumns]);\n\n // ======================= Refs =======================\n var fullTableRef = React.useRef();\n var scrollHeaderRef = React.useRef();\n var scrollBodyRef = React.useRef();\n var scrollBodyContainerRef = React.useRef();\n React.useImperativeHandle(ref, function () {\n return {\n nativeElement: fullTableRef.current,\n scrollTo: function scrollTo(config) {\n var _scrollBodyRef$curren3;\n if (scrollBodyRef.current instanceof HTMLElement) {\n // Native scroll\n var index = config.index,\n top = config.top,\n key = config.key;\n if (top) {\n var _scrollBodyRef$curren;\n (_scrollBodyRef$curren = scrollBodyRef.current) === null || _scrollBodyRef$curren === void 0 || _scrollBodyRef$curren.scrollTo({\n top: top\n });\n } else {\n var _scrollBodyRef$curren2;\n var mergedKey = key !== null && key !== void 0 ? key : getRowKey(mergedData[index]);\n (_scrollBodyRef$curren2 = scrollBodyRef.current.querySelector(\"[data-row-key=\\\"\".concat(mergedKey, \"\\\"]\"))) === null || _scrollBodyRef$curren2 === void 0 || _scrollBodyRef$curren2.scrollIntoView();\n }\n } else if ((_scrollBodyRef$curren3 = scrollBodyRef.current) !== null && _scrollBodyRef$curren3 !== void 0 && _scrollBodyRef$curren3.scrollTo) {\n // Pass to proxy\n scrollBodyRef.current.scrollTo(config);\n }\n }\n };\n });\n\n // ====================== Scroll ======================\n var scrollSummaryRef = React.useRef();\n var _React$useState3 = React.useState(false),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n pingedLeft = _React$useState4[0],\n setPingedLeft = _React$useState4[1];\n var _React$useState5 = React.useState(false),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n pingedRight = _React$useState6[0],\n setPingedRight = _React$useState6[1];\n var _useLayoutState = useLayoutState(new Map()),\n _useLayoutState2 = _slicedToArray(_useLayoutState, 2),\n colsWidths = _useLayoutState2[0],\n updateColsWidths = _useLayoutState2[1];\n\n // Convert map to number width\n var colsKeys = getColumnsKey(flattenColumns);\n var pureColWidths = colsKeys.map(function (columnKey) {\n return colsWidths.get(columnKey);\n });\n var colWidths = React.useMemo(function () {\n return pureColWidths;\n }, [pureColWidths.join('_')]);\n var stickyOffsets = useStickyOffsets(colWidths, flattenColumns, direction);\n var fixHeader = scroll && validateValue(scroll.y);\n var horizonScroll = scroll && validateValue(mergedScrollX) || Boolean(expandableConfig.fixed);\n var fixColumn = horizonScroll && flattenColumns.some(function (_ref) {\n var fixed = _ref.fixed;\n return fixed;\n });\n\n // Sticky\n var stickyRef = React.useRef();\n var _useSticky = useSticky(sticky, prefixCls),\n isSticky = _useSticky.isSticky,\n offsetHeader = _useSticky.offsetHeader,\n offsetSummary = _useSticky.offsetSummary,\n offsetScroll = _useSticky.offsetScroll,\n stickyClassName = _useSticky.stickyClassName,\n container = _useSticky.container;\n\n // Footer (Fix footer must fixed header)\n var summaryNode = React.useMemo(function () {\n return summary === null || summary === void 0 ? void 0 : summary(mergedData);\n }, [summary, mergedData]);\n var fixFooter = (fixHeader || isSticky) && /*#__PURE__*/React.isValidElement(summaryNode) && summaryNode.type === Summary && summaryNode.props.fixed;\n\n // Scroll\n var scrollXStyle;\n var scrollYStyle;\n var scrollTableStyle;\n if (fixHeader) {\n scrollYStyle = {\n overflowY: 'scroll',\n maxHeight: scroll.y\n };\n }\n if (horizonScroll) {\n scrollXStyle = {\n overflowX: 'auto'\n };\n // When no vertical scrollbar, should hide it\n // https://github.com/ant-design/ant-design/pull/20705\n // https://github.com/ant-design/ant-design/issues/21879\n if (!fixHeader) {\n scrollYStyle = {\n overflowY: 'hidden'\n };\n }\n scrollTableStyle = {\n width: mergedScrollX === true ? 'auto' : mergedScrollX,\n minWidth: '100%'\n };\n }\n var onColumnResize = React.useCallback(function (columnKey, width) {\n if (isVisible(fullTableRef.current)) {\n updateColsWidths(function (widths) {\n if (widths.get(columnKey) !== width) {\n var newWidths = new Map(widths);\n newWidths.set(columnKey, width);\n return newWidths;\n }\n return widths;\n });\n }\n }, []);\n var _useTimeoutLock = useTimeoutLock(null),\n _useTimeoutLock2 = _slicedToArray(_useTimeoutLock, 2),\n setScrollTarget = _useTimeoutLock2[0],\n getScrollTarget = _useTimeoutLock2[1];\n function forceScroll(scrollLeft, target) {\n if (!target) {\n return;\n }\n if (typeof target === 'function') {\n target(scrollLeft);\n } else if (target.scrollLeft !== scrollLeft) {\n target.scrollLeft = scrollLeft;\n\n // Delay to force scroll position if not sync\n // ref: https://github.com/ant-design/ant-design/issues/37179\n if (target.scrollLeft !== scrollLeft) {\n setTimeout(function () {\n target.scrollLeft = scrollLeft;\n }, 0);\n }\n }\n }\n var onInternalScroll = useEvent(function (_ref2) {\n var currentTarget = _ref2.currentTarget,\n scrollLeft = _ref2.scrollLeft;\n var isRTL = direction === 'rtl';\n var mergedScrollLeft = typeof scrollLeft === 'number' ? scrollLeft : currentTarget.scrollLeft;\n var compareTarget = currentTarget || EMPTY_SCROLL_TARGET;\n if (!getScrollTarget() || getScrollTarget() === compareTarget) {\n var _stickyRef$current;\n setScrollTarget(compareTarget);\n forceScroll(mergedScrollLeft, scrollHeaderRef.current);\n forceScroll(mergedScrollLeft, scrollBodyRef.current);\n forceScroll(mergedScrollLeft, scrollSummaryRef.current);\n forceScroll(mergedScrollLeft, (_stickyRef$current = stickyRef.current) === null || _stickyRef$current === void 0 ? void 0 : _stickyRef$current.setScrollLeft);\n }\n var measureTarget = currentTarget || scrollHeaderRef.current;\n if (measureTarget) {\n var scrollWidth = measureTarget.scrollWidth,\n clientWidth = measureTarget.clientWidth;\n // There is no space to scroll\n if (scrollWidth === clientWidth) {\n setPingedLeft(false);\n setPingedRight(false);\n return;\n }\n if (isRTL) {\n setPingedLeft(-mergedScrollLeft < scrollWidth - clientWidth);\n setPingedRight(-mergedScrollLeft > 0);\n } else {\n setPingedLeft(mergedScrollLeft > 0);\n setPingedRight(mergedScrollLeft < scrollWidth - clientWidth);\n }\n }\n });\n var onBodyScroll = useEvent(function (e) {\n onInternalScroll(e);\n onScroll === null || onScroll === void 0 || onScroll(e);\n });\n var triggerOnScroll = function triggerOnScroll() {\n if (horizonScroll && scrollBodyRef.current) {\n onInternalScroll({\n currentTarget: scrollBodyRef.current\n });\n } else {\n setPingedLeft(false);\n setPingedRight(false);\n }\n };\n var onFullTableResize = function onFullTableResize(_ref3) {\n var _stickyRef$current2;\n var width = _ref3.width;\n (_stickyRef$current2 = stickyRef.current) === null || _stickyRef$current2 === void 0 || _stickyRef$current2.checkScrollBarVisible();\n var mergedWidth = fullTableRef.current ? fullTableRef.current.offsetWidth : width;\n if (useInternalHooks && getContainerWidth && fullTableRef.current) {\n mergedWidth = getContainerWidth(fullTableRef.current, mergedWidth) || mergedWidth;\n }\n if (mergedWidth !== componentWidth) {\n triggerOnScroll();\n setComponentWidth(mergedWidth);\n }\n };\n\n // Sync scroll bar when init or `horizonScroll`, `data` and `columns.length` changed\n var mounted = React.useRef(false);\n React.useEffect(function () {\n // onFullTableResize will be trigger once when ResizeObserver is mounted\n // This will reduce one duplicated triggerOnScroll time\n if (mounted.current) {\n triggerOnScroll();\n }\n }, [horizonScroll, data, columns.length]);\n React.useEffect(function () {\n mounted.current = true;\n }, []);\n\n // ===================== Effects ======================\n var _React$useState7 = React.useState(0),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n scrollbarSize = _React$useState8[0],\n setScrollbarSize = _React$useState8[1];\n var _React$useState9 = React.useState(true),\n _React$useState10 = _slicedToArray(_React$useState9, 2),\n supportSticky = _React$useState10[0],\n setSupportSticky = _React$useState10[1]; // Only IE not support, we mark as support first\n\n React.useEffect(function () {\n if (!tailor || !useInternalHooks) {\n if (scrollBodyRef.current instanceof Element) {\n setScrollbarSize(getTargetScrollBarSize(scrollBodyRef.current).width);\n } else {\n setScrollbarSize(getTargetScrollBarSize(scrollBodyContainerRef.current).width);\n }\n }\n setSupportSticky(isStyleSupport('position', 'sticky'));\n }, []);\n\n // ================== INTERNAL HOOKS ==================\n React.useEffect(function () {\n if (useInternalHooks && internalRefs) {\n internalRefs.body.current = scrollBodyRef.current;\n }\n });\n\n // ========================================================================\n // == Render ==\n // ========================================================================\n // =================== Render: Func ===================\n var renderFixedHeaderTable = React.useCallback(function (fixedHolderPassProps) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Header, fixedHolderPassProps), fixFooter === 'top' && /*#__PURE__*/React.createElement(Footer, fixedHolderPassProps, summaryNode));\n }, [fixFooter, summaryNode]);\n var renderFixedFooterTable = React.useCallback(function (fixedHolderPassProps) {\n return /*#__PURE__*/React.createElement(Footer, fixedHolderPassProps, summaryNode);\n }, [summaryNode]);\n\n // =================== Render: Node ===================\n var TableComponent = getComponent(['table'], 'table');\n\n // Table layout\n var mergedTableLayout = React.useMemo(function () {\n if (tableLayout) {\n return tableLayout;\n }\n // https://github.com/ant-design/ant-design/issues/25227\n // When scroll.x is max-content, no need to fix table layout\n // it's width should stretch out to fit content\n if (fixColumn) {\n return mergedScrollX === 'max-content' ? 'auto' : 'fixed';\n }\n if (fixHeader || isSticky || flattenColumns.some(function (_ref4) {\n var ellipsis = _ref4.ellipsis;\n return ellipsis;\n })) {\n return 'fixed';\n }\n return 'auto';\n }, [fixHeader, fixColumn, flattenColumns, tableLayout, isSticky]);\n var groupTableNode;\n\n // Header props\n var headerProps = {\n colWidths: colWidths,\n columCount: flattenColumns.length,\n stickyOffsets: stickyOffsets,\n onHeaderRow: onHeaderRow,\n fixHeader: fixHeader,\n scroll: scroll\n };\n\n // Empty\n var emptyNode = React.useMemo(function () {\n if (hasData) {\n return null;\n }\n if (typeof emptyText === 'function') {\n return emptyText();\n }\n return emptyText;\n }, [hasData, emptyText]);\n\n // Body\n var bodyTable = /*#__PURE__*/React.createElement(Body, {\n data: mergedData,\n measureColumnWidth: fixHeader || horizonScroll || isSticky\n });\n var bodyColGroup = /*#__PURE__*/React.createElement(ColGroup, {\n colWidths: flattenColumns.map(function (_ref5) {\n var width = _ref5.width;\n return width;\n }),\n columns: flattenColumns\n });\n var captionElement = caption !== null && caption !== undefined ? /*#__PURE__*/React.createElement(\"caption\", {\n className: \"\".concat(prefixCls, \"-caption\")\n }, caption) : undefined;\n var dataProps = pickAttrs(props, {\n data: true\n });\n var ariaProps = pickAttrs(props, {\n aria: true\n });\n if (fixHeader || isSticky) {\n // >>>>>> Fixed Header\n var bodyContent;\n if (typeof customizeScrollBody === 'function') {\n bodyContent = customizeScrollBody(mergedData, {\n scrollbarSize: scrollbarSize,\n ref: scrollBodyRef,\n onScroll: onInternalScroll\n });\n headerProps.colWidths = flattenColumns.map(function (_ref6, index) {\n var width = _ref6.width;\n var colWidth = index === flattenColumns.length - 1 ? width - scrollbarSize : width;\n if (typeof colWidth === 'number' && !Number.isNaN(colWidth)) {\n return colWidth;\n }\n if (process.env.NODE_ENV !== 'production') {\n warning(props.columns.length === 0, 'When use `components.body` with render props. Each column should have a fixed `width` value.');\n }\n return 0;\n });\n } else {\n bodyContent = /*#__PURE__*/React.createElement(\"div\", {\n style: _objectSpread(_objectSpread({}, scrollXStyle), scrollYStyle),\n onScroll: onBodyScroll,\n ref: scrollBodyRef,\n className: classNames(\"\".concat(prefixCls, \"-body\"))\n }, /*#__PURE__*/React.createElement(TableComponent, _extends({\n style: _objectSpread(_objectSpread({}, scrollTableStyle), {}, {\n tableLayout: mergedTableLayout\n })\n }, ariaProps), captionElement, bodyColGroup, bodyTable, !fixFooter && summaryNode && /*#__PURE__*/React.createElement(Footer, {\n stickyOffsets: stickyOffsets,\n flattenColumns: flattenColumns\n }, summaryNode)));\n }\n\n // Fixed holder share the props\n var fixedHolderProps = _objectSpread(_objectSpread(_objectSpread({\n noData: !mergedData.length,\n maxContentScroll: horizonScroll && mergedScrollX === 'max-content'\n }, headerProps), columnContext), {}, {\n direction: direction,\n stickyClassName: stickyClassName,\n onScroll: onInternalScroll\n });\n groupTableNode = /*#__PURE__*/React.createElement(React.Fragment, null, showHeader !== false && /*#__PURE__*/React.createElement(FixedHolder, _extends({}, fixedHolderProps, {\n stickyTopOffset: offsetHeader,\n className: \"\".concat(prefixCls, \"-header\"),\n ref: scrollHeaderRef\n }), renderFixedHeaderTable), bodyContent, fixFooter && fixFooter !== 'top' && /*#__PURE__*/React.createElement(FixedHolder, _extends({}, fixedHolderProps, {\n stickyBottomOffset: offsetSummary,\n className: \"\".concat(prefixCls, \"-summary\"),\n ref: scrollSummaryRef\n }), renderFixedFooterTable), isSticky && scrollBodyRef.current && scrollBodyRef.current instanceof Element && /*#__PURE__*/React.createElement(StickyScrollBar, {\n ref: stickyRef,\n offsetScroll: offsetScroll,\n scrollBodyRef: scrollBodyRef,\n onScroll: onInternalScroll,\n container: container\n }));\n } else {\n // >>>>>> Unique table\n groupTableNode = /*#__PURE__*/React.createElement(\"div\", {\n style: _objectSpread(_objectSpread({}, scrollXStyle), scrollYStyle),\n className: classNames(\"\".concat(prefixCls, \"-content\")),\n onScroll: onInternalScroll,\n ref: scrollBodyRef\n }, /*#__PURE__*/React.createElement(TableComponent, _extends({\n style: _objectSpread(_objectSpread({}, scrollTableStyle), {}, {\n tableLayout: mergedTableLayout\n })\n }, ariaProps), captionElement, bodyColGroup, showHeader !== false && /*#__PURE__*/React.createElement(Header, _extends({}, headerProps, columnContext)), bodyTable, summaryNode && /*#__PURE__*/React.createElement(Footer, {\n stickyOffsets: stickyOffsets,\n flattenColumns: flattenColumns\n }, summaryNode)));\n }\n var fullTable = /*#__PURE__*/React.createElement(\"div\", _extends({\n className: classNames(prefixCls, className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-ping-left\"), pingedLeft), _defineProperty(_classNames, \"\".concat(prefixCls, \"-ping-right\"), pingedRight), _defineProperty(_classNames, \"\".concat(prefixCls, \"-layout-fixed\"), tableLayout === 'fixed'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-fixed-header\"), fixHeader), _defineProperty(_classNames, \"\".concat(prefixCls, \"-fixed-column\"), fixColumn), _defineProperty(_classNames, \"\".concat(prefixCls, \"-fixed-column-gapped\"), fixColumn && hasGapFixed), _defineProperty(_classNames, \"\".concat(prefixCls, \"-scroll-horizontal\"), horizonScroll), _defineProperty(_classNames, \"\".concat(prefixCls, \"-has-fix-left\"), flattenColumns[0] && flattenColumns[0].fixed), _defineProperty(_classNames, \"\".concat(prefixCls, \"-has-fix-right\"), flattenColumns[flattenColumns.length - 1] && flattenColumns[flattenColumns.length - 1].fixed === 'right'), _classNames)),\n style: style,\n id: id,\n ref: fullTableRef\n }, dataProps), title && /*#__PURE__*/React.createElement(Panel, {\n className: \"\".concat(prefixCls, \"-title\")\n }, title(mergedData)), /*#__PURE__*/React.createElement(\"div\", {\n ref: scrollBodyContainerRef,\n className: \"\".concat(prefixCls, \"-container\")\n }, groupTableNode), footer && /*#__PURE__*/React.createElement(Panel, {\n className: \"\".concat(prefixCls, \"-footer\")\n }, footer(mergedData)));\n if (horizonScroll) {\n fullTable = /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onFullTableResize\n }, fullTable);\n }\n var fixedInfoList = useFixedInfo(flattenColumns, stickyOffsets, direction);\n var TableContextValue = React.useMemo(function () {\n return {\n // Scroll\n scrollX: mergedScrollX,\n // Table\n prefixCls: prefixCls,\n getComponent: getComponent,\n scrollbarSize: scrollbarSize,\n direction: direction,\n fixedInfoList: fixedInfoList,\n isSticky: isSticky,\n supportSticky: supportSticky,\n componentWidth: componentWidth,\n fixHeader: fixHeader,\n fixColumn: fixColumn,\n horizonScroll: horizonScroll,\n // Body\n tableLayout: mergedTableLayout,\n rowClassName: rowClassName,\n expandedRowClassName: expandableConfig.expandedRowClassName,\n expandIcon: mergedExpandIcon,\n expandableType: expandableType,\n expandRowByClick: expandableConfig.expandRowByClick,\n expandedRowRender: expandableConfig.expandedRowRender,\n onTriggerExpand: onTriggerExpand,\n expandIconColumnIndex: expandableConfig.expandIconColumnIndex,\n indentSize: expandableConfig.indentSize,\n allColumnsFixedLeft: flattenColumns.every(function (col) {\n return col.fixed === 'left';\n }),\n emptyNode: emptyNode,\n // Column\n columns: columns,\n flattenColumns: flattenColumns,\n onColumnResize: onColumnResize,\n // Row\n hoverStartRow: startRow,\n hoverEndRow: endRow,\n onHover: onHover,\n rowExpandable: expandableConfig.rowExpandable,\n onRow: onRow,\n getRowKey: getRowKey,\n expandedKeys: mergedExpandedKeys,\n childrenColumnName: mergedChildrenColumnName,\n rowHoverable: rowHoverable\n };\n }, [\n // Scroll\n mergedScrollX,\n // Table\n prefixCls, getComponent, scrollbarSize, direction, fixedInfoList, isSticky, supportSticky, componentWidth, fixHeader, fixColumn, horizonScroll,\n // Body\n mergedTableLayout, rowClassName, expandableConfig.expandedRowClassName, mergedExpandIcon, expandableType, expandableConfig.expandRowByClick, expandableConfig.expandedRowRender, onTriggerExpand, expandableConfig.expandIconColumnIndex, expandableConfig.indentSize, emptyNode,\n // Column\n columns, flattenColumns, onColumnResize,\n // Row\n startRow, endRow, onHover, expandableConfig.rowExpandable, onRow, getRowKey, mergedExpandedKeys, mergedChildrenColumnName, rowHoverable]);\n return /*#__PURE__*/React.createElement(TableContext.Provider, {\n value: TableContextValue\n }, fullTable);\n}\nvar RefTable = /*#__PURE__*/React.forwardRef(Table);\nif (process.env.NODE_ENV !== 'production') {\n RefTable.displayName = 'Table';\n}\nexport function genTable(shouldTriggerRender) {\n return makeImmutable(RefTable, shouldTriggerRender);\n}\nvar ImmutableTable = genTable();\nImmutableTable.EXPAND_COLUMN = EXPAND_COLUMN;\nImmutableTable.INTERNAL_HOOKS = INTERNAL_HOOKS;\nImmutableTable.Column = Column;\nImmutableTable.ColumnGroup = ColumnGroup;\nImmutableTable.Summary = FooterComponents;\nexport default ImmutableTable;"],"mappings":"AAAA,OAAOA,eAAe,MAAM,2CAA2C;AACvE,OAAOC,QAAQ,MAAM,oCAAoC;AACzD,OAAOC,cAAc,MAAM,0CAA0C;AACrE,OAAOC,aAAa,MAAM,0CAA0C;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,cAAc,MAAM,oBAAoB;AAC/C,OAAOC,SAAS,MAAM,0BAA0B;AAChD,SAASC,cAAc,QAAQ,6BAA6B;AAC5D,SAASC,sBAAsB,QAAQ,6BAA6B;AACpE,OAAOC,QAAQ,MAAM,2BAA2B;AAChD,OAAOC,SAAS,MAAM,sBAAsB;AAC5C,OAAOC,QAAQ,MAAM,sBAAsB;AAC3C,OAAOC,OAAO,MAAM,oBAAoB;AACxC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,QAAQ,MAAM,YAAY;AACjC,SAASC,aAAa,EAAEC,cAAc,QAAQ,YAAY;AAC1D,OAAOC,YAAY,IAAIC,aAAa,QAAQ,wBAAwB;AACpE,OAAOC,WAAW,MAAM,eAAe;AACvC,OAAOC,MAAM,IAAIC,gBAAgB,QAAQ,UAAU;AACnD,OAAOC,OAAO,MAAM,kBAAkB;AACtC,OAAOC,MAAM,MAAM,iBAAiB;AACpC,OAAOC,UAAU,MAAM,oBAAoB;AAC3C,OAAOC,SAAS,MAAM,mBAAmB;AACzC,OAAOC,YAAY,MAAM,sBAAsB;AAC/C,SAASC,cAAc,EAAEC,cAAc,QAAQ,kBAAkB;AACjE,OAAOC,QAAQ,MAAM,kBAAkB;AACvC,OAAOC,SAAS,MAAM,mBAAmB;AACzC,OAAOC,gBAAgB,MAAM,0BAA0B;AACvD,OAAOC,KAAK,MAAM,SAAS;AAC3B,OAAOC,eAAe,MAAM,mBAAmB;AAC/C,OAAOC,MAAM,MAAM,gBAAgB;AACnC,OAAOC,WAAW,MAAM,qBAAqB;AAC7C,SAASC,aAAa,EAAEC,aAAa,QAAQ,mBAAmB;AAChE,OAAO,IAAIC,cAAc,GAAG,UAAU;;AAEtC;AACA,IAAIC,UAAU,GAAG,EAAE;;AAEnB;AACA,IAAIC,mBAAmB,GAAG,CAAC,CAAC;AAC5B,SAASC,YAAYA,CAAA,EAAG;EACtB,OAAO,SAAS;AAClB;AACA,SAASC,KAAKA,CAACC,UAAU,EAAEC,GAAG,EAAE;EAC9B,IAAIC,WAAW;EACf,IAAIC,KAAK,GAAG5C,aAAa,CAAC;IACxB6C,MAAM,EAAE,KAAK;IACbC,SAAS,EAAEV,cAAc;IACzBW,SAAS,EAAER;EACb,CAAC,EAAEE,UAAU,CAAC;EACd,IAAIK,SAAS,GAAGF,KAAK,CAACE,SAAS;IAC7BE,SAAS,GAAGJ,KAAK,CAACI,SAAS;IAC3BC,YAAY,GAAGL,KAAK,CAACK,YAAY;IACjCC,KAAK,GAAGN,KAAK,CAACM,KAAK;IACnBC,IAAI,GAAGP,KAAK,CAACO,IAAI;IACjBN,MAAM,GAAGD,KAAK,CAACC,MAAM;IACrBO,MAAM,GAAGR,KAAK,CAACQ,MAAM;IACrBC,WAAW,GAAGT,KAAK,CAACS,WAAW;IAC/BC,SAAS,GAAGV,KAAK,CAACU,SAAS;IAC3BC,KAAK,GAAGX,KAAK,CAACW,KAAK;IACnBC,MAAM,GAAGZ,KAAK,CAACY,MAAM;IACrBC,OAAO,GAAGb,KAAK,CAACa,OAAO;IACvBC,OAAO,GAAGd,KAAK,CAACc,OAAO;IACvBC,EAAE,GAAGf,KAAK,CAACe,EAAE;IACbC,UAAU,GAAGhB,KAAK,CAACgB,UAAU;IAC7BC,UAAU,GAAGjB,KAAK,CAACiB,UAAU;IAC7Bd,SAAS,GAAGH,KAAK,CAACG,SAAS;IAC3Be,KAAK,GAAGlB,KAAK,CAACkB,KAAK;IACnBC,WAAW,GAAGnB,KAAK,CAACmB,WAAW;IAC/BC,QAAQ,GAAGpB,KAAK,CAACoB,QAAQ;IACzBC,aAAa,GAAGrB,KAAK,CAACqB,aAAa;IACnCC,gBAAgB,GAAGtB,KAAK,CAACsB,gBAAgB;IACzCC,YAAY,GAAGvB,KAAK,CAACuB,YAAY;IACjCC,MAAM,GAAGxB,KAAK,CAACwB,MAAM;IACrBC,iBAAiB,GAAGzB,KAAK,CAACyB,iBAAiB;IAC3CC,MAAM,GAAG1B,KAAK,CAAC0B,MAAM;IACrBC,mBAAmB,GAAG3B,KAAK,CAAC4B,YAAY;IACxCA,YAAY,GAAGD,mBAAmB,KAAK,KAAK,CAAC,GAAG,IAAI,GAAGA,mBAAmB;EAC5E,IAAIE,UAAU,GAAGtB,IAAI,IAAId,UAAU;EACnC,IAAIqC,OAAO,GAAG,CAAC,CAACD,UAAU,CAACE,MAAM;EACjC,IAAIC,gBAAgB,GAAGX,aAAa,KAAKnD,cAAc;;EAEvD;EACA,IAAI+D,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IACzC,CAAC,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAACC,OAAO,CAAC,UAAUC,IAAI,EAAE;MACnHxE,OAAO,CAACmC,KAAK,CAACqC,IAAI,CAAC,KAAKC,SAAS,EAAE,GAAG,CAACC,MAAM,CAACF,IAAI,EAAE,2CAA2C,CAAC,CAAC;IACnG,CAAC,CAAC;IACFxE,OAAO,CAAC,EAAE,gBAAgB,IAAImC,KAAK,CAAC,EAAE,yEAAyE,CAAC;EAClH;;EAEA;EACA,IAAIwC,YAAY,GAAG1E,KAAK,CAAC2E,WAAW,CAAC,UAAUC,IAAI,EAAEC,gBAAgB,EAAE;IACrE,OAAO/E,QAAQ,CAACqD,UAAU,EAAEyB,IAAI,CAAC,IAAIC,gBAAgB;EACvD,CAAC,EAAE,CAAC1B,UAAU,CAAC,CAAC;EAChB,IAAI2B,SAAS,GAAG9E,KAAK,CAAC+E,OAAO,CAAC,YAAY;IACxC,IAAI,OAAO5C,MAAM,KAAK,UAAU,EAAE;MAChC,OAAOA,MAAM;IACf;IACA,OAAO,UAAU6C,MAAM,EAAE;MACvB,IAAIC,GAAG,GAAGD,MAAM,IAAIA,MAAM,CAAC7C,MAAM,CAAC;MAClC,IAAIgC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;QACzCtE,OAAO,CAACkF,GAAG,KAAKT,SAAS,EAAE,iGAAiG,CAAC;MAC/H;MACA,OAAOS,GAAG;IACZ,CAAC;EACH,CAAC,EAAE,CAAC9C,MAAM,CAAC,CAAC;EACZ,IAAI+C,mBAAmB,GAAGR,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;;EAEhD;EACA,IAAIS,SAAS,GAAGlE,QAAQ,CAAC,CAAC;IACxBmE,UAAU,GAAG/F,cAAc,CAAC8F,SAAS,EAAE,CAAC,CAAC;IACzCE,QAAQ,GAAGD,UAAU,CAAC,CAAC,CAAC;IACxBE,MAAM,GAAGF,UAAU,CAAC,CAAC,CAAC;IACtBG,OAAO,GAAGH,UAAU,CAAC,CAAC,CAAC;;EAEzB;EACA,IAAII,UAAU,GAAG3E,SAAS,CAACqB,KAAK,EAAE6B,UAAU,EAAEe,SAAS,CAAC;IACtDW,WAAW,GAAGpG,cAAc,CAACmG,UAAU,EAAE,CAAC,CAAC;IAC3CE,gBAAgB,GAAGD,WAAW,CAAC,CAAC,CAAC;IACjCE,cAAc,GAAGF,WAAW,CAAC,CAAC,CAAC;IAC/BG,kBAAkB,GAAGH,WAAW,CAAC,CAAC,CAAC;IACnCI,gBAAgB,GAAGJ,WAAW,CAAC,CAAC,CAAC;IACjCK,wBAAwB,GAAGL,WAAW,CAAC,CAAC,CAAC;IACzCM,eAAe,GAAGN,WAAW,CAAC,CAAC,CAAC;;EAElC;EACA,IAAIO,OAAO,GAAGtD,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,MAAM,CAACuD,CAAC;EACtE,IAAIC,eAAe,GAAGlG,KAAK,CAACmG,QAAQ,CAAC,CAAC,CAAC;IACrCC,gBAAgB,GAAG/G,cAAc,CAAC6G,eAAe,EAAE,CAAC,CAAC;IACrDG,cAAc,GAAGD,gBAAgB,CAAC,CAAC,CAAC;IACpCE,iBAAiB,GAAGF,gBAAgB,CAAC,CAAC,CAAC;EACzC,IAAIG,WAAW,GAAG3F,UAAU,CAACtB,aAAa,CAACA,aAAa,CAACA,aAAa,CAAC,CAAC,CAAC,EAAE4C,KAAK,CAAC,EAAEwD,gBAAgB,CAAC,EAAE,CAAC,CAAC,EAAE;MACtGc,UAAU,EAAE,CAAC,CAACd,gBAAgB,CAACe,iBAAiB;MAChDC,WAAW,EAAEhB,gBAAgB,CAACgB,WAAW;MACzCC,YAAY,EAAEf,kBAAkB;MAChCd,SAAS,EAAEA,SAAS;MACpB;MACAiB,eAAe,EAAEA,eAAe;MAChCa,UAAU,EAAEf,gBAAgB;MAC5BgB,qBAAqB,EAAEnB,gBAAgB,CAACmB,qBAAqB;MAC7DjE,SAAS,EAAEA,SAAS;MACpBkE,WAAW,EAAE5C,gBAAgB,IAAIR,MAAM,IAAI,OAAOsC,OAAO,KAAK,QAAQ,GAAGA,OAAO,GAAG,IAAI;MACvFe,WAAW,EAAEV;IACf,CAAC,CAAC,EAAEnC,gBAAgB,GAAGV,gBAAgB,GAAG,IAAI,CAAC;IAC/CwD,YAAY,GAAG3H,cAAc,CAACkH,WAAW,EAAE,CAAC,CAAC;IAC7CU,OAAO,GAAGD,YAAY,CAAC,CAAC,CAAC;IACzBE,cAAc,GAAGF,YAAY,CAAC,CAAC,CAAC;IAChCG,cAAc,GAAGH,YAAY,CAAC,CAAC,CAAC;IAChCI,WAAW,GAAGJ,YAAY,CAAC,CAAC,CAAC;EAC/B,IAAIK,aAAa,GAAGF,cAAc,KAAK,IAAI,IAAIA,cAAc,KAAK,KAAK,CAAC,GAAGA,cAAc,GAAGnB,OAAO;EACnG,IAAIsB,aAAa,GAAGtH,KAAK,CAAC+E,OAAO,CAAC,YAAY;IAC5C,OAAO;MACLkC,OAAO,EAAEA,OAAO;MAChBC,cAAc,EAAEA;IAClB,CAAC;EACH,CAAC,EAAE,CAACD,OAAO,EAAEC,cAAc,CAAC,CAAC;;EAE7B;EACA,IAAIK,YAAY,GAAGvH,KAAK,CAACwH,MAAM,CAAC,CAAC;EACjC,IAAIC,eAAe,GAAGzH,KAAK,CAACwH,MAAM,CAAC,CAAC;EACpC,IAAIE,aAAa,GAAG1H,KAAK,CAACwH,MAAM,CAAC,CAAC;EAClC,IAAIG,sBAAsB,GAAG3H,KAAK,CAACwH,MAAM,CAAC,CAAC;EAC3CxH,KAAK,CAAC4H,mBAAmB,CAAC5F,GAAG,EAAE,YAAY;IACzC,OAAO;MACL6F,aAAa,EAAEN,YAAY,CAACO,OAAO;MACnCC,QAAQ,EAAE,SAASA,QAAQA,CAACC,MAAM,EAAE;QAClC,IAAIC,sBAAsB;QAC1B,IAAIP,aAAa,CAACI,OAAO,YAAYI,WAAW,EAAE;UAChD;UACA,IAAIC,KAAK,GAAGH,MAAM,CAACG,KAAK;YACtBC,GAAG,GAAGJ,MAAM,CAACI,GAAG;YAChBnD,GAAG,GAAG+C,MAAM,CAAC/C,GAAG;UAClB,IAAImD,GAAG,EAAE;YACP,IAAIC,qBAAqB;YACzB,CAACA,qBAAqB,GAAGX,aAAa,CAACI,OAAO,MAAM,IAAI,IAAIO,qBAAqB,KAAK,KAAK,CAAC,IAAIA,qBAAqB,CAACN,QAAQ,CAAC;cAC7HK,GAAG,EAAEA;YACP,CAAC,CAAC;UACJ,CAAC,MAAM;YACL,IAAIE,sBAAsB;YAC1B,IAAIC,SAAS,GAAGtD,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAK,KAAK,CAAC,GAAGA,GAAG,GAAGH,SAAS,CAACf,UAAU,CAACoE,KAAK,CAAC,CAAC;YACnF,CAACG,sBAAsB,GAAGZ,aAAa,CAACI,OAAO,CAACU,aAAa,CAAC,kBAAkB,CAAC/D,MAAM,CAAC8D,SAAS,EAAE,KAAK,CAAC,CAAC,MAAM,IAAI,IAAID,sBAAsB,KAAK,KAAK,CAAC,IAAIA,sBAAsB,CAACG,cAAc,CAAC,CAAC;UACtM;QACF,CAAC,MAAM,IAAI,CAACR,sBAAsB,GAAGP,aAAa,CAACI,OAAO,MAAM,IAAI,IAAIG,sBAAsB,KAAK,KAAK,CAAC,IAAIA,sBAAsB,CAACF,QAAQ,EAAE;UAC5I;UACAL,aAAa,CAACI,OAAO,CAACC,QAAQ,CAACC,MAAM,CAAC;QACxC;MACF;IACF,CAAC;EACH,CAAC,CAAC;;EAEF;EACA,IAAIU,gBAAgB,GAAG1I,KAAK,CAACwH,MAAM,CAAC,CAAC;EACrC,IAAImB,gBAAgB,GAAG3I,KAAK,CAACmG,QAAQ,CAAC,KAAK,CAAC;IAC1CyC,gBAAgB,GAAGvJ,cAAc,CAACsJ,gBAAgB,EAAE,CAAC,CAAC;IACtDE,UAAU,GAAGD,gBAAgB,CAAC,CAAC,CAAC;IAChCE,aAAa,GAAGF,gBAAgB,CAAC,CAAC,CAAC;EACrC,IAAIG,gBAAgB,GAAG/I,KAAK,CAACmG,QAAQ,CAAC,KAAK,CAAC;IAC1C6C,gBAAgB,GAAG3J,cAAc,CAAC0J,gBAAgB,EAAE,CAAC,CAAC;IACtDE,WAAW,GAAGD,gBAAgB,CAAC,CAAC,CAAC;IACjCE,cAAc,GAAGF,gBAAgB,CAAC,CAAC,CAAC;EACtC,IAAIG,eAAe,GAAGpI,cAAc,CAAC,IAAIqI,GAAG,CAAC,CAAC,CAAC;IAC7CC,gBAAgB,GAAGhK,cAAc,CAAC8J,eAAe,EAAE,CAAC,CAAC;IACrDG,UAAU,GAAGD,gBAAgB,CAAC,CAAC,CAAC;IAChCE,gBAAgB,GAAGF,gBAAgB,CAAC,CAAC,CAAC;;EAExC;EACA,IAAIG,QAAQ,GAAGhI,aAAa,CAAC0F,cAAc,CAAC;EAC5C,IAAIuC,aAAa,GAAGD,QAAQ,CAACE,GAAG,CAAC,UAAUC,SAAS,EAAE;IACpD,OAAOL,UAAU,CAACM,GAAG,CAACD,SAAS,CAAC;EAClC,CAAC,CAAC;EACF,IAAIE,SAAS,GAAG7J,KAAK,CAAC+E,OAAO,CAAC,YAAY;IACxC,OAAO0E,aAAa;EACtB,CAAC,EAAE,CAACA,aAAa,CAACK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;EAC7B,IAAIC,aAAa,GAAG5I,gBAAgB,CAAC0I,SAAS,EAAE3C,cAAc,EAAEtE,SAAS,CAAC;EAC1E,IAAIoH,SAAS,GAAGtH,MAAM,IAAIjB,aAAa,CAACiB,MAAM,CAACuH,CAAC,CAAC;EACjD,IAAIC,aAAa,GAAGxH,MAAM,IAAIjB,aAAa,CAAC4F,aAAa,CAAC,IAAI8C,OAAO,CAACzE,gBAAgB,CAAC0E,KAAK,CAAC;EAC7F,IAAIC,SAAS,GAAGH,aAAa,IAAIhD,cAAc,CAACoD,IAAI,CAAC,UAAUC,IAAI,EAAE;IACnE,IAAIH,KAAK,GAAGG,IAAI,CAACH,KAAK;IACtB,OAAOA,KAAK;EACd,CAAC,CAAC;;EAEF;EACA,IAAII,SAAS,GAAGxK,KAAK,CAACwH,MAAM,CAAC,CAAC;EAC9B,IAAIiD,UAAU,GAAGvJ,SAAS,CAAC0C,MAAM,EAAExB,SAAS,CAAC;IAC3CsI,QAAQ,GAAGD,UAAU,CAACC,QAAQ;IAC9BC,YAAY,GAAGF,UAAU,CAACE,YAAY;IACtCC,aAAa,GAAGH,UAAU,CAACG,aAAa;IACxCC,YAAY,GAAGJ,UAAU,CAACI,YAAY;IACtCC,eAAe,GAAGL,UAAU,CAACK,eAAe;IAC5CC,SAAS,GAAGN,UAAU,CAACM,SAAS;;EAElC;EACA,IAAIC,WAAW,GAAGhL,KAAK,CAAC+E,OAAO,CAAC,YAAY;IAC1C,OAAOhC,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,OAAO,CAACgB,UAAU,CAAC;EAC9E,CAAC,EAAE,CAAChB,OAAO,EAAEgB,UAAU,CAAC,CAAC;EACzB,IAAIkH,SAAS,GAAG,CAACjB,SAAS,IAAIU,QAAQ,KAAK,aAAa1K,KAAK,CAACkL,cAAc,CAACF,WAAW,CAAC,IAAIA,WAAW,CAACG,IAAI,KAAKzK,OAAO,IAAIsK,WAAW,CAAC9I,KAAK,CAACkI,KAAK;;EAEpJ;EACA,IAAIgB,YAAY;EAChB,IAAIC,YAAY;EAChB,IAAIC,gBAAgB;EACpB,IAAItB,SAAS,EAAE;IACbqB,YAAY,GAAG;MACbE,SAAS,EAAE,QAAQ;MACnBC,SAAS,EAAE9I,MAAM,CAACuH;IACpB,CAAC;EACH;EACA,IAAIC,aAAa,EAAE;IACjBkB,YAAY,GAAG;MACbK,SAAS,EAAE;IACb,CAAC;IACD;IACA;IACA;IACA,IAAI,CAACzB,SAAS,EAAE;MACdqB,YAAY,GAAG;QACbE,SAAS,EAAE;MACb,CAAC;IACH;IACAD,gBAAgB,GAAG;MACjBI,KAAK,EAAErE,aAAa,KAAK,IAAI,GAAG,MAAM,GAAGA,aAAa;MACtDsE,QAAQ,EAAE;IACZ,CAAC;EACH;EACA,IAAIC,cAAc,GAAG5L,KAAK,CAAC2E,WAAW,CAAC,UAAUgF,SAAS,EAAE+B,KAAK,EAAE;IACjE,IAAIjM,SAAS,CAAC8H,YAAY,CAACO,OAAO,CAAC,EAAE;MACnCyB,gBAAgB,CAAC,UAAUsC,MAAM,EAAE;QACjC,IAAIA,MAAM,CAACjC,GAAG,CAACD,SAAS,CAAC,KAAK+B,KAAK,EAAE;UACnC,IAAII,SAAS,GAAG,IAAI1C,GAAG,CAACyC,MAAM,CAAC;UAC/BC,SAAS,CAACC,GAAG,CAACpC,SAAS,EAAE+B,KAAK,CAAC;UAC/B,OAAOI,SAAS;QAClB;QACA,OAAOD,MAAM;MACf,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,EAAE,CAAC;EACN,IAAIG,eAAe,GAAGhL,cAAc,CAAC,IAAI,CAAC;IACxCiL,gBAAgB,GAAG5M,cAAc,CAAC2M,eAAe,EAAE,CAAC,CAAC;IACrDE,eAAe,GAAGD,gBAAgB,CAAC,CAAC,CAAC;IACrCE,eAAe,GAAGF,gBAAgB,CAAC,CAAC,CAAC;EACvC,SAASG,WAAWA,CAACC,UAAU,EAAEC,MAAM,EAAE;IACvC,IAAI,CAACA,MAAM,EAAE;MACX;IACF;IACA,IAAI,OAAOA,MAAM,KAAK,UAAU,EAAE;MAChCA,MAAM,CAACD,UAAU,CAAC;IACpB,CAAC,MAAM,IAAIC,MAAM,CAACD,UAAU,KAAKA,UAAU,EAAE;MAC3CC,MAAM,CAACD,UAAU,GAAGA,UAAU;;MAE9B;MACA;MACA,IAAIC,MAAM,CAACD,UAAU,KAAKA,UAAU,EAAE;QACpCE,UAAU,CAAC,YAAY;UACrBD,MAAM,CAACD,UAAU,GAAGA,UAAU;QAChC,CAAC,EAAE,CAAC,CAAC;MACP;IACF;EACF;EACA,IAAIG,gBAAgB,GAAG5M,QAAQ,CAAC,UAAU6M,KAAK,EAAE;IAC/C,IAAIC,aAAa,GAAGD,KAAK,CAACC,aAAa;MACrCL,UAAU,GAAGI,KAAK,CAACJ,UAAU;IAC/B,IAAIM,KAAK,GAAG/J,SAAS,KAAK,KAAK;IAC/B,IAAIgK,gBAAgB,GAAG,OAAOP,UAAU,KAAK,QAAQ,GAAGA,UAAU,GAAGK,aAAa,CAACL,UAAU;IAC7F,IAAIQ,aAAa,GAAGH,aAAa,IAAI9K,mBAAmB;IACxD,IAAI,CAACuK,eAAe,CAAC,CAAC,IAAIA,eAAe,CAAC,CAAC,KAAKU,aAAa,EAAE;MAC7D,IAAIC,kBAAkB;MACtBZ,eAAe,CAACW,aAAa,CAAC;MAC9BT,WAAW,CAACQ,gBAAgB,EAAEnF,eAAe,CAACK,OAAO,CAAC;MACtDsE,WAAW,CAACQ,gBAAgB,EAAElF,aAAa,CAACI,OAAO,CAAC;MACpDsE,WAAW,CAACQ,gBAAgB,EAAElE,gBAAgB,CAACZ,OAAO,CAAC;MACvDsE,WAAW,CAACQ,gBAAgB,EAAE,CAACE,kBAAkB,GAAGtC,SAAS,CAAC1C,OAAO,MAAM,IAAI,IAAIgF,kBAAkB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,kBAAkB,CAACC,aAAa,CAAC;IAC/J;IACA,IAAIC,aAAa,GAAGN,aAAa,IAAIjF,eAAe,CAACK,OAAO;IAC5D,IAAIkF,aAAa,EAAE;MACjB,IAAIlG,WAAW,GAAGkG,aAAa,CAAClG,WAAW;QACzCC,WAAW,GAAGiG,aAAa,CAACjG,WAAW;MACzC;MACA,IAAID,WAAW,KAAKC,WAAW,EAAE;QAC/B+B,aAAa,CAAC,KAAK,CAAC;QACpBI,cAAc,CAAC,KAAK,CAAC;QACrB;MACF;MACA,IAAIyD,KAAK,EAAE;QACT7D,aAAa,CAAC,CAAC8D,gBAAgB,GAAG9F,WAAW,GAAGC,WAAW,CAAC;QAC5DmC,cAAc,CAAC,CAAC0D,gBAAgB,GAAG,CAAC,CAAC;MACvC,CAAC,MAAM;QACL9D,aAAa,CAAC8D,gBAAgB,GAAG,CAAC,CAAC;QACnC1D,cAAc,CAAC0D,gBAAgB,GAAG9F,WAAW,GAAGC,WAAW,CAAC;MAC9D;IACF;EACF,CAAC,CAAC;EACF,IAAIkG,YAAY,GAAGrN,QAAQ,CAAC,UAAUsN,CAAC,EAAE;IACvCV,gBAAgB,CAACU,CAAC,CAAC;IACnB5J,QAAQ,KAAK,IAAI,IAAIA,QAAQ,KAAK,KAAK,CAAC,IAAIA,QAAQ,CAAC4J,CAAC,CAAC;EACzD,CAAC,CAAC;EACF,IAAIC,eAAe,GAAG,SAASA,eAAeA,CAAA,EAAG;IAC/C,IAAIjD,aAAa,IAAIxC,aAAa,CAACI,OAAO,EAAE;MAC1C0E,gBAAgB,CAAC;QACfE,aAAa,EAAEhF,aAAa,CAACI;MAC/B,CAAC,CAAC;IACJ,CAAC,MAAM;MACLgB,aAAa,CAAC,KAAK,CAAC;MACpBI,cAAc,CAAC,KAAK,CAAC;IACvB;EACF,CAAC;EACD,IAAIkE,iBAAiB,GAAG,SAASA,iBAAiBA,CAACC,KAAK,EAAE;IACxD,IAAIC,mBAAmB;IACvB,IAAI5B,KAAK,GAAG2B,KAAK,CAAC3B,KAAK;IACvB,CAAC4B,mBAAmB,GAAG9C,SAAS,CAAC1C,OAAO,MAAM,IAAI,IAAIwF,mBAAmB,KAAK,KAAK,CAAC,IAAIA,mBAAmB,CAACC,qBAAqB,CAAC,CAAC;IACnI,IAAIC,WAAW,GAAGjG,YAAY,CAACO,OAAO,GAAGP,YAAY,CAACO,OAAO,CAAC2F,WAAW,GAAG/B,KAAK;IACjF,IAAIxH,gBAAgB,IAAIP,iBAAiB,IAAI4D,YAAY,CAACO,OAAO,EAAE;MACjE0F,WAAW,GAAG7J,iBAAiB,CAAC4D,YAAY,CAACO,OAAO,EAAE0F,WAAW,CAAC,IAAIA,WAAW;IACnF;IACA,IAAIA,WAAW,KAAKnH,cAAc,EAAE;MAClC8G,eAAe,CAAC,CAAC;MACjB7G,iBAAiB,CAACkH,WAAW,CAAC;IAChC;EACF,CAAC;;EAED;EACA,IAAIE,OAAO,GAAG1N,KAAK,CAACwH,MAAM,CAAC,KAAK,CAAC;EACjCxH,KAAK,CAAC2N,SAAS,CAAC,YAAY;IAC1B;IACA;IACA,IAAID,OAAO,CAAC5F,OAAO,EAAE;MACnBqF,eAAe,CAAC,CAAC;IACnB;EACF,CAAC,EAAE,CAACjD,aAAa,EAAEzH,IAAI,EAAEwE,OAAO,CAAChD,MAAM,CAAC,CAAC;EACzCjE,KAAK,CAAC2N,SAAS,CAAC,YAAY;IAC1BD,OAAO,CAAC5F,OAAO,GAAG,IAAI;EACxB,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA,IAAI8F,gBAAgB,GAAG5N,KAAK,CAACmG,QAAQ,CAAC,CAAC,CAAC;IACtC0H,gBAAgB,GAAGxO,cAAc,CAACuO,gBAAgB,EAAE,CAAC,CAAC;IACtDE,aAAa,GAAGD,gBAAgB,CAAC,CAAC,CAAC;IACnCE,gBAAgB,GAAGF,gBAAgB,CAAC,CAAC,CAAC;EACxC,IAAIG,gBAAgB,GAAGhO,KAAK,CAACmG,QAAQ,CAAC,IAAI,CAAC;IACzC8H,iBAAiB,GAAG5O,cAAc,CAAC2O,gBAAgB,EAAE,CAAC,CAAC;IACvDE,aAAa,GAAGD,iBAAiB,CAAC,CAAC,CAAC;IACpCE,gBAAgB,GAAGF,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;;EAE3CjO,KAAK,CAAC2N,SAAS,CAAC,YAAY;IAC1B,IAAI,CAACjK,MAAM,IAAI,CAACQ,gBAAgB,EAAE;MAChC,IAAIwD,aAAa,CAACI,OAAO,YAAYsG,OAAO,EAAE;QAC5CL,gBAAgB,CAACpO,sBAAsB,CAAC+H,aAAa,CAACI,OAAO,CAAC,CAAC4D,KAAK,CAAC;MACvE,CAAC,MAAM;QACLqC,gBAAgB,CAACpO,sBAAsB,CAACgI,sBAAsB,CAACG,OAAO,CAAC,CAAC4D,KAAK,CAAC;MAChF;IACF;IACAyC,gBAAgB,CAACzO,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;EACxD,CAAC,EAAE,EAAE,CAAC;;EAEN;EACAM,KAAK,CAAC2N,SAAS,CAAC,YAAY;IAC1B,IAAIzJ,gBAAgB,IAAIT,YAAY,EAAE;MACpCA,YAAY,CAAC4K,IAAI,CAACvG,OAAO,GAAGJ,aAAa,CAACI,OAAO;IACnD;EACF,CAAC,CAAC;;EAEF;EACA;EACA;EACA;EACA,IAAIwG,sBAAsB,GAAGtO,KAAK,CAAC2E,WAAW,CAAC,UAAU4J,oBAAoB,EAAE;IAC7E,OAAO,aAAavO,KAAK,CAACwO,aAAa,CAACxO,KAAK,CAACyO,QAAQ,EAAE,IAAI,EAAE,aAAazO,KAAK,CAACwO,aAAa,CAAC7N,MAAM,EAAE4N,oBAAoB,CAAC,EAAEtD,SAAS,KAAK,KAAK,IAAI,aAAajL,KAAK,CAACwO,aAAa,CAAChO,MAAM,EAAE+N,oBAAoB,EAAEvD,WAAW,CAAC,CAAC;EACnO,CAAC,EAAE,CAACC,SAAS,EAAED,WAAW,CAAC,CAAC;EAC5B,IAAI0D,sBAAsB,GAAG1O,KAAK,CAAC2E,WAAW,CAAC,UAAU4J,oBAAoB,EAAE;IAC7E,OAAO,aAAavO,KAAK,CAACwO,aAAa,CAAChO,MAAM,EAAE+N,oBAAoB,EAAEvD,WAAW,CAAC;EACpF,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;;EAEjB;EACA,IAAI2D,cAAc,GAAGjK,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;;EAErD;EACA,IAAIkK,iBAAiB,GAAG5O,KAAK,CAAC+E,OAAO,CAAC,YAAY;IAChD,IAAIpC,WAAW,EAAE;MACf,OAAOA,WAAW;IACpB;IACA;IACA;IACA;IACA,IAAI0H,SAAS,EAAE;MACb,OAAOhD,aAAa,KAAK,aAAa,GAAG,MAAM,GAAG,OAAO;IAC3D;IACA,IAAI2C,SAAS,IAAIU,QAAQ,IAAIxD,cAAc,CAACoD,IAAI,CAAC,UAAUuE,KAAK,EAAE;MAChE,IAAIC,QAAQ,GAAGD,KAAK,CAACC,QAAQ;MAC7B,OAAOA,QAAQ;IACjB,CAAC,CAAC,EAAE;MACF,OAAO,OAAO;IAChB;IACA,OAAO,MAAM;EACf,CAAC,EAAE,CAAC9E,SAAS,EAAEK,SAAS,EAAEnD,cAAc,EAAEvE,WAAW,EAAE+H,QAAQ,CAAC,CAAC;EACjE,IAAIqE,cAAc;;EAElB;EACA,IAAIC,WAAW,GAAG;IAChBnF,SAAS,EAAEA,SAAS;IACpBoF,UAAU,EAAE/H,cAAc,CAACjD,MAAM;IACjC8F,aAAa,EAAEA,aAAa;IAC5B1G,WAAW,EAAEA,WAAW;IACxB2G,SAAS,EAAEA,SAAS;IACpBtH,MAAM,EAAEA;EACV,CAAC;;EAED;EACA,IAAIwM,SAAS,GAAGlP,KAAK,CAAC+E,OAAO,CAAC,YAAY;IACxC,IAAIf,OAAO,EAAE;MACX,OAAO,IAAI;IACb;IACA,IAAI,OAAO3B,SAAS,KAAK,UAAU,EAAE;MACnC,OAAOA,SAAS,CAAC,CAAC;IACpB;IACA,OAAOA,SAAS;EAClB,CAAC,EAAE,CAAC2B,OAAO,EAAE3B,SAAS,CAAC,CAAC;;EAExB;EACA,IAAI8M,SAAS,GAAG,aAAanP,KAAK,CAACwO,aAAa,CAACvO,IAAI,EAAE;IACrDwC,IAAI,EAAEsB,UAAU;IAChBqL,kBAAkB,EAAEpF,SAAS,IAAIE,aAAa,IAAIQ;EACpD,CAAC,CAAC;EACF,IAAI2E,YAAY,GAAG,aAAarP,KAAK,CAACwO,aAAa,CAACtO,QAAQ,EAAE;IAC5D2J,SAAS,EAAE3C,cAAc,CAACwC,GAAG,CAAC,UAAU4F,KAAK,EAAE;MAC7C,IAAI5D,KAAK,GAAG4D,KAAK,CAAC5D,KAAK;MACvB,OAAOA,KAAK;IACd,CAAC,CAAC;IACFzE,OAAO,EAAEC;EACX,CAAC,CAAC;EACF,IAAIqI,cAAc,GAAGvM,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAKwB,SAAS,GAAG,aAAaxE,KAAK,CAACwO,aAAa,CAAC,SAAS,EAAE;IAC3GlM,SAAS,EAAE,EAAE,CAACmC,MAAM,CAACrC,SAAS,EAAE,UAAU;EAC5C,CAAC,EAAEY,OAAO,CAAC,GAAGwB,SAAS;EACvB,IAAIgL,SAAS,GAAG3P,SAAS,CAACqC,KAAK,EAAE;IAC/BO,IAAI,EAAE;EACR,CAAC,CAAC;EACF,IAAIgN,SAAS,GAAG5P,SAAS,CAACqC,KAAK,EAAE;IAC/BwN,IAAI,EAAE;EACR,CAAC,CAAC;EACF,IAAI1F,SAAS,IAAIU,QAAQ,EAAE;IACzB;IACA,IAAIiF,WAAW;IACf,IAAI,OAAOzK,mBAAmB,KAAK,UAAU,EAAE;MAC7CyK,WAAW,GAAGzK,mBAAmB,CAACnB,UAAU,EAAE;QAC5C+J,aAAa,EAAEA,aAAa;QAC5B9L,GAAG,EAAE0F,aAAa;QAClBpE,QAAQ,EAAEkJ;MACZ,CAAC,CAAC;MACFwC,WAAW,CAACnF,SAAS,GAAG3C,cAAc,CAACwC,GAAG,CAAC,UAAUkG,KAAK,EAAEzH,KAAK,EAAE;QACjE,IAAIuD,KAAK,GAAGkE,KAAK,CAAClE,KAAK;QACvB,IAAImE,QAAQ,GAAG1H,KAAK,KAAKjB,cAAc,CAACjD,MAAM,GAAG,CAAC,GAAGyH,KAAK,GAAGoC,aAAa,GAAGpC,KAAK;QAClF,IAAI,OAAOmE,QAAQ,KAAK,QAAQ,IAAI,CAACC,MAAM,CAACC,KAAK,CAACF,QAAQ,CAAC,EAAE;UAC3D,OAAOA,QAAQ;QACjB;QACA,IAAI1L,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;UACzCtE,OAAO,CAACmC,KAAK,CAAC+E,OAAO,CAAChD,MAAM,KAAK,CAAC,EAAE,8FAA8F,CAAC;QACrI;QACA,OAAO,CAAC;MACV,CAAC,CAAC;IACJ,CAAC,MAAM;MACL0L,WAAW,GAAG,aAAa3P,KAAK,CAACwO,aAAa,CAAC,KAAK,EAAE;QACpDhM,KAAK,EAAElD,aAAa,CAACA,aAAa,CAAC,CAAC,CAAC,EAAE8L,YAAY,CAAC,EAAEC,YAAY,CAAC;QACnE/H,QAAQ,EAAE2J,YAAY;QACtBjL,GAAG,EAAE0F,aAAa;QAClBpF,SAAS,EAAE/C,UAAU,CAAC,EAAE,CAACkF,MAAM,CAACrC,SAAS,EAAE,OAAO,CAAC;MACrD,CAAC,EAAE,aAAapC,KAAK,CAACwO,aAAa,CAACG,cAAc,EAAEvP,QAAQ,CAAC;QAC3DoD,KAAK,EAAElD,aAAa,CAACA,aAAa,CAAC,CAAC,CAAC,EAAEgM,gBAAgB,CAAC,EAAE,CAAC,CAAC,EAAE;UAC5D3I,WAAW,EAAEiM;QACf,CAAC;MACH,CAAC,EAAEa,SAAS,CAAC,EAAEF,cAAc,EAAEF,YAAY,EAAEF,SAAS,EAAE,CAAClE,SAAS,IAAID,WAAW,IAAI,aAAahL,KAAK,CAACwO,aAAa,CAAChO,MAAM,EAAE;QAC5HuJ,aAAa,EAAEA,aAAa;QAC5B7C,cAAc,EAAEA;MAClB,CAAC,EAAE8D,WAAW,CAAC,CAAC,CAAC;IACnB;;IAEA;IACA,IAAIgF,gBAAgB,GAAG1Q,aAAa,CAACA,aAAa,CAACA,aAAa,CAAC;MAC/D2Q,MAAM,EAAE,CAAClM,UAAU,CAACE,MAAM;MAC1BiM,gBAAgB,EAAEhG,aAAa,IAAI7C,aAAa,KAAK;IACvD,CAAC,EAAE2H,WAAW,CAAC,EAAE1H,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE;MACnC1E,SAAS,EAAEA,SAAS;MACpBkI,eAAe,EAAEA,eAAe;MAChCxH,QAAQ,EAAEkJ;IACZ,CAAC,CAAC;IACFuC,cAAc,GAAG,aAAa/O,KAAK,CAACwO,aAAa,CAACxO,KAAK,CAACyO,QAAQ,EAAE,IAAI,EAAEvL,UAAU,KAAK,KAAK,IAAI,aAAalD,KAAK,CAACwO,aAAa,CAACjO,WAAW,EAAEnB,QAAQ,CAAC,CAAC,CAAC,EAAE4Q,gBAAgB,EAAE;MAC3KG,eAAe,EAAExF,YAAY;MAC7BrI,SAAS,EAAE,EAAE,CAACmC,MAAM,CAACrC,SAAS,EAAE,SAAS,CAAC;MAC1CJ,GAAG,EAAEyF;IACP,CAAC,CAAC,EAAE6G,sBAAsB,CAAC,EAAEqB,WAAW,EAAE1E,SAAS,IAAIA,SAAS,KAAK,KAAK,IAAI,aAAajL,KAAK,CAACwO,aAAa,CAACjO,WAAW,EAAEnB,QAAQ,CAAC,CAAC,CAAC,EAAE4Q,gBAAgB,EAAE;MACzJI,kBAAkB,EAAExF,aAAa;MACjCtI,SAAS,EAAE,EAAE,CAACmC,MAAM,CAACrC,SAAS,EAAE,UAAU,CAAC;MAC3CJ,GAAG,EAAE0G;IACP,CAAC,CAAC,EAAEgG,sBAAsB,CAAC,EAAEhE,QAAQ,IAAIhD,aAAa,CAACI,OAAO,IAAIJ,aAAa,CAACI,OAAO,YAAYsG,OAAO,IAAI,aAAapO,KAAK,CAACwO,aAAa,CAACnN,eAAe,EAAE;MAC9JW,GAAG,EAAEwI,SAAS;MACdK,YAAY,EAAEA,YAAY;MAC1BnD,aAAa,EAAEA,aAAa;MAC5BpE,QAAQ,EAAEkJ,gBAAgB;MAC1BzB,SAAS,EAAEA;IACb,CAAC,CAAC,CAAC;EACL,CAAC,MAAM;IACL;IACAgE,cAAc,GAAG,aAAa/O,KAAK,CAACwO,aAAa,CAAC,KAAK,EAAE;MACvDhM,KAAK,EAAElD,aAAa,CAACA,aAAa,CAAC,CAAC,CAAC,EAAE8L,YAAY,CAAC,EAAEC,YAAY,CAAC;MACnE/I,SAAS,EAAE/C,UAAU,CAAC,EAAE,CAACkF,MAAM,CAACrC,SAAS,EAAE,UAAU,CAAC,CAAC;MACvDkB,QAAQ,EAAEkJ,gBAAgB;MAC1BxK,GAAG,EAAE0F;IACP,CAAC,EAAE,aAAa1H,KAAK,CAACwO,aAAa,CAACG,cAAc,EAAEvP,QAAQ,CAAC;MAC3DoD,KAAK,EAAElD,aAAa,CAACA,aAAa,CAAC,CAAC,CAAC,EAAEgM,gBAAgB,CAAC,EAAE,CAAC,CAAC,EAAE;QAC5D3I,WAAW,EAAEiM;MACf,CAAC;IACH,CAAC,EAAEa,SAAS,CAAC,EAAEF,cAAc,EAAEF,YAAY,EAAEnM,UAAU,KAAK,KAAK,IAAI,aAAalD,KAAK,CAACwO,aAAa,CAAC7N,MAAM,EAAEvB,QAAQ,CAAC,CAAC,CAAC,EAAE4P,WAAW,EAAE1H,aAAa,CAAC,CAAC,EAAE6H,SAAS,EAAEnE,WAAW,IAAI,aAAahL,KAAK,CAACwO,aAAa,CAAChO,MAAM,EAAE;MAC1NuJ,aAAa,EAAEA,aAAa;MAC5B7C,cAAc,EAAEA;IAClB,CAAC,EAAE8D,WAAW,CAAC,CAAC,CAAC;EACnB;EACA,IAAIqF,SAAS,GAAG,aAAarQ,KAAK,CAACwO,aAAa,CAAC,KAAK,EAAEpP,QAAQ,CAAC;IAC/DkD,SAAS,EAAE/C,UAAU,CAAC6C,SAAS,EAAEE,SAAS,GAAGL,WAAW,GAAG,CAAC,CAAC,EAAE9C,eAAe,CAAC8C,WAAW,EAAE,EAAE,CAACwC,MAAM,CAACrC,SAAS,EAAE,MAAM,CAAC,EAAEQ,SAAS,KAAK,KAAK,CAAC,EAAEzD,eAAe,CAAC8C,WAAW,EAAE,EAAE,CAACwC,MAAM,CAACrC,SAAS,EAAE,YAAY,CAAC,EAAEyG,UAAU,CAAC,EAAE1J,eAAe,CAAC8C,WAAW,EAAE,EAAE,CAACwC,MAAM,CAACrC,SAAS,EAAE,aAAa,CAAC,EAAE6G,WAAW,CAAC,EAAE9J,eAAe,CAAC8C,WAAW,EAAE,EAAE,CAACwC,MAAM,CAACrC,SAAS,EAAE,eAAe,CAAC,EAAEO,WAAW,KAAK,OAAO,CAAC,EAAExD,eAAe,CAAC8C,WAAW,EAAE,EAAE,CAACwC,MAAM,CAACrC,SAAS,EAAE,eAAe,CAAC,EAAE4H,SAAS,CAAC,EAAE7K,eAAe,CAAC8C,WAAW,EAAE,EAAE,CAACwC,MAAM,CAACrC,SAAS,EAAE,eAAe,CAAC,EAAEiI,SAAS,CAAC,EAAElL,eAAe,CAAC8C,WAAW,EAAE,EAAE,CAACwC,MAAM,CAACrC,SAAS,EAAE,sBAAsB,CAAC,EAAEiI,SAAS,IAAIjD,WAAW,CAAC,EAAEjI,eAAe,CAAC8C,WAAW,EAAE,EAAE,CAACwC,MAAM,CAACrC,SAAS,EAAE,oBAAoB,CAAC,EAAE8H,aAAa,CAAC,EAAE/K,eAAe,CAAC8C,WAAW,EAAE,EAAE,CAACwC,MAAM,CAACrC,SAAS,EAAE,eAAe,CAAC,EAAE8E,cAAc,CAAC,CAAC,CAAC,IAAIA,cAAc,CAAC,CAAC,CAAC,CAACkD,KAAK,CAAC,EAAEjL,eAAe,CAAC8C,WAAW,EAAE,EAAE,CAACwC,MAAM,CAACrC,SAAS,EAAE,gBAAgB,CAAC,EAAE8E,cAAc,CAACA,cAAc,CAACjD,MAAM,GAAG,CAAC,CAAC,IAAIiD,cAAc,CAACA,cAAc,CAACjD,MAAM,GAAG,CAAC,CAAC,CAACmG,KAAK,KAAK,OAAO,CAAC,EAAEnI,WAAW,CAAC,CAAC;IAC3hCO,KAAK,EAAEA,KAAK;IACZS,EAAE,EAAEA,EAAE;IACNjB,GAAG,EAAEuF;EACP,CAAC,EAAEiI,SAAS,CAAC,EAAE3M,KAAK,IAAI,aAAa7C,KAAK,CAACwO,aAAa,CAACpN,KAAK,EAAE;IAC9DkB,SAAS,EAAE,EAAE,CAACmC,MAAM,CAACrC,SAAS,EAAE,QAAQ;EAC1C,CAAC,EAAES,KAAK,CAACkB,UAAU,CAAC,CAAC,EAAE,aAAa/D,KAAK,CAACwO,aAAa,CAAC,KAAK,EAAE;IAC7DxM,GAAG,EAAE2F,sBAAsB;IAC3BrF,SAAS,EAAE,EAAE,CAACmC,MAAM,CAACrC,SAAS,EAAE,YAAY;EAC9C,CAAC,EAAE2M,cAAc,CAAC,EAAEjM,MAAM,IAAI,aAAa9C,KAAK,CAACwO,aAAa,CAACpN,KAAK,EAAE;IACpEkB,SAAS,EAAE,EAAE,CAACmC,MAAM,CAACrC,SAAS,EAAE,SAAS;EAC3C,CAAC,EAAEU,MAAM,CAACiB,UAAU,CAAC,CAAC,CAAC;EACvB,IAAImG,aAAa,EAAE;IACjBmG,SAAS,GAAG,aAAarQ,KAAK,CAACwO,aAAa,CAAChP,cAAc,EAAE;MAC3D8Q,QAAQ,EAAElD;IACZ,CAAC,EAAEiD,SAAS,CAAC;EACf;EACA,IAAIE,aAAa,GAAGzP,YAAY,CAACoG,cAAc,EAAE6C,aAAa,EAAEnH,SAAS,CAAC;EAC1E,IAAI4N,iBAAiB,GAAGxQ,KAAK,CAAC+E,OAAO,CAAC,YAAY;IAChD,OAAO;MACL;MACAiB,OAAO,EAAEqB,aAAa;MACtB;MACAjF,SAAS,EAAEA,SAAS;MACpBsC,YAAY,EAAEA,YAAY;MAC1BoJ,aAAa,EAAEA,aAAa;MAC5BlL,SAAS,EAAEA,SAAS;MACpB2N,aAAa,EAAEA,aAAa;MAC5B7F,QAAQ,EAAEA,QAAQ;MAClBwD,aAAa,EAAEA,aAAa;MAC5B7H,cAAc,EAAEA,cAAc;MAC9B2D,SAAS,EAAEA,SAAS;MACpBK,SAAS,EAAEA,SAAS;MACpBH,aAAa,EAAEA,aAAa;MAC5B;MACAvH,WAAW,EAAEiM,iBAAiB;MAC9BrM,YAAY,EAAEA,YAAY;MAC1BkO,oBAAoB,EAAE/K,gBAAgB,CAAC+K,oBAAoB;MAC3D7J,UAAU,EAAEf,gBAAgB;MAC5BF,cAAc,EAAEA,cAAc;MAC9B+K,gBAAgB,EAAEhL,gBAAgB,CAACgL,gBAAgB;MACnDjK,iBAAiB,EAAEf,gBAAgB,CAACe,iBAAiB;MACrDV,eAAe,EAAEA,eAAe;MAChCc,qBAAqB,EAAEnB,gBAAgB,CAACmB,qBAAqB;MAC7D8J,UAAU,EAAEjL,gBAAgB,CAACiL,UAAU;MACvCC,mBAAmB,EAAE1J,cAAc,CAAC2J,KAAK,CAAC,UAAUC,GAAG,EAAE;QACvD,OAAOA,GAAG,CAAC1G,KAAK,KAAK,MAAM;MAC7B,CAAC,CAAC;MACF8E,SAAS,EAAEA,SAAS;MACpB;MACAjI,OAAO,EAAEA,OAAO;MAChBC,cAAc,EAAEA,cAAc;MAC9B0E,cAAc,EAAEA,cAAc;MAC9B;MACAmF,aAAa,EAAE1L,QAAQ;MACvB2L,WAAW,EAAE1L,MAAM;MACnBC,OAAO,EAAEA,OAAO;MAChB0L,aAAa,EAAEvL,gBAAgB,CAACuL,aAAa;MAC7C7N,KAAK,EAAEA,KAAK;MACZ0B,SAAS,EAAEA,SAAS;MACpB6B,YAAY,EAAEf,kBAAkB;MAChCsL,kBAAkB,EAAEpL,wBAAwB;MAC5ChC,YAAY,EAAEA;IAChB,CAAC;EACH,CAAC,EAAE;EACH;EACAuD,aAAa;EACb;EACAjF,SAAS,EAAEsC,YAAY,EAAEoJ,aAAa,EAAElL,SAAS,EAAE2N,aAAa,EAAE7F,QAAQ,EAAEwD,aAAa,EAAE7H,cAAc,EAAE2D,SAAS,EAAEK,SAAS,EAAEH,aAAa;EAC9I;EACA0E,iBAAiB,EAAErM,YAAY,EAAEmD,gBAAgB,CAAC+K,oBAAoB,EAAE5K,gBAAgB,EAAEF,cAAc,EAAED,gBAAgB,CAACgL,gBAAgB,EAAEhL,gBAAgB,CAACe,iBAAiB,EAAEV,eAAe,EAAEL,gBAAgB,CAACmB,qBAAqB,EAAEnB,gBAAgB,CAACiL,UAAU,EAAEzB,SAAS;EAChR;EACAjI,OAAO,EAAEC,cAAc,EAAE0E,cAAc;EACvC;EACAvG,QAAQ,EAAEC,MAAM,EAAEC,OAAO,EAAEG,gBAAgB,CAACuL,aAAa,EAAE7N,KAAK,EAAE0B,SAAS,EAAEc,kBAAkB,EAAEE,wBAAwB,EAAEhC,YAAY,CAAC,CAAC;EACzI,OAAO,aAAa9D,KAAK,CAACwO,aAAa,CAACnO,YAAY,CAAC8Q,QAAQ,EAAE;IAC7DC,KAAK,EAAEZ;EACT,CAAC,EAAEH,SAAS,CAAC;AACf;AACA,IAAIgB,QAAQ,GAAG,aAAarR,KAAK,CAACsR,UAAU,CAACxP,KAAK,CAAC;AACnD,IAAIqC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;EACzCgN,QAAQ,CAACE,WAAW,GAAG,OAAO;AAChC;AACA,OAAO,SAASC,QAAQA,CAACC,mBAAmB,EAAE;EAC5C,OAAOnR,aAAa,CAAC+Q,QAAQ,EAAEI,mBAAmB,CAAC;AACrD;AACA,IAAIC,cAAc,GAAGF,QAAQ,CAAC,CAAC;AAC/BE,cAAc,CAACvR,aAAa,GAAGA,aAAa;AAC5CuR,cAAc,CAACtR,cAAc,GAAGA,cAAc;AAC9CsR,cAAc,CAACpQ,MAAM,GAAGA,MAAM;AAC9BoQ,cAAc,CAACnQ,WAAW,GAAGA,WAAW;AACxCmQ,cAAc,CAAChR,OAAO,GAAGD,gBAAgB;AACzC,eAAeiR,cAAc","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} |