pixelize-design-library 2.4.1-beta.1 → 2.4.1-beta.11

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 (573) hide show
  1. package/dist/Assets/defaultLogo.d.ts.map +1 -1
  2. package/dist/Assets/defaultLogo.js +1 -3
  3. package/dist/Assets/defaultLogo.tsx +4 -8
  4. package/dist/Components/Accordion/accordionColors.d.ts.map +1 -1
  5. package/dist/Components/Accordion/accordionColors.js +17 -3
  6. package/dist/Components/Checkbox/Checkbox.styles.d.ts.map +1 -1
  7. package/dist/Components/Checkbox/Checkbox.styles.js +13 -2
  8. package/dist/Components/CustomModulesTable/EditModuleModal.d.ts.map +1 -1
  9. package/dist/Components/CustomModulesTable/EditModuleModal.js +5 -1
  10. package/dist/Components/DatePicker/CalendarPanel.d.ts.map +1 -1
  11. package/dist/Components/DatePicker/CalendarPanel.js +15 -4
  12. package/dist/Components/DatePicker/SingleDatePicker.d.ts.map +1 -1
  13. package/dist/Components/DatePicker/SingleDatePicker.js +11 -9
  14. package/dist/Components/DatePicker/TimeOnlyPicker.js +2 -2
  15. package/dist/Components/DatePicker/TimePicker.d.ts.map +1 -1
  16. package/dist/Components/DatePicker/TimePicker.js +14 -2
  17. package/dist/Components/DatePicker/TimePickerInput.d.ts.map +1 -1
  18. package/dist/Components/DatePicker/TimePickerInput.js +9 -1
  19. package/dist/Components/Editor/joditThemeVars.d.ts.map +1 -1
  20. package/dist/Components/Editor/joditThemeVars.js +9 -0
  21. package/dist/Components/FilePreview/FilePreview.d.ts.map +1 -1
  22. package/dist/Components/FilePreview/FilePreview.js +3 -1
  23. package/dist/Components/FileUploader/FileUploader.js +2 -2
  24. package/dist/Components/FilterSidebar/FilterSidebar.js +1 -1
  25. package/dist/Components/LimitReachedModal/LimitReachedModal.d.ts +5 -0
  26. package/dist/Components/LimitReachedModal/LimitReachedModal.d.ts.map +1 -0
  27. package/dist/Components/LimitReachedModal/LimitReachedModal.js +45 -0
  28. package/dist/Components/LimitReachedModal/LimitReachedModalProps.d.ts +16 -0
  29. package/dist/Components/LimitReachedModal/LimitReachedModalProps.d.ts.map +1 -0
  30. package/dist/Components/LimitReachedModal/LimitReachedModalProps.js +2 -0
  31. package/dist/Components/LimitReachedModal/limitReachedCopy.d.ts +7 -0
  32. package/dist/Components/LimitReachedModal/limitReachedCopy.d.ts.map +1 -0
  33. package/dist/Components/LimitReachedModal/limitReachedCopy.js +54 -0
  34. package/dist/Components/Loading/Loading.d.ts +1 -1
  35. package/dist/Components/Loading/Loading.d.ts.map +1 -1
  36. package/dist/Components/Loading/Loading.js +2 -2
  37. package/dist/Components/Loading/LoadingProps.d.ts +2 -0
  38. package/dist/Components/Loading/LoadingProps.d.ts.map +1 -1
  39. package/dist/Components/Modal/Modal.d.ts.map +1 -1
  40. package/dist/Components/Modal/Modal.js +1 -4
  41. package/dist/Components/NavigationBar/NavigationBar.d.ts.map +1 -1
  42. package/dist/Components/NavigationBar/NavigationBar.js +10 -6
  43. package/dist/Components/OrgSwitcher/OrgSwitcher.d.ts.map +1 -1
  44. package/dist/Components/OrgSwitcher/OrgSwitcher.js +22 -3
  45. package/dist/Components/OrgSwitcher/OrgSwitcherProps.d.ts +9 -1
  46. package/dist/Components/OrgSwitcher/OrgSwitcherProps.d.ts.map +1 -1
  47. package/dist/Components/OrgSwitcher/OrgSwitcherProps.js +19 -5
  48. package/dist/Components/OrganizationDetails/CreateOrgModal.js +6 -4
  49. package/dist/Components/OrganizationDetails/OrganizationDetails.d.ts.map +1 -1
  50. package/dist/Components/OrganizationDetails/OrganizationDetails.js +66 -9
  51. package/dist/Components/OrganizationDetails/OrganizationDetailsProps.d.ts +47 -14
  52. package/dist/Components/OrganizationDetails/OrganizationDetailsProps.d.ts.map +1 -1
  53. package/dist/Components/PlanBadge/PlanBadge.d.ts +12 -0
  54. package/dist/Components/PlanBadge/PlanBadge.d.ts.map +1 -0
  55. package/dist/Components/PlanBadge/PlanBadge.js +22 -0
  56. package/dist/Components/PlanBadge/PlanBadgeProps.d.ts +11 -0
  57. package/dist/Components/PlanBadge/PlanBadgeProps.d.ts.map +1 -0
  58. package/dist/Components/PlanBadge/PlanBadgeProps.js +2 -0
  59. package/dist/Components/PlanPill/PlanPill.d.ts +5 -0
  60. package/dist/Components/PlanPill/PlanPill.d.ts.map +1 -0
  61. package/dist/Components/PlanPill/PlanPill.js +42 -0
  62. package/dist/Components/PlanPill/PlanPillProps.d.ts +28 -0
  63. package/dist/Components/PlanPill/PlanPillProps.d.ts.map +1 -0
  64. package/dist/Components/PlanPill/PlanPillProps.js +2 -0
  65. package/dist/Components/PlanPill/planPillGradient.d.ts +22 -0
  66. package/dist/Components/PlanPill/planPillGradient.d.ts.map +1 -0
  67. package/dist/Components/PlanPill/planPillGradient.js +20 -0
  68. package/dist/Components/Search/Search.d.ts.map +1 -1
  69. package/dist/Components/Search/Search.js +4 -2
  70. package/dist/Components/Select/Select.styles.d.ts.map +1 -1
  71. package/dist/Components/Select/Select.styles.js +29 -20
  72. package/dist/Components/SelectSearch/SelectSearch.js +1 -1
  73. package/dist/Components/SelectV2/SelectV2.d.ts +3 -0
  74. package/dist/Components/SelectV2/SelectV2.d.ts.map +1 -0
  75. package/dist/Components/SelectV2/SelectV2.js +185 -0
  76. package/dist/Components/SelectV2/SelectV2Props.d.ts +67 -0
  77. package/dist/Components/SelectV2/SelectV2Props.d.ts.map +1 -0
  78. package/dist/Components/SelectV2/SelectV2Props.js +2 -0
  79. package/dist/Components/SideBar/SecondaryBar.d.ts.map +1 -1
  80. package/dist/Components/SideBar/SecondaryBar.js +10 -2
  81. package/dist/Components/SideBar/SideBar.js +2 -2
  82. package/dist/Components/SideBar/components/MenuItemBox.d.ts.map +1 -1
  83. package/dist/Components/SideBar/components/MenuItemBox.js +7 -6
  84. package/dist/Components/Table/components/tableRowHoverStyle.d.ts +9 -8
  85. package/dist/Components/Table/components/tableRowHoverStyle.d.ts.map +1 -1
  86. package/dist/Components/Table/components/tableRowHoverStyle.js +12 -12
  87. package/dist/Components/Table/settings/ManageColumns.js +2 -2
  88. package/dist/Components/UpgradeButton/UpgradeButton.d.ts.map +1 -1
  89. package/dist/Components/UpgradeButton/UpgradeButton.js +25 -7
  90. package/dist/Components/UserDetails/UserDetails.d.ts.map +1 -1
  91. package/dist/Components/UserDetails/UserDetails.js +5 -2
  92. package/dist/Components/WorkspaceWindow/WorkspaceTrayPreview.js +2 -1
  93. package/dist/Components/WorkspaceWindow/WorkspaceWindow.d.ts +2 -2
  94. package/dist/Components/WorkspaceWindow/WorkspaceWindow.d.ts.map +1 -1
  95. package/dist/Components/WorkspaceWindow/WorkspaceWindow.js +25 -4
  96. package/dist/Components/WorkspaceWindow/WorkspaceWindowProps.d.ts +18 -0
  97. package/dist/Components/WorkspaceWindow/WorkspaceWindowProps.d.ts.map +1 -1
  98. package/dist/Theme/chakra/Avatar.styles.d.ts +33 -0
  99. package/dist/Theme/chakra/Avatar.styles.d.ts.map +1 -0
  100. package/dist/Theme/chakra/Avatar.styles.js +28 -0
  101. package/dist/Theme/chakra/Drawer.styles.d.ts +32 -0
  102. package/dist/Theme/chakra/Drawer.styles.d.ts.map +1 -0
  103. package/dist/Theme/chakra/Drawer.styles.js +26 -0
  104. package/dist/Theme/chakra/Menu.styles.d.ts +70 -0
  105. package/dist/Theme/chakra/Menu.styles.d.ts.map +1 -0
  106. package/dist/Theme/chakra/Menu.styles.js +50 -0
  107. package/dist/Theme/chakra/Modal.styles.d.ts +32 -0
  108. package/dist/Theme/chakra/Modal.styles.d.ts.map +1 -0
  109. package/dist/Theme/chakra/Modal.styles.js +26 -0
  110. package/dist/Theme/chakra/Popover.styles.d.ts +37 -0
  111. package/dist/Theme/chakra/Popover.styles.d.ts.map +1 -0
  112. package/dist/Theme/chakra/Popover.styles.js +30 -0
  113. package/dist/Theme/chakra/Slider.styles.d.ts +31 -0
  114. package/dist/Theme/chakra/Slider.styles.d.ts.map +1 -0
  115. package/dist/Theme/chakra/Slider.styles.js +25 -0
  116. package/dist/Theme/chakra/Switch.styles.d.ts +31 -0
  117. package/dist/Theme/chakra/Switch.styles.d.ts.map +1 -0
  118. package/dist/Theme/chakra/Switch.styles.js +24 -0
  119. package/dist/Theme/chakra/Tabs.styles.d.ts +43 -0
  120. package/dist/Theme/chakra/Tabs.styles.d.ts.map +1 -0
  121. package/dist/Theme/chakra/Tabs.styles.js +41 -0
  122. package/dist/Theme/chakra/common.web.d.ts.map +1 -1
  123. package/dist/Theme/chakra/common.web.js +4 -1
  124. package/dist/Theme/chakra/componentStyles.d.ts +230 -1
  125. package/dist/Theme/chakra/componentStyles.d.ts.map +1 -1
  126. package/dist/Theme/chakra/componentStyles.js +136 -0
  127. package/dist/Theme/chakra/createBrandTheme.d.ts.map +1 -1
  128. package/dist/Theme/chakra/createBrandTheme.js +47 -0
  129. package/dist/Theme/provider/PixelizeThemeProvider.d.ts +22 -3
  130. package/dist/Theme/provider/PixelizeThemeProvider.d.ts.map +1 -1
  131. package/dist/Theme/provider/PixelizeThemeProvider.js +115 -5
  132. package/dist/Theme/provider/ThemeSwitcher.d.ts.map +1 -1
  133. package/dist/Theme/provider/ThemeSwitcher.js +23 -11
  134. package/dist/Theme/tokens/brands/index.d.ts.map +1 -1
  135. package/dist/Theme/tokens/brands/index.js +20 -18
  136. package/dist/Theme/tokens/brands/lavender/palette.light.d.ts.map +1 -1
  137. package/dist/Theme/tokens/brands/lavender/palette.light.js +22 -15
  138. package/dist/Theme/tokens/brands/zinc/palette.dark.d.ts.map +1 -1
  139. package/dist/Theme/tokens/brands/zinc/palette.dark.js +5 -2
  140. package/dist/Theme/tokens/builders/buildDarkPalette.d.ts.map +1 -1
  141. package/dist/Theme/tokens/builders/buildDarkPalette.js +19 -4
  142. package/dist/Theme/tokens/builders/outlineRung.d.ts +35 -0
  143. package/dist/Theme/tokens/builders/outlineRung.d.ts.map +1 -0
  144. package/dist/Theme/tokens/builders/outlineRung.js +69 -0
  145. package/dist/Theme/tokens/builders/statusTone.d.ts +35 -0
  146. package/dist/Theme/tokens/builders/statusTone.d.ts.map +1 -0
  147. package/dist/Theme/tokens/builders/statusTone.js +63 -0
  148. package/dist/Utils/accountHandoff.d.ts +54 -0
  149. package/dist/Utils/accountHandoff.d.ts.map +1 -0
  150. package/dist/Utils/accountHandoff.js +144 -0
  151. package/dist/Utils/planBadge.d.ts +39 -0
  152. package/dist/Utils/planBadge.d.ts.map +1 -0
  153. package/dist/Utils/planBadge.js +108 -0
  154. package/dist/Utils/planExpiry.d.ts +35 -0
  155. package/dist/Utils/planExpiry.d.ts.map +1 -0
  156. package/dist/Utils/planExpiry.js +115 -0
  157. package/dist/index.d.ts +18 -1
  158. package/dist/index.d.ts.map +1 -1
  159. package/dist/index.js +36 -3
  160. package/package.json +6 -2
  161. package/.claude/settings.local.json +0 -51
  162. package/.cursor/TASK-SETUP.md +0 -43
  163. package/.cursor/agents/be-impl.md +0 -37
  164. package/.cursor/agents/fe-impl.md +0 -39
  165. package/.cursor/agents/task-plan.md +0 -56
  166. package/.cursor/agents/test-create.md +0 -31
  167. package/.cursor/agents/test-exec.md +0 -26
  168. package/.cursor/hooks/task-hint.env +0 -1
  169. package/.cursor/hooks/task-skill-nudge.sh +0 -71
  170. package/.cursor/hooks/task-slash-guard.sh +0 -31
  171. package/.cursor/hooks.json +0 -13
  172. package/.cursor/modules/account-management/MODULE.md +0 -34
  173. package/.cursor/modules/buttons/MODULE.md +0 -47
  174. package/.cursor/modules/cards/MODULE.md +0 -55
  175. package/.cursor/modules/charts/MODULE.md +0 -40
  176. package/.cursor/modules/common/MODULE.md +0 -36
  177. package/.cursor/modules/contact-auth/MODULE.md +0 -19
  178. package/.cursor/modules/data-display/MODULE.md +0 -42
  179. package/.cursor/modules/feedback/MODULE.md +0 -32
  180. package/.cursor/modules/form/MODULE.md +0 -13
  181. package/.cursor/modules/inputs-basic/MODULE.md +0 -42
  182. package/.cursor/modules/inputs-date-file/MODULE.md +0 -56
  183. package/.cursor/modules/inputs-select/MODULE.md +0 -27
  184. package/.cursor/modules/inputs-toggle/MODULE.md +0 -18
  185. package/.cursor/modules/kanban/MODULE.md +0 -22
  186. package/.cursor/modules/layout-navigation/MODULE.md +0 -269
  187. package/.cursor/modules/overlays/MODULE.md +0 -69
  188. package/.cursor/modules/playground/MODULE.md +0 -28
  189. package/.cursor/modules/table/MODULE.md +0 -78
  190. package/.cursor/modules/theme/MODULE.md +0 -314
  191. package/.cursor/modules/types-exports/MODULE.md +0 -17
  192. package/.cursor/modules/utility-ui/MODULE.md +0 -50
  193. package/.cursor/modules/utils-hooks/MODULE.md +0 -35
  194. package/.cursor/pixelize-task-statusline.sh +0 -64
  195. package/.cursor/plans/blocked/.gitkeep +0 -0
  196. package/.cursor/plans/current.md +0 -12
  197. package/.cursor/plans/current.theme-tokens-dark-mode.md +0 -77
  198. package/.cursor/plans/current.theme-tokens-dark.md +0 -155
  199. package/.cursor/plans/done/.gitkeep +0 -0
  200. package/.cursor/rules +0 -31
  201. package/.cursor/skills/task/SKILL.md +0 -167
  202. package/CLAUDE.md +0 -148
  203. package/__mocks__/styleMock.js +0 -8
  204. package/coverage/clover.xml +0 -405
  205. package/coverage/coverage-final.json +0 -16
  206. package/coverage/coverage-summary.json +0 -50
  207. package/coverage/lcov-report/Button/Button.tsx.html +0 -244
  208. package/coverage/lcov-report/Button/index.html +0 -116
  209. package/coverage/lcov-report/Checkbox/Checkbox.tsx.html +0 -433
  210. package/coverage/lcov-report/Checkbox/index.html +0 -116
  211. package/coverage/lcov-report/Common/ErrorMessage.tsx.html +0 -148
  212. package/coverage/lcov-report/Common/FormLabel.tsx.html +0 -331
  213. package/coverage/lcov-report/Common/HelperText.tsx.html +0 -124
  214. package/coverage/lcov-report/Common/index.html +0 -146
  215. package/coverage/lcov-report/Components/Button/Button.tsx.html +0 -244
  216. package/coverage/lcov-report/Components/Button/index.html +0 -116
  217. package/coverage/lcov-report/Components/Checkbox/Checkbox.tsx.html +0 -433
  218. package/coverage/lcov-report/Components/Checkbox/index.html +0 -116
  219. package/coverage/lcov-report/Components/Common/ErrorMessage.tsx.html +0 -148
  220. package/coverage/lcov-report/Components/Common/FormLabel.tsx.html +0 -331
  221. package/coverage/lcov-report/Components/Common/HelperText.tsx.html +0 -124
  222. package/coverage/lcov-report/Components/Common/index.html +0 -146
  223. package/coverage/lcov-report/Components/CustomModulesTable/CustomModulesTable.tsx.html +0 -712
  224. package/coverage/lcov-report/Components/CustomModulesTable/DeleteModuleModal.tsx.html +0 -343
  225. package/coverage/lcov-report/Components/CustomModulesTable/EditModuleModal.tsx.html +0 -313
  226. package/coverage/lcov-report/Components/CustomModulesTable/index.html +0 -146
  227. package/coverage/lcov-report/Components/Divider/Divider.tsx.html +0 -133
  228. package/coverage/lcov-report/Components/Divider/index.html +0 -116
  229. package/coverage/lcov-report/Components/Dropdown/DropDown.tsx.html +0 -994
  230. package/coverage/lcov-report/Components/Dropdown/index.html +0 -116
  231. package/coverage/lcov-report/Components/EmptyState/EmptyState.tsx.html +0 -466
  232. package/coverage/lcov-report/Components/EmptyState/index.html +0 -116
  233. package/coverage/lcov-report/Components/Header/HeaderActions.tsx.html +0 -373
  234. package/coverage/lcov-report/Components/Header/index.html +0 -116
  235. package/coverage/lcov-report/Components/Input/TextInput.tsx.html +0 -487
  236. package/coverage/lcov-report/Components/Input/index.html +0 -116
  237. package/coverage/lcov-report/Components/Input/textInputIconSize.ts.html +0 -205
  238. package/coverage/lcov-report/Components/KanbanBoard/AccountCard.tsx.html +0 -547
  239. package/coverage/lcov-report/Components/KanbanBoard/AccountRow.tsx.html +0 -190
  240. package/coverage/lcov-report/Components/KanbanBoard/KanbanActions/KanbanActions.tsx.html +0 -247
  241. package/coverage/lcov-report/Components/KanbanBoard/KanbanActions/index.html +0 -116
  242. package/coverage/lcov-report/Components/KanbanBoard/KanbanBoard.tsx.html +0 -3598
  243. package/coverage/lcov-report/Components/KanbanBoard/MeasuredItem.tsx.html +0 -283
  244. package/coverage/lcov-report/Components/KanbanBoard/index.html +0 -161
  245. package/coverage/lcov-report/Components/OrganizationDetails/CreateOrgModal.tsx.html +0 -511
  246. package/coverage/lcov-report/Components/OrganizationDetails/DeleteOrgModal.tsx.html +0 -334
  247. package/coverage/lcov-report/Components/OrganizationDetails/OrganizationDetails.tsx.html +0 -1519
  248. package/coverage/lcov-report/Components/OrganizationDetails/index.html +0 -146
  249. package/coverage/lcov-report/Components/RolesPermission/DeleteRoleModal.tsx.html +0 -328
  250. package/coverage/lcov-report/Components/RolesPermission/RolesPermission.tsx.html +0 -1732
  251. package/coverage/lcov-report/Components/RolesPermission/index.html +0 -131
  252. package/coverage/lcov-report/Components/SearchSelect/SearchSelect.tsx.html +0 -2575
  253. package/coverage/lcov-report/Components/SearchSelect/SelectTruncatedLabel.tsx.html +0 -202
  254. package/coverage/lcov-report/Components/SearchSelect/index.html +0 -146
  255. package/coverage/lcov-report/Components/SearchSelect/searchSelectSize.ts.html +0 -496
  256. package/coverage/lcov-report/Components/Select/Select.tsx.html +0 -361
  257. package/coverage/lcov-report/Components/Select/index.html +0 -116
  258. package/coverage/lcov-report/Components/SideBar/components/OtherApps.tsx.html +0 -562
  259. package/coverage/lcov-report/Components/SideBar/components/OverflowTooltipText.tsx.html +0 -346
  260. package/coverage/lcov-report/Components/SideBar/components/index.html +0 -116
  261. package/coverage/lcov-report/Components/SignInActivityTable/SignInActivityTable.tsx.html +0 -490
  262. package/coverage/lcov-report/Components/SignInActivityTable/index.html +0 -116
  263. package/coverage/lcov-report/Components/Table/components/TableActions.tsx.html +0 -595
  264. package/coverage/lcov-report/Components/Table/components/TableBody.tsx.html +0 -2212
  265. package/coverage/lcov-report/Components/Table/components/TableGroupRow.tsx.html +0 -358
  266. package/coverage/lcov-report/Components/Table/components/TableLoading.tsx.html +0 -358
  267. package/coverage/lcov-report/Components/Table/components/index.html +0 -161
  268. package/coverage/lcov-report/Components/Table/settings/ManageColumns.tsx.html +0 -856
  269. package/coverage/lcov-report/Components/Table/settings/index.html +0 -116
  270. package/coverage/lcov-report/Components/Tag/Tag.styles.tsx.html +0 -331
  271. package/coverage/lcov-report/Components/Tag/Tag.tsx.html +0 -256
  272. package/coverage/lcov-report/Components/Tag/index.html +0 -131
  273. package/coverage/lcov-report/Components/ToolTip/ToolTip.tsx.html +0 -286
  274. package/coverage/lcov-report/Components/ToolTip/index.html +0 -116
  275. package/coverage/lcov-report/Components/UserDetails/AddUserModal.tsx.html +0 -709
  276. package/coverage/lcov-report/Components/UserDetails/ChangeRoleModal.tsx.html +0 -505
  277. package/coverage/lcov-report/Components/UserDetails/DeactivateConfirmModal.tsx.html +0 -379
  278. package/coverage/lcov-report/Components/UserDetails/UserDetails.tsx.html +0 -1900
  279. package/coverage/lcov-report/Components/UserDetails/index.html +0 -161
  280. package/coverage/lcov-report/EmptyState/EmptyState.tsx.html +0 -466
  281. package/coverage/lcov-report/EmptyState/index.html +0 -116
  282. package/coverage/lcov-report/Hooks/index.html +0 -116
  283. package/coverage/lcov-report/Hooks/usePreferences.ts.html +0 -421
  284. package/coverage/lcov-report/Input/TextInput.tsx.html +0 -487
  285. package/coverage/lcov-report/Input/index.html +0 -131
  286. package/coverage/lcov-report/Input/textInputIconSize.ts.html +0 -205
  287. package/coverage/lcov-report/KanbanBoard.tsx.html +0 -3481
  288. package/coverage/lcov-report/OrganizationDetails/CreateOrgModal.tsx.html +0 -511
  289. package/coverage/lcov-report/OrganizationDetails/DeleteOrgModal.tsx.html +0 -334
  290. package/coverage/lcov-report/OrganizationDetails/OrganizationDetails.tsx.html +0 -1519
  291. package/coverage/lcov-report/OrganizationDetails/index.html +0 -146
  292. package/coverage/lcov-report/RolesPermission/DeleteRoleModal.tsx.html +0 -328
  293. package/coverage/lcov-report/RolesPermission/RolesPermission.tsx.html +0 -1732
  294. package/coverage/lcov-report/RolesPermission/index.html +0 -116
  295. package/coverage/lcov-report/SearchSelect/SearchSelect.tsx.html +0 -2575
  296. package/coverage/lcov-report/SearchSelect/SelectTruncatedLabel.tsx.html +0 -202
  297. package/coverage/lcov-report/SearchSelect/index.html +0 -146
  298. package/coverage/lcov-report/SearchSelect/searchSelectSize.ts.html +0 -496
  299. package/coverage/lcov-report/Table/CompactSelect.tsx.html +0 -379
  300. package/coverage/lcov-report/Table/Components/ActiveFilters.tsx.html +0 -514
  301. package/coverage/lcov-report/Table/Components/HeaderActions.tsx.html +0 -373
  302. package/coverage/lcov-report/Table/Components/Pagination.tsx.html +0 -574
  303. package/coverage/lcov-report/Table/Components/TableActions.tsx.html +0 -574
  304. package/coverage/lcov-report/Table/Components/TableBody.tsx.html +0 -1027
  305. package/coverage/lcov-report/Table/Components/TableFilters.tsx.html +0 -397
  306. package/coverage/lcov-report/Table/Components/TableHeader.tsx.html +0 -1060
  307. package/coverage/lcov-report/Table/Components/TableLoading.tsx.html +0 -361
  308. package/coverage/lcov-report/Table/Components/TableSearch.tsx.html +0 -337
  309. package/coverage/lcov-report/Table/Components/index.html +0 -266
  310. package/coverage/lcov-report/Table/Components/useDebounce.ts.html +0 -178
  311. package/coverage/lcov-report/Table/Components/useTable.ts.html +0 -778
  312. package/coverage/lcov-report/Table/LeftFilterPane.tsx.html +0 -1810
  313. package/coverage/lcov-report/Table/SelectOperationControls.tsx.html +0 -178
  314. package/coverage/lcov-report/Table/Table.tsx.html +0 -1567
  315. package/coverage/lcov-report/Table/TableProps.tsx.html +0 -658
  316. package/coverage/lcov-report/Table/TableSettings/ManageColumns.tsx.html +0 -619
  317. package/coverage/lcov-report/Table/TableSettings/TableFilters.tsx.html +0 -229
  318. package/coverage/lcov-report/Table/TableSettings/TableSettings.tsx.html +0 -532
  319. package/coverage/lcov-report/Table/TableSettings/index.html +0 -146
  320. package/coverage/lcov-report/Table/TableToDo.tsx.html +0 -973
  321. package/coverage/lcov-report/Table/TextOperationControls.tsx.html +0 -271
  322. package/coverage/lcov-report/Table/filterTypes.ts.html +0 -97
  323. package/coverage/lcov-report/Table/index.html +0 -176
  324. package/coverage/lcov-report/Table/settings/ManageColumns.tsx.html +0 -856
  325. package/coverage/lcov-report/Table/settings/index.html +0 -116
  326. package/coverage/lcov-report/Tag/Tag.tsx.html +0 -256
  327. package/coverage/lcov-report/Tag/index.html +0 -116
  328. package/coverage/lcov-report/Theme/buildBrandTokens.ts.html +0 -175
  329. package/coverage/lcov-report/Theme/chartColorsFromTheme.ts.html +0 -214
  330. package/coverage/lcov-report/Theme/index.html +0 -131
  331. package/coverage/lcov-report/Theme/useCustomTheme.ts.html +0 -100
  332. package/coverage/lcov-report/ToolTip/ToolTip.tsx.html +0 -286
  333. package/coverage/lcov-report/ToolTip/index.html +0 -116
  334. package/coverage/lcov-report/UserDetails/AddUserModal.tsx.html +0 -709
  335. package/coverage/lcov-report/UserDetails/ChangeRoleModal.tsx.html +0 -505
  336. package/coverage/lcov-report/UserDetails/index.html +0 -116
  337. package/coverage/lcov-report/Utils/functions.ts.html +0 -106
  338. package/coverage/lcov-report/Utils/index.html +0 -116
  339. package/coverage/lcov-report/Utils/table.ts.html +0 -1189
  340. package/coverage/lcov-report/base.css +0 -224
  341. package/coverage/lcov-report/block-navigation.js +0 -87
  342. package/coverage/lcov-report/favicon.png +0 -0
  343. package/coverage/lcov-report/index.html +0 -251
  344. package/coverage/lcov-report/prettify.css +0 -1
  345. package/coverage/lcov-report/prettify.js +0 -2
  346. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  347. package/coverage/lcov-report/sorter.js +0 -210
  348. package/coverage/lcov.info +0 -981
  349. package/dist/App.d.ts +0 -4
  350. package/dist/App.js +0 -95
  351. package/dist/Layout.d.ts +0 -3
  352. package/dist/Layout.js +0 -286
  353. package/dist/Pages/TInput.d.ts +0 -3
  354. package/dist/Pages/TInput.d.ts.map +0 -1
  355. package/dist/Pages/TInput.js +0 -20
  356. package/dist/Pages/accordion.d.ts +0 -3
  357. package/dist/Pages/accordion.d.ts.map +0 -1
  358. package/dist/Pages/accordion.js +0 -21
  359. package/dist/Pages/alertdialog.d.ts +0 -3
  360. package/dist/Pages/alertdialog.d.ts.map +0 -1
  361. package/dist/Pages/alertdialog.js +0 -53
  362. package/dist/Pages/button.d.ts +0 -3
  363. package/dist/Pages/button.d.ts.map +0 -1
  364. package/dist/Pages/button.js +0 -32
  365. package/dist/Pages/card.d.ts +0 -3
  366. package/dist/Pages/card.d.ts.map +0 -1
  367. package/dist/Pages/card.js +0 -102
  368. package/dist/Pages/chart.d.ts +0 -4
  369. package/dist/Pages/chart.d.ts.map +0 -1
  370. package/dist/Pages/chart.js +0 -25
  371. package/dist/Pages/checkbox.d.ts +0 -3
  372. package/dist/Pages/checkbox.d.ts.map +0 -1
  373. package/dist/Pages/checkbox.js +0 -11
  374. package/dist/Pages/contactForm.d.ts +0 -3
  375. package/dist/Pages/contactForm.d.ts.map +0 -1
  376. package/dist/Pages/contactForm.js +0 -15
  377. package/dist/Pages/customModulesTable.d.ts +0 -4
  378. package/dist/Pages/customModulesTable.d.ts.map +0 -1
  379. package/dist/Pages/customModulesTable.js +0 -25
  380. package/dist/Pages/datePick.d.ts +0 -3
  381. package/dist/Pages/datePick.d.ts.map +0 -1
  382. package/dist/Pages/datePick.js +0 -49
  383. package/dist/Pages/drawer.d.ts +0 -3
  384. package/dist/Pages/drawer.d.ts.map +0 -1
  385. package/dist/Pages/drawer.js +0 -53
  386. package/dist/Pages/dropdown.d.ts +0 -3
  387. package/dist/Pages/dropdown.d.ts.map +0 -1
  388. package/dist/Pages/dropdown.js +0 -21
  389. package/dist/Pages/editor.d.ts +0 -3
  390. package/dist/Pages/editor.d.ts.map +0 -1
  391. package/dist/Pages/editor.js +0 -13
  392. package/dist/Pages/feedback.d.ts +0 -2
  393. package/dist/Pages/feedback.d.ts.map +0 -1
  394. package/dist/Pages/feedback.js +0 -12
  395. package/dist/Pages/fileUpload.d.ts +0 -2
  396. package/dist/Pages/fileUpload.d.ts.map +0 -1
  397. package/dist/Pages/fileUpload.js +0 -36
  398. package/dist/Pages/input.d.ts +0 -3
  399. package/dist/Pages/input.d.ts.map +0 -1
  400. package/dist/Pages/input.js +0 -48
  401. package/dist/Pages/kanbanboard.d.ts +0 -3
  402. package/dist/Pages/kanbanboard.d.ts.map +0 -1
  403. package/dist/Pages/kanbanboard.js +0 -182
  404. package/dist/Pages/modal.d.ts +0 -3
  405. package/dist/Pages/modal.d.ts.map +0 -1
  406. package/dist/Pages/modal.js +0 -61
  407. package/dist/Pages/multiSelect.d.ts +0 -3
  408. package/dist/Pages/multiSelect.d.ts.map +0 -1
  409. package/dist/Pages/multiSelect.js +0 -22
  410. package/dist/Pages/noteArea.d.ts +0 -3
  411. package/dist/Pages/noteArea.d.ts.map +0 -1
  412. package/dist/Pages/noteArea.js +0 -26
  413. package/dist/Pages/notification.d.ts +0 -3
  414. package/dist/Pages/notification.d.ts.map +0 -1
  415. package/dist/Pages/notification.js +0 -37
  416. package/dist/Pages/numberInput.d.ts +0 -3
  417. package/dist/Pages/numberInput.d.ts.map +0 -1
  418. package/dist/Pages/numberInput.js +0 -16
  419. package/dist/Pages/orgSwitcher.d.ts +0 -4
  420. package/dist/Pages/orgSwitcher.d.ts.map +0 -1
  421. package/dist/Pages/orgSwitcher.js +0 -36
  422. package/dist/Pages/organizationDetails.d.ts +0 -4
  423. package/dist/Pages/organizationDetails.d.ts.map +0 -1
  424. package/dist/Pages/organizationDetails.js +0 -64
  425. package/dist/Pages/photoViewer.d.ts +0 -3
  426. package/dist/Pages/photoViewer.d.ts.map +0 -1
  427. package/dist/Pages/photoViewer.js +0 -12
  428. package/dist/Pages/pinInputs.d.ts +0 -3
  429. package/dist/Pages/pinInputs.d.ts.map +0 -1
  430. package/dist/Pages/pinInputs.js +0 -11
  431. package/dist/Pages/productCaard.d.ts +0 -3
  432. package/dist/Pages/productCaard.d.ts.map +0 -1
  433. package/dist/Pages/productCaard.js +0 -311
  434. package/dist/Pages/productDetailCard.d.ts +0 -3
  435. package/dist/Pages/productDetailCard.d.ts.map +0 -1
  436. package/dist/Pages/productDetailCard.js +0 -78
  437. package/dist/Pages/productFilter.d.ts +0 -3
  438. package/dist/Pages/productFilter.d.ts.map +0 -1
  439. package/dist/Pages/productFilter.js +0 -148
  440. package/dist/Pages/progressbar.d.ts +0 -3
  441. package/dist/Pages/progressbar.d.ts.map +0 -1
  442. package/dist/Pages/progressbar.js +0 -11
  443. package/dist/Pages/radioButton.d.ts +0 -3
  444. package/dist/Pages/radioButton.d.ts.map +0 -1
  445. package/dist/Pages/radioButton.js +0 -18
  446. package/dist/Pages/rolesPermission.d.ts +0 -4
  447. package/dist/Pages/rolesPermission.d.ts.map +0 -1
  448. package/dist/Pages/rolesPermission.js +0 -144
  449. package/dist/Pages/search.d.ts +0 -3
  450. package/dist/Pages/search.d.ts.map +0 -1
  451. package/dist/Pages/search.js +0 -21
  452. package/dist/Pages/searchSelect.d.ts +0 -3
  453. package/dist/Pages/searchSelect.d.ts.map +0 -1
  454. package/dist/Pages/searchSelect.js +0 -97
  455. package/dist/Pages/select.d.ts +0 -3
  456. package/dist/Pages/select.d.ts.map +0 -1
  457. package/dist/Pages/select.js +0 -20
  458. package/dist/Pages/selectSearch.d.ts +0 -3
  459. package/dist/Pages/selectSearch.d.ts.map +0 -1
  460. package/dist/Pages/selectSearch.js +0 -58
  461. package/dist/Pages/signInActivityTable.d.ts +0 -4
  462. package/dist/Pages/signInActivityTable.d.ts.map +0 -1
  463. package/dist/Pages/signInActivityTable.js +0 -17
  464. package/dist/Pages/skeleton.d.ts +0 -3
  465. package/dist/Pages/skeleton.d.ts.map +0 -1
  466. package/dist/Pages/skeleton.js +0 -12
  467. package/dist/Pages/stageProgress.d.ts +0 -4
  468. package/dist/Pages/stageProgress.d.ts.map +0 -1
  469. package/dist/Pages/stageProgress.js +0 -31
  470. package/dist/Pages/switch.d.ts +0 -3
  471. package/dist/Pages/switch.d.ts.map +0 -1
  472. package/dist/Pages/switch.js +0 -17
  473. package/dist/Pages/table.d.ts +0 -3
  474. package/dist/Pages/table.d.ts.map +0 -1
  475. package/dist/Pages/table.js +0 -182
  476. package/dist/Pages/tag.d.ts +0 -3
  477. package/dist/Pages/tag.d.ts.map +0 -1
  478. package/dist/Pages/tag.js +0 -27
  479. package/dist/Pages/textArea.d.ts +0 -3
  480. package/dist/Pages/textArea.d.ts.map +0 -1
  481. package/dist/Pages/textArea.js +0 -14
  482. package/dist/Pages/tier1.d.ts +0 -4
  483. package/dist/Pages/tier1.d.ts.map +0 -1
  484. package/dist/Pages/tier1.js +0 -86
  485. package/dist/Pages/timeline.d.ts +0 -3
  486. package/dist/Pages/timeline.d.ts.map +0 -1
  487. package/dist/Pages/timeline.js +0 -73
  488. package/dist/Pages/tooltip.d.ts +0 -3
  489. package/dist/Pages/tooltip.d.ts.map +0 -1
  490. package/dist/Pages/tooltip.js +0 -11
  491. package/dist/Pages/toster.d.ts +0 -3
  492. package/dist/Pages/toster.d.ts.map +0 -1
  493. package/dist/Pages/toster.js +0 -53
  494. package/dist/Pages/upgradeButton.d.ts +0 -4
  495. package/dist/Pages/upgradeButton.d.ts.map +0 -1
  496. package/dist/Pages/upgradeButton.js +0 -17
  497. package/dist/Pages/userDetails.d.ts +0 -4
  498. package/dist/Pages/userDetails.d.ts.map +0 -1
  499. package/dist/Pages/userDetails.js +0 -79
  500. package/dist/Pages/verifyEmail.d.ts +0 -3
  501. package/dist/Pages/verifyEmail.d.ts.map +0 -1
  502. package/dist/Pages/verifyEmail.js +0 -17
  503. package/dist/Theme/Dark/theme.d.ts +0 -3
  504. package/dist/Theme/Dark/theme.d.ts.map +0 -1
  505. package/dist/Theme/Dark/theme.js +0 -277
  506. package/dist/Theme/Default/palette.d.ts +0 -375
  507. package/dist/Theme/Default/palette.d.ts.map +0 -1
  508. package/dist/Theme/Default/palette.js +0 -306
  509. package/dist/Theme/Default/theme.d.ts +0 -3
  510. package/dist/Theme/Default/theme.d.ts.map +0 -1
  511. package/dist/Theme/Default/theme.js +0 -19
  512. package/dist/Theme/Emerald/palette.d.ts +0 -375
  513. package/dist/Theme/Emerald/palette.d.ts.map +0 -1
  514. package/dist/Theme/Emerald/palette.js +0 -125
  515. package/dist/Theme/Emerald/theme.d.ts +0 -3
  516. package/dist/Theme/Emerald/theme.d.ts.map +0 -1
  517. package/dist/Theme/Emerald/theme.js +0 -19
  518. package/dist/Theme/Meadow/palette.d.ts +0 -375
  519. package/dist/Theme/Meadow/palette.d.ts.map +0 -1
  520. package/dist/Theme/Meadow/palette.js +0 -123
  521. package/dist/Theme/Meadow/theme.d.ts +0 -3
  522. package/dist/Theme/Meadow/theme.d.ts.map +0 -1
  523. package/dist/Theme/Meadow/theme.js +0 -19
  524. package/dist/Theme/Radiant/palette.d.ts +0 -375
  525. package/dist/Theme/Radiant/palette.d.ts.map +0 -1
  526. package/dist/Theme/Radiant/palette.js +0 -125
  527. package/dist/Theme/Radiant/theme.d.ts +0 -3
  528. package/dist/Theme/Radiant/theme.d.ts.map +0 -1
  529. package/dist/Theme/Radiant/theme.js +0 -19
  530. package/dist/Theme/Rosewood/palette.d.ts +0 -375
  531. package/dist/Theme/Rosewood/palette.d.ts.map +0 -1
  532. package/dist/Theme/Rosewood/palette.js +0 -125
  533. package/dist/Theme/Rosewood/theme.d.ts +0 -3
  534. package/dist/Theme/Rosewood/theme.d.ts.map +0 -1
  535. package/dist/Theme/Rosewood/theme.js +0 -19
  536. package/dist/Theme/Skyline/palette.d.ts +0 -375
  537. package/dist/Theme/Skyline/palette.d.ts.map +0 -1
  538. package/dist/Theme/Skyline/palette.js +0 -123
  539. package/dist/Theme/Skyline/theme.d.ts +0 -3
  540. package/dist/Theme/Skyline/theme.d.ts.map +0 -1
  541. package/dist/Theme/Skyline/theme.js +0 -19
  542. package/dist/Theme/Slate/palette.d.ts +0 -375
  543. package/dist/Theme/Slate/palette.d.ts.map +0 -1
  544. package/dist/Theme/Slate/palette.js +0 -123
  545. package/dist/Theme/Slate/theme.d.ts +0 -3
  546. package/dist/Theme/Slate/theme.d.ts.map +0 -1
  547. package/dist/Theme/Slate/theme.js +0 -19
  548. package/dist/Theme/buildBrandTokens.d.ts +0 -16
  549. package/dist/Theme/buildBrandTokens.d.ts.map +0 -1
  550. package/dist/Theme/buildBrandTokens.js +0 -33
  551. package/dist/Theme/chartColorsFromTheme.d.ts +0 -19
  552. package/dist/Theme/chartColorsFromTheme.d.ts.map +0 -1
  553. package/dist/Theme/chartColorsFromTheme.js +0 -34
  554. package/dist/Theme/common.d.ts +0 -167
  555. package/dist/Theme/common.d.ts.map +0 -1
  556. package/dist/Theme/common.js +0 -112
  557. package/dist/Theme/componentStyles.d.ts +0 -10
  558. package/dist/Theme/componentStyles.d.ts.map +0 -1
  559. package/dist/Theme/componentStyles.js +0 -19
  560. package/dist/Theme/fonts.d.ts +0 -37
  561. package/dist/Theme/fonts.d.ts.map +0 -1
  562. package/dist/Theme/fonts.js +0 -41
  563. package/dist/Theme/space.d.ts +0 -34
  564. package/dist/Theme/space.d.ts.map +0 -1
  565. package/dist/Theme/space.js +0 -35
  566. package/dist/Theme/theme.d.ts +0 -3
  567. package/dist/Theme/theme.d.ts.map +0 -1
  568. package/dist/Theme/theme.js +0 -12
  569. package/dist/bootstrap.d.ts +0 -2
  570. package/dist/bootstrap.js +0 -16
  571. package/eslint.config.js +0 -48
  572. package/index.html +0 -13
  573. package/vite.config.ts +0 -13
@@ -1,2212 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for Components/Table/components/TableBody.tsx</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../../prettify.css" />
9
- <link rel="stylesheet" href="../../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../../index.html">All files</a> / <a href="index.html">Components/Table/components</a> TableBody.tsx</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">92.52% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>198/214</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">86.31% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>227/263</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">92.5% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>37/40</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">95.6% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>174/182</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line high'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a>
205
- <a name='L140'></a><a href='#L140'>140</a>
206
- <a name='L141'></a><a href='#L141'>141</a>
207
- <a name='L142'></a><a href='#L142'>142</a>
208
- <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a>
210
- <a name='L145'></a><a href='#L145'>145</a>
211
- <a name='L146'></a><a href='#L146'>146</a>
212
- <a name='L147'></a><a href='#L147'>147</a>
213
- <a name='L148'></a><a href='#L148'>148</a>
214
- <a name='L149'></a><a href='#L149'>149</a>
215
- <a name='L150'></a><a href='#L150'>150</a>
216
- <a name='L151'></a><a href='#L151'>151</a>
217
- <a name='L152'></a><a href='#L152'>152</a>
218
- <a name='L153'></a><a href='#L153'>153</a>
219
- <a name='L154'></a><a href='#L154'>154</a>
220
- <a name='L155'></a><a href='#L155'>155</a>
221
- <a name='L156'></a><a href='#L156'>156</a>
222
- <a name='L157'></a><a href='#L157'>157</a>
223
- <a name='L158'></a><a href='#L158'>158</a>
224
- <a name='L159'></a><a href='#L159'>159</a>
225
- <a name='L160'></a><a href='#L160'>160</a>
226
- <a name='L161'></a><a href='#L161'>161</a>
227
- <a name='L162'></a><a href='#L162'>162</a>
228
- <a name='L163'></a><a href='#L163'>163</a>
229
- <a name='L164'></a><a href='#L164'>164</a>
230
- <a name='L165'></a><a href='#L165'>165</a>
231
- <a name='L166'></a><a href='#L166'>166</a>
232
- <a name='L167'></a><a href='#L167'>167</a>
233
- <a name='L168'></a><a href='#L168'>168</a>
234
- <a name='L169'></a><a href='#L169'>169</a>
235
- <a name='L170'></a><a href='#L170'>170</a>
236
- <a name='L171'></a><a href='#L171'>171</a>
237
- <a name='L172'></a><a href='#L172'>172</a>
238
- <a name='L173'></a><a href='#L173'>173</a>
239
- <a name='L174'></a><a href='#L174'>174</a>
240
- <a name='L175'></a><a href='#L175'>175</a>
241
- <a name='L176'></a><a href='#L176'>176</a>
242
- <a name='L177'></a><a href='#L177'>177</a>
243
- <a name='L178'></a><a href='#L178'>178</a>
244
- <a name='L179'></a><a href='#L179'>179</a>
245
- <a name='L180'></a><a href='#L180'>180</a>
246
- <a name='L181'></a><a href='#L181'>181</a>
247
- <a name='L182'></a><a href='#L182'>182</a>
248
- <a name='L183'></a><a href='#L183'>183</a>
249
- <a name='L184'></a><a href='#L184'>184</a>
250
- <a name='L185'></a><a href='#L185'>185</a>
251
- <a name='L186'></a><a href='#L186'>186</a>
252
- <a name='L187'></a><a href='#L187'>187</a>
253
- <a name='L188'></a><a href='#L188'>188</a>
254
- <a name='L189'></a><a href='#L189'>189</a>
255
- <a name='L190'></a><a href='#L190'>190</a>
256
- <a name='L191'></a><a href='#L191'>191</a>
257
- <a name='L192'></a><a href='#L192'>192</a>
258
- <a name='L193'></a><a href='#L193'>193</a>
259
- <a name='L194'></a><a href='#L194'>194</a>
260
- <a name='L195'></a><a href='#L195'>195</a>
261
- <a name='L196'></a><a href='#L196'>196</a>
262
- <a name='L197'></a><a href='#L197'>197</a>
263
- <a name='L198'></a><a href='#L198'>198</a>
264
- <a name='L199'></a><a href='#L199'>199</a>
265
- <a name='L200'></a><a href='#L200'>200</a>
266
- <a name='L201'></a><a href='#L201'>201</a>
267
- <a name='L202'></a><a href='#L202'>202</a>
268
- <a name='L203'></a><a href='#L203'>203</a>
269
- <a name='L204'></a><a href='#L204'>204</a>
270
- <a name='L205'></a><a href='#L205'>205</a>
271
- <a name='L206'></a><a href='#L206'>206</a>
272
- <a name='L207'></a><a href='#L207'>207</a>
273
- <a name='L208'></a><a href='#L208'>208</a>
274
- <a name='L209'></a><a href='#L209'>209</a>
275
- <a name='L210'></a><a href='#L210'>210</a>
276
- <a name='L211'></a><a href='#L211'>211</a>
277
- <a name='L212'></a><a href='#L212'>212</a>
278
- <a name='L213'></a><a href='#L213'>213</a>
279
- <a name='L214'></a><a href='#L214'>214</a>
280
- <a name='L215'></a><a href='#L215'>215</a>
281
- <a name='L216'></a><a href='#L216'>216</a>
282
- <a name='L217'></a><a href='#L217'>217</a>
283
- <a name='L218'></a><a href='#L218'>218</a>
284
- <a name='L219'></a><a href='#L219'>219</a>
285
- <a name='L220'></a><a href='#L220'>220</a>
286
- <a name='L221'></a><a href='#L221'>221</a>
287
- <a name='L222'></a><a href='#L222'>222</a>
288
- <a name='L223'></a><a href='#L223'>223</a>
289
- <a name='L224'></a><a href='#L224'>224</a>
290
- <a name='L225'></a><a href='#L225'>225</a>
291
- <a name='L226'></a><a href='#L226'>226</a>
292
- <a name='L227'></a><a href='#L227'>227</a>
293
- <a name='L228'></a><a href='#L228'>228</a>
294
- <a name='L229'></a><a href='#L229'>229</a>
295
- <a name='L230'></a><a href='#L230'>230</a>
296
- <a name='L231'></a><a href='#L231'>231</a>
297
- <a name='L232'></a><a href='#L232'>232</a>
298
- <a name='L233'></a><a href='#L233'>233</a>
299
- <a name='L234'></a><a href='#L234'>234</a>
300
- <a name='L235'></a><a href='#L235'>235</a>
301
- <a name='L236'></a><a href='#L236'>236</a>
302
- <a name='L237'></a><a href='#L237'>237</a>
303
- <a name='L238'></a><a href='#L238'>238</a>
304
- <a name='L239'></a><a href='#L239'>239</a>
305
- <a name='L240'></a><a href='#L240'>240</a>
306
- <a name='L241'></a><a href='#L241'>241</a>
307
- <a name='L242'></a><a href='#L242'>242</a>
308
- <a name='L243'></a><a href='#L243'>243</a>
309
- <a name='L244'></a><a href='#L244'>244</a>
310
- <a name='L245'></a><a href='#L245'>245</a>
311
- <a name='L246'></a><a href='#L246'>246</a>
312
- <a name='L247'></a><a href='#L247'>247</a>
313
- <a name='L248'></a><a href='#L248'>248</a>
314
- <a name='L249'></a><a href='#L249'>249</a>
315
- <a name='L250'></a><a href='#L250'>250</a>
316
- <a name='L251'></a><a href='#L251'>251</a>
317
- <a name='L252'></a><a href='#L252'>252</a>
318
- <a name='L253'></a><a href='#L253'>253</a>
319
- <a name='L254'></a><a href='#L254'>254</a>
320
- <a name='L255'></a><a href='#L255'>255</a>
321
- <a name='L256'></a><a href='#L256'>256</a>
322
- <a name='L257'></a><a href='#L257'>257</a>
323
- <a name='L258'></a><a href='#L258'>258</a>
324
- <a name='L259'></a><a href='#L259'>259</a>
325
- <a name='L260'></a><a href='#L260'>260</a>
326
- <a name='L261'></a><a href='#L261'>261</a>
327
- <a name='L262'></a><a href='#L262'>262</a>
328
- <a name='L263'></a><a href='#L263'>263</a>
329
- <a name='L264'></a><a href='#L264'>264</a>
330
- <a name='L265'></a><a href='#L265'>265</a>
331
- <a name='L266'></a><a href='#L266'>266</a>
332
- <a name='L267'></a><a href='#L267'>267</a>
333
- <a name='L268'></a><a href='#L268'>268</a>
334
- <a name='L269'></a><a href='#L269'>269</a>
335
- <a name='L270'></a><a href='#L270'>270</a>
336
- <a name='L271'></a><a href='#L271'>271</a>
337
- <a name='L272'></a><a href='#L272'>272</a>
338
- <a name='L273'></a><a href='#L273'>273</a>
339
- <a name='L274'></a><a href='#L274'>274</a>
340
- <a name='L275'></a><a href='#L275'>275</a>
341
- <a name='L276'></a><a href='#L276'>276</a>
342
- <a name='L277'></a><a href='#L277'>277</a>
343
- <a name='L278'></a><a href='#L278'>278</a>
344
- <a name='L279'></a><a href='#L279'>279</a>
345
- <a name='L280'></a><a href='#L280'>280</a>
346
- <a name='L281'></a><a href='#L281'>281</a>
347
- <a name='L282'></a><a href='#L282'>282</a>
348
- <a name='L283'></a><a href='#L283'>283</a>
349
- <a name='L284'></a><a href='#L284'>284</a>
350
- <a name='L285'></a><a href='#L285'>285</a>
351
- <a name='L286'></a><a href='#L286'>286</a>
352
- <a name='L287'></a><a href='#L287'>287</a>
353
- <a name='L288'></a><a href='#L288'>288</a>
354
- <a name='L289'></a><a href='#L289'>289</a>
355
- <a name='L290'></a><a href='#L290'>290</a>
356
- <a name='L291'></a><a href='#L291'>291</a>
357
- <a name='L292'></a><a href='#L292'>292</a>
358
- <a name='L293'></a><a href='#L293'>293</a>
359
- <a name='L294'></a><a href='#L294'>294</a>
360
- <a name='L295'></a><a href='#L295'>295</a>
361
- <a name='L296'></a><a href='#L296'>296</a>
362
- <a name='L297'></a><a href='#L297'>297</a>
363
- <a name='L298'></a><a href='#L298'>298</a>
364
- <a name='L299'></a><a href='#L299'>299</a>
365
- <a name='L300'></a><a href='#L300'>300</a>
366
- <a name='L301'></a><a href='#L301'>301</a>
367
- <a name='L302'></a><a href='#L302'>302</a>
368
- <a name='L303'></a><a href='#L303'>303</a>
369
- <a name='L304'></a><a href='#L304'>304</a>
370
- <a name='L305'></a><a href='#L305'>305</a>
371
- <a name='L306'></a><a href='#L306'>306</a>
372
- <a name='L307'></a><a href='#L307'>307</a>
373
- <a name='L308'></a><a href='#L308'>308</a>
374
- <a name='L309'></a><a href='#L309'>309</a>
375
- <a name='L310'></a><a href='#L310'>310</a>
376
- <a name='L311'></a><a href='#L311'>311</a>
377
- <a name='L312'></a><a href='#L312'>312</a>
378
- <a name='L313'></a><a href='#L313'>313</a>
379
- <a name='L314'></a><a href='#L314'>314</a>
380
- <a name='L315'></a><a href='#L315'>315</a>
381
- <a name='L316'></a><a href='#L316'>316</a>
382
- <a name='L317'></a><a href='#L317'>317</a>
383
- <a name='L318'></a><a href='#L318'>318</a>
384
- <a name='L319'></a><a href='#L319'>319</a>
385
- <a name='L320'></a><a href='#L320'>320</a>
386
- <a name='L321'></a><a href='#L321'>321</a>
387
- <a name='L322'></a><a href='#L322'>322</a>
388
- <a name='L323'></a><a href='#L323'>323</a>
389
- <a name='L324'></a><a href='#L324'>324</a>
390
- <a name='L325'></a><a href='#L325'>325</a>
391
- <a name='L326'></a><a href='#L326'>326</a>
392
- <a name='L327'></a><a href='#L327'>327</a>
393
- <a name='L328'></a><a href='#L328'>328</a>
394
- <a name='L329'></a><a href='#L329'>329</a>
395
- <a name='L330'></a><a href='#L330'>330</a>
396
- <a name='L331'></a><a href='#L331'>331</a>
397
- <a name='L332'></a><a href='#L332'>332</a>
398
- <a name='L333'></a><a href='#L333'>333</a>
399
- <a name='L334'></a><a href='#L334'>334</a>
400
- <a name='L335'></a><a href='#L335'>335</a>
401
- <a name='L336'></a><a href='#L336'>336</a>
402
- <a name='L337'></a><a href='#L337'>337</a>
403
- <a name='L338'></a><a href='#L338'>338</a>
404
- <a name='L339'></a><a href='#L339'>339</a>
405
- <a name='L340'></a><a href='#L340'>340</a>
406
- <a name='L341'></a><a href='#L341'>341</a>
407
- <a name='L342'></a><a href='#L342'>342</a>
408
- <a name='L343'></a><a href='#L343'>343</a>
409
- <a name='L344'></a><a href='#L344'>344</a>
410
- <a name='L345'></a><a href='#L345'>345</a>
411
- <a name='L346'></a><a href='#L346'>346</a>
412
- <a name='L347'></a><a href='#L347'>347</a>
413
- <a name='L348'></a><a href='#L348'>348</a>
414
- <a name='L349'></a><a href='#L349'>349</a>
415
- <a name='L350'></a><a href='#L350'>350</a>
416
- <a name='L351'></a><a href='#L351'>351</a>
417
- <a name='L352'></a><a href='#L352'>352</a>
418
- <a name='L353'></a><a href='#L353'>353</a>
419
- <a name='L354'></a><a href='#L354'>354</a>
420
- <a name='L355'></a><a href='#L355'>355</a>
421
- <a name='L356'></a><a href='#L356'>356</a>
422
- <a name='L357'></a><a href='#L357'>357</a>
423
- <a name='L358'></a><a href='#L358'>358</a>
424
- <a name='L359'></a><a href='#L359'>359</a>
425
- <a name='L360'></a><a href='#L360'>360</a>
426
- <a name='L361'></a><a href='#L361'>361</a>
427
- <a name='L362'></a><a href='#L362'>362</a>
428
- <a name='L363'></a><a href='#L363'>363</a>
429
- <a name='L364'></a><a href='#L364'>364</a>
430
- <a name='L365'></a><a href='#L365'>365</a>
431
- <a name='L366'></a><a href='#L366'>366</a>
432
- <a name='L367'></a><a href='#L367'>367</a>
433
- <a name='L368'></a><a href='#L368'>368</a>
434
- <a name='L369'></a><a href='#L369'>369</a>
435
- <a name='L370'></a><a href='#L370'>370</a>
436
- <a name='L371'></a><a href='#L371'>371</a>
437
- <a name='L372'></a><a href='#L372'>372</a>
438
- <a name='L373'></a><a href='#L373'>373</a>
439
- <a name='L374'></a><a href='#L374'>374</a>
440
- <a name='L375'></a><a href='#L375'>375</a>
441
- <a name='L376'></a><a href='#L376'>376</a>
442
- <a name='L377'></a><a href='#L377'>377</a>
443
- <a name='L378'></a><a href='#L378'>378</a>
444
- <a name='L379'></a><a href='#L379'>379</a>
445
- <a name='L380'></a><a href='#L380'>380</a>
446
- <a name='L381'></a><a href='#L381'>381</a>
447
- <a name='L382'></a><a href='#L382'>382</a>
448
- <a name='L383'></a><a href='#L383'>383</a>
449
- <a name='L384'></a><a href='#L384'>384</a>
450
- <a name='L385'></a><a href='#L385'>385</a>
451
- <a name='L386'></a><a href='#L386'>386</a>
452
- <a name='L387'></a><a href='#L387'>387</a>
453
- <a name='L388'></a><a href='#L388'>388</a>
454
- <a name='L389'></a><a href='#L389'>389</a>
455
- <a name='L390'></a><a href='#L390'>390</a>
456
- <a name='L391'></a><a href='#L391'>391</a>
457
- <a name='L392'></a><a href='#L392'>392</a>
458
- <a name='L393'></a><a href='#L393'>393</a>
459
- <a name='L394'></a><a href='#L394'>394</a>
460
- <a name='L395'></a><a href='#L395'>395</a>
461
- <a name='L396'></a><a href='#L396'>396</a>
462
- <a name='L397'></a><a href='#L397'>397</a>
463
- <a name='L398'></a><a href='#L398'>398</a>
464
- <a name='L399'></a><a href='#L399'>399</a>
465
- <a name='L400'></a><a href='#L400'>400</a>
466
- <a name='L401'></a><a href='#L401'>401</a>
467
- <a name='L402'></a><a href='#L402'>402</a>
468
- <a name='L403'></a><a href='#L403'>403</a>
469
- <a name='L404'></a><a href='#L404'>404</a>
470
- <a name='L405'></a><a href='#L405'>405</a>
471
- <a name='L406'></a><a href='#L406'>406</a>
472
- <a name='L407'></a><a href='#L407'>407</a>
473
- <a name='L408'></a><a href='#L408'>408</a>
474
- <a name='L409'></a><a href='#L409'>409</a>
475
- <a name='L410'></a><a href='#L410'>410</a>
476
- <a name='L411'></a><a href='#L411'>411</a>
477
- <a name='L412'></a><a href='#L412'>412</a>
478
- <a name='L413'></a><a href='#L413'>413</a>
479
- <a name='L414'></a><a href='#L414'>414</a>
480
- <a name='L415'></a><a href='#L415'>415</a>
481
- <a name='L416'></a><a href='#L416'>416</a>
482
- <a name='L417'></a><a href='#L417'>417</a>
483
- <a name='L418'></a><a href='#L418'>418</a>
484
- <a name='L419'></a><a href='#L419'>419</a>
485
- <a name='L420'></a><a href='#L420'>420</a>
486
- <a name='L421'></a><a href='#L421'>421</a>
487
- <a name='L422'></a><a href='#L422'>422</a>
488
- <a name='L423'></a><a href='#L423'>423</a>
489
- <a name='L424'></a><a href='#L424'>424</a>
490
- <a name='L425'></a><a href='#L425'>425</a>
491
- <a name='L426'></a><a href='#L426'>426</a>
492
- <a name='L427'></a><a href='#L427'>427</a>
493
- <a name='L428'></a><a href='#L428'>428</a>
494
- <a name='L429'></a><a href='#L429'>429</a>
495
- <a name='L430'></a><a href='#L430'>430</a>
496
- <a name='L431'></a><a href='#L431'>431</a>
497
- <a name='L432'></a><a href='#L432'>432</a>
498
- <a name='L433'></a><a href='#L433'>433</a>
499
- <a name='L434'></a><a href='#L434'>434</a>
500
- <a name='L435'></a><a href='#L435'>435</a>
501
- <a name='L436'></a><a href='#L436'>436</a>
502
- <a name='L437'></a><a href='#L437'>437</a>
503
- <a name='L438'></a><a href='#L438'>438</a>
504
- <a name='L439'></a><a href='#L439'>439</a>
505
- <a name='L440'></a><a href='#L440'>440</a>
506
- <a name='L441'></a><a href='#L441'>441</a>
507
- <a name='L442'></a><a href='#L442'>442</a>
508
- <a name='L443'></a><a href='#L443'>443</a>
509
- <a name='L444'></a><a href='#L444'>444</a>
510
- <a name='L445'></a><a href='#L445'>445</a>
511
- <a name='L446'></a><a href='#L446'>446</a>
512
- <a name='L447'></a><a href='#L447'>447</a>
513
- <a name='L448'></a><a href='#L448'>448</a>
514
- <a name='L449'></a><a href='#L449'>449</a>
515
- <a name='L450'></a><a href='#L450'>450</a>
516
- <a name='L451'></a><a href='#L451'>451</a>
517
- <a name='L452'></a><a href='#L452'>452</a>
518
- <a name='L453'></a><a href='#L453'>453</a>
519
- <a name='L454'></a><a href='#L454'>454</a>
520
- <a name='L455'></a><a href='#L455'>455</a>
521
- <a name='L456'></a><a href='#L456'>456</a>
522
- <a name='L457'></a><a href='#L457'>457</a>
523
- <a name='L458'></a><a href='#L458'>458</a>
524
- <a name='L459'></a><a href='#L459'>459</a>
525
- <a name='L460'></a><a href='#L460'>460</a>
526
- <a name='L461'></a><a href='#L461'>461</a>
527
- <a name='L462'></a><a href='#L462'>462</a>
528
- <a name='L463'></a><a href='#L463'>463</a>
529
- <a name='L464'></a><a href='#L464'>464</a>
530
- <a name='L465'></a><a href='#L465'>465</a>
531
- <a name='L466'></a><a href='#L466'>466</a>
532
- <a name='L467'></a><a href='#L467'>467</a>
533
- <a name='L468'></a><a href='#L468'>468</a>
534
- <a name='L469'></a><a href='#L469'>469</a>
535
- <a name='L470'></a><a href='#L470'>470</a>
536
- <a name='L471'></a><a href='#L471'>471</a>
537
- <a name='L472'></a><a href='#L472'>472</a>
538
- <a name='L473'></a><a href='#L473'>473</a>
539
- <a name='L474'></a><a href='#L474'>474</a>
540
- <a name='L475'></a><a href='#L475'>475</a>
541
- <a name='L476'></a><a href='#L476'>476</a>
542
- <a name='L477'></a><a href='#L477'>477</a>
543
- <a name='L478'></a><a href='#L478'>478</a>
544
- <a name='L479'></a><a href='#L479'>479</a>
545
- <a name='L480'></a><a href='#L480'>480</a>
546
- <a name='L481'></a><a href='#L481'>481</a>
547
- <a name='L482'></a><a href='#L482'>482</a>
548
- <a name='L483'></a><a href='#L483'>483</a>
549
- <a name='L484'></a><a href='#L484'>484</a>
550
- <a name='L485'></a><a href='#L485'>485</a>
551
- <a name='L486'></a><a href='#L486'>486</a>
552
- <a name='L487'></a><a href='#L487'>487</a>
553
- <a name='L488'></a><a href='#L488'>488</a>
554
- <a name='L489'></a><a href='#L489'>489</a>
555
- <a name='L490'></a><a href='#L490'>490</a>
556
- <a name='L491'></a><a href='#L491'>491</a>
557
- <a name='L492'></a><a href='#L492'>492</a>
558
- <a name='L493'></a><a href='#L493'>493</a>
559
- <a name='L494'></a><a href='#L494'>494</a>
560
- <a name='L495'></a><a href='#L495'>495</a>
561
- <a name='L496'></a><a href='#L496'>496</a>
562
- <a name='L497'></a><a href='#L497'>497</a>
563
- <a name='L498'></a><a href='#L498'>498</a>
564
- <a name='L499'></a><a href='#L499'>499</a>
565
- <a name='L500'></a><a href='#L500'>500</a>
566
- <a name='L501'></a><a href='#L501'>501</a>
567
- <a name='L502'></a><a href='#L502'>502</a>
568
- <a name='L503'></a><a href='#L503'>503</a>
569
- <a name='L504'></a><a href='#L504'>504</a>
570
- <a name='L505'></a><a href='#L505'>505</a>
571
- <a name='L506'></a><a href='#L506'>506</a>
572
- <a name='L507'></a><a href='#L507'>507</a>
573
- <a name='L508'></a><a href='#L508'>508</a>
574
- <a name='L509'></a><a href='#L509'>509</a>
575
- <a name='L510'></a><a href='#L510'>510</a>
576
- <a name='L511'></a><a href='#L511'>511</a>
577
- <a name='L512'></a><a href='#L512'>512</a>
578
- <a name='L513'></a><a href='#L513'>513</a>
579
- <a name='L514'></a><a href='#L514'>514</a>
580
- <a name='L515'></a><a href='#L515'>515</a>
581
- <a name='L516'></a><a href='#L516'>516</a>
582
- <a name='L517'></a><a href='#L517'>517</a>
583
- <a name='L518'></a><a href='#L518'>518</a>
584
- <a name='L519'></a><a href='#L519'>519</a>
585
- <a name='L520'></a><a href='#L520'>520</a>
586
- <a name='L521'></a><a href='#L521'>521</a>
587
- <a name='L522'></a><a href='#L522'>522</a>
588
- <a name='L523'></a><a href='#L523'>523</a>
589
- <a name='L524'></a><a href='#L524'>524</a>
590
- <a name='L525'></a><a href='#L525'>525</a>
591
- <a name='L526'></a><a href='#L526'>526</a>
592
- <a name='L527'></a><a href='#L527'>527</a>
593
- <a name='L528'></a><a href='#L528'>528</a>
594
- <a name='L529'></a><a href='#L529'>529</a>
595
- <a name='L530'></a><a href='#L530'>530</a>
596
- <a name='L531'></a><a href='#L531'>531</a>
597
- <a name='L532'></a><a href='#L532'>532</a>
598
- <a name='L533'></a><a href='#L533'>533</a>
599
- <a name='L534'></a><a href='#L534'>534</a>
600
- <a name='L535'></a><a href='#L535'>535</a>
601
- <a name='L536'></a><a href='#L536'>536</a>
602
- <a name='L537'></a><a href='#L537'>537</a>
603
- <a name='L538'></a><a href='#L538'>538</a>
604
- <a name='L539'></a><a href='#L539'>539</a>
605
- <a name='L540'></a><a href='#L540'>540</a>
606
- <a name='L541'></a><a href='#L541'>541</a>
607
- <a name='L542'></a><a href='#L542'>542</a>
608
- <a name='L543'></a><a href='#L543'>543</a>
609
- <a name='L544'></a><a href='#L544'>544</a>
610
- <a name='L545'></a><a href='#L545'>545</a>
611
- <a name='L546'></a><a href='#L546'>546</a>
612
- <a name='L547'></a><a href='#L547'>547</a>
613
- <a name='L548'></a><a href='#L548'>548</a>
614
- <a name='L549'></a><a href='#L549'>549</a>
615
- <a name='L550'></a><a href='#L550'>550</a>
616
- <a name='L551'></a><a href='#L551'>551</a>
617
- <a name='L552'></a><a href='#L552'>552</a>
618
- <a name='L553'></a><a href='#L553'>553</a>
619
- <a name='L554'></a><a href='#L554'>554</a>
620
- <a name='L555'></a><a href='#L555'>555</a>
621
- <a name='L556'></a><a href='#L556'>556</a>
622
- <a name='L557'></a><a href='#L557'>557</a>
623
- <a name='L558'></a><a href='#L558'>558</a>
624
- <a name='L559'></a><a href='#L559'>559</a>
625
- <a name='L560'></a><a href='#L560'>560</a>
626
- <a name='L561'></a><a href='#L561'>561</a>
627
- <a name='L562'></a><a href='#L562'>562</a>
628
- <a name='L563'></a><a href='#L563'>563</a>
629
- <a name='L564'></a><a href='#L564'>564</a>
630
- <a name='L565'></a><a href='#L565'>565</a>
631
- <a name='L566'></a><a href='#L566'>566</a>
632
- <a name='L567'></a><a href='#L567'>567</a>
633
- <a name='L568'></a><a href='#L568'>568</a>
634
- <a name='L569'></a><a href='#L569'>569</a>
635
- <a name='L570'></a><a href='#L570'>570</a>
636
- <a name='L571'></a><a href='#L571'>571</a>
637
- <a name='L572'></a><a href='#L572'>572</a>
638
- <a name='L573'></a><a href='#L573'>573</a>
639
- <a name='L574'></a><a href='#L574'>574</a>
640
- <a name='L575'></a><a href='#L575'>575</a>
641
- <a name='L576'></a><a href='#L576'>576</a>
642
- <a name='L577'></a><a href='#L577'>577</a>
643
- <a name='L578'></a><a href='#L578'>578</a>
644
- <a name='L579'></a><a href='#L579'>579</a>
645
- <a name='L580'></a><a href='#L580'>580</a>
646
- <a name='L581'></a><a href='#L581'>581</a>
647
- <a name='L582'></a><a href='#L582'>582</a>
648
- <a name='L583'></a><a href='#L583'>583</a>
649
- <a name='L584'></a><a href='#L584'>584</a>
650
- <a name='L585'></a><a href='#L585'>585</a>
651
- <a name='L586'></a><a href='#L586'>586</a>
652
- <a name='L587'></a><a href='#L587'>587</a>
653
- <a name='L588'></a><a href='#L588'>588</a>
654
- <a name='L589'></a><a href='#L589'>589</a>
655
- <a name='L590'></a><a href='#L590'>590</a>
656
- <a name='L591'></a><a href='#L591'>591</a>
657
- <a name='L592'></a><a href='#L592'>592</a>
658
- <a name='L593'></a><a href='#L593'>593</a>
659
- <a name='L594'></a><a href='#L594'>594</a>
660
- <a name='L595'></a><a href='#L595'>595</a>
661
- <a name='L596'></a><a href='#L596'>596</a>
662
- <a name='L597'></a><a href='#L597'>597</a>
663
- <a name='L598'></a><a href='#L598'>598</a>
664
- <a name='L599'></a><a href='#L599'>599</a>
665
- <a name='L600'></a><a href='#L600'>600</a>
666
- <a name='L601'></a><a href='#L601'>601</a>
667
- <a name='L602'></a><a href='#L602'>602</a>
668
- <a name='L603'></a><a href='#L603'>603</a>
669
- <a name='L604'></a><a href='#L604'>604</a>
670
- <a name='L605'></a><a href='#L605'>605</a>
671
- <a name='L606'></a><a href='#L606'>606</a>
672
- <a name='L607'></a><a href='#L607'>607</a>
673
- <a name='L608'></a><a href='#L608'>608</a>
674
- <a name='L609'></a><a href='#L609'>609</a>
675
- <a name='L610'></a><a href='#L610'>610</a>
676
- <a name='L611'></a><a href='#L611'>611</a>
677
- <a name='L612'></a><a href='#L612'>612</a>
678
- <a name='L613'></a><a href='#L613'>613</a>
679
- <a name='L614'></a><a href='#L614'>614</a>
680
- <a name='L615'></a><a href='#L615'>615</a>
681
- <a name='L616'></a><a href='#L616'>616</a>
682
- <a name='L617'></a><a href='#L617'>617</a>
683
- <a name='L618'></a><a href='#L618'>618</a>
684
- <a name='L619'></a><a href='#L619'>619</a>
685
- <a name='L620'></a><a href='#L620'>620</a>
686
- <a name='L621'></a><a href='#L621'>621</a>
687
- <a name='L622'></a><a href='#L622'>622</a>
688
- <a name='L623'></a><a href='#L623'>623</a>
689
- <a name='L624'></a><a href='#L624'>624</a>
690
- <a name='L625'></a><a href='#L625'>625</a>
691
- <a name='L626'></a><a href='#L626'>626</a>
692
- <a name='L627'></a><a href='#L627'>627</a>
693
- <a name='L628'></a><a href='#L628'>628</a>
694
- <a name='L629'></a><a href='#L629'>629</a>
695
- <a name='L630'></a><a href='#L630'>630</a>
696
- <a name='L631'></a><a href='#L631'>631</a>
697
- <a name='L632'></a><a href='#L632'>632</a>
698
- <a name='L633'></a><a href='#L633'>633</a>
699
- <a name='L634'></a><a href='#L634'>634</a>
700
- <a name='L635'></a><a href='#L635'>635</a>
701
- <a name='L636'></a><a href='#L636'>636</a>
702
- <a name='L637'></a><a href='#L637'>637</a>
703
- <a name='L638'></a><a href='#L638'>638</a>
704
- <a name='L639'></a><a href='#L639'>639</a>
705
- <a name='L640'></a><a href='#L640'>640</a>
706
- <a name='L641'></a><a href='#L641'>641</a>
707
- <a name='L642'></a><a href='#L642'>642</a>
708
- <a name='L643'></a><a href='#L643'>643</a>
709
- <a name='L644'></a><a href='#L644'>644</a>
710
- <a name='L645'></a><a href='#L645'>645</a>
711
- <a name='L646'></a><a href='#L646'>646</a>
712
- <a name='L647'></a><a href='#L647'>647</a>
713
- <a name='L648'></a><a href='#L648'>648</a>
714
- <a name='L649'></a><a href='#L649'>649</a>
715
- <a name='L650'></a><a href='#L650'>650</a>
716
- <a name='L651'></a><a href='#L651'>651</a>
717
- <a name='L652'></a><a href='#L652'>652</a>
718
- <a name='L653'></a><a href='#L653'>653</a>
719
- <a name='L654'></a><a href='#L654'>654</a>
720
- <a name='L655'></a><a href='#L655'>655</a>
721
- <a name='L656'></a><a href='#L656'>656</a>
722
- <a name='L657'></a><a href='#L657'>657</a>
723
- <a name='L658'></a><a href='#L658'>658</a>
724
- <a name='L659'></a><a href='#L659'>659</a>
725
- <a name='L660'></a><a href='#L660'>660</a>
726
- <a name='L661'></a><a href='#L661'>661</a>
727
- <a name='L662'></a><a href='#L662'>662</a>
728
- <a name='L663'></a><a href='#L663'>663</a>
729
- <a name='L664'></a><a href='#L664'>664</a>
730
- <a name='L665'></a><a href='#L665'>665</a>
731
- <a name='L666'></a><a href='#L666'>666</a>
732
- <a name='L667'></a><a href='#L667'>667</a>
733
- <a name='L668'></a><a href='#L668'>668</a>
734
- <a name='L669'></a><a href='#L669'>669</a>
735
- <a name='L670'></a><a href='#L670'>670</a>
736
- <a name='L671'></a><a href='#L671'>671</a>
737
- <a name='L672'></a><a href='#L672'>672</a>
738
- <a name='L673'></a><a href='#L673'>673</a>
739
- <a name='L674'></a><a href='#L674'>674</a>
740
- <a name='L675'></a><a href='#L675'>675</a>
741
- <a name='L676'></a><a href='#L676'>676</a>
742
- <a name='L677'></a><a href='#L677'>677</a>
743
- <a name='L678'></a><a href='#L678'>678</a>
744
- <a name='L679'></a><a href='#L679'>679</a>
745
- <a name='L680'></a><a href='#L680'>680</a>
746
- <a name='L681'></a><a href='#L681'>681</a>
747
- <a name='L682'></a><a href='#L682'>682</a>
748
- <a name='L683'></a><a href='#L683'>683</a>
749
- <a name='L684'></a><a href='#L684'>684</a>
750
- <a name='L685'></a><a href='#L685'>685</a>
751
- <a name='L686'></a><a href='#L686'>686</a>
752
- <a name='L687'></a><a href='#L687'>687</a>
753
- <a name='L688'></a><a href='#L688'>688</a>
754
- <a name='L689'></a><a href='#L689'>689</a>
755
- <a name='L690'></a><a href='#L690'>690</a>
756
- <a name='L691'></a><a href='#L691'>691</a>
757
- <a name='L692'></a><a href='#L692'>692</a>
758
- <a name='L693'></a><a href='#L693'>693</a>
759
- <a name='L694'></a><a href='#L694'>694</a>
760
- <a name='L695'></a><a href='#L695'>695</a>
761
- <a name='L696'></a><a href='#L696'>696</a>
762
- <a name='L697'></a><a href='#L697'>697</a>
763
- <a name='L698'></a><a href='#L698'>698</a>
764
- <a name='L699'></a><a href='#L699'>699</a>
765
- <a name='L700'></a><a href='#L700'>700</a>
766
- <a name='L701'></a><a href='#L701'>701</a>
767
- <a name='L702'></a><a href='#L702'>702</a>
768
- <a name='L703'></a><a href='#L703'>703</a>
769
- <a name='L704'></a><a href='#L704'>704</a>
770
- <a name='L705'></a><a href='#L705'>705</a>
771
- <a name='L706'></a><a href='#L706'>706</a>
772
- <a name='L707'></a><a href='#L707'>707</a>
773
- <a name='L708'></a><a href='#L708'>708</a>
774
- <a name='L709'></a><a href='#L709'>709</a>
775
- <a name='L710'></a><a href='#L710'>710</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
776
- <span class="cline-any cline-neutral">&nbsp;</span>
777
- <span class="cline-any cline-neutral">&nbsp;</span>
778
- <span class="cline-any cline-neutral">&nbsp;</span>
779
- <span class="cline-any cline-neutral">&nbsp;</span>
780
- <span class="cline-any cline-neutral">&nbsp;</span>
781
- <span class="cline-any cline-neutral">&nbsp;</span>
782
- <span class="cline-any cline-neutral">&nbsp;</span>
783
- <span class="cline-any cline-neutral">&nbsp;</span>
784
- <span class="cline-any cline-neutral">&nbsp;</span>
785
- <span class="cline-any cline-neutral">&nbsp;</span>
786
- <span class="cline-any cline-neutral">&nbsp;</span>
787
- <span class="cline-any cline-neutral">&nbsp;</span>
788
- <span class="cline-any cline-neutral">&nbsp;</span>
789
- <span class="cline-any cline-yes">2x</span>
790
- <span class="cline-any cline-neutral">&nbsp;</span>
791
- <span class="cline-any cline-neutral">&nbsp;</span>
792
- <span class="cline-any cline-neutral">&nbsp;</span>
793
- <span class="cline-any cline-neutral">&nbsp;</span>
794
- <span class="cline-any cline-neutral">&nbsp;</span>
795
- <span class="cline-any cline-yes">558x</span>
796
- <span class="cline-any cline-neutral">&nbsp;</span>
797
- <span class="cline-any cline-yes">2x</span>
798
- <span class="cline-any cline-yes">350x</span>
799
- <span class="cline-any cline-neutral">&nbsp;</span>
800
- <span class="cline-any cline-neutral">&nbsp;</span>
801
- <span class="cline-any cline-neutral">&nbsp;</span>
802
- <span class="cline-any cline-neutral">&nbsp;</span>
803
- <span class="cline-any cline-neutral">&nbsp;</span>
804
- <span class="cline-any cline-neutral">&nbsp;</span>
805
- <span class="cline-any cline-neutral">&nbsp;</span>
806
- <span class="cline-any cline-yes">2x</span>
807
- <span class="cline-any cline-yes">62x</span>
808
- <span class="cline-any cline-neutral">&nbsp;</span>
809
- <span class="cline-any cline-neutral">&nbsp;</span>
810
- <span class="cline-any cline-neutral">&nbsp;</span>
811
- <span class="cline-any cline-neutral">&nbsp;</span>
812
- <span class="cline-any cline-neutral">&nbsp;</span>
813
- <span class="cline-any cline-neutral">&nbsp;</span>
814
- <span class="cline-any cline-neutral">&nbsp;</span>
815
- <span class="cline-any cline-neutral">&nbsp;</span>
816
- <span class="cline-any cline-neutral">&nbsp;</span>
817
- <span class="cline-any cline-neutral">&nbsp;</span>
818
- <span class="cline-any cline-neutral">&nbsp;</span>
819
- <span class="cline-any cline-neutral">&nbsp;</span>
820
- <span class="cline-any cline-neutral">&nbsp;</span>
821
- <span class="cline-any cline-neutral">&nbsp;</span>
822
- <span class="cline-any cline-neutral">&nbsp;</span>
823
- <span class="cline-any cline-neutral">&nbsp;</span>
824
- <span class="cline-any cline-neutral">&nbsp;</span>
825
- <span class="cline-any cline-neutral">&nbsp;</span>
826
- <span class="cline-any cline-neutral">&nbsp;</span>
827
- <span class="cline-any cline-neutral">&nbsp;</span>
828
- <span class="cline-any cline-neutral">&nbsp;</span>
829
- <span class="cline-any cline-neutral">&nbsp;</span>
830
- <span class="cline-any cline-neutral">&nbsp;</span>
831
- <span class="cline-any cline-neutral">&nbsp;</span>
832
- <span class="cline-any cline-neutral">&nbsp;</span>
833
- <span class="cline-any cline-neutral">&nbsp;</span>
834
- <span class="cline-any cline-neutral">&nbsp;</span>
835
- <span class="cline-any cline-neutral">&nbsp;</span>
836
- <span class="cline-any cline-neutral">&nbsp;</span>
837
- <span class="cline-any cline-neutral">&nbsp;</span>
838
- <span class="cline-any cline-neutral">&nbsp;</span>
839
- <span class="cline-any cline-neutral">&nbsp;</span>
840
- <span class="cline-any cline-neutral">&nbsp;</span>
841
- <span class="cline-any cline-neutral">&nbsp;</span>
842
- <span class="cline-any cline-neutral">&nbsp;</span>
843
- <span class="cline-any cline-neutral">&nbsp;</span>
844
- <span class="cline-any cline-neutral">&nbsp;</span>
845
- <span class="cline-any cline-neutral">&nbsp;</span>
846
- <span class="cline-any cline-neutral">&nbsp;</span>
847
- <span class="cline-any cline-neutral">&nbsp;</span>
848
- <span class="cline-any cline-neutral">&nbsp;</span>
849
- <span class="cline-any cline-neutral">&nbsp;</span>
850
- <span class="cline-any cline-neutral">&nbsp;</span>
851
- <span class="cline-any cline-neutral">&nbsp;</span>
852
- <span class="cline-any cline-neutral">&nbsp;</span>
853
- <span class="cline-any cline-neutral">&nbsp;</span>
854
- <span class="cline-any cline-neutral">&nbsp;</span>
855
- <span class="cline-any cline-neutral">&nbsp;</span>
856
- <span class="cline-any cline-yes">2x</span>
857
- <span class="cline-any cline-neutral">&nbsp;</span>
858
- <span class="cline-any cline-yes">2x</span>
859
- <span class="cline-any cline-neutral">&nbsp;</span>
860
- <span class="cline-any cline-neutral">&nbsp;</span>
861
- <span class="cline-any cline-neutral">&nbsp;</span>
862
- <span class="cline-any cline-neutral">&nbsp;</span>
863
- <span class="cline-any cline-neutral">&nbsp;</span>
864
- <span class="cline-any cline-neutral">&nbsp;</span>
865
- <span class="cline-any cline-neutral">&nbsp;</span>
866
- <span class="cline-any cline-neutral">&nbsp;</span>
867
- <span class="cline-any cline-neutral">&nbsp;</span>
868
- <span class="cline-any cline-neutral">&nbsp;</span>
869
- <span class="cline-any cline-neutral">&nbsp;</span>
870
- <span class="cline-any cline-neutral">&nbsp;</span>
871
- <span class="cline-any cline-neutral">&nbsp;</span>
872
- <span class="cline-any cline-neutral">&nbsp;</span>
873
- <span class="cline-any cline-neutral">&nbsp;</span>
874
- <span class="cline-any cline-neutral">&nbsp;</span>
875
- <span class="cline-any cline-neutral">&nbsp;</span>
876
- <span class="cline-any cline-neutral">&nbsp;</span>
877
- <span class="cline-any cline-neutral">&nbsp;</span>
878
- <span class="cline-any cline-neutral">&nbsp;</span>
879
- <span class="cline-any cline-neutral">&nbsp;</span>
880
- <span class="cline-any cline-neutral">&nbsp;</span>
881
- <span class="cline-any cline-neutral">&nbsp;</span>
882
- <span class="cline-any cline-neutral">&nbsp;</span>
883
- <span class="cline-any cline-neutral">&nbsp;</span>
884
- <span class="cline-any cline-neutral">&nbsp;</span>
885
- <span class="cline-any cline-neutral">&nbsp;</span>
886
- <span class="cline-any cline-neutral">&nbsp;</span>
887
- <span class="cline-any cline-neutral">&nbsp;</span>
888
- <span class="cline-any cline-yes">175x</span>
889
- <span class="cline-any cline-neutral">&nbsp;</span>
890
- <span class="cline-any cline-neutral">&nbsp;</span>
891
- <span class="cline-any cline-yes">175x</span>
892
- <span class="cline-any cline-neutral">&nbsp;</span>
893
- <span class="cline-any cline-neutral">&nbsp;</span>
894
- <span class="cline-any cline-neutral">&nbsp;</span>
895
- <span class="cline-any cline-yes">175x</span>
896
- <span class="cline-any cline-yes">175x</span>
897
- <span class="cline-any cline-yes">175x</span>
898
- <span class="cline-any cline-yes">175x</span>
899
- <span class="cline-any cline-yes">127x</span>
900
- <span class="cline-any cline-yes">39x</span>
901
- <span class="cline-any cline-yes">39x</span>
902
- <span class="cline-any cline-yes">39x</span>
903
- <span class="cline-any cline-yes">39x</span>
904
- <span class="cline-any cline-yes">39x</span>
905
- <span class="cline-any cline-neutral">&nbsp;</span>
906
- <span class="cline-any cline-yes">39x</span>
907
- <span class="cline-any cline-yes">39x</span>
908
- <span class="cline-any cline-neutral">&nbsp;</span>
909
- <span class="cline-any cline-yes">39x</span>
910
- <span class="cline-any cline-no">&nbsp;</span>
911
- <span class="cline-any cline-no">&nbsp;</span>
912
- <span class="cline-any cline-no">&nbsp;</span>
913
- <span class="cline-any cline-neutral">&nbsp;</span>
914
- <span class="cline-any cline-yes">39x</span>
915
- <span class="cline-any cline-yes">39x</span>
916
- <span class="cline-any cline-yes">39x</span>
917
- <span class="cline-any cline-neutral">&nbsp;</span>
918
- <span class="cline-any cline-neutral">&nbsp;</span>
919
- <span class="cline-any cline-neutral">&nbsp;</span>
920
- <span class="cline-any cline-yes">175x</span>
921
- <span class="cline-any cline-yes">2x</span>
922
- <span class="cline-any cline-yes">1x</span>
923
- <span class="cline-any cline-neutral">&nbsp;</span>
924
- <span class="cline-any cline-neutral">&nbsp;</span>
925
- <span class="cline-any cline-neutral">&nbsp;</span>
926
- <span class="cline-any cline-yes">175x</span>
927
- <span class="cline-any cline-yes">175x</span>
928
- <span class="cline-any cline-neutral">&nbsp;</span>
929
- <span class="cline-any cline-neutral">&nbsp;</span>
930
- <span class="cline-any cline-neutral">&nbsp;</span>
931
- <span class="cline-any cline-yes">175x</span>
932
- <span class="cline-any cline-yes">175x</span>
933
- <span class="cline-any cline-yes">175x</span>
934
- <span class="cline-any cline-yes">175x</span>
935
- <span class="cline-any cline-neutral">&nbsp;</span>
936
- <span class="cline-any cline-yes">175x</span>
937
- <span class="cline-any cline-neutral">&nbsp;</span>
938
- <span class="cline-any cline-neutral">&nbsp;</span>
939
- <span class="cline-any cline-neutral">&nbsp;</span>
940
- <span class="cline-any cline-neutral">&nbsp;</span>
941
- <span class="cline-any cline-neutral">&nbsp;</span>
942
- <span class="cline-any cline-neutral">&nbsp;</span>
943
- <span class="cline-any cline-neutral">&nbsp;</span>
944
- <span class="cline-any cline-neutral">&nbsp;</span>
945
- <span class="cline-any cline-neutral">&nbsp;</span>
946
- <span class="cline-any cline-neutral">&nbsp;</span>
947
- <span class="cline-any cline-neutral">&nbsp;</span>
948
- <span class="cline-any cline-neutral">&nbsp;</span>
949
- <span class="cline-any cline-neutral">&nbsp;</span>
950
- <span class="cline-any cline-neutral">&nbsp;</span>
951
- <span class="cline-any cline-neutral">&nbsp;</span>
952
- <span class="cline-any cline-neutral">&nbsp;</span>
953
- <span class="cline-any cline-neutral">&nbsp;</span>
954
- <span class="cline-any cline-neutral">&nbsp;</span>
955
- <span class="cline-any cline-neutral">&nbsp;</span>
956
- <span class="cline-any cline-neutral">&nbsp;</span>
957
- <span class="cline-any cline-neutral">&nbsp;</span>
958
- <span class="cline-any cline-neutral">&nbsp;</span>
959
- <span class="cline-any cline-neutral">&nbsp;</span>
960
- <span class="cline-any cline-neutral">&nbsp;</span>
961
- <span class="cline-any cline-neutral">&nbsp;</span>
962
- <span class="cline-any cline-neutral">&nbsp;</span>
963
- <span class="cline-any cline-neutral">&nbsp;</span>
964
- <span class="cline-any cline-neutral">&nbsp;</span>
965
- <span class="cline-any cline-neutral">&nbsp;</span>
966
- <span class="cline-any cline-neutral">&nbsp;</span>
967
- <span class="cline-any cline-neutral">&nbsp;</span>
968
- <span class="cline-any cline-neutral">&nbsp;</span>
969
- <span class="cline-any cline-neutral">&nbsp;</span>
970
- <span class="cline-any cline-neutral">&nbsp;</span>
971
- <span class="cline-any cline-neutral">&nbsp;</span>
972
- <span class="cline-any cline-yes">3x</span>
973
- <span class="cline-any cline-neutral">&nbsp;</span>
974
- <span class="cline-any cline-neutral">&nbsp;</span>
975
- <span class="cline-any cline-neutral">&nbsp;</span>
976
- <span class="cline-any cline-neutral">&nbsp;</span>
977
- <span class="cline-any cline-neutral">&nbsp;</span>
978
- <span class="cline-any cline-neutral">&nbsp;</span>
979
- <span class="cline-any cline-neutral">&nbsp;</span>
980
- <span class="cline-any cline-neutral">&nbsp;</span>
981
- <span class="cline-any cline-neutral">&nbsp;</span>
982
- <span class="cline-any cline-neutral">&nbsp;</span>
983
- <span class="cline-any cline-neutral">&nbsp;</span>
984
- <span class="cline-any cline-neutral">&nbsp;</span>
985
- <span class="cline-any cline-neutral">&nbsp;</span>
986
- <span class="cline-any cline-neutral">&nbsp;</span>
987
- <span class="cline-any cline-neutral">&nbsp;</span>
988
- <span class="cline-any cline-neutral">&nbsp;</span>
989
- <span class="cline-any cline-neutral">&nbsp;</span>
990
- <span class="cline-any cline-neutral">&nbsp;</span>
991
- <span class="cline-any cline-neutral">&nbsp;</span>
992
- <span class="cline-any cline-neutral">&nbsp;</span>
993
- <span class="cline-any cline-neutral">&nbsp;</span>
994
- <span class="cline-any cline-neutral">&nbsp;</span>
995
- <span class="cline-any cline-neutral">&nbsp;</span>
996
- <span class="cline-any cline-yes">1x</span>
997
- <span class="cline-any cline-neutral">&nbsp;</span>
998
- <span class="cline-any cline-neutral">&nbsp;</span>
999
- <span class="cline-any cline-neutral">&nbsp;</span>
1000
- <span class="cline-any cline-neutral">&nbsp;</span>
1001
- <span class="cline-any cline-neutral">&nbsp;</span>
1002
- <span class="cline-any cline-yes">241x</span>
1003
- <span class="cline-any cline-yes">239x</span>
1004
- <span class="cline-any cline-yes">239x</span>
1005
- <span class="cline-any cline-yes">239x</span>
1006
- <span class="cline-any cline-yes">239x</span>
1007
- <span class="cline-any cline-yes">239x</span>
1008
- <span class="cline-any cline-neutral">&nbsp;</span>
1009
- <span class="cline-any cline-neutral">&nbsp;</span>
1010
- <span class="cline-any cline-neutral">&nbsp;</span>
1011
- <span class="cline-any cline-yes">239x</span>
1012
- <span class="cline-any cline-neutral">&nbsp;</span>
1013
- <span class="cline-any cline-neutral">&nbsp;</span>
1014
- <span class="cline-any cline-neutral">&nbsp;</span>
1015
- <span class="cline-any cline-neutral">&nbsp;</span>
1016
- <span class="cline-any cline-neutral">&nbsp;</span>
1017
- <span class="cline-any cline-neutral">&nbsp;</span>
1018
- <span class="cline-any cline-neutral">&nbsp;</span>
1019
- <span class="cline-any cline-yes">2x</span>
1020
- <span class="cline-any cline-neutral">&nbsp;</span>
1021
- <span class="cline-any cline-neutral">&nbsp;</span>
1022
- <span class="cline-any cline-neutral">&nbsp;</span>
1023
- <span class="cline-any cline-neutral">&nbsp;</span>
1024
- <span class="cline-any cline-neutral">&nbsp;</span>
1025
- <span class="cline-any cline-neutral">&nbsp;</span>
1026
- <span class="cline-any cline-neutral">&nbsp;</span>
1027
- <span class="cline-any cline-neutral">&nbsp;</span>
1028
- <span class="cline-any cline-neutral">&nbsp;</span>
1029
- <span class="cline-any cline-neutral">&nbsp;</span>
1030
- <span class="cline-any cline-neutral">&nbsp;</span>
1031
- <span class="cline-any cline-neutral">&nbsp;</span>
1032
- <span class="cline-any cline-neutral">&nbsp;</span>
1033
- <span class="cline-any cline-neutral">&nbsp;</span>
1034
- <span class="cline-any cline-neutral">&nbsp;</span>
1035
- <span class="cline-any cline-neutral">&nbsp;</span>
1036
- <span class="cline-any cline-neutral">&nbsp;</span>
1037
- <span class="cline-any cline-neutral">&nbsp;</span>
1038
- <span class="cline-any cline-neutral">&nbsp;</span>
1039
- <span class="cline-any cline-neutral">&nbsp;</span>
1040
- <span class="cline-any cline-neutral">&nbsp;</span>
1041
- <span class="cline-any cline-neutral">&nbsp;</span>
1042
- <span class="cline-any cline-neutral">&nbsp;</span>
1043
- <span class="cline-any cline-neutral">&nbsp;</span>
1044
- <span class="cline-any cline-neutral">&nbsp;</span>
1045
- <span class="cline-any cline-neutral">&nbsp;</span>
1046
- <span class="cline-any cline-neutral">&nbsp;</span>
1047
- <span class="cline-any cline-neutral">&nbsp;</span>
1048
- <span class="cline-any cline-neutral">&nbsp;</span>
1049
- <span class="cline-any cline-neutral">&nbsp;</span>
1050
- <span class="cline-any cline-neutral">&nbsp;</span>
1051
- <span class="cline-any cline-neutral">&nbsp;</span>
1052
- <span class="cline-any cline-neutral">&nbsp;</span>
1053
- <span class="cline-any cline-neutral">&nbsp;</span>
1054
- <span class="cline-any cline-neutral">&nbsp;</span>
1055
- <span class="cline-any cline-neutral">&nbsp;</span>
1056
- <span class="cline-any cline-neutral">&nbsp;</span>
1057
- <span class="cline-any cline-neutral">&nbsp;</span>
1058
- <span class="cline-any cline-neutral">&nbsp;</span>
1059
- <span class="cline-any cline-neutral">&nbsp;</span>
1060
- <span class="cline-any cline-neutral">&nbsp;</span>
1061
- <span class="cline-any cline-neutral">&nbsp;</span>
1062
- <span class="cline-any cline-neutral">&nbsp;</span>
1063
- <span class="cline-any cline-neutral">&nbsp;</span>
1064
- <span class="cline-any cline-neutral">&nbsp;</span>
1065
- <span class="cline-any cline-neutral">&nbsp;</span>
1066
- <span class="cline-any cline-neutral">&nbsp;</span>
1067
- <span class="cline-any cline-neutral">&nbsp;</span>
1068
- <span class="cline-any cline-neutral">&nbsp;</span>
1069
- <span class="cline-any cline-neutral">&nbsp;</span>
1070
- <span class="cline-any cline-neutral">&nbsp;</span>
1071
- <span class="cline-any cline-neutral">&nbsp;</span>
1072
- <span class="cline-any cline-neutral">&nbsp;</span>
1073
- <span class="cline-any cline-neutral">&nbsp;</span>
1074
- <span class="cline-any cline-neutral">&nbsp;</span>
1075
- <span class="cline-any cline-neutral">&nbsp;</span>
1076
- <span class="cline-any cline-neutral">&nbsp;</span>
1077
- <span class="cline-any cline-neutral">&nbsp;</span>
1078
- <span class="cline-any cline-neutral">&nbsp;</span>
1079
- <span class="cline-any cline-neutral">&nbsp;</span>
1080
- <span class="cline-any cline-neutral">&nbsp;</span>
1081
- <span class="cline-any cline-neutral">&nbsp;</span>
1082
- <span class="cline-any cline-neutral">&nbsp;</span>
1083
- <span class="cline-any cline-neutral">&nbsp;</span>
1084
- <span class="cline-any cline-neutral">&nbsp;</span>
1085
- <span class="cline-any cline-neutral">&nbsp;</span>
1086
- <span class="cline-any cline-neutral">&nbsp;</span>
1087
- <span class="cline-any cline-neutral">&nbsp;</span>
1088
- <span class="cline-any cline-neutral">&nbsp;</span>
1089
- <span class="cline-any cline-neutral">&nbsp;</span>
1090
- <span class="cline-any cline-neutral">&nbsp;</span>
1091
- <span class="cline-any cline-neutral">&nbsp;</span>
1092
- <span class="cline-any cline-neutral">&nbsp;</span>
1093
- <span class="cline-any cline-neutral">&nbsp;</span>
1094
- <span class="cline-any cline-neutral">&nbsp;</span>
1095
- <span class="cline-any cline-neutral">&nbsp;</span>
1096
- <span class="cline-any cline-neutral">&nbsp;</span>
1097
- <span class="cline-any cline-neutral">&nbsp;</span>
1098
- <span class="cline-any cline-neutral">&nbsp;</span>
1099
- <span class="cline-any cline-neutral">&nbsp;</span>
1100
- <span class="cline-any cline-neutral">&nbsp;</span>
1101
- <span class="cline-any cline-neutral">&nbsp;</span>
1102
- <span class="cline-any cline-yes">2x</span>
1103
- <span class="cline-any cline-neutral">&nbsp;</span>
1104
- <span class="cline-any cline-neutral">&nbsp;</span>
1105
- <span class="cline-any cline-neutral">&nbsp;</span>
1106
- <span class="cline-any cline-neutral">&nbsp;</span>
1107
- <span class="cline-any cline-neutral">&nbsp;</span>
1108
- <span class="cline-any cline-neutral">&nbsp;</span>
1109
- <span class="cline-any cline-neutral">&nbsp;</span>
1110
- <span class="cline-any cline-neutral">&nbsp;</span>
1111
- <span class="cline-any cline-neutral">&nbsp;</span>
1112
- <span class="cline-any cline-neutral">&nbsp;</span>
1113
- <span class="cline-any cline-neutral">&nbsp;</span>
1114
- <span class="cline-any cline-neutral">&nbsp;</span>
1115
- <span class="cline-any cline-neutral">&nbsp;</span>
1116
- <span class="cline-any cline-neutral">&nbsp;</span>
1117
- <span class="cline-any cline-neutral">&nbsp;</span>
1118
- <span class="cline-any cline-neutral">&nbsp;</span>
1119
- <span class="cline-any cline-neutral">&nbsp;</span>
1120
- <span class="cline-any cline-neutral">&nbsp;</span>
1121
- <span class="cline-any cline-neutral">&nbsp;</span>
1122
- <span class="cline-any cline-neutral">&nbsp;</span>
1123
- <span class="cline-any cline-neutral">&nbsp;</span>
1124
- <span class="cline-any cline-neutral">&nbsp;</span>
1125
- <span class="cline-any cline-neutral">&nbsp;</span>
1126
- <span class="cline-any cline-yes">38x</span>
1127
- <span class="cline-any cline-yes">38x</span>
1128
- <span class="cline-any cline-yes">38x</span>
1129
- <span class="cline-any cline-yes">38x</span>
1130
- <span class="cline-any cline-yes">2x</span>
1131
- <span class="cline-any cline-yes">2x</span>
1132
- <span class="cline-any cline-yes">2x</span>
1133
- <span class="cline-any cline-yes">1x</span>
1134
- <span class="cline-any cline-neutral">&nbsp;</span>
1135
- <span class="cline-any cline-yes">1x</span>
1136
- <span class="cline-any cline-neutral">&nbsp;</span>
1137
- <span class="cline-any cline-yes">2x</span>
1138
- <span class="cline-any cline-neutral">&nbsp;</span>
1139
- <span class="cline-any cline-neutral">&nbsp;</span>
1140
- <span class="cline-any cline-neutral">&nbsp;</span>
1141
- <span class="cline-any cline-yes">38x</span>
1142
- <span class="cline-any cline-yes">38x</span>
1143
- <span class="cline-any cline-yes">38x</span>
1144
- <span class="cline-any cline-yes">38x</span>
1145
- <span class="cline-any cline-yes">38x</span>
1146
- <span class="cline-any cline-neutral">&nbsp;</span>
1147
- <span class="cline-any cline-neutral">&nbsp;</span>
1148
- <span class="cline-any cline-neutral">&nbsp;</span>
1149
- <span class="cline-any cline-neutral">&nbsp;</span>
1150
- <span class="cline-any cline-neutral">&nbsp;</span>
1151
- <span class="cline-any cline-neutral">&nbsp;</span>
1152
- <span class="cline-any cline-neutral">&nbsp;</span>
1153
- <span class="cline-any cline-neutral">&nbsp;</span>
1154
- <span class="cline-any cline-neutral">&nbsp;</span>
1155
- <span class="cline-any cline-neutral">&nbsp;</span>
1156
- <span class="cline-any cline-neutral">&nbsp;</span>
1157
- <span class="cline-any cline-neutral">&nbsp;</span>
1158
- <span class="cline-any cline-yes">38x</span>
1159
- <span class="cline-any cline-yes">38x</span>
1160
- <span class="cline-any cline-yes">38x</span>
1161
- <span class="cline-any cline-yes">38x</span>
1162
- <span class="cline-any cline-yes">38x</span>
1163
- <span class="cline-any cline-yes">38x</span>
1164
- <span class="cline-any cline-neutral">&nbsp;</span>
1165
- <span class="cline-any cline-neutral">&nbsp;</span>
1166
- <span class="cline-any cline-yes">50x</span>
1167
- <span class="cline-any cline-yes">38x</span>
1168
- <span class="cline-any cline-neutral">&nbsp;</span>
1169
- <span class="cline-any cline-yes">38x</span>
1170
- <span class="cline-any cline-yes">38x</span>
1171
- <span class="cline-any cline-neutral">&nbsp;</span>
1172
- <span class="cline-any cline-yes">38x</span>
1173
- <span class="cline-any cline-yes">38x</span>
1174
- <span class="cline-any cline-no">&nbsp;</span>
1175
- <span class="cline-any cline-no">&nbsp;</span>
1176
- <span class="cline-any cline-no">&nbsp;</span>
1177
- <span class="cline-any cline-no">&nbsp;</span>
1178
- <span class="cline-any cline-no">&nbsp;</span>
1179
- <span class="cline-any cline-neutral">&nbsp;</span>
1180
- <span class="cline-any cline-neutral">&nbsp;</span>
1181
- <span class="cline-any cline-neutral">&nbsp;</span>
1182
- <span class="cline-any cline-yes">38x</span>
1183
- <span class="cline-any cline-yes">31x</span>
1184
- <span class="cline-any cline-yes">31x</span>
1185
- <span class="cline-any cline-yes">3x</span>
1186
- <span class="cline-any cline-yes">3x</span>
1187
- <span class="cline-any cline-yes">3x</span>
1188
- <span class="cline-any cline-yes">3x</span>
1189
- <span class="cline-any cline-yes">3x</span>
1190
- <span class="cline-any cline-yes">3x</span>
1191
- <span class="cline-any cline-yes">3x</span>
1192
- <span class="cline-any cline-yes">3x</span>
1193
- <span class="cline-any cline-yes">3x</span>
1194
- <span class="cline-any cline-neutral">&nbsp;</span>
1195
- <span class="cline-any cline-neutral">&nbsp;</span>
1196
- <span class="cline-any cline-neutral">&nbsp;</span>
1197
- <span class="cline-any cline-neutral">&nbsp;</span>
1198
- <span class="cline-any cline-yes">38x</span>
1199
- <span class="cline-any cline-yes">31x</span>
1200
- <span class="cline-any cline-yes">2x</span>
1201
- <span class="cline-any cline-yes">2x</span>
1202
- <span class="cline-any cline-yes">2x</span>
1203
- <span class="cline-any cline-neutral">&nbsp;</span>
1204
- <span class="cline-any cline-neutral">&nbsp;</span>
1205
- <span class="cline-any cline-yes">38x</span>
1206
- <span class="cline-any cline-yes">38x</span>
1207
- <span class="cline-any cline-yes">38x</span>
1208
- <span class="cline-any cline-yes">38x</span>
1209
- <span class="cline-any cline-yes">38x</span>
1210
- <span class="cline-any cline-yes">38x</span>
1211
- <span class="cline-any cline-yes">4x</span>
1212
- <span class="cline-any cline-neutral">&nbsp;</span>
1213
- <span class="cline-any cline-neutral">&nbsp;</span>
1214
- <span class="cline-any cline-yes">4x</span>
1215
- <span class="cline-any cline-yes">4x</span>
1216
- <span class="cline-any cline-yes">4x</span>
1217
- <span class="cline-any cline-yes">205x</span>
1218
- <span class="cline-any cline-yes">205x</span>
1219
- <span class="cline-any cline-neutral">&nbsp;</span>
1220
- <span class="cline-any cline-yes">205x</span>
1221
- <span class="cline-any cline-neutral">&nbsp;</span>
1222
- <span class="cline-any cline-neutral">&nbsp;</span>
1223
- <span class="cline-any cline-yes">205x</span>
1224
- <span class="cline-any cline-neutral">&nbsp;</span>
1225
- <span class="cline-any cline-yes">4x</span>
1226
- <span class="cline-any cline-yes">4x</span>
1227
- <span class="cline-any cline-yes">4x</span>
1228
- <span class="cline-any cline-yes">4x</span>
1229
- <span class="cline-any cline-yes">4x</span>
1230
- <span class="cline-any cline-yes">4x</span>
1231
- <span class="cline-any cline-yes">73x</span>
1232
- <span class="cline-any cline-yes">4x</span>
1233
- <span class="cline-any cline-yes">4x</span>
1234
- <span class="cline-any cline-yes">4x</span>
1235
- <span class="cline-any cline-neutral">&nbsp;</span>
1236
- <span class="cline-any cline-yes">38x</span>
1237
- <span class="cline-any cline-neutral">&nbsp;</span>
1238
- <span class="cline-any cline-yes">38x</span>
1239
- <span class="cline-any cline-yes">3x</span>
1240
- <span class="cline-any cline-yes">3x</span>
1241
- <span class="cline-any cline-yes">3x</span>
1242
- <span class="cline-any cline-yes">1x</span>
1243
- <span class="cline-any cline-neutral">&nbsp;</span>
1244
- <span class="cline-any cline-yes">2x</span>
1245
- <span class="cline-any cline-neutral">&nbsp;</span>
1246
- <span class="cline-any cline-yes">3x</span>
1247
- <span class="cline-any cline-neutral">&nbsp;</span>
1248
- <span class="cline-any cline-neutral">&nbsp;</span>
1249
- <span class="cline-any cline-neutral">&nbsp;</span>
1250
- <span class="cline-any cline-yes">38x</span>
1251
- <span class="cline-any cline-yes">56x</span>
1252
- <span class="cline-any cline-neutral">&nbsp;</span>
1253
- <span class="cline-any cline-neutral">&nbsp;</span>
1254
- <span class="cline-any cline-neutral">&nbsp;</span>
1255
- <span class="cline-any cline-neutral">&nbsp;</span>
1256
- <span class="cline-any cline-neutral">&nbsp;</span>
1257
- <span class="cline-any cline-neutral">&nbsp;</span>
1258
- <span class="cline-any cline-yes">38x</span>
1259
- <span class="cline-any cline-yes">31x</span>
1260
- <span class="cline-any cline-yes">31x</span>
1261
- <span class="cline-any cline-yes">56x</span>
1262
- <span class="cline-any cline-neutral">&nbsp;</span>
1263
- <span class="cline-any cline-neutral">&nbsp;</span>
1264
- <span class="cline-any cline-neutral">&nbsp;</span>
1265
- <span class="cline-any cline-yes">38x</span>
1266
- <span class="cline-any cline-yes">38x</span>
1267
- <span class="cline-any cline-neutral">&nbsp;</span>
1268
- <span class="cline-any cline-neutral">&nbsp;</span>
1269
- <span class="cline-any cline-neutral">&nbsp;</span>
1270
- <span class="cline-any cline-yes">38x</span>
1271
- <span class="cline-any cline-neutral">&nbsp;</span>
1272
- <span class="cline-any cline-neutral">&nbsp;</span>
1273
- <span class="cline-any cline-neutral">&nbsp;</span>
1274
- <span class="cline-any cline-yes">38x</span>
1275
- <span class="cline-any cline-yes">1x</span>
1276
- <span class="cline-any cline-neutral">&nbsp;</span>
1277
- <span class="cline-any cline-neutral">&nbsp;</span>
1278
- <span class="cline-any cline-neutral">&nbsp;</span>
1279
- <span class="cline-any cline-neutral">&nbsp;</span>
1280
- <span class="cline-any cline-neutral">&nbsp;</span>
1281
- <span class="cline-any cline-neutral">&nbsp;</span>
1282
- <span class="cline-any cline-neutral">&nbsp;</span>
1283
- <span class="cline-any cline-neutral">&nbsp;</span>
1284
- <span class="cline-any cline-yes">37x</span>
1285
- <span class="cline-any cline-neutral">&nbsp;</span>
1286
- <span class="cline-any cline-yes">3x</span>
1287
- <span class="cline-any cline-yes">3x</span>
1288
- <span class="cline-any cline-yes">3x</span>
1289
- <span class="cline-any cline-neutral">&nbsp;</span>
1290
- <span class="cline-any cline-neutral">&nbsp;</span>
1291
- <span class="cline-any cline-neutral">&nbsp;</span>
1292
- <span class="cline-any cline-neutral">&nbsp;</span>
1293
- <span class="cline-any cline-neutral">&nbsp;</span>
1294
- <span class="cline-any cline-neutral">&nbsp;</span>
1295
- <span class="cline-any cline-neutral">&nbsp;</span>
1296
- <span class="cline-any cline-neutral">&nbsp;</span>
1297
- <span class="cline-any cline-neutral">&nbsp;</span>
1298
- <span class="cline-any cline-neutral">&nbsp;</span>
1299
- <span class="cline-any cline-neutral">&nbsp;</span>
1300
- <span class="cline-any cline-neutral">&nbsp;</span>
1301
- <span class="cline-any cline-neutral">&nbsp;</span>
1302
- <span class="cline-any cline-neutral">&nbsp;</span>
1303
- <span class="cline-any cline-neutral">&nbsp;</span>
1304
- <span class="cline-any cline-neutral">&nbsp;</span>
1305
- <span class="cline-any cline-neutral">&nbsp;</span>
1306
- <span class="cline-any cline-neutral">&nbsp;</span>
1307
- <span class="cline-any cline-neutral">&nbsp;</span>
1308
- <span class="cline-any cline-neutral">&nbsp;</span>
1309
- <span class="cline-any cline-neutral">&nbsp;</span>
1310
- <span class="cline-any cline-yes">34x</span>
1311
- <span class="cline-any cline-neutral">&nbsp;</span>
1312
- <span class="cline-any cline-neutral">&nbsp;</span>
1313
- <span class="cline-any cline-neutral">&nbsp;</span>
1314
- <span class="cline-any cline-neutral">&nbsp;</span>
1315
- <span class="cline-any cline-neutral">&nbsp;</span>
1316
- <span class="cline-any cline-yes">7x</span>
1317
- <span class="cline-any cline-yes">7x</span>
1318
- <span class="cline-any cline-yes">50x</span>
1319
- <span class="cline-any cline-yes">50x</span>
1320
- <span class="cline-any cline-yes">89x</span>
1321
- <span class="cline-any cline-neutral">&nbsp;</span>
1322
- <span class="cline-any cline-neutral">&nbsp;</span>
1323
- <span class="cline-any cline-neutral">&nbsp;</span>
1324
- <span class="cline-any cline-yes">7x</span>
1325
- <span class="cline-any cline-yes">7x</span>
1326
- <span class="cline-any cline-yes">7x</span>
1327
- <span class="cline-any cline-yes">7x</span>
1328
- <span class="cline-any cline-yes">7x</span>
1329
- <span class="cline-any cline-yes">120x</span>
1330
- <span class="cline-any cline-yes">2x</span>
1331
- <span class="cline-any cline-yes">2x</span>
1332
- <span class="cline-any cline-yes">120x</span>
1333
- <span class="cline-any cline-yes">2x</span>
1334
- <span class="cline-any cline-yes">2x</span>
1335
- <span class="cline-any cline-yes">2x</span>
1336
- <span class="cline-any cline-yes">2x</span>
1337
- <span class="cline-any cline-yes">2x</span>
1338
- <span class="cline-any cline-yes">2x</span>
1339
- <span class="cline-any cline-yes">2x</span>
1340
- <span class="cline-any cline-yes">2x</span>
1341
- <span class="cline-any cline-yes">40x</span>
1342
- <span class="cline-any cline-neutral">&nbsp;</span>
1343
- <span class="cline-any cline-yes">2x</span>
1344
- <span class="cline-any cline-yes">2x</span>
1345
- <span class="cline-any cline-neutral">&nbsp;</span>
1346
- <span class="cline-any cline-neutral">&nbsp;</span>
1347
- <span class="cline-any cline-yes">7x</span>
1348
- <span class="cline-any cline-neutral">&nbsp;</span>
1349
- <span class="cline-any cline-yes">7x</span>
1350
- <span class="cline-any cline-neutral">&nbsp;</span>
1351
- <span class="cline-any cline-neutral">&nbsp;</span>
1352
- <span class="cline-any cline-neutral">&nbsp;</span>
1353
- <span class="cline-any cline-neutral">&nbsp;</span>
1354
- <span class="cline-any cline-neutral">&nbsp;</span>
1355
- <span class="cline-any cline-neutral">&nbsp;</span>
1356
- <span class="cline-any cline-neutral">&nbsp;</span>
1357
- <span class="cline-any cline-yes">57x</span>
1358
- <span class="cline-any cline-neutral">&nbsp;</span>
1359
- <span class="cline-any cline-neutral">&nbsp;</span>
1360
- <span class="cline-any cline-neutral">&nbsp;</span>
1361
- <span class="cline-any cline-neutral">&nbsp;</span>
1362
- <span class="cline-any cline-neutral">&nbsp;</span>
1363
- <span class="cline-any cline-neutral">&nbsp;</span>
1364
- <span class="cline-any cline-neutral">&nbsp;</span>
1365
- <span class="cline-any cline-neutral">&nbsp;</span>
1366
- <span class="cline-any cline-yes">2x</span>
1367
- <span class="cline-any cline-neutral">&nbsp;</span>
1368
- <span class="cline-any cline-neutral">&nbsp;</span>
1369
- <span class="cline-any cline-neutral">&nbsp;</span>
1370
- <span class="cline-any cline-neutral">&nbsp;</span>
1371
- <span class="cline-any cline-neutral">&nbsp;</span>
1372
- <span class="cline-any cline-neutral">&nbsp;</span>
1373
- <span class="cline-any cline-neutral">&nbsp;</span>
1374
- <span class="cline-any cline-neutral">&nbsp;</span>
1375
- <span class="cline-any cline-neutral">&nbsp;</span>
1376
- <span class="cline-any cline-neutral">&nbsp;</span>
1377
- <span class="cline-any cline-neutral">&nbsp;</span>
1378
- <span class="cline-any cline-neutral">&nbsp;</span>
1379
- <span class="cline-any cline-neutral">&nbsp;</span>
1380
- <span class="cline-any cline-neutral">&nbsp;</span>
1381
- <span class="cline-any cline-neutral">&nbsp;</span>
1382
- <span class="cline-any cline-neutral">&nbsp;</span>
1383
- <span class="cline-any cline-neutral">&nbsp;</span>
1384
- <span class="cline-any cline-neutral">&nbsp;</span>
1385
- <span class="cline-any cline-neutral">&nbsp;</span>
1386
- <span class="cline-any cline-neutral">&nbsp;</span>
1387
- <span class="cline-any cline-neutral">&nbsp;</span>
1388
- <span class="cline-any cline-neutral">&nbsp;</span>
1389
- <span class="cline-any cline-neutral">&nbsp;</span>
1390
- <span class="cline-any cline-neutral">&nbsp;</span>
1391
- <span class="cline-any cline-neutral">&nbsp;</span>
1392
- <span class="cline-any cline-neutral">&nbsp;</span>
1393
- <span class="cline-any cline-neutral">&nbsp;</span>
1394
- <span class="cline-any cline-neutral">&nbsp;</span>
1395
- <span class="cline-any cline-neutral">&nbsp;</span>
1396
- <span class="cline-any cline-neutral">&nbsp;</span>
1397
- <span class="cline-any cline-neutral">&nbsp;</span>
1398
- <span class="cline-any cline-neutral">&nbsp;</span>
1399
- <span class="cline-any cline-neutral">&nbsp;</span>
1400
- <span class="cline-any cline-neutral">&nbsp;</span>
1401
- <span class="cline-any cline-neutral">&nbsp;</span>
1402
- <span class="cline-any cline-neutral">&nbsp;</span>
1403
- <span class="cline-any cline-neutral">&nbsp;</span>
1404
- <span class="cline-any cline-neutral">&nbsp;</span>
1405
- <span class="cline-any cline-neutral">&nbsp;</span>
1406
- <span class="cline-any cline-neutral">&nbsp;</span>
1407
- <span class="cline-any cline-neutral">&nbsp;</span>
1408
- <span class="cline-any cline-neutral">&nbsp;</span>
1409
- <span class="cline-any cline-yes">27x</span>
1410
- <span class="cline-any cline-neutral">&nbsp;</span>
1411
- <span class="cline-any cline-neutral">&nbsp;</span>
1412
- <span class="cline-any cline-neutral">&nbsp;</span>
1413
- <span class="cline-any cline-neutral">&nbsp;</span>
1414
- <span class="cline-any cline-neutral">&nbsp;</span>
1415
- <span class="cline-any cline-neutral">&nbsp;</span>
1416
- <span class="cline-any cline-neutral">&nbsp;</span>
1417
- <span class="cline-any cline-neutral">&nbsp;</span>
1418
- <span class="cline-any cline-neutral">&nbsp;</span>
1419
- <span class="cline-any cline-neutral">&nbsp;</span>
1420
- <span class="cline-any cline-neutral">&nbsp;</span>
1421
- <span class="cline-any cline-neutral">&nbsp;</span>
1422
- <span class="cline-any cline-neutral">&nbsp;</span>
1423
- <span class="cline-any cline-neutral">&nbsp;</span>
1424
- <span class="cline-any cline-neutral">&nbsp;</span>
1425
- <span class="cline-any cline-neutral">&nbsp;</span>
1426
- <span class="cline-any cline-neutral">&nbsp;</span>
1427
- <span class="cline-any cline-neutral">&nbsp;</span>
1428
- <span class="cline-any cline-neutral">&nbsp;</span>
1429
- <span class="cline-any cline-neutral">&nbsp;</span>
1430
- <span class="cline-any cline-neutral">&nbsp;</span>
1431
- <span class="cline-any cline-neutral">&nbsp;</span>
1432
- <span class="cline-any cline-neutral">&nbsp;</span>
1433
- <span class="cline-any cline-neutral">&nbsp;</span>
1434
- <span class="cline-any cline-neutral">&nbsp;</span>
1435
- <span class="cline-any cline-neutral">&nbsp;</span>
1436
- <span class="cline-any cline-neutral">&nbsp;</span>
1437
- <span class="cline-any cline-neutral">&nbsp;</span>
1438
- <span class="cline-any cline-yes">142x</span>
1439
- <span class="cline-any cline-yes">142x</span>
1440
- <span class="cline-any cline-yes">142x</span>
1441
- <span class="cline-any cline-yes">142x</span>
1442
- <span class="cline-any cline-yes">142x</span>
1443
- <span class="cline-any cline-neutral">&nbsp;</span>
1444
- <span class="cline-any cline-neutral">&nbsp;</span>
1445
- <span class="cline-any cline-neutral">&nbsp;</span>
1446
- <span class="cline-any cline-neutral">&nbsp;</span>
1447
- <span class="cline-any cline-neutral">&nbsp;</span>
1448
- <span class="cline-any cline-neutral">&nbsp;</span>
1449
- <span class="cline-any cline-neutral">&nbsp;</span>
1450
- <span class="cline-any cline-neutral">&nbsp;</span>
1451
- <span class="cline-any cline-neutral">&nbsp;</span>
1452
- <span class="cline-any cline-neutral">&nbsp;</span>
1453
- <span class="cline-any cline-neutral">&nbsp;</span>
1454
- <span class="cline-any cline-neutral">&nbsp;</span>
1455
- <span class="cline-any cline-neutral">&nbsp;</span>
1456
- <span class="cline-any cline-neutral">&nbsp;</span>
1457
- <span class="cline-any cline-neutral">&nbsp;</span>
1458
- <span class="cline-any cline-neutral">&nbsp;</span>
1459
- <span class="cline-any cline-neutral">&nbsp;</span>
1460
- <span class="cline-any cline-neutral">&nbsp;</span>
1461
- <span class="cline-any cline-neutral">&nbsp;</span>
1462
- <span class="cline-any cline-neutral">&nbsp;</span>
1463
- <span class="cline-any cline-neutral">&nbsp;</span>
1464
- <span class="cline-any cline-neutral">&nbsp;</span>
1465
- <span class="cline-any cline-neutral">&nbsp;</span>
1466
- <span class="cline-any cline-neutral">&nbsp;</span>
1467
- <span class="cline-any cline-neutral">&nbsp;</span>
1468
- <span class="cline-any cline-neutral">&nbsp;</span>
1469
- <span class="cline-any cline-neutral">&nbsp;</span>
1470
- <span class="cline-any cline-neutral">&nbsp;</span>
1471
- <span class="cline-any cline-neutral">&nbsp;</span>
1472
- <span class="cline-any cline-neutral">&nbsp;</span>
1473
- <span class="cline-any cline-neutral">&nbsp;</span>
1474
- <span class="cline-any cline-neutral">&nbsp;</span>
1475
- <span class="cline-any cline-neutral">&nbsp;</span>
1476
- <span class="cline-any cline-neutral">&nbsp;</span>
1477
- <span class="cline-any cline-neutral">&nbsp;</span>
1478
- <span class="cline-any cline-neutral">&nbsp;</span>
1479
- <span class="cline-any cline-neutral">&nbsp;</span>
1480
- <span class="cline-any cline-neutral">&nbsp;</span>
1481
- <span class="cline-any cline-neutral">&nbsp;</span>
1482
- <span class="cline-any cline-neutral">&nbsp;</span>
1483
- <span class="cline-any cline-neutral">&nbsp;</span>
1484
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { Box, IconButton, Spinner, Td, Tr } from "@chakra-ui/react";
1485
- import React, { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
1486
- import { normalizeTableCellValue, buildTablePalette, pickTableColor, TablePaletteColor } from "../../../Utils/table";
1487
- import { DataObject, TableBodyPageProps, TableHeaderProps, TableRenderGroup } from "../TableProps";
1488
- import { useCustomTheme } from "../../../Theme/useCustomTheme";
1489
- import type { CustomThemeProps } from "../../../Theme/themeProps";
1490
- import { TableBodyLoading } from "./TableLoading";
1491
- import TableActions from "./TableActions";
1492
- import { ChevronDown, ChevronRight } from "lucide-react";
1493
- import CheckBox from "../../Checkbox/Checkbox";
1494
- import TableGroupRow from "./TableGroupRow";
1495
- &nbsp;
1496
- // Density → row height (px) + cell vertical padding. The padding (not just the
1497
- // min-height) is what drives perceived row size, so compact tightens both.
1498
- const DENSITY_CONFIG: Record&lt;string, { height: number; py: string }&gt; = {
1499
- compact: { height: 32, py: "0.125rem" },
1500
- normal: { height: 40, py: "0.5rem" },
1501
- comfortable: { height: 52, py: "0.875rem" },
1502
- };
1503
- &nbsp;
1504
- const getRowId = (row: DataObject): string | number =&gt; row.id as string | number;
1505
- &nbsp;
1506
- const getRowContent = (row: DataObject): ((row: DataObject) =&gt; React.ReactNode) | undefined =&gt;
1507
- typeof row.content === "function"
1508
- ? (row.content as (row: DataObject) =&gt; React.ReactNode)
1509
- : undefined;
1510
- &nbsp;
1511
- type CellStyleMap = Record&lt;string | number, { bg?: string; color?: string }&gt;;
1512
- &nbsp;
1513
- // Monday-style status cell: the whole cell is filled with the status color and
1514
- // the label is centered in white.
1515
- const StatusCell = ({ value }: { value: React.ReactNode }) =&gt; (
1516
- &lt;Box
1517
- display="flex"
1518
- alignItems="center"
1519
- justifyContent="center"
1520
- w="100%"
1521
- h="100%"
1522
- px="0.5rem"
1523
- fontSize="0.75rem"
1524
- fontWeight={600}
1525
- color="white"
1526
- textAlign="center"
1527
- whiteSpace="nowrap"
1528
- overflow="hidden"
1529
- textOverflow="ellipsis"
1530
- &gt;
1531
- {value}
1532
- &lt;/Box&gt;
1533
- );
1534
- &nbsp;
1535
- type TableRowProps = {
1536
- row: DataObject;
1537
- rowIndex: number;
1538
- index: number;
1539
- isChecked: boolean;
1540
- isExpanded: boolean;
1541
- isContent: boolean;
1542
- isLink: boolean;
1543
- isCheckbox?: boolean;
1544
- isLoading?: boolean;
1545
- isActionFreeze?: boolean;
1546
- columns: TableHeaderProps[];
1547
- leftOffsets: number[];
1548
- noBorders?: boolean;
1549
- freezedBgColor?: string;
1550
- freezedTextColor?: string;
1551
- theme: CustomThemeProps;
1552
- borderStyle: string;
1553
- hoverStyle: Record&lt;string, string&gt;;
1554
- rowHeight: number;
1555
- cellPy: string;
1556
- palette: TablePaletteColor[];
1557
- accentColor?: string;
1558
- handleCheckbox: (id: string | number) =&gt; void;
1559
- onRowClick?: (row: DataObject, header: Record&lt;string | number, string | number&gt;) =&gt; void;
1560
- toggleRowExpansion: (rowIndex: number) =&gt; void;
1561
- /** Reports the row's rendered height (main + expanded panel) for measured virtualization. */
1562
- onMeasure?: (id: string | number, height: number) =&gt; void;
1563
- };
1564
- &nbsp;
1565
- const EMPTY_HOVER = {};
1566
- &nbsp;
1567
- const TableRow = React.memo(({
1568
- row,
1569
- rowIndex,
1570
- isChecked,
1571
- isExpanded,
1572
- isContent,
1573
- isLink,
1574
- isCheckbox,
1575
- isLoading,
1576
- isActionFreeze,
1577
- columns,
1578
- leftOffsets,
1579
- noBorders,
1580
- freezedBgColor,
1581
- freezedTextColor,
1582
- theme,
1583
- borderStyle,
1584
- hoverStyle,
1585
- rowHeight,
1586
- cellPy,
1587
- palette,
1588
- accentColor,
1589
- handleCheckbox,
1590
- onRowClick,
1591
- toggleRowExpansion,
1592
- onMeasure,
1593
- }: TableRowProps) =&gt; {
1594
- // Selected-row tint applied per-cell (NOT a blanket `&amp; td` override) so status
1595
- // cells keep their solid color + white text instead of white-on-tint.
1596
- const selectedBg =
1597
- theme.colors.primary?.opacity?.[16] ?? theme.colors.disabled?.[100];
1598
- // Sticky/frozen cells overlay scrolling content, so their selected background
1599
- // must be OPAQUE — paint the (translucent) tint over an opaque base.
1600
- const selectedFrozenBg = `linear-gradient(0deg, ${selectedBg}, ${selectedBg}), ${theme.colors?.background?.[50] ?? <span class="branch-1 cbranch-no" title="branch not covered" >"#fff"}</span>`;
1601
- &nbsp;
1602
- // Measured-height virtualization: report this row's real height (main + any
1603
- // expanded panel) so the windower can place variable/expandable rows exactly.
1604
- const mainRowRef = useRef&lt;HTMLTableRowElement&gt;(null);
1605
- const expandedRowRef = useRef&lt;HTMLTableRowElement&gt;(null);
1606
- const hasContent = !!getRowContent(row);
1607
- useLayoutEffect(() =&gt; {
1608
- if (!onMeasure) return;
1609
- const measure = () =&gt; {
1610
- const main = mainRowRef.current?.offsetHeight ?? <span class="branch-1 cbranch-no" title="branch not covered" >0;</span>
1611
- const exp = isExpanded &amp;&amp; hasContent ? expandedRowRef.current?.offsetHeight ?? <span class="branch-1 cbranch-no" title="branch not covered" >0 </span>: 0;
1612
- const h = main + exp;
1613
- <span class="missing-if-branch" title="if path not taken" >I</span>if (h &gt; 0) <span class="cstat-no" title="statement not covered" >onMeasure(getRowId(row), h);</span>
1614
- };
1615
- measure();
1616
- const raf = requestAnimationFrame(measure);
1617
- let ro: ResizeObserver | undefined;
1618
- <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof ResizeObserver !== "undefined") {
1619
- <span class="cstat-no" title="statement not covered" > ro = new ResizeObserver(measure);</span>
1620
- <span class="cstat-no" title="statement not covered" > if (mainRowRef.current) <span class="cstat-no" title="statement not covered" >ro.observe(mainRowRef.current);</span></span>
1621
- <span class="cstat-no" title="statement not covered" > if (expandedRowRef.current) <span class="cstat-no" title="statement not covered" >ro.observe(expandedRowRef.current);</span></span>
1622
- }
1623
- return () =&gt; {
1624
- cancelAnimationFrame(raf);
1625
- ro?.disconnect();
1626
- };
1627
- }, [onMeasure, isExpanded, hasContent, row]);
1628
- &nbsp;
1629
- const handleCellClick = useCallback((header: TableHeaderProps) =&gt; {
1630
- if (!header.node &amp;&amp; onRowClick) {
1631
- onRowClick(row, { label: header.label, id: header.id });
1632
- }
1633
- }, [row, onRowClick]);
1634
- &nbsp;
1635
- const firstDataColIndex = columns.findIndex((c) =&gt; !c.isHidden);
1636
- const accentSx = accentColor ? `inset 3px 0 0 ${accentColor}` : undefined;
1637
- // Pinned/frozen columns get a tinted, opaque background so the frozen pane reads
1638
- // as one piece with its header (and so sticky cells cover scrolling content).
1639
- const frozenCellBg =
1640
- freezedBgColor ?? theme.colors?.table?.hover?.[100] ?? theme.colors?.background?.[100];
1641
- const cellStyles = row.cellStyle as CellStyleMap | undefined;
1642
- const rowStyle = row.rowStyle as { bg?: string; color?: string } | undefined;
1643
- const rowContent = getRowContent(row);
1644
- &nbsp;
1645
- return (
1646
- &lt;React.Fragment&gt;
1647
- &lt;Tr
1648
- ref={mainRowRef}
1649
- opacity={isLoading ? 0.4 : 1}
1650
- pointerEvents={isLoading ? "none" : "auto"}
1651
- transition="opacity 0.2s"
1652
- &gt;
1653
- {isContent &amp;&amp; (
1654
- &lt;Td
1655
- w="6"
1656
- p={0}
1657
- fontSize={14}
1658
- background={isChecked ? <span class="branch-0 cbranch-no" title="branch not covered" >selectedFrozenBg </span>: frozenCellBg}
1659
- color={freezedTextColor}
1660
- position="sticky"
1661
- borderBottom={borderStyle}
1662
- boxShadow={accentSx}
1663
- boxSizing="border-box"
1664
- left={0}
1665
- zIndex={1}
1666
- className="columns sticky-columns"
1667
- &gt;
1668
- {!!row?.content &amp;&amp; (
1669
- &lt;IconButton
1670
- aria-label={isExpanded ? "Collapse row" : "Expand row"}
1671
- color={theme.colors?.gray[600]}
1672
- icon={
1673
- isExpanded ? (
1674
- &lt;ChevronDown fontSize={16} /&gt;
1675
- ) : (
1676
- &lt;ChevronRight fontSize={16} /&gt;
1677
- )
1678
- }
1679
- _hover={{ transform: "scale(1.1)" }}
1680
- size="sm"
1681
- onClick={() =&gt; toggleRowExpansion(rowIndex)}
1682
- variant="ghost"
1683
- /&gt;
1684
- )}
1685
- &lt;/Td&gt;
1686
- )}
1687
- {isCheckbox &amp;&amp; (
1688
- &lt;Td
1689
- w="6"
1690
- fontSize={14}
1691
- fontWeight={600}
1692
- color={theme.colors?.background?.[50]}
1693
- textTransform="capitalize"
1694
- background={isChecked ? selectedFrozenBg : frozenCellBg}
1695
- position="sticky"
1696
- borderBottom={borderStyle}
1697
- boxShadow={!isContent ? accentSx : <span class="branch-1 cbranch-no" title="branch not covered" >undefined}</span>
1698
- boxSizing="border-box"
1699
- left={0}
1700
- zIndex={1}
1701
- className="columns sticky-columns"
1702
- &gt;
1703
- &lt;CheckBox
1704
- aria-label="Select all rows"
1705
- onChange={() =&gt; handleCheckbox(getRowId(row))}
1706
- isChecked={isChecked}
1707
- /&gt;
1708
- &lt;/Td&gt;
1709
- )}
1710
- {columns.map((header, headerIndex) =&gt; {
1711
- if (header.isHidden) return null;
1712
- const isFrozen = header.isFreeze;
1713
- const isFirstDataCell = !isContent &amp;&amp; !isCheckbox &amp;&amp; headerIndex === firstDataColIndex;
1714
- const isStatus = header.type === "status" &amp;&amp; !header.node;
1715
- const rawStatus = String(row[header.id] ?? <span class="branch-1 cbranch-no" title="branch not covered" >"")</span>;
1716
- const statusColor = isStatus
1717
- ? pickTableColor(rawStatus, palette, header.statusColors?.[rawStatus])
1718
- : null;
1719
- &nbsp;
1720
- return (
1721
- &lt;Td
1722
- maxWidth={500}
1723
- minWidth={120}
1724
- height={`${rowHeight}px`}
1725
- py={isStatus &amp;&amp; statusColor ? 0 : cellPy}
1726
- px={isStatus &amp;&amp; statusColor ? 0 : undefined}
1727
- key={headerIndex + 1}
1728
- onClick={() =&gt; handleCellClick(header)}
1729
- fontSize={14}
1730
- fontWeight={400}
1731
- position={isFrozen ? "sticky" : undefined}
1732
- left={isFrozen ? leftOffsets[headerIndex] : undefined}
1733
- zIndex={isFrozen ? 1 : 0}
1734
- background={isStatus &amp;&amp; statusColor ? statusColor.solid : isChecked ? (isFrozen ? selectedFrozenBg : selectedBg) : isFrozen ? frozenCellBg : theme.colors.background?.[50]}
1735
- textOverflow="ellipsis"
1736
- boxShadow={isFirstDataCell ? accentSx : undefined}
1737
- borderBottom={
1738
- noBorders
1739
- ? "none"
1740
- : `0.063rem solid ${theme.colors?.gray[isFrozen || isChecked ? 300 : 200]}`
1741
- }
1742
- className={`columns ${isFrozen ? "sticky-columns" : "scrollable-columns"}`}
1743
- boxSizing="border-box"
1744
- color={isStatus &amp;&amp; statusColor ? "white" : theme.colors?.text?.[500]}
1745
- _hover={
1746
- isStatus &amp;&amp; statusColor
1747
- ? EMPTY_HOVER
1748
- : cellStyles?.[header.id] || rowStyle
1749
- ? <span class="branch-0 cbranch-no" title="branch not covered" >EMPTY_HOVER</span>
1750
- : hoverStyle
1751
- }
1752
- &gt;
1753
- {isStatus &amp;&amp; statusColor ? (
1754
- &lt;StatusCell value={normalizeTableCellValue(row[header.id])} /&gt;
1755
- ) : (
1756
- &lt;Box
1757
- display="block"
1758
- overflow="hidden"
1759
- whiteSpace="normal"
1760
- overflowWrap="break-word"
1761
- &gt;
1762
- {normalizeTableCellValue(
1763
- header.node ? header.node(row) : row[header.id]
1764
- )}
1765
- &lt;/Box&gt;
1766
- )}
1767
- &lt;/Td&gt;
1768
- );
1769
- })}
1770
- {isLink &amp;&amp; (
1771
- &lt;Td
1772
- w={2}
1773
- p={0}
1774
- fontSize={14}
1775
- background={isChecked ? (<span class="branch-0 cbranch-no" title="branch not covered" >isActionFreeze ? selectedFrozenBg : selectedBg)</span> : isActionFreeze ? frozenCellBg : theme?.colors?.background?.[50]}
1776
- color={freezedTextColor}
1777
- position={isActionFreeze ? "sticky" : "relative"}
1778
- borderBottom={borderStyle}
1779
- boxSizing="border-box"
1780
- right={0}
1781
- zIndex={1}
1782
- className={`columns sticky-columns${isActionFreeze ? "-right" : ""}`}
1783
- &gt;
1784
- {(row.onLink || row.onEdit || <span class="branch-2 cbranch-no" title="branch not covered" >row.onDelete)</span> ? (
1785
- &lt;TableActions row={row} /&gt;
1786
- ) : <span class="branch-1 cbranch-no" title="branch not covered" >null}</span>
1787
- &lt;/Td&gt;
1788
- )}
1789
- &lt;/Tr&gt;
1790
- {rowContent &amp;&amp; isExpanded &amp;&amp; (
1791
- &lt;Tr ref={expandedRowRef}&gt;
1792
- &lt;Td
1793
- colSpan={
1794
- columns.length +
1795
- (isCheckbox ? <span class="branch-0 cbranch-no" title="branch not covered" >1 </span>: 0) +
1796
- (isContent ? 1 : <span class="branch-1 cbranch-no" title="branch not covered" >0)</span> +
1797
- (isLink ? <span class="branch-0 cbranch-no" title="branch not covered" >1 </span>: 0)
1798
- }
1799
- p={2}
1800
- &gt;
1801
- &lt;Box p={2} bg={theme.colors.white} borderRadius="md"&gt;
1802
- {rowContent(row)}
1803
- &lt;/Box&gt;
1804
- &lt;/Td&gt;
1805
- &lt;/Tr&gt;
1806
- )}
1807
- &lt;/React.Fragment&gt;
1808
- );
1809
- });
1810
- &nbsp;
1811
- const TableBody = ({
1812
- data,
1813
- isCheckbox,
1814
- columns,
1815
- startRow,
1816
- columnWidths,
1817
- freezedBgColor,
1818
- freezedTextColor,
1819
- noBorders,
1820
- handleCheckbox,
1821
- selections,
1822
- isLoading,
1823
- onRowClick,
1824
- isContent,
1825
- isLink,
1826
- isActionFreeze,
1827
- loadingSkeletonRows,
1828
- scrollContainerRef,
1829
- density,
1830
- accentColors,
1831
- groups,
1832
- onAddItem,
1833
- emptyState,
1834
- }: TableBodyPageProps) =&gt; {
1835
- const theme = useCustomTheme();
1836
- const [expandedRows, setExpandedRows] = useState&lt;Set&lt;number&gt;&gt;(new Set());
1837
- const [collapsedGroups, setCollapsedGroups] = useState&lt;Set&lt;string | number&gt;&gt;(new Set());
1838
- const toggleGroup = useCallback((value: string | number) =&gt; {
1839
- setCollapsedGroups((prev) =&gt; {
1840
- const next = new Set(prev);
1841
- if (next.has(value)) {
1842
- next.delete(value);
1843
- } else {
1844
- next.add(value);
1845
- }
1846
- return next;
1847
- });
1848
- }, []);
1849
- &nbsp;
1850
- const selectionsSet = useMemo(() =&gt; new Set(selections), [selections]);
1851
- const palette = useMemo(() =&gt; buildTablePalette(theme), [theme]);
1852
- const densityConfig = DENSITY_CONFIG[density ?? "normal"] ?? <span class="branch-1 cbranch-no" title="branch not covered" >DENSITY_CONFIG.normal;</span>
1853
- const rowHeight = densityConfig.height;
1854
- const cellPy = densityConfig.py;
1855
- &nbsp;
1856
- // --- Row virtualization ---------------------------------------------------
1857
- // Rows are a fixed 45px tall (see the `height={45}` on every &lt;Td/&gt; below),
1858
- // and the scroll viewport is capped at ~500px, so only ~11 rows are ever
1859
- // visible. Mounting all 50/100 page rows is what makes paging freeze. We
1860
- // render only the rows inside the viewport (+ overscan) and reserve the
1861
- // remaining height with empty spacer rows. Spacer rows (rather than CSS
1862
- // transforms) keep the table in normal flow so the sticky header and
1863
- // `position: sticky` frozen columns keep working.
1864
- // Expandable `content` rows are supported via measured heights (see
1865
- // `measuredHeights` / `onMeasure` below) — each rendered row reports its real
1866
- // height, so the window places variable/expanded rows exactly.
1867
- const ROW_HEIGHT = rowHeight;
1868
- const GROUP_HEADER_H = 42;
1869
- const OVERSCAN = 6;
1870
- const VIRTUALIZE_THRESHOLD = 30;
1871
- const ESTIMATED_EXPAND = 120; // assumed extra height for an expanded-but-not-yet-measured row
1872
- const shouldVirtualize = data.length &gt; VIRTUALIZE_THRESHOLD;
1873
- // Grouped mode has no pager, so it virtualizes too (when no expandable rows):
1874
- // group headers + rows form one flat sequence that we window over.
1875
- const groupRowCount = groups ? groups.reduce((n, g) =&gt; n + g.rows.length, 0) : 0;
1876
- const groupVirtualize = !!groups &amp;&amp; !isContent &amp;&amp; groupRowCount &gt; VIRTUALIZE_THRESHOLD;
1877
- &nbsp;
1878
- const [scrollTop, setScrollTop] = useState(0);
1879
- const [viewportH, setViewportH] = useState(0);
1880
- // Measured row heights keyed by row id (stable across scroll/paging).
1881
- const [measuredHeights, setMeasuredHeights] = useState&lt;Map&lt;string | number, number&gt;&gt;(new Map());
1882
- const reportHeight = useCallback(<span class="fstat-no" title="function not covered" >(i</span>d: string | number, h: number) =&gt; {
1883
- <span class="cstat-no" title="statement not covered" > setMeasuredHeights(<span class="fstat-no" title="function not covered" >(p</span>rev) =&gt; {</span>
1884
- <span class="cstat-no" title="statement not covered" > if (prev.get(id) === h) <span class="cstat-no" title="statement not covered" >return prev;</span></span>
1885
- const next = <span class="cstat-no" title="statement not covered" >new Map(prev);</span>
1886
- <span class="cstat-no" title="statement not covered" > next.set(id, h);</span>
1887
- <span class="cstat-no" title="statement not covered" > return next;</span>
1888
- });
1889
- }, []);
1890
- &nbsp;
1891
- useEffect(() =&gt; {
1892
- const el = scrollContainerRef?.current;
1893
- if (!el || !(shouldVirtualize || groupVirtualize)) return;
1894
- const onScroll = <span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >setScrollTop(el.scrollTop);</span>
1895
- const measure = () =&gt; setViewportH(el.clientHeight);
1896
- measure();
1897
- setScrollTop(el.scrollTop);
1898
- el.addEventListener("scroll", onScroll, { passive: true });
1899
- window.addEventListener("resize", measure);
1900
- return () =&gt; {
1901
- el.removeEventListener("scroll", onScroll);
1902
- window.removeEventListener("resize", measure);
1903
- };
1904
- }, [scrollContainerRef, shouldVirtualize, groupVirtualize, data.length, groupRowCount]);
1905
- &nbsp;
1906
- // New page: jump back to the top so the window recomputes from row 0.
1907
- useEffect(() =&gt; {
1908
- if (!shouldVirtualize) return;
1909
- const el = scrollContainerRef?.current;
1910
- <span class="missing-if-branch" title="else path not taken" >E</span>if (el) el.scrollTop = 0;
1911
- setScrollTop(0);
1912
- }, [startRow, shouldVirtualize, scrollContainerRef]);
1913
- &nbsp;
1914
- const total = data.length;
1915
- let firstIndex = 0;
1916
- let lastIndex = total;
1917
- let topPad = 0;
1918
- let bottomPad = 0;
1919
- if (shouldVirtualize) {
1920
- const vh = viewportH || 500;
1921
- // Prefix-sum offsets using measured heights (exact for rendered rows) and
1922
- // estimates for not-yet-measured rows (ROW_HEIGHT, + ESTIMATED_EXPAND if expanded).
1923
- const offsets = new Array&lt;number&gt;(total + 1);
1924
- offsets[0] = 0;
1925
- for (let i = 0; i &lt; total; i++) {
1926
- const id = getRowId(data[i]);
1927
- const measured = measuredHeights.get(id);
1928
- const h =
1929
- measured != null
1930
- ? <span class="branch-0 cbranch-no" title="branch not covered" >measured</span>
1931
- : ROW_HEIGHT + (expandedRows.has(startRow + i) ? ESTIMATED_EXPAND : 0);
1932
- offsets[i + 1] = offsets[i] + h;
1933
- }
1934
- const totalH = offsets[total];
1935
- const top = scrollTop - OVERSCAN * ROW_HEIGHT;
1936
- const bottom = scrollTop + vh + OVERSCAN * ROW_HEIGHT;
1937
- firstIndex = 0;
1938
- while (firstIndex &lt; total &amp;&amp; offsets[firstIndex + 1] &lt;= top) <span class="cstat-no" title="statement not covered" >firstIndex++;</span>
1939
- lastIndex = firstIndex;
1940
- while (lastIndex &lt; total &amp;&amp; offsets[lastIndex] &lt; bottom) lastIndex++;
1941
- <span class="missing-if-branch" title="if path not taken" >I</span>if (lastIndex &lt; firstIndex) <span class="cstat-no" title="statement not covered" >lastIndex = firstIndex;</span>
1942
- topPad = offsets[firstIndex];
1943
- bottomPad = totalH - offsets[lastIndex];
1944
- }
1945
- const visibleRows = shouldVirtualize ? data.slice(firstIndex, lastIndex) : data;
1946
- &nbsp;
1947
- const toggleRowExpansion = useCallback((rowIndex: number) =&gt; {
1948
- setExpandedRows((prev) =&gt; {
1949
- const newSet = new Set(prev);
1950
- if (newSet.has(rowIndex)) {
1951
- newSet.delete(rowIndex);
1952
- } else {
1953
- newSet.add(rowIndex);
1954
- }
1955
- return newSet;
1956
- });
1957
- }, []);
1958
- &nbsp;
1959
- const totalVisibleColumns = useMemo(() =&gt;
1960
- columns.filter((o) =&gt; !o.isHidden).length +
1961
- (isCheckbox ? 1 : 0) +
1962
- (isContent ? 1 : 0) +
1963
- (isLink ? 1 : 0),
1964
- [columns, isCheckbox, isContent, isLink]
1965
- );
1966
- &nbsp;
1967
- const leftOffsets = useMemo(() =&gt; {
1968
- const checkboxOffset = isCheckbox ? 50 : 0;
1969
- return columnWidths.map((_, idx) =&gt;
1970
- columnWidths.slice(0, idx).reduce((sum, w) =&gt; sum + w, 0) + checkboxOffset
1971
- );
1972
- }, [columnWidths, isCheckbox]);
1973
- &nbsp;
1974
- const borderStyle = useMemo(() =&gt;
1975
- noBorders ? "none" : `0.063rem solid ${theme.colors?.border[500]}`,
1976
- [noBorders, theme.colors?.border]
1977
- );
1978
- &nbsp;
1979
- const hoverStyle = useMemo(() =&gt; ({
1980
- backgroundColor: theme.colors.table?.hover?.[300] ?? theme.colors.secondary?.opacity?.[4],
1981
- }), [theme.colors.table?.hover, theme.colors.secondary?.opacity]);
1982
- &nbsp;
1983
- if (isLoading &amp;&amp; data.length === 0) {
1984
- return (
1985
- &lt;TableBodyLoading
1986
- noOfColumns={totalVisibleColumns}
1987
- borderColor={theme.colors.gray[300]}
1988
- rowsCount={typeof loadingSkeletonRows === "number" ? loadingSkeletonRows : <span class="branch-1 cbranch-no" title="branch not covered" >4}</span>
1989
- /&gt;
1990
- );
1991
- }
1992
- &nbsp;
1993
- if (!isLoading &amp;&amp; data.length === 0) {
1994
- const isStructured =
1995
- emptyState &amp;&amp; typeof emptyState === "object" &amp;&amp; !React.isValidElement(emptyState);
1996
- const es = isStructured ? (emptyState as { icon?: React.ReactNode; title?: string; description?: string }) : null;
1997
- return (
1998
- &lt;Tr backgroundColor={theme.colors.background?.[50]}&gt;
1999
- &lt;Td colSpan={totalVisibleColumns} textAlign="center" py={10} border="none"&gt;
2000
- {emptyState &amp;&amp; !isStructured ? (
2001
- (emptyState as React.ReactNode)
2002
- ) : (
2003
- &lt;Box display="flex" flexDirection="column" alignItems="center" gap={2} color={theme.colors?.gray?.[500]}&gt;
2004
- {es?.icon &amp;&amp; &lt;Box fontSize="1.75rem" color={theme.colors?.gray?.[400]}&gt;{es.icon}&lt;/Box&gt;}
2005
- &lt;Box fontSize="0.95rem" fontWeight={600} color={theme.colors?.text?.[700]}&gt;
2006
- {es?.title ?? "No data found"}
2007
- &lt;/Box&gt;
2008
- {es?.description &amp;&amp; (
2009
- &lt;Box fontSize="0.8125rem" color={theme.colors?.gray?.[500]}&gt;{es.description}&lt;/Box&gt;
2010
- )}
2011
- &lt;/Box&gt;
2012
- )}
2013
- &lt;/Td&gt;
2014
- &lt;/Tr&gt;
2015
- );
2016
- }
2017
- &nbsp;
2018
- // --- Monday-style grouped board render (virtualized when large) -----------
2019
- if (groups) {
2020
- type GItem =
2021
- | { kind: "header"; g: TableRenderGroup }
2022
- | { kind: "row"; g: TableRenderGroup; row: DataObject };
2023
- &nbsp;
2024
- // Flatten groups → one sequence of header/row items so it can be windowed.
2025
- const items: GItem[] = [];
2026
- for (const g of groups) {
2027
- items.push({ kind: "header", g });
2028
- if (!collapsedGroups.has(g.value)) {
2029
- for (const row of g.rows) items.push({ kind: "row", g, row });
2030
- }
2031
- }
2032
- &nbsp;
2033
- let firstI = 0;
2034
- let lastI = items.length;
2035
- let gTopPad = 0;
2036
- let gBottomPad = 0;
2037
- if (groupVirtualize) {
2038
- const heights = items.map((it) =&gt; (it.kind === "header" ? GROUP_HEADER_H : rowHeight));
2039
- const offsets: number[] = [];
2040
- let acc = 0;
2041
- for (const h of heights) { offsets.push(acc); acc += h; }
2042
- const totalH = acc;
2043
- const vh = viewportH || 500;
2044
- const top = scrollTop - OVERSCAN * rowHeight;
2045
- const bottom = scrollTop + vh + OVERSCAN * rowHeight;
2046
- firstI = items.findIndex((_, i) =&gt; offsets[i] + heights[i] &gt; top);
2047
- <span class="missing-if-branch" title="if path not taken" >I</span>if (firstI &lt; 0) <span class="cstat-no" title="statement not covered" >firstI = items.length;</span>
2048
- lastI = items.length;
2049
- for (let i = firstI; i &lt; items.length; i++) {
2050
- if (offsets[i] &gt; bottom) { lastI = i; break; }
2051
- }
2052
- gTopPad = offsets[firstI] ?? <span class="branch-1 cbranch-no" title="branch not covered" >0;</span>
2053
- gBottomPad = totalH - (lastI &gt; firstI ? offsets[lastI - 1] + heights[lastI - 1] : <span class="branch-1 cbranch-no" title="branch not covered" >gTopPad)</span>;
2054
- }
2055
- &nbsp;
2056
- const windowItems = groupVirtualize ? items.slice(firstI, lastI) : items;
2057
- &nbsp;
2058
- return (
2059
- &lt;&gt;
2060
- {gTopPad &gt; 0 &amp;&amp; (
2061
- <span class="branch-1 cbranch-no" title="branch not covered" > &lt;tr aria-hidden="true" style={{ height: gTopPad }}&gt;</span>
2062
- &lt;td colSpan={totalVisibleColumns} style={{ padding: 0, border: "none", height: gTopPad }} /&gt;
2063
- &lt;/tr&gt;
2064
- )}
2065
- {windowItems.map((it, k) =&gt;
2066
- it.kind === "header" ? (
2067
- &lt;TableGroupRow
2068
- key={`h-${it.g.value}`}
2069
- label={it.g.label}
2070
- value={it.g.value}
2071
- count={it.g.rows.length}
2072
- color={it.g.color}
2073
- collapsed={collapsedGroups.has(it.g.value)}
2074
- colSpan={totalVisibleColumns}
2075
- onToggle={() =&gt; toggleGroup(it.g.value)}
2076
- onAddItem={onAddItem}
2077
- /&gt;
2078
- ) : (
2079
- &lt;TableRow
2080
- key={getRowId(it.row) ?? <span class="branch-1 cbranch-no" title="branch not covered" >`r-${firstI + k}`}</span>
2081
- row={it.row}
2082
- rowIndex={firstI + k}
2083
- index={firstI + k}
2084
- isChecked={selectionsSet.has(getRowId(it.row))}
2085
- isExpanded={expandedRows.has(firstI + k)}
2086
- isContent={isContent}
2087
- isLink={isLink}
2088
- isCheckbox={isCheckbox}
2089
- isLoading={isLoading}
2090
- isActionFreeze={isActionFreeze}
2091
- columns={columns}
2092
- leftOffsets={leftOffsets}
2093
- noBorders={noBorders}
2094
- freezedBgColor={freezedBgColor}
2095
- freezedTextColor={freezedTextColor}
2096
- theme={theme}
2097
- borderStyle={borderStyle}
2098
- hoverStyle={hoverStyle}
2099
- rowHeight={rowHeight}
2100
- cellPy={cellPy}
2101
- palette={palette}
2102
- accentColor={it.g.color.solid}
2103
- handleCheckbox={handleCheckbox}
2104
- onRowClick={onRowClick}
2105
- toggleRowExpansion={toggleRowExpansion}
2106
- /&gt;
2107
- )
2108
- )}
2109
- {gBottomPad &gt; 0 &amp;&amp; (
2110
- &lt;tr aria-hidden="true" style={{ height: gBottomPad }}&gt;
2111
- &lt;td colSpan={totalVisibleColumns} style={{ padding: 0, border: "none", height: gBottomPad }} /&gt;
2112
- &lt;/tr&gt;
2113
- )}
2114
- &lt;/&gt;
2115
- );
2116
- }
2117
- &nbsp;
2118
- return (
2119
- &lt;&gt;
2120
- {isLoading &amp;&amp; data.length &gt; 0 &amp;&amp; (
2121
- &lt;Tr&gt;
2122
- &lt;Td
2123
- colSpan={totalVisibleColumns}
2124
- p={0}
2125
- border="none"
2126
- position="relative"
2127
- height={0}
2128
- &gt;
2129
- &lt;Box
2130
- position="absolute"
2131
- top={4}
2132
- left="50%"
2133
- transform="translateX(-50%)"
2134
- zIndex={10}
2135
- &gt;
2136
- &lt;Spinner size="sm" color={theme.colors?.primary?.[500] || <span class="branch-1 cbranch-no" title="branch not covered" >"blue.500"}</span> /&gt;
2137
- &lt;/Box&gt;
2138
- &lt;/Td&gt;
2139
- &lt;/Tr&gt;
2140
- )}
2141
- {shouldVirtualize &amp;&amp; topPad &gt; 0 &amp;&amp; (
2142
- <span class="branch-2 cbranch-no" title="branch not covered" > &lt;tr aria-hidden="true" style={{ height: topPad }}&gt;</span>
2143
- &lt;td colSpan={totalVisibleColumns} style={{ padding: 0, border: "none", height: topPad }} /&gt;
2144
- &lt;/tr&gt;
2145
- )}
2146
- {visibleRows.map((row, i) =&gt; {
2147
- const index = firstIndex + i;
2148
- const rowIndex = startRow + index;
2149
- const isExpanded = expandedRows.has(rowIndex);
2150
- const isChecked = selectionsSet.has(getRowId(row));
2151
- return (
2152
- &lt;TableRow
2153
- key={getRowId(row) ?? <span class="branch-1 cbranch-no" title="branch not covered" >rowIndex}</span>
2154
- row={row}
2155
- rowIndex={rowIndex}
2156
- index={index}
2157
- isChecked={isChecked}
2158
- isExpanded={isExpanded}
2159
- isContent={isContent}
2160
- isLink={isLink}
2161
- isCheckbox={isCheckbox}
2162
- isLoading={isLoading}
2163
- isActionFreeze={isActionFreeze}
2164
- columns={columns}
2165
- leftOffsets={leftOffsets}
2166
- noBorders={noBorders}
2167
- freezedBgColor={freezedBgColor}
2168
- freezedTextColor={freezedTextColor}
2169
- theme={theme}
2170
- borderStyle={borderStyle}
2171
- hoverStyle={hoverStyle}
2172
- rowHeight={rowHeight}
2173
- cellPy={cellPy}
2174
- palette={palette}
2175
- accentColor={accentColors?.[getRowId(row)]}
2176
- handleCheckbox={handleCheckbox}
2177
- onRowClick={onRowClick}
2178
- toggleRowExpansion={toggleRowExpansion}
2179
- onMeasure={shouldVirtualize ? reportHeight : undefined}
2180
- /&gt;
2181
- );
2182
- })}
2183
- {shouldVirtualize &amp;&amp; bottomPad &gt; 0 &amp;&amp; (
2184
- &lt;tr aria-hidden="true" style={{ height: bottomPad }}&gt;
2185
- &lt;td colSpan={totalVisibleColumns} style={{ padding: 0, border: "none", height: bottomPad }} /&gt;
2186
- &lt;/tr&gt;
2187
- )}
2188
- &lt;/&gt;
2189
- );
2190
- };
2191
- &nbsp;
2192
- export default TableBody;
2193
- &nbsp;</pre></td></tr></table></pre>
2194
-
2195
- <div class='push'></div><!-- for sticky footer -->
2196
- </div><!-- /wrapper -->
2197
- <div class='footer quiet pad2 space-top1 center small'>
2198
- Code coverage generated by
2199
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
2200
- at 2026-06-13T07:33:44.377Z
2201
- </div>
2202
- <script src="../../../prettify.js"></script>
2203
- <script>
2204
- window.onload = function () {
2205
- prettyPrint();
2206
- };
2207
- </script>
2208
- <script src="../../../sorter.js"></script>
2209
- <script src="../../../block-navigation.js"></script>
2210
- </body>
2211
- </html>
2212
-